王田,張廣學,蔡紹濱,賈維嘉,王國軍
(1. 華僑大學計算機科學與技術學院,福建 廈門 361021;2. 澳門大學數據科學中心,澳門 999078;3. 上海交通大學電子信息與電氣工程學院,上海 200240;4. 廣州大學計算機科學與教育軟件學院,廣東 廣州 510006)
傳感云系統是目前學術界的一個研究熱點,它將無線傳感器網絡(WSN, wireless sensor network)和云計算無縫地連接起來[1-3]。傳感云的提出,可以使各種應用服務不再單獨地占用物理傳感器,從而提高傳感器節點的利用率并能為用戶提供定制化服務[4-5]。WSN被譽為21世紀最重要的科技,主要分為陸地監控、地下監控、水下監控、多媒體、移動網絡等幾種形式[6-7]。云計算擁有大規模的硬件和軟件,而且具有強大的并行批量處理能力,這為傳感數據的存儲、處理以及分析提供了有力保障[8-9]。然而,許多WSN的建立并未執行統一的標準,使WSN的利用率和數據共享率較低,例如,單個WSN中的傳感器只應用于特定應用、不同WSN的數據存在格式轉換問題等[10]。針對WSN資源利用率低以及數據共享差等缺點,一些研究者結合云計算的經濟優勢和技術優勢,提出傳感云的概念,并逐漸發展成為一個研究熱點[11-12]。傳感云可應用于軍事探測、工業控制、醫療協助、環境監測等領域,為人們的工作和生活帶來了很大便利[13-16]。
隨著傳感云系統的快速發展和廣泛應用,其安全問題也逐漸顯現[17-18]。傳感云所面臨的安全威脅有外部攻擊、內部攻擊以及針對信任評價機制的攻擊[19-21]。傳統的加密、授權和認證等安全方式能夠有效地應對外部攻擊,但卻不能準確地處理內部攻擊問題[22-23]。此外,傳感器節點存在能量少、存儲能力和計算能力有限等缺陷,傳統的安全措施由于計算量較大并不太適用于WSN[24-26]。信任評價機制能夠有效應對內部攻擊,提高網絡的安全性能[27-28],并且更適用于資源受限的WSN。
信任評價機制是傳感云安全的重要補充策略,廣泛存在于WSN、云計算、物聯網(IoT, Internet of things)、移動自組織網絡(MANET, mobile ad-hoc network)等領域,并且在應用上取得了較好的成果[29-31]。信任評價機制來源于人類社會生活經驗,雖然學術界并沒有對其做出統一的定義,但一個共識是:信任評價機制相比于傳統安全機制更加輕量,能較好地解決網絡中的內部攻擊問題,并具有保證網絡性能和提高網絡通信量等優勢,是傳統安全機制的有益補充[32-33]。傳感云是一個新型結構,其信任評價機制正在逐步完善[34]。本文對傳感云系統中的信任評價機制進行了廣泛研究和對比,并設計了一些方案來填補傳感云系統在信任評價機制方面的一些不足之處。其中,基于霧計算的信任評價機制可以更好地管理傳感云底層結構之間的信任關系。最后,本文也對傳感云信任評價機制的未來發展和研究方向進行了探討。
傳感云的基本結構可分為3個部分:WSN層、云層、用戶層。這3個基本部分對應于3個決策實體,分別是:WSN層中的傳感網服務提供商(SNSP,sensor network service provider)、云層中的云服務提供商(CSP, cloud service provider)、用戶層中的用戶。其中,SNSP主要提供傳感數據服務,將其所擁有的傳感數據(交通監測數據、環境監測數據、工業監測數據等)發送給CSP;CSP主要提供存儲服務和處理服務,存儲服務將來自SNSP的數據存儲在云端,處理服務對傳感數據做進一步處理來滿足一些應用需求;用戶主要是使用CSP提供的數據處理服務。傳感云的信任評價機制研究總體上可分為2類:實體間信任和實體內信任。實體間信任為3個決策實體間的信任關系,而實體內信任多為WSN中節點間的信任關系。實體間的信任更多地涉及人與人之間信任關系的建立問題,而實體內的信任則更多地關注于如何通過節點間的行為信息來構建節點間的信任關系。其中,實體內信任關系的建立需要考慮底層網絡性能穩定、能耗較少、負載較低等一些急需解決的問題。
實體間的關系可以定義為服務使用者與服務提供者之間的信任關系。
實體間的信任關系又可以細分為3類:用戶和SNSP對CSP的信任、CSP對用戶的信任、CSP對SNSP的信任。就目前的研究狀況來說,根據實體間信任評價機制建立方式的不同,一般分為以下幾類[35],如表1所示。
2.1.1 用戶和SNSP對CSP的信任
在云中,CSP提供大量相似云服務,并且其所提供的服務具有動態性,服務質量也會變化,這給服務使用者選擇合適的云服務造成了困擾[36]。就服務使用者來說,對云服務的信任是建立在其可靠性、安全性、友好性、可控性、私有性、穩定性等特征的基礎上[37]。其中,用戶和SNSP對云服務的要求有些區別。用戶主要考慮其可靠性、穩定性、友好性等一些特征。SNSP將更多的數據存儲在云中,對數據安全性、私密性和完整性的要求更加嚴格。
文獻[38]提出了一種基于服務水平協議/隱私水平協議(SLA/PLA, service level agreement/privacy level agreement)的信任和聲譽管理系統。首先,信任中心(TCE, trust center entity)根據一些服務參數對CSP進行信任計算以及聲譽管理。然后,用戶根據自身需求快速準確地選擇合適的CSP。
文獻[39]提出了基于服務質量(QoS, qualityof service)的信任評價模型,該模型關注CSP所提供服務的可用性、可依賴性、周轉效率和數據完整性。然后,采用基于權重的方式綜合考慮CSP的信任狀況。

