APP下载

基于区块链的无线传感网络安全认证模型

2020-10-27樊爱京孙泽军潘中强常新峰孙亚南吕乐乐

平顶山学院学报 2020年5期
关键词:账簿哈希传感

樊爱京,孙泽军,潘中强,常新峰,孙亚南,吕乐乐

(1.平顶山学院 实验室管理中心,河南 平顶山 467036;2.平顶山学院 信息工程学院,河南 平顶山 467036;3.平顶山学院 网络管理中心,河南 平顶山 467036)

0 引言

随着大数据、人工智能和5G技术的迅猛发展和广泛应用,物联网作为其基础也得到了快速的发展.无线传感网络(WSN)作为物联网核心技术之一,具有广阔的应用前景,目前已广泛地应用在国防军事、智慧医疗、智慧城市、智能家居、智能交通、地质监测和环境保护等多个领域[1].但是,由于无线通信的开放性以及传感器节点的局限性,使得无线传感器网络很容易遭受攻击,也使得无线传感器网络的安全问题显得尤为重要[2].无线传感器网络的安全问题主要来自以下几个方面:数据机密性问题、数据认证问题、完整性鉴别问题、数据新鲜性问题、数据广播认证问题.可以说,缺乏有效的可信性保障严重阻碍了无线传感器网络的发展[3-5].如何从安全认证机制上,实现计算系统平台安全、可信赖地运行,已经成为亟待解决的核心问题.

针对这一问题,国内外的研究学者对WSN的安全认证做了大量的研究工作.其中Fantacci等[6]提出了分布式节点认证模型,该方案不需要基站作为认证的中心.Han等[7-8]提出的方案,能够提高认证的效率,但在初始化认证过程中离不开第三方的参与,认证效率低,通信开销也较大.Oscar 等人[9]提出了一种轻量级的 WSN 认证方案,建立通信双方的共享密钥.文献[10]提出了一种 WSN 中改进的轻量级认证和密钥管理方案.该方案利用消息认证码保证了传输信息的安全性,同时验证共享密钥的正确性,能有效抵抗物理攻击、拒绝服务攻击(DoS)、冒用和欺骗攻击等.文献[11]提出了无线传感器网络的轻量级安全体系和安全算法,在不需要第三方认证中心 CA的参与下,可减少认证过程中的计算开销和通信开销.

已有的研究大都基于中央授权验证机制,需要一个中央集权实体对各传感结点进行验证.每个节点的认证都指向同一个中央认证实体,该实体存储所有信息,并根据信息完成认证和授权.这种方式存在单点故障问题,当集中式服务器出现问题时,所有认证都将失效.区块链作为比特币的核心技术,可以广泛地应用到金融、供应链、版权保护、物联网、公共服务等领域[12].区块链采用分布式技术,以密码学算法为基础,通过点对点网络构建分布式账簿[13].由于区块链技术没有中机构,也从根本上解决了基于中央集权模型带来的安全问题,并通过非对称加密、数字签名、哈希函数和共识算法保证了交易的安全、可追溯和数据的一致性.虽然区块链技术有诸多优点和先天的安全可信认证保障,但现有的区块链技术解决方案并不能直接应用到无线传感网络环境中,主要有以下原因:

共识机制复杂:区块链中采用的共识机制(POW),需要大量的计算资源,远远超出大多数无线传感网络设备的能力[14].

资源开销巨大:区块链中的区块都需要广播到每一个节点进行存储和验证.对于无线传感网络设备来说,这将耗费大量的能量和带宽资源.

延迟高:用区块链技术生成一个新的区块需要较长的延迟,这是无线传感网络不可接受的.例如,在比特币(bitcoin)中,一笔交易需要10分钟才能确认.

由于无线传感设备存在较大的局限,如计算能力较弱,内存空间较小,带宽资源有限等,这与现有基于区块链的重量级分布式安全解决方案的要求不兼容.针对无线传感设备安全需求和资源限制,笔者将区块链技术应用到无线传感网络,构建轻量级区块链结构,建立基于区块链技术的无线传感网络可信认证模型来解决物联网的安全和隐私问题.

