林 偉,鄭相涵
(福州大學數學與計算機科學學院 福州 350108)
對等網絡環境特有的去中心化網絡結構、協同計算服務模式、動態波動網絡特性帶來了新的安全挑戰。如圖1所示,首先由于中心化認證機制的缺失,在對等網絡節點互聯過程中,消息發送方無法判斷其鄰居節點是否安全可靠,同時消息接收方也很難對接收到的數據進行安全性分析;其次,節點間的交互依賴于一系列參與節點的協同計算,在源節點(節點A)與目的節點(節點B)連接過程中,惡意中間節點能夠對收到的消息進行增加、刪除、修改、復制、惡意轉發等操作,破壞數據的機密性、完整性,降低系統可用性,也能夠通過解析獲取到的消息竊取消息路徑中的節點隱私[1],如標識符、IP、端口、數據內容等;最后,對等網絡是動態波動的自組織網絡,任何節點都可以隨時、自由地加入與退出,給消息的可靠傳遞與網絡的穩定運行帶來了不確定因素。因此,開展對等網絡節點安全互聯的研究,確保消息的可靠傳遞和系統的穩定運行,具有重要的現實意義。

圖1 對等網絡節點互聯
針對以上問題,本文構建了一個私有云協助的對等網絡信任度量模型,借助私有云平臺在存儲與計算過程中的高效性、安全性等特點,引入主觀邏輯理論對節點進行信任評估,信任評估依賴節點自身經驗以及其他節點的推薦信息,引入迭代推薦過濾算法篩選推薦信息,并充分考慮信任的時間衰減特性。
現有網絡信任模型為P2P網絡節點安全互聯提供了可參考的理論依據,主要分為兩個類別:集中式信任度量和分布式信任度量。在集中式信任度量方案中,中心化的信任服務器收集各個節點在每次交易完成后的相互信任評價,并對各個節點進行信任度統一計算與存儲。如eBay[2]采用簡單的加權平均法對節點信任值進行計算;Spora系統[3]在eBay算法的基礎上,引入時間加權因子,對近期的信任評價賦予更高的權值。集中式信任度量方案具有結構簡單、易于實現等優點,目前廣泛應用于各大電子商務交易中。但是該方案在P2P系統中的應用可能帶來如下幾個方面的限制。
·單點故障問題。由于系統的運行過度依賴少數中心化的信任服務器,容易造成單點故障問題,影響系統的可靠性與可擴展性。
·高復雜度信任度量算法難以實施。在規模大、連接頻率高的P2P系統中,高復雜度的信任度量算法與更新機制可能給信任服務器帶來較大負擔,直接影響系統的實際運行效率。
·接入與響應的高時延。節點的網絡異構性(如移動接入)、連接頻率等因素可能會大大增加信任服務器的接入與響應時延,降低終端用戶的體驗度。
分布式信任度量是從主觀角度出發,結合信任概念對節點的行為屬性、行為交互及結果進行判斷,一定程度上實現節點行為的主觀可信度量。EigenTrust[4]利用信任的傳遞特性,提出了一種由鄰居節點間的直接信任計算全局信任的方法。在算法描述中,直接信任值高的鄰居節點推薦的信任值被賦予更大的權重。PowerTrust[5]在EigenTrust的基礎上提出了向前看隨機游走(look-ahead random walk)策略,將鄰居節點的直接信任與間接鄰居的推薦信任綜合考慮到算法中,進一步提高了信任值計算的準確性。PeerTrust[6]給出了類似EigenTrust的信任計算方法,但認為節點的直接信任值是由反饋評價、交易數量、反饋評價節點的可信度、交易屬性、交易環境5個要素決定的。DRS[7]考慮到節點的信任評價隨時間而衰減,引入了時間衰減因子,提出了一種基于Dirichlet概率分布的信任計算方法,有效抑制了惡意節點在累積一定信任度后對網絡或其他節點施加的惡意行為。相比于集中式信任度量機制,分布式信任度量方案不存在單點故障問題,具有更高的可靠性與可擴展性,而且將信任算法的計算分配給所有的網絡節點,因此在系統實際應用中不受信任算法復雜度的影響。但是,該方案在P2P系統的擴展應用中,也普遍存在以下兩方面的局限。
·間接信任度采集過程繁瑣。由于缺乏中心化的管理模式,節點間接信任度的獲取需要依靠大量的數據發送與采集工作,這在增加節點負擔的同時也可能造成較高的時延。
·分布式數據存儲的安全性不高。雖然上述方案采用各種算法對信任數據進行分布式存儲,但卻很難保障數據在異地存儲過程中的機要性、完整性以及訪問過程的便利性,可能直接影響系統的安全性與實際應用性能。
近年來,云計算技術的發展及其在安全領域的廣泛應用為P2P信任機制的建立提供了一條新思路。一方面,云計算平臺融合了分布式計算、負載均衡等概念與技術特點[8,9],克服了集中式信任模型方案無法解決的單點故障難題,并能夠為大規模終端用戶提供高性能計算、隨時隨地的網絡異構接入等服務;另一方面,在公有云安全技術尚未成熟的當前階段,作為面向客戶個性化定制的私有云平臺[10],能提供對數據、安全性和服務質量的有效控制,可以有效解決分布式信任模型方案在數據存儲與安全領域的局限性。
本文提出了一種私有云協助的P2P信任模型,它具有如下特點。
·信任度量基于主觀邏輯理論,算法復雜度低。
·私有云協助擴展信任模型,借助私有云平臺在存儲與計算過程中的高效性、安全性等優勢,保證歷史交易記錄數據存儲與信任計算過程的安全、可靠。
·信任數據采用本地與云平臺雙端存儲,信任計算時優先采用本地存儲信任數據,本地數據信息不足以進行信任計算時,將計算轉移至云平臺進行,提高信任度量準確性的同時兼顧運行效率。
·信任計算依賴自身經驗與其他節點的推薦,動態賦予權重,并提出一種推薦過濾算法,遏制節點的虛假推薦惡意攻擊行為。
·考慮信任隨時間而衰減的特性,引入時間權重因子,提升信任度量的準確性和模型的動態適應能力。
本文提出的信任模型如圖2所示,主要包含4個模塊,具體介紹如下。
(1)本地信任維護模塊
該模塊負責本地交易記錄的存儲、更新,并將本地記錄周期上傳至私有云平臺。假設節點A為服務請求者,節點B為服務提供者,A與B的交互記錄可以表示為HA(B)={H1,…,Hn},每個分量Hi代表A與B的單次交易記錄。Hi可以表示為一個三元組
(2)云端信任維護模塊
該模塊存儲網絡所有節點上傳的交互記錄,這些記錄在云端信任計算時作為推薦數據使用。
(3)本地可信度量模塊
該模塊利用本地歷史交互記錄進行直接信任計算,模塊首先對本地已有交互記錄進行評估,只有本地記錄足夠充分時才進行本地信任計算。
(4)云端可信度量模塊
一旦本地交互記錄不夠充分,信任計算需借助私有云平臺中存儲的大量推薦數據,為防止虛假推薦對信任計算的影響,推薦數據需進行相應過濾。
[11]中,Jsang等人在β分布的基礎上,引入證據空間(evidence space)和觀念空間(opinion space),提出了基于主觀邏輯(subjective logic)的信任度量模型。本文的信任計算便是在主觀邏輯理論基礎上的相應擴展。
當節點A試圖與節點B交互時,它要基于本地記錄進行信任計算,以判斷節點B是否可信。
根據主觀邏輯理論,節點A對節點B的主觀信念可以用四元組=(b,d,u,a)表示。其中b、d、u分別表示節點A對節點B的信任度、不信任度和不確定度,且滿足b+d+u=1;a為基率且a∈[0,1],用于計算一個信念的概率期望值。信念的概率期望值計算如式(1)所示。

