新四季網

用於快速提升Sybil節點重要性的滲透方法

2023-05-03 12:04:31 1

用於快速提升Sybil節點重要性的滲透方法
【專利摘要】本發明公開了一種用於快速提升Sybil節點重要性的滲透方法,目的是提供一種快速提升Sybil節點在Kademlia網絡中的入度和Sybil節點重要性的方法。技術方案是根據距離遠近將被滲透節點分為多個編組,根據活躍程度對編組內節點進行排序,實現活躍節點優先和遠距離節點優先;成為高活躍度節點的鄰居,Sybil節點藉助該高活躍度節點讓更多其它節點訪問到它,從而獲得提高入度的更多機會;成為遠距離節點的鄰居,Sybil節點更頻繁地被該遠距離節點推薦給其它節點,從而獲得提高入度的更多機會。整個滲透方法每隔一個滲透周期重新實施一次。採用本發明可以大大提升Sybil節點的入度,快速提高Sybil節點的重要性,且有效克服Kademlia網絡動態性對Sybil節點重要性的影響。
【專利說明】用於快速提升Sybi I節點重要性的滲透方法
【技術領域】
[0001]本發明涉及Sybil節點的一種滲透方法,是一種快速提升Sybil節點在Kademlia網絡中重要性的方法。
【背景技術】
[0002]Sybil節點原指具有多重身份的單個實體節點,目前通常將網絡中的虛假節點都稱為Sybil節點。對於Kademlia網絡中的Sybil節點,其重要性主要體現為能夠成為多少節點的鄰居節點,即該Sybil節點的入度大小。快速提高Sybil節點的重要性,有助於利用Sybil節點更多、更高效地獲知網絡中大量節點的活動情況,從而為快速發現和遏制網絡中的惡意活動提供技術支撐。
[0003]Kademlia協議是一種典型的DHT (Distributed Hash Table,分布哈希表)協議,廣泛用於構建大規模、純分布式P2P (Peer to Peer)網絡,如電驢、BitTorrent等。Kademlia給每個結點分配一個唯一、隨機的標識,即nodeID,為每個對象分配一個類似的標識,即objectID(又稱為key)。這些ID通常使用SHA-1這種單項散列函數來生成,ID之間的距
離採用異或運算來度量。
[0004]在Kademlia網絡中,每個對象都存儲在nodeID最接近其objectID的K個節點上。K 一般取值為20。
[0005]每個Kademlia節點的路由表由L(L等於節點標識的比特位數)個鍊表組成,每個鍊表稱為一個「K-bucket」,用於記錄網絡中到自己的異或距離在區間[2i,2i+1) (i為K-bucket的序號,O≤i < L)內的鄰居節點的信息,每條信息以三元組形式表示和存儲。Kademlia協議規定,K-bucket長度以K為上限。每當Kademlia節點收到來自其他節點的消息,它就根據該消息發送節點到自己的異或距離以及消息中的信息來更新K-bucket中的記錄,這稱為捎帶確認(piggybacking)。L個K-bucket組成一個Kademlia節點的路由表,因此路由表也稱「K-buckets」。一個路由表中的L個K-bucket通過連續的序號i區分。
[0006]Kademlia協議由四個RPC(Remote Process Call,遠程過程調用,是一種命令)組成,其名稱分別是PING,STORE, FIND_N0DE, FIND_VALUE,它們的工作如下所示:
[0007]PING:用來探測一個結點是否在線;
[0008]STORE:指示一個結點存儲一個對,以便於將來的數據獲取。key為對象散列值,即objectID, value為真正的數據對象(或其索引);
[0009]FIND_N0DE:以 ID 為參數,FIND_N0DE RPC 的接收者以 的形式返回他所知的離目標ID最近的K個節點;
[0010]FIND_VALUE:以 key 為參數,尋找 key 對應的 value。
[0011]P2P網絡爬蟲是指用於獲取P2P網絡中各個節點信息及其拓撲結構的軟體系統。這種軟體系統通過迭代地向P2P網絡中的已知節點發送特定消息,獲得新的節點;再重複向新的節點發送特定消息,就可以獲得整個網絡的拓撲結構和各個節點信息。P2P網絡爬蟲能夠用於獲取Kademlia網絡的節點信息和拓撲結構。
[0012]目前尚未發現有針對P2P網絡、旨在提高Sybil節點重要性的Sybil節點滲透方法的其他公開研究成果。

【發明內容】

