何超勛,彭偉鋒,李燕飛,陳海彪,2
(1.廣東電網有限責任公司汕尾供電局 信息中心,廣東 汕尾 516600; 2.華南理工大學 計算機科學與工程學院,廣州 天河 510641)
在物聯網(IOT)基礎設施中,數以十億計的電子設備連接到互聯網,它們可以觀察或監測現實世界中人類生活的各個方面,以支持更普遍和智能的服務[1-3]。現代物聯網生態系統包括物理設備和網絡組件之間的聯網以及它們之間的社交互動。這本質上是從信息物理系統(CPS)到社會物理信息系統(CPSS)的飛躍[4]。然而,由于人與對象之間的異構交互,這提出了對風險、隱私、安全在系統和社會層面上的新關注。未來物聯網服務的目標是在沒有人為干預的情況下自主決策,所以信任被認為是處理數據以及滿足服務、業務和客戶需求的關鍵。因此,ITU-T在發布了第一條建議之后,基于通信組的信任活動,一直在制定相關的信任提供標準[5-7]。但這些方案都存在著一些缺點:如缺乏關于通用框架細節的信息,方案在應用領域和目標領域都缺乏通用性等。
為了彌補這些不足,本文在文獻[6]的基礎上進行了改進,對結構設計模型、特征提取方法和智能算法等方面的擴展,在不需要人為干預的情況下分析特征并自動評估信任值。該方案的架構主要是基于一個真實數據集的多個特征,提出了一個信任評估方案。同時在該方案中,為了使方案更加有效和健壯,在方案中還結合了機器學習相關知識。
本文的主要的創新點是:①提出了一個完整的信任框架模型,該模型規定了從原始數據到最終信任值之間的信任關系;②提供了一種評估數據和評估每個信任特征的分析方法;③提出了一種聚類算法來標記提取的信任特征;④提出了一種基于多類分類算法的智能模型,結合測量的信任度量建立信任評估模型;⑤在仿真環境中對評估結果的有效性進行了評估。
信任影響了物聯網生態系統中一個對象與另一個對象進行交易的決策,在該系統中,所有參與對象必須基于信任做出決策,以便向其他對象提供/接收服務。然而,在物聯網中建立信任要困難得多,因為機器對象無法產生對周圍其他對象的感知。此外,很難精確地量化對象的確切可信賴度值。因此,必須建立一個通用框架,定義信任管理過程的方案,同時考慮到信任特征的多樣性,從而賦予對象選擇最佳和實際措施的靈活性。為了澄清信任的模糊性和定義,所以在網絡世界的背景下使用了以下定義[8]:
定義1 信任:它是受托人的一種定性或定量的財產,由委托人以主觀或客觀的方式,在特定的背景下,在特定的時間段內,對給定的任務,作為一種可測量的信念進行評估。
定義2 信任模型:它包括3個方面:知識、經驗和聲譽。每個信任度量(trust metrics,TM)可以表示為包含多個信任屬性(trust attributes,TAs)的集合。每個TA代表受托人的可信特征。
在信任模型中,信任的獲取、評估和表示的相關過程,如圖1所示。

圖1 通用信任模型
知識的信任度量涵蓋了直接信任評估的所有方面,在交互之前提供對受托人的感知。所以,必須向委托人提供多個屬性的多組相關數據,供其評估。如果一個數據特征可以用定量測量來表示,那么結果就是一定范圍內的數值。整個知識的構成如圖2所示。

