基于NAT-PT的分段IPSec隧道建立技术

时间:2022-09-08 09:40:09

基于NAT-PT的分段IPSec隧道建立技术

摘 要:NAT-PT技术解决了IPv4/IPv6之间的通信问题,但是通信过程中的安全却没有得到保证。对基于NAT-PT的IPv4/ IPv6网络通信原理及存在问题进行分析,并进行了IPSec安全协议的应用实施分析后,提出一种分段的IPSec安全隧道建立技术,实现在NAT-PT特殊网络环境下部署IPSec安全隧道从而保证通信数据的安全。

关键词:NAT-PT; IPSec隧道; 转换网关; IKE

中图分类号:TP393.08 文献标识码:a DoI: 10.3969/j.issn.1003-6970.2012.02.046

The establishment of technology based on the IPSec tunnel section of the NAT-PT

GU huan(Jiangsu Automation Research Institute, Jiangsu Lianyungang 222006)

【Abstract】Nat-Pt technology to solve the communication problems between the IPv4/IPv6, but the security of the communication process but not guaranteed. analysis of Nat-Pt IPv4/IPv6 network communication principles and problems,and after the application of the IPSec security protocol implementation analysis,Proposed a sub-IPSec tunnel establishment of technical, the Nat-Pt special network environment deploying IPSec tunnel in order to ensure the safety of the communication data.

【Key words】Nat-Pt; IPSec tunnel; Conversion Gateway; IKe

0 引 言

NAT-PT技术是边缘网络过渡的主要解决方案,主要用于解决IPv4/IPv6网络之间的直接通信问题,但是不能防篡改、不能提供认证及加密,缺乏安全性。IPSec协议可应用于IPV6网络并提供安全保证。但是在NAT-PT环境下不能直接应用。因此,需要在NAT-PT环境下采用合理的部署方案来实现IPSec VPN,从而保证数据的安全。

1 概述

NAT-PT技术主要利用IPv4/IPv6 NAT进行IPv4地址和IPv6地址的转换,与SIIT的IP协议转换结合实现协议的转换,同时采用DNS-ALG技术实现IPv4/IPv6间的域名解析和寻址[1]。

(1)地址转换:NAT-PT网关设有IPv4地址池,需要将IPv6地址转换为IPv4地址时从中动态获取一个IPv4地址,把IPv6源地址转换成该IPv4地址并提取IPv6目的地址中的主机地址部分作为IPv4的目的地址,对包头校验和重新计算,在地址转换映射表中记录该地址转换信息。当需要把IPv4地址转换成IPv6地址时,则根据地址转换映射表中的地址转换记录把IPv4地址转换成相应的IPv6地址。

(2)协议转换:NAT-PT的协议转换基于SIIT协议,SIIT定义了IPv4/IPv6包头转换的方法。在IPv4网络中IPv4包头的标志字段中有一个不分片DF位,可根据是否要进行数据包分片的需要来对该位进行确认设定。在IPv6网络中数据包的分片在主机上完成,IPv6路由器不会进行包的分片,因此在进行IPv4/IPv6包头转换过程中当DF为0或IPv4包己被分片时需要将分片扩展头加在IPv6包头后。

(3)DNS-ALG:在纯IPv4网络中,其网络节点只能发送和接收IPv4地址类型的IP包;同样纯IPv6网络中的节点也只能发送和接收IPv6地址类型的IP包。因此在纯IPv4主机和纯IPv6主机之间无法直接通过IP地址进行通信。由于IPv4和IPv6具有相同的域名结构,IPv4和IPv6可以使用相同的域名空间,因此可以利用域名系统在应用层上屏蔽IP地址,通过DNS-ALG进行IPv4地址与IPv6地址之间的映射从而实现纯IPv4主机和纯IPv6主机之间的直接通信。

2 现有问题分析及解决方法

解决NAT-PT网络的安全问题主要依靠在NAT-PT网络中部署IPSec安全协议。IPSec协议为IP层通信提供各种安全服务,这些安全服务包含访问控制、数据完整性、数据源验 证、抗重播保护和机密性等等。这些目标是通过信息流安全协议AH(验证头)和ESP(封装安全载荷)以及加密密钥管理程序和协议来实现的。它们既可以用来保护一个完整的IP报文,也可用来保护某个IP报文的上层协议。IPSec的实现分为两种不同的模式:传输模式和隧道模式,它们

提供了上述两个方面的保护。IPSec协议要求隧道两端的IP地址必须是同类型的,不能一端是IPv4而另一端是IPv6,因此需要让IPSec穿越NAT-PT网关,在NAT-PT两端网络节点之间建立起IPSec安全隧道。

NAT-PT转换网关对IPv4/IPv6数据报文进行地址映射和协议转换将会导致应用IPSec协议出现兼容问题,主要体现在IPSec协议中的AH、ESP、IKE等协议上:NAT-PT对报文的更改会影响到AH协议,使得AH协议中的IP地址认证失效;ESP协议对数据包的加密会影响NAT-PT计算数据包的校验和,导致正确的数据包被误丢弃;IKE协议以IP地址或域名作为认证标识对SA进行动态建立和维护,NAT-PT转换网关可能会对HASH-I和HASH-R中的标识进行修改,而该修改消息被加密,在协商过程中终将导致IKE协商失败[2]。

现有消除NAT-PT和IPSec兼容问题并让IPSec穿过NAT-PT网关的实施方法为:在IKE协商阶段通过新增NAT-PTD载荷实现NAT-PT的发现机制;在IPSec的通信中,检测到NAT-PT网关后,用伪IP头替换原有IP头计算AH验证数据,以此解决IPSec与NAT-PT的兼容性问题[3]。现有解决方案存在以下缺点:用伪IP头替换原有IP头计算的处理方式增加不同数据类型的算法处理时间;在IKE协商模式阶段增加了通信载荷,影响其传输带宽;新的AH算法增加了算法复杂性;IKE协商数据包穿过NAT-PT时因为包的源端口可能会被修改,所以要增加对包的NATPT-OA封装。以上都需要对标准IKE协商进行改进,增加了系统复杂度。

3 分段协商处理

在NAT-PT网络环境下,NAT-PT和IPSec的兼容性问题实质在于转换网关两侧是两个不同协议的网络。为了解决NAT-PT和IPSec的兼容问题,提出IKE分段协商处理方法:在转换网关和IPv6/IPv4节点之间分别建立IPSec隧道进行保护。保护通路不包括NAT转换网关,不需考虑IPSec的AH协议及ESP协议同NAT-PT的兼容性,适用于所有类型的NAT-PT。

分段协商处理研究场景如图1所示:IPv4网络中IPv4主机和IPv6网络中IPv6主机借助NAT-PT转换网关中的DNS-ALG进行双向访问。在NAT-PT网络中建立IPSec隧道前,首先要对通信路径中的NAT-PT转换网关进行检测,若存在NAT-PT转换网关则通信双方进行IKE SA协商时会因为转换网关对地址等报文信息的改变而失败。在此要根据NAT-PT网络的特点对IKE协议进行适当改进,使得通信双发在首次IKE协商过程中将转换网关的信息发送给协商发起方,在协商失败后由发起方和转换网关向转换网关和响应方重新发起IKE协商,重新协商过程和正常IKE协商一致,协商完成后就在发起方、转换网关、响应方之间分别建立起IPSec安全隧道,通信双方的数据包就能在转换网关两端的安全隧道中进行传输。

IPSec分段隧道建立中的分段协商处理分为三个阶段:1)网关检测和协商准备阶段,NAT-PT网关检测到发送方的数据包后,记录响应方的IP地址,并将消息转发至响应方,等待响应。响应返回的信息经过转换网关时网关将包含网关IP地址的IP GWI信息附加其后,发给发送方。2)协商进行阶段,由发送方和NAT-PT网关分别发起IKE协商请求,在NATPT网关和IPv4/IPv6之间分别建立IKE SA,分段协商过程和IPSec原有过程相同[4]。3)协商成功阶段,IKE SA协商成功后,IPSec就能在NAT-PT/IPv4、NAT-PT/IPv6之间分段建立安全隧道了。

图1 NAT-PT转换网关通信过渡场景

4 IPSec分段隧道建立实施

因为IPSec隧道不能在IPv4/IPv6之间直接建立,故在此提出IPSec隧道的分段建立技术,即在NAT-PT网关和两端网络节点之间分别建立隧道,将完整的IPSec安全隧道在NAT-PT两端分两段来实施,这样可以避免修改AH算法及增加通信载荷等,可以大大降低系统复杂性[5]。由于DNSALG的存在,IPv4主机向IPv6主机发起连接的情况和IPv6主机向IPv4主机发起连接的情况类似,因此这里只分析IPv4主机向IPv6主机发起通信的情况。假设IPv4网络节点为A,IPv6网络节点为B,NAI-PT转换网关为G,下面是通信具体步骤:

(1)如果IPv4节点A只知道IPv6节点B的域名地址,那么在通信前首先要获取IPv6节点B的IPv4映射地址,过程如图2所示:首先由IPv4节点A向DNS-ALG请求IPv6节点B的IPv4映射地址,DNS-ALG转发请求至DNS服务器; DNS服务器响应IPv6网络节点B的IPv6地址;DNS-ALG收到DNS服务器响应的IPv6地址后,将地址发给NAT-PT网关G,向G动态申请IPv4地址;网关G查询IPv4地址池后获得IPv4地址并建立地址转换表;G将地址返回给DNSALG;DNS-ALG将获得的IPv6节点B的IPv4映射地址作为查询结果响应给IPv4节点A,这样IPv4节点A就获取到了IPv6节点B的IPv4映射地址。

(2)IPv4节点A向转换网关G发起通信请求,与IPv6节点B进行通信,具体流程如图3所示:G接收A发送的通信请求信息,从信息中提取源地址、目的地址、IPSec参数等信息;G与A根据通信请求信息协商出安全策略SP对SP1,写入网关G与IPv4节点A各自的安全策略库SPD;G根据目的地址查询预建立的地址转换表,获取数据包新的源地址和目的地址,G根据收到的通信请求信息生成新的通信请求信息,发送给B,请求建立IPv6域的SP对;B收到新的通信请求信息后,根据请求与网关G生成在IPv6域节点B与NAT-PT网关之间建立IPSec隧道所需的SP对SP2,写入IPv6节点B和G各自的SPD,这样就完成了IPv6域的SP建立;A、G、B根据SP1和SP2分别启用IKE协商获得IPv4节点A与网关G之间的第一对SA(SA41、SA42)及网关G与IPv6节点之间的第二队SA(SA61、SA62)。至此,转换网关两侧分段的IPSec安全隧道建立完成。

(3)分段的IPSec隧道建立完成后就可以开始进行正式的数据通信,IPv4节点A用SA41加密通信数据发送至网关G;网关G用SA41解密获得通信数据后用SA61加密通信数据,然后发送至IPv6节点B;B用SA61解密获得通信数据,至此IPv4节点A到IPv6节点B的通信完成。B响应A的通信数据采用SA62加密后发出;网关G收到数据包后用SA62解密IPSec包,再用SA42对数据进行加密后继续发往A;数据包到达A后用SA42解密数据包即得到回应数据[6]。至此,IPv4节点A发起的一次穿过NAT-PT的IPSec安全隧道通信就全部完成了。

图2 IPv4节点获取IPv6节点映射地址流程图

图3 IPv4节点发起的IPSec隧道安全通信流程图

5 结束语

通过分析NAT-PT原理及现有问题,提出了在NAT-PT网络上部署IPSec协议的解决方法,解决了IPSec和NAT-PT兼容性的问题。提出了分段IKE协商及分段IPSec安全隧道建立技术,在不影响NAT-PT转换网关性能的基础上,分别在IPv4主机和NAT-PT转换网关、IPv6主机和NAT-PT转换网关之间建立VPN安全隧道,从而提升NAT-PT转换网关的安全性,解决了数据被篡改和重放攻击问题,达到保证网络通信安全的目的。

参考文献

[1] 余冬梅,廖永刚,张秋余.IPv4网络到IPv6网络迁移技术研究[J].计算工程与科学,2005,27(7):27-29.

[2] 张志龙,杜学绘,钱雁斌. NAT-PT和6to4协同工作机制研究[J].计算机系统应用,2008,29(9):46-49.

[3] 赵海滨,高纪明,唐鼎等. IPv6过渡机制分析与6to4Tunnel的实现[J]计算机工程,2004,30(9):103-105.

[4] 孙为 王伟 韩合芹等. 6to4隧道穿越NAT方案的研究与设计[J].兰州理工大学学报,2007,33(3):108-111.

[5] 华山,戴勇. NAT-PT技术在IPv4和IPv6互联中的实现[J].电子设计工程,2009,17(9):99-100

[6] 张志龙,杜学绘,钱雁斌. 增强的NAT-PT和IPSec兼容解决方案[J].计算机工程, 2008,34(22):148-152.

上一篇:基于整数小波变换的遥感超光谱图像无损压缩 下一篇:二项分布熵的性质