论文部分内容阅读
IPSec已经成为一种成熟的信息安全技术,基于IPSec的信息安全产品已经被广泛地用来保护信息传输的安全。NAT是一个IETF(Internet Engineering Task Force,Internet工程任务组)标准,它允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。它是一种把内部私有网络地址转换成合法网络IP地址的技术。NAT技术不但是提高IP地址使用效率的好方法,而且NAT技术的另一个很有用的特性是能让多台计算机共用一个IP地址,这样NAT网关可以起到屏蔽内部网络和公用网络的作用,从而增强了系统的安全性。现在人们可以经常在防火墙或者网关、路由器上看到NAT技术的应用,但由于目前IPSec和NAT技术的不兼容,使得这两种优秀的技术无法同时在网络中并存。本文在阐述了IPSec(VPN)和NAT技术原理的基础上,对IPSec和与NAT协同工作问题进行了研究。因为IPSec技术对数据包进行加密和数字签名操作,将IP地址和端口号进行了变形或隐藏;而NAT的功能决定了NAT要读取经过它的数据包的TCP/UDP端口和IP地址并对他们进行修改映射,因此如何让在NAT后面的IPSec产品进行正常的安全通信是一个重要的问题,本文以NAT穿越方案的总体架构为基础,对数据封装格式进行改进和相关协议的功能进行扩充,形成了一套完整的NAT穿越解决方案。本文结合实际需求,在不需要对现有NAT设备进行重新部署的前提下,提出了使用UDP数据封装和IKE修改相结合的方法以完成IPSec和NAT技术的融合。为了使IKE能够支持NAT穿越,必须对原IKE进行功能上的扩充和部分修改。本文分两个阶段对主模式和快速模式进行了修改。对于主模式的修改,给出了Vendor ID负载的处理过程;引入了2次HASH验证,给出了探测通信双方是否存在NAT的算法;一些NAT设备不改变源端口500,即使NAT后面有多个客户机,这些NAT设备通过Cookie值而不是源端口完成与后面多个客户机的映射,这样IKE发现NAT设备的能力就会受到影响,本文给出了NAT端口转换的一种方法。对于快速模式的修改,通过在SA载荷中增加字段的方法来进行数据包(UDP)封装方式的协商;在封装方式协商的过程中,通过使用NAT-OA数据包,使得通信双方即使经过了NAT转换,依然可以进行正确的校验,解决了NAT无法更新上层校验和的问题。