圖2 知識構成
圖2中TAs的關系定義了委托人和受托人之間的相互關系。如果兩個對象之間關系是非常好的,那么可以期望它們之間有更高的可信度。另外,圖2中可信度下的合作表示從受托人到委托人的社會協作水平。協作性越高,意味著物聯網生態系統中的信任水平越高。此外,在物聯網生態系統中,服務的供應是基于其社會關系,而不完全依賴于底層系統級信息。因此,識別TAs是至關重要的,它決定了協作對象的社會鄰近性。
在通過知識TM獲得足夠的受托人證據后,委托人可以基于已經獲得的感知與選定的受托人發起合作。然而,這些互動的結果可能不同于感知,因此,記錄每個個體的經驗,以便在未來的互動中使用是至關重要的。通過在相應的上下文、任務和時間中積累這些經驗,與知識TM相比,委托人可以建立更多的智能。
為進一步提高對委托人的認識,其他對象可應委托人的要求,分享其使用受托人的經驗,在此將其認定為聲譽或受托人的全局觀點。
總而言之,經驗TM是個人觀察,只考慮了委托人與受托人之間的互動,而聲譽TM則反映了受托人的全局觀點。然而,知識TM是經驗和聲譽的基石,因此本研究的重點是基于ML技術產生知識TM的量化結果。
盡管物聯網環境產生了大量數據,但有多少數據可以直接用于可信的評估過程還是值得懷疑的。因此,通過掃描社交和系統級交互日志來提取信任特征并將其存儲在數據存儲庫(DR)中以供進一步分析是至關重要的。因此,本文提出了一個能夠提取基本特征的數值模型。

物聯網生態系統允許用戶與附近的設備共享他們的資源、想法、情況和感興趣的服務。在這種情況下,如果委托人和受托人都很接近并且已經在平臺中訂閱了DR,則委托人可以方便地從所選的受托人處獲取所需的信息,與遠離場景的其他對象相比,所選的受托人在物理位置上是可信的。然而,在物聯網模型中,對象總是與其所有者相關(owner object relationship,OOR),因此OOR的靜態或動態性質總是影響CLR[9]。為了避免對象離開物理位置,考慮基于與委托人的距離(如,基于GPS數據)和在此決策邊界內花費的時間的決策邊界。然后,在該距離邊界內且超過該區域內的最小時間閾值的對象被選為受信者的潛在候選對象。一旦候選被過濾,它們與信任者的CL關系可以計算如下
(1)

在公共物聯網應用中協作的對象可以被描述為CWR。在這種情況下,更多的焦點將放在特定服務領域的工作關系上,而不是它們的物理鄰近性上。為了將CWR作為一個數值來衡量,這里比較了信任方和受信方之間的組播交互,計算如式(2)
(2)

在協作環境中,每個對象都必須履行其承諾,以提高整個服務提供過程的結果水平。例如,考慮一個惡意代理,該代理為特定服務提供假評級。在這種情況下,很明顯,該代理故意試圖操縱服務信息的真實性,而無意使用該信息。因此,合作性TA對于保持上述內容的穩定性,從而根據委托人的要求為其提供可信的服務至關重要。此外,可以預期,對象之間的交互越頻繁、時間越長,各方的協作就越多。在此基礎上,推導了合作度、頻率和持續時間的數值模型。
在此考慮一組相互作用,c1,c2,…,cn, 在委托人有利害關系的期間內,委托人i和受托人j之間的信任級別計算如下
(3)
式中:n是交互次數,表示它們之間的交互頻率。對于m-th成功交互,cm是委托人和受托人之間交互的長度,tm是受托人的總交互長度。系數cm/tm評估受托人與委托人互動的持續時間屬性,相對于受托人的總活動時間。E(cm) 是二元熵函數,用于測量交互作用或協作性中的平衡,其計算公式如式(4)所示[10]
E(cm)=-plogp-(1-p)log(1-p)
(4)
其中,p是委托人和受托人之間交互作用的分數。E(cm) 遵循文獻[11]中所述的二元分布。很明顯,只有當p=0.5為各方貢獻的50%時,才能達到最大熵(即E(cm)=1)。
任何服務提供系統的重要組成部分都需要有獎懲機制或反饋模型,以評估委托人和受托人之間的歷史服務體驗。將社會關系保持在最大可信水平總是至關重要的,因此使用式(5)中所示的指數降級公式來實現這一目的
(5)
這里,C是在t期間發生的交互的總數,Cp是不成功或可疑的交互的總數。為了更嚴厲地懲罰不當行為,與標準指數分布相比,分布的斜率增大。因此,惡意交互次數越多,獎勵值越低。
在物聯網生態系統中,服務發現和提供很大程度上取決于參與對象之間的社會關系。在這方面,相互性和中心性TAs定義了社會世界中受托人相對于委托人的位置。另一方面,可以很直觀地假設,更多的共同對象意味著他們的社會概況之間更高的相似性。但是,由于共同朋友的數量與每個對象的朋友數量成正比,因此不能將共同性單獨用作TA。也就是說,與最近加入網絡但可信度更高的對象相比,具有更多好友的對象會獲得額外的優勢。為了避免這種情況,考慮了一個相對的共同關系的衡量標準,與朋友總數相比。這本質上是受托人的中心屬性,計算如式(6)
(6)
其中,Mij是i和j之間的一組普通朋友,Ni是受托人的一組朋友。