1 区块链技术

区块链技术最早由学者中本聪(Satoshi Nakamoto)在其设计的一种电子货币-比特币中提出.比特币是一种去中心化的点对点式的电子现金系统[15],该系统的核心是维护各账户之间网络交易的公共账簿,区块链是实现公共账簿完成整个交易最重要的技术.接下来笔者对区块链技术进行简单的介绍.

1.1 区块链技术原理

关于区块链概念,到目前为止并没有形成统一的定义.它是一种将交易的信息以时间先后顺序写入区块,并采用密码学技术和链式结构来确保内容不能被篡改的分布式账簿技术.它由多种技术组成,主要包括:密码学技术、点对点的网络技术、激励机制、共识机制、链上脚本等.区块链技术与集中认证的根本区别是其没有中央机构,网络中的每个节点都拥有同等的权利,且它们都存储了历史交易的所有记录,即账簿.网络中的每一笔交易,需要大多数节点进行有效性验证来达成共识,并采用非对称加密和数字签名等密码学技术来保证交易的安全,交易完成后生成新的块链接到历史区块上形成新的账簿,然后通过点对点网络将新的账簿分发给各个节点,这也保证了每个节点上存储的交易账簿的一致性.区块链,也就是账簿上存放的是交易的哈希值,它采用Merkle树的形式存储在各个区块中,这些区块按照时间先后顺序构成链式数据结构.通过生成时间和哈希值,在链式数据结构上可以快速查找定位每一笔交易数据.由于后一区块哈希值的生成以前一区块交易数据为基础,这就决定了区块内的交易数据的不可篡改特性.因为这种链式存储结构一旦更改其中一个区块,将导致后续所有区块数据发生变化.

如图1[14]所示,区块链技术的发展经历了两个版本,从最早比特币中所使用的技术发展到以太坊为代表的区块链2.0技术.这两个版本都由数据层、网络层、共识层、激励层和应用层组成.数据层主要负责数据的存储和安全保障,通过链式结构和Merkle树来存储区块数据,并采用数字签名、非对称加密、哈希函数等技术来确保区块链上的内容不能被篡改.网络层主要是确定区块链所采用的网络类型(P2P网络),另外,还规定了信息的分发机制及验证机制.共识层主要解决区块链分布式存储所产生的内容一致性问题,在比特币中,也就是区块链1.0的技术架构中,采用工作量证明(POW)来保证内容的一致性.由于工作量证明机制需要大量的算力,因此并不适合于所有的场景,研究者们又提出了权益证明(POS)、授权股份证明(DPOS),如图1(b)所示.激励层主要采用奖励机制,对做出贡献的节点进行奖励,从而保证大部分节点的诚实性.应用层主要实现交易和记账功能,在区块链2.0的技术架构中提供了各种脚本和虚拟机供开发者使用.基于此,用户可以开发多种类型的智能合约应用[14].

1.2 区块链数据结构

区块链结构如图2所示,一个区块主要包括区块头和区块体(区块数据).区块头主要由前一块的哈希值、时间戳、难度、随机数、Merkle树根组成.前一块的哈希值用来连接下一个区块,这样每一个区块都链接在一起,从而形成一个链条.另外引用前一区块的哈希值也可用来保障数据不被篡改,因为每个区块都存放了上一区块的哈希值,如果某一区块发生变化会导致哈希值的变化,从而导致该块后的所有区块发生变化.时间戳指的是区块创建的时间,在比特币中是挖矿节点算出满足条件的结果,并填充区块的时间.难度指的是区块目标值的难度,随机数用于计算区块目标值.Merkle树用来存储区块数据,对应的是区块体,Merkle树根存放在区块头中.在比特币中,多个交易单合在一起形成一个区块的区块体.这些数据以哈希树的形式记录存放.区块头中包含前一个区块的哈希值.

