IPSEC构建站点到站点连接的基本过程

对于站点到站点的会话,构建连接的基本过程如下:
一个VPN网关对等体发起了到另外一个远程的VPN网关对等体的会话(触发流量),如果没有存在VPN的连接,那么ISAKMP/IKE阶段1开始:
l 两个对等体协商如何保护管理连接
l Diffie-hellman用于为管理连接中的加密算法和HMAC功能来安全的共享密钥。
l 在安全管理连接中来执行设备验证。
ISAKMP/IKE阶段1结束,阶段2开始:
对等体协商参数和密钥信息用来保护数据连接(这是在安全管理连接下实现的,或者你也可以选择性的再次使用Diffie hellman)
数据连接被建立,阶段2结束,VPN网关现在可以通过数据连接来保护用户流量。最终,管理连接和数据连接将会超时,并重新构建连接。协商过程中IKE使用用户数据报协议(UDP)端口500(通常用于源和目的双方)进行通信。
1.2 ISAKMP/IKE阶段1
ISAKMP/IKE阶段1基本上负责建立一个安全的管理连接,它有两种工作模式:主模式和积极模式(或称为野蛮模式)。管理连接是一个双向的过程,源和目标都是使用的UDP 500。
在ISAKMP/IKE阶段1将会发生三件事情,以建立双向的ISAKMP SA
 1.安全关联建立和安全参数协商(加密算法,HASH算法,DH组,身份认证)。
2.DH算法(密钥交换)
3.对等体认证(预攻向密钥,数字证书,加密随即数)
3.2.1 主模式
主模式在三次交换中总共用到了六条消息,最终建立了IKE SA。报文是UDP的类型,封装在端口500里面。6个数据包共三个步骤,[协商安全参数]、[Diffie-Hellman和nonce交换]、以及[对方身份的验证]:
在这里插入图片描述
第一对消息主要为SA交换,是协商确认有关安全策略的过程;
① 发起者send一个cookie (记为:Ci ) 和SA负载(记为:SAi,包括使用的加密算法如DES、3DES等,散列算法如MD5,身份验证方法如预共享、数字签名、加密临时值等,生存时间等信息)用来协商参数;
② 响应者发送一个SAr(已经挑选的安全参数)和cookie Cr: 如果没有可以挑选的参数,响应者会返回一个负载拒绝;
第二对消息叫密钥交换,交换Diffie-Hellman公共值和辅助数据(如:随机数),加密物在这个阶段产生;
此过程的目的在于为第一对消息中所协商的算法生成加密key。两个对等体通过DH生成公钥并交换DH公钥参数以及随机的称为nonces(伪随机数)的仅被使用一次的值。nonces用来预防重传攻击。这2条消息,用于交换DH的公开信息和随机数。
两个对等体根据DH的公开信息都算出了双方相等的密值后,两个nonce连通预共享密钥生成第一个skeyID,随后便根据SKEY__ID来推算出其他几个skeyID。
1: KDH=DH算法(用自己的私钥+对方公钥)
2: SKEY__ID=hash (pre-shared key ,Ni | Nr)
3: SkeyID_d=hash(SKEY__ID, KDH| Ci | Cr | 0 )
4: SkeyID_a = hash(SKEY__ID, SkeyID_d | KDH| Ci | Cr | 1)
5: SkeyID_e=hash(SKEY__ID,SkeyID_a | KDH| Ci | Cr | 2 )
² skeyID_d—第二阶段使用,用来协商出后续IPSEC SA加密使用的IKE密钥资源;
² skeyID_a—散列预共享密钥(HMAC中的密钥),为后续的IKE消息协商以及IPSECSA协商进行完整性检查;
² skeyID_e—为后续的IKE消息协商以及IPSEC SA协商进行加密,下一阶段的message,data,Preshared key,和第二阶段的加密。
最后一对消息是ID信息和验证数据交换,这个过程是受skeyID_e加密保护的,进行身份验证和对整个SA交换进行验证。
完成此步骤的设备认证,使用skeyID_e进行加密,SkeyID_a 进行HASH认证(HASH_i,HASH_r)所涉及的算法都是最前面两个包协商出来的;最重要的是在这次交换中还有个ID交换(IDi,IDr);
6.HASHi = hash(SKEYID, X|Y|Ci|Cr|SAr|IDi)
7.HASHr = hash(SKEYID, X|Y|Cr|Ci|SAi|IDr)
主模式的好处:设备验证的步骤发生在安全的管理连接中,因为这个连接是在前两个步骤中构建的,因此,两个对等体需要发送给对方的任何实体信息都可以免受攻击。站点到站点和使用证书做设备验证的远程访问默认使用主模式。
主模式=1个双向ISAKMP SA + 2次加密 + 3次交换 + 5个KEY + 6个包 + 7步运算
3.2.2 野蛮模式(积极模式)
对于两端IP地址不是固定的情况(如ADSL拨号上网),并且双方都希望采用预共享密钥验证方法来创建IKE SA,就需要采用野蛮模式。另外如果发起者已知回应者的策略,采用野蛮模式也能够更快地创建IKE SA。

