论文部分内容阅读
随着网络技术的迅速发展,IPSec和NAT已经被广泛应用于各个领域。IPSec目前已经成为一种成熟的信息安全技术,用来保护传输数据的安全,确保发送方的真实性和发送数据的完整性与机密性。基于IPSec的VPN主要是用来远程访问公司的内部网络,确保数据能够进行安全传输,同时它的可操作性和低成本使它被越来越多的企业使用。解决IP地址短缺的根本方法是将IPV4的地址转换成IPV6的地址,但是在IPV4向IPV6的转换过程中,还有很长一段过渡期,在这个过渡期,NAT解决了这一难题。NAT主要是用做网络地址转换,允许私有网络中的许多主机共用一个公共IP地址访问Internet。这样的话,既节约了公共IP地址,又对私有网络结构起到隐藏作用,保护了私有网络的安全。
当IPSec和NAT同时存在网络中的时候,IPSec要求保证数据包不被修改,安全地到达目的地,而NAT是通过修改数据包的IP地址和端口号来使许多主机公用一个IP地址。当在两端建立虚拟专用通道之后,如果被传输的数据包经过了NAT设备,NAT就会对该数据包的IP地址和端口号进行映射转换。当接收端收到该数据包之后,接收端通过IPSec认证就会认为该数据包被篡改了,将它丢弃,导致网络不能正常通信,所以说IPSec和NAT是不兼容的,这就大大限制了二者的应用范围。本文通过在详细介绍了VPN、IPSec、NAT的原理及应用的基础上,分析了IPSec和NAT不兼容的原因。为了能让二者共同工作,我们找出现有的几种解决方案,对这已有的解决方案进行介绍和比较。
本文通过对现有的IETF提出的基于UDP封装的IPSec穿越NAT方案进行分析,针对该方案的不足,提出两处改进的地方。一是对现有的NAT穿越方案中的IKE协商进行扩展和完善:探测NAT的时候对Vendor ID负载进行两次HASH运算,以免造成NAT不存在的情况下也对IPSec数据报进行UDP封装;二是封装IPSec数据包的时候,用UDP封装整个IPSec数据报:将主机的IP地址也一起封装,这样就保护了原IP地址和端口号,也就解决了AH认证和传输模式下的ESP的校验和问题。但是这样也会带来一些弊端,例如增加了带宽,使信道利用效率降低。
我们将改进的部分加入到现有的UDP封装方案中,通过实验对NAT穿越的部分进行验证。并对该方案进行性能分析,证明了该方案的可行性。但是由于UDP封装方案暴露了内部网的IP地址,所以安全问题也是一个要考虑的问题,在有需要高度防护的条件下,需要增加一些额外的安全措施。