表1 實體間的信任評價機制分類
文獻[40]基于用戶的反饋評級提出了一種輕量型的聲譽測量方式,利用反饋評級為每一個云服務建立信任向量,并通過模糊集理論對信任向量中的期望值、熵值和超熵值進行計算,最后得出其聲譽值。
文獻[41]采用了混合的粒子群優化—神經網絡算法對云服務進行信任預測,使用粒子群優化算法優化神經網絡的初始參數設定,然后進行全局最優適應值的計算并進行信任預測。
2.1.2 CSP對用戶的信任
云服務具有開放性,任何用戶都可以連接到云服務平臺獲取服務。但是,也存在一些惡意用戶不合理地使用云服務、惡意占用資源、誹謗或提供虛假反饋信息等行為。解決這些問題的有效方式是對用戶進行接入控制或將用戶權限進行等級操作[42]。
文獻[43]提出,在用戶和云平臺之間建立彼此信任的關系來實現云平臺的接入控制。通過用戶身份證明(ID, identification)和物理地址(MAC,medium access control)來確定用戶身份,并在CSP之間共享這些用戶信息。
然而,一些攻擊者會通過一些惡意外部攻擊獲取用戶 ID等信息并控制用戶設備,并通過這些俘獲的用戶設備實施內部攻擊。一般檢測機制檢測到的是已發生的攻擊事件,而事后的彌補措施并不能減少已有損失。文獻[44]根據入侵事件發生前會出現一些特殊信號這一特征,提出了一種基于用戶行為識別的概要管理系統來監測可疑行為,并通過動態觸發反映模塊來監控可疑節點并收集必要的證據。
文獻[45]通過用戶行為風險值、用戶信任等級和其他因素構建了新的基于角色的接入控制模型,通過風險值和用戶信任水平的衡量,對不同用戶進行動態靈活的授權。
2.1.3 CSP對SNSP的信任
從CSP的角度來說,SNSP的數據必須是真實的,不能存在人為的編撰或篡改。傳感數據應該具有時效性、完整性、精確性等一些特征,否則會對CSP的聲譽造成嚴重影響。就目前的研究狀況來看,科研人員對這方面的研究處于初步階段。
文獻[38]提出通過一些基本信任計算(數據收集信任、網絡壽命信任、網絡響應時間信任、數據傳輸信任)得出CSP對SNSP的信任值,并且根據歷史記錄計算SNSP的聲譽值。基于SNSP的信任值和聲譽值,CSP可根據自身需求快速準確地選擇合適的SNSP。
實體內的信任主要發生在傳感數據產生時和中間節點對數據處理時2個方面。數據產生過程中導致數據有誤的原因有2類,一類是由節點故障產生的,另一類是由被俘獲節點產生的[46]。對于內部惡意節點攻擊或節點故障,信任評價機制可以很快檢測到并做出及時反應來改善網絡環境。實體內的信任評價機制已經得到了廣泛的研究,一般信任評價機制的基本步驟如圖1所示。
2.2.1 數據收集
在信任評價機制中,很重要的一個環節就是有效、及時的信任數據收集。收集到的信任數據可用于一般信任公式計算,如直接信任、推薦信任、間接信任等,也可以應用到一些綜合信任策略中,如仿生信任計算等。在網絡中可收集的信任數據很多,如節點剩余能量、網絡擁堵情況、接收數據的正確性、節點能量效率、節點之間的交互狀態、節點接收信號的能力等。

圖1 實體內信任評價機制框架
表2為一些英文表達簡化成大寫首字母后的形式,并給出了其所對應的中文含義。

表2 計算公式中英文縮寫對照
2.2.2 基本信任計算
1) 直接信任
直接信任的一般定義為:在2個相鄰節點的直接交互過程中,一個節點通過所獲取的直接交互信息來評價另一個節點的行為。直接信任的簡單模式如圖2所示。

圖2 直接信任
在節點間的直接交互過程中,很多觀測值可以用來檢測惡意節點。
文獻[47]提出節點信任水平的衡量基于以下 2個方面,一個是對目的節點行為的觀測,另一個是目的節點的剩余能量。在直接信任計算中,該文獻設定行為信任和能量信任占據相同的比重,并綜合考慮了歷史行為和現有行為因素,如式(1)所示。

