CN104010003B - 用于快速提升Sybil节点重要性的渗透方法 - Google Patents
用于快速提升Sybil节点重要性的渗透方法 Download PDFInfo
- Publication number
- CN104010003B CN104010003B CN201410271658.6A CN201410271658A CN104010003B CN 104010003 B CN104010003 B CN 104010003B CN 201410271658 A CN201410271658 A CN 201410271658A CN 104010003 B CN104010003 B CN 104010003B
- Authority
- CN
- China
- Prior art keywords
- node
- nodeid
- activenodes
- sybil
- live
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于快速提升Sybil节点重要性的渗透方法,目的是提供一种快速提升Sybil节点在Kademlia网络中的入度和Sybil节点重要性的方法。技术方案是根据距离远近将被渗透节点分为多个编组,根据活跃程度对编组内节点进行排序,实现活跃节点优先和远距离节点优先;成为高活跃度节点的邻居,Sybil节点借助该高活跃度节点让更多其它节点访问到它,从而获得提高入度的更多机会;成为远距离节点的邻居,Sybil节点更频繁地被该远距离节点推荐给其它节点,从而获得提高入度的更多机会。整个渗透方法每隔一个渗透周期重新实施一次。采用本发明可以大大提升Sybil节点的入度,快速提高Sybil节点的重要性,且有效克服Kademlia网络动态性对Sybil节点重要性的影响。
Description
技术领域
本发明涉及Sybil节点的一种渗透方法,是一种快速提升Sybil节点在Kademlia网络中重要性的方法。
背景技术
Sybil节点原指具有多重身份的单个实体节点,目前通常将网络中的虚假节点都称为Sybil节点。对于Kademlia网络中的Sybil节点,其重要性主要体现为能够成为多少节点的邻居节点,即该Sybil节点的入度大小。快速提高Sybil节点的重要性,有助于利用Sybil节点更多、更高效地获知网络中大量节点的活动情况,从而为快速发现和遏制网络中的恶意活动提供技术支撑。
Kademlia协议是一种典型的DHT(Distributed Hash Table,分布哈希表)协议,广泛用于构建大规模、纯分布式P2P(Peer to Peer)网络,如电驴、BitTorrent等。Kademlia给每个结点分配一个唯一、随机的标识,即nodeID,为每个对象分配一个类似的标识,即objectID(又称为key)。这些ID通常使用SHA-1这种单项散列函数来生成,ID之间的距离采用异或运算来度量。
在Kademlia网络中,每个对象都存储在nodeID最接近其objectID的K个节点上。K一般取值为20。
每个Kademlia节点的路由表由L(L等于节点标识的比特位数)个链表组成,每个链表称为一个“K-bucket”,用于记录网络中到自己的异或距离在区间[2i,2i+1)(i为K-bucket的序号,0≤i<L)内的邻居节点的信息,每条信息以三元组<IP地址,UDP端口号,nodeID>形式表示和存储。Kademlia协议规定,K-bucket长度以K为上限。每当Kademlia节点收到来自其他节点的消息,它就根据该消息发送节点到自己的异或距离以及消息中的<IP地址,UDP端口号,nodeID>信息来更新K-bucket中的记录,这称为捎带确认(piggybacking)。L个K-bucket组成一个Kademlia节点的路由表,因此路由表也称“K-buckets”。一个路由表中的L个K-bucket通过连续的序号i区分。
Kademlia协议由四个RPC(Remote Process Call,远程过程调用,是一种命令)组成,其名称分别是PING,STORE,FIND_NODE,FIND_VALUE,它们的工作如下所示:
PING:用来探测一个结点是否在线;
STORE:指示一个结点存储一个<key,value>对,以便于将来的数据获取。key为对象散列值,即objectID,value为真正的数据对象(或其索引);
FIND_NODE:以ID为参数,FIND_NODE RPC的接收者以<IP地址,UDP端口号,nodeID>的形式返回他所知的离目标ID最近的K个节点;
FIND_VALUE:以key为参数,寻找key对应的value。
P2P网络爬虫是指用于获取P2P网络中各个节点信息及其拓扑结构的软件***。这种软件***通过迭代地向P2P网络中的已知节点发送特定消息,获得新的节点;再重复向新的节点发送特定消息,就可以获得整个网络的拓扑结构和各个节点信息。P2P网络爬虫能够用于获取Kademlia网络的节点信息和拓扑结构。
目前尚未发现有针对P2P网络、旨在提高Sybil节点重要性的Sybil节点渗透方法的其他公开研究成果。
发明内容
本发明要解决的技术问题在于:针对目前Sybil节点难以快速、充分地渗透到Kademlia网络中、尽可能多地进入其他节点路由表,进而产生较大重要性的问题,提出一种使Sybil节点高效渗透进入Kademlia网络的方法。该方法能够快速提升Sybil节点在Kademlia网络中的入度,从而快速提升Sybil节点的重要性。
为解决上述技术问题,本发明的技术方案如下:
为了使Sybil节点能够在提升重要性的过程中克服Kademlia动态性带来的影响,整个渗透方法每隔若干小时(如6小时)重新实施一次。每次实施称为一个渗透周期,并用T记录当前为第几个渗透周期。为了快速高效地提升重要性,本方法还根据距离远近将被渗透节点分为多个编组(用G表示组号),并根据活跃程度对编组内节点进行排序,实现活跃节点优先和远距离节点优先。成为高活跃度节点的邻居,Sybil节点就可以借助该高活跃度节点让更多其它节点访问到它,从而获得提高入度的更多机会。成为远距离节点的邻居,Sybil节点就能够更频繁地被该远距离节点推荐给其它节点,从而获得提高入度的更多机会。
具体技术方案为:
第一步,设置渗透周期计数值T=1,分组编号G=L,L为Kademlia网络节点标识(即nodeID)的比特位数,初始时刻的活跃节点列表ActiveNodes(0)为空(NULL),ActiveNodes(T)是第T个渗透周期时的活跃节点列表,列表中的元素为活跃节点信息,项数为第T个渗透周期中的活跃节点数nT,每个表项包括IP、UDPport、nodeID、active四个域,IP表示活跃节点的IP地址,UDPport指活跃节点的UDP端口号,nodeID是活跃节点的节点标识,active表示活跃节点的活跃程度值,会被动态更新。
第二步,利用P2P网络爬虫(如开源的Emule客户端程序、Nutch、Crawler4j等)获取Kademlia网络第T个渗透周期活跃节点列表ActiveNodes(T)的IP、UDPport、nodeID信息。
第三步,依次计算ActiveNodes(T)中各个活跃节点的active值,假设ActiveNodes(T)中的任一表项q(0≤q≤nT-1)对应的IP、UDPport、nodeID信息为IPq、UDPportq、nodeIDq,则具体计算方法如下:
3.1)令q=0;
3.2)对于ActiveNodes(T)中的表项q,若ActiveNodes(T-1)中含有表项<IPq,UDPportq,nodeIDq,active_old>,则ActiveNodes(T)中的表项q为<IPq,UDPportq,nodeIDq,active_old+1>;若ActiveNodes(T-1)中不含有这种表项,即节点标识为nodeIDq的活跃节点是第一次出现在活跃节点列表中,则ActiveNodes(T)中的表项q为<IPq,UDPportq,nodeIDq,1>;
3.3)q=q+1;
3.4)判断q是否等于nT,如果等于,则转第四步,否则,转3.2)。
第四步,将ActiveNodes(T)中nT个节点的nodeID值依次与Sybil节点的nodeID值进行异或,得到nT个异或距离,并根据得到的异或距离值对ActiveNodes(T)中的nT个表项进行编组,将异或距离在[2j,2j+1)范围内的节点编为第j(0≤j≤L-1)组,则编组的数目为L(因为编组规则与Kademlia节点路由表的K-bucket区分方法类似,所以编组的数目等于K-bucket的数目L),通过对编组的遍历得出每组的节点数记为σT(0≤σT≤nT)。
第五步,对L个编组,按照active值降序重排每个组的σT个表项,得到L个降序重排后的编组。
第六步,G=G-1。
第七步,从第G组的首节点开始,Sybil节点依次向该组所有节点发送PING探测命令。根据Kademlia网络的捎带更新策略,被渗透节点收到PING命令后,将Sybil节点的nodeID值与自身的nodeID值进行异或,并根据该异或值确定Sybil节点的K-bucket,如果该K-bucket中有空位,就将Sybil节点作为邻居节点保存在该K-bucket中,从而提高Sybil节点的入度。
第八步,如果G=0,执行第九步;否则,转第六步。
第九步,设置计时器为m小时。这是为了间歇m小时,m一般取6;
第十步,间歇5秒。
第十一步,判断是否收到退出指令:是,转第十四步;否则转第十二步。
第十二步,判断是否计时器结束:是,转第十三步;否,转第十步。
第十三步,T=T+1,转第二步。
第十四步,结束。
采用本发明可以达到以下技术效果:
通过第四、五和七步中的设置,优先对远距离节点和高活跃度节点进行渗透,可以大大提高Sybil节点经由这些节点进入更多其它节点路由表的机会,从而可以快速提升其入度。通过第九、十、十三步中的设置,周期性地进行渗透,能够有效克服Kademlia网络动态性对Sybil节点重要性的影响,保证Sybil节点始终能够有较高的入度。快速提高Sybil节点的重要性,有助于利用Sybil节点更多、更高效地获知网络中大量节点的活动情况,从而为快速发现和遏制网络中的恶意活动提供技术支撑。
附图说明
图1为本发明的总流程图。
具体实施方式
图1是本发明的总流程图:
第一步,设置渗透周期计数值T=1,分组编号G=L,初始时刻的活跃节点列表ActiveNodes(0)为Null。
第二步,利用P2P网络爬虫获取Kademlia网络第T个渗透周期活跃节点列表ActiveNodes(T)的IP、UDPport、nodeID信息。
第三步,依次计算ActiveNodes(T)中nT个活跃节点的active值,假设ActiveNodes(T)中的任一表项q(0≤q≤nT-1)对应的IP、UDPport、nodeID信息为IPq、UDPportq、nodeIDq。
第四步,将ActiveNodes(T)中nT个节点的nodeID值依次与Sybil节点的nodeID值进行异或,并根据得到的异或距离值对ActiveNodes(T)中的nT个表项进行编组,将异或距离在[2j,2j+1)范围内的节点编为第j(0≤j≤L-1)组,则编组的数目为L,通过对编组的遍历得出每组的节点数记为σT(0≤σT≤nT)。
第五步,对L个编组,按照active值降序重排每个组的σT个表项。
第六步,G=G-1。
第七步,从第G组的首节点开始,Sybil节点依次向该组所有节点发送PING探测命令。根据Kademlia网络的捎带更新策略,在被渗透节点收到PING命令后,如果根据它的nodeID值Sybil节点的nodeID值进行异或得到的距离确定的被渗透节点的K-bucket中有空位,就将Sybil节点作为邻居节点保存在该K-bucket中,从而提高Sybil节点的入度。
第八步,如果G=0,执行第九步;否则,转第六步。
第九步,设置计时器为m小时。这是为了间歇m小时,m一般取6;
第十步,间歇5秒。
第十一步,判断是否收到退出指令:是,转第十四步;否则转第十二步。
第十二步,判断是否计时器结束:是,转第十三步;否,转第十步。
第十三步,T=T+1,转第二步。
第十四步,结束。
Claims (2)
1.一种用于快速提升Sybil节点重要性的渗透方法,其特征在于包括以下步骤:
第一步,设置渗透周期计数值T=1,分组编号G=L,L为Kademlia网络节点标识nodeID的比特位数,初始时刻的活跃节点列表ActiveNodes(0)为空,ActiveNodes(T)是第T个渗透周期时的活跃节点列表,列表中的元素为活跃节点信息,项数为第T个渗透周期中的活跃节点数nT,每个表项包括IP、UDP port、nodeID、active四个域,IP表示活跃节点的IP地址,UDPport指活跃节点的UDP端口号,nodeID是活跃节点的节点标识,active表示活跃节点的活跃程度值;
第二步,利用P2P网络爬虫获取Kademlia网络第T个渗透周期活跃节点列表ActiveNodes(T)的IP、UDP port、nodeID信息;
第三步,依次计算ActiveNodes(T)中各个活跃节点的active值,具体计算方法如下:
3.1)令q=0;
3.2)对于ActiveNodes(T)中的表项q,若ActiveNodes(T-1)中含有表项<IPq,UDPportq,nodeIDq,active_old>,IPq、UDP portq、nodeIDq分别为ActiveNodes(T)中的表项q对应的IP、UDP port、nodeID信息,则ActiveNodes(T)中的表项为<IPq,UDP portq,nodeIDq,active_old+1>;若ActiveNodes(T-1)中不含有这种表项,即节点标识为nodeIDq的活跃节点是第一次出现在活跃节点列表中,则ActiveNodes(T)中的表项q为<IPq,UDPportq,nodeIDq,1>;
3.3)q=q+1;
3.4)判断q是否等于nT,如果等于,则转第四步,否则,转3.2);
第四步,将ActiveNodes(T)中nT个节点的nodeID值依次与Sybil节点的nodeID值进行异或,得到nT个异或距离,并根据得到的异或距离值对ActiveNodes(T)中的nT个表项进行编组,将异或距离在[2j,2j+1)范围内的节点编为第j组,则编组的数目为L,通过对编组的遍历得出每组的节点数记为σT,0≤j≤L-1,0≤σT≤nT;
第五步,对L个编组,按照active值降序重排每个组的σT个表项,得到L个降序重排后的编组;
第六步,G=G-1;
第七步,从第G组的首节点开始,Sybil节点依次向该组所有节点发送PING探测命令;根据Kademlia网络的捎带更新策略,被渗透节点收到PING命令后,将Sybil节点的nodeID值与自身的nodeID值进行异或,并根据该异或值确定Sybil节点的K-bucket,如果该K-bucket中有空位,则将Sybil节点作为邻居节点保存在该K-bucket中;每个Kademlia节点的路由表由L个链表组成,每个链表称为一个“K-bucket”,用于记录网络中到自己的异或距离在区间[2i,2i+1)内的邻居节点的信息,每条信息以三元组<IP地址,UDP端口号,nodeID>形式表示和存储,i为K-bucket的序号,0≤i<L;
第八步,如果G=0,执行第九步;否则,转第六步;
第九步,设置计时器为m小时;
第十步,间歇5秒;
第十一步,判断是否收到退出指令:是,转第十四步;否则转第十二步;
第十二步,判断是否计时器结束:是,转第十三步;否,转第十步;
第十三步,T=T+1,转第二步;
第十四步,结束。
2.如权利要求1所述的一种用于快速提升Sybil节点重要性的渗透方法,其特征在于所述m取6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271658.6A CN104010003B (zh) | 2014-06-18 | 2014-06-18 | 用于快速提升Sybil节点重要性的渗透方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271658.6A CN104010003B (zh) | 2014-06-18 | 2014-06-18 | 用于快速提升Sybil节点重要性的渗透方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104010003A CN104010003A (zh) | 2014-08-27 |
CN104010003B true CN104010003B (zh) | 2017-02-01 |
Family
ID=51370497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410271658.6A Active CN104010003B (zh) | 2014-06-18 | 2014-06-18 | 用于快速提升Sybil节点重要性的渗透方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104010003B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378426B (zh) * | 2014-11-14 | 2018-06-12 | 中国电子科技集团公司第二十九研究所 | 一种用于实时信息分发***的负载均衡方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145929A (zh) * | 2007-08-09 | 2008-03-19 | 复旦大学 | 一种面向ipv6环境的p2p流媒体点播*** |
CN103067521A (zh) * | 2013-01-08 | 2013-04-24 | 中国科学院声学研究所 | 一种分布式爬虫集群中的节点和*** |
-
2014
- 2014-06-18 CN CN201410271658.6A patent/CN104010003B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145929A (zh) * | 2007-08-09 | 2008-03-19 | 复旦大学 | 一种面向ipv6环境的p2p流媒体点播*** |
CN103067521A (zh) * | 2013-01-08 | 2013-04-24 | 中国科学院声学研究所 | 一种分布式爬虫集群中的节点和*** |
Non-Patent Citations (2)
Title |
---|
《一种针对P2P网络优化的Kademlia路由算法》;杨丞,张刚林,刘光灿,王路露;《微电子学与计算机》;20090930;第26卷(第9期);全文 * |
基于kademlia协议的高生存性P2P僵尸网络;朱俊虎,李鹤帅,王清贤,邱菡;《计算机应用》;20130501;第33卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104010003A (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060029007A1 (en) | Ad hoc network topology discovery | |
JP2008011448A (ja) | アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム | |
Cancela et al. | Polynomial-time topological reductions that preserve the diameter constrained reliability of a communication network | |
CN104010003B (zh) | 用于快速提升Sybil节点重要性的渗透方法 | |
CN103813372B (zh) | 一种基于IPv6的无线传感器网络管理方法 | |
Drees et al. | Churn-and dos-resistant overlay networks based on network reconfiguration | |
CN104038547B (zh) | P2P网络中有效消解多Sybil节点渗透冲突的方法 | |
CN101741867B (zh) | 一种捕获BitTorrent网络中节点信息的方法 | |
CN108833609B (zh) | 一种基于历史拓扑测量数据的局部网络目的ip地址选择方法 | |
CN104579805A (zh) | 一种新的网络流量识别方法 | |
WO2016072838A1 (en) | A system and method for next hop selection in a wireless sensor network | |
RU2016124953A (ru) | Способ маскирования структуры сети связи | |
Zhou et al. | An efficient and scalable pairwise key pre-distribution scheme for sensor networks using deployment knowledge | |
Jabbar et al. | Modeling the message alternative routes in a large scale wireless sensor network | |
JP5857791B2 (ja) | 通信装置 | |
CN106332214B (zh) | 一种数据定向传输方法和*** | |
Kurhinen et al. | Modelling mobile encounter networks | |
Al-Nabhan et al. | Distributed algorithm for connected dominating set construction in sensor networks | |
Din et al. | Energy source saving approach using multi-tier network design technique | |
Wang et al. | On the characteristics of the worm infection family tree | |
Patra et al. | Modified rumor routing for wireless sensor networks | |
Emimajuliet et al. | Defending Collaborative Attacks in MANETs Using Modified Cooperative Bait Detection Scheme | |
Wilkosz | Utilization of multi-agent system for power system topology verification | |
Mamun et al. | A partial key distribution protocol for WSNs in distributed IoT applications | |
Liu et al. | Wireless Sensor Network Traffic Modeling and Anomaly Simulation based on OPNET. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |