Encryption

Encrypt-then-MAC:我需要對 IV 進行身份驗證嗎?

  • March 11, 2015

在 Encrypt-then-MAC 的設置中,我是否需要在我的 HMACing 中包含 IV,或者僅驗證 AES 加密的數據就足夠了?

簡而言之:您必須驗證 IV。 如果您不依賴於分組密碼模式,則適用哪些特定攻擊;我將舉兩個常見的例子。

  • CTR 模式下,擺弄 IV 的攻擊者可以偽造經過身份驗證的消息,但相應明文的內容超出了他的控制範圍(因為他不知道密鑰)。根據加密的數據,這可能是也可能不是真正的問題(因為隨機二進制垃圾可能會被協議中的後續驗證擷取),但無論如何這肯定是不必要的安全風險。
  • CBC 模式非常糟糕,如下圖所示: CBC模式解密 顯然,IV 在解密後被排他地異或到第一個明文塊中,然後被丟棄,從而使攻擊者能夠**在第一個塊中引入任意差異,**而無需通過將它們異或到 IV 中來更改任何其他內容. 根據有效負載的結構,例如,這可以用於切換協議標頭中的一些重要標誌或更改長度欄位。

引用自:https://crypto.stackexchange.com/questions/24353