蘇耀鑫, 高秀峰, 盧 昱
(陸軍工程大學石家莊校區(qū),石家莊 050003)
無線傳感器網(wǎng)絡[1-2](Wireless Sensor Network,WSN)的應用越來越廣泛[3],常工作在復雜網(wǎng)絡環(huán)境下,因此面臨的安全問題[4]也越來越嚴重。傳統(tǒng)的基于密碼學的認證機制只能解決惡意節(jié)點發(fā)起的外部攻擊,如WATRO等提出了基于RSA公鑰算法建立起來的TinyPK認證方案[5]等,但是無法有效地防止由節(jié)點被俘引起的內部攻擊。信任機制[6-7]是解決網(wǎng)絡內部攻擊最有效的方法,是對傳統(tǒng)基于密碼學安全機制的有效補充,從而提高網(wǎng)絡的安全性。在信任機制中,節(jié)點通過評估鄰居節(jié)點的信任度來完成路由選擇[8-10]等一系列決策。目前,在無線傳感器網(wǎng)絡領域,研究者已經(jīng)提出了許多經(jīng)典的信任模型[11]。例如,MARSH[12]在1994年首次從社會學和行為學的角度提出了信任機制;2004年,GANERIWAL等以貝葉斯理論為基礎,提出了基于節(jié)點信譽的信任管理模型RFSN[13](Reputation-based Framework for Sensor Networks),利用鄰居節(jié)點的行為計算信任值,與設定閾值比對進行決策;MEJIA[14]等基于非合作博弈論提出了一種分布式的信任模型;文獻[15]提出了TCFL(Trust Computation Method Using Fuzzy Logic)信任模型,并結合模糊邏輯理論將不確定性的證據(jù)信息量化。
對節(jié)點信任度的評估是信任機制的核心,也是進行決策的基礎,因此準確高效地完成節(jié)點信任度的評估是研究信任機制的首要任務。但是,現(xiàn)有的信任機制存在節(jié)點能耗較高,惡意節(jié)點識別周期長等問題。本文針對這些問題提出了一種基于信任度的信任模型,并對信任度與信任決策進行了計算與分析。
本文設計的信任模型是由信任度計算、信任信息管理和信任決策3層構成,如圖1所示。其中,信任度的計算是信任模型的基礎,信息管理是核心,信任決策是設計目的。
圖1 信任模型結構圖Fig.1 Structure of the trust model
信任度計算主要完成對信任因素、信任度的定義和初始化,以及網(wǎng)絡在運行階段直接信任度、間接信任度和能量信任度的計算過程。
信任信息管理實現(xiàn)網(wǎng)絡節(jié)點交互過程中狀態(tài)信息、交互記錄以及計算出的節(jié)點信任度的信息動態(tài)管理。
信任決策主要利用信任度完成路由選擇,以及惡意節(jié)點和老化節(jié)點的識別任務,提高網(wǎng)絡的安全性。
信任值的計算包括信任度的定義、直接信任度、間接信任度、綜合信任度的計算以及信任度的更新。信任度的合成是信任值計算的核心。
2.1.1 信任因素定義
需要強調的是節(jié)點自身不能保存自身的狀態(tài)列表,也無法獲取自身在其他鄰居節(jié)點列表中的信任度大小,這樣做可防止惡意節(jié)點發(fā)動掩飾攻擊,將節(jié)點自身的信任度提高至可信的范圍后對網(wǎng)絡實施攻擊。
2.1.2 信任度初始化
由于在組網(wǎng)初期,節(jié)點之間無信息交互,則歷史信任度只由直接信任度組成,是節(jié)點對鄰居節(jié)點信任度的初步評估。
歷史信任度初始化為0.5,取值范圍為[0,1];交互記錄初始化為[1,1];能量初始化為100%,取值范圍為[0,100%],100%表示節(jié)點能量充足,0表示節(jié)點壽命終止。
在本文中,直接信任度是通過存儲在節(jié)點列表中的交互記錄來實現(xiàn)的。令Dij表示節(jié)點i對節(jié)點j的直接信任度,節(jié)點i和節(jié)點j利用二項事件(交互成功/交互不成功)表示它們之間的交互結果,φij表示交互成功的概率,滿足β分布。β分布的概率密度函數(shù)的數(shù)學形式為
(1)
式中:α>0;β>0。
(2)
雖然節(jié)點獲取直接信任度的方式是通過節(jié)點直接監(jiān)測得出的,但是網(wǎng)絡中存在著惡意節(jié)點,會在網(wǎng)絡中發(fā)動掩飾攻擊,從而蠱惑節(jié)點的判斷,因此需要其他鄰居節(jié)點的推薦信任度來修正直接信任度。
由于各鄰居節(jié)點的信任度不同,因此需給各推薦信任度賦予一定的權重。節(jié)點信任關系如圖2所示。
圖2 節(jié)點信任關系圖Fig.2 Diagram of node trust relationship
如圖2所示,節(jié)點A廣播查詢節(jié)點B信任度的數(shù)據(jù)包,當鄰居節(jié)點C,D,E,F收到數(shù)據(jù)包后,查詢存儲在本地的鄰居節(jié)點列表,如果存在節(jié)點B,則利用此周期t=ti(i=1,2,3,…)內與節(jié)點B的交互記錄計算出關于節(jié)點B的直接信任度,并發(fā)送至節(jié)點A。對于單個鄰居節(jié)點的推薦信任度的整合計算為
Iij(k)=Tik(old)*Dkj
(3)
式中:Tik(old)表示節(jié)點i對節(jié)點k的歷史信任度;Dkj是周期t=ti內的直接信任度。當所有的鄰居節(jié)點的推薦信任度合成時,采用如式(4)所示的算式,即
(4)
式中:n表示鄰居節(jié)點數(shù)目;μk表示節(jié)點k的推薦信任度在間接信任度中所占的權重,其算式為
(5)
當節(jié)點接收推薦信任時,有時會面臨很多的鄰居節(jié)點,需要節(jié)點對這些數(shù)據(jù)包進行過濾,從而提高節(jié)點計算效率。
節(jié)點內設置篩選閾值,如果某鄰居節(jié)點在本節(jié)點列表中顯示的歷史信任度低于閾值,則此鄰居節(jié)點發(fā)來的推薦信息不予采納,如果有部分鄰居節(jié)點發(fā)來的推薦信息和其他節(jié)點的差距較大,也不予采納。這樣可以有效地防止惡意節(jié)點發(fā)起的誹謗攻擊。圖2中節(jié)點A關于節(jié)點B推薦信任度的篩選過程如圖3所示。
圖3 推薦信任度篩選圖Fig.3 Screening diagram of recommended credibility
圖3中:Told指的是推薦節(jié)點的歷史信任度;RT為推薦信任度;TB為被觀測節(jié)點B的歷史信任度;δ,ε為節(jié)點內設置的閾值,用于推薦信任度的篩選。
節(jié)點接收到來自鄰居節(jié)點的推薦信任度,以及自身監(jiān)測得到的直接信任度,結合節(jié)點的能量信任度,得出關于被監(jiān)測節(jié)點的綜合信任度。具體的算式為
Tij=(ωDij+(1-ω)Iij)*Eij
(6)
式中:ω指直接信任度在綜合信任度中所占的權重;Eij指節(jié)點i關于節(jié)點j的能量信任度,其算式為
(7)
式中:Ecurrent指節(jié)點當前具有的能量值;Eall指節(jié)點在網(wǎng)絡部署時的總能量。
由于節(jié)點的能量在通信過程中是一個十分重要的因素,將能量信任度Eij引入到綜合信任度計算中,作為直接信任度與間接信任度加權求和的系數(shù),節(jié)點能量的高低直接影響著網(wǎng)絡的使用壽命以及通信質量。這樣做是為避免信任度高的節(jié)點每次都被選作通信節(jié)點,造成節(jié)點能量的高速流失。
網(wǎng)絡正常運行階段,隨著網(wǎng)絡的動態(tài)變化、節(jié)點能量的消耗,以及惡意節(jié)點的攻擊,節(jié)點的信任度會發(fā)生變化,所以必須更新信任值,從而快速地發(fā)現(xiàn)惡意節(jié)點發(fā)起的內部攻擊,提高網(wǎng)絡的安全性。
網(wǎng)絡運行時,信息交互過程使得流量大小隨時發(fā)生變化,如果保持信任度頻繁更新,則節(jié)點計算存儲資源會被大量占用,節(jié)點的能量也會在信任度計算中大量消耗,導致網(wǎng)絡壽命大幅縮短,因此本文采用周期更新的方式,減緩網(wǎng)絡壓力。在信任度的更新過程中,要結合節(jié)點歷史信任度,并且賦予歷史信任度一定的權重,防止惡意節(jié)點進行掩飾攻擊。具體的計算式為
(8)
式中,ω1,ω2分別為新計算出的節(jié)點信任度和歷史信任度的權重,滿足ω1+ω2=1。
計算信任度的目的就是在網(wǎng)絡中對節(jié)點的行為以及通信進行決策,利用信任度識別惡意節(jié)點和能量耗盡的老化節(jié)點,并在通信過程中選擇最優(yōu)路由,保證網(wǎng)絡的安全運轉。具體的惡意節(jié)點及老化節(jié)點的識別流程如圖4所示。
信任決策中定義了預警閾值λ和處理閾值θ兩個閾值以及正常、懷疑和驅出3種節(jié)點狀態(tài)。
正常狀態(tài)表示節(jié)點的信任信息在允許的范圍之內,在進行路由選擇和數(shù)據(jù)轉發(fā)時,可以將此節(jié)點作為可靠的中間節(jié)點。
圖4 異常節(jié)點識別流程圖Fig. 4 Flow chart of abnormal node identification
懷疑狀態(tài)表示節(jié)點的信任信息變化異常,與歷史信任度相比,波動很大,超過了預警閾值λ,故將此類節(jié)點定為懷疑狀態(tài)。之后,在后一個周期內繼續(xù)觀察該節(jié)點行為,一旦發(fā)生異常,立即采取措施將其移出網(wǎng)絡。
驅出狀態(tài)指的是節(jié)點的信任度低于處置閾值θ,應直接移出網(wǎng)絡。
利用NS2作為仿真實驗工具來驗證信任模型的安全性等性能。在本文仿真實驗中,環(huán)境設置如下:將100個節(jié)點均勻地部署在50 m×50 m的區(qū)域內,將所有正常節(jié)點的數(shù)據(jù)包轉發(fā)率設置為在[0.8,1.0]之間的隨機數(shù)。設置若干惡意節(jié)點,在網(wǎng)絡中發(fā)動多種攻擊,包括數(shù)據(jù)包丟棄攻擊、篡改攻擊、誹謗攻擊以及掩飾攻擊等。其中,掩飾攻擊是通過提高信任度,掩飾自己的身份并進行的攻擊行為。實驗的仿真參數(shù)見表1。
表1 實驗仿真參數(shù)
如圖5所示,節(jié)點的初始值為0.5,隨著網(wǎng)絡開始運行,正常節(jié)點與鄰居節(jié)點之間有了信息交互,加上各節(jié)點的能量信任度高,則正常節(jié)點的信任度呈現(xiàn)平滑上升趨勢。隨著網(wǎng)絡運行時間的增長,節(jié)點的能量信任度開始降低,由于能量信任度作為間接信任度和直接信任度的加權求和的系數(shù),因此導致節(jié)點的綜合信任度出現(xiàn)平滑下降的趨勢。
在本文設計的信任計算中,節(jié)點發(fā)生一次異常行為,則信任度就呈現(xiàn)迅速下降趨勢,并且被列入到預警狀態(tài),如果再次出現(xiàn)攻擊行為,則直接移出網(wǎng)絡。
圖5 節(jié)點綜合信任度的變化趨勢圖Fig.5 The trend of node comprehensive credibility
信任模型就是利用網(wǎng)絡中節(jié)點交互過程計算信任度,利用信任度識別出惡意節(jié)點和老化節(jié)點。因此,檢測率是衡量信任機制性能的重要指標。檢測率指的是隨著惡意節(jié)點比例的增加,檢測出的惡意節(jié)點在所有惡意節(jié)點中的比例。本文將本方案與經(jīng)典的基于信譽的信任模型RFSN進行比較,分析本方案的優(yōu)劣。不同節(jié)點比例下的檢測率如圖6所示,在相同惡意節(jié)點比例下,本文方案的監(jiān)測均高于RFSN方案,這是由于本文中信任模型可對節(jié)點的行為做出迅速處理,防止了惡意節(jié)點進一步危害網(wǎng)絡。
圖6 檢測率對比圖Fig.6 Detection rate comparison
為分析本文模型的能耗,將RFSN方案與本文方案進行對比,仿真實驗結果如圖7所示。圖中顯示的是在400個周期內,隨著惡意節(jié)點比例的變化,本文方案和RFSN方案在網(wǎng)絡仿真過程中的能量消耗對比??梢钥闯觯S著實驗的進行,整個網(wǎng)絡的能量都呈現(xiàn)下降趨勢,但是本文方案在不同的惡意節(jié)點比例下能量消耗均少于RFSN方案。這是因為本文方案在進行信任度計算時,將交互信息存在節(jié)點內部,進行周期計算,能夠有效地避免實時計算帶來的能量消耗,節(jié)約網(wǎng)絡能量并延長網(wǎng)絡的使用壽命。
圖7 網(wǎng)絡能量變化圖Fig.7 The change of network energy
本文針對無線傳感器網(wǎng)絡的動態(tài)變化提出了一種基于信任度的信任模型。該模型綜合考慮了節(jié)點的交互信息和能量變化,通過計算節(jié)點的直接信任度、間接信任度和能量信任度合成綜合信任度。利用綜合信任度實現(xiàn)路由選擇,并且高效識別惡意節(jié)點以及能量耗盡的老化節(jié)點,將此類節(jié)點移出網(wǎng)絡。在節(jié)點信任度的更新過程中,采用周期更新的方式,減少因實時更新造成的資源浪費,延長網(wǎng)絡的使用壽命。仿真結果表明所設計方案有較高的檢測率,同時有效節(jié)約了整個網(wǎng)絡的能量。
[1] 陳林星.無線傳感器網(wǎng)絡技術與應用[M].北京:電子工業(yè)出版社,2009.
[2] 任豐原,黃海寧,林闖.無線傳感器網(wǎng)絡[J].軟件學報,2003,14(7):1282-1291.
[3] SINGH D,TRIPATHI G,JARA A J.A survey of internet-of-things:future vision,architecture,challenges and services[C]//Internet of Things,IEEE,2014:287-292.
[4] 張玉泉.無線傳感器網(wǎng)絡安全問題研究[M].濟南:山東人民出版社,2013.
[5] WATRO R,KONG D,CUTI S F,et al.TinyPK:securing sensor networks with public key technology[C]//Pro-ceedings of the 2nd ACM Workshop on Security of Ad Hoc and Sensor Networks,2004:59-64.
[6] 荊琦,唐禮勇,陳鐘.無線傳感器網(wǎng)絡中的信任管理研究[J].軟件學報,2008,19(7):1716-1730.
[7] FANG W,ZHANG C,SHI Z,et al.BTRES:beta-based trust and reputation evaluation system for wireless sensor networks[J].Journal of Network and Computer Applications,2016,59(2):88-94.
[8] YU Y L,LI K Q,ZHOU W L,et al.Trust mechanisms in wireless sensor networks:attack analysis and countermeasures[J].Journal of Network & Computer Applications, 2012,35(3):867-880.
[9] LELIGOU H C,TRAKADAS P,MANIATIS S,et al.Combining trust with location information for routing in wireless sensor networks[J].Wireless Communications and Mobile Computing,2012,12(12):1091-1103.
[10] GOVIND P G,MANOJ M,KUMKUM G.Energy and trust aware mobile agent migration protocol for data aggregation in wireless sensor networks[J].Journal of Network and Computer Applications,2014,41(2):300-311.
[11] ISHMANOV F,MALIK A S,KIM S W,et al.Trust management system in wireless sensor networks:design considerations and research challenges[J].Transactions on Emerging Telecommunications Technologies,2015,26(2):107-130.
[12] STEPHEN P M.Formalising trust as a computational concept[D].Stirling:University of Stirling,1994.
[13] GANERIWAL S,BALZANO L K,SRIVASTAVA M B.Reputation based framework for high integrity sensor networks [C]//ACM Transactions on Sensor Networks, New York,2004:66-77.
[14] MEJIA M,PENA N,MUNOZ J L,et al.A game theoretic trust model for on-line distributed evolution of cooperation in MANETs[J].Journal of Network and Computer Applications,2011,34(1):39-51.
[15] KIM T K,SEO H S.A trust model using fuzzy logic in wireless sensor network[J].World Academy of Science,Engineering and Technology,2008,42(6):63-66.