劉 杰, 劉光杰
(南京信息工程大學(xué) 電子與信息工程學(xué)院, 南京 210044)
MANET是一種自組織網(wǎng)絡(luò), 移動(dòng)節(jié)點(diǎn)通過無線鏈路和多跳轉(zhuǎn)發(fā)連接, 沒有固定的網(wǎng)絡(luò)基礎(chǔ)設(shè)施[1].MANET由于其靈活性強(qiáng), 廣泛應(yīng)用于救災(zāi)、車載網(wǎng)絡(luò)、軍事服務(wù)等領(lǐng)域. 然而, 由于其分布式特性、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的不斷動(dòng)態(tài)變化和沒有絕對控制中心, MANET容易受到惡意節(jié)點(diǎn)的各種攻擊[2].
MANET中的通信分為兩種類型: “單跳通信” 和“多跳通信”. 在前者中, 位于彼此通信范圍內(nèi)的節(jié)點(diǎn)直接通信, 而在多跳通信中, 當(dāng)目的節(jié)點(diǎn)超出源節(jié)點(diǎn)通信范圍時(shí), 需要中間節(jié)點(diǎn)將消息中繼到目的節(jié)點(diǎn). 從廣義上講, 路由協(xié)議可以分為3類: 主動(dòng)路由協(xié)議、被動(dòng)路由協(xié)議、混合協(xié)議[3]. 在主動(dòng)路由協(xié)議中, 僅當(dāng)需要將數(shù)據(jù)包發(fā)送到特定目的地, 并且沒有可用的緩存路由時(shí), 才會(huì)獲得路由. 如動(dòng)態(tài)源路由(dynamic source routing, DSR)、即按需距離矢量路由協(xié)議(ad hoc ondemand distance vector routing, AODV). 在被動(dòng)路由協(xié)議中, 所有的路由都是預(yù)先發(fā)現(xiàn)的, 所有的路由都是可用的, 并且一直由網(wǎng)絡(luò)中的所有節(jié)點(diǎn)維護(hù). 如目的節(jié)點(diǎn)序列距離矢量(destination sequenced distance vector,DSDV)路由協(xié)議、優(yōu)化狀態(tài)鏈路路由協(xié)議 (optimized link-state routing, OLSR)[4]. 在混合協(xié)議中, 這類協(xié)議是主動(dòng)和被動(dòng)協(xié)議的混合. 對于本地鄰居, 使用主動(dòng)技術(shù),對于較遠(yuǎn)的節(jié)點(diǎn), 使用被動(dòng)路由機(jī)制. 區(qū)域路由協(xié)議(zone routing protocol, ZRP)是一種混合路由協(xié)議. 目前MANET常用的路由協(xié)議之一是OLSR, 該協(xié)議是對傳統(tǒng)路由協(xié)議鏈路狀態(tài)的改進(jìn), 使用了多點(diǎn)中繼(multi-point relay, MPR)技術(shù)[4], 每個(gè)節(jié)點(diǎn)在其所有單跳鄰居之間最優(yōu)選擇一個(gè)MPR的子集, 以覆蓋所有的2跳鄰居, 且只允許MPR節(jié)點(diǎn)生成和轉(zhuǎn)發(fā) (topology control, TC)廣播消息, 大大減少了網(wǎng)絡(luò)中的中繼數(shù)量和信息量. 但OLSR與傳統(tǒng)路由協(xié)議相比, 需要大量的帶寬和能源資源、開銷, 且不支持多播和安全性. 因此,OLSR容易遭受各種惡意攻擊, 如黑洞攻擊、重放攻擊、自私行為等[5]. 黑洞攻擊最具破壞性, 攻擊者通過謊稱到達(dá)目的地的最短路徑來吸引所有數(shù)據(jù)包, 后將數(shù)據(jù)全部轉(zhuǎn)儲(chǔ), 惡意阻止數(shù)據(jù)轉(zhuǎn)發(fā)到目的節(jié)點(diǎn). 此外,惡意節(jié)點(diǎn)滲透到網(wǎng)絡(luò)中, 會(huì)修改、盜用、注入數(shù)據(jù), 甚至產(chǎn)生虛假消息. 攻擊會(huì)采取“自私”的形式[6], 當(dāng)一個(gè)或多個(gè)節(jié)點(diǎn)拒絕將流量中繼到網(wǎng)絡(luò)的其余節(jié)點(diǎn)時(shí), 為了保留能量, 攻擊者會(huì)隱式地阻止節(jié)點(diǎn)之間的通信.
當(dāng)前增強(qiáng)OLSR安全性的工作主要基于密碼學(xué)方法. Semchedine等人[7]提出了一種對標(biāo)準(zhǔn)OLSR路由協(xié)議的擴(kuò)展, 稱為加密優(yōu)化鏈路狀態(tài)路由(CRY OLSR),以保護(hù)其免受黑洞攻擊. 該提議的機(jī)制基于非對稱密碼, 允許識(shí)別并隔離網(wǎng)絡(luò)中的惡意節(jié)點(diǎn), 但基于非對稱加密算法的現(xiàn)代密碼學(xué)通常是沉重的, 計(jì)算壓力和能耗高. Baadache等人[8]提出了一種基于認(rèn)證的端到端確認(rèn)的方法, 用來檢查中間節(jié)點(diǎn)對數(shù)據(jù)包的正確轉(zhuǎn)發(fā),可檢測出自組網(wǎng)絡(luò)中的黑洞攻擊. 該方案的局限性是可以防止外部攻擊, 但仍然容易受到內(nèi)部攻擊. 綜合來說, 基于密碼學(xué)的安全路由協(xié)議由于需要額外的信息交換, 網(wǎng)絡(luò)和計(jì)算開銷大, 以及密鑰管理和公鑰基礎(chǔ)設(shè)施的支持, 對資源有限的移動(dòng)設(shè)備不友好, 且無法應(yīng)對存在內(nèi)部惡意節(jié)點(diǎn)的攻擊場景.
基于信任模型的安全路由設(shè)計(jì)總體輕量卻能較好應(yīng)對內(nèi)部攻擊場景, 已受到了廣泛關(guān)注. 如Shcherba等人[9]提出了一個(gè)新的布爾值信譽(yù)模型, 該框架由3個(gè)模塊(信譽(yù)模塊、信任模塊和加權(quán)模塊)組成, 并與OLSR路由協(xié)議交互以減輕丟包攻擊. 每個(gè)節(jié)點(diǎn)的信譽(yù)模塊計(jì)算所有其他節(jié)點(diǎn)的本地信譽(yù)值, 并將這些值收集在網(wǎng)絡(luò)中廣播的信譽(yù)向量中. Bhuvaneswari等人[10]提出利用虛構(gòu)節(jié)點(diǎn)檢測和防止網(wǎng)絡(luò)中導(dǎo)致蟲洞、黑洞以及灰洞攻擊. 這些惡意入侵者通過虛假HELLO消息和基于虛擬節(jié)點(diǎn)定期發(fā)送的TC消息驗(yàn)證被及時(shí)識(shí)別.盡管已經(jīng)提出了許多信任管理方案來評(píng)估信任值, 但是沒有一項(xiàng)工作明確地說明應(yīng)測量什么來評(píng)估網(wǎng)絡(luò)信任. 在此基礎(chǔ)上, Tu等人[11]提出了建立基于云模型和模糊Petri網(wǎng)的CFPN信任推理機(jī)制來計(jì)算節(jié)點(diǎn)的信任值, 通過設(shè)置固定的閾值檢測[12]和排除惡意節(jié)點(diǎn). 該方法由于網(wǎng)絡(luò)傳輸范圍短、節(jié)點(diǎn)移動(dòng)性高, 在網(wǎng)絡(luò)拓?fù)漕l繁變化情況下設(shè)置一個(gè)固定的信任閾值, 將很難權(quán)衡誤報(bào)率、檢測率、丟包率等性能指標(biāo)[13]. Inedjaren等人[14]利用模糊邏輯模型, 將模糊的、隨機(jī)的節(jié)點(diǎn)可信度的性能指標(biāo)由定性描述轉(zhuǎn)化為定量描述, 評(píng)估網(wǎng)絡(luò)信任和減少計(jì)算開銷. 該方案中節(jié)點(diǎn)的信任值是基于單個(gè)信任屬性標(biāo)準(zhǔn)來計(jì)算的, 可能會(huì)出現(xiàn)自舉時(shí)間問題[15], 即基于信任的方案在網(wǎng)絡(luò)中建立信任所需的時(shí)間, 將會(huì)給惡意節(jié)點(diǎn)提供更多的機(jī)會(huì)來丟棄數(shù)據(jù)包并在網(wǎng)絡(luò)中長時(shí)間不被發(fā)現(xiàn), 且靜態(tài)閾值的設(shè)置難以適應(yīng)網(wǎng)絡(luò)環(huán)境的動(dòng)態(tài)性.
為解決上述問題, 本文提出一種基于環(huán)境自適應(yīng)決策的雙層模糊邏輯信任OLSR (EFT-OLSR)作為原始OLSR的安全擴(kuò)展協(xié)議. 該模型使用雙層模糊邏輯計(jì)算節(jié)點(diǎn)的信任級(jí)別, 極大降低計(jì)算的復(fù)雜度; 并根據(jù)鏈路變化率、節(jié)點(diǎn)度、2跳連通性動(dòng)態(tài)調(diào)整信任閾值,隔離惡意節(jié)點(diǎn), 有效檢測惡意節(jié)點(diǎn)發(fā)起的黑洞攻擊和自私攻擊.
OLSR協(xié)議是典型的先驗(yàn)式鏈路狀態(tài)協(xié)議, 也是802.11s推薦的無線Mesh網(wǎng)路由協(xié)議[16]. 該協(xié)議主要采用兩個(gè)路由消息: 握手(HELLO)和拓?fù)淇刂?TC)消息, HELLO消息用來執(zhí)行鏈路感知, 鄰居檢測和MPR選擇, TC消息用來聲明MPR信息. 其次, 該協(xié)議引入了多點(diǎn)中繼(MPR)節(jié)點(diǎn)的概念, MPR節(jié)點(diǎn)周期性發(fā)送TC消息, 將拓?fù)湫畔U(kuò)散到整個(gè)網(wǎng)絡(luò). OLSR協(xié)議具有以下兩個(gè)優(yōu)點(diǎn):
1) 只有MPR節(jié)點(diǎn)才能轉(zhuǎn)發(fā)TC消息, 減小了路由發(fā)現(xiàn)過程中洪泛消息的數(shù)量.
2) 節(jié)點(diǎn)發(fā)送的TC消息, 只包括與多點(diǎn)中繼選擇者節(jié)點(diǎn)(MPR selector)之間的鏈路信息, 減小了路由發(fā)現(xiàn)過程中洪泛消息的長度.
一個(gè)節(jié)點(diǎn)想要將數(shù)據(jù)包發(fā)送到目的節(jié)點(diǎn), 首先需要將這個(gè)包發(fā)送到它的MPR節(jié)點(diǎn), 所以MPR節(jié)點(diǎn)是攻擊者的中心目標(biāo). 為了檢測和防止惡意節(jié)點(diǎn)發(fā)起的黑洞攻擊和自私攻擊, 本文提出一種基于環(huán)境自適應(yīng)決策的雙層模糊邏輯模型, 將該模型嵌入到OLSR協(xié)議中, 首先通過模糊邏輯計(jì)算所屬節(jié)點(diǎn)的可信度水平;其次根據(jù)網(wǎng)絡(luò)環(huán)境中鏈路變化率、節(jié)點(diǎn)度、2跳連通性, 構(gòu)建出動(dòng)態(tài)的信任閾值. 當(dāng)一個(gè)節(jié)點(diǎn)的可信值小于閾值時(shí), 該節(jié)點(diǎn)就被標(biāo)記為惡意節(jié)點(diǎn), 避免了惡意節(jié)點(diǎn)作為MPR節(jié)點(diǎn), 有效的解決了黑洞攻擊和自私攻擊,提高網(wǎng)絡(luò)性能. 其模型框架如圖1所示.

