亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        IPSec與NAT協(xié)同工作的研究

        2008-04-12 00:00:00許杰星
        現(xiàn)代電子技術(shù) 2008年19期

        摘 要:因特網(wǎng)網(wǎng)絡(luò)層安全協(xié)議( IPSec)和網(wǎng)絡(luò)地址翻譯 (NAT)不兼容,這嚴(yán)重限制了IPSec的應(yīng)用范圍。在分析IPSec與NAT不兼容原因、討論IPSec與NAT協(xié)同工作的一些方法及所存在的問題的基礎(chǔ)上,對UDP封裝IPSec數(shù)據(jù)包方法中所存在的安全隱患,以及在NAPT環(huán)境下,外出的數(shù)據(jù)根據(jù)SPD的選擇符無法正確定位SAD中的SA問題,提出了解決辦法。

        關(guān)鍵詞:IPSec;網(wǎng)絡(luò)地址翻譯;虛擬專用網(wǎng);UDP封裝

        中圖分類號:TP309文獻(xiàn)標(biāo)識碼:A文章編號:1004373X(2008)1909104

        Research on the Coordination between IPSec and NAT

        XU Jiexing

        (Library,Anhui University of Technology,Maanshan,243002,China)

        Abstract:Application range of IP security protocol(IPSec) is badly restricted due to the incompatibility of IPSec and Network Address Translator (NAT).On the basis of analyzing the cause of the incompatibility between IPSec and NAT,and discussing the methods and the problems of the coordination between IPSec and NAT,this paper puts out the solution to hidden secure trouble about UDP encapsulation IPSec packet,to the circumstance of Network Address and Port Translation(NAPT),output data is unable to locate SA probloms in Secure Association Database(SAD) correctly by selector in Secure Policy Database(SPD).

        Keywords:IPSec;network address translator;virtual private network;UDP encapsulation

        1 引 言

        隨著各種網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,人們越來越重視網(wǎng)絡(luò)上數(shù)據(jù)傳輸?shù)陌踩?,VPN(Virtual Private Network)技術(shù)得到了廣泛應(yīng)用。VPN是近年來網(wǎng)絡(luò)應(yīng)用中不可缺少的營運模式,VPN把數(shù)據(jù)封裝在隧道協(xié)議中,利用已有的公網(wǎng)建立專用隧道,實現(xiàn)端到端的連接。VPN技術(shù)中,又以IPSec的保密性最為完整,系VPN技術(shù)主流。

        IPSec是一種由IETF設(shè)計的基于通訊的數(shù)據(jù)安全機制,極大地提高了TCP/IP協(xié)議的安全性,實現(xiàn)了在主機或安全網(wǎng)關(guān)環(huán)境中對IP傳輸?shù)谋Wo,但其所使用的加密技術(shù)卻造成了與NAT技術(shù)的不兼容。本文在對IPSec和NAT不兼容性分析的基礎(chǔ)上,討論IPSec與NAT協(xié)同工作的一些方法及所存在的問題,并提出改進(jìn)辦法。

        2 IPSec和NAT原理及不兼容性分析

        2.1 IPSec

        IPSec協(xié)議是應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括認(rèn)證頭協(xié)議(AH)、封裝安全載荷協(xié)議(ESP)、密鑰管理協(xié)議(IKE)和用于網(wǎng)絡(luò)認(rèn)證及加密的算法等。

        IKE動態(tài)協(xié)商通信雙方的加密/認(rèn)證密鑰及算法等信息,建立安全關(guān)聯(lián)(SA)。AH為IP包提供數(shù)據(jù)源認(rèn)證、數(shù)據(jù)完整性和抗重放攻擊等保護,但不能保密。ESP為IP包提供數(shù)據(jù)機密性、數(shù)據(jù)完整性、數(shù)據(jù)源認(rèn)證和抗重放攻擊等保護。AH和ESP都有兩種工作模式:傳輸模式和隧道模式,兩種模式的區(qū)別在于它所保護的數(shù)據(jù)內(nèi)容不同,一個是IP包,一個是IP載荷。在實際應(yīng)用中并不采用隧道模式中的AH,因為它所保護的數(shù)據(jù)與傳輸模式中的AH所保護的數(shù)據(jù)是一樣的。圖1是應(yīng)用AH或ESP的傳輸模式所形成的數(shù)據(jù)包的格式,圖2是應(yīng)用ESP的隧道模式所形成的數(shù)據(jù)包格式。

        2.2 NAT

        NAT是對不同地址域內(nèi)的地址進(jìn)行轉(zhuǎn)換的一種方法,通過在地址域邊界對不同的地址和端口進(jìn)行轉(zhuǎn)換并維持這個轉(zhuǎn)換的映射關(guān)系,可以使不同地址域的主機之間透明地進(jìn)行數(shù)據(jù)傳輸。NAT有3種類型:靜態(tài)NAT、動態(tài)NAT、網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT[2]。靜態(tài)NAT將每一個私有IP地址固定映射到一個合法的公網(wǎng)IP地址;動態(tài)NAT將私有IP地址動態(tài)映射成NAT網(wǎng)關(guān)某個未分配的公網(wǎng)IP地址;NAPT將私有IP地址映射到NAT網(wǎng)關(guān)一個合法公網(wǎng)IP地址的不同端口[ 1 ]。NAT很大程度上緩解了IPv4網(wǎng)絡(luò)中IP地址緊張的問題,并使得內(nèi)外網(wǎng)絡(luò)隔離,從而提供一定的網(wǎng)絡(luò)安全保障。

        2.3 IPSec和NAT間的不兼容性分析

        IPSec和NAT之間存在多個方面的不兼容性,主要包含AH、ESP分別與NAT之間的不兼容以及IKE與NAT之間的不兼容[3]。

        (1) IPSec AH和NAT間的不兼容性。由于AH頭部將IP源地址和目標(biāo)地址包含在完整性校驗中,NAT設(shè)備對地址域的改變將使得完整性檢查失敗。

        (2) 校驗和與NAT間的不兼容性。TCP和UDP在計算校驗和時使用了偽頭部,因而校驗和與IP源和目的地址有依賴關(guān)系。但數(shù)據(jù)包通過NAT設(shè)備后,源地址或目的地址將會發(fā)生改變,在接收處將會檢驗到校驗和不一致,丟棄此數(shù)據(jù)包。

        (3) 固定的IKE目標(biāo)端口和NAPT間的不兼容性。IPSec的某些實現(xiàn)使用UDP端口500同時作為源和目標(biāo)端口號。然而對于一個位于NAT之后的IPSec對話方,NAT會改變初始IKE主模式包的源端口號,所以來自500之外的其他端口的IKE數(shù)據(jù)包可能會被接收方丟棄。

        (4) IKE地址標(biāo)識符與NAT間的不兼容性。在IKE協(xié)商第一階段或第二階段中使用IP地址作為標(biāo)識符,則NAT設(shè)備對IP源或目的地址的修改會引起IP頭中的地址和標(biāo)識符不符。IKE實現(xiàn)會將這樣的包丟掉。

        (5) 重疊的SPD(Secure Policy Database)項和NAT的不兼容性。在IKE協(xié)商的第二階段中,NAT后的主機對相同響應(yīng)者IP地址協(xié)商重疊的SPD項,響應(yīng)者可能在錯誤的IPSec SA下發(fā)送數(shù)據(jù)包。

        (6) NAT無法多路傳輸IPSec數(shù)據(jù)包。ESP保護的IPsec數(shù)據(jù)包中的TCP或UDP報頭被加密,因此無法通過TCP或UDP端口號將數(shù)據(jù)包多路傳輸?shù)綄S镁W(wǎng)內(nèi)不同的主機。

        (7) 內(nèi)嵌的IP地址和NAT間的不兼容性。由于載荷受到完整性保護,IPSec包中的任何IP地址不能被NAT轉(zhuǎn)換。因此某些協(xié)議,如FTP、SNMP等,在IPSec和NAT并存的環(huán)境中不能正常應(yīng)用。

        3 IPSec與NAT間協(xié)同工作方法討論

        3.1 RSIP

        用RSIP(Realm Specific IP)替代NAT。RSIP是指在不同地址域通信的主機自己能處理跨越不同地址域的地址變換問題。一般在私有網(wǎng)絡(luò)和公共網(wǎng)絡(luò)的邊界上部署一臺RSIP服務(wù)器,實現(xiàn)地址映射。

        RSIP采取C/S模式,當(dāng)RSIP客戶機要與公共網(wǎng)絡(luò)上主機通信的時候,它查詢RSIP服務(wù)器以便獲得一個端口號和公網(wǎng)IP地址。接著客戶機通過隧道將包發(fā)往RSIP服務(wù)器,RSIP服務(wù)器將隧道頭剝掉,然后將包發(fā)向互聯(lián)網(wǎng)。對于到達(dá)的包RSIP服務(wù)器基于端口號查找客戶機IP地址,加入隧道頭,然后將它們發(fā)往RSIP客戶機。

        RSIP雖解決了IPSec和NAT的沖突問題, 但也有缺點,它要求IPSec設(shè)備實現(xiàn)RSIP的客戶端協(xié)議;在IKE重建密鑰時,要修改IKE源端口,可能無法與現(xiàn)有IPSec協(xié)同工作;要求將NAT網(wǎng)關(guān)升級為RSIP網(wǎng)關(guān),花費較大[4]。

        3.2 6 to 4

        6 to 4方案的基本原理是[5]:相互通信的主機均使用IPv6協(xié)議棧,IPSec協(xié)議在IPv6協(xié)議棧中實現(xiàn)。在IPv6網(wǎng)絡(luò)邊界安裝NAT。發(fā)送時,當(dāng)IPv6的數(shù)據(jù)報到達(dá)NAT時,NAT提取IPv6的地址前綴作為IPv6數(shù)據(jù)報的IPv4隧道地址,NAT把IPv6數(shù)據(jù)包封裝在IPv4數(shù)據(jù)包中發(fā)送出去;接收時,相應(yīng)的NAT作IPv4隧道的解封,解封后的數(shù)據(jù)包在局部網(wǎng)絡(luò)中用IPv6協(xié)議進(jìn)行路由。

        由于6 to 4方案要求給NAT配置一個可路由的IPv4地址來產(chǎn)生IPv6前綴,當(dāng)在客戶端和VPN網(wǎng)關(guān)中存在多個NAT設(shè)備時,此方案將不適用,同時,6 to 4方案雖然對已經(jīng)支持IPv6的主機無需作太多的變更,但需要改變目前的NAT設(shè)備配置。

        3.3 UDP封裝方案

        因為NAT通過改變IP地址和傳輸端口號來使數(shù)據(jù)包從一個地址空間傳輸?shù)搅硪粋€地址空間,但由于IPSec協(xié)議頭在IP頭之后,而傳輸層協(xié)議數(shù)據(jù)單元作為IPSec協(xié)議的有效載荷,這對純地址翻譯來說,可通過在IP頭中修改地址來完成地址翻譯,而對地址端口翻譯來說,它要修改數(shù)據(jù)包的端口,當(dāng)端口在傳輸協(xié)議頭中被IPSec加密后,NAPT就不能修改傳輸協(xié)議頭來作地址端口翻譯。

        用UDP協(xié)議封裝IPSec協(xié)議數(shù)據(jù)單元,是在IPSec協(xié)議頭前面加上一個UDP協(xié)議頭,在通信中間系統(tǒng)上看到傳輸?shù)氖荱DP數(shù)據(jù)包,IPSec數(shù)據(jù)包作為UDP協(xié)議的用戶數(shù)據(jù),其實質(zhì)是在通信實體之間建立一個UDP隧道,用UDP隧道來穿越NAT設(shè)備[6]。

        4 UDP協(xié)議封裝方案

        4.1 UDP協(xié)議封裝方案的總體構(gòu)架

        UDP協(xié)議封裝方案的總體構(gòu)架[7]如圖3所示:通信雙方首先通過交換Vendor ID信息來探測對方是否支持NAT穿越;如果驗證通過,則繼續(xù)互相發(fā)送NAT-D(NAT Discovery)數(shù)據(jù)包來探測通信雙方之間是否存在NAT設(shè)備;一旦探測到NAT設(shè)備存在后,通信發(fā)起方就將通信端口改為4500端口后繼續(xù)協(xié)商,并且在進(jìn)行IPSec處理后協(xié)商UDP封裝模式并進(jìn)行UDP模式封裝(封裝模式如圖4、圖5所示);IPSec發(fā)起協(xié)商的一方定時發(fā)送keep-alive消息判斷連接是否存在,以保證NAT網(wǎng)關(guān)對其UDP端口的動態(tài)映射不被刪除。

        4.2 UDP封裝方案的分析

        (1) UDP封裝方案只適用于ESP協(xié)議。由于AH協(xié)議要認(rèn)證整個IP數(shù)據(jù)包,與NAT沖突,在UDP封裝方案中也沒有解決,但ESP協(xié)議完全可以代替AH協(xié)議完成所需的功能[8]

        (2) UDP封裝方案在總體上對IPSec與NAT的不兼容性問題有了較好的解決,方案所付出的額外代價不是很高。

        (3) 安全性上存在一些隱患。在探測通信雙方是否存在NAT時,通信雙方通過發(fā)送NAT-D載荷,每個NAT-D載荷包含一個HASH值。通信雙方在主模式第3、第4個包,野蠻模式第2、第3個包中交換NAT-D載荷。實現(xiàn)過程如下:發(fā)送方首先利用對方IP地址和端口號(500)進(jìn)行HASH運算,然后利用本機的IP地址和端口號進(jìn)行HASH運算,將結(jié)果分別放在NAT-D載荷中, 發(fā)送給對方。響應(yīng)方在處理時,首先利用本機的IP地址和端口號(500)進(jìn)行相應(yīng)HASH運算,察看結(jié)果是否與接收到的第一個NAT-D載荷中的HASH值相同,若不相同則證明自己在NAT后;然后利用收到的IP包的IP地址和端口號進(jìn)行相應(yīng)HASH運算,若與后面的NAT-D中的HASH值不同,則說明對方在NAT后。

        攻擊者可能會修改NAT-D載荷中的HASH值,使通信雙方在沒有NAT存在的情況下使用UDP封裝,這會浪費網(wǎng)絡(luò)帶寬,浪費通信雙方的CPU資源。當(dāng)網(wǎng)關(guān)與數(shù)量較多客戶端連接時,這種攻擊會使網(wǎng)關(guān)不能正常工作。

        (4) 在NAPT環(huán)境下,當(dāng)NAT后的多個主機向外網(wǎng)安全網(wǎng)關(guān)建立安全連接時,外部安全網(wǎng)關(guān)會產(chǎn)生多個地址相同(NAPT的公網(wǎng)地址),SPI不同的SA。對于進(jìn)入的數(shù)據(jù)根據(jù)ESP頭中的SPI值可以定位SA,但是對于外出的數(shù)據(jù)根據(jù)SPD(Secure Policy Database)的選擇符無法定位SAD(Secure Association Database)中正確的SA。

        4.3 UDP封裝方案中問題解決辦法

        對4.2中(3)的問題,本文的解決辦法是進(jìn)行2次HASH運算,即對由IP地址和端口號得出的HASH值(稱為HASH-l) 再次進(jìn)行HASH運算(結(jié)果稱為HASH-2)。在這種設(shè)計下響應(yīng)方首先利用(HASH-2)對HASH-1的有效性進(jìn)行驗證,方法是利用接收到的HASH-1進(jìn)行規(guī)定的HASH運算。若與接收到的HASH-2不相同,載荷無效丟棄;若與接收到的HASH-2相同,則利用HASH-1檢查是否存在NAT。

        NAT-D載荷的格式如圖6所示。

        設(shè)計中所使用的HASH運算表達(dá)式如下:

        HASH-1=HASH(CKY-I︱CKY-R︱IP︱PORT)

        HASH-2=HASH(CKY-I︱CKY-R︱HASH-1)

        CKY-I,CKY-R分別為發(fā)起方(I)和響應(yīng)方(R)IKE協(xié)商中的COOKIE值,IP為地址,PORT為本地端口號。

        對4.2中(4)問題,本文的解決辦法是利用NAT后主機的私有地址作為目的地址定位SA。即通過把私有地址傳到對方,并在對方主機中維護一個映射表,映射表中包含NAT轉(zhuǎn)換后的公網(wǎng)地址、端口號與私有地址的對應(yīng)關(guān)系,在響應(yīng)數(shù)據(jù)包時查找映射表中所對應(yīng)的私有地址進(jìn)而定位SA進(jìn)行IPSec處理。

        UDP-ESP封裝模式下是通過NAT-OA(NAT Original Address)載荷來傳送地址。NAT-OA載荷在IKE協(xié)商的快速模式的第一個和第二個包發(fā)送。如果發(fā)起者選擇的是UDP封裝ESP傳輸模式那他必須發(fā)送NAT-OA載荷,同樣響應(yīng)者也必須發(fā)送。

        由此,不論是否ESP傳輸模式,雙方在快速模式中都要發(fā)送NAT-OA載荷,并且雙方就利用這個載荷建立映射表(NAT轉(zhuǎn)換后的公網(wǎng)地址、端口號與私有地址的對應(yīng)關(guān)系),這樣的話雙方原始地址均安全送達(dá)對方。

        另一個要考慮的問題就是映射表的維持。本文采用的方式不是每個IP數(shù)據(jù)包都攜帶原始地址信息,而是利用IKE的通知載荷定期傳送,通過在通知載荷中

        增加一個通知消息類型(NOTIFY-NAT-OA)用于傳送原始地址信息。由于通知載荷是在雙方SA建立后傳送,所以載荷是加密的。

        5 結(jié) 語

        IPSec和NAT不兼容制約了IPSec的使用范圍?;赨DP封裝IPSec數(shù)據(jù)包方案基本消除了導(dǎo)致IPSec和NAT沖突的根源,較好地解決IPSec和NAT的不兼容性問題。但要注意的是,IPSec與NAT的矛盾根深蒂固,因而從根本上解決它不大可能,研究和改進(jìn)的目的就是用盡可能少的代價在一定的條件下解決一些問題,為我們所用。

        參考文獻(xiàn)

        [1]Srisuresh P,Egevang K.Traditional IP Network Address Translator.RFC 3022,January 2001.http://www.ietf.org/rfc/rfc3022.txt.

        [2]謝希仁.計算機網(wǎng)絡(luò)[M].5版.北京:電子工業(yè)出版社,2008.

        [3]Aboba B,Dixon W.IPSec-NAT Compatibility Requirements.RFC3715,2004.

        [4]彭近兵,龍翔,高小鵬,等.一種新的IPSec穿越NAT方法[J].北京航空航天大學(xué)學(xué)報,2007,33(1):65-66.

        [5]Carpente B,Moore K.Connection of IPv6 Domains via IPv4 Cloud.RFC 3056,2001.

        [6]姚志林,劉淑芬,韓正服.IPSec的NAT兼容性改進(jìn)[J].吉林大學(xué)學(xué)報:理學(xué)版,2005,43(4):450-54.

        [7]Huttunen A,DiBurro L.UDP Eneapsulation of IPSec Packets.IETF RFC 3948,2005.

        [8]潘登,徐佩霞.一種新的IPSec穿越NAT方案[J].小型微型計算機系統(tǒng),2005,26(2):196-198.

        作者簡介 許杰星 男,1960年出生,副教授/計算機應(yīng)用專業(yè)碩士,現(xiàn)任安徽工業(yè)大學(xué)圖書館館長。主要研究方向為計算機網(wǎng)絡(luò)安全、管理信息系統(tǒng)。

        放荡的美妇在线播放| 成在线人免费视频播放| 精品久久中文字幕一区| 国产免费观看黄av片| 无码人妻一区二区三区在线视频| 亚洲 成人 无码 在线观看| 亚洲精品一区二区三区国产| 日韩三级一区二区三区| 亚洲精品午夜无码专区| 午夜高清福利| 丝袜美腿诱惑一二三区| 亚洲成av人片在线观看| 超薄丝袜足j好爽在线观看| 99久久99久久久精品久久| 我的极品小姨在线观看| 色综合久久蜜芽国产精品| 亚洲av无码av制服丝袜在线| 妺妺窝人体色www聚色窝| 亚洲高清一区二区精品| 亚洲一区亚洲二区中文字幕| 精品无码av无码专区| 亚洲男人的天堂网站| 亚洲精品成人国产av| 中文字幕有码在线人妻| 精品乱码一区内射人妻无码| 玩弄放荡人妻一区二区三区| 日本一区二区三区看片 | 亚洲а∨天堂久久精品2021| 中文字幕乱偷乱码亚洲| 日本二区三区在线免费| 国产av一区二区三区天堂综合网| 婷婷丁香社区| 久久伊人精品只有这里有| 国产精品久久久三级18| 中文字幕精品一二三四五六七八| 国产成人久久蜜一区二区| 最近中文字幕精品在线| 无码字幕av一区二区三区| 久久综合成人网| 色偷偷亚洲精品一区二区| 亚洲国产精品无码久久久|