[0013]本發明要解決的技術問題在於:針對目前Sybil節點難以快速、充分地滲透到Kademlia網絡中、儘可能多地進入其他節點路由表,進而產生較大重要性的問題,提出一種使Sybil節點高效滲透進入Kademlia網絡的方法。該方法能夠快速提升Sybil節點在Kademlia網絡中的入度,從而快速提升Sybil節點的重要性。
[0014]為解決上述技術問題,本發明的技術方案如下:
[0015]為了使Sybil節點能夠在提升重要性的過程中克服Kademlia動態性帶來的影響,整個滲透方法每隔若干小時(如6小時)重新實施一次。每次實施稱為一個滲透周期,並用T記錄當前為第幾個滲透周期。為了快速高效地提升重要性,本方法還根據距離遠近將被滲透節點分為多個編組(用G表示組號),並根據活躍程度對編組內節點進行排序,實現活躍節點優先和遠距離節點優先。成為高活躍度節點的鄰居,Sybil節點就可以藉助該高活躍度節點讓更多其它節點訪問到它,從而獲得提高入度的更多機會。成為遠距離節點的鄰居,Sybil節點就能夠更頻繁地被該遠距離節點推薦給其它節點,從而獲得提高入度的更多機會。
[0016]具體技術方案為:
[0017]第一步,設置滲透周期計數值T=I,分組編號G = L, L為Kademlia網絡節點標識(即nodeID)的比特位數,初始時刻的活躍節點列表ActiveNodes (O)為空(NULL),ActiveNodes(T)是第T個滲透周期時的活躍節點列表,列表中的元素為活躍節點信息,項數為第T個滲透周期中的活躍節點數ητ,每個表項包括IP、UDPport、nodeID、active四個域,IP表示活躍節點的IP位址,UDPport指活躍節點的UDP埠號,nodeID是活躍節點的節點標識,active表示活躍節點的活躍程度值,會被動態更新。
[0018]第二步,利用P2P網絡爬蟲(如開源的Emule客戶端程序、Nutch、Crawler4j等)獲取Kademlia網絡第T個滲透周期活躍節點列表ActiveNodes (T)的IP、UDPport、nodeID信息。
[0019]第三步,依次計算ActiveNodes(T)中各個活躍節點的active值,假設ActiveNodes (T)中的任一表項 q(0 < q nodeIDq,則具體計算方法如下:
[0020]3.I)令 q = O ;
[0021]3.2)對於 ActiveNodes(T)中的表項 q,若 ActiveNodes(T-1)中含有表項 ,則 ActiveNodes(T)中的表項 q 為 ;若 ActiveNodes (T_l)中不含有這種表項,即節點標識為nodeIDq的活躍節點是第一次出現在活躍節點列表中,則ActiveNodes(T)中的表項 q 為 ;
[0022]3.3)q = q+1 ;
[0023]3.4)判斷q是否等於%,如果等於,則轉第四步,否則,轉3.2)。[0024]第四步,將ActiveNodes (T)中ητ個節點的nodeID值依次與Sybil節點的nodeID值進行異或,得到ητ個異或距離,並根據得到的異或距離值對ActiveNodes (T)中的ητ個表項進行編組,將異或距離在[2^2^1)範圍內的節點編為第j (OSjSL-1)組,則編組的數目為L (因為編組規則與Kademlia節點路由表的K-bucket區分方法類似,所以編組的數目等於K-bucket的數目L),通過對編組的遍歷得出每組的節點數記為σ τ(0≤σ τ≤ητ)。
[0025]第五步,對L個編組,按照active值降序重排每個組的σ τ個表項,得到L個降序重排後的編組。
[0026]第六步,G= G_1。
[0027]第七步,從第G組的首節點開始,Sybil節點依次向該組所有節點發送PING探測命令。根據Kademlia網絡的捎帶更新策略,被滲透節點收到PING命令後,將Sybil節點的nodeID值與自身的nodeID值進行異或,並根據該異或值確定Sybil節點的K-bucket,如果該K-bucket中有空位,就將Sybil節點作為鄰居節點保存在該K-bucket中,從而提高Sybil節點的入度。
[0028]第八步,如果G = O,執行第九步;否則,轉第六步。
[0029]第九步,設置計時器為m小時。這是為了間歇m小時,m—般取6 ;
[0030]第十步,間歇5秒。
[0031]第十一步,判斷是否收到退出指令:是,轉第十四步;否則轉第十二步。
[0032]第十二步,判斷是否計時器結束:是,轉第十三步;否,轉第十步。
[0033]第十三步,T = T+1,轉第二步。
[0034]第十四步,結束。
[0035]採用本發明可以達到以下技術效果:
[0036]通過第四、五和七步中的設置,優先對遠距離節點和高活躍度節點進行滲透,可以大大提高Sybil節點經由這些節點進入更多其它節點路由表的機會,從而可以快速提升其入度。通過第九、十、十三步中的設置,周期性地進行滲透,能夠有效克服Kademlia網絡動態性對Sybil節點重要性的影響,保證Sybil節點始終能夠有較高的入度。快速提高Sybil節點的重要性,有助於利用Sybil節點更多、更高效地獲知網絡中大量節點的活動情況,從而為快速發現和遏制網絡中的惡意活動提供技術支撐。
【專利附圖】

