APP下载

云边协同物联网中区块链技术的应用研究

2022-09-19王振明于剑峰鲁方林

物联网技术 2022年9期
关键词:终端设备密文网关

王振明,于剑峰,毛 嘉,鲁方林

(中国科学院上海高等研究院,上海 201210)

0 引 言

物联网终端数据主要来源于工矿、电力、军事等系统中各个环节,随着分布式技术的推广,更多的设备接入到物联网中;同时边缘计算技术在物联网系统中应用也越来越广泛,大量的设备都具有了一定的边缘计算能力,原本很复杂的工矿和电力系统变得更加难以运维管控。从目前情况来看,物联网数据在传输、使用、共享的过程中,依然存在数据丢失、篡改、泄露、共享困难以及数据孤岛现象普遍存在的情况。因此,如何保证物联网系统的数据安全性和可靠性,特别是在战地侦察传感系统、可靠工业系统中促进数据共享互通变得越来越重要。为解决上述问题,在设备上线入网阶段就有必要对设备采取一定的安全措施,比如进行认证,只有通过系统认证的设备才能获得授权,进而与系统进行通信交互和数据的传输。此外,在传输设备数据阶段、存储设备数据阶段、利用设备数据阶段也须进行安全方面的考虑,避免数据泄露、丢失、篡改现象的发生。在系统整体设计上,需要考虑各系统的数据如何安全可靠地共享,打破机构间、组织间、部门间的数据孤岛。

区块链技术借助非对称加密、点对点网络、节点共识算法和时间戳等机制,具有去中心化、不可篡改、可追溯等技术特点,在能源领域获得了极大关注,不同领域的相关研究成果不断涌现。在设备入网认证方面,文献[11]从节点认证、用户身份认证、用户权限管理方面系统阐述了区块链系统认证机制的研究和发展,分析了存在的问题,并进行了总结。文献[12]提出了一种基于区块链的分布式动态网关架构及接入认证机制,将多个网关组成私有链,并使用区块链的共识机制进行主网关的选择,确保主网关的可靠性。终端设备向网关发起认证的过程中使用了门限共享算法来提供认证过程的安全性。对于跨域认证,文献[13]利用云服务器组成联盟链,引入边缘网关作为区块链的客户端并屏蔽物联网底层异构性,利用多CA共识实现多信任域之间的认证。文献[12-13]的主要思想是在设备入网时使用区块链技术完成认证,以此解决大量设备集中认证所带来的通信、效率及安全隐患问题。

在数据安全可信方面,文献[14]提出了一种多链架构的能源数据访问控制方法,通过多数据链实现数据的隔离,通过监管链进行跨链的数据访问、监管、审计和确权,并运用加密技术进行细粒度的访问控制。文献[15]归纳了区块链在数据完整性方面的研究成果,总结了相关成果的优缺点,并提出了研究方向和解决思路。文献[16]基于主链和侧链组成的二级链框架,实现跨域数据存储校验及快速溯源。文献[17]则设计了基于数字签名和区块链技术的数据传输系统来提高智慧电厂控制系统的安全防护能力。文献[18]针对武器装备系统的数据特点,设计了一种基于分类权限的多节点容错共识机制,并对多样冗杂数据进行了验证。

在实现数据共享方面,文献[19]提出了一种基于区块链的军事装备数据共享架构,基于属性加密和智能合约技术解决不同主体间信任问题,实现数据的安全共享。文献[20]针对目前电力数据共享方面的问题和痛点,构建了基于区块链的电力数据共享模型,并列举了若干电力数据共享应用场景。文献[21]借助私有链、联盟链和公有链搭建能源数据的统一监控和共享交易架构模型,实现可靠的数据共享和交易。文献[22]利用联盟链设计了一个电力数据资产的交易平台,促进电力数据有偿共享。

