一种基于区块链的DDOS攻击防御方法与流程

文档序号:18135227发布日期:2019-07-10 10:33阅读:1614来源:国知局

本发明属于区块链技术领域,涉及到一种基于区块链的ddos攻击防御方法。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。

由于不安全的移动及固定设备的快速增加,以及网络流量的指数级增长,导致分布式拒绝服务攻击(ddos)成为威胁计环机网络的重大成胁,存在安全性差以及防攻击能力差的问题。孤立的防御方法难以应对大规模的ddos攻击,为了方便跨组织的ddos防御,本文提出了基于区块链技术的网络ddos联合防御方法。



技术实现要素:

本发明的目的在于提供的基于区块链的ddos攻击防御方法,通过区块链的分布,并采用可靠性节点与非可靠性节点间的连接以及设置用户的权限,能够有效地对攻击进行防御,解决了现有网站防攻击能力差以及安全性低的问题。

本发明的目的可以通过以下技术方案实现:

一种基于区块链的ddos攻击防御方法,包括以下步骤:

s1、建立区块链连接,并将认证合约部署在区块链上的每个节点上,所有节点间的连接构成区块链;

s2、筛选区块链中的所有节点,划分可靠性节点和非可靠性节点;

s3、实时检测区块链上的可靠性节点是否受到攻击,若受到攻击,则断开与受到攻击的可靠性节点间的通信连接,并执行步骤s4,否则,执行步骤s7;

s4、筛选区块链中所有非可靠性节点,提取所有非可靠性节点与受到攻击的可靠性节点相连接的非可靠性节点或可靠性节点多的非可靠性节点,并将与受到攻击的可靠性节点相连接的非可靠性节点或可靠性节点多的非可靠性节点作为第一备用可靠性节点;

s5、判断第一备用可靠性节点是否与受到攻击的可靠性节点相连接的所有非可靠性节点或可靠性节点相连接,若否,则筛选第一备用可靠性节点未与受到攻击的可靠性节点相连接的所有非可靠性节点或可靠性节点相连接的非可靠性节点,并将筛选的非可靠性节点作为备份待选节点,若是,则执行步骤s7;

s6、筛选备份待选节点中与第一备份可靠性节点相连接,且与剩余待连接节点相连接的非可靠性节点作为第二备份可靠性节点;

s7、实时检测发送至可靠性节点的用户身份信息,判断用户身份信息,若为认证用户,则执行步骤s8,否则,为普通用户,并执行步骤s9;

s8、可靠性节点接收认证用户发送的控制指令,对存储至可靠性节点上的认证合约进行删除或修改,并将接受的认证用户发送的控制指令传输至与之连接的可靠性节点和非可靠性节点;

s9、普通用户无法发送控制指令至可靠性节点或非可靠性节点,且可对存储至可靠性节点上的认证合约进行查询。

进一步地,所述区块链上所有节点的划分,包括以下步骤:

h1、统计所有节点与其他节点连接的数量;

h2、筛选所有节点连接其他节点的数量是否超过上设定的节点连接数量阈值;

h3、若超过,则将超过节点连接数量阈值的节点作为初次可靠性节点,若未超过,则将未超过节点连接数量阈值的节点作为备份筛选节点;

h4、判断备份筛选节点中的所有节点是否均与至少一个初次可靠性节点连接,若存在有节点均未与初次可靠性节点相连接,则筛选均未与一个初次可靠性节点相连接的节点作为二次备份筛选节点;

h5、筛选出二次备份筛选节点中的节点与二次备份筛选节点中其他节点连接数量最多的节点作为二次可靠性节点,并筛选出与二次可靠性节点未相连的二次备份筛选节点中的其他节点,作为三次备份筛选节点,重复执行步骤h5,直至二次备份筛选节点中的所有节点均与至少一个二次可靠性节点相连接。

进一步地,所述剩余待连接节点指与受到攻击的可靠性节点相连接的所有非可靠性节点删除与第一备用可靠性节点相连接的所有非可靠性节点而剩余的非可靠性节点。

进一步地,所述提取可靠性节点间相互通信连接,且可靠性节点与与之连接的非可靠性节点间进行单向通信连接,可靠性节点间以及可靠性节点与非可靠性节点间的通信连接,用于维持区块链上每个节点上的认证合约内容相一致。

