楊宏宇,韓越
(中國民航大學計算機科學與技術學院,天津 300300)
隨著網絡技術的發展,無線Mesh網絡(WMN,wirelss Mesh network)[1-2]被廣泛應用于多個領域。WMN傳輸介質的開放性和網絡拓撲結構的動態性,使該網絡極易遭受內部惡意節點的攻擊。同時,由于內部惡意節點可以利用合法授權進行偽裝,傳統的路由機制無法在路由過程中將其準確識別,導致大量信息在路由傳輸過程中遭到破壞[3],因此,如何在路由過程中有效識別惡意節點,構造安全的路由路徑,成為目前WMN安全路由機制研究的熱點。
Sarma等[4]提出了一種基于安全分層和角色的安全路由協議(SHaRP, secure hierarchical and role based routing protocol),該協議在對路由控制信息進行加密的同時計算節點信譽值和鏈路的質量安全值,根據計算結果選出安全的路由路徑。Bounouni等[5]提出了一種節點信譽值與貢獻值混合的確認方法(NHACK, new hybrid acknowledgment approach),采用基于監控確認技術的信譽值計算方法,并結合貢獻系統計算節點在路由建立過程中的貢獻值,依據節點信譽值與貢獻值選出安全高效的路由路徑。吳軍等[6]提出了一種基于反饋可信度的可信機會路由轉發模型,通過反饋可信度模型評價節點行為,進而識別出無線Mesh網絡中的惡意節點,實現了路由過程中共謀攻擊的防御。Guo等[7]提出了一種基于信任機制的安全訪問控制方案,采用基于貝葉斯理論的信任機制進行惡意節點識別,并采用改進Diffie-Hellman密鑰協商協議實現路由過程中的密鑰交換,保障路由信息的安全性。Sookhak等[8]提出了一種無線網絡惡意節點檢測新方法,對數據分組標記的同時采用密鑰預分配技術來進行惡意節點的識別,在不需要使用同步時鐘等額外硬件的情況下實現對惡意節點的檢測。上述研究成果雖然能夠為無線Mesh網絡的路由安全提供一定的保障,但仍存在以下不足:在路由過程中對節點的評價不夠全面,缺乏時效性和動態性,沒有結合節點歷史行為與當前行為對節點做出綜合評價,導致內部惡意節點的識別不夠準確。
針對上述不足,本文將節點動態信譽值評價引入路由機制的設計中,提出了一種基于動態信譽的無線 Mesh網絡安全路由機制(SRMDR, secure routing mechanism based on dynamic reputation),通過動態信譽機制對節點做出綜合評價,然后根據評價結果在路由過程中準確識別并隔離內部惡意節點,保障路由安全。
本文將主觀邏輯理論[9]與信譽評價機制相結合,提出了一種新的動態信譽機制。依據路由過程中節點對數據分組的轉發情況和鏈路質量進行信譽值評估,同時考慮節點信譽值隨時間的變化,實時更新節點信譽值,最終準確識別出惡意節點,為路由選擇提供依據。
節點i對節點j的信譽值評價可用四元組表示,四元組中的元素為2個節點間的信任度bi;j、不信任度di;j、不確定度ui;j和信賴度ai;j。其中,bi;j表示節點i對節點j的信任程度,di;j表示節點i對節點j的不信任程度,ui;j表示節點i對節點j信任中的不確定程度,ai;j表示節點i愿意相信節點j是可信節點的程度。為避免其他因素干擾,保證節點評價的客觀性,本文默認ai;j=0.5并統一用a表示,其他各元素滿足式(1)所示的條件[10]。

本文提出的動態信譽機制中需要計算的節點信譽值包括直接信譽值、推薦信譽值、綜合信譽值和動態信譽值。具體計算過程如下。
1) 根據節點對數據分組的轉發情況和鏈路質量,計算節點的直接信譽值。
2) 結合鄰居節點的推薦信息,計算節點的推薦信譽值。
3) 根據節點的直接信譽值和推薦信譽值,計算節點的綜合信譽值。
4) 整合節點的歷史綜合信譽值和當前綜合信譽值,計算節點的動態信譽值。


其中,si:j表示節點j從節點i接收到的數據分組中成功轉發的數量,fi:j表示節點j從節點i接收到的數據分組中丟棄的數量,Li:j表示節點i與節點j之間無線鏈路的鏈路質量,計算式為

