霍颖瑜,钟 勇
(佛山科学技术学院 电子信息工程学院,广东 佛山 528000)
近几年,互联网技术的发展为监测设备的革新提供了新的途径,无线路由监测设备逐渐遍布大街小巷。无线路由监测设备指的是依据无线路由器构成网络进行作业的监测设备[1]。无线路由器实质上是一个转发器,可以将网络通过天线转发给附近的无线网络设备。目前,无线路由器可以支持15~20个设备同时在线使用,其信号传播半径为50~300 m,具备智能管理、多功能服务、多功能展示、增益天线信号等优势,被多个领域广泛应用。无线路由监测设备不仅可以保护公众财产与生命安全,还可以为民事、刑事事件提供判别依据[2]。
由于无线监测系统是由大量传感器节点组成的,监测数据量大,因此容易造成数据拥塞的现象,严重影响数据传输的实时性与可靠性,导致无线路由在监测数据存储方面存在较大的难题。基于量化融合跟踪和多线程总线调度的数据监测方法[3]是在传感器节点优化定位算法设计基础上进行数据采集与监测的设计方法,用来实现数据实时调度与分析,虽然提高了数据的准确性与实时性,但是由于监测设备本身存在一定的缺陷,经常会出现监测数据泄漏、篡改的风险,在数据安全性方面还缺少保障,缺乏数据完整性。基于区块链技术的动态数据安全存储方法[4]是用于动态数据存储安全的共识机制和实例系统所有权状态转移函数和动态数据存储的体系结构,虽然一定程度上解决了攻击者对动态数据的篡改、伪造等潜在安全问题,但是由于应用的落后,导致其存在数据存储响应时间过长,数据完整性参数较小的缺陷。
为了解决上述问题,提出基于区块链的无线路由监测数据存储优化方法。区块链是分布式数据存储、共识机制、加密算法、点对点传输等计算机技术有效结合的新型应用模式,具备去中心化、匿名性、安全性高等优势,故将其应用到无线路由监测数据存储优化方法中,可以在保护无线路由监测数据的前提下,实现对无线路由监测数据高效、高质量的存储。
为了解决现有方法存在的缺陷,引入区块链技术搭建无线路由监测数据存储架构。通过在监测数据存储时刻印时间戳的方式保证监测数据存储的顺序与安全,并且将数据存储过程放到网络节点上进行验证,使监测数据存储过程透明化、公开化,达到难以被篡改、泄露的目的。
无线路由监测数据存储架构如图1所示。此研究依据区块链思想,将无线路由监测数据存储记录放在区块链上,有效结合时间戳、哈希算法、双链存储模型等技术,自动实现无线路由监测数据的存储[5]。
图1 无线路由监测数据存储架构框图
以图1搭建的无线路由监测数据存储架构为基础,选取适当的共识机制,通过哈希算法计算哈希值,获取无线路由监测数据区块链[6]。
共识机制可以保护网络节点免受攻击,是保障区块链网络数据安全的基础[7]。高效、可靠的共识机制能够选取适当的网络节点,并将其打包成数据区块发散至网络中,经过其他节点验证后写入区块链。目前,使用较为广泛的共识机制主要分为6种,其性能如表1所示。
表1 共识机制性能
如表1所示,dBFT共识机制和PBFT共识机制吞吐量较大,容错率也在需求范围内,但是dBFT是在PBFT基础上进行改进的共识机制,更加适用于区块链系统,可以迅速地达成共识,区块生成之后无法被分叉,交易也不会发生撤销或者回滚。所以dBFT比PBFT更加适用于无线路由监测数据存储,故选取的共识机制为dBFT。
哈希算法的任务是将任意长度的监测数据输入转换为固定长度的数据块。数据块即为哈希值,可以反映监测数据的特征,可认为哈希值是检测数据的标识特征[8]。哈希算法表达式为:
h=H(M)
(1)
式(1)中:h表示的是计算而得的哈希值;H表示的是哈希函数;M表示的是无线路由监测数据。
本研究采用的是SHA-256哈希算法,后缀表示的是该算法的计算结果是固定长度为256位的哈希值。SHA-256哈希算法的安全性取决于抗碰撞性,即依据得到的哈希值进行反向推倒时,仅有一个监测数据与其对应。在无线路由监测数据存储过程中,任何细微的变化都会造成哈希值的唯一性降低,从而导致监测数据完整性较差,间接影响监测数据的存储性能[9]。
依据上述选取的dBFT共识机制与SHA-256哈希算法,结合监测数据的时间戳、Merkle树等信息,将所有数据区块组合成依赖前一区块的链,该链具备可追溯、不可篡改的优势[10]。
无线路由监测数据区块链结构如图2所示。
图2 无线路由监测数据区块链结构框图
上述过程完成了无线路由监测数据区块链的获取,为下述监测数据双链存储模型的构造提供依据。
无线路由监测数据区块链指的是在预选节点下的去中心化、防篡改的点对点网络,经过一次共识算法后,每个参与节点均存在一个相同的区块链副本,若某个节点发生被攻击现象,监测数据也不会被篡改。为了加强监测数据的存储性能,构造监测数据双链存储模型[11],具体结构如图3所示。
图3中,传感器为随机性监测信息的获取提供了便利,作为输入装置对模拟信息进行采集,获得被测量的模拟信号,将模拟信号量转换成数字信号量,在此基础上进行数据监测。该双链存储模型图的区块链的存储容量可以有效地随着分区的增加而同步扩展,极大地提高分区算法的安全性,即使在庞大的检测数据量的情况下,也可以缩减繁琐的算法进程,减少系统的响应时间,通过节点验证的方式增加数据透明度,降低数据被泄露与篡改的风险。
图3 监测数据双链存储模型结构框图
根据图3,无线路由监测数据双链存储具体步骤如下。
步骤1监测数据上传。
监测数据上传过程表达式为:
(2)
式(2)中,HMAC(·)表示的是SNi的感知节点私钥的消息认证码。
步骤2监测数据聚合。
预选节点DSi对上述监测数据区块链SNi的时间戳timestamp进行验证,防止重放攻击现象发生。利用监测数据区块链SNi的感知节点公钥对HMAC(·)进行验证,若验证成功,将监测数据区块链SNi存放在存储池中[13]。当预选节点DSi完成监测数据聚合后,对监测数据附加时间戳与数字签名,等待下一次共识过程。
监测数据聚合过程表达式为:
(3)
式(3)中:d表示的是监测数据聚合结果;dn表示的是DSi范围内全部感知数据。
步骤3监测数据区块上链。
预选节点DSi将监测数据聚合结果d发送给其他预选节点DS,以此来竞争数据区块的记录权,将获得记录权的节点称为主节点,记为DSleader,则其他节点称为从节点[14]。主节点DSleader将监测数据聚合结果d依照一定的规则排序,将其依次分配给从节点,则主节点DSleader即可将监测数据聚合结果写入区块链。
图书馆是信息资源的中心,图书馆馆员有责任和义务将优秀的网络资源进行分类汇总,以供各学院根据设置的专业及人才培养方案要求进行合理化使用。分类的标准可以依据图书馆分类标准进行,也可以结合网络资源具有的基本特征予以揭示。
监测数据区块链形成过程表达式为:
(4)
式(4)中:authority表示的是数据区块记录权;DBi表示的是当前形成的监测数据区块链;dbd表示的是监测数据聚合结果d构成的数据区块。
步骤4数据存储双链。
将监测数据区块链SNi哈希值存储于DS的存储池中,依据locn与typen标记数据区块。将当前交易监测数据哈希值记为parenthash,当监测数据上链后,parenthash转换为lastdatahash[15]。当监测数据上链完成后,即可获得一条hash链,其反映着历史数据在区块链上的位置。另外,通过研究发现,该hash链依附于数据区块链,也具备着不可篡改的特征。无线路由监测数据双链存储具体流程如图4所示。
图4 无线路由监测数据双链存储系统流程框图
通过上述步骤完成了监测数据双链存储模型的构造,为无线路由监测数据存储优化打下坚实的基础。
数据验证的目的是为了保障无线路由监测数据的安全性与完整性。在区块链网络中,全部节点均在不停地获取、更新监测数据。当节点获取到新的监测数据时,需验证数据是否安全、完整,若符合存储要求,将其保留至数据块中;若不符合存储要求,将其进行删除处理。通过上述方式,不但可以保障无线路由监测数据不受篡改,还可以保障监测数据的有效性,提升无线路由监测数据存储优化方法的性能[16]。
本研究利用椭圆曲线数字签名算法验证无线路由监测数据,主要分为2个阶段,分别为数字签名生成阶段与数字签名验证阶段[17]。
数字签名生成阶段步骤为:
步骤2:计算r=c·mi1modn,若r=0,返回步骤1,反之,转至步骤3;
步骤3:计算s=c-1(h+cr)modn,若s=0,返回步骤2,反之,转至步骤4;
步骤4:将r与s进行有效结合,得到无线路由监测数据数字签名,记为sig(mi1)。数字签名生成阶段步骤流程如图5所示。
图5 数字签名生成流程框图
数字签名验证阶段步骤为:
步骤1:获取公钥,记为Q,验证r与s是否为整数,是否在随机数范围内;
步骤2:计算u=mi1modn;
步骤3:将sig(mi1)与u进行比较,若sig(mi1)=u,表明无线路由监测数据数字签名验证成功;若sig(mi1)≠u,表明无线路由监测数据数字签名验证失败,对无线路由监测数据进行删除操作[18]。数字签名验证流程如图6所示。
图6 数字签名验证流程框图
通过引用区块链技术,实现了无线路由监测数据的存储优化,为无线路由监测数据的存储与应用提供有力的支持。
为了验证提出方法的性能,设置实验环境,进行无线路由监测数据存储优化仿真实验。实验采用Ceph无线监测数据库作为实验对象,同时部署区块链技术参数,具体实验环境设置过程如下所示。
Ceph无线监测数据库节点部署情况如表2所示。区块链技术参数设置情况如表3所示。
表2 Ceph无线监测数据库节点部署
表3 区块链技术参数
为了保障仿真实验的顺利进行,需要对dBFT共识机制进行测试,确定实验交易量的最佳范围。以区块链网络主节点为核心,向区块链网络中其他节点散布消息,记录消息收到时间,在定时器超时时间内达成共识,执行交易并生成数据区块。
测试过程中,向区块链网络节点发出交易请求,等待区块链网络进行共识,执行并生成数据区块。通过软件计算dBFT共识机制每秒的交易量。依据上述步骤进行50次测试,取平均值作为测试结果,得到dBFT共识机制每秒交易量数据如图7所示。dBFT共识机制交易量最佳范围为[133,185]TPS/s。
图7 dBFT共识机制每秒交易量数据曲线
以上述设置的实验环境进行仿真实验,通过数据存储响应时间与数据完整性参数反映方法性能,将dBFT共识机制方法与文献[4]中的基于区块链技术的动态数据安全存储方法进行对比,具体实验结果分析过程如下。
通过实验得到数据存储响应时间数据如表4所示。表4数据显示,本文提出方法的数据存储响应时间范围为9.23~10.26 ms,均低于标准数值和文献[4]方法测试数值。
表4 数据存储响应时间数据
通过实验得到数据完整性参数数据如表5所示。
表5 数据完整性参数数据
常规情况下,数据完整性参数越大,表明数据完整性越高。如表5数据显示,本文提出方法的数据完整性参数范围为2.35~2.88,均高于标准数值和文献[4]方法的测试数据。
通过实验结果表明:本文提出方法的数据存储响应时间低于标准数值和对比方法,数据完整性参数高于标准数值和对比方法,充分说明提出方法的监测数据存储优化性能更佳,响应时间更短,完整性更高。
本文研究了基于区块链的无线路由监测数据存储优化方法。引入区块链技术搭建无线路由监测数据存储架构,并选取适当的共识机制,再计算哈希值,获取无线路由监测数据区块链,并构造监测数据双链存储模型,利用椭圆曲线数字签名算法验证无线路由监测数据的安全性与完整性,实现基于区块链的无线路由监测数据的存储优化。本文所提方法数据存储响应时间低,最低为9.23 ms,数据完整性参数高,最高可达到2.88,充分说明了本文所提方法的监测数据存储优化性能,具有实际应用价值。