区块链的独特结构决定了其具有不可篡改的特性,并且采用非对称加密、数字签名、哈希函数和共识算法等技术保证了数据的安全.但是,典型区块链技术对资源的要求较高,这也是其没有在物联网中广泛应用的重要原因.接下来笔者将详细介绍基于轻量级区块链技术的无线传感网络的安全认证模型.

2 无线传感网络安全认证

由于无线传感网络设备计算能力较弱,内存空间较小,带宽资源有限,这也导致传统的区块链技术不能直接应用于无线传感网络.本节将详细介绍一种基于轻量级区块链技术的无线传感网络的安全认证模型.

2.1 轻量级区块链

由于比特币区块链结构庞大,虽然采用工作量证明(POW)能够保证内容的一致性,但这同时需要终端设备拥有大量的计算资源,而无线传感设备往往是不具备这样的计算能力.另外从区块的产生到交易的完全认定需要较长的时间,大约10分钟.这么长的延迟对于无线传感网络是不可接受的.再者由于无线传感设备的存储资源有限,在区块链中并不能存储所有传输的具体数据.因此照搬区块链原有结构并不能满足无线传感网络的需求.笔者采用基于有向非循环图(DAG)结构来生成区块链,其具有更快的交易速度,需要更少的资源,也不需要挖矿.DAG链仍然采用的是去中心化的网络结构来管理网络节点,这种结构的特点是网络中的每个节点都是对等、自治、开放和公平的.图3 给出了DAG链与比特币区块链的区别.比特币区块链在交易生成区块时是选择账簿中的最长链进行追加,也就是说,它对账簿的操作是串行的,这将减慢区块链的生成速度.而DAG则是在网络中找2个或更多前驱交易来进行验证,同时将本次交易指向它们.在比特币的每一个区块中包含多次交易,由于每一个区块生成时间大约是10分钟,因此区块中的每笔交易的成交时间也需要这么长.而DAG采用的是更细粒度区块,他将每一次交易都作为一个区块,这样可以快速地生成区块.更重要的是,DAG链天然支持并发操作,从而能在很大程度上提高系统的吞吐量[16].

一个DAG链指的是一个无环有向图G=(V,E),其中,V代表图中节点的集合,一个节点V就是区块中的一个事务或交易单元,E表示边的集合,一条边e代表节点之间的指向关系.正因为DAG链是有向和无环的,这使得它构成的账簿添加节点简单方便,但删除节点很难,且整个账簿可确定交易全序.

2.2 共识机制

在比特币区块中,节点通过工作量证明(POW)准则来获得账簿的记账权,POW需要耗费大量的计算资源.虽然学者们提出了多种改进方案,如POS、PPOS、DPOS等,但对于无线传感网络来说,这些方法所消耗的资源也是不可接收的.本模型采用IOTA技术,IOTA的设计非常适合于物联网环境,它使用Tangle(缠结)技术来构建新型的分布账簿.在一个新的事务或交易发起时,需要在Tangle中找两笔之前的其他交易去验证,并指向这两个节点,整个账簿就这样扩展下去.整个交易的共识机制采用关键节点和随机游走方法,首先根据关键节点检测算法[17],在整个事务网络中选择前K个重要节点,K可以根据实际环境进行调整;然后在前K个重要节点中随机选择一个或多个节点,以这些节点为起点采用随机游走算法选择N个节点进行一致性验证,N根据实际环境安全需要可选择15%,30%,50%等数量的节点.

2.3 认证模型

无线传感网络可能包含大量节点,为了确保可伸缩性,假设区块链由网络中的部分节点进行管理.这里使用DBSCAN[18]聚类算法将无线传感网络中的节点分簇,每簇节点选一个节点作为簇首.被选作簇首的节点将长时间保持在线状态,并具有足够的资源来处理区块的计算.笔者将无线传感网络分为两层:一个是本地网络,也就是各簇内结点间交换传输信息,采用集中式授权管理,由簇首节点(汇聚节点)负责;另一个是全局网络,各簇首之间及与服务器之间的通信采用基于DAG区块链方式授权.无线传感网络体系结构如图4 所示.所有的簇首结点负责区块链的管理.此外,各个簇首节点负责和簇内其他结点之间的通信和数据传输.

