摘要:提出了一種自組織網絡層安全方案(self organized network layer security, SONLS),為按需路由的路由形成和數據轉發提供了網絡層的安全保護。SONLS主要通過信息交叉檢查和分布式聯合評估的自組織方式來保護網絡。SONLS在路由信息中不使用任何加/解密方法,而是通過鄰節點之間的相互協作,共同監督和監測節點的行為,并及時地將收集的鄰節點的信息進行交叉檢查,以判斷是否存在可疑節點。網絡中所有節點都是對等的。在SONLS采用了一種新的信譽機制,通過分布式聯合評估判斷可疑節點是否為惡意節點。通過負載分析可以看到,該信譽機制隨著時間的推移,可以有效地降低負載。仿真結果顯示,SONLS在多個攻擊者存在的網絡環境下也是有效的。
關鍵詞:移動自組網絡; 網絡層安全; 自組織安全
中圖分類號:TP393.08文獻標志碼:A
文章編號:1001-3695(2007)08-0124-05
0引言
移動Ad hoc 網絡,即移動自組網,是由一組帶有無線收發設備的移動節點組成的臨時自治性網絡。這種網絡的組建不需要基站代理等基礎設施,各節點兼具主機和路由器的功能,節點間采用多跳數據轉發機制來交換信息。移動Ad hoc 網絡具有自組織性、無中心、動態拓撲結構等特點。同時,其傳輸帶寬有限,移動終端內存較小,多以電池類可耗盡能源供電。
現在已提出的很多路由協議都是假設MANET處于沒有惡意節點的、可信的環境中。不幸的是,當有惡意節點存在時,在MANET這種開放式的環境中,拓撲圖隨時改變,又不存在可信中心,路由是很容易遭受到攻擊的。為了解決這些問題,一些安全路由協議被提出,如SAODV[1]、SRP[2]、SAR[3]、CSER[4]、BSAR[5]、Ariadne[6]和SEAD[7]。所有這些協議主要關注的是維護每個節點路由表的安全,而對于報文傳輸的安全卻考慮得較少。而且,即使考慮了報文傳輸的安全,也主要是通過各種加/解密方案實現,這就引入了大量的計算和通信負載。隨之而來的,還有如何進行密鑰管理的問題。
本文提出一種自組織網絡層安全(SONLS)方案。該方案在路由和數據報文傳輸時無須使用任何加/解密技術,只是在令牌的管理上需要。本文將以AODV[8]為依托闡述SONLS方案,但是SONLS方案并不只限于AODV,還可以應用到其他的路由協議中。
SONLS保護移動Ad hoc網絡的兩個主要思想如下:
a)信息的交叉檢查。每個節點監測其鄰節點,并將監測結果公布。節點綜合來自不同節點的監測結果,對其進行交叉檢查,從而判斷其鄰節點是否存在異常行為。
b)分布式聯合評估。只有當節點的一定數量的鄰節點都一致認為該節點為惡意節點時,該節點才被判定為惡意節點。本文引入令牌作為節點參與網絡操作的通行證。使用非對稱加密算法來阻止偽造令牌。其中每個令牌使用統一的系統私鑰簽名,每個節點可以使用本地存儲的系統公鑰進行驗證。本文采用分布式機制[9]來簽發和更新令牌。在此方案中,必需一組規定數量的節點合作地對令牌簽名,而沒有任何單一的節點可以完成該工作。如果令牌將過期,節點將通過其鄰節點對其更新。
如果源節點要發送報文到目的節點,而源節點沒有可用路由的情況下,將廣播路由請求報文(RREQ)給鄰節點。每個節點維護一張單調增的序列號表,如此可以避免循環路由,也可以減少處理重放報文的負載。源節點將序列號表中目的節點的序列號附加在RREQ報文頭部。當中間節點一旦接收到RREQ時,首先檢查本地的路由表。如果擁有到達目的節點的路由,并且本地存儲的目的節點的序列號比RREQ中的要大,那么它將單播路由回復報文(RREP)到轉發RREQ給它的鄰節點。否則,記錄前一跳的節點并重新廣播RREQ。重復的路由報文將被丟棄。如此,RREQ以可控洪泛的方式最終可以到達目的節點。目的節點產生RREP報文,并發送給前一跳節點,最終轉發給源節點。AODV中還包含路由維護機制,當節點探測到有鏈路斷開時,會發送路由報錯報文(RERR)。
1模型與假設
1)每個節點擁有唯一的非零ID。
2)無線鏈路是對稱的,如果A節點的信號可以到達B節點,那么B節點的信號也可以到達A。
3)無線信道的接口都是混雜的,即節點可以監聽到其無線傳輸范圍內正在進行的通信的內容。
4)網絡中的惡意節點數少于k。其中k為(N,T)門限中的門限T。
2自組織網絡層安全方案SONLS
為了保護報文的傳輸安全,每個節點需要隨時監聽無線信道。不同節點監聽到的結果來形成交叉檢查。當鄰居節點通過信任機制達成一致時,SONLS就認為可以判斷節點是否為惡意節點。如果一旦被判斷為惡意節點,將會從網絡中隔離。為了保證網絡的使用權力,每個合法節點擁有一個通過認證的、未過期的和未被撤銷的令牌。沒有令牌的節點不能參加網絡中的任何操作。合法節點在其令牌過期前會更換令牌;而惡意節點將被收回令牌,同時鄰節點會廣播通知網絡中其他節點。SONLS的框架如圖1所示。
1)協作監測所有的節點在本地鄰居范圍內協作地相互監測。
2)令牌更新所有合法節點在本地鄰居范圍內協作地相互更新令牌。
3)令牌撤銷惡意節點的鄰居,一致并協作地撤銷其令牌。
在這個框架中,協作監測配合后面提到的信譽機制,將有效地檢查出惡意節點。令牌更新保證了合法節點能繼續留在網絡中。令牌撤銷能夠將惡意節點排除出網絡,從而阻止惡意節點干擾路由和數據報文的傳輸。
對于該框架,本文主要考慮以下幾個問題:
a)協議是否能隨時隨地以低負載來進行令牌更新?
b)每個節點是如何監測其鄰居的?
c)監測結果的正確性如何,怎么提高結果的正確性?
d)由于惡意節點也是可以在網絡中任意移動的,有什么有效的方法將其隔離?
2.1令牌更新
SONLS 執行令牌操作是基于以前提出的移動Ad hoc網絡的分布式認證服務[10]的。令牌由三部分組成:〈ID,time_sign,time_expire〉。 在網絡中,雖然沒有集中的認證中心(CA),但是有一對非對稱密鑰PK/SK。公鑰PK是網絡中所有節點都知道的,而沒有任何一個節點單獨知道私鑰SK。令牌都是用系統私鑰進行了簽名的。由于令牌和擁有者的惟一ID綁定,惡意節點無法偽造令牌也不可能使用其他合法節點的令牌。SONLS使用了多項式秘密分享方案,只有k個或k個以上擁有私鑰分量的節點才可以聯合用私鑰SK對令牌簽名。
在令牌過期之前,每個節點向一跳或者兩跳的鄰居節點發起更新請求。更新過程如圖2所示的握手機制。節點需要廣播令牌更新請求報文(token request, TQ)。其中包含了現在的令牌和時間戳。每個節點保存一個令牌撤銷鏈(token revocation list, TRL)。當節點接收到TQ時,通過TRL來判斷是否響應請求。
當節點從鄰節點那里接收到TQ報文,它從報文中取出令牌。將該令牌與TRL中的令牌進行比較,檢查該令牌是否已經被撤銷。如果令牌仍然有效,它構造一個和舊令牌有相同ID的新令牌。新令牌中time_sing等于舊令牌中的time_expire。而新令牌中time_expire由后面將要介紹的信譽機制確定。最后用它所擁有的SK分量對構造出的令牌簽名。將這部分簽名令牌加入令牌回復報文(token reply, TP)中,并單播TP報文給發送TQ報文給它的節點。TQ報文中如果包含的是已經撤銷的令牌,那將直接被丟棄。當請求節點從不同的鄰居接收到TP報文,將合并這部分簽名的令牌成為一個用SK簽名的令牌。
c)在本節點發布的路由更新信息中,公布路由算法BellmanFord的輸出。
因為每個節點知道路由算法為BellmanFord,所以當監測節點知道算法的輸入,即可判斷被監測節點公布的算法輸出是否正確。本文以AODV為例。但是,通過監聽路由更新報文,節點并不能獲得足夠的信息作為算法的輸入。主要的原因在于,AODV路由信息中是沒有下一跳信息的。當節點發布路由更新,其鄰節點不知道那個節點是路由的下一跳,因而無法作出判斷。
為了能夠順利地進行路由更新的交叉檢查。本文對AODV進行兩處修改:a)在RREP報文頭部添加Next_hop字段,而在RREQ報文頭部添加previous_hop字段;b)每個節點保留鄰居節點之前路由更新的記錄。每個節點需要在本地維護鄰節點的路由表。這些額外的路由信息使得節點可以判斷其鄰居節點發布的路由更新信息的正確性。
圖3顯示了節點如何交叉檢查路由更新。如果節點M有鄰節點X和Y。M又保存了Y之前發布的路由信息。當M接收到一個X發布的新路由更新信息,且稱Y為下一跳,M可以根據Y之前發布的路由信息判斷更新的正確性。可以將該過程看成是,M重新執行在X中運行的路由算法。
圖3節點交叉檢查路由更新
例如,對于字段hop_cnt。假設Y之前公布到目的節點D的hop_cnt為2;而X發布的路由更新信息中宣稱與D的hop_cnt為1并且下一跳為Y。M通過計算X和D的應該為3,檢測出錯誤。對于其他的字段也是類似的檢查。
路由更新的交叉檢查僅僅在有共同鄰節點的情況下。如圖3中,當A接收到X的路由更新,就無法判斷該信息是否正確,此時略過交叉檢查。
本文提出的SONLS在路由信息中,不需要用到加/解密,極大地降低了計算和通信負載,但是在下面的情況下,SONLS可能無法很好地運行:
a)Y僅僅在很短的時間內作為M的鄰居節點,M并未獲得足夠的Y的路由信息。
b)由于信道故障,M并未接收到Y之前發送的路由更新信息。
c)Y增加了路由表中記錄的生命周期,但是M并不知道,而將這些記錄刪除。
對于這些情況,SONLS只有通過聯合評估機制來增強檢測的性能。
2)監測數據報文這里主要監測三種異常行為,即丟棄報文、復制報文和網絡層報文阻塞。
對于報文丟棄的檢測算法,可以采用Watchdog技術。但是,Watchdog技術最初是運用于DSR[10]的,源節點將路由在數據報文的頭部列出。該技術是不能直接運用于AODV中的(當節點接收到報文時,其鄰居節點并不知道報文會向哪個節點轉發,所以并不能判斷是否為正確轉發)。在前面對AODV的修改中,報文添加了next_hop字段,可以進行判斷。
2.3令牌撤銷
每個節點保存令牌撤銷列表(TRL)。當TREV報文被廣播時,令牌撤銷過程開始。當節點接收到TREV報文,首先檢查簽名是否正確,并且要撤銷令牌是否已經在TRL中。如果簽名不正確或需要撤銷的令牌已經在TRL中,則丟棄報文;否則,將該令牌加入TRL中并重新廣播TREV。如此繼續直到所有的節點都將該令牌加入本地的TRL為止。雖然這個過程需要有限制的洪泛,但因為每個攻擊者只會引入一個TREV,所以增加的負載是可以接受的。為了防止惡意節點通過更新過程重新使用令牌,被撤銷的令牌將在TRL中保存直到令牌過期。
3負載分析
4仿真
4.1仿真環境
實驗平臺為Pentium4 1.8 GHz CPU, 512 MB RAM ,使用的操作系統是Windows 2000下Cygwin平臺 ,網絡仿真平臺是NS2.28(network simulator version2.28)。仿真中,節點運動范圍3 000 m×3 000 m。網絡中節點的運動方式采用隨機運動模型,即每個節點在該區域內從一點向另一點運動,運動速度在零到最大速度之間隨機選取;到達目標點后停留一段時間,再隨機選擇一個新的目標點和一個新的速度向新的目標點運動,依此類推, 直至仿真結束。期間的停留時間為5 s。MAC層使用的802.11協議 ,節點傳輸半徑為300 m ,鏈路帶寬為2 Mbps,數據包大小為512 Byte,模擬時間為200 s。本文惡意節點所占的比例在10%~40%。仿真中,主要參數如下:
a)漏判率——SONLS沒有能檢測出來的和未能孤立的惡意節點的比率。
b)誤判率——SONLS將合法節點誤判和孤立的幾率。
c)報文傳遞率——成功傳送的報文的比率。
d)通信負載——SONLS中要達到目標所需發送的總的報文數。
4.2仿真結果
圖4顯示了節點在不同速度的情況下漏判率的變化。可以看到,在不考慮惡意節點數量的情況下,靜態網絡的漏判率是最高的。當節點開始移動時,漏判率開始下降,達到3%~10%時趨于穩定。通過觀察可以發現,當節點在稀疏的區域時,SONLS判斷惡意節點的能力變差。因為這時,惡意節點周圍沒有足夠的合法節點而達成聯合監測。在靜態網絡中,惡意節點處于稀疏區域的幾率要大得多,所以鄰節點無法去證明其為惡意節點。相反,在動態網絡中,移動性使得惡意節點可能移動到密集區域,或者其他節點移動到惡意節點周圍,從而使SONLS對惡意節點的漏判率減小。
圖5顯示了移動性對于誤判率的影響。由圖5可以看出,與圖4相反,隨著節點速度的加快,誤判率呈上升趨勢。當達到仿真中最大速度20 m/s,誤判率即在6%~11%。造成這種現象的原因是,每個節點對報文和信息的緩存容量是固定且有限的,而高移動性使得節點更快出現緩存內容的更新和淘汰,而這些被更新或者淘汰的報文又常常是用于判斷鄰節點是否正常的依據,所以高移動性就使得誤判率也提高了。但是,即使對單節點而言,誤判的可能性較高,通過聯合評估機制可以有效降低誤判的幾率。圖4和5顯示了惡意節點數量對檢測性能方面的影響。由兩圖可以看到,即使惡意節點在總節點數中的比率從10%增加到40%,也沒有對檢測性能產生明顯的影響。其中的原因,可能是為了簡便,仿真中的惡意節點都是獨立地進行攻擊,而沒有合謀攻擊。
5結束語
本文提出了一種新的非密碼的方法來保證Ad hoc網絡的網絡層安全。SONLS的安全性主要是在路由和數據報文傳輸這兩方面實現。網絡中所有的節點相互的協作監測和聯合評估,有效地保證了惡意節點盡可能地被排除出網絡。本文比較了SONLS和使用加/解密算法來保證報文傳輸安全的負載。通過分析可以看出,SONLS在存儲方面的負載較后者大,但在計算和通信方面的負載要比后者小得多。
參考文獻:
[1]MALTZ D,BROCH J, JETCHEVA J. The effects of ondemand behavior in routing protocols for multihop wireless Ad hoc networks[J]. IEEE Journal on Selected Areas in Communications, 1999,17(8):14391453.
[2]PAPADIMITRATOS P, HAAS Z J. Secure link state routing for mobile Ad hoc networks[C]//Proc of the IEEE Workshop on Security and Assurance in Ad hoc Networks.Orlando:IEEE Press,2003:27-31.
[3]DENG Hongmei, AGRAWAL D P. TIDS: threshold and identitybased security scheme for wireless Ad hoc networks[J]. Ad hoc Networks, 2004,2(3):291-307.
[4]HU Y, PERRIG A. Ariadne: a secure ondemand routing protocol for Ad hoc networks[C]//Proc of the 8th ACM International Conference on Mobile Computing and Networking. Atlanta: ACM Press, 2002:12-23.
[5]HU Y, JOHNSON B. SEAD: secure efficient distance vector routing in mobile wireless Ad hoc networks[J]. Ad hoc Networks, 2003,1(1):175192.
[6]KONG J, ZERFOS P, LUO H. Providing robust and ubiquitous security support for MANET[C]//Proc of IEEE 9th International Confe ̄rence on Network Protocols(ICNP).California: IEEE Press, 2001:251-260.
[7]CAPKUN S, BUTTYAN L. Selforganized publickey management for mobile Ad hoc networks[J]. IEEE Transactions on Mobile Computing, 2003,2(1):52-64.
[8]MARTI S, GIULI J. Mitigating routing misbehavior in mobile Ad hoc networks[C]//Proc of the 6th Annual ACM International Conference on Mobile Computing and Networking. Boston: ACM Press, 2000:255-265.
[9]YOO M, QIAO C. QoS performance of optical burst switching in IPoverWDM networks[J]. IEEE Journal on Selected Areas in Communications, 2000,18(10):2062-2071.
[10]WAN J, ZHOU Y. Guaranteeing quality of service in optical burst switching networks based on dynamic wavelength routing[J]. Optics Communications, 2003,220(3):85-95.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”