IPSec之IKEv2协议详解

您所在的位置:网站首页 ipsec协商模式aggr IPSec之IKEv2协议详解

IPSec之IKEv2协议详解

2024-06-29 10:49| 来源: 网络整理| 查看: 265

IKEv2简介 IKEv2介绍: 定义在RFC4306 ,更新与 RFC 5996.不兼容IKEv1,IKEv1不支持认证,IKEv2支持认证,EAP。支持NAT穿越。IKEv2支持私密性、完整性、源认证。工作在UDP 的 500 /4500端口。NAT-T用的是UDP4500端口。 IKE的安全机制:

身份认证

确认通信算双方的身份(对等体的IP地址或者名称),包括:

预共享密钥PSK(pre-shared key)认证。

数字签名RSA(rsa-signature)认证。

身份保护

DH(Diffie-Hellman)密钥交换算法

完善的向前安全性PFS(Perfect Forward Secrecy)

短暂的一次性密钥系统称为“完美向前保密”

在IPSec里,PFS是通过在IPSec SA协商阶段重新进行一个DH交换来实现的。

DH交换算法:

在这里插入图片描述

图:DH交换算法

详解IKEv2主模式的协商过程

采用IKEv2协商安全联盟比IKEv1协商过程要简化的多。要建立一对IPSec SA,IKEv1需要经历两个阶段:“主模式+快速模式”或者“野蛮模式+快速模式”,前者至少需要交换9条消息,后者也至少需要6条消息。而IKEv2正常情况使用2次交换共4条消息就可以完成一对IPSec SA的建立,如果要求建立的IPSec SA大于一对时,每一对IPSec SA只需额外增加1次创建子SA交换,也就是2条消息就可以完成。

IKEv2定义了三种交换:初始交换(Initial Exchanges)、创建子SA交换(Create_Child_SA Exchange)以及通知交换(Informational Exchange)。

在IKEv2中将IKEv1中的主模式和野蛮模式换成了Inital Exchange,将快速模式阶段换成了CRATE_CHILD_SA.

初始交换:

正常情况下,IKEv2通过初始交换就可以完成第一对IPSec SA的协商建立。IKEv2初始交换对应IKEv1的第一阶段,初始交换包含两次交换四条消息。

在这里插入图片描述

图:初始交换过程图

消息①和②属于第一次交换(称为IKE_SA_INIT交换),以明文方式完成IKE SA的参数协商,包括协商加密和验证算法,交换临时随机数和DH交换。IKE_SA_INIT交换后生成一个共享密钥材料,通过这个共享密钥材料可以衍生出IPSec SA的所有密钥。相当于IKEv1的主模式的第1,3个包。

消息③和④属于第二次交换(称为IKE_AUTH交换),以加密方式完成身份认证、对前两条信息的认证和IPSec SA的参数协商。IKEv2支持RSA签名认证、预共享密钥认证以及扩展认证方法EAP(Extensible Authentication Protocol)。EAP认证是作为附加的IKE_AUTH交换在IKE中实现的,发起者通过在消息3中省去认证载荷来表明需要使用EAP认证。

在这里插入图片描述

图:IKEv2协商过程抓包,总共四个包

交换消息

2个初始信息2个认证信息 IKEv2报文协商详细过程: Initiator Responder ------------------------------------------------------------------- HDR, SAi1, KEi, Ni --> ---------------------------------- KEi:发起方提供的密钥交换材料,优先级使用最高安全级别的DH组

发起方发送:HDR包含安全参数索引(SPIs)、版本号和flags。SAi1有效载荷声明了发起方支持的IKE SA加密算法。KE有效载荷是发送方的DH值,Ni为发起方的随机数。

第一个包:Responder SPI的值为0,Flags位的Initiator的值为1,标志位发起方。Message ID的值也为0,该值和下一个会回应方的Message ID值相同。用来标即区分一对request/response消息对。

IKEv2协商过程的第2个包:

在这里插入图片描述

图:IKEv2协商过程的第2个包抓包示例

第2个包的信息交换如下:

IKE_SA_INIT: Message 2

接收方会一个可以接受的参数,并附带密钥交换内容和证书请求(可选)。等同于IKEv1的主模式的第2和第4个包。

------------------------------------------- SK :该负载被加密并且完整性保护。 IDi:发起方的身份信息 Cert:发起方的整数,可选 CertReq:发起方的证书请求,可选 IDr:期望的相应方的身份信息,可选 AUTH: 发起方认证数据,没有EAP就没有这个字段,可选 SAi2,发起方Child SA转换集 TSi/TSr: Child SA流量选择器 符号SK{…}表示这些有效载荷已加密使用该方向的SK_e和SK_a保护完整性。

发起方:除了HDR未加密,其余都被加密。IDi是发起方的有效身份载荷,用来证明自己的身份和完整性保护。也可以在CERT中发送整数有效载荷记忆在CertReq有效宰割中的信任列表。如果包含任何CERT有效载荷,必须提供第一个证书,包含用于验证AUTH字段的公钥。

可选的有效负载IDr使发起者能够指定哪个响应者。当在有同一个IP地址的机器上可能有多个身份ID。如果响应者不接受发起方提出的IDr,响应者可能会使用其他一些IDr完成交换。如果发起方不接收相应方提供的IDr,发起方可以关闭这个SA协商。

Tsi,Tsr是流量选择器,可以用来协商双方的感兴趣流。在IKEv2中可以协商,取感兴趣流的交集。但是在IKEv1中不能协商,只能双方互相配置为镜像地址。

发起方使用SAi2负载来协商Child SA,SAi2用来描述CREATE_CHILD_SA的交换参数。

第3个报文中的报文头是明文的,其余都是密文传输。在该报文中的Flags中的Initiator位置1,表示是发起方的报文。Message ID区别于上一对消息,为1。下一个回应的报文的Message ID和这个值相同。其余消息被封装到了Encrypted and Authenticated载荷中。

IEKv2协商过程的第4个包:

在这里插入图片描述

图:IKEv2协商过程的第4个包抓包示例

第4个包信息如下:

IKE_AUTH: Message 2

创建于child SA相关的认证内容和参数。等同于IKEv1主模式的第6个包和部分快速模式的包。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3