IPSEC vpn简介
IPSEC ×××是一个开放标准的框架,用以保证IP网上私有通信的安全,IP SEC提供了IP网上的数据完整性,可靠性和保密性(加密)。
IPSEC协议通过AH(认证包头)和ESP(安全负载封装)协议来提供IP层的安全服务,所提供的安全服务包括访问控制、无连接完整性、数据鉴别、防止重放和加密。
IPSEC包括以下3种协议,利用这3种协议就可以实现整个IPSEC架构
AH(认证包头) 协议号50
提供数据完整性、数据源验证和可选的防重放功能特性的体系框架。
用来验证数据完整性,不能对数据进行加密。加密配合ESP使用。
使用MD5与SHA提供完整性验证。SHA安全性比MD5高,但计算过程慢于MD5。
ESP(安全负载封装;NP书上是:封装安全净荷) 协议号 51
可提供在IP层的负载加密,保证安全性。
ESP的三种加密方式,加密等级由低到高 DES - 3DES - AES
IKE(internet key交换)是一种交换安全参数和认证密钥的体系框架;用来在两台路由器之间建立一个提供验证的安全通道,还可为IPSEC中的同步加密算法提供密钥交换功能。
IKE使用其它协议来完成对等体验证的密钥生成工作:
如
ISAKMP协议
互联网安全关联和密钥管理协议 定义了建立协商修改删除SA的过程。所有参数协商都由ISAKMP完成,如头部验证和净荷封装,ISAKMP可实现对等体验证,但不提供密钥交换机制。
Oakley 协议
是一种利用Diffe-Hellman算法的密码协议,管理SA的密钥交换过程。
AH与ESP头在包中的位置
传输模式:在三层与四层之间插入ESP AH
Eg: L2 | IP头|ESP AH头| L4 payload
隧道模式
Eg: L2 | newIP头(公网地址) | ESP AH头 | IP头|L4payload
IPSEC运行模式有两种。传输模式和隧道模式,区别是是否有对IP头部的保护
传输模式:AH:对部分原IP头进行验证
ESP:对上层协议进行加密域选择性的验证(四层及以上)
AH&ESP:对上层协议进行加密和验证,对部分IP头进行验证。
隐藏原始源&目的:否
隧道模式:AH:对全部IP数据报和部分新IP头进行验证
ESP:对包进行加密和选择性的验证,不对新IP头进行验证。
AH&ESP:对原IP数据报进行加密和验证,对部分新IP头进行验证。
隐藏原始源&目的:是
IPSEC工作机理
1、 当路由器收到一个包,它将检查安全策略以决定是否为数据包提供保护措施。(可通过ACL来决定是否接受保护。)
2、 根据已定义的策略,路由器决定何种安全服务被用于此数据包,并决定IPSEC隧道端点所使用的地址,然后检查是否已存在安全联系。
3、 如果没有安全联系存在,路由器将与他相联的对等体协商建立一个。将通过IKE来建立对等体,可通过预共享密钥、公钥密码、或数字签名实现。
4、 对等体验证通过,Diff-Hellman协议便被用来产生一个共有的会话钥匙。
5、 此时IPSEC安全联系通过安全通道协商,发起会话的对等体将发送其已配置好的ISAKMP策略给远程对等体。ISAKMP策略中包含了定义了的加密算法、HASH算法、验证方法、Diffe-Hellman组和生存期。
6、 远程对等体收到ISAKMP,远程对等体将查找一个相匹配的策略,如一致,则推导出钥匙,(IPSEC的钥匙与IKE用的不同)
7、 策略统一后,IKE将结束协商进程,一个安全联系将被创建。用它来记录IPSEC通信会话相关细节,通过SPI(安全参数索引)的随机数与目标IP组合来唯一确定。
8、 建立好后,安全联系被用于与所有与特定访问表匹配的流量,正是此访问表导致了初始的协商,SA(安全联系)是单向的,每个会话只需两个SA,SA过期后新的SA将产生。
IKE的三个阶段,两个强制阶段,一个可选阶段
IKE阶段1
是一个强制的IKE阶段,在对IPSEC对等体间建立一个双向的SA
执行对等体验证
建立双向SA采取两种模式,主模式和积极模式
完成参数协商 如HASH分发和变换集
IKE阶段1.5
是一个可选的阶段
提供了额外的验证层,因为阶段1是验证设备和端点,可以被朋友使用,也可被敌人利用,而1.5阶段提供设备后的用户验证机制。
IKE阶段2
是一个强制的IKE阶段,
在IPSEC端点之间实现单向的SA,意味着每个方向使用独立的密钥素材,阶段2使用IKE的快速模式建立每个方向的单向SA
IKE的模式
主模式
由对等体间交换的6条报文组成,如选择主模式,则不能选择积极模式
6条报文可分为以下3对
IPSEC参数和安全策略:发送方发送一个或多个建立,接收方选择一个合适的建议
Diffe-Hellman公钥交换: 在两上IPSEC端点发送公钥
ISAKMP会话验证: 通信双方进行互相验证
积极模式
是主模式的简化版本,6条报文被简化为以下3下
1. 发起方发送IPSEC参数、安全策略和Diffe-Hellman公钥。
2. 响应方验证数据包,并回送参数建议、密钥素材和身份情况。
3. 发起方验证数据包。
快速模式
用于对IPSEC连接传送的数据进行加密,此外还为这些SA管理密钥交换。