【附圖說明】
[0037]圖1為本發明的總流程圖。
【具體實施方式】
[0038]圖1是本發明的總流程圖:
[0039]第一步,設置滲透周期計數值T= 1,分組編號G = L,初始時刻的活躍節點列表ActiveNodes(0)為 Null。
[0040]第二步,利用P2P網絡爬蟲獲取Kademlia網絡第T個滲透周期活躍節點列表ActiveNodes (T)的 IP、UDPport、nodeID 信息。
[0041]第三步,依次計算ActiveNodes(T)中ητ個活躍節點的active值,假設ActiveNodes (T)中的任一表項 q(0 < q < ητ_1)對應的 IP、UDPport、nodeID 信息為 IPpUDPportq、nodeIDq0
[0042]第四步,將ActiveNodes(T)中%個節點的nodeID值依次與Sybil節點的nodeID值進行異或,並根據得到的異或距離值對ActiveNodes (T)中的ητ個表項進行編組,將異或距離在[2\ 2J+1)範圍內的節點編為第j (O≤j≤L-1)組,則編組的數目為L,通過對編組的遍歷得出每組的節點數記為στ(0≤ στ≤ητ)。
[0043]第五步,對L個編組,按照active值降序重排每個組的σ τ個表項。
[0044]第六步,G= G-1。
[0045]第七步,從第G組的首節點開始,Sybil節點依次向該組所有節點發送PING探測命令。根據Kademlia網絡的捎帶更新策略,在被滲透節點收到PING命令後,如果根據它的nodeID值Sybil節點的nodeID值進行異或得到的距離確定的被滲透節點的K-bucket中有空位,就將Sybil節點作為鄰居節點保存在該K-bucket中,從而提高Sybil節點的入度。
[0046]第八步,如果G = O,執行第九步;否則,轉第六步。
[0047]第九步,設置計時器為m小時。這是為了間歇m小時,m—般取6 ;
[0048]第十步,間歇5秒。
[0049]第十一步,判斷是否收到退出指令:是,轉第十四步;否則轉第十二步。
[0050]第十二步,判斷是否計時器結束:是,轉第十三步;否,轉第十步。
[0051]第十三步,T = T+1,轉第二步。
[0052]第十四步,結束。
【權利要求】
1.一種用於快速提升Sybil節點重要性的滲透方法,其特徵在於包括以下步驟: 第一步,設置滲透周期計數值T=I,分組編號G = L, L為Kademlia網絡節點標識nodeID的比特位數,初始時刻的活躍節點列表ActiveNodes (O)為空,ActiveNodes (T)是第T個滲透周期時的活躍節點列表,列表中的元素為活躍節點信息,項數為第T個滲透周期中的活躍節點數ητ,每個表項包括IP、UDPport> nodeID、active四個域,IP表示活躍節點的IP位址,UDPport指活躍節點的UDP埠號,nodeID是活躍節點的節點標識,active表示活躍節點的活躍程度值; 第二步,利用P2P網絡爬蟲獲取Kademlia網絡第T個滲透周期活躍節點列表ActiveNodes (T)的 IP、UDPport、nodeID 信息; 第三步,依次計算ActiveNodes(T)中各個活躍節點的active值,具體計算方法如下:
3.1)令 q = O ; 3.2)對於ActiveNodes(T)中的表項q,若ActiveNodes(T-1)中含有表項, IPq、UDPportq> nodeIDq 分別為 ActiveNodes (T)中的表項q對應的IP、UDPport、nodeID信息,則ActiveNodes(T)中的表項為 ;若 ActiveNodes (T_l)中不含有這種表項,即節點標識為nodeIDq的活躍節點是第一次出現在活躍節點列表中,則ActiveNodes(T)中的表項 q 為 ;
3.3)q = q+1 ; 3.4)判斷q是否等於~,如果等於,則轉第四步,否則,轉3.2); 第四步,將ActiveNodes (T)中ητ個節點的nodeID值依次與Sybil節點的nodeID值進行異或,得到ητ個異或距離,並根據得到的異或距離值對ActiveNodes (T)中的ητ個表項進行編組,將異或距離在[2'2W)範圍內的節點編為第j組,則編組的數目為L,通過對編組的遍歷得出每組的節點數記為σ τ,0≤j≤L-Ι,Ο ≤ σ τ≤ητ ; 第五步,對L個編組,按照active值降序重排每個組的σ τ個表項,得到L個降序重排後的編組; 第六步,G = G-15 第七步,從第G組的首節點開始,Sybil節點依次向該組所有節點發送PING探測命令;根據Kademlia網絡的捎帶更新策略,被滲透節點收到PING命令後,將Sybil節點的nodeID值與自身的nodeID值進行異或,並根據該異或值確定Sybil節點的K_bucket,如果該K-bucket中有空位,則將Sybil節點作為鄰居節點保存在該K_bucket中; 第八步,如果G = 0,執行第九步;否則,轉第六步; 第九步,設置計時器為m小時; 第十步,間歇5秒; 第十一步,判斷是否收到退出指令:是,轉第十四步;否則轉第十二步; 第十二步,判斷是否計時器結束:是,轉第十三步;否,轉第十步; 第十三步,T = T+1,轉第二步; 第十四步,結束。
2.如權利要求1所述的一種用於快速提升Sybil節點重要性的滲透方法,其特徵在於所述m取6。
【文檔編號】H04L29/06GK104010003SQ201410271658
【公開日】2014年8月27日 申請日期:2014年6月18日 優先權日:2014年6月18日
【發明者】劉波, 王懷民, 王天佐, 魯強, 肖哲鋒, 馬曉龍, 張天, 于洋 申請人:中國人民解放軍國防科學技術大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