Aes
儲存鹽和迭代次數?
我有一個函式,它使用 PBKDF2 從一個密碼片語派生出兩個子密鑰,一個用作加密密鑰,另一個用於 HMAC 生成,因為當使用者希望解密文件時需要重新生成這兩個子密鑰,所以使用的鹽和迭代次數必須可供客戶端使用,我想知道將它們簡單地儲存在密文中或使用者機器上的某個地方是否會帶來巨大的安全風險?
我們在密鑰派生過程中添加鹽的原因是為了使給定密碼的密鑰雜湊圖像唯一。實際上,當攻擊者擁有“最常用密碼”列表時,會添加鹽以消除弱點。添加鹽會使攻擊者的工作更加困難,他必鬚根據他找到的每一個鹽重建攻擊,即:每他得到的每一個密文。將鹽與密文一起儲存被認為是安全的。
類似地,迭代次數可以減緩蠻力攻擊,因此將其與密文一起儲存仍然是安全的。