1.2. 初始交换
1.2. 初始交换
使用 IKE 的通信总是以 IKE_SA_INIT 和 IKE_AUTH 交换开始(在 IKEv1 中称为第一阶段)。这些初始交换通常由四条消息组成,尽管在某些场景中该数量可能会增加。所有使用 IKE 的通信都由请求/响应对组成。我们将首先描述基本的交换,然后再描述各种变体。第一对消息(IKE_SA_INIT)协商加密算法、交换随机数 (nonces),并进行 Diffie-Hellman 交换 [DH]。
第二对消息(IKE_AUTH)对之前的消息进行认证、交换身份和证书,并建立第一个子 SA。这些消息的某些部分是经过加密的,并使用通过 IKE_SA_INIT 交换建立的密钥进行完整性保护,因此身份对窃听者来说是隐藏的,而且所有消息中的所有字段都经过认证。有关加密密钥如何生成的信息,请参阅第 2.14 节。(一个无法完成 IKE_AUTH 交换的中间人攻击者仍然可以看到发起方的身份。)
初始交换之后的所有消息都使用 IKE_SA_INIT 交换中协商的加密算法和密钥进行加密保护。这些后续消息使用第 3.14 节中描述的 Encrypted 载荷的语法,并使用按第 2.14 节所述方式推导出的密钥进行加密。所有后续消息都包含一个 Encrypted 载荷,即使它们在文中被称为"空"载荷。对于 CREATE_CHILD_SA、IKE_AUTH 或 INFORMATIONAL 交换,消息头之后的部分是加密的,而包含消息头在内的整条消息使用为 IKE SA 协商的加密算法进行完整性保护。
每条 IKE 消息都在其固定头中包含一个 Message ID。此 Message ID 用于匹配请求和响应,以及识别消息的重传。
在下面的描述中,消息中包含的载荷用下列名称表示。
标记 载荷
AUTH 认证 (Authentication) CERT 证书 (Certificate) CERTREQ 证书请求 (Certificate Request) CP 配置 (Configuration) D 删除 (Delete) EAP 扩展认证 (Extensible Authentication) HDR IKE 头(不是载荷) IDi 标识 - 发起方 (Identification - Initiator) IDr 标识 - 响应方 (Identification - Responder) KE 密钥交换 (Key Exchange) Ni, Nr 随机数 (Nonce) N 通知 (Notify) SA 安全关联 (Security Association) SK 加密并认证 (Encrypted and Authenticated) TSi 流量选择器 - 发起方 (Traffic Selector - Initiator) TSr 流量选择器 - 响应方 (Traffic Selector - Responder) V Vendor ID
每个载荷内容的具体细节将在第