AI > AI技术 > 详情

基于区块链的物联网安全案例

发布时间:2023-07-19 发布时间:
|

物联网设备会生成大量数据,必须进行存储和处理。对IoT数据的每个CRUD(创建,读取,更新或删除)操作都可以在区块链块中注册为事务记录。因此,可以检测对存储的IoT数据的未授权操作。

基于区块链的物联网安全案例

在制造设备时,可以将IoT设备的身份凭证注册为区块链块中的交易记录,并在以后使用该设备时将其检索。物联网设备的访问规则可以由智能合约指定和实施。因此,也可以检测对存储的IoT数据的未授权操作。

当区块链保证数据真实性并防止未经授权的访问时,不需要集中授权,例如云存储提供商来保护物联网数据,这些数据可以安全地存储在不同的网络节点中。物联网设备的部署历史记录可以作为交易记录存储在区块链中。在生成物联网设备,交付给所有者,安装,更新并交付给另一个所有者等时,交易记录可以存储在区块链块中。

区块链还可以在物联网设备之间启用安全消息传递。物联网设备之间的消息交换可以被视为类似于比特币网络中的金融交易。物联网设备之间的消息交换可以通过智能合约启用,这可以实现双方之间的协议。

区块链的基本功能是维护网络中所有事务的适当分散的可信分类帐。此功能可以实现物联网系统的许多符合性和法规要求,例如,在GDPR中。(Banafa,2016; Conoscenti等,2016)

区块链的去中心化和自主功能使其成为物联网安全解决方案中几乎理想的组件。使用区块链可以实现物联网安全级别,否则很难或甚至无法实现。我们介绍一些最近提出的基于区块链技术的物联网安全解决方案。

基于区块链的物联网设备的安全管理分析

物联网设备的管理包括配置设置和操作模式的控制以及确保不间断的操作。基于区块链的配置设置和操作模式控制可以防止未经授权的访问尝试,还可以防止拒绝服务攻击。

Huh等人(2017)提出了使用以太坊作为区块链平台的物联网设备的控制和配置。用于IoT设备的识别凭证可以通过公钥密码术中的唯一密钥对(即,私钥和公钥)来实现。私钥存储在IoT设备中,而公钥被注册为以太坊块中的交易记录。然后可以通过其公钥在以太网上寻址物联网设备。

以太坊被选为区块链平台,因为它的智能合约可以在区块链上执行程序。因此,物联网设备行为可以在智能合约中编程。为了证明所提出的概念,在由三个物联网设备组成的系统上进行了模拟:电表,LED灯泡和空调。

如果仪表测量超过150kW,则需要空调和灯泡切换到节能模式的策略由智能手机设置。对于仪表,智能合约被编程为将测量值和身份凭证(即其公钥和签名)发送到以太坊。还为空调和灯泡编制了智能合约。这些合同使用以太坊的相关身份凭证检索测量值。身份凭证验证了检索到的测量值是仪表值,并且当超过检索值的150kW的阈值时发生到节能模式的转换。

物联网设备供应商远程更新交付设备的固件,以便安装新功能并修补已发现的漏洞。这些更新通常基于来自存储库服务器的客户端请求来下载,该存储库服务器包含由公钥基础结构(PKI)签名的消息摘要保护的预编译固件二进制文件。签名的消息摘要和公共签名密钥附加到下载的固件文件。仅当使用下载的公钥进行安全检查成功时,才会启动IoT设备上的固件更新。但是,如果数百万IoT设备同时请求更新,则此客户端 – 服务器固件更新协议会产生过多的网络流量。

已经提出利用区块链的解决方案用于IoT设备中的安全固件更新,其中到服务器的全局网络流量主要由区块链网络节点之间的本地对等通信代替(Lee和Lee,2016)。在此解决方案中,IoT设备制造商将已发布固件版本的哈希值存储在可供所有交付的IoT设备访问的区块链中。

Christidis和Devetsikiotis(2016)建议使用预先安装的智能合约,如果新的固件版本可用,则在预设的时间间隔后重复检查条件,则物联网设备可以自动查找新的固件版本。物联网设备可以从区块链中检索已发布固件的哈希值,并使用它从分布式对等文件系统安全下载新的固件版本,该系统由制造商的节点和安装了固件版本的物联网设备组成。存储在区块链上的固件哈希也可用于验证安装在IoT设备上的固件是否未被篡改。

在上述解决方案中,由同一供应商提供的所有IoT设备都是正常的区块链节点。其他区块链节点是验证节点,其由固件供应商通过安全网络连接来操作以维护更新的固件和固件元数据。

IoT设备向区块链节点广播固件更新请求。如果首先从验证节点收到响应,并且IoT设备上的固件是最新的,则验证固件。否则,从响应验证节点下载最新固件。如果首先从具有与请求固件更新的IoT设备相同的固件版本的正常区块链节点接收响应,则通过轻量级PoW挖掘过程验证固件版本,其中六个验证日志响应就足够了。否则,最新的固件将从验证节点下载到物联网设备 – 一个正常的区块链节点 – 其固件版本较旧。每个区块链块由标题和验证字段组成,验证字段包括验证计数器,所有存储事务的哈希值,验证日志,区块链网络节点的名称,当前固件版本以及固件文件的哈希值。验证日志包含表示请求固件更新的网络节点的验证时间和ID的时间戳,以及响应此类请求的网络节点的ID。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何防止算术运算出现下溢和溢出错误