2.3.1 本地网络认证

由于本地网络无线传感节点拥有的资源有限,所以簇内节点数据传输认证采用轻量级认证方案(Lightweight based Authentication Scheme,LAS),采用非对称加密进行保护,见图5.非对称加密解决了密钥分发问题,由簇首节点存储,也可以存储在簇内的其他节点,私钥只由节点自身存储.可以根据需要周期性地替换公钥和私钥,私钥由写入传感器中的算法(椭圆曲线ECC公钥算法)自动生成,然后将公钥发给簇首节点,簇首节点再将公钥发给可信的簇内节点.在数据传输之前都要先进行认证,在进行认证时,簇首节点可以根据公钥来验证连接节点的安全性.为了进一步提高可信度,可以在本地网络随机地选择几个节点,使用本地网络节点存储的公钥来解密,验证结果是否一致.

2.3.2 全局网络认证模型

全局网络认证采用基于DAG有向无环图的数据结构,如图3(b)所示.基于比特币的区块链生成需要花费大量的时间和资源.一个区块的验证需要矿工挖矿进行大量的计算,整个生成过程需要花费10分钟.而在无线传感网络中,要求通信得到及时的响应,因此挖矿机制不可行.笔者采用基于IOTA的方法,在全局网络中一个簇首节点要发起事务时,需要在链表中找2项其他事务去验证,并且将自己新发起的事务指向这两项事务,整个链表就这样一点一点增加.这样设计的优点是去除传统的挖矿工作,全局网络中验证事务的工作转移到了每个传感器节点上.也就是传感器节点想要发起一项事务,就必须帮着一起验证网络中的其他事务.全局网络认证模型如图6所示,其中事务N表示无线传感网络中处理的业务.

2.3.3 数据结构

在轻量级区块中,数据流与事务流是分开的.首先,请求者需要事先通过认证和授权,在通过认证和授权后可以访问数据.类似地,对于存储事务,由请求者创建的数据与事务是分开发送的.所有事务存储在由簇首管理的公共区块链中.区块链中的每个块都包含两个主要部分,即事务和父区块Hash.公共区链中前一个块的哈希确保了不变性,如果攻击者试图更改先前存储的交易,则存储在下一个块中的相应块的哈希将不再是一致的,因此将暴露此攻击.数据结构如图7所示.

当簇首接收到事务时,它首先检查该事务的被请求者是否包含在其簇内.簇首维护一个密钥列表,包含了请求者和被请求者的密钥对(本质上是简化的访问控制列表).根据密钥对来验证是否有权发送消息.分组成员可以更新此密钥列表,以允许其他节点向其发送事务.被请求者可以将簇首密钥列表中的请求者值设置为“广播”,这意味着它将接收包含其公钥的所有交易作为被请求者的公钥.如果传入事务的请求者和被请求者与密钥列表中的条目匹配,则簇首将事务发送给被请求者.如果事务中的被请求者不属于当前的分组,则将该事务广播到所有其他簇首.所有待处理的事务都存储在每个簇首的事务池中.

3 结论

无线传感网络的开放性和节点资源受限使得传统的安全认证方法不能有效地在无线传感网络中使用.笔者提出了一个基于区块链的无线传感网络安全认证模型,该模型采用集中授权和非集中授权相结合的方式,并通过非对称加密、哈希函数和共识算法保证交易的安全、防篡改和数据的一致性.模型中本地节点采用集中授权方式,计算量很小,交互的消息少,消耗资源也很小.全局网络采用Tangle技术来构建轻量级区块链,并通过关键节点检测和随机游走算法来建立共识机制,保证数据的一致性.

猜你喜欢

账簿哈希传感
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
基于特征选择的局部敏感哈希位选择算法
燃烧的账簿
哈希值处理 功能全面更易用
文件哈希值处理一条龙
大账簿
卖账簿
硅硼掺杂碳点的制备及其在血红蛋白传感中的应用
微生物燃料电池在传感分析中的应用及研究进展