基于区块链的密钥生成方法、装置、电子设备和可读介质制造方法及图纸

技术编号:34354869 阅读:12 留言:0更新日期:2022-07-31 06:23
基于区块链的密钥生成方法,可应用于车载场景,包括:根据目标共识节点的承诺函数生成目标共识节点的承诺值,并根据目标共识节点的承诺函数计算目标共识节点的辅助分片;将目标共识节点的承诺值在区块链中上链,并从区块链中获取其他共识节点的承诺值,其他共识节点的承诺值由其他共识节点根据所拥有的承诺函数生成;根据其他共识节点的承诺值验证接收到的其他共识节点的辅助分片,其他共识节点的辅助分片由其他共识节点根据所拥有的承诺函数计算得到;根据目标共识节点的辅助分片和其他共识节点的辅助分片生成目标共识节点的私钥,并根据目标共识节点的承诺值和其他共识节点上链的承诺值生成私钥对应的公钥。方法有利于提升稳定性和安全性。升稳定性和安全性。升稳定性和安全性。

【技术实现步骤摘要】
基于区块链的密钥生成方法、装置、电子设备和可读介质


[0001]本申请涉及计算机
,尤其涉及一种密钥生成方法、装置、电子设备和可读介质。

技术介绍

[0002]在联盟链的共识过程中,通常会将门限加密和门限签名引入到共识过程中,解决单个节点权限过大导致密钥丢失时加密失效、节点权限滥用或该节点被攻击者控制等安全风险。
[0003]在相关技术中,区块链在初始化的过程中会为各个共识节点下发门限密钥分片,从而允许共识节点在共识过程中采用门限签名的方式进行共识。
[0004]然而,在上述的方案中,门限密钥分片的分发由中心机构根据区块链中的共识节点的情况生成和分发,一旦中心机构发生密钥泄露或者被攻击,会导致整个鉴权系统失效,从而影响区块链的安全性和稳定性。

技术实现思路

[0005]基于上述技术问题,本申请提供一种基于区块链的密钥生成方法,以避免单个节点的密钥泄露或者被攻击而导致整个区块链的鉴权系统失效,提升了系统的稳定性和安全性。
[0006]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0007]根据本申请实施例的一个方面,提供一种基于区块链的密钥生成方法,包括:根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。
[0008]根据本申请实施例的一个方面,提供一种基于区块链的密钥生成装置,包括:承诺计算模块,用于根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;承诺获取模块,用于将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共
识节点根据所拥有的承诺函数生成;承诺校验模块,用于根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;密钥生成模块,用于根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。
[0009]在本申请的一些实施例中,基于以上技术方案,承诺校验模块包括;辅助分片接收单元,用于接收各个其他共识节点发送的辅助分片;辅助分片验证单元,用于根据所述其他共识节点的承诺值,对所述其他共识节点发送的辅助分片进行验证;验证结果生成单元,用于若验证通过,则将所述其他共识节点的辅助分片加入验证结果;第一辅助分片发送单元,用于若验证失败,则丢弃所述其他共识节点的辅助分片并向所述区块链中的剩余共识节点发送验证失败的辅助分片,以使所述剩余共识节点根据所述验证失败的辅助分片丢弃从所述其他共识节点接收到的辅助分片。
[0010]在本申请的一些实施例中,基于以上技术方案,承诺校验模块还包括:失败辅助分片接收单元,用于从所述其他共识节点接收所述其他共识节点验证失败的辅助分片,其中,所述其他共识节点验证失败的辅助分片是所述区块链中的特定共识节点针对于所述其他共识节点生成的辅助分片;失败辅助分片验证单元,用于根据所述特定共识节点上链的承诺值,对所述其他共识节点验证失败的辅助分片进行验证;辅助分片丢弃单元,用于根据验证结果,丢弃从所述特定共识节点接收到的辅助分片。
[0011]在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:变化判断模块,用于当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;密钥新增模块,用于若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥;第一密钥重新生成模块,用于若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
[0012]在本申请的一些实施例中,基于以上技术方案,密钥新增模块包括:新增辅助分片生成单元,用于若所述共识节点数量增加并且所述门限值未发生变化,根据所述承诺函数生成针对于所述新增的共识节点的辅助分片;新增辅助分片发送单元,用于向所述新增的共识节点发送所生成的辅助分片,以使所述新增的共识节点根据所接收的辅助分片生成私钥。
[0013]在本申请的一些实施例中,基于以上技术方案,第一密钥重新生成模块包括:
节点选择单元,用于若所述门限值发生变化,则从所述区块链中选择共识节点作为协商节点,其中,所述协商节点的数量满足变化后门限值;指令发送单元,用于向所述协商节点发送密钥更新指令,以通过所述协商节点触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
[0014]在本申请的一些实施例中,基于以上技术方案,节点选择模块包括:密钥扩展单元,用于通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;密钥标签生成单元,用于根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;节点确定单元,用于根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点作为协商节点。
[0015]在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:承诺函数生成模块,用于响应于所述密钥更新指令,根据所述变化后门限值,生成所述目标共识节点的第二承诺函数;承诺重新生成模块,用于根据所述第二承诺函数重新生成所述目标共识节点的承诺值,并根据所述第二承诺函数重新计算所述目标共识节点的辅助分片;承诺值获取模块,用于将重新生成的承诺值在所述区块链中上链并从所述区块链中获取所述协商节点重新生成的承诺值;承诺值验证模块,用于根据所述协商节点重新生成的承诺值验证接收到的所述协商节点重新计算的辅助分片;第二密钥重新生成模块,若对所述协商节点重新计算的辅助分片验证通过,则根据所述目标共识节点重新计算的辅助分片和所述协商节点重新计算的辅助分片重新生成所述私钥,并根据所述目标共识节点重新生成的承诺值和所述协商节点重新生成的承诺值重新生成所述公钥。
[0016]在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:第二辅助分片发送模块,用于若对所述协商节点重新计算的辅助分片验证未通过,则向其他协商节点发送验证失败的辅助分片,以使所述其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的密钥生成方法,其特征在于,包括:根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。2.根据权利要求1所述的方法,其特征在于,所述根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,包括;接收各个其他共识节点发送的辅助分片;根据所述其他共识节点的承诺值,对所述其他共识节点发送的辅助分片进行验证;若验证通过,则将所述其他共识节点的辅助分片加入验证结果;若验证失败,则丢弃所述其他共识节点的辅助分片并向所述区块链中的剩余共识节点发送验证失败的辅助分片,以使所述剩余共识节点根据所述验证失败的辅助分片丢弃从所述其他共识节点接收到的辅助分片。3.根据权利要求2所述的方法,其特征在于,所述根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,还包括:从所述其他共识节点接收所述其他共识节点验证失败的辅助分片,其中,所述其他共识节点验证失败的辅助分片是所述区块链中的特定共识节点针对于所述其他共识节点生成的辅助分片;根据所述特定共识节点上链的承诺值,对所述其他共识节点验证失败的辅助分片进行验证;根据验证结果,丢弃从所述特定共识节点接收到的辅助分片。4.根据权利要求1所述的方法,其特征在于,所述根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥之后,所述方法还包括:当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥;若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥。5.根据权利要求4所述的方法,其特征在于,所述若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥,包括:
若所述共识节点数量增加并且所述门限值未发生变化,根据所述承诺函数生成针对于所述新增的共识节点的辅助分片;向所述新增的共识节点发送所生成的辅助分片,以使所述新增的共识节点根据所接收的辅助分片生成私钥。6.根据权利要求4所述的方法,其特征在于,所述若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥,包括:若所述门限值发生变化,则从所述区块链中选择共识节点作为协商节点,其中,所述协商节点的数量满足变化后门限值;向所述协商节点发送密钥更新指令,以通过所述协商节点触发所述区块链中的共识节点重新生成所述私钥和所述公钥。7.根据权利要求6所述的方法,其特征在于,所述从所述区块链中选择共识节点作为协商节点,包括:通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点...

【专利技术属性】
技术研发人员:张靖宁张韬
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1