因此,基率a直接決定了不確定度u對概率期望值計算所起的作用。

圖2 信任模型體系

其中,C為常量,ns和nu分別表示節點A與節點B的交互記錄中滿意和不滿意交互的次數。因此,信任度計算可根據式(5)進行。

一旦本地記錄不充分,可能導致信任計算結果不準確,此時應將計算轉移至擁有大量交互記錄的私有云平臺。
4.2.1 節點自身經驗置信度計算
使用式(5)計算信任度將導致不同的交互記錄獲得相同信任度的問題。受參考文獻[12]的啟發,本文引入“Confidence”變量來描述本地信任計算的置信度,記為Conf,通過β分布的方差計算得到:

其中,α和β為滿足β分布的兩個參數。表1比較了當a=0.5,C=2時不同交互次數的置信度,雖然不同的交互記錄數將可能計算出相同的信任度,然而隨著交易次數的增多,Conf值將越來越大,即信任計算結果將更加準確。

表1 不同交互次數置信度比較
本文提出的方案首先對節點自身信任數據進行Conf值計算,如果Conf值過低,則認為當前本地數據不充分,此時將計算轉移至擁有更多交互記錄的私有云平臺。
4.2.2 云端信任計算
一旦本地記錄不充分,信任計算將需要借助云端存儲的大量推薦數據。云端計算信任值用TA(B)表示,可采用式(8)計算得出。

