齊麗麗
(濰坊學(xué)院,山東 濰坊 261061)
作為改變現(xiàn)有Internet應(yīng)用模式的主要技術(shù)之一,計(jì)算機(jī)對(duì)等網(wǎng)絡(luò)(Peer-to-Peer netwo rks,簡(jiǎn)稱(chēng)為P2P)是目前新一代互聯(lián)網(wǎng)技術(shù)研究的熱點(diǎn)之一。相對(duì)于傳統(tǒng)的服務(wù)器/客戶機(jī)(C/S)模式,P2P系統(tǒng)中參與的節(jié)點(diǎn)(Peer)可以貢獻(xiàn)自己的資源,節(jié)點(diǎn)既可以充當(dāng)服務(wù)器,也可以同時(shí)充當(dāng)客戶機(jī)。目前,Internet提供的服務(wù)大都采用傳統(tǒng)的C/S(client/server,客戶/服務(wù)器)模型,但這種模型容易導(dǎo)致以下問(wèn)題:第一,對(duì)服務(wù)器的性能要求非常高,某段網(wǎng)絡(luò)如果是帶寬瓶頸會(huì)造成整個(gè)網(wǎng)絡(luò)的擁塞,存在性能瓶頸問(wèn)題,網(wǎng)絡(luò)可擴(kuò)展性和資源可用性較差;第二,服務(wù)器容易成為黑客的攻擊目標(biāo),存在安全等問(wèn)題。
為了解決C/S存在的問(wèn)題,20世紀(jì)90年代末,P2P(Peer-to-Peer,對(duì)等網(wǎng))作為一項(xiàng)重要的技術(shù)而倍受關(guān)注,成為學(xué)術(shù)界討論的熱點(diǎn)。P2P研究涉及的方面主要包括:拓?fù)浣Y(jié)構(gòu)、資源的尋址和定位、安全與可靠性、分布式數(shù)據(jù)存儲(chǔ)、大規(guī)模并行計(jì)算等。P2P的應(yīng)用更是涵蓋了諸多領(lǐng)域,如文件共享和交換、即時(shí)通訊交流、對(duì)等計(jì)算、分布式存儲(chǔ)、搜索引擎、協(xié)同處理與共享平臺(tái)、電子商務(wù)、網(wǎng)絡(luò)游戲等等。目前應(yīng)用的最為廣泛的還是文件共享和交換(簡(jiǎn)稱(chēng)為文件共享),本文的研究工作就是基于P2P文件共享系統(tǒng)的信任管理。
信任模型采用聲譽(yù)管理方法,在選擇文件下載時(shí)選擇聲譽(yù)好的節(jié)點(diǎn),參照了人類(lèi)社會(huì)的信任特性:將P2P文件共享系統(tǒng)中的信任細(xì)分為資源可信性和推薦可靠性,以及負(fù)面評(píng)價(jià)優(yōu)先原則。
網(wǎng)絡(luò)社會(huì)與人類(lèi)社會(huì)有一定的相似性,因此,信任關(guān)系的建立可以參照人類(lèi)社會(huì)進(jìn)行。將信任分為資源可信性和推薦可靠性,正是信任的特定背景性和客觀性決定的。對(duì)應(yīng)于人類(lèi)社會(huì)中,有些人在與其他人交易中非常誠(chéng)實(shí),可以信任,但當(dāng)被問(wèn)及對(duì)別人的信任評(píng)價(jià)時(shí),其觀點(diǎn)卻不一定可靠了,因?yàn)槊總€(gè)人對(duì)他人的信任傾向也是不一樣的,有些人傾向于不相信別人,而有一些人則更傾向于相信別人。
負(fù)面評(píng)價(jià)優(yōu)先原則,即節(jié)點(diǎn)的負(fù)面行為將作為首先否定的條件。在社會(huì)生活中人們往往更傾向于相信從沒(méi)犯過(guò)錯(cuò)誤的,有過(guò)一次不誠(chéng)實(shí)的交易要比許多次誠(chéng)實(shí)的交易更容易受到他人的重視。在本模型的推薦可信度的合成以及文件下載節(jié)點(diǎn)的選擇等,都使用這一原則。
普通的P2P文件共享系統(tǒng)(如Gnutella)中文件共享的操作過(guò)程可以細(xì)分為四步。
第一步,文件查詢(xún)(Query)。每個(gè)對(duì)等點(diǎn)都可以發(fā)出某個(gè)條件(一般是文件名)的文件查詢(xún),查詢(xún)消息按照系統(tǒng)定義好的機(jī)制發(fā)送到系統(tǒng)中的有限個(gè)節(jié)點(diǎn)。如在 Gnutella中,查詢(xún)消息按洪泛方式進(jìn)行,首先傳播到所有相鄰節(jié)點(diǎn),然后再傳播到相鄰節(jié)點(diǎn)的相鄰節(jié)點(diǎn),直到達(dá)到預(yù)先確定的層次為止。
第二步,文件查詢(xún)響應(yīng)(Response)。系統(tǒng)中的其他節(jié)點(diǎn)收到文件查詢(xún)消息后,如果其共享文件夾中有完全符合條件的或部分符合條件的文件,則回答響應(yīng)消息。
第三步,對(duì)等點(diǎn)挑選下載文件。對(duì)等點(diǎn)從響應(yīng)消息中根據(jù)需要挑選要下載的文件。
第四步,文件下載。從一個(gè)或幾個(gè)源節(jié)點(diǎn)下載挑選的文件。
這種簡(jiǎn)單的節(jié)點(diǎn)選擇過(guò)程和文件下載過(guò)程無(wú)安全保障,容易出現(xiàn)虛假和惡意信息的泛濫,也極易受到黑客的攻擊。
在普通的文件共享系統(tǒng)中建立信任模型,實(shí)際上主要是讓對(duì)等點(diǎn)在選擇下載節(jié)點(diǎn)、文件下載過(guò)程中增加信任策略,以選擇更安全的下載節(jié)點(diǎn)和保障下載文件的完整性等方面來(lái)增加安全性,這樣信任模型就成為了P2P文件共享系統(tǒng)的一個(gè)組成部分。
針對(duì)P2P文件共享系統(tǒng)中的安全需求,此模型使用基于資源可信度和推薦可靠度相結(jié)合的聲譽(yù)管理方法來(lái)建立信任模型,將節(jié)點(diǎn)的信任分為資源可信性和推薦可靠性?xún)蓚€(gè)方面,將聲譽(yù)的計(jì)算綜合正負(fù)兩方面的評(píng)價(jià),并對(duì)這些反饋的評(píng)價(jià)予以加權(quán)平均,并充分考慮安全性。
本文模型將節(jié)點(diǎn)的信任分為資源可信性和推薦可靠性?xún)煞矫?資源可信性是針對(duì)直接信任而言的,我們將直接信任與節(jié)點(diǎn)提供的資源質(zhì)量直接聯(lián)系在一起,用基于歷史評(píng)價(jià)與最近評(píng)價(jià)加權(quán)整合的可信變量記載目標(biāo)節(jié)點(diǎn)提供資源質(zhì)量的歷史記錄,即目標(biāo)節(jié)點(diǎn)的可信度,可信度是作為選擇文件下載節(jié)點(diǎn)的依據(jù);推薦可靠性是針對(duì)推薦信任而言的,我們將推薦信任與節(jié)點(diǎn)推薦在其他節(jié)點(diǎn)時(shí)判斷的正確程度相聯(lián)系,用表示可靠度的變量來(lái)記載目標(biāo)節(jié)點(diǎn)的推薦歷史記錄,即目標(biāo)節(jié)點(diǎn)可靠度,可靠度是作為合成推薦可信度的依據(jù);對(duì)于未知的節(jié)點(diǎn),則需要向其他節(jié)點(diǎn)詢(xún)問(wèn)其可信度,然后根據(jù)這些節(jié)點(diǎn)的可信度反饋值以及其本身的可靠度進(jìn)行加權(quán)合成為未知節(jié)點(diǎn)的可信度即聲譽(yù)。
模型首先將文件查詢(xún)的響應(yīng)節(jié)點(diǎn)按提供文件的MD5哈希值分組,提供文件哈希值相同的節(jié)點(diǎn)被分在同一組。
圖1簡(jiǎn)要標(biāo)出了信任的工作流程,在文件查詢(xún)挑選分組和文件下載時(shí),采用的信任策略是挑選低不可信度和高可信度的分組或節(jié)點(diǎn)而進(jìn)行的。這其中,每組的平均可信度和不可信度的計(jì)算是最復(fù)雜的一步,涉及到可信度、不可信度、可靠度與不可靠的計(jì)算。當(dāng)分組有未知節(jié)點(diǎn)時(shí),要發(fā)出信任查詢(xún),并要將推薦(反饋)的可信度進(jìn)行合成。
圖1 信任模型的簡(jiǎn)要工作流程
對(duì)某個(gè)節(jié)點(diǎn)而言,完成一次下載后它的可信度t的計(jì)算方法為:
其中,t′表示歷史可信度,指的是該節(jié)點(diǎn)歷史上的綜合可信度,a與b是權(quán)重因子,要求a+b=1,T是對(duì)本次下載的可信評(píng)價(jià)。
T={1:本次是誠(chéng)實(shí)的交易|0:否則};
每次下載后計(jì)算新的可信度t并存入本地?cái)?shù)據(jù)庫(kù),作為下次從該節(jié)點(diǎn)下載的歷史可信度。
對(duì)某個(gè)提供第三方節(jié)點(diǎn)可信度的節(jié)點(diǎn)而言,完成一次下載它的可靠度c的計(jì)算方法為:
其中,c′表示歷史可靠度,指的是該節(jié)點(diǎn)歷史上的綜合可靠度,a與b是權(quán)重因子,要求a+b=1,C是對(duì)本次提供可信度的可靠評(píng)價(jià)。
C={1:本次是正確的評(píng)價(jià)|0:否則}
每次下載完成后計(jì)算新的可靠度c并存入本地?cái)?shù)據(jù)庫(kù),作為下次從該節(jié)點(diǎn)提供第三方可信度的歷史可靠度。
根據(jù)人類(lèi)社會(huì)的行為特性及部分實(shí)驗(yàn)數(shù)據(jù),可信度與可靠度的計(jì)算式中的a均取2/3,b均取1/3。
本模型用一個(gè)變量tru記錄歷史中有過(guò)交易的其他節(jié)點(diǎn)的可信度記錄,用可靠度cre記錄其他節(jié)點(diǎn)過(guò)去對(duì)另外節(jié)點(diǎn)的推薦意見(jiàn)的正確與否。每個(gè)節(jié)點(diǎn)都維護(hù)著含有可信度和可靠度的本地信任數(shù)據(jù)庫(kù),用以記錄與其他節(jié)點(diǎn)的歷史交互。例節(jié)點(diǎn)A的本地信任數(shù)據(jù)庫(kù)見(jiàn)表1。
表1 A的本地信任數(shù)據(jù)庫(kù)
節(jié)點(diǎn)的可信度是指其共享的資源而言的,是對(duì)資源可信性進(jìn)行的數(shù)值估算;可靠度是指其推薦其他節(jié)點(diǎn)時(shí)(即對(duì)其它節(jié)點(diǎn)的評(píng)價(jià))而言的,是對(duì)這種推薦行為的可靠性進(jìn)行的數(shù)值估算。
本模型中將可信度分為直接可信度tB和推薦可信度ci。直接可信度是節(jié)點(diǎn)根據(jù)過(guò)去的直接交互產(chǎn)生的可信度,直接取自于本地?cái)?shù)據(jù)庫(kù),若本地?cái)?shù)據(jù)庫(kù)中不存在該節(jié)點(diǎn)的記錄,則令tB=0.5;推薦可信度(可靠度)則是對(duì)未知節(jié)點(diǎn)由認(rèn)識(shí)的第三方推薦后產(chǎn)生計(jì)算的可信度,直接從本地?cái)?shù)據(jù)庫(kù)取值,如果不存在記錄,則令ci=0.5。不可信度 d tB,記錄著某個(gè)節(jié)點(diǎn)的歷史交易中有過(guò)的不誠(chéng)實(shí)交易情況,不可信度的計(jì)算為 d tB=1-tB;不可靠度(記為 dcB)計(jì)算公式為 dcB=1-cB。
當(dāng)需要知道未知節(jié)點(diǎn)的可信度與不可信度時(shí),本模型使用推薦可信度的合成方法:
如果節(jié)點(diǎn)i發(fā)出關(guān)于對(duì)未知節(jié)點(diǎn)j的信任查詢(xún),反饋節(jié)點(diǎn)為R1,R2,…,Rk,k<=θC(閾值),其中 Rp對(duì)j的可信度評(píng)價(jià)是tp,不可信度評(píng)價(jià)是 d tp,而i中對(duì) p的可靠度和不可靠度評(píng)價(jià)分別是cp、dcp。則i關(guān)于j的可信度和不可信度的計(jì)算公式為:
節(jié)點(diǎn)j的可信度:
節(jié)點(diǎn)j的不可信度:
挑選分組過(guò)程采用信任策略,按低不可信度-高可信度的原則來(lái)選擇要下載文件的分組。即根據(jù)前面的計(jì)算,將所有分組的平均不可信度降序和平均可信度升序排列,選取排在第一的分組。
一旦某個(gè)分組被選定,一個(gè)提供文件的節(jié)點(diǎn)將被選定用來(lái)提供下載。文件下載過(guò)程有幾個(gè)方面的考慮:節(jié)點(diǎn)的選擇、IP地址過(guò)濾、下載過(guò)程分段哈希驗(yàn)證、服務(wù)提供端排隊(duì)機(jī)制等。
(1)選定下載的節(jié)點(diǎn)是被選定組中任意一個(gè)或幾個(gè)節(jié)點(diǎn),不可信度小的節(jié)點(diǎn)優(yōu)先。
(2)IP地址過(guò)濾,禁止系統(tǒng)連接指定的IP地址,阻止從被禁止的客戶端的上傳和下載。
(3)將要下載的文件分段,在下載過(guò)程中進(jìn)行分段 Hash檢查。
(4)服務(wù)端排隊(duì)機(jī)制。當(dāng)文件提供方同時(shí)有許多節(jié)點(diǎn)要下載該文件時(shí),引進(jìn)激勵(lì)機(jī)制:按照本地?cái)?shù)據(jù)庫(kù)中的交易次數(shù)m將文件請(qǐng)求者排隊(duì)。這樣做的目的是為了鼓勵(lì)共享,打擊搭便車(chē)者。
每一次文件下載,下載文件的節(jié)點(diǎn)都要更新本地信任數(shù)據(jù)庫(kù),要更新的是文件提供節(jié)點(diǎn)的可信向量和推薦此節(jié)點(diǎn)的其他節(jié)點(diǎn)的可靠向量。
本文模型中提出了新型的信任評(píng)價(jià)公式及方法,將新的信任評(píng)價(jià)方法應(yīng)用于信任模型中,理論上克服了P2P文件共享操作中存在的信任管理問(wèn)題,具有計(jì)算存儲(chǔ)簡(jiǎn)單、能夠有效的隔離惡意節(jié)點(diǎn)、實(shí)現(xiàn)網(wǎng)絡(luò)負(fù)載均衡等優(yōu)點(diǎn),為信任管理方法在P2P文件共享系統(tǒng)中的應(yīng)用提供了理論支持。
[1]姜怡.P2P網(wǎng)絡(luò)中基于實(shí)體行為的分布式信任模型[J].高技術(shù)通訊,2005,15(3):1-6.
[2]張鐵軍,張玉清,戰(zhàn)守義.Peer-to-Peer典型應(yīng)用安全需求分析[J].計(jì)算機(jī)工程,2005,31(20):56-58,69.
[3]劉進(jìn)紅.P2P平臺(tái)技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2005,20(12):33-36.
[4]趙恒,權(quán)義寧,胡予濮.對(duì)等網(wǎng)環(huán)境下一種安全有效的信譽(yù)體制[J].計(jì)算機(jī)應(yīng)用,2005,3(3):551-553.