摘要:IPv6通過更好地支持IPSec機制,使得數(shù)據(jù)包的加密和身份認證技術的實現(xiàn)變得更加容易。該文將對IPSec機制進行研究,并對IPv6的安全隱患做了簡單的闡述。
關鍵詞:IPv6; IPSec; SA; AH; ESP; 安全隱患
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)26-7379-02
Reserch on IPv6 Security
AN Bao-kun
(Tibet University, Department of Information and Network Technology in Library and Modern Education Technology Center, Lhasa 850000, China)
Abstract: Through better supporting for IPSec, IPv6 will make packet encryption and authentication technologies easier. In this paper, we will study the mechanism of IPSec, and introduce the hidden trouble of IPv6 security.
Key words: IPv6; IPSec; SA; AH; ESP; hidden trouble
IPv6技術的提出就是為了解決IPv4技術所帶來的一系列問題,如地址空間的危機、路由表過大的問題、網(wǎng)絡配置和管理所存在的復雜性問題、IP選項問題,特別是IP安全性問題等等。雖然IPv6技術解決了IPv4所存在的大部分問題,但是其存在的新問題也出現(xiàn)了,尤其是安全方面的隱患應該更加引起我們的重視。
1 IPSec
IPv4的設計初衷只是為了實現(xiàn)簡單地連接功能,而并沒有考慮到安全性方面的問題,如果IPv4只是用在實驗中,缺乏安全性并不是一個嚴重的缺陷。但是隨著網(wǎng)絡在商用和民用中被廣泛地使用,安全性方面的要求與日俱增。RCF1825定義了IPSec,它提供了IP的安全性體系結(jié)構(gòu)。它對于IPv4和IPv6均適用,但是在IPv6中更容易實現(xiàn)。
IPSec提供的安全服務包括:數(shù)據(jù)私有性、基于無連接的數(shù)據(jù)完整性、數(shù)據(jù)報來源認證、訪問控制、抗數(shù)據(jù)重發(fā)攻擊以及一定程度上的數(shù)據(jù)流量私有性等。在IPv4中這些服務放在選項字段里。在IPv6中則用現(xiàn)有的頭字段ESP和AH兩個安全協(xié)議來實現(xiàn)。
IPSec主要由三個協(xié)議構(gòu)成:AH、ESP、IKE(Internet Key Exchange)。其中IKE用于協(xié)商信源節(jié)點和信宿節(jié)點間保護IP報文的AH和ESP的相關參數(shù),如加密、認證的算法和密鑰、密鑰生存期等,稱之為安全聯(lián)盟。其中AH和ESP是網(wǎng)絡層協(xié)議,IKE是應用層協(xié)議,使用的是UDP數(shù)據(jù)報格式。
AH字段為IP數(shù)據(jù)報提供了完整性服務、身份驗證,并且防止重放攻擊。ESP頭提供了數(shù)據(jù)報的機密性服務,通過使用公共密鑰加密對數(shù)據(jù)來源進行身份驗證,防止重放攻擊和通過使用安全網(wǎng)關來提供有限的業(yè)務料機密性。IKE協(xié)議用于協(xié)商AH和ESP協(xié)議所使用的密碼算法,并將算法所需的必備密鑰放在合適的位置。通過使用安全關聯(lián)SA(Security Association),IPSec能夠區(qū)分對不同的數(shù)據(jù)流提供的安全服務。
SA是IPSec的基礎。安全性關聯(lián)通過一個三元組<安全參數(shù)索引(SPI),安全協(xié)議,目的IP地址>來唯一標識一個安全性連接。安全參數(shù)所以(SPI)指出使用SA的IP頭類型是AH還是ESP,占32位長度,用于對SA進行標識及區(qū)分同一個目標地址的多個SA。SA是單向的,進行安全通信的兩個系統(tǒng)有兩個不同的SA,每個目的地址對應一個。安全關聯(lián)數(shù)據(jù)庫用來存放安全關聯(lián),每一個安全關聯(lián)都在數(shù)據(jù)庫中有唯一的記錄,都可以通過SPI、目的IP地址和安全協(xié)議來定位。另外安全關聯(lián)數(shù)據(jù)庫中的記錄還包括:包序列號、AH采用的算法和密鑰、ESP所采用的算法和密鑰、安全關聯(lián)的生命周期等。
IPSec有兩種模式可供選擇,分別是隧道模式和傳輸模式。定義用于隧道操作模式的SA稱為隧道模式SA,而定義用于傳輸模式的SA稱為傳輸模式SA。傳輸模式如圖1所示,兩個系統(tǒng)(A和B)建立了SA,其中負責發(fā)送的系統(tǒng)對業(yè)務流進行加密或者簽名,然后發(fā)送給目的方。負責接收數(shù)據(jù)的一方首先對收到的數(shù)據(jù)報進行解密或者身份驗證,把凈荷向上出送給接收系統(tǒng)的網(wǎng)絡棧,由使用數(shù)據(jù)的應用進行最后的處理。而這種處理的缺點在于IP頭必須要暴露出來以便在Internet選路。
在隧道模式中,SA的源節(jié)點和目的節(jié)點均為安全性網(wǎng)關。如圖2所示,來自源節(jié)點A的數(shù)據(jù)包首先被傳送到安全性網(wǎng)關X,由X建立一條跨Internet目的節(jié)點為安全性網(wǎng)關Y的隧道,由Y對收到的數(shù)據(jù)包進行解密或者身份驗證并轉(zhuǎn)發(fā),Y可以將數(shù)據(jù)報轉(zhuǎn)發(fā)給本地網(wǎng)絡的任何節(jié)點,如B、C、D,也可以轉(zhuǎn)發(fā)給外部主機M,這由數(shù)據(jù)包的最終目的地址所決定。
1.1 身份驗證頭(AH)
AH可以在隧道模式和傳輸模式下使用。當AH與其他擴展頭一起使用時,必須置于那些被中間路由器處理的擴展頭之后,以及那些只能由目的地處理的擴展頭之前。也就是說AH應置于逐跳擴展頭、選路擴展頭或分段擴展頭之后。根據(jù)不同的情況,AH可以在目的地選項擴展頭之前或者之后。當用于傳輸模式時,AH保護IP數(shù)據(jù)報的凈荷,也保護在數(shù)據(jù)傳輸時不發(fā)生變化的IP頭。
在隧道模式中初始的IP數(shù)據(jù)報被重新封裝在新的IP數(shù)據(jù)報中,整個的IP數(shù)據(jù)報得到了AH的保護。如圖3所示。
AH頭中包含以下字段:
1)下一個頭字段:與之前所述的IPv6擴展頭里面的相同。
2)凈荷長度。占8位長度,用于指出AH的整個長度,其值以32位字為單位,并減去2。
3)保留。此16位為保留字段,必須全部置0。
4)安全性參數(shù)索引(SPI)。與目的IP地址和安全性協(xié)議一起標識出唯一的一個SA。如果SPI值為0,則表示只用于本地而不予傳送;值1~255被Internet分配給號碼授權(quán)機構(gòu)(IANA)保留作將來使用。
5)序列號。占32位,是一個必備的計數(shù)器,由發(fā)送者插入IP頭,但不一定由接收者使用。該計數(shù)器從0開始計數(shù),每發(fā)送一個數(shù)據(jù)報,其值增加1,用于預防重放攻擊。如果接收者發(fā)現(xiàn)接收到的數(shù)據(jù)報中的序列號小于或等于已收到的數(shù)據(jù)報中的序列號,則將該報丟棄。若計數(shù)器的值到達了232,則通知發(fā)送方重新建立SA。
6)身份驗證數(shù)據(jù)。此字段包含完整性檢查值(ICV),這是AH的核心。接收方收到數(shù)據(jù)后解密并計算ICV,若與明文中的ICV不同,則將該數(shù)據(jù)報丟棄。
1.2 封裝安全凈荷頭(ESP)
ESP頭與AH頭類似,即可用于隧道模式也可用于傳輸模式。在傳輸模式中ESP被安置于AH頭之后,如果該報中無AH頭,則ESP頭代替AH的位置,但與之不同的是任何的目的選項擴展頭即可以在ESP頭之前也可以在之后,或者前后都有,在ESP頭之后的擴展頭被加密。在隧道模式中,ESP頭對整個IP數(shù)據(jù)報進行封裝,并作為IP頭的擴展將數(shù)據(jù)報定向到安全性網(wǎng)關。ESP頭與AH頭的結(jié)合有幾種不同的方式,例如以隧道方法傳送的數(shù)據(jù)報可能有傳輸模式下的AH。
ESP頭的結(jié)構(gòu)如下:
1)安全參數(shù)索引(SPI)。與AH中的32位SPI值相同。
2)序列號。與AH中的序列號字段的定義和功能相同。
3)凈荷數(shù)據(jù)。可變長度,包含數(shù)據(jù)報的加密部分和加密算法需要的補充數(shù)據(jù)。
4)填充。凈荷數(shù)據(jù)必須在正確的邊界終止,因此有時候需要填充。
5)填充長度。指出填充字段的長度以便在接收端處理凈荷數(shù)據(jù)。
6)下一個頭。與其他IPv6擴展頭定義該字段的功能相同,不同的是它并不是位于擴展頭的開始,而是位于末端。
7)身份驗證數(shù)據(jù)。該字段是一個ICV,對除身份驗證數(shù)據(jù)本身之外的整個ESP頭進行計算。
2 IPv6的安全隱患
與IPv4相比較IPv6確實在保障網(wǎng)絡的安全性能方面有很大的提高,但是IPv6技術依然存在著問題。
首先,IPv6使用了IPSec技術,但這僅僅是一個網(wǎng)絡層協(xié)議,也就是說該協(xié)議只負責網(wǎng)絡層及其下層的網(wǎng)絡安全,對于應用層和傳輸層等上層來將,不能依靠IPSec負責其安全性。而下一代網(wǎng)絡的特性就是開放式接口增多,網(wǎng)絡應用、網(wǎng)絡速度和網(wǎng)絡規(guī)模都在原來的基礎上迅速地增長,一方面IPv4網(wǎng)絡所存在的一些安全性方面的問題,如網(wǎng)絡竊聽、DDOS攻擊、中間人攻擊、基于應用層的攻擊以及蠕蟲、木馬等病毒,在IPv6中并沒有被解決,而這些攻擊方式的原理并沒有發(fā)生什么變化,因此即便是采用了IPSec技術也很難阻止攻擊者對網(wǎng)絡進行的破壞性攻擊。IPv6引進新技術的同時,隨之而來的許多新的安全問題也出現(xiàn)了,這些新問題與在IPv4網(wǎng)絡環(huán)境下所遇到的安全性問題將會截然不同,如掃描、惡意移動主機的非授權(quán)訪問本地網(wǎng)絡、擴展頭和分段信息的修改、信息竊聽、地址偽造等等。另外如果基于IPv6技術通信的節(jié)點如果沒有用到IPSec技術將一樣的遭受IPv4網(wǎng)絡環(huán)境下相同的攻擊。另一方面IPv6技術不可能一蹴而就,IPv4和IPv6將會共存很長的時間,這就大大地增加了網(wǎng)絡的復雜性,并且可能出現(xiàn)新型的不為人知的攻擊方式。
其次,移動IPv6技術的實現(xiàn)將是網(wǎng)絡發(fā)展史上的一個里程碑,但是其中的安全問題尤為突出,比如:到目前為止還沒有一個滿意的認證模式,產(chǎn)品的安全功能內(nèi)嵌困難,密鑰的交換很困難等等。IPv6引入了一系列的新技術,這對傳統(tǒng)的基于IPv4的網(wǎng)絡安全工具來說是一個巨大的挑戰(zhàn)。IPSec加密和身份認證技術使得傳統(tǒng)的防火墻,IDS,安全審計和安全掃描工具的實現(xiàn)變得難上加難。因此有必要開發(fā)新一代的網(wǎng)絡安全工具,以促進IPv6技術的推廣。
3 結(jié)論
IPv6并不能完全地替代目前的網(wǎng)絡安全工具,并且對于基于IPv4的防火墻和IDS等網(wǎng)絡防范工具來說,IPv6所采用的新技術無疑對其是一項新的挑戰(zhàn)。攻擊者很可能采用加密、身份認證技術或者利用只能由目的主機處理的頭文件技術繞過防火墻直接攻擊內(nèi)部網(wǎng)絡。如果不對這些攻擊手段采取一定措施的話,下一代的網(wǎng)絡互聯(lián)技術將很難推廣。
參考文獻:
[1] Huitema C.新因特網(wǎng)協(xié)議IPv6[M].陶文星,胡文才,譯.北京:清華大學出版社,2000:98-116.
[2] 張俊.淺析IPv6的安全性[J].網(wǎng)絡安全技術與應用,2005(10):44-46.
[3] Savola P.Security of IPv6 Distribute Security Requirement,Internet-Draft draft-palet-v6ops-ipv6-security-ps-03[Z].2005.
[4] Savola P.Security of IPv6 Distribute Security Requirement, Internet-Draft draft-palet-v6ops-ipv6-security-ps-02[Z].2005.