齊麗麗
(濰坊學院,山東 濰坊 261061)
作為改變現有Internet應用模式的主要技術之一,計算機對等網絡(Peer-to-Peer netwo rks,簡稱為P2P)是目前新一代互聯網技術研究的熱點之一。相對于傳統(tǒng)的服務器/客戶機(C/S)模式,P2P系統(tǒng)中參與的節(jié)點(Peer)可以貢獻自己的資源,節(jié)點既可以充當服務器,也可以同時充當客戶機。目前,Internet提供的服務大都采用傳統(tǒng)的C/S(client/server,客戶/服務器)模型,但這種模型容易導致以下問題:第一,對服務器的性能要求非常高,某段網絡如果是帶寬瓶頸會造成整個網絡的擁塞,存在性能瓶頸問題,網絡可擴展性和資源可用性較差;第二,服務器容易成為黑客的攻擊目標,存在安全等問題。
為了解決C/S存在的問題,20世紀90年代末,P2P(Peer-to-Peer,對等網)作為一項重要的技術而倍受關注,成為學術界討論的熱點。P2P研究涉及的方面主要包括:拓撲結構、資源的尋址和定位、安全與可靠性、分布式數據存儲、大規(guī)模并行計算等。P2P的應用更是涵蓋了諸多領域,如文件共享和交換、即時通訊交流、對等計算、分布式存儲、搜索引擎、協同處理與共享平臺、電子商務、網絡游戲等等。目前應用的最為廣泛的還是文件共享和交換(簡稱為文件共享),本文的研究工作就是基于P2P文件共享系統(tǒng)的信任管理。
信任模型采用聲譽管理方法,在選擇文件下載時選擇聲譽好的節(jié)點,參照了人類社會的信任特性:將P2P文件共享系統(tǒng)中的信任細分為資源可信性和推薦可靠性,以及負面評價優(yōu)先原則。
網絡社會與人類社會有一定的相似性,因此,信任關系的建立可以參照人類社會進行。將信任分為資源可信性和推薦可靠性,正是信任的特定背景性和客觀性決定的。對應于人類社會中,有些人在與其他人交易中非常誠實,可以信任,但當被問及對別人的信任評價時,其觀點卻不一定可靠了,因為每個人對他人的信任傾向也是不一樣的,有些人傾向于不相信別人,而有一些人則更傾向于相信別人。
負面評價優(yōu)先原則,即節(jié)點的負面行為將作為首先否定的條件。在社會生活中人們往往更傾向于相信從沒犯過錯誤的,有過一次不誠實的交易要比許多次誠實的交易更容易受到他人的重視。在本模型的推薦可信度的合成以及文件下載節(jié)點的選擇等,都使用這一原則。
普通的P2P文件共享系統(tǒng)(如Gnutella)中文件共享的操作過程可以細分為四步。
第一步,文件查詢(Query)。每個對等點都可以發(fā)出某個條件(一般是文件名)的文件查詢,查詢消息按照系統(tǒng)定義好的機制發(fā)送到系統(tǒng)中的有限個節(jié)點。如在 Gnutella中,查詢消息按洪泛方式進行,首先傳播到所有相鄰節(jié)點,然后再傳播到相鄰節(jié)點的相鄰節(jié)點,直到達到預先確定的層次為止。
第二步,文件查詢響應(Response)。系統(tǒng)中的其他節(jié)點收到文件查詢消息后,如果其共享文件夾中有完全符合條件的或部分符合條件的文件,則回答響應消息。
第三步,對等點挑選下載文件。對等點從響應消息中根據需要挑選要下載的文件。
第四步,文件下載。從一個或幾個源節(jié)點下載挑選的文件。
這種簡單的節(jié)點選擇過程和文件下載過程無安全保障,容易出現虛假和惡意信息的泛濫,也極易受到黑客的攻擊。
在普通的文件共享系統(tǒng)中建立信任模型,實際上主要是讓對等點在選擇下載節(jié)點、文件下載過程中增加信任策略,以選擇更安全的下載節(jié)點和保障下載文件的完整性等方面來增加安全性,這樣信任模型就成為了P2P文件共享系統(tǒng)的一個組成部分。
針對P2P文件共享系統(tǒng)中的安全需求,此模型使用基于資源可信度和推薦可靠度相結合的聲譽管理方法來建立信任模型,將節(jié)點的信任分為資源可信性和推薦可靠性兩個方面,將聲譽的計算綜合正負兩方面的評價,并對這些反饋的評價予以加權平均,并充分考慮安全性。
本文模型將節(jié)點的信任分為資源可信性和推薦可靠性兩方面,資源可信性是針對直接信任而言的,我們將直接信任與節(jié)點提供的資源質量直接聯系在一起,用基于歷史評價與最近評價加權整合的可信變量記載目標節(jié)點提供資源質量的歷史記錄,即目標節(jié)點的可信度,可信度是作為選擇文件下載節(jié)點的依據;推薦可靠性是針對推薦信任而言的,我們將推薦信任與節(jié)點推薦在其他節(jié)點時判斷的正確程度相聯系,用表示可靠度的變量來記載目標節(jié)點的推薦歷史記錄,即目標節(jié)點可靠度,可靠度是作為合成推薦可信度的依據;對于未知的節(jié)點,則需要向其他節(jié)點詢問其可信度,然后根據這些節(jié)點的可信度反饋值以及其本身的可靠度進行加權合成為未知節(jié)點的可信度即聲譽。
模型首先將文件查詢的響應節(jié)點按提供文件的MD5哈希值分組,提供文件哈希值相同的節(jié)點被分在同一組。
圖1簡要標出了信任的工作流程,在文件查詢挑選分組和文件下載時,采用的信任策略是挑選低不可信度和高可信度的分組或節(jié)點而進行的。這其中,每組的平均可信度和不可信度的計算是最復雜的一步,涉及到可信度、不可信度、可靠度與不可靠的計算。當分組有未知節(jié)點時,要發(fā)出信任查詢,并要將推薦(反饋)的可信度進行合成。

