许 玮
(安徽皖信人力资源管理有限公司,合肥 230000)
随着物联网的普及,设备数量迅速增长,网络传输的数据量也迅猛增长。为了提高运行效率、降低维护成本,很多企业开始将部分工业设备联网。这些工业设备在运行过程中产生大量数据,由于这些数据没有集中地存储、管理和分析,使得工业设备上的信息非常容易被窃取。区块链技术是一种具有分布式、去中心化、防篡改等特性的加密技术,其诞生于2009年,被认为是继互联网之后又一个革命性的技术。在工业物联网中,很多企业通过区块链技术来保证数据共享。区块链具有可溯源等特性,能够有效地保护数据隐私。
1)在数据共享之前,通过对设备的属性进行访问控制,设置设备的访问权限,只有满足访问权限的用户才能进入设备中进行数据操作。另外,只有满足相应权限的用户才能对工业物联网中的数据进行查询、更新、删除等操作。
2)在用户发起设备共享请求之后,本方案利用基于区块链技术的智能合约来实现对工业物联网中数据共享过程的控制。通过智能合约按照一定规则对工业物联网中设备共享进行控制。智能合约分为2 种类型:一种是静态智能合约,一种是动态智能合约[1]。
静态智能合约用于在用户发起设备共享请求之后,通过验证用户的身份是否满足访问控制规则来完成对用户的授权;动态智能合约用于在用户发起设备共享请求之后,通过验证用户的访问权限来控制设备共享过程。
3)在区块链中将数据按照一定规则进行分片存储。对于分片后的数据,通过IPFS 分布式文件系统和区块链技术实现了对数据的分布式存储。
4)在对工业物联网中设备数据进行访问操作时,使用传统的PKI 技术来完成访问信息验证。
区块链技术用于身份认证之后,其具有不可篡改性和可溯源性,能够实现工业物联网中数据的可信访问。本方案通过使用基于区块链技术的数字签名机制实现对访问信息进行验证。数字签名机制由一组数字签名组成:一个公钥和一组私钥。公钥加密数据时,利用私钥解密数据;私钥加密数据时,利用公钥验签。区块链可以解决对用户身份进行验证但不能保护数据隐私问题。如果某个用户没有使用自己身份验证后生成的公钥,则不能获得该用户私钥中指定设备访问信息的访问权限[2]。
在本方案中,使用RSA 和椭圆曲线加密算法对设备的访问信息和隐私数据进行加密。设备通过智能合约向网络发送数据请求,当数据请求到达网络时,数据接收方使用哈希函数对原始信息进行哈希运算,并将其转换成二进制位。
二进制位代表该信息的完整性。然后,数据接收方使用椭圆曲线加密算法对哈希运算后的结果进行加密,生成一条与原始信息相异的加密信息。然后将该信息发送给数据接收方。由于在发送前对其进行了哈希运算,所以发送方和接收方之间不存在明文交互。但是,在接收到哈希编码后,该哈希编码会与原始数据相异。根据哈希编码,可以将原始信息转换成二进制位的形式。利用椭圆曲线加密算法生成的密文与原始信息相异,可以保证数据传输过程中不会被窃取或篡改。
通过以上工作流程可以实现以下目标:①保证数据隐私;②在数据传输过程中可以保证数据完整性;③在数据传输过程中不会被窃取或篡改。因此,本方案在实现工业物联网数据共享时,满足以下条件,一是设备能够正确读取和解释服务器传输过来的数据,并能够根据获取到的数据进行操作。二是在数据传输过程中,不会出现恶意或无意篡改数据的情况[3]。
在工业物联网数据共享中,可信第三方服务机构可以根据企业的需求向企业提供相应的数据共享服务。可信第三方服务机构主要对工业物联网中的数据进行加密,并将这些数据通过区块链进行存储,当需要访问时,可信第三方服务机构便可以根据区块链上的信息进行解密操作。同时,当企业将相应的数据上传至区块链之后,便可以通过可信第三方服务机构对相关信息进行解密操作。
在企业之间的数据共享中,由于双方都不掌握彼此的具体情况和数据内容,为了保证双方能够准确地获取彼此信息并保证信息安全,因此需要通过可信第三方服务机构对信息进行解密处理。可信第三方服务机构主要包含2 个方面:①可信第三方服务机构能够向企业提供相关数据的解密处理;②可信第三方服务机构能够对设备节点上传至区块链中的相关信息进行加密处理[4]。
第一步,企业向可信第三方服务机构提出相应的需求,并将设备节点的相关信息通过可信第三方服务机构传输至区块链上;第二步,可信第三方服务机构将企业的需求和区块链上相应信息进行比较判断是否满足企业需求;第三步,若满足用户需求则通过区块链上存储的数据信息对相关信息进行解密;第四步,解密后获得相应数据并对数据进行加密处理。最终,由可信第三方服务机构对相关信息进行解密操作并将结果反馈给企业。
基于区块链的工业物联网数据共享模型由4 个部分组成(图1):数据采集模块、数据存储模块、数据访问模块和结果分析模块。其中,在数据采集模块中,通过可信第三方对设备节点的身份进行认证,并将设备节点上传的数据进行加密后存储在区块链上。在数据传输模块中,通过区块链与其他设备节点进行通信,并将设备节点的传输信息写入到区块链中。在结果分析模块中,通过区块链上存储的数据信息对设备节点的行为进行分析并反馈结果[5]。
图1 工业物联网数据共享模型
基于区块链的工业物联网数据共享模型主要包含2 个阶段:隐私保护阶段和基于可信第三方的数据访问阶段。在第一阶段中,需要对设备节点的身份信息、设备节点之间的关系、设备节点与其他节点之间的关系和设备节点自身的状态信息进行加密处理。在第二个阶段中,通过可信第三方对上述信息进行加密处理后存储到区块链上。当需要进行访问时,便通过可信第三方对相关信息进行解密。
设备节点能够通过多种方式对数据进行采集,例如,利用传感器、数据采集卡或工控交换机等对数据进行采集;利用串口或网口等对数据进行采集;通过以太网和无线网络等方式对数据进行采集。同时,对于工业物联网中不同类型的设备节点,其具有不同的通信方式[6]。对于那些已经建立通信协议的设备节点,其通常是通过现有通信协议对数据进行采集,因此需要制定一套通信协议,使得不同类型的设备节点能够在一个统一的标准下对信息进行采集。由于现有通信协议没有统一定义和标准,因此需要建立一套通信协议来保证各个设备节点之间可以在统一标准下进行数据传输。
在工业物联网中,设备节点能够通过多种方式将信息传输到网络中,包括:无线传输、有线传输和以太网传输。其中,无线传输是通过路由器或中继器等设备在不同网络之间进行传输;有线传输是利用网线将数据传递到网络中;以太网传输是通过网线将数据传递到网络中。另外,还需要对所有设备节点上的传感器、控制卡等硬件装置进行统一管理[7]。
数据存储模块(图2)主要由可信第三方、数据交换中心和结果分析中心组成。
图2 数据存储模块
2.2.1 可信第三方
为了保证工业物联网系统的安全,可以将系统中的每个设备节点都看作是一个可信第三方,即区块链节点。为了保证存储的安全性,需要将该设备节点作为可信第三方进行注册,并设置一个可信第三方管理机制。当系统中有多个设备节点时,需要对其进行身份验证和权限认证,防止某个设备节点泄露机密信息。当其他的设备节点获得了可信第三方的授权后才能够访问该数据存储模块中的数据。
2.2.2 数据交换中心
为了保证每个设备节点的可靠性和安全性,需要将其作为数据交换中心进行数据交换。数据交换中心负责对传输来的数据进行加密处理,并将处理后的信息存储在区块链中,然后通过接口将区块链信息传输给系统中所有设备节点[8]。
2.2.3 结果分析中心
为了保证系统中的每个设备节点都能够接收到相应的结果,需要将其作为区块链中存储的数据信息,并通过接口将结果信息传输给系统中所有设备节点。在过程中会生成一系列带有时间戳且不可逆的交易数据信息,对交易数据进行加密处理后存储在区块链上,并将相关信息反馈给用户。
基于区块链的工业物联网数据访问模块由2 部分组成:一是设备节点直接向区块链上的可信第三方发送请求;二是区块链根据可信第三方发送的请求对数据进行加密后,由可信第三方向区块链上的其他设备节点进行解密。
对于设备节点直接向区块链上的可信第三方发送请求,区块链中的各个节点都需要为设备节点提供一份验证文件,该文件中包含了设备节点和其他节点的身份信息、设备节点之间的关系、设备节点与其他节点之间的关系以及设备节点自身的状态信息,并将这些信息发送给该可信第三方[9]。
对于区块链上其他节点向区块链上的可信第三方发送请求,该可信第三方同样需要为这些信息提供一份验证文件,并将验证文件中的信息发送给所有设备节点。但是,只有当该可信第三方获取了所有设备节点所提供数据的有效版本之后,才能判断其身份。
在基于区块链的工业物联网数据共享模型中,设备节点上传的数据将会被加密后存储在区块链上,而对于一些关键的数据信息,则需要通过可信第三方将其进行解密后才能获取到相关信息。在对区块链上存储的数据进行分析时,需要对数据信息的内容、类型、来源等进行分析。设备节点可以通过对区块链上存储的数据进行加密处理后,按照特定规则对这些数据进行分类,然后根据分类结果采取相应的操作。由于区块链上存储的数据是公开透明的,因此可以通过这种方式获取到相关的工业设备运行情况以及生产效率等重要信息。在结果分析模块中,首先会通过可信第三方将所获取到的设备节点的行为信息写入区块链,然后将区块链上存储的行为信息与设备节点上传到区块链上的行为信息进行对比和分析,最终根据分析结果对设备节点进行奖惩。
由于区块链具有去中心化、不可篡改、可追溯等特点,所以在本方案中采用区块链技术对工业物联网设备上传数据的安全问题进行解决。区块链是通过密码学算法建立的一个分布式数据库,对于在数据共享模型中存在的安全问题,主要是基于物联网设备上传数据的特点对区块链技术中出现的安全问题进行解决。
基于区块链技术可以实现对物联网设备节点身份信息的验证。物联网设备节点在数据上传时,首先需要对其身份信息进行验证,以保证上传数据的安全性和真实性。
首先,针对在区块链技术中使用的对称加密算法,通过将密钥进行对称加密处理后进行分发给物联网设备节点,并采用其对应的私钥对其身份信息进行加密处理后发送给网络节点。
其次,针对物联网设备节点在接收到数据包后需要对数据包的内容进行校验,以保证数据包的正确性,同时也可以对发送给网络节点的数据包的真实性和完整性进行验证。
为了解决物联网设备在区块链技术中接收到数据包后需要对其内容和完整性进行校验时会出现恶意篡改问题,使用了非对称加密算法中的公钥加密技术对其身份信息和内容进行保护。该设备通过读取相应的公钥加密后获取到相应的密钥,然后将密钥向网络节点进行广播。利用其对应的私钥对其身份信息和内容进行解密处理后可以对其公钥和内容信息进行验证。
本文提出了一种基于区块链的工业物联网数据共享方案,该方案可以很好地解决工业物联网数据共享时的安全性问题和效率问题。该方案能够有效地保护用户数据的隐私,同时提供可靠的第三方对其数据进行访问,从而实现工业物联网中的数据共享。与现有方法相比,该方案不需要预先确定每个节点需要提供哪些隐私信息,且该方案在保证安全性的基础上减少了通信开销,提高了效率,是一种有效解决工业物联网数据安全问题的新方法。