Bubbles of Trust:a decentralized Blockchain-based authentication system for IoT
Author:Mohamed Tahar Hammi, Badis Hammi, Patrick Bellot, Ahmed Serhrouchni
Published in: Computers & Security(2018.6)
SCI期刊分区:3区
Abstract
我们使用的许多东西都配备了电子设备和协议,以使它们互连和连接到互联网。在物联网中,事物处理和交换数据而无需人为干预。因此,由于这种完全自治,这些实体需要相互识别和认证,并确保其交换数据的完整性。否则,它们将成为恶意用户和恶意使用的目标。由于物联网的规模和其他特性,几乎不可能创建有效的集中式身份验证系统。为了弥补这一限制,在本文中,我们提出了一种称为bubbles of trust的分布式系统确保设备的可靠识别和认证。此外,它还可以保护数据的完整性和可用性。为了实现这一目标,我们的方法依赖于区块链提供的安全优势,并用于创建安全的虚拟区域(bubbles),在这些区域内,事物可以相互识别和信任。我们还使用C ++语言和以太坊区块链提供了我们机制的真实实现。所得结果证明了其满足物联网安全要求,效率和低成本的能力。
Introduction and problem statement
前三段讲如今物联网和我们的生活息息相关,并且用在很多领域。
物联网及其不同应用背后的理念是各种各样的事物无处不在,它们能够相互交流和合作,以提供广泛的服务。因此,将包括大量设备。因此每个物理或虚拟设备都应是可达的,并产生可以由用户检索的内容,而不管其位置如何。但是,只有经过身份验证和授权的用户才能使用该系统,这一点非常重要。否则,它将容易出现许多安全风险,例如信息窃取,数据更改和身份篡改。实际上,安全问题仍然是物联网大规模采用和部署的主要障碍,因为它极易受到攻击,原因有很多:(1)大多数通信都是无线的,这使得系统更容易受到攻击如身份欺骗,消息窃听,消息篡改和其他安全问题,以及(2)多种类型的设备在能量,内存和处理能力方面的资源有限,这阻碍了它们实施高级安全解决方案。
许多研究人员将IoT定义为system-of-systems,其中多个用例场景要求只有受信任的用户才能使用提供的服务。因此,诸如认证,机密性和数据完整性之类的传统安全要求对于这些生态系统的每个部分都是至关重要的,包括事物,网络和软件应用程序。但是,由于设备资源的局限性和异构性,现有的安全解决方案并未完全适应这种生态系统。此外,通常需要多种安全技术和解决方案的组合,这导致了高花费。更多的,有效的安全解决方案通常是中心化的,如Public Key Infrastructure(PKI),它可能在由数千个节点组成的环境中引起巨大的可伸缩性问题。最后,每个用例都应用不同的安全方法,体系结构和部署,这会在新服务和方案的集成中造成多个困难。因此,有必要为整个系统系统提出新的安全解决方案。后者必须:(1)允许轻松集成新设备和新服务;(2)完全适应物联网的要求和需求;(3)不依赖于设备的类型,也不依赖于用例架构和设计
我们相信,区块链代表了一种非常有前途的技术,可以满足物联网环境中的安全要求。在这项工作中,我们提出了一种称为bubbles of trust的高效分布式认证机制。该机制在以太坊上实施,旨在创建安全的虚拟区域,设备可以安全地进行通信。其评估显示了其满足物联网安全要求的能力。此外,我们还对可构成物联网生态系统的不同类型设备的计算和能源影响以及财务成本进行了广泛的研究。最后,将这些成本与一些现有的物联网认证方案进行比较。
第二节介绍了区块链
第三节分析安全要求并介绍我们的威胁模型。
第四节描述了将区块链和物联网结合的现有工作。
第五节描述了我们基于区块链的方法。
第六节讨论和分析我们的评估活动。
第七节描述了方法的公开问题。
第八节总结了论文并介绍了我们未来的工作。
Background
介绍区块链及其中的一些重要概念,略过。
Security Requirements and threat model
A. 安全需求
物联网计划必须满足众多安全要求,以确保生态系统的可持续性和弹性。因此,在本节中,我们将描述主要的安全目标,并介绍评估认证方案是否适合保护物联网用例所需的标准。
完整性:完整性是每个方案都必须保证的一个关键需求,本文将完整性分为两方面
- 消息(交易/通信)完整性:在网络传输过程中,不得更改或修改交换的消息。
- 数据完整性:涉及在数据的整个生命周期内保持其一致性和可信赖性。因此,只有授权用户才能修改存储的数据。
可用性:可用性意味着合法用户必须可以按需访问资源。因此,系统必须能够抵御拒绝服务攻击,特别是那些以身份验证服务为目标的攻击
可扩展性:可扩展性代表着系统规模对其性能没有影响。
不可否认性:它指的是确保实体不能拒绝执行特定操作的能力,例如:设备不能拒绝发送消息。
识别:识别代表了大多数物联网用例的主要要求。它代表了确保任何实体都可以在确保对所有系统实体匿名的情况下使用系统的匿名性的反面。例如,在智能停车场景中,当停车位的传感器发送通知时,管理系统必须确切地知道哪个传感器正在通信,以便准确地更新停车位的状态。另一个例子是环境监测,其中传感器监测湖泊的水位。当该传感器向监控平台发送信息时,后者必须确切知道哪个传感器正在通信,以便决定要提供的操作。
相互认证:认证是证明身份的机制。相互认证表示两个通信方相互认证的要求。这个要求是使系统免受欺骗的必要条件。
B. 威胁模型
网络模型:身份验证方案的总体目的是允许多个节点通过非可信网络以可信赖的方式进行通信。在这项工作中,我们考虑一个在集中式或分布式架构中提供和使用不同物联网服务的网络。每个IoT设备都和大量其它设备通信。交换的消息通过不可靠且可能有损失的通信网络,例如Internet。我们还假设所有参与者都不可信任。实际上,网络中的大量智能物品会增加风险。此外,现有设备是异构类型的,并且不属于相同的用例。网络功能仅包括转发数据包,不提供任何安全保证,如完整性或身份验证。因此,恶意用户可以读取,修改,丢弃或注入网络消息。
攻击者模型:我们假设攻击者或恶意用户可以完全控制使用过的网络,即他可以选择性地嗅探,丢弃,重放,重新排序,注入,延迟和修改消息,延迟可以忽略不计。但是,设备可以接收未经更改的消息。尽管如此,没有对改变的消息的速率做出假设。此外,攻击者可以从比实现的设备更大的计算能力和存储中受益。
不考虑对设备的物理攻击,及属主拥有对设备的完全控制权,不可能让攻击者在现实里碰到设备。
攻击:攻击者可以有多个目标,例如发送错误的信息以误导系统的决策或拒绝系统的服务。因此,它可以进行多次攻击
- Sybil attack
- spoofing attack:与sybil攻击相反,攻击者试图创建大量虚假或虚拟身份,在欺骗攻击中,攻击者试图欺骗合法用户的身份以利用其权限。
- message substitution:在替换攻击中,攻击者在传输过程中截获有效消息,对其进行更改,使伪造消息就好像它们是由原始发件人发送的一样。
- Denial of Service
- Message Replay Attack:重放
本文方案的考虑的主要安全需求和攻击如下表1
评估标准 | 结果 |
---|---|
相互认证 | √ |
数据完整性 | √ |
通信消息完整性 | √ |
可用性 | √ |
可扩展性 | √ |
不可否认性 | √ |
匿名 | X |
机密性 | X |
Sybil保护 | √ |
spoofing保护 | √ |
消息替换保护 | √ |
重放保护 | √ |
消息删除保护 | X |
认证机制的DoS/DDoS保护 | √ |
服务的DoS/DDoS保护 | X |
Related Works
很多人试图把区块链和物联网结合,但只有少数人关注如何使用区块链满足物联网的安全需求。
总结了很多文章,最后还列了一张表,是讲很多人的方案用公链的安全机制,这样每个人都可以加入,包括恶意节点,没有认证机制。而且不少人的方案只是理论,没有实现,连个仿真实现都没有。
Proposed Approach
方案的主要目标是在物联网环境中创建一个安全的虚拟区域,每个设备都只和本信任域的设备通信,并认为其它设备是恶意的。这个信任域叫bubbles of trust。方案使用公链,因为私链用户是预定义的,可扩展性和灵活性都不如公链。
系统中的通信作为链中交易,需要验证。一个设备的完整过程如下所述。
A. 初始化阶段
我们的方法可以应用于大量的物联网用例,不需要特殊的硬件。但是,它需要一个初始化阶段。初始化阶段中,一个设备被设计为bubble的Master(它拥有私钥/公钥对),可以认为它类似于证书颁发机构。任何给定的设备都可以是Master。此外,bubble中除Master之外的其它设备称为Follower。每个Follower生成椭圆曲线(EC)私钥/公钥对。然后,每个Follower由一个名为ticket的结构识别,该结构表示64字节的轻量级证书,其中包含:(1)groupID(grpID),表示设备所属bubble,(2)objectID(objID),代表bubble中的Follower标识符,(3)pubAddr,代表Follower的公共地址。它代表了Follower公钥的Keccak(SHA-3)哈希的前20个字节。(4)一个Signature结构,它使用bubble的Master的私钥表示椭圆曲线数字签名算法(ECDSA)签名。与传统的签名算法相比,例如Rivest Shamir Adleman(RSA),ECDSA具有多种优势,特别是关于密钥大小和签名时间,更适合物联网。Signature涵盖了groupID,objcetID和pubAddr的串联的Keccack哈希。结构如下:
GroupID:XX
ObjectID:YY
PubAddr:@@
Signature(keccakhash(XX || YY || @@))
B. System’s functioning
整个结构完整描述,不过是以图示的方式,可以看原文。
C. Summary
Master,Follower和一些它们都需要注意的规则。
使用公链而不是私链或联盟链的好处
为什么用以太坊
Evaluation an Discussion
A. Context and use case scenarios
该方案的优点在于其适用性,所以以下提出几个场景,分别评估在不同场景下执行时间、能耗和经济上的花费。
Smart house:这里的案例里包括如下几个设备。1)具有存储购物清单并按照某个已编程的时间表在线订购的功能的设备,2)智能冰箱,通过编程来保持食物,如果食物坏了,就发消息把它添加到购物清单里,3)智能洗衣机,监控洗衣粉的水平。如果水平达到某个阈值,则洗衣机发送消息以将其添加到购物清单。4)远程浇水系统,可由智能手机控制。(4)remote vacuum,也可以由智能手机控制
Waste management:废物管理是城市生活中日益严重的问题。其中一个已知问题是垃圾车路线。实际上,垃圾车需要拿起所有垃圾桶,即使它们是空的,这会导致燃料和时间损失,以及二氧化碳增加。如果我们考虑通过塑料,纸张,玻璃或其他特殊材料收集的卡车,这些问题可能会更加昂贵,垃圾桶大部分都在地下,并且有一个非常复杂的程序来清空它们,这在许多情况下会造成交通拥堵,产生更多污染,时间和金钱损失。幸运的是,物联网可以带来多种解决方案。通过在垃圾桶内使用物联网设备,这些设备将连接到管理应用程序,在那里他们发送有关垃圾桶填充状态的信息。基于该信息,服务器决定是否将垃圾桶添加到要清空的垃圾桶列表中。接下来,管理应用程序使用图论技术来定义垃圾车的更便宜的路径。
Smart factory:智能工厂的特点是自组织的多代理系统,辅以基于大数据的反馈和协调。换句话说,在智能工厂中,有许多自动化机器,例如机器人手臂,机器人和自动无人驾驶车辆,它们配备有通信设备,以便在它们之间以及它们与外部世界(客户,合作伙伴,其他生产现场)之间进行通信。为了提供更好的组织和生产安排。
Smart road radar:智能道路雷达,是一种可以远程控制和设置的道路雷达,以避免人为干预。其主要功能是衡量道路使用者的速度。如果它检测到速度违规者,它会向管理系统发送包含其拍摄的牌照及其测量速度的消息。
在所有描述的场景中,在网络中发送多个敏感消息和信息。如果恶意用户伪造,修改或重放(在某些情况下)这些消息,后果将是灾难性的。因此,这些消息的认证和完整性是至关重要的。
B. Evaluation framework
为了评估方案的时间和功耗,用了三个终端,两个相同的笔记本电脑,一个树莓派。一个笔记本作为Master,一个作为Followers。其中的应用程序用C++开发。
区块链用了以太坊,智能合约用solidity写。还写了一个接口做消息转换。测量以下指标:
- 准备关联请求所需的时间
- 准备数据消息所需的时间
- 准备关联请求的CPU功耗
- 准备数据消息的CPU功耗
- 发送关联(发送请求+接收响应)的网络接口控制器(NIC)功耗
- 发送数据消息(发送消息+接收收据)网卡功耗
只关注Follower的各项指标,因为Master除了创建bubble,之后完全和Follower没什么两样。
C. Evaluation results
安全需求评估:针对前面提到的各安全需求分析该方案是否满足。
Open Issue
不适用于实时应用
我们的方法依赖于公链。根据共识协议,交易(块)在某个预定义的时间段(共识所需时间)中被验证,例如,以太坊14秒。因此,设备发送的事务(消息)将仅在此期间之后进行验证。有许多物联网方案,不允许这段时间。但是,如果使用私有区块链,则可以解决此问题。
需要一个初始化阶段
我们的方法需要初始化阶段。可以在新设备或旧设备上实现。在这两种情况下,都需要服务供应商(发起人)的干预。尽管如此,任何用户都可以创建自己的bubble,只要他将自己定义为Master
加密货币汇率的演变
我们的方法依赖于公链,其涉及的成本取决于区块链系统使用的加密货币。尽管如此,我们认为所提供的每项安全服务都需要成本,只要它仍然低于潜在的损害赔偿金。此外,根据一些研究,加密货币汇率的演变将随着时间的推移变得更加稳定。更好的是,以太坊开发者和社区正致力于调节和稳定与智能合约使用相关的费用。
Conclusion and Future works
在本文中,我们提出了一种方案,创建了一个信任域,其中设备可以以完全安全的方式进行通信。该方案可以应用于众多物联网场景。它依赖于公链,因此,它受益于其所有安全属性。此外,我们还定义了物联网认证方案必须确保并构建威胁模型的安全要求。对我们方法的评估表明其能够满足所请求的安全要求及其对攻击的弹性。此外,我们对其时间和能量消耗进行了广泛的研究,我们评估了不同的设备。对于未来的工作,我们计划(1)改进系统,以便允许一组选定的bubble之间的受控通信;(2)为受损设备实施撤销机制;(3)研究和设计一个协议,旨在优化定义系统中矿工的数量,以及如何放置选定的矿工