CN110191116B - 恶意节点隔离方法和系统、算力验证终端及p2p网络 - Google Patents
恶意节点隔离方法和系统、算力验证终端及p2p网络 Download PDFInfo
- Publication number
- CN110191116B CN110191116B CN201910441954.9A CN201910441954A CN110191116B CN 110191116 B CN110191116 B CN 110191116B CN 201910441954 A CN201910441954 A CN 201910441954A CN 110191116 B CN110191116 B CN 110191116B
- Authority
- CN
- China
- Prior art keywords
- node
- verification
- value
- malicious
- neighbor
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种恶意节点隔离方法,包括:信用分值生成步骤,初始化当前节点的邻居节点的信用分值;随机字符串发送步骤,该当前节点发送随机字符串给该邻居节点;目标值获取步骤,该邻居节点根据该随机字符串寻找目标值,并将得到的目标值发送给该当前节点;目标值验证步骤,该当前节点对该目标值进行验证,并根据通过验证的该目标值更新该信用分值;判断隔离步骤,通过该信用分值对该邻居节点进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。本发明通过引入工作量证明来评估邻居节点的可信度,提升在无许可的P2P网络中伪造大量恶意节点的成本,以防范日蚀攻击。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种P2P网络隔离恶意节点的方法及系统。
背景技术
1994年,Marsh首先系统论述了信任的形式化问题。他从信任的概念出发,对信任内容和信任程度进行划分,并从信任的主观性入手提出信任度量的数学模型。随后,Adul-Rahman等学者则针对互联网社群中的信任度评价问题给出基于分布的反馈信息的信任度评价模型。在此之后,围绕如何更为合理、准确地刻画节点的信任问题,许多学者分别从各自的角度针对P2P环境下不同的应用模式提出了许多形式各异的信任管理模型。将这些信任模型归纳起来可以分为两类,即依赖于第三方与不依赖第三方的信任模型。
1、依赖第三方的信任模型:由公认的第三方下发CA证书,节点以证书作为其身份凭证加入网络;缺点是只适合中心化系统,不适合无许可P2P网络。
2、不依赖第三方的信任模型:这种方式更加适合无许可P2P网络,主流方案分为两种:
1)基于微支付的模型,为消息上传下载提供奖金激励,激励节点保持活跃;缺点是只能用于节点保持活跃度,不能防止节点作恶,不适合直接用于邻居信任度的评估。
2)基于社会信任网络的模型,根据节点和邻居的交互行为,结合其他邻居节点对该邻居的评价,综合评估该邻居的信任度。主要根据节点行为来评估节点的信任度,该方案可以在无许可p2p网络中提升日蚀攻击的成本,但是由于节点行为范式可以定制,对于攻击者而言,让作恶节点符合行为范式但是依旧发送虚假消息的成本并不是很高,所以该方案对攻击成本的提升并不明显。
图1是P2P网络的日蚀攻击示意图。在图1的左侧,P2P网络中一个节点(诚实节点)会和多个其他节点(诚实节点)建立长连接来获取外部的信息;在图1的右侧,而当发生日蚀攻击时,攻击者会通过控制某个节点(诚实节点)的所有邻居节点(恶意节点)来操纵该节点接收到的所有外部信息,以此来欺骗该节点。在无许可的P2P网络中,人人可加入成为节点,创建节点的成本非常低,伪造一个有效节点的成本也非常低,导致通过伪造大量恶意节点对某个诚实节点发起日蚀攻击的成本不高,攻击者可以低成本创建大量节点来逐渐顶替某个节点的所有邻居,完成日蚀攻击。而现有的解决方案要么不适合去中心化的无许可P2P网络,要么对提升节点信任度的效果有限。
中国国家发明“一种区块链恶意节点发现与隔离方法及装置”(申请号:CN201810643035.5),公开了一种区块链恶意节点发现与隔离方法及装置,通过读取区块链网络中各区块链节点的工作量证明数据获取计算节点的工作量阈值,并将节点的工作量证明数据与节点的工作量阈值进行比较,以识别恶意节点,同时计算与恶意节点连接的代价最小节点,通过代价最小节点构建恶意节点的虚拟同步连接,将恶意节点的数据同步队列映射到代价最小节点的数据同步队列以隔离恶意节点。该方法在不影响区块链节点的服务下,隔离了恶意的区块链节点,提升了区块链系统的容错能力。但该方法需要至少一个各区块链节点都信任的中心节点以获取各区块链节点的工作量证明数据,并进行工作量阈值计算以及比较、隔离等操作,实际上已偏离了P2P网络去中心化的本质,同时在无法保证中心节点可信任度的前提下,也无法保证可以识别出真正的恶意节点。
发明内容
针对现有技术中存在的问题,本发明提出一种恶意节点隔离方法,通过引入工作量证明来评估邻居节点的可信度,提升在无许可的P2P网络中伪造大量恶意节点的成本,以防范日蚀攻击。
具体来说,该方法包括:信用分值生成步骤,初始化当前节点的邻居节点的信用分值;随机字符串发送步骤,当该前节点发送随机字符串给该邻居节点;目标值获取步骤,该邻居节点根据该随机字符串寻找目标值,并将得到的目标值发送给该当前节点;目标值验证步骤,该当前节点对该目标值进行验证,并根据通过验证的该目标值更新该信用分值;判断隔离步骤,通过该信用分值对该邻居节点进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。
所述的恶意节点隔离方法,其中该随机字符串发送步骤之前,还包括:节点连接步骤,当前节点A与节点B'通过三次握手建立长连接,并以节点B'为当前节点A的邻居节点B;阈值发送步骤,建立长连接后,当前节点A向邻居节点B发送期望难度阈值DT。
本发明所述的恶意节点隔离方法,其中该随机字符串发送步骤具体包括:在当前心跳周期的起始,当前节点A向邻居节点B发送随机字符串str。
本发明所述的恶意节点隔离方法,其中该目标值获取步骤具体包括:于该当前心跳周期内,邻居节点B生成验证值N';将随机字符串str与验证值N'串联为运算字符串,获取该运算字符串的散列值Hash(str,N')为目标散列值,并将该目标散列值与期望难度阈值DT进行比较;当该目标散列值大于或等于期望难度阈值DT时,丢弃验证值N',并生成新的验证值;当该目标散列值小于期望难度阈值DT时,以验证值N'为目标值N;向当前节点A发送目标值N。
本发明所述的恶意节点隔离方法,其中邻居节点B以线性递增方式从0起始生成验证值N'。
本发明所述的恶意节点隔离方法,其中该目标值验证步骤具体包括:当前节点A将随机字符串str与目标值N串联为验证字符串,获取该验证字符串的散列值Hash(str,N)为验证散列值,并将该验证散列值与期望难度阈值DT进行比较;仅当该验证散列值小于期望难度阈值DT时,将邻居节点B的信用分值增加一个信用值。
本发明所述的恶意节点隔离方法,其中该判断隔离步骤具体包括:对所有信用分值进行降序排序,以排序序号大于恶意节点判断阈值的邻居节点为恶意节点;将该恶意节点的路由信息移出该当前节点的路由表,并中断该当前节点与该恶意节点的长连接。
本发明还提出一种恶意节点隔离系统,包括:信用分值生成模块,用于初始化当前节点的邻居节点的信用分值;随机字符串发送模块,用于发送随机字符串给邻居节点;目标值获取模块,用于根据该邻居节点发送的随机字符串寻找目标值,并将该目标值发送给该邻居节点;目标值验证模块,用于对该邻居节点发送的目标值进行验证,并根据通过验证的该目标值更新该邻居节点的信用分值;判断隔离模块,用于通过该信用分值进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。
本发明所述的恶意节点隔离系统,还包括:节点连接模块,用于当前节点A与节点B'通过三次握手建立长连接,并以节点B'为当前节点A的邻居节点B;阈值发送模块,用于当建立长连接后,向邻居节点B发送当前节点A的期望难度阈值DTA,并接收邻居节点B的期望难度阈值DTB。
本发明所述的恶意节点隔离系统,其中该随机字符串发送模块在当前心跳周期的起始,将随机字符串strA发送给邻居节点B,并接收邻居节点B发送的随机字符串strB。
本发明所述的恶意节点隔离系统,其中该目标值获取模块具体包括:验证值生成模块,用于在该当前心跳周期内,生成验证值NB';目标值生成模块,用于生成目标值;其中,将随机字符串strB与验证值NB'串联为运算字符串,获取该运算字符串的散列值Hash(str,NB')为目标散列值',并将目标散列值与期望难度阈值DTB进行比较;当该目标散列值大于或等于DTB时,丢弃验证值,并调用该验证值生成模块以生成新的验证值;反之,则以NB'为目标值NB;目标值发送模块,用于向邻居节点B发送目标值NB。
本发明所述的恶意节点隔离系统,其中该验证值生成模块以线性递增方式从0起始生成验证值N'。
本发明所述的恶意节点隔离系统,其中该目标值验证模块体包括:算力验证模块,用于接收邻居节点B生成的目标值NA,将随机字符串strA与目标值NA串联为验证字符串,并获取该验证字符串的散列值Hash(str,NA)为验证散列值,将该验证散列值与期望难度阈值DTA进行比较;信用更新模块,用于仅当该验证散列值小于期望难度阈值DT时,将邻居节点B的信用分值增加一个信用值。
本发明所述的恶意节点隔离系统,其中该判断隔离模块具体包括:恶意节点判断模块,用于对该信用分值进行降序排序,以排序序号大于恶意节点判断阈值的邻居节点为恶意节点;恶意节点隔离模块,用于将恶意节点的路由信息移出当前节点的路由表,并中断与该恶意节点的长连接。
本发明还提出一种可读存储介质,存储有可执行指令,该可执行指令用于执行前述的恶意节点隔离方法。
本发明还提出一算力验证终端,用于接入P2P网络成为网络节点,该算力验证终端包括:前述的可读存储介质;处理器,用于调取并执行该可读存储介质中的可执行指令,建立该网络终端与其他网络节点的长连接关系,通过算力验证判断与该算力验证终端具有长连接关系的邻居节点是否为恶意节点,并将该算力验证终端与判断为恶意节点的邻居节点进行通信隔离;通信装置,用于存储路由表,进行与该邻居节点的长连接,并进行与恶意节点的通信隔离,其中该路由表存储有该算力验证终端的所有邻居节点的路由信息和信用分值,其中具有长连接关系的算力验证终端之间互为邻居节点。
本发明还提出一种P2P网络,该P2P网络包括多个网络节点,其至至少一个网络节点为前述的算力验证终端,算力验证终端构成的网络节点与至少一个其他网络节点保持或建立长连接关系。
附图说明
图1是P2P网络的日蚀攻击示意图。
图2是基于算力证明机制的节点间建立信任关系的核心过程示意图。
图3是本发明的恶意节点隔离方法的流程图。
图4是本发明的恶意节点隔离系统结构示意图。
图5是本发明的算力验证终端结构示意图。
图6是本发明的P2P网络结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
P2P网络(对等网络),即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。整个P2P网络的网络结构中不存在中心节点(或中心服务器),在P2P网络环境中,每一台终端(节点)既能充当网络服务的请求者,又对其它终端(邻居节点)的请求做出响应,提供资源、服务和内容。
P2P网络技术的特点体现在以下几个方面:去中心化:P2P网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。可扩展性:在P2P网络在理论上其可扩展性几乎可以认为是无限的。健壮性:P2P网络的服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。高性价比:采用P2P网络架构可以有效地利用互联网中散布的大量普通节点,将计算任务或存储资料分布到所有节点上,也可以利用各节点闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。隐私保护:在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小,此外,P2P网络的所有节点都可以提供中继转发,因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。负载均衡:P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。
图2是基于算力证明机制的节点间建立信任关系的核心过程示意图。如图2所示,首先通过节点发现,节点A(NodeA)知道了节点B(Node B)的存在,于是和Node B通过三次握手建立一个长连接用于通讯,然后NodeA和Node B互相Say Hello,并告知对方自己的期望难度阈值(心跳包难度目标值)Difficulty Target。之后,NodeA维护心跳包的线程将会周期性地向Node B发送Ping包,每次在其中放置随机生成的字符串str,Node B收到NodeA的Ping包之后,需要从0开始尝试nonce值,直到找到一个nonce满足Hash(str,nonce)<DifficultyTarget,然后将找到的nonce值放置在Pong包里返回给NodeA。NodeA每次收到Node B的Pong包,并对nonce验证通过后,会为Node B累加一个信用分。由于NodeA的路由表大小有限,而NodeA又会持续性地发现新节点,所以NodeA会周期性地清理累计信用分较低的邻居,断开和他们的连接,留给新发现的节点。
图3是本发明的恶意节点隔离方法的流程图。如图3所示,针对P2P网络中存在的日蚀攻击,本发明提出一种恶意节点隔离方法,具体包括:
步骤S01,节点A与节点B通过三次握手(three times handshake;three-wayhandshake)建立长连接,当建立长连接后,以节点B为当前节点A的邻居节点B;其中,三次握手包括:第一次握手,节点A发送SYN包(SYN,Synchronize Sequence Numbers:同步序列编号)到节点B,并进入SYN_SENT状态,等待节点B确认;第二次握手,节点B收到SYN包后,确认节点A的SYN,同时也向节点A发送一个SYN+ACK包,此时节点B进入SYN_RECV状态;第三次握手,节点A收到节点B的SYN+ACK包后,向节点B发送ACK包,ACK包发送完毕,节点A和节点B进入TCP连接成功(ESTABLISHED)状态,完成三次握手,节点A与节点B建立长连接,此时节点A与节点B互为邻居节点,即节点A为节点B的邻居节点A,节点B为节点A的邻居节点B;为能更清晰的对本发明的技术方案进行描述,以下均以节点B为节点A的邻居节点B的情况进行说明,而非严格的限定。于步骤S01中,节点B也可首先发起第一次握手。本发明所述的长连接,是指在一次连接中可以连续发送多个数据包的连接关系,在长连接保持期间,如果没有数据包发送,需要连接的双方按心跳周期相互发送心跳包(链路检测包);
步骤S02,节点A与邻居节点B建立长连接后,在节点A的路由表中会增加邻居节点B的路由信息,生成邻居节点B的信用分值FB,并初始化信用分值为0;将邻居节点的信用分值保存于节点A的路由表内;
步骤S03,节点A向邻居节点B发送握手包;其中握手包内包含有节点A对邻居节点B的期望难度阈值DT(Difficulty Target);节点A可以在此次长连接中仅发送一次DT,于另一实施例中,则可以根据预设的更新周期发送DT,每次发送的DT可以相同或不同,以不断调整DT的难度;也可以非周期性发送DT,本发明并不以此为限;
步骤S04,在当前心跳周期的起始,节点A向邻居节点B发送第一心跳包(Ping包),第一心跳包携带有节点A生成的随机字符串str;邻居节点B通过接收到的第一心跳包获取str;
步骤S05,在当前心跳周期内,邻居节点B生成验证值N';验证值N'可以随机生成,也可以按预设的规则生成,例如依次或随机调用预设的验证值表中的数据,或设定初始值后,以线性递增方式生成验证值;于本发明的实施例中,采用线性递增方式生成验证值,其初始值设定为0,线性递增间隔为1,即在当前心跳周期内,邻居节点B第一次生成的验证值N'为0,第二次生成的验证值N'为1,……,第n次生成验证值N'为(n-1);
步骤S06,邻居节点B将str与N'串联为运算字符串,获取运算字符串的散列值HasH(str,N')为目标散列值;
步骤S07,将目标散列值与DT进行比较;当目标散列值大于或等于DT时,丢弃N',并返回步骤S05以生成新的N';当目标散列值小于期望难度阈值DT时,进入步骤S08;
步骤S08,以N'为目标值N,邻居节点B向节点A通过第二心跳包(Pong包),第二心跳包携带有邻居节点B寻找到的N;节点A通过接收到的第二心跳包获取N;
于本发明的实施例中,邻居节点B对应str生成N'的活动都是出于当前心跳周期tn内,即在当前心跳周期tn内没有找到对应strn的Nn时,于下一心跳周期tn+1起始,邻居节点B将不再对应随机字符串strn生成N'n,而是接收节点A发送随机字符串strn+1,并针对随机字符串strn+1生成N'n+1,以寻找随机字符串strn+1的目标值Nn+1;
步骤S09,节点A将str和与str对应的nonce串联为验证字符串,获取该验证字符串的散列值HasH(str,N)为验证散列值;
步骤S10,将验证散列值与DT进行比较;若该验证散列值大于或等于DT时,丢弃N,等待进入下一心跳周期,进行步骤S04;若该验证散列值小于DT时,进行步骤S11;
步骤S11,为节点A的路由表内对应邻居节点B的信用分值增加一个信用值,以更新信用分值FB;
步骤S12,对路由表内的所有邻居节点的信用分值F进行降序排序,以排序序号大于恶意节点判断阈值的邻居节点为恶意节点;例如是,节点A具有邻居节点B、C、D、E,其中邻居节点B的信用分值FB=5,邻居节点C的信用分值FC=3,邻居节点D的信用分值FD=8,邻居节点E的信用分值FE=1,则对信用分值F进行降序排序后,排序顺序为:(1)FD、(2)FB、(3)FC、(4)FE;若设定恶意节点判断阈值为2,则判断邻居节点C和E为恶意节点;
对信用分值F进行排序的操作可以在每个心跳周期进行一次,例如是当前心跳周期tn的结束时,或下一心跳周期tn+1、心跳周期tn+2、……、心跳周期tn+m中的任一时间;也可以在大于一个心跳周期的间隔上进行信用分值F的排序操作,例如是以多个心跳周期为间隔,进行有规律的排序操作,或者每个间隔都随机选取至少一个心跳周期,以进行无规律的排序操作;也可以设定邻居节点数量阈值,以根据节点A的邻居节点数量的大小来确定是否进行排序操作,本发明并不以此为限;
步骤S13,将恶意节点的路由信息移出路由表,并中断与恶意节点的长连接。
以上仅描述了节点A判断邻居节点B是否为恶意节点的流程,由于节点A和节点B互为邻居节点,如果节点A和节点B均为诚实节点,则在节点A作为验证节点生成被验证节点的节点B的信用分值,向节点B发送期望难度阈值、随机字符串,验证节点B找到的目标值的同时,节点B也作为验证节点生成被验证节点的节点A的信用分值,向节点A发送期望难度阈值、随机字符串,验证节点A找到的目标值,双方在同步进行恶意节点判断的操作,因此,应视某一诚实节点既为验证节点也为被验证节点,同时执行本发明的恶意节点隔离方法中的验证和被验证步骤。
与恶意节点隔离方法向对应的,本发明还提出一种恶意节点隔离系统。图4是本发明的恶意节点隔离系统结构示意图。如图4所示,节点A(NodeA)与节点B(Node B)互为邻居节点,因此图4中节点A与节点B都设置有本发明的恶意节点隔离系统,节点A与节点B通过该系统相互进行算力验证。
本发明的恶意节点隔离系统包括:
1.节点连接模块,用于节点A与节点B通过三次握手建立长连接,并以节点B为当前节点A的邻居节点B;
2.阈值发送模块,用于当建立长连接后,向邻居节点B发送节点A的期望难度阈值DTA,并接收邻居节点B的期望难度阈值DTB;
3.信用分值生成模块,用于初始化当前节点的邻居节点的信用分值;
4.随机字符串发送模块,用于发送随机字符串给邻居节点;在当前心跳周期的起始,随机字符串发送模块将随机字符串strA发送给邻居节点B,并接收邻居节点B发送的随机字符串strB。
5.目标值获取模块,用于根据该邻居节点发送的随机字符串寻找目标值,并将该目标值发送给该邻居节点;具体包括:
a.验证值生成模块,用于在该当前心跳周期内,生成验证值NB';
b.目标值生成模块,用于将随机字符串strB与验证值NB'串联为运算字符串,获取该运算字符串的散列值HasH(str,NB')为目标散列值,并将目标散列值与期望难度阈值DTB进行比较;当目标散列值≥DTB时,丢弃验证值NB',并调用验证值生成模块以生成新的验证值NB';反之,则以验证值NB'为目标值NB;
c.目标值发送模块,用于向该邻居节点节点发送目标值NB。
6.目标值验证模块,用于对该邻居节点发送的目标值进行验证,并根据通过验证的该目标值更新该邻居节点的信用分值;具体包括:
d.算力验证模块,用于接收邻居节点B生成的目标值NA,将随机字符串strA与目标值NA串联为验证字符串,并获取该验证字符串的散列值HasH(str,NA)为验证散列值,将该验证散列值与期望难度阈值DTA进行比较;
e.信用更新模块,用于仅当该验证散列值小于期望难度阈值DT时,将邻居节点B的信用分值增加一个信用值。
7.判断隔离模块,用于通过该信用分值进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离;具体包括:
f.恶意节点判断模块,用于对该信用分值进行降序排序,以排序序号大于恶意节点判断阈值的邻居节点为恶意节点;
g.恶意节点隔离模块,用于将恶意节点的路由信息移出当前节点的路由表,并中断与该恶意节点的长连接。
图5是本发明的算力验证终端结构示意图。如图5所示,本发明还提出一种算力验证终端,本发明的终端接入P2P网络成为P2P网络的网络节点,本发明的算力验证终端包括处理器、通信装置和可读存储介质,其中处理器通过读取可读存储介质存储的可执行指令,以进行建立与其他网络节点的长连接关系,判断与本算力验证终端具有长连接关系的邻居节点是否为恶意节点,并将本算力验证终端与判断为恶意节点的邻居节点进行通信隔离等操作;通信装置,用于存储路由表,进行与该邻居节点的长连接,并进行与恶意节点的通信隔离,其中该路由表存储有本算力验证终端的所有邻居节点的路由信息和信用分值;可读存储介质存储有可执行指令,可执行指令被处理器执行时,实现上述恶意节点隔离方法。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如CPU、FPGA、ASIC等)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
图6是本发明的P2P网络结构示意图。如图6所示,本发明的P2P网络包括多个算力验证终端,本发明的P2P网络中,至少一个网络节点为本发明的算力验证终端,且由算力验证终端构成的网络节点与至少一个其他网络节点保持或建立长连接关系。其中,实线表示网络节点之间已建立长连接,虚线表示网络节点之间正在建立长连接。
假设网络规模设施为100个具有2核4G算力的节点,攻击者在进行日蚀攻击其中一个路由表大小为10(最多同时拥有10个邻居节点)的节点(目标节点)时,可以在同一个网络节点上启动1000台虚拟机来模拟正常节点(诚实节点),并投放到网络中,经过一段时间的路由轮换,目标节点的路由表将会被攻击者的模拟节点(恶意节点)占满,达到了日蚀攻击的效果。在采用本发明的恶意节点隔离方法后,目标节点根据自身算力将期望难度阈值Difficulty Target设置在平均花费1秒钟算出nonce的范围,那么此时攻击者要顺利发起攻击(恶意节点不被目标节点隔离),就必须具有与目标节点同等的算力,而不能简单使用同一个节点上的虚拟机,需要1000个拥有2核4G算力的节点,这样攻击成本会上升到1000倍,从而极大的增加了攻击者进行日蚀攻击的难度。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (18)
1.一种恶意节点隔离方法,其特征在于,包括:
信用分值生成步骤,初始化当前节点的邻居节点的信用分值;
随机字符串发送步骤,该当前节点发送随机字符串给该邻居节点;
目标值获取步骤,该邻居节点根据该随机字符串寻找目标值,并将得到的目标值发送给该当前节点;
目标值验证步骤,该当前节点对该目标值进行验证,并根据通过验证的该目标值更新该信用分值;
判断隔离步骤,通过该信用分值对该邻居节点进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。
2.如权利要求1所述的恶意节点隔离方法,其特征在于,该随机字符串发送步骤之前,还包括:
节点连接步骤,当前节点A与节点B通过三次握手建立长连接,并以节点B为当前节点A的邻居节点;
阈值发送步骤,建立长连接后,当前节点A向邻居节点B发送期望难度阈值DT。
3.如权利要求1所述的恶意节点隔离方法,其特征在于,该随机字符串发送步骤具体包括:
在当前心跳周期的起始,当前节点A向邻居节点B发送随机字符串str。
4.如权利要求3所述的恶意节点隔离方法,其特征在于,该目标值获取步骤具体包括:
于该当前心跳周期内,邻居节点B生成验证值N';
将随机字符串str与验证值N'串联为运算字符串,获取该运算字符串的散列值Hash(str,N')为目标散列值,并将该目标散列值与期望难度阈值DT进行比较;
当该目标散列值大于或等于期望难度阈值DT时,丢弃验证值N',并生成新的验证值;
当该目标散列值小于期望难度阈值DT时,以验证值N'为目标值N;
向当前节点A发送目标值N。
5.如权利要求4所述的恶意节点隔离方法,其特征在于,邻居节点B以线性递增方式从0起始生成验证值N'。
6.如权利要求4所述的恶意节点隔离方法,其特征在于,该目标值验证步骤具体包括:
当前节点A将随机字符串str与目标值N串联为验证字符串,获取该验证字符串的散列值Hash(str,N)为验证散列值,并将该验证散列值与期望难度阈值DT进行比较;
仅当该验证散列值小于期望难度阈值DT时,将邻居节点B的信用分值增加一个信用值。
7.如权利要求1或6所述的恶意节点隔离方法,其特征在于,该判断隔离步骤具体包括:
对所有信用分值进行降序排序,以排序序号大于恶意节点判断阈值的邻居节点为恶意节点;
将该恶意节点的路由信息移出该当前节点的路由表,并中断该当前节点与该恶意节点的长连接。
8.一种恶意节点隔离系统,其特征在于,包括:
信用分值生成模块,用于初始化当前节点的邻居节点的信用分值;
随机字符串发送模块,用于发送随机字符串给邻居节点;
目标值获取模块,用于根据邻居节点发送的随机字符串寻找目标值,并将该目标值发送给该邻居节点;
目标值验证模块,用于对邻居节点发送的目标值进行验证,并根据通过验证的该目标值更新该邻居节点的信用分值;
判断隔离模块,用于通过该信用分值进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。
9.如权利要求8所述的恶意节点隔离系统,其特征在于,还包括:
节点连接模块,用于当前节点A与节点B通过三次握手建立长连接,并以节点B为当前节点A的邻居节点;
阈值发送模块,用于当建立长连接后,向邻居节点B发送当前节点A的期望难度阈值DTA,并接收邻居节点B的期望难度阈值DTB。
10.如权利要求8所述的恶意节点隔离系统,其特征在于,该随机字符串发送模块在当前心跳周期的起始,将随机字符串strA发送给邻居节点B,并接收邻居节点B发送的随机字符串strB。
11.如权利要求10所述的恶意节点隔离系统,其特征在于,该目标值获取模块具体包括:
验证值生成模块,用于在该当前心跳周期内,生成验证值NB';
目标值生成模块,用于生成目标值;其中,将随机字符串strB与验证值NB'串联为运算字符串,获取该运算字符串的散列值Hash(str,NB')为目标散列值,并将目标散列值与期望难度阈值DTB进行比较;当该目标散列值大于或等于DTB时,丢弃验证值,并调用该验证值生成模块以生成新的验证值;反之,则以NB'为目标值NB;
目标值发送模块,用于向邻居节点B发送目标值NB。
12.如权利要求8所述的恶意节点隔离系统,其特征在于,该验证值生成模块以线性递增方式从0起始生成验证值N'。
13.如权利要求8或11所述的恶意节点隔离系统,其特征在于,该目标值验证模块体包括:
算力验证模块,用于接收邻居节点B生成的目标值NA,将随机字符串strA与目标值NA串联为验证字符串,并获取该验证字符串的散列值Hash(str,NA)为验证散列值,将该验证散列值与期望难度阈值DTA进行比较;
信用更新模块,用于仅当该验证散列值小于期望难度阈值DTA时,将邻居节点B的信用分值增加一个信用值。
14.如权利要求8所述的恶意节点隔离系统,其特征在于,该判断隔离模块具体包括:
恶意节点判断模块,用于对该信用分值进行降序排序,并以排序序号大于恶意节点判断阈值的邻居节点为恶意节点;
恶意节点隔离模块,用于将恶意节点的路由信息移出该当前节点的路由表,并中断与该恶意节点的长连接。
15.一种可读存储介质,存储有可执行指令,该可执行指令用于执行如权利要求1~7任一项所述的恶意节点隔离方法。
16.一种算力验证终端,用于接入P2P网络成为网络节点,其特征在于,该算力验证终端包括:
如权利要求15所述的可读存储介质;
处理器,用于调取并执行该可读存储介质中的可执行指令,建立该网络终端与其他网络节点的长连接关系,通过算力验证判断与该算力验证终端具有长连接关系的邻居节点是否为恶意节点,并将该算力验证终端与判断为恶意节点的邻居节点进行通信隔离;
通信装置,用于存储路由表,进行与该邻居节点的长连接,并进行与恶意节点的通信隔离,其中该路由表存储有该算力验证终端的所有邻居节点的路由信息和信用分值。
17.如权利要求16所述的算力验证终端,其特征在于,具有长连接关系的算力验证终端之间互为邻居节点。
18.一种P2P网络,该P2P网络包括多个网络节点,其特征在于,至少一个网络节点为如权利要求16或17所述的算力验证终端,算力验证终端构成的网络节点与至少一个其他网络节点保持或建立长连接关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910441954.9A CN110191116B (zh) | 2019-05-24 | 2019-05-24 | 恶意节点隔离方法和系统、算力验证终端及p2p网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910441954.9A CN110191116B (zh) | 2019-05-24 | 2019-05-24 | 恶意节点隔离方法和系统、算力验证终端及p2p网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110191116A CN110191116A (zh) | 2019-08-30 |
CN110191116B true CN110191116B (zh) | 2021-10-26 |
Family
ID=67717663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910441954.9A Active CN110191116B (zh) | 2019-05-24 | 2019-05-24 | 恶意节点隔离方法和系统、算力验证终端及p2p网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110191116B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886601A (zh) * | 2019-09-12 | 2023-10-13 | 华为技术有限公司 | 算力路由方法及装置 |
CN111600871B (zh) * | 2020-05-13 | 2022-08-02 | 中国联合网络通信集团有限公司 | 一种防止攻击方法及装置 |
CN112261427B (zh) * | 2020-10-20 | 2022-04-29 | 中国联合网络通信集团有限公司 | 恶意节点的识别方法及装置、电子设备 |
CN112653682B (zh) * | 2020-12-16 | 2022-12-27 | 深圳前海微众银行股份有限公司 | 一种区块链日蚀攻击检测的方法及装置 |
CN117560204A (zh) * | 2023-11-21 | 2024-02-13 | 中通服软件科技有限公司 | 一种网页数据传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571983A (zh) * | 2012-02-23 | 2012-07-11 | 浙江工商大学 | 一种对等网络存储数据信任模型建立方法 |
CN108492103A (zh) * | 2018-02-07 | 2018-09-04 | 北京大学深圳研究生院 | 一种联盟区块链共识方法 |
CN108965259A (zh) * | 2018-06-21 | 2018-12-07 | 佛山科学技术学院 | 一种区块链恶意节点发现与隔离方法及装置 |
CN109462836A (zh) * | 2018-11-09 | 2019-03-12 | 长安大学 | 融合区块链共识机制的车联网恶意节点检测系统及方法 |
CN109727038A (zh) * | 2019-01-02 | 2019-05-07 | 浙江师范大学 | 一种基于信用证明PoC的区块链共识机制及实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049523A1 (en) * | 2016-09-14 | 2018-03-22 | Royal Bank Of Canada | Credit score platform |
-
2019
- 2019-05-24 CN CN201910441954.9A patent/CN110191116B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571983A (zh) * | 2012-02-23 | 2012-07-11 | 浙江工商大学 | 一种对等网络存储数据信任模型建立方法 |
CN108492103A (zh) * | 2018-02-07 | 2018-09-04 | 北京大学深圳研究生院 | 一种联盟区块链共识方法 |
CN108965259A (zh) * | 2018-06-21 | 2018-12-07 | 佛山科学技术学院 | 一种区块链恶意节点发现与隔离方法及装置 |
CN109462836A (zh) * | 2018-11-09 | 2019-03-12 | 长安大学 | 融合区块链共识机制的车联网恶意节点检测系统及方法 |
CN109727038A (zh) * | 2019-01-02 | 2019-05-07 | 浙江师范大学 | 一种基于信用证明PoC的区块链共识机制及实现方法 |
Non-Patent Citations (2)
Title |
---|
"CHB-Consensus:一种基于一致性哈希算法的区块链共识机制研究";于雷;《高技术通讯》;20180930;全文 * |
"区块链共识机制之POW算法";程瑶;《技术分析》;20190331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110191116A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191116B (zh) | 恶意节点隔离方法和系统、算力验证终端及p2p网络 | |
Rath et al. | Optimal controller placement in Software Defined Networks (SDN) using a non-zero-sum game | |
WO2022105498A1 (zh) | 一种基于区块链网络的数据处理方法、装置、计算机设备以及计算机可读存储介质 | |
Yang et al. | Blockchain-based secure distributed control for software defined optical networking | |
Yang et al. | BLCS: Brain-like distributed control security in cyber physical systems | |
JP2023011876A (ja) | ブロックチェーンネットワークにおける効率的な伝播のための確率的リレー | |
CN111526015A (zh) | 数据采集上链方法、装置、设备和存储介质 | |
CN104734962B (zh) | 一种非结构化p2p网络的资源搜索方法 | |
CN112217683A (zh) | 跨异构链数据可达性处理方法、系统、介质、设备、终端 | |
Rathore | Performance of hybrid load balancing algorithm in distributed web server system | |
CN114118447A (zh) | 新型联邦学习系统、方法、装置、计算机设备及存储介质 | |
CN116566712A (zh) | 一种基于信任分数的物联网区块链共识方法 | |
Wan et al. | AnonymousFox: An efficient and scalable blockchain consensus algorithm | |
Morillo et al. | A latency-aware partitioning method for distributed virtual environment systems | |
CN113300851B (zh) | 基于dht的区块链消息广播方法、电子设备及存储介质 | |
Ha et al. | On the sustainability of bitcoin partitioning attacks | |
CN112748996A (zh) | 一种非集中式拓扑系统的负载均衡策略方法及系统 | |
Zhou et al. | Mercury: Fast Transaction Broadcast in High Performance Blockchain Systems | |
Sallal et al. | Security and performance evaluation of master node protocol in the bitcoin peer-to-peer network | |
Zhang et al. | Making eclipse attacks computationally infeasible in large-scale DHTs | |
Aradhya et al. | OverChain: Building a robust overlay with a blockchain | |
Morillo et al. | Ensuring the performance and scalability of peer-to-peer distributed virtual environments | |
Venati | Counting nodes in Ethereum blockchain | |
Stokkink et al. | Web3 Sybil avoidance using network latency | |
US20140113727A1 (en) | Online game system, method, and computer-readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230706 Address after: Room 3901, No. 701, Yunjin Road, Xuhui District, Shanghai, 200030 Patentee after: Shanghai Shutu blockchain Research Institute Address before: 100084 6 / F, East Building, block D, Tsinghua Tongfang science and Technology Plaza, Haidian District, Beijing Patentee before: Beijing Qinghong Weigu Technology Development Co.,Ltd. |