(7)
在使用式(1)~式(7)提取所有TAs后,下一步是計算受托人的最終信托價值。一種眾所周知的方法是通過一個線性方程將每個TA與權重因子結合起來,如式(8)所示

(8)
然而,這種方法有許多缺點,包括:①缺乏信息,在估計權重因子時有無限的可能性;②基于閾值的系統不適合檢測特定受托人的可信度;③無法確定在特定情況下哪個TA對信托的影響最大。因此,將在下一節中提出信任評估過程的新方法。
為了克服前面討論的TA組合的不足,在這里提出了一個基于ML的模型來分析之前提取的TA,并基于訓練后的模型來預測預期交易的可信度。為了達到這一目的,首先使用無監督學習算法來識別兩個不同的簇或標簽,即可信和不可信。在有監督方法上使用無監督學習的主要原因是基于信任關系的標記訓練集不可用。
然后利用支持向量機(SVM)等多類分類技術對ML模型進行訓練,以確定區分可信交互的最佳閾值水平。在這項研究中,主要目標是以最大邊界分離和最小離群值來區分惡意交互和可信交互,而不是分類本身。因此,不必使用其它算法,如隨機森林算法,特別是與本文中使用的樣本大小相比,使用低維數據集時。但是,根據數據集、維數、所需分類數和樣本的噪聲水平,可以執行模型比較,以找出針對每個單獨情況的最佳可能算法。像這樣訓練有素的模型可以比線性加權方法[12,13]更有效地區分兩個或多個對象之間的傳入交互,并且在決策過程中更為有益。


圖3 整個模型流程
在這一部分中,開發了一個基于K-均值聚類技術的算法,算法1中詳細說明了該技術,以便基于上述特征對交互進行分組,從而將每個交互標記為可信或不可信[14]。K-means算法需要定義兩個初始條件:簇數(k)和每個相互作用被分配到的初始質心位置(μ)。由于在算法開始時無法找出這些值,因此隨機分配一系列簇大小的初始質心位置,例如從k=1到k=5。 之后,重復步驟,直到聚類點μ不再改變。然后,利用肘部法則求出K-平均代價函數J(c,μ) 的最小值,其中c是簇質心的指數,m是簇質心的坐標,其維數為K[14]。
算法1: 數據聚類和標記
輸入: 征矩陣X
輸出: 訓練樣本的標簽y
fork=1 to 5do
重復直到收斂: {
fori=1 tomdo
μk=分配給簇的點的均值位置k
endfor
}
J(k)(c,μ)=argminkJ(c,μ)
endfor
優化k←肘部法則←plotJ(k)vsk
fori=1 tomdo
ifc(i)接近(0,0)
y(i)=0
else
y(i)=1
endif
注意,算法的初始輸入在[0,1]之間進行了規范化,其中0表示不可信,1表示最可信。因此,在簇化步驟之后,將接近0的點標記為不可信是合乎邏輯的,反之亦然。因此,在執行完肘部法則后,靠近N維空間原點(即所有零點)的簇被標記為0或不可信,遠離原點的簇被標識為可信區域。為了同時檢查所有n個特征的影響,在應用算法1之前,應用基于奇異值分解(SVD)的主成分分析(PCA)算法將n個維度降為2個維度,以便可視化[15]。盡管可以用正則化擴展算法1對n個特征,但可以觀察到PCA方法相對于正則化無監督學習的計算復雜度更有效。
PCA算法如算法2所示,其第一步是計算具有n×n維數的協方差矩陣∑。使用SVD函數計算兩個主分量U和V,每個主分量的維數與∑相同[15]。作為本研究的意圖,這里將主矩陣U的維數從5降為2,主矩陣U的維數設為2。最后,步驟4計算對應于五維向量X的二維特征向量Z。
算法2:PCA算法
(1)計算點積矩陣: ∑=XTX
(2)計算特征向量: [U,S,V]=SVD(XTX)
(3)指定所需的維數,d∶Ud=[u1,…,ud]

