龙源期刊网 http://www.qikan.com.cn
IPSec与NAT冲突问题隧道嵌套解决方案研究
作者:曹炯清
来源:《信息安全与技术》2015年第01期
【 摘 ; 要 】 IPSec与NAT技术在现今计算机网络中都是广泛应用的技术,但IPSec与NAT之间存在着协议冲突问题,文章在分析IPSec与NAT之间冲突的原因后,提出使用GRE隧道嵌套IPSec隧道的方法,并通过实例进行说明,对GRE隧道嵌套IPSec隧道的数据传输效率进行分析,最终实现隧道嵌套解决IPSec与NAT冲突问题。
【 关键词 】 IP安全协议;网络地址转换;通用路由封装;认证首部;封装安全负荷;Internet密钥交换;虚拟专用网
【 中图分类号 】 TP393.08 ; ; ; ; ; ; 【 文献标识码 】 A Tunnel Nested Solution Research to Solve IPSec and NAT Conflict Cao Jiong-qing
(Guizhou Vocational Technology College of Electronics & Information ,Department of Computer Science ; GuizhouKaili ;56000)
【 Abstract 】 IPSec and NAT technology in modern computer network is widely applied technology, But there is conflict in protocol between IPSec and NAT, Based on the analysis of conflict reason between IPSec and NAT, This paper proposed to use the tunnel nested technology to solve IPSec and NAT conflict , And then it is explained through an example , Through the data transmission efficiency analysis , at last to solve IPSec an NAT conflict with tunnel nested technology.
【 Keywords 】 IPSec; NAT; GRE; AH; ESP; IKE; VPN 1 ; ;引言
在现今计算机网络中,网络地址转换NAT(Network address translation)技术和IP安全协议IPSec(IP Security Protocol)技术已非常普及,其中NAT技术主要用于解决IPV4版本中IP地址匮乏的问题,同时对企业内部网络的IP地址进行了隐藏,有效地保护企业内部网络,而IPSec技术在企业内部网络远程互联,通过IPSec隧道实现企业内部网络的扩展,构建虚拟专用网VPN(Virtual Private Network)中成为最常用技术。
龙源期刊网 http://www.qikan.com.cn
但NAT技术与IPSec技术存在着底层协议冲突的问题,现今主要采用IPSec OVER TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)封装法、RSIP(Realm-Specific IP,领域特定IP)等方法解决NAT与IPSec冲突的问题。
本文提出隧道嵌套的思路,并通过通用路由封装GRE(Generic Route Encapsulation)隧道嵌套IPSec隧道的实例解决NAT与IPSec冲突的问题。 2 ; ;NAT、IPSec和GRE 2.1 ;NAT
由于现行IP地址标准版本4的限制,Internet面临着IP地址空间短缺的问题,NAT不仅较好地解决了IP地址不足的问题,而且还能够有效地避免来自企业网络外部的攻击,隐藏并保护网络内部的计算机。
NAT功能通常被集成到路由器、防火墙、单独的NAT设备中实现,现在比较流行的网络操作系统或代理服务软件也有着NAT的功能。
NAT技术实现的类型主要有三种:①SNAT(Static NAT,静态NAT)用于将某个私有IP地址对应某个公网IP地址,对应关系一对一;②DNAT(Dynamic NAT,动态NAT)用于将多个公网IP地址对应于多个私有IP地址,对应关系多对多,通常企业申请有一段公网IP地址段;③NAPT(Port NAT,端口NAT)用于将多个私有IP地址通过端口映射的方法对应于一个公网IP地址,对应关系多对一,采用动态端口映射时主要用于企业内部私有IP地址访问Internet,采用静态端口映射时主要用于Internet访问企业内部服务器。
NAPT是目前NAT技术中最常用的技术,也是主要与IPSec产生冲突的NAT类型。 2.2 ;IPSec
IPSec是一种开放标准的框架结构,通过安全协议以确保在IP网络上进行保密而安全的通讯,IPSec是当今实现虚拟专用网VPN的主流技术之一,IPSec协议所构建的IPSec隧道通常可在路由器、防火墙、VPN网关等设备中实现。IPSec协议主要包括安全协议认证首部AH(Authentication Header)、安全协议封装安全负荷ESP协议(Encapsulating Security
Payload)、Internet密钥交换IKE协议(Internet Key Exchange)和用于网络认证及加密的一些算法等。
IPSec工作的时候有隧道模式和传输模式两种。
在隧道模式下,IPSec对原来的整个IP数据包进行封装和加密,隐蔽了原来的IP首部,而在传输模式下,IPSec只对原来IP数据包的有效数据进行封装和加密,原来的IP首部不加
龙源期刊网 http://www.qikan.com.cn
密传送。在实际进行IP通信时,AH协议和ESP协议可以根据实际安全需求同时使用这两种协议或选择使用其中的一种。具体的封装情况如图1所示。
IPSec如果安全协议使用AH,工作模式为传输模式或隧道模式,则可以对整个IP数据包进行安全认证。IPSec如果安全协议使用ESP,工作模式为传输模式时,可以对原有的数据进行加密,并且对包含了ESP首部和原有数据的部分进行安全认证,工作模式为隧道模式时,可以对原有的IP首部和数据进行加密,并且对包含了ESP首部、原有的IP首部和数据进行安全认证。
IPSec工作过程分为两个阶段,第一阶段建立起IKE SA(IKE安全关联),双方商定如何保护以后的通讯,通信双方建立一个已通过身份鉴别和安全保护的通道,此SA将用于保护后续的协议SA的协商过程,第二阶段建立起针对其安全协议的IPSec SA(IPSec安全关联),此SA将被相应的安全协议用于数据的交换。
IPSec可采用的加密算法有数据加密标准DES(Data Encryption Algorithm,密钥长度64位,其中实际长度56位,8位用于奇偶校验)、国际数据加密算法IDEA(International Data Encryption Algorithm,密钥长度128位)、高级加密标准AES(Advanced Encryption Standard,密钥长度支持128位、192位、256位)、三重数据加密标准3DES(在DES基础上,进行三重加密)。
IPSec可采用的报文摘要算法有报文摘要算法版本5MD5(Message Digest Algorithm,产生128位的报文摘要)、安全散列算法SHA(Secure Hash Algorithm,产生160位的报文摘要)、散列式报文认证码HMAC(Hash-based Message Authentication Code,摘要长度取决于所用散列函数)。
IPSec可采用的身份验证方法有预共享密钥(Pre-Shared Key)、RSA签名(RSA sign)、RSA实时加密(RSA encrypt)。 2.3 ;GRE
GRE协议是对某些网络层协议的数据包进行封装,使这些被封装的数据包能够在另一个网络层协议中传输。GRE隧道的特点是配置简单,但缺乏安全机制。GRE采用了隧道Tunnel技术,是VPN第三层隧道协议。Tunnel是一个虚拟的点对点的连接,并且在一个Tunnel 的两端分别对数据包进行封装及拆封,GRE数据封装如图2所示。
GRE协议的优点是作为一个标准协议支持多种协议和多播、能够用来创建弹性的VPN、支持多点隧道、能够实施QOS等,但GRE的缺点也非常明显,缺乏加密机制、没有标准的控制协议来保持GRE隧道、隧道很消耗设备的CPU使用率、出现问题要进行调试很困难、最大传输单元MTU和IP分片存在问题。 2.4 ;IPSec与NAT冲突