Hmac

直接使用 HKDF 的輸出

  • February 22, 2020

我將 HKDF 與 IKM 和鹽一起使用,OKM 用作 HMAC 操作的密鑰。HMAC 算法在通信系統中驗證消息

salt是2個nonce的串聯,每個通信節點繪製1個,任何觀察通信系統的人都可以找到

消息被發送為:

留言 || 序號 || HMAC(密鑰,序列號 || 消息)

我的問題是:直接使用 OKM 作為消息 HMAC 的密鑰是否安全,或者我應該在使用之前對 OKM 執行一些其他操作嗎?

KDF 的整個想法是使用密鑰材料的輸出作為攻擊者不可預測的密鑰。因此,只要您的 IKM 是安全的並且最好您的 salt 是唯一的,那麼 KDF 的輸出應該可以用作密鑰。

對於 HMAC,最好使用與所用雜湊算法的輸出相同的密鑰大小,根據HMAC 規範

HMAC 的密鑰可以是任意長度(長於 B 字節的密鑰首先使用 H 進行散列)。但是,強烈建議不要小於 L 字節,因為它會降低函式的安全強度。超過 L 字節的密鑰是可以接受的,但額外的長度不會顯著增加功能強度。(如果密鑰的隨機性被認為很弱,則建議使用更長的密鑰。)

您已經正確連接隨機數以創建鹽。不要為此使用 XOR。

嗯,是的,我認為這就是它的全部。如果您只需要一個密鑰,則只需使用 HKDF-Extract 即可,它採用 IKM,實際上是一種鹽。

引用自:https://crypto.stackexchange.com/questions/77776