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