本发明的有益效果:

本发明提供的基于区块链的ddos攻击防御方法,通过采用可靠性节点与非可靠性节点间的连接以及设置用户的权限,能够有效地对攻击进行防御,使得攻击者无法对网站进行攻击,并通过区块链的分布设置,进一步加强了为网站数据防篡改,保证网站数据的有效性和安全性。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

一种基于区块链的ddos攻击防御方法,包括以下步骤:

s1、建立区块链连接,并将认证合约部署在区块链上的每个节点上,所有节点间的连接构成区块链;

s2、筛选区块链中的所有节点,划分可靠性节点和非可靠性节点,所述提取可靠性节点间相互通信连接,且可靠性节点与与之连接的非可靠性节点间进行单向通信连接,可靠性节点间以及可靠性节点与非可靠性节点间的通信连接,用于维持区块链上每个节点上的认证合约内容相一致;

所述区块链上所有节点的划分,包括以下步骤:

h1、统计所有节点与其他节点连接的数量;

h2、筛选所有节点连接其他节点的数量是否超过上设定的节点连接数量阈值;

h3、若超过,则将超过节点连接数量阈值的节点作为初次可靠性节点,若未超过,则将未超过节点连接数量阈值的节点作为备份筛选节点;

h4、判断备份筛选节点中的所有节点是否均与至少一个初次可靠性节点连接,若存在有节点均未与初次可靠性节点相连接,则筛选均未与一个初次可靠性节点相连接的节点作为二次备份筛选节点;

h5、筛选出二次备份筛选节点中的节点与二次备份筛选节点中其他节点连接数量最多的节点作为二次可靠性节点,并筛选出与二次可靠性节点未相连的二次备份筛选节点中的其他节点,作为三次备份筛选节点,重复执行步骤h5,直至二次备份筛选节点中的所有节点均与至少一个二次可靠性节点相连接。

s3、实时检测区块链上的可靠性节点是否受到攻击,若受到攻击,则断开与受到攻击的可靠性节点间的通信连接,并执行步骤s4,否则,执行步骤s7;

s4、筛选区块链中所有非可靠性节点,提取所有非可靠性节点与受到攻击的可靠性节点相连接的非可靠性节点或可靠性节点多的非可靠性节点,并将与受到攻击的可靠性节点相连接的非可靠性节点或可靠性节点多的非可靠性节点作为第一备用可靠性节点;

s5、判断第一备用可靠性节点是否与受到攻击的可靠性节点相连接的所有非可靠性节点或可靠性节点相连接,若否,则筛选第一备用可靠性节点未与受到攻击的可靠性节点相连接的所有非可靠性节点或可靠性节点相连接的非可靠性节点,并将筛选的非可靠性节点作为备份待选节点,若是,则执行步骤s7;

s6、筛选备份待选节点中与第一备份可靠性节点相连接,且与剩余待连接节点相连接的非可靠性节点作为第二备份可靠性节点,所述剩余待连接节点指与受到攻击的可靠性节点相连接的所有非可靠性节点删除与第一备用可靠性节点相连接的所有非可靠性节点而剩余的非可靠性节点;

s7、实时检测发送至可靠性节点的用户身份信息,判断用户身份信息,若为认证用户,则执行步骤s8,否则,为普通用户,并执行步骤s9;

s8、可靠性节点接收认证用户发送的控制指令,对存储至可靠性节点上的认证合约进行删除或修改,并将接受的认证用户发送的控制指令传输至与之连接的可靠性节点和非可靠性节点,使得攻击者无法对网站进行攻击,提高了抵御能力;

s9、普通用户无法发送控制指令至可靠性节点或非可靠性节点,且可对存储至可靠性节点上的认证合约进行查询。

本发明提供的基于区块链的ddos攻击防御方法,通过采用可靠性节点与非可靠性节点间的连接以及设置用户的权限,能够有效地对攻击进行防御,使得攻击者无法对网站进行攻击,并通过区块链的分布设置,进一步加强了为网站数据防篡改,保证网站数据的有效性和安全性。

以上内容仅仅是对本发明的构思所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的构思或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1