IPSec之IKEv2协议详解 |
您所在的位置:网站首页 › ipsec协商模式aggr › IPSec之IKEv2协议详解 |
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 |