1. IKEv2 的协商流程,IKE_SA_INIT/IKE_AUTH 与子 SA 的 CHILD_SA 如何推进?
请详细描述 IKEv2 的协商流程,包括 IKE_SA_INIT、IKE_AUTH 两个阶段,以及如何通过 CHILD_SA 建立子 SA 来承载 IPsec 数据流?
- IKEv2 两阶段协商流程(IKE_SA_INIT + IKE_AUTH)
- 四消息交换的职责划分
- CHILD_SA 与 IKE_SA 的关系
IKEv2 协商分为两个阶段。第一阶段 IKE_SA_INIT 用两条消息(IKE_SA_INIT 请求/响应)完成 DH 密钥交换、协商加密/完整性/PRF 算法,并生成 SKEYSEED 及后续派生密钥,从而建立加密的 IKE_SA。第二阶段 IKE_AUTH 也用两条消息(请求/响应),在已加密的 IKE_SA 中完成身份认证(证书或 EAP)、交换 SA 负载,并同时创建第一个 CHILD_SA(即用于 ESP 的 IPsec SA)。也就是说,四消息完成 IKE_SA 建立的同时也建立了首条 CHILD_SA。后续如需更多数据流,可用 CREATE_CHILD_SA 或 IKE_AUTH 中携带的附加 SA 提议创建新的 CHILD_SA。
IKE_SA_INIT 阶段无需认证即可完成密钥交换,因为 DH 交换本身不依赖身份;IKE_AUTH 阶段在受保护通道内认证身份,避免身份泄露并保证密钥绑定到认证实体。CHILD_SA 才是真正承载流量加密的 SA,IKE_SA 只是控制平面。