一种基于DAG区块链的防ARP欺骗攻击方法及平台端与流程

文档序号:21719769发布日期:2020-08-05 01:09阅读:278来源:国知局
一种基于DAG区块链的防ARP欺骗攻击方法及平台端与流程

本发明涉及区块链技术领域,特别涉及一种基于dag区块链的防arp欺骗攻击方法及平台端。



背景技术:

arp欺骗,是针对以太网地址解析协议(arp)的一种攻击技术。地址解析协议(arp,addressresolutionprotocol)是根据ip地址获取物理地址的一个tcp/ip协议。

arp欺骗攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网上特定计算机或所有计算机无法正常连线。arp欺骗的运作原理是由攻击者发送假的arp数据包到网上,尤其是送到网关上。其目的是要让送至特定的ip地址的流量被错误送到攻击者所取代的地方。攻击者会以一定的时间间隔,不断地发送伪造的arp报文,来达到让目标主机无法连接网络的目的。恶意的arp欺骗攻击甚至能够截取目标的私密数据。

目前对这种攻击最理想的防御方法是网内的每台计算机的arp一律改用静态的方式,不过该静态绑定数据可能被攻击者非法篡改,同时网络中随时可能有新的节点加入,维护不易。现有的基于区块链的arp攻击防御方案,仅仅是通过单链的区块链数据结构保证数据的安全性。

在互联网或者局部网络中,可能存在大量的节点,同时网络中随时有新的节点加入,利用单链结构的区块链,受到共识机制以及网络组织结构的限制,一方面ip地址与mac地址的对应表可能更新不及时,容易受到网络攻击;另一方面,可能受到中心化弱化的影响,同样容易受到网络攻击。



技术实现要素:

本发明所要解决的技术问题是:提供一种基于dag区块链的防arp欺骗攻击方法及平台端,能够保证网络节点免受arp欺骗攻击。

为了解决上述技术问题,本发明采用的技术方案为:

一种基于dag区块链的防arp欺骗攻击方法,包括步骤:

s1、接收主机节点发送的每一次广播数据包,从dag区块链中获取所述主机节点上至少两个数据单元,对所获取的所有所述数据单元和所述广播数据包进行ip-mac地址对是否相等的验证,若验证通过,则对所述广播数据包内的ip-mac地址对进行权重值加一;

s2、接收源主机节点所发送的包括目标主机节点的ip地址的mac地址请求包,根据所述目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点,所述源主机节点与所述目标主机节点为同一局域网内的主机节点。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种基于dag区块链的防arp欺骗攻击平台端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、接收主机节点发送的每一次广播数据包,从dag区块链中获取所述主机节点上至少两个数据单元,对所获取的所有所述数据单元和所述广播数据包进行ip-mac地址对是否相等的验证,若验证通过,则对所述广播数据包内的ip-mac地址对进行权重值加一;

s2、接收源主机节点所发送的包括目标主机节点的ip地址的mac地址请求包,根据所述目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点,所述源主机节点与所述目标主机节点为同一局域网内的主机节点。

本发明的有益效果在于:一种基于dag区块链的防arp欺骗攻击方法及平台端,利用基于dag区块链的结构,对广播数据包的ip-mac地址对进行是否相等的验证,若广播数据包的ip-mac地址对为正确的mac地址,则和已经存在的数据单元相等的可能性更高,从而对权重值进行增加,而错误或者虚假的mac地址,在大多数情况下是不相等的,因此权重值相对会较低,即权重值越高,对应的ip-mac地址对的可信度越高;从而在后续获取目标主机节点的真实mac地址时,将权重值最高即最可信的mac地址返回给源主机节点,以有效排除arp欺骗数据包中的虚假mac地址,从而达到防御arp欺骗的效果。

附图说明

图1为本发明实施例的一种基于dag区块链的防arp欺骗攻击方法的流程示意图;

图2为本发明实施例涉及的dag区块链的结构示意图;

图3为本发明实施例的一种基于dag区块链的防arp欺骗攻击方法的架构示意图;

图4为本发明实施例的一种基于dag区块链的防arp欺骗攻击平台端的结构示意图。

标号说明:

1、一种基于dag区块链的防arp欺骗攻击平台端;2、处理器;3、存储器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

请参照图1至图3,一种基于dag区块链的防arp欺骗攻击方法,包括步骤:

s1、接收主机节点发送的每一次广播数据包,从dag区块链中获取所述主机节点上至少两个数据单元,对所获取的所有所述数据单元和所述广播数据包进行ip-mac地址对是否相等的验证,若验证通过,则对所述广播数据包内的ip-mac地址对进行权重值加一;

s2、接收源主机节点所发送的包括目标主机节点的ip地址的mac地址请求包,根据所述目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点,所述源主机节点与所述目标主机节点为同一局域网内的主机节点。

从上述描述可知,本发明的有益效果在于:利用基于dag区块链的结构,对广播数据包的ip-mac地址对进行是否相等的验证,若广播数据包的ip-mac地址对为正确的mac地址,则和已经存在的数据单元相等的可能性更高,从而对权重值进行增加,而错误或者虚假的mac地址,在大多数情况下是不相等的,因此权重值相对会较低,即权重值越高,对应的ip-mac地址对的可信度越高;从而在后续获取目标主机节点的真实mac地址时,将权重值最高即最可信的mac地址返回给源主机节点,以有效排除arp欺骗数据包中的虚假mac地址,从而达到防御arp欺骗的效果。

进一步地,所述步骤s1具体包括以下步骤:

接收主机节点发送的每一次广播数据包,所述广播数据包包括数字签名所述ski、所述ipi、所述maci分别为所述主机节点的私钥、ip地址和mac地址;

从dag区块链中随机选取所述主机节点的第一数据单元和第二数据单元,获取所述第一数据单元的哈希值和数字签名以及所述第二数据单元的哈希值和数字签名

验证是否与所述ipi|maci相等,若是,则对所述ipi-maci地址对进行权重值加一,否则不对任何一个ip-mac地址对进行权重值变化。

从上述描述可知,从dag区块链中随机选取两个数据单元,进行三者地址对的相互验证,若三者地址对均相等,则为同一个ip-mac地址对,对该ip-mac地址对进行权重值加一,以增加该ip-mac地址对的可信度。在区域网未受arp攻击时,其在dag区块链中的同一主机节点下的数据单元内的ip-mac地址对均为相同且正确合法的,而在受arp攻击时,错误或者虚假的mac地址无法与dag区块链中的同一主机节点下的其他数据单元的ip-mac地址对通过相等验证,从而使得错误或者虚假的mac地址的可信度相对较低。而采用随机选取的方式,就算错误或者虚假的mac地址已存在一部分,其验证通过的概率也非常低,从而使得错误或者虚假的mac地址的可信度相对较低,因此不会将错误或者虚假的mac地址返回给源主机节点,以达到防御arp欺骗的效果。

进一步地,所述步骤s1还包括以下步骤:

获取所述广播数据包的交易发起时间timei和数字签名计算所述广播数据包的哈希值得到所述dag区块链中新数据单元{pki,(ipi,maci),hashi,timei,si,},所述pki为所述主机节点的公钥。

从上述描述可知,dag区块链只存储广播数据包的ip-mac地址对信息以及相关的验证信息,即通过dag区块链来收集每一次广播数据包的ip-mac地址对信息,以此进行对每一个ip-mac地址对的可信度判断,以提供真实合法的mac地址。

进一步地,所述步骤s1中“则对ipi-maci地址对进行权重值加一”具体包括以下步骤:

则获取所述ipi-maci地址对在当前时间周期tn内的累计权重值对所述累计权重值进行加一操作,并将到达当前时间周期tn时的所述累计权重值更新到地址权重表内,若所述地址权重表内的任意一对ip-mac地址对在所述当前时间周期tn内的累计权重值为0,则保留上一时间周期tn-1的累计权重值作为所述当前时间周期tn内的累计权重值;

获取所述ipi-maci地址对在所有时间内的历史权重值wtotal(ip,mac),对所述历史权重值wtotal(ip,mac)进行加一操作,并将到达当前时间周期tn时的所述历史权重值wtotal(ip,mac)更新到地址权重表内。

从上述描述可知,通过计算每一个时间周期内每一个ip-mac地址对的累计权重值,并将其中累计权重值最高的作为真实合法的地址权重表,从而快速、准确的更新ip地址与mac地址的对应表,以保证网络节点免受arp欺骗攻击。

进一步地,所述步骤s2中“根据所述目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点”具体包括以下步骤:

遍历dag区块链内存储的所述地址权重表,从所述地址权重表中找到所述目标主机的ip地址所对应的累计权重值最高值的ip-mac地址对中的mac地址mack;

若所述累计权重值最高值大于系统判定参数值ω,则将所述mac地址mack作为所述目标主机节点的mac地址,返回所述mac地址mack至源主机节点;

