(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210433960.1
(22)申请日 2022.04.24
(71)申请人 河南大学
地址 475001 河南省开封市明伦街85号
(72)发明人 王玉璟 李茵茵 程成 杜晓玉
魏亚强
(74)专利代理 机构 郑州联科专利事务所(普通
合伙) 41104
专利代理师 刘建芳
(51)Int.Cl.
H04L 9/30(2006.01)
H04L 9/32(2006.01)
H04L 9/08(2006.01)
H04L 9/40(2022.01)
(54)发明名称
基于区块链无 人机的身份认证方法
(57)摘要
本发明的目的是设计一种基于区块链无人
机的身份认证方法, 包括: (1) 系统初始化阶段,
主要由雾节 点进行算法的选择、 参数的选取以及
保存工作; (2) 区块链上无人机的注册阶段, 该阶
段主要是判断无人机身份信息是否存在链上并
对不存在的无人机进行注册; (3) 基于雾节点的
无人机链上认证, 该阶段主要是对链上已经注册
的无人机进行的认证。 本发明通过雾节点有效的
保护了无人机系统的通信安全, 保证了无人机的
身份信息的保密性、 匿名性, 不可否认性, 可以有
效预防模拟攻击、 修改攻击、 重放攻击, 中间人攻
击, 防止恶意攻击造成无人机被绑架, 保证了无
人机的通信安全。
权利要求书3页 说明书6页 附图4页
CN 114884664 A
2022.08.09
CN 114884664 A
1.基于区块链的无 人机身份认证方法, 其特 征在于, 所述方法步骤如下包括:
S1: 系统初始化阶段, 由雾节点进行非奇异椭圆曲线的选择、 参数的选取以及保存工
作, 所述的参数包括公钥、 私钥和哈希函数;
S2: 区块链上无人机的注册阶段, 该阶段主要是判断无人机身份信息是否存在链上并
对不存在的无 人机进行注 册;
S3: 基于雾节点的无人机链上认证, 该阶段主要是对链上已经注册 的无人机进行的认
证。
2.根据权利要求1所说的基于区块链的无人机身份认证方法, 其特征在于, 其中S1中的
具体步骤如下:
S1.1: 雾节点Fognode选择一个大素数n, 并定义一个非奇异椭圆曲线的E(n); 该曲线由
n个点构成了一个q阶的加法群G, 其中P是生成器;
S1.2: Fogn ode选择一个
作为私钥, 并计算公钥PKpub=SKpub·P;
S1.3: Fognode选择三个哈希函数: h1:
h2:{0,1}*→{0,1}l, h3:{0,1}*→{0,
1}k; 其中l是身份的长度, k是加密的密钥长度;
S1.4: Fogn ode负责保存私钥并公布公共参数: {n,q,P,PKpub,h1,h2,h3}。
3.根据权利要求1所述的基于区块链的无人机身份认证方法, 其特征在于, S2中区块链
上无人机的注册阶段, 无人机的注册阶段主要由雾节点执行; 每个雾节点都有一个由公钥
生成的唯一的以太坊地址, 同一个区域内的无人机都由该区域内的雾节点统一进行注册,
将无人机的伪身份的哈希值和所在区域的地址号的哈希值写入区块链中; 具体如下: 无人
机计算自己的公钥、 私钥以及 匿名身份AIDi, 并计算一个公共参数Di; 雾节点生成其所在区
域的一个地址号adsID, 通过椭圆曲线加密算法Enc()创建一笔交易信息Tra1=Enc
(adsID,AIDi), 该交易信息在区块链内部用户之间共享; 区块链中心收到雾节点的注册请
求时, 会首先通过解密算法Dec()对交易信息进行解密Dec(Tra1)=(adsID,AIDi), 从而得
到区域的地址号和无人机的匿名身份; 区块链中心 通过地址号和无人机的匿名身份查找该
无人机是否已经在区块链上进 行注册, 如果查询成功, 则中止注册, 否则区块链会创建一个
新的块, 并将交易信息Tra1 公布在区块链系统中。
4.根据权利要求1所述的基于区块链的无人机身份认证方法, 其特征在于, S3 中基于雾
节点的无人机链上认证, 当有无人机设备发起认证请求时, 雾节点会通过交易信息查询链
上是否有该发起请求的无 人机; 其认证步骤 包括如下:
当雾节点 收到无人机的认证信息Mi时, 首先检查时间戳T是否新鲜, 以此来判断消 息是
否新鲜; 然后在链上账本获取无人机的公钥以及公共参数, 判断认证公式是否成立, 若成
立, 则得到正确的地址号和令牌; 判断地址号是否存在, 若地址号不存在的话认证失败, 若
地址号存在, 则需要验证令牌的完整性, 通过链上的对比, 若对比成功, 则无人机的身份认
证成功。
5.根据权利要求3所述的基于区块链的无人机身份认证方法, 其特征在于, 所述的步骤
S2具体包括如下步骤,
S2.1: 无人机Ui选择一个随机数
并计算其的私钥SKi, 计算为: SKi=h1(IDi||SKpub
| | m ) , 公 钥 P Ki, 计 算 为 : P Ki= S Ki·P ,和 匿 名的 身 份 A I Di, 计 算 为 :权 利 要 求 书 1/3 页
2
CN 114884664 A
2S2.2: Ui将自己私钥作为密码保存起来, 并选择一个随机数
作为私有的动态参
数, 计算一个公共动态参数Di=di·P, 并将这个动态参数通过雾节点上传到认证身份的账
本中, 以准备之后的身份认证;
S2.3: 雾节点首先为自己区域内的无人机生成一个地址号adsID=keccak256
(numberfog,EadsT), 其中IDfog是雾节点的身份, EadsT区块链管理中心的以太坊地址;
S2.4: 雾节点通过椭圆曲线加密算法创建一笔交易信息Tra1, 计算为Tra1=Enc
(adsID,AIDi); 该交易信息在区块链内用户之间共享, 当区块链管理中心收到雾节点的身
份请求时, 首先用私钥对交易信息进行解密Dec(Tra1)=(adsID,AIDi), 从而得到adsID和
AIDi;
S2.5: 验证地址号和无人机的身份是否存在: 首先验证无人机的身份AIDi: 如果AIDi存
在, 说明该无人机已经注册过了, 则注册过程中止; 如果AIDi不存在, 但是adsID存在, 说明
无人机没有进行注册; 区块链将会创建一个新的块, 并将Tra1在区块中广播, 达到消息共
享;
S2.6: 雾节点 通过智能合约函数为无 人机设备生成一个票证
并将该票据 发送给区块链管理中心, 其中t为该票证
的时间期限;
S2.7: 区块链管理中心将票据的哈希值
通过合约函数写入区块链, 创建交易
信息Tra2并共享给雾节点,
由雾节点将Tra2共享给其区域内的无人
机。
6.根据权利要求4所述的基于区块链的无人机身份认证方法, 其特征在于, 步骤S3的具
体包括如下步骤:
S3.1当准备向Ui发送消息Mi, Mi={AIDi||T||Mi||f}, 首先要和无人机互相确定对方的
身份; 无人机会先收到雾节点发送的票据信息
和消息Mi, 通过合约函数创 建一个令
牌,
并计算令牌的哈希值
S3.2 Ui计算fi=di+SKi·h1(PIDi||T||Mi), 其中T为当前时间戳, 并将发给雾节点;
S3.3当雾节点收到发送来的消息的时候, 首先会检查时间戳T是否新鲜, 以此来判断Mi
的新鲜程度;
S3.4雾节点通过区块链上的认证账本中获取Ui的PKi和Di, 以此来判断公式f ·P=Di+h1
(AIDi||t||Mi)·PKi是否成立; 若失败, 说明信息有误; 若公式成立, 那么Ui的身份认证通
过, 则得到正确的地址号adsID和令牌
判断公式为:
S3.5如果adsID不存在的话, 那么认证失败; 如果adsID存在, 需要验证无人机的令牌
中的
的完整性; 计算
的哈希值
与注册时写入区块链中的
进行对比, 如果
则说明无人机身份认证成功; 区块链管
理中心将认证结果 通过雾节点返回给 无人机;权 利 要 求 书 2/3 页
3
CN 114884664 A
3
专利 基于区块链无人机的身份认证方法
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:19:12上传分享