众元教育H3CSE20200603班-IPsec SA的协商

众元教育H3CSE20200603班-IPsec SA的协商

引言:用IPSec保护一个IP包之前,必须先建立安全联盟(SA),IPSec的安全联盟可以通过手工配置的方式建立。但是当网络中节点较多时,手工配置将非常困难,而且难以保障安全性。这时就可以使用IKE自动进行安全联盟建立与密钥交换过程。Internet密钥交换(IKE)就用于动态建立SA,代表IPSec对SA进行协商。
注:SA(安全联盟)是通信对等体间对某些要素的约定,通信的双方符合SA约定的内容,就可以建立SA。

一、IKE的工作过程

刚开始讲IKE大家可能会很迷惑,IKE到底用在哪个地方?怎么用?用了之后会怎么样?请大家看下面的图片
众元教育H3CSE20200603班-IPsec SA的协商_第1张图片
大家可以看到整个IPSec架构中,不管使用AH协议还是ESP需要鉴别算法来保证数据的完整性,如果是ESP协议的话还会需要加密算法,而且不管是加密算法还是鉴别算法,都会使用密钥,那么通信双方如果要顺利进行通信,就得采取相同的加密算法和鉴别算法,不然一边加密或做了散列运算的数据到另一端就无法识别。而且即使配置了相同的加密算法和鉴别算法,还得协商出合适的密钥,不然对方无法进行解密和正常验证。上文也有提到说,SA可以通过手动配置的方法实现,但是这种方法比较麻烦,而且人工配置不易随时修改,安全性较低,不易于维护,所以需要一种动态的方式来协商SA。下图为IKE的宏观工作图。

众元教育H3CSE20200603班-IPsec SA的协商_第2张图片
IKE为IPSec进行密钥协商并建立安全联盟需要两个阶段
第一阶段交换:通信各方彼此建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA(也可称为IKE SA)。第一阶段又有主模式和野蛮模式两种。
第二阶段交换:用已经建立的安全联盟(IKE SA)为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA,产生真正可以用来加密数据流的密钥,IPSec SA用于最终的IP数据安全传送。
下面我将结合图片给大家分析IKE的主模式和野蛮模式
众元教育H3CSE20200603班-IPsec SA的协商_第3张图片
如上图所示,IKE主模式,该模式下的协商分三个阶段六个报文。
第一阶段
由Peer1向Peer2发起策略,里面包含cookie(图中为Ci)和SA负载(图中为SAi)携带协商IKE SA的各项参数,如加密算法、认证方式、DH组、散列算法、SA存活时间。Peer2收到后,回复一个报文,包括了发送方和自己的cookie(Cr),以及自己所支持的策略(放在SAr中),至此双方的策略已经协商完成,进入密钥交换阶段。
第二阶段
Peer1向Peer2发送一个报文,包含了双发的cookie以及自己的公钥(X)和一个随机数(Ni),Peer2收到后回复双方cookie、自己的公钥(Y)以及一个随机数(Nr)。双方收到对方的消息后可以进行DH密钥交换计算,协商出一个致的密钥,用于第三阶段的身份验证。
第三阶段
第三阶段为ID交换及验证阶段,双方互相发送自己的身份ID以及验证数据,此阶段为加密传输,协商完成后,整个IKE SA就协商完成了可以进入阶段二,IPSec SA的协商。
众元教育H3CSE20200603班-IPsec SA的协商_第4张图片
讲完主模式的协商过程,我们再来说说野蛮模式的协商过程 ,如上图所示,野蛮模式的协商只需要交三次报文就可以实现了。第一条消息:Peer1向Peer2发送IKE的五元组参数、自己的cookie、随机数以及自己的身份ID。
第二条消息:如果Peer2接受发起者的建议,则回应一个选定的5元组,DH公共值,辅助随机数nonce,身份材料以及一个“认证散列值”。
第三条消息:Peer1发送一个“认证散列值”,该消息被验证,让Peer2能够确定其中的散列值是否与计算得到的散列值相同,进而确定消息是否有问题。

**上述就是IKE阶段一的主模式和野蛮模式,结合上文的描述,我们一起做一个总结,分析一下主模式和野蛮模式的区别。上图

众元教育H3CSE20200603班-IPsec SA的协商_第5张图片
主模式下交互6个报文,其中前四个报文为明文,最后两个ID交换及验证阶段的报文为加密传输,可以有效得对对端身份进行保护。另外主模式下,只能以IP地址作为身份ID,自动生成本端身份ID和对端身份ID,且只能基于IP地址来确定预共享秘钥,灵活性较差,不能解决远程拨号访问需求,协商速度较慢。
野蛮模式较为简单,只需要交互三个报文,且身份ID可以以多种方式指定,可以基于ID信息来确定预共享秘钥,灵活性较高,协商速度较快。但是因其前两个报文为明文,且对端的ID信息和认证散列值都包含在第二个报文内,所以无法对对端身份进行保护,安全性较低。

以上就是今天的分享内容,如果喜欢的话,就点个关注吧。

你可能感兴趣的:(华三,安全,网络)