若所述累计权重值最高值小于或等于所述系统判定参数值ω,则从所述地址权重表中找到所述目标主机的ip地址所对应的历史权重值最高值的ip-mac地址对中的mac地址mack’,将所述mac地址mack’作为所述目标主机节点的mac地址,返回所述mac地址mack’至源主机节点。

从上述描述可知,通过设置有系统判定参数值ω,并以累计权重值和历史权重值来配合筛选出最可信的mac地址,从而有效排除arp欺骗数据包中的虚假mac地址,以达到防御arp欺骗的效果。

如图4所示,一种基于dag区块链的防arp欺骗攻击平台端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、接收主机节点发送的每一次广播数据包,从dag区块链中获取所述主机节点上至少两个数据单元,对所获取的所有所述数据单元和所述广播数据包进行ip-mac地址对是否相等的验证,若验证通过,则对所述广播数据包内的ip-mac地址对进行权重值加一;

s2、接收源主机节点所发送的包括目标主机节点的ip地址的mac地址请求包,根据所述目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点,所述源主机节点与所述目标主机节点为同一局域网内的主机节点。

从上述描述可知,本发明的有益效果在于:利用基于dag区块链的结构,对广播数据包的ip-mac地址对进行是否相等的验证,若广播数据包的ip-mac地址对为正确的mac地址,则和已经存在的数据单元相等的可能性更高,从而对权重值进行增加,而错误或者虚假的mac地址,在大多数情况下是不相等的,因此权重值相对会较低,即权重值越高,对应的ip-mac地址对的可信度越高;从而在后续获取目标主机节点的真实mac地址时,将权重值最高即最可信的mac地址返回给源主机节点,以有效排除arp欺骗数据包中的虚假mac地址,从而达到防御arp欺骗的效果。

进一步地,所述处理器执行所述计算机程序的所述步骤s1时具体实现以下步骤:

接收主机节点发送的每一次广播数据包,所述广播数据包包括数字签名所述ski、所述ipi、所述maci分别为所述主机节点的私钥、ip地址和mac地址;

从dag区块链中随机选取所述主机节点的第一数据单元和第二数据单元,获取所述第一数据单元的哈希值和数字签名以及所述第二数据单元的哈希值和数字签名

验证是否与所述ipi|maci相等,若是,则对所述ipi-maci地址对进行权重值加一,否则不对任何一个ip-mac地址对进行权重值变化。

从上述描述可知,从dag区块链中随机选取两个数据单元,进行三者地址对的相互验证,若三者地址对均相等,则为同一个ip-mac地址对,对该ip-mac地址对进行权重值加一,以增加该ip-mac地址对的可信度。在区域网未受arp攻击时,其在dag区块链中的同一主机节点下的数据单元内的ip-mac地址对均为相同且正确合法的,而在受arp攻击时,错误或者虚假的mac地址无法与dag区块链中的同一主机节点下的其他数据单元的ip-mac地址对通过相等验证,从而使得错误或者虚假的mac地址的可信度相对较低。而采用随机选取的方式,就算错误或者虚假的mac地址已存在一部分,其验证通过的概率也非常低,从而使得错误或者虚假的mac地址的可信度相对较低,因此不会将错误或者虚假的mac地址返回给源主机节点,以达到防御arp欺骗的效果。

进一步地,所述处理器执行所述计算机程序的所述步骤s1时还包括实现以下步骤:

获取所述广播数据包的交易发起时间timei和数字签名计算所述广播数据包的哈希值得到所述dag区块链中新数据单元{pki,(ipi,maci),hashi,timei,si,},所述pki为所述主机节点的公钥。

从上述描述可知,dag区块链只存储广播数据包的ip-mac地址对信息以及相关的验证信息,即通过dag区块链来收集每一次广播数据包的ip-mac地址对信息,以此进行对每一个ip-mac地址对的可信度判断,以提供真实合法的mac地址。

进一步地,所述处理器执行所述计算机程序的所述步骤s1中“则对ipi-maci地址对进行权重值加一”时具体实现以下步骤:

则获取所述ipi-maci地址对在当前时间周期tn内的累计权重值对所述累计权重值进行加一操作,并将到达当前时间周期tn时的所述累计权重值更新到地址权重表内,若所述地址权重表内的任意一对ip-mac地址对在所述当前时间周期tn内的累计权重值为0,则保留上一时间周期tn-1的累计权重值作为所述当前时间周期tn内的累计权重值;