在整体系统方面,文献[23]提出了一种基于联盟链的包括用户、云服务商和云边协同平台三大主体的云边协同业务系统,对认证授权、调度采集、结算监管流程进行设计来解决云边协同主体间资源调度时的可信性等问题。文献[24]提出由不同层次的独立区块链组成的区块链群来解决分布式电力能源系统的管理、调度、运维、维护方面的问题。文献[25]提出了一种武器装备数据的控制平台方案,以以太坊系统为基础架构,通过智能合约实现武器装备全寿命周期的访问、审计及跟踪。文献[26]针对能源互联网数据的共享利用及增值问题,提出了基于边云链协同技术的解决方案并进行了研究展望。

本文主要针对工矿、电力、军事物联网中数据安全性低、易被篡改、难于共享的问题,提出一种基于区块链技术的边云协同物联网系统,将一系列与终端设备相连的网关组成私有链双链,在边缘层实现对终端设备的认证和关键数据上链;进一步地,在云端层建立由云平台组成的联盟链和私有链,并结合跨链技术进行信息的交互访问,数据在机构内可安全地分布式存储,还可以跨机构进行数据共享。通过上述多层轻量级认证、数据上链及云端数据分享平台的引入,可减轻系统集中认证的负担,降低隐私信息泄露的风险,并可有效降低认证中心的建设成本,同时能保障数据的安全可信,基于云端区块链的数据共享有利于打破目前广泛存在的数据孤岛局面。

1 关键技术

1.1 区块链

从数据结构和数据处理的角度来看,区块链表现为基于哈希密码学和Merkel树模型的链式数据结构,借助非对称加密、点对点网络、节点共识算法和时间戳等机制,为参与节点提供可信、不可篡改、透明的分布式账本。在区块链中,区块只有添加操作,没有删除操作;区块与区块之间以链表形式首尾相接,新的区块添加到链表的末尾。每个区块包括区块头和区块体两部分,其中区块头中包括时间戳、Merkel树根值、前一个区块的哈希值;区块体存储数据信息。Merkel树可以方便查询区块链信息。在区块生成时为区块加盖时间戳,随区块链的增长可形成一条时间维度的链条,使得能按照时间维度对数据进行追溯。非对称加密主要用来确保账本内容和交易的安全性、授权及可验证。

1.1.1 共识机制

共识机制是区块链的核心内容,主要用来解决拜占庭将军问题,保障分布式账本数据的一致性和真实性,直接影响到区块链系统的效率、性能及安全。为使得区块链所有节点存储数据时具有相同的状态,当对一个区块链的节点数据进行新增时,所有区块链节点要对新增操作达成共识。典型的拜占庭容错类共识机制包括:PoW(Proof of Work)、权益证明 PoS(Proof of Stake)和授权股份证明 DPoS(Delegated Proof of Stake)、PBFT(Practical Byzantine Fault Tolerance)机制。从效率、资源消耗、适用场景维度对典型共识机制进行了对比,结果见表1所列。由表1可以发现,应用联盟链和私有链时,PBFT共识机制具有更明显的优势。

表1 共识机制对比

1.1.2 智能合约

从狭义上来看,智能合约是由事件驱动的、有状态地运行在区块链账本上的一段程序。智能合约有如下特点:智能合约每次运行,相同的输入都会产生相同的输出;在有限时间内,合约会运行结束;可自我执行和验证;一旦部署运行,不能也不允许修改;合约的执行环境通常为虚拟机或者容器,合约用到的资源会被隔离和限制。以太坊和超级账本是目前相对成熟且比较流行的智能合约平台。

1.1.3 跨链技术

