朱子豪,劉光杰
(南京信息工程大學 電子與信息工程學院,南京 210044)
近年來物聯網技術發(fā)展迅速,已經被廣泛用于軍事、農業(yè)、醫(yī)療、智能家居等多個領域[1]。由于物聯網有著不同于傳統(tǒng)互聯網網絡的底層架構和技術體系,其典型的開放性、異構性和節(jié)點能力有限,使得物聯網安全問題相比傳統(tǒng)計算機網絡更為突出[2]。尤其是由于開放性而導致的內部安全威脅,繞過了以密鑰管理和密碼學為基礎的傳統(tǒng)安全機制[3],必須借助新的技術手段來解決。建立在社會學概念上的網絡節(jié)點信任和信譽機制是解決內部安全問題的一種可行途徑。它通過“相互監(jiān)督”建立內部節(jié)點之間的信任體系[4],并通過對信任值較低的用戶的一些行為限制或隔離來保證網絡整體的安全性[5]。這種基于信任的安全機制,在無線傳感器網絡[6]、移動自組織網絡[7-8]以及云服務[9]等領域有著廣泛的應用。類似社會學中個人信任的建立,物聯網節(jié)點的信任值是基于其節(jié)點屬性以及節(jié)點交互經歷,通過多個維度的分項指標的融合來達成[10]。
近年來國內外學者已經提出了很多信任關系評估方法。Wu等[11]提出了一種基于Beta和鏈路質量指標LQI(link quality indicator)的網絡信任模型BLTM,以抵御內部攻擊。根據計算所得的直接信任和推薦信任數據,LQI分析機制可以更好地保障低質量鏈路信任值的準確性和穩(wěn)定性,但也帶來了更高的系統(tǒng)能耗。同時,該模型缺乏對于復雜欺騙推薦信任的考慮,不能較好地阻止惡意推薦節(jié)點的攻擊。Alnumay等[12]基于ARMA/GARCH理論計算推薦信任,采用β概率分布組合直接信任,提出了一種物聯網自組織定量信任模型。該模型可有效抵御節(jié)點惡意推薦行為,但在集成信任計算過程中,多重信任以加權求和的方式計算綜合信任值,使得預測結果存在主觀性。Adewuyi等[13]利用信任推薦函數評估推薦信任值,只有源節(jié)點和目標節(jié)點沒有直接交互時,才會把推薦信任作為信任參數參與計算綜合信任值,一旦它們之間發(fā)生了直接交互行為時,推薦信任不再參與信任值的計算。此方法雖然解決了惡意節(jié)點的欺詐行為,但是在信任計算過程中僅考慮單一維度,使得綜合信任計算的精確度降低。
Feng等[14]提出了一種基于貝葉斯理論的信任模型BTMS,綜合信任值由直接和間接信任信息聚合而成。前者由修正的貝葉斯方程計算,后者由第三方中間節(jié)點的推薦計算。實驗結果表明,BTMS在抵御開關攻擊上有突出表現,但是該方法缺乏對節(jié)點數據安全的考慮,在防御數據攻擊時的表現尚有不足。Sathish等[15]基于馬爾可夫鏈指數平滑理論提出了基于直接和間接信任計算的動態(tài)預測模型,提高了信任計算的精確度。謝麗霞等[16]從多種方面評估節(jié)點推薦可靠度,并且采用動態(tài)信任衰減因子用來描述節(jié)點信任動態(tài)變化的時效性,提出一種基于物聯網節(jié)點行為的信任度評估模型IDTEM。以上2種信任模型雖然通過降低模型的收斂速度,使得系統(tǒng)能耗降低,但僅依賴于節(jié)點之間的通信信任,并不能有效遏制虛假數據注入導致的數據攻擊。
已有方法為物聯網環(huán)境下的信任關系的研究奠定了基礎,仍存在以下不足:
1)在直接信任的計算過程中沒有考慮到節(jié)點數據安全問題,僅僅依賴于通信行為信任,則會把數據轉發(fā)錯誤的節(jié)點歸為行為可信,從而影響了信任計算的準確度。
2)在解決復雜欺騙推薦的過程中,缺乏對推薦節(jié)點可靠度的評估,降低了信任評估的有效性。
3)信任權重參數的選取存在客觀性,信任評價是一種動態(tài)現象,應隨著時間和環(huán)境條件的變化實現動態(tài)的更新。
針對上述不足,提出一種面向物聯網節(jié)點的信任評估模型DTAM。針對數據攻擊引入節(jié)點數據一致性,并引入獎懲因子和能量因子計算節(jié)點直接信任,以提高信任評估的準確性。在推薦信任計算過程中,引入推薦可信度以避免惡意推薦節(jié)點的欺詐行為,并基于動態(tài)調整參數改變權重序列,克服主觀分配權重的不足。最后,綜合考慮歷史時隙與當前時隙的信任值以更新節(jié)點信任度。
物聯網環(huán)境中的信任可定義為根據節(jié)點過去的歷史經驗以及行為觀察從而預測未來的信任程度。在文中信任被定義為目標節(jié)點提供服務的能力是否能達到源節(jié)點的預期,這里的信任值是信譽的統(tǒng)計期望,范圍是0~1。為清晰了解文中所涉及到的名詞,現有以下定義:
定義1(源節(jié)點) 在分布式信任網絡中對網絡中其他節(jié)點進行信任評估的節(jié)點,是信任請求的發(fā)起者。
定義2(目標節(jié)點)在分布式信任網絡中被動接受評估的節(jié)點,是某項服務的提供者。
定義3(中間節(jié)點)在分布式信任網絡中既不是源節(jié)點和目標節(jié)點的節(jié)點,記作c,中間節(jié)點集合用C表示。
定義4(推薦節(jié)點)任意中間節(jié)點c∈C,源節(jié)點對目標節(jié)點進行信任評估,推薦節(jié)點對源節(jié)點提供自己與目標節(jié)點交互評估信息,記作r,設推薦節(jié)點集合R,存在c∈R∈C。
定義5(直接信任值)源節(jié)點和目標節(jié)點直接互動,通過計算所得的有限局部信任關系。源節(jié)點i對目標節(jié)點j的直接信任值用DTij(t)表示。
定義6(推薦信任值)源節(jié)點根據網絡中的推薦節(jié)點對目標節(jié)點的推薦信息而計算所得出的信任度,推薦信任值用RTij(t)來表示。
本文旨在建立適用于物聯網環(huán)境的信任評估方案,在靜止狀態(tài)下隨機部署具有通信、存儲和計算能力的網絡節(jié)點,并且節(jié)點都具有相同的通信范圍和初始能量。
如圖1所示,網絡環(huán)境中有多個信任管理域,每個信任域由多個較強存儲和計算能力信任節(jié)點與其他所屬同一用戶的設備節(jié)點組成,由信任管理節(jié)點維護域內設備節(jié)點間的信任關系。
圖1 適用環(huán)境
3.1.1基于貝葉斯理論的通信行為信任
在當前大多數信任模型中[11-14,17],直接信任值的計算都是基于貝葉斯概率學方法計算,其基本原理是通過監(jiān)測相鄰節(jié)點的通信行為狀態(tài),判斷目標節(jié)點是否按照源節(jié)點的預期執(zhí)行。例如,一個節(jié)點通過監(jiān)視鄰居節(jié)點是否正在轉發(fā)或者丟棄數據包,進而統(tǒng)計節(jié)點的正常和異常行為數量,從而把節(jié)點轉發(fā)是否成功,以及是否丟棄數據包作為判斷節(jié)點間的成功與失敗的交互次數的依據。使用β概率函數來評估正常交互的數學期望,用x代表正常行為判斷,y代表異常行為判斷,x>0,y>0。ρ∈[0,1]表示鄰居節(jié)點在每一次交互過程的成功率,β函數的Γ函數被用作概率密度函數,推得ρ的概率公式為:
(1)
設γ是節(jié)點成功轉發(fā)次數,λ是節(jié)點轉發(fā)失敗的次數,有γ和λ的數學期望為:
(2)
根據式(2),在時間t內,節(jié)點i關于節(jié)點j的直接信任值TDij(t)的統(tǒng)計期望為:
(3)
上述計算僅依賴于節(jié)點間的通信行為,只注重節(jié)點間的合作不合作的數量,但是當在網絡世界運行過程中,可能存在被篡改的虛假數據也被正常轉發(fā),在節(jié)點直接信任過程中應該考慮節(jié)點轉發(fā)的數據的真實性。
3.1.2基于數據一致性的直接信任度計算
物聯網環(huán)境中的節(jié)點具有一定的空間相關性,相鄰節(jié)點之間發(fā)送的數據包在一個區(qū)域內總是相似的,并且差異性很小[18]。在式(3)中,節(jié)點成功與失敗交互的判斷依據僅依賴于通信行為的判斷,沒有考慮到數據傳輸的不一致性。文中通過評估數據的容錯性和一致性,使得被評估的節(jié)點需要以真實可靠的形式把數據包轉發(fā)給它的相鄰節(jié)點,否則認為交互失敗,使用基于檢測數據的一致性算法[19]
假設在時間t內源節(jié)點i傳遞的數據包序列為Bi={b1,b2,b3,…,bn},目標節(jié)點j接受的數據序列為Bj={b1,b2,b3,…,bn},本文通過計算2個數據包序列的傳輸測量差值來比較在單位時間的數據可信。單個節(jié)點數據包測量值的計算方式如下:
(4)
其中:l表示數據包的大小,llim表示數據處理模塊設置的數據包大小閾值,b(t)表示數據包序列內每個數據包的測量差值??傻脝挝粫r間內源節(jié)點i的傳輸測量值Bi(t)為:
(5)
同理計算出目標節(jié)點j的傳輸測量值Bj(t)。源節(jié)點i通過測量流經該節(jié)點數據序列的傳輸測量值Bi(t),并把該值傳送給鄰居目標節(jié)點j。相同的,鄰居也測量本節(jié)點的傳輸測量值Bj(t)。然后目標節(jié)點j獨自計算相鄰節(jié)點的測量差值ΔB(t)=|Bj(t)-Bi(t)|。通過比較局部閾值Bth(t)和相鄰節(jié)點的傳輸測量差值ΔB(t)確定單位時間內的數據是否可信。局部閾值Bth(t)的計算方法如下:
(6)
通過比較局部閾值Δthμ(t)和相鄰節(jié)點的傳輸測量差值Δμ(t)判斷鄰居節(jié)點間正常數據序列和篡改數據數列的數量。當Δμ(t)<Δthμ(t)則證明相鄰節(jié)點交互成功,相反,則交互失敗?;谏鲜鲇懻?,在一段時間內,定義s和f分別作為節(jié)點a與節(jié)點b行為交互過程中的成功頻次和失敗頻次。
定義7節(jié)點獎懲因子Rp(t)是用來懲罰惡意節(jié)點或者持續(xù)激勵合法節(jié)點的參數。當惡意行為次數增多,獎懲因子數值變小,對節(jié)點信任值進行嚴格懲罰;當成功交互頻數增多,獎懲因子數值變大,進而激勵合法節(jié)點的通信轉發(fā)行為。Rp(t)的計算方式為:
(7)
定義8節(jié)點能量因子可以加大節(jié)點參與網絡運行過程的競爭力,當物聯網節(jié)點的剩余能量Eres低于閾值能量Eth。節(jié)點只能完成基本操作來平衡與之交互節(jié)點的能量損耗,文中對能量因子有以下定義:
(8)
基于以上討論,根據式概率期望函數,可得2個鄰居節(jié)點的直接信任為TDij(t):
(9)
由式(9)可得,一旦不正常的惡意行為的數量增加,信任值會加速下降,與此同時獎懲因子與能量因子的引入保證信任計算過程中的準確性,同時降低節(jié)點能量損耗。
物聯網節(jié)點存在信任的傳遞和交互,即推薦信任。網絡中源節(jié)點對推薦節(jié)點發(fā)送推薦請求,推薦節(jié)點收到推薦請求后反饋推薦信息。在信任推薦過程中,存在欺詐節(jié)點對源節(jié)點推薦欺詐信息。
為解決上述問題,引入推薦信譽因子Rf。通過測量公共節(jié)點對源節(jié)點與推薦節(jié)點的評價分歧來計算的,Rf是推薦節(jié)點的信任度。源節(jié)點i和推薦節(jié)點r之間存在著公共節(jié)點集Ps(i,r),源節(jié)點i和推薦節(jié)點r之間的公共節(jié)點的評估差異如下:
(10)
設Df(i,j)的上限值是η,則有源節(jié)點i對推薦節(jié)點r的推薦可信度為:
(11)
假設R是推薦節(jié)點的集合,在推薦信譽因子Rf的基礎上,整合得到源節(jié)點i對目標節(jié)點j的推薦信任值為:
(12)
網絡節(jié)點在網絡層的數據傳輸需要數據分組傳遞和安全轉發(fā),這對數據分組的完整性、可信度、傳輸正確率提出了新的要求。DTAM模型運行在物聯網每一個節(jié)點上,通過域內信任管理管理節(jié)點維護其他節(jié)點的信任值DTAM的詳細流程如圖2所示,箭頭的方向代表節(jié)點的信息流。
圖2 模型結構
首先基于看門狗機制[20]周期性監(jiān)控相鄰節(jié)點的通信行為狀態(tài),根據目標節(jié)點的數據傳輸服務質量判斷此次通信行為是否是一個高質量交互。然后通過貝葉斯理論計算鄰居節(jié)點間的直接信任水平。同時,考慮到非入侵因素的影響,引入能量因子和獎懲因子對貝葉斯公式進行修正。在推薦信任值計算中通過測量源節(jié)點與推薦節(jié)點的差異性評估節(jié)點推薦可信度。最后利用動態(tài)權重函數客觀分配直接信任值和推薦信任值的自適應權重計算綜合信任值,并基于網絡節(jié)點的歷史動態(tài)交互行為更新信任值。
在以往的信任模型中,賦予節(jié)點的自適應權重多憑借主觀經驗,這往往會導致所得的綜合信任值顆粒度較大,使得網絡面臨風險。文中定義動態(tài)權重因子α,當節(jié)點i對鄰居節(jié)點j信任評估時,根據式(11)計算節(jié)點j的綜合信任值Tj(t):
Tj(t)=α×TDij(t)+(1-α)×RTij(t)
(13)
其中,α是權重因子,α∈[0,1],α的數值代表節(jié)點i對節(jié)點j的認可程度。在綜合信任計算過程中,對α采用如下定義:
(14)
式中:ζ代表節(jié)點之間的交互次數;ζth代表節(jié)點之間交互的閾值。由式(14)可以看出,當源節(jié)點i對目標節(jié)點j的交互次數較少時,綜合信任值更加傾向于第三方推薦節(jié)點信任值,隨著雙方節(jié)點交互次數的增多,節(jié)點之間更加依賴于雙方的直接信任。
信任域內設備之間的信任關系由信任管理節(jié)點來維護,域內管理節(jié)點存儲著參與計算的各種數據以及信任記錄,包括域內每一個節(jié)點的信任服務時間、歷史信任、交互列表信息等。
在每個時隙內計算目標節(jié)點的信任值,更新之后的信任值可以表示為:
T(t)update=θT(t-1)+(1-θ)T(t)
(15)
式中:T(t-1)表示上一時段的歷史信任值;T(t)表示當前時隙的信任值;θ是歷史信任值的權重。信任管理節(jié)點存儲域內節(jié)點信任值,在每個時段中,按照圖3所示規(guī)則進行信任更新。
圖3 信任值更新流程圖
1)當域內管理節(jié)點的歷史信任交互列表里沒有儲存有關節(jié)點j的標識,那么在信任管理節(jié)點列表內直接插入節(jié)點標識和信任值,同時更新信任值列表。
2)當域內管理節(jié)點的歷史信任交互列表里有儲存有關節(jié)點j的標識,則根據節(jié)點標識查詢信任管理節(jié)點列表,由式(13)計算更新信任值。然后把更新節(jié)點信任值添加到信任管理列表內。同時刪除距離當前時間最遠的歷史信任值,最后更新信任列表。
為了研究DTAM能否準確反映節(jié)點的信任度,在節(jié)點交互過程中是否具有更好的識別和抵抗惡意節(jié)點的能力,進而保護推薦節(jié)點的私有屬性,達到節(jié)點隱私保護的效果。本文中使用按需平面距離向量AODV作為網絡路由協議,把所提出的信任模型作為一個模塊添加到仿真環(huán)境中,使其能夠真實模型網絡節(jié)點的各種行為。
本文的實驗環(huán)境是在Ubuntu 16.04的操作系統(tǒng)下,使用g++編譯環(huán)境,在NS-3環(huán)境下對所提模型的性能進仿真。具體模擬參數如表1所示。
表1 模擬參數
在對比實驗中,通過比較IDTEM[15]、BLTM[11]和DTAM分別在良好和較差的網絡環(huán)境中,當t=0 s,在無丟包且鏈路狀態(tài)較好的環(huán)境下,源節(jié)點與目標節(jié)點正常進行信任評估,從而計算當前時段目標節(jié)點的直接信任值,在t=5 s時,設置20%的節(jié)點作為惡意節(jié)點,在隨機選擇的節(jié)點上生成惡意隨機數據進行數據篡改攻擊,但是不影響節(jié)點正常通信。數據篡改會導致正常節(jié)點和惡意節(jié)點的傳輸測量值存在差異,分別計算出IDTEM、BLTM和DTAM的信任值。
如圖4所示,在相鄰通信節(jié)點間正常交互過程中,3種模型的直接信任值都會隨著時間的變化穩(wěn)步提升。由于DTAM在信任計算過程中引入激勵機制,隨著時間變化,交互次數的增多,3種模型的信任值隨著交互時間的變化都會增加。當對目標節(jié)點進行惡意數據篡改攻擊,基于通信信任的IDTEM、BLTM信任模型錯誤地反映節(jié)點之間交互的信任值;但基于數據一致性的直接信任值的計算方式會發(fā)現節(jié)點通信數據異常,且已有的激勵機制會導致直接信任值急速下降。由此可見,本文所提出的DTAM信任模型能夠正確反映節(jié)點直接信任值,與IDTEM、BLTM相比,它在識別惡意數據攻擊時更加準確。
圖4 動態(tài)權重對信任值的影響
當存在惡意推薦節(jié)點參與信任計算時,會降低源節(jié)點與服務的目標節(jié)點的交互成功率。所以,設備節(jié)點間的交互成功率是評價信任模型是否合理的重要衡量指標。
實驗過程中,將惡意推薦節(jié)點的比率從0增加到50%,增量為10%,根據IDTEM、BLTM和DTAM模型的源節(jié)點對服務目標節(jié)點計算的所得綜合信任值,如圖5所示,隨著惡意推薦節(jié)點的比率增加,IDTEM、BLTM和本文模型的節(jié)點交互成功率都在下降,但本文模型隨著惡意推薦節(jié)點比例的提高,節(jié)點的交互成功率表現相對較好。這是因為當惡意推薦節(jié)點對源節(jié)點反饋推薦信任值時,文中提出的信譽推薦因子能夠幫助DTAM較好地篩選出惡意推薦節(jié)點,降低惡意推薦節(jié)點參與信任計算的比率,當惡意推薦節(jié)點的比率增多時,DTAM模型中源節(jié)點與服務提供節(jié)點的交互成功率下降速度緩慢。
圖5 不同比例惡意推薦環(huán)境下的服務節(jié)點成功率
5.4.1正常節(jié)點和惡意節(jié)點對信任值的影響
為了驗證本文模型具有快速計算出目標節(jié)點信任值的同時還能保證信任評估過程中的穩(wěn)定性和精確度。在本節(jié)中分別討論正??尚诺脑垂?jié)點在一個評估周期內對同一個正??尚诺哪繕?信任值為1)節(jié)點和同一個惡意(信任值為0)不可信的目標節(jié)點的綜合信任值。
本實驗在相同的網絡環(huán)境中,即設置網絡內部惡意節(jié)點比例為30%,對BLTM、IMTEM和本文模型在信任計算過程中的綜合表現展開討論。當正常可信的源節(jié)點與正常節(jié)點(信任值為1)交互時,源節(jié)點對目標節(jié)點的綜合信任值會隨著交互次數的增加而變大,當與惡意節(jié)點交互時,信任值會隨著交互次數的增加而減小。
如圖6所示,在BLTM、IMTEM和DTAM中,隨著交互次數的不斷增加,源節(jié)點對目標節(jié)點的信任值都會增加。但是INTEM信任值的增速相比較其他2種模型是最快的。相比較BLTM模型,DTAM在交互的初始階段的增速很慢。由于DTAM具有一定的激勵機制屬性,在后續(xù)階段隨著交互次數的增多DTAM信任值的增速超過BLTM,并且最終維持較穩(wěn)定狀態(tài)。
圖6 正常節(jié)點交互信任值圖
如圖7所示,隨著交互次數的增加,源節(jié)點對惡意目標節(jié)點的綜合信任值都有顯著降低;在交互開始初期,節(jié)點的信任值更多的取決于推薦信任值,推薦信譽因子Rf的引入能有效防止惡意節(jié)點的欺詐,這使得DTAM的信任值的降低速度相比其他兩模型顯得更快,這體現了信任值的“易失去”。并且隨著交互次數的增多,信任值會降低到一定水平,惡意節(jié)點變得不可信。通過分析可得,DTAM更能準確地評估正常節(jié)點之間的信任,對惡意節(jié)點的信任評估更加敏感。
圖7 惡意節(jié)點交互信任值圖
5.4.2傳輸損耗
在實驗過程中,分別比較在相同網絡環(huán)境下IDTEM、BLTM和DTAM在不同節(jié)點數量下的能量傳輸損耗。首先設定每個節(jié)點的初始能量為0.5 J,當網絡進行正常通信時,在一個周期1 200 s的時間內,設定增量為100,100到1 000個節(jié)點數量下,測量所有節(jié)點的總能量損耗。
如圖8所示,當網絡中節(jié)點數量的增多,DTAM比IDTEM、BLTM的能量消耗相對較低。因為能量因子的提出,提高了節(jié)點參與網絡的競爭力,使得在節(jié)點信任評估過程中,低于能量閾值的節(jié)點只能完成基本的操作,高于能量閾值的節(jié)點可以正常通信交互。同時在時間周期內,隨著交互次數的增多,直接信任值得權重比例增加,進而平衡節(jié)點間的能量消耗。
圖8 傳輸能耗
針對常見的數據攻擊以及為有效應對惡意欺詐推薦,提出了一種有效的物聯網信任評估模型DTAM,針對數據信息攻擊,在直接信任計算過程中引入獎懲因子和能量因子,同時考慮到相鄰節(jié)點數據傳輸的一致性,實現精準的信任評估。推薦信譽因子的引入,有效約束欺詐節(jié)點推薦欺詐信任信息。動態(tài)權重因子的提出,克服了主觀分配權重帶來的缺陷,使該信任模型能夠根據節(jié)點行為,動態(tài)、準確、客觀地評估節(jié)點信任。
通過在NS-3仿真軟件里多次測試,實驗表明,DTAM是一種有效的動態(tài)抗攻擊模型,相比于IDTEM、BLTM,DTAM能夠準確地反映節(jié)點的信任變化,同時在防御數據篡改攻擊、約束惡意推薦信息和能量消耗等方面有很好的表現。
同時傳統(tǒng)的安全機制被廣泛用于外部攻擊,信任模型是對傳統(tǒng)安全機制的有效補充。因此,信任模型是對物聯網的上層應用提供安全服務,對安全路由和安全數據融合具有重要意義。在未來的工作中,要把所提出的信任模型推廣到不同異構的網絡,重點研究信任模型在物聯網環(huán)境下的網絡路由和數據聚合的應用。