(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210233544.7
(22)申请日 2022.03.10
(71)申请人 东南大学
地址 211102 江苏省南京市江宁区东 南大
学路2号
(72)发明人 胡静 宋铁成 陈然 夏玮玮
燕锋 沈连丰
(74)专利代理 机构 南京瑞弘专利商标事务所
(普通合伙) 32249
专利代理师 沈廉
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/32(2006.01)
H04L 67/1097(2022.01)
(54)发明名称
一种基于区块链的物联网设备匿名 身份认
证方法
(57)摘要
本发明公开了一种基于区块链的物联网设
备匿名身份认证方法, 包括以下步骤: 构造基于
物联网设备身份的智能合约; 区块链构建与智能
合约编译部署; 设备信息注册、 加密、 上链; 设备
端与平台端的匿名认证通信。 本发 明使用区块链
作为物联网平台底层架构, 解决了物联网平台信
息存储安全问题; 使用非对称加密算法唯一的标
识可信任的物联网设备, 解决了设备的身份安全
问题并保证了认 证过程中的匿名性; 使用默克尔
树存储设备关键信息参数, 消耗较少的时间与空
间完成对设备所有信息的认证, 减少设备认证与
信息传输的资源消耗的同时保证了设备信息在
存储与传输时的不可篡改性。
权利要求书2页 说明书6页 附图2页
CN 114584383 A
2022.06.03
CN 114584383 A
1.一种基于区块链的物联网设备匿名身份认证方法, 其特 征在于, 包括以下步骤:
步骤1、 构造基于物联网设备身份 的智能合约, 包括交易者Dealer合约, 设备Device合
约, 设备签名认证E CRecovery方法, 默克尔证明Merk le Proof方法;
步骤2、 区块链构建与智能合约编译部署: 使用区块链构建私有区块链, 选取工作量证
明机制Pr oofOfWor k作为共识机制, 创建私有链网络并保存至本地; 智能合约编译完成后部
署至私有链, 通过对合约发起交易即可注 册设备;
步骤3、 设备信息注册、 加密、 上链: 设备首先被分配一对公私钥对, 其次使用数个设备
信息参数构成默克尔树, 并将默克尔根存储至合约中; 然后申请者向合约发起注册交易, 交
易完成后将公私钥对、 设备注 册所用信息和标识符信息返回给申请人;
步骤4、 设备端与平台端的匿名认证通信: 设备端在本地通过设备信 息文件构造认证信
息payload, 将payl oad发送给平台端; 平台端通过调用链上智能合约完成认证。
2.如权利要求1所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在于,
步骤1所述构造基于物联网设备身份的智能合约, 具体为:
步骤1.1、 定义交易者Dealer合约, 存储对设备发起注册交易的区块链账户地址
Address;
步骤1.2、 定义设备Device合约, 存储设备认证信息, 包括设备拥有者Owner, 设备标识
符Identity, 设备信息默克尔根DeviceMerk leRoot;
步骤1.3、 定义设备签名认证ECRecovery方法, 该方法根据消息msg 的哈希值Hash(msg)
与签名Sig恢复公钥;
步骤1.4、 定义默克尔证明Merkle Proof方法, 该方法根据叶节点信息info的哈希值
Hash(info )与默克尔证明参数Proof(Hash1, Hash2 …)计算得出默克尔根, 其中Hash1,
Hash2…指的是设备端需要提供的认证参数。
3.如权利要求1所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在于,
步骤3所述设备信息注 册、 加密、 上链, 包括以下步骤:
步骤3.1、 使用椭圆曲线加密算法获取公私钥对(Pub Kdevice, PvtKdecice), 其中Pub Kdevice
为公钥, PvtKdecice为私钥;
步骤3.2、 使用散列算法计算PubKdevice的哈希值, 计算出公钥对应地址, 使用该地址作
为该设备的唯一设备 标识符Identity;
步骤3.3、 使用设备信息参数构造默克尔树并返回设备信息;
步骤3.4、 对该合约地址发起注 册交易;
步骤3.5、 交易写入区块链;
步骤3.6、 交易完成后返回给交易人设备信息文件, 包含设备拥有者Owner, 设备标识符
Identity, 公私钥对(PubKdevice, PvtKdecice), 所有注 册使用信息I nfoData;
步骤3.7、 链上合约存储设备拥有者Owner, 设备标识符Identity, 设备信息默克尔根
DeviceMerk leRoot;
步骤3.8、 设备端保存该设备信息文件。
4.如权利要求3所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在于,
步骤3.3所述使用设备信息参数构造默克尔树, 具体为: 设备信息参数包括设备名称、 出厂
时间、 序列号、 生产商关键信息参数, 将设备信息参数逐个计算哈希值, 作为叶节点信息的权 利 要 求 书 1/2 页
2
CN 114584383 A
2哈希值; 进一步将这些叶节点信息的哈希值两两拼接, 继续计算哈希值; 重复上述步骤直至
计算出唯一的设备信息默克尔根DeviceMerk leRoot。
5.如权利要求1所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在于,
步骤4所述设备端在本地通过设备信息文件构造认证信息payload, 将payload发送给平台
端, 包括以下步骤:
步骤4.1.1、 选取设备构造默克尔树的任意叶节点信息i nfo作为消息m sg;
步骤4.1.2、 对该消息m sg的哈希值Hash(m sg)使用椭圆曲线签名算法获取签名Sig;
步骤4.1.3、 计算所有注 册使用信息I nfoData的哈希值, 构造默克尔树;
步骤4.1.4、 使用所选取叶节点信息构造默克尔证明参数Pro of(Hash1, Hash2 …);
步骤4.1.5、 构造认证信息payload, 包含消息msg、 签名Sig、 默克尔证明参数Proof
(Hash1, Hash2 …), 发送至平台端。
6.如权利要求5所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在于,
步骤4.1.2所述使用椭圆曲线签名算法获取签名Sig, 具体为: 使用椭圆曲线加密算法获取
公私钥对, 选择任意消息的哈希 值Hash(msg), 使用私钥对 该哈希值作签名, 得到一对256位
二进制签名结果{r, s}即签名Sig。
7.如权利要求3或6所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在
于, 所述使用椭圆曲线加密算法获取公私钥对, 方法为: 选取随机256位二进制数作为私钥
PvtKdecice, 选取任意一条椭圆曲线 y2=x3+ax+b且满足4a3+27b2≠0的点集, a、 b为常数, 选取
曲线上的一个 基点G, 计算公钥PubKdevice=PvtKdecice×G。
8.如权利要求1所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在于,
步骤4所述平台端通过调用链上智能合约完成认证, 包括以下步骤:
步骤4.2.1、 连接区块链网络, 获取部署完成的智能合约实例;
步骤4.2.2、 调用智能合约函数ECRecovery, 使用payload中的Hash(msg)与签名Sig恢
复公钥PubKdevice, 使用散列算法计算PubKdevice的哈希值, 得出该公钥对应地址, 将该地址与
链上数据设备 标识符Identity做对比, 完成对该签名和传递数据的认证;
步骤4.2.3、 调用智能合约函数Merkle Proof方法, 使用payload中 的消息msg与默克尔
证明参数Proof(Hash1, Hash2 …)计算默克尔根M erkleRoot' ; 将M erkleRoot' 与设备信息默
克尔根DeviceMerk leRoot作比较, 完成对设备信息的认证。
9.如权利要求2或8所述的一种基于区块链的物联网设备匿名身份认证方法, 其特征在
于, 所述Merkle Proof方法为: 将一个叶节点信息的哈希值Hash(info)与Proof(Hash1,
Hash2…)中的第一个参数Hash1拼接并出计算哈希值Hash1' , 再将该哈希值Hash1' 与第二
个参数Hash2拼接并计出算哈希值Hash2' , 直至得 出最终的默克尔根Merk leRoot' 。权 利 要 求 书 2/2 页
3
CN 114584383 A
3
专利 一种基于区块链的物联网设备匿名身份认证方法
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:40:44上传分享