其中,TP(x,y)為y節點對x節點過去良好行為的信任值,TN(x,y)為y節點對x節點過去不良行為的信任值,TNow(x,y)為 y節點對 x節點現有行為的信任值,TE為y節點對x節點的能量信任值。
文獻[48]提出基于權重的方式來計算目的節點的信任值,綜合考慮了能量信任 TE、通信信任 TC和數據信任Tdata這3個因素,其計算式如式(2)所示。

文獻[49]基于多個網絡活動,綜合歷史信任信息、積極行為、消極行為3個因素來計算目的節點的直接信任值,如式(3)所示。

其中,直接信任是通過積極行為信任和消極行為的信任差值形式得出,并且對每一個不同的網絡活動a,通過Pw(a)和Nw(a)賦予不同的權重。其中,TD(i, j)l?1為上一輪i節點對j節點的信任值,為對j節點現在積極/消極行為記錄。
但是,考慮到WSN的用途、性能、所處環境、安全級別等實際情況,實體內的直接信任通常僅僅考慮一些重要的觀測值,如數據分組丟失率、路由失敗率、能量消耗、數據分組錯誤率、傳輸速率等。在系統設計時,較少的觀測值可以達到減少節點能耗、降低計算和設計復雜度、保證網絡性能、增加系統可實現性等設計要求。
在這里,本文列舉了一些經常使用觀測值的信任計算,如下所示。
①通信因素

在節點交互過程中,最容易觀測的是一段時間內成功通信的次數。其信任計算一般采用Beta分布[50],如式(4)所示。其中,α為節點通信成功次數、β為節點通信失敗次數。在通信成功率的信任計算中,通常采用時間窗方式來綜合考慮節點的長期行為變化[51]。
然而,存在一些針對信任評價機制的攻擊方式,如On-Off攻擊等。為應對這些攻擊,多數研究者在信任計算中加入了懲罰機制,如文獻[52]中加入懲罰因子、文獻[53]中加入懲罰因子、文獻[54]中針對節點行為波動情況加入余弦函數等,當節點表現出友好行為時,信任會緩慢增加;反之,信任值則會急劇減少。
②能量因素
通信過程中,正常節點的能量消耗總是有規律的,而惡意節點在進行惡意攻擊時會產生不正常的能量消耗。如果環境變化較小,正常節點能量消耗率將維持在一個穩定的區間。文獻[48]提出了一個能量預測模型來獲取節點在不同時期的能量消耗,然后依據能量預測模型來計算節點能量信任,如式(5)所示。

其中,PE為能量消耗率,Eremain為剩余能量,θ為閾值。其中,PE是通過能量預測模型計算得出的。當剩余能量大于閾值時,通過計算能量消耗率來得到關于能量的信任值;反之,信任值為0。
③數據因素
數據信任是指經過中繼節點轉發的數據或從中繼節點接收的數據是否正確可信。文獻[55]提出了一種數據信任計算方式:通信過程中正確數據分組占整體數據分組的比率,如式 (6)所示。

其中,Nerror為錯誤數據分組數量,Ntotal為所傳輸的數據分組總數。
數據分組具有一定的空間關聯性,即在相同的區域,節點向相鄰節點傳送的數據分組總是相似的。文獻[48]將這一特性抽象為正態分布,用一組數據的平均值來衡量數據的相似性。如果數據接近

其中,f(x)為正態分布的密度函數,積分區間為從平均值mean到數據的方差variance。
另外,在一定的空間內,不同節點的監測值存在相似性。也就是說,在同一段時間內,一定區域內的節點對環境的監測值差距不大或具有一定的關聯性。文獻[56]評估比較節點自身的監測值與目的節點的監測值,以此來預防惡意節點對數據的偽造,其計算如式(8)所示。平均值,則其信任值越高,反之,信任值越低,如式(7)所示。

其中,Consistnumber為t時間內,2個節點具有相同/相似數據分組的數量;Inconsistnumber為t時間內,2個節點不具有相同/相似數據分組的數量。
④傳輸速率因素
信任評價機制中,可以通過監控節點的傳輸速率來監測一些惡意行為,如當節點傳輸速率低于最低閾值時,很可能是自私節點;當節點的傳輸速率高于最高閾值時,很可能是拒絕服務(DoS, denial of service)攻擊等。針對上述情況,文獻[56]提出當節點傳輸速率和期望速率接近時,節點擁有更高的信任值,如式(9)所示。

其中,Expectingquantity為 t時刻的期望傳輸速率,Sendingquantity為 t時刻的真是傳輸速率,為最高/最低傳輸速率。
2) 推薦信任
推薦信任的一般定義為:當源節點對目的節點的觀測值不足時,源節點通過評估與其兩者互為鄰節點的節點推薦值得到對目的節點的信任值。推薦信任的簡單模型如圖3所示。

圖3 推薦信任
推薦信任的基本計算如式(10)所示[57]。在多數研究工作中,一般選擇信任值超過一定閾值的節點參與推薦信任計算。

其中,TD(i,k)為i節點對k節點的直接信任值,TD(k,j)為k節點對j節點的直接信任值,k為信任推薦節點。
在推薦信任的計算中,來自鄰接節點的推薦值可能是不準確的或惡意的。為了減少這些情況所造成的影響,文獻[53]使用基于權重的方式綜合考慮其不同鄰接節點的推薦值,如式(11)所示。權重值的計算與推薦節點 m及剩余推薦信任列表中的信任節點相關,即考慮推薦節點的信任值與其他節點信任值的偏離程度,如式(12)所示。