圖1 信任模型的簡要工作流程
對某個節(jié)點而言,完成一次下載后它的可信度t的計算方法為:

其中,t′表示歷史可信度,指的是該節(jié)點歷史上的綜合可信度,a與b是權重因子,要求a+b=1,T是對本次下載的可信評價。
T={1:本次是誠實的交易|0:否則};
每次下載后計算新的可信度t并存入本地數據庫,作為下次從該節(jié)點下載的歷史可信度。
對某個提供第三方節(jié)點可信度的節(jié)點而言,完成一次下載它的可靠度c的計算方法為:

其中,c′表示歷史可靠度,指的是該節(jié)點歷史上的綜合可靠度,a與b是權重因子,要求a+b=1,C是對本次提供可信度的可靠評價。
C={1:本次是正確的評價|0:否則}
每次下載完成后計算新的可靠度c并存入本地數據庫,作為下次從該節(jié)點提供第三方可信度的歷史可靠度。
根據人類社會的行為特性及部分實驗數據,可信度與可靠度的計算式中的a均取2/3,b均取1/3。
本模型用一個變量tru記錄歷史中有過交易的其他節(jié)點的可信度記錄,用可靠度cre記錄其他節(jié)點過去對另外節(jié)點的推薦意見的正確與否。每個節(jié)點都維護著含有可信度和可靠度的本地信任數據庫,用以記錄與其他節(jié)點的歷史交互。例節(jié)點A的本地信任數據庫見表1。

表1 A的本地信任數據庫
節(jié)點的可信度是指其共享的資源而言的,是對資源可信性進行的數值估算;可靠度是指其推薦其他節(jié)點時(即對其它節(jié)點的評價)而言的,是對這種推薦行為的可靠性進行的數值估算。
本模型中將可信度分為直接可信度tB和推薦可信度ci。直接可信度是節(jié)點根據過去的直接交互產生的可信度,直接取自于本地數據庫,若本地數據庫中不存在該節(jié)點的記錄,則令tB=0.5;推薦可信度(可靠度)則是對未知節(jié)點由認識的第三方推薦后產生計算的可信度,直接從本地數據庫取值,如果不存在記錄,則令ci=0.5。不可信度 d tB,記錄著某個節(jié)點的歷史交易中有過的不誠實交易情況,不可信度的計算為 d tB=1-tB;不可靠度(記為 dcB)計算公式為 dcB=1-cB。
當需要知道未知節(jié)點的可信度與不可信度時,本模型使用推薦可信度的合成方法:
如果節(jié)點i發(fā)出關于對未知節(jié)點j的信任查詢,反饋節(jié)點為R1,R2,…,Rk,k<=θC(閾值),其中 Rp對j的可信度評價是tp,不可信度評價是 d tp,而i中對 p的可靠度和不可靠度評價分別是cp、dcp。則i關于j的可信度和不可信度的計算公式為:
節(jié)點j的可信度:

節(jié)點j的不可信度:

挑選分組過程采用信任策略,按低不可信度-高可信度的原則來選擇要下載文件的分組。即根據前面的計算,將所有分組的平均不可信度降序和平均可信度升序排列,選取排在第一的分組。
一旦某個分組被選定,一個提供文件的節(jié)點將被選定用來提供下載。文件下載過程有幾個方面的考慮:節(jié)點的選擇、IP地址過濾、下載過程分段哈希驗證、服務提供端排隊機制等。
(1)選定下載的節(jié)點是被選定組中任意一個或幾個節(jié)點,不可信度小的節(jié)點優(yōu)先。
(2)IP地址過濾,禁止系統(tǒng)連接指定的IP地址,阻止從被禁止的客戶端的上傳和下載。
(3)將要下載的文件分段,在下載過程中進行分段 Hash檢查。
(4)服務端排隊機制。當文件提供方同時有許多節(jié)點要下載該文件時,引進激勵機制:按照本地數據庫中的交易次數m將文件請求者排隊。這樣做的目的是為了鼓勵共享,打擊搭便車者。
每一次文件下載,下載文件的節(jié)點都要更新本地信任數據庫,要更新的是文件提供節(jié)點的可信向量和推薦此節(jié)點的其他節(jié)點的可靠向量。
本文模型中提出了新型的信任評價公式及方法,將新的信任評價方法應用于信任模型中,理論上克服了P2P文件共享操作中存在的信任管理問題,具有計算存儲簡單、能夠有效的隔離惡意節(jié)點、實現網絡負載均衡等優(yōu)點,為信任管理方法在P2P文件共享系統(tǒng)中的應用提供了理論支持。
[1]姜怡.P2P網絡中基于實體行為的分布式信任模型[J].高技術通訊,2005,15(3):1-6.
[2]張鐵軍,張玉清,戰(zhàn)守義.Peer-to-Peer典型應用安全需求分析[J].計算機工程,2005,31(20):56-58,69.
[3]劉進紅.P2P平臺技術[J].計算機工程與應用,2005,20(12):33-36.
[4]趙恒,權義寧,胡予濮.對等網環(huán)境下一種安全有效的信譽體制[J].計算機應用,2005,3(3):551-553.