在算法3中,使用了徑向基函數核(RBFK),這是因為與訓練集樣本(m)相比,特征數(n)更少。此外,為了優化計算資源,使用LIBSVM庫運行RBFK核[14]。首先,對正則化參數和方差的多個實例運行RBFK核,以便為算法3的步驟4~步驟7所示的學習算法找到最佳參數。作為一個例子,c和γ作為一個幾何級數而變化(例如,0.01,0.03,0.09…30)節省時間和計算資源。然后選取預測誤差最小的參數作為支持向量機模型的優化因子。此外,必須提高最終ML模型的精度,并抑制由先前的聚類算法產生的任何噪聲。因此,在算法3的訓練過程中,使用正則化技術來避免這些問題。
然后,使用算法3對所有訓練數據樣本進行算法訓練,并記錄模型參數,根據輸入的特征統計量估計未來的信任值。在LIBSVM庫中定義函數svmtrain,根據支持向量機技術計算基于RBFK核的決策邊界。與算法1相似,首先考慮兩個信任特征,研究信任邊界。然后,利用PCA算法得到的特征,研究了這5個特征對信任邊界的影響。
算法3:分類模型
輸入:X,y,Xval,yval
輸出:權重和決策邊界
(1)forc,γ=0.01(multiple of 3) 30do
(2)model=svmtrain(y,X,RBFK,c,γ)
(3) prediction=svmtrain(yval,Xval,model)
(4)error[c,γ]=predictions≠yval
(5)endfor
(6)Choosec,γ←minimum[error]
(7)[weight,accuracy,decisionvalues]=svmtrain(y,X,RBFK,c,γ)
本文實驗是在一臺處理器為英特爾I7處理器,內存為16 GB,顯卡為英偉達2080Ti的電腦上完成的。數據來源于CRAWDAD[16]在SIGCOMM-2009上采集的信息,這些信息包含有關設備接近度、活動日志、友誼信息、感興趣的組、應用程序級消息日志和數據層傳輸日志的信息。然后為了滿足本文實驗要求,在這里將原始數據映射為一組與物聯網相關的特征:CWR、CFD、RS、MC和CoI。數據集中80%的數據為訓練樣本,20%的數據為測試樣本。具體參數設置見表1。在76個節點中,每對節點之間至少有一個交互被稱為對象。社群即屬于相同的組別。信息即節點之間傳輸的信息。

表1 實驗參數設置
基于第2節中定義的數值模型的仿真結果如圖4和5所示。

圖4 每個特征的可信度分布

