曾纪钧,陆庭辉
(1.广东电网有限责任公司信息中心,广东广州 510600;2.广东电网有限责任公司江门供电局,广东江门 529000)
物联网缺乏有效的共享机制,数据容易被非法篡改或交互损失,产生大量冗余数据[1]。物联网通信传输安全问题是当前我国物联网通信重点研究的问题,云服务传输技术已被广泛使用,在增加、使用和交互网络相关服务时,可以提供动态的、易于扩展的虚拟化资源[2]。使用该方法虽然充分考虑了信息传递环节,但在应用场景和逻辑层次方面存在较大问题。在面向GSM 的移动终端访问系统中,需要通过接入网将完整的终端认证请求转发到core 进行身份注册和存储。面临巨大的物联网和由此产生的海量数据,网络缺乏有效的信用保障机制[3-5]。基于此,应用区块链技术,研究了一种通用物联网数据认证传输技术。根据区块链的特点,在物联网中初步应用区块链技术。为保障物联网的数据源安全和信息交互安全,建立信息传输安全机制。
为避免来自物联网前端采集设备的传感器数据被人为篡改或破坏,尤其是那些在中央网络中具有系统管理权限的数据,可以参与大量冗余数据检索、校正与删除,以确保源数据的可靠性和可信度[6-7]。认证传输的基本原理。在物联网节点上,数据区块链收集数据,通过公共数据认证传输形成数据账户[8-9]。
在物联网中,诸如RFID、红外线传感器等信息感知设备中,节点传输受到的资源限制较大,即使像可穿戴设备这样的节点也存在级别数据训练和计算方面的缺陷[10]。在物联网环境中,使用大量异构数据时,需要从不同类型中挑选最合适的类型,并一一存储。将物联网数据划分为两种,分别是轻量级数据和多媒体数据,经过压缩、融合后形成新的数据,大大减少数据容量;数据的统一表示使数据的存储和共享更加方便。最终将处理后的数据划分为账本数据和分布式外包存储的存储数据。帐本数据是节点数据的汇总,外包数据是大型或多媒体数据[11-13]。这个文件被保存在fog 节点中,可以根据需要下载。
针对分布式系统的一致性问题,提出区块链环境下的一致性算法。对于遗传算法,只要不超出共识计算所需的误差数据,就能保证整个系统的正常运行。误差数据公式为:
式(1)中,n表示参与共识的数据。使用遗传算法需将每轮公式中的数据都标记为0,由此一一标记异常节点。如果共识无法达到理想状况,那么整个集合将呈现递增趋势,直到识别完全部数据为止[14]。识别算法主要流程如图1 所示。
图1 基于区块链技术的数据识别流程
遗传算法是一种有效的全局并行搜索算法,其利用生物进化规律进行优化[15]。该方法借鉴了生物学中的基因、进化、适应性、选择、交叉、变异等概念,以求最优解。
1)编 码
每一个配置K可以表示为:
对每一个pin 配置进行二进制编码,然后进行交叉和变异操作[16]。
2)交叉、变异
同时,决策控制器会配置两对pin,以获取L/2 配置对,其中L为所包含的配置数。每一个组态对都是父组态,通过二元交叉和多项式变异产生两个子组态:
交错变异是对生物界遗传过程的一种模仿,即后代的染色体来源于父辈,在此过程中有一定的概率发生基因变异。
3)适应度评估
适应性设计的目标是获得低能耗的GPIO 配置,因此在配置时应选择遗传算法中的适应度函数作为功耗。度量前两步所获得的总能量消耗,并将其记录在配置中:
4)排序和选择
根据配置适应度排序情况,按照升序(功耗由低到高)排列W和中的样本,并选择前L个配置样本作为下一代WK+1:
由于遗传算法是一种全局最优化搜索算法,所以它可以获得更好的结果。
在区块链技术的基础上,物联网除了提供基本的通信网络通道的运营者功能节点外,还包括用户、设备制造商和网络服务提供者。在这些服务中,网络服务商为设备提供各种应用服务。另外,终端设备是由设备制造商制造的。厂商内嵌用于认证的加密材料;厂商将设备编号作为固定数字十六进制编码,这是厂商在设备整个生命周期中使用的唯一标识。除了在生成设备时对分布式网络进行认证之外,在服务结束时,合法设备还需要通过运营商的网络认证才能访问网络。为提高安全性能,确保网络终端的匿名性,采用零知识证明算法,建立了匿名认证机制。
在区块链体系结构中,通过分析终端认证机制的遗传算法容错机制共识过程,抽象出分布式网络中各个实体的功能流程。除此以外,区块链在这种架构下可以抽象成两个部分:分布式网络和总账。根据分布式节点协同完成任务所具有的区块链特性,对分布式网络进行解构,主要由以上各种功能实体节点组成;总账的概念与分布式数据库、存储设备编号和加密材料类似。图2 是物联网通用数据认证传输框图。
图2 物联网通用数据认证传输框图
在每一个分布的网络中,标准组织向申请认证的成员分发证书和证书清单。
1)装备制造企业根据规定为装备终端机准备编码加密材料。
2)设备制造商使用获得的证书,将认证请求广播到分布式网络。
3)在分布式网络节点收到请求后,选择是否进行事务处理,不进行直接处理的节点终止连接。选定要处理的节点,以验证证书列表中发送方证书的内容是否匹配项。否则,将返回证书验证失败并终止连接。若通过证书验证,则调用consensus 算法;若集群一致通过,则节点封装任务结果;同时,将每个节点记录到区域块链总账中;若未达成一致意见,则直接进入步骤4)。
4)若协议被通过,则封装在集群中的节点负责将协议成功消息返回给设备制造商,然后继续步骤5);若不通过consensus 算法,则由consensus 算法匹配的节点负责返回错误代码,然后完成流程。
5)装置制造商在装置中嵌入一致同意的号码和加密材料。
6)在设备连接到网络时,将附件请求发送给携带步骤5)中嵌入的加密材料的操作节点。
7)作业节点收到请求后,查询该区域块链台账是否有对方所发物料记录。假如检索成功,就会带上一个证书作为回应;如果不匹配,链接就会终止。
8)两方根据算法要求执行匿名认证算法,并分别将计算结果返回给对方,由对方检查结果是否匹配。不匹配时,连接终止,访问失败;匹配时,访问成功。
9)通过覆盖本地账本设备的状态变量来表示设备对网络的访问,实现了通用数据认证的安全传输。
在完成对物联网通用数据完整传输的前提下,基于区块链技术的物联网通用数据认证传输技术不仅要求高效性,还要求安全性。利用Matlab 软件对数据认证传输安全性进行仿真实验验证分析。
为了较好完成物联网串口通信任务,同时调用UART-CharGet 资源实现物联网串口数据的收发,由此获取的物联网通用数据集如表1 所示。
表1 物联网通用数据集
将物联网节点固定在PC 界面上,节点数量大约为100 个,主机配置为Pentium (R)4CPU2.40 GHz。为了验证云服务数据认证传输技术、面向GSM 移动终端接入体系数据认证传输技术和基于区块链技术的物联网通用数据,在传输通道内传输情况的对比分析结果,如图3 所示。
由图3 可知,使用云服务数据认证传输技术在传输通道内传输轨迹不具有规律性,数据点极其散乱,甚至出现了超出传输信道的趋势。使用面向GSM 移动终端接入体系数据认证传输技术在传输通道内传输轨迹十分复杂,出现了数据丢包现象。而使用基于区块链技术的数据传输具有一定规律性,且全部在传输通道内,不会出现丢包现象。
图3 3种技术在通道内传输情况
通过分析3 种技术在通道内的传输情况可知,使用基于区块链技术能够在该传输通道内安全传输数据。为了进一步验证该技术的合理性,需对比分析数据认证传输完整度,结果如表2 所示。
由表2 可知,基于区块链技术比传统两种技术的数据传输完整度要好,能够安全传输全部数据。
表2 3种技术数据认证传输完整度(bits)
对目前数据认证与传输技术的安全性进行了研究,并对基于区块链的可信认证技术进行了探讨。其核心是通过创新引入区块链技术,设计认证模型,结合灵活的认证算法,实现一个分散、安全、高效的终端认证体系结构。利用区块链技术,实现了物联网通用数据的安全认证传输。