移動IPv6路由關(guān)鍵技術(shù)及其優(yōu)化

  摘要:移動IP路由技術(shù)及其優(yōu)化是移動IP發(fā)展過程中需要重點解決的問題。簡要討論了移動IP路由技術(shù)的發(fā)展歷程,重點論述了移動IPv6的返回路由可達過程和綁定過程,提出了今后要解決的問題。

  關(guān)鍵詞:移動IP IPv6 路由優(yōu)化

  移動IPv4“三角路由”問題的存在,不僅嚴重浪費了網(wǎng)絡(luò)資源,造成了網(wǎng)絡(luò)通信效率的極度下降,并使MN與CN的通信受到HA和家鄉(xiāng)鏈路的巨大影響[1]。隨著移動IPv6的提出,“三角路由”問題得到了解決,使得路由效率大大提高。然而該效率的提高是以更多的安全考慮和引入更多的移動信息為代價的。針對移動IPv6的問題,提出了一種新的思路與方法——OM IPv6,在移動IPv6的基礎(chǔ)上對路由優(yōu)化做進一步的改進。

  1 移動IPv6路由優(yōu)化模式

  1.1 現(xiàn)有移動IPv6路由的不足

  IPv6的引入,使得IP地址短缺現(xiàn)象得到了解決,因而在移動IPv6里無需FA的存在,通過引入綁定機制,當(dāng)CN在自己的綁定緩存里找到了MN的位置后,便可將發(fā)往MN的數(shù)據(jù)包無需經(jīng)過HA而直接到達MN。CN和MN通過二者之間的直接路役交換數(shù)據(jù)包,避開了HA,極大地節(jié)約了網(wǎng)絡(luò)資源,并減少了因HA和家鄉(xiāng)鏈路故障而造成的影響[1],比移動IPv4大大前進了一步。其路由優(yōu)化如圖1所示。

  然而,移動IPv6的路由優(yōu)化模式需要通信雙方共同計算一個共享密鑰,通過該共享密鑰對BU(Binding Update)和BA(Binding Acknowledge)進行認證。出于安全考慮,該共享密鑰有一個生存期。在生存期快到時,通信雙方需要重新計算一個新的Kbm(binding management Key)。對MN而言,每次計算一個新的Kbm時,都需要與CN交換4個移動信息(CoTI&CoT,HoTI&HoT),以便RRP(Return Routability Procedure)的正常運行。4個信息如果任意丟失一個,MN都需要與CN交換至少兩個以上的額外信息。這么多的移動信息的引入,給移動IPv6的通信帶來了極大的負擔(dān)。此外,從冗余度方面考慮,在移動IPv6的路由優(yōu)化模式下,綁定更新認證過程使得MN與CN、MN與HA通信時分別需要1.5個和1個往返時延。這對于那些對時間敏感的應(yīng)用是不可行的。最后,從安全的角度看,由于每次MN執(zhí)行RR測試時,MN與CN通信時有兩個信息是以明文方式進行傳輸,CN與HA通信有兩個信息是以明文方式傳送,這給攻擊者進行攻擊提供了可乘之機。綜上所述,移動IPv6的路由優(yōu)化模式在移動信息的數(shù)量、冗余度以及安全方面都付出了高昂的代價。

  1.2 返回路由可達過程(Return Routability Procedure)

  移動IPv6定義了兩種不同的模式解決移動問題:雙向隧道模式與路由優(yōu)化模式。前者因為其自身的局限性(如根本沒有進行優(yōu)化)限制了應(yīng)用。而后者因為對路由進行了優(yōu)化而得到了極大的發(fā)展。簡單來說,路由優(yōu)化模式通過引入一個新的移動報頭和依靠MN移動時交換的移動信令來實現(xiàn)。

  在路由優(yōu)化模式下,移動IPv6引入了一個返回路由可達過程(RRP),通過它保證MN與CN通信時的安全,其原理是通過對MN與CN之間交換的信令進行加密來對它們之間的登記進行認證。通過RRP,CN知道是否能夠使用MN通告的轉(zhuǎn)交地址和家鄉(xiāng)地址訪問MN;如果RRP測試失敗,CN將既不能接收MN的綁定更新,也不能直接發(fā)送分組到MN的轉(zhuǎn)交地址。其測試方法是通過兩個消息對(HoTI和HoT,CoTI和CoT)分別測試目的地址是家鄉(xiāng)地址和轉(zhuǎn)交地址的分組是否能夠到達MN,并最后決定是否可以據(jù)此接收來自MN的綁定。

  簡單說來,MN發(fā)送綁定更新BU來更新CN的綁定緩存表項(Binding Cache Entry),總共需6條信息。MN與CN在二者直接相連的路徑上交換CoTI&CoT,通過MN的HA交換HoTI&HoT,在這4條信息成功交換后,MN再發(fā)送BU至CN,CN發(fā)送BA給MN對BU進行確認。前4條信息就構(gòu)成了RRP。具體過程如圖2所示。

  從消息發(fā)出時序看,HoTI和CoTI消息同時發(fā)送。作為響應(yīng)的HoT和CoT也幾乎同時返回。

  HoTI用于把MN的家鄉(xiāng)地址和Cookie通知CN,請求CN提供家鄉(xiāng)密鑰生成令牌。而CoTI主要是把MN的轉(zhuǎn)交地址和Cookie通知CN,請求CN提供轉(zhuǎn)交密鑰生成令牌。家鄉(xiāng)密鑰生成令牌與轉(zhuǎn)交密鑰生成令牌的方法相似,其過程如下:

Home keygen token:=

First(64,HMAC_SHA1(Kcn,(home address | nonce | 0)))

  CN結(jié)合自己的節(jié)點密鑰,也就是Kcn,以及從MN接收到的發(fā)送給家鄉(xiāng)地址,再結(jié)合產(chǎn)生的臨時隨機數(shù)Nonce,運用HMAC_SHA1算法產(chǎn)生一個家鄉(xiāng)密鑰生成令牌[1]。HMAC_SHA1是流行的用于創(chuàng)建數(shù)字簽名的單向散列算法[2]。通過First函數(shù),截取由HMAC_SHA1散列函數(shù)產(chǎn)生的160位的散列值的前64位。轉(zhuǎn)交密鑰生成令牌的產(chǎn)生過程也與此大抵相同,只是將家鄉(xiāng)地址變成了轉(zhuǎn)交地址,如下所示:

Care-of deygen token:=

First (64,HMAC_SHA1(Kcn,(care-of address | nonce | 1)))

  用該方法產(chǎn)生的家鄉(xiāng)、轉(zhuǎn)交密鑰生成令牌用于驗證隨后接收到的由MN發(fā)來的BU也經(jīng)過了CN的授權(quán),只要節(jié)點密鑰和Nonce是有效的,這樣產(chǎn)生的密鑰生成令牌也是有效的。

  HoT則是CN對HoTI消息的響應(yīng)。HoT由于以MN的家鄉(xiāng)地址為目的地址,需要通過HA的中轉(zhuǎn)才能到達MN。此外,來自MN的家鄉(xiāng)測試初始Cookie也在HoT消息中返還,以確保這些消息通過了家鄉(xiāng)代理和CN的可達路徑。發(fā)往MN的家鄉(xiāng)臨時隨機數(shù)索引,也使CN隨后可以迅速有效地找到它創(chuàng)建家鄉(xiāng)Cookie所使用的臨時隨機數(shù),因而是必不可少的。

  CoT消息是CN對CoTI消息的響應(yīng),CoT消息被直接發(fā)送到MN的轉(zhuǎn)交地址,并且在其中包括轉(zhuǎn)交測試初始Cookie,以便MN確信它們來自CN的可達路徑。CoT消息中提供了轉(zhuǎn)交臨時隨機數(shù)索引,主要是用于標(biāo)示產(chǎn)生轉(zhuǎn)交Cookie的臨時隨機數(shù)。轉(zhuǎn)交和家鄉(xiāng)臨時隨機數(shù)索引在CoT和HoT消息中通常是相同的。

  當(dāng)MN接收到COT和HOT消息后,RRP過程就全部結(jié)束了。

  1.3 綁定過程

  ·RRP與綁定過程

  只有通過返回路由可達過程測試,CN才能接收來自MN的綁定更新。所以,RRP對于MN與CN之間的綁定更新和綁定確認具有非常重要的作用。在RRP過程結(jié)束之后,MN確信CN既可以通過家鄉(xiāng)地址,也可以通過轉(zhuǎn)交地址訪問自己,并獲得向CN發(fā)送BU所必須的數(shù)據(jù)。MN通過對家鄉(xiāng)密鑰生成令牌、轉(zhuǎn)交密鑰生成令牌進行SHA1散列運算可以得到一個綁定管理密鑰Kbm(binding management Key),其過程如下:

Kbm=SHA1(home keygen token|care-of keygen token)

  通過該Kbm,MN或以向CN發(fā)送一個BU,進行CN上的綁定。

  ·MN發(fā)送綁定更新信息

  攜帶綁定更新消息的分組,除了使用MN的轉(zhuǎn)交地址作為源地址和使用CN作為目的地址外,還包括家鄉(xiāng)地址、MAC(message authentication codes)、家鄉(xiāng)和轉(zhuǎn)交臨時隨機數(shù)索引、順序號等參數(shù)。MN通過創(chuàng)建Kbm對消息的發(fā)送進行授權(quán),通過臨時隨機數(shù)索引選項通知CN使用哪個家鄉(xiāng)和轉(zhuǎn)交密鑰生成令牌進行Kbm的計算。計算MAC時使用的參數(shù)包括轉(zhuǎn)交地址、CN地址以及移動報頭數(shù)據(jù),計算結(jié)果將用于產(chǎn)生認證者字段。順序號字段用于匹配隨后接收到的綁定確認。CN一旦驗證了MAC的結(jié)果,將會為該綁定創(chuàng)建一個綁定緩存表項。

  ·CN響應(yīng)綁定確認信息

  對于綁定確認信息,攜帶的參數(shù)主要是順序號和一個MAC編碼。順序號字段來自相應(yīng)的綁定更新。MAC編碼的計算根據(jù)是轉(zhuǎn)交地址、CN地址以及綁定確認消息的部分內(nèi)容,與綁定更新消息中MAC編碼的計算類似。

  因為移動節(jié)點在不斷移動,所以轉(zhuǎn)交地址也在不斷變化,也就造成了轉(zhuǎn)交密鑰生成令牌的變化,最終使得Kbm不斷變化。對于Kbm的更新可以與Nonce一同進行,這樣一個Nonce索引可以同時標(biāo)示這兩個值。因此,老的Kbm也應(yīng)該與老的Nonce一同保留。

  在發(fā)送BU之前,MN必須等待家鄉(xiāng)和轉(zhuǎn)交密鑰生成令牌生成Kbm。然而,由于資源的限制、綁定的快速刪除及節(jié)點的重新啟動,當(dāng)CN使用這些密鑰生成令牌處理BU時,密鑰生成令牌不能保證仍然是“新鮮”而且可以接受的。當(dāng)它們變得太舊時,CN將在BU中使用一個錯誤的編碼通知MN,使它重新深度RRP。移動IPv6協(xié)議規(guī)定了臨時隨機數(shù)有一個最大的生存期(MAX_TO-KEN_LIFETIME)。在該生存期內(nèi),臨時隨機數(shù)都是可用的,密鑰生成令牌在該段時間內(nèi)也被認為是可用的,所以,MN可以把它用于多次的RRP。一個典型的例子就是節(jié)點愉速移動時,在新的位置可以重復(fù)使用最近來自于CN的家鄉(xiāng)密鑰令牌,并且僅僅獲得一個轉(zhuǎn)交密鑰生成令牌以表示它在新位置的可達性。雖然由于轉(zhuǎn)交和家鄉(xiāng)返回路徑可達測試本質(zhì)上是可行的,但通過HA中轉(zhuǎn)的家鄉(xiāng)測試通常會花費更長的時間。盡管如此,這種優(yōu)化在很多情況下也是有用的。對于有多個家鄉(xiāng)地址的MN,也可以為這些地址使用相同的轉(zhuǎn)交密鑰生成令牌。

  通過上述情況分析,RRP不僅能夠防范有權(quán)訪問互聯(lián)網(wǎng)上某一特定路徑的潛在攻擊者,還能有效地防止重防攻擊[6],因而給MN和CN的通信提供了安全保證。

  盡管移動IPv6的RRP機制能夠使MN與CN的通信基本上安全可靠。然而,RRP機制同樣給二者之間的通信帶來了較大的負荷,使得移動信息大大增加。要在移動IPv6路由優(yōu)化的基礎(chǔ)上再進行優(yōu)化,必須在保證安全的前提下盡可能減少移動信息量。在此基礎(chǔ)上,人們又提出了OMIPv6的概念。OMIPv6與移IPv6路由優(yōu)化模式相比,大大減少了移動信令并且使之更不易受外部的攻擊,極大地提高了效率[3]。

  2 OMIPv6優(yōu)點及原理

  2.1 OMIPv6優(yōu)點

  OMIPv6與移動IPv6的路由優(yōu)化模式相比,至少具有以下特點[3]:

·大大減少了惡意節(jié)點實施欺騙的可能性。通過將HoT和CoT靈活地結(jié)合在一起,將易受攻擊的漏洞減少到最小。

·不需要對密鑰的分發(fā)專門進行管理,因而減少了可擴展性問題。

·與傳統(tǒng)移動IPv6相比,OMIPv6使用一個更長的共享密鑰,破解更困難。

·OMIPv6大大減少了移動信息,使得HoTI/ CoTI、HoT/CoT信息的交換較少依賴于網(wǎng)絡(luò)切換過程。

  2.2 OMIPv6原理

  從前面的分析可知,雖然移動IPv6的路由優(yōu)化解決了移動IPv4的“三角路由”問題,但在移動信息的數(shù)量、冗余度以及安全方面都 付出了高昂的代價。OMIPv6[5]正是在這樣的前提下提出來的。它使MN與CN之間的綁定更新和綁定確認信息的交換更安全、更可靠。同時大大減少了需要交換的移動信息,并在一定程度上減少了因切換帶來的冗余。

  首先,OMIPv6引入了一個更長的共享安全密鑰。該共享安全密鑰來源于Diffie-Hellman[4]算法交換,當(dāng)MN成功地與CN的地址進行家鄉(xiāng)和轉(zhuǎn)交地址測試后,就會引發(fā)DH交換。在MH與CN之間交換的DH信息都會被最新的RR(Return Routability)測試所產(chǎn)生的Kbm鑒定。DH交換允許通信雙方都建立一條雙向的安全關(guān)聯(lián),該安全關(guān)聯(lián)獨立于通常的公共密鑰體系,而移動IPv6的路由優(yōu)化模式并沒有建立安全關(guān)聯(lián)。

  其次,DH信息交換的路徑必須與RR測試信息交換路徑相同。所以,MN首先使用Kbm對每一個DH信息進行標(biāo)記,然后發(fā)送給CN。MN通過使用家鄉(xiāng)地址選項將家鄉(xiāng)地址隨同DH信息一同發(fā)出。CN使用同樣的Kbm對第一個DH信息進行標(biāo)記并復(fù)制一份。CN發(fā)出的第二個DH信息首先通過直接路徑發(fā)送,同時,CN將第二個DH信息復(fù)制一份,將該信息經(jīng)過MN的HA發(fā)送給MN。兩條信息到達MN后進行比較,如果相同,MN發(fā)送第三個DH信息給CN,CN再在相同的路徑上發(fā)送第四個DH信息給MN。該方法能有效防止中間人(MiTM)的攻擊。DH處理使通信雙方計算一個稱之為Kabm(authenticated binding anagement key)的長的共享安全秘鑰。該Kabm的作用是對MN與CN之間的綁定更新/綁定確認信息進行認證。DH交換能夠在通信雙方會話期間隨時發(fā)起,例如,在第一次RR測試后立刻發(fā)起DH交換。這樣,極大地減少了通信雙方需要交換的移動信息,大大提高了通信效率。

作者:重慶大學(xué)軟件學(xué)院 文俊浩 重慶大學(xué)計算機學(xué)院 田鳳斌 吳中福 來源:電子技術(shù)應(yīng)用


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息