Aes
AES CBC 密鑰重用和派生密鑰
假設我們在 CBC 模式下使用 AES 加密多個文件並使用 256 位密鑰。假設文件的 IV 是使用安全方法隨機生成的。假設一些關鍵 $ K $ 使用 Argon2 從具有安全參數的安全密碼片語生成。
假設我們為每個文件儲存 IV 和 32 字節的隨機數據 $ R $ . 讓 $ K’=K\oplus{}R $ .
是否有與使用相關的任何好處或缺點 $ K’ $ 代替 $ K $ 加密?任何針對理論或實際密鑰重用攻擊或類似攻擊的保護措施?
在安全性方面沒有理論或實踐優勢,因為 XOR 與 $ R $ 很容易逆轉。由於密鑰是完全隨機的並且僅依賴於密碼,因此安全性也不會降低。具有已知值的 XOR 不會向攻擊者提供任何資訊,因為輸入和輸出都是未知的 - 假設您的密碼/密鑰使用是安全的。
有一個實用的優勢。可以在替換密碼時重複使用現有的數據加密密鑰。首先你計算一個 $ K_{org} $ 使用密碼雜湊和 $ P_{org} $ ,您需要初始密碼; $ K_{org} $ 或派生密鑰用於加密數據。然後你計算 $ K_{new} $ 使用 $ P_{new} $ . 你儲存的是密文是 $ D=K_{new} \oplus K_{org} $ . 現在您已經通過計算替換了密碼 $ K_{org}=K_{new} \oplus D $ .
啟動時還可以生成隨機 $ K_{data} $ 或者 $ K_{master} $ 您可以通過始終創建一個 $ D $ 用於 XOR 密鑰派生。基本上,您首先創建一個隨機密鑰,然後使用 XOR 將其強制為另一個未發布的隨機密鑰。
換句話說,優勢在於密鑰管理,它有助於系統級安全而不是算法安全。