其中,Pi:j表示節點i與節點j之間無線鏈路的正向傳輸率,Pj:i表示節點i與節點j之間無線鏈路的反向傳輸率,kt表示無線鏈路兩端的發送節點在一次傳輸過程中共發送的數據分組數量,ks表示無線鏈路兩端的接收節點在一次傳輸過程中共接收到的數據分組數量。
由于節點i可能沒有足夠的歷史交互數據來評價節點j,且計算出的直接信譽值無法對節點j做出全面的判斷,因此節點i會向鄰居節點發起推薦信譽值計算過程,進一步對節點j進行評價。推薦信譽值的具體計算過程為:節點i向鄰居節點廣播發送信譽值查詢信息,發起推薦信譽值計算過程;節點i的鄰居節點收到查詢信息后,查詢本地記錄,如果存在關于節點j的信譽值,則發送響應消息,將節點j的直接信譽值計算結果發送給節點i;若節點i的鄰居節點中有n(n>2)個節點的信譽值數據庫中存在對節點j的直接信譽值計算結果,則對于每個推薦者m,首先由式(5)計算相應的權重因子hm為

由于惡意節點在轉發過程中會丟棄部分數據分組,因此它們的直接信譽值Tdir會很小。在推薦信譽值計算過程中,這些惡意節點的推薦信息對信譽值計算的影響就會很小,從而保證最終的綜合推薦信譽值更加準確。
得到加權因子后,由式(6)對接收到的所有推薦信息進行整合。


得到節點的直接信譽值和推薦信譽值后,計算節點的綜合信譽值為



其中,γ代表權重因子,表示直接信任度對綜合信任度的影響程度。
無線Mesh網絡中節點的行為會隨時間的推移發生變化,之前計算的節點信譽值對節點的評價作用會隨時間發生衰減,不能真實地體現節點當前的狀態。當前計算的節點信譽值沒有考慮節點的歷史表現,對節點的評價不夠全面,因此,為了保障節點評價的動態性和全面性,需要計算節點的動態信譽值綜合考慮節點的歷史綜合信譽值和當前綜合信譽值,使節點的評價更加全面準確。假設節點的信譽值計算間隔為10 s,則為節點10 s前的綜合信譽值,為節點當前的綜合信譽值。的計算式為

其中,ω1和ω2為權重因子,由于當前綜合信譽值比歷史綜合信譽值具有更高的參考價值,因此ω1和ω2需滿足 0<ω1<ω2<1,ω1+ω2=1;τ為衰減因子,表示歷史信譽值隨時間的衰減程度,且0<τ<1。
本文將動態信譽機制應用于無線Mesh網絡路由過程,提出了一種基于動態信譽的安全路由機制(SRMDR)。該機制由路由建立和路由維護這2個階段組成。
SRMDR通過源節點廣播路由請求(RREQ,route request)信息發起路由建立,源節點構建RREQ信息,并向鄰居節點廣播發送。鄰居節點收到源節點發來的RREQ信息,通過動態信譽機制判斷源節點是否可信,隨后向源節點發送路由響應(RREP, route respond)信息進行響應。假設節點信譽值的閾值為β(β∈[0.0, 1.0]),SRMDR路由建立的具體過程設計如下。
步驟1 源節點j生成RREQ信息,并廣播發送給鄰居節點。
步驟 2 節點j的任意鄰居節點i收到 RREQ信息后,采用動態信譽機制對節點j進行評價,鑒別其是否為可信節點。具體過程如下。
1) 節點i查詢本地信譽值數據庫,搜尋有關節點j的數據分組轉發信息。根據查詢結果計算節點j的直接信譽值并將其保存在本地信譽值數據庫中。
3) 節點i向鄰居節點廣播信譽值查詢信息,要求提供關于節點j的推薦信息,發起推薦信譽值計算過程。
4) 節點i和節點j的任意共同鄰居節點m收到信譽值查詢信息后,查詢本地信譽值數據庫并將查詢結果反饋給節點i。
5)節點i將收到的所有鄰居節點反饋的推薦信息進行整理,計算出節點j的推薦信譽值
6) 節點i根據計算得出的直接信譽值和推薦信譽值,計算節點j的綜合信譽值即為節點j的當前綜合信譽值再結合信譽值數據庫中節點j的歷史綜合信譽值計算節點的動態信譽值
步驟3 節點j收到RREP消息后,執行步驟2來判斷節點i是否為可信節點。若節點j將節點i判定為可信節點,則將其作為路由中的下一跳節點進行數據傳遞,否則將其隔離。
步驟4 循環執行步驟2和步驟3,直到找出源節點到目的節點之間符合要求的路由路徑。
步驟 5 如果存在多條符合要求的路徑,則選擇節點平均動態信譽值最高的路徑作為最終的安全路徑。節點的平均動態信譽值通過路徑中所有節點的動態信譽值之和除以節點數量來計算。
由于無線Mesh網絡存在動態性,節點的行為會隨時間發生變化,已建立的安全路由路徑會遭到破壞,因此路由的維護過程也變得同等重要。假設l、m、n為已建立的路由路徑上的任意相鄰節點,SRMDR路由維護的具體過程設計如下。
步驟1 節點m定期計算上一跳節點l的動態信譽值并與閾值β比較。若則接收來自節點l的數據分組,并執行步驟2判斷下一跳節點n是否為可信節點;若則停止接收來自節點l的數據分組,并向源節點發送路由維護消息。
步驟2 節點m計算下一跳節點n的動態信譽值并與閾值β比較。若則繼續將節點n作為下一跳節點,并將數據分組發送給節點n;若則停止向節點n發送數據分組,并向源節點發送路由維護消息。
步驟 3 源節點收到路由維護消息后,首先廣播通知所有節點對新發現的惡意節點進行記錄并予以隔離,然后重新發起路由建立的過程,建立新的安全路由路徑。
在 NS2仿真環境中獲取 SRMDR、混合無線Mesh 協議(HWMP, hybrid wireless Mesh protocol)、SHaRP[4]這3種路由機制的惡意節點識別率、網絡吞吐量和端到端平均時延的指標數據,并對仿真實驗結果進行對比和分析。
采用網絡仿真工具 NS2(NS-2.35)[12]進行仿真實驗,通過Matlab(Matlab R2016a)對實驗結果進行處理和展示。
NS2環境設置與實驗過程如下。
1) 編寫OTcl腳本,生成一個900 m×900 m的模擬區域,設置追蹤文件監測數據分組傳遞情況。
2) 生成60個網絡節點,隨機分布在模擬區域中,節點的網絡布局如圖1所示。由于本文提出的SRMDR不受節點分布影響,因此隨機分布節點的網絡布局對實驗結果不會產生影響。

