Initialization-Vector
IPsec : 初始化向量的傳輸
我目前正在進行關於 IPsec 協議的學術研究,並且我有一個關於 IP 封裝安全有效負載 (ESP) 的問題。ESP Payload 消息中是否清楚地傳輸了操作模式的初始化向量?如果明文傳輸,為什麼不是安全問題?
是的,初始化向量作為 ESP 有效載荷數據的第一部分以明文形式傳輸(參見RFC 4303,第 2 節,以及定義使用 ESP 的特定算法的 RFC,例如RFC 3602,第 3 節用於 AES-CBC,或RFC 4106, AES-GCM 的第 3 節)。
加密和完整性保護的安全性不依賴於 IV 的保密性。它的主要用途是隨機數,以確保用相同的密鑰加密相同的數據不會產生相同的密文。
一些算法要求 IV 是隨機的/不可預測的(例如 AES-CBC),但在許多現代組合模式算法(例如 AES-GCM 或ChaCha20/Poly1305)中,它不能重複並且可以簡單地作為計數器。
例如,在某些情況下,甚至可能不需要傳輸 IV,因為它可以從其他資訊中導出,例如 ESP 中的序列號。因此,目前正在討論的網際網路草案建議省略某些算法(例如 AES-GCM)的 IV,而只使用(擴展的)序列號,無論如何這通常已經使用,它只是在每個算法中傳輸兩次資訊。