其中,γ=1-ρn表示信任權重,ρ∈[0,1]為信任權重因子,n為節點A與節點B的直接交互次數。因此節點A與節點B的直接交互經驗越多,節點A對節點B的直接信任度占比越大。B)為推薦信任度,P為推薦者集合。假設i為推薦者數量,和分別表示第m個推薦者Dm的推薦信息中滿意與不滿意交互記錄的數量,則B)可表示為:

4.2.3 推薦信息過濾
在P2P中,推薦者提供信息的準確性和誠實性無法保證,惡意節點可能提供虛假的推薦信息執行惡意攻擊[13],因此云端信任計算過程中的推薦信息過濾是必要的。受參考文獻[14]和參考文獻[15]的啟發,本文推薦過濾過程主要包括以下兩個步驟。
(1)推薦者過濾
對每個推薦者Dm計算(Dm),如 果(Dm)大于預設閾值,則該推薦者提供的信息是誠實的;否則,過濾掉該推薦者所提供的信息。
(2)推薦信息過濾
過濾推薦者后,為進一步保證信任計算的準確性,推薦信息也需做相應過濾。推薦信息依據推薦者分組。假設有i組,計算每一組信任值(B),獲得平均值(B)。比較信任值(B)與平均值(B),如果(B)偏離平均值,則第m組推薦不準確,將其過濾。
迭代過濾算法的簡要步驟如下。
步驟3根據式(10)計算平均值。

步驟5重復步驟2到步驟4,直至過濾完畢。
4.2.4 交互記錄時間加權
通常情況下,近期發生的交易記錄更能反映節點的當前狀態,對信任計算具有更高的價值[16]。本文引入時間權重,對近期發生的交互記錄賦予更高的權重。假設當前時間為tcur,則時間權重為Wk=ωtcur-dk,ω∈[0,1]為時間權重因子,dk是第k條交互發生的時間。因此,信任加權計算式為:

實驗以P2P環境下的資源共享為應用背景,使用開源項目openChord模擬P2P環境,每個節點試圖從其他節點上下載自身沒有的資源,選用Hadoop+Hbase搭建私有云平臺。實驗仿真環境為3臺Intel Core i5(3.2 GHz,8 GB內存),實驗中使用了以下性能指標。
·交互成功率:交互成功次數與總交互次數的比值。
·識別準確率:準確識別節點的次數與總識別次數的比值。
實驗中設置了4種節點,具體介紹如下。
·好節點:提供的資源和推薦信息都是真實可靠的。
·簡單惡意節點:固定以70%的概率提供不可靠的資源。
·虛假推薦節點:提供虛假推薦信息。
·策略惡意節點:先提供可靠的資源服務積攢信任度,隨后提供不可靠服務。
實驗基本參數見表2。

表2 實驗基本參數
5.2.1 信任閾值的影響
本文首先研究信任閾值對交互成功率的影響,給出4個信任閾值,分別為0.4、0.5、0.6和0.7,并假設惡意節點所占比例為30%,實驗結果如圖3和圖4所示。

圖3 交互成功率隨時間變化

圖4 識別準確率隨時間變化
從圖3和圖4可以看出,除了信任閾值為0.7的情況,交互成功率和識別準確率都隨著時間以及信任閾值的增加而增加。這是因為交互記錄的累積以及合適信任閾值的選取,使得模型可以有效識別惡意節點。而當信任閾值設置過大時(如0.7),模型無法識別惡意節點。在后續實驗中,將信任閾值設定為0.6。
5.2.2 簡單惡意節點比例的影響
研究簡單惡意節點比例對模型的影響,仿真時間分別取500 s、4 500 s和9 500 s。從圖5可以看出,仿真時間越長,交互成功率越高。此外,隨著惡意節點比例的增加,交互成功率下降,而仿真時間為9 500 s的曲線下降幅度最小,這是因為時間越長,模型擁有足夠多的記錄來識別惡意節點。

圖5 簡單惡意節點比例的影響
5.2.3 網絡大小的影響
通過設定不同的節點數量研究網絡大小對模型的影響,簡單惡意節點的比例為30%。從圖6可以看出,只要模型積累足夠多的交互記錄,交互成功率就始終保持在很高的水平,節點數量的改變不會對模型造成太大影響。