其中,集合Set(j)中的節點與i節點和j節點都相鄰,并且是i節點的信任節點;m為推薦節點;Diff(i,m)為推薦節點 m的推薦信任值與其他信任節點推薦信任值的偏離程度;TD(m,j)為m節點對j節點的直接信任,其他符號與此類似。
在推薦信任計算過程中,對于推薦節點選擇和惡意節點推薦值排除這些問題,可以使用一些現有的檢測系統來解決。但是這些檢測系統不太適合一些資源有限的WSN。因此,文獻[48]提出了一種基于推薦可靠性和推薦熟悉度的檢測理論。推薦可靠性是 B節點將接收到 C節點的信任推薦值與接收到其他節點的平均推薦值進行比較,然后通過差值進行推薦可靠性計算,計算式為。推薦熟悉度是指長期交互節點比短期交互節點擁有更高的權重值,推薦熟悉度計算式與節點之間成功通信次數相關,其計算式為為推薦節點C與目的節點B成功通信的次數;numberC為推薦節點 C總的成功推薦次數;α∈(0,1)為與通信次數相關的調節因子。綜合兩者的作用,文中給出推薦信任的計算式為

3) 間接信任
間接信任的一般定義為:源節點和目的節點不是相鄰節點,源節點在向目的節點傳送數據之前,需要通過其他節點建立與目的節點的信任關系,間接信任的簡單模型如圖4所示。

圖4 間接信任
源節點和目的節點之間沒有直接通信路徑,需要通過其他節點來建立節點間的信任關系。文獻[48]提出間接信任的建立分為 2個步驟:選擇源節點和目的節點之間可能存在的推薦節點;以信任鏈的方式建立間接信任。從源節點到目的節點之間的路徑由信任推薦節點組成,這條路徑被稱為信任鏈。信任鏈的建立需要遵循3個機制:① 推薦節點應盡可能接近目的節點;② 推薦節點的選擇應是信任值最高的,以保證信任鏈的可靠性;③ 最優的信任鏈應該兼顧距離和信任值這 2個因素。間接信任中信任鏈越長,其所面臨的環境因素越復雜。所以,間接信任更容易受到一些針對性攻擊,如slander攻擊、self-promoting攻擊、collusion攻擊等,這些攻擊都是基于信任鏈中源節點對中間節點信任的不確定性導致的。
文獻[48]給出了間接信任的計算式,間接信任計算基于信任鏈,如式(14)所示。

其中, TCi+1為對信任鏈上第 i+1個節點的信任值;為對信任鏈上前i個節點的信任值。
2.2.3 信任積聚和更新
1) 信任積聚
信任積聚是指將節點自我觀測值或同級節點反饋的信任值進行聚合[58],將聚合后的數據作為最終信任值或進行信任預測等。
目前,主要的信任積聚方式有基于權重、基于仿生、基于D-S證據理論等。在信任積聚的研究中,使用最多的是基于權重的信任積聚方式。
基于權重的積聚方式具有計算量小、輕便等特點,其計算式如式(15)所示[52,59]。

信任積聚的計算式綜合考慮了直接信任 TD和間接信任TI(包括推薦信任),w1+w2=1,其中,直接信任占有更大權重。
文獻[60]提出通過數據分組正確轉發信任、數據分組轉發時間信任、正確推薦信任和公平推薦信任 4個指標可以預防數據篡改和針對信任評價模型的攻擊。文中也使用基于權重的方式進行信任值的積聚。
直接信任和間接信任的簡單加權計算收斂較慢,對突發事件不敏感,不能及時檢測出突然變壞的節點。為預防On-Off這一類型的攻擊,文獻[53]在信任積聚中加入了基于熵理論的風險預測機制,這種方式能夠幫助模型及早地檢測出惡意節點。
文獻[61]提出了改進的仿生信任評價機制,在算法中設置一些人工螞蟻來尋找從源節點到目的節點的路徑,路徑中節點信息素的多少表示節點的信任值大小。其中,同級信任系統(PTS, peer trust system)是一個動態的點對點信任評價機制模型,它權衡的因素有通信滿意度、鄰接節點的可信度、傳輸環境因素和社會環境因素。
D-S理論是解決不確定問題的一類重要理論。文獻[62]使用D-S理論來解決信任評價機制中的隨機性和主觀不確定性問題,通過修正D-S理論來動態計算推薦信任的權重。
2) 信任更新
在網絡中,信任關系不是一成不變的。在一些異常狀態下,交互節點的行為可能出現快速或不可預料的改變,如環境變化、節點被俘獲、節點故障、節點被移除、節點被更新等,這是信任關系具有動態性的本質。當節點處于異常狀態時,其信任值需要及時更新以維持網絡的信任環境。信任的更新包括部分信任更新,如直接信任、推薦信任和間接信任的更新,也包括整體信任值的更新。一般信任的更新采用值累積的方式進行[57],如式(16)所示。

