《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 移動(dòng)IPv6路由關(guān)鍵技術(shù)及其優(yōu)化

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

2008-07-21
作者:文俊浩1, 田鳳斌2, 吳中福2

  摘 要: 移動(dòng)IP路由技術(shù)及其優(yōu)化是移動(dòng)IP發(fā)展過程中需要重點(diǎn)解決的問題。簡要討論了移動(dòng)IP路由技術(shù)的發(fā)展歷程,重點(diǎn)論述了移動(dòng)IPv6的返回路由可達(dá)過程和綁定" title="綁定">綁定過程,提出了今后要解決的問題。
  關(guān)鍵詞: 移動(dòng)IP IPv6 路由優(yōu)化


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

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


  然而,移動(dòng)IPv6的路由優(yōu)化模式需要通信雙方共同計(jì)算一個(gè)共享密鑰,通過該共享密鑰對BU(Binding Update)和BA(Binding Acknowledge)進(jìn)行認(rèn)證。出于安全考慮,該共享密鑰有一個(gè)生存期。在生存期快到時(shí),通信雙方需要重新計(jì)算一個(gè)新的Kbm(binding management Key)。對MN而言,每次計(jì)算一個(gè)新的Kbm時(shí),都需要與CN交換4個(gè)移動(dòng)信息(CoTI&CoT,HoTI&HoT),以便RRP(Return Routability Procedure)的正常運(yùn)行。4個(gè)信息如果任意丟失一個(gè),MN都需要與CN交換至少兩個(gè)以上的額外信息。這么多的移動(dòng)信息的引入,給移動(dòng)IPv6 的通信帶來了極大的負(fù)擔(dān)。此外,從冗余度方面考慮,在移動(dòng)IPv6的路由優(yōu)化模式下,綁定更新認(rèn)證過程使得MN與CN、MN與HA通信時(shí)分別需要1.5個(gè)和1個(gè)往返時(shí)延。這對于那些對時(shí)間敏感的應(yīng)用是不可行的。最后,從安全的角度看,由于每次MN執(zhí)行RR測試時(shí),MN與CN通信時(shí)有兩個(gè)信息是以明文方式進(jìn)行傳輸,CN與HA通信時(shí)也有兩個(gè)信息是以明文方式傳送,這給攻擊者進(jìn)行攻擊提供了可乘之機(jī)。綜上所述,移動(dòng)IPv6的路由優(yōu)化模式在移動(dòng)信息的數(shù)量、冗余度以及安全方面都付出了高昂的代價(jià)。
