[发明专利]基于DAG区块链的物联网设备轻量级认证和访问授权方法在审
| 申请号: | 202111161079.2 | 申请日: | 2021-09-30 |
| 公开(公告)号: | CN113949544A | 公开(公告)日: | 2022-01-18 |
| 发明(设计)人: | 王尚平;李欢;张亚玲 | 申请(专利权)人: | 西安理工大学 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32;H04L67/10;H04L67/1097;H04L67/12;G06F16/27;G06F21/60;G06F21/62;G06F21/64 |
| 代理公司: | 西安弘理专利事务所 61214 | 代理人: | 王敏强 |
| 地址: | 710048 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 dag 区块 联网 设备 轻量级 认证 访问 授权 方法 | ||
1.基于DAG区块链的物联网设备轻量级认证和访问授权方法,其特征在于,具体按照以下步骤实施:
步骤1、设备身份管理;
步骤2、资源发布;
步骤3、访问控制。
2.根据权利要求1所述的基于DAG区块链的物联网设备轻量级认证和访问授权方法,其特征在于,所述步骤1具体按照以下步骤实施:
步骤1.1、设备身份注册:
步骤1.1.1、自签名证书的生成:首先,物联网设备a生成自己的公私钥对PKa/SKa、设备唯一标识符IDa;然后宣称其代理节点为雾节点A,记作FA;最后,设备a用自己的私钥对这些信息签名,并生成有效期为Ta的自签名证书Certa,即:Certa={IDa,PKa,Fa,Ta,μ},该自签名证书可用作设备a注册到雾节点A时的身份证明材料,其中,μ=sig(SKa,(IDa,PKa,Fa,Ta)),这表示设备a用其私钥SKa签名消息{IDa,PKa,Fa,Ta};
步骤1.1.2、自签名证书的提交:雾节点A生成自己的公私钥对:PKA/SKA,并在网络上公开自己的公钥PKA,设备a将其自签名证书Certa使用雾节点A的公钥PKA加密后发给雾节点A,向雾节点A宣称自己的身份,雾节点A收到该身份宣称后对其进行解密;
Dec(SKA,Enc(PKA,Certa))=Certa (1)
其中,Enc(PKA,Certa)表示用雾节点A的公钥PKA加密Cera;Dec(SKA,Enc(PKA,Certa))表示用雾节点的私钥SKA解密Enc(PKA,Certa);
步骤1.1.3、自签名证书的验证:雾节点A对解密得到的自签名证书Certa进行审查,即:用设备a的公钥PKa验证Certa的签名是否正确;审查通过后,雾节点A生成设备a的身份属性集:ATTa={atta1,atta2,…,attai,…},其中,ATTa表示设备a所有属性的集合;attai表示设备a的第i个属性,属性以名值对的形式存储,即(att_name,att_value);
步骤1.1.4、设备注册交易的发布:雾节点A在分布式账本tangle中查看IDa是否被注册,若未被注册,雾节点A则用自己的私钥SKA签名该设备IDa、属性集及设备公钥信息,以生成有效期为EXa的注册信息,并将其作为注册交易Treg广播到IOTA网络的分布式账本tangle上,
Treg={IDa,FA,register,PKa,ATTa,EXa,σ1} (2)
其中,σ1=sig(SKA,(IDa,FA,register,PKa,ATTa,EXa)),表示雾节点A用其私钥SKA签名消息{IDa,FA,register,PKa,ATTa,EXa};FA作为雾节点A的标识,表示雾节点A作为设备a的代理节点代替设备a完成注册工作;register作为该交易的一个标签,表示该交易目的是用于设备注册;
步骤1.1.5、雾节点A利用马尔科夫蒙特卡洛tip选择算法选出两个tip交易进行验证,该tip选择算法首先在tangle上选择出权重在[w,2w]之间的交易;然后独立地将N个节点放置在所选择的交易处;最后分别独立地向右随机游走,最先完成游走并到达的两个tip交易就是被选定要去验证的交易;其中每一步游走都选择累计权重较大的交易;
步骤1.1.6、雾节点A首先检查两个tip交易的签名;然后做轻量级的PoW以防止某些参与者恶意发起很多交易从而阻塞整个网络;最后验证与其直接或间接相连的交易是否存在冲突,若存在冲突则重新选择tip交易;
步骤1.1.7、以上步骤1.1.6中的验证全部通过后,通过引用两个tip交易将新交易Treg附加到tangle账本上,雾节点A将其广播到整个IOTA网络中,此时该交易状态为“待确认”,雾节点A只能验证有效交易,若它验证通过的任一个交易被证明是无效的,那么雾节点A发出的交易也将被视为无效,并且这些交易在tip选择阶段也不会被选择,这也帮助保护了网络的安全性;
步骤1.1.8、当添加到tangle中的交易Treg确认置信度达到95%以上时,即全网有95%以上的tips确认了交易Treg时,交易Treg状态变为“完全确认”,此时IOTA中的节点对该交易达成共识,设备a注册成功;
步骤1.1.9、雾节点A将该注册交易对应的设备唯一标识符IDa及交易哈希地址FA,register,PKa,ATTa,EXa,σ1>一起保存至本地,用于设备a注册信息的查询,通过获取雾节点A本地保存的其他参与方可从tangle账本中查找设备a以验证其合法性;由于物联网设备在注册时将设备属性写入了注册交易,并将其记录在了tangle账本上,因此也可通过查询该注册交易的完整信息以获取设备属性,用于后续访问控制策略的评估;
步骤1.1.10、公钥证书的发布:设备a注册成功后,雾节点A将用自己的私钥SKA签名设备a的身份IDa及公钥PKa信息,并将这些信息作为公钥证书Certa′发送给设备a;
Certa′={IDa,PKa,FA,EXa,μ1} (3)
其中,μ1=sig(SKA,(IDa,PKa)),该公钥证书Certa′可用于验证设备a公钥PKa的真实性以及合法性,并且该公钥具有不可否认性;
步骤1.2、设备身份更新:
步骤1.2.1、设备a则生成新的公私钥对PKa′/SKa′,并通过雾节点A将更新交易Tupd广播到IOTA网络的分布式账本tangle上,
Tupd={IDa,FA,update,AATa,PKa,PKa′,EXa,EXa′,σ2,σ3} (4)
其中,EXa′为新生成的公钥证书的有效期;FA为雾节点A的标识符;σ2=sig(SKa,(IDa,FA,PKa′,EXa′)),这用于证明设备有权更改密钥;σ3=sig(SKA,(IDa,FA,update,ATTa,PKa′,EXa′)),这用于交易合法性验证;update作为该交易的一个标签,表示该交易目的是用于设备身份更新;
步骤1.2.2、IOTA网络上的节点对该交易达成共识之后,设备身份更新成功,新的身份为{IDa,PKa′,EXa′};
步骤1.2.3、雾节点A将设备唯一标识符IDa与更新的交易哈希地址FA,update,ATTa,PKa,PKa′,EXa,EXa′,σ2,σ3>一起保存至本地,用于设备a身份更新信息的查询,同时,雾节点A将设备a新的公钥证书Certa″返回给设备a,其中:
Certa″={IDa,FA,PKa′,EXa′,μ2} (5)
其中,μ2=sig(SKA,(IDa,PKa′)),该证书用于验证设备a新公钥PKa′的真实性以及合法性;之后,若继续使用旧身份参与网络活动将不会被接受;
步骤1.3、设备身份更新:
步骤1.3.1、若检测到设备a频繁地产生恶意行为,管理设备a的雾节点A将撤销交易Trev广播到IOTA网络的分布式账本tangle上,
Trev={IDa,FA,revoke,PKa,ATTa,EXa,σ4} (6)
其中,σ4=sig(SKA,(IDa,FA,revoke,ATTa,PKa,EXa)),这表示雾节点A用其私钥SKA对该撤销信息的签名;revoke作为该交易的一个标签,表示该交易目的是用于设备身份撤销;
步骤1.3.2、IOTA网络上的节点对该交易达成共识之后,设备a身份撤销成功;
步骤1.3.3、雾节点A将设备唯一标识符IDa与该撤销交易的哈希值FA,revoke,PKa,ATTa,EXa,σ4>一起保存至本地,用于设备a身份撤销信息的查询;
步骤1.4、设备相互认证:
步骤1.4.1、设备a即请求者发送询问交易Task到雾节点A;
Task={IDa,IDb,σ5,certa′} (7)
其中,σ5=sig(SKa,(IDa,IDb)),这表示物联网设备a用其私钥对想要通信的两个设备(IDa,IDb)的签名;Certa′={IDa,FA,PKa,EXa,μ1},表示设备a的公钥证书;
步骤1.4.2、雾节点A在收到该询问交易之后,通过以下两个步骤验证该消息确实由设备a发出:
1)验证设备a公钥证书Certa′的签名有效性,以确保设备a公钥PKa的真实性及合法性,
2)使用设备a的公钥PKa验证交易Task的签名,用以证明该询问信息确实由设备a发出,
步骤1.4.3、以上步骤1.4.2中的验证全部通过后,雾节点A通过设备b的标识符IDb从IOTA网络中其它雾节点处检索IDb对应的最新创建的交易哈希值或只有设备b的代理节点雾节点B会返回相应的交易哈希值,若在某一段时间后所有雾节点都没有返回相应的交易哈希值,则说明设备b还未在网络中注册,其身份不合法,设备a则拒绝与其通信;
步骤1.4.4、雾节点A收到雾节点B返回的设备b交易哈希值或后,通过该哈希值在tangle账本中查找相应的交易,若检索到的交易包含{IDb,revoke}字段,则证明设备b的身份已被撤销,于是通知设备a拒绝与设备b进行通信;若检索到的交易包含{IDb,update}字段,则比较设备b公开的公钥是否与更新交易中的公钥PKb′相等,若不相等,则证明该设备还在使用旧身份参与网络活动,于是通知设备a拒绝与设备b进行通信,否则说明设备b身份合法;若检索到的交易包含{IDb,register}字段,则证明设备b已在IOTA网络中注册成功,身份合法、可信,雾节点A通知设备a可以与设备b进行通信;
设备b也可用类似的方法验证设备a,若互相验证通过后,两个设备便在无信任的物联网环境中建立了信任,即可进行安全通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111161079.2/1.html,转载请声明来源钻瓜专利网。





