IPSec VPN的NAT穿越技术与仿真实验

2018-06-29 02:01薛江波胡曦明马苗李鹏
网络空间安全 2018年2期
关键词:嵌套数据包密钥

薛江波 胡曦明 马苗 李鹏

摘 要:针对IPSec VPN如何实现NAT穿越的问题,基于H3C Cloud Lab平台,通过仿真实验对采用RSIP、NAT-T和NAT前置等现有三种主流IPSec VPN的NAT穿越技术进行了性能分析。在此基础上,提出了一种基于IPSec隧道多层嵌套的解决方案并进行了仿真实验。结果表明该方案具有安全性完备、协议设计一体化以及实现复杂度低等特点,为VPN的NAT穿越提供了一种新的技术途径。

关键词:IPSec;虚拟专用网;隧道;地址转换;多层嵌套

中图分类号:TP393 文献标识码:A

Simulation of NAT traversal yechnique based on IPSec VPN

Abstract: Aiming at the problem of NAT traversal of IPSec VPN, based on the H3C Cloud Lab platform, the performance of NAT traversal using three mainstream IPSec VPN, such as RSIP, NAT-T and NAT preamble, is analyzed through simulation. Based on this, a solution based on multilayer nested IPSec tunnels is proposed and simulated. The results show that the scheme has the characteristics of complete security, protocol design integration and low complexity of implementation, and provides a new technical approach for NAT traversal of VPN.

Key words: IPSec; VPN; tunnel; NAT; multi-layer tunneling

1 引言

VPN(Virtual Private Network,虚拟专用网)是目前广泛采用的一种在广域网环境下实现园区网互联的解决方案,其中基于IPSec(Internet Protocol Security)构建VPN的技术[1],一方面由于IPSec引入了完整的安全机制,包括加密、认证和数据防篡改功能,另一方面IPSec协议通过包封装技术在私网间搭建隧道可有效解决私网数据通过公网跨区域传输问题,因而在校园网[2]、远程教育[3]、金融行业[4]、即时通信[5]等多个领域得到大规模应用。

在实际应用中,由于私网公网之间的地址转换(Network Address Translation, NAT)会改变IP数据包头部,从而使得IPSec隧道构建机制与NAT不能兼容,由此造成IPSec VPN的适用场合受限。因此,IPSec VPN的NAT穿越技术[6]作为VPN的关键技术得到了广泛关注和深入研究。

2 发展现状

在基于IPSec实现VPN的技术中,IPSec协议起到的关键作用有保护IP包首部和载荷数据的完整性,这意味着IPSec禁止任何对整个IP包数据的修改。与之对比,NAT处理过程则恰恰是通过修改IP数据包的首部和载荷数据中携带的传输层端口号等信息,来实现私网地址和公网地址之间的转换。目前,针对NAT环境下的IPSec VPN部署问题已形成了较为成熟的解决方案。

2.1 技术方案

(1)基于特定域IP (Realm Specific IP,RSIP)的穿越技术[7]

IPSec与NAT之所以有冲突,是因为在协议最初设计的时候就没有考虑到两种技术之间的兼容性,要想彻底消除它们之间的冲突应当从协议设计角度去分析,对于IPSec可以更改其协议设计从而从根源上解决冲突或者对于NAT则可以使用其替代协议RSIP,这种解决方案能够全面解决IPSec与NAT的兼容问题,但是它的实现则相对复杂,而且需要对原有设备做较大改动。

(2)基于NAT-T(NAT Traversal)的穿越技术[8]

使用UDP封装ESP(Encapsulating Security Payload)载荷,UDP提供了最小标准的封装,在ESP头之前再加一个8字节的UDP头,相较于TCP,UDP是面向无连接的协议,避免了引入TCP会对IPSec造成负面影响。这种方法不需要對Internet密钥交换协议(Internet Key Exchange, IKE)或者IPSec做修改,实现也最为简单。

(3)基于NAT前置的穿越技术[9]

对于站点到站点之间建立IPSec VPN的情况,在工程中可以在同一设备中实现IPSec和NAT,并且将NAT放在IPSec之前处理,就可以避免两种技术的冲突。但是,这种解决方案有它的局限性,如果超出了它的适用范围,则这种方案就不再适用了。

2.2 仿真实验

H3C Cloud Lab是H3C推出的一款推出的界面图形化全真网络设备模拟软件,用户可以通过该平台实现多种型号网络通信设备的组网、配置和调试,与Packet Tracer等应用软件型模拟实验工具不同,H3C Cloud Lab可以在仿真环境下实现完整的数据通信过程。

在上述RSIP、NAT-T和NAT前置等现有三种主流IPSec VPN的NAT穿越技术中,NAT-T技术由于实现相对简单因而得到广泛应用。为深入开展研究,本文基于H3C Cloud Lab对NAT-T进行仿真实验,实验拓扑图如图1所示。

在设备RTA处抓取报文,图2为IKE SA(ISAKMP Security Association)第一阶段协商报文,在此阶段两端设备均使用UDP500端口进行协商,图3为IKE SA第二阶段协商报文,在NAT环境中IPSec SA(IPSec Security Association)的协商以及后续数据流量的传输均使用UDP4500端口。根据抓包结果分析可知使用NAT-T技术报文封装格式如图4所示。

需要说明的是,实验中没有特殊说明的地方IKE均指的是IKEv1。在这个实验中也可以使用IKEv2协商方式进行,IKEv2[10]与IKEv1都是使用UDP 500端口进行IKE SA和IPSec Sa协商,不同的是后续流量IKEv2均使用UDP 4500端口传输,即用NAT-T技术传输,因此若使用IKEv2协商方式则不用考虑NAT环境,也简化了部署步骤。

2.3 性能分析

(1)处理时延长。需要借助NAT-T技术,增加了设备处理的时间。

(2)安全性不够完备。使用野蛮模式协商IKE SA过程中响应者的身份无法得到有效保护。

(3)功能受限。野蛮模式提供的功能非常有限[11]。

3 基于IPSec隧道多层嵌套的NAT穿越技术

常见的NAT穿越方案可以满足大多数企业的需求,但是对于安全性需求更高的企业来说常见的NAT穿越方案则不足以满足需求,需要一种更加可靠安全的NAT穿越方案。为此,本文提出一种基于IPSec隧道多层嵌套[12]的解决方案并进行仿真实验。

3.1方案设计

这种方案的思路是,首先在两端外部网关出口端搭建IPSec隧道以保证内部网关之间可以正常建立外层IPSec隧道,其次在内部网关之间建立内层IPSec隧道,最后通过嵌套隧道实现IPSec VPN,并且两个私网数据能够正常通过两端NAT设备。

3.2 技术实现

针对上述方案设计,使用IKE协商IPSec VPN,在H3C Cloud Lab仿真平台上搭建实验环境并完成相关配置(如表1和表2所示),组网方案如图5所示。

3.2.1 配置设备NAT_A

设备NAT_A IPSec安全策略配置命令如表1所示。

3.2.2 配置设备RTA

设备RTA IPSec安全策略配置命令如表2所示。

配置完成后分别在NAT_A以及RTA设备对应接口启用IPSec安全策略即可。

3.3 验证与分析

3.3.1 发送端处理流程

使用多层隧道嵌套技术发送端设备的处理过程及原理如图6和图7所示。

(1)当数据包到达设备RTA时,检测该数据包目的IP,当该数据包的目的IP为隧道1对端IP时则引起IPSec隧道1的兴趣流,对该数据包进行封装后进入隧道1并转发至设备NAT_A,否则正常转发该数据包。

(2)当数据包到达设备NAT_A时,检测该数据包的目的IP,当数据包的目的IP为隧道2对端IP时引起IPSec隧道2的兴趣流,对该数据包进行封装后将数据包转发至公网,最终传输到对端设备,否则正常转发该数据包。

3.3.2 多层隧道嵌套实现

由于IPSec隧道1安全协议采用的是AH协议,因此在数据部分并没有加密,而是在原始IP头之前添加了一个AH认证头。

根据图8可知IKE协商IKE SA以及IPSec SA过程[13]。

(1)阶段1工作模式选取主模式,主模式适用于IKE/ISAKMP交换的阶段1(ISAKMP身份保护交换),总共使用了六条消息、三个步骤(请求/響应),最终建立起IKE SA。其中,主模式的认证方式为预共享密钥的认证,预共享密钥的主模式交换如图14所示。

(2)阶段2交换模式为快速模式,快速模式依附于阶段1的交互,其自身并不是一个完整的消息交互过程。作为SA协商过程的阶段2,快速模式交换用于非ISAKMP SA(如AH、ESP)共享策略的协商以及密钥材料的衍生。

(3)经过阶段1、阶段2后IPSec SA就已经协商成功,即IPSec隧道已经搭建起来。

分析图9和10所示,抓包结果可以得出IPSec多层隧道嵌套的报文封装结构如图11所示。

3.3.3 实验总结

仿真实验表明,基于IPSec隧道多层嵌套的解决方案能够实现IPSec VPN的NAT穿越,该方案的优点是IKE协商方

式可以不使用野蛮模式(积极模式),在协商过程中既可以保护发起者身份信息又可以保护响应者信息,其中隧道1使用AH协议可以认证整个数据包,隧道2采用ESP协议既有加密又有认证,具有更完备的安全性。这种隧道嵌套方式只使用了IPSec技术,没有引入其它实现VPN的协议,协议体系更加一体化,因而在工程实现上更加简捷,实现的复杂度低。

4 结束语

本文从常见的NAT穿越方式出发,对NAT-T穿越方式进行仿真实验并作了性能分析,在此基础上提出使用多层隧道嵌套方式来解决IPSec与NAT的不兼容问题并进行仿真实验。结果表明,本方案在性能上可以有效解决IPSec与NAT兼容问题,并且可以充分保障远程企业内部网络通信数据的安全。

采用隧道嵌套技术虽然可以解决许多实际应用问题,但是这种方式对设备提出了较高的要求,并且对设备的运算和数据传输承载能力提出了更高的要求,隧道嵌套技术仍然存在缺陷。

基金项目:

(1)陕西省教育科学“十三五”规划2016年度课题:陕西高校面向大众创业万众创新的教育实践支撑平台研究(SGH16H024)。

(2)中央高校基本科研业务费专项资金资助项目:面向教育云的数据中心网络关键技术研究(GK201503065)。

(3)现代教学技术教育部重点实验室开放课题资助项目:大学计算机综合能力培养生态链及其关键技术研究(SYSK201501)。

(4)陕西师范大学非师范拔尖创新人才培养计划2017年度项目。

参考文献

[1] 王凤领.基于IPSec的VPN技术的应用研究[J].计算机技术与发展,2012,22(09):250-253.

[2] 刘劲松,李超,柴文磊.IPv6校园网中IPSec VPN安全分析与应用研究[J].信息安全与技术,2011(06):40-41.

[3] 朱祥华.VPN技术在企业远程办公中的研究与应用[J].信息安全与技术,2011(01):35-38.

[4] 林涛.IPSec VPN在银行无线网络中的應用[J].中国金融电脑,2009(01):62-65.

[5] 黄超,赵建平,韦勇钢.Netlink消息通信机制的IPSec VPN实现研究[J].网络空间安全,2017,8(Z5):41-44.

[6] 张永平,万艳丽.VPN网络中IPSec穿越NAT的研究[J].计算机应用与软件,2008(01):250-252.

[7] 洪帆,王岭,朱赛凡.利用RSIP解决IPSEC和NAT的不兼容问题[J].计算机应用,2003(S2):1-3.

[8] 李云钊.NAT-T实现IPSEC穿越NAT的全面分析[J].网络安全技术与应用,2005(08):50-52.

[9] 何光文.IPSec与NAT在企业网中的共存模式[J].科技风,2015(02):112.

[10] 陈卓,张正文.Internet密钥交换协议IKEv2研究[J].计算机应用与软件,2008(02):269-270+280.

[11] 何宝宏,田辉.IP虚拟专用网技术(第二版)[M].北京:人民邮电出版社,2011.

[12] 曹炯清. IPSec与NAT冲突问题隧道嵌套解决方案研究[J]. 信息安全与技术,2015,6(01):35-39.

[13] 王昱白,汪海航,谭成翔.基于IPSec的VPN密钥交换(IKE)协议的分析与实现[J].计算机工程,2003(01):62-63+99.

猜你喜欢
嵌套数据包密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
满足法规要求的车载终端数据包加密方案分析
C#串口高效可靠的接收方案设计
BitLocker密钥恢复二三事
嵌套交易如何实现逆市盈利
多参数最大、最小值嵌套问题的研究
巧用嵌套交易实现逆市盈利
表格在网页中的灵活运用
网络数据包的抓取与识别