周遠林,陶 洋,李正陽,楊 柳
(重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)中節(jié)點常被部署于無人值守甚至敵對環(huán)境中,對手可輕松捕獲節(jié)點并發(fā)起內(nèi)部攻擊[1]。為保證網(wǎng)絡(luò)安全,需實現(xiàn)數(shù)據(jù)的機密性、完整性和可用性[2],而提供上述安全服務(wù)需要設(shè)計密鑰管理方案[3],其在網(wǎng)絡(luò)加密和認證中起到關(guān)鍵作用。然而由于受到傳感器節(jié)點的資源限制,許多密鑰管理方案不可行[4-5]。此外,內(nèi)部攻擊可能會輸入錯誤數(shù)據(jù)誤導(dǎo)控制中心做出錯誤決定,而密碼技術(shù)[6]與身份認證[7]無法單獨應(yīng)對內(nèi)部攻擊。因此,需要一種健壯的安全(信任)機制來防止無線傳感器網(wǎng)絡(luò)受到內(nèi)部和外部攻擊[8]。信任評估方法用于分析傳感器節(jié)點行為以估計節(jié)點的可靠性與可依賴性[9-10]。許多信任管理方案在信任評估中僅基于節(jié)點的通信行為[11],未考慮感知數(shù)據(jù)和融合數(shù)據(jù)的信任度[12],如果僅靠通信行為系統(tǒng),則其會將輸入錯誤數(shù)據(jù)的節(jié)點也歸為可信。簇頭用于收集和匯總成員節(jié)點數(shù)據(jù)以建立全局信譽,然而在開放與敵對的WSN 環(huán)境中,簇頭節(jié)點也可能被感染,因此簇頭的安全性很重要。
本文結(jié)合信任機制分析無線傳感器網(wǎng)絡(luò)的節(jié)點數(shù)據(jù)安全問題,提出一種基于雙簇頭的傳感器網(wǎng)絡(luò)反饋信任模型DCFT。結(jié)合節(jié)點間通信信任、數(shù)據(jù)感知信任與數(shù)據(jù)融合信任綜合評估鄰居節(jié)點異常行為,引入雙簇頭交互監(jiān)測和基站信任反饋機制,由主簇頭篩查和融合節(jié)點數(shù)據(jù)發(fā)送到基站,并轉(zhuǎn)發(fā)到監(jiān)督簇頭進行數(shù)據(jù)分析,基站根據(jù)雙簇頭數(shù)據(jù)融合結(jié)果評估數(shù)據(jù)融合信任,同時將最終信任結(jié)果反饋到全部節(jié)點。
目前,研究人員已提出眾多安全數(shù)據(jù)傳輸和聚合方案,其中部分方案基于信任模型來評估節(jié)點之間的信任值,以達到利用可靠數(shù)據(jù)傳輸?shù)哪康模?3-15]。
文獻[11]提出一種可靠的基于貝葉斯模型的信任管理方案BTMS,其總體信任值由直接信任和間接信任綜合得出:直接信任采用修正的貝葉斯方程計算,并引入懲罰因子對節(jié)點的不當行為進行懲罰;間接信任根據(jù)第三方推薦者的信任級別進行適當加權(quán)。仿真結(jié)果表明,BTMS 在抵御開關(guān)攻擊和口臭攻擊(試圖通過詆毀降低對方信譽)方面表現(xiàn)良好,但其未考慮節(jié)點數(shù)據(jù)安全問題。文獻[16]提出一種用于無線傳感器網(wǎng)絡(luò)的高效動態(tài)信任評估模型DTEM,其通過動態(tài)調(diào)整直接信任和間接信任的權(quán)重與更新機制參數(shù)來實現(xiàn)準確、高效和動態(tài)的信任評估,其中:直接信任考慮了通信信任、數(shù)據(jù)信任和能源信任,并具有懲罰因子和調(diào)節(jié)功能;間接信任根據(jù)第三方可信的建議進行評估。在假設(shè)簇頭層節(jié)點無不良行為的情況下,DTEM 可對路由攻擊和數(shù)據(jù)信息攻擊進行準確的信任評估。
文獻[17]提出一種基于距離的可信度評估方案,采用集中式信任評估模塊評估傳感器節(jié)點和數(shù)據(jù)項的絕對信任度,利用數(shù)據(jù)項在鄰居之間的一致性評估數(shù)據(jù)項可信度,并通過傳感器節(jié)點對數(shù)據(jù)項的信任度和傳感器節(jié)點的歷史信任度來評估節(jié)點的當前信任度。然而該方法要求每個節(jié)點有定位功能,需要將大量定位信息傳輸?shù)街醒敕?wù)器以計算各節(jié)點之間的距離。文獻[18]通過異常挖掘算法發(fā)現(xiàn)異常數(shù)據(jù),從而實現(xiàn)對入侵行為的檢測,并利用多維數(shù)據(jù)之間關(guān)聯(lián)以及節(jié)點之間時空關(guān)聯(lián)對入侵行為進行檢測。入侵行為通常需結(jié)合數(shù)據(jù)異常類型來檢測,監(jiān)測的物理屬性由專家制定,缺乏靈活性,且該方法為入侵檢測方法,未計算節(jié)點信任值進行下一步網(wǎng)絡(luò)決策。
文獻[19]提出一種基于雙簇頭的安全數(shù)據(jù)聚合方案,從每個簇中選出紅簇頭和黑簇頭。在數(shù)據(jù)融合階段,黑簇頭執(zhí)行數(shù)據(jù)融合并轉(zhuǎn)發(fā)融合結(jié)果,紅簇頭執(zhí)行數(shù)據(jù)融合并轉(zhuǎn)發(fā)由融合結(jié)果計算的消息認證碼。父節(jié)點通過驗證下層紅簇頭和黑簇頭的消息認證碼來保證融合結(jié)果的準確性。然而即使紅簇頭和黑簇頭接收同一區(qū)域的數(shù)據(jù),也不能保證其融合結(jié)果無誤差,若融合結(jié)果不一致,則計算所得消息認證碼不同,從而導(dǎo)致誤檢率較高。此外,該方案未考慮感知數(shù)據(jù)的偽造攻擊。文獻[20]在文獻[19]的基礎(chǔ)上提出基于雙簇頭信任機制的數(shù)據(jù)融合方法,對感知數(shù)據(jù)的信任評估進行補充。然而由于該方法的信任模型過于簡單,且節(jié)點間的信任評估為單向進行,因此無法準確識別惡意簇頭。文獻[21]提出一種基于聚類的數(shù)據(jù)融合模型,利用信譽系統(tǒng)在每個簇中選擇兩個簇頭獨立執(zhí)行數(shù)據(jù)融合,并將融合結(jié)果和異常值列表發(fā)送到基站,基站再計算兩個結(jié)果之間的相異系數(shù)以確定是否需要更換簇頭。本文借鑒了文獻[21]的部分思想,但該文獻存在以下問題:1)檢測異常值使用DBSCAN 算法,其時間復(fù)雜度太高;2)僅重點描述異常值檢測、數(shù)據(jù)融合和相異系數(shù)計算,未詳細介紹節(jié)點的信任評價;3)只能降低模型中惡意節(jié)點作為簇頭的概率,無法準確識別被感染的簇頭節(jié)點。
本文采用簇成員節(jié)點-簇頭-基站分層的雙簇頭網(wǎng)絡(luò)模型,如圖1 所示。無線傳感器網(wǎng)絡(luò)中的節(jié)點分為簇成員節(jié)點(CM,也稱為普通節(jié)點)、主簇頭(CH)、監(jiān)督簇頭(SH)以及基站(BS)。在同一個簇中,普通節(jié)點、主簇頭和監(jiān)督簇頭具有相同能量與資源,普通節(jié)點采集數(shù)據(jù)與簇頭(以下若無特別說明則均指主簇頭和監(jiān)督簇頭)直接通信,簇頭對普通節(jié)點采集的數(shù)據(jù)進行篩選和融合,并以單跳或多跳的方式發(fā)送給基站。主簇頭將數(shù)據(jù)融合結(jié)果發(fā)送到基站后,基站將該結(jié)果轉(zhuǎn)發(fā)給監(jiān)督簇頭,監(jiān)督簇頭根據(jù)自身融合結(jié)果計算與主簇頭的相異系數(shù),如果相異系數(shù)小于相異閾值,則回復(fù)確認ACK 給基站;如果相異系數(shù)大于相異閾值,則回復(fù)錯誤ACK 給基站并將自身融合結(jié)果也發(fā)送到基站,基站結(jié)合歷史數(shù)據(jù)進一步分析融合結(jié)果的準確性并在其覆蓋范圍內(nèi)與所有節(jié)點直接建立通信。網(wǎng)絡(luò)中節(jié)點分為普通節(jié)點和惡意節(jié)點,普通節(jié)點之間交互頻繁并提供正確數(shù)據(jù),惡意節(jié)點交互較少或者進行不成功的交互,并提供錯誤數(shù)據(jù)。
圖1 雙簇頭網(wǎng)絡(luò)模型Fig.1 Network model based on double cluster head
信任模型包括分布式[22]信任模型和集中式[23]信任模型兩種。在分布式信任模型中,每個節(jié)點監(jiān)視鄰居節(jié)點并結(jié)合推薦信息在本地計算鄰居節(jié)點的信任值。在集中式信任模型中,代理節(jié)點通過路由中的控制信息和全局數(shù)據(jù)計算路徑上所有節(jié)點的信任值,并將信任值通過廣播反饋給其他節(jié)點。分布式信任模型和集中式信任模型可在不同場景配合使用,分布式信任模型對節(jié)點本地計算能力要求較高,而集中式信任模型對通信資源消耗較多。本文采用混合方式,簇內(nèi)信任使用分布式信任模型計算,而簇間信任使用集中式信任模型計算。簇內(nèi)信任包括普通節(jié)點之間的評價和簇頭對簇內(nèi)成員節(jié)點的評價,由于簇內(nèi)局域數(shù)據(jù)相似性較大,因此簇頭容易分析出異常數(shù)據(jù)并將其上報基站進一步分析。簇間信任包括簇頭節(jié)點之間的評價和簇頭在普通節(jié)點中的評價,簇頭與簇頭之間數(shù)據(jù)特征較分散,此時主要通過基站對數(shù)據(jù)進行集中評價。
無線傳感器網(wǎng)絡(luò)中存在DoS 攻擊、Sybil 攻擊、蟲洞攻擊、泛洪攻擊以及選擇性轉(zhuǎn)發(fā)攻擊等多種攻擊形式。根據(jù)攻擊行為和目標,上述攻擊可分為對路由協(xié)議的攻擊、對信任模型的攻擊和對通信數(shù)據(jù)的攻擊3 類,其中:對路由協(xié)議的攻擊包括黑洞攻擊、蟲洞攻擊和選擇性轉(zhuǎn)發(fā)攻擊,此類攻擊的目標是路由協(xié)議,惡意行為會丟棄部分或所有路由數(shù)據(jù)包,使數(shù)據(jù)包無法在節(jié)點間正確轉(zhuǎn)發(fā);對信任模型的攻擊包括開關(guān)攻擊和口臭攻擊,此類攻擊的目標是信任管理系統(tǒng),惡意行為通過提供虛假信息來破壞信任關(guān)系;對通信數(shù)據(jù)的攻擊包括選擇性轉(zhuǎn)發(fā)攻擊、偽造本地數(shù)據(jù)攻擊和偽造融合數(shù)據(jù)攻擊,此類攻擊的目標是數(shù)據(jù),全部網(wǎng)絡(luò)的核心是傳輸數(shù)據(jù),如果不能保證數(shù)據(jù)的準確性和完整性,則無法實現(xiàn)可靠的數(shù)據(jù)傳輸,此類攻擊的惡意行為包括丟棄、偽造和篡改無線鏈路的傳輸數(shù)據(jù)。本文主要針對通信數(shù)據(jù)攻擊提供解決方案。
本文所提基于雙簇頭的傳感器網(wǎng)絡(luò)反饋信任模型DCFT 的結(jié)構(gòu)如圖2 所示。DCFT 對網(wǎng)絡(luò)中每個傳感器節(jié)點的綜合信任由鄰居節(jié)點和推薦節(jié)點評估得出。鄰居節(jié)點是能直接通信的節(jié)點,推薦節(jié)點是評估節(jié)點與被評估節(jié)點共同的鄰居節(jié)點。每個節(jié)點基于看門狗機制監(jiān)聽其通信范圍內(nèi)相鄰節(jié)點的活動,以了解節(jié)點是否正確轉(zhuǎn)發(fā)或丟棄數(shù)據(jù)包。如果評估節(jié)點需獲得被評估節(jié)點的信任值,則可通過對直接信任與間接信任進行綜合計算得到。每個節(jié)點維護相鄰節(jié)點的信任列表,信任評估過程具有周期性,并結(jié)合近期信任記錄進行信任更新。
圖2 DCFT 模型結(jié)構(gòu)Fig.2 DCFT model structure
分簇網(wǎng)絡(luò)中基于雙簇頭的傳感器網(wǎng)絡(luò)反饋信任模型信任評價關(guān)系如圖3 所示。通過簇頭評價普通節(jié)點、基站評價簇頭并將結(jié)果反饋給普通節(jié)點形成閉環(huán)的信任鏈(見圖3 中cmj-chi-BS 信任鏈),所有節(jié)點相互監(jiān)督以實現(xiàn)網(wǎng)絡(luò)安全平衡。
圖3 信任評價關(guān)系示意圖Fig.3 Schematic diagram of trust evaluation relationship
直接信任由通信信任、數(shù)據(jù)感知信任和數(shù)據(jù)融合信任組成。通信信任是根據(jù)節(jié)點與鄰居節(jié)點交互成功次數(shù)與失敗次數(shù)計算的信任值,交互成功率越高,通信信任值越高。數(shù)據(jù)感知信任是根據(jù)節(jié)點原始感知數(shù)據(jù)與該區(qū)域內(nèi)平均測量值之間距離計算的信任值,距離越短,數(shù)據(jù)感知信任值越高。數(shù)據(jù)融合信任是根據(jù)簇頭節(jié)點、監(jiān)督節(jié)點與基站所預(yù)測融合數(shù)據(jù)之間差異計算的信任值,簇頭融合結(jié)果與基站預(yù)測值偏差越小,數(shù)據(jù)融合信任值越高。
傳感器節(jié)點的直接信任包括通信信任、數(shù)據(jù)感知信任和數(shù)據(jù)融合信任。通信信任和數(shù)據(jù)感知信任由節(jié)點計算,數(shù)據(jù)融合信任由基站計算。信任的綜合計算與直接信任的更新在節(jié)點處完成。
3.2.1 通信信任
通信信任CTij(Δt)由節(jié)點i與鄰居節(jié)點j之間的通信成功率計算得到,其反映節(jié)點i在過去交互過程中對節(jié)點j的信任程度。當節(jié)點i發(fā)送消息到鄰居節(jié)點j時,節(jié)點i進入混雜模式,監(jiān)聽節(jié)點j如果成功接收數(shù)據(jù)包并返回確認信號,同時將數(shù)據(jù)包正確發(fā)送到下一個目標節(jié)點,則節(jié)點i和節(jié)點j的交互是一次成功通信;否則是一次失敗通信。本文將節(jié)點雙方在Δt內(nèi)通信成功的次數(shù)記為r,通信失敗的次數(shù)記為s。采用貝葉斯信任模型[24]計算通信信任CTij(Δt),并使用beta 概率密度函數(shù)的期望值來表示節(jié)點信任值。節(jié)點i對節(jié)點j通信信任評價的表達式如下:
3.2.2 數(shù)據(jù)感知信任
在普通傳感器節(jié)點監(jiān)測及其周圍環(huán)境信息收集過程中,節(jié)點故障、偽造本地數(shù)據(jù)攻擊和事件發(fā)生都會造成錯誤或可疑的測量結(jié)果。簇頭節(jié)點在對收集的數(shù)據(jù)進行分析、處理和融合之前,需提取可靠且可信賴的數(shù)據(jù)進行數(shù)據(jù)融合,以提高融合數(shù)據(jù)的準確性。數(shù)據(jù)感知信任評估可有效檢測出故障節(jié)點數(shù)據(jù)以及被入侵節(jié)點偽造的數(shù)據(jù)。
數(shù)據(jù)感知信任DPTij(Δt)是簇頭節(jié)點i對普通節(jié)點j感知數(shù)據(jù)的信任評價,由普通節(jié)點的感知數(shù)據(jù)與相應(yīng)周期內(nèi)所得平均值之間的差值計算得到。在同一個簇內(nèi),傳感器節(jié)點由于間隔距離相近,且數(shù)據(jù)具有空間相關(guān)性,因此感知的環(huán)境數(shù)據(jù)應(yīng)該相同或者相似。這些數(shù)據(jù)遵循正態(tài)分布,符合概率密度函數(shù),其中μ和σ分別為該數(shù)據(jù)集合的平均值和標準差。本文將[μ-σ,μ+σ]范圍內(nèi)的數(shù)據(jù)集合稱為可靠數(shù)據(jù),記為集合R;將在[μ-σ,μ+σ]范圍外的數(shù)據(jù)集合稱為可疑數(shù)據(jù),上報可疑數(shù)據(jù)的傳感器列表記為可疑節(jié)點列表S。可疑數(shù)據(jù)是錯誤數(shù)據(jù)或者代表可能存在異常事件,因此需根據(jù)可疑數(shù)據(jù)之間的地理位置進一步檢測是否發(fā)生異常事件[25]。在數(shù)據(jù)集合中,數(shù)據(jù)越接近平均值,其信任值越高,簇頭對普通節(jié)點提供的感知數(shù)據(jù)x進行數(shù)據(jù)感知信任評估,計算公式如下:
3.2.3 數(shù)據(jù)融合信任
數(shù)據(jù)融合信任DFTj(Δt)由基站通過雙簇頭融合結(jié)果的相異系數(shù)以及趨勢相關(guān)性計算得到。在進行數(shù)據(jù)感知信任計算時,雙簇頭已計算得到可靠數(shù)據(jù)集合Rch、Rsh和可疑節(jié)點列表Sch、Ssh。按照文獻[21]的數(shù)據(jù)融合算法,簇頭對可靠數(shù)據(jù)集合Rch和Rsh進行數(shù)據(jù)融合,所得數(shù)據(jù)融合結(jié)果分別為Dch和Dsh。主簇頭將數(shù)據(jù)融合結(jié)果Dch和異常值列表Sch上傳到基站,基站通過查詢找到該主簇頭對應(yīng)的監(jiān)督簇頭,并將Dch和Sch發(fā)送給監(jiān)督簇頭,監(jiān)督簇頭計算[21]相異系數(shù)α如下:
其中:ε1和ε2分別為融合結(jié)果差異與異常值列表的權(quán)重,本文中ε1=ε2=0.5;|Sch∩Ssh|為列表Sch和Ssh中共同存在的異常值個數(shù);|Sch∪Ssh|為列表Sch和Ssh中所有異常值數(shù)量總和。
將監(jiān)督簇頭計算的相異系數(shù)α和相異閾值th 進行比較,仿真實驗中th=0.2。如果α≤th,則表示主簇頭的數(shù)據(jù)融合結(jié)果可信,監(jiān)督簇頭回復(fù)確認ACK到基站;如果α>th,則表示主簇頭和監(jiān)督簇頭的數(shù)據(jù)融合結(jié)果差異很大,可能是其中一個簇頭篡改了數(shù)據(jù)融合結(jié)果,監(jiān)督簇頭將數(shù)據(jù)融合結(jié)果Dsh和異常值列表Ssh上傳到基站,由基站通過趨勢相關(guān)性計算進一步判斷主簇頭和監(jiān)督簇頭數(shù)據(jù)融合的準確性。然而基站根據(jù)當前周期的數(shù)據(jù)無法分析哪個簇頭是惡意節(jié)點。對此,文獻[21]提出重新選出兩個簇頭,但不能識別內(nèi)部攻擊節(jié)點并對其進行懲罰。本文利用融合數(shù)據(jù)之間的時間相關(guān)性,通過歷史數(shù)據(jù)預(yù)測得到當前周期的數(shù)據(jù)融合結(jié)果(以下稱為預(yù)測值)。若主簇頭或監(jiān)督簇頭所得當前周期數(shù)據(jù)融合結(jié)果越接近預(yù)測值,則認為主簇頭或監(jiān)督簇頭的數(shù)據(jù)越可信。本文引入Holt-Winters 指數(shù)平滑法對當前周期的數(shù)據(jù)融合結(jié)果進行預(yù)測。
對于時間序列數(shù)據(jù){xt},結(jié)合加法模型和Holt-Winters指數(shù)平滑法進行如下計算:
其中:at、bt、st分別表示t時期的序列基本量、趨勢分量和季節(jié)因子;α、β、γ為相應(yīng)的平滑系數(shù),且α,β,γ∈(0,1);p為季節(jié)變動周期長度,且存在
當前周期預(yù)測值的計算公式如下:
其中,yt為當前周期t的預(yù)測值,at-1和bt-1分別為t-1時期的序列基本量與趨勢分量,st-p為t-p時期的季節(jié)變化值。本文中,初始值a0=x1,b0=x2-x1,s1,s2,···,sp=0。
平滑系數(shù)α、β和γ的設(shè)定對預(yù)測效果影響很大,而預(yù)測效果的衡量標準是預(yù)測值與實際值的差值,本文通過最小化均方根誤差(Root Mean Square Error,RMSE)估計得到α=0.8、β=0.4 和γ=0.4,且RMSE=0.069 1。使用Holt-Winters 指數(shù)平滑法獲得當前周期預(yù)測值后,將其與主簇頭和監(jiān)督簇頭的實際數(shù)據(jù)融合結(jié)果相減即得到當前周期的殘差項,計算公式如下:
采用相同方法可計算得到t時刻預(yù)測值與監(jiān)督簇頭的殘差值并通過雙簇頭的殘差值進行異常行為檢測:如果,則懷疑主簇頭發(fā)動篡改融合數(shù)據(jù)攻擊,基站丟棄主簇頭的融合結(jié)果;否則懷疑監(jiān)督簇頭試圖對主簇頭進行口臭攻擊,基站丟棄監(jiān)督簇頭的融合結(jié)果。因此,簇頭數(shù)據(jù)融合信任DFTj(Δt)的計算公式如下:
3.2.4 直接信任的計算
節(jié)點i對鄰居節(jié)點j的直接信任由通信信任、數(shù)據(jù)感知信任和數(shù)據(jù)融合信任3 個信任因素計算得到,計算公式如下:
其中,參數(shù)ω1,ω2∈[0,1]為信任因素的權(quán)重,其可根據(jù)不同攻擊形式進行調(diào)整,例如對重點防御篡改融合數(shù)據(jù)攻擊,需將ω1、ω2設(shè)置為較小值,以突出DFTj(Δt)的權(quán)重。
3.2.5 直接信任的更新
評價節(jié)點信任程度不能僅靠當前周期的信任值,還需結(jié)合節(jié)點的歷史信任值,本文通過時間滑動窗口結(jié)合歷史信任值來更新當前周期的信任值,時間滑動窗口的信任更新過程如圖4 所示。
圖4 時間滑動窗口的信任更新過程Fig.4 Trust update process of time sliding window
在圖4 中,時間滑動窗口長度為L(可根據(jù)實際情況設(shè)置),歷史周期為T,每個歷史周期的直接信任值為當前周期直接信任的計算公式如下:
由式(9)可以看出,每個周期的信任更新與當前周期的直接信任以及前L-1 個歷史周期有關(guān),但權(quán)重不同,歷史周期時間越近,其分配的權(quán)重值越高。
與大部分信任模型類似,間接信任模型也考慮到第三方推薦信任。間接信任由節(jié)點i和節(jié)點j所有共同鄰居節(jié)點k的推薦信任計算得到,節(jié)點k的推薦信任是節(jié)點k對節(jié)點j的直接信任,由于信任具有傳遞性,因此節(jié)點i對節(jié)點j的間接信任計算如下:
其中,M為節(jié)點i和節(jié)點j所有共同鄰居節(jié)點的集合,|M|為該集合中的節(jié)點個數(shù)。
節(jié)點j的綜合信任Tij(Δt)由鄰居節(jié)點i根據(jù)直接信任和間接信任計算得到,計算公式如下:
其中,φ∈[0,1]用于調(diào)整對直接信任和間接信任的依賴程度。在實際應(yīng)用中,φ不易設(shè)定,假設(shè)在節(jié)點間直接交互次數(shù)較少時主要依靠間接信任,在直接交互次數(shù)較多時主要依靠直接信任,則φ可通過動態(tài)方程計算[16]得到,計算公式如下:
其中:N為節(jié)點i和節(jié)點j交互次數(shù)的最大值;w為節(jié)點i和節(jié)點j的實際交互次數(shù);COMth為交互閾值,其根據(jù)實際網(wǎng)絡(luò)大小設(shè)定,本文中COMth=200。若實際交互次數(shù)大于交互閾值,則評估綜合信任中直接信任值的權(quán)重較大;否則,實際交互次數(shù)太少,難以評價節(jié)點的優(yōu)劣,在綜合信任評估中需更多考慮間接信任值。根據(jù)交互次數(shù)動態(tài)調(diào)整權(quán)重,可得到更客觀準確的綜合信任評價結(jié)果。
本文在Matlab 平臺上使用DCFT 算法對英特爾實驗室[26]的傳感器節(jié)點進行信任評估,并通過仿真實驗觀察節(jié)點的信任評估結(jié)果。圖5 為英特爾實驗室數(shù)據(jù)集傳感器的分布情況,選擇其中部分節(jié)點作為仿真實驗對象。實驗節(jié)點分為普通節(jié)點和惡意節(jié)點,其中惡意節(jié)點會實施各類攻擊。
4.1.1 數(shù)據(jù)預(yù)處理
在英特爾實驗室中,54 個傳感器分布在實驗室各個區(qū)域(見圖5)。每個傳感器采集濕度、溫度、光線強度和電壓等數(shù)據(jù),每隔31 s采樣一次,持續(xù)35 天。為減少數(shù)據(jù)量并保持數(shù)據(jù)長度一致,選擇6 號~12 號節(jié)點在2004 年2 月28 日的溫度數(shù)據(jù),并按照每隔10 min 采樣一次的頻率重新采樣,一天內(nèi)每個節(jié)點有144 條數(shù)據(jù)。圖6 為6 號~12 號節(jié)點數(shù)據(jù)經(jīng)預(yù)處理后,其溫度隨時間的變化曲線。
圖5 英特爾實驗室數(shù)據(jù)集傳感器分布Fig.5 Sensor distribution of Intel lab dataset
圖6 6 號~12 號節(jié)點溫度隨時間的變化曲線Fig.6 Temperature curve of node 6-12 changing with time
4.1.2 參數(shù)設(shè)置
在計算數(shù)據(jù)融合信任時,需將雙簇頭的融合數(shù)據(jù)實際值與預(yù)測值進行比較。預(yù)測精確度對惡意節(jié)點的識別影響較大,若預(yù)測誤差很大,則可能將普通節(jié)點誤判為惡意節(jié)點。因此,平滑系數(shù)α、β和γ的設(shè)定非常重要。在實際應(yīng)用中,上述參數(shù)的設(shè)定有兩種方式:1)通過研究人員多次調(diào)整模型比較各組參數(shù)之間的誤差來驗證性能;2)通過交叉驗證對模型進行訓(xùn)練,得到最小的均方根誤差或均方誤差。本文預(yù)測全天溫度變化值,數(shù)據(jù)波動比較小,采用第一種方式即可獲得良好效果,并經(jīng)過仿真最終設(shè)定參數(shù)α=0.8、β=0.4、γ=0.4,此時RMSE=0.069 1。圖7 為節(jié)點溫度實際值與預(yù)測值的關(guān)系曲線,可以看出預(yù)測結(jié)果能很好地擬合實際結(jié)果。
圖7 節(jié)點溫度實際值與預(yù)測值的關(guān)系曲線Fig.7 The relationship curve between actual value and predicted value of node temperature
將本文基于雙簇頭的傳感器網(wǎng)絡(luò)反饋信任模型DCFT 與BTMS[11]、DTEM[16]模型進行性能對比分析,后兩者均為目前具有代表性的信任評估模型。其中:BTMS 通過改良貝葉斯方程對節(jié)點的交互行為進行信任評價,但未考慮錯誤的數(shù)據(jù)通信情況;DTEM 通過鄰居節(jié)點之間感知數(shù)據(jù)的差異來檢測攻擊,但需要先假設(shè)簇頭節(jié)點安全,無法解決簇頭節(jié)點偽造融合數(shù)據(jù)攻擊的問題。本文主要從選擇性轉(zhuǎn)發(fā)攻擊、偽造本地數(shù)據(jù)攻擊、偽造融合數(shù)據(jù)攻擊、綜合攻擊以及能耗等方面進行性能評價與分析。
4.2.1 選擇性轉(zhuǎn)發(fā)攻擊
通常普通節(jié)點在通信延遲、網(wǎng)絡(luò)擁塞和網(wǎng)絡(luò)不穩(wěn)定的情況下會出現(xiàn)通信失敗,因此設(shè)置普通節(jié)點的交互失敗率為10%,惡意節(jié)點以80%的概率隨機丟棄接收的數(shù)據(jù)。設(shè)置參數(shù)ω1=0.8、ω2=0.1。
圖8 為DCFT、BTMS 和DTEM 3 種模型中普通(normal)節(jié)點與實施選擇性轉(zhuǎn)發(fā)攻擊的惡意(malicious)節(jié)點綜合信任值隨時間的變化曲線??梢钥闯觯? 種模型均能明顯區(qū)分普通節(jié)點和惡意節(jié)點;BTMS 和DTEM 中惡意節(jié)點綜合信任值比DCFT 更低,因為其在信任計算中針對惡意行為設(shè)置了懲罰因子,而懲罰因子與惡意行為的次數(shù)成正比,因此經(jīng)過60 次交互后這2 種模型對惡意節(jié)點的綜合信任值遠低于DCFT。
圖8 3 種模型中普通節(jié)點與實施選擇性轉(zhuǎn)發(fā)攻擊的惡意節(jié)點綜合信任值隨時間的變化曲線Fig.8 The time-varying curve of the comprehensive trust value between common nodes and malicious nodes attacking with selective forwarding in the three models
4.2.2 偽造本地數(shù)據(jù)攻擊
本文所用本地感知數(shù)據(jù)為英特爾實驗室采集的原始溫度值,隨機選取節(jié)點作為惡意節(jié)點,對其感知數(shù)據(jù)注入高斯噪聲,錯誤感知數(shù)據(jù)誤差設(shè)置為10%~50%,參數(shù)ω1=0.1、ω2=0.8。
圖9 為DCFT、BTMS 和DTEM 3 種模型中普通節(jié)點與實施偽造本地數(shù)據(jù)攻擊的惡意節(jié)點的綜合信任值隨時間的變化曲線??梢钥闯觯篋CFT 和DTEM均能很好地檢測出偽造本地數(shù)據(jù)攻擊的節(jié)點;BTMS 中普通節(jié)點和惡意節(jié)點的綜合信任值差異較小,這是因為BTMS 未考慮錯誤的數(shù)據(jù)通信。DCFT通過計算感知數(shù)據(jù)的分布函數(shù)得出數(shù)據(jù)偏離程度,DTEM 對信任閾值與鄰居節(jié)點的數(shù)據(jù)進行比較來檢測攻擊者,這2 種模型均能有效識別惡意節(jié)點。
圖9 3 種模型中普通節(jié)點與實施偽造本地數(shù)據(jù)攻擊的惡意節(jié)點綜合信任值隨時間的變化曲線Fig.9 The time-varying curve of the comprehensive trust value between common nodes and malicious nodes attacking with forged local data in the three models
4.2.3 偽造融合數(shù)據(jù)攻擊
本文采用簡單加權(quán)平均法對可靠的本地數(shù)據(jù)進行數(shù)據(jù)融合,利用噪聲對融合數(shù)據(jù)進行模糊處理以模擬惡意節(jié)點,錯誤融合數(shù)據(jù)誤差設(shè)置為10%~50%。設(shè)置參數(shù)ω1=0.1、ω2=0.1。
圖10 為DCFT、BTMS 和DTEM 3 種模型中普通節(jié)點與實施偽造融合數(shù)據(jù)攻擊的惡意節(jié)點綜合信任值隨時間的變化曲線??梢钥闯觯篋CFT 中惡意節(jié)點的綜合信任值均小于50,而普通節(jié)點的綜合信任值約為85,可很好地檢測出偽造融合數(shù)據(jù)攻擊;DCFT通過歷史融合數(shù)據(jù)預(yù)測下一個周期的數(shù)據(jù),通過比較實際值與預(yù)測值的距離判斷融合數(shù)據(jù)的偏離程度,偏離程度越大,信任值越低;BTMS 和DTEM 均假設(shè)簇頭節(jié)點不會受到攻擊,未考慮簇頭偽造數(shù)據(jù)的情況,因此無法檢測偽造融合數(shù)據(jù)攻擊。
圖10 3 種模型中普通節(jié)點與實施偽造融合數(shù)據(jù)攻擊的惡意節(jié)點綜合信任值隨時間的變化曲線Fig.10 The time-varying curve of the comprehensive trust value between common nodes and malicious nodes attacking with forgery fusion data in the three models
4.2.4 綜合攻擊
為驗證DCFT 模型對選擇性轉(zhuǎn)發(fā)攻擊、偽造本地數(shù)據(jù)攻擊和偽造融合數(shù)據(jù)攻擊3 種攻擊的整體檢測效果,在網(wǎng)絡(luò)中對節(jié)點注入混合攻擊,一個節(jié)點可能有1 種攻擊,也可能同時有3 種攻擊。設(shè)置參數(shù)ω1=1/3、ω2=1/3,實驗進行10 次,取每次計算所得綜合信任值的平均值作為最終結(jié)果。
圖11 為DCFT 中普通節(jié)點與實施3 種攻擊的惡意節(jié)點的綜合信任值隨時間的變化曲線??梢钥闯觯浩胀ü?jié)點綜合信任值約為80,其與惡意節(jié)點綜合信任值差異較大;在經(jīng)過數(shù)次不良行為后,惡意節(jié)點的檢測率達到100%,其綜合信任值均小于30;惡意節(jié)點的綜合信任值波動較大,其原因是攻擊為隨機注入,而惡意節(jié)點并不是每次都進行攻擊,但是綜合信任會考慮到歷史行為,因此惡意節(jié)點只要有攻擊行為就會降低其綜合信任值。
圖11 DCFT 模型中普通節(jié)點與實施綜合攻擊的惡意節(jié)點的綜合信任值隨時間的變化曲線Fig.11 The time-varying curve of the comprehensive trust value between common nodes and malicious nodes implementing comprehensive attack in DCFT model
4.2.5 能耗分析
節(jié)點剩余平均能量和網(wǎng)絡(luò)生存周期是兩個衡量模型能耗的重要指標。本文結(jié)合DCFT 模型與LEACH[27]分簇路由協(xié)議(LEACH-DCFT)進行分析,并和同樣使用雙簇頭模式且結(jié)合LEACH 協(xié)議的DCHM[21]模型(LEACH-DCHM)進行對比。將100 個節(jié)點隨機分布在100 m×100 m 區(qū)域內(nèi),基站位于坐標(150,50)位置處,節(jié)點初始能量為0.5 J。能量消耗與數(shù)據(jù)異常頻率相關(guān),設(shè)置有10%的時間會出現(xiàn)偽造融合數(shù)據(jù)攻擊。
圖12 為3 種條件下不同網(wǎng)絡(luò)周期每個節(jié)點的平均能量。可以看出:LEACH-DCFT 和LEACH-DCHM 的平均能耗更大,分別為LEACH 能耗的1.3 倍和1.4 倍;LEACH-DCFT 比LEACH-DCHM 更節(jié)能,當網(wǎng)絡(luò)周期為第400輪時LEACH-DCHM 的平均能量只有LEACHDCFT 的79%。
圖12 3 種條件下不同網(wǎng)絡(luò)周期的節(jié)點平均能量Fig.12 Average energy of node in different network cycles under three conditions
網(wǎng)絡(luò)生存周期是網(wǎng)絡(luò)中首個節(jié)點死亡時所在的周期,不同網(wǎng)絡(luò)周期下存活的節(jié)點數(shù)如圖13 所示。可以看出:LEACH-DCHM 首個節(jié)點的死亡出現(xiàn)在第427 輪網(wǎng)絡(luò)周期,其網(wǎng)絡(luò)生存周期最短;LEACHDCFT 和LEACH 首個節(jié)點的死亡分別出現(xiàn)在第493輪和第651 輪網(wǎng)絡(luò)周期,可見雙簇頭的設(shè)計會消耗更多能量;LEACH-DCFT 的網(wǎng)絡(luò)生存周期較LEACH縮短25%,但較LEACH-DCHM 延長15%。由于DCHM 的雙簇頭同時向基站發(fā)送數(shù)據(jù)融合結(jié)果,而DCFT 在數(shù)據(jù)正常時只有主簇頭發(fā)送數(shù)據(jù)融合結(jié)果,監(jiān)督簇頭僅發(fā)送確認信息,確認信息的數(shù)據(jù)量約為數(shù)據(jù)融合結(jié)果的1/10,當數(shù)據(jù)出現(xiàn)異常時,監(jiān)督簇頭才會發(fā)送數(shù)據(jù)融合結(jié)果。因此,DCFT 在網(wǎng)絡(luò)安全與能耗之間能實現(xiàn)更好的平衡。
圖13 3 種條件下不同網(wǎng)絡(luò)周期的存活節(jié)點數(shù)Fig.13 Number of surviving nodes in different network cycles under three conditions
本文提出一種利用雙簇頭的無線傳感器網(wǎng)絡(luò)反饋信任模型,通過建立信任評估方案來抵御針對數(shù)據(jù)安全的各類攻擊。通過對節(jié)點行為和數(shù)據(jù)分析來評估通信信任、數(shù)據(jù)感知信任和數(shù)據(jù)融合信任結(jié)果,利用雙簇頭交互監(jiān)測與融合數(shù)據(jù)的時空相關(guān)性來檢測惡意或妥協(xié)節(jié)點。仿真結(jié)果表明,該模型能有效檢測異常數(shù)據(jù)和惡意節(jié)點,成功抵御多類數(shù)據(jù)安全攻擊,并實現(xiàn)網(wǎng)絡(luò)安全與能耗的良好平衡。下一步將加強信任機制的自適應(yīng)加權(quán)融合,以提高對攻擊行為的響應(yīng)速度與檢測精度。