專利名稱:對等網絡中基于二元意見的局部信任模型的建立方法
技術領域:
對等網絡中基于二元意見的局部信任模型的建立方法屬于對等網絡的信任模型技術領域。
背景技術:
對等網絡是一種點對點的分布式網絡系統。在這樣的系統中,交易(如資源共享)在對等節點之間直接進行,打破了傳統的客戶/服務器模式,具有低成本、可擴展、靈活方便等特點。然而,對等網絡中節點加入退出的自由性、節點標識的匿名性和易獲得性以及統一管理的缺乏使得整個系統的可信度大大降低,造就了大批只索取資源、不貢獻資源的自私節點,甚至出現了以攻擊對等網絡為目的的惡意節點,制約了對等網絡的正常發展。信任模型的建立旨在構建對等節點之間的信任機制,孤立自私節點和惡意節點,提高整個系統的可信度。
惡意節點的攻擊方式通常有三種單一攻擊(一個惡意節點攻擊)、聯合攻擊(一群惡意節點相互勾結進行攻擊)和間諜攻擊(通過正常交易提高自身的信任值,并以自己的高信任值來提升其它惡意節點的信任值)。全局信任模型(即節點的信任值全網統一)由于攻擊目標確定,較難抵御間諜攻擊和大規模的聯合攻擊。局部信任模型(即信任關系只建立在各個節點之間,沒有全網統一的信任值)由于沒有明確的攻擊目標,在抵御聯合攻擊和間諜攻擊時具有更大的潛力。
目前已知的對等網絡信任模型盡管采用了各種復雜的信任值計算方法,但在節點標識匿名的環境下通常都很難抵御間諜攻擊和大規模的聯合攻擊。而本發明采用了局部信任模型,通過分散攻擊目標能夠抵御大規模的聯合攻擊,并且通過意見鏈的推導能夠發現并抑制間諜攻擊。
發明內容
本發明的目的在于提供一種能夠抵抗聯合攻擊和間諜攻擊的對等網絡信任模型的建立方法。
本發明的特征在于,所述的方法是在由對等節點構成的對等網絡中進行的,依次含有以下步驟步驟1初始化;首先,定義以下局部信任模型的參量原始意見,即一個節點通過自己的經歷和判斷得出的對另一個節點的意見,即局部信任狀態,節點a對節點b的原始意見有以下三種信任,記為a→b;不信任,記為 未定義,節點a對節點b沒有明確的原始意見;另外約定原始意見的初始值均為未定義;
導出意見,即一個節點通過咨詢別人的意見而推導出的對某一節點的意見,也分為所述的信任、不信任和未定義三種;所述導出意見具有一定的階數,原始意見被稱為一階意見,根據朋友意見推導出的意見即所述朋友在通過咨詢別人的意見而推導出的對某一節點的意見為二階意見,以此類推;意見鏈,為一組無重復的節點序列,所述意見鏈中每一個節點對其后相鄰的節點存在是否信任的關系,根據最后兩個節點之間的關系,把所述意見鏈分為信任鏈和不信任鏈兩種;一條長度為n的信任鏈記為C(a→…→xn-1→b,length=n)a→x1→x2→…→xn-1→b一條長度為n的不信任鏈記為 即在不信任鏈中最后兩個節點之間出現不信任關系;意見鏈中除最后兩個節點之間外的其它相鄰節點之間不能出現不信任關系;所述n為意見鏈中所包含的意見個數;最大推導半徑,指意見推導的意見鏈允許出現的最大長度,記為Rmax;步驟2.建立原始信任關系,即確定節點a的原始信任節點,即當節點a通過與節點b的多次交易形成了對節點b的信任,則節點a就把節點b標記為自己的原始信任節點,即朋友;步驟3.意見推導,即當節點a需要獲得節點b的可信任程度時,采用下述步驟推導節點a對節點b的意見步驟3.1.判斷節點a是否存在對節點b的原始意見;若存在原始意見,則推導結果與原始意見值相等,意見推導結束;否則,進入下一步;步驟3.2.初始化推導半徑R=2,即節點a待收集的意見鏈長度為2;步驟3.3.節點a對自己的朋友廣播對節點b的查詢請求,該請求的TTL(生存時間,即分組在傳輸過程中所能經過的最大跳數)初始化值為R-1;步驟3.4.查詢請求的執行過程的遞歸描述如下當節點xi收到對節點b的查詢請求a→…→xi-1時,采用如下步驟執行該查詢請求步驟3.4.1.節點xi判斷自己是否存在對節點b的原始意見xi…b;若存在,生成查詢應答a→…→xi-1→xi…b并返回給節點xi-1,執行結束;若不存在,進入下一步;步驟3.4.2.節點xi搜索緩存中是否存在對節點b的意見鏈xi→…b;若存在,執行步驟3.4.3;否則,執行步驟3.4.4;步驟3.4.3.節點xi判斷意見鏈xi→…b的長度是否等于該查詢請求的TTL;若是,則生成包含該意見鏈的查詢應答a→…→xi-1→xi→…b并返回給節點xi-1,執行結束;若否,執行結束;步驟3.4.4.節點xi把查詢請求的TTL減1;若TTL減1后,TTL=0,執行結束;否則,進入下一步;步驟3.4.5.節點xi向每一個非x1~xi-1節點的朋友發送節點xi對節點b的查詢請求a→…→xi-1→xi,執行結束;步驟3.5.查詢應答的執行過程的遞歸描述如下
當節點xi收到查詢應答(長度為n的意見鏈)a→…→xi-1→xi→…→xn-1…b時,采用如下步驟執行00該查詢應答步驟3.5.1.若xi=a,執行結束;否則進入下一步;步驟3.5.2.若節點xi+1,xi+2,…,xn-1中存在原始不信任節點,執行結束;否則進入下一步;步驟3.5.3.節點xi把查詢應答轉發給節點xi-1;步驟3.5.4.節點xi刪除緩存中對節點b的意見鏈,并將意見鏈xi→…b加入緩存;執行結束;步驟3.6.若節點a收到了一條或多條長度為R的意見鏈,判斷這些意見鏈中是否存在不信任鏈步驟3.6.1.若存在不信任鏈,則推導結果為R階不信任,意見推導結束;若不存在不信任鏈,即全部為信任鏈,則推導結果為R階信任,意見推導結束;若節點a沒有受到任何長度為R的意見鏈,則進入下一步;步驟3.6.2.若推導半徑R等于最大推導半徑Rmax,則推導結果為未定義,意見推導結束;否則,進入下一步;步驟3.6.3.推導半徑R增加1,返回步驟3.3;步驟4.若節點a通過與節點b的交易發現對方不可靠時,采用如下步驟對節點b進行懲罰步驟4.1.若節點a先前對節點b進行過意見推導,則讀取最后一次推導中得到的所有信任鏈,把信任鏈中的除了自己和自己朋友(即原始信任節點)外的所有其它節點標記為原始不信任節點;步驟4.2.若節點a先前沒有對節點b進行過意見推導,則只把節點b標記為原始不信任節點;步驟5.若要求信任模型具有防止節點冒名和意見篡改的功能,則需要把所有在對等網絡中傳播的意見鏈全部升級為簽名意見鏈,即在每一條意見鏈中加入簽名信息;所述簽名意見鏈記為S(C(x0→x1→x2→···→xn-1···xn,length=n))]]>=C(x0→x1→x2→···→xn-1···xn,length=n)]]>+Sx0(x0→x1)+Sx1(x1→x2)+···+Sxn-1(xn-1···xn)]]>其中,每一個意見關系xi→xi+1及其過期時間(精確到秒的通用協調時間,過期的意見關系及包含該意見關系的所有意見鏈都將被刪除)由節點xi簽名,記為Sxi(xi→xi+1)。
本發明所提出的對等網絡中基于二元意見的局部信任模型的建立方法,使每個節點能夠根據自己及自己信任節點的意見推導出對其它節點的局部意見,即使惡意節點對某一部分節點進行了成功的攻擊,也不會像全局信任模型那樣通過全局統一的信任值立刻影響到網絡中的所有其它節點;節點懲罰機制使得推舉惡意節點的節點也受到連帶的懲罰,從而有效地抵御間諜攻擊。PC機(Pentium 42.0G,512MB內存)上的模擬實驗表明,在絕大多數情況下,采用懲罰機制的局部信任模型能使交易成功率保持在90%以上。
圖1.建立二元意見的局部信任模型的流程圖;圖2.意見推導的流程;圖3.執行查詢請求的流程圖;圖4.執行查詢應答的流程圖圖5.對等網絡信任模型示例圖6.交易成功率隨時間的變化曲線;圖7~圖12.各種惡意節點和間諜節點比例下的交易成功率。
具體實施例方式
下面給出意見和意見鏈在計算機中的數值表示方法。在對等網絡中,每個對等節點分配了一個全局唯一的節點標識(例如隨機生成的公鑰的安全哈希值)。意見和意見鏈中出現的節點均用該節點的標識表示。
節點a對節點b存在原始信任的數值表示為<1,a,b,ea→b>;節點a對節點b存在原始不信任的數值表示為 節點a對節點b不存在原始意見的數值表示為<0,a,b>;其中ea…b為意見a…b的過期時間,用精確到秒的通用協調時間表示。
一條長度為n的信任鏈a→x1→x2→…→xn-1→b的數值表示為⟨1,n,a,x1,ea→x1,x2,ex1→x2,···,b,exn-1→b⟩]]>一條長度為n的不信任鏈 的數值表示為 一條長度為n的簽名信任鏈a→x1→x2→…→xn-1→b的數值表示為⟨1,n,a,x1,ea→x1,Sa→x1,x2,ex1→x2,Sx1→x2,···b,exn-1→b,Sxn-1→b⟩]]>一條長度為n的簽名不信任鏈 的數值表示為 其中Sx→y是節點x對意見x→y,的簽名,即對<1,x,y,ex→y>的簽名 是節點x對意見 的簽名,即對 的簽名。
下面舉例說明信任模型的建立過程。設對等網絡中存在5個對等節點a,b,c,d,e,最大推導半徑Rmax=4。經過一段時間的交易,形成了如圖5(1)所示的原始信任關系。節點a打算和節點e進行交易。在交易之前,節點a對節點e進行意見推導。當推導半徑R增加到3時,節點a獲得了一條信任鏈a→c→d→e因此節點e為節點a的第三階信任節點。然而,在交易過程中,節點a發現對方有明顯的欺騙行為,交易失敗。為了對其進行懲罰,節點a將信任鏈中的節點e和節點d都標記為原始不信任節點。此時,對等網絡中的原始信任關系轉變為圖5(2)。下面考察其它節點對節點e和節點d意見的轉變。對于節點f而言,節點e由先前的4階信任轉變為2階不信任,節點d由先前的3階信任轉變為2階不信任。對于節點c而言,節點e由先前的2階信任轉變為2階不信任,節點d仍為1階信任。
下面舉例說明查詢請求是如何被對等節點執行的。以圖5(1)為例,節點a向自己的朋友廣播TTL=2的對節點辦的查詢請求;節點c收到節點a的查詢請求,但自己對節點b沒有原始意見,因此節點c將查詢請求的TTL減1,轉發給節點d;節點d收到查詢請求后,將自己對節點e的信任意見放入查詢應答,回復給節點c,節點c再回復給節點a,這樣節點a就收到一條長度為3的信任鏈。
每個節點在收到完整或不完整的信任鏈時,都應當將其緩存起來,以降低網絡負載。例如在上一個例子的查詢過程中,節點c緩存了意見鏈c→d→e節點口緩存了意見鏈a→c→d→e下一次,當節點f向節點口發送TTL=3的查詢請求時,節點a可直接將緩存的意見鏈返回給節點f。需要注意的是,每一條緩存的意見鏈都存在一個超時時間,超時后直接從緩存中刪除,以避免數據過于陳舊。
下面舉例說明簽名意見鏈。以圖5(1)為例,意見鏈a→c→d→e對應的簽名意見鏈是a→c→d→e+Sa(a→c)+Sc(c→d)+Sd(d→e)下面分析信任模型的性能。設對等網絡中每個節點的朋友個數(即原始信任節點個數)的均值為F,最大推導半徑為Rmax。性能分析如下(1)安全性和魯棒性。本模型不需要引入服務器,避免了單一節點失效的問題。由于模型中沒有服務器和代理節點,每個節點計算的意見值都具有局部特性,因此惡意節點對信任模型的攻擊很難對大范圍區域產生影響。基于意見鏈的節點懲罰機制可以有效地抵御間諜攻擊,這在其它信任模型中是很難做到的。
(2)意見推導時間。在最壞情況下,源節點需要廣播Rmax-1次查詢請求(廣播半徑依次為l,2,…,Rmax-1),每次查詢請求的應答時間與推導半徑(減1)成正比,故一次意見推導在最壞情況下所需要的推導時間為o(Rmax2)。由于Rmax為常數,意見推導時間與網絡規模和節點平均朋友個數無關。
(3)網絡負載。在最壞情況下,一次意見推導帶來的網絡負載為 比全局信任模型中查詢帶來的網絡負載要大得多。然而,全局信任模型需要實時地進行意見更新計算,尤其對于分布式信任模型而言,所有節點都在周期性交互意見信息,網絡負載具有很強的時間和空間的覆蓋性。而本模型只在需要獲得意見時才進行計算,網絡負載也僅限于互相信任的節點區域,不會輕易擴散到整個網絡。本模型不需要將意見信息存儲在代理節點上,因此節點的加入和退出帶來的網絡負載也很小。另外,意見鏈緩存可以在很大程度上減少網絡負載。
(4)另外,由于本發明采用的是局部信任模型,因此不存在初始迭代問題,也不要求對等網絡支持分布式哈希。
為了考察本發明的運行效果,在PC機(Pentium 42.0G,512MB內存)上進行模擬實驗。實驗參數如下(1)對等網絡含250個節點,任兩個對等節點之間可以直接進行交易。
(2)對等網絡中的節點分為正常節點、惡意節點和間諜節點三類,所有惡意節點和間諜節點相互勾結并信任對方。
(3)最大推導半徑Rmax=3。
(4)每個單位時間內進行2500次交易(平均每個節點交易10次),交易是否實施取決于意見推導結果若推導結果為信任(不信任),則進行(放棄)交易;若推導結果為未定義,則進行交易的可能性為25%。被放棄的交易不計入2500次交易中。
(5)每個單位時間內有5%的節點退出對等網絡,并有同樣數量的新節點加入。每次退出加入時節點數量和各類節點的比例保持恒定。
(6)交易成功率只針對由正常節點發起的交易來計算,不針對由惡意節點和間諜節點發起的交易。
實驗結果如下(1)圖6考察了每個單位時間內的交易成功率隨時間的變化(對等網絡中存在60%的惡意節點和20%的間諜節點)。由圖中可以看到,盡管對等網絡有5%的動態特性,采用懲罰機制的局部信任模型能使交易成功率保持在90%以上。
(2)圖7至圖12考察了在各種惡意節點和間諜節點比例下的交易成功率。這里的交易成功率為20個連續單位時間內交易成功率的平均值。由圖中可以看到,當存在間諜節點時,懲罰機制能有效地提高交易成功率。在絕大多數情況下,采用懲罰機制的局部信任模型能使交易成功率保持在90%以上。
由此可見,本發明達到了預期目的。
權利要求
1.對等網絡中基于二元意見的局部信任模型的建立方法,其特征在于,所述的方法是在由對等節點構成的對等網絡中進行的,依次含有以下步驟步驟1初始化;首先,定義以下局部信任模型的參量原始意見,即一個節點通過自己的經歷和判斷得出的對另一個節點的意見,即局部信任狀態,節點a對節點b的原始意見有以下三種信任,記為a→b不信任,記為 未定義,節點a對節點b沒有明確的原始意見;另外約定原始意見的初始值均為未定義;導出意見,即一個節點通過咨詢別人的意見而推導出的對某一節點的意見,也分為所述的信任、不信任和未定義三種;所述導出意見具有一定的階數,原始意見被稱為一階意見,根據朋友意見推導出的意見即所述朋友在通過咨詢別人的意見而推導出的對某一節點的意見為二階意見,以此類推;意見鏈,為一組無重復的節點序列,所述意見鏈中每一個節點對其后相鄰的節點存在是否信任的關系,根據最后兩個節點之間的關系,把所述意見鏈分為信任鏈和不信任鏈兩種;一條長度為n的信任鏈記為C(a→…→xn-1→b,length=n):a→x1→x2→…→xn-1→b一條長度為n的不信任鏈記為 即在不信任鏈中最后兩個節點之間出現不信任關系;意見鏈中除最后兩個節點之間外的其它相鄰節點之間不能出現不信任關系;所述n為意見鏈中所包含的意見個數;最大推導半徑,指意見推導的意見鏈允許出現的最大長度,記為Rmax;步驟2.建立原始信任關系,即確定節點a的原始信任節點,即當節點a通過與節點b的多次交易形成了對節點b的信任,則節點a就把節點b標記為自己的原始信任節點,即朋友;步驟3.意見推導,即當節點a需要獲得節點b的可信任程度時,采用下述步驟推導節點a對節點b的意見步驟3.1.判斷節點a是否存在對節點b的原始意見;若存在原始意見,則推導結果與原始意見值相等,意見推導結束;否則,進入下一步;步驟3.2.初始化推導半徑R=2,即節點a待收集的意見鏈長度為2;步驟3.3.節點a對自己的朋友廣播對節點b的查詢請求,該請求的TTL(生存時間,即分組在傳輸過程中所能經過的最大跳數)初始化值為R-1;步驟3.4.查詢請求的執行過程的遞歸描述如下當節點xi收到對節點b的查詢請求a→…→xi-1時,采用如下步驟執行該查詢請求步驟3.4.1.節點xi判斷自己是否存在對節點b的原始意見xi…b;若存在,生成查詢應答a→…→xi-1→xi…b并返回給節點xi-1,執行結束;若不存在,進入下一步;步驟3.4.2.節點xi搜索緩存中是否存在對節點b的意見鏈xi→…b;若存在,執行步驟3.4.3;否則,執行步驟3.4.4;步驟3.4.3.節點xi判斷意見鏈xi→…b的長度是否等于該查詢請求的TTL;若是,則生成包含該意見鏈的查詢應答a→…→xi-1→xi→…b并返回給節點xi-1,執行結束;若否,執行結束;步驟3.4.4.節點xi把查詢請求的TTL減1;若TTL減1后,TTL=0,執行結束;否則,進入下一步;步驟3.4.5.節點xi向每一個非x1~xi-1節點的朋友發送節點xi對節點b的查詢請求a→…→xi-1→xi,執行結束;步驟3.5.查詢應答的執行過程的遞歸描述如下當節點xi收到查詢應答(長度為n的意見鏈)a→…→xi-1→xi→…→xn-1…b時,采用如下步驟執行該查詢應答步驟3.5.1.若xi=a,執行結束;否則進入下一步;步驟3.5.2.若節點xi+1,xi+2,…,xn-1中存在原始不信任節點,執行結束;否則進入下一步;步驟3.5.3.節點xi把查詢應答轉發給節點xi-1;步驟3.5.4.節點xi刪除緩存中對節點b的意見鏈,并將意見鏈xi→…b加入緩存;執行結束;步驟3.6.若節點a收到了一條或多條長度為R的意見鏈,判斷這些意見鏈中是否存在不信任鏈步驟3.6.1.若存在不信任鏈,則推導結果為R階不信任,意見推導結束;若不存在不信任鏈,即全部為信任鏈,則推導結果為R階信任,意見推導結束;若節點a沒有受到任何長度為R的意見鏈,則進入下一步;步驟3.6.2.若推導半徑R等于最大推導半徑Rmax,則推導結果為未定義,意見推導結束;否則,進入下一步;步驟3.6.3.推導半徑R增加1,返回步驟3.3;步驟4.若節點a通過與節點b的交易發現對方不可靠時,采用如下步驟對節點b進行懲罰步驟4.1.若節點a先前對節點b進行過意見推導,則讀取最后一次推導中得到的所有信任鏈,把信任鏈中的除了自己和自己朋友(即原始信任節點)外的所有其它節點標記為原始不信任節點;步驟4.2.若節點a先前沒有對節點b進行過意見推導,則只把節點b標記為原始不信任節點;步驟5.若要求信任模型具有防止節點冒名和意見篡改的功能,則需要把所有在對等網絡中傳播的意見鏈全部升級為簽名意見鏈,即在每一條意見鏈中加入簽名信息;所述簽名意見鏈記為S(C(x0→x1→x2→···→xn-1···xn,length=n))]]>=C(x0→x1→x2→···→xn-1···xn,length=n)]]>+Sx0(x0→x1)+Sx1(x1→x2)+···+Sxn-1(xn-1···xn)]]>其中,每一個意見關系xi→xi+1及其過期時間(精確到秒的通用協調時間,過期的意見關系及包含該意見關系的所有意見鏈都將被刪除)由節點xi簽名,記為Sxi(xi→xi+1)。
全文摘要
對等網絡中基于二元意見的局部信任模型的建立方法,屬于對等網絡的信任模型技術領域,其特征在于它使每個節點能夠根據自己及自己信任節點的意見推導出對其它節點的局部意見,而節點懲罰機制使得推舉惡意節點的節點也受到連帶的懲罰,從而有效地抵御間諜攻擊;即使惡意節點對某一部分節點進行了成功的攻擊,也不會像全局信任模型那樣通過全局統一的意見值立刻影響到網絡中的所有其它節點;模擬試驗表明,在絕大多數情況下,采用懲罰機制的局部信任模型能使交易成功率保持在90%以上。
文檔編號H04L29/06GK1703045SQ20051001190
公開日2005年11月30日 申請日期2005年6月9日 優先權日2005年6月9日
發明者徐恪, 江帆, 崔勇 申請人:清華大學