故障一点通 >> 路由产品线 >> 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数据进行保护。