无效的校验和如何解决决NAT对UDP校验产生的影响

NAT(Network Address Translation)地址转换是为了缓解日益紧張的Internet公网IP地址匮乏的问题而采用的一种将内部私有网络IP地址映射为外网IP地址的技术标准
主要分为静态NAT,动态NAT和网路地址端口转换NAPT三种类型NAPT的基本工作原理:NAT设备接收到内部主机的数据包,将该包的内部IP地址和TCP/UDP端口号转换为自身的公网IP地址和特定的端口号然后将数据包送往目标主机;与此同时,将此映射关系存表当NAT收到目标主机的应答后,查表修改目标主机IP地址和端口号并回送给相应的客户端。

IPSec提供了端到端的IP通信的安全性但在NAT环境下对IPSec的支持是有限的。从IPSec的角度上说IPSec要保证数据的安全,因此要采用加密和数据校验从NAT角度看,为了完成地址转换一定会改变其IP地址当NAT改变了某个包的IP地址或端口号时,它通常要更新TCP或UDP的校验和结合IPSec封装的几种模式,NAT和IPSec存在很哆矛盾和不兼容于是有了NAT穿越的概念。下面结合IPSec的封装模式和NAT概念来分析NAT和IPSec的交互情况

1. 从NAT与IPSec封装方式交互性考虑:

AH类型的校验是从IP头開始的,而NAT为了完成地址转换一定会使IP改变,所以AH类型不支持NAT

ESP 封装的传输模式:
虽然ESP封装在加密和完整性校验时并没有把IP头部包括在內,但是对于ESP的传输模式需要对TCP/UDP校验和进行加密,而NAT如果改变了某个包的IP地址或者端口号都会使这个校验和造成变化所以对于传输模式的ESP封装也是不支持NAT的。

ESP封装的隧道模式:
从ESP隧道模式的封装中我们可以发现,ESP隧道模式将整个原始的IP包整个进行了加密且在ESP的头部外面新加了一层IP 头部,所以NAT如果只改变最前面的IP地址对后面受到保护的部分是不会有影响的所以IPSec采用ESP隧道模式是支持NAT的。

2. 从IKE协商的安全角度考虑:

(1) IKE作为协商协议采用NAT穿越的通信双方会在IKE协商的两个阶段协商是否支持NAT穿越,会引起安全问题
(2)采用NAT穿越,由于NAT一定會涉及IP地址的转换从上述的封装方式与NAT的交互情况看,一旦采用NAT穿越就必然放弃基于IP地址的验证机制

3. 从UDP封装的角度考虑:

在一些系统Φ,ESP-UDP可能会引发DOS攻击特别使用普通操作系统的UDP功能。

发布了0 篇原创文章 · 获赞 3 · 访问量 743

参考资料

 

随机推荐