陶 洋,許湘揚(yáng)+,李 朋,潘蕾娜
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
由于無線傳感器節(jié)點(diǎn)在計(jì)算、存儲(chǔ)、能量等方面資源受限,又常常部署在無人監(jiān)管的復(fù)雜環(huán)境下。如何在有效抵御惡意節(jié)點(diǎn)攻擊的同時(shí),提高網(wǎng)絡(luò)負(fù)載均衡并延長(zhǎng)網(wǎng)絡(luò)生命周期就成為了無線傳感器網(wǎng)絡(luò)路由協(xié)議研究的一個(gè)熱點(diǎn)問題[1-3]。
為了降低惡意節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)的影響,研究人員提出了多種不同的防御手段。文獻(xiàn)[4,5]都針對(duì)惡意節(jié)點(diǎn)的行為特征設(shè)計(jì)了分布式信任評(píng)價(jià)模型,旨在能夠快速的識(shí)別惡意節(jié)點(diǎn)。文獻(xiàn)[6]為抵御黑洞攻擊提出了LTB-AODV(light weight trust based AODV)協(xié)議。LTB-AODV協(xié)議使用入侵檢測(cè)系統(tǒng)監(jiān)督節(jié)點(diǎn)的轉(zhuǎn)發(fā)行為,各節(jié)點(diǎn)負(fù)責(zé)計(jì)算其鄰節(jié)點(diǎn)的信任值。文獻(xiàn)[7-9]均采用了加密、認(rèn)證技術(shù)、密鑰管理等機(jī)制來對(duì)抗HELLO泛洪、選擇性轉(zhuǎn)發(fā)、篡改數(shù)據(jù)包等攻擊。但這些基于傳統(tǒng)網(wǎng)絡(luò)的安全路由協(xié)議都具有計(jì)算量與通訊量大的特點(diǎn),不適合資源受限的無線傳感器節(jié)點(diǎn)[10,11]。
上述文獻(xiàn)所設(shè)計(jì)的無線傳感器信任評(píng)價(jià)模型均存在通信量較大的缺點(diǎn),不符合無線傳感器節(jié)點(diǎn)資源受限的特點(diǎn)。且在路由決策時(shí),只考慮了安全性而沒有綜合考慮節(jié)點(diǎn)的能量信息,導(dǎo)致高信任值節(jié)點(diǎn)的能量出現(xiàn)過早枯竭。本文針對(duì)上述問題提出了EOSR路由算法,通過降低信任值的計(jì)算量和通信量,并在路由決策時(shí)綜合信任與能量,在保障數(shù)據(jù)交付的同時(shí)優(yōu)化網(wǎng)絡(luò)的負(fù)載均衡。
EOSR協(xié)議包括信任評(píng)價(jià)、路由發(fā)現(xiàn)和路由維護(hù)。信任評(píng)價(jià)負(fù)責(zé)根據(jù)節(jié)點(diǎn)的通訊行為計(jì)算節(jié)點(diǎn)的信任值。路由發(fā)現(xiàn)綜合考慮節(jié)點(diǎn)信任值、剩余能量和多跳次數(shù),旨在發(fā)現(xiàn)一條安全可靠且能耗均衡的轉(zhuǎn)發(fā)路徑。當(dāng)轉(zhuǎn)發(fā)路徑中出現(xiàn)惡意節(jié)點(diǎn)或者能量不足的節(jié)點(diǎn)時(shí),路由維護(hù)將會(huì)啟動(dòng),去通知源節(jié)點(diǎn)建立一條新的轉(zhuǎn)發(fā)路徑。
節(jié)點(diǎn)信任值的高低代表了節(jié)點(diǎn)通信行為的好壞,惡意節(jié)點(diǎn)總是因其不良通信行為而導(dǎo)致信任值不斷下降,正常節(jié)點(diǎn)則與之相反。本文中傳感器節(jié)點(diǎn)對(duì)其鄰居節(jié)點(diǎn)的通信行為進(jìn)行監(jiān)控,檢測(cè)鄰居節(jié)點(diǎn)是否存在轉(zhuǎn)發(fā)數(shù)據(jù)包、篡改數(shù)據(jù)包等行為。如圖1所示,節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j進(jìn)行信任評(píng)價(jià),其中k1、k2、…km為二者的共同鄰節(jié)點(diǎn)。
圖1 信任評(píng)價(jià)
1.1.1 直接信任
文獻(xiàn)[12]利用Beta分布進(jìn)行信任評(píng)價(jià),節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的直接信任值DTij可通過Beta分布的統(tǒng)計(jì)期望得到
(1)
其中,αij、βij分別表示節(jié)點(diǎn)j成功轉(zhuǎn)發(fā)來自節(jié)點(diǎn)i的數(shù)據(jù)包數(shù)目與失敗的數(shù)目。
然而,原有的基于Beta分布的信任評(píng)價(jià)模型沒有考慮外部因素對(duì)節(jié)點(diǎn)通信行為的影響,例如網(wǎng)絡(luò)擁塞造成的丟包。為了解決這個(gè)問題,本文引入異常衰減因子q對(duì)原有模型進(jìn)行改進(jìn)。q表示節(jié)點(diǎn)異常行為是惡意攻擊行為的概率,其計(jì)算公式如下
(2)
其中,Numbinstrusion表示節(jié)點(diǎn)由于攻擊行為所產(chǎn)生的不合作次數(shù),Numbdetection表示節(jié)點(diǎn)全部不合作次數(shù)。
對(duì)i節(jié)點(diǎn)檢測(cè)出j節(jié)點(diǎn)的不合作次數(shù)進(jìn)行衰減,可降低外部因素對(duì)信任值的影響,從而提高信任評(píng)價(jià)的準(zhǔn)確度。則式(1)修正為
(3)
現(xiàn)有的信任評(píng)價(jià)模型通常綜合考慮節(jié)點(diǎn)的直接信任與間接信任來計(jì)算綜合信任。雖然這在一定程度上提高了信任值的精度,但卻大大增加了節(jié)點(diǎn)間的通信量,帶來了更大的能量開銷。為降低信任評(píng)價(jià)的能量開銷,可對(duì)直接信任的置信度γ進(jìn)行判斷。如果置信度γ高于指定的置信閾值γ0(本文令γ0=0.9),則把直接信任作為節(jié)點(diǎn)的綜合信任值。否則,綜合節(jié)點(diǎn)的直接信任和間接信任來計(jì)算綜合信任。
通過區(qū)間估計(jì)可對(duì)直接信任的置信度進(jìn)行評(píng)價(jià),設(shè)DTij的置信度為γ,在此置信度上的置信區(qū)間為(DTij-ε,DTij+ε),則γ的計(jì)算公式如下
(4)
其中,ε為誤差值,0<ε 1.1.2 間接信任 當(dāng)節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的直接信任不夠充分,無法做出相應(yīng)的評(píng)價(jià)時(shí),需從節(jié)點(diǎn)i、j之間的共同鄰節(jié)點(diǎn)獲取節(jié)點(diǎn)j的間接信任。各共同鄰節(jié)點(diǎn)對(duì)節(jié)點(diǎn)j的間接信任可由節(jié)點(diǎn)i對(duì)各鄰節(jié)點(diǎn)的直接信任DTik和各鄰節(jié)點(diǎn)對(duì)節(jié)點(diǎn)j的直接信任DTkj得到。鄰節(jié)點(diǎn)k對(duì)節(jié)點(diǎn)j的間接信任表達(dá)式為 (5) (6) 如果一個(gè)鄰節(jié)點(diǎn)的間接信任偏離程度越大,則表示該間接信任與其它間接信任的平均距離越遠(yuǎn),出現(xiàn)惡意行為的可能性就越大。因此我們需要將偏離程度高于Thdeviation的間接信任過濾。 1.1.3 綜合信任 在評(píng)價(jià)節(jié)點(diǎn)信任值時(shí),除了需要考慮直接信任還需考慮間接信任,于是我們綜合直接信任與間接信任得到節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的綜合信任值Tij,其計(jì)算公式為 (7) 其中,μ為直接信任的權(quán)值,本文令μ=0.5。 本文提出EOSR協(xié)議對(duì)按需路由協(xié)議AODV進(jìn)行了擴(kuò)展,主要考慮到AODV協(xié)議具有如下優(yōu)點(diǎn):AODV是一種應(yīng)用于無線自組織網(wǎng)絡(luò)的按需路由協(xié)議,它能夠在動(dòng)態(tài)變化的網(wǎng)絡(luò)中確定一條源節(jié)點(diǎn)到目地節(jié)點(diǎn)的路由,并且具有接入速度快,路由維護(hù)開銷小,計(jì)算量小等優(yōu)點(diǎn)。為了找到一條安全可靠且能耗均衡的路徑,EOSR協(xié)議對(duì)AODV協(xié)議的路由請(qǐng)求幀(RREQ)和路由應(yīng)答幀(RREP)進(jìn)行了修改,加入了信任與能量信息。在不增加通信量的情況下交換了包含信任和能量信息。EOSR協(xié)議定義了路徑綜合成本PCC,對(duì)候選轉(zhuǎn)發(fā)路徑進(jìn)行比較,數(shù)據(jù)源節(jié)點(diǎn)可通過計(jì)算PCC獲得更優(yōu)的轉(zhuǎn)發(fā)路徑。路徑綜合成本PCC綜合考慮轉(zhuǎn)發(fā)路徑節(jié)點(diǎn)的信任值、剩余能量和多跳次數(shù),其定義如下 (8) 其中,系數(shù)wt、we、whop,分別代表信任、能量和跳數(shù)的權(quán)重,且wt+we+whop=1。本文為了使信任、能量和跳數(shù)擁有相同的影響力,令3個(gè)系數(shù)相等。也可根據(jù)不同的應(yīng)用要求,調(diào)整wt、we、whop的大小。 EOSR協(xié)議通過廣播RREQ幀和單播RREP幀,進(jìn)行路由發(fā)現(xiàn)。當(dāng)高信任值、低剩余能量的節(jié)點(diǎn)收到RREQ幀時(shí),考慮到自身剩余能量低于指定閾值Thenergy,該節(jié)點(diǎn)會(huì)選擇丟棄此RREQ幀。而低信任值、高剩余能量節(jié)點(diǎn)在向前驅(qū)節(jié)點(diǎn)轉(zhuǎn)發(fā)RREP幀時(shí),前驅(qū)節(jié)點(diǎn)就會(huì)丟棄此RREP幀,不與之建立路由。如圖2所示,其中a為數(shù)據(jù)源節(jié)點(diǎn),d為數(shù)據(jù)接收節(jié)點(diǎn)。 圖2 路由發(fā)現(xiàn) 為了找到一條可靠且能耗均衡的數(shù)據(jù)轉(zhuǎn)發(fā)路徑,a節(jié)點(diǎn)開啟路由發(fā)現(xiàn),首先向其鄰居節(jié)點(diǎn)廣播RREQ幀。鄰居節(jié)點(diǎn)接收到RREP幀后,檢查自身的剩余能量,如果低于閾值Thenergy就不繼續(xù)轉(zhuǎn)發(fā)此RREP幀(如節(jié)點(diǎn)g)。否則繼續(xù)轉(zhuǎn)發(fā)RREP幀,并保存當(dāng)前節(jié)點(diǎn)到源節(jié)點(diǎn)a的路由信息(該RREP幀的傳播路徑,稱為反向路由)。重復(fù)上述過程一直到RREQ幀轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)d。當(dāng)目的節(jié)點(diǎn)收到RREQ幀以后,將會(huì)沿著反向路由單播RREP幀一直到源節(jié)點(diǎn)a。反向路由上的每一個(gè)中間節(jié)點(diǎn)接收到鄰居節(jié)點(diǎn)發(fā)來的RREP幀時(shí),會(huì)校驗(yàn)此鄰居節(jié)點(diǎn)的信任值,如果低于指定的信任閾值Thtrust,將不會(huì)沿著反向路由繼續(xù)轉(zhuǎn)發(fā)此RREP幀,否則繼續(xù)轉(zhuǎn)發(fā)RREP直到到達(dá)源節(jié)點(diǎn)a。如節(jié)點(diǎn)h所示:當(dāng)節(jié)點(diǎn)h收到鄰居節(jié)點(diǎn)i發(fā)來的RREP幀時(shí),由于節(jié)點(diǎn)i的信任值低于指定閾值Thtrust,節(jié)點(diǎn)h選擇丟棄此RREP幀,避免惡意節(jié)點(diǎn)參與數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)。最終節(jié)點(diǎn)a發(fā)現(xiàn)一條可靠且能耗均衡的數(shù)據(jù)轉(zhuǎn)發(fā)路徑:a→b→c→d。 路由發(fā)現(xiàn)算法見表1。 表1 路由發(fā)現(xiàn)算法 當(dāng)轉(zhuǎn)發(fā)路徑上出現(xiàn)惡意節(jié)點(diǎn)或者剩余能量不足的節(jié)點(diǎn)時(shí),之前建立起來的轉(zhuǎn)發(fā)路徑將不再可靠。為了建立新的可靠轉(zhuǎn)發(fā)路徑,將啟動(dòng)路由維護(hù)程序通知源節(jié)點(diǎn)去建立新的可靠路由。下面結(jié)合圖3舉例說明路由維護(hù)。假設(shè)節(jié)點(diǎn)i為惡意節(jié)點(diǎn)且對(duì)數(shù)據(jù)包進(jìn)行丟棄或者篡改。其前驅(qū)節(jié)點(diǎn)h發(fā)現(xiàn)節(jié)點(diǎn)i的惡意行為,將會(huì)沿著反向路由發(fā)送REER幀給源節(jié)點(diǎn)a,通知節(jié)點(diǎn)a建立一條新的可靠路由。又假設(shè)節(jié)點(diǎn)i為正常節(jié)點(diǎn)但其剩余能量低于閾值Thenergy。節(jié)點(diǎn)i將會(huì)沿著反向路由發(fā)送REER幀給源節(jié)點(diǎn)a,通知節(jié)點(diǎn)a建立一條新的可靠路由。 圖3 路由維護(hù) 本節(jié)將對(duì)路由協(xié)議EOSR進(jìn)行仿真。我們將EOSR協(xié)議與同樣具備安全機(jī)制的LTB-AODV和TETO進(jìn)行對(duì)比,比較它們?cè)诓煌瑦阂夤?jié)點(diǎn)數(shù)量下的性能。性能指標(biāo)包括:網(wǎng)絡(luò)吞吐量、平均能量消耗和網(wǎng)絡(luò)存活期。仿真工具為NS-2。具體的仿真參數(shù)見表2。 表2 主要仿真參數(shù) 網(wǎng)絡(luò)吞吐量表示整個(gè)網(wǎng)絡(luò)向基站傳輸數(shù)據(jù)的速度,反映了無線傳感器網(wǎng)絡(luò)收集和分發(fā)數(shù)據(jù)的能力。圖4描述了4種路由協(xié)議在不同惡意節(jié)點(diǎn)數(shù)量下的網(wǎng)絡(luò)吞吐量變化情況。3種協(xié)議都呈現(xiàn)下降趨勢(shì)。當(dāng)惡意節(jié)點(diǎn)數(shù)量超過5個(gè)時(shí),這種下降趨勢(shì)更為明顯。這是因?yàn)榫W(wǎng)絡(luò)中惡意節(jié)點(diǎn)總是丟棄或部分轉(zhuǎn)發(fā)所接收到的數(shù)據(jù)包,隨著惡意節(jié)點(diǎn)個(gè)數(shù)的增加,對(duì)網(wǎng)絡(luò)吞吐量的影響也愈發(fā)嚴(yán)重。本文提出的EOSR協(xié)議因?yàn)槁酚蓹z測(cè)模塊會(huì)實(shí)時(shí)檢測(cè)路徑上的節(jié)點(diǎn),發(fā)現(xiàn)惡意節(jié)點(diǎn)會(huì)立即開啟路由發(fā)現(xiàn),建立一條新的轉(zhuǎn)發(fā)路徑,從而有效控制了惡意節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)吞吐量的影響。而LTB-AODV、TETO協(xié)議在判別惡意節(jié)點(diǎn)時(shí)需要分別和所有鄰居節(jié)點(diǎn)、網(wǎng)絡(luò)所有節(jié)點(diǎn)交換信息,延長(zhǎng)了發(fā)現(xiàn)惡意節(jié)點(diǎn)的時(shí)間,從而在網(wǎng)絡(luò)吞吐量上不及EOSR協(xié)議。 圖4 惡意節(jié)點(diǎn)數(shù)量對(duì)網(wǎng)絡(luò)吞吐量的影響 圖5描述了3種路由協(xié)議在不同惡意節(jié)點(diǎn)個(gè)數(shù)下的節(jié)點(diǎn)平均能耗變化情況。從圖中可以看出,隨著惡意節(jié)點(diǎn)的增多,4種路由協(xié)議的平均節(jié)點(diǎn)能耗都呈現(xiàn)上升的趨勢(shì),其中本文提出的EOSR協(xié)議在節(jié)點(diǎn)能耗表現(xiàn)上優(yōu)于LTB-AODV和TETO協(xié)議。這是因?yàn)長(zhǎng)TB-AODV在每次計(jì)算信任值時(shí),都需要獲取鄰居節(jié)點(diǎn)的間接信任,增大了通信量導(dǎo)致節(jié)點(diǎn)能量消耗增加。TETO則需要對(duì)密鑰進(jìn)行管理,極大地增大了計(jì)算量與通信量。而EOSR協(xié)議在計(jì)算直接信任時(shí),考慮了直接信任的置信度,減少了綜合信任的通信量。且在RREQ幀和RREP幀中分別加入了信任、能量信息,在不增加通信量的情況下,均衡了信任節(jié)點(diǎn)間的能耗。 圖5 惡意節(jié)點(diǎn)個(gè)數(shù)對(duì)節(jié)點(diǎn)能耗的影響 圖6描述了3種路由協(xié)議在不同惡意節(jié)點(diǎn)個(gè)數(shù)下的網(wǎng)絡(luò)存活時(shí)間變化情況。從圖可知,本文提出的EOSR協(xié)議相較于LTB-AODV和TETO協(xié)議明顯地提高了網(wǎng)絡(luò)存活時(shí)間。這是因?yàn)镋OSR協(xié)議在路由發(fā)現(xiàn)階段同時(shí)考慮了信任值和剩余能量,并且對(duì)路由的跳數(shù)進(jìn)行了控制,在保障路由可靠性的同時(shí)有效地提高了整個(gè)網(wǎng)絡(luò)的負(fù)載均衡,從而大大提高了網(wǎng)絡(luò)生存時(shí)間。 圖6 惡意節(jié)點(diǎn)個(gè)數(shù)對(duì)網(wǎng)絡(luò)存活期的影響 本文針對(duì)無線傳感器網(wǎng)絡(luò)的惡意節(jié)點(diǎn)以及節(jié)點(diǎn)能量受限,提出了一種考察節(jié)點(diǎn)通信行為的輕量級(jí)信任計(jì)算方法,有效控制了信任值獲取的能量開銷。本文定義了路徑綜合成本,綜合考慮節(jié)點(diǎn)信任值、剩余能量和路徑長(zhǎng)度來計(jì)算路由成本PCC。EOSR協(xié)議通過比較候選路由的PCC有效地提高了路由的可靠性與整個(gè)網(wǎng)絡(luò)的負(fù)載均衡。通過仿真實(shí)驗(yàn)對(duì)比,驗(yàn)證了EOSR協(xié)議的有效性。1.2 路由發(fā)現(xiàn)
1.3 路由維護(hù)
2 仿真設(shè)計(jì)與結(jié)果分析
2.1 網(wǎng)絡(luò)吞吐量
2.2 平均節(jié)點(diǎn)能耗
2.3 網(wǎng)絡(luò)存活期
3 結(jié)束語