故障一点通 >> 路由产品线 >> 04.安全 >> 4.5 IPSEC VPN >> 原理简介 >>

IPSEC分为两个阶段:

第一阶段 主模式 (main mode) 交互6个ISAKMP报文(协商ISAKMP SA)     积极模式(aggressive mode):3条ISAKMP消息交互

第二阶段  快速模式 (quick mode )  交互3个ISAKMP报文(协商IPSec SA)

IPSEC协商过程

主模式    预共享密钥     IKE阶段  6个报文

第1、2个ISAKMP报文 用于交换并协商保护ISAKMP消息的安全参数以及对等体验证方式,包含加密算法、验证算法、验证方式、ISAKMP SA生存时间等安全策略信息(即SA载荷)。IPSec实体会选择双方都支持的安全策略信息。 

1、RA将本地配置的所有ISAKMP策略放置在SA载荷中,发送给对端RB

2、RB收到RA的ISAKMP安全策略后,会返回本地与之匹配的策略。若本地存在多条匹配策略,则选择序号最小的策略

锐捷默认策略:

Default protection suite

   encryption algorithm:   DES - Data Encryption Standard (56 bit keys).

   hash algorithm:         Secure Hash Standard

   authentication method:  Rsa-Sig

   Diffie-Hellman group:   #1 (768 bit)

   lifetime:               86400 seconds

第3、4个ISAKMP报文 用于交互IKE的密钥交换载荷(Key exchange)和随机值载荷(nonce) 

此过程交互信息用于双方使用DH算法计算出共同的密钥材料

3、RA发送 Ga mod P值给RB,本地计算出 Gab mod P的值,然后再根据DH算法计算出4个私钥

4、RB发送 Gb mod P值给RA,本地计算出 Gab mod P的值,然后再根据DH算法计算出4个私钥

第5、6个ISAKMP报文 用于交换身份(identification)载荷和HASH载荷

在前4条ISAKMP消息中通信双方并没有核实对方的合法性,很有可能与假冒者计算出公共密钥,从而与假冒者进行加密通信。因此要对双方的真实身份进行核实。由于已经计算出SKEYID_a和SKEYID_e,因此第5、6个ISAKMP报文是经过保护的,具体的保护策略为第1、2个ISAKMP报文协商的加密算法、验证算法以及刚计算出来的SEKYID_d和SKEYID_e。

5、RA发送身份负载

6、RB收到第5条ISAKMP报文后,首先对消息进行验证再解密,RB会使用RA发送的身份载荷,并与本地存储的信息一起进行HMAC计算,得到一个HASH值,再与RA发送的HASH载荷进行比较,如果不相等,则会中断协商过程。

RB验证RA合法(即通过对比计算得到的HASH值与所收到的HASH值相等,即判断RA掌握相同密钥)后,发送本地的信息,供RA来验证本地。RA使用同样方法判断RB是否掌握相同密钥,若RA判断RB也合法,则第一阶段协商过程结束 

快速模式    3个报文

第1个ISAKMP报文

      携带RA所配置的IPSec保护策略,即使用ESP还是AH、采用什么模式、加密IP数据使用什么加密算法、验证IP数据使用什么算法、对什么样的数据流进行保护、进行PFS的KE载荷和随机值载荷、身份载荷、HASH载荷等。

第2个ISAKMP报文

       RB收到RA发出的第二阶段第1个ISAKMP报文后,首先验证报文并解密,查看SA载荷中的策略是否与本地匹配,并在本地使用同样的方法计算HASH值并与收到的HASH载荷进行比较。若相同,RB则发出第2条ISAKMP消息,包含的载荷与RA发出的一致。

第3个ISAKMP报文

      RA收到RB发出的第二阶段第2个ISAKMP报文后,首先验证报文并解密,查看SA载荷中的策略是否与本地匹配,并在本地使用同样的方法计算HASH值并与收到的HASH载荷进行比较。若相同,RA则发出第3条ISAKMP消息,只包含HASH载荷,用以通知RB完成第二阶段IPSec SA协商并可以使用IPSec SA对IP数据进行保护。