陶 洋,許湘揚+,李 朋,潘蕾娜
(重慶郵電大學 通信與信息工程學院,重慶 400065)
由于無線傳感器節(jié)點在計算、存儲、能量等方面資源受限,又常常部署在無人監(jiān)管的復雜環(huán)境下。如何在有效抵御惡意節(jié)點攻擊的同時,提高網(wǎng)絡負載均衡并延長網(wǎng)絡生命周期就成為了無線傳感器網(wǎng)絡路由協(xié)議研究的一個熱點問題[1-3]。
為了降低惡意節(jié)點對網(wǎng)絡的影響,研究人員提出了多種不同的防御手段。文獻[4,5]都針對惡意節(jié)點的行為特征設計了分布式信任評價模型,旨在能夠快速的識別惡意節(jié)點。文獻[6]為抵御黑洞攻擊提出了LTB-AODV(light weight trust based AODV)協(xié)議。LTB-AODV協(xié)議使用入侵檢測系統(tǒng)監(jiān)督節(jié)點的轉發(fā)行為,各節(jié)點負責計算其鄰節(jié)點的信任值。文獻[7-9]均采用了加密、認證技術、密鑰管理等機制來對抗HELLO泛洪、選擇性轉發(fā)、篡改數(shù)據(jù)包等攻擊。但這些基于傳統(tǒng)網(wǎng)絡的安全路由協(xié)議都具有計算量與通訊量大的特點,不適合資源受限的無線傳感器節(jié)點[10,11]。
上述文獻所設計的無線傳感器信任評價模型均存在通信量較大的缺點,不符合無線傳感器節(jié)點資源受限的特點。且在路由決策時,只考慮了安全性而沒有綜合考慮節(jié)點的能量信息,導致高信任值節(jié)點的能量出現(xiàn)過早枯竭。本文針對上述問題提出了EOSR路由算法,通過降低信任值的計算量和通信量,并在路由決策時綜合信任與能量,在保障數(shù)據(jù)交付的同時優(yōu)化網(wǎng)絡的負載均衡。
EOSR協(xié)議包括信任評價、路由發(fā)現(xiàn)和路由維護。信任評價負責根據(jù)節(jié)點的通訊行為計算節(jié)點的信任值。路由發(fā)現(xiàn)綜合考慮節(jié)點信任值、剩余能量和多跳次數(shù),旨在發(fā)現(xiàn)一條安全可靠且能耗均衡的轉發(fā)路徑。當轉發(fā)路徑中出現(xiàn)惡意節(jié)點或者能量不足的節(jié)點時,路由維護將會啟動,去通知源節(jié)點建立一條新的轉發(fā)路徑。
節(jié)點信任值的高低代表了節(jié)點通信行為的好壞,惡意節(jié)點總是因其不良通信行為而導致信任值不斷下降,正常節(jié)點則與之相反。本文中傳感器節(jié)點對其鄰居節(jié)點的通信行為進行監(jiān)控,檢測鄰居節(jié)點是否存在轉發(fā)數(shù)據(jù)包、篡改數(shù)據(jù)包等行為。如圖1所示,節(jié)點i對節(jié)點j進行信任評價,其中k1、k2、…km為二者的共同鄰節(jié)點。

