IPsec vpn 过程分析

来源:互联网 发布:易投软件实践心得 编辑:程序博客网 时间:2024/05/03 17:09
vpn

一,IKE协商.

IKE协商跟TCP三次握手相似.不过比TCP 三次握手复杂点.IKE协商过程需要经过9个报文的来回,才能建立通讯双方需要的IKE SA,然后利用该IKE SA进行数据的加密和解密.

IKE协商报文采用UDP格式,默认端口是500

一,IKE协商的第一阶段:也称为IKE的主模式:

1,A和B通讯,A作为发起方,第一个报文是A本地配置的policy(策略),该policy包含:

⑴,加密算法

⑵,hash算法

⑶,D-H组

⑷,认证方式

⑸,SA生存时间

PS:  ①,Policy可以配置多个,只要对端只要有任何一个与它匹配就行.

     ②,五元素里最主要的是认证方式.目前主要分: 预共享 和 数字证书.一般采用预共享秘匙

2,第二个报文是B采用相同的policy发回.表明采用该policy作为后续通讯的保护.

3,第三和第四个报文是A和B进行D-H交换的D-H公开值,这与具体配置关系不大.

在完成上面四个报文的交换后,利用D-H算法.A和B就协商出一个共同的秘密.后续的密匙都是依靠这个秘密来衍生的.

4,第五和第六个报文是身份验证过程.A将自己的身份信息和其他信息发送给B.B对A进行验证,然后发送自己的身份信息回去给A进行验证.

预共享方式主要有两种验证方法:  A,IP地址  B,主机名.  一般采用IP地址作为验证方法.

 

完成上面六个报文的交换,IKE的第一阶段就已经完成.(IKE主模式协商完成),打开debug会看到IKE SA Establish (IKE SA已经建立)

 

二,IKE第二阶段-----IKE快速模式协商.

上面6个报文之后,进入的就是第二阶段---快速模式.是依靠最后的三个报文来进行IPSec SA协商.利用第一阶段协商出来的共同的秘密来为这三个报文来进行加密.配置方面是以下三个

1, 数据流(access-list定义保护加密的数据流)

2, 交换集合transform-set (加密算法和安全协议)

3, 完美前向保护(PFS)

很多情况下,发现IKE SA已经建立,但IPSec SA无法建立.很有可能就是因为这三点不一致造成.

 

IKE配置:

1,   Policy

包括hash算法,加密算法,D-H组,生存时间,.认证方式是最重要的.

2,   预共享 (preshare)

验证方式一般采用预共享方式,又分为IP地址和主机名(hostname).一般采用IP地址验证.

3,   本端标识 (localID)

IP地址或主机名。一般采用IP地址.   如果发起方

以上三个步骤就完成IKE SA的配置.接下来的是IPSec的配置

1,  配置要保护(加密)的数据流(access-list)

部署任何VPN都需要对数据流进行限制.不可能对所有的数据流进行加密(any to any ),该Access-list在加密映射(map)里会被引用. 首先是在实际使用过程中,不会有这样的需求,其次,这样会让很多本来不需要加密的通信无法通信。比如广播被加密后大量丢弃,路由器无法工作.

2,  配置变换集合(transform-set)

变换集合是某个对等方能接受的密码学算法和安全协议(IPSec协议),双方需要一致.

3,  配置加密映射(map)

为IPSec创建的加密映射条目,使IPSec联盟的各部件协调工作.包括以下部分:

⑴, 欲保护(加密)的数据流 (引用access-list所定义)

⑵, 对端的IP地址 (这个是必须的,除非是动态映射加密)

⑶, 欲保护(加密)的数据流采用的加密算法和安全协议(引用transform-set定义)

⑷, 是否需要PFS支持 (两端要一致)

⑸,  SA的生存时间 (不配置的话有默认值)

原创粉丝点击