摘要 對P2P網絡存在的問題進行了分析,闡述了建立P2P網絡信任模型的需求。在對現(xiàn)有P2P網絡中的信任模型進行總結歸納后,指出了以后研究的方向。
1、引言
隨著Internet的廣泛普及,端用戶系統(tǒng)資源的豐富,以及網絡帶寬的快速增加,傳統(tǒng)的Client/Server網絡應用模式中服務器的性能瓶頸以及單點失效的問題不僅限制了端系統(tǒng)資源的充分利用,同時也越來越無法滿足新的分布式應用的需求。而P2P網絡在協(xié)同工作、分布式信息共享、大規(guī)模并行計算等方面顯示出的獨特優(yōu)勢,使其成為新的發(fā)展熱點。
P2P網絡是基于節(jié)點愿意共享資源這一基本假設的,即每個節(jié)點共享自己的資源,并從其他節(jié)點那里獲取自己需要的資源。然而,這種個人為公眾提供資源,且節(jié)點行為無約束的工作模式導致P2P網絡存在三個問題。
(1)搭便車(Free-Riding)問題
Free-Rriding指節(jié)點只消費其他節(jié)點貢獻的資源,而不共享自己的資源。以Gnutella P2P文件共享系統(tǒng)為例,70%的節(jié)點是Free-Rider。最新的監(jiān)測也表明在eDonkey文件共享網絡中,大約有80%的節(jié)點是Free-Rider。
(2)“公共物品的悲哀”(the Tragedy of the Commons)問題
“公共物品的悲哀”指網絡資源作為一種非排他的公共資源,被大多數P2P節(jié)點無節(jié)制地使用,據統(tǒng)計,P2P數據流量占因特網總流量達60%,并且在用戶總數沒有顯著增長的情況下,P2P數據流量仍然在快速持續(xù)增長。事實上,P2P網絡理性用戶的根本目的是最大化自己效用,而并不考慮網絡的整體效用。
(3)不可靠服務和欺詐問題
P2P網絡中存在著大量不可靠的服務質量以及欺詐行為。以眾多的文件共享應用為例,25%的文件是偽造文件(Faked Files)。而在類似于eBay這樣的電子商務中,這種不可靠服務和欺詐行為給用戶帶來的影響則更為嚴重。
因此,必須設計有效的機制來規(guī)范P2P網絡中節(jié)點的行為來解決上述三個問題,從而提高P2P服務的可用性,促使節(jié)點進行有效的協(xié)作并合理使用網絡資源。
2、為什么是信任模型
在節(jié)點具有自主權利,自組織的P2P網絡中,如何來規(guī)范節(jié)點的行為呢?事實上,P2P網絡提供了真實世界中人類交流的網絡環(huán)境,是以人為中心的網絡,與社會網絡具有同構性。而信任作為社會存在的一個整體部分,是社會網絡中人與人之間的核心關系。人類社會通過基于信譽的信任關系與激勵機制來約束人們的日常生活行為。基于信任的P2P網絡與人類社會網絡的相似性體現(xiàn)在P2P網絡中個體之間的彼此交互會為彼此留下零星的“信用”信息;個體對交互對象具有充分的選擇權利;個體往往不看重絕對的可靠性或服務質量,即個體可以忍受少量錯誤的選擇帶來的損失,比如文件共享應用;個體有義務為網絡中的其它個體提供推薦信息。因此,可以利用信任關系刻畫P2P網絡中節(jié)點之間的關系,并采取基于信任的激勵機制解決上述問題。
(1)基于信任值提供區(qū)分服務
在文件共享P2P網絡中,可以根據節(jié)點對網絡資源的貢獻程度,提供區(qū)分服務。例如,Kazaa將節(jié)點提供的資源與消耗資源的比值作為節(jié)點參與到系統(tǒng)中的等級,并將其作為節(jié)點享受服務的優(yōu)先級。BitTorrent中節(jié)點根據對方上傳的速率決定自己上傳的速率。在eDonkey網絡中節(jié)點根據本地信任值來設定請求節(jié)點在下載隊列中的優(yōu)先級。
對惡意使用網絡資源的節(jié)點進行懲罰。例如R.T.B.Ma提出的激勵機制關注于類Gnutella網絡中文件傳輸時的帶寬分配問題,根據節(jié)點對網絡的貢獻為其分配帶寬資源。當節(jié)點共享數據時,貢獻值增加從而激勵節(jié)點共享。當節(jié)點從過載節(jié)點下載文件時,貢獻值減小,從而抑制節(jié)點對公共資源的消耗。
基于區(qū)分服務的激勵機制可促使節(jié)點之間合作并合理使用網絡資源,從而解決搭便車和“公共物品的悲哀”問題。
(2)根據節(jié)點的信任值選擇服務提供者
節(jié)點可以基于信任值來選擇與之進行交易的對方。例如,在eBay網絡中,購買信任值較高的商家的產品,從而激勵商家保持良好的銷售行為并提高可靠的產品。從而有效抑制P2P網絡中的不可靠服務和欺詐問題。
2.1 信任的概念
信任是一個多學科的概念,描述了在特定的情境下,一個個體在可能帶來不利后果的情況下,愿意相信另一個個體具有某種能力或能夠完成某項任務的主觀信念。與信任緊密聯(lián)系的概念是信譽,信譽來自個體的社會網絡中,是基于觀察到的個體過去行為或過去行為的信息而對個體行為的期望。信譽和信任之間的差別可以用我信任你因為你有好的信譽或我信任你盡管你的信譽不好來說明。由此可見,信譽強調的是一個群體對某一個體或群體的共同的可信賴度,而信任更多強調的是信任個體對被信任方的主觀信賴。在本文中所提及的信任指的是信任方對被信任方的主觀信任,即信任方根據自己的經驗或同時參考被信任方的信譽而得出的被信任方的可信賴程度。在資源共享的P2P網絡中,體現(xiàn)節(jié)點可信賴程度的不僅包括節(jié)點的諸如計算、存儲、網絡帶寬等方面的客觀能力,同時與節(jié)點參與到P2P網絡中的行為特征相關,例如節(jié)點的在線時長、友好程度等。在電子商務類的P2P網絡中,賣家的可信賴程度與商品說明、與買家的溝通、運送時間、運送及手續(xù)費等相關。在實際的應用系統(tǒng)中,將所有影響節(jié)點可信度的信任因素進行量化并綜合得出節(jié)點的可信度并不可行。因此,一般情況下,在P2P網絡的信任模型中,根據節(jié)點彼此之間對交易的滿意程度來確定可信度。
2.2 信譽、信任與互惠的關系
如圖1所示,如果節(jié)點A對其他節(jié)點有互惠行為,那么A就會有好的信譽,從而節(jié)點A會被其他節(jié)點信任,并在交易中得到其他節(jié)點的互惠行為。該圖涉及到了信任網絡中的互惠原則,或者也可以稱之為激勵機制問題。正如社會領域,只有當過去的行為對未來有影響時(社會學稱之為“未來陰影(Shadow of Future)”現(xiàn)象),人們才有動機去建立彼此間的信任關系。因此,信任模型與激勵機制之間具有良好的互動關系,可以有效促進P2P網絡中節(jié)點之間的合作。
圖1 信譽、信任與互惠簡單關系模型
3、信任模型分類
在P2P網絡中,存在著各種各樣的攻擊模型,包括:欺詐、假冒、詆毀、聯(lián)合欺詐、具有前端節(jié)點(前端節(jié)點一般提供可靠的服務,對合作節(jié)點給予公正的評價。但這些前端節(jié)點試圖通過給予集團內部惡意節(jié)點高的正面評價來掩飾惡意節(jié)點的行為)的聯(lián)合欺詐、節(jié)點改變ID重新進入網絡以及節(jié)點間歇性地提供不可信信息和服務,或是累積信譽到了一定高度時,利用其較高的信任值,進行詐騙、詆毀或聯(lián)合欺詐等攻擊行為。目前的信任模型大多集中于解決某幾類攻擊問題,根據建立信任關系的方法,大致可分為基于可信第三方的信任模型和基于反饋/評價的信任模型兩類。
3.1 基于可信第三方的信任模型
這類信任模型采用傳統(tǒng)安全體系中的PKI技術,通過網絡中的少數領袖節(jié)點來監(jiān)督整個網絡的運行情況,并定期通告違規(guī)節(jié)點或對其進行處罰。這些領袖節(jié)點的合法性通過CA頒發(fā)的證書加以保證。
這類系統(tǒng)往往依賴于少量中心節(jié)點,因此存在單點失效、以及可擴展性的問題。
3.2 基于反饋/評價的信任模型
P2P網絡中的信任模型大都屬于此類,根據被信任客體的不同,存在為資源建立可信度和為交易節(jié)點建立可信度兩大類。前者關注于P2P網絡中可獲取信息的可信度,與信息提供者的可信度并不建立直接聯(lián)系。在這類信任模型中,節(jié)點對信息的可靠性進行判定,并給出正面或負面的反饋評價,并進一步計算其信任值。例如,在文件共享應用Kazaa中,只考慮正面的反饋,采取數據簽名的方式來建立可信度,即如果用戶認可信息的真實性,則進行簽名,信息獲得的簽名越多,其真實性越高。這種為資源建立可信度的信任模型局限于信息共享的應用,不具有廣泛的適用性。下文針對為交易節(jié)點建立可信度的信任模型進行說明。
(1)全局信任模型
這類信任模型對網絡中所有交易反饋進行分析并為每個節(jié)點建立惟一的可信度。
全球最大的拍賣網站eBay通過交易結束后,交易雙方分別給出正面、負面或中立的反饋評價,并利用正面評價數減去負面評價數得出某個體的信譽。該方法簡單易理解,但無法處理交易者給出的不公正的反饋。S.Kamvar提出的全局信任模型EigenTrust根據節(jié)點的交易歷史,計算本地的信任度,并考慮節(jié)點的推薦信任信息,通過節(jié)點間信任度的迭代來實現(xiàn)信任的傳播,從而為每個節(jié)點計算全局可信度。W.Dou提出了與EigenTrust相似的全局信任模型,解決了EigenTrust在求解全局可信度時解的存在性問題。A.Yamamoto提出的P2P網絡分布式信任模型把節(jié)點之間的信任關系建模為Web頁面的鏈接,利用Pagerank算法采用分布式的方式來計算節(jié)點的信任值。但這種建模方式忽略了節(jié)點與不同節(jié)點信任關系之間的差別,其合理性值得商榷。L.Xiong提出的PeerTrust為了更有效的評估節(jié)點的可信度以及描述P2P社區(qū)中各種惡意行為,不僅將對交易滿意程度的反饋作為評估信任的參數,同時考慮了交易的總數目,反饋的可信程度,交易的上下文因子、社區(qū)上下文因子。仿真結果表明,該信任模型能夠有效抑制惡意節(jié)點的攻擊。L.Mekouar提出了部分分布式P2P網絡(例如KaZaa)中的信譽管理機制RMS_PDN。在RMS_PDN中超級節(jié)點傳遞節(jié)點之間的信任評價,使每個超級節(jié)點能夠記錄其葉節(jié)點對系統(tǒng)的有效貢獻并作為葉節(jié)點的可信度。但RMS_PDN直接利用所有節(jié)點的反饋信息,容易受到惡意節(jié)點的聯(lián)合欺詐攻擊。
全局信任模型忽略了信任的私人化特征,對于某個特定的節(jié)點,其他節(jié)點對他的信任值都是相同的。簡單的全局信任模型容易受到惡意節(jié)點聯(lián)合欺詐的攻擊。而復雜的全局信任模型需要節(jié)點之間合作處理信任信息,計算和通信開銷都較大。此外,在大規(guī)模的P2P網絡中為每個節(jié)點計算全局信任值的必要性和可行性仍有待進一步研究。
(2)局部信任模型
已有關于P2P網絡的信任模型大多關注于提供機制使得節(jié)點可以根據共享信息為給定節(jié)點計算局部信任值。Y.Wang提出了P2P環(huán)境下基于貝葉斯網絡的信任模型。該信任模型主要關注于描述信任的不同方面,使得節(jié)點可以根據不同的場景來按需獲取節(jié)點不同方面的性能。該信任模型能夠適應于規(guī)模較小的Gnutella網絡,或節(jié)點交互集中的Gnutella網絡。S.Lee提出了一種全分布式的方式來存儲用戶的信譽信息。與其他信任系統(tǒng)不同的是,在NICE系統(tǒng)中,節(jié)點i存儲的信任信息是其他節(jié)點對i所提供服務的滿意反饋,因此節(jié)點有動機存儲信任信息。L-Xiong提出的PeerTrust機制允許節(jié)點根據提供反饋信息的節(jié)點與其自身的個體相似性選擇反饋信息,計算對給定節(jié)點的主觀可信度,利用該方法可防止節(jié)點的聯(lián)合欺詐攻擊,但在大規(guī)模P2P網絡中由于交易的稀疏性,并不一定存在足夠的具有個體相似性的節(jié)點。
在基于共享信息的局部信任模型中,共享信息的獲取有兩種途徑:一是通過向其他節(jié)點洪泛信任請求獲得,該方法可擴展性差;另一種是通過采用DHT機制的P2P存儲系統(tǒng)如Chord等獲得,這種方法不適合于節(jié)點頻繁加入和離開系統(tǒng)的P2P系統(tǒng)。此外,這類基于共享信息的局部信任模型也不適合于節(jié)點之間不能進行管理信息直接交互的部分分布式P2P網絡。
4、結束語
在沒有有效管理機制的P2P網絡中,建立能夠抑制所有攻擊模式的信任模型是非常困難的,除了要能夠抑制節(jié)點的攻擊外,在建立信任模型的時候,要充分考慮信任模型是否具有規(guī)?蓴U展性,在信任計算以及信任信息存儲方面的可擴展性,以及信任信息傳播過程中的帶寬開銷問題。此外,在節(jié)點動態(tài)進出網絡頻繁的情況下,信任模型的容錯性或健壯性也是需要特別強調的。
事實上,在P2P網絡信任模型的研究方面,應充分借鑒真實社會的信譽管理體制,針對交易發(fā)生的不同場景為節(jié)點建立可信度,并將節(jié)點納入到特定的群體來約束和規(guī)范節(jié)點的行為。因此,基于群組的信譽機制是以后研究的方向,已有研究工作在該方面進行了有益的探索,但仍不成熟。此外,在研究基于信任模型的激勵機制時,不僅要考慮P2P網絡內部節(jié)點之間的合作,也應考慮P2P應用與網絡中其他應用之間的合作。例如,在文件共享P2P應用中,當網絡帶寬利用率達到某一閾值時,對仍然掠奪性使用網絡資源的節(jié)點進行懲罰。P2P應用與網絡中其他應用的和諧共存,才是P2P應用發(fā)展的長久之道。