圖1 模型框架
基于信任路由機(jī)制的方案中, 參數(shù)提取往往基于單一的屬性標(biāo)準(zhǔn)[16]. 如FT-OLSR中僅選取數(shù)據(jù)包數(shù)量屬性進(jìn)行決策, 未考慮到節(jié)點(diǎn)因自私攻擊, 造成的數(shù)據(jù)包大量丟失. 由于節(jié)點(diǎn)頻繁的加入和離開網(wǎng)絡(luò), 使用單一的屬性準(zhǔn)則會(huì)花費(fèi)更多的時(shí)間去建立信任模型, 給行為不端的節(jié)點(diǎn)提供更多的機(jī)會(huì)破壞網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),最終不能有效的發(fā)現(xiàn)并處理惡意節(jié)點(diǎn). 為了加快信任機(jī)制的建立過程, 有效的處理惡意節(jié)點(diǎn)行為, 在參數(shù)提取時(shí), 采用多個(gè)屬性的標(biāo)準(zhǔn). 于是選取數(shù)據(jù)包數(shù)量屬性和節(jié)點(diǎn)的剩余能量屬性, 避免一個(gè)或多個(gè)節(jié)點(diǎn)拒絕將流量中繼到網(wǎng)絡(luò)的其余節(jié)點(diǎn)的情況, 而造成的自私攻擊.
1) HELLO消息的數(shù)量和TC消息的數(shù)量(nHELLO,nTC)
在OLSR中, 最主要的兩個(gè)屬性是HELLO消息和TC消息. HELLO消息用來執(zhí)行鏈路感知, 鄰居檢測和MPR選擇, TC消息用來聲明MPR信息. 因此, 在參數(shù)提取時(shí)要考慮節(jié)點(diǎn)產(chǎn)生的nHELLO和nTC.
2) 節(jié)點(diǎn)剩余能量(P)
由于節(jié)點(diǎn)的頻繁移動(dòng)會(huì)消耗大量的能量, 有些節(jié)點(diǎn)為了保護(hù)自身的能量消耗, 會(huì)采取“自私”的攻擊形式, 隱式地阻止節(jié)點(diǎn)之間的通信. 這種惡意攻擊常常難以被發(fā)現(xiàn). 在資源受到限制的情況下, 參數(shù)提取時(shí)必須考慮到節(jié)點(diǎn)的剩余能量[15].2
FT-OLSR中選取兩輸入單輸出的Mamdani[17]進(jìn)行決策, 其模糊規(guī)則數(shù)增加為指數(shù)級(jí), 在資源有限的移動(dòng)設(shè)備中實(shí)現(xiàn)該構(gòu)造會(huì)增加計(jì)算負(fù)載和路由開銷. 本文通過運(yùn)用雙層模糊邏輯結(jié)構(gòu), 使得模糊規(guī)則數(shù)極大減少, 限制了計(jì)算的復(fù)雜性, 加快模糊控制器的響應(yīng)速度, 如圖2所示.

