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