区块链的跨链技术是实现区块链间互联互通的一种非常重要的技术手段。目前除了广泛存在的公有链,组织内部和组织间还有大量的私有链和联盟链存在,为了在日益增长的区块链间有效进行数字资产转移、跨链数据访问和提升区块链交易处理能力,跨链技术应运而生。目前比较主流的跨链技术包括:公证人机制(notary schemes)、侧链/中继(sidechains/relays)、哈希锁定(Hash-locking)。其中,公证人机制是通过选举一个或多个可信节点作为公证人,对一条链的事件进行监听,并通过事件触发在另外一条链上执行某些动作,对事件做出响应;侧链/中继则是在一条区块链上执行智能合约,通过另外一条区块链的加密哈希树和区块头来验证事件是否发生、状态是否改变等。哈希锁定是通过运行智能合约进行资产锁定及时间设置和条件解锁来实现跨链交易的一种方案。在具体应用跨链技术的时候,需要从需求场景、效率、性能、资源消耗、安全性等多个维度进行评估考虑。

1.2 数字签名

数字签名(digital signature)是基于非对称加密的一种安全认证技术,具有完整性(integrity)、不可否认性(nonrepudiation)、可认证性(authentication)。数字签名的原理可概括为:通过特定哈希函数作用于原始的报文信息,从而得到摘要信息,用发送者的私钥对摘要信息进行加密得到密文,将密文和原始报文信息一起发送给接收者。接收者用发送者的公钥解密收到的密文,从而获得解密后的摘要信息;将哈希函数作用于收到的原始报文信息以获得摘要信息,并与解密得到的摘要信息进行比对。如果比对的结果一致,那么说明收到的信息在传输过程中没有被篡改过,信息是完整的,因此使用数字签名技术可验证数据信息的完整性。非对称加密主要包括RSA算法、DSA算法及ECC算法,其中RSA算法应用最为广泛。

2 总体框架

2.1 系统模型

在各相关领域已有研究成果的基础上,本文提出了一种基于区块链的物联网云边协同架构。在边缘层实现终端设备的分布式接入认证,解决集中认证的安全性、可靠性、带宽负载性能等问题,并通过将数字签名密文等信息存储到私有链来提高认证的可信性和安全性;在云端层运用区块链及跨链技术提高价值数据在机构内和机构间进行共享的可靠性和安全性。如图1所示,从左至右分成机构A和机构B各自独立的云边端系统,云边端系统架构分为3个层次,自下而上依次为终端层、边缘层及云端层。这里只提供了最简易的系统模型,对于两个以上的机构组成的云边端系统,本模型也同样适用,并易于扩展。

图1 边云协同物联网系统模型

终端层由各种异构的物联网终端设备组成,终端设备上送的数据按照重要性可以分为两类:关键数据和非关键数据,其中关键数据可以是故障、异常、报警数据等,非关键数据是实时性较高、周期性采集的,如传感器数据。进行数据分类主要是考虑到区块链上只有新增和查询,没有删除和修改操作,将所有数据上链并不现实也没有必要,只选择将关键数据保存至区块链即可,非关键数据保存到本地的数据库,并对其进行定期备份和删除等维护操作。

边缘层由网关组成,各网关之间建立P2P网络连接,并在网关间基于私有链架构组建两条区块链,其中一条区块链用于对终端层的物联网终端设备进行接入认证,另外一条区块链用来保存终端层的物联网终端设备的关键数据。网关的数据按照重要性也可以分为关键数据和非关键数据两类。对于网关而言,由于其具有边缘计算能力,可开展一定的机器学习和数据挖掘工作,并与云端层两者间存在业务、模型等方面的协同,网关上有价值的关键数据相比终端设备来说更为丰富,可以根据实际需要自定义关键数据的种类;非关键数据通常是一些静态数据或者运行时的常态数据。

云端层由云平台组成,机构内的云平台节点间部署基于私有链架构的区块链,用于存储价值数据。为了打破数据壁垒,实现数据共享,在机构间的云平台节点上部署基于联盟链架构的区块链。云端层没有采用区块链技术对接入的网关进行认证,是考虑到云平台通常使用的是公有云方案,而不是企业或机构自行搭建的私有云。公有云在设备接入认证安全方面已经有比较成熟的措施和技术方案,不需要使用方再单独考虑。如果使用的是私有云,那么可以采用与边缘层类似的认证方案,但是私有云通常需要在基础设施上投入较大资金,并需要专业团队自行设计软硬件架构网络等,运维难度大,维护成本高。