1.2 返回路由可達(dá)過程(return Routability Procedure)
  移動(dòng)IPv6定義了兩種不同的模式解決移動(dòng)問題:雙向隧道模式與路由優(yōu)化模式。前者因?yàn)槠渥陨淼木窒扌?如根本沒有進(jìn)行優(yōu)化)限制了應(yīng)用。而后者因?yàn)閷β酚蛇M(jìn)行了優(yōu)化而得到了極大的發(fā)展。簡單來說,路由優(yōu)化模式通過引入一個(gè)新的移動(dòng)報(bào)頭和依靠MN移動(dòng)時(shí)交換的移動(dòng)信令來實(shí)現(xiàn)。
  在路由優(yōu)化模式下,移動(dòng)IPv6引入了一個(gè)返回路由可達(dá)過程(RRP),通過它保證MN與CN通信時(shí)的安全,其原理是通過對MN與CN之間交換的信令進(jìn)行加密來對它們之間的登記進(jìn)行認(rèn)證。通過RRP,CN知道是否能夠使用MN通告的轉(zhuǎn)交地址和家鄉(xiāng)地址訪問MN;如果RRP測試失敗,CN將既不能接收MN的綁定更新,也不能直接發(fā)送分組到MN的轉(zhuǎn)交地址。其測試方法是通過兩個(gè)消息對(HoTI和HoT,CoTI和CoT)分別測試目的地址是家鄉(xiāng)地址和轉(zhuǎn)交地址的分組是否能夠到達(dá)MN,并最后決定是否可以據(jù)此接收來自MN的綁定。
  簡單說來,MN發(fā)送綁定更新BU來更新CN的綁定緩存表項(xiàng)(Binding Cache Entry),總共需6條信息。MN與CN在二者直接相連的路徑上交換CoTI&CoT,通過MN的HA交換HoTI&HoT,在這4條信息成功交換后,MN再發(fā)送BU至CN,CN發(fā)送BA給MN對BU進(jìn)行確認(rèn)。前4條信息就構(gòu)成了RRP。具體過程如圖2所示。


  從消息發(fā)出時(shí)序看,HoTI和CoTI消息同時(shí)發(fā)送。作為響應(yīng)的HoT和CoT也幾乎同時(shí)返回。HoTI、CoTI、HoT以及CoT消息的源地址、目的地址、傳送途徑、攜帶參數(shù)如表1所示。


  HoTI用于把MN的家鄉(xiāng)地址和Cookie通知CN,請求CN提供家鄉(xiāng)密鑰生成令牌" title="令牌">令牌。而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é)點(diǎn)密鑰,也就是Kcn,以及從MN接收到的發(fā)送給家鄉(xiāng)地址,再結(jié)合產(chǎn)生的臨時(shí)隨機(jī)數(shù)" title="隨機(jī)數(shù)">隨機(jī)數(shù)Nonce,運(yùn)用HMAC_SHA1算法產(chǎn)生一個(gè)家鄉(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 keygen token :=
  First (64,HMAC_SHA1(Kcn,(care-of address | nonce | 1)))
  用該方法產(chǎn)生的家鄉(xiāng)/轉(zhuǎn)交密鑰生成令牌用于驗(yàn)證隨后接收到的由MN發(fā)來的BU也經(jīng)過了CN的授權(quán),只要節(jié)點(diǎn)密鑰和Nonce是有效的,這樣產(chǎn)生的密鑰生成令牌也是有效的。
  HoT則是CN對HoTI消息的響應(yīng)。HoT由于以MN的家鄉(xiāng)地址為目的地址,需要通過HA的中轉(zhuǎn)才能到達(dá)MN。此外,來自MN的家鄉(xiāng)測試初始Cookie也在HoT消息中返還,以確保這些消息通過了家鄉(xiāng)代理和CN的可達(dá)路徑。發(fā)往MN的家鄉(xiāng)臨時(shí)隨機(jī)數(shù)索引,也使CN隨后可以迅速有效地找到它創(chuàng)建家鄉(xiāng)Cookie所使用的臨時(shí)隨機(jī)數(shù),因而是必不可少的。
  CoT消息是CN對CoTI消息的響應(yīng),CoT消息被直接發(fā)送到MN的轉(zhuǎn)交地址,并且在其中包括轉(zhuǎn)交測試初始Cookie,以便MN確信它們來自CN的可達(dá)路徑。CoT消息中提供了轉(zhuǎn)交臨時(shí)隨機(jī)數(shù)索引, 主要是用于標(biāo)示產(chǎn)生轉(zhuǎn)交Cookie的臨時(shí)隨機(jī)數(shù)。轉(zhuǎn)交和家鄉(xiāng)臨時(shí)隨機(jī)數(shù)索引在CoT和HoT消息中通常是相同的。
  當(dāng)MN接收到COT和HOT消息后,RRP過程就全部結(jié)束了。
1.3 綁定過程
  ·RRP與綁定過程
  只有通過返回路由可達(dá)過程測試,CN才能接收來自MN的綁定更新。所以,RRP對于MN與CN之間的綁定更新和綁定確認(rèn)具有非常重要的作用。在RRP過程結(jié)束之后,MN確信CN既可以通過家鄉(xiāng)地址,也可以通過轉(zhuǎn)交地址訪問自己,并獲得向CN發(fā)送BU所必須的數(shù)據(jù)。MN通過對家鄉(xiāng)密鑰生成令牌、轉(zhuǎn)交密鑰生成令牌進(jìn)行SHA1散列運(yùn)算可以得到一個(gè)綁定管理密鑰Kbm(binding management Key),其過程如下:
  Kbm=SHA1(home keygen token|care-of keygen token)
  通過該Kbm,MN可以向CN發(fā)送一個(gè)BU,進(jìn)行CN上的綁定。
  ·MN發(fā)送綁定更新信息
  攜帶綁定更新消息的分組,除了使用MN的轉(zhuǎn)交地址作為源地址和使用CN作為目的地址外,還包括家鄉(xiāng)地址、MAC(message authentication codes)、家鄉(xiāng)和轉(zhuǎn)交臨時(shí)隨機(jī)數(shù)索引、順序號等參數(shù)。MN通過創(chuàng)建Kbm對消息的發(fā)送進(jìn)行授權(quán),通過臨時(shí)隨機(jī)數(shù)索引選項(xiàng)通知CN使用哪個(gè)家鄉(xiāng)和轉(zhuǎn)交密鑰生成令牌進(jìn)行Kbm的計(jì)算。計(jì)算MAC時(shí)使用的參數(shù)包括轉(zhuǎn)交地址、CN地址以及移動(dòng)報(bào)頭數(shù)據(jù),計(jì)算結(jié)果將用于產(chǎn)生認(rèn)證者字段。順序號字段用于匹配隨后接收到的綁定確認(rèn)。CN一旦驗(yàn)證了MAC的結(jié)果,將會(huì)為該綁定創(chuàng)建一個(gè)綁定緩存表項(xiàng)。
  ·CN響應(yīng)綁定確認(rèn)信息
  對于綁定確認(rèn)信息,攜帶的參數(shù)主要是順序號和一個(gè)MAC編碼。順序號字段來自相應(yīng)的綁定更新。MAC編碼的計(jì)算根據(jù)是轉(zhuǎn)交地址、CN地址以及綁定確認(rèn)消息的部分內(nèi)容,與綁定更新消息中MAC編碼的計(jì)算類似。
  因?yàn)橐苿?dòng)節(jié)點(diǎn)在不斷移動(dòng),所以轉(zhuǎn)交地址也在不斷變化,也就造成了轉(zhuǎn)交密鑰生成令牌的變化,最終使得Kbm不斷變化。對于Kbm的更新可以與Nonce一同進(jìn)行,這樣一個(gè)Nonce索引可以同時(shí)標(biāo)示這兩個(gè)值。因此,老的Kbm也應(yīng)該與老的Nonce一同保留。
  在發(fā)送BU之前,MN必須等待家鄉(xiāng)和轉(zhuǎn)交密鑰生成令牌生成Kbm。然而,由于資源的限制、綁定的快速刪除及節(jié)點(diǎn)的重新啟動(dòng),當(dāng)CN使用這些密鑰生成令牌處理BU時(shí),密鑰生成令牌不能保證仍然是“新鮮”而且可以接受的。當(dāng)它們變得太舊時(shí),CN將在BU中使用一個(gè)錯(cuò)誤的編碼通知MN,使它重新嘗試RRP。移動(dòng)IPv6協(xié)議規(guī)定了臨時(shí)隨機(jī)數(shù)有一個(gè)最大的生存期(MAX_TOKEN_LIFETIME)。在該生存期內(nèi),臨時(shí)隨機(jī)數(shù)都是可用的,密鑰生成令牌在該段時(shí)間內(nèi)也被認(rèn)為是可用的,所以,MN可以把它用于多次的RRP。一個(gè)典型的例子就是節(jié)點(diǎn)快速移動(dòng)時(shí),在新的位置可以重復(fù)使用最近來自于CN的家鄉(xiāng)密鑰令牌,并且僅僅獲得一個(gè)轉(zhuǎn)交密鑰生成令牌以表示它在新位置的可達(dá)性。雖然由于轉(zhuǎn)交和家鄉(xiāng)返回路徑可達(dá)測試本質(zhì)上是可行的,但通過HA中轉(zhuǎn)的家鄉(xiāng)測試通常會(huì)花費(fèi)更長的時(shí)間。盡管如此,這種優(yōu)化在很多情況下也是有用的。對于有多個(gè)家鄉(xiāng)地址的MN,也可以為這些地址使用相同的轉(zhuǎn)交密鑰生成令牌。
  通過上述情況分析,RRP不僅能夠防范有權(quán)訪問互聯(lián)網(wǎng)上某一特定路徑的潛在攻擊者,還能有效地防止重防攻擊[6],因而給MN和CN的通信提供了安全保證。
  盡管移動(dòng)IPv6的RRP機(jī)制能夠使MN與CN的通信基本上安全可靠。然而,RRP機(jī)制同樣給二者之間的通信帶來了較大的負(fù)荷,使得移動(dòng)信息大大增加。要在移動(dòng)IPv6路由優(yōu)化的基礎(chǔ)上再進(jìn)行優(yōu)化,必須在保證安全的前提下盡可能減少移動(dòng)信息量。在此基礎(chǔ)上,人們又提出了OMIPv6的概念。OMIPv6與移動(dòng)IPv6路由優(yōu)化模式相比,大大減少了移動(dòng)信令并且使之更不易受外部的攻擊,極大地提高了效率[3]。
2 OMIPv6優(yōu)點(diǎn)及原理
2.1 OMIPv6優(yōu)點(diǎn)

  OMIPv6與移動(dòng)IPv6的路由優(yōu)化模式相比,至少具有以下優(yōu)點(diǎn)[3]
  ·大大減少了惡意節(jié)點(diǎn)實(shí)施欺騙的可能性。通過將HoT和CoT靈活地結(jié)合在一起,將易受攻擊的漏洞減少到最小。
  ·不需要對密鑰的分發(fā)專門進(jìn)行管理,因而減少了可擴(kuò)展性問題。
  ·與傳統(tǒng)移動(dòng)IPv6相比,OMIPv6使用一個(gè)更長的共享密鑰,破解更困難。
  ·OMIPv6大大減少了移動(dòng)信息,使得HoTI/CoTI、HoT/CoT信息的交換較少依賴于網(wǎng)絡(luò)切換過程。
2.2 OMIPv6原理
  從前面的分析可知,雖然移動(dòng)IPv6的路由優(yōu)化解決了移動(dòng)IPv4的“三角路由”問題,但在移動(dòng)信息的數(shù)量、冗余度以及安全方面都付出了高昂的代價(jià)。OMIPv6[5]正是在這樣的前提下提出來的。它使MN與CN之間的綁定更新和綁定確認(rèn)信息的交換更安全、更可靠。同時(shí)大大減少了需要交換的移動(dòng)信息,并在一定程度上減少了因切換帶來的冗余。
  首先,OMIPv6引入了一個(gè)更長的共享安全密鑰。該共享安全密鑰來源于Diffie-Hellman[4]算法交換,當(dāng)MN成功地與CN的地址進(jìn)行家鄉(xiāng)和轉(zhuǎn)交地址測試后,就會(huì)引發(fā)DH交換。在MH與CN之間交換的DH信息都會(huì)被最新的RR(Return Routability)測試所產(chǎn)生的Kbm鑒定。DH交換允許通信雙方都建立一條雙向的安全關(guān)聯(lián)" title="安全關(guān)聯(lián)">安全關(guān)聯(lián),該安全關(guān)聯(lián)獨(dú)立于通常的公共密鑰體系,而移動(dòng)IPv6的路由優(yōu)化模式并沒有建立安全關(guān)聯(lián)。
  其次,DH信息交換的路徑必須與RR測試信息交換路徑相同。所以,MN首先使用Kbm對第一個(gè)DH信息進(jìn)行標(biāo)記,然后發(fā)送給CN。MN通過使用家鄉(xiāng)地址選項(xiàng)將家鄉(xiāng)地址隨同DH信息一同發(fā)出。CN使用同樣的Kbm對第一個(gè)DH信息進(jìn)行標(biāo)記并復(fù)制一份。CN發(fā)出的第二個(gè)DH信息首先通過直接路徑發(fā)送,同時(shí),CN將第二個(gè)DH信息復(fù)制一份,將該信息經(jīng)過MN的HA發(fā)送給MN。兩條信息到達(dá)MN后進(jìn)行比較,如果相同,MN發(fā)送第三個(gè)DH信息給CN,CN再在相同的路徑上發(fā)送第四個(gè)DH信息給MN。該方法能有效防止中間人(MiTM)的攻擊。DH處理使通信雙方計(jì)算一個(gè)稱之為Kabm(authenticated binding anagement key)的長的共享安全秘鑰。該Kabm的作用是對MN與CN之間的綁定更新/綁定確認(rèn)信息進(jìn)行認(rèn)證。DH交換能夠在通信雙方會(huì)話期間隨時(shí)發(fā)起,例如,在第一次RR測試后立刻發(fā)起DH交換。這樣,極大地減少了通信雙方需要交換的移動(dòng)信息,大大提高了通信效率。
  目前,OMIPv6仍然有許多需要改進(jìn)的地方,如對長的安全秘鑰的驗(yàn)證要花費(fèi)更多的時(shí)間(與傳統(tǒng)的移動(dòng)IPv6路由優(yōu)化相比),盡管對網(wǎng)絡(luò)切換的依賴沒有傳統(tǒng)的移動(dòng)IPv6的路由優(yōu)化強(qiáng),但仍然有所依賴。


參考文獻(xiàn)
1 D. Johnson, C. Perkins, J. Arkko. Mobility Support in IPv6 [J].RFC3775,2004;(6)
2 D. Eastlake, P. Jones.US Secure Hash Algorithm 1 (SHA1).RFC 3174,2001
3 Wassim Haddad, Francis Dupont.Optimizing Mobile IPv6 (OMIPv6). work in progress,2004;(2)
4 E.Rescorla.Diffie-Hellman Key Agreement Method.RFC2631,1999;(6)
5 W. Haddad, L. Madour, J. Arkko, F. Dupont. Applying Cryptographically Generated Addresses to Optimize MIPv6 (CGA-OMIPv6), 2005;(3)
6 Bruce Schneier著, 吳世忠譯.應(yīng)用密碼學(xué)[M].北京:機(jī)械工業(yè)出版社,2000

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。