Aes
XOR 密鑰派生的缺點是什麼?
假設 256-bit
Key
和 256-bitSalt
具有均勻分佈的熵,兩者完全獨立。假設
Key
是秘密的並且Salt
是公開的。使用 AES-256-CTR 加密密鑰
Key XOR Salt
獲得攻擊者的理論優勢是什麼?假設 的乘積
Key XOR Salt
仍然保密。假設不能使用諸如 HKDF 之類的 KDF 或諸如 HMAC 之類的 PRF。
我對您描述的方案的兩個主要擔憂是 1)其中一個子密鑰被洩露的風險,以及 2)對密碼的相關密鑰攻擊。
第一個問題很明顯:由於 XOR 操作是可逆的,如果攻擊者找到任何一個子密鑰並知道相應的鹽,那麼他們就可以恢復主密鑰。
當然,如果您可以保證所有子密鑰都像主密鑰一樣受到保護,那麼這可能不是問題。但是在子密鑰洩露的情況下額外的安全層仍然是一件好事,並且使用不可逆的密鑰派生函式而不是 XOR 以非常低的成本提供它。
第二個問題更難量化。有已知的針對 AES 的相關密鑰攻擊,但到目前為止,它們都沒有足夠的效率在實踐中成為真正的威脅。儘管如此,他們確實證明,在攻擊者可能知道兩個或多個密鑰的異或的情況下,AES 不一定能提供其宣傳的全部安全級別。
和以前一樣,假設沒有發現針對 AES 的新的和明顯更好的相關密鑰攻擊,您可能能夠在實踐中僥倖逃脫。(無論如何,我們確實需要做出一些這樣的假設,因為沒有人證明AES 是安全的,無論有沒有相關的密鑰。)但是,安全和保守的選擇是使用不會洩露的適當的密鑰派生函式子鍵之間的任何數學關係。