圖5 對象45號的可信度分布
值得注意的是,如圖4所示,CLR特性中的可信度值的分布接近1,這是因為數據是從速度非常快的設備收集的。注意,只有一小部分對象對在5776個對象之間有CLR關聯,因為數據點表示那些至少有一個事務的對象。此外,信任值被規范化為介于0和1之間。1表示100%可信的交互,零表示不可信的交互。
另一方面,圖4中所示的CWR關聯的分布顯示出與CLR情況相比較弱的關聯,即使它們緊密地協同工作。每個節點的不同意圖可能是導致這種行為的原因之一。此外,由于無線電頻率(RF)通信通常限于非對稱類型的交互以及短時間的消息交換,可信賴度值相對于其協作性、交互的頻率和持續時間的變化被分布到圖的低端。然而,基于CoI和中心度的信任值在圖中的0.3到0.8范圍內分布,顯示了節點之間的一些輪廓相似性。此外,每個互動的獎勵值都偏向于量表的低端。這主要是由于過去的交往中不成功或不良行為造成的。
類似地,圖5示出了每個對象(受托人)相對于一個特定對象(委托人)的可信度的分布。為了得到這些結果,隨機選擇了45號對象。此圖清楚地顯示了在前面章節討論的特性的其它相鄰對象上的委托人視圖的解釋。以委托對象34號為例,與其它特征相比,對象34號與委托人具有高度的同地關系,MC、CFD和獎勵分別約為0.4、0.15和0.16。因此,由于MC和CFD值較低,委托人有可能在未來的交互中與受托人進行基于位置的服務,但會限制其與協作服務相關的交互。
4.2.1 聚類和標記
隨著信任特性的成功抽象,下一步是研究如何將它們結合起來生成最終的信任值。為了從不可信的交互中過濾出最可信的交互,應用第3節中說明的算法,得到的結果如圖6所示。

圖6 基于不同特征的K-means聚類
為了確定最佳簇數,如圖7所示,使用肘部法則。在某些特征組合中,該算法能夠將交互分為可信、中立和不可信3類。肘部法則給出k=3的實例代表了這種情況。結果清楚地顯示了與圖6所示的不可信交互作用分離的邊界。

圖7 利用肘部法則確定最佳簇數
圖6(a)顯示了信任值相對于中心性和社區利益的分布。可以觀察到,就這兩個特征而言,MC=6和CoI=6以上的區域是值得信賴的區域。同樣,如圖6(b)到圖6(g)顯示了可信區域和不可信區域之間的清晰邊界。然而,圖6(h)和6(i)顯示的結果與其他人略有不同。在這兩個圖中,可信賴性的界限都有一個共同的特征:名譽。從圖6(h)和6(i)可知,當名譽值較低時,該算法的信任值較低,即使CFD或CWR的信任值較高。所以當涉及到誠信評估過程時,名譽是一個關鍵因素。
在這里首先運行算法從而成對生成視覺結果,然后組合所有5個特征以找出如圖8所示的可信區域,其中PCA用于將特征維度從5D減少到2D以使結果可視化。為了使新的維數在0和1的范圍內,實現了特征規范化。可以清楚地觀察到,在第一個維度上超過0.5的值和在第二個維度上超過0.7的值顯示了可信和不可信交互之間的邊界。

圖8 利用PCA對結果進行特征提取
4.2.2 分類模型
在調查了哪些交互屬于值得信任的區域之后,使用這些信息來標記數據集。例如,考慮圖6(a)中的相同情況。不可信區域的簇質心周圍的點在標簽向量y中標記為不可信或0,而不可信質心外部的點則標記為可信或1。
然后,使用標記的數據,訓練一個模型,該模型可以清楚地識別傳入的交互是否值得信任。為了估計最佳邊界,必須計算上述每種情況下的最佳正則化參數c和γ,以避免數據過度擬合。為此,使用部分訓練樣本作為交叉驗證集,通過訓練模型獲得的結果如圖9所示,清楚地說明了可信區域和不可信區域之間的決策邊界。
此外,圖10示出了對所有5個特征應用降維后的結果。現在需要將這個模型應用到新的數據流中,以區分哪些交互屬于值得信任的區域,反之亦然,而無需任何權重或閾值計算。這不僅降低了計算復雜度和冗余工作,而且節省了處理時間。
有了這些被驗證的結果,現在很明顯,系統不需要依賴于傳統的加權因子和閾值來決定可信區域。然而,本研究的主要假設是信任計算平臺的集中性。特別地,假設考慮中的每個對象都訂閱了一個集中式DR來發布其數據,這樣信任計算平臺就可以訪問數據、訓練模型并將信任值發布回DR中,供信任者使用。