圖1 NS2中節點的網絡布局
3) 設置節點的通信半徑為200 m。
4) 設置MAC層采用IEEE 802.11的無線網絡通用標準。
5) 設定流量傳輸模型為恒定比特率模型。
6) 將編寫的 SRMDR源碼文件夾添加到 NS2的 ns-allinone-2.35/ns-2.35目錄中,在 PT_NTYPE之前加入 PT_SRMDR,將 PT_SRMDR添加到commom/packet.h文件列表中,并在p_info類中定義新的分組類name_[PT_SRMDR]="srmdr"。
7) 在trace/cmu-trace.cc的format()函數中添加 case PT_SRMDR,記錄分組信息,編譯priqueue.cc文件中的recv()函數聲明隊列優先級。
8) 修改 OTcL庫文件,在 tcl/lib/ns-packet.tcl中添加 SRMDR,設定屬性默認值,修改 Makefile中的OBJ_CC變量,編譯新添加的文件,得到trace跟蹤文件。
9)利用gawk分析trace跟蹤文件,提取實驗結果數據,然后采用Matlab對數據進行圖形化展示。
實驗參數設置如表1所示。

表1 實驗參數
惡意節點識別率是指被識別出的惡意節點數占惡意節點總數的比率。本文實驗通過比較3種路由機制的惡意節點識別率隨時間的變化情況,分析SRMDR準確識別惡意節點的能力。實驗過程設計如下。
步驟1 設置節點信譽值閾值為0.6,并作為惡意節點判定依據。
步驟2 在生成的60個節點中,隨機選取20個節點設置為具有分組丟失行為的惡意節點。
步驟3 當實驗時間t=0~10 s時,節點開始傳輸數據,傳輸節點計算相鄰節點綜合信譽值并與閾值比較,開啟惡意節點識別過程。
步驟4 設置動態信譽值計算周期為10 s,當t=20 s時,傳輸節點結合相鄰節點歷史綜合信譽值與當前綜合信譽值,計算相鄰節點動態信譽值并與閾值比較,進一步識別惡意節點。
步驟 6 在相同環境下分別加載 HWMP和SHaRP,計算這2種路由機制相應時刻的惡意節點識別率并與SRMDR比較。
隨著時間的變化,3種路由機制的惡意節點識別率變化情況如圖2所示。