圖2 雙層模糊邏輯結(jié)構(gòu)
在第一層模糊結(jié)構(gòu)中, 選取那些對輸出結(jié)果有著較大影響的變量為第一層結(jié)構(gòu)的輸入變量, 即nHELLO和nTC; 接著選取對輸出結(jié)果有著次要影響的變量: 節(jié)點(diǎn)剩余能量(P), 與第一層結(jié)構(gòu)的輸出變量M共同作為第二層結(jié)構(gòu)的輸入, 其結(jié)構(gòu)圖如圖3所示.
1)模糊化處理
計(jì)算信任值檢查節(jié)點(diǎn)的行為, 即“正常或惡意”, 其基礎(chǔ)是TC信息的數(shù)量和 HELLO信息的數(shù)量. 因此,把這兩個(gè)變量作為模糊系統(tǒng)第一層的輸入, 對每個(gè)輸入使用兩個(gè)隸屬度級(jí)別: 低、高. 通過使用相應(yīng)的預(yù)定義變量和隸屬函數(shù)[18], 將nHELLO和nTC化為模糊語言變量. 如圖3所示, HELLO隸屬函數(shù)的數(shù)量估計(jì)了nHELLO值的程度. nTC的隸屬函數(shù)也定義在圖3中.

圖3 nHELLO和nTC的隸屬函數(shù)
第1層結(jié)構(gòu)有一個(gè)輸出變量: M, 同時(shí)與節(jié)點(diǎn)剩余能量(P)共同作為第2層結(jié)構(gòu)的輸入變量, 其模糊語言變量可被定義為: {Low, Medium, High}, 其隸屬度函數(shù)表示如圖4所示.

