亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種對(duì)經(jīng)過(guò)nat穿越的ipsec報(bào)文進(jìn)行ah認(rèn)證的方法及裝置的制造方法_3

文檔序號(hào):9263031閱讀:來(lái)源:國(guó)知局
址和端口號(hào)的Hash值作為第二 Hash值;將所述第一 Hash值和第二 Hash值進(jìn)行比較,若所述第一Hash值和第二 Hash值不一致,則確定接收端與發(fā)送端之間存在NAT設(shè)備。
[0090]步驟S102、從所述IKE第二階段協(xié)商報(bào)文的載荷中提取原始IP地址和端口號(hào)作為第一 IP地址和端口號(hào)、從所述IKE第二階段協(xié)商報(bào)文的報(bào)文頭中提取IP地址和端口號(hào)作為第二 IP地址和端口號(hào)。
[0091]步驟S103、根據(jù)所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào),建立NAT轉(zhuǎn)換表。
[0092]具體地,接收端比較所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào),若所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào)不一致,則建立用來(lái)轉(zhuǎn)換所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào)的NAT轉(zhuǎn)換表,否則,不需要建立所述轉(zhuǎn)換表。
[0093]步驟S104、利用所述NAT轉(zhuǎn)換表,對(duì)收到的IPSEC報(bào)文進(jìn)行AH認(rèn)證。
[0094]具體地,接收端收到來(lái)自發(fā)送端的IPSEC報(bào)文,從所述IPSEC報(bào)文的報(bào)文頭中提取IP地址和端口號(hào),在所述NAT轉(zhuǎn)換表中查找與所提取的IP地址和端口號(hào)相對(duì)應(yīng)的第一 IP地址和端口號(hào),若找到與所提取的IP地址和端口號(hào)相對(duì)應(yīng)的第一 IP地址和端口號(hào),則利用所述第一 IP地址和端口號(hào)替換所述IPSEC報(bào)文的報(bào)文頭中的IP地址和端口號(hào),并重新計(jì)算校驗(yàn)和,以供AH認(rèn)證,否則,直接進(jìn)行AH認(rèn)證。
[0095]圖2是本發(fā)明實(shí)施例提供的對(duì)經(jīng)過(guò)NAT穿越的IPSEC報(bào)文進(jìn)行AH認(rèn)證的裝置框圖,如圖2所示,包括:接收模塊201、提取模塊202、轉(zhuǎn)換表建立模塊203、認(rèn)證模塊204和檢測(cè)模塊205,其中:所述接收模塊201接收來(lái)自發(fā)送端的IKE第二階段協(xié)商報(bào)文,所述提取模塊202從所述IKE第二階段協(xié)商報(bào)文的載荷中提取原始IP地址和端口號(hào)作為第一 IP地址和端口號(hào)、從所述IKE第二階段協(xié)商報(bào)文的報(bào)文頭中提取IP地址和端口號(hào)作為第二 IP地址和端口號(hào),所述轉(zhuǎn)換表建立模塊203根據(jù)所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào),建立NAT轉(zhuǎn)換表,以供所述認(rèn)證模塊204利用所述NAT轉(zhuǎn)換表,對(duì)收到的IPSEC報(bào)文進(jìn)行AH認(rèn)證。所述檢測(cè)模塊205在IKE第一階段,檢測(cè)發(fā)送端的NAT穿越能力,以及檢測(cè)接收端與發(fā)送端之間的NAT設(shè)備。
[0096]其中,所述轉(zhuǎn)換表建立模塊203包括:
[0097]比較子模塊,用于比較所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào);
[0098]建立子模塊,用于當(dāng)所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào)不一致時(shí),建立用來(lái)轉(zhuǎn)換所述第一 IP地址和端口號(hào)、第二 IP地址和端口號(hào)的NAT轉(zhuǎn)換表。
[0099]所述的認(rèn)證模塊204包括:
[0100]提取子模塊,用于從收到的IPSEC報(bào)文的報(bào)文頭中提取IP地址和端口號(hào);
[0101 ] 查詢子模塊,用于在所述NAT轉(zhuǎn)換表中查找與所提取的IP地址和端口號(hào)相對(duì)應(yīng)的第一 IP地址和端口號(hào);
[0102]認(rèn)證子模塊,用于當(dāng)找到與所提取的IP地址和端口號(hào)相對(duì)應(yīng)的第一 IP地址和端口號(hào)時(shí),利用所述第一 IP地址和端口號(hào)替換所述IPSEC報(bào)文的報(bào)文頭中的IP地址和端口號(hào),并重新計(jì)算校驗(yàn)和,以供AH認(rèn)證。
[0103]在IKE第一階段協(xié)商時(shí),所述接收模塊201接收來(lái)自發(fā)送端的IKE第一階段協(xié)商報(bào)文,所述檢測(cè)模塊205使用報(bào)文中的VID載荷進(jìn)行NAT-T能力檢查,使用NAT-D載荷來(lái)發(fā)現(xiàn)NAT網(wǎng)關(guān)的存在。在IKE第二階段,所述接收模塊201接收來(lái)自發(fā)送端的IKE第二階段協(xié)商報(bào)文后,所述提取模塊202從所述報(bào)文的報(bào)文頭中提取出IP地址和端口號(hào),再?gòu)腘AT-OA載荷中提取出原始IP地址和端口號(hào)。如果兩者不相等,表示經(jīng)過(guò)NAT設(shè)備轉(zhuǎn)換,則所述轉(zhuǎn)換表建立模塊203建立對(duì)應(yīng)的NAT轉(zhuǎn)換表,否則,表示沒(méi)有經(jīng)過(guò)NAT設(shè)備轉(zhuǎn)換,不需要建立對(duì)應(yīng)轉(zhuǎn)發(fā)表。所述接收模塊201接收來(lái)自發(fā)送端的IPSEC報(bào)文后,所述認(rèn)證模塊204使用所述報(bào)文的報(bào)文頭中的IP地址和端口號(hào)去查找對(duì)應(yīng)的NAT轉(zhuǎn)換表。如果查到表項(xiàng),表示所述數(shù)據(jù)報(bào)文經(jīng)過(guò)了 NAT設(shè)備轉(zhuǎn)換,則使用表項(xiàng)中的原始IP地址和固定端口號(hào)4500替換所述數(shù)據(jù)報(bào)文的IP地址和端口號(hào)并重新計(jì)算校驗(yàn)和,再進(jìn)行AH認(rèn)證處理,否則,表示報(bào)文沒(méi)有經(jīng)過(guò)NAT設(shè)備轉(zhuǎn)換,則直接進(jìn)行AH認(rèn)證處理。
[0104]本發(fā)明中,IPSEC在AH模式下實(shí)現(xiàn)NAT穿越,其中的NAT設(shè)備不能感知IPSEC報(bào)文。
[0105]圖3是本發(fā)明實(shí)施例提供的IPSEC穿越NAT實(shí)際組網(wǎng)環(huán)境示意圖,如圖3所示,IPSEC穿越NAT的實(shí)際組網(wǎng)環(huán)境包括兩臺(tái)終端設(shè)備和一臺(tái)NAT轉(zhuǎn)換設(shè)備。位于私網(wǎng)(PrivateNetwork)側(cè)的設(shè)備IP地址為10.42.48.1,位于公網(wǎng)(Public Network)側(cè)的設(shè)備IP地址為20.22.1.1,NAT轉(zhuǎn)換設(shè)備為私網(wǎng)IP地址10.42.48.1分配公網(wǎng)IP地址201.100.1.1,如果是端口 NAT (PAT)模式,則再分配公網(wǎng)PORT為15000。在數(shù)據(jù)報(bào)文流入(Inbound)方向,將數(shù)據(jù)報(bào)文目的IP地址201.100.1.1替換為10.42.48.1 ;在數(shù)據(jù)報(bào)文流出(Outbound)方向,將數(shù)據(jù)報(bào)文的源IP地址10.42.48.1替換為201.100.1.1。
[0106]兩臺(tái)終端設(shè)備之間配置IPSEC業(yè)務(wù),首先在IKE第一階段協(xié)商過(guò)程中將進(jìn)行NAT-T能力檢測(cè)和NAT網(wǎng)關(guān)發(fā)現(xiàn)(IPSEC穿越NAT只支持野蠻模式)。如圖4所示,通信雙方在消息中插入一個(gè)標(biāo)識(shí)NAT-T能力的VID載荷來(lái)通知對(duì)該能力的支持,如果雙方都在各自消息中插入VID載荷,說(shuō)明雙方都支持NAT-T能力。在RFC3947中規(guī)定,VID載荷內(nèi)容是對(duì)特定字符串” RFC3947” 進(jìn)行 MD5HASH 運(yùn)算得到的散列值 0x4al31c81070358455c5728f20e95452f0同時(shí)還在消息中插入NAT-D (NAT Discovery)載荷用于探測(cè)通信雙方中間是否存在NAT設(shè)備,一般情況下一個(gè)消息中只包含兩個(gè)NAT-D載荷,第一個(gè)NAT-D載荷內(nèi)容為對(duì)端IP地址和端口號(hào)的Hash值,第二個(gè)NAT-D載荷為本端IP地址和端口的Hash值,如果發(fā)起方不能確定自己的IP地址,則需要為每個(gè)可能的IP地址計(jì)算一個(gè)NAT-D載荷。如果協(xié)商雙方計(jì)算出來(lái)的散列值與其收到的散列值相同,則表示它們之間沒(méi)有NAT設(shè)備,否則,在傳輸過(guò)程中對(duì)地址或者端口進(jìn)行了轉(zhuǎn)換,即IPSEC報(bào)文進(jìn)行了 NAT穿越的處理,同時(shí)可以獲知通信雙方中哪臺(tái)設(shè)備是位于NAT設(shè)備之后(即私網(wǎng)側(cè))。
[0107]其次,通信雙方將在IKE第二階段協(xié)商過(guò)程中分別建立轉(zhuǎn)換表項(xiàng)(由私網(wǎng)側(cè)的設(shè)備發(fā)起協(xié)商),如圖5所示,協(xié)商雙方將在消息中插入NAT-OA載荷(或用戶自定義載荷)承載原始IP地址和端口號(hào)。例如,對(duì)于發(fā)起者,NAT-OAi為原始發(fā)送方IP地址+端口號(hào),NAT-OAr為當(dāng)前所知對(duì)端IP地址;對(duì)于接受方即響應(yīng)方,NAT-OAi為當(dāng)前所知道的對(duì)端IP地址+端口號(hào),NAT-OAr為響應(yīng)方IP地址,以圖3為例:
[0108]私網(wǎng)側(cè):NAT-OAi=1.42.48.1+4500 ;NAT-0Ar=20.22.1.1
[0109]公網(wǎng)側(cè):NAT-0Ai=201.100.1.1+15000 ;NAT_0Ar=20.22.1.1
[0110]同時(shí)通信雙方還將通過(guò)安全提議攜帶報(bào)文封裝載荷來(lái)協(xié)商所使用的報(bào)文封裝模式:UDP-Encapsulated_Tunnel用于UDP封裝tunnel模式Ipsec報(bào)文;UDP-Encapsulated-Transport 用于 UDP 封裝 Transport 模式 Ipsec 報(bào)文。由于某些 NAT 設(shè)備可以感知IKE報(bào)文并做一些特殊處理,為了避免這種情況發(fā)生,RFC文檔規(guī)定UDP封裝的源端口和目的端口號(hào)均固定為4500。
[0111]通信雙方建立的NAT轉(zhuǎn)換表如圖6所示,公網(wǎng)側(cè)收到私網(wǎng)側(cè)的IKE協(xié)商報(bào)文后,從NAT-OAi中提取原始發(fā)送方I
當(dāng)前第3頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1