梁花,李洋,雷娟,張森,馬創(chuàng)
1.國網(wǎng)重慶市電力公司電力科學研究院, 重慶 401120; 2.重慶郵電大學 軟件工程學院, 重慶 400065
近年來, 物聯(lián)網(wǎng)(Internet of Things, IoT)作為一種新興技術(shù), 開始應(yīng)用于能源、 科技、 醫(yī)療、 教育等多個領(lǐng)域[1]. 在物聯(lián)網(wǎng)中, 雖然網(wǎng)絡(luò)節(jié)點通過傳感器以及各種智能設(shè)備能為載體實時采集所需數(shù)據(jù), 為實現(xiàn)環(huán)境感知和智能決策帶來了極大的便利, 但是這些數(shù)據(jù)也包含了隱私數(shù)據(jù)和保密數(shù)據(jù)[2]. 同時, 由于物聯(lián)網(wǎng)本身具有的網(wǎng)絡(luò)環(huán)境開放、 網(wǎng)絡(luò)節(jié)點能量有限、 設(shè)備服務(wù)多樣等特點, 使得其網(wǎng)絡(luò)中的節(jié)點極有可能受到惡意節(jié)點的攻擊. 因此如何讓物聯(lián)網(wǎng)絡(luò)中的節(jié)點免受惡意節(jié)點攻擊是物聯(lián)網(wǎng)網(wǎng)絡(luò)部署過程中面臨的重要挑戰(zhàn). 在物聯(lián)網(wǎng)中, 由于不同設(shè)備節(jié)點的計算資源和存儲能力有著很大差異, 并且網(wǎng)絡(luò)中的節(jié)點合作與資源交互頻繁, 使得傳統(tǒng)的安全認證技術(shù)和加密技術(shù)無法合適地部署在物聯(lián)網(wǎng)的網(wǎng)絡(luò)中, 因為它不能及時發(fā)現(xiàn)和攔截惡意節(jié)點發(fā)起的內(nèi)部攻擊. 與此同時, 網(wǎng)絡(luò)中不同的業(yè)務(wù)屬性和節(jié)點置信度也會影響網(wǎng)絡(luò)中節(jié)點之間的信任關(guān)系. 例如, 某些隱藏在網(wǎng)絡(luò)中的惡意節(jié)點會利用合法身份發(fā)起內(nèi)部攻擊. 除此之外, 物聯(lián)網(wǎng)網(wǎng)絡(luò)安全的主要威脅還包括惡意節(jié)點利用節(jié)點之間的信任關(guān)系來獲取相關(guān)服務(wù). 如果不能及時識別物聯(lián)網(wǎng)網(wǎng)絡(luò)中的惡意節(jié)點, 則有可能使得整個網(wǎng)絡(luò)受到攻擊, 從而導致隱私數(shù)據(jù)和保密數(shù)據(jù)泄露, 對網(wǎng)絡(luò)安全帶來威脅. 因此, 保障物聯(lián)網(wǎng)的節(jié)點安全和改善節(jié)點合作關(guān)系的首要條件是充分挖掘網(wǎng)絡(luò)環(huán)境中節(jié)點之間的信任關(guān)系, 并以此來識別網(wǎng)絡(luò)環(huán)境存在的惡意節(jié)點.
傳統(tǒng)的基于加密和認證的安全機制只能抵御外部攻擊, 對網(wǎng)絡(luò)內(nèi)部的攻擊缺乏有效的抵御手段, 而信任管理是檢測內(nèi)部攻擊[3]最常用的算法. 在該方法中, 主要根據(jù)不同特征對網(wǎng)絡(luò)節(jié)點進行評估和分類, 保證節(jié)點之間的傳輸安全, 從而保證整個網(wǎng)絡(luò)的安全性. 基于信任的安全機制被認為是對傳統(tǒng)密碼安全方法的改進. 在物聯(lián)網(wǎng)中, 各設(shè)備之間的協(xié)作和交互可以描述為網(wǎng)絡(luò)節(jié)點彼此之間的信任程度, 通過記錄節(jié)點之間的行為, 以便維護在決策過程中使用的信息[4]. 如果網(wǎng)絡(luò)中包含惡意節(jié)點則會限制節(jié)點之間的通信, 只有當網(wǎng)絡(luò)中所有節(jié)點都以可信賴的方式進行操作, 才能保證節(jié)點之間交互的成功性和可靠性. 因此, 應(yīng)用信任管理機制增強物聯(lián)網(wǎng)網(wǎng)絡(luò)的安全性和健壯性, 保證網(wǎng)絡(luò)節(jié)點之間安全傳輸是個不錯的方法.
網(wǎng)絡(luò)節(jié)點置信度的主觀模糊性會造成現(xiàn)有節(jié)點評估方法不能有效應(yīng)對節(jié)點惡意行為以致無法抵御網(wǎng)絡(luò)內(nèi)部攻擊的問題. 為解決這一問題, 文獻[5]定義了3種信任因子作為模型的輸入, 但這3種信任因子還不足以描述對節(jié)點的信任影響, 因此本文在此基礎(chǔ)上提出了一種基于模糊證據(jù)理論的物聯(lián)網(wǎng)節(jié)點評估方法, 通過節(jié)點行為策略添加多種信任因子并利用模糊證據(jù)理論實現(xiàn)節(jié)點信任值的評估. 首先, 使用模糊集理論并添加各種置信度因子來計算網(wǎng)絡(luò)節(jié)點的直接置信度, 從而實現(xiàn)節(jié)點置信度等級的劃分; 然后, 由相鄰節(jié)點的推薦得到該節(jié)點的間接置信度, 并將D-S證據(jù)理論中的基本置信度函數(shù)定義為模糊隸屬度函數(shù); 最后通過證據(jù)差異來修改節(jié)點的兩種置信度值的權(quán)重, 并依據(jù) Dempster 組合規(guī)則對節(jié)點的置信度進行合成, 以獲得節(jié)點的完整置信度. 本文的主要貢獻包括以下幾個方面:
1) 根據(jù)節(jié)點的行為策略添加了7種置信度因子, 通過多種置信度因子的綜合計算得到節(jié)點的直接置信度, 提高了網(wǎng)絡(luò)節(jié)點直接置信度的準確性;
2) 針對物聯(lián)網(wǎng)網(wǎng)絡(luò)中由于節(jié)點置信度存在主觀模糊性和不確定性而導致評估模型無法有效抵御內(nèi)部攻擊的問題, 通過利用模糊理論和D-S證據(jù)理論融合的方法, 評估得到節(jié)點的完整置信度;
3) 仿真實驗表明, 相較于對比方法, 該方法在網(wǎng)絡(luò)的動態(tài)適應(yīng)性、 魯棒性和安全性方面, 均具有更好的性能、 準確性以及可信度.
國內(nèi)外研究人員通過不同的信任評估方法(模糊邏輯、 貝葉斯推理、 熵理論、 博弈論等)建立了各種信任評估模型[6-7]. 文獻[8]提出了對信任度評估的各種要素, 這對物聯(lián)網(wǎng)中節(jié)點信任評估模型的建立具有指導性作用. 在物聯(lián)網(wǎng)中, 關(guān)于信任評估機制的研究主要包括基于策略的信任評估機制[9-10]和基于信譽度的信任評估機制[11-12]. 基于策略的信任評估機制主要是利用公鑰和數(shù)字證書來定義節(jié)點的可信度; 基于信譽的信任評估機制主要使用節(jié)點置信度來評估節(jié)點的可靠性. 其中, 基于信譽的信任評估機制被廣泛用于分布式網(wǎng)絡(luò)中, 它主要包括基于層次化[13]、 節(jié)點行為[14]和角色[15]的信任評估模型. 為保障網(wǎng)絡(luò)的安全性和可靠性, 信任評估管理機制會根據(jù)節(jié)點的行為特征評估節(jié)點的可信度, 確定節(jié)點是否是信任節(jié)點, 以便于可以自定義網(wǎng)絡(luò)的安全措施[16]. 文獻[17]提出了一種框架, 該框架通過考慮節(jié)點的信任來克服物聯(lián)網(wǎng)中涉及的不確定性. 文獻[18]提出了一種信任管理框架, 該框架可以改善物聯(lián)網(wǎng)網(wǎng)絡(luò)中的訪問控制機制, 簡化網(wǎng)絡(luò)節(jié)點不確定性下的決策過程. 文獻[19]提出了一種基于分布式分賬技術(shù)的信任框架, 該框架通過自我身份管理機制實現(xiàn)對任意身份的自動信任評級, 從而得到物聯(lián)網(wǎng)中節(jié)點的身份可量化信任和身份驗證. 在反映網(wǎng)絡(luò)節(jié)點的實時信任狀態(tài)方面, 文獻[14]基于對節(jié)點行為的檢測和直接信任值、 推薦信任值和統(tǒng)計信任值的融合來建立信任評估模型, 并通過計算節(jié)點的總信任值來確定網(wǎng)絡(luò)上是否存在惡意攻擊, 仿真實驗表明該模型取得了良好的效果. 文獻[20]提出了一種基于貝葉斯理論的置信度評分模型, 并進行了不確定性分析, 利用全局信任迭代的方法計算網(wǎng)絡(luò)節(jié)點的總體信任值, 從而提高了信任收斂的速度. 文獻[21]基于節(jié)點相似性、 評價差異性、 節(jié)點信任度值等角度提出了一種綜合信任度評估模型對網(wǎng)絡(luò)中推薦節(jié)點的可靠性進行全面評估, 并取得了不錯的效果. 文獻[22]為了提高節(jié)點的信任值, 充分考慮了鄰居節(jié)點的推薦可靠性、 關(guān)系熟悉度以及節(jié)點自身的直接信任值. 但在上述模型中, 通常采用純概率統(tǒng)計的方法進行可行性評估, 難以從實際中獲得先驗知識, 從而容易將信任的主觀模糊性等同于隨機性, 不可避免地導致不合理的結(jié)果. 此外, 上述方法中大多是采用單一的信任因素來獲取節(jié)點的信任值, 不能完全反映節(jié)點的信任屬性, 也會對節(jié)點的信任值造成一定影響.
在解決節(jié)點信任的不確定性和主觀模糊性問題時, D-S證據(jù)理論以及模糊集合理論是處理該類問題的有效方法. 基于D-S證據(jù)理論, 文獻[23]提出了一個基于D-S證據(jù)理論的多維度信任評估方法, 對實體間的信任關(guān)系進行表示, 并根據(jù)推薦信任值得到綜合信任值, 較好地解決了證據(jù)不確定性問題. 文獻[24]給出了節(jié)點信任度的正式定義, 基于D-S證據(jù)理論計算了節(jié)點置信度, 并糾正了直接和間接置信度值, 從而獲得了對網(wǎng)絡(luò)故障的良好容錯性和動態(tài)適應(yīng)性. 文獻[25]通過改進D-S證據(jù)理論而提出了一種新的信任管理方案來解決主觀信任問題, 盡管此方案降低了功耗, 但獲得的節(jié)點置信度值并不太準確. 基于D-S證據(jù)理論的方法通?;趍ass函數(shù)和證據(jù)之間的支持度為基礎(chǔ), 但上述模型中構(gòu)造的mass函數(shù)由于相互支持度的計算傾向于絕對計算, 從而導致精度差和不穩(wěn)定的問題. 文獻[26]指出基于模糊理論進行決策時的結(jié)果更加可靠也更加符合實際. 因此基于模糊理論, 為了消除網(wǎng)絡(luò)節(jié)點信任的主觀模糊性, 文獻[27]雖然通過使用模糊規(guī)則的方法對信任進行了數(shù)學建模, 但是他們只給出了推理機制, 沒有給出具體的計算方法. 文獻[28]提出了一種主觀信任度模型, 其權(quán)重隨評估值而動態(tài)變化, 并使用模糊決策理論提供了一種劃分置信度的機制和一個完整評估機制, 通過實例論證了模型的有效性和合理性. 文獻[29]雖然利用D-S證據(jù)理論提高了信任分類的準確性, 但節(jié)點的主觀信任模糊性對結(jié)果造成了一定的影響. 對于問題的隨機性, D-S證據(jù)理論限制了通過收集證據(jù)得出的假設(shè), 并為信任問題的隨機性提供了一種可行的方法. 對于問題的不確定性描述, 模糊理論可以使用模糊隸屬度函數(shù)將其分解為D-S證據(jù)理論的基本置信度函數(shù), 實現(xiàn)對證據(jù)可信度的精確描述. 因此, 將模糊理論和證據(jù)理論結(jié)合起來形成模糊證據(jù)理論進行節(jié)點置信度評估是一個不錯的方法, 可以提高模型的有效性和準確性.
在部署物聯(lián)網(wǎng)時, 可以將信任管理機制用于評估網(wǎng)絡(luò)節(jié)點的可信度, 從而抵御來自網(wǎng)絡(luò)內(nèi)部惡意節(jié)點的攻擊, 保障網(wǎng)絡(luò)運行的安全性和可靠性. 針對以上研究存在的問題, 本文提出了一種基于模糊證據(jù)理論的物聯(lián)網(wǎng)節(jié)點評估方法. 使用模糊理論和D-S證據(jù)理論形成模糊證據(jù)理論, 評估節(jié)點的整體置信度. 通過全局考慮節(jié)點的直接和間接信任度, 消除惡意節(jié)點對網(wǎng)絡(luò)中節(jié)點置信度的影響, 從而確保物聯(lián)網(wǎng)中節(jié)點的信任信息傳輸?shù)陌踩裕?/p>
在部署物聯(lián)網(wǎng)時, 可以將信任管理機制用于評估網(wǎng)絡(luò)節(jié)點的可信度, 從而抵御來自網(wǎng)絡(luò)內(nèi)部惡意節(jié)點的攻擊, 保障網(wǎng)絡(luò)運行的安全性和可靠性. 針對以上研究存在的問題, 本文提出了一種基于模糊證據(jù)理論的物聯(lián)網(wǎng)節(jié)點評估方法. 使用模糊理論和D-S證據(jù)理論形成模糊證據(jù)理論, 評估節(jié)點的整體置信度. 通過全局考慮節(jié)點的直接和間接信任度, 消除惡意節(jié)點對網(wǎng)絡(luò)中節(jié)點置信度的影響, 從而確保物聯(lián)網(wǎng)中節(jié)點的信任信息傳輸?shù)陌踩裕?/p>
模糊理論是1965年由美國學者Zadeh提出的[30], 其目的是為了有效解決現(xiàn)實世界中大量不確定信息的問題, 該理論逐漸發(fā)展為模糊數(shù)學這樣一個數(shù)學分支. 由相關(guān)研究[27]可知, 節(jié)點的信任關(guān)系可以分為描述對客體信任的相信關(guān)系和描述主體之間信任的主觀信任. 對于網(wǎng)絡(luò)節(jié)點之間的置信度的判定存在著人為判定的主觀性以及含糊性, 無法用精確語言來描述. 因此, 迫切需要一種能反映實體信任的模糊性并能直觀表達數(shù)量關(guān)系的描述機制. 模糊理論這樣一個數(shù)學分支能很好地解決這一問題.
一般地, 論域Z中有n個模式M1,M2, …,Mn, 有m個網(wǎng)絡(luò)節(jié)點μ1,μ2, …,μm, 那么對于任意一個識別對象x,m個網(wǎng)絡(luò)節(jié)點分別給出它屬于各個模式的隸屬度矩陣如下:
(1)
所以, 對象x屬于各個模式的基本概率分配值表示如下:
(2)
其中:i=1,2,…,m,j=1,2,…,n;mi(Aj)表示第i個網(wǎng)絡(luò)節(jié)點屬于模式Mj的基本概率分配值;λi表示第i個網(wǎng)絡(luò)節(jié)點被其他節(jié)點所支持的程度.
D-S證據(jù)理論[31]是建立在“識別框架Θ”上的理論, 由互相排斥和有限的基本命題構(gòu)成. 其中, 2Θ是Θ的冪集, 它表示基于Θ的所有可能命題的集合. 我們可以定義{T, -T}為網(wǎng)絡(luò)節(jié)點的信任狀態(tài),T和-T分別表示節(jié)點的可以信任和不能信任狀態(tài), 則2Θ就可以表示為{?, {T}, {-T}, {T, -T}}的集合, 從而可以知道?表示“不可能事件”, {T}表示“節(jié)點可信狀態(tài)”, {-T}表示“節(jié)點不可信狀態(tài)”, {T, -T}表示“不確定狀態(tài)”.
其中,A表示為2Θ中的任意一個命題,m(A)表示為A的基本置信度, 即證據(jù)支持A發(fā)生的程度;Bel(A)為A的信度, 表示證據(jù)給予A的贊成程度;Pl(A)為A的似然度, 表示證據(jù)不贊成A的程度.
本文提出的基于模糊證據(jù)理論的物聯(lián)網(wǎng)節(jié)點評估方法在文獻[5]的基礎(chǔ)上添加了多種置信度因子, 綜合考慮節(jié)點行為策略對信任值的影響. 首先, 我們使用模糊集理論并添加各種置信度因子來計算網(wǎng)絡(luò)節(jié)點的直接置信度, 從而實現(xiàn)節(jié)點置信度等級的劃分; 然后由相鄰節(jié)點的推薦得到該節(jié)點的間接置信度, 并將D-S證據(jù)理論中的基本置信度函數(shù)定義為模糊隸屬度函數(shù); 最后通過證據(jù)差異來修改節(jié)點的兩種置信度值的權(quán)重, 并依據(jù)Dempster組合規(guī)則對節(jié)點的置信度進行合成, 以獲得節(jié)點的完整置信度, 其結(jié)構(gòu)如圖1所示. 該方法使用分布式算法評估節(jié)點的置信度, 并定量評估網(wǎng)絡(luò)中節(jié)點之間的置信分數(shù), 以計算每個節(jié)點的置信度. 在本文中, 評估主體的節(jié)點是指評估節(jié)點, 評估客體的節(jié)點是指被評估節(jié)點, 評估節(jié)點與被評估節(jié)點之間互為鄰居關(guān)系. 一般來講, 網(wǎng)絡(luò)節(jié)點的置信度主要取決于主體對客體的觀察還有第三方的推薦, 并且其置信度會隨著客體的變化而變化.
圖1 基于模糊證據(jù)理論的物聯(lián)網(wǎng)節(jié)點評估方法結(jié)構(gòu)圖
物聯(lián)網(wǎng)網(wǎng)絡(luò)節(jié)點的置信度取決于主體(評估節(jié)點)對客體(被評估節(jié)點)的觀察以及第三方的推薦. 在理想情況下, 通過無中心節(jié)點的信任評估機制以及鄰居節(jié)點之間相互監(jiān)控f2,f3,f4, 可以計算節(jié)點的直接置信度, 并充分考慮其他節(jié)點的推薦置信度. 網(wǎng)絡(luò)中節(jié)點間的信任評估關(guān)系可以由圖2具體表示.
圖2 網(wǎng)絡(luò)節(jié)點間置信度評估關(guān)系
如圖2所示, 節(jié)點i和j的信任評估關(guān)系是推薦信任關(guān)系, 主要包括直接評估和間接評估兩部分, 推薦信任鏈是指其他節(jié)點到被評估節(jié)點的通路. 由于單個直接置信度計算和多個間接置信度計算之間是相互獨立的, 根據(jù)D-S證據(jù)理論中的Dempster組合規(guī)則, 可以通過直接置信度和間接置信度共同獲得節(jié)點的總置信度值.
因此, 在利用模糊集合理論來判定節(jié)點信息時, 可利用各信任評估集的隸屬度來反映節(jié)點的評估信息, 節(jié)點的置信因子在不同的評估集上的隸屬度可以組成在該因素上的模糊向量, 表示節(jié)點在該信任因素上的信任評估大小, 最后根據(jù)置信因子在各信任模糊集上的隸屬度大小來劃分節(jié)點的信息. 為描述各節(jié)點之間的信任關(guān)系, 我們根據(jù)節(jié)點之間的相互評價構(gòu)建了一個模糊關(guān)系矩陣R來表示節(jié)點之間的信任關(guān)系:
(3)
其中rij表示節(jié)點i對節(jié)點j的信任.rij=(1,0,0,0)時表示對節(jié)點絕對信任,rij=(0,0,0,0)時表示節(jié)點自己對自己的信任評估, 這里我們設(shè)定為無效.
另外, 需要定義一個權(quán)重向量W=[ω1,ω2,ω3,ω4]反映對各個置信因子的關(guān)注程度, 同時定義一個模糊評價子集, 其元素Ti(i=1, 2, 3, 4)分別表示節(jié)點的信任程度為不信任、 一般信任、 非常信任、 完全信任. 權(quán)重向量和模糊關(guān)系矩陣由合適的模糊合成算子組合在一起, 以獲得每個評估對象的模糊評估結(jié)果, 計算過程如下所示:
P=W·R=[p1,p2,p3,p4]
(4)
其中:Pi表示物聯(lián)網(wǎng)網(wǎng)絡(luò)信任評分的模糊子集Ui中被評估節(jié)點的隸屬程度,W為權(quán)重向量, ·為模糊合成算子,R為節(jié)點之間的模糊關(guān)系矩陣.
我們通過模糊子集Tj(j=1,2,3,4)定義不同信任集合時, 采用離散標度{1, 2, …,M}來描述實體信任的等級
(5)
在實際的評估過程中, 實體的信任度對某個Ta(a=1,2,3,4)的隸屬關(guān)系可以通過信任隸屬度函數(shù)μT(A)的某個區(qū)間進行判斷. 為了便于利用數(shù)值直接進行評估, 我們通過引入定量化處理, 根據(jù)節(jié)點各個信任等級進行百分制計分. 例如, 可以用0≤μT1<25(不信任), 25≤μT2<50(一般信任), 50≤μT3<75(非常信任), 75≤μT4<100(完全信任)表示信任等級. 從而得到信任等級分數(shù)向量C=(μT1,μT2,μT3,μT4), 基于此計算得分S如下所示:
(6)
由于節(jié)點信任等級處于一個區(qū)間內(nèi), 為準確表示節(jié)點所歸屬的信任區(qū)間, 我們選擇一個代表性分數(shù)
(7)
其中μ′Ti為各信任區(qū)間的中間值組成的興奮等級分數(shù), 可以表示為(μ′T1,μ′T2,μ′T3,μ′T4)=(12.50, 37.50, 62.50, 87.50). 舉例說明如下: 假設(shè)某一節(jié)點的信任分數(shù)向量表示為E=(0.20, 0.25, 0.25, 0.30), 則有
(8)
因為50≤54.17<75, 故該節(jié)點的信任等級為“非常信任”. 因此, 在模糊集的基礎(chǔ)上來進行定量描述, 不僅沒有丟失節(jié)點信任的模糊信息, 反而綜合各等級因素, 使得評估結(jié)果更具直觀性. 有點信任和一般信任的信任等級狀態(tài)均不是十分確定的狀態(tài), 因此可以將這兩種信任狀態(tài)合并為一種不確定狀態(tài)對節(jié)點進行判定.
因此, 我們將信任的模糊分類表示為不信任、 不確定和完全信任3類信任狀態(tài). 根據(jù)這3個信任等級, 在節(jié)點信任值區(qū)間[0, 1]構(gòu)造3個模糊子集T1,T2,T3, 其隸屬度函數(shù)分別為μ1(t),2(t),μ3(t), 且有μ1(t)+μ2(t)+μ3(t)=1.
物聯(lián)網(wǎng)中存在各種類型的攻擊, 所以在計算節(jié)點信任度時, 必須充分考慮多種置信因子, 以獲得更加精確的信任值. 物聯(lián)網(wǎng)中的節(jié)點能量都極其有限, 為保障數(shù)據(jù)的正確發(fā)送, 需要在偵聽和傳輸數(shù)據(jù)時進行中繼, 因此, 可以通過分析節(jié)點的數(shù)據(jù)成功發(fā)送率F1來分析和判斷節(jié)點是否受到攻擊; 當一個節(jié)點的數(shù)據(jù)包發(fā)送到下一個節(jié)點時, 源節(jié)點會在一定時間內(nèi)監(jiān)控數(shù)據(jù)包是否被篡改, 確保節(jié)點的數(shù)據(jù)完整性F2對于節(jié)點的傳輸安全具有重要作用; 當物聯(lián)網(wǎng)的網(wǎng)絡(luò)信道處于極端惡劣的環(huán)境時, 節(jié)點可能會無法使用, 因而需要通過發(fā)送和檢查節(jié)點的數(shù)據(jù)可用性F3來證明被評估的節(jié)點; 如果節(jié)點確定被評估節(jié)點發(fā)送了多少公共ACK分組, 就可以得到被評估節(jié)點的數(shù)據(jù)接收分組率F4, 因而根據(jù)比值的變化情況可以知道節(jié)點是否存在偽造行為; 由于大多數(shù)節(jié)點不可能直接與基站進行通信, 因此節(jié)點對于數(shù)據(jù)的轉(zhuǎn)發(fā)率F5也能反映出節(jié)點的信任值. 另外, 節(jié)點的信任值在時間和空間上存在關(guān)聯(lián), 也即節(jié)點的信任值會在之前基礎(chǔ)上發(fā)生變化, 因此時間因素F6對節(jié)點信任值有重要影響. 時間等級的大小取決于具體情況, 我們基于網(wǎng)絡(luò)安全程度的規(guī)則, 當安全度較高時取F6=0.8, 相對較低時取F6=0.2, 一般正常情況下取F6=0.5. 在物聯(lián)網(wǎng)的網(wǎng)絡(luò)中會有不同的環(huán)境和應(yīng)用場景, 從而也會區(qū)分不同的安全等級F7, 當安全等級較高時取F7=3, 相對較低時取F7=1, 一般正常情況下取F7=2. 因此, 本文從信任準確性和反映攻擊行為的角度選取7個置信因子, 包括數(shù)據(jù)成功發(fā)送率、 數(shù)據(jù)完整性、 數(shù)據(jù)可用性、 數(shù)據(jù)接收分組率、 數(shù)據(jù)轉(zhuǎn)發(fā)率, 時間因素、 安全等級, 分別用F1,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5,F(xiàn)6,F(xiàn)7表示:
(9)
(10)
(11)
(12)
(13)
其中:F1表示數(shù)據(jù)發(fā)送率因子,ACKi,j(t)表示相鄰節(jié)點之間轉(zhuǎn)發(fā)成功的數(shù)據(jù)包數(shù)目,TPi,j(t)是節(jié)點所要求轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)目;F2表示數(shù)據(jù)完整性因子,IPi,j(t)表示沒有被篡改并成功發(fā)送的數(shù)據(jù)包數(shù)目,F(xiàn)Pi,j(t)表示需要發(fā)送的數(shù)據(jù)包數(shù)目;F3表示數(shù)據(jù)可用性因子,RACKi,j(t)表示被響應(yīng)的數(shù)據(jù)包數(shù)目,NRACKi,j(t)表示未被響應(yīng)的數(shù)據(jù)包數(shù)目;F4表示數(shù)據(jù)接收分組率因子,RPi,j(t)表示接收分組的數(shù)據(jù)包數(shù)目,RPi,j(t-1)表示上一個時刻接收的分組數(shù)據(jù)包數(shù)目;F5表示數(shù)據(jù)轉(zhuǎn)發(fā)率因子,F(xiàn)Pi,j(t)表示節(jié)點傳輸分組的數(shù)量,F(xiàn)Pi,j(t-1)表示上一時刻節(jié)點傳輸分組的數(shù)量.
為了保證信任評估方法的合理性, 在不同的時間內(nèi)設(shè)置不同的參數(shù), 因為不同的節(jié)點交互次數(shù)中成功交互所占的比例的物理意義不一樣. 我們定義該參數(shù)如下:
(14)
其中:SRi,j(t)表示成功交互的次數(shù),F(xiàn)Ri,j(t)表示失敗次數(shù),SRi,j(t-1)表示上一時刻成功交互的次數(shù),F(xiàn)Ri,j(t-1)表示上一時刻失敗的次數(shù).
假設(shè)節(jié)點i對節(jié)點j發(fā)起信任評估, 評估節(jié)點i采用加權(quán)的方式計算被評估節(jié)點j的直接置信度, 則節(jié)點i對節(jié)點j在當前時刻的直接置信度由以下式子計算:
(15)
其中:D表示直接置信度向量;w1,w2,w3,w4,w5為置信因子的權(quán)重系數(shù)并且滿足w1+w2+w3+w4+w5=1. 本文將權(quán)重系數(shù)分別設(shè)置為w1=w2=w3=w4=w5=0.2.
但是, 在物聯(lián)網(wǎng)中的節(jié)點還會受到防御開關(guān)的攻擊, 這會對節(jié)點的直接置信度造成一定影響. 為了消除此類影響, 基于歷史直接置信度對上述計算的直接置信度進行修正, 修正后的直接置信度表示為:
(16)
(17)
其中0<ξ1<ξ2<1.ξ1取值較小, 是為了防止惡意節(jié)點通過偽裝欺騙等惡意行為積累自身的信任值, 而ξ2取值較大, 是為了體現(xiàn)出對節(jié)點惡意行為的處罰以保證節(jié)點信任值的準確性.
網(wǎng)絡(luò)節(jié)點的間接置信度主要是通過查詢第三方節(jié)點獲得的. 通常, 將第三方節(jié)點k在要評估的節(jié)點j上的直接置信度稱為該節(jié)點的間接置信度. 間接置信度的推薦原理如圖3所示. 兩個節(jié)點之間存在間接置信度的條件是它們同時具有一個公共的鄰居節(jié)點, 即只有評估節(jié)點i和被評估節(jié)點j共同的鄰居節(jié)點k,l才有間接置信度. 我們令I(lǐng)Tk,j是節(jié)點k對節(jié)點j的間接置信度,ITl,j是節(jié)點l對節(jié)點j的間接置信度, 當節(jié)點k,l在收到來自評估節(jié)點的查詢請求后, 就直接將自己對被評估節(jié)點j的直接置信度DTk,j和DTl,j作為間接置信度ITk,j和ITl,j推薦給節(jié)點i, 得到間接置信度.
圖3 間接置信度推薦示意圖
在本文中, 我們在計算節(jié)點的間接置信度時, 首先對節(jié)點收集到的推薦信任進行過濾, 然后為推薦信任分配權(quán)重信息, 再計算節(jié)點的間接置信度, 計算過程表示如下:
(18)
(19)
但是, 由于網(wǎng)絡(luò)存在各種攻擊類型, 節(jié)點的推薦置信度可能存在一定的偏離度, 如果偏離度過大, 則要將其舍去, 避免對節(jié)點的間接置信度產(chǎn)生影響. 節(jié)點i的某一個共同鄰居節(jié)點k的推薦信任偏離度dk可以表示為:
(20)
其中: 如果dk的值越大, 則節(jié)點k的推薦置信度就越有可能是惡意節(jié)點操作的虛假推薦, 可行性越低. 為保證推薦信任的可靠性, 本文設(shè)置偏離度閾值τ=0.2, 如果dk>τ, 則舍去, 如果dk<τ, 則存入集合C中.
在物聯(lián)網(wǎng)網(wǎng)絡(luò)中, 節(jié)點的部署通常較為密集且隨機分布, 從而會出現(xiàn)沒有共同節(jié)點的情況(如圖4所示), 這時節(jié)點p就無法獲取對節(jié)點j的間接置信度. 因此, 節(jié)點p就不再進行間接置信度的計算, 而是直接將其直接置信度DTp,j作為對節(jié)點j的完整置信度.
圖4 置信度推薦的特殊情況
3.4.1 置信度的表示
(21)
其中:
(22)
(23)
3.4.2 置信度的修正
在物聯(lián)網(wǎng)網(wǎng)絡(luò)中評估節(jié)點可能會收到不正確的推薦信息, 并且評估節(jié)點本身也可能會受到網(wǎng)絡(luò)環(huán)境的影響而給出不正確的置信度. 當使用直接和間接置信度計算完整置信度時, 也存在權(quán)重分配的問題. 基于此, 在修改直接置信度和間接置信度時, 我們使用測量證據(jù)距離的方法來分配權(quán)重, 從而獲得更合理的節(jié)點完整置信度.
(24)
因此, 證據(jù)之間的相互支持程度可以表示為任意兩個子置信度之間的相似度su, v=1-lu, v, 相似度矩陣S表示如下:
(25)
根據(jù)相似度矩陣知, 若一個證據(jù)與其他大多數(shù)證據(jù)相似度越高, 則其得到的支持度也越高, 也就是說該證據(jù)對最終的結(jié)果影響也比較大. 設(shè)第u個子置信度的綜合支持度為SPu, 則SPu的計算如下所示:
(26)
設(shè)第u個子置信度的相對權(quán)重為λu, 則有:
(27)
因此, 節(jié)點i可以根據(jù)式(27)的相對權(quán)重對每個子置信度中的基本置信度進行修正, 修正過程如下:
(28)
3.4.3 置信度的綜合
根據(jù)Dempster組合規(guī)則, 節(jié)點i關(guān)于節(jié)點j的完整置信度VTi,j可以由下式進行融合得到:
組合規(guī)則如下所示:
(29)
如果節(jié)點j滿足以下條件:
(30)
則節(jié)點i認為節(jié)點j是值得信任的, 并將節(jié)點j添加到其可行性列表中; 相反, 當hi,j({T})-hi,j({-T})<α2時, 則認為節(jié)點j是不值得信任的或者不確定信任狀態(tài)的節(jié)點, 從而拒絕與其通信. 其中,α1,α2分別表示節(jié)點可信和不可信時, {T}與{-T}基本置信度差的閾值,β表示{T}或{-T}命題成立時中性證據(jù)區(qū)間的上限值.
本文利用NS2仿真工具進行仿真實驗, 以分析所提出的節(jié)點置信度評估方法的性能. 在100 m×100 m的正方形區(qū)域進行仿真實驗, 并且該區(qū)域內(nèi)有100個節(jié)點遵循隨機分布, 其數(shù)據(jù)的傳輸速率設(shè)置為60 bit. 在不驗證惡意節(jié)點比例對信任值的影響時, 我們將惡意節(jié)點均設(shè)置為節(jié)點數(shù)量的10%, 通信半徑設(shè)置為20 m. 同時, 為模擬網(wǎng)絡(luò)中由于惡意節(jié)點造成的數(shù)據(jù)異常, 設(shè)置數(shù)據(jù)丟包率和數(shù)據(jù)包篡改率均為[0.7, 1]上的隨機數(shù), 并將節(jié)點直接置信度的更新周期設(shè)置為10s, 為了使節(jié)點能夠?qū)崿F(xiàn)合理分類, 其信任分類的閾值設(shè)置為: α1=0.3, α2=-0.3, β=0.09. 有些參數(shù)會根據(jù)實驗?zāi)繕说牟煌淖儯?從而達到合理的效果, 這些參數(shù)會在實驗中再次進行說明.
只有信任評估的方法具有更好的動態(tài)適應(yīng)性, 才能正確識別惡意節(jié)點的攻擊行為. 由于網(wǎng)絡(luò)的正常節(jié)點很容易在物聯(lián)網(wǎng)的網(wǎng)絡(luò)環(huán)境中受到攻擊, 從而危及整個網(wǎng)絡(luò)的安全性. 除此之外, 一些惡意節(jié)點為了不被發(fā)現(xiàn)會通過一些隱蔽性方法來對網(wǎng)絡(luò)發(fā)起攻擊, 對于這種惡意節(jié)點的準確識別就需要節(jié)點評估的方法具備良好的動態(tài)適應(yīng)性. 在仿真實驗中, 我們?yōu)榱蓑炞C該方法的動態(tài)適應(yīng)性, 模擬了惡意節(jié)點的隱蔽性攻擊行為, 并對其直接置信度進行了采樣. 實驗過程中, 將采樣的周期定義為Ts=10 s, 在0~20個周期內(nèi), 目標節(jié)點提供正常服務(wù), 從第21個周期開始, 將20%的節(jié)點設(shè)置為惡意節(jié)點, 產(chǎn)生隨機性的選擇性丟包、 轉(zhuǎn)發(fā)重復的分組數(shù)據(jù)等惡意行為, 圖5顯示了采樣的結(jié)果. 在網(wǎng)絡(luò)運行的初始階段, 網(wǎng)絡(luò)中的惡意節(jié)點首先對信任進行補償, 以便獲得更好的分數(shù)來實現(xiàn)欺騙模型的目標. 如圖5所示, 網(wǎng)絡(luò)中的惡意節(jié)點從第21個采樣周期開始對網(wǎng)絡(luò)進行惡意攻擊, 原因是當惡意節(jié)點發(fā)起攻擊時, 其置信度就會快速下降, 圖中剛好在第21個采樣周期時, 置信度出現(xiàn)驟降的趨勢. 另外, 從圖中可以明確, 在采樣周期的前期階段, 即信任補償階段,m({T})以較慢速度增加,m({-T})以較慢速度減少, 當惡意節(jié)點開始發(fā)起惡意攻擊時,m({T})迅速降低,m({-T})迅速增加, 這也就是說, 這時的置信度積累花費的時間比置信度消失的時間長得多, 體現(xiàn)了節(jié)點的置信度很難獲得但極其容易失去的特點, 同時也證明了本文提出的節(jié)點信任評估方法表現(xiàn)出了高度的敏感性.
圖5 隱蔽性攻擊的惡意節(jié)點的直接置信度變化
網(wǎng)絡(luò)中的惡意節(jié)點可能創(chuàng)建虛假信任以抹黑正常節(jié)點或吹捧惡意節(jié)點的方式實現(xiàn)對網(wǎng)絡(luò)的攻擊效果. 為此我們將詆毀正常節(jié)點的這一類惡意節(jié)點稱為A類惡意節(jié)點, 吹捧同伙的這一類惡意節(jié)點稱為B類惡意節(jié)點. 為解決此問題, 我們通過比較子置信度和所有其他子置信度之間的相似度并使用證據(jù)距離來校正置信度以確定節(jié)點的可靠性, 即如果存在某個子置信度, 則將該值與其他所有子置信度進行比較, 相似度越高, 它所獲得的支持度就越高, 在集成節(jié)點完整置信度的過程中所占的比例也就越高, 從而減少了推薦信任對惡意節(jié)點完整置信度的影響. 在實驗中, 我們模擬了物聯(lián)網(wǎng)中惡意節(jié)點推薦行為的場景, 分別在仿真網(wǎng)絡(luò)中將A, B兩類惡意節(jié)點的比例設(shè)置為10%, 20%, 30%, 40%, 50%, 計算各類方法得到的目標節(jié)點的完整置信度. 同時, 根據(jù)計算得到的置信度值選擇相應(yīng)的服務(wù)節(jié)點, 沒有推薦行為的節(jié)點則隨機選擇節(jié)點進行交互. 為了分析本文方法的魯棒性方面的性能, 將本文提出的節(jié)點評估方法與RFSN方法、 TMS方法分別進行對比, 結(jié)果見圖6. 從圖6(a)中可以發(fā)現(xiàn), 當網(wǎng)絡(luò)中惡意節(jié)點發(fā)起攻擊時, RFSN方法的置信度會緩慢下降但幅度較小, 本文方法的置信度比RFSN方法影響大, 比TMS方法影響小, TMS方法中節(jié)點的置信度下降幅度最大, 表示受到的影響也最大. 出現(xiàn)這種結(jié)果的主要原因是在RFSN方法中, 節(jié)點只采納其他節(jié)點的善意推薦, 而對于其他節(jié)點的惡意推薦重視不夠, 因而這樣計算得出的置信度就會不夠全面, 缺乏一定的客觀性, 從而對節(jié)點置信度的影響較?。?而我們提出的方法通過對完整置信度的修正, 基于權(quán)重的分配對惡意節(jié)點的推薦置信度進行閾值判定, 從而減少惡意節(jié)點對結(jié)果的影響. 從圖6(b)中可以看出, RFSN方法對惡意節(jié)點吹捧時的置信度影響也最小, 因而也不能有效抑制惡意節(jié)點對其他節(jié)點的鼓吹影響. 通過對比本文方法和TMS方法, 可以發(fā)現(xiàn)本文提出的方法在惡意節(jié)點攻擊正常節(jié)點和鼓吹同伙的兩種情形下, 性能都略強于TMS方法, 其主要原因在于本文的方法綜合考慮了直接置信度和間接置信度, 并通過D-S證據(jù)理論對直接置信度和間接置信度做了基于權(quán)重的修正, 從而計算得到的節(jié)點的完整置信度更為客觀、 精確. 這同時也說明了我們提出的方法在物聯(lián)網(wǎng)網(wǎng)絡(luò)的惡意攻擊中具有較好的魯棒性.
圖6 不同比例的惡意節(jié)點在不同情況下的置信度
物聯(lián)網(wǎng)網(wǎng)絡(luò)面臨的各類攻擊都是為了破壞網(wǎng)絡(luò)的安全性, 以便達到自己的目的. 在實驗過程中, 為對本文提出方法的網(wǎng)絡(luò)安全性進行分析, 我們將網(wǎng)絡(luò)運行時間設(shè)置為0~50 s, 通過在該網(wǎng)絡(luò)運行時間內(nèi)對惡意節(jié)點的所占比例進行檢測, 并將本文方法與RFSN,TMS方法進行對比, 檢測結(jié)果如圖7所示. 物聯(lián)網(wǎng)網(wǎng)絡(luò)中信任評估方法的安全性很大程度上依靠惡意節(jié)點的檢測率來進行評估, 檢測率高說明信任評估方法具有敏感性, 能及時識別網(wǎng)絡(luò)中的惡意節(jié)點, 從而保障網(wǎng)絡(luò)的安全. 從圖7中可以看出, 本文方法的惡意節(jié)點檢測率明顯優(yōu)于對比方法, 且趨于平穩(wěn), 主要原因可能是本文方法引入了多種置信因子, 從多個角度考慮綜合計算節(jié)點的直接置信度, 利用模糊理論對節(jié)點的置信狀態(tài)進行了精確描述, 從而實現(xiàn)節(jié)點的劃分, 并利用模糊理論和證據(jù)理論相融合的方法, 避免了人為判定的主觀假設(shè)性, 在一定程度上提高了節(jié)點置信度評估的客觀性. 另外, 本文提出的方法通過權(quán)重分布修正了節(jié)點的直接置信度和間接置信度, 并使用D-S證據(jù)理論的Dempster組合規(guī)則綜合節(jié)點的完整置信度, 加快了信任的融合. 因此, 該方法在一定程度上提高了準確性和魯棒性, 同時, 也表明該方法可以準確地識別惡意節(jié)點, 提高網(wǎng)絡(luò)安全性.
圖7 惡意節(jié)點檢測率
本文提出了一種基于模糊證據(jù)理論的物聯(lián)網(wǎng)節(jié)點評估方法. 首先, 我們使用模糊集理論并添加多種置信度因子來計算網(wǎng)絡(luò)節(jié)點的直接置信度, 從而實現(xiàn)節(jié)點置信度等級的劃分; 然后由相鄰節(jié)點的推薦得到該節(jié)點的間接置信度, 并將D-S證據(jù)理論中的基本置信度函數(shù)定義為模糊隸屬度函數(shù); 最后通過證據(jù)差異來修改節(jié)點的兩種置信度值的權(quán)重, 并依據(jù)Dempster組合規(guī)則對節(jié)點的置信度進行合成, 以獲得節(jié)點的完整置信度. 仿真實驗表明, 該方法與同類方法相比, 在網(wǎng)絡(luò)的動態(tài)適應(yīng)性、 魯棒性和安全性方面, 均具有更好的性能和更高的準確性以及可信度, 能及時準確地發(fā)現(xiàn)惡意節(jié)點, 提高網(wǎng)絡(luò)的安全性. 但是本文仍存在一些不足的地方, 比如沒有考慮物聯(lián)網(wǎng)中各設(shè)備間的合作方式, 因此在未來的研究工作中, 將考慮節(jié)點之間的合作方式來進一步優(yōu)化節(jié)點的信任評估方法, 以提高網(wǎng)絡(luò)應(yīng)對惡意節(jié)點攻擊的能力.