IPSec VPN IKEV2

理论

IKEv2介绍:定义在RFC4306 ,更新与 RFC 5996.不兼容IKEv1,IKEv1不支持认证,IKEv2支持认证,EAP。支持NAT穿越。IKEv2支持私密性、完整性、源认证。工作在UDP 的 500 /4500端口。NAT-T用的是UDP4500端口。 Cisco Flex VPN 约等于IKEV2。

DH算法:离散对数问题,在数学上无解,保证信息交换的安全性。

IKEV1第一阶段(main、Aggressive)的任务对应IKEV2的Initial ExchangeIKEV1第二阶段(Quick mode)的任务对应IKEV2的ICREATECHILD_SA.

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认证。

IKEv1与IKEv2的对比:

配置案列

Branchcrypto ikev2 proposal qyt-proposal encryption 3des aes-cbc-256 integrity sha256 sha512 group 2 5 14!crypto ikev2 policy qyt-policy proposal qyt-proposal!crypto ikev2 keyring qyt-key peer ASA address 202.100.1.1 pre-shared-key cisco!crypto ikev2 profile qyt-profile match identity remote address 202.100.1.1 255.255.255.255 identity local address 162.106.1.1 authentication remote pre-share authentication local pre-share keyring local qyt-key!crypto ipsec transform-set qyt-trans1 esp-des esp-md5-hmac mode tunnelcrypto ipsec transform-set qyt-trans2 esp-3des esp-sha256-hmac mode tunnel!crypto map qyt-map 10 ipsec-isakmp set peer 202.100.1.1 set transform-set qyt-trans1 qyt-trans2 set ikev2-profile qyt-profile match address vpn!interface FastEthernet0/0 ip address 162.106.1.1 255.255.255.0 duplex full crypto map qyt-map!interface FastEthernet1/0 ip address 172.16.1.1 255.255.255.0 duplex full!ip forward-protocol nd!no ip http serverno ip http secure-serverip route 0.0.0.0 0.0.0.0 162.106.1.254ip route 192.168.1.0 255.255.255.0 172.16.1.2!ip access-list extended vpn permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

ASAcrypto ikev2 enable outside!crypto ikev2 policy 10 encryption aes-256 3des integrity sha256 sha group 2 1 prf sha256 sha lifetime seconds 86400!tunnel-group 162.106.1.1 type ipsec-l2ltunnel-group 162.106.1.1 ipsec-attributes ikev2 remote-authentication pre-shared-key ***** ikev2 local-authentication pre-shared-key *****!crypto ipsec ikev2 ipsec-proposal qyt-trans protocol esp encryption 3des des protocol esp integrity sha-256 md5! access-list vpn extended permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0!crypto map qyt-map 10 match address vpncrypto map qyt-map 10 set peer 162.106.1.1 crypto map qyt-map 10 set ikev2 ipsec-proposal qyt-transcrypto map qyt-map interface outside