2.2 边缘层

本架构模型中,边缘层由网关组成,网关又是私有链的节点。图2展示了网关上的主要架构。物联网终端设备上送的非关键数据直接存储到网关的本地数据库中,而将物联网终端设备上送的关键数据存储到数据私有链上。为满足高频交易的效率和吞吐量要求,网关的私有链采用PBFT共识机制。网关上对设备的认证主要基于区块链和数字签名实现。

图2 网关架构模型

网关认证处理流程如下:

(1)终端设备发起认证,请求中包括原始信息和密文,其中原始信息由设备唯一标识、设备类型、生产厂家编号、设备出厂时间等信息组成;密文则是对原始信息用哈希函数处理得到的摘要信息,再用私钥对摘要信息加密得到。

(2)网关上的注册认证授权模块收到请求后,哈希函数作用于报文中的原始信息获得摘要信息,用公钥对请求中的密文进行解密后获得摘要信息,并将两个摘要信息进行对比。

(3)如果比对结果不一致,返回认证失败,不允许设备接入;如果比对结果一致,则按照设备唯一标识到认证私有链上去搜索。

(4)如果搜索成功且请求上送的摘要信息与私有链上存储的摘要信息相同,则认证成功,允许终端设备接入网关;否则,认为终端首次发起认证,作为注册继续处理,基于PBFT共识机制,认证区块链上新增一个区块,新增区块的区块体中存储设备唯一标识、摘要信息的密文。

对于数据报文,网关上的处理流程如下:

(1)数据报文也包括原始信息和密文,密文则是对原始信息用哈希函数处理得到的摘要信息,接着用私钥对摘要信息加密得到。将哈希函数作用于报文中的原始信息获得摘要信息,用公钥对请求中的密文进行解密后获得摘要信息,并将两个摘要信息进行对比。

(2)若对比结果一致,则根据报文判断。若为非关键数据,那么直接存储到本地数据库中;如果为关键数据,基于PBFT共识机制,数据区块链上新增一个区块,新增区块的区块体中存储关键数据。

(3)若对比结果不一致,则丢弃,并返回终端失败应答。

通过在边缘层应用区块链技术进行终端接入认证,避免了海量终端设备将认证集中发送到云平台所带来的网络带宽消耗、计算资源浪费,降低了云平台的系统压力,避免了大量接入可能导致的服务中断和网络延时,降低了中心化运维的成本。基于区块链技术在边缘层对设备进行认证管理,可以有效解决边缘层网关单点故障问题。终端设备的隐私数据不用上传至云平台,可以降低隐私数据泄露的风险,隐私数据的安全性得到了保证,并且终端设备上送的关键数据可以去中心分布式地存储在多个网关上,且使用区块链可有效防止数据篡改,同时能进行数据的追本溯源,数据安全性和可靠性都提到了极大的提高。

2.3 云端层

由于缺乏顶层设计,工矿、电力、军事相关企业组织在不同发展阶段有着不同的信息化建设目标,不同业务领域涉及到大量不同的业务系统,因此各后台系统多自成体系,通常是彼此独立,以信息孤岛方式存在,数据共享互通的实现难度非常大。为了解决上述问题,在云端层应用区块链技术,不但能解决数据安全问题,防止数据篡改伪造,还可以实现机构内部和机构间的数据共享,使得数据资源得到最大化利用。

图3展示了跨链云平台节点的模型。与非跨链节点相比,跨链节点多了联盟链及对应的跨链访问机制。在组织结构内部的云平台间建立私有链,私有链存储价值数据的原始数据。在不同机构组织的云平台间建立联盟链,联盟链存储价值数据的摘要信息。为了实现联盟链和私有链之间的数据访问,云平台上的跨链节点需要引入跨链技术,目前比较常见的跨链技术包括公证人机制、哈希锁定、侧链/中继、分布式秘钥控制,通过衡量各种跨链技术的优缺点,本文选择公证人机制实现跨链操作。