圖4 M和P的隸屬函數(shù)
第2層結(jié)構(gòu)的輸出為: Trust, 也是整個(gè)模糊系統(tǒng)的輸出. 模糊語言變量可被定義為: {Very low, Low,Medium, High, Very high}, 其隸屬度函數(shù)如圖5所示.

圖5 Trust的隸屬函數(shù)
2) 模糊規(guī)則庫的構(gòu)建
在該模型中, 為模糊推理模塊[19]建立了一個(gè)規(guī)則庫. 采用了If-then規(guī)則, 則第一層的模糊規(guī)則可表示為:

第2層的模糊規(guī)則可表示為:

3)去模化
該模型采用加權(quán)平均法進(jìn)行去模化處理, 并利用式(3)對節(jié)點(diǎn)的信任值進(jìn)行預(yù)測:

VL(x): 1跳鄰居節(jié)點(diǎn)x的信任度, 對應(yīng)信任度為Very low.
L(x): 1跳鄰居節(jié)點(diǎn)x的信任度, 對應(yīng)信任度為Low.
M(x): 1跳鄰居節(jié)點(diǎn)x的信任度, 對應(yīng)信任度為Medium.
H(x): 1跳鄰居節(jié)點(diǎn)x的信任度, 對應(yīng)信任度為High.
VH(x): 1跳鄰居節(jié)點(diǎn)x的信任度, 對應(yīng)信任度為Very high.
信任值介于0到1之間. 當(dāng)信任水平值較低時(shí), 節(jié)點(diǎn)表現(xiàn)出的惡意行為多于相鄰節(jié)點(diǎn)的正常行為.
由于MANET中的節(jié)點(diǎn)具有移動(dòng)性, 網(wǎng)絡(luò)拓?fù)渥兓l繁, 因此, 很難在基于信任的方案中設(shè)置一個(gè)合適的信任閾值, 檢測出惡意節(jié)點(diǎn). FT-OLSR中僅使用靜態(tài)的、預(yù)定義的信任閾值, 忽視每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)環(huán)境. 使用靜態(tài)閾值會(huì)導(dǎo)致高誤報(bào)率和低惡意節(jié)點(diǎn)檢測率. 若閾值太低, 錯(cuò)誤率將會(huì)很高, 從路由路徑中移除惡意節(jié)點(diǎn)會(huì)遲緩. 為解決上述問題, 在該模塊中, 采用了一種新的環(huán)境自適應(yīng)的決策方法, 該策略根據(jù)網(wǎng)絡(luò)條件調(diào)整路由協(xié)議中的信任閾值.
2.3.1 網(wǎng)絡(luò)模型
本文考慮由一些移動(dòng)節(jié)點(diǎn)組成的自組網(wǎng). 設(shè)該網(wǎng)絡(luò)模型為圖G (V,E), 其中V是節(jié)點(diǎn)的集合, E是鏈路的集合[20]. 所有節(jié)點(diǎn)都有一個(gè)均勻的傳輸范圍r0, 當(dāng)且僅當(dāng)節(jié)點(diǎn)x與v之間的歐氏距離小于傳輸范圍r0時(shí), 無線鏈路( x,v)∈E.
2.3.2 網(wǎng)絡(luò)參數(shù)
1) 鏈路變化率(η)
由于網(wǎng)絡(luò)的移動(dòng)性, 網(wǎng)絡(luò)的組成以及各個(gè)節(jié)點(diǎn)的鄰域經(jīng)常發(fā)生變化. 節(jié)點(diǎn)可通過計(jì)算鄰域鏈路變化的速率來確定其鄰域內(nèi)節(jié)點(diǎn)的可移動(dòng)性. 設(shè)x是一個(gè)節(jié)點(diǎn), 關(guān)注單個(gè)節(jié)點(diǎn)x的鏈路變化率[21], 從而得到節(jié)點(diǎn)x平均的鏈路變化率為:

其中, λ表示平均鏈路連接率, μ表示平均斷鏈率, η表示平均鏈路變化率.
每一個(gè)新節(jié)點(diǎn)進(jìn)入節(jié)點(diǎn)x的傳輸范圍, 就會(huì)產(chǎn)生一條到x的新鏈路, 因此x附近的新節(jié)點(diǎn)數(shù)等于每一個(gè)時(shí)間間隔[t-1, t]下在x處的鏈路連接率, 設(shè)為λx:

同理, 斷鏈數(shù)為每個(gè)時(shí)間間隔[t-1, t]內(nèi)移動(dòng)出節(jié)點(diǎn)x傳輸區(qū)域的節(jié)點(diǎn)總數(shù). 斷鏈率設(shè)為μx:

節(jié)點(diǎn)x在t時(shí)刻的最小鏈路變化率為0, 表示沒有新的節(jié)點(diǎn)到達(dá), 也由于沒有移動(dòng)的節(jié)點(diǎn)而導(dǎo)致的鏈路中斷(網(wǎng)絡(luò)是臨時(shí)靜態(tài)的). 同樣的, 當(dāng)節(jié)點(diǎn)x在t時(shí)刻,所有與其直接相連的鄰居都不在傳播范圍, 則可能出現(xiàn)最大斷鏈率. Samar等人[22]表明, 當(dāng)最大的鏈接連接率等于斷鏈率時(shí), 最大鏈路變化率可為:

若鄰域的鏈路變化率較高, 考慮到節(jié)點(diǎn)間交互時(shí)間較短, 較低的信任閾值可能是避免誤報(bào)的最佳選擇.同樣, 如果一個(gè)鄰域內(nèi)的鏈路變化率較低, 則網(wǎng)絡(luò)趨向于靜態(tài), 因此較高的信任閾值可能是最佳選擇. 對于鏈路變化率, 其最優(yōu)的信任閥值公式如下:

2) 節(jié)點(diǎn)度(?)
定義為一個(gè)節(jié)點(diǎn)的1跳鄰居中的節(jié)點(diǎn)數(shù)量. 設(shè)x為節(jié)點(diǎn), x在t時(shí)刻的節(jié)點(diǎn)度定為 ?x(t), 傳輸范圍為r0定義為:

節(jié)點(diǎn)度為0的節(jié)點(diǎn)是孤立的, 即沒有鄰居; 因此,最小節(jié)點(diǎn)度 m in(?x)=0. 此外, 如果網(wǎng)絡(luò)中所有節(jié)點(diǎn)都直接連接到x, 則節(jié)點(diǎn)有最大節(jié)點(diǎn)度m ax(?x), 節(jié)點(diǎn)度直接影響信任閾值. 在計(jì)算信任閾值時(shí), 每個(gè)節(jié)點(diǎn)都考慮其1跳鄰域內(nèi)的節(jié)點(diǎn)度. 1跳鄰居的節(jié)點(diǎn)度越高, 信任閾值越高, 反之亦然. 當(dāng)源節(jié)點(diǎn)有更多可供選擇的1跳節(jié)點(diǎn)時(shí), 可以容忍更嚴(yán)格的信任閾值, 網(wǎng)絡(luò)分區(qū)的風(fēng)險(xiǎn)也更低. 如果將惡意的節(jié)點(diǎn)m與路由路徑隔離, 節(jié)點(diǎn)x仍然可以連接到網(wǎng)絡(luò)中. 通過式(10), 可以找到節(jié)點(diǎn)x處的最優(yōu)信任閾值:

由式(10)可知, 節(jié)點(diǎn)度的最大值為最高信任閾值(1), 節(jié)點(diǎn)度的最小值為最低信任閾值(0).
3) 2跳連通性
設(shè)僅通過鄰居z可達(dá)的2跳鄰居的節(jié)點(diǎn)數(shù)w, 則節(jié)點(diǎn)x的2跳鄰居定義為:

節(jié)點(diǎn)x的2跳連通性σ (x,z)定義如下:

對于特定的1跳鄰居z, 節(jié)點(diǎn) min(σx)最小2跳連通性為0, 表明通過該節(jié)點(diǎn)不能達(dá)到任何2跳節(jié)點(diǎn). 相反, 一個(gè)節(jié)點(diǎn)其鄰居z的最大2跳連通性最大值是|2hop(x)|, 這表明x的所有2跳鄰居只能通過節(jié)點(diǎn)z到達(dá).
2跳連通性是一個(gè)重要參數(shù), 表示網(wǎng)絡(luò)對節(jié)點(diǎn)故障的容忍度, 將行為不正常的節(jié)點(diǎn)與路由路徑隔離之前,確保網(wǎng)絡(luò)的連通性. 其2跳連通性σ (x,z)的最優(yōu)信任閾值公式如下:

由式(13)可知, 當(dāng)σ (x,z)值最大時(shí), 信任閾值最小(0), 當(dāng)σ (x,z)值最小時(shí), 信任閾值最大(1).
將以上的方程合并到數(shù)學(xué)模型中, 計(jì)算惡意節(jié)點(diǎn)的信任閾值為:

最后為了保持高保真的仿真場景, 需將式(14)計(jì)算的信任閾值作為性能指標(biāo)測試的依據(jù).
EFT-OLSR路由協(xié)議的主要模塊是信任管理機(jī)制.EFT-OLSR路由協(xié)議以上述提出的多屬性環(huán)境自適應(yīng)決策的模糊邏輯信任模型為基礎(chǔ), 這些組件之間關(guān)系如圖6所示.

