摘要:隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,Internet用戶及網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)了快速的發(fā)展,在這種情況下,導(dǎo)致因特網(wǎng)協(xié)議(IPv4)所能提供的IP地址空間難以滿足人們的消費(fèi)需求。然而IPSec和NAT存在本質(zhì)上的不兼容性,IPSec和NAT結(jié)合在一起使用將產(chǎn)生一系列嚴(yán)重問題。文章通過研究分析IETF提供的UDP封裝方案,同時分析了它的一個改進(jìn)方案,并找出其存在的不足,提出解決方案,一方面可以確保地址轉(zhuǎn)換的靈活性,另一方面能提供安全的通信服務(wù),進(jìn)而在一定程度上使IPSec和NAT協(xié)調(diào)工作。
關(guān)鍵詞:IP安全協(xié)議 網(wǎng)絡(luò)地址翻譯 NAT穿越 UDP封裝
0 引言
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,使得因特網(wǎng)(Intemet)用戶及網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)了快速的發(fā)展,進(jìn)而在一定程度上導(dǎo)致第四版因特網(wǎng)協(xié)議(IPv4)所提供的IP地址空間難以滿足市場需求。對于地址空間短缺的問題,IPv6可以從根本上予以解決。但是,由IPv4遷移到IPv6,在這一遷移過程中,通常情況下,需要通過協(xié)議轉(zhuǎn)換的方式對現(xiàn)行網(wǎng)絡(luò)基礎(chǔ)實(shí)施進(jìn)行管理,在這種情況下使得這一過程非常緩慢。同時,NAT可以保護(hù)內(nèi)網(wǎng)安全,內(nèi)網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)等信息通過IP進(jìn)行隱藏(IPmasquerade),進(jìn)一步實(shí)現(xiàn)保護(hù)功能。通過基于NAT的私有網(wǎng)絡(luò)和因特網(wǎng)的網(wǎng)絡(luò)邊界時,IPSec通信數(shù)據(jù)包就會產(chǎn)生一系列的問題。對于IPSec來說,作為IPV6的組成部分,需要一種解決方案,一方面確保地址轉(zhuǎn)換的靈活性,另一方面提供安全的通信服務(wù)。
1 IPSec和NAT技術(shù)
IPSec(IPseeurity)[1]作為一種機(jī)制,確保Ip層的通信安全。對于IPSec來說,這是一組協(xié)議,而不是一個單獨(dú)的協(xié)議,這一點(diǎn)對于認(rèn)識IPSec很重要。在內(nèi)容方面,IPSec協(xié)議的定義文件通常情況下包括12個RFC文件和幾十個Iniemet草案,這些已經(jīng)成為工業(yè)標(biāo)準(zhǔn)中的網(wǎng)絡(luò)安全協(xié)議。
IP協(xié)議在當(dāng)初設(shè)計(jì)時并沒有過多的考慮安全問題, 進(jìn)而在一定程度上導(dǎo)致IP通信會受到各種威脅,主要表現(xiàn)為:竊聽、篡改、IP欺騙等。由于沒有采取任何安全措施對IP協(xié)議進(jìn)行保護(hù),并且沒有對數(shù)據(jù)包的內(nèi)容進(jìn)行完整性驗(yàn)證,以及進(jìn)行加密處理等,在這種情況下使得IP協(xié)議缺乏必要的安全性。IPsec包含了3個最重要的協(xié)議:AH[2]、ESP[3]和IKE[4]。
NAT(Network Address Translation)網(wǎng)絡(luò)地址轉(zhuǎn)換,是目前IPv4向IPv6趨進(jìn)的過程中廣泛使用的一種技術(shù),是一種IP地址及TU端口映射的方法,這是一個IETF標(biāo)準(zhǔn),在Intemet上允許一個機(jī)構(gòu)以一個地址出現(xiàn)。通過重寫IP數(shù)據(jù)包的頭部,NAT對TU端口進(jìn)行改變,進(jìn)而在一定程度上完成從局域網(wǎng)地址空間到廣域網(wǎng)地址空間的映射。
2 IPSec和NAT之間的兼容性及解決方案
在安全性(IPSec)方面,Internet 協(xié)議是一種開放標(biāo)準(zhǔn)的框架結(jié)構(gòu),為了確保在Internet協(xié)議(IP)網(wǎng)絡(luò)上的安全性,通過使用加密安全服務(wù)的方式確保通訊的安全性。
對于兼容性方面的問題,可以用RISP替代NAT、“6to4”方法和用UDP封裝IPSec的方式進(jìn)一步解決這個問題。
3 IETF的UDP封裝方案分析
3.1 UDP封裝方案運(yùn)行過程
采用浮動IKE端口號和UDP封裝方案的總體框架,如圖1所示:
運(yùn)行的過程:
第一步:判斷對方是否支持穿透NAT的功能。
第二步:探測通信雙方之間是否存在NAT。
第三步:協(xié)商UDP封裝模式。
第四步:發(fā)送方對正常的IPSec數(shù)據(jù)包進(jìn)行UDP封
裝。
第五步:通信雙方要定期發(fā)送NAT-Keepalive載荷,進(jìn)一步解決NAT中地址和端口映射失效問題。
3.2 IETF的UDP封裝方案的分析
①在實(shí)踐中,對于NAT的穿越問題,通過該方案可以得到解決,同時可以解決動態(tài)、靜態(tài)的NAT。
②該方案只適用于ESP協(xié)議。
③在NAPT環(huán)境下,外部安全網(wǎng)關(guān)會在NAT后的多個主機(jī)向外網(wǎng)安全網(wǎng)關(guān)建立安全連接時,產(chǎn)生多個相同地址。
對于本方案來說,泄漏了內(nèi)網(wǎng)地址信息這是該方案的最大的不足。通過對圖2、3進(jìn)行分析,發(fā)現(xiàn)在加密或認(rèn)證區(qū)域沒有私有IP地址域,那么就可能泄漏內(nèi)網(wǎng)地址信息或網(wǎng)絡(luò)結(jié)構(gòu)。
4 改進(jìn)后的解決方案設(shè)計(jì)及分析
方案的思路:安全、高效地將NAT后的主機(jī)的私有地址傳送給對方。
安全性方面:首先通過密文方式進(jìn)行傳送,將原始(original)源地址和目的地址在UDP-ESP封裝模式下傳送給對方,進(jìn)而在一定程度上通過TCP檢驗(yàn)。
NAT-OA載荷在IKE協(xié)商的快速模式的第一個和第二個包發(fā)送。
我們采用的方式不是每個IP數(shù)據(jù)包都攜帶原始地址信息,而是定期傳送,我們提出的方法是利用IKE的通知載荷如圖4。
5 結(jié)束語
在IP層,IPSec安全體系為數(shù)據(jù)提供完整性、保密性服務(wù),同時作為IP的下一個版本(IPV6)強(qiáng)制性組件,會長期存在和發(fā)展。由于IPV6提供了足夠的地址空間,但是NAT面臨消失的困境,所以IPSec和NAT的斗爭將長期存在。
參考文獻(xiàn):
[1]Kent,StePhenandAtakinson,Randall,TheSeeurityArehite-
eturefortheIntemet Protoeol.RFC2401,1998.
[2]Kent,StePhen,Atakinson,Randall,IPAuthentieationHeader.
RFC2402,1998.
[3]Kent,StePhen,Atakinson,Randall,IPEneapsulatingPayload.
RFC2406,1998.
[4]Harkins,D.,Carrel,D.:TheInternetKeyExehange(IKE),IETF,RFC2409,1998.
作者簡介:王亮(1980-),山東青島人,青島遠(yuǎn)洋船員職業(yè)學(xué)院 副教授。