Hkdf
HKDF - 為每個使用者生成一個新的隨機鹽?
關於 HKDF,規範說可以重複使用鹽。
但是,我已經設置了我的系統來生成一個新的、長的、加密的隨機鹽,它與使用者保持一致。這種鹽不是秘密。(參見 RFC,第 3.1 節)
此外,我將我們的唯一使用者標識符用作 HKDF 中第三個參數的上下文資訊。
所以我們的 HKDF 看起來像這樣:
DK = HKDF(MasterKey, PublicUserSpecificSalt, UUID)
我的問題是:
- 創建隨機的、使用者特定的鹽並將其用於 HKDF 中的鹽輸入是否有任何問題?似乎規範期望鹽被重新使用,我沒有這樣做。
- 如果我確實使用了隨機的、使用者特定的鹽,那麼 UUID 作為上下文資訊有什麼好處?我應該刪除它,因為它會增加不必要的複雜性嗎?
通過 HKDF,我猜你的意思是 HKDF-Expand,它將偽隨機密鑰、標籤和輸出長度作為輸入。公共標籤是可以的,但由於 HKDF-Expand 的偽隨機函式安全性,它最好是**唯一的而不是隨機的。**我認為僅使用 UUID 作為標籤就足夠了。