英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料
物联网中的区块链:挑战和解决方案
Ali Dorri, Salil S. Kanhere, and Raja Jurdak
摘要
物联网(IoT)的研究和行业正在经历指数级增长, 但它仍然受到隐私和安全漏洞的困扰。常规的安全和隐私的方法往往不适用于物联网,主要是由于其分散的拓扑结构和大多数设备的资源约束。支持加密货币的区块链(BC),比特币最近被用于提供安全性和与物联网拓扑结构相似的点对点网络的隐私。然而,比特币在计算上非常昂贵,涉及高带宽开销和延迟,不适合物联网设备。这份意见书提出一种安全、隐私、轻量级的物联网新架构,该架构基于BC技术,消除了BC技术的开销,同时保持其大部分的安全性和隐私。本文在智能家居应用中对所述方法进行了研究,并将其作为更广泛的物联网应用的典型案例研究。该架构是分层的,由智能家居、覆盖网络和云存储组成,与区块链协调数据交易,以提供隐私和安全。我们的设计根据事务发生在网络层次结构中的位置使用不同类型的区块链,并使用分布式信任方法来确保分散式拓扑。在常见威胁模型下对该体系结构进行定性评估,突出了其在为物联网应用提供安全和隐私方面的有效性。
介绍
物联网代表了本世纪最重要的颠覆性技术之一。 这是(计算机的)互联网向嵌入式和网络物理系统的自然演变,这些“东西”虽然显然不是计算机本身,但它们内部却有计算机。 有了廉价的传感器和相互连接的东西组成的网络,关于我们的世界和环境的信息收集可以以更高的粒度实现。 事实上,这些详细的知识将提高效率,并在广泛的应用领域提供先进的服务,包括普及医疗保健和智慧城市服务。 然而,在人们的私人生活中,数据的收集、处理和传播越来越不可见、越来越密集、越来越普遍,引发了严重的安全和隐私问题。[1]一方面,这些数据可以用来提供一系列复杂和个性化的服务,为用户提供效用。 另一方面,嵌入在这些数据中的信息可以用算法构建我们活动的虚拟传记,揭示私人行为和生活方式模式。
由于市场上许多第一代物联网产品缺乏基本的安全保障措施,物联网的隐私风险进一步加剧。 从智能锁[2]到汽车[3],联网设备中已经发现了大量安全漏洞。 物联网的几个固有特征放大了它的安全和隐私挑战,包括:缺乏中央控制、设备资源的异构性、多重攻击面、风险的上下文感知和情境性质以及规模。
自然,物联网的安全和隐私在研究界受到了大量关注。 其中[4],提出了一种分布式的基于能力的访问控制方法来控制对敏感信息的访问。 然而,他们提出的方法引入了过多的延迟和开销,并可能危及用户隐私。 作者使用了[5]IPsec和TLS来提供身份验证和隐私,但这些方法的计算成本很高,因此可能不适用于许多资源有限的物联网设备。 提出了一种隐私管理方法,该方法可以度量数据泄露给他人的风险,然而,在许多情况下,[6]物联网服务的感知利益大于隐私丢失的风险。 因此,在不牺牲用户隐私的情况下,需要有隐私意识的物联网数据共享。 综上所述,这些以及之前的其他几项工作还没有全面解决上述在确保物联网安全和隐私方面的挑战。
在本文中,我们认为,答案可能在于突显新兴加密货币的基本技术。 比特币[7]是世界上第一个去中心化的数字货币,于2008年推出。 比特币是由一个由用户机器组成的点对点计算机网络支撑的,类似于BitTorrent。 此外,还使用一个可变的公钥(PK)作为用户的身份1,以提供匿名和隐私。 比特币背后的主要技术被称为区块链(BC),这是一个由点对点参与者组成的网络保护的不可变的公共数据记录。 区块链正在迅速普及,并被用于许多其他应用,包括智能合约、分布式云存储和数字资产。 区块链由链接在一起的块组成,就像一个分类帐。 点对点网络中的任何节点都可以选择成为一个矿工,这个实体通过解决一个称为工作证明(Proof Of Work, POW)[8]的资源密集型加密难题,并向区块链添加新块,负责挖掘区块链的块。 当一个新的事务发生时,它被广播到整个网络。 所有接收到事务的矿工都通过验证事务中包含的签名来验证事务。 每个矿机将验证过的事务追加到自己等待挖掘的事务块中。 区块链的健壮性是由多个矿工处理单个事务的事实所保证的。 然而,健壮性是有代价的,因为多个矿商不得不花费他们的资源来挖掘相同的交易,这反过来也增加了延迟。区块链的以下显著特点使其成为解决上述物联网安全与隐私挑战的有吸引力的技术:
- 去中心化:缺乏集中控制,通过使用所有参与节点的资源,消除多对一的流量流,保证了可扩展性和鲁棒性,从而减少了延迟,克服了单点故障的问题。
- 匿名性:所提供的固有匿名性非常适合大多数必须保持用户身份隐私的物联网使用情况。
- 安全性:区块链实现了不可信方的安全网络,这在具有众多异构设备的物联网中是理想的。
然而,在物联网中采用区块链并非易事,需要解决以下关键挑战:
- 挖掘是特别计算密集型的,而大多数物联网设备都是资源受限的。
- 挖掘块非常耗时,而在大多数物联网应用程序中,低延迟是理想的。
- 随着网络中节点数量的增加,区块链的可伸缩性很差。 物联网网络预计将包含大量节点。
- 底层区块链协议会产生大量的开销流量,这对于某些带宽受限的物联网设备来说可能是不可取的。
本文的主要贡献是介绍了一种基于区块链的物联网架构,该架构提供了轻量级和分散的安全性和隐私。该架构保留了区块链的优点,同时克服了前面提到的将区块链集成到物联网中的挑战。 为了举例说明我们的想法,我们在本文的其余部分使用了一个智能家居的说明性示例。 然而,我们提出的体系结构是与应用无关的,非常适合各种物联网用例。
基于块的物联网体系结构
我们考虑一个典型的智能家居设置,其中用户Alice为她的家配备了许多物联网设备,包括智能恒温器、智能灯泡、IP摄像头和其他几个传感器。 图1所示的拟议架构包括三层,即智能家居(或更普遍的本地网络)、覆盖网络和云存储。
我们考虑数据存储和访问用例:Alice应该能够从她的智能家里访问数据,例如远程访问她卧室的当前温度。 此外,智能设备应该能够存储数据,供第三方(如智能恒温器供应商)使用,以利用某些服务。
在讨论所提议的体系结构的细节之前,我们先简要介绍网络层:
智能家居:智能家居由以下三部分组成:
- 设备:位于家中的所有智能设备。
- 本地区块链:一个安全的私有区块链,由一个(或多个)支持资源的设备挖掘和存储,并且始终在线。智能家庭
图一、拟议架构概述
电脑就是一个例子。 不同于比特币区块链的管理是分散的,本地区块链是由其所有者集中管理的。 所有与特定设备相关的事务都被链接在一起。 所有者负责通过创建一个开始的交易来添加新设备,这类似于创建一个新的比特币。 所有者还可以通过删除现有设备的分类帐来删除该设备。 本地区块链有一个策略头,它是一个访问控制列表,允许所有者控制在其家中发生的所有事务。 只有在所有者允许设备之间进行通信时,设备才能通过基于广义Diffie-Hellman算法[9]的共享密钥进行通信。 虽然区块链中的所有块都有一个策略头,但最新的一个放在最后一个块的头中,用于检查和更改策略。 和比特币一样,交易被分组并以区块为单位进行挖掘。 然而,与比特币不同的是,每个区块都是在没有工作证明或其他谜题的情况下被挖掘和添加到区块链的,以减少相关的开销。 矿机添加一个指向前一个块的指针,将前一个块头中的策略复制到新块,并将该块链接到区块链。 与比特币的另一个区别是,当一个交易被添加到一个区块时,它被视为一个真正的交易,无论该区块是否被开采。
- 本地存储:在每个家庭中,可能有一个可选的本地存储,用于本地存储数据,如图1所示的智能家庭。 这可能是本地备份驱动器。
除了这些部分之外,每个家庭的矿机还有一个公钥列表,用于授予其他人访问智能家庭数据的权限。
覆盖网络
覆盖网络类似于比特币中的点对点网络。 组成节点可以是智能家庭矿工、家庭中的其他高资源设备或用户的智能手机或个人计算机。 每个节点使用Tor[10]连接到覆盖网络,在ip层提供额外的匿名性。 一个特定的用户在覆盖网络中可能有多个节点。 为了减少网络开销和延迟,将覆盖网络中的节点分组成簇,每个簇选择一个簇首(cluster Head, CH)。 如果遇到过多的延迟,每个节点都可以自由地更改其集群。 此外,集群中的节点可以在任何时候选择一个新的簇首。 每个簇首维护以下三个列表:
- 请求者的公钥:允许访问连接到该集群的智能家庭数据的公钥列表。
- 被请求者的公钥:连接到该集群的被允许访问的智能家庭的公钥列表
- 转发列表:向网络中其他簇首发送的交易列表。
覆盖区块链由覆盖网络中的所有簇首保存,其中包含由云存储和访问事务。 与比特币挖矿不同,每个簇首独立决定是否保留或丢弃一个新块,这是基于它与接收到的交易参与者的通信。 例如,在图1中,簇首1有块1、块 2、块 4和块 6,而簇首4有块1、块 3、块 6和块8。 由于不需要协调区块链,因此降低了同步开销。 然而,在某些情况下,发现一个特定的块或事务的代价是更高的延迟。 如果用户有多个家,并希望将它们管理在一起,则可以形成一个由多个家中的高资源设备组成的共享覆盖,如图1中的红色云图所示。 为这个共享覆盖选择了一个公共的矿机和共享存储。 在覆盖区块链中,每个设备都有一个启动事务链接到它的的启动事务。 这导致了共享区块链分叉,这与比特币区块链的不同,在比特币区块链中,分叉是不允许的,因为它的双重消费影响。 当存在共享覆盖时,组成家园的高资源设备维护一个包含最后一个事务的块号和数据散列的表。
云存储
在某些情况下,智能家居中的设备(如智能恒温器)可能希望将其数据存储在云存储中,以便第三方服务提供商(SP)可以访问存储的数据并提供某些智能服务(如智能温度调节)。 云存储将用户的数据分组在与唯一块号相关联的相同块中。 存储数据的块号和哈希值供用户进行认证。 如果存储能够成功地找到具有给定块号和哈希值的数据,那么用户就被验证了。 接收到的用户数据包按照先进先出的顺序分块存储,存储数据的哈希值如图1右下角所示。 存储数据后,使用由广义Diffie-Hellman算法派生的共享密钥对newblock-number进行加密。 这确保了拥有密钥的人是唯一知道块号的人。 由于哈希是抗碰撞的,而且只有真正的用户知道块号,我们可以保证除了真正的用户之外,没有人可以访问她的数据,也可以将新数据链到现有的分类账上。 值得注意的是,每个用户既可以在存储中为每个设备创建不同的数据分类账,也可以为所有设备创建单个公共分类账。 如果用户希望向第三方提供商提供对特定设备的所有数据的访问,则前者特别有用。
事务处理
在讨论了基于区块链的物联网安全和隐私体系结构的一般拓扑之后,我们现在关注如何处理事务。
储存
根据定义的策略,每个设备可以将数据存储在本地、共享或云存储中。 例如,智能恒温器通常将数据存储在云存储中,供第三方提供商实现某些智能服务使用。 让我们假设Alice在云存储设施中创建了一个帐户,并为她的恒温器设置了向该设施上传数据的权限。 在引导过程中,云存储返回一个指向第一个数据块的指针。 当智能恒温器需要在云存储中存储数据时,它会将数据发送给矿机。 在检查权限并提取之前的块号和哈希之后,矿机创建一个随机ID,并将数据发送到该ID的存储,如图2a所示。 假设在任何给定时间,两个节点都不能有相同的ID。 存储检查事务的有效性,并确认云存储中有可用空间。 如果是,则计算接收到的数据包的哈希值,并将其与接收到的哈希值进行比较。 如果这两个哈希值匹配,那么数据包将存储在存储器中,新的块号将用共享密钥加密,并发送给矿机。 接下来,数据的签名哈希由存储器签名,并发送到覆盖网络,以便在覆盖区块链中挖掘。 这确保用户数据中的任何更改对所有人都是可见的。
请回想一下,共享存储是由房主管理的本地存储,是受信任的。 因此,不需要记帐,因此在存储操作期间也不需要矿工发送当前数据的哈希值。 此外,不需要存储将数据散列发送到覆盖网络。 所有其他进程与云存储相同。
对于本地存储,步骤是类似的,唯一的区别是不需要使用id,因为所有通信都在智能家居的本地执行。
访问
第三方服务提供商可能需要访问特定时间段(例如过去24小时)内存储的数据或特定设备的整个数据链,以实现某些服务。 为了访问信息,第三方服务提供商创建并签署一个多重签名交易,该交易需要由请求者(第三方服务提供商)和被请求者(智能家居的矿工)签署,并将其发送给自己的簇首。簇首检查两个公钥列表。 如果多重签名事务的请求者在簇首请求者的公钥列表中,或者它的被请求者在它的被请求者的公钥列表中,那么它将事务广播到它自己的集群中。 否则,将交易广播给其他簇首,并将请求者的公钥提交到转发列表中。 当智能家居的矿工接收到一个多重签名事务时,它必须在她的本地区块链中检查策略,以验证第三方服务提供商是否有访问数据的权限,这应该是由用户之前授予的。
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[591421],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。