圖9 算法第二部分在不同特征上的應用

圖10 PCA對結果的特征提取
為了驗證提出的方法比最常用的方法(如TAs的線性聚合)的有效性,考慮了混淆矩陣方法。分類精度通常會產生誤導性的結果,并且隱藏了診斷模型性能所需的細節,特別是當每個類中的觀測值的數量與本文的數據集中的不同時。另一方面,混淆矩陣顯示了算法在哪一點產生錯誤或混淆,重要的是所產生的錯誤類型,這對于研究算法在預期結果上的適用性是至關重要的。為了進行比較,考慮了文獻[12,13]中描述的線性算法和文獻[17]中描述的非線性算法。所得結果見表2。

表2 不同方法比較結果
從表2可知,本文提出的方法在可信和不可信預測中,都有較好表現,既沒有線性方法在不可信預測中出現可信結果,也沒有非線性方法在可信預測中出現大量不可信結果。綜合考慮,本文的方法比線性和非線性方法都要好。根據表2的結果,定義每個算法性能的參數見表3。

表3 算法性能對比
在分類中,召回率對于與錯誤預測數量相關的分類性能提供了重要的見解。根據模擬結果,提出的算法顯示100%的召回率或真正例率(TPR),而線性方法顯示的是98.13%。由于數據集相對較小,因此在每秒發生數十億事務的實際應用程序部署中,該算法的性能提高2%將非常關鍵。這再次被假負例率(FNR)所證實,該算法顯示0%的假負例預測,而線性方法顯示1.8%的假預測。請注意,TPR在所提出的方法和非線性方法中都是相似的,因為非線性方法僅取代了所提出算法的第二部分。但是,與邏輯回歸相比,該方法具有較低的負正例率(FPR)和較高的真負例率(TNR),因而優于非線性方法,表明該方法對不可信對象具有很強的性能。
此外,當使用線性加權求和方法聚集多個TA時,存在無限的可能性。然而,在這種比較中,在線性算法中使用了由聚類算法給出的相同權重因子來計算最終得分。由于這個原因,提出的和邏輯回歸方法與線性方法相比得分相對較低。然而,在實際情況下,如果沒有一個合適的聚類算法,很難估計這些權重因子,因此與提出的方法相比,精度將嚴重降低。另一方面,用于管理過擬合數據的正則化因子和用于尋找特征最佳參數的優化算法可能會對這一原因產生重大影響。因此,通過觀察學習曲線,同時根據數據集調整該正則化因子,可以提高兩個模型的精度。
此外,本文中描述的算法可以被聚類,以便終端設備可以執行部分分析,并獲得與之前相同的結果。在類似物聯網的環境中,這是非常有益的,可擴展性和協作性是重要因素。為了建立一個分布式平臺并解決可伸縮性問題,在未來的工作中,諸如地圖縮減和數據并行等方法將被視為強有力的候選技術。
本文針對傳統的加權求和方法,提出了一種基于物聯網環境下的信任特征來判斷輸入交互是否可信的算法。首先,提出了一個通用的信任計算模型和一種適用于物聯網中任何服務場景的特征提取方法。然后,基于無監督學習技術實現了一種基于數據可信度的數據標注方法,這是任何系統識別哪些交互是可信的重要第一步。在此標記過程的基礎上,提出了一種基于支持向量機模型的信任預測模型,該模型能夠正確識別任何交互的信任邊界,并學習最佳參數組合每個TA以獲得最終的信任值。仿真結果表明,該算法在識別可信交互方面具有良好的性能和準確性。