在这里插入图片描述
1.在第一条消息中,发起方发送ISAKMP报头,安全关联,DH公开值,临时值和身份ID
2.在第二条消息中,应答方用选定提议的所有参数和DH公开值进行应答,该消息被验证,但没有加密.
3第三条消息由发起方发回给应答方,该消息被验证,让应答方能够确定其中的散列值是否与计算得到的散列值相同,进而确定消息是否有问题.积极模式没有主模式安全,因为身份是以明文方式传输的且不能协商DH参数
总结:积极模式=1个双向ISAKMP SA+1次加密+3个步骤+3个包+5个KEY+7步运算
3.3.3 野蛮模式的必要性:
两边都是主机名的时候,就一定要用野蛮模式来协商,如果用主模式的话,就会出现根据源IP地址找不到预共享密钥的情况,以至于不能生成SKEY_ID。
1、因为主模式在交换完3、4消息以后,需要使用预共享密钥来计算SKEY_ID,但是由于双方的ID信息在消息5、6中才会被发送,此时主模式的设备只能使用消息3、4中的源IP地址来找到与其对应的预共享密钥;如果主模式采用主机名方式,主机名信息却包含在消息5、6中,而IPSEC双方又必须在消息5、6之前找到其相应的预共享密钥,所以就造成了矛盾。
2、在野蛮模式中,ID信息(IP地址或者主机名)在消息1、2中就已经发送了,对方可以根据ID信息查找到对应的预共享密钥,从而计算出SKEY_ID。
3.3.4 两种模式的区别:
1、野蛮模式协商比主模式协商更快。主模式需要交互6个消息,野蛮模式只需要交互3个消息。
2、主模式协商比野蛮模式协商更严谨、更安全。因为主模式在5、6个消息中对ID信息进行了加密。而野蛮模式由于受到交换次数的限制,ID信息在1、2个消息中以明文的方式发送给对端。即主模式对对端身份进行了保护,而野蛮模式则没有。
3、NAT支持:
①对预共享密钥认证:主模式不支持NAT转换,而野蛮模式支持
②对于证书方式认证:两种模式都能支持。
4、两种模式在确定预共享密钥的方式不同。主模式只能基于IP地址来确定预共享密钥。而野蛮‘模式是基于ID信息(主机名和IP地址)来确定预共享密钥。
1.3 ISAKMP/IKE阶段2
SAKMP/IKE阶段2只有一个模式:快速模式.它定义了受保护数据连接是如何在两个IPSEC对等体之间构成的.快速模式有两个主要的功能:
1.协商安全参数来保护数据连接。
2.周期性的对数据连接更新密钥信息.
阶段2所关心的事:
1.什么流量需要被保护?(感兴趣流量)
2.应当使用什么样的安全协议来保护流量(AH,ESP)
3.基于选择的安全协议,数据流量是如何 被保护的?(例如使用什么样的HMAC功能)
4.使用什么样的操作模式?(传输模式,隧道模式)
5.当刷新密钥信息的时候,是ISAKMP/IKE阶段1的管理用来共享心的密钥还是完美转发密钥用于刷新密钥?
6.数据连接的生存周期是多少?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值