买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】面向多用户共同管理的区块链智能协同认证方法_杭州电子科技大学_202211535012.5 

申请/专利权人:杭州电子科技大学

申请日:2022-12-02

公开(公告)日:2024-03-26

公开(公告)号:CN115987519B

主分类号:H04L9/32

分类号:H04L9/32;H04L9/40;H04L67/10

优先权:

专利状态码:有效-授权

法律状态:2024.03.26#授权;2023.05.05#实质审查的生效;2023.04.18#公开

摘要:本发明公开了面向多用户共同管理的区块链智能协同认证方法,采用协同认证链构建算法、协同认证链认证算法、多用户协同认证系统建立算法和多用户协同认证系统认证算法。采用本发明的面向多用户共同管理的区块链智能协同认证方法,首先,通过构建协同认证链来保证认证数据的一致性,然后将区块链技术与传统的认证技术相结合,实现了多用户共同管理认证。与传统的认证方法相比,方法由于存在区块链的协同认证链,因此,在整个传输和认证过程中,不易丢失也不易被伪造认证信息,从而不易发生单点故障,而且还可以保障多用户协同认证的安全性。

主权项:1.面向多用户共同管理的区块链智能协同认证方法,其特征在于:采用协同认证链构建算法、协同认证链认证算法、多用户协同认证系统建立算法和多用户协同认证系统认证算法;协同认证链构建算法中,首先系统收集不同用户的身份信息序列,在确认用户身份信息的完整性后,系统开始链的构建;系统首先将边缘节点的标识号作为种子生成第一条链;然后系统会根据哈希函数选择算法,使用对应的哈希函数来处理当前用户的身份信息;随后将当前用户的身份信息的哈希值与上一条协同认证链拼接起来,并最终构建成完整的协同认证链;协同认证链认证算法中,首先区块链节点获取边缘节点的标识号,并构建区块链端协同认证链的第一个节点;然后,边缘节点会将边缘端的协同认证链、用户身份信息的哈希值组合成数据包,并按照顺序发送至区块链节点;区块链节点在收到数据包后,根据用户身份信息构建自己的区块链端的协同认证链;区块链节点通过比较边缘端与区块链端的协同认证链是否对等,来判断用户身份信息是否被篡改;直到区块链端收到最终的数据包,并验证最终构建的与接收的协同认证链是否对等来完成认证;多用户协同认证系统建立算法中,首先使用物联网设备收集合法用户的身份信息;随后基于单个用户认证的需要,将该用户身份信息的数字摘要加密后保存在边缘端节点;边缘端节点使用协同认证链构建算法,将需要协同认证的多用户按照顺序构建协同认证链,并将其加密后发送至区块链节点;区块链节点将该协同认证链以交易的形式打包上链,并广播到其他区块链节点上;多用户协同认证系统认证算法中,首先系统会收集需要协同认证的用户所提供的身份信息;然后通过查询边缘节点的用户身份信息库,将收集的用户身份信息与用户身份信息库逐一比对,直到所有需要协同认证的用户都认证完成为止;在保证所有参与协同认证的用户都是合法用户时,开始进行协同认证;区块链节点在收到协同认证的请求后,会根据边缘端提供的信息,向云认证节点获取哈希选择函数,并与边缘端开始协同认证链的构建及认证,直到最终的协同认证链认证成功;最后,区块链节点使用构建的协同认证链来验证分布式账本中保存的签名;所述协同认证链构建算法中的哈希函数选择算法中,认证节点首先会生成时间戳,然后根据边缘节点标识号以及时间戳生成哈希函数选择器,该选择器用来决定当前序列的消息使用何种哈希函数进行计算;所述协同认证链构造算法具体如下:步骤1:边缘节点EN确定用于验证的用户身份的信息序列步骤2:边缘节点EN获取哈希选择函数fx=IDEN*x+Tmodn,该函数用来决定序列为x的消息使用何种哈希函数进行计算,n表示哈希函数的总数;步骤3:边缘节点EN使用哈希选择函数fx决定序列中每一个值使用的哈希函数fi,计算每一个用户身份信息的哈希值,获得哈希序列步骤4:边缘节点EN将边缘节点的标识号IDEN作为协同认证链的第一个节点步骤5:边缘节点EN依次取出哈希序列中的每个值HfiUi,与协同认证链的上一个节点拼接起来,获得步骤6:边缘节点EN使用所有的哈希序列生成完整的协同认证链序列步骤7:结束;所述协同认证链认证算法具体如下:步骤1:区块链认证节点BAN获取哈希选择函数fx以及边缘节点的标识号IDEN,并构建协同认证链的第一个节点步骤2:边缘节点EN将协同认证链用户身份信息的哈希值HfiUi的组合成数据包并按照顺序发送至区块链认证节点BAN;步骤3:区块链认证节点BAN收到数据包根据用户身份信息的哈希值HfiUi与协同认证链的上一个节点计算此时的节点值,获得步骤4:区块链认证节点BAN比较数据包中的协同认证链节点值与自身构建的协同认证链节点值是否相等,若相等,则表明当前数据包未被篡改,认证成功;若不相等,返回步骤2并反馈错误信息“数据包已被篡改”;步骤5:区块链认证节点BAN接收边缘节点EN发送的最终数据包,然后比较最终构建的协同认证链节点值是否等于接收的协同认证链节点值步骤6:结束;所述多用户协同认证系统建立算法具体如下:步骤1:边缘节点EN使用椭圆曲线加密算法生成一对密钥对PUEN,PREN,前者为公钥,后者为私钥;然后边缘节点EN对内容为“申请注册”的消息msg1进行签名,生成签名然后使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件边缘节点EN将注册请求签名以及加密信息传输至云认证节点CAN;步骤2:云认证节点CAN收到来自边缘节点EN的注册请求消息后,使用自身私钥PRCAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN;然后云认证节点CAN对注册签名进行验证;如果签名验证成功,则前往步骤3;否则,删除请求信息并返回步骤1;步骤3:云认证节点CAN生成时间戳T,然后根据边缘节点标识号IDEN以及时间戳T生成哈希选择函数fx=IDEN*x+Tmodn,该函数用来决定序列为x的消息使用哪种哈希函数进行计算,n表示哈希函数的总数;步骤4:云认证节点CAN将边缘节点标识号IDEN以及哈希选择函数fx保存值数据库DBCAN中,然后使用边缘节点的公钥PUEN加密函数fx,并将密文发送至边缘节点EN;步骤5:边缘节点EN收到来自云认证节点CAN的密文消息后,使用私钥PREN将其解密,获得哈希选择函数fx;步骤6:边缘节点EN对内容为“申请注册”的消息msg1进行签名,生成签名然后使用区块链节点的公钥PUBAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件边缘节点EN将注册请求签名以及加密信息传输至区块链节点BAN;步骤7:区块链节点BAN收到来自边缘节点EN的注册请求消息后,使用自身私钥PRBAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN;然后区块链节点BAN对注册签名进行验证;如果签名验证成功,则前往步骤8;否则,删除请求信息并返回步骤6;步骤8:区块链节点BAN对内容为“同意注册”的消息msg3进行签名,生成签名区块链节点BAN将签名发送至边缘节点EN;步骤9:边缘节点EN收到签名后,使用区块链节点的公钥PUBAN验证签名,如果验证成功,则前往步骤10,否则,前往步骤6;步骤10:边缘节点EN根据协同认证链构造算法,使用哈希选择函数fx以及用于验证的用户身份的信息序列构成最终的协同认证链然后边缘节点EN使用区块链节点的公钥PUBAN加密协同认证链并使用私钥对协同认证链以及标识号IDEN进行签名;然后边缘节点EN将加密文件以及签名传输至区块链认证节点BAN;步骤11:区块链认证节点BAN收到来自边缘节点EN的加密文件以及签名后,使用自身私钥对加密文件进行解密,获得协同认证链然后区块链认证节点BAN使用边缘节点EN的公钥以及协同认证链验证签名若验证成功,则前往步骤12,否则,前往步骤10;步骤12:区块链认证节点BAN将边缘节点EN的签名打包至区块并上链,完成注册;步骤13:结束;所述多用户协同认证系统的认证算法具体如下:步骤1:边缘节点EN收集待认证用户的输入,获得其身份信息序列然后对内容为“申请认证”的消息msg2进行签名;边缘节点EN使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件边缘节点EN将认证请求签名以及加密信息传输至云认证节点CAN;步骤2:云认证节点CAN收到来自边缘节点EN的认证请求消息后,使用自身私钥PRCAN解密认证信息,获得边缘节点的公钥PUEN和标识号IDEN;然后云认证节点CAN对注册签名进行验证;如果签名验证成功,则前往步骤3;否则,删除请求信息并返回步骤1;步骤3:云认证节点CAN使用边缘节点EN的标识号查询数据库,如果查询成功,则获得该标识号所对应的哈希选择函数fx,并前往步骤4;如果查询失败,则返回错误,并前往步骤1;步骤4:云认证节点CAN使用边缘节点EN的公钥加密哈希选择函数fx,然后将加密文件传输至边缘节点EN;步骤5:边缘节点EN收到来自云认证节点CAN的加密文件后,使用自身私钥对其进行解密,从中获得哈希选择函数fx;然后边缘节点EN使用协同认证链构造算法构建协同认证链序列步骤6:边缘节点EN对内容为“申请认证”的消息msg2进行签名,生成签名然后边缘节点EN使用区块链节点的公钥PUBAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件边缘节点EN将认证请求签名以及加密信息传输至区块链节点BAN;步骤7:区块链节点BAN收到边缘节点EN的签名后,使用自身私钥PRBAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN;然后区块链节点BAN对认证请求签名进行验证;如果签名验证成功,则前往步骤8;否则,删除请求信息并返回步骤6;步骤8:区块链节点BAN对内容为“申请认证”的消息msg2进行签名,生成签名然后使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUBAN,生成加密文件区块链节点BAN将认证请求签名以及加密信息传输至云认证节点CAN;步骤9:云认证节点CAN收到来自区块链节点BAN的认证请求消息后,使用自身私钥PRCAN解密认证信息,获得区块链节点的公钥PUBAN和边缘节点的标识号IDEN;然后云认证节点CAN对认证签名进行验证;如果签名验证成功,则前往步骤10;否则,删除请求信息并返回步骤8;步骤10:云认证节点CAN使用边缘节点EN的标识号查询数据库,如果查询成功,则获取该标识号所对应的哈希选择函数fx,并前往步骤11;如果查询失败,则返回错误,并前往步骤1;步骤11:云认证节点CAN使用区块链节点的公钥PUBAN加密哈希选择函数fx,然后将加密文件传输至区块链节点BAN;步骤12:区块链节点BAN收到来自云认证节点CAN的加密文件后,使用自身私钥对其进行解密,从中获得哈希选择函数fx;然后区块链节点BAN对内容为“同意认证”的消息msg4进行签名,生成签名区块链节点BAN将签名发送至边缘节点EN;步骤13:边缘节点EN收到签名后,使用区块链节点的公钥PUBAN验证签名,如果验证成功,则前往步骤14,否则,前往步骤8;步骤14:边缘节点EN将协同认证链序列按序传输至区块链认证节点BAN;步骤15:区块链认证节点BAN使用协同认证链认证算法对边缘节点EN发送的每一个协同认证链进行验证,若验证成功,则前往步骤16;否则前往步骤17;步骤16:区块链认证节点BAN使用协同认证链验证分布式账本中保存的签名;若存在区块中存在签名能够用协同认证链验证,则返回认证成功的结果;否则返回认证失败的结果;步骤17:结束。

全文数据:

权利要求:

百度查询: 杭州电子科技大学 面向多用户共同管理的区块链智能协同认证方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。