圖6 EFT-OLSR協(xié)議流程圖
該實(shí)驗(yàn)采用網(wǎng)絡(luò)模擬器3 (NS-3)進(jìn)行了測試該方案的性能. 為了獲得可靠的結(jié)果, 要確保部署的仿真場景能夠高保真地表示所提出方案.
為實(shí)現(xiàn)這一目標(biāo), 考慮了網(wǎng)絡(luò)節(jié)點(diǎn)的隨機(jī)部署, 以更好地評(píng)估提出的方案. 在仿真實(shí)驗(yàn)中, 將節(jié)點(diǎn)的移動(dòng)速度在1-10 m/s之間變化. 并且節(jié)點(diǎn)移動(dòng)性采用Constant Waypoint mobility model移動(dòng)性模型; 且隨機(jī)選擇惡意節(jié)點(diǎn), 以保持其在網(wǎng)絡(luò)中的分布均勻. 惡意節(jié)點(diǎn)數(shù)設(shè)置為節(jié)點(diǎn)總數(shù)的10%-60%. 在實(shí)驗(yàn)中, 讓惡意節(jié)點(diǎn)以25%的概率隨機(jī)或有選擇地丟棄數(shù)據(jù)包來模擬這種攻擊.與真實(shí)場景中一樣, 惡意節(jié)點(diǎn)與常規(guī)節(jié)點(diǎn)沒有區(qū)別, 因此具有相同的移動(dòng)屬性, 如速度、方向等. 模擬場景的參數(shù)如表1所示.

表1 模擬場景的參數(shù)
仿真中, 通過不同的性能指標(biāo)測試設(shè)計(jì)方案, 以下為分析提出的方案時(shí)考慮的性能指標(biāo):
1)數(shù)據(jù)包傳遞率(PDR): 源節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包數(shù)量與目的地接收到的數(shù)據(jù)包數(shù)量的比率.
2)平均端到端延遲: 數(shù)據(jù)包從源節(jié)點(diǎn)發(fā)送到目的地所花費(fèi)的平均時(shí)間.
3)丟包率: 行為不正常的節(jié)點(diǎn)丟失的數(shù)據(jù)包占發(fā)送數(shù)據(jù)包總數(shù)的百分比.
測試1: 不同節(jié)點(diǎn)速度下的性能比較.
1)數(shù)據(jù)包傳遞率(PDR)
該測試比較不同節(jié)點(diǎn)速度下FT-OLSR和EFTOLSR性能. 圖7(a)表明, 兩種路由協(xié)議的PDR都隨著節(jié)點(diǎn)移動(dòng)速度的增加而降低. 在較低的節(jié)點(diǎn)速度下,EFT-OLSR比FT-OLSR性能更好, 因?yàn)殒溌纷兓俾试降? 自適應(yīng)閾值越嚴(yán)格, 惡意節(jié)點(diǎn)在較早期就被隔離,并保持較高的數(shù)據(jù)包傳遞率. 然而, 隨著節(jié)點(diǎn)速度增大,鏈路變化速率較高, 自適應(yīng)閾值保持較低水準(zhǔn), 導(dǎo)致EFT-OLSR的數(shù)據(jù)包傳遞率較低, 但仍高于FT-OLSR.

