基于有向无环图架构的区块链设备管理和数据传输系统的制作方法

文档序号:23143688发布日期:2020-12-01 13:22阅读:183来源:国知局
基于有向无环图架构的区块链设备管理和数据传输系统的制作方法

本发明涉及一种物联网领域的技术,具体是一种基于有向无环图(dag)架构的区块链设备管理和数据传输系统,使用区块链完成物联网中安全可信的设备管理和数据传输。



背景技术:

现有的物联网系统使用中心化的系统架构,由中心服务器来提供通信服务和数据存储能力,从而更加容易遭受单点故障和恶意攻击,如分布式拒绝服务攻击(ddos)、女巫攻击(sybilattacks)等,从而使系统失去正常运作能力。



技术实现要素:

本发明针对现有物联网过分依赖安全引擎以及系统扩展性较低的缺陷,利用区块链不可篡改和去中心化的特性,提出一种基于有向无环图架构的区块链设备管理和数据传输系统,由于传统区块链其复杂的密码学技术和共识机制带来的高计算复杂度不适用于计算能力受限的物联网设备,通过基于节点信用值的工作量证明(pow)机制,相比于传统的工作量证明机制,能显著降低区块链共识机制的计算复杂度,从而提高了区块链的交易效率,使区块链技术能够适用于物联网设备。

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

本发明涉及一种基于有向无环图架构的区块链设备管理和数据传输系统,包括:通过区块链网络连接的物联网设备、用于从区块链上获取授权设备列表以鉴别交易请求是否来自于合法的物联网设备的网关节点和至少一个管理员节点,其中:网关节点接收来自授权的物联网设备的请求,验证并广播来自物联网设备的交易,管理员节点通过发起一个包含授权设备的公钥列表的交易,将授权设备的公钥记录到区块链上,以此来管理授权的物联网设备。

所述的物联网设备具有唯一身份标识的一组公私钥对(pk,sk)。

所述的管理员节点由上级管理员节点授权任命下级节点成为子管理员节点,以帮助管理系统中的物联网设备、屏蔽来自未授权设备的非法请求,从而灵活地进行管理和扩展,管理员节点的公钥通过硬编码预制到区块链的创始块中,管理员节点的私钥用于对交易进行签名。

所述的区块链网络为任何人都可以参与的缠结(tangle)网络,该缠结网络为树状的有向无环图架构,采用异步共识机制,用交易节点来代替区块节点以同时处理多笔交易,提高了区块链网络的吞吐量。

所述的网关节点,即缠结网络中的全节点,用于通过广播交易和冗余地存储区块链的数据来保证整个缠结网络的安全性和稳定性。

本发明涉及一种基于上述系统的数据权限控制方法,采用对称加密算法来加密感知数据并以去中心化的方式进行密钥分发,具体步骤包括:

步骤1)管理员节点首先将自身的公钥信息硬编码到创世块文件中,初始化区块链网络,授权合法的网关节点和物联网设备;

步骤2)当物联网设备激活后进行密钥分发阶段,具体为:消息m1使用物联网设备的公钥加密,再发送给物联网设备,这样可以保证这条消息只能被拥有私钥的设备所解密。消息m1中的noncea用于发起一次应答挑战,当物联网设备在下一条应答消息中返回正确的nonce值,就认为该设备成功解密了m1的内容。在物联网设备解密消息m1并获得其中的对称加密密钥sks后,将使用sks加密的消息m2发送给管理员节点,以此来证明设备已成功获取密钥sks。nonceb也是一次应答挑战,再次进行验证密钥sks的正确性。管理员节点在消息m3中返回nonceb来结束这一轮的密钥分发。

步骤3)成功获取密钥的物联网设备将数据以交易的形式发送给网关节点,网关节点进行交易的合法性验证;

步骤4)交易验证通过后网关节点在区块链网络中广播交易结果。

技术效果

