首页 > 通信行业标准(YD) > YD/T 1468-2006 IP 安全协议(IPSec)穿越网络地址翻译(NAT)技术要求
YD/T 1468-2006

基本信息

标准号: YD/T 1468-2006

中文名称:IP 安全协议(IPSec)穿越网络地址翻译(NAT)技术要求

标准类别:通信行业标准(YD)

标准状态:现行

出版语种:简体中文

下载格式:.zip .pdf

下载大小:811562

相关标签: 安全 协议 穿越 翻译 技术

标准分类号

关联标准

出版信息

相关单位信息

标准简介

YD/T 1468-2006.Technical Requirements of IPSec Traverse NAT.
1范围
YD/T 1468规定了IPSec穿越NAT的技术要求,包括IPSec穿越NAT存在的兼容性问题、兼容性要求、解决方法以及穿越NAT对DPSec的影响等。
YD/T 1468适用于支持IPSec穿越NAT的数据设备。
2规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准。然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。
YD/T 1466-2006 IP安全协议(IPSec)技术要求
IETF RFC 768 ( 1980)用户数据报协议(UDP )
ETF RFC 1321 ( 1992 )MD5消息摘要算法
IETP RFC 1828 ( 1995)使用MD5密钥的IP认证
IETFRFC 1829 ( 1995 )ESP DES-CBC转换
ETF RFC 2085 ( 1997 )使用抗重播的HMAC-MDS IP认证
IETF RPC2104 ( 1997 )HMAC:消息认证的密钥哈希
IETP RFC 2401 ( 1998)IP安全架构
IETF RFC 2402 ( 1998 )IP认证头
IETF RFC 2403 ( 1998 )ESP和AH中HMAC-MD5-96的使用
IETP RFC2404 ( 1998 )BSP和AH中使用HMAC-SHA-1-96的使用
IETP RFC2405 ( 1998 )带有显式IV的ESP DES-CBC密码算法
ETP RFC 2406 ( 1998 )IP封装安全载荷

标准图片预览






标准内容

ICS33.040.40
中华人民共和国通信行业标准
YD/T1468-2006
IP安全协议(IPSec)穿越
网络地址翻译(NAT)技术要求
Technical Reguirements of IPSec Traverse NAT2006-0608发布
2006-10-01实施
中华人民共和国信息产业部发布前
范围·
规范性引用文件·
缩略语
4IPSec穿越NAT存在的兼容性间题4.1概述
4.2NA(P)T固有的问题
4.3NA(P)T实现上的问题
4.4辅助功能引人的问题
5IPSec穿越 NAT的兼容性要求
IPSeC穿越NAT实现要求·
6.1概述·
62 IKE 协商-
6.3UDP封装·
7穿越NAT对IPSec 的影响
7.1安全考愿.
7.2 IANA 考虑-
附录A(资料性附录)IPsec隧道模式附录B(资料性附录)RSP..
附录C【资料性附录)6t04
-i KAoNi KAca-
YD/r1468-2006
YD/T 1468--2006
本标准是IP安全协议(IPSe)系列标耀之。该系列标准的名称及结构预计如下:1.《IP安全协设体系结构》(MODIETFRFC2401)2.《IP试证头(AH))(MOD IETFRFC2402)3.《IP封装安金载荷(ESP(MODIETFRFC2406)4.《IP安全协议(IPSec)技术要求》S.《P安全协议(IPSec)测试方法》6.《IP安全协议(IPSec)穿越网络地址翻译(NAT)技术要求》7.《因特网密钥交换协议(Ev2)第1部分:技术要求》8.《国特网密钥交换协议(IKEV2)第2部分:测试方法》本标准的附录A、附录B和录C是资料性附录。本标准由中国通信标准化协会提出并归口本标准起草单位:信息产业部电信研究院成都迈普产业集团有限公司
中兴通讯股份有限公司
本标推主要起草人:袁琦张炜王文煜田辉I
何宝宏
YD/T 1468-2006
IP安全协议(IPSec)穿越网络地址翻译(NAT)技术要求1范围
本标准规定了IPSec穿越NAT的技术要求,包括IPSec穿越NAT存在的兼容性间题、兼容性要求、解决方法以及穿越NAT对IPSec的影响等。本标推适用于支持IPSec穿越NAT的数播设备。2规范性引用文件
下列文件中的条款通过本标准的用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准。然面,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。IP安全协议(IPSec)技术要求
YD/T 1466-2006
TETF RFC 768 (1980)
TETFRFC1321 (1992)
IETFRFC 1828 (1995 )
IETFRFC 1829 (1995)
IETF RFC 2085 (1997)
IETFRFC 2104 (1997)
ETF RFC 2401 (1998)
IETF RFC 2402 (1998 )
ETF RFC 2403 (1998 )
ETF RFC 2404 (1998 )
IETFRFC 2405 (1998)
ETF RFC 2406 (1998)
IETFRFC 2407 (1998 )
IETF RFC 2408 (1998 )
IEIF RFC2409 (1998)
TETFRFC 2410 (1998)
TETF RFC 2663 (1999 )
IETFRFC 3022 (2001)
IETF RFC 3056 (2001)
IETFRFC 3103 (2001)
IETF RFC 3715 (2004)
IFTF RFC 3947 (2005)
IETFRFC 3948 (2005 )
用户数据报协议(UDP)
MD5消息摘要算法
使用MD5密钥的IP认证
ESPDES-CBC转换
使用抗重播的HMAC-MDSIP认证
HMAC:消意认证的密钥哈希
建安全架构
量认证头
ESP和 AH中HMAC-MDS-96的使用
ESP和AH中使用HMAC-SHA-1-96的使用有显式IV的ESPDES-CBC程码算法IP封装安全载荷
对ISAKMP的因特网P安全域解释
互联网安全联盟和密钥管理协议(ISAKMP)互联网密钥交换协议(IKE)
IPSec的空加密算法和使用
IPNAT的术语和研究
传统NAT
IP4网中连接IPv6域
域限定P:协议说明
IPSeC-NAT兼容性要求
IKE中NAT地址穿越协商
IPSeC数据包的UDP封装
-i KAoNi KAca-
YD/T 1468-2006
3缩略语
下列缩略语适用于本标谁。
ISAKMP
NA(P)T
Authenticaion Header
Application Layer Gateways
Encapsulating Security PayloadData Encryption Standard
Domian of Interpreter
Demilitarized Zone
File Transfer Protocol
Generie Routing EncapsulationHASH MAC
Internet Assigned Numbers AuthorityInterner Conrol Message ProtocolIntegrity Check Value
Internet Key Exehange
IP Securitry
Interet Protocol
International Relay Chat
Intemet SA Key Management ProtocolLightweight Directory Access ProtocolMessage Authentication Code
Message Digest 5
Network Address ( Port) TranslationRealm Specific IP
Security Association
Security Associatior DatabaseStrearn Control Transmission ProtocolSession Initial Protocol
Simple Network Management ProtocolSecurity Parameter Index
Security Policy Database
Transmission Control ProtocolUser Datagran Protocol
Virtual Provider Network
认证头
应用层网关
封装安全载裁荷
数据加密标准
解释域
非军事区域
文件传输协议
通用路由封装
散列MAC
互联网号分配机构
互联网控制消息协议
完整校验值
互联网密钥交换
P安全
互联网协议
互联网中继聊天
互联网SA密钥管理协议
轻量级目录访问协议
消息验证码
消息摘要5
网络地址翻译
特定领域IP
安全联盟
安全联盟数据库
流控制传送协议
会话初始协议
简单网络管理协议
安全参数紫引
安全策略数据库
传输控制协议
用户数据报协议
虚拟专用网
4IPSec穿越NAT存在的兼容性问题4.1概述
YD/T1468-2006
IPSCc作为一种重要的安全技术得到越来越广泛的应用,而客户网络边缘大量使用的NAT地址翻译操作,可能影响到IPSCc的正常操作。NAT分为基本NAT(网络地址翻译)和NAPT(网络越趾端口翻译)两种美型。基本NAT只是对IP地址进行翻译:而NAPT除了翻译地址外,还要翻译传输层标识,如TCPUDP端口号,ICMP的查询标识,本标准中NA(P)T表示为NAT或NAPT。君前NAT和ISec之间存在的不兼容性间题可以分为以下三类:(I)NA(P)T固有的问题。这类不兼容问题直接由NA(P)T与PSec协议本身不兼容产生,因此存在于所有的NA(P)T设备中:(2)NA(P)T实现上的间题。这类不兼容间题虽然不是NA(P)T协议所固有的,但却在大量的NA(P)T实现中存在。因为它们不是NA(P)T协议的国有问题,国此原则上在以后的NA(P)T设计实现中可以避免该类问题的产生。但由于这些问题已经广泛存在,因此在NA(P)T穿越方案中电必领考虑这些问顾。
(3)辅助功能人的间题,这类不兼容问题出现在那些试图解决PSeNA(P)T穿越问题的NA(P)T设备中。在这些NAT设备中,可能由于设计部分穿越辅助功能前产生了新的不兼容性,造成更难于解决的问题。虽然不是所有的NA(P)T设备都提供这种所谓的辅助功能,但考虑到该类问题的普遍性,在NA(P)T穿越方案中也需要考虑这类间题。4.2NA(P)T固有的间题
NA(P)T协议固有的不兼容性包括。(1)PSeCAH和NAT的不兼容。由于AH所提供的完整性检验中包括了对P源地址和国的地址的检验,而NAT租反尚NAT设备对班址域进行了修改,从而寻致AH检验失效。ESP协议中对完整性的检验不包括P源地址和日的地址,因此在ESP中不存在这类不兼容问题。(2)NAT与校验和的不兼容。由于TCP和UDP的校验和计算中包含了伪头部,因此校验和拍的计算结果依赖于卫源地址和国的地址。因此,如果在传输过程中经过了NAT设备,则接攻收者对校验和的计算也存在间题。因此,IPSeCESP只有在不涉及TCP/UDP协议或者不进行校验和计算时才能够随租通过NAT例婚,IPSec隧道模式、IPSec/GRE隧道以及IP4UDP应用)在IPv4中,TCP校验和必须进行计算和确认。在IPv6中,UDP/TCP校验和都必须计算和确认:因此上述问题广泛存在。
SCT(Seam ControlTransmissionProtocol)中使用的CRC32C算法只对SCrP包进行校验和计算,而没有包含P头部。因此,NAT不会使SCTPCRC无效,也就不会产生这类不兼容问题。因为传输模式的IPSCC通信流通过加密方式完成完整性保护和身份验证,在检查UDPTCP校验和之前对数据包进行修改检测,医此校验和的确认仅用于防让内部处理的错误。(3)KE地址标识符和NAT的不兼容。在IKE主模式或快速模式交换中使用P地址作为标识符,而NAT或反尚NAT对IP源/耳的地址的修改使得标识符和P头部中的P地址不匹配,IKE实现将丢弃存在该类问題的报文。
为避免这种情况的出现,可以使用用户D和FODN代替正地址作为标识符。如果需要用户身份验证,剪使用ID类型为IDUSER_FQDN的标识特。面如果使用机器身份验证,刺使用工_FQDN类型。妞证书3
i KAoNi KAca-
YD/T1468-2006
在第一阶段交换,以上两神情况中都必须确认所提议的身份与证书中的身份相远配。然前,業些情况下(如SPD条自描述子网时),不能用USERFQDN和FODN作为IKE标识符使用。因为第二阶段标识符中的源地址常用来形五元的人流量SA选择符,为了不减弱人流量的SA处理,在选择符中使用目的地址、协议、源端口和目的端口。(4)固定IKE百的端口和NAPT之间的不兼容。如果在NAPT设备后面有多个主机对同一个响应方发起I安全联盟协商,这时需要提供一种机制使NAPT能够对响应方返回的KE报文进行解复用。典型的解决方法是由发起方转换KEUDP源端口,因此响应方必须能接收从一个非500端口发送来的IKE通信流,并必须对该端口进行响应。
在密期重生成期间应避免在非预期的情说下产生的动作。如乐在密钥重生成时,浮动的源端口没有作为售的端口,则NAT就不能将密钥重生成期闻的报文发送到正确的目的地。(5)童叠(oVerlaP)SPD条百和NAT间的不兼容。如果NAT后面的主机在KE快速模式中使用相同的自的地址协商童叠的SPD条目,则报文可能被发送到错误的IPSecSA中。产生该问题的原因在于发送方,因为发送方是相同的终端并可以用来传送相同的通信流,从面使发送方的IPSecSA看起来是完全相同的。(6)IPSeCSP选择和NAT的不兼容。因为IPSeCESP通信流是被加密的,其内容对NAT是不可知的,因此NAT必须使用在P和IPSec头中的信息来解复用输人的IPSec通信流。通常使用IP地址、安全协议和IPSecSPI的组合来达到该的。然前,因为主机或网关选择输出输人SPI是独立的,所以NAT无法仅仪通过检查输出流来确定集个输人流到底对应哪个用的主机。因此,如果NAT后面的两个主机同时向一个目的地址发起建立IPSecSA,则NAT可能将输人的PSec报文发送到错误的目的地址上。本质上讲这并不是PSec的不兼容性问题,而是PSec实现方法的问题。在AH和ESP中,接收方主机指定用于给定SA的SPI。当前,自的P地址、SF和安全协议一起可以惟一识别一个安全关联,这意味着接方主机可以选择这样两个SA:其中个是SP1=470,目的P=10.2.3.4,而另个是SPI=470,日的IP10.3.4.5
对于接收主机来说,也可能给每个单播的SA分配一的SP。在这种情况下,月的IP地址只需要用来检查它是否是“该主机的任意有效的单播正地址”,而不必检查它是否是由发送方主机使用的特定层的IP地址。该方法完全向后兼容,只需要接收主机改变它的sPI分配方式和IPsecespinput()代码。(7)嵌套IP地址和NAT的不兼容。因为PSec对载荷进行了完整性保护,不允许NAT对封装在IPSec报文中的IP地进行转换,从而使得NAT应用层网关(ApplicationLayerGateways,ALG)失效。应用层内部包含IP地址的协议包括:FTP、IRC、SNMP、LDAP、H323、SIP、SCTP(可选包含)以及许多游戏协议。为解决这个间题,在主机或安全网关上安装应用层网关时,必须保证在IPSec封装以莉正Sec解封装后对用通信城拼行处理(8)NA(P)T隐含的方向性间题。通常内部主机发送个输出报文通过NAT设备时,NAT才为之创建输人的映射状态。这种方向性的存在,妨碍了外部主机向NAT后面的主机主动建立PSecSA的操作。(9)人流量的SA选择符验证。假设IKE协商第二价段的选择符,因为RFC2401要求报文的源地址和SA选择符值匹配,人流量的SA处理将丢弃解封装的报文,而ESP报文的NA(P)T处理将改变报文的源地址。
4.3NAP)T实现二的问题
很多NA(P)T实现上带來的不兼容性有。YD/T 1468-2006
(1)不能处理非UDP/TCP通信流。一紫NAPT直接丢弃非UDP/TCP报文如实现NAT功能的防墙),这些NAPT是无法传递SCTP、ESP或AH通信流的。(2)NAT映射超时。相同UDP端口映射条自的超时时间在各种NA(P)T实现中互不相同。因此,即使IKE包被正确地转换,其转换状态也可能被过早地谢除。(3)不能处理输出的分片。当输出IP包长大于本地出接口的MTU时,大多NA(P)T能够正确地为数据包分升。然面,如果数据包本身就是分片包,则大多NAPT都不能正确处理这种分片包的转换。两个主机在向同一个目的主机发送分片数据包,其分片标识可能会重叠。面日的主机通过分片标识符和分片偏移进行重组,所以其结果会学致数据重组的失败。极少数NA(P)T通过支持标识符转换来避免这种标识符冲突的情况
分片由NAT执行则不会发生标识符冲突,因为在个源/目的地址对中可以保证使用惟一的分片标识符
因为分片可能只有68字节长,所以无法保证在第一个分片中定包含完整的TCP头部,这时就要重计算TCP校验和的NA(P)T就需要修政随后的分片。因为分片可能乱序、IP地址可能嵌套在报文中且可能分布在不同的分片中,因此NA(P)T必须在完成转换之前先完成分片重组。由于处理的复杂性,极少数NA(P)T支持重计算校验和功能。(4)不能处理输人的分片。因为通常只有第一个分片包含完整的IPUDP/SCIPITCP头部,所以NAPT应该能够执行基于源/日的P地址和分片标识的转换。由于分片可以重新排序,如果后续分片在第个分片之前到达,则对…个给定的分片标识符的头部可能是未知的,并该头部还可能被划分到几个分片之中,因此,NA(P)T需要在转换之前先执行童组,极少数NA(P)T支持这个功能。对乎NAT来说,源自的地址就是以确定转换了,因此不存在NAPT中的这种情况。然而,由于PSec或K头可能分在不同的分片中,因此在NAT中仍商能需要进行重组4.4辅勤功能引入的间题
在Sec和NAT的辅助功能之间存在的不兼容问题包括。(1)ISAKMP头部检查。部分NAT设备试图使用IKECoOkies来实现IKE通信流的解复用。与源端口解复用相似,因为阶段1的密期童生成将使用不同于以前通信流所使用的Cooke值,使用IKECooke解复用在密钥重生成时将产生相同的间题。(2)对端口500的特殊处理。一些IKE实现中,由于不能处理源端口非500的UDP包,所以一些NAT就对源端口是500的UDP包不进行转换。对于每个目的网关来说,这些NAT只允许使用一个IPSec客户端,除非它们检查SAKMF头部中造成上达问题的Cookie值。(3)ISAKMP载荷检查。对于试图解析ISAKMP载荷的NAT实现,它可能不能处理所有的载荷序列组合,或者不支持IKE可选协商的vendorid载荷。5PSeC穿越NAT的兼容性要求
为了评估PSc穿越NAT解决方案的兼容性,应该考虑以下因素。()可署性
IPE将最整解决地址短缺问题,雨地址短缺正是IPY4引人NAT的原因,因此IPSeC-NAT的穿越问题只是在广泛使用Iv6之前需要解决的过瘦性问题。所以,IPSeC-NAT兼容性解决方案必领比IP6易于部署,并直比Pv6先于部署。
iKAoNi KAca-www.bzxz.net
YD/T1468-2006
Pv6的部署不但需要修改主机面且还要修改路由器,所以需要同时改变路由器和生机的PSec-NAT兼容性解快方案,从部署难度上来说与IPv6相接近。因此,IPSec-NAT兼容性方案应该只修改主机,而不要改路由器行
在IPSec-NAT兼容性方案中主机和NA(P)T网关之间不应该再荐在其他的额外通信。如果还要定义主机与NAT的额外通信,则需要改变巴有的NA(P)T实现,同时还要进行主机和NA(P)T实现之间的互操作性测试。为了在短时间内实现穿越方案的部署,必须要求兼容性解决方案可以与现存的路由器和NA(P)T产品协同T作。
(2)协议兼容性
PSecNAT穿越方案不解决菜些协议与NAT的兼容性问题,这些协议是指使用IPSec协议不能进行安全保护时无法穿越NA(P)T的协议。因此,即使获得了IPSecNAT穿越方案,ALG还需要支持其他协议的穿越方,
(3)方向性
因为NA(P)T的方向性是一种安全功能,所以PSec穿越方案不应该允许NA(P)T后面的主机接收来自任意IP地址随意发送的IPSe或IKE通信流。一旦双向KE利IPSec通信已经建立,地址转换的映射已经连接。
(4)远程访向
因为IPSec的一个重要应用是通程访间公司的内部网络,NA(P)T穿越方案必须支持通过IPSec腾道模式或者L2TPOverIPSec的NAT穿越,这就要求穿越方案必须考虑远程客户端与VPN网关之间存在多个NA(P)T的情况。
远程遥信时必须考虑多种情况:客户端可能有可路由的公网地址,面VPN网关可能在至少个的NA(P)T后面:也可能是客户端和VPN网关都在一个或多个不同的NA(P)T后面,在远程访间者连接到VPN网关时,在每个不同的NA(P)T居面,不商逆程访问者可能使用相同的私有P地址:或者在间个NA(P)T后面多个远程访问者可能位于同一个私网,使用不同的私有肥地址。在网关到网关的方案中,公司网络和Inernet之间可能还存在一个私有地址网络。在这种情况下,连接公司部分网络的IPSec安全网关将在外部接口中配置私有地址,并由一个NA(P)T网络连接DMZ网络到固特网。
IPSeC-NAT解决方案中必须能像保护主机到网关的通信那样对生机到主机的通信进行安全保护。在私网中的主机必须能够与另个主机建立使用IPSec的TCP连接或UDP会话,即使在它们中间存在一个或多个NA(P)T,阅如,在办公室到公司的边界处可能部署了NA(P)T,雨在公司与Interne之间又部署了另外的NA(P)T,这能需要主机上的TCP和UDP通信流进行一些特殊的处理。存在NA(P)T的两个主机之间建立SCTP连接可能遵到更多的间题。因为SCTP支持多穴,那么如果某一方主机使用T多个IP地址,这些地址将在关联建立的时候作为SCTP包(INIT和INIT-ACK)的一部分传输给对方主机。如非必要,在SCTP包中不应该包含P地址。而在SCTP进行NAT穿越时,果包含了IF地址,则双方主机的关联将无法建立。(5)防水墙兼容性
因为防天墙三经广泛应用,IPSec-NAT兼容性方案必须能使防火墙管理员创建简单的,静态的访问规则,来决定是否允许IKE以及PSec-NAT的穿越,应该避免IKE或者IPSec自的端口的动态分配。心
(6)可扩展性
YD/T1468-2006
PSec-NAT兼容性方案应该具有良好的扩展性,能够部署在大规模远程访问的环境之中。在大量远程接人的环境下,不可能在一时间段内只有一个主机使用同一个给定的堆址进行通信。因此,在兼容性方案中必须解决SPD条目重登和接收包解复用的问题。(7)模式支持
IPSeC-NAT方案必须支持IPSecESP模式的穿越。例如,IPSec安全网关必须支持ESP隧道模式的NA(P)T穿越IPSec主机必须支持PSec传输模式的NA(P)T穿越。AH的目的就是要保护P头部中不变的区域(包括地址域),丽NA(P)T必须转换地址,从而使AH完整性检验失效。因此,NA(P)T和AH从根本上就是不兼容的,在IPSec-NAT兼容性方案中没有必要支持AH传输或隧道模式。
(8)后向兼容和互操作性
IPSee-NAT兼容性方案中必须能够与已有的IKE/IPSec实现互操作,与不经过NA(P)T的IKE/IPSec进行通信,IPSec-NAT穿越方案必镇能向唇兼容RFC2401I定义的IPSec和利RPC2409定义的IKE。另外,穿越方案应该能够自动检测是否存在NAT,从使得通信双方只在必要的时候才使用NA(P)T穿越支持。要求方案必须能够判断通信对方的KE实现是否支持NA(P)T穿越,以协商双方可以只进行标准的IKE会话。这也表明虽然E在发起协商时自的端口只能使用500端口,但并没有对源端口提出待殊要求,因此UDP源端口可以使用500非500的端口。(9)安全样
不允许由于PSecNAT兼容性解决方案的引人,对KE或Sec安全性带来影响,例如,个可行的方案必额证明它没有引人新的拒绝服务攻击和欺骗攻击。IKE必须允许双向方式的密钥重生戒。6 IPSeC穿越NAT实现婴求
6.1概述
因为AH中外部IP地证的保护与NAT是不兼容的,AH不在本实现要求的讨论范围之内。本实现假定使用IKEvI或IKEV2协商SA。为了完成IPSec穿越NAT,本实现要求使用IKE协商和UDP封装两种方法。IKE协商分为两部分。第一部分是在NAT穿越过程中,IKE阶段1需要检测另端是否支持NAT穿越,检测两端之间是否存在一个或多个的NAT。第二部分是在IKE快速模式中,如何协商UDP封装ISec包的使用,知何传送原始的源和目的地址到对端。传输模式中原始地址用来更新TCP/IP校验和,这样在NAT转换后这些地能相互斯配。
UDP报文封装和解封装ESP包时,UDP端口号与IKE流使用的端口号相同,采用这种方我扩展性好,易于配置和实现。此时IKE实现不能使ESP包中SPI为零字段,以便能区分IKE包和ESP包。6.2IKE协商
6.2.1阶段1
在阶段I协商中,需要针对NAT执行两种探测:其一是探测是否支持NAT穿越,其二是探测在通信路径中是否存在NAT。NAT会改变IKEUDP的源端口,从而接收方必须能处理源端口不是500的IKE报文。在下列两种情况中NAT不会政变源端口:,NAT后面只有一个IPSec主机:对于第个发起协滴的IPSec主机,NAT可以保持其端口为500,并只改变指定的IPSec主机IPi KAoNi KAca-
YD/T 1468-2006
地址。
接收方必频将响应发送至包的源地址,那么当响应方进行密钥重生戚或者发送通告时,其报文必须以相同的端口和亚地址进行发送,该端口和卫地址与最近一次IKESA的报文所使用的端口和正地址相间。
例如,当发起方以源和目的端口都为500发送一个报文时,NAT会将其转换为源端口为12312而日的端口为500的报文,响应方必须能处理这个源端口为12312的报文,并能以源端口为500,目的端口为12312进行回应,然后NAT再将国应报文转换成源端口和目的端口都为500的报文。6.2.1.1探测是否支持NAT穿越
通过VendorD载荷交换来确定远程主机是否支持NAT穿越。如果协商双方支持NAT穿越,则协商双方在阶段1的顔两条消息中加人-个VendorID载荷,载荷的容为对特定字串进行MDs运算得出的散列值。在该享串中表明其支持的NAT穿越方法所遵循的要求。6.2.1.2探测是香存在NAT
NAT-D(NATDiSCOvery)载荷有两重目的:它不仅用于探测溅两个IKE实体之间是否存在NAT,同时也用于探测NAT位于间处,这样keepaive消息就能从位于NAT后面的实体发出。为了探测出两台主机之间的NAT,则需要检查IP地址和端沿着传输路径是否发生改变。协商双方各自向对端发送源方和目的方的正地址与端口的教列值,这样就可以检测地址和端口在传输过程中是否发生改变。如果协商双方计算出的散列值与它们收到的散列值相同,则它们之间没有NAT。反之,则是在传输中对现址或端口进行了转换,这就说明通过的PSec报文经过了NAT穿越的处理。如果发送者不能确定它自已的现地址(比如拥有多个网络接口,并且不能确定将包骼由到个接口,它可以在报文中包含多个本地地址的散列值。在这种情况下,当且仅当所有的散列值均不还配谢表明NAT的存在。
通过使用一系列的NAT-D载荷来传送这些散列值。每个载荷包含一个散列值,所以对于多个散列值需要传送多个NAT-D载荷。一般情况下只需要两个NATD载荷。对于主模式,NAT-D载荷包含在其第三和第四条交换消息中,野蜜模式购包含在第二和第三条消息中。
NAT-D载荷的类型是15,其格式如图1所示。2
下一个载截
地处和端的数刻值
图1NAT-O载商格式
散列值的计算使用已协商的HASH算法,其计算公式如下:载荷长度
HASH HASH (CKY-HCKY-RIIPIPO)5春学
上式中,括号内的所有数据都是网络字节顺序。对于IPv4,IP域占4个字节,而对于IPv6测占16个字上节。端口号占两个字节。在消息交换过程中,第一个NAT-D载荷包含远程节点(也就是UDP包8
YD/T 1468-2006
的日的方)的P地址和端口,其余的NAT-D载荷包含所有可能的本地节点也就是UDP的源方)的P地址和端口。
難果在协商双方之间没有NAT,谢在接收到的消息中,其第个NAT-D载应该能匹配某个本地的NAT-D载荷(妞就是本地主机所发送的本地NAT-D载荷),葡在剩下的载荷中必须有一个能够匹配接收方的远程节点的P地址和端口。如業第一次检查失败(也就是第一个载荷不能匹配任何本地的IF地址和端口),这就说明在协商双方之间荐在NAT,同时本地主机应该开始发送keepalive消意。CKY-I和CKY-R是发起方和响啦方的Cookie值,将它们加到HASH运算中以防止针对P地证和端口的预先计算攻击。
在至模式中便用NAT穿越的阶段1交换的例子如图2所示。发起方
HDR+ SA, VID
HDR, KE, N. NATD, NATD
响应方
HDR, SA, VD
HDR,KE,Nr. NAFD,NAT-D
HDR*#,i, ICERT, JSTG
HDR*#, IDir. ICERT, , SIG_R
图2在主模式中使用NAT穿越的阶段1交换的例在野童模式中使用NAT穿越的阶段1交换的例子如图3所示。发起方
HDR, SA. KE. Ni, II, VID
HDR*#, [CERT.1. NAL.D, NATD
嘀应游
HDR, SA, IE. Nr, IDir.
[GERT. J. VID. NAT-D.
NATD, SIG R
图3在野变模式中使用NAT穿越的阶段1交换的例子注:#”麦示如果操测到存在NAT,则谈消息发送苹已浮动的端口。6.2.2端口浮动
对IPSeC存在特殊处理的NAT设备会造成间题,即使NAT居有多个客户端,某些NAT不改变500的源端口号,也能将IKECoOKc值映射到分解的通信流而不是使用源端口。对于IKE来说很难发现NAT是否具有上述能力,对于NAT的透明性这些方法都是有间题的。最好的办法是使IKE通信流简单地离开HiiKAONiKAca=
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。