其中,T(i,j)為i節點對j節點的歷史信任值,T(i,j)(t+Δt)為i節點對j節點在t+Δt時刻的信任值。
另一種信任更新方式是基于權重的[63],如式(17)所示。

其中,Told(x,y)為舊的信任值;Tnew(x,y)為新的信任值;為新/舊信任值的權重,w+w=1。oldnew
考慮到一些休眠節點和不頻繁交互節點,文獻[60]對新的信任值增加了與時間相關的指數因子Δt,Δt值越大,歷史信任值的權重越小。文獻[38]在更新信任值的過程中采用了忘記因子的方式來減少歷史信任對整體信任的影響。
對于部分更新,節點在觀察過程中可直接更新直接信任值;推薦信任和間接信任則通過收集其他節點的推薦值來更新信任值。太過于頻繁的更新會占用太多的網絡資源,然而周期太長的信任更新不能有效地反映節點的行為。
針對此類問題,多數研究工作中采用滑動時間窗機制[64]。更新方式為每過一個通信周期,時間窗向前滑動一個時間槽,然后對時間窗內的每一個時間槽賦予一定的權值并進行信任更新。
2.2.4 信任決策/預測
信任決策/預測是根據歷史信任值和現有觀測值或單獨的現有觀測值對節點未來行為進行決策/預測,并確定是否與其建立合作關系。一般信任決策/預測方式如表3所示。
文獻[65]提出進化博弈論,通過將節點的信任度與激勵機制相結合的方式來高效地促使節點選擇具有信任行為的節點。在進化過程中,該策略存在一定穩定性。

表3 信任決策/預測方式
文獻[52]提出了基于模糊理論的信任預測模型。在模型中,輸入變量為直接信任值、鄰接節點信任值的變動數量、推薦不一致性3個變量,通過模糊理論規則輸出對節點的預測信任水平。
Beta分布是二項分布的先驗分布,具有計算靈活簡單的優點,可以用來預測節點的行為。文獻[66]中的信任計算考慮通信信任和數據信任2種情況,通過Beta分布來進行節點行為的預測。
節點間的交互通道存在不穩定性和噪聲因素。文獻[67]提出使用輕量型的主觀邏輯來解決信任評價過程中存在的不確定性問題。
在傳感云系統中,信任評價機制的研究已有很大進展。但是,對傳感云底層結構的信任評價機制研究仍存在一些不足之處。
1) 在底層無線傳感器網絡中,信任評價機制的建立需要消耗一些必要資源(能量、計算能力、通信資源等),這造成了WSN性能降低、壽命減少以及一些其他方面的問題。因此,信任評價機制的設計目標應為:盡量減少不必要的觀測值;盡量降低信任推薦次數;盡量降低數據運算量等。
2) 有一些惡意節點表現出正常節點的行為,并且不影響網絡的性能,但會產生錯誤數據來誤導用戶做出錯誤決策。本文定義這類攻擊為隱藏數據攻擊。WSN不具備針對這種類型攻擊的分析和辨別能力。
3) 傳統方法采用云端可信中心作為 CSP和SNSP的信任第三方。但是,云端遠離傳感網端,這就造成可信中心對WSN端的監測實時性不強,缺乏一定指標(數據缺失率、檢測周期、底層網絡異常信息等)來建立CSP與SNSP的信任關系。從已有的研究內容來看,涉及CSP和SNSP之間信任關系的研究不多。
只有CSP和SNSP之間相互信任,才能從源頭上保證為用戶提供真實、安全、高效的數據服務。CSP與SNSP之間是一種多對多的關系,并且他們之間的信任關系動態變化。為解決這種復雜關系下的信任問題,可采用一種機制實時監測雙方的信任變化情況,并提供及時可信的數據監測指標。
針對這些問題,本文研究團隊提出了基于霧計算(fog computing)的傳感云信任評價機制。在傳感云系統中,還沒有基于霧計算的信任評價模型,現在的研究更多的是在無線傳感器網絡層和云層。霧計算對于解決這類問題有獨特的優勢,并且能減輕雙方的計算和存儲負擔。
霧計算由思科公司首次提出,它將云計算延伸到了網絡邊緣,應用在IoT,如車聯網、智能電網、智慧城市、無線傳感網絡[68-70]。霧計算位于云計算和邊緣設備之間,具有低延時、位置感知、移動性、實時性、支持異構設備等特點。霧計算的定義[71]如下:“霧計算場景中,大量存在和分散的異構(無線或自治)設備在沒有第三方介入的情況下,通過通信和相互協作方式來完成存儲和處理任務。這些任務能支持基本的網絡功能或運行在沙盒環境下的新服務和應用。用戶通過租用一些設備來獲取這些服務。”將霧計算作為宿主環境,可以普遍改善網絡性能以及更好地支持設備之間的合作。
霧計算具有一定的數據存儲和處理能力,與云計算相比,霧計算具有更強的實時性。霧計算能夠較為全面、充分地獲取底層網絡的狀況,作為連接傳感網端和云端的橋梁和紐帶,充當云 CSP和SNSP的服務管理中心。此外,霧計算還有一個好處是:大量底層的數據處理任務不用提交到云端,可直接在霧層進行處理,然后將處理結果傳送至云端,從而降低數據傳送量,節約能量。這種新的信任評價模型如圖5所示。
針對第三方可信評估缺失的情況,霧計算提供了可選方案。霧層充當云層和WSN層信任關系的緩沖地帶。在模型中,SNSP和CSP協商服務內容以及一些服務參數,這些內容都由霧層進行保存。在服務過程中,霧層接收來自 WSN層的傳感數據以及安全狀態信息,并進行服務參數的監測以及異常情況的分析和處理。霧層將在正常監測范圍內的數據以及異常報告傳送給 CSP。另外,為了實時監測CSP的信任狀況,霧層會定期收集來自聲譽較好SNSP的推薦信任信息。霧層記錄收集到的推薦信任信息和對CSP服務的實時監測信息,并綜合這2個方面的因素對CSP的信任值進行實時更新。

