IPSecVPN两个阶段协商过程分析-李心春 联系客服

发布时间 : 星期三 文章IPSecVPN两个阶段协商过程分析-李心春更新完毕开始阅读7b83f275fad6195f312ba6da

(一) IPSec VPN隧道的建立过程分为两个阶段:

第一个阶段:分为两种模式主模式(Main Mode和野蛮模式(又称主动模式Aggressive) 第二个阶段:快速模式(Quick Mode) 区别:主模式与野蛮模式的区别:

(1)野蛮模式协商比主模式协商更快。

因为主模式需要交互6个消息,而野蛮模式只需要交互3个消息; (2)主模式协商比野蛮模式协商更严谨、更安全。

因为主模式在“消息5&消息6”中对ID信息进行了加密。而野蛮模式由于受到交换次数的限制,ID消息在“消息1&消息2”中以明文的方式发送给对端。即主模式对对端身份进行了保护,而野蛮模式则没有。 (二) 两个阶段分别完成任务:

(1)第一个阶段IKE设置,有三个任务需要完成: (a)协商一系列算法和参数(这些算法和参数用于保护隧道建立过程中的数据); (b)必须计算出两边使用的加密KEY值,例如,两边使用3DES算法加密,3DES算法则需要一个密码,这个密码两端必须一样,但又不能在链路上传递。

(c)对等体的验证,如何才能知道对端就是我要与之通信的对端。这里验证有三种方法:预共享、数字签名和加密临时值。

上面一系列过程都是IKE(Internet 密钥交换协议,大多数厂商都把这个叫做VPNs Gateway)这个协议来实现。对于第一阶段需要注意以下几点: (a1)只有remote vpn和easy vpn是积极模式的,其他都是用主模式来协商的; (a2)让IKE对等体彼此验证对方并确定会话密钥,这个阶段用DH进行密钥交换,创建完IKE SA后,所有后续的协商都将通过加密和完整性检查来保护。

(a3)第一阶段帮助在对等体之间创建了一条安全通道,使后面的第二阶段过程协商受到安全保护。 (2)第二阶段:

协商IPSec SA使用的安全参数,创建IPSec SA(SA可以加密两个对等体之间的数据,这才是真正的需要加密的用户数据),使用AH或ESP来加密IP数据流。至此IPSec VPN隧道才真正建立起来。

(三) 综上,有如下结论:

第一阶段作用:对等体之间彼此验证对方,并协商出IKE SA,保护第二阶段中IPSec SA协商过程;

第二阶段作用:协商IPSec单向SA,为保护IP数据流而创建;

(四) 举例验证:以主模式,AH协议来简单分析一下IPSec VPN链接建立的过程(附带报

文):

第一个阶段三个任务,分别用6个消息来完成,每两个为一组,这些消息的具体格式取决于使用的对等体认证方法,使用预共享密钥进行验证的主模式(6条)协商过程使用ISAKMP消息格式来传递(基于UDP,端口号为500)。6条消息如下:

(1)准备工作:

在前2条消息发送之前,发送者和接受者必须先计算出各自的cookie(可以防重放和DOS攻击),这些cookie用于标识每个单独的协商交换消息。

cookie——RFC建议将源目的IP、源目的端口、本地生成的随机数、日期和时间进行散列操作。Cookie成为留在IKE协商中交换信息的唯一标识,实际上cookie是用来防止DOS攻击的,它把和其他设备建立IPSec所需要的连接信息不是以缓存的形式包存在路由器里,而是把这些信息HASH成个cookie值。 (2)1&2消息:

消息1:由发送方(协商发起端)发起,携带一些参数,发送方向接收方发送一条

包含一组或多组策略提议(Raisecom工业路由器中是多组),在策略提议中包括5元组信息:

加密算法——DES;

散列算法——MD5-HMAC; DH——Diffie-Hellman组-2; 认证方式——预共享; IKE SA寿命。

如下是Raisecom中高级选项配置的策略:

(认证方式采用“预共享”方式)

(对于DPD,具体作用不知道,默认是关闭) 下面简要介绍一下上述五元组信息:

(a)协商模式:可以选择主模式(Main Mode)或者野蛮模式(Aggressive)。当选择主模式时,只能使用IP地址作为ID的类型。当用户端设备的IP地址为动态获

取的情况时,需要选择野蛮模式。IKE野蛮模式相对于主模式来说更加灵活,可以选择根据协商发起端的IP地址或者ID来查找对应的身份验证字,并最终完成协商。 (b)验证方法AH(Authentication Header):

身份验证确认通信双方的身份。目前在IKE提议中,仅可用pre-shared-key(预共享密钥)身份验证方法,使用该验证方法时必须配置身份验证字,并且两端的密钥要完全一致。

(c)加密算法:

包括DES和3DES加密算法;DES算法采用56bits的密钥进行加密,3DES算法采用168bits的密钥进行加密;AES128(Advanced Encryption Standard,即高级加密标准)采用Rijndael中的128bits的密钥进行加密;AES192(Advanced Encryption Standard,即高级加密标准)采用Rijndael中的192bits的密钥进行加密;AES256(Advanced Encryption Standard,即高级加密标准)采用Rijndael中的256bits的密钥进行加密; 一般来说,密钥越长的算法强度越高,受保护数据越难被破解,但消耗的计算资源会更多。

(d)Diffie-Hellman组标识(DH):

用户可以选择Group 1即768bit 或 Group 2即1024bit。 (e)ISAKMP-SA生存周期:

IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟。第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道,即ISAKMP安全联盟(ISAKMP SA);第二阶段,用在第一阶段建立的安全通道为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA,IPSec SA用于最终的IP数据安全传送。ISAKMP-SA生存周期可以设定为60-604800之间的一个整数。 (f)定时发送keepalive报文(不是必须携带):

IKE通过ISAKMP SA向对端定时发送KeepAlive报文维护该条ISAKMP SA的链路状态。当对端在配置的超时时间内未收到此KeepAlive报文时,如该ISAKMP SA带有timeout标记,则删除该ISAKMP SA及由其协商的IPSec SA;否则,将其标记为timeout。 如下是抓包获取到的信息(设备为Raisecom工业路由器):

由上图可知,模式为主模式,载荷类型为SA。SA的数目和内容详见下图:

将载荷类型SA展开如下: 由下图可知,该SA中携带了三组策略,正好Raisecom中web页面配置的三组策略:

第一组Type Payload:Transform(3)# 0展开如下:

SA生存时间为10800;加密机制为DES;认证算法为SHA;认证方法选择PSK(预共享密钥);DH为Group 2;

第二组Type Payload:Transform(3)# 1展开如下:

第三组

Type Payload:Transform(3)# 2展开如下: