一种对经过nat穿越的ipsec报文进行ah认证的方法及装置的制造方法_2

文档序号:9263031阅读:来源:国知局
,还包括:接收端对发送端NAT穿越能力的检测步骤,以及对接收端和发送端之间的NAT设备的检测步骤。
[0045]优选地,所述的对发送端NAT穿越能力的检测步骤包括:
[0046]接收端接收来自发送端的IKE第一阶段协商报文,若所述IKE第一阶段协商报文中具有用来标识NAT穿越能力的VID载荷,则接收端确定发送端具有NAT穿越能力。
[0047]优选地,所述的对接收端和发送端之间的NAT设备的检测步骤包括:
[0048]接收端接收来自发送端的IKE第一阶段协商报文;
[0049]从所述IKE第一阶段报文的载荷中提取IP地址和端口号的Hash值作为第一 Hash值;
[0050]从所述IKE第一阶段报文的报文头中提取IP地址和端口号,并计算所提取的IP地址和端口号的Hash值作为第二 Hash值;
[0051]比较所述第一 Hash值和第二 Hash值;
[0052]若所述第一 Hash值和第二 Hash值不一致,则确定接收端与发送端之间存在NAT设备。
[0053]优选地,所述的根据所述第一 IP地址和端口号、第二 IP地址和端口号,建立NAT转换表的步骤包括:
[0054]接收端比较所述第一 IP地址和端口号、第二 IP地址和端口号;
[0055]若所述第一 IP地址和端口号、第二 IP地址和端口号不一致,则建立用来转换所述第一 IP地址和端口号、第二 IP地址和端口号的NAT转换表。
[0056]优选地,所述的利用所述NAT转换表,对收到的IPSEC报文进行AH认证的步骤包括:
[0057]接收端收到来自发送端的IPSEC报文,从所述IPSEC报文的报文头中提取IP地址和端口号;
[0058]在所述NAT转换表中查找与所提取的IP地址和端口号相对应的第一 IP地址和端□号;
[0059]若找到与所提取的IP地址和端口号相对应的第一 IP地址和端口号,则利用所述第一 IP地址和端口号替换所述IPSEC报文的报文头中的IP地址和端口号,并重新计算校验和,以供AH认证。
[0060]根据本发明的另一个方面,提供了一种对经过NAT穿越的IPSEC报文进行AH认证的装置,包括:
[0061]接收模块,用于接收来自发送端的IKE第二阶段协商报文;
[0062]提取模块,用于从所述IKE第二阶段协商报文的载荷中提取原始IP地址和端口号作为第一 IP地址和端口号、从所述IKE第二阶段协商报文的报文头中提取IP地址和端口号作为第二 IP地址和端口号;
[0063]转换表建立模块,用于根据所述第一 IP地址和端口号、第二 IP地址和端口号,建立NAT转换表;
[0064]认证模块,用于利用所述NAT转换表,对收到的IPSEC报文进行AH认证。
[0065]优选地,还包括:
[0066]检测模块,用于检测发送端的NAT穿越能力,以及检测接收端与发送端之间的NAT设备。
[0067]优选地,所述的转换表建立模块包括:
[0068]比较子模块,用于比较所述第一 IP地址和端口号、第二 IP地址和端口号;
[0069]建立子模块,用于当所述第一 IP地址和端口号、第二 IP地址和端口号不一致时,建立用来转换所述第一 IP地址和端口号、第二 IP地址和端口号的NAT转换表。
[0070]优选地,所述的认证模块包括:
[0071]提取子模块,用于从收到的IPSEC报文的报文头中提取IP地址和端口号;
[0072]查询子模块,用于在所述NAT转换表中查找与所提取的IP地址和端口号相对应的第一 IP地址和端口号;
[0073]认证子模块,用于当找到与所提取的IP地址和端口号相对应的第一 IP地址和端口号时,利用所述第一 IP地址和端口号替换所述IPSEC报文的报文头中的IP地址和端口号,并重新计算校验和,以供AH认证。
[0074]与现有技术相比较,本发明的有益效果在于:
[0075]本发明通过在IKE协商报文中携带原始IP地址和端口号的方式,在通信双方各自建立原始IP地址和端口号、NAT转换后的IP地址和端口号的NAT转换表,从而避免NAT设备感知IPSEC报文。
【附图说明】
[0076]图1是本发明实施例提供的对经过NAT穿越的IPSEC报文进行AH认证的方法原理框图;
[0077]图2是本发明实施例提供的对经过NAT穿越的IPSEC报文进行AH认证的装置框图;
[0078]图3是本发明实施例提供的IPSEC穿越NAT实际组网环境示意图;
[0079]图4是本发明实施例提供的IKE第一阶段协商流程图;
[0080]图5是本发明实施例提供的IKE第二阶段协商流程图;
[0081]图6是本发明实施例提供的IPSEC报文穿越NAT设备的变化情况;
[0082]图7是本发明实施例提供的通信双方建立的NAT转换表项;
[0083]图8是本发明实施例提供的AH模式下穿越NAT设备时通信接收方报文处理流程。
【具体实施方式】
[0084]以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0085]本发明中,通信双方在IKE第一阶段协商时,使用运营商标识(Vendor ID,VID)载荷进行网络地址转换穿越(Network Address Translat1n-Traversal, NAT-T)能力检查,使用 NAT 发现(Network Address Translat1n - Discovery, NAT-D)载荷来发现 NAT 网关的存在。IKE第二阶段将协商IPSEC报文传输模式:Udp-Encapsulated_Tunnel (用于UDP封装 tunnel 模式 IPSEC 报文)或 Udp-Encapsulated-Transport (用于 UDP 封装 Transport模式IPSEC报文),同时对网络地址转换原地址(Network Address Translat1n - OriginalAddress,ΝΑΤ-0Α)载荷进行扩展(或使用用户自定义载荷)承载原始IP地址和端口号。通信接收端收到发送端的IKE协商报文后,从报文头中提取出IP地址和端口号,再从NAT-OA载荷中提取出原始IP地址和端口号,如果两者不相等,表示经过NAT设备转换,则建立对应的NAT转换表,否则,表示没有经过NAT设备转换,不需要建立对应转发表。接收端收到发送端的数据报文后,使用报文头中的IP地址和端口号去查找对应的NAT转换表。如果查到表项,表示所述数据报文经过了 NAT设备转换,则使用表项中的原始IP地址和固定端口号4500替换所述数据报文的IP地址和端口号并重新计算校验和,再进行AH认证处理;如果没有查到表项,表示报文没有经过NAT设备转换,则直接进行AH认证处理。
[0086]下面通过图1-图8对本发明进行进一步说明。
[0087]图1是是本发明实施例提供的对经过NAT穿越的IPSEC报文进行AH认证的方法原理框图,如图1所示,包括:
[0088]步骤SlOl:接收端接收来自发送端的IKE第二阶段协商报文。
[0089]在执行所述步骤101之前,接收端对发送端NAT穿越能力进行检测,并对接收端和发送端之间的NAT设备进行检测。具体的说,对发送端NAT穿越能力进行检测的步骤包括:接收端接收来自发送端的IKE第一阶段协商报文,若所述IKE第一阶段协商报文中具有用来标识NAT穿越能力的VID载荷,则接收端确定发送端具有NAT穿越能力。对接收端和发送端之间的NAT设备进行检测的步骤包括:接收端接收来自发送端的IKE第一阶段协商报文,从所述IKE第一阶段报文的载荷中提取IP地址和端口号的Hash值作为第一 Hash值,从所述IKE第一阶段报文的报文头中提取IP地址和端口号,并计算所提取的IP地
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1