嚴(yán)軼群,鄭 剛
(安徽工程大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 蕪湖241000)
近年來,對(duì)等網(wǎng)絡(luò)(P2P)技術(shù)在協(xié)同工作、分布式信息或資源共享、大規(guī)模并行計(jì)算、即時(shí)通信等領(lǐng)域獲得了廣泛的應(yīng)用[1]。與此同時(shí),由于P2P網(wǎng)絡(luò)的開放、匿名、自治以及節(jié)點(diǎn)之間松耦合等特性使得P2P網(wǎng)絡(luò)中存在大量惡意和搭便車節(jié)點(diǎn)致使節(jié)點(diǎn)之間合作受限,阻礙了P2P網(wǎng)絡(luò)應(yīng)用的進(jìn)一步發(fā)展。以Gnutella文件共享系統(tǒng)為例,有70%的節(jié)點(diǎn)是free riders[2]由于P2P環(huán)境是完全開放的分布式網(wǎng)絡(luò),共享資源分散在網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)中,因此傳統(tǒng)的集中式環(huán)境下的安全策略及機(jī)制不能直接應(yīng)用于P2P網(wǎng)絡(luò)下,需要建立一種有效的信任機(jī)制加強(qiáng)系統(tǒng)的可靠性和安全性。理論研究表明,依據(jù)節(jié)點(diǎn)可信度的高低來區(qū)分節(jié)點(diǎn)的不同服務(wù)能有效提高系統(tǒng)的可用性[3]。
目前,圍繞如何更為合理準(zhǔn)確地刻畫節(jié)點(diǎn)的信任,研究者從不同的角度針對(duì)P2P環(huán)境下不同應(yīng)用模式提出了各種信任模型,如基于PKI的信任模型[4]、基于全局信譽(yù)度的信任模型[5-6]、基于本地信譽(yù)度的的信任模型[7-8]和基于Bayesian網(wǎng)絡(luò)的信任模型[9-11]?,F(xiàn)有的信任模型大多忽略興趣對(duì)節(jié)點(diǎn)信譽(yù)的影響,而是將節(jié)點(diǎn)在不同興趣域的可信度累計(jì)成一個(gè)整體,隱藏了節(jié)點(diǎn)在特定興趣域內(nèi)的行為細(xì)節(jié),因此惡意節(jié)點(diǎn)可通過在某個(gè)興趣域的高可信行為隱藏其在另一興趣域內(nèi)的惡意行為。為解決此類問題,筆者參考人類社會(huì)網(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é)點(diǎn)興趣偏好不同,將網(wǎng)絡(luò)劃分成若干個(gè)互不重疊的獨(dú)立的興趣域,每個(gè)興趣域內(nèi)包含一個(gè)權(quán)威節(jié)點(diǎn)以及若干個(gè)普通節(jié)點(diǎn),節(jié)點(diǎn)之間的信任關(guān)系被分解為同一興趣域內(nèi)節(jié)點(diǎn)之間的信任以及不同興趣域節(jié)點(diǎn)間的信任,根據(jù)交易節(jié)點(diǎn)是否在同一興趣域內(nèi),采用不同的方法來計(jì)算節(jié)點(diǎn)的信任值。
模型基本思想如下:普通節(jié)點(diǎn)j對(duì)目標(biāo)節(jié)點(diǎn)i發(fā)出交易請(qǐng)求,若節(jié)點(diǎn)i與j在同一興趣域內(nèi),則節(jié)點(diǎn)j在本地存儲(chǔ)與節(jié)點(diǎn)i的交易信息;若節(jié)點(diǎn)i與j不在同一興趣域內(nèi),則節(jié)點(diǎn)j將交易結(jié)果反饋給其所在興趣域內(nèi)的權(quán)威節(jié)點(diǎn),權(quán)威節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)j的反饋結(jié)果建立對(duì)節(jié)點(diǎn)i所在興趣域的權(quán)威節(jié)點(diǎn)的信任關(guān)系。計(jì)算同一興趣域內(nèi)節(jié)點(diǎn)的信任度時(shí),按照興趣域內(nèi)基于局部推薦的信任機(jī)制計(jì)算;而不同興趣域的權(quán)威節(jié)點(diǎn)的信任度按照興趣域內(nèi)所有節(jié)點(diǎn)對(duì)其的全局推薦來計(jì)算[12]。
在動(dòng)態(tài)分布的P2P網(wǎng)絡(luò)環(huán)境下,節(jié)點(diǎn)可隨時(shí)加入和退出網(wǎng)絡(luò),每個(gè)節(jié)點(diǎn)獨(dú)立計(jì)算和更新信任值都會(huì)為信任模型的建立和重新做出貢獻(xiàn),因此在建立信任模型時(shí)需要考慮每個(gè)加入節(jié)點(diǎn)的參考。而BIDT M模型是基于興趣域網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,根據(jù)交易雙方節(jié)點(diǎn)是否處于同一興趣域內(nèi),所采取的信任度計(jì)算方法不同,因此模型在計(jì)算節(jié)點(diǎn)信任值前需研究興趣域的劃分方法,興趣相似度的度量及新節(jié)點(diǎn)加入到某一興趣域的過程。
1)興趣域的劃分方法 該模型在劃分興趣域時(shí)引入VSM(向量空間模型),加入到網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的興趣偏好用一個(gè)n維向量表示,利用向量中每個(gè)分量的賦值來對(duì)應(yīng)表達(dá)節(jié)點(diǎn)的“興趣偏好”。若節(jié)點(diǎn)偏好某項(xiàng)資源則對(duì)應(yīng)分量賦值為1,若節(jié)點(diǎn)不愛好某種資源,則對(duì)應(yīng)分量設(shè)置為0。
2)相似度的度量 節(jié)點(diǎn)的加入到哪個(gè)興趣域是基于節(jié)點(diǎn)與該興趣域的興趣相似程度來判定的,計(jì)算節(jié)點(diǎn)間興趣相似度采用余弦相似度的方法。將節(jié)點(diǎn)的興趣用n維向量表示,用向量間的余弦夾角來度量節(jié)點(diǎn)間的相似程度。假設(shè)有2個(gè)節(jié)點(diǎn)i,j,它們?cè)趎維空間上的興趣分別表示為向量→i和向量→j,則它們之間的興趣相似度為:
設(shè)i為等待加入節(jié)點(diǎn),j為已加入節(jié)點(diǎn),Tpi為節(jié)點(diǎn)i的信任值,λ為允許節(jié)點(diǎn)加入的初始信任閾值(0<λ<0.5),δ為允許加入的興趣相似度閾值,通過δ來控制節(jié)點(diǎn)i可否加入節(jié)點(diǎn)j所在的興趣域,si m為計(jì)算興趣相似度的函數(shù)。加入過程如下:
(1)節(jié)點(diǎn)i向節(jié)點(diǎn)j發(fā)出加入請(qǐng)求。
(2)節(jié)點(diǎn)j查詢節(jié)點(diǎn)i的初始信任值Tpi,若Tpi>λ,節(jié)點(diǎn)j將消息發(fā)給興趣域內(nèi)的中心節(jié)點(diǎn),并與節(jié)點(diǎn)i做興趣比較;若Tpi<λ,則節(jié)點(diǎn)j拒絕i加入。
(3)當(dāng)si m(i,j)小于閾值δ時(shí),節(jié)點(diǎn)j將i的信息轉(zhuǎn)發(fā)給興趣域內(nèi)的中心節(jié)點(diǎn)P1,P1負(fù)責(zé)將節(jié)點(diǎn)推薦給其他鄰居中心節(jié)點(diǎn)(如P2),同時(shí)給節(jié)點(diǎn)i發(fā)出拒絕消息;若鄰居中心節(jié)點(diǎn)(P2)與i的興趣相似,則P2向節(jié)點(diǎn)i發(fā)出同意接受其加入的消息。若si m(i,j)≥δ,節(jié)點(diǎn)j向節(jié)點(diǎn)i發(fā)送同意接受加入本興趣域的消息,節(jié)點(diǎn)i可以在j所在的興趣域內(nèi)的中心節(jié)點(diǎn)(P1)處完成注冊(cè),加入P2P網(wǎng)絡(luò)。
(4)中心節(jié)點(diǎn)P1在轉(zhuǎn)發(fā)節(jié)點(diǎn)i的請(qǐng)求時(shí)采用的是隨機(jī)泛洪算法,節(jié)點(diǎn)i可能會(huì)收到若干個(gè)中心節(jié)點(diǎn)的響應(yīng)消息。模型中選擇響應(yīng)時(shí)間最短的中心節(jié)點(diǎn)加入。
同一興趣域內(nèi)某一節(jié)點(diǎn)的信任值由2部分構(gòu)成:直接信任值和推薦信任值。
1)直接信任度 域內(nèi)直接信任度Di(j)表示同一興趣域內(nèi)節(jié)點(diǎn)i根據(jù)與節(jié)點(diǎn)j直接交易歷史記錄而得出的對(duì)節(jié)點(diǎn)j的信任。
為了準(zhǔn)確獲取節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的直接信任值,在計(jì)算直接信任值時(shí)引入如下幾個(gè)參數(shù):①交易總次數(shù)N(j)。②交易滿意程度S(i,j)。交易滿意和不滿意程度相應(yīng)地反映了節(jié)點(diǎn)在交易中的好壞行為,可以使交易雙方在交易中有更加良好的行為。③交易量大小M(i,j)。交易量大小可以防止一些惡意節(jié)點(diǎn)通過多次小規(guī)模成功交易提高它們的信任值,而在大規(guī)模交易中進(jìn)行欺騙。④時(shí)間因子Z∈(0.1)。引入時(shí)間因子表示信任是隨時(shí)間動(dòng)態(tài)變化的,距離當(dāng)前交易時(shí)間越近,節(jié)點(diǎn)行為越可信。引入上述參數(shù)后,則域內(nèi)直接信任度的計(jì)算公式如下:
2)推薦信任度 推薦信任是節(jié)點(diǎn)間根據(jù)第三方的推薦而形成的信任。域內(nèi)推薦信任度Rj是在興趣域I Dj內(nèi)所有與j有過交互的節(jié)點(diǎn)直接信任度的加權(quán)值:
式中,M為在興趣域I Dj內(nèi)向節(jié)點(diǎn)i提供信任推薦的節(jié)點(diǎn)數(shù);K是與j有過直接交易的節(jié)點(diǎn);ak是節(jié)點(diǎn)k與興趣域的相似度系數(shù),在模型中可以作為節(jié)點(diǎn)的域服務(wù)信譽(yù)推薦強(qiáng)度,相似度系數(shù)越大,推薦越可信;Dk(j)的計(jì)算同式(2)。
同一興趣域內(nèi)節(jié)點(diǎn)i對(duì)j的域內(nèi)信任度Trij為:
式中,參數(shù)α、β是用來調(diào)節(jié)興趣域內(nèi)直接信任度和域內(nèi)推薦信任度的權(quán)重,α+β=1(0.5<α<1)。參數(shù)設(shè)置表明興趣域內(nèi)節(jié)點(diǎn)信任值的計(jì)算以節(jié)點(diǎn)交互的直接經(jīng)驗(yàn)為主,并綜合興趣域的局部推薦信任值。
各個(gè)興趣域之間的信任度計(jì)算是通過中心節(jié)點(diǎn)完成的,中心節(jié)點(diǎn)性能穩(wěn)定,存儲(chǔ)能力強(qiáng),在線時(shí)間長(zhǎng),因此可采用基于全局推薦信任模型計(jì)算。
假設(shè)P2P網(wǎng)絡(luò)存在的興趣域V={D1,D2,D3,…,Dn},NDiDj代表興趣域Di與興趣域Dj間交易總次數(shù),SDiDj代表興趣域Di與Dj交易成功次數(shù),F(xiàn)DiDj代表興趣域之間交易失敗次數(shù)。
域間推薦信任度是興趣域Di對(duì)興趣域Dk的信任評(píng)估程度,是節(jié)點(diǎn)i與本興趣域外的未知節(jié)點(diǎn)k進(jìn)行交互前從興趣域Di的中心節(jié)點(diǎn)處得到關(guān)于興趣域Dj的間接評(píng)價(jià)。由于節(jié)點(diǎn)i與興趣域外的節(jié)點(diǎn)交易機(jī)率較小,因此為了簡(jiǎn)化計(jì)算,興趣域間的交互信任度可采用如下公式來計(jì)算:
節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的綜合信任度Lij是反映2個(gè)節(jié)點(diǎn)間信任關(guān)系的最終信任值,計(jì)算公式為:
在計(jì)算節(jié)點(diǎn)綜合信任度時(shí)應(yīng)以域內(nèi)信任度為主,以興趣域外的節(jié)點(diǎn)信任度為輔,參數(shù)γ為調(diào)節(jié)域內(nèi)推薦度占綜合信任度的比重,滿足0.5<γ<1。
為檢測(cè)BIDT M的性能,構(gòu)造了2個(gè)仿真試驗(yàn),將BIDT M模型與Eigen Rep模型性能進(jìn)行比較,通過仿真對(duì)比分析2模型的性能差異,仿真時(shí),在Redhat Linux 9.0,P2Psi m0.3的基礎(chǔ)上搭建了一個(gè)文件共享應(yīng)用的實(shí)驗(yàn)平臺(tái),即請(qǐng)求節(jié)點(diǎn)從目標(biāo)節(jié)點(diǎn)下載所需文件,文件下載成功作為交易成功標(biāo)準(zhǔn),交易成功率是反映信任模型有效性的一個(gè)重要依據(jù)。
設(shè)系統(tǒng)中共包含100個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)擁有的共享文件數(shù)為10,交易總次數(shù)為4000次。初始狀態(tài)下,設(shè)所有節(jié)點(diǎn)的初始域內(nèi)信任度為0.5。域內(nèi)直接信任度比重α=0.7,域內(nèi)推薦信任度比重β=0.3,權(quán)重因子γ=0.7,興趣相似度閾值δ=0.8。
試驗(yàn)時(shí),設(shè)置2類節(jié)點(diǎn):一類是誠(chéng)實(shí)節(jié)點(diǎn)(honest node)提供真實(shí)文件上傳服務(wù),對(duì)其他節(jié)點(diǎn)推薦是可靠的。另一類為惡意節(jié)點(diǎn)(si mple malicious peer),惡意節(jié)點(diǎn)只提供虛假文件。
1)實(shí)驗(yàn)1:對(duì)比交易失敗的次數(shù) 4000次交互中,傳統(tǒng)模型交互失敗次數(shù)為120次,而BIDT M模型交易失敗次數(shù)為65次,有效地減少了交易失敗次數(shù),較大的提高了P2P網(wǎng)絡(luò)文件下載的成功率(見圖1)。
2)試驗(yàn)2:對(duì)比網(wǎng)絡(luò)中惡意節(jié)點(diǎn)所占比例對(duì)信任模型的影響 試驗(yàn)結(jié)果如圖2所示。雖然隨著惡意節(jié)點(diǎn)數(shù)的增多,2個(gè)模型中虛假文件下載比例都在逐漸上升,但由于BIDT M模型在交易過程中引入懲罰因子、推薦權(quán)重因子來動(dòng)態(tài)調(diào)整推薦信息所占的權(quán)重,能更快速區(qū)分出惡意節(jié)點(diǎn),因此其虛假文件下載比例較傳統(tǒng)模型更低。
圖1 交易有效性對(duì)比
圖2 虛假文件下載比例隨不同規(guī)模惡意節(jié)點(diǎn)的變化規(guī)律
筆者在已有模型的基礎(chǔ)上提出一種基于興趣域的P2P信任模型,節(jié)點(diǎn)信任值的計(jì)算綜合考慮了同一興趣域內(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é)點(diǎn)的攻擊,提高交易成功率。后續(xù)研究可以在此模型的基礎(chǔ)上對(duì)P2P網(wǎng)絡(luò)的資源搜索技術(shù)及中心節(jié)點(diǎn)的選取算法做進(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é)報(bào),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ò)的時(shí)間感知的P2P信任管理模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(12):5971-5975.
[11]高迎,程濤遠(yuǎn).P2P環(huán)境下基于Bayesian網(wǎng)絡(luò)的多粒度信任模型[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(13):11-13.
[12]田春岐,江建慧 .一種基于聚集超級(jí)節(jié)點(diǎn)的P2P網(wǎng)絡(luò)信任模型[J].計(jì)算機(jī)學(xué)報(bào),2010,33(2):345-355.