[发明专利]基于以太坊IoT实体轻量级认证方法、系统、智能终端有效
申请号: | 201911385265.7 | 申请日: | 2019-12-28 |
公开(公告)号: | CN111147228B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 李晖;张秀娟;曹进;罗玙榕;赵兴文 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L9/30;H04L9/32;H04L9/40;G06F16/27 |
代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 何畏 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 以太 iot 实体 轻量级 认证 方法 系统 智能 终端 | ||
1.一种基于以太坊IoT实体轻量级认证方法,其特征在于,所述基于以太坊IoT实体轻量级认证方法包括以下步骤:
第一步,智能设备在注册时获得公私钥并将设备关键数据的变色龙哈希函数值存储在CN节点,等待下一次共识时间的到来进行全网备份;
第二步,开始认证时,向CN节点发送请求消息REQ,CN节点利用变色龙哈希函数的特性验证身份并生成验证通过的token标识发送需要请求通信的设备;
第三步,设备向CN和发送的REQd和ACKd信息,CN节点根据保存的设备变色龙哈希函数值验证设备的身份,验证通过后向设备返回响应信息;
所述基于以太坊IoT实体轻量级认证方法的智能设备注册阶段具体包括:
(1)参与到区块链中的CN节点选择初始化输入参量(m*,r*),其中m*,P是椭圆曲线上的一点,变色龙哈希函数定义为CHY(m,r)=mP+rY,其中(P,Y)是公钥,(k,x)是陷门密钥,其中Y=xP,k=m*+r*x;
(2)节点CN基于椭圆曲线数字签名算法生成签名验签密钥对(skcn,vkcn),并将公有参数PK={P,vkcn}公布到区块链中,本地保存私钥skcn;
(3)本地私有链有智能设备注册时,智能设备所属的智能家居CN节点为注册的设备分配相应的公私钥,公钥作为设备的地址,私钥加密返回给智能设备;CN节点更新维护的两个密钥列表KeyList1和KeyList2;主人在本地数据库存储相关的访问策略列表Access List;
(4)设备在计算变色龙哈希值,执行下列步骤:
1)设备A生成随机数x,m,计算Y=xP,并计算设备关键数据的哈希r=H(ID),之后利用变色龙哈希函数计算CHdc=CHYdc(m,r),将消息M=ID||CHdc发送给CN节点;
2)CN节点收到消息后将CHdc和设备生存期时间Texp共享到区块链中,并利用CN节点的签名私钥计算签名信息Msig=sigCN(IDdc||CHdc),将Msig和Texp发送给设备A;
3)设备A收到消息Msig后,验证CN签名,并计算k=m+rx,之后保存陷门密钥sk=(k,x);
所述基于以太坊IoT实体轻量级认证方法的发送认证请求信息具体包括:
(1)请求者选择随机数α,β,并计算A=αY,B=βY,获取本地时间戳Tcur,令γ=H(A||B||Tcur),之后计算m=k-rx,其中r=αγ;
(2)请求者将请求信息REQ=m||A||B||Tcur发送给设备device1所在的CNd节点并广播信息;request→CNd:REQ=m||A||B||Tcur;
所述基于以太坊IoT实体轻量级认证方法针对变色龙哈希函数验证请求信息并发送认证信息和应答信息具体包括:
(1)CNd收到请求者发送的消息REQ后,执行下列步骤:
1)解密信息,在自己管理的范围内通过KeyList1,允许访问智能家居设备的用户密钥列表)检查该请求者的地址是否合法,若合法跳转到2),否则将它舍弃;
2)验证时间戳Tcur;合法之后,跳转到3),否则将它舍弃;
3)计算γ=H(A||B||Tcur),并根据公式mP+γA=CHdc验证请求者的身份合法性,如果验证成功跳转到4),否则将它舍弃;
4)节点CNd生成token=Hash(Req′address+H(R1)),将token发给请求者需要通信的智能设备device1并广播消息;
(2)智能设备device1收到消息后,验证节点CNd签名的token的合法性,若合法,device1选择自己的随机数α′,β′,计算A′=α′Y′,B′=β′Y′,获取本地时间戳Tcurr,令γ′=H(A′||B′||Tcurr),之后计算m′=k′-r′x′,其中r′=α′γ′;
根据公式Krd=x′(α′+β′)(A+B)生成请求者request和智能设备之间的会话密钥Krd,并且生成应答信息REQd=m′||A′||B′||Tcurr和ACKd=H(Krd||REQd);之后设备device1将REQd和ACKd发送给请求者所属的节点CNr;
(3)节点CNr收到消息后,执行下列步骤:
1)验证时间戳Tcurr,若合法,跳转到2),否则舍弃它;
2)验证收到的token是否合法,若合法,跳转到3),否则舍弃它;
3)根据等式m′P+γ′A′=CHd检测设备device1的变色龙哈希值CHd的合法性验证设备的身份合法性;如果验证通过,将应答信息发送给请求者;
所述基于以太坊IoT实体轻量级认证方法的发送认证确认消息具体包括:
(1)请求者收到消息后在本地根据公式Kdr=x(α+β)(A′+B′)计算Kdr,并计算请求者的ACKr=H(Kdr||REQ)返回给设备device1;request→device1:ACKr;
(2)设备device1收到请求者的ACKr后检测其合法性,合法后认证通过;设备device1收到请求者的ACKr后检测其合法性,合法后认证通过;
所述基于以太坊IoT实体轻量级认证方法的IoT实体间交互信息具体包括:
(1)设备A请求设备B的数据信息,设备A生成带有设备关键数据哈希值H(firmware)的Tgetdata交易请求发送给CN:A→CN:M1=Tgetdata;
(2)CN节点接收到请求后检索智能设备密钥列表KeyList2检查设备A的地址是否合法;若合法,再检查设备A的关键数据的哈希值H;若合法,检索策略头部查询其是否具有访问权限,若有则向设备B请求数据;
(3)设备B利用自己的私钥签名需要发给设备A的数据,并将签名后的数据和哈希后的数据一起发送给节点CN:B→CN:
(4)CN收到消息M2之后,解密并对data进行哈希,验证数据的完整性,若完整则对资源的交易签名并生成合约记录存储在本地账本中,将数据返回给设备A。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911385265.7/1.html,转载请声明来源钻瓜专利网。