圖5 基于霧計算的傳感云信任評價模型
霧層可以很好地進行通信和服務參數的監測。這里,本文主要設計霧層對WSN網絡信任狀態的監測,實現降低不必要的資源消耗、延長網絡壽命、保證網絡通行能力、檢測隱藏數據攻擊、發現針對信任評價機制的攻擊、恢復誤判節點等目標。
霧層是云層和WSN層的中間層,其組成為一些功能較普通傳感節點強的分布式設備(如移動式節點),這些設備形成獨有的霧層網絡結構。這些設備主要完成傳感數據的暫時性備份、WSN的網絡信任狀態監測、向云端提供服務等功能。具體來
實驗環境及相關參數設置如表4所示。

表4 實驗環境及相關參數設置
針對WSN層,本文采用了分層信任評價機制。3層機制分別為節點間基本信任層、節點間異常情況處理層和網絡整體安全層。
3層機制具體的設計方案如下所示。
1) 在節點間基本信任層,節點在通信或周期檢測過程中進行相鄰節點間信任值的更新。在實驗中,本文設定3個觀測值,分別為數據分組丟失率、路由失敗率和轉發時延。式(18)為直接信任更新。

其中,Tpacket為數據分組信任值;Thistory為歷史信任值;Delayforwarding為轉發時延,值為 0或 1;w1和w2為權重因子,且w1+w2=1。
另外,w2是與時間相關的權重因子,如式(19)所示。

其中,real1和real2為2個可變實數;Period為距離上一次節點信任更新的周期數。
在一個檢測周期內,節點計算開銷為對其他節點的信任更新 Cupdate和權重值的計算 Cweight;節點的通信開銷為與相鄰節點的周期檢測開銷;節點的存儲開銷為信任值列表、監測數據、權重值和其他參數。若節點間 1跳線路數為 n,鄰節點數為 L,則其在一個周期檢測內的通信開銷小于 n(節點正常通信過程進行觀測值監測和信任更新),計算開銷小于Cindirect=n(Cupdate+Cweight),存儲開銷為常數級O(L)。
2)在節點異常情況處理層,當節點對其某一相鄰節點的觀測值(數據分組丟失率、路由失敗率、轉發時延、新舊信任值差值等)處于異常范圍時,節點會將這一信息通過 AC(異常情況)數據分組傳遞給其他相鄰節點,這些相鄰節點將自身對異常節點的信任值回復給發送者。同時,節點也將這些推薦信息告知將信息發送給并請求異常情況判斷。當確定異常節點確實是惡意節點時,會在該區域內進行異常節點的隔離。當該異常為誤判時,進行異常狀態解除,保證網絡性能不變。推薦信任計算如式(20)所示。

其中,set(neighbor)中的節點與j節點和k節點均相鄰且為j節點的信任節點;TD(i,k)為i節點對k節點的直接信任值;wi為i節點的權重值。
權重值的計算如式(21)所示。

其中,n為對 set(neighbor)中所有節點信任值排序后 i節點所處隊列的位置。
綜合信任計算如式(22)所示。

其中,w3和w4為權重值,且w3+w4=1。
若沒有異常情況發生,則沒有計算和通信方面的開銷。若出現異常情況,其計算開銷為Cabnormal=Crecommend+Cweight+Csynthesis;通信開銷為獲取推薦信任值和向霧層發送異常狀態信息,為常數級O(L);存儲開銷為權重值的存儲、排序的信任列表和其他參數。

