一、引言
近年來(lái)基于IP傳輸協(xié)議的移動(dòng)通信發(fā)展迅速,但I(xiàn)Pv4地址短缺的事實(shí)成了限制其發(fā)展的“瓶頸”。IPv6與移動(dòng)通信的結(jié)合將為目前的Internet開(kāi)拓一個(gè)全新的領(lǐng)域。無(wú)線應(yīng)用將成為IPv6的“殺手級(jí)”應(yīng)用,同時(shí)也是展示IPv6巨大地址空間的舞臺(tái)。移動(dòng)互聯(lián)網(wǎng)上有許多新型而精彩的服務(wù),移動(dòng)IPv6將是實(shí)現(xiàn)這些服務(wù)的關(guān)鍵。當(dāng)越來(lái)越多的移動(dòng)終端需要配有IP地址時(shí),IPv6將為所有的移動(dòng)終端提供唯一的IPv6地址,并使得移動(dòng)終端更易于配置和管理,實(shí)現(xiàn)IPv6移動(dòng)終端之間隨時(shí)隨地的端到端通信。
在進(jìn)行移動(dòng)終端的通信中,必須保證移動(dòng)對(duì)用戶(hù)的透明性。“透明性”包括兩方面:一是使用移動(dòng)IPv6協(xié)議的移動(dòng)終端,無(wú)論是在移動(dòng)前還是移動(dòng)后,它總能被尋址,并且運(yùn)行在移動(dòng)終端上的應(yīng)用程序不用修改或重新配置仍然可用;二是移動(dòng)終端的通信性能不能因?yàn)橐苿?dòng)而下降。
本文將分析討論基于IPv6協(xié)議的移動(dòng)終端間的通信。我們首先分析了IPv6對(duì)移動(dòng)終端的支持和實(shí)現(xiàn)機(jī)制,然后研究了移動(dòng)終端在IPv6環(huán)境下的通信實(shí)現(xiàn),最后討論了移動(dòng)IPv6越區(qū)切換技術(shù)和安全性問(wèn)題。
二、移動(dòng)IPv6技術(shù)分析
根據(jù)現(xiàn)有的IP網(wǎng)絡(luò)的尋路機(jī)制,同一個(gè)IP子網(wǎng)的結(jié)點(diǎn)具有相同的網(wǎng)絡(luò)前綴,當(dāng)設(shè)備終端從一個(gè)子網(wǎng)移動(dòng)到另一子網(wǎng)時(shí),由于原來(lái)的IP地址的網(wǎng)絡(luò)前綴與當(dāng)前接入子網(wǎng)的網(wǎng)絡(luò)前綴不同,因此發(fā)送到該終端的分組就不能到達(dá)目的終端。
移動(dòng)IPv6為設(shè)備終端在移動(dòng)的同時(shí)能夠連續(xù)訪問(wèn)Internet提供了網(wǎng)絡(luò)層支持。它為移動(dòng)的設(shè)備終端分配了兩類(lèi)IP地址:一類(lèi)是在本地網(wǎng)絡(luò)上的長(zhǎng)期有效的IP地址,稱(chēng)為歸屬地址;一類(lèi)是移動(dòng)終端訪問(wèn)外地鏈路時(shí)獲得的一個(gè)轉(zhuǎn)交地址。當(dāng)移動(dòng)終端在本地鏈路時(shí),可直接通過(guò)歸屬地址進(jìn)行尋址;當(dāng)移動(dòng)終端連接在外地鏈路時(shí),可以通過(guò)轉(zhuǎn)交地址或歸屬地址來(lái)尋址。而移動(dòng)終端的歸屬地址和轉(zhuǎn)交地址的關(guān)聯(lián)稱(chēng)為移動(dòng)終端的一個(gè)“綁定”。
移動(dòng)終端在本地鏈路時(shí),可以使用正常的路由、機(jī)制對(duì)發(fā)往移動(dòng)終端的數(shù)據(jù)報(bào)進(jìn)行路由。移動(dòng)終端離開(kāi)本地鏈路時(shí),向本地鏈路上的一個(gè)路由器注冊(cè)自己的一個(gè)轉(zhuǎn)交地址,并要求此路由器作為自己的歸屬代理(Home Agent),從而建立了一個(gè)歸屬地址和轉(zhuǎn)交地址的關(guān)聯(lián)。當(dāng)離開(kāi)了本地鏈路的移動(dòng)終端和通信終端(可以是固定終端,也可以是移動(dòng)終端)進(jìn)行通信時(shí),移動(dòng)終端告知通信終端它的轉(zhuǎn)交地址,通信終端發(fā)出的數(shù)據(jù)報(bào)就可以繞過(guò)歸屬代理直接發(fā)給移動(dòng)終端。
三、移動(dòng)IPv6通信的處理過(guò)程
在移動(dòng)終端和通信終端的通信過(guò)程前期,連接到外地鏈路的移動(dòng)終端將采用IPv6定義的地址自動(dòng)配置來(lái)獲得一個(gè)臨時(shí)的轉(zhuǎn)交地址,然后對(duì)這個(gè)地址進(jìn)行重復(fù)地址檢測(cè)。如果檢測(cè)到現(xiàn)在的鏈路上有另一個(gè)終端正在使用此地址,地址自動(dòng)配置停止進(jìn)行,改為手動(dòng)配置該移動(dòng)終端的轉(zhuǎn)交地址;反之,這個(gè)臨時(shí)的轉(zhuǎn)交地址的狀態(tài)改為有效狀態(tài),然后向本地鏈路注冊(cè)這個(gè)轉(zhuǎn)交地址,建立轉(zhuǎn)交地址和歸屬地址的一個(gè)關(guān)聯(lián),即“綁定”。
移動(dòng)終端要實(shí)現(xiàn)和通信終端的通信,首先要告知通信終端它當(dāng)前的轉(zhuǎn)交地址,建立它的轉(zhuǎn)交地址和通信終端的地址的一個(gè)綁定。為了對(duì)綁定的建立進(jìn)行授權(quán),需要先對(duì)返回路徑可達(dá)性進(jìn)行測(cè)試。返回路徑可達(dá)過(guò)程的信令過(guò)程如圖1所示。
圖1 移動(dòng)終端返回路徑的信令過(guò)程
歸屬和轉(zhuǎn)交測(cè)試初始消息同時(shí)被發(fā)送;通信接點(diǎn)要盡快地返回歸屬和轉(zhuǎn)交測(cè)試消息,并且要求很少的處理過(guò)程。這四種消息構(gòu)成了返回路徑可達(dá)過(guò)程。由于近乎同時(shí)的消息發(fā)送,因此返回路徑可達(dá)過(guò)程幾乎是在一個(gè)移動(dòng)終端和通信終端之間往返時(shí)間內(nèi)完成的。
1.歸屬測(cè)試初始消息
移動(dòng)終端向通信終端發(fā)送歸屬測(cè)試初始消息以請(qǐng)求歸屬Cookie。這個(gè)消息中的內(nèi)容有:源地址=歸屬地址,目的地址=通信終端,參數(shù)=HoT-Cookies(用來(lái)驗(yàn)證響應(yīng)消息是否匹配清請(qǐng)求消息,并保證沒(méi)有見(jiàn)到請(qǐng)求消息的接點(diǎn)不能偽造響應(yīng)信息)。此消息通過(guò)歸屬代理的反向隧道發(fā)送到通信終端,告知移動(dòng)終端的歸屬地址,然后被通信終端返回。
2.轉(zhuǎn)交測(cè)試初始消息
移動(dòng)終端向通信終端發(fā)送轉(zhuǎn)交測(cè)試初始消息以請(qǐng)求轉(zhuǎn)交Cookie。這個(gè)消息的內(nèi)容有:源地址=轉(zhuǎn)交地址,目的地址=通信終端,參數(shù)=CoTCookie;此消息直接發(fā)送到通信終端,告知移動(dòng)終端的轉(zhuǎn)交地址。然后被通信終端返回。
3.歸屬測(cè)試
此消息用來(lái)響應(yīng)歸屬測(cè)試初始消息。消息中的內(nèi)容有:源地址=通信終端,目的地址=歸屬地址,參數(shù)=HoTCookie、歸屬Cookie和歸屬臨時(shí)隨機(jī)數(shù)索引。當(dāng)通信終端接收到歸屬測(cè)試初始消息后。它將產(chǎn)生一個(gè)歸屬Cookie,歸屬Cookie可用來(lái)測(cè)試移動(dòng)終端能否收到發(fā)向歸屬地址的消息。從移動(dòng)終端發(fā)出的HoTCookie在歸屬測(cè)試消息中返回,用來(lái)保證該消息是從位于歸屬代理和通信終端之間路徑上的一個(gè)結(jié)點(diǎn)發(fā)出的。發(fā)送到移動(dòng)終端的臨時(shí)隨機(jī)數(shù)索引能允許通信終端有效地發(fā)現(xiàn)它用來(lái)生成歸屬Cookie的臨時(shí)隨機(jī)數(shù)的值。
4.轉(zhuǎn)交測(cè)試
此消息用來(lái)響應(yīng)轉(zhuǎn)交測(cè)試初始消息。消息中的內(nèi)容有:源地址=通信終端,目的地址=轉(zhuǎn)交地址,參數(shù)=CoTCookie、轉(zhuǎn)交Cookie和轉(zhuǎn)交臨時(shí)隨機(jī)數(shù)索引。當(dāng)通信終端接收到轉(zhuǎn)交測(cè)試初始消息后,它將產(chǎn)生一個(gè)轉(zhuǎn)交Cookie,用來(lái)保證這個(gè)消息來(lái)自于在通信路徑上的一個(gè)結(jié)點(diǎn)。轉(zhuǎn)交臨時(shí)隨機(jī)數(shù)索引用來(lái)確定生成轉(zhuǎn)交Cookie的臨時(shí)隨機(jī)數(shù)。
當(dāng)移動(dòng)終端收到歸屬和測(cè)試轉(zhuǎn)交消息后,返回路徑可達(dá)過(guò)程就結(jié)束了。然后,移動(dòng)終端使用自己的授權(quán)機(jī)制向通信終端發(fā)送綁定更新消息。移動(dòng)終端利用已經(jīng)接收到的消息來(lái)形成一個(gè)16字節(jié)的會(huì)話密鑰Kbu(Kbu=Hash歸屬Cookiel轉(zhuǎn)交Cookie)。
當(dāng)返回路徑可達(dá)過(guò)程結(jié)束后,移動(dòng)終端向通信終端發(fā)送一個(gè)綁定更新消息,過(guò)程如圖2所示。
圖2 移動(dòng)終端的通信終端發(fā)送綁定更新過(guò)程
5.綁定更新
移動(dòng)終端使用已經(jīng)生成的會(huì)話密鑰Kbu來(lái)授權(quán)綁定更新。消息中包含下面內(nèi)容:源地址:轉(zhuǎn)交地址,目的地址=通信終端,參數(shù)=歸屬地址、MAC-Kbu(轉(zhuǎn)交地址|通信終端地址|BU)、歸屬臨時(shí)隨機(jī)數(shù)索引、轉(zhuǎn)交臨時(shí)隨機(jī)數(shù)索引和序列號(hào)。
在綁定更新消息中包含的臨時(shí)隨機(jī)數(shù)索引選項(xiàng),能夠使得通信終端知道用來(lái)重新計(jì)算會(huì)話密鑰的歸屬和轉(zhuǎn)交臨時(shí)隨機(jī)數(shù);BU是綁定更新消息中的內(nèi)容,但不包括IP報(bào)頭、位于IP報(bào)頭和移動(dòng)報(bào)頭之間的任何擴(kuò)展報(bào)頭以及包含在綁定更新消息中的認(rèn)證字段;MAC結(jié)果的前96位用于認(rèn)證報(bào)頭;序列號(hào)用來(lái)匹配這個(gè)消息的最后一次認(rèn)可。一旦通信終端認(rèn)證了MAC,就能為移動(dòng)終端創(chuàng)建一個(gè)綁定緩存記錄。
6.綁定應(yīng)答
綁定應(yīng)答用來(lái)認(rèn)可一個(gè)綁定更新消息的接收。這個(gè)消息的內(nèi)容包括:源地址=通信終端,目的地址=轉(zhuǎn)交地址,參數(shù)=序列號(hào)、MAC-Kbu(轉(zhuǎn)交地址|通信中斷地址|BA)。
在綁定應(yīng)答消息中包含與綁定更新消息內(nèi)容中相同的序列號(hào)。BA是綁定應(yīng)答消息的內(nèi)容,但不包括IP報(bào)頭,位于IP報(bào)頭和移動(dòng)報(bào)頭之間的任何擴(kuò)展報(bào)頭以及包含在綁定認(rèn)可消息中的認(rèn)證字段。MAC結(jié)果的前96位用于認(rèn)證報(bào)頭。
在發(fā)送綁定更新之前,移動(dòng)終端必須等待歸屬和轉(zhuǎn)交Cookies的到來(lái)。由于資源限制、綁定的快速清除或重新啟動(dòng)等因素,當(dāng)通信終端使用這些Cookies來(lái)處理綁定更新消息時(shí),不保證這些Cookies是最新的和可接受的。如果Cookies已經(jīng)變得很舊,則通信終端在綁定認(rèn)可消息中返回一個(gè)錯(cuò)誤代碼。此時(shí),移動(dòng)終端能夠重新嘗試返回路徑可達(dá)過(guò)程。
理想情況下,當(dāng)移動(dòng)終端和通信終端建立綁定后,就可以實(shí)現(xiàn)相互間的通信。但在具體實(shí)施中,有可能會(huì)發(fā)生下面的情況:
(1)當(dāng)移動(dòng)終端離開(kāi)本地鏈路時(shí),本地鏈路上的一些結(jié)點(diǎn)可能被重新配置,原來(lái)作為移動(dòng)代理的路由器可能被別的路由器所替換。在這種情況下,移動(dòng)終端可能不再知道它自己歸屬代理的IP地址。IPv6提供了“動(dòng)態(tài)歸屬代理地址發(fā)現(xiàn)”機(jī)制來(lái)允許移動(dòng)終端動(dòng)態(tài)的在本地鏈路上發(fā)現(xiàn)一個(gè)歸屬代理的IP地址,移動(dòng)終端可以向這個(gè)歸屬代理注冊(cè)自己的轉(zhuǎn)交地址。
(2)移動(dòng)終端在越區(qū)切換時(shí),要進(jìn)行無(wú)線鏈路的切換,如果新舊鏈路不在同一個(gè)IP子網(wǎng)內(nèi),還要進(jìn)行IP子網(wǎng)切換。切換過(guò)程會(huì)引起通信延時(shí)。在此過(guò)程中,發(fā)給移動(dòng)終端的分組可能被丟失。蜂窩移動(dòng)IPv6中提出了外地本地代理(FHA)和蜂窩組播(CM)的機(jī)制。外地本地代理是位于外地網(wǎng)絡(luò)的主機(jī),用來(lái)轉(zhuǎn)發(fā)尋址到移動(dòng)終端的分組。在外地本地代理中有移動(dòng)終端的換存列表,用來(lái)記錄其管理區(qū)域內(nèi)的所有移動(dòng)終端。由于移動(dòng)終端轉(zhuǎn)交地址可以通過(guò)網(wǎng)絡(luò)前綴加上其MAC地址來(lái)自動(dòng)配置,當(dāng)尋址到移動(dòng)終端的分組到達(dá)外地本地代理時(shí),通過(guò)查詢(xún)外地本地代理的移動(dòng)終端緩存列表,蜂窩組播采用向該區(qū)域內(nèi)具有相同MAC地址的轉(zhuǎn)交地址進(jìn)行組播的方式,來(lái)保證移動(dòng)終端在該區(qū)域的任何一個(gè)子網(wǎng)上都能接收到數(shù)據(jù)。
四、移動(dòng)IPv6安全問(wèn)題
移動(dòng)IP技術(shù)可以用戶(hù)在不中斷網(wǎng)絡(luò)連接的情況下隨意漫游,給用戶(hù)帶來(lái)了極大的方便。但在移動(dòng)IP環(huán)境中,終端可以隨意移動(dòng),并且可以使用包括無(wú)線信道在內(nèi)的多種傳輸媒介,這也帶來(lái)了許多安全隱患。
移動(dòng)IPv6通信中要面臨的安全隱患有:
(1)拒絕服務(wù)(Denial of Service)攻擊,攻擊者能夠阻塞未受保護(hù)鏈路上的所有業(yè)務(wù)量,也能阻止移動(dòng)終端和其他終端的通信。
(2)綁定更新報(bào)文對(duì)分組的重定向功能使得攻擊者通過(guò)冒充移動(dòng)終端向通信終端發(fā)送綁定更新報(bào)文,將發(fā)往移動(dòng)終端的分組重定向到攻擊者指定的地點(diǎn)。使通信信息遭到泄露。
(3)歸屬地址選項(xiàng)雖然解決了網(wǎng)絡(luò)入境過(guò)濾路由器的問(wèn)題,但也暴露了移動(dòng)終端當(dāng)前的位置信息。這給某些希望隱藏移動(dòng)終端位置信息的通信帶來(lái)了安全威脅。
(4)在移動(dòng)IPv4協(xié)議中,移動(dòng)終端獲得轉(zhuǎn)交地址前,外地代理會(huì)對(duì)移動(dòng)終端進(jìn)行認(rèn)證處理;在移動(dòng)IPv6協(xié)議中取消了外地代理,移動(dòng)訪問(wèn)的安全策略工作需要有訪問(wèn)網(wǎng)絡(luò)的路由器來(lái)完成。
(5)移動(dòng)終端和通信終端的綁定消除了三角路由,實(shí)現(xiàn)了路由優(yōu)化,當(dāng)移動(dòng)終端和通信終端同在一個(gè)本地網(wǎng)絡(luò)時(shí),可以通過(guò)手工分發(fā)密鑰或建立一個(gè)組織內(nèi)的認(rèn)證機(jī)構(gòu)來(lái)建立一個(gè)安全關(guān)聯(lián);但如果通信終端是網(wǎng)絡(luò)內(nèi)的其他結(jié)點(diǎn)尤其是不可信任的結(jié)點(diǎn)時(shí),安全關(guān)聯(lián)的建立就比較困難,此時(shí)需要建立廣泛的公鑰基礎(chǔ)設(shè)施。
移動(dòng)IPv6采用了IPSec協(xié)議為移動(dòng)終端的通信提供了安全保護(hù)。IPSec有兩個(gè)基本目標(biāo),一是保護(hù)IP數(shù)據(jù)包的安全;二是為抵御網(wǎng)絡(luò)攻擊提供防護(hù)措施。IPSec提供的是開(kāi)放系統(tǒng)的安全框架,提供認(rèn)證和加密兩種安全機(jī)制。認(rèn)證機(jī)制使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過(guò)程中是否遭到改動(dòng);加密機(jī)制通過(guò)對(duì)數(shù)據(jù)進(jìn)行編碼來(lái)保證數(shù)據(jù)的機(jī)密性。這些機(jī)制都是在網(wǎng)絡(luò)層上實(shí)現(xiàn),對(duì)網(wǎng)絡(luò)層以上的應(yīng)用是透明的。
五、結(jié)束語(yǔ)
本文介紹了在IPv6下移動(dòng)終端的通信的實(shí)現(xiàn)。我們首先分析了移動(dòng)IPv6的實(shí)現(xiàn)機(jī)制,然后在此基礎(chǔ)上論證了移動(dòng)終端通信的實(shí)現(xiàn)過(guò)程,并討論了移動(dòng)終端區(qū)域切換帶來(lái)的分組延時(shí)問(wèn)題和移動(dòng)IPv6的安全問(wèn)題。
在移動(dòng)終端通信的實(shí)際應(yīng)用中,將會(huì)面臨很多問(wèn)題,例如移動(dòng)終端的身份認(rèn)證、授權(quán)、計(jì)費(fèi)的具體實(shí)現(xiàn),通信過(guò)程中服務(wù)質(zhì)量的保證等,這將使移動(dòng)終端通信的具體實(shí)施變得更加復(fù)雜。
作者:現(xiàn)代計(jì)算機(jī) 傅道坤 來(lái)源:中國(guó)聯(lián)通網(wǎng)站