基于动态可扩展区块链的物联网通信体系结构
1 引用
Qiu H., Qiu M., Memmi G., Ming Z., Liu M. (2018) A Dynamic Scalable Blockchain Based Communication Architecture for IoT. In: Qiu M. (eds) Smart Blockchain. SmartBlock 2018. Lecture Notes in Computer Science, vol 11373. Springer, Cham
2 摘要
近年来基于区块链的加密货币技术的发展,使人们在日常生活中的许多应用程序具有了较高的信任度和安全性。传统的区块链体系结构可以为金融服务提供分布式的、可信的系统,保证了系统的持久性、匿名性和可审核性。物联网(IoT)作为下一个有前途的智能系统,具有类似于区块链的分散拓扑结构。然而,在物联网系统中部署区块链在很多方面仍然是不现实的。本文首先指出了在物联网系统中部署区块链拓扑存在的实际障碍。提出了一种基于区块链的动态信任系统,为物联网网络提供了一种动态的、可扩展的通信体系结构。并以案例研究的方式进一步探讨了安全问题,为今后的研究提供了方向。
3 介绍
区块链已经成为构建信用体系的重要技术。区块链最初是在2008年作为一种名为比特币的加密货币的技术基础引入的,自那以后,被广泛用于其他加密货币。作为各种加密货币的核心技术,区块链建立在一个分布式的数字账本上,该账本由对等网络中的所有参与实体拥有。分布式是通过部署所有参与实体来验证和确认新事务来实现的。一旦验证、确认和记录,事务数据就不能在不更改所有后续块的情况下进行回溯性更改,这需要得到网络大多数人的一致同意。在比特币的实现中,所有有效的交易记录都被哈希并编码到Merkle tree中。然后将成批的有效事务形成块。每个块包含连接两个相邻块的前一个块的哈希结果链接的块形成一个链,称为区块链。构建区块链的过程是在现有区块链的基础上不断添加新的块,即挖矿。挖矿的基本操作是解决一个数学难题(POW),这个难题很难解决,但是很容易验证。为了解决这个难题,参与实体必须提供巨大的计算资源,这限制了可以挖掘的块的数量。此外,该机制还可以进一步避免恶意挖掘块。区块链中常用的谜题通常是或证明赌注(PoS)。POW需要较高的计算资源,它被部署在比特币协议中,用来查找具有特定哈希结果的特定值。POS将消耗计算资源和内存资源。实体之间交换的所有消息都使用可更改的公钥进行加密,从而避免了窃听。
虽然区块链可以用于许多著名的加密货币,如比特币,但还有其他潜在的应用程序可以将区块链部署为基础技术。由于构建区块链可以在没有任何可信中介的情况下完成支付,因此开发了许多金融服务,如数字资产、汇款和智能合同。事实上,区块链正在成为设计下一代通信和交互系统(如物联网)最有前途的技术之一。
随着智能设备的快速发展和无线网络带宽的不断提高,物联网的概念正在被广泛接受和普及。如今,它代表着一个网络,在这个网络中,智能事物与传感器和天线相连。作为一个高度动态的网络,物联网始终具有允许节点连接和离开网络的可伸缩性。事实上,物联网范式代表了一个连接设备和异构网络的集合,它也继承了计算机网络的传统安全和隐私问题。然而,与传统计算机不同的是,物联网设备通常具有有限的资源,如有限的电源、计算能力和存储空间。这就导致了传统的基于区块链的计算机网络安全方案难以在物联网网络中实现。
物联网网络的一个问题是设备的身份管理。由于物联网设备在连接生命周期、服务需求、信任等级等方面的连接属性非常不同,因此很难分配一个能够普遍识别事物的ID并维护该ID方案。事实上,区块链架构可以作为进一步构建物联网安全和隐私的基础。最基本的设计可以是将每个物联网节点部署为区块链的参与实体,进一步为物联网应用构建可信的数字账本。本文首先指出了在物联网中构建区块链的障碍。在此基础上,提出了一种基于标记网络拓扑结构的物联网ID管理系统设计方案,提出了一种基于区块链协议的物联网ID管理解决方案。提出了一种基于动态可伸缩区块链的物联网通信体系结构。
3 研究背景
3.1 物联网安全问题实例
如图1所示,物联网网络是由许多不同硬件配置的异构数字设备组成,这些设备都依赖于通信中间层进行连接。许多物联网设备都配备了数据采集和传输的两个基本要素。智能手机等一些设备也配备了强大的计算芯片,可以处理收集到的数据。
正如前面所指出的,物联网虽然继承了传统的计算机网络,同时也继承了安全与隐私问题,但传统的对策难以继承。究其原因,不仅在于硬件配置完全不同的异构设备,还在于物联网概念中的动态通信。图1中给出了一个例子,其中有具有静态和动态链接的设备,也有总是脱机或经常连接和离开网络的设备。在这种情况下,攻击者更容易操纵具有假id的受攻击节点来加入通信环境。与传统的动态网络相比,物联网中的id管理更加困难。中列出了对安全威胁的回顾。其中一个威胁是物联网的认证和安全通信。如图1所示,物联网网络中的任何设备在进行通信之前都必须经过身份验证。然而,在实际的实现中,由于硬件资源的限制,必须将安全机制的开销降到最低,以考虑将进一步导致安全漏洞的效率问题。
3.2 可伸缩区块链节点
如前面所述,区块链的基础是所有的交易记录都在之前的块中进行验证和确认,避免了恶意和异常的操作。这种机制将要求区块链网络中的所有参与维护,更重要的是,存储经过验证和确认的事务记录。事实上,一旦一个新的实体加入区块链网络,下载所有历史块是必要的。然而,这一特性成为在物联网网络中部署区块链架构的障碍。大多数设备的计算和存储都受到限制,物联网节点之间的连接链接总是动态的,这意味着维护或下载历史块都是不切实际的。
幸运的是,在比特币协议中有一些针对区块链节点的新设计,称为全节点和轻量级节点。轻量级节点只下载块头来验证事务的真实性,而不是验证所有的历史块。然后,轻量级节点由完整的节点提供,以连接到区块链网络,它们很容易维护和运行,不需要太多开销。然而,轻量级节点的大规模部署可能会导致物联网中的隐私问题。由于轻量级节点由完整节点提供服务,恶意用户持有完整节点会损害轻量级节点事务的隐私。此外,作为物联网的动态连接,一旦一个完整的节点离开网络,相应的轻量级节点将无法享受到区块链网络。一项工作提出了一种基于智能家居设置的物联网架构。本设计符合智能家居场景的拓扑结构,假设每个家庭都有个人电脑,可以看作是每个智能家居中物联网子网络的连接核心。
4 系统设计
首先,我们将所有物联网设备视为区块链网络中的节点。然后为每个物联网设备分配一个唯一的ID,该ID也将与区块链钱包ID相关联。通过这种设计,所有有效的ID都可以在物联网网络中轻松验证,而虚假ID则很难建立。
为了避免现有区块链拓扑结构的计算量或存储量过大,需要使用不同的物联网设备配置定义不同的节点。在本文中,我们为物联网设备定义了三个区块链标签:轻量级节点、全节点和协调节点。然后根据连接寿命和硬件配置分配不同的标签对所有设备进行分类。轻量级节点标签对应于计算能力低或连接寿命短的物联网设备。全节点标签要求物联网设备始终保持与物联网网络的连接,具有足够的计算能力和存储空间。将协调节点标签分配给连接寿命长、计算能力低的设备。
例如,图2所示的监控摄像头是一个连接寿命长、硬件容量低的设备,它将被分配一个协调节点。然后,动态连接和离开这个物联网网络的设备被分配了轻量级节点标签,允许它们参与这个区块链系统,而不需要全节点的开销。将分散的区块链拓扑结构与身份验证和记录相结合,可以建立物联网ID管理系统。该系统可以提高物联网网络的安全性,减少恶意行为。对于任何伪造身份的攻击者来说,持续维护与物联网网络的连接将变得越来越困难,因为频繁地伪造不同的身份变得越来越困难和昂贵。此外,考虑到物联网设备硬件配置的困难,一方面可以实现实际的实现,另一方面可以进一步构建不同层次的信任系统来管理不同设备的连接。
5 简要的案例研究
一旦一个新的传感器节点想要加入这个区块链网络,第一件事就是用它的标签向协调节点发送一个请求。如果它是一个完整的节点,那么在它获得访问权限之前,需要进行高级安全验证。如果它是一个轻量级节点,协调节点将分发一个完整的节点来为这个新来者服务。但是,在验证真实id之前,新来者将无法获得有效的id进行通信。一旦一个完整的节点离线,协调节点就会将新的完整节点分发给轻量级节点来维护连接。
在这部分中,我们假设物联网网络中存在恶意用户的威胁模式,该用户可能通过破解或伪造节点ID来操纵一个物联网节点,从而试图访问物联网网络。对于第一种情况,攻击者可能会破坏和控制网络中的一个物联网节点。许多恶意行为可能会被物联网网络中的其他节点报告。在这种情况下,受影响节点的ID将被标记并记录在区块链系统中的以下块中。在接下来的时间段内,更高的安全验证要求和更低的信任级别将相应地进行修改。因此,攻击者以后再对同一节点进行攻击将更加困难。
在另一种情况下,攻击者使用伪造的ID连接到物联网网络,如果伪造的ID属于仍处于活动状态的物联网节点,则控制器节点上的验证过程将拒绝连接,从而将攻击者拒之门外。即使攻击者成功地连接到物联网网络,该报告将使伪造的ID被标记为易受攻击,并从该物联网网络中屏蔽。如果ID管理系统是有效的,攻击者将不得不频繁地更改伪造的ID来维护连接。因此,随着伪造id成本的增加,将会达到更高的安全级别。
6 讨论及下一步工作
使用基于区块链的物联网网络,我们可以记录与该物联网设备相关的所有事务,并存储在本地。这些信息对于安全目的非常有用。例如,一旦攻击者想要伪造一个id来加入物联网网络,必须首先分配标签。如果攻击者假装是一个完整的节点,那么高级安全验证将发现他或使攻击非常昂贵。或者,如果攻击者只是想假装成轻量级节点,这也很难,因为所有的历史记录都被记录了,而且每次攻击时攻击者必须再次伪造所有内容。然而,未来仍有许多工作要做,即为轻量级节点定义协调和交换协议。此外,其他情况,如不能信任完整节点,必须考虑。基于区块链拓扑的物联网进一步的设计不仅要管理ID,还要保护物联网网络中交换的信息。例如,必须设计数据共享和验证协议来进一步保证物联网网络的安全。由于物联网设备的硬件配置差异很大,统一的简单加密算法难以实现,因此认证和验证对关节点数据共享的安全性至关重要。轻量级加密方法也应该作为一些特定用例的安全补充方法引入。此外,未来还需要做更多的工作来测试系统性能和在实际物联网环境中部署这种架构的实际可能性。