摘要:詳細剖析了MANET路由協(xié)議中存在的黑洞問題,提出了一種綜合、有效的解決方案。
關鍵詞:移動無線自組織網絡;路由安全;黑洞
中圖分類號:TP393.08文獻標志碼:A
文章編號:1001-3695(2008)01-0243-03
1MANET路由安全
1.1路由協(xié)議
開發(fā)良好的路由協(xié)議是建立MANET的首要問題,同時也是主要的研究熱點和難點。傳統(tǒng)的距離向量和鏈路狀態(tài)路由協(xié)議并不適用于拓撲結構高度動態(tài)變化的MANET。理想的MANET路由協(xié)議應該具有分布式運行、無環(huán)路、按需運行、考慮安全性、高效地利用電池能量、支持單向鏈路和維護多條路由等性能。
MANET的路由協(xié)議可以分為表驅動路由和按需路由兩大類[1~4]。在表驅動路由協(xié)議(先應路由協(xié)議)中,每個節(jié)點試圖維護到所有已知目的節(jié)點的路由表,節(jié)點之間周期性地在網絡拓撲發(fā)生變化時交換路由信息,減少了獲得路由的延遲,使源節(jié)點能夠立即判斷目的節(jié)點的可達性;但是消耗了較多的網絡資源。此外它浪費了一些資源來建立和重建那些根本沒有被使用的路由。在按需路由協(xié)議(反應路由協(xié)議)中,節(jié)點無須花費資源來維護無用的路由,但路由發(fā)現過程費用比較昂貴且不可預測。路由延遲與先應路由協(xié)議中恒定的查表時間相比,更加多變。
目前研究得最為深入的表驅動路由協(xié)議有DSDV(destination sequenced distance vector);按需路由協(xié)議有DSR(dynamic source routing)、AODV(Ad hoc on demand distance vector routing)、TORA(temporally ordered routing algorithm)。此外開發(fā)了一些多播路由協(xié)議,但是所有路由協(xié)議至今還沒有一個能完全符合MANET的要求。
1.2攻擊類型
針對MANET路由的攻擊可以分為被動攻擊和主動攻擊。在被動攻擊中,惡意節(jié)點并不破壞路由協(xié)議的執(zhí)行,只是竊聽路由鏈路,試圖獲得有用的信息。這種攻擊一般危害性不大,但是難以檢測。主動攻擊的攻擊者通過把錯誤的報文插入到數據流中或修改通過網絡的報文傳輸,企圖非法修改數據,或者獲得授權以進一步進行破壞活動。主動攻擊又可以分為外部攻擊和內部攻擊。外部攻擊就是由網絡外部的惡意節(jié)點發(fā)起的一種攻擊。內部攻擊是由網絡內部的惡意節(jié)點發(fā)起的一種攻擊。非法節(jié)點是作為被授權的一方屬于網絡內部的,所以內部攻擊往往更為嚴重。其包括黑洞攻擊、拒絕服務(denial of service)攻擊、路由表溢出(routing table overflow)攻擊、假冒(impersonation)攻擊、耗能(energy consummation)攻擊、信息泄漏(information disclosure)攻擊等具體攻擊類型。
1.3安全標準
MANET的安全目標與傳統(tǒng)網絡中的安全目標基本上是一致的,包括數據可用性、機密性、完整性、安全認證和抗抵賴性。但是兩者卻有著不同的內涵[1~4]。
1)可用性它是指即使受到攻擊,節(jié)點仍然能夠在必要時提供有效服務。
2)機密性保證特定的信息不會泄露給未經授權的用戶。
3)完整性保證信息在傳輸過程中不被竄改。
4)安全認證每個節(jié)點需要能夠確認與其通信的節(jié)點身份;同時要能夠在沒有全局認證機構的情況下實施對用戶的鑒別。
5)抗抵賴性它指發(fā)送方不能否定他所發(fā)送的信息,以便于事后審計、檢測入侵,并且能夠預防內部攻擊。
2MANET黑洞攻擊
2.1路由發(fā)現
源節(jié)點S要向目的節(jié)點D發(fā)送數據。它首先初始化一個路由尋找進程[1~4]。源節(jié)點S向其鄰節(jié)點{A,B}廣播一個RREQ報文(圖1(a)),然后{A,B}又向它們的鄰節(jié)點廣播RREQ報文;最終,目的節(jié)點D接收到了RREQ報文。可以看出,在這個路徑尋找進程中,A到D有三條可用的路徑,分別為{S,A,C,D}、{S,F,E,G,D}和{S,B,E,G,D}。但是,目的節(jié)點D最先收到來自中間節(jié)點C的路由請求信息,所以它向中間節(jié)點C發(fā)送一個路由回復(RREP)報文,并沿著原來的路徑發(fā)送給源節(jié)點S,而對后來的路由請求信息置之不理。當源節(jié)點S收到RREP報文后,認為路由尋找進程已經結束,建立起{S,A,C,D}這條路徑,如圖1(b)所示。
2.2黑洞問題
MANET路由發(fā)現是基于某個節(jié)點返回的RREP來建立路由。首先初始化一個路由尋找進程[1~4]。源節(jié)占S向其鄰節(jié)點廣播一個RREQ報文(圖2(a));惡意節(jié)點可以通過返回包含虛假信息的RREP,在網絡中形成一個只吸收數據包的黑洞,如圖2(b)所示。源節(jié)點S要搜索一條通向目的節(jié)點D的路徑,而惡意節(jié)點B在收到源節(jié)點S廣播發(fā)送的RREQ后,立即產生一個含虛假信息的RREP,宣稱它有到達目的節(jié)點D的最短路徑。如果這個含虛假信息的RREP包比其他RREP包提前到達源節(jié)點S或具有較高的優(yōu)先級,則一個偽造的路徑就建立起來了。源節(jié)點S節(jié)點就會把送往目的節(jié)點D的數據包發(fā)送給B。B就依靠這種方法變成網絡中的一個數據包黑洞。惡意節(jié)點可以通過黑洞任意攔截數據包,嚴重破壞了網絡的正常運行。
3MANET黑洞解決方案
近幾年來,隨著對MANET研究的逐步深入,對MANET路由安全要求不斷提高和對黑洞問題的進一步認識,研究人員提出了很多黑洞問題解決的方法[5~10],如Marti,Giuli等人提出了Watchdog法;Zapala提出的SAODV;Papadimitratos提出的路由協(xié)議安全擴展。很多改進算法都采用了以下兩種方法。
1)禁止中間節(jié)點應答RREQ法該方法考慮了中間節(jié)點應答容易引起黑洞問題,采用只有目的節(jié)點才響應RREQ,禁止中間節(jié)點應答RREQ。這種策略增強了路由的安全性,但存在兩個明顯的缺陷:無論是在路由發(fā)現過程或路由更新過程,均將大大增加路由延時和系統(tǒng)開銷,特別是大型網絡;惡意節(jié)點也可以偽造目標節(jié)點的RREP 。
2)下游鄰節(jié)點驗證法基于響應節(jié)點的下游鄰節(jié)點驗證方案是當中間節(jié)點(假設是B)應答RREQ時,必須在RREP中附加下一跳節(jié)點的信息(假設是E);源節(jié)點收到RREP后并不立即信任該路由。而是再向E發(fā)送驗證詢問包;如果E返回的驗證反饋包中確認有到目的節(jié)點和到B的可用路由,源節(jié)點將信任B的RREP,否則拋棄RREP,同時向全網發(fā)送警告信息孤立B。圖3是該方案的一個驗證示例。
以上從某種程度上避免了黑洞的形成,但是都是基于單個惡意節(jié)點而言,沒有針對多個惡意節(jié)點之間相互配合的情況。那么以上方法檢查得到的結果也是虛假的。基于響應節(jié)點的下游鄰節(jié)點驗證時,節(jié)點H1在RREP中附加下一跳節(jié)點的信息H2;源節(jié)點再向H2發(fā)送驗證詢問包。由于H1和H2是相互配合的黑洞,當然在H2返回的驗證反饋包中有確認到目的節(jié)點和到H1的可用路由,源節(jié)點將信任H1的RREP。圖4是惡意節(jié)點之間相互配合產生的黑洞示例。
針對惡意節(jié)點配合產生黑洞的問題,結合公鑰密碼學的知識[9,10],提出了一種綜合的基于響應節(jié)點的鄰節(jié)點循環(huán)遞推驗證方案。該方案的思想是:應用基于響應節(jié)點的下游鄰節(jié)點驗證方案,循環(huán)遞推驗證;同時結合公鑰密碼學知識,有效地防止了惡意節(jié)點冒充目的節(jié)點、竄改RREP報文的能力,降低了對所選公鑰密碼算法的安全性的依賴于和惡意節(jié)點相互配合產生黑洞攻擊的現象。該算法具體過程如下:
a)假設MANET中的每個節(jié)點均擁有一對公鑰/私鑰(PKi , SKi ),公鑰對其他所有節(jié)點公開。假設源節(jié)點S要與目的節(jié)點D進行通信。源節(jié)點S首先生成一個隨機數random,并用目的節(jié)點D的公鑰PKd加密后,與RREQ報文一起廣播出去。
b)中間節(jié)點轉發(fā)RREQ報文。
c)目的節(jié)點D用私鑰SKd求出random。將其與RREQ信息級聯(lián)后,再用源節(jié)點S的公鑰PKs加密后同RREP報文一起發(fā)送。同時必須在RREP中附加下一跳節(jié)點的信息。
f)回復驗證信息(驗證結果和下游節(jié)點信息)。節(jié)點收到驗證包時,立刻回復驗證信息。
驗證過程中包括路由信息和節(jié)點本身的驗證。在源節(jié)點進行循環(huán)遞推驗證時所發(fā)送的數據包和回復驗證信息數據包均沒有進行加密,以便提高驗證的速度和效率。所以該方案制訂了兩種特定的RREQ包:加密的RREQ包,又稱為特別RREQ包,用于節(jié)點驗證;沒有加密的RREQ包,又稱常見RREQ包,用于循環(huán)遞推驗證。由于中間節(jié)點不知道目的節(jié)點和源節(jié)點的私鑰,無法冒充節(jié)點和竄改RREP報文,再結合響應節(jié)點的遞推鄰節(jié)點的循環(huán)驗證,即使惡意節(jié)點勾結起來,也無法形成黑洞。圖5是該方法對H2驗證的一個示例。
4結束語
由于MANET本身的特點,其容易受到攻擊。本文分析了MANET中的黑洞問題,結合公鑰密碼學的知識,提出了一種基于響應節(jié)點的遞推鄰節(jié)點驗證方案。該方案能有效地解決黑洞問題,降低對所選公鑰密碼算法安全性的依賴,提高了路由信息的完整性。利用NS-2[10,11]作一系列的仿真實驗來對該方案進行評估。仿真結果表明,該方案在多數情況下能發(fā)現黑洞攻擊率高達90%,且并沒有引入過多的系統(tǒng)開銷。同時提高了包的吞吐量至少12%,誤確認概率低于1.6%。但是公鑰密碼體制的運用增加了源節(jié)點和目的節(jié)點的運算量,代價較高。因此,該方案適用于對路由安全性要求較高的網絡。在選用公鑰密碼算法時,應考慮計算量少、速度快的算法。同時基于響應節(jié)點的下游鄰節(jié)點的循環(huán)遞推驗證的結束判斷點也是值得進一步研究的。
參考文獻:
[1]阮立志,劉雪濤,嚴蕾.Ad hoc網絡安全策略研究[J].鄭州輕工業(yè)學院學報:自然科學版,2005,20(4):45-49.
[2]謝冬莉,周曉峰.對AODV路由協(xié)議的三種攻擊方法及相應的解決方案[J].計算機與現代化,2004(10):101 103,107.
[3]朱曉妍.移動MANET的安全研究[D].西安:西安電子科技大學,2004:5-40.
[4]葉阿勇,許力.移動Ad hoc網絡AODV路由協(xié)議中的黑洞問題[J].計算機工程,2005,31(14):125 126,152.
[5]LI Huai zhi,CHEN Zhen liu,QIU Xiong yang,et al.Secure routing in wired networks and wireless Ad hoc networks[EB/OL].http://www.ccs.neu.edu/home/zhufeng/security_manet.html.
[6]ZAPATA M G.Secure Ad hoc on demand distance vector (SAODV)routing[R].[S.l.]:Mobile Ad hoc Networking Working Group,2001.
[7]PAPADIMITRATOS P,HAAS Z.Secure routing for mobile Ad hoc networks[C]//Proc of SCS Communication Networks and Distributed Systems Modeling and Simulation Conference.2001:27-31.
[8]HU Y C,JOHNSON D B,PERRIG A,et al.Secure efficient distance vector routing for mobile wireless Ad hoc networks[C]//Proc of WMCSA.2002:3 13.
[9]YI S,NALDURG P,KRAVETS R.A security aware routing protocol for wireless Ad hoc networks[EB/OL].http://www sal.cs.uiuc.edu/~rhk/pubs/SCI2002.pdf.
[10]SUN B,GUAN Yong,CHEN Jian,et al.Detecting black hole attack in mobile Ad hoc networks[C]//Proc of IEEE Personal Mobile Communications Conference.2003:490-495.
[11]NS 2 (the network simulator)[EB/OL].http://www.mash.cs.berkeley.edu/ns.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”