IPsec vpn 过程分析
来源:互联网 发布:易投软件实践心得 编辑:程序博客网 时间:2024/05/03 17:09
一,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的生存时间 (不配置的话有默认值)
- IPsec vpn 过程分析
- IPsec VPN数据传输过程
- IPsec VPN数据传输过程
- IPSec VPN原理和配置过程
- ipsec vpn 建立过程debug详解
- DMVPN+IPsec VPN 排错分析
- IPSEC VPN隧道抓包分析
- IPSEC VPN
- IPsec VPN
- IPSec vpn
- IPSEC VPN
- IPSec VPN
- ipsec vpn
- IPsec VPN隧道的建立过程两个阶段
- 使用openswan在Linux下构建IPSec VPN过程
- 在linux环境下构建ipsec vpn的过程
- DMVPN+IPsec VPN 排错分析,--经过Burce 实验验证非常有用!--IPSEC vpn 排错,分享.!
- IPsec vpn with NAT
- VHDL 双向端口
- hdu 1181(简洁版 --DFS)
- 详解ORACLE 11G临时表空间
- SQL Server select into用法
- Grid Engine accounting file format
- IPsec vpn 过程分析
- wp231的学习笔记
- 我想要什么
- apk反编译后修改文件的几个注意点
- STL中map用法详解
- 一个简单的递归合并文件的代码
- 在C#里自定义类和引用【原创】
- 一定要赋初值
- POJ 3335 Rotating Scoreboard