Symmetric
更改嵌入式設備中的密鑰
有一種設備使用密鑰 Sk 來加密數據。假設這個 Sk 被破壞了。
如果我們想更改受損的 Sk,是否可以認為以下方案是安全的:
我們在設備 SRN 中儲存了一些秘密隨機數。新的密鑰將等於 Sk = SRN xor RN,其中 SRN 是儲存在設備中的秘密隨機數(我們知道這個數字),RN 是我們想要更改 Sk 時發送給設備的一些隨機數.
如果多次使用,建議的內容是不安全的:假設 $ \text{Sk}_1 $ 通過發送以這種方式(重新)建立 $ \text{RN}_1 $ ; 然後,在妥協之後 $ \text{Sk}_1 $ , $ \text{Sk}_2 $ 通過發送以這種方式重新建立 $ \text{RN}_2 $ . 對手可以找到 $ \text{Sk}_2 $ 作為 $ \text{Sk}_1\oplus\text{RN}_1\oplus\text{RN}_2 $ .
還, $ \text{RN} $ 似乎沒有完整性保護,允許對手玩討厭的把戲。
更好的做法是發送一個新鮮的 $ \text{Sk} $ 通過使用專用密鑰加密密鑰(具有 $ \text{SRN} $ 這裡)。