本文介绍一个利用以太坊区块链管理物联网IoT设备的身份识别、 验证和声誉的IoT设备管理系统。该系统使用Web界面在以太坊智能合约 中注册物联网设备,并通过密码学签名消息验证Iot设备对平台的 使用权。
1、区块链物联网设备管理系统的基本概念
物联网/IoT设备的标识: 通过默克尔树(Merkle Tree)的利用,无需暴露设备的私有属性即可完成 IoT设备的注册。使用公钥(或其衍生表示)作为IoT设备的标识ID。
物联网/IoT设备的消息签名与验证: 系统中的每个消息都需要由发送端的IoT设备签名,并在接收端的IoT 设备处进行验证。
发送端IoT设备的消息签名生成:
接收端IoT设备的消息签名验证:
物联网/IoT设备的固件指纹: 通过保存IoT设备的固件哈希,可以验证设备所运行的固件是否被非法篡改。
物联网/IoT设备的信誉机制: 基于Web的信任原理,设备可以形成一个信任网络。一个IoT设备从其他 有信誉的设备得到越多的签名,该设备就越可信。
2、区块链物联网设备管理系统的整体说明
系统主要组成部分包括:实体、设备和IoT平台:
系统开发基于以下技术栈:
EthereumSolidityTruffle FrameworkWeb3.jsReact
项目主要目录内容说明如下:
contracts - Solidity智能合约frontend - Web前端,基于React开发simulations - IoT设备和平台仿真
系统中IoT设备的配置文件示例如下:
3、区块链物联网设备管理系统的主要用户界面
网络状态界面:
实体历史记录界面:
IoT设备ID管理界面:
元数据管理界面:
IoT设备固件信息维护界面:
IoT设备维护确认界面:
配置下载界面:
IoT设备列表界面:
IoT设备ID维护界面:
IoT设备历史数据查看界面:
论文链接:Using blockchain for registration and control of IoT devices源码下载:iot-device-management