Keys

IKE 中從 SKEYSEED 派生的不同密鑰的顯式用法是什麼?

  • July 8, 2021

我們在 IKEv2 中通過 PRF 從 DH 密鑰和 nonce 派生出七個不同的密鑰,分別為 skd、skai、skar、skei、sker、skpi、skpr。為什麼為啟動者和響應者生成不同的密鑰進行加密?IKE 中從 SKEYSEED 派生的不同密鑰的顯式用法是什麼?

例如,ska 和 skp 被定義為“用於驗證後續交換的組件消息的完整性保護算法的密鑰”和“在生成 AUTH 有效負載時使用”。分別。

有什麼區別?

為什麼為啟動者和響應者生成不同的密鑰進行加密?

好吧,如果多個加密器可以使用相同的密鑰,則某些加密算法(例如 GCM 和 ChaCha/Poly1305)是不安全的。這可以被管理(在上面的例子中,通過確保雙方使用不同的隨機數,例如發起者總是使用偶數隨機數而響應者總是使用奇數隨機數),但是對於每個這樣的加密算法都需要不同的方法。為單獨的方向設置單獨的鍵要容易得多,也更簡單。

IKE 中從 SKEYSEED 派生的不同密鑰的顯式用法是什麼?

SKd - 派生“子 SA”時使用該密鑰,即由此創建的安全關聯。這些可以是 IKE SA 和 IPsec SA。

SKE - 這些是用於加密 IKE 消息的密鑰

SKa - 這些是用於向 IKE 消息添加完整性保護的密鑰(假設協商了一些明確的完整性轉換,例如 HMAC 或 CMAC;如果使用了諸如 GCM 之類的組合模式,則未使用且長度為零) .

SKp - 這些被用作用於計算/驗證 AUTH 有效負載的公式的一部分,其目的是驗證另一方的身份(與旨在驗證消息從另一方發送的 SKa 密鑰相反) side 是收到的消息)。

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