与现有技术相比,本发明采用有向无环图架构的区块链和基于信用值的工作量证明机制,提升了区块链的交易效率,使之更适用于物联网场景;同时本发明网关节点利用区块链不可篡改的特性,将经过管理员授权的网关设备的身份标识符记录到区块链上,可以很好地保障了系统中合法设备不会被非法篡改,同时也能有效地防止未被授权设备的加入,提高了网关节点管理技术的安全性和可靠性。得益于本系统的分布式架构,所以可以很好的抵抗分布式拒绝攻击、女巫攻击、双花攻击(doublespending)等攻击手段。

本发明利用了每个物联网设备的公私钥对来分发对称密钥,所以无需可信第三方的参与。同时,通过此方案也可以根据需要灵活地进行对称密钥的更新。

附图说明

图1为系统的架构示意图;

图2为系统的对称密钥分发流程示意图;

图3为实施例中系统的工作流程示意图;

图4为实施例中基于信用值的工作量证明算法的性能测试图;

图5为实施例中对称加密算法aes的性能测试图。

具体实施方式

如图1所示,为本实施例涉及一种基于dag架构的区块链设备管理和数据传输系统,包括:物联网设备、网关节点、管理员节点和区块链网络,其中:物联网设备为轻节点,网关节点和管理员节点为全节点,所有节点共同构建和维护区块链网络。

如图3所示,为本实施例基于上述系统的数据权限控制方法,具体包括:

步骤1)管理员节点首先将自身的公钥信息硬编码到创世块文件中,初始化区块链网络:管理员节点通过为网关节点分配区块链账户,并在区块链上记录网关节点的标识符,即它们的公钥来添加网关节点。每个网关节点运行区块链的全节点,共同参与维护缠结网络。

在初始化网关节点后,管理员节点可以通过更新记录在区块链上的授权设备列表来添加或者删除物联网设备。

步骤2)密钥分发阶段,管理员节点不需要向所有的物联网设备分发密钥,只需向收集敏感数据的物联网设备分发密钥即可。

如图3所示,物联网设备1收集的数据不是敏感数据,所以无需使用密钥对数据加密;而物联网设备2收集敏感数据,所以它要在发起交易之前使用对称密钥将数据加密,以此来保证敏感数据的机密性。

在物联网设备2开始发送数据之前,先通过图2中所描述的密钥分发方案获得对称密钥,然后使用该密钥对数据进行加密后再发送。

如图2所示,消息m1使用物联网设备的公钥加密,再发送给物联网设备,这样可以保证这条消息只能被拥有私钥的设备所解密。消息m1中的noncea用于发起一次应答挑战,当物联网设备在下一条应答消息中返回正确的nonce值,就认为该设备成功解密了m1的内容。在物联网设备解密消息m1并获得其中的对称加密密钥sks后,将使用sks加密的消息m2发送给管理员节点,以此来证明设备已成功获取密钥sks。nonceb也是一次应答挑战,再次进行验证密钥sks的正确性。管理员节点在消息m3中返回nonceb来结束这一轮的密钥分发。

图2中ts为时间戳,m*为一个消息,enc*和dec*分别为加密和解密函数。对于同一个设备而言,生成对称密钥的操作只需进行一次。整个流程中的每条消息都会使用发送方的密钥进行签名,保证接收方收到的消息没有被篡改或损坏。消息中的时间戳ts为该消息的时效性,用于抵抗重放攻击。

步骤3)网关节点进行合法性验证:在物联网设备要发起新的一笔交易之前,需要通过最近的网关节点提供的远程过程调用rpc接口在缠结网络中获取两个随机的未确认交易,并使用哈希算法对其进行合法性验证。

步骤4)广播交易结果:当验证通过之后,物联网设备将新发起的交易和这两个被验证过的交易经过基于信用值的工作量证明算法以哈希指针的形式链接在一起,然后将其通过rpc接口发送给网关节点进行同步广播。

所述的交易的形式,通过基于信用值的工作量证明机制实现,具体为:每个物联网设备具有唯一匹配的信用值cr,该信用值随着物联网设备的行为实时更新。

所述的行为,包括:随着时间逐渐增长信用值的正常行为,即遵守系统的规则发送交易,以及降低信用值的异常行为。

所述的信用值cr=λ1crp+λ2crn,其中:crp为正常行为获得的信用值部分,crn为异常行为扣除的信用值部分,λ1和λ2为每部分各自的权重系数,通过改变λ1和λ2的值来调整系统的惩罚策略,例如可以通过增大λ2的值来采取更严格的惩罚策略。

工作量证明机制的难度值会根据信用值进行调整,信用值越低,工作量证明算法的难度值就会越高。所以这个机制可以让诚实的物联网设备节点消耗更少的计算资源,同时增加恶意节点发起攻击的成本。

所述的正常行为获得的信用值部分crp与一个时间单元内设备执行的正常行为的数量,即与该物联网设备的活跃等级呈正相关,具体为:其中:n为在最新的一个单位时间内设备正常行为的数量,δt为一个单位时间,wk为第k个交易的权重。一个交易的权重即这个交易被网关节点确认的次数,确认次数越多为这个交易可信度越高。

当任一物联网设备在任一时间段内活跃,那么crp会随着其活跃程度进行实时调整,保证了系统中活跃的诚实节点可以用更少的计算资源进行更快的交易提交。当任一设备在一段时间内没有提交交易,本实施例视其为不活跃节点,甚至是不被信任的节点,则系统会将其crp置为0,同时保留其工作量证明算法的难度。

所述的异常行为扣除的信用值部分crn与物联网设备的异常行为的数量呈负相关,即异常行为的数量越多,crn的值越低。形式化描述为:其中:m为设备异常行为的总数量,t为当前时间,tk为发生第k次异常行为的时间点,α(event)为异常行为event对应的惩罚系数。

从上述描述可知,异常行为对物联网设备节点的负面影响会随着时间逐渐降低,但是不同于crp,它的影响不会随着时间完全消失。当某一次异常行为刚刚发生的时候,由于t-tk无限趋近于0,所以|crn|会瞬间变得无穷大,则工作量证明算法的难度也会调整到非常高,致使该设备无法继续执行异常的攻击行为。所以这种基于信用值的自适应工作量证明机制可以有效地阻止设备的异常行为。设备的信用值是根据区块链上记录的交易权重和异常行为计算出来的,因此不会被伪造或者篡改。

如图4所示,本实施例分别设置了四组实验对比原始的工作量证明算法和基于信用值的工作量证明算法的表现,其中:pow代表原始的工作量证明算法,cr-pow代表基于信用值的工作量证明算法。从图中本实施例可以观察到,在节点正常行为的情况下,cr-pow执行速度最快,平均每笔交易只需要0.118秒,而pow则需要0.7秒,这为基于信用值的工作量证明算法可以为诚实节点提高交易速度。对于恶意节点,节点异常行为越多,该节点完成一次交易需要消耗的时间就越久,而且惩罚时间会随着异常行为数量的增加而指数级增长,致使恶意节点几乎不能完成一笔交易。这个实验结果表明了基于信用值的工作量证明算法也能够有效地防止恶意节点的攻击。

从系统的安全层面分析,可以分为系统安全和数据安全两个部分阐述:

在系统安全方面,本实施例是基于有向无环图结构的区块链构建的,区块链是一个分布式账本,由一组复制的数据库节点组成。传感数据由所有全节点冗余复制,因此它能有效应对一个或多个节点的故障,从而提高了物联网系统的可靠性。同时,本实施例知道区块链中记录的信息无法被篡改,因此本实施例通过在区块链上维护授权列表来利用此功能来管理物联网设备。根据列表,全节点可以拒绝为未经授权的物联网设备提供服务,这可以有效防御分布式拒绝服务攻击、女巫攻击等。

在数据安全方面,本实施例利用对称加密算法实现数据权限控制方法,通过在区块链中存储之前加密数据来保护传感器数据的机密性。只有拥有密钥的人才能解密并获取传感器数据,从而规范透明系统中对敏感传感器数据的访问。

本实施例采用aes算法对传感数据加密,如图5所示,本实施例测试了aes对称加密算法在树莓派上的运行表现,可以看到,加密一个256kb大小的数据包只需要0.373秒,而256kb大小的数据对于物联网系统中的数据传输已经足够大了,所以可以认为数据权限控制方法对交易效率几乎没有影响。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

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