目录
IKEv1协商安全联盟的过程
IKE协议
因特网密钥交换IKE(Internet Key Exchange)协议建立在Internet安全联盟和密钥管理协议ISAKMP定义的框架上,是基于UDP(User Datagram Protocol)端口为500的应用层协议。
ISAKMP报文格式:
Initiator Cookie ― Initiator Cookie:启动 SA 建立、SA 通知或 SA 删除的实体 Cookie。
Responder Cookie ― Responder Cookie:响应 SA 建立、SA 通知或 SA 删除的实体 Cookie。
Next Payload ― 信息中的 Next Payload 字段类型。
Major Version ― 使用的 ISAKMP 协议的主要版本。
Minor Version ― 使用的 ISAKMP 协议的次要版本。
Exchange Type ―
表示所用的交换类型。这表示消息和载荷遵循所用的交换顺序。
交换类型 值
NONE 0
Base 1
Identity Protection 2
Authentication Only 3
Aggressive 4
Informational 5
ISAKMP Future Use 6 - 31
DOI Specific Use 32 - 239
Private Use 240 - 255
抓包对照:
采用IKEv1协商安全联盟主要分为两个阶段:
第一阶段,通信双方协商和建立IKE协议本身使用的安全通道,即建立一个IKE SA;
第二阶段,利用第一阶段已通过认证和安全保护的安全通道,建立一对用于数据安全传输的IPSec安全联盟(IPSec SA)
IKEv1协商阶段1的目的是建立IKE SA。IKE SA建立后对等体间的所有ISAKMP消息都将通过加密和验证,这条安全通道可以保证IKEv1第二阶段的协商能够安全进行。
IKEv1协商第一阶段支持两种协商模式:主模式(Main Mode)和野蛮模式(Aggressive Mode)。
图1 IKEv1协商阶段1的协商过程图
主模式包含三次双向交换,用到了六条ISAKMP信息,协商过程如图1所示。这三次交换分别是:
-
消息①和②用于提议交换
发起方发送一个或多个IKE安全提议,响应方查找最先匹配的IKE安全提议,并将这个IKE安全提议回应给发起方。匹配的原则为协商双方具有相同的加密算法、认证算法、认证方法和Diffie-Hellman组标识。
-
消息③和④用于密钥信息交换
双方交换Diffie-Hellman公共值和nonce值,用于IKE SA的认证和加密密钥在这个阶段产生。
- 消息⑤和⑥用于身份和认证信息交换(双方使用生成的密钥发送信息),双方进行身份认证和对整个主模式交换内容的认证。
-
IKE安全提议指IKE协商过程中用到的加密算法、认证算法、Diffie-Hellman组及认证方法等。
-
nonce是个随机数,用于保证IKE SA存活和抗重放攻击。
第一阶段:
IKEv1主模式的详细过程:
第一阶段的第①②个包
1-2包,用于安全参数协商(明文)
HDR, SA