圖2 3種路由機制的惡意節點識別率變化情況
由圖2可知,在實驗的初始階段,3種路由機制的惡意節點識別率都不高且比較接近。隨著時間的增加,3種路由機制的惡意節點識別率都逐漸增加且SRMDR的惡意節點識別率高于其他2種路由機制。這是因為初始階段節點間交互行為較少,可用于計算節點信譽值的依據不足。隨著時間的增加,節點信譽值計算過程不斷完善,同時由于SRMDR采用動態信譽機制,綜合考慮節點的歷史信譽值和當前信譽值,使節點評價具有實時性且更加全面。因此,隨著時間的增加,相對于其他2種路由機制,SRMDR可以更加及時準確地識別出惡意節點。
網絡吞吐量是指網絡節點單位時間內成功傳輸的數據量。本文實驗通過比較3種路由機制的網絡吞吐量隨惡意節點數的變化情況,分析 SRMDR在惡意節點影響下保證網絡吞吐量的能力。實驗過程設計如下。
步驟1 分別在實驗環境中設置2、4、…、20個惡意節點。
步驟 2 惡意節點在數據傳輸過程中隨機產生分組丟失行為,設置惡意節點的分組丟失率為20%~60%。
步驟3 經過100 s后,統計網絡中傳輸的數據量。
隨著惡意節點數量的變化,3種路由機制的網絡吞吐量變化情況如圖3所示。

圖3 3種路由機制的網絡吞吐量變化情況
由圖3可知,隨著惡意節點數量的增加,3種路由機制下的網絡吞吐量都有所下降,但在具有相同數量惡意節點的網絡環境中,SRMDR的網絡吞吐量相對較高。這是因為惡意節點數量越多,網絡重新建立路由的概率越大,網絡的傳輸效率越低。但在惡意節點數量相同的情況下,SRMDR根據節點對數據的轉發行為和鏈路質量對節點的信譽做出全面評價,從而更加有效、靈活地識別出網絡中的惡意節點,減小數據分組在轉發過程中被丟棄的概率,有效改善網絡的傳輸效率,提高網絡的吞吐量。
端到端平均時延是指數據分組從源節點傳輸到目的節點所需要的平均時間。本文實驗通過比較3種路由機制的端到端平均時延隨惡意節點數的變化情況,分析SRMDR傳送數據所需的時間開銷。實驗過程設計如下。
步驟 1 設置實驗環境中數據的傳輸速率為11 Mbit/s。
步驟 2 統計每個數據分組從源節點開始發送的時間。
步驟 3 統計每個數據分組經過網絡傳輸后,到達目的節點的時間。
步驟 4 待數據傳輸完成,由數據分組傳輸時間=數據分組到達時間-數據分組發送時間,分別計算每個數據分組的傳輸時間并求和。
步驟 5 統計整個傳輸過程中網絡傳輸數據分組的總數。
隨著惡意節點數量的變化,3種路由機制的端到端平均時延變化情況如圖4所示。

圖4 3種路由機制的端到端平均時延變化情況
由圖4可知,隨著網絡中惡意節點數量的增加,3種路由機制的平均時延都出現增長,原因是惡意節點增多導致路由建立過程所需的時間增長,平均時延隨之增加。在惡意節點數量相同的情況下,SRMDR的平均時延高于其他2種路由機制,原因是SRMDR在路由建立過程中綜合評估節點的當前信譽值和歷史信譽值,增加了一定時間開銷。但這種額外開銷仍處于一般網絡服務許可范圍內,且不會顯著影響網絡傳輸效率。此外,正是由于SRMDR采用動態信譽機制對節點行為和鏈路質量進行全面的評價,使路由過程中節點的質量和數據的安全性得到保障。
本文針對無線Mesh網絡安全路由機制匱乏、內部惡意節點在數據傳輸過程中容易產生分組丟失的問題,提出了一種基于動態信譽的無線 Mesh網絡安全路由機制——SRMDR。SRMDR采用動態信譽機制,根據節點對數據的轉發行為和鏈路質量對節點的信譽進行全面評價,依據評價結果識別并隔離惡意節點,最終利用可信節點在路由的建立與維護過程中傳遞數據。與 HWMP、SHaRP機制相比,SRMDR具有較高的惡意節點識別率,并能有效降低數據分組在路由傳輸過程中的分組丟失率,提高網絡吞吐量。
在未來工作中,將研究降低SRMDR時間開銷的方法,進一步提高SRMDR的運行效率。