文献标识码: A
DOI:10.16157/j.issn.0258-7998.190112
中文引用格式: 张金龙,赵德政,韩庆敏. 一种基于区块链技术的工业数据安全性保护方法[J].电子技术应用,2019,45(7):85-88.
英文引用格式: Zhang Jinlong,Zhao Dezheng,Han Qingmin. A method to protect industrial data based on blockchain technology[J]. Application of Electronic Technique,2019,45(7):85-88.
0 引言
工业作为国家经济支柱,在互联网的浪潮下不断融合创新,随着大数据、云计算等新兴技术的兴起,工业大数据及应用将不断促进工业生产应用更加自动化、智能化。德国于2013年正式提出了工业4.0战略,在全世界掀起了一股向智能制造转型升级的浪潮;美国也提出先进制造业战略及“大数据研发计划”[1],欲占领工业制高点;中国在2015年先后提出《中国制造2025》规划及《促进大数据发展行动纲要》,从顶端规划安排大数据的发展。这些国家战略的聚焦点就是把互联网技术和制造技术能够更紧密地结合起来,突出工业大数据的重要性。
然而目前我国工业大数据发展仍存在一些安全性的问题。由于工业大数据来源于各个工业现场,环境复杂规模庞大,在数据采集的过程中存在较大的困难,且难以保证数据安全,主要为工业现场设备种类多、数量大、接口复杂,各种协议不能互相兼容,国外设备不开放接口等原因造成不能利用一个统一的方式实现数据采集的目的,同时也加大了对数据安全性保护的难度,增大了安全性风险。其次在各个工厂采集的数据及针对同一设备在不同时间采集的数据较为孤立,难以相互关联,导致在数据分析过程中不能形成针对该产品全生命周期的数据关联,难以对产品后续研发提供支持。
更为严重的安全问题则是在数据存储、传输以及使用过程中存在的数据泄露及被篡改的风险。传统的数据主要存储在中心化的服务器上,其中一些数据不免涉及相关核心技术,若发生数据泄露等事故,将对企业造成重大资产损失。
针对以上问题,本文提出了一种基于区块链技术的去中心化工业大数据安全保护方法,该方案从数据采集源头开始,利用密码学、IPFS等技术将数据保护起来,保证数据来源真实可靠,避免因网络攻击导致数据泄露、因管理不周导致数据被篡改等风险,并将每一机器从上线到运转、维修、报废等过程数据关联起来,存储至区块链中,具备极高的安全性。
1 系统总体架构
2015年,赵赫等基于其课题组采样机器人提出一种传感数据真实性保障方法[2],如图1所示。
该方法利用区块链技术的不可篡改性,保证了数据从采集源头的真实性,安全性高,成本低廉,是利用区块链技术保护数据真实性的一种有效方法。但该方法也有一定的局限性,如采样机器人为其课题组特定机器人,相关接口唯一,不具备可推广性;数据库为传统服务器架构,且存储数据为明文存储,仍然存在被攻击及数据泄露风险;保障数据真实性的本质为将数据的哈希值与区块链中存储的哈希值进行比对,根据比对结果判断数据是否为真实数据,但并不能防止存储在数据库中的数据被恶意篡改等。
本文基于以上问题,在其系统上改进了相关技术并提出了数据安全性更高、适用性更强的系统,如图2所示。数据处理结构主要由传感器、采集中间件、存储中间件、处理中间件和安全管理中间件等构成[3],相应本系统总体架构主要由以下五部分构成,分别为工厂设备、数据处理模块、IPFS、上层应用及区块链。
(1)工厂设备。在本系统中,通过工厂中的设备进行数据采集工作,在采集到数据之后对数据进行封装并发给数据处理模块。本套系统支持大部分的设备接口,既能兼容新出厂的设备,也能对现有设备进行改造以适应该系统。
(2)数据采集模块。首先接收设备采集的数据,将数据签名后存储至IPFS,IPFS会返回存储的数据索引哈希,之后将该索引哈希用系统公钥加密后存到区块链上。
(3)存储模块IPFS。IPFS可对大量数据进行去中心化的分布式存储,与区块链具有非常高的契合性。在这个系统里接收来自数据处理模块的数据,并存储在IPFS的节点上。后续接受上层应用服务的数据调用。
(4)区块链。主要功能为记录仪器设备各个阶段的数据索引哈希,并将其相互关联,形成数据联通。
(5)上层服务及应用。从IPFS调用需要的数据,进行处理及展示等功能,在调到数据之前,首先用本系统的私钥对数据索引进行解密,解密后会得到数据索引哈希,根据数据索引哈希可在IPFS系统中得到数据明文及用设备私钥进行的签名,通过签名可验证数据来源及真伪性,并通过区块链得到数据时间戳,确定数据采集时间。
2 技术原理分析
本节主要分析系统中各主要部分技术实现原理。
2.1 工厂设备采集数据模块
对于工厂中的设备,为实现通过数据处理模块对数据进行签名等操作,为每台设备分配一对公私钥,其中私钥由系统随机产生,公钥为私钥通过椭圆曲线算法计算所得,之后经过Hash160及Base58编码成为机器公钥地址。由于数据处理模块直接与各种机器设备相连,并具有安全保密设置,可保证在该过程中数据安全不被篡改。
2.2 数据处理模块
数据处理模块由OPC UA改造升级而来,通过升级增加处理数据的功能,改造后的功能为可对工厂中设备上传的数据进行封装并利用该设备私钥对数据进行签名,然后将数据明文和数据签名一同存储至IPFS,IPFS返回结果为该数据在IPFS系统中索引哈希,利用系统公钥对将该索引哈希加密,之后,系统会发送一笔上链信息,包含该索引哈希,实现数据上链。
2.3 IPFS技术原理
IPFS(Interplanetary File System)是一个点对点的超媒体协议。
当文件被添加到IPFS节点后,节点会返回这个文件的索引哈希值,当下一步向IPFS网络询问哈希的时候,它通过一个分布式哈希表,可以快速地找到拥有数据的节点,从而检索到该数据。
工业环境中对数据存储的要求为:数据量大、来源广、速度快、存储完整、具备可扩展性[4]。IPFS的分布式存储设计使得每一片数据都是一份数据的一部分,只有将所有分片组合到一起才是一份完整的数据,任何一个分片都不能得到数据的明文,即使其中一个节点的数据泄露,也不会对数据造成损失,且较中心化存储下载速度更快。这些特性使得IPFS较为适合作为工业数据的存储容器。
2.4 区块链技术原理
区块链技术是一种基于密码学算法的去中心化的数据库技术,这个概念最早出现在2008 年中本聪(NAKAMOTO S)的《Bitcoin:A Peer-to-Peer Electronic Cash System》论文中[5]。
区块链技术不仅可以为金融交易建立信任,还可以用于记录所有有价值的东西[6],如由于其不可篡改等特性就为数据安全提供一种新的思路[7]。
区块链是一种链式结构,由各个区块连接而成,如图3所示,每个区块包括区块头和区块体,区块头中的Pre_hash参数为前一区块哈希,该参数使得各个区块首尾相连形成链状结构。所有的链上信息都包含着区块体中,其中每笔交易可附带备注信息,本系统中将数据索引哈希存储至区块链即为通过将其放在备注信息中并发送一笔交易实现,如图4所示。该笔交易被矿工打包放入区块中即可实现数据上链,全网公开透明,不可篡改,可追溯查询。
区块链具备如下特性:
(1)去中心化。无需第三方进行维护管理,完全由网络中节点基于激励机制进行自治。
(2)公开透明。区块链中数据面向所有人开放,任何人都可以进行查询使用。
(3)不可篡改。由于每个节点都保存一分区块链账本,任何一个节点都不可以单方面修改其中数据,保证了其不可篡改性。
(4)安全可靠。任何写入区块链的请求都需进行一定运算并满足一定要求,同时意味着,要想恶意篡改其中数据要掌握至少51%的算力,使其达到安全性保证。
基于以上特性,在数据安全保护领域,区块链可解决很多数据安全及隐私保护的问题,为工业大数据发展中存在的安全问题提供了一种新的解决方案。
3 系统工作步骤
上一节主要介绍了每一部分的技术原理,本节主要介绍系统总体工作流程,图5为工作流程示意图。
3.1 部署上线环节
在系统及各个机器上前完成设备和系统的初始化,主要是为每一个机器及系统分配一对公私钥地址,然后由系统地址向机器地址发送一笔微小交易,并备注该机器的设备信息,完成初始化过程。该笔交易将记录设备的出厂时间、公钥地址、系统地址、详细参数等信息,并将其上链,形成全网唯一的索引标识符,为之后设备各个阶段(如设备数据采集、设备维护、设备报废等过程)提供前期准备,使得各个阶段的数据上链并通过设备地址形成相互关联,全网唯一、不可篡改,便于对历史数据的查询及验伪。
3.2 数据采集存储环节
(1)采集并存储数据。工厂中的机器会实时采集运行中的数据,并上传给数据处理模块。数据处理模块收到数据后会利用该机器的私钥对数据进行签名,之后将数据签名和采集到的数据存储至IPFS。IPFS作为分布式存储天生具有抵抗DDOS攻击的特性,通过采用碎片化冗余存储的方式,避免数据泄露和丢失的风险。
存储结果为IPFS系统中的数据索引哈希,通过该索引哈希可在IPFS系统中取得存储数据,由于哈希具有唯一性及不可逆性,任何没有索引哈希的情况下都不能获取到数据明文,保证了数据安全性。
(2)将数据索引哈希存储至区块链。由于在IPFS系统中,只要拥有数据索引哈希就掌握了数据的控制权,且区块链又是公开透明的,因此将数据索引哈希存至区块链之前先用系统的公钥对数据索引哈希进行加密,将数据控制权交给系统拥有者,将加密后的密文及数据摘要发送一笔交易对上链信息进行上链,交易的发送方为系统的公钥地址,接收方为机器公钥地址,这笔交易使得数据索引哈希即这笔数据记录到区块链上,不可篡改,可用于后续验证数据真伪时使用。
3.3 上层应用调用数据环节
当调用数据时,首先从区块链中获取该数据的索引哈希及时间戳、机器设备资料等相关信息,由这些信息可确认该份数据的真实有效性。对该数据哈希索引密文解密后,利用解密得到的明文,在IPFS系统中检索所需数据。IPFS会返回所对应的数据明文及数据签名,根据签名可验证数据的真实性及数据的来源。
至此,该系统完成了从数据采集到数据存储、调用的全流程实现,保证了在每个环节数据的安全性要求。
4 结论
本文提出了一种基于区块链技术的针对工业大数据的安全保护解决方法,该方案实现了工业大数据从采集到传输、存储、调用的全流程安全性保证。在采集源头采用改造后的OPC UA实现了针对大部分工业设备的统一接口,可对大部分设备进行系统适配性改造,很大程度缓解了目前接口协议众多难以实现设备统一采集的问题。
针对每个设备配备一对基于椭圆曲线算法的公私钥地址,全网唯一,不可篡改,并在设备上线时利用区块链发送一笔微小交易,使设备信息及设备地址记录在区块链上,形成全网数据索引,在后续设备数据采集、维护、故障、报废等都可将其数据记录到区块链中,并可根据公钥地址在区块链中查询所有的数据索引,针对该设备将其所有数据形成强关联,有利于后期的数据分析及设备维护。
在数据采集后利用设备私钥对数据进行签名,确保数据来源的真实性。通过加密存储,保证了数据的安全性,防止数据泄露造成企业资源损失。同时也可针对不同数据利用不同公钥对数据索引进行加密,对不同私钥设置权限,实现数据分级管理,实现用户隐私等隐私数据私密性存储。
本文利用区块链、IPFS等技术及椭圆曲线、哈希算法等算法构建了一个工业大数据全流程的安全解决方案,实现了数据采集安全、存储安全、传输安全、隐私保护及数据强关联等众多功能,具备非常强的安全性、实用性,且成本低廉,容易推广,具备非常广阔的研究价值和应用场景。
参考文献
[1] 马立川,裴庆祺,冷昊,等.大数据安全研究概述[J].无线电通信技术,2015,41(1):1-7.
[2] 赵赫,李晓风,占礼葵,等.基于区块链技术的采样机器人数据保护方法[J].华中科技大学学报(自然科学版),2015,43(s1):216-219.
[3] 姚雪梅,李少波,璩晶磊,等.制造大数据相关技术架构分析[J].电子技术应用,2016,42(11):10-13.
[4] 李少波,陈永前.大数据环境下制造业关键技术分析[J].电子技术应用,2017,43(2):18-21,25.
[5] NAKAMOTO S.Bitcoin:A peer-to-peer electronic cash system[EB/OL].[2019-02-22].https://bitcoin.org/bitcoin. pdf.
[6] 张昕伟,张华,郭肖旺,等.基于区块链的电子投票选举系统研究分析[J].电子技术应用,2017,43(11):132-135.
[7] 袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016,42(4):481-494.
作者信息:
张金龙1,2,赵德政2,韩庆敏1
(1.华北计算机系统工程研究所,北京100083;2.中电智能科技有限公司,北京100083)