获取所述ipi-maci地址对在所有时间内的历史权重值wtotal(ip,mac),对所述历史权重值wtotal(ip,mac)进行加一操作,并将到达当前时间周期tn时的所述历史权重值wtotal(ip,mac)更新到地址权重表内。

从上述描述可知,通过计算每一个时间周期内每一个ip-mac地址对的累计权重值,并将其中累计权重值最高的作为真实合法的地址权重表,从而快速、准确的更新ip地址与mac地址的对应表,以保证网络节点免受arp欺骗攻击。

进一步地,所述处理器执行所述计算机程序的所述步骤s2中“根据所述目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点”时具体实现以下步骤:

遍历dag区块链内存储的所述地址权重表,从所述地址权重表中找到所述目标主机的ip地址所对应的累计权重值最高值的ip-mac地址对中的mac地址mack;

若所述累计权重值最高值大于系统判定参数值ω,则将所述mac地址mack作为所述目标主机节点的mac地址,返回所述mac地址mack至源主机节点;

若所述累计权重值最高值小于或等于所述系统判定参数值ω,则从所述地址权重表中找到所述目标主机的ip地址所对应的历史权重值最高值的ip-mac地址对中的mac地址mack’,将所述mac地址mack’作为所述目标主机节点的mac地址,返回所述mac地址mack’至源主机节点。

从上述描述可知,通过设置有系统判定参数值ω,并以累计权重值和历史权重值来配合筛选出最可信的mac地址,从而有效排除arp欺骗数据包中的虚假mac地址,以达到防御arp欺骗的效果。

请参照图1至图3,本发明的实施例一为:

本实施例主要针对网络中ip地址固定分配的大中型局域网,为了改善静态绑定方法在抵御arp攻击时存在的数据易被攻击篡改的问题,利用基于有向无环图dag的区块链技术,设计一种更安全的arp欺骗攻击防御方法。

一种基于dag区块链的防arp欺骗攻击方法,包括步骤:

s1、接收主机节点发送的每一次广播数据包,从dag区块链中获取主机节点上至少两个数据单元,对所获取的所有数据单元和广播数据包进行ip-mac地址对是否相等的验证,若验证通过,则对广播数据包内的ip-mac地址对进行权重值加一;

如图2所示,dag全称是“有向无环图”,它没有区块概念,不是把所有数据打包成区块,再用区块链接区块,而是每个用户都可以提交一个数据单元,这个数据单元里可以有很多东西,比如交易、消息等等。数据单元间通过引用关系链接起来,从而形成具有半序关系的dag(有向无环图)。dag是不同于主流区块链的一种分布式账本技术,把同步记账提升为异步记账。除区块链自身的特点去中心化、分布式账本、不可篡改之外,dag区块链技术可以支持高并发。dag的特性刚好是交易越多越快,节点越多越快,被不少人认为可以解决传统区块链的高并发问题,是区块链从容量到速度的一次革新。dag的特点是:

1、交易速度快,dag实现的局部处理和并行结算可以使得交易速度大幅度提升。

2、拓展性强,因为各个节点无需等待同步其他的节点的数据就可计算使得记账节点很容易答复延展。

3、作恶难度更大,相比于链式结构,在dag中恶意修改的难度会大很多,因为dag拥有着很多的出度和入度,假如要修改某一个节点,那么对应的出入度都要进行修改。

在此基础上,如图3所示,步骤s1具体包括以下步骤:

接收主机节点发送的每一次广播数据包,其中,广播数据包包括数字签名其中,ski、ipi、maci分别为主机节点的私钥、ip地址和mac地址,其中,数字签名sig就是将要发送的信息通过哈希运算,得到摘要,并用私钥对摘要进行加密,该密文即为签名信息。任何知道签名者公钥的人都可以验证该签名,只要对发送的信息进行哈希运算,将得到的摘要信息与利用公钥对密文解密得到的数据对比,如果一致则认为该数据正确,并证实为签名者发出,而符号“|”表示将前后两部分数据拼接在一起;

从dag区块链中随机选取主机节点的第一数据单元和第二数据单元,获取第一数据单元的哈希值和数字签名以及第二数据单元的哈希值和数字签名

验证是否与ipi|maci相等;

若相等,则获取ipi-maci地址对在当前时间周期tn内的累计权重值对累计权重值进行加一操作,并将到达当前时间周期tn时的累计权重值更新到地址权重表内,若地址权重表内的任意一对ip-mac地址对在当前时间周期tn内的累计权重值为0,则保留上一时间周期tn-1的累计权重值作为当前时间周期tn内的累计权重值;