圖1 信任評價
1.1.1 直接信任
文獻[12]利用Beta分布進行信任評價,節(jié)點i對節(jié)點j的直接信任值DTij可通過Beta分布的統(tǒng)計期望得到
(1)
其中,αij、βij分別表示節(jié)點j成功轉發(fā)來自節(jié)點i的數(shù)據(jù)包數(shù)目與失敗的數(shù)目。
然而,原有的基于Beta分布的信任評價模型沒有考慮外部因素對節(jié)點通信行為的影響,例如網(wǎng)絡擁塞造成的丟包。為了解決這個問題,本文引入異常衰減因子q對原有模型進行改進。q表示節(jié)點異常行為是惡意攻擊行為的概率,其計算公式如下
(2)
其中,Numbinstrusion表示節(jié)點由于攻擊行為所產(chǎn)生的不合作次數(shù),Numbdetection表示節(jié)點全部不合作次數(shù)。
對i節(jié)點檢測出j節(jié)點的不合作次數(shù)進行衰減,可降低外部因素對信任值的影響,從而提高信任評價的準確度。則式(1)修正為
(3)
現(xiàn)有的信任評價模型通常綜合考慮節(jié)點的直接信任與間接信任來計算綜合信任。雖然這在一定程度上提高了信任值的精度,但卻大大增加了節(jié)點間的通信量,帶來了更大的能量開銷。為降低信任評價的能量開銷,可對直接信任的置信度γ進行判斷。如果置信度γ高于指定的置信閾值γ0(本文令γ0=0.9),則把直接信任作為節(jié)點的綜合信任值。否則,綜合節(jié)點的直接信任和間接信任來計算綜合信任。
通過區(qū)間估計可對直接信任的置信度進行評價,設DTij的置信度為γ,在此置信度上的置信區(qū)間為(DTij-ε,DTij+ε),則γ的計算公式如下

