A Blockchain-Based Solution for Enhancing Security and Privacy in Smart Factory
Wan J, Li J, Imran M, et al. A Blockchain-Based Solution for Enhancing Security and Privacy in Smart Factory[J]. IEEE Transactions on Industrial Informatics, 2019.
被引:2次
Abstract
通过IIoT,智能工厂进入了蓬勃发展的时期。但是,随着节点数量和网络规模的扩大,传统的IIoT架构无法再为这样庞大的系统提供有效支持。因此,我们引入了区块链。它是一种用于构建分布式网络的新兴方案,用于重塑传统的IIoT架构。首先,分析了传统IIoT架构的主要问题,总结了现有的改进。其次,我们引入了一个安全和隐私模型来帮助设计基于区块链的架构。在此基础上,我们分解并重新组织原始的IIoT架构,以形成一个新的,多中心,部分分散的架构。然后,我们引入一些相关的安全技术,以改进和优化新架构。之后,我们设计了数据交互过程和架构的算法。最后,我们使用自动生产平台来讨论具体的实现。实验结果表明,与传统架构相比,该架构提供了更好的安全性和隐私保护。因此,所提出的架构代表了原始架构的重大改进,这为IIoT开发提供了新的方向
原因:节点数量和网络规模扩大,传统的IIoT架构无法再为这样庞大的系统提供有效支持。
- 传统IIoT问题和现有改进(Section I)
- 设计基于区块链的架构(Section II)
- 安全与隐私模型(Section III)
- 设计数据交互过程和算法(Section IV)
- 使用自动生产平台具体实施(Section V)
Introduction
随着各种技术的发展,以及大数据,云计算,网络物理系统(CPS)等创新概念的兴起,现代工业已经提升到一个新的水平。因此,以工业物联网(IIoT)为核心,旨在实现智能制造的智能工厂已经出现。通过IIoT,智能工厂中的不同类型的工业设备实现了集群交互,其中数据不再是独立的。通过数据的碰撞和融合,可以促进智能化和网络化制造过程的转型和升级[2] [3]。事实上,当前的行业趋势和举措目的在于利用互联网连接行业中未连接的东西,从而实现第四次工业革命。
得益于各方面的关注和推广,已经有许多成熟的工业物联网平台服务于智能工厂,如西门子MindSphere,施耐德EcoStruxure,GE Predix等[5]。这些工业物联网平台实现了垂直集成,横向集成和端到端集成,打破了设备信息孤岛问题,实现了智能工厂中各种设备的集成。
但是,由于IIoT体系结构的局限性和底层设备的漏洞,大量关键的安全和私有数据非常容易受到攻击。在[6]中展示了在正常物联网环境下攻击数据采集系统的几种情况。另一方面,在[7]中,通过对互联网上各类嵌入式设备的访问,检测和长期监控,发现了大量易受攻击的节点,揭示了设备层面的许多不同漏洞。此外,在[8]中,作者发现恶意软件,恶意脚本等可能很容易潜入应用程序级别的各种设备,这可能会在未经用户许可的情况下侵犯用户的私人数据。这种威胁和攻击不仅会导致敏感数据泄露,还会带来巨大的社会和经济问题,甚至危及国家安全。因此,迫切需要解决当前IIoT架构的安全和隐私缺陷。
2008年,基于区块链技术,Nakamoto提出了一种名为比特币的点对点数字货币系统[9]。直到现在,该系统一直稳定运行。IIoT系统与比特币系统之间存在许多相似之处,例如大量不同的节点,频繁和易变的异构数据交换,高安全性和隐私要求等。因此,将区块链技术应用于IIoT系统,改进底层架构并解决上述缺点是可行的。在[10]中,作者提出了一种基于区块链技术的新的双因素认证方案,以确保数据安全。此外,在[11]中,物联网与开源区块链平台相结合,实现了数据交换,并创建了分布式方法以提高设备级的安全性。基于区块链和智能合约,在[12]中创建了一个名为BPIIoT的点对点IIoT平台,以实现没有可信中介的数据交换。该工作非常具有启发性。讨论和分析了当前IIoT的不足之处,并提出了相应的改进方法。然而,除了高安全性和隐私之外,还需要一个优秀的IIoT架构来提供良好的性能。现有研究有三个主要缺点。首先,区块链技术的引入增加了IIoT架构的传输和计算负担,但是没有深入考虑对工业环境的实时能力的影响。其次,大多数相关研究的范围很小,这意味着没有构建完全独立的系统。最后,由于大多数研究都是基于开源平台,如Multichain,Ethereum,Hyperledger等[13],与第三方平台的高度耦合可能会导致不可预测的问题。
因此,我们的工作中,目标是实现区块链和IIoT的深度结合。这项工作的新颖性如下:1)我们结合区块链技术并引入比特币设计,为智能工厂构建私有化,轻量级,易于扩展和部分分散的IIoT架构;2)引入安全和隐私模型以帮助分析架构的关键方面;3)在严格的分析和论证的基础上,引入白名单机制,非对称加密机制等方法,提高IIoT体系结构的安全性和隐私性;4)我们根据提出的架构实现了一个自动生产平台,并以平台为例讨论具体的防御措施。
本文的结构如下。在第二节中,介绍了基于区块链技术的改进的IIoT体系结构,列举了关键方面,并讨论了IIoT体系结构的相关关键技术。在第三节中,我们引入了一个模型来帮助分析架构的关键方面并指导防御机制设计;在第四节中,给出了详细的流程图来描述数据流,给出了控制数据交互的具体算法,并分析了所提出的体系结构的防御机制。在第五部分中,我们使用更具体的设置转换自动生产平台,并在实践中分析所提出的架构的安全性和隐私性。最后,第五节提供了一个简短的结论和未来的研究方向。
Blockchain-Based IIoT Architecture For Smart Factory
目前,大多数智能工厂都是基于云的制造架构[14]。这样的架构使用户能够随时随地访问共享的制造资源池,并且可以通过最少的工作和第三方交互来实现资源的快速配置和管理[15]。但是,集中式架构非常脆弱。即,只要中心节点损坏,所有服务都将被暂停。因此,我们的目标是建立一个分散的系统,其中节点相互监督。我们提出的用于智能工厂的基于区块链的IIoT架构如图1所示。所提出的架构有五层,传感层,管理中心层,存储层,固件层和应用层。
传感层包括各种类型的传感器和至少一个具有一定计算能力的微计算机,它可以获取关于各种设备的信息,并对所收集的数据进行预处理。一方面,管理中心层解析上传的数据,加密,打包数据以生成块,并将其存储在数据库中。另一方面,管理中心层需要基于生产调度策略来集成和操作不同的设备,并实时响应用户的请求以提供定制的服务。存储层扮演数据中心的角色,保存加密的防篡改数据和区块链记录,这些记录以分布式形式存储并以特定时间间隔同步。为了使传感层,管理中心层和存储层有效互补,我们提出了固件层,它涉及连接每一层的底层实现技术,包括数据采集,分布式算法,数据存储技术等。应用层为用户提供不同类型的服务,如实时监控,故障预测等
传感层:传感器和单片机 收据收集和预处理 管理中心层:计算机 解析传感层数据,加密,存储到数据库,打包数据生成区块 基于生产调度策略集成和操作设备,实时响应用户请求提供定制服务 普通意义上的矿工,PoW的修改版 存储层:管理层计算机的存储设备 保存加密数据,保存区块链数据 固件层:以上三层的底层实现技术 应用层:为用户提供不同类型的服务,如实时监控,故障预测
A. 架构划分
所提出的架构分为内联网和外联网。内联网旨在收集和存储数据,而外联网旨在利用数据为不同用户提供不同的服务
内联网由传感层,管理中心层和存储层组成。由于计算能力的限制,不考虑对等(P2P)网络。每个设备节点的数据需要上传到指定的管理中心并由管理中心管理。每个设备节点都需要从管理中心请求对不同操作的许可。
比特币使用UTXO结构来确保良好的匿名性和安全性。由于私有区块链中成员设备节点的数量和权限受到严格限制,我们直接记录传感器的状态,而不是使用UTXO。此外,考虑到IIoT系统[16]的多样性,复杂性等,传感层配备了微型计算机,如STM32,Raspberry Pi等,以预处理数据,有助于有效降低上层系统的开销。
外联网由管理中心层和应用层组成。内联网和外联网之间的主要区别在于内联网面向设备,而外联网面向用户。因此,外联网需要连接到Internet并考虑连接,算法,工具等来利用数据,并创建合理的访问方式来为用户提供服务。这意味着用户可以根据自己的需求定制各种管理中心,并确保高质量的服务(QOS)。
为了确保数据安全性和隐私性,内联网和外联网都具有白名单和动态认证机制来限制节点。在白名单机制中,白名单通常与黑名单一起使用,决定了访问或拒绝的权利。这种机制可以快速验证访问流量并过滤恶意流量,提供快速方便的安全性和隐私[17]。考虑到架构中的设备节点和用户节点,内联网和外联网中的白名单和黑名单应分别创建。此外,动态验证机制也是保证数据安全性和隐私性的有效方法[18]。设备节点和用户节点获取的权限是有时间限制的。达到时间限制后,需要重新验证权限和工作量证明(PoW)。此外,管理中心层和用户层还提供了自运行算法以生成配对的验证码。用户需要提供验证码在重新验证时维持访问权限。
内联网:工厂内私有网络,由前三层组成,旨在收集数据 设备上传数据到管理中心,并从管理中心请求操作许可 直接记录传感器状态,非UTXO结构
外联网:工厂与互联网连接,由管理中心层和应用层组成,旨在利用数据为不同用户提供不同服务 利用数据的合理方式(算法、工具等),合适的访问方式,定制的管理中心 内外联网都使用白名单和动态认证机制,权限有时间限制,超时重新验证
B. 管理中心层
在区块链系统中,除了交易节点之外,还有一个负责记录块的特殊节点。在提出的架构中,即构成管理中心层的管理中心。
为了保证管理中心是可信任的,必须将共识算法应用于架构,例如工作量证明(PoW),权益证明(PoS),实用拜占庭容错(PBFT)等。通过奖励解决PoW提出的数学问题的节点,比特币系统鼓励记录节点竞争。奖励保证了记录节点的参与,并且数学问题解决带来的计算成本使得恶意操作成本高昂。但是,这种解决方案不仅浪费了大量的计算资源,而且还带来了可扩展性问题[20]。
在IIoT系统中,我们更注重资源的利用和数据交互的效率。此外,与比特币中的不受信任的系统不同,所提出的系统是私有区块链系统,其中所有节点最初都是受信任的。因此,我们放弃了竞争和奖励机制。智能工厂中的每个车间都配备有一个或多个专门的管理中心用于数据管理。然后,**引入统计过程控制(SPC)[21]或其他比较算法来完成PoW。**对于SPC,根据具体设备,我们首先设置特征值,如控制限值,平均值等。然后,对上传数据进行一些统计分析,将其与设定值进行比较,并对交易进行验证。每次生成新的块记录时,PoW应该执行一次。这种设计可以提高架构的容错性,可扩展性和实时性。
我们考虑使用多个管理中心来形成私有云,而不是设置云,这允许用户连接和访问数据。可以认为管理中心相当于智能边缘网关和云的融合,这是边缘计算架构的简化和改进[22]。虽然传感层和管理中心层是集中式LAN系统,但从全球的角度来看,多个管理集线器构成了部分分散的系统。多个分布式节点可以降低单个中央节点的压力,并避免单个中心节点崩溃导致的系统故障。这种设计是区块链技术与实际工业环境相结合的合适解决方案。
C. 私有区块链
我们设计了一个私有的独特区块结构来记录存储层中的数据。如图2所示,该块包含两部分:区块头和区块体。结构化数据存储在区块头中,记录当前块的多个特征值,包括前一个块的哈希值,当前块的时间戳,以及特定算法对收集的数据生成的Merkel根[23]。一般来说,块更像是索引文件。特定设备数据仍然由数据库存储,并且每个节点的访问记录(存储,读取和控制)存储在块中。通过这种设置,每个操作将通过块严格监督,同时可以保持传统数据库的优点。因此,可以跟踪每个节点的各种操作,并且可以高度保护数据交互。
在表1中,给出了区块体中记录的信息的示例,包括请求地址,请求内容,Merkel根和来自管理中心的响应。区块限制了数据记录的数量,这意味着在一定数量的插入之后将生成一个新块。实际上,存储层是管理中心中的物理存储设备,例如SSD,HDD等,其构成分布式存储系统。
为了实现良好的隐私,我们引入了哈希算法和非对称加密算法。对于我们的架构,我们选择SHA256 [24]和椭圆曲线加密(ECC)[25]。通过使用SHA256,我们可以生成Merkle根,它可以有效地压缩数据量以链接每个块。使用加密数据时,用户可以执行相同的哈希计算并比较哈希码以验证数据。**ECC算法用于生成公钥和私钥以加密数据。**数据库中的数据将通过公钥加密为密文。用户应提供私钥以解密加密消息以获得定制服务。这两种算法可以确保良好的数据隐私并防止非法操纵。
Data Security and Privacy Model
我们认为架构需要满足三个主要要求:机密性,完整性和可用性(CIA),这可以称为CIA要求[26]。机密性确保只有授权用户才能阅读该消息;完整性确保不会对收到和发送的消息进行任何更改;可用性意味着每个服务和数据都可用[27]。在本节中,我们考虑将Bell-La Padula(BLP)模型与Biba模型[28]结合起来,以满足CIA要求,以帮助完善我们的架构。基于这两个模型,我们进行了一些简化并引入一些属性: $$ S = {s_1,s_2,s_3,…,s_n} \ O = {o_1,o_2,o_3,…,o_n} \ μ = {M_1,M_2,M_3,…,M_4} \ A = {w,r,c} \ L = {l_1,L_2} $$ S是一组主体。O是一组对象。μ是一组访问矩阵,表示主体对对象的访问权限。A是一组访问属性,其中w代表存储,r代表读取,c代表控制。L表示不同的权限级别,其中w代表存储,r代表读,c代表控制,L代表不同的权限级别,其中l1<l2。在提出的架构中,我们可以轻松地将安全级别与完整性级别相结合,以获得不同主体或对象的权限级别。根据上面的定义,如表2所示,我们设计了一个访问控制列表(ACL):
可以推断,相同级别的主体具有对象的所有权限,高级别主体具有读取和控制对低级别对象的访问权限,而低级别主体对其自身级别以上的对象没有权限。一方面,数据应限制从低级到高级的流动;另一方面,低级别的数据不能被高级别篡改。这两条规则有助于保持良好的CIA要求。此外,我们认为架构中有三个实体:设备节点,管理中心和用户节点。设备节点和管理集线器应属于𝑙2,而用户节点应属于𝑙1。数据可以从设备节点和管理中心流向用户节点;用户节点无权编写或修改数据。但是,设备节点和管理中心彼此具有所有权限,因此可以实现有效的数据交互。
尽管如此,我们还定义了一个公式来确定当前状态是否安全: $$ 𝑉 = 𝑆 \times 𝑂 \times 𝐴 \times 𝜇 \times L $$ 在这个公式中,S*O*A表示主体使用某种方法来访问对象;μ表示接入矩阵;L表示权限级别。一旦所有元素都是安全且可信的,就可以确保安全状态。由于我们已经将架构划分为不同的层次并进行了一些定义,这意味着S*O*A和L已经被严格限制和遵守,μ是应该考虑的最后一个元素。因此,如表3所示,我们设计了一些防御机制来帮助控制访问矩阵。
实际上,从表3可以看出,管理中心扮演着数据传输中介的角色。除了严格的层次结构外,还设置了不同的验证方法,以帮助保持架构的安全。与区块链技术一起,它们不仅可以提供有效的方法来控制各种有助于防止恶意攻击的访问,而且还可以增强架构的安全性和隐私性,形成更加成熟稳定的系统。
设备节点对管理中心:白名单,PoW,动态验证,Merkle根 用户节点对管理中心:白名单,动态验证,非对称加密,Merkle根
Data Interaction Process Design
然而,实质上,所提出的架构源自物联网。因此,在本节中,我们参考[29],以温度采集为例,设计架构中的数据交互过程,以防止可能的攻击和威胁:权限泄漏,DoS或DDoS攻击,网络嗅,对攻击和入侵的妥协。我们给出了具体的数字和算法来描述我们的设计,本节的主要概念在表4中给出。
概念 | 定义 |
---|---|
whitelist[1…a] | Record trusted ID. There are backups in each management hub |
mComputer[1…b] | Record all microcomputers in the system |
mHub[1…c] | Record all management hubs in the system |
requestReceived | Indicate if data arrives |
users[1…d] | Record all users in the system |
time | Record the running time in the system |
所提出的架构应首先实现数据采集,这取决于微型计算机。通常,微计算机可以管理一个或多个传感器并连接到一个管理中心。获取数据后,微型计算机需要注册一个唯一的ID,该ID将被放入连接的管理中心的白名单中。白名单在每个管理中心都有备份。如果一个管理中心崩溃,则连接的微型计算机可以处于待机状态,或者选择更改其网络设置以切换到其他管理中心。流程图如图3所示
在此过程中,我们考虑窃取和滥用节点权限(主要是传感层和管理中心层)的攻击。因此,我们设计了两种防御机制。一方面,在传感层,我们集成了白名单机制,动态验证机制和PoW一致性算法,以防止恶意流量和注入错误数据。另一方面,当创建多中心系统时,在其他管理中心的监督下,可以快速发现,排除和替换被入侵的管理中心。这两种防御机制可以保证底层系统的稳定运行。
设备节点申请存储权限的详细过程如图4所示,可以归结为算法1.通过白名单验证获得权限后,首先将数据放入缓冲池。当达到一定数量的数据时,管理中心将使用内置的比较算法来计算特征值,并将它们与设置值进行比较,通过它们完成PoW。如果满足要求,缓冲池中的数据将被放入数据库中;同时,上传的数据可以直接传输到数据库一段时间,并允许设备节点允许的所有操作;否则,将丢弃缓冲池中收集的数据,并拒绝许可请求。应该注意,所有传输到数据库的数据都需要通过公钥转换为密文。管理中心将为每个权限许可生成区块记录。然后将块记录广播到其他管理中心,这将再次验证块记录并记录它。但是,经过一段时间后,动态验证机制需要重新认证,因此系统需要重复图4中1-6的过程。该流程图是申请存储权限的一个例子,读取和控制请求是一样的。
如上所述,我们在内联网中实现数据交互。如图5所示,外联网交互的流程图类似于内联网的流程图。由于管理中心连接到内联网,Dos攻击或DDoS攻击[30]将非常频繁。因此,为外联网建立了白名单机制,动态验证机制和非对称加密机制。白名单机制和动态验证机制与内联网相同,进行筛选,消除内联网上的恶意流量。另一方面,非对称加密技术是专门为外联网设计,以防止未经授权的访问。该过程归结为算法2
在提出的体系结构中,管理中心也是记录节点。每个块和设备数据在每个管理中心都有一个副本。当块记录达到限制时,具有低开销的管理中心将生成一个块以记录该期间内的所有访问应用。如图6所示,在生成块之后,它将被放置在存储层中并与其他管理中心同步。除了上述防御技术之外,我们还在块记录中引入了双Merkel根来保护数据。第一个应用于块记录中存在的缓冲池中的数据;第二个应用于块头中存在的块体中的数据。这种嵌套保证了数据不被嗅探并且难以实现恶意入侵。
设备节点在管理中心注册 设备节点请求操作,获取权限,进行操作 用户节点注册和用户节点权限管理 数据收集,打包,Merkel防篡改
A Case Study: A Blockchain-Based Automatic Production Platform
在[31]中,提出了一种基于云的制造业大数据解决方案,用于主动预防性维护;在[32]中,讨论了上下文感知云机器人及其应用的研究。实际上,对于IIoT,许多研究人员专注于更高的实时能力,更强的计算能力,更智能的应用程序等,其中很少注意到安全性和隐私性。因此,在本节中,我们将使用区块链技术改造自动生产平台,以讨论IIoT应用程序的安全性和隐私性的改进。
如图7和图8所示,实现了根据所提出的架构的自动生产平台。在平台上设计了四个工业机器人来执行不同的任务。然后,我们设置了两个配备Raspberry Pi 3B的传感层来收集数据,如工作温度,工作时间等。最后,我们建立了两个配备Intel I5平台的管理中心,相关的算法和软件将在管理中心进行编程。之后,收集设备数据并通过传感器发送到Raspberry Pis(传感层)。在某些预处理之后,将数据上传到管理中心(管理中心层)以进行进一步处理(存储层和固件层)。用户通过工作区外的独立计算机访问管理中心,以获得不同的服务(应用层)。
我们考虑在图8中构建的系统。四个工业机器人被分成两组,数据将被不同的Raspberry Pis收集和预处理。收集完成后,将上传所有数据进行进一步处理,通常是故障预测,数据可视化等,用户可以要求所需的服务。如图9所示,我们描述了系统中的数据流。N表示体系结构中的任何节点,箭头方向表示受保护的数据的流向。此设置完成数据的收集和处理,并符合我们上面讨论的安全和隐私模型。
实际上,基于传统IIoT系统的背景,在所提出的系统中没有任何验证机制来始终保持传感器可信任。所有传感器都设计为连接到Raspberry Pi或管理中心,这意味着它们是紧密耦合关系。一旦验证在开始时完成,传感器只需要不断上传数据。此问题与用户节点相同。因此,为了防止恶意操作和无效入侵,设置了不同的防御方法。我们将Raspberry Pis和传感器视为设备节点,与用户节点和管理中心一起构建防御措施,如表5所示。
通常,如表5所示,我们以简洁的方式比较了提出的架构和传统的基于云的IIoT架构。通过区块链技术,我们可以看到所有阶段都已经过考虑。由于加密和可验证,可以确保不同服务的数据具有良好的机密性和完整性;良好的可用性因为恶意流量被消除得以保障。更重要的是,系统仍然保持低开销。
Conclusions
在本文中,我们提出了一种创新的基于区块链的IIoT架构,以帮助构建更安全可靠的IIoT系统。通过分析现有IIoT架构的缺点和区块链技术的优势,我们引入了一种新的IIoT架构,并对所有架构层进行了详细分析。此外,我们引入BLP模型以及Biba模型来理论上设计安全保证。在此基础上,我们描述了所提出的架构的关键技术,流程和防御机制。最后,我们对现有的自动生产平台进行了改造,以讨论与传统IIoT架构相比的改进。它表明,所提出的架构可以极大地提高CIA的要求。因此,所提出的架构可以在未来实现更多的扩展,例如通过智能合约的集成,实现资源的自动配置;通过分布式系统,可以实现所有设备的在线远程升级。