其中,Arrayi記錄某一時刻是否存在波峰/波谷;保存數值的增減度degree;
在云層,本文從3個方面建立CSP對SNSP的信任關系,分別為WSN網絡狀態信息信任、服務監測信任和推薦信任。根據一些CSP在霧層的歷史信息來獲得CSP的可信度,然后通過CSP可信度對其推薦信任進行計算。就SNSP對CSP的信任關系建立,也需要通過霧層進行。一方面是對 CSP服務參數的監測,另一方面是可信SNSP的信任推薦。在可信SNSP的尋找方面,也需要通過霧層的SNSP服務記錄來分析獲取。
3.4.1 WSN層信任狀態的監測
在信任評價機制的建立過程中,通信開銷是一個重要的方面。因此,本文將增強的多屬性信任協議(EMATP, enhanced multi-attribute trust protocol)[60]、輕量可靠的信任系統(LDTS, lightweight and dependable trust system)[52]、分層信任管理協議(HTMP,hierarchical trust management protocol)[72]和基于霧計算的分層信任機制(FHTM, fog-based hierarchical trust mechanism)幾種方案的通信開銷做了對比實驗,記錄一個簇內節點進行信任更新所需要的網絡通信開銷。在簇內,節點彼此鄰接,在不同節點數目情況下,各個方案的通信開銷如圖6所示。EMATP的通信開銷在直接信任、推薦信任檢測和簇頭信任更新3個方面。隨著鄰接節點數量的增加,其在推薦信任檢測方面的開銷很大。HTMP的通信開銷在直接信任、推薦信任、簇頭信任更新和簇頭之間信任更新4個方面。在實驗中,本文沒有計算簇頭之間信任計算的開銷。LDTS的通信開銷為直接信任、簇頭信任更新、簇頭之間直接信任和基站信任更新4個方面。在實驗中,本文沒有計算基站的通信開銷和多簇頭情況。FHTM的通信開銷為直接信任、異常觸發的推薦信任和霧層信任更新3個方面。

圖6 不同數目鄰接節點的通信開銷
由圖6可知,本文方案比EMATP和HTMP的通信開銷要少。由于LDTS沒有節點推薦信任這一環節,節點通過簇頭獲取推薦信任信息,所以其通信開銷較其他方案更少。由于其沒有節點間的推薦信任,因此在應對異常情況方面,LDTS比其他方案稍弱而且其簇頭節點在存儲、計算、通信方面的開銷相對較大。
本文在3種不同攻擊類型場景下測試了幾種方案的惡意節點檢測速度,如圖7所示。對于共謀攻擊,HTMP和LDTS在這方面做得不太好,EMATP將這種攻擊的檢測放在了節點之間(基于惡意節點推薦不一致性),本文方案FHTM則將其放在了霧層(基于拓撲結構、節點信任列表和歷史傳感數據),這2種方案所花費的時間差別不大。同樣地,HTMP和LDTS對偽造數據攻擊的檢測和確認也不太擅長,EMATP的檢測和確認所花時間較少(簇內完成),本文方案FHTM應對偽造數據攻擊所花費時間較多(需要霧層的確認)。對于可以通過節點行為來進行檢測的攻擊類型,HTMP花費的時間最少,EMATP和FHTM需要進行多種攻擊類型的檢測和確認,花費的時間較長,但在可容忍范圍之內。

圖7 惡意節點的檢測和確認
針對隱藏數據攻擊檢測和誤判節點恢復問題,本文也做了一些仿真實驗,如圖 8所示。圖中的#符號表示節點所處環境發生了較大變化,節點的行為出現了較大異動;&符號表示此處出現了隱藏數據攻擊節點,但是節點的行為表現正常;%符號表示一般內部攻擊方式產生,節點出現了異常行為。每隔 20個周期,設定對網絡惡意節點進行一次清理。對于隱藏數據攻擊節點檢測和誤判節點恢復問題,會存在一定的時延問題。這個時延的產生原因是:需要對節點最近一段時間內的傳感數據進行特征的提取、對比和分析。

圖8 隱藏數據攻擊和誤判節點恢復
3.4.2 CSP和SNSP之間信任的建立
就SNSP對CSP的信任問題,對服務參數的監測在霧層進行。在這里,本文主要設計如何通過服務記錄獲得可信的SNSP。表5是SNSP的一些服務記錄信息。
表5中有7個指標,其中,SNSP服務記錄是指 SNSP在使用服務過程中所出現異常情況的次數;SNSP需求服務種類指的是SNSP對CSP的一些具體性能要求;交往過的CSP是指它接收過哪些CSP的服務;交往過的SNSP是指它為哪些SNSP提供過推薦信任服務;突變風險指的是選擇該SNSP的推薦信任值可能承擔的風險;認可次數/推薦次數是指該SNSP的推薦信任值是否對需求者有用;入駐時間是指該SNSP使用霧服務平臺的時間。

表5 霧層SNSP的信息記錄
推薦信任的計算分為2個部分,其一是一般推薦信任計算(通過權值綜合考慮所有使用過該CSP服務的SNSP評價),其二是專項推薦信任計算(查找所有與需求服務相似或相同的 SNSP,然后對這些SNSP的評價進行綜合考慮)。CSP的排除原則是一般推薦信任計算值與專項信任推薦計算值差值較大的、風險代價較大的、入駐時間較短的、不良記錄高的。
就CSP選擇SNSP來說,其信任評價分為3類:WSN網絡狀態信息信任、服務監測信任和推薦信任。在霧層,可以進行WSN網絡狀態信息和服務信息的監測,推薦信任的計算類似于前面所提到的推薦信任方式。
就目前的研究進展來看,傳感云信任評價機制的研究還處于初級階段。從傳感云的發展模式來說,有2種趨勢。1) 數據與服務是分開的,即CSP可接收多個SNSP提供的傳感數據服務,然后對這些傳感數據進行處理、分析和加工,最后為用戶提供服務,這種模式下只需考慮傳感云平臺內的信任評價機制。2) 數據與服務一體,即SNSP擁有數據的絕對控制權,其兼顧CSP的職責,SNSP可以從其他SNSP處獲取數據,然后為用戶提供服務,這種情況下就需要考慮平臺間的信任關系。第二種情況的是未來的一個研究方向。
霧計算具有幾個明顯的特征:低時延、位置感知、廣泛的地理分布、適應移動性的應用、支持更多的邊緣節點[73-74]。將霧計算引入信任評價機制,能更好地應對WSN拓撲結構的改變。當節點被俘獲或失效時,霧計算能夠及時發現并做出適當決策,防止惡意節點對網絡的破壞或降低失效節點所造成的不必要的網絡能耗。在未來,霧層可以建立成一個具有公信力的第三方平臺,保證數據來源的安全可靠,在管理無線傳感器網絡、橋接云計算、成為可信第三方等方面都具有一定的優勢。
在傳感云模型方面,信任評價機制未來研究內容應該更多地基于全局數據分析挖掘。傳感云模型的提出是為了提高WSN資源、數據的利用率和共享率,那么我們需要將復雜的信任評價數據運算、消耗更多網絡資源的信任評價機制移出 WSN,在WSN之外進行。在傳感器網絡等底層結構中,應關注惡意節點行為的監測,而在底層結構之外則應更多地關注惡意節點的檢測、確認、處理、挖掘和預防。在未來研究中,信任評價機制應該是基于可信平臺的。在平臺上,可以獲取更多的信息,擁有更好的計算、存儲等資源。特別地,隨著傳感云日益壯大,不可避免地要考慮跨域(不同傳感云或第三方霧計算平臺)信任評價機制。跨域信任評價機制更多地基于推薦信任,更關注推薦者的可信程度。一般來說,推薦者評價具有隨意性、夸大性、局限性、以偏概全等問題。這些問題的解決方案可分為2個階段:第一階段為可信第三方收集用戶使用服務的記錄,排除不良用戶的推薦資格,針對不同的服務需求提供專項的信任推薦;第二階段為用戶評價行為的規范化、具體化,各個平臺服務情況差異對比標準化。
傳統的信任機制對不可信事件的處理措施是隔離或放棄。如在WSN層中,某些節點可能因為一些自身原因產生了異常數據,有些信任評價機制會將該節點直接拋棄,這勢必會造成資源的浪費。在選擇CSP時,也不能因為僅僅一次的不信任事件導致對該CSP的永久性不信任。當然一些研究者也提出了信任恢復措施,但同時也為惡意節點的信任恢復提供了機會。在處理不可信源方面的研究還很少,需要一種機制進行信任分類以及信任恢復。
在安全領域,信任評價機制與傳統安全機制相輔相成。攻擊者可以通過外部攻擊獲取權限,以合法的身份對網絡進行破壞。信任評價機制可以檢測惡意實體,對惡意實體進行信任評價,并聯結其他可信實體抵制信任值低的實體。但是信任評價機制并不能有效防止外部攻擊。在某些方面,需要統籌部署傳統安全機制和信任評價機制以達到合理應用的目的。
在信任評價機制中,信任值的存儲是一個重要的部分。在很多信任評價機制中,研究重點在于信任評價機制算法的設計,而對信任值的安全保護和存儲方面并未給予太多的研究。如在WSN中,信任值直接存儲在節點的存儲區域并沒有進行加密等處理措施,信息容易被篡改;CSP、SNSP和用戶之間的信任數據庫更容易受到惡意攻擊等。在很多情況下,我們需要強化信任數據的安全存儲措施。
在對信任評價機制的研究過程中,本文發現信任評價機制的種類繁多,缺乏一種統一的標準來促進該機制的長久發展。另外,在用戶選擇或自己設計符合自身情況的信任評價機制時,缺少相應的參考標準來輔助設計,這也是信任評價機制發展道路上的一個障礙。因此,在信任評價機制的研究中,需要設定一定的門類來區別不同的機制,并設定一些衡量參數來顯示該機制的適用范圍、能耗、性能、配置需求等。
WSN的廣泛應用和云計算的快速發展促進了傳感云技術的產生。傳感云繼承了WSN和云計算的很多優點,但也面臨著更多的安全問題。在安全領域的研究方法中,信任評價機制已是一個熱點領域。信任評價機制可以很好地應對內部攻擊,在提高服務質量和輔助決策方面也有很大的優勢,可以應用在安全定位、高效傳輸、數據保護等領域。在傳感云中,WSN和云計算中信任評價機制的研究已有一定規模,但是在用戶、CSP和SNSP實體間的信任評價機制還有待提高。本文總結了傳感云信任評價機制在最近幾年的發展狀況,詳細介紹了傳感云結構中實體間以及實體內的信任評價機制,并對現有的信任評價機制進行了分類和對比,探討了其未來的研究方向。基于對傳感云信任評價機制的研究,提出了一種基于霧計算模式的信任評價模型。通過仿真實驗,證明該模式可以保證傳感云底層結構的安全、可信。而且,霧計算可以設計成可信第三方平臺,作為SNSP和CSP之間信任的橋梁。