恶意节点隔离方法和系统、算力验证终端及P2P网络技术方案

技术编号:22005391 阅读:17 留言:0更新日期:2019-08-31 06:53
本发明专利技术涉及一种恶意节点隔离方法,包括:信用分值生成步骤,初始化当前节点的邻居节点的信用分值;随机字符串发送步骤,该当前节点发送随机字符串给该邻居节点;目标值获取步骤,该邻居节点根据该随机字符串寻找目标值,并将得到的目标值发送给该当前节点;目标值验证步骤,该当前节点对该目标值进行验证,并根据通过验证的该目标值更新该信用分值;判断隔离步骤,通过该信用分值对该邻居节点进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。本发明专利技术通过引入工作量证明来评估邻居节点的可信度,提升在无许可的P2P网络中伪造大量恶意节点的成本,以防范日蚀攻击。

Malicious Node Isolation Method and System, Power Verification Terminal and P2P Network

【技术实现步骤摘要】
恶意节点隔离方法和系统、算力验证终端及P2P网络
本专利技术属于互联网
,具体涉及一种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。本专利技术所述的恶意节本文档来自技高网
...

【技术保护点】
1.一种恶意节点隔离方法,其特征在于,包括:信用分值生成步骤,初始化当前节点的邻居节点的信用分值;随机字符串发送步骤,该当前节点发送随机字符串给该邻居节点;目标值获取步骤,该邻居节点根据该随机字符串寻找目标值,并将得到的目标值发送给该当前节点;目标值验证步骤,该当前节点对该目标值进行验证,并根据通过验证的该目标值更新该信用分值;判断隔离步骤,通过该信用分值对该邻居节点进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。

【技术特征摘要】
1.一种恶意节点隔离方法,其特征在于,包括:信用分值生成步骤,初始化当前节点的邻居节点的信用分值;随机字符串发送步骤,该当前节点发送随机字符串给该邻居节点;目标值获取步骤,该邻居节点根据该随机字符串寻找目标值,并将得到的目标值发送给该当前节点;目标值验证步骤,该当前节点对该目标值进行验证,并根据通过验证的该目标值更新该信用分值;判断隔离步骤,通过该信用分值对该邻居节点进行恶意节点判断,并对判断为恶意节点的邻居节点进行隔离。2.如权利要求1所述的恶意节点隔离方法,其特征在于,该随机字符串发送步骤之前,还包括:节点连接步骤,当前节点A与节点B'通过三次握手建立长连接,并以节点B'为当前节点A的邻居节点B;阈值发送步骤,建立长连接后,当前节点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'通过三次握手建立长连接,并以...

【专利技术属性】
技术研发人员:尚书
申请(专利权)人:北京清红微谷技术开发有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1