圖7 不同節(jié)點(diǎn)速度下的性能比較
2)平均端到端延遲
如圖7(b)所示, 兩種協(xié)議的平均端到端延遲都隨著節(jié)點(diǎn)速度的增加而增加, 隨著節(jié)點(diǎn)速度的提高, 鏈路連接很容易崩潰. 因此, 源節(jié)點(diǎn)在發(fā)送包之前必須發(fā)起更多路由請求, 這增加了這兩種協(xié)議的平均端到端延遲. 相對于FT-OLSR協(xié)議, EFT-OLSR的平均端到端延遲相對較高. 因?yàn)闉榱吮WC較高的數(shù)據(jù)包傳遞率, 可能會(huì)使數(shù)據(jù)包沿較長的路徑行進(jìn), 以避免惡意節(jié)點(diǎn)的出現(xiàn).
3)丟包率
如圖7(c)所示, 兩種協(xié)議的丟包率都隨著節(jié)點(diǎn)速度的增加而增加, FT-OLSR的丟包率顯著上升, EFTOLSR的丟包率緩慢上升. 這是因?yàn)镋FT-OLSR用較高的時(shí)延, 保證了較高的數(shù)據(jù)包傳遞率, 防止惡意節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包. 然而, FT-OLSR沒有考慮網(wǎng)絡(luò)拓?fù)涞淖兓? 未能有效阻止惡意節(jié)點(diǎn), 導(dǎo)致惡意節(jié)點(diǎn)隨機(jī)的丟棄數(shù)據(jù)包, 造成丟包率大幅度上升.
測試2: 不同惡意節(jié)點(diǎn)數(shù)量的性能比較
1) 數(shù)據(jù)包傳遞率(PDR)
圖8(a)顯示了在改變惡意節(jié)點(diǎn)數(shù)量時(shí)FT-OLSR和EFT-OLSR的PDR變化. 當(dāng)惡意節(jié)點(diǎn)數(shù)量較低時(shí),EFT-OLSR比FT-OLSR性能更好. 原因是, 網(wǎng)絡(luò)拓?fù)渲械恼9?jié)點(diǎn)數(shù)遠(yuǎn)遠(yuǎn)大于惡意節(jié)點(diǎn)數(shù)時(shí), 源節(jié)點(diǎn)在路由路徑中有更多的備選節(jié)點(diǎn), 獲得更高的閾值, 惡意節(jié)點(diǎn)將從路徑中刪除, 使得PDR更高. 然而, 隨著惡意節(jié)點(diǎn)數(shù)量的增加, 該網(wǎng)絡(luò)拓?fù)湟呀?jīng)完全失去了原有的構(gòu)造,被惡意節(jié)點(diǎn)肆意破壞, 采用的閾值變低, 使得FT-OLSR和EFT-OLSR的PDR基本相同.
2)平均端到端延遲
圖8(b)顯示了與FT-OLSR協(xié)議相比, 增加惡意節(jié)點(diǎn)數(shù)的EFT-OLSR協(xié)議平均端到端延遲. 結(jié)果表明, 在惡意節(jié)點(diǎn)數(shù)量較少的時(shí)候EFT-OLSR的端到端延遲略高, 因?yàn)闉榱吮WC較高的PDR, 可能會(huì)讓數(shù)據(jù)包沿著較長的路徑避開惡意節(jié)點(diǎn). 隨著惡意節(jié)點(diǎn)的增加, FT-OLSR開始高于EFT-OLSR的均端到端延遲, 因?yàn)镋FT-OLSR雖花費(fèi)更多時(shí)間尋找能夠正確傳遞信息的路徑, 但當(dāng)惡意節(jié)點(diǎn)逐漸覆蓋整個(gè)網(wǎng)絡(luò)拓?fù)鋾r(shí), FT-OLSR協(xié)議已經(jīng)更加難以正確的傳遞數(shù)據(jù)包.
3)丟包率
圖8(c)顯示了不同惡意節(jié)點(diǎn)下兩種協(xié)議的丟包率. 從圖中可以看出, 與FT-OLSR協(xié)議相比, 采用EFTOLSR協(xié)議的丟包率更低. 原因是, 在EFT-OLSR協(xié)議下, 網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都在考慮其本地網(wǎng)絡(luò)條件的情況下計(jì)算惡意節(jié)點(diǎn)隔離的閾值, 惡意節(jié)點(diǎn)被提前檢測到. 然而FT-OLSR協(xié)議采用靜態(tài)閾值, 容易誤報(bào)惡意節(jié)點(diǎn), 丟包率增加.

圖8 不同惡意節(jié)點(diǎn)數(shù)量的性能比較
本文提出一種基于環(huán)境自適應(yīng)決策的雙層模糊邏輯信任OLSR(EFT-OLSR)作為原始OLSR的安全擴(kuò)展協(xié)議.
(1)通過模糊邏輯計(jì)算所屬節(jié)點(diǎn)的可信度水平; 并根據(jù)網(wǎng)絡(luò)環(huán)境中鏈路變化率、節(jié)點(diǎn)度、2跳連通性, 構(gòu)建出動(dòng)態(tài)的信任閾值. 當(dāng)一個(gè)節(jié)點(diǎn)的可信值小于閾值時(shí), 該節(jié)點(diǎn)就被標(biāo)記為惡意節(jié)點(diǎn), 避免了惡意節(jié)點(diǎn)作為MPR節(jié)點(diǎn), 有效的解決了黑洞攻擊和自私攻擊, 提高網(wǎng)絡(luò)性能.
(2)仿真結(jié)果表明, 本文提出的EFT-OLSR協(xié)議在數(shù)據(jù)包傳遞率、平均端到端時(shí)延、丟包率方面與FTOLSR協(xié)議相比性能更好, 且降低了惡意節(jié)點(diǎn)的誤報(bào)率.
(3)當(dāng)然本文提出的協(xié)議也有需要改進(jìn)的地方, 如提取更多的參數(shù), 加快信任機(jī)制的建立過程. 需研究和開發(fā)一個(gè)盡可能通用的信任模型, 有效檢測和防止惡意節(jié)點(diǎn)發(fā)起的常見攻擊.