圖6 網絡大小的影響
5.2.4 虛假推薦攻擊抵抗
研究模型是否能夠有效抵抗虛假推薦攻擊。實驗中給定不同的虛假推薦者比例,并對比使用迭代推薦過濾算法與不使用迭代推薦過濾算法的性能,仿真時間為10 000 s。從圖7可以看出,隨著虛假推薦者比例的增加,兩種情況的交互成功率都明顯下降,但是前者的交互成功率大大高于后者的交互成功率。因此推薦過濾算法可有效抵抗虛假推薦攻擊。此外,當虛假推薦節點比例不超過35%時,模型的有效性最佳。

圖7 虛假推薦節點比例的影響
5.2.5 動態行為攻擊抵抗
研究模型能否有效抵抗動態行為攻擊。實驗假設惡意節點在3 500 s前以95%的概率提供可靠服務,而后以95%的概率提供不可靠服務。本文還對比了引入時間權重與不引入時間權重的情況,策略惡意節點比例為30%。從圖8可以看出,策略惡意節點在積攢足夠信任度后開始提供不可靠服務,交互成功率急劇下降。隨著時間的增加,交互成功率也逐漸緩慢上升,這說明模型已初步具有抵抗動態行為攻擊的能力。而時間權重因子的引入進一步增強了模型的動態適應性,節點的當前狀態得以有效反映,因此交互成功率依舊可以維持很高的水平。

圖8 時間權重的影響
本文提出了一種私有云協助的對等網絡信任度量模型,模型中信任度量依靠節點自身經驗以及其他節點的推薦信息,合理賦予權重,使用過濾算法對推薦信息進行篩選,充分利用了網絡動態性及時間相關性。模型還借助私有云平臺為大規模終端節點提供了高性能計算及安全數據存儲,從而有效解決了傳統方案存在的單點故障問題及在數據存儲與安全領域的局限性。仿真結果表明,模型能有效遏制低質量交互攻擊、虛假推薦攻擊、動態行為攻擊等惡意攻擊行為。最后,對對等網絡存在的節點隔離問題進行了分析與研究。
本文的研究并未考慮P2P環境中存在的其他行為和因素,如數據消息在傳輸過程中的安全性以及更為復雜的惡意行為攻擊,這些都是下一步需要完善的工作。
參考文獻
1 Tomas I,Michael P,Arvind K,et al.A privacy-preserving P2P data sharing with one swarm.ACM SIGCOMM Computer Communication Review,2010,40(4):111~122
2 eBay.http://www.ebay.com,2013
3 Spora.http://www.spora.ws/en,2013
4 Kamvar S D,Schlosser M T,Garcia-Molina H.The eigentrust algorithm for reputation management in p2p networks.Proceedings of the 12th International Conference on World Wide Web,Budapest,Hungary,2003:640~651
5 Zhou R F,Hwang K.Powertrust:arobust and scalable reputation system for trusted peer-to-peer computing.IEEE Transactions on Parallel and Distributed Systems,2007,18(4):460~473
6 Li X,Ling L.Peertrust:supporting reputation-based trust for peer-to-peer electronic communities.IEEE Transaction on Knowledge Data Engineering,2004,16(7):843~857
8 Armbrust M,Fox A,Griffith R.A view of cloud computing.Communications of the ACM,2010,53(4):50~58
9 羅軍舟,金嘉暉,宋愛波.云計算:體系架構與關鍵技術.通信學報,2011,32(7):3~17 Luo J Z,Jin J H,Song A B.Cloud computing:architecture and key technologies.Journal of Communications,2011,32(7):3~17
10 Basmadjian R,De Meer H,Lent R,et al.Cloud computing and its interest in saving energy:the use case of a private cloud.Journal of Cloud Computing,2012,1(1):1~25
12 Denko M K,Sun T,Woungang I.Trust management in ubiquitous computing:a bayesian approach. Computer Communications,2011,34(3):398~406
13 Quercia D,Hailes S,Capra L.B-trust:bayesian trust framework for pervasive computing.Proceedings of 4th International Conference,iTrust,Pisa,Italy,2006:298~312
14 Teacy W T,Patel J,Jennings N R,et al.Coping with inaccurate reputation sources:experimental analysis of a probabilistic trust model.Proceedings of the 4th International Conference on Autonomous Agents and Multiagent Systems,Ultrecht,Netherlands,2005:997~1004
16 Sun Y L,Han Z,Yu W,et al.A trust evaluation framework in distributed networks:vulnerability analysis and defense against attacks.Proceedings of the 25th IEEE International Conference on Computer Communications,Barcelona,Spain,2006:1~13