图3 跨链云平台节点模型

私有链数据来源于云平台上的数据智能处理模块,该模块通过调用数据库接口、消息收发、访问缓存等技术手段获取网关上送的数据,包括已经部署在云平台上的其他已有各类业务系统对外开放的数据,以及来自于云平台之外的其他系统的数据;再通过大数据、人工智能、深度学习、数据挖掘等技术处理源数据,从而获得具有较高价值的数据。为了防止价值数据泄露,须将价值数据加密后再存储到私有链。价值数据上链后,即使少数云平台出现故障也不太可能造成价值数据的丢失,因为区块链具有去中心分布式存储的特点,在其他云平台也存储了价值数据,而且价值数据上链后也有利于在机构内部进行共享,避免在机构内部形成数据孤岛。

为了实现数据安全和访问控制,联盟链区块中不直接存放要共享的价值数据对应的原始数据,而是存放价值数据的摘要信息,摘要信息由价值数据的类别、类型、编号、用途、生成时间、所有者、版本号、与私有链关联数据等信息构成。此外,还需提供联盟链上摘要信息的查询接口,通常数据需求方先通过查询、检索到对应的摘要信息才可感知所需的数据是否在共享系统中存在,查询接口可以方便数据需求方和数据提供方之间进行对接。采用联盟链的优点是节点数量可控,容易达成共识;数据一定程度上只有属于联盟内部的成员所有,访问可控,还可以防止数据被非法篡改和破坏。

数据共享步骤如下:

(1)联盟链成员作为数据需求方,通过查询接口,检索摘要信息中是否有所需数据。

(2)如检索到目标数据,那么发送请求给智能合约,请求中携带目标数据的编号、所有者等信息。

(3)智能合约收到请求后,通过签名对数据需求方进行身份合法性校验;检查通过后,通过公证人机制和跨链机制,从私有链上获取到原始数据密文,并从公证人处获得解密秘钥。

(4)将原始数据密文及解密秘钥返回给数据需求方。

(5)数据需求方用解密秘钥解密密文,获得原始数据。

3 结 语

工矿、电力、军事物联网系统是基于物联网、区块链、大数据、云计算、人工智能等新兴技术构成的复杂系统,在国民生产生活中发挥着至关重要的作用。系统核心价值数据在采集、传输、存储、访问过程中需要具有防篡改、防泄露、可追溯的功能;要抵御对系统的可能攻击,在对数据进行有效防护的同时,还需进行可靠可信的数据共享,发挥数据的应有价值,相关的理论研究和实践具有重要的意义。

本文从区块链核心技术的最新研究成果出发,围绕工矿、电力、军事物联网的终端设备接入认证、数据存储、数据安全、数据共享等关键问题,进行了系统的研究分析,提出了一种基于区块链的物联网云边协同架构。运用私有链、联盟链、数字签名、跨链访问等技术提高工矿、电力、军事物联网系统价值数据的安全性、可信性、可追溯、可共享性。通过模拟实验发现,方案具有一定的实用性和参考意义。不过,从方案的整体来看,在以下方面还需要继续深入研究和改进:

(1)在设备接入认证方面,考虑引入设备的地理位置信息,如使用北斗导航模块获取设备位置并上送,从而预防可能发生的移机攻击。

(2)在数据共享方面,进一步研究在云端使用NFT(Non-Fungible Token)技术,实现相关接口规范,促进数据资产有偿分享和转让。

猜你喜欢

终端设备密文网关
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
视频监视系统新型终端设备接入方案
配电自动化终端设备在电力配网自动化的应用
车站信号系统终端设备整合及解决方案
应对气候变化需要打通“网关”
云存储中支持词频和用户喜好的密文模糊检索
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计