IPsec VPN与GRE

IPSec概述

IPSec(IP Security) VPN一般部署在企业出口设备之间,通过加密与验证等方式,实现了数据来源验证、数据加密、数据完整性保证和抗重放等功能。

 

数据来源验证:接收方验证发送方身份是否合法。 

数据加密:发送方对数据进行加密,以密文的形式在Internet上传送,接收方对接收的加密数据进行解密后处理或直接转发。 

数据完整性:接收方对接收的数据进行验证,以判定报文是否被篡改。 

抗重放:接收方拒绝旧的或重复的数据包,防止恶意用户通过重复发送捕获到的数据包所进行的攻击。

IPSec协议体系

IPSec不是一个单独的协议,它给出了IP网络上数据安全的一整套体系结构,包括AH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)等协议。

IPSec使用认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两种安全协议来传输和封装数据,提供认证或加密等安全服务。

▫AH和ESP协议提供的安全功能依赖于协议采用的验证、加密算法。 

▫AH仅支持认证功能,不支持加密功能。ESP支持认证和加密功能。 

▫安全协议提供认证或加密等安全服务需要有秘钥的存在。 

秘钥交换的方式有两种: 

▫带外共享密钥:在发送、接收设备上手工配置静态的加密、验证密钥。双方通过带外共享的方式(例如通过电话或邮件方式)保证密钥一致性。这种方式的缺点是可扩展性差,在点到多点组网中配置密钥的工作量成倍增加。另外,为提升网络安全性需要周期性修改密钥,这种方式下也很难实施。 

▫通过IKE协议自动协商密钥:IKE建立在Internet安全联盟和密钥管理协议ISAKMP定义的框架上,采用DH(Diffie-Hellman)算法在不安全的网络上安全地分发密钥。这种方式配置简单,可扩展性好,特别是在大型动态的网络环境下此优点更加突出。同时,通信双方通过交换密钥交换材料来计算共享的密钥,即使第三方截获了双方用于计算密钥的所有交换数据,也无法计算出真正的密钥。

IPSec基本原理

IPSec隧道建立过程中需要协商IPSec SA(Security Association,安全联盟),IPSec SA一般通过IKE协商生成。

SA由一个三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址和使用的安全协议号(AH或ESP)。其中,SPI是为唯一标识SA而生成的一个32位比特的数值,它在AH和ESP头中传输。在手工配置SA时,需要手工指定SPI的取值。使用IKE协商产生SA时,SPI将随机生成。 

SA是单向的逻辑连接,因此两个IPSec对等体之间的双向通信,最少需要建立两个SA来分别对两个方向的数据流进行安全保护。 

KE作为秘钥协商协议,存在两个版本:IKEv1和IKEv2,本课程采用IKEv1为例进行介绍,IKEv2内容可参考产品文档对应内容。 

▫IKEv1协商阶段1的目的是建立IKE SA。IKE SA建立后对等体间的所有ISAKMP消息都将通过加密和验证,这条安全通道可以保证IKEv1第二阶段的协商能够安全进行。IKE SA是一个双向的逻辑连接,两个IPSec对等体间只建立一个IKE SA。 

▫IKEv1协商阶段2的目的就是建立用来安全传输数据的IPSec SA,并为数据传输衍生出密钥。该阶段使用IKEv1协商阶段1中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。 

IKE协商成功意味着双向的IPSec隧道已经建立,可以通过ACL方式或者安全框架方式定义IPSec“感兴趣流”,符合感兴趣流流量特征的数据都将被送入IPSec隧道进行处理。 

感兴趣流:需要被IPSec保护的数据流。

GRE概述

 通用路由封装协议(General Routing Encapsulation,GRE)是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPX、IPv4、IPv6等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题。

如图所示,通过在IPv4网络上建立GRE隧道,解决了两个IPv6网络的通信问题。 

GRE还具备封装组播报文的能力。由于动态路由协议中会使用组播报文,因此更多时候GRE会在需要传递组播路由数据的场景中被用到,这也是GRE被称为通用路由封装协议的原因。

 GRE基本原理

GRE构成要素分为3个部分:乘客协议、封装协议和运输协议。 

▫乘客协议是指用户在传输数据时所使用的原始网络协议。 

▫封装协议的作用就是用来“包装”乘客协议对应的报文,使原始报文能够在新的网络中传输。 

▫运输协议是指被封装以后的报文在新网络中传输时所使用的网络协议。

隧道接口(Tunnel Interface)是为实现报文的封装而提供的一种点对点类型的虚拟接口,与Loopback接口类似,都是一种逻辑接口。 

如图所示,乘客协议为IPv6,封装协议为GRE,运输协议为IPv4。整体转发流程如下: 

  1. 当R1收到IP1发来的IPv6数据包,查询设备路由表,发现出接口是隧道接口,则将此报文发给隧道接口处理。

  2. 隧道接口给原始报文添加GRE头部,然后根据配置信息,给报文加上IP头。该IP头的源地址就是隧道源地址,IP头的目的地址就是隧道目的地址。

  3. 封装后的报文在IPv4网络中进行普通的IPv4路由转发,最终到达目的地R2。

  4. 解封装过程和封装过程相反,这里不再赘述。

GRE Over IPSec

GRE的主要缺点是不支持加密和认证,数据的安全传输得不到很好的保障。 

IPSec的主要缺点是只支持IP协议,且不支持组播。 

可通过部署GRE Over IPSec结合两种VPN技术的优点。

 

  • 31
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值