同时,获取ipi-maci地址对在所有时间内的历史权重值wtotal(ip,mac),对历史权重值wtotal(ip,mac)进行加一操作,并将到达当前时间周期tn时的历史权重值wtotal(ip,mac)更新到地址权重表内,从而快速准确的更新新ip地址与mac地址的对应表;

若不相等,则不对任何一个ip-mac地址对进行权重值变化;

在此基础上,无论是否对ip-mac地址对进行权重值变化,都获取广播数据包的交易发起时间timei和数字签名计算广播数据包的哈希值得到dag区块链中新数据单元{pki,(ipi,maci),hashi,timei,si,},pki为主机节点的公钥。

在本实施例中,通过预设时间周期t来进行计算一次,而不需要一直计算,以减少计算量,比如设置时间周期t为一分钟。

在本实施例中,通过权重值加一来得到累计权重值和历史权重值,在其他实施例中,也可以通过计算时间周期内共有多少个数据单元验证通过即可知道累计权重值,同理可得历史权重值。其计算过程为:假设数据单元的总数为r,则累计权重值则历史权重值

在本实施例中,地址权重表如下:

s2、接收源主机节点所发送的包括目标主机节点的ip地址的mac地址请求包,根据目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点,源主机节点与目标主机节点为同一局域网内的主机节点,即对于同一局域网来说,源主机节点与目标主机节点只是相对于请求方和被请求方,因此,整个局域网内的主机节点都有可能是源主机节点,也有可能是源主机节点。

如图3所示,在本实施例中,步骤s2中“根据目标主机节点的ip地址从地址权重表上获取权重值最高的ip-mac地址对中的mac地址,并将其返回至源主机节点”具体包括以下步骤:

遍历dag区块链内存储的地址权重表,从地址权重表中找到目标主机的ip地址所对应的累计权重值最高值的ip-mac地址对中的mac地址mack;

若累计权重值最高值大于系统判定参数值ω,则将mac地址mack作为目标主机节点的mac地址,返回mac地址mack至源主机节点,其中,系统判定参数值ω的大小与网络规模以及网络的通信频率有关,若累计权重值最高值大于系统判定参数值ω,则认为在时间间隔t内的权重表,已经可以确认表中使得达到该最大值的目标主机的ip地址所对应的mac地址mack为最可信的,是所要查询的真实mac地址;

若累计权重值最高值小于或等于系统判定参数值ω,则从地址权重表中找到目标主机的ip地址所对应的历史权重值最高值的ip-mac地址对中的mac地址mack’,将mac地址mack’作为目标主机节点的mac地址,返回mac地址mack’至源主机节点,即在累计权重值最高值没有大于系统判定参数值ω,则认为达到历史权重值最高值的mack’为最可信的,是所要查询的真实mac地址,即通过计算筛选出最可信的mac地址,可有效排除arp欺骗数据包中的虚假mac地址,从而达到防御arp欺骗的效果。

如图4所示,本发明的实施例二为:

一种基于dag区块链的防arp欺骗攻击平台端1,包括存储器3、处理器2及存储在存储器3上并可在处理器2上运行的计算机程序,处理器2执行计算机程序时实现上述实施例一中的步骤。

综上所述,本发明提供的一种基于dag区块链的防arp欺骗攻击方法及平台端,利用基于dag区块链的结构,对广播数据包的ip-mac地址对与随机选取的数据单元进行是否相等的验证,若广播数据包的ip-mac地址对为正确的mac地址,则和已经存在的数据单元相等的可能性更高,从而对权重值进行增加,而错误或者虚假的mac地址,在大多数情况下是不相等的,因此权重值相对会较低,即权重值越高,对应的ip-mac地址对的可信度越高;通过计算每一个时间周期内每一个ip-mac地址对的累计权重值,并将其中累计权重值最高的作为真实合法的地址权重表,从而快速、准确的更新ip地址与mac地址的对应表;同时,在后续获取目标主机节点的真实mac地址时,通过设置有系统判定参数值ω,并以累计权重值和历史权重值来配合筛选出最可信的mac地址,以有效排除arp欺骗数据包中的虚假mac地址,从而实现快速、准确的更新、查询ip地址与mac地址对应关系,保证网络节点免受arp欺骗攻击,以达到防御arp欺骗的效果。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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