嚴(yán)軼群,鄭 剛
(安徽工程大學(xué)計算機(jī)與信息學(xué)院,安徽 蕪湖241000)
近年來,對等網(wǎng)絡(luò)(P2P)技術(shù)在協(xié)同工作、分布式信息或資源共享、大規(guī)模并行計算、即時通信等領(lǐng)域獲得了廣泛的應(yīng)用[1]。與此同時,由于P2P網(wǎng)絡(luò)的開放、匿名、自治以及節(jié)點之間松耦合等特性使得P2P網(wǎng)絡(luò)中存在大量惡意和搭便車節(jié)點致使節(jié)點之間合作受限,阻礙了P2P網(wǎng)絡(luò)應(yīng)用的進(jìn)一步發(fā)展。以Gnutella文件共享系統(tǒng)為例,有70%的節(jié)點是free riders[2]由于P2P環(huán)境是完全開放的分布式網(wǎng)絡(luò),共享資源分散在網(wǎng)絡(luò)的各個節(jié)點中,因此傳統(tǒng)的集中式環(huán)境下的安全策略及機(jī)制不能直接應(yīng)用于P2P網(wǎng)絡(luò)下,需要建立一種有效的信任機(jī)制加強系統(tǒng)的可靠性和安全性。理論研究表明,依據(jù)節(jié)點可信度的高低來區(qū)分節(jié)點的不同服務(wù)能有效提高系統(tǒng)的可用性[3]。
目前,圍繞如何更為合理準(zhǔn)確地刻畫節(jié)點的信任,研究者從不同的角度針對P2P環(huán)境下不同應(yīng)用模式提出了各種信任模型,如基于PKI的信任模型[4]、基于全局信譽度的信任模型[5-6]、基于本地信譽度的的信任模型[7-8]和基于Bayesian網(wǎng)絡(luò)的信任模型[9-11]?,F(xiàn)有的信任模型大多忽略興趣對節(jié)點信譽的影響,而是將節(jié)點在不同興趣域的可信度累計成一個整體,隱藏了節(jié)點在特定興趣域內(nèi)的行為細(xì)節(jié),因此惡意節(jié)點可通過在某個興趣域的高可信行為隱藏其在另一興趣域內(nèi)的惡意行為。為解決此類問題,筆者參考人類社會網(wǎng)絡(luò)結(jié)構(gòu),提出一種改進(jìn)的非結(jié)構(gòu)化P2P網(wǎng)絡(luò)中基于興趣域劃分的信任模型。
BIDT M信任模型總體結(jié)構(gòu)是建立在混合式P2P網(wǎng)絡(luò)拓?fù)浼軜?gòu)上,根據(jù)節(jié)點興趣偏好不同,將網(wǎng)絡(luò)劃分成若干個互不重疊的獨立的興趣域,每個興趣域內(nèi)包含一個權(quán)威節(jié)點以及若干個普通節(jié)點,節(jié)點之間的信任關(guān)系被分解為同一興趣域內(nèi)節(jié)點之間的信任以及不同興趣域節(jié)點間的信任,根據(jù)交易節(jié)點是否在同一興趣域內(nèi),采用不同的方法來計算節(jié)點的信任值。
模型基本思想如下:普通節(jié)點j對目標(biāo)節(jié)點i發(fā)出交易請求,若節(jié)點i與j在同一興趣域內(nèi),則節(jié)點j在本地存儲與節(jié)點i的交易信息;若節(jié)點i與j不在同一興趣域內(nèi),則節(jié)點j將交易結(jié)果反饋給其所在興趣域內(nèi)的權(quán)威節(jié)點,權(quán)威節(jié)點根據(jù)節(jié)點j的反饋結(jié)果建立對節(jié)點i所在興趣域的權(quán)威節(jié)點的信任關(guān)系。計算同一興趣域內(nèi)節(jié)點的信任度時,按照興趣域內(nèi)基于局部推薦的信任機(jī)制計算;而不同興趣域的權(quán)威節(jié)點的信任度按照興趣域內(nèi)所有節(jié)點對其的全局推薦來計算[12]。
在動態(tài)分布的P2P網(wǎng)絡(luò)環(huán)境下,節(jié)點可隨時加入和退出網(wǎng)絡(luò),每個節(jié)點獨立計算和更新信任值都會為信任模型的建立和重新做出貢獻(xiàn),因此在建立信任模型時需要考慮每個加入節(jié)點的參考。而BIDT M模型是基于興趣域網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,根據(jù)交易雙方節(jié)點是否處于同一興趣域內(nèi),所采取的信任度計算方法不同,因此模型在計算節(jié)點信任值前需研究興趣域的劃分方法,興趣相似度的度量及新節(jié)點加入到某一興趣域的過程。
1)興趣域的劃分方法 該模型在劃分興趣域時引入VSM(向量空間模型),加入到網(wǎng)絡(luò)中的每個節(jié)點的興趣偏好用一個n維向量表示,利用向量中每個分量的賦值來對應(yīng)表達(dá)節(jié)點的“興趣偏好”。若節(jié)點偏好某項資源則對應(yīng)分量賦值為1,若節(jié)點不愛好某種資源,則對應(yīng)分量設(shè)置為0。
2)相似度的度量 節(jié)點的加入到哪個興趣域是基于節(jié)點與該興趣域的興趣相似程度來判定的,計算節(jié)點間興趣相似度采用余弦相似度的方法。將節(jié)點的興趣用n維向量表示,用向量間的余弦夾角來度量節(jié)點間的相似程度。假設(shè)有2個節(jié)點i,j,它們在n維空間上的興趣分別表示為向量→i和向量→j,則它們之間的興趣相似度為:
設(shè)i為等待加入節(jié)點,j為已加入節(jié)點,Tpi為節(jié)點i的信任值,λ為允許節(jié)點加入的初始信任閾值(0<λ<0.5),δ為允許加入的興趣相似度閾值,通過δ來控制節(jié)點i可否加入節(jié)點j所在的興趣域,si m為計算興趣相似度的函數(shù)。加入過程如下:
(1)節(jié)點i向節(jié)點j發(fā)出加入請求。
(2)節(jié)點j查詢節(jié)點i的初始信任值Tpi,若Tpi>λ,節(jié)點j將消息發(fā)給興趣域內(nèi)的中心節(jié)點,并與節(jié)點i做興趣比較;若Tpi<λ,則節(jié)點j拒絕i加入。
(3)當(dāng)si m(i,j)小于閾值δ時,節(jié)點j將i的信息轉(zhuǎn)發(fā)給興趣域內(nèi)的中心節(jié)點P1,P1負(fù)責(zé)將節(jié)點推薦給其他鄰居中心節(jié)點(如P2),同時給節(jié)點i發(fā)出拒絕消息;若鄰居中心節(jié)點(P2)與i的興趣相似,則P2向節(jié)點i發(fā)出同意接受其加入的消息。若si m(i,j)≥δ,節(jié)點j向節(jié)點i發(fā)送同意接受加入本興趣域的消息,節(jié)點i可以在j所在的興趣域內(nèi)的中心節(jié)點(P1)處完成注冊,加入P2P網(wǎng)絡(luò)。
(4)中心節(jié)點P1在轉(zhuǎn)發(fā)節(jié)點i的請求時采用的是隨機(jī)泛洪算法,節(jié)點i可能會收到若干個中心節(jié)點的響應(yīng)消息。模型中選擇響應(yīng)時間最短的中心節(jié)點加入。
同一興趣域內(nèi)某一節(jié)點的信任值由2部分構(gòu)成:直接信任值和推薦信任值。
1)直接信任度 域內(nèi)直接信任度Di(j)表示同一興趣域內(nèi)節(jié)點i根據(jù)與節(jié)點j直接交易歷史記錄而得出的對節(jié)點j的信任。
為了準(zhǔn)確獲取節(jié)點i對節(jié)點j的直接信任值,在計算直接信任值時引入如下幾個參數(shù):①交易總次數(shù)N(j)。②交易滿意程度S(i,j)。交易滿意和不滿意程度相應(yīng)地反映了節(jié)點在交易中的好壞行為,可以使交易雙方在交易中有更加良好的行為。③交易量大小M(i,j)。交易量大小可以防止一些惡意節(jié)點通過多次小規(guī)模成功交易提高它們的信任值,而在大規(guī)模交易中進(jìn)行欺騙。④時間因子Z∈(0.1)。引入時間因子表示信任是隨時間動態(tài)變化的,距離當(dāng)前交易時間越近,節(jié)點行為越可信。引入上述參數(shù)后,則域內(nèi)直接信任度的計算公式如下:
2)推薦信任度 推薦信任是節(jié)點間根據(jù)第三方的推薦而形成的信任。域內(nèi)推薦信任度Rj是在興趣域I Dj內(nèi)所有與j有過交互的節(jié)點直接信任度的加權(quán)值:
式中,M為在興趣域I Dj內(nèi)向節(jié)點i提供信任推薦的節(jié)點數(shù);K是與j有過直接交易的節(jié)點;ak是節(jié)點k與興趣域的相似度系數(shù),在模型中可以作為節(jié)點的域服務(wù)信譽推薦強度,相似度系數(shù)越大,推薦越可信;Dk(j)的計算同式(2)。
同一興趣域內(nèi)節(jié)點i對j的域內(nèi)信任度Trij為:
式中,參數(shù)α、β是用來調(diào)節(jié)興趣域內(nèi)直接信任度和域內(nèi)推薦信任度的權(quán)重,α+β=1(0.5<α<1)。參數(shù)設(shè)置表明興趣域內(nèi)節(jié)點信任值的計算以節(jié)點交互的直接經(jīng)驗為主,并綜合興趣域的局部推薦信任值。
各個興趣域之間的信任度計算是通過中心節(jié)點完成的,中心節(jié)點性能穩(wěn)定,存儲能力強,在線時間長,因此可采用基于全局推薦信任模型計算。
假設(shè)P2P網(wǎng)絡(luò)存在的興趣域V={D1,D2,D3,…,Dn},NDiDj代表興趣域Di與興趣域Dj間交易總次數(shù),SDiDj代表興趣域Di與Dj交易成功次數(shù),F(xiàn)DiDj代表興趣域之間交易失敗次數(shù)。
域間推薦信任度是興趣域Di對興趣域Dk的信任評估程度,是節(jié)點i與本興趣域外的未知節(jié)點k進(jìn)行交互前從興趣域Di的中心節(jié)點處得到關(guān)于興趣域Dj的間接評價。由于節(jié)點i與興趣域外的節(jié)點交易機(jī)率較小,因此為了簡化計算,興趣域間的交互信任度可采用如下公式來計算:
節(jié)點i對節(jié)點j的綜合信任度Lij是反映2個節(jié)點間信任關(guān)系的最終信任值,計算公式為:
在計算節(jié)點綜合信任度時應(yīng)以域內(nèi)信任度為主,以興趣域外的節(jié)點信任度為輔,參數(shù)γ為調(diào)節(jié)域內(nèi)推薦度占綜合信任度的比重,滿足0.5<γ<1。
為檢測BIDT M的性能,構(gòu)造了2個仿真試驗,將BIDT M模型與Eigen Rep模型性能進(jìn)行比較,通過仿真對比分析2模型的性能差異,仿真時,在Redhat Linux 9.0,P2Psi m0.3的基礎(chǔ)上搭建了一個文件共享應(yīng)用的實驗平臺,即請求節(jié)點從目標(biāo)節(jié)點下載所需文件,文件下載成功作為交易成功標(biāo)準(zhǔn),交易成功率是反映信任模型有效性的一個重要依據(jù)。
設(shè)系統(tǒng)中共包含100個節(jié)點,每個節(jié)點擁有的共享文件數(shù)為10,交易總次數(shù)為4000次。初始狀態(tài)下,設(shè)所有節(jié)點的初始域內(nèi)信任度為0.5。域內(nèi)直接信任度比重α=0.7,域內(nèi)推薦信任度比重β=0.3,權(quán)重因子γ=0.7,興趣相似度閾值δ=0.8。
試驗時,設(shè)置2類節(jié)點:一類是誠實節(jié)點(honest node)提供真實文件上傳服務(wù),對其他節(jié)點推薦是可靠的。另一類為惡意節(jié)點(si mple malicious peer),惡意節(jié)點只提供虛假文件。
1)實驗1:對比交易失敗的次數(shù) 4000次交互中,傳統(tǒng)模型交互失敗次數(shù)為120次,而BIDT M模型交易失敗次數(shù)為65次,有效地減少了交易失敗次數(shù),較大的提高了P2P網(wǎng)絡(luò)文件下載的成功率(見圖1)。
2)試驗2:對比網(wǎng)絡(luò)中惡意節(jié)點所占比例對信任模型的影響 試驗結(jié)果如圖2所示。雖然隨著惡意節(jié)點數(shù)的增多,2個模型中虛假文件下載比例都在逐漸上升,但由于BIDT M模型在交易過程中引入懲罰因子、推薦權(quán)重因子來動態(tài)調(diào)整推薦信息所占的權(quán)重,能更快速區(qū)分出惡意節(jié)點,因此其虛假文件下載比例較傳統(tǒng)模型更低。
圖1 交易有效性對比
圖2 虛假文件下載比例隨不同規(guī)模惡意節(jié)點的變化規(guī)律
筆者在已有模型的基礎(chǔ)上提出一種基于興趣域的P2P信任模型,節(jié)點信任值的計算綜合考慮了同一興趣域內(nèi)直接信任值、域內(nèi)間接信任值以及不同興趣域間信任值,并引入懲罰因子、相似度系數(shù)因子及權(quán)重因子來調(diào)節(jié)相關(guān)信任權(quán)重。仿真結(jié)果表明,該模型避免了在全網(wǎng)范圍內(nèi)因收集信任數(shù)據(jù)而產(chǎn)生的網(wǎng)絡(luò)開銷以及局部信任數(shù)據(jù)收集所造成的誤差過大等問題。模型可靠性高,能有效抑制惡意節(jié)點的攻擊,提高交易成功率。后續(xù)研究可以在此模型的基礎(chǔ)上對P2P網(wǎng)絡(luò)的資源搜索技術(shù)及中心節(jié)點的選取算法做進(jìn)一步研究。
[1]Ora m A.Peer-to-peer:har nessing the power of disr uptive technology[M].[S.1.]:O'Reilly Press,2001.
[2]Saroiu S,Gu mmadip K,Gribble S D.A measurement st udy of P2P file sharing systems[C]//Proc of Multi media Co mputing and Net wor king Conference,2002:18-25.
[3]Buragohain C,Agrawal D,Sun S.A game theoretic fra me-wor k f or incentives in P2P systems[A].Pr oc of the 3rd Inter national Conference on Peer-to-Peer Co mputing[C] .Washingt on DC:IEEE Co m-puter Society,2003:48-56.
[4]ZHOU Jian-ying,Goll mann D.An efficient non-repudiation proto-col[A].Pr oc of the 10t h IEEE Wor kshop Co mputer Security Foun-dations[C].Washingt on DC:IEEE Co mputer Society,1997:126-132.
[5]竇文,王懷民,賈焰,等 .構(gòu)造基于推薦Peer2to2Peer環(huán)境下的Trust模型[J].軟件學(xué)報,2004,15(4):571-583.
[6]Ka mvar S D,Schlosser M T.Eigen Rep:Reputation manage ment in P2P net wor ks[A].Lawrence S,ed.Pr oc.of the 12t h Int’l World Wide Web Conf[C].Budapest:ACM Press,2003:640-651.
[7]Xiong L,Liu L.Peer Tr ust:Supporting reputation2based tr ust f or peer2to2peer electr onic co mmunities[J].IEEE Transactions on Kno wledge and Data Engineering,2004,16(7):843-857.
[8]Cornelli F.Choosing reputable servents in a P2P net wor k[A].Lassner D,ed.Proc.of the 11th Int'l World Wide Web Conf[C].Hawaii:ACM Press,2002:441-449.
[9]Wang Y,Vassileva J.Bayesian net wor k_based tr ust model[A].Pr oceedings of the IEEE/WIC Inter national Conference on Web Intelligence[C].Halifax,Canada,2003:372-378.
[10]李俊清,李元振 .基于貝葉斯網(wǎng)絡(luò)的時間感知的P2P信任管理模型[J].計算機(jī)工程與設(shè)計,2008,29(12):5971-5975.
[11]高迎,程濤遠(yuǎn).P2P環(huán)境下基于Bayesian網(wǎng)絡(luò)的多粒度信任模型[J].計算機(jī)工程與應(yīng)用,2007,43(13):11-13.
[12]田春岐,江建慧 .一種基于聚集超級節(jié)點的P2P網(wǎng)絡(luò)信任模型[J].計算機(jī)學(xué)報,2010,33(2):345-355.