密鑰交換協議之IKEv2

1. IKEv2

1.1 IKEv2簡介

IKEv2(Internet Key Exchange Version 2,互聯網密鑰交換協議第 2 版)是第 1 版本的 IKE 協議(本文簡稱 IKEv1)的增強版本。 IKEv2 與 IKEv1 相同,具有一套自保護機制,可以在不安全的網絡上安全地進行身份認證、密鑰分發、建立 IPsec SA。相對於 IKEv1, IKEv2 具有抗攻擊能力和密鑰交換能力更強以及報文交互數量較少等特點。

1.2 IKEv2的協商過程

要建立一對 IPsec SA, IKEv1 需要經歷兩個階段,至少需要交換 6 條消息在正常情況下, IKEv2只需要進行兩次交互,使用 4 條消息就可以完成一個 IKEv2 SA 和一對 IPsec SA 的協商建立,如果要求建立的 IPsec SA 的數目大於一對,則每增加一對 IPsec SA 只需要額外增加一次交互,也就是兩條消息就可以完成,這相比於 IKEv1 簡化了設備的處理過程,提高了協商效率。

IKEv2 定義了三種交互:初始交換創建子 SA 交換以及通知交換。下面簡單介紹一下 IKEv2 協商過程中的初始交換過程。

在這裏插入圖片描述

如上圖所示,IKEv2的初始交換過程中包含兩個交換:IKE_SA_INIT交換(兩條消息)和 IKE_AUTH交換(兩條消息)。

  • IKE_SA_INIT 交換:完成 IKEv2 SA 參數的協商以及密鑰交換;
  • IKE_AUTH 交換:完成通信對等體的身份認證以及 IPsec SA 的創建。這兩個交換過程順序完成後,可以建立一個 IKEv2 SA 和一對 IPsec SA。

創建子 SA 交換:當一個 IKE SA 需要創建多個 IPsec SA 時,使用創建子 SA 交換來協商多於一個的 SA,另外還可用於進行 IKE SA 的重協商功能。

通知交換:用於傳遞控制信息,例如錯誤信息或通告信息。

1.3 IKEv2 引入的新特性

1.3.1 IKEv2 支持DH猜想

在 IKE_SA_INIT 交換階段,發起方採用“猜”的辦法,猜一個響應方最可能使用的 DH 組攜帶在第一條消息中發送。響應方根據發起方“猜”的 DH 組來響應發起方。如果發起方猜測成功,則這樣通過兩條消息就可以完成 IKE_SA_INIT 交換。如果發起方猜測錯誤,則響應方會迴應一個INVALID_KE_PAYLOAD 消息,並在該消息中指明將要使用的 DH 組。之後,發起方採用響應方指定的 DH 組重新發起協商。這種 DH 猜想機制,使得發起方的 DH 組配置更爲靈活,可適應不同的響應方。

1.3.2 IKEv2 支持cookie-challenge機制

在 IKE_SA_INIT 交換中消息是明文傳輸的,響應方接收到第一個消息後無法確認該消息是否來自一個仿冒的地址。如果此時一個網絡攻擊者僞造大量地址向響應方發送 IKE_SA_INIT 請求,根據IKEv1 協議,響應方需要維護這些半開的 IKE 會話信息,從而耗費大量響應方的系統資源,造成對響應方的 DoS 攻擊。IKEv2 使用 cookie-challenge 機制來解決這類 DoS 攻擊問題。當響應方發現存在的半開 IKE SA 超過指定的數目時,就啓用cookie-challenge機制。響應方收到IKE_SA_INIT請求後,構造一個Cookie通知載荷並響應發起方,若發起方能夠正確攜帶收到的 Cookie 通知載荷向響應方重新發起IKE_SA_INIT 請求,則可以繼續後續的協商過程。半開狀態的 IKEv2 SA 是指那些正在協商過程中的 IKEv2 SA。 若半開狀態的 IKEv2 SA 數目減少到閾值以下,則 cookie-challenge 功能將會停止工作

1.3.3 IKEv2 SA重協商

爲了保證安全, IKE SA 和 IPsec SA 都有一個生存時間,超過生存時間的 SA 需要重新協商,即 SA
的重協商。與 IKEv1 不同的是, IKEv2 SA 的生存時間不需要協商,由各自的配置決定,重協商總
是由生存時間較小的一方發起,可儘量避免兩端同時發起重協商造成冗餘 SA 的生成,導致兩端 SA
狀態不一致。

1.3.4 IKEv2 報文確認重傳機制

與 IKEv1 不同,IKEv2 中所有消息都是以“請求–響應”對的形式出現IKEv2 通過消息頭中的一
個 Message ID 字段來標識一個“請求–響應”對。發起方發送的每一條消息都需要響應方給予確認,
例如建立一個 IKE SA 一般需要兩個“請求-響應”對。如果發起方在規定時間內沒有接收到確認報
文,則需要對該請求消息進行重傳。 IKEv2 消息的重傳只能由發起方發起,且重傳消息的 Message
ID 必須與原始消息的 Message ID 一致

3.4 協議規範

與 IKEv2 相關的協議規範有:
• RFC 2408: Internet Security Association and Key Management Protocol (ISAKMP)
• RFC 4306: Internet Key Exchange (IKEv2) Protocol • RFC 4718: IKEv2 Clarifications and Implementation Guidelines
• RFC 2412: The OAKLEY Key Determination Protocol
• RFC 5996: Internet Key Exchange Protocol Version 2 (IKEv2)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章