(4)
其中,ε為誤差值,0<ε 1.1.2 間接信任 當節(jié)點i對節(jié)點j的直接信任不夠充分,無法做出相應的評價時,需從節(jié)點i、j之間的共同鄰節(jié)點獲取節(jié)點j的間接信任。各共同鄰節(jié)點對節(jié)點j的間接信任可由節(jié)點i對各鄰節(jié)點的直接信任DTik和各鄰節(jié)點對節(jié)點j的直接信任DTkj得到。鄰節(jié)點k對節(jié)點j的間接信任表達式為 (5) (6) 如果一個鄰節(jié)點的間接信任偏離程度越大,則表示該間接信任與其它間接信任的平均距離越遠,出現(xiàn)惡意行為的可能性就越大。因此我們需要將偏離程度高于Thdeviation的間接信任過濾。 1.1.3 綜合信任 在評價節(jié)點信任值時,除了需要考慮直接信任還需考慮間接信任,于是我們綜合直接信任與間接信任得到節(jié)點i對節(jié)點j的綜合信任值Tij,其計算公式為 (7) 其中,μ為直接信任的權值,本文令μ=0.5。 本文提出EOSR協(xié)議對按需路由協(xié)議AODV進行了擴展,主要考慮到AODV協(xié)議具有如下優(yōu)點:AODV是一種應用于無線自組織網(wǎng)絡的按需路由協(xié)議,它能夠在動態(tài)變化的網(wǎng)絡中確定一條源節(jié)點到目地節(jié)點的路由,并且具有接入速度快,路由維護開銷小,計算量小等優(yōu)點。為了找到一條安全可靠且能耗均衡的路徑,EOSR協(xié)議對AODV協(xié)議的路由請求幀(RREQ)和路由應答幀(RREP)進行了修改,加入了信任與能量信息。在不增加通信量的情況下交換了包含信任和能量信息。EOSR協(xié)議定義了路徑綜合成本PCC,對候選轉發(fā)路徑進行比較,數(shù)據(jù)源節(jié)點可通過計算PCC獲得更優(yōu)的轉發(fā)路徑。路徑綜合成本PCC綜合考慮轉發(fā)路徑節(jié)點的信任值、剩余能量和多跳次數(shù),其定義如下 (8) 其中,系數(shù)wt、we、whop,分別代表信任、能量和跳數(shù)的權重,且wt+we+whop=1。本文為了使信任、能量和跳數(shù)擁有相同的影響力,令3個系數(shù)相等。也可根據(jù)不同的應用要求,調(diào)整wt、we、whop的大小。 EOSR協(xié)議通過廣播RREQ幀和單播RREP幀,進行路由發(fā)現(xiàn)。當高信任值、低剩余能量的節(jié)點收到RREQ幀時,考慮到自身剩余能量低于指定閾值Thenergy,該節(jié)點會選擇丟棄此RREQ幀。而低信任值、高剩余能量節(jié)點在向前驅節(jié)點轉發(fā)RREP幀時,前驅節(jié)點就會丟棄此RREP幀,不與之建立路由。如圖2所示,其中a為數(shù)據(jù)源節(jié)點,d為數(shù)據(jù)接收節(jié)點。 圖2 路由發(fā)現(xiàn) 為了找到一條可靠且能耗均衡的數(shù)據(jù)轉發(fā)路徑,a節(jié)點開啟路由發(fā)現(xiàn),首先向其鄰居節(jié)點廣播RREQ幀。鄰居節(jié)點接收到RREP幀后,檢查自身的剩余能量,如果低于閾值Thenergy就不繼續(xù)轉發(fā)此RREP幀(如節(jié)點g)。否則繼續(xù)轉發(fā)RREP幀,并保存當前節(jié)點到源節(jié)點a的路由信息(該RREP幀的傳播路徑,稱為反向路由)。重復上述過程一直到RREQ幀轉發(fā)到目的節(jié)點d。當目的節(jié)點收到RREQ幀以后,將會沿著反向路由單播RREP幀一直到源節(jié)點a。反向路由上的每一個中間節(jié)點接收到鄰居節(jié)點發(fā)來的RREP幀時,會校驗此鄰居節(jié)點的信任值,如果低于指定的信任閾值Thtrust,將不會沿著反向路由繼續(xù)轉發(fā)此RREP幀,否則繼續(xù)轉發(fā)RREP直到到達源節(jié)點a。如節(jié)點h所示:當節(jié)點h收到鄰居節(jié)點i發(fā)來的RREP幀時,由于節(jié)點i的信任值低于指定閾值Thtrust,節(jié)點h選擇丟棄此RREP幀,避免惡意節(jié)點參與數(shù)據(jù)轉發(fā)任務。最終節(jié)點a發(fā)現(xiàn)一條可靠且能耗均衡的數(shù)據(jù)轉發(fā)路徑:a→b→c→d。 路由發(fā)現(xiàn)算法見表1。 表1 路由發(fā)現(xiàn)算法 當轉發(fā)路徑上出現(xiàn)惡意節(jié)點或者剩余能量不足的節(jié)點時,之前建立起來的轉發(fā)路徑將不再可靠。為了建立新的可靠轉發(fā)路徑,將啟動路由維護程序通知源節(jié)點去建立新的可靠路由。下面結合圖3舉例說明路由維護。假設節(jié)點i為惡意節(jié)點且對數(shù)據(jù)包進行丟棄或者篡改。其前驅節(jié)點h發(fā)現(xiàn)節(jié)點i的惡意行為,將會沿著反向路由發(fā)送REER幀給源節(jié)點a,通知節(jié)點a建立一條新的可靠路由。又假設節(jié)點i為正常節(jié)點但其剩余能量低于閾值Thenergy。節(jié)點i將會沿著反向路由發(fā)送REER幀給源節(jié)點a,通知節(jié)點a建立一條新的可靠路由。 圖3 路由維護 本節(jié)將對路由協(xié)議EOSR進行仿真。我們將EOSR協(xié)議與同樣具備安全機制的LTB-AODV和TETO進行對比,比較它們在不同惡意節(jié)點數(shù)量下的性能。性能指標包括:網(wǎng)絡吞吐量、平均能量消耗和網(wǎng)絡存活期。仿真工具為NS-2。具體的仿真參數(shù)見表2。 表2 主要仿真參數(shù) 網(wǎng)絡吞吐量表示整個網(wǎng)絡向基站傳輸數(shù)據(jù)的速度,反映了無線傳感器網(wǎng)絡收集和分發(fā)數(shù)據(jù)的能力。圖4描述了4種路由協(xié)議在不同惡意節(jié)點數(shù)量下的網(wǎng)絡吞吐量變化情況。3種協(xié)議都呈現(xiàn)下降趨勢。當惡意節(jié)點數(shù)量超過5個時,這種下降趨勢更為明顯。這是因為網(wǎng)絡中惡意節(jié)點總是丟棄或部分轉發(fā)所接收到的數(shù)據(jù)包,隨著惡意節(jié)點個數(shù)的增加,對網(wǎng)絡吞吐量的影響也愈發(fā)嚴重。本文提出的EOSR協(xié)議因為路由檢測模塊會實時檢測路徑上的節(jié)點,發(fā)現(xiàn)惡意節(jié)點會立即開啟路由發(fā)現(xiàn),建立一條新的轉發(fā)路徑,從而有效控制了惡意節(jié)點對網(wǎng)絡吞吐量的影響。而LTB-AODV、TETO協(xié)議在判別惡意節(jié)點時需要分別和所有鄰居節(jié)點、網(wǎng)絡所有節(jié)點交換信息,延長了發(fā)現(xiàn)惡意節(jié)點的時間,從而在網(wǎng)絡吞吐量上不及EOSR協(xié)議。 圖4 惡意節(jié)點數(shù)量對網(wǎng)絡吞吐量的影響 圖5描述了3種路由協(xié)議在不同惡意節(jié)點個數(shù)下的節(jié)點平均能耗變化情況。從圖中可以看出,隨著惡意節(jié)點的增多,4種路由協(xié)議的平均節(jié)點能耗都呈現(xiàn)上升的趨勢,其中本文提出的EOSR協(xié)議在節(jié)點能耗表現(xiàn)上優(yōu)于LTB-AODV和TETO協(xié)議。這是因為LTB-AODV在每次計算信任值時,都需要獲取鄰居節(jié)點的間接信任,增大了通信量導致節(jié)點能量消耗增加。TETO則需要對密鑰進行管理,極大地增大了計算量與通信量。而EOSR協(xié)議在計算直接信任時,考慮了直接信任的置信度,減少了綜合信任的通信量。且在RREQ幀和RREP幀中分別加入了信任、能量信息,在不增加通信量的情況下,均衡了信任節(jié)點間的能耗。 圖5 惡意節(jié)點個數(shù)對節(jié)點能耗的影響 圖6描述了3種路由協(xié)議在不同惡意節(jié)點個數(shù)下的網(wǎng)絡存活時間變化情況。從圖可知,本文提出的EOSR協(xié)議相較于LTB-AODV和TETO協(xié)議明顯地提高了網(wǎng)絡存活時間。這是因為EOSR協(xié)議在路由發(fā)現(xiàn)階段同時考慮了信任值和剩余能量,并且對路由的跳數(shù)進行了控制,在保障路由可靠性的同時有效地提高了整個網(wǎng)絡的負載均衡,從而大大提高了網(wǎng)絡生存時間。 圖6 惡意節(jié)點個數(shù)對網(wǎng)絡存活期的影響 本文針對無線傳感器網(wǎng)絡的惡意節(jié)點以及節(jié)點能量受限,提出了一種考察節(jié)點通信行為的輕量級信任計算方法,有效控制了信任值獲取的能量開銷。本文定義了路徑綜合成本,綜合考慮節(jié)點信任值、剩余能量和路徑長度來計算路由成本PCC。EOSR協(xié)議通過比較候選路由的PCC有效地提高了路由的可靠性與整個網(wǎng)絡的負載均衡。通過仿真實驗對比,驗證了EOSR協(xié)議的有效性。


1.2 路由發(fā)現(xiàn)



1.3 路由維護

2 仿真設計與結果分析

2.1 網(wǎng)絡吞吐量

2.2 平均節(jié)點能耗

2.3 網(wǎng)絡存活期

3 結束語