CN114826592B - 基于区块链的密钥生成方法、装置、电子设备和可读介质 - Google Patents
基于区块链的密钥生成方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN114826592B CN114826592B CN202210711405.0A CN202210711405A CN114826592B CN 114826592 B CN114826592 B CN 114826592B CN 202210711405 A CN202210711405 A CN 202210711405A CN 114826592 B CN114826592 B CN 114826592B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- consensus
- commitment
- auxiliary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
基于区块链的密钥生成方法,可应用于车载场景,包括:根据目标共识节点的承诺函数生成目标共识节点的承诺值,并根据目标共识节点的承诺函数计算目标共识节点的辅助分片;将目标共识节点的承诺值在区块链中上链,并从区块链中获取其他共识节点的承诺值,其他共识节点的承诺值由其他共识节点根据所拥有的承诺函数生成;根据其他共识节点的承诺值验证接收到的其他共识节点的辅助分片,其他共识节点的辅助分片由其他共识节点根据所拥有的承诺函数计算得到;根据目标共识节点的辅助分片和其他共识节点的辅助分片生成目标共识节点的私钥,并根据目标共识节点的承诺值和其他共识节点上链的承诺值生成私钥对应的公钥。方法有利于提升稳定性和安全性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种密钥生成方法、装置、电子设备和可读介质。
背景技术
在联盟链的共识过程中,通常会将门限加密和门限签名引入到共识过程中,解决单个节点权限过大导致密钥丢失时加密失效、节点权限滥用或该节点被攻击者控制等安全风险。
在相关技术中,区块链在初始化的过程中会为各个共识节点下发门限密钥分片,从而允许共识节点在共识过程中采用门限签名的方式进行共识。
然而,在上述的方案中,门限密钥分片的分发由中心机构根据区块链中的共识节点的情况生成和分发,一旦中心机构发生密钥泄露或者被攻击,会导致整个鉴权系统失效,从而影响区块链的安全性和稳定性。
发明内容
基于上述技术问题,本申请提供一种基于区块链的密钥生成方法,以避免单个节点的密钥泄露或者被攻击而导致整个区块链的鉴权系统失效,提升了系统的稳定性和安全性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种基于区块链的密钥生成方法,包括:
根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;
将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;
根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;
根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。
根据本申请实施例的一个方面,提供一种基于区块链的密钥生成装置,包括:
承诺计算模块,用于根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;
承诺获取模块,用于将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;
承诺校验模块,用于根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;
密钥生成模块,用于根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。
在本申请的一些实施例中,基于以上技术方案,承诺校验模块包括;
辅助分片接收单元,用于接收各个其他共识节点发送的辅助分片;
辅助分片验证单元,用于根据所述其他共识节点的承诺值,对所述其他共识节点发送的辅助分片进行验证;
验证结果生成单元,用于若验证通过,则将所述其他共识节点的辅助分片加入验证结果;
第一辅助分片发送单元,用于若验证失败,则丢弃所述其他共识节点的辅助分片并向所述区块链中的剩余共识节点发送验证失败的辅助分片,以使所述剩余共识节点根据所述验证失败的辅助分片丢弃从所述其他共识节点接收到的辅助分片。
在本申请的一些实施例中,基于以上技术方案,承诺校验模块还包括:
失败辅助分片接收单元,用于从所述其他共识节点接收所述其他共识节点验证失败的辅助分片,其中,所述其他共识节点验证失败的辅助分片是所述区块链中的特定共识节点针对于所述其他共识节点生成的辅助分片;
失败辅助分片验证单元,用于根据所述特定共识节点上链的承诺值,对所述其他共识节点验证失败的辅助分片进行验证;
辅助分片丢弃单元,用于根据验证结果,丢弃从所述特定共识节点接收到的辅助分片。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
变化判断模块,用于当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;
密钥新增模块,用于若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥;
第一密钥重新生成模块,用于若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
在本申请的一些实施例中,基于以上技术方案,密钥新增模块包括:
新增辅助分片生成单元,用于若所述共识节点数量增加并且所述门限值未发生变化,根据所述承诺函数生成针对于所述新增的共识节点的辅助分片;
新增辅助分片发送单元,用于向所述新增的共识节点发送所生成的辅助分片,以使所述新增的共识节点根据所接收的辅助分片生成私钥。
在本申请的一些实施例中,基于以上技术方案,第一密钥重新生成模块包括:
节点选择单元,用于若所述门限值发生变化,则从所述区块链中选择共识节点作为协商节点,其中,所述协商节点的数量满足变化后门限值;
指令发送单元,用于向所述协商节点发送密钥更新指令,以通过所述协商节点触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
在本申请的一些实施例中,基于以上技术方案,节点选择模块包括:
密钥扩展单元,用于通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;
密钥标签生成单元,用于根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;
节点确定单元,用于根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点作为协商节点。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
承诺函数生成模块,用于响应于所述密钥更新指令,根据所述变化后门限值,生成所述目标共识节点的第二承诺函数;
承诺重新生成模块,用于根据所述第二承诺函数重新生成所述目标共识节点的承诺值,并根据所述第二承诺函数重新计算所述目标共识节点的辅助分片;
承诺值获取模块,用于将重新生成的承诺值在所述区块链中上链并从所述区块链中获取所述协商节点重新生成的承诺值;
承诺值验证模块,用于根据所述协商节点重新生成的承诺值验证接收到的所述协商节点重新计算的辅助分片;
第二密钥重新生成模块,若对所述协商节点重新计算的辅助分片验证通过,则根据所述目标共识节点重新计算的辅助分片和所述协商节点重新计算的辅助分片重新生成所述私钥,并根据所述目标共识节点重新生成的承诺值和所述协商节点重新生成的承诺值重新生成所述公钥。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
第二辅助分片发送模块,用于若对所述协商节点重新计算的辅助分片验证未通过,则向其他协商节点发送验证失败的辅助分片,以使所述其他协商节点停止重新生成所述私钥和所述公钥;
节点重新选择模块,用于从所述区块链中重新选择共识节点,其中,所选择的共识节点中不包括发送验证失败的辅助分片的所述协商节点。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
辅助分片重新计算模块,用于根据所述第二承诺函数重新计算对应于各个协商节点的辅助分片;
辅助分片重新发送模块,用于向各个协商节点发送重新计算的辅助分片,以使各个协商节点根据所述重新计算的辅助分片以及所述区块链中的所述目标共识节点重新生成的承诺值进行验证。
在本申请的一些实施例中,基于以上技术方案,第一密钥重新生成模块包括:
更新指令发送单元,用于若所述门限值发生变化,或者若所述共识节点数量减少且所述门限值未发生变化,则向所述区块链中的所有共识节点发送密钥更新指令,以使所述区块链中的所有共识节点响应于所述密钥更新指令重新生成私钥和公钥。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
辅助分片计算模块,用于根据所述承诺函数,分别计算对应于所述区块链中其他共识节点的辅助分片;
第三辅助分片发送模块,用于向所述各个共识节点发送对应的辅助分片,以供各个共识节点根据接收到的辅助分片和所述目标共识节点的承诺值进行验证。
根据本申请实施例的一个方面,提供一种电子设备,该电子提示设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的基于区块链的密钥生成方法。
根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的基于区块链的密钥生成方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供基于区块链的密钥生成方法。
在本申请的实施例中,区块链中的各个共识节点之间的相互验证,由各个区块链节点各自生成用于进行门限加密的私钥和公钥,不需要由中央机构来为各个共识节点生成和分配私钥,并且各个共识节点在加密过程中的重要程序相同,从而避免单个节点的密钥泄露或者被攻击而导致整个区块链的鉴权系统失效,提升了系统的稳定性和安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一个实施环境的示意图。
图2示出本申请实施例中运行本申请中基于区块链的密钥生成方法的整体流程示意图。
图3为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图4为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图5为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图6为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图7为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图8为本申请实施例中新增节点密钥生成过程的示意图。
图9为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图10为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图11为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图12为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图13为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图14为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图15为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。
图16示意性地示出了本申请实施例中基于区块链的密钥生成装置的组成框图。
图17示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,本申请中的基于区块链的密钥生成方法可以应用于在区块链中进行门限加密的场景中,并且具体可以应用在联盟链中各个节点生成门限密码的场景中。在此类场景中,为了进行门限加密,需要为参与共识过程的各个共识节点分配对应的私钥以及各个共识节点公用的公钥。区块链中会设置有门限值k,当有不少于k个不同的节点对一个相同的明文签名生成签名分片后,可以把任意k个分片聚合成一个完整签名。该完整签名可以使用共用的公钥来验证。例如,在联盟链中,参与联盟链的各个机构可以通过本申请的方案相互确认身份,随后共识节点相互协商配合生成私钥和公钥,而不需要单一的节点或者系统来为各个共识节点生成和分配私钥以及公钥。通过本申请的方案,区块链中的各个共识节点通过各自生成的随机多项式分别计算各自的承诺和针对于其他共识节点的辅助分片。所计算的承诺会被公开而可以被任意节点读取,而辅助分片则会被通过另外的渠道提供给对应的共识节点。各个共识节点根据接收到的辅助分片的来源,获取对应的共识节点的承诺,再根据承诺对辅助分片进行验证,从而确认各个节点的合法身份,最后根据承诺和辅助分片分别计算出私钥和公钥。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营管理等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营管理模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、管理网络情况、管理节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
请参阅图1,图1为本申请实施例中一个实施环境的示意图。图1中示出了一个区块链系统,区块链系统100是指用于进行节点与节点之间数据存储的系统,该区块链系统中可以包括多个节点101,多个节点101可以是指区块链系统中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链系统内的交易数据。为了保证区块链系统内的信息互通,区块链系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链系统中的任意节点接收到输入信息时,区块链系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使区块链系统中全部节点上存储的数据均一致。各个节点具体可以是终端设备或者服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。终端设备可以手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。终端设备以及服务器的数量也不做限制。
在本申请中,用于进行门限密码的私钥和公钥是由区块链系统中各个共识节点共同协商生成的,这些共识节点共同执行本申请中所介绍的方法来生成对应的私钥和公钥。具体地,请参阅图2,图2示出本申请实施例中运行本申请中基于区块链的密钥生成方法的整体流程示意图。如图2所示,该密钥生成方法总体包括四个部分:生成承诺和辅助分片210、发送辅助分片220、验证承诺230以及计算私钥和公钥240。具体地,图中的区块链中包括4个节点,节点1至节点4,在生成承诺和辅助分片210中,各节点在进行协商生成密钥之前需要通过区块链配置块确定门限值t,该门限值通常根据区块链或者联盟链中共识节点总数、拜占庭节点的比例设定,之后各节点生成t次的随机多项式f 1(x)、f 2(x)、f 3(x)和f 4(x),各个节点根据多项式的系数来计算承诺,并且将计算得到的承诺公开,该承诺对多项式系数具有隐藏性,即在承诺披露之前,其他的共识节点不会知道生成承诺的共识阶段所选择的系数。随后各个节点为所有节点计算辅助分片,如图2所示,节点1会为节点1至节点4分别生成对应的辅助分片。在发送辅助分片220中,各节点将生成的承诺上链,其它节点可以从区块链的配置块中读取公开的承诺。各节点为其它节点生成的辅助分片不公开,将通过链下可信信道发送给其余节点。在验证承诺230中,各个节点在收集到其它节点发送的辅助分片后,通过对应节点公开的系数承诺验证辅助分片的正确性。例如,首先节点3通过节点2公开的承诺2计算对应的辅助分片承诺,该承诺2对辅助分片2具有绑定性,即节点2在生成承诺2后将无法修改被承诺的多项式系数。通过承诺2,节点3可以确定节点2对于还未解密的多项式系数只能有唯一的解读方式。通过辅助分片2可验证辅助分片承诺的正确性。若辅助分片验证失败,则节点将进入对节点的申诉(complaint)阶段,如图中所示的,节点3对节点4提供的辅助分片4验证失败。在申诉过程中,节点3会公开节点4发送的辅助分片4作为证据,其余节点将对根据节点4公开的承诺4对节点3提供的辅助分片4进行验证,若验证不通过,则其余节点会将节点4视为作恶节点并丢弃其从节点4的辅助分片,例如节点1和节点2会丢弃其从节点4接收到辅助分片,可以理解,节点1和节点2所丢弃的从节点4接收到辅助分片与节点3发送的辅助分片4是不同的。然后,在计算私钥和公钥240中,各节点通过收集到的辅助分片计算各自的门限密钥分片作为各自的私钥,同时通过各节点公开的承诺计算公钥,如图2所示,节点1、节点2和节点3分别计算对应的私钥sk 1、sk 2和sk 3以及公钥pk。
可以理解的是,图2中以4个共识节点为例,但该节点数量仅用于示例,在实际的实现中节点的数量不做限制。
以下对本申请实施例中的数据分析方法进行进一步介绍。请参阅图3,图3为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图3所示,该基于区块链的密钥生成方法至少包括步骤S310至S340,详细介绍如下:
步骤S310,根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片。
本申请的方案由区块链或者联盟链中的共识节点执行,并且在本实施例中,由目标共识节点执行。可以理解,目标共识节点是区块链中的共识节点之一。承诺函数是共识节点生成的多项式,多项式的次数取决于对于门限加密规定的门限值T,而门限值T通常根据区块链或者联盟链中共识节点总数、拜占庭节点的比例设定。承诺值通常根据承诺函数中的系数确定,而辅助分片则是将目标共识节点的节点编号输入到承诺函数中进行计算得到的计算结果。
步骤S320,将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成。
目标共识节点会将其生成的承诺值在区块链中上链,从而将承诺值公开给区块链中的其他共识节点。区块链中的其他共识节点也会通过相同的方式生成承诺值,即,其他共识节点也会根据门限值T生成承诺函数,即多项式,其中,多项式的系数的随机生成的,因此,其他共识节点也会拥有各自的承诺函数,从而根据各自的承诺函数生成各自的承诺值,并且将各自的承诺值上链来进行公开。目标共识节点可以从区块链中获取到其他共识节点的承诺值,以用于后续对其他共识节点的辅助分片进行验证。
步骤S330,根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到。
目标共识节点会从其他共识节点接收到辅助分片。这些辅助分片是其他共识节点针对于目标共识节点生成的,例如,区块链中包括共识节点A、B和C,共识节点A和B都会从共识节点C接收到辅助分片,但共识节点A和B接收到的辅助分片是不同的。目标共识节点根据其他共识节点的承诺值验证接收到的其他共识节点的辅助分片。承诺值和辅助分片可以用于对其他共识节点的身份进行验证,由于被公开的承诺值是根据承诺函数生成的,而辅助分片是根据承诺函数进行计算得到的,因此,根据被公开的承诺值,其他共识节点构造出相同的多项式,并且把节点对应的节点编号带入进行计算从而得到计算出得验证值,从而确认验证值和辅助分片之间是否匹配来确认共识节点的身份。
步骤S340,根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。
在验证通过后,目标共识节点会根据目标共识节点的辅助分片和其他共识节点的辅助分片生成目标共识节点的私钥。由于每个共识节点所接收到的辅助分片不同,因此,该私钥是目标共识节点专用的密钥,即区块链中的每个共识节点都会生成各自的不同私钥。目标共识节点还会根据目标共识节点的承诺值和其他共识节点上链的承诺值生成私钥对应的公钥。由于承诺值是公开的,并且对于每个共识节点都相同,因此每个共识节点所生成的公钥是相同。各个共识节点的私钥共同用于对公钥进行解密,从而支持共同进行的门限加密过程。
在本申请的实施例中,区块链中的各个共识节点之间的相互验证,由各个区块链节点各自生成用于进行门限加密的私钥和公钥,不需要由中央机构来为各个共识节点生成和分配私钥,并且各个共识节点在加密过程中的重要程序相同,从而避免单个节点的密钥泄露或者被攻击而导致整个区块链的鉴权系统失效,提升了系统的稳定性和安全性。
在本申请的一个实施例中,基于上述的技术方案,请参阅图4,图4为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图4所示,上述步骤S330,根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,具体包括如下步骤:
步骤S410,接收各个其他共识节点发送的辅助分片;
步骤S420,根据所述其他共识节点的承诺值,对所述其他共识节点发送的辅助分片进行验证;
步骤S430,若验证通过,则将所述其他共识节点的辅助分片加入验证结果;
步骤S440,若验证失败,则丢弃所述其他共识节点的辅助分片并向所述区块链中的剩余共识节点发送验证失败的辅助分片,以使所述剩余共识节点根据所述验证失败的辅助分片丢弃从所述其他共识节点接收到的辅助分片。
在本实施例中,目标共识节点会对接收到的辅助分片进行校验,并且对于校验失败的辅助分片进行申诉,来通知其他共识节点不采用验证失败的共识节点的辅助分片。具体地,目标共识节点首先从各个其他共识节点接收到其他共识节点发送的辅助分片。对于每个其他共识节点,目标共识节点可以将接收到的辅助分片与之前获取到的承诺值配对。随后,对于每对承诺值和辅助分片,目标共识节点根据其他共识节点的承诺值,对其他共识节点发送的辅助分片进行验证。如果验证通过,则表示对应的其他共识节点的身份正常的区块链节点,因此,会将该其他共识节点的辅助分片加入验证结果,以用于后续生成私钥。如果验证失败,则表示该其他共识节点是拜占庭节点,此时,目标共识节点会发起针对于该拜占庭节点的申诉,以使得该拜占庭节点的承诺值和辅助分片不被用于生成私钥和公钥,以避免加密失效。具体地,目标共识节点会公开该验证失败的辅助分片作为证据,例如通过在区块链中上链或者通过广播的方式发送给区块链中的剩余共识节点。区块链中的剩余共识节点在接收到目标共识节点的申诉之后,会利用该拜占庭节点公开的承诺值对目标共识节点验证失败的辅助分片再进行校验。如果校验也失败,则会丢弃掉来自该拜占庭节点的辅助分片。此时,区块链中除该拜占庭节点之外的共识节点都不再使用该拜占庭节点的承诺值和辅助分片来生成私钥和公钥,从而确保密钥的安全性。
在本申请的实施例中,在承诺验证失败时能够识别出拜占庭节点,共识节点会通知区块链中的所有共识节点将拜占庭节点的信息从生成密钥的信息中排除,从而能够确保密钥生成过程不受到异常节点的干扰,避免密钥泄密,从而提升区块链系统的安全性。
在本申请的一个实施例中,基于上述的技术方案,请参阅图5,图5为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图5所示,上述步骤S330,根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,还包括如下步骤:
步骤S510,从所述其他共识节点接收所述其他共识节点验证失败的辅助分片,其中,所述其他共识节点验证失败的辅助分片是所述区块链中的特定共识节点针对于所述其他共识节点生成的辅助分片;
步骤S520,根据所述特定共识节点上链的承诺值,对所述其他共识节点验证失败的辅助分片进行验证;
步骤S530,根据验证结果,丢弃从所述特定共识节点接收到的辅助分片。
在本实施例中,目标共识节点会响应于其他共识节点对所接收到的验证码的申诉而进行相应处理。具体地,当其他的共识节点对接收到的辅助分片验证失败时,会向包括目标共识节点在内的所有其他共识节点发送该验证失败的辅助分片,以发起对向其发送该验证失败的辅助分片的共识节点申诉。目标共识节点会从其他共识节点接收到其他共识节点验证失败的辅助分片,该验证失败的辅助分片是发送辅助分片的以防为其他共识节点生成的。例如,若共识节点Q对来自于特定共识节点P的辅助分片X验证失败,并且发起申诉,则目标共识节点M在接收到共识节点Q发送的辅助分片X后,通常还会拥有特定共识节点P发送的为目标共识节点M生成的辅助分片Y,辅助分片X和辅助分片Y是不同的。目标共识节点会特定共识节点上链的承诺值,对其他共识节点验证失败的辅助分片进行验证。其他共识节点在发送辅助分片时将申诉所针对的节点一起通知给目标共识节点,目标共识节点则可以根据该信息从之前获取到的承诺值或者从区块链中获取特定共识节点对应的承诺值,并且利用该承诺值对其他共识节点发送来的辅助分片进行验证。根据验证的结果,目标共识节点会对来自特定共识节点的辅助分片进行后续处理。具体地,通常在申诉过程中验证结果为验证失败,表示特定共识节点公开的承诺与其实际发送的辅助分片是不相符的,即特定共识节点存在作恶行为,则目标共识节点会根据该验证结果丢弃来自特征共识节点的辅助分片,从而在后续生成公钥和私钥时不会将来自特定共识节点的数据加入到生成密钥的依据中。各个共识节点都会根据该验证失败的辅助分片丢弃其从特定共识节点接收到的辅助分片,从而将特定共识节点从整个密钥生成的过程中排除,以避免该节点破坏密钥生成过程。
在本申请的实施例中,在密钥生成的过程中,通过公开验证失败的校验码,以使将发送未通过验证的校验码的共识节点从密钥生成的过程中排除,从而防止密钥被泄露给可能存在问题的节点,确保生成的密钥的安全性。
在本申请的一个实施例中,基于上述的技术方案,请参阅图6,图6为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图6所示,上述步骤S340,根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥之后,方法还包括如下步骤:
步骤S610,当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;
步骤S620,若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥;
步骤S630,若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
在本实施例中,在共识节点共同协商生成密钥后,如果区块链中的共识节点的数量发生变化,则需要对已经生成的密钥进行更新,以便确保密钥的保密性。具体地,区块链中新增共识节点或者共识节点退出时,会引起共识节点数量发生变化。当区块链的共识节点数量发生变化时,目标共识节点会判断区块链的门限值是否发生变化,门限值用于指示区块链中进行门限加密所需的共识节点数量。该门限值通常是根据区块链中进行共识过程所需要的节点数量来确定的。如果区块链中的共识节点增加并且目标共识节点判断门限值不会发生变化,则不需要所有的共识节点进行密钥更新,而只需要为新增的共识节点生成私钥和公钥即可。可以理解的是,在此情况下,新增的共识节点所生成的公钥与之前生成的相比不会发生变化。如果共识节点数量减少,即有共识节点退出区块链,或者如果共识节点数量减少或者增加而导致门限值发生变化,则目标共识节点会触发区块链中所有的共识节点重新私钥和公钥。由于退出区块链的共识节点仍然持有门限密钥,因此已退出的节点对门限加密的消息或密文仍具有计算签名分片或解密分片的能力,为保证门限密码系统的前向安全性,其它共识节点需要对自己的门限密钥进行更新,使退出的共识节点的门限密钥失去计算签名分片或解密分片的能力。而当门限值发生变化时,则需要重新生成密钥来确保各个共识节点所使用的公钥和私钥能够满足共识过程中进行门限加密共识所需要的节点数量条件,从而使得共识上链的过程能够正常进行。
在本申请的实施例中,根据共识节点数量的变化和门限值的变化情况来确定如何对区块链中当前所使用的公钥和私钥进行更新,从而来确保密钥私通的安全性和可用性。
在本申请的一个实施例中,基于上述的技术方案,请参阅图7,图7为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图7所示,上述步骤S620,若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥,具体包括如下步骤:
步骤S710,若所述共识节点数量增加并且所述门限值未发生变化,根据所述承诺函数生成针对于所述新增的共识节点的辅助分片;
步骤S720,向所述新增的共识节点发送所生成的辅助分片,以使所述新增的共识节点根据所接收的辅助分片生成私钥。
在本实施例中,在区块链中新增共识节点并且门限值不变的情况下,共识节点可以通过为新增节点计算辅助分片的方式帮助新增节点生成私钥,同时新增的共识节点也可以根据各个共识节点公开的承诺值计算公钥。具体地,如果共识节点数量增加并且门限值未发生变化,则目标共识节点会根据之前生成的承诺函数,将新增的共识节点的节点编号带入承诺函数中进行计算,从而得到针对于新增的共识节点生成的辅助分片,并且将所生成的辅助分片发送给新增的共识节点,以供新增的共识节点根据所接收到的来自各个共识节点的辅助分片生成其自己的私钥。可以理解,在此实施例中,新增的共识节点并不拥有承诺函数,由于拥有承诺函数的节点数量不变,各个共识节点生成辅助分片所采用的承诺函数也不变,因此新增的共识节点可以直接根据区块链中已经公开的承诺值来生成当前正在使用的公钥。而新增的共识节点所生成的私钥则可以与其他共识节点的私钥一起用于对公钥加密的内容进行解密。区块链中所有的共识节点都会生成针对于新增的共识节点的辅助分片。请参阅图8,图8为本申请实施例中新增节点密钥生成过程的示意图。如图8所示,区块链中存在n个共识节点,对于新增的共识节点n+1,共识节点1至共识节点n会分别根据其所拥有的多项式f 1(x)至f n(x)计算出对应的辅助分片1至辅助分片n,并且发送给新增的共识节点n+1,共识节点n+1则会根据接收到的辅助分片计算出私钥sk。
在本申请的实施例中,在新增共识节点时,仅对于共识节点生成对应的私钥,从而能够以较低的计算量来维护区块链中共识节点密钥的状态,节约密钥更新过程的资源消耗,提升系统运行效率。
在本申请的一个实施例中,基于上述的技术方案,请参阅图9,图9为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图9所示,上述步骤S630,若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥,具体包括如下步骤:
步骤S910,若所述门限值发生变化,则从所述区块链中选择共识节点作为协商节点,其中,所述协商节点的数量满足变化后门限值;
步骤S920,向所述协商节点发送密钥更新指令,以通过所述协商节点触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
在本实施例中,当新增或者退出共识节点导致门限值发生变化时,会从共识节点中选择一部分节点作为协商节点来更新区块链中的公钥和私钥。具体地,如果门限值发生变化,则目标共识节点会从区块链中的所有共识节点中选择一部分共识节点作为协商节点。所选择的协商节点的数量通常等于变化后的门限值的数量。随后,目标共识节点向各个协商节点发送密钥更新指令,来通过各个协商节点触发区块链的共识节点重新生成私钥和公钥。可以理解,重新生成公钥和私钥的过程与上文中描述的过程类似,区别在于仅协商节点会重新生成新的承诺函数,并且对区块链中所有的共识节点生成辅助分片。其他的共识节点虽然不参与到计算承诺值和辅助分片,但仍然会对接收到的辅助分片进行验证以及根据承诺值和辅助分片计算各自的私钥以及共用的公钥。
在本申请的实施例中,在协商重新生成密钥的过程中,仅采用门限值个数的节点进行协商过程,可以减少协商过程中网络通信和计算量的开销,从而提高系统的运行效率。
在本申请的一个实施例中,基于上述的技术方案,请参阅图10,图10为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图10所示,上述步骤S910,从所述区块链中选择共识节点作为协商节点,具体包括如下步骤:
步骤S1010,通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;
步骤S1020,根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;
步骤S1030,根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点作为协商节点。
在本实施例中,目标共识节点从区块链的所有共识节点中选择出一部分共识节点作为协商节点。具体地,目标共识节点首先根据预设映射关系将所述区块链的区块高度扩展为密钥信息。预设映射关键通常可以采用密钥派生函数来进行计算。密钥派生函数是一个确定性函数,使用伪随机函数根据当前的区块高度cnt派生出密钥信息,密钥派生函数可用于将密钥扩展成更长的密钥。在本实施例中,密钥信息通常包括秘密secret和种子seed。随后,目标共识节点根据区块高度和所述变化后门限值,生成多个密钥标签label,并且密钥标签的数量满足变化后门限值。具体地,密钥标签可以根据区块高度值和变化后门限值的累加确定。例如,变化后门限值为t,会生成t个密钥便签label,并且密钥标签label分别为cnt、cnt+1,…,cnt+t-1。最后,目标共识节点将密钥信息,即秘密secret和种子seed分别与多个密钥标签label输入到伪随机函数PRF(secret,label,seed)中进行计算,从而得到t个伪随机数。伪随机函数是PRF一个确定性函数,PRF具有以下特性:没有一个有效算法能够(具有显著优势)区分PRF生成的伪随机数和真随机数。随后将所有的t个伪随机数对共识节点数量n取模,从而得到t个协商节点的节点编号,从而根据编号得到共识节点作为协商节点。
在本申请的一个实施例中,基于上述的技术方案,请参阅图11,图11为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图11所示,本申请介绍的基于区块链的密钥生成方法还包括如下步骤:
步骤S1110,响应于所述密钥更新指令,根据所述变化后门限值,生成所述目标共识节点的第二承诺函数;
步骤S1120,根据所述第二承诺函数重新生成所述目标共识节点的承诺值,并根据所述第二承诺函数重新计算所述目标共识节点的辅助分片;
步骤S1130,将重新生成的承诺值在所述区块链中上链并从所述区块链中获取所述协商节点重新生成的承诺值;
步骤S1140,根据所述协商节点重新生成的承诺值验证接收到的所述协商节点重新计算的辅助分片;
步骤S1150,若对所述协商节点重新计算的辅助分片验证通过,则根据所述目标共识节点重新计算的辅助分片和所述协商节点重新计算的辅助分片重新生成所述私钥,并根据所述目标共识节点重新生成的承诺值和所述协商节点重新生成的承诺值重新生成所述公钥。
具体地,在本实施例中,目标共识节点会根据密钥更新指令来重新生成私钥和公钥。目标共识节点所得到的密钥更新指令可以其自己生成的,也可以是由其他共识节点生成后发送给目标共识节点的。目标共识节点响应于密钥更新指令,会根据变化后门限值生成所述目标共识节点的第二承诺函数。具体地,根据变化后门限值t’,目标共识节点会生成一个t’次的多项式来作为第二承诺函数。随后,根据第二承诺函数的系数,目标共识节点重新生成目标共识节点的承诺值,并且将目标共识节点的节点编号带入第二承诺函数进行计算,来重新计算目标共识节点的辅助分片。目标共识节点会将重新生成的承诺值在区块链中上链,以进行公开,并且从区块链中获取其他的协商节点重新生成的承诺值。根据协商节点重新生成的承诺值,目标共识节点可以对从其他协商节点接收到的辅助分片验证。其他协商节点会根据其重新生成的第二承诺函数来针对于目标共识节点重新计算出辅助分片并且提供给目标共识节点。如果对协商节点重新计算的辅助分片验证通过,则表示协商节点是正确进行加密过程的诚实共识节点,因此目标共识节点重新计算的辅助分片和协商节点重新计算的辅助分片重新生成私钥,并且根据目标共识节点重新生成的承诺值和协商节点重新生成的承诺值重新生成公钥。
在本申请的一个实施例中,基于上述的技术方案,请参阅图12,图12为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图12所示,本申请介绍的基于区块链的密钥生成方法还包括如下步骤:
步骤S1210,若对所述协商节点重新计算的辅助分片验证未通过,则向其他协商节点发送验证失败的辅助分片,以使所述其他协商节点停止重新生成所述私钥和所述公钥;
步骤S1220,从所述区块链中重新选择共识节点,其中,所选择的共识节点中不包括发送验证失败的辅助分片的所述协商节点。
在本实施例中,目标共识节点在通过协商节点重新生成私钥和公钥过程中,如果协商节点中存在作恶节点,则会停止当前的重新生成过程,并且将作恶节点排除并重新协商密钥。具体地,如果对协商节点重新计算的辅助分片验证未通过,则该协商节点可能是作恶节点。此时,目标共识节点会向其他的协商节点发送该验证失败的辅助分片。其他协商节点在接收到目标共识节点验证失败的辅助分片后,会根据对应共识节点公开的承诺值对目标共识节点验证失败的辅助分片进行再次验证,如果结果仍然失败,则会停止当前重新生成私钥和公钥的过程。随后,目标共识节点会从区块链中重新算则共识节点,选择方式与上文中描述的方式相同,但是,在选择的过程中,会将之前确定的可能是作恶节点的共识节点排除在外,使得所选择的共识节点中不包括发送验证失败的辅助分片的协商节点。
在本申请的实施例中,当协商重新生成密钥的过程出现作恶行为,则直接重新开始协商过程,从而确保所生成密钥的安全性。
在本申请的一个实施例中,基于上述的技术方案,请参阅图13,图13为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图13所示,本申请介绍的基于区块链的密钥生成方法还包括如下步骤:
步骤S1310,根据所述第二承诺函数重新计算对应于各个协商节点的辅助分片;
步骤S1320,向各个协商节点发送重新计算的辅助分片,以使各个协商节点根据所述重新计算的辅助分片以及所述区块链中的所述目标共识节点重新生成的承诺值进行验证。
在本实施例中,在进行重协商过程时,目标共识节点会向各个协商节点发送辅助分片,以便协商节点对目标共识节点行为进行验证以及生成对应私钥。具体地,目标共识节点首先会根据所生成的第二承诺函数重新计算对应于各个协商节点的辅助分片。可以理解的是,目标共识节点本身也是协商节点之一。最后,目标共识节点通过另外的安全信道将生成的辅助分片分别发送给各个协商节点,从而确保除了发送方和接收方之外,辅助分片不会被暴露给任何第三方。协商节点在接收到目标共识节点的辅助分片后,会根据目标共识节点公开的承诺值对辅助分片进行验证,并且在验证通过后,根据辅助分片和承诺值来生成对应的公钥和私钥。
在本申请的一个实施例中,基于上述的技术方案,请参阅图14,图14为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图14所示,上述步骤S630,若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥,具体包括如下步骤:
步骤S1410,若所述门限值发生变化,或者若所述共识节点数量减少且所述门限值未发生变化,则向所述区块链中的所有共识节点发送密钥更新指令,以使所述区块链中的所有共识节点响应于所述密钥更新指令重新生成私钥和公钥。
在本实施例中,在门限值变化情况下或者在门限值不变化并且节点数量减少的情况下,目标共识节点通过区块链网络中的所有共识节点重新生成密钥。具体地,在有共识节点加入或者退出区块链后,假定共识网络内的节点数量为n’,而新的门限值为t’。此时,目标共识节点会向所有的n’个共识节点发送密钥更新指令。各个共识节点则根据上文中描述的方式,根据新的门限值t’重新生成承诺函数,并利用重新生成的承诺函数生成承诺值和辅助分片来重新验证和生成私钥和公钥。如果验证中发现有共识节点公开的承诺值和辅助分片不能通过验证,则会针对该共识节点进行申诉,以使得其他节点将该共识节点的辅助分片丢弃,但会继续根据其他的辅助分片继续进行密钥生成的过程。
在本申请的实施例中,通过所有共识节点来密钥重新生成的过程,从而在出现作恶行为时不需要重新开始密钥生成过程,避免多次执行重新生成密钥的过程而花费较长的时间,提升密钥生成的即时性。
在本申请的一个实施例中,基于上述的技术方案,请参阅图15,图15为本申请实施例中一种基于区块链的密钥生成方法的示意流程图。如图15所示,本申请介绍的基于区块链的密钥生成方法还包括如下步骤:
步骤S1510,根据所述承诺函数,分别计算对应于所述区块链中其他共识节点的辅助分片;
步骤S1520,向所述各个共识节点发送对应的辅助分片,以供各个共识节点根据接收到的辅助分片和所述目标共识节点的承诺值进行验证。
在本实施例中,目标共识节点在生成密钥的构成中,会针对于区块链中的其他共识节点分别生成对应的辅助分片,并发送给对应的共识节点。具体地,目标共识节点首先会根据之前生成的承诺函数,分别计算对应于所述区块链中其他共识节点的辅助分片。具体的计算方式可以是将各个共识节点的节点编号带入承诺函数中进行计算,从而得到对应的各个共识节点的辅助分片。随后,向各个共识节点发送对应的辅助分片,以供各个共识节点根据接收到的辅助分片和目标共识节点的承诺值进行验证。在验证通过后,共识节点会根据承诺值和辅助分片来生成私钥和公钥。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施,可以用于执行本申请上述实施例中的基于区块链的密钥生成方法。图16示意性地示出了本申请实施例中基于区块链的密钥生成装置的组成框图。如图16所示,基于区块链的密钥生成装置1600主要可以包括:
承诺计算模块1610,用于根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;
承诺获取模块1620,用于将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;
承诺校验模块1630,用于根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;
密钥生成模块1640,用于根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥。
在本申请的一些实施例中,基于以上技术方案,承诺校验模块1630包括;
辅助分片接收单元,用于接收各个其他共识节点发送的辅助分片;
辅助分片验证单元,用于根据所述其他共识节点的承诺值,对所述其他共识节点发送的辅助分片进行验证;
验证结果生成单元,用于若验证通过,则将所述其他共识节点的辅助分片加入验证结果;
第一辅助分片发送单元,用于若验证失败,则丢弃所述其他共识节点的辅助分片并向所述区块链中的剩余共识节点发送验证失败的辅助分片,以使所述剩余共识节点根据所述验证失败的辅助分片丢弃从所述其他共识节点接收到的辅助分片。
在本申请的一些实施例中,基于以上技术方案,承诺校验模块1630还包括:
失败辅助分片接收单元,用于从所述其他共识节点接收所述其他共识节点验证失败的辅助分片,其中,所述其他共识节点验证失败的辅助分片是所述区块链中的特定共识节点针对于所述其他共识节点生成的辅助分片;
失败辅助分片验证单元,用于根据所述特定共识节点上链的承诺值,对所述其他共识节点验证失败的辅助分片进行验证;
辅助分片丢弃单元,用于根据验证结果,丢弃从所述特定共识节点接收到的辅助分片。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
变化判断模块,用于当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;
密钥新增模块,用于若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥;
第一密钥重新生成模块,用于若所述共识节点数量减少或者所述门限值发生变化,则触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
在本申请的一些实施例中,基于以上技术方案,密钥新增模块包括:
新增辅助分片生成单元,用于若所述共识节点数量增加并且所述门限值未发生变化,根据所述承诺函数生成针对于所述新增的共识节点的辅助分片;
新增辅助分片发送单元,用于向所述新增的共识节点发送所生成的辅助分片,以使所述新增的共识节点根据所接收的辅助分片生成私钥。
在本申请的一些实施例中,基于以上技术方案,第一密钥重新生成模块包括:
节点选择单元,用于若所述门限值发生变化,则从所述区块链中选择共识节点作为协商节点,其中,所述协商节点的数量满足变化后门限值;
指令发送单元,用于向所述协商节点发送密钥更新指令,以通过所述协商节点触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
在本申请的一些实施例中,基于以上技术方案,节点选择模块包括:
密钥扩展单元,用于通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;
密钥标签生成单元,用于根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;
节点确定单元,用于根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点作为协商节点。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
承诺函数生成模块,用于响应于所述密钥更新指令,根据所述变化后门限值,生成所述目标共识节点的第二承诺函数;
承诺重新生成模块,用于根据所述第二承诺函数重新生成所述目标共识节点的承诺值,并根据所述第二承诺函数重新计算所述目标共识节点的辅助分片;
承诺值获取模块,用于将重新生成的承诺值在所述区块链中上链并从所述区块链中获取所述协商节点重新生成的承诺值;
承诺值验证模块,用于根据所述协商节点重新生成的承诺值验证接收到的所述协商节点重新计算的辅助分片;
第二密钥重新生成模块,若对所述协商节点重新计算的辅助分片验证通过,则根据所述目标共识节点重新计算的辅助分片和所述协商节点重新计算的辅助分片重新生成所述私钥,并根据所述目标共识节点重新生成的承诺值和所述协商节点重新生成的承诺值重新生成所述公钥。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
第二辅助分片发送模块,用于若对所述协商节点重新计算的辅助分片验证未通过,则向其他协商节点发送验证失败的辅助分片,以使所述其他协商节点停止重新生成所述私钥和所述公钥;
节点重新选择模块,用于从所述区块链中重新选择共识节点,其中,所选择的共识节点中不包括发送验证失败的辅助分片的所述协商节点。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
辅助分片重新计算模块,用于根据所述第二承诺函数重新计算对应于各个协商节点的辅助分片;
辅助分片重新发送模块,用于向各个协商节点发送重新计算的辅助分片,以使各个协商节点根据所述重新计算的辅助分片以及所述区块链中的所述目标共识节点重新生成的承诺值进行验证。
在本申请的一些实施例中,基于以上技术方案,第一密钥重新生成模块包括:
更新指令发送单元,用于若所述门限值发生变化,或者若所述共识节点数量减少且所述门限值未发生变化,则向所述区块链中的所有共识节点发送密钥更新指令,以使所述区块链中的所有共识节点响应于所述密钥更新指令重新生成私钥和公钥。
在本申请的一些实施例中,基于以上技术方案,基于区块链的密钥生成装置还包括:
辅助分片计算模块,用于根据所述承诺函数,分别计算对应于所述区块链中其他共识节点的辅助分片;
第三辅助分片发送模块,用于向所述各个共识节点发送对应的辅助分片,以供各个共识节点根据接收到的辅助分片和所述目标共识节点的承诺值进行验证。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
图17示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图17示出的电子设备的计算机系统1700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图17所示,计算机系统1700包括中央处理单元(Central Processing Unit,CPU)1701,其可以根据存储在只读存储器(Read-Only Memory,ROM)1702中的程序或者从储存部分1708加载到随机访问存储器(Random Access Memory,RAM)1703中的程序而执行各种适当的动作和处理。在RAM 1703中,还存储有系统操作所需的各种程序和数据。CPU1701、ROM 1702以及RAM 1703通过总线1704彼此相连。输入/输出(Input /Output,I/O)接口1705也连接至总线1704。
以下部件连接至I/O接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1707;包括硬盘等的储存部分1708;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入储存部分1708。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(CPU)1701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (13)
1.一种基于区块链的密钥生成方法,其特征在于,包括:
根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;
将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;
根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;
根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥;
当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;
若所述门限值发生变化,则通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;
根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;
根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点作为协商节点,其中,所述协商节点的数量等于变化后门限值;
向所述协商节点发送密钥更新指令,以使所述协商节点重新生成承诺函数并为所述区块链中的共识节点重新生成辅助分片,以便于触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
2.根据权利要求1所述的方法,其特征在于,所述根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,包括;
接收各个其他共识节点发送的辅助分片;
根据所述其他共识节点的承诺值,对所述其他共识节点发送的辅助分片进行验证;
若验证通过,则将所述其他共识节点的辅助分片加入验证结果;
若验证失败,则丢弃所述其他共识节点的辅助分片并向所述区块链中的剩余共识节点发送验证失败的辅助分片,以使所述剩余共识节点根据所述验证失败的辅助分片丢弃从所述其他共识节点接收到的辅助分片。
3.根据权利要求2所述的方法,其特征在于,所述根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,还包括:
从所述其他共识节点接收所述其他共识节点验证失败的辅助分片,其中,所述其他共识节点验证失败的辅助分片是所述区块链中的特定共识节点针对于所述其他共识节点生成的辅助分片;
根据所述特定共识节点上链的承诺值,对所述其他共识节点验证失败的辅助分片进行验证;
根据验证结果,丢弃从所述特定共识节点接收到的辅助分片。
4.根据权利要求1所述的方法,其特征在于,所述当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化之后,所述方法还包括:
若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥。
5.根据权利要求4所述的方法,其特征在于,所述若所述共识节点数量增加并且所述门限值未发生变化,则触发新增的共识节点生成所述私钥和所述公钥,包括:
若所述共识节点数量增加并且所述门限值未发生变化,根据所述承诺函数生成针对于所述新增的共识节点的辅助分片;
向所述新增的共识节点发送所生成的辅助分片,以使所述新增的共识节点根据所接收的辅助分片生成私钥。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述密钥更新指令,根据所述变化后门限值,生成所述目标共识节点的第二承诺函数;
根据所述第二承诺函数重新生成所述目标共识节点的承诺值,并根据所述第二承诺函数重新计算所述目标共识节点的辅助分片;
将重新生成的承诺值在所述区块链中上链并从所述区块链中获取所述协商节点重新生成的承诺值;
根据所述协商节点重新生成的承诺值验证接收到的所述协商节点重新计算的辅助分片;
若对所述协商节点重新计算的辅助分片验证通过,则根据所述目标共识节点重新计算的辅助分片和所述协商节点重新计算的辅助分片重新生成所述私钥,并根据所述目标共识节点重新生成的承诺值和所述协商节点重新生成的承诺值重新生成所述公钥。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若对所述协商节点重新计算的辅助分片验证未通过,则向其他协商节点发送验证失败的辅助分片,以使所述其他协商节点停止重新生成所述私钥和所述公钥;
从所述区块链中重新选择共识节点,其中,所选择的共识节点中不包括发送验证失败的辅助分片的所述协商节点。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述第二承诺函数重新计算对应于各个协商节点的辅助分片;
向各个协商节点发送重新计算的辅助分片,以使各个协商节点根据所述重新计算的辅助分片以及所述区块链中的所述目标共识节点重新生成的承诺值进行验证。
9.根据权利要求4所述的方法,其特征在于,所述当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化之后,所述方法还包括:
若所述共识节点数量减少且所述门限值未发生变化,则向所述区块链中的所有共识节点发送密钥更新指令,以使所述区块链中的所有共识节点响应于所述密钥更新指令重新生成私钥和公钥。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
根据所述承诺函数,分别计算对应于所述区块链中其他共识节点的辅助分片;
向所述各个共识节点发送对应的辅助分片,以供各个共识节点根据接收到的辅助分片和所述目标共识节点的承诺值进行验证。
11.一种基于区块链的密钥生成装置,其特征在于,包括:
承诺计算模块,用于根据目标共识节点的承诺函数生成所述目标共识节点的承诺值,并根据所述目标共识节点的承诺函数计算所述目标共识节点的辅助分片;
承诺获取模块,用于将所述目标共识节点的承诺值在所述区块链中上链,并从所述区块链中获取其他共识节点的承诺值,其中,所述其他共识节点的承诺值由所述其他共识节点根据所拥有的承诺函数生成;
承诺校验模块,用于根据所述其他共识节点的承诺值验证接收到的所述其他共识节点的辅助分片,所述其他共识节点的辅助分片由所述其他共识节点根据所拥有的承诺函数计算得到;
密钥生成模块,用于根据所述目标共识节点的辅助分片和所述其他共识节点的辅助分片生成所述目标共识节点的私钥,并根据所述目标共识节点的承诺值和所述其他共识节点上链的承诺值生成所述私钥对应的公钥;
变化判断模块,用于当所述区块链的共识节点数量发生变化时,判断所述区块链的门限值是否发生变化,所述门限值用于指示所述区块链中进行门限加密所需的共识节点数量;
密钥扩展单元,用于若所述门限值发生变化,通过预设映射关系,将所述区块链的区块高度扩展为密钥信息;
密钥标签生成单元,用于根据所述区块高度和所述变化后门限值,生成多个密钥标签,所述密钥标签的数量满足所述变化后门限值;
节点确定单元,用于根据所述密钥信息分别与所述多个密钥标签通过伪随机映射得到所选择的共识节点的编号,得到共识节点作为协商节点,其中,所述协商节点的数量等于变化后门限值;
指令发送单元,用于向所述协商节点发送密钥更新指令,以使所述协商节点重新生成承诺函数并为所述区块链中的共识节点重新生成辅助分片,以便于触发所述区块链中的共识节点重新生成所述私钥和所述公钥。
12.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至10中任意一项所述的基于区块链的密钥生成方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的基于区块链的密钥生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210711405.0A CN114826592B (zh) | 2022-06-22 | 2022-06-22 | 基于区块链的密钥生成方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210711405.0A CN114826592B (zh) | 2022-06-22 | 2022-06-22 | 基于区块链的密钥生成方法、装置、电子设备和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114826592A CN114826592A (zh) | 2022-07-29 |
CN114826592B true CN114826592B (zh) | 2022-10-14 |
Family
ID=82521992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210711405.0A Active CN114826592B (zh) | 2022-06-22 | 2022-06-22 | 基于区块链的密钥生成方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826592B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198213A (zh) * | 2019-04-01 | 2019-09-03 | 上海能链众合科技有限公司 | 一种基于秘密共享随机数共识算法的系统 |
CN111737724A (zh) * | 2020-08-26 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、智能设备及存储介质 |
CN113612614A (zh) * | 2021-07-19 | 2021-11-05 | 上海浦东发展银行股份有限公司 | 基于区块链网络的共识容灾方法、装置、设备和存储介质 |
CN114139197A (zh) * | 2021-11-26 | 2022-03-04 | 中国人民大学 | 一种代理安全多方计算方法、系统、处理设备及存储介质 |
CN114640452A (zh) * | 2022-03-29 | 2022-06-17 | 蚂蚁区块链科技(上海)有限公司 | 区块链上实现分布式密钥生成的方法、系统和共识节点 |
CN114650132A (zh) * | 2022-03-29 | 2022-06-21 | 蚂蚁区块链科技(上海)有限公司 | 区块链上实现分布式密钥生成的方法、系统和共识节点 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11348095B2 (en) * | 2017-04-11 | 2022-05-31 | Nchain Licensing Ag | Rapid distributed consensus on blockchain |
CN109218981B (zh) * | 2018-11-20 | 2019-06-21 | 太原理工大学 | 基于位置信号特征共识的Wi-Fi接入认证方法 |
CN109377229B (zh) * | 2018-11-23 | 2021-03-02 | 全链通有限公司 | 一种交易共识方法、节点及区块链系统 |
CN109768863A (zh) * | 2019-01-16 | 2019-05-17 | 杭州趣链科技有限公司 | 一种基于椭圆曲线的区块链密钥共享和动态更新方法 |
US20210026745A1 (en) * | 2019-07-24 | 2021-01-28 | The University Of North Carolina At Charlotte | Methods, systems, and computer readable media for providing byzantine fault tolerance |
US11250021B2 (en) * | 2020-04-17 | 2022-02-15 | International Business Machines Corporation | Faster view change for blockchain |
CN112261145B (zh) * | 2020-10-22 | 2022-07-12 | 中国联合网络通信集团有限公司 | 一种新区块链生成方法及装置 |
-
2022
- 2022-06-22 CN CN202210711405.0A patent/CN114826592B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198213A (zh) * | 2019-04-01 | 2019-09-03 | 上海能链众合科技有限公司 | 一种基于秘密共享随机数共识算法的系统 |
CN111737724A (zh) * | 2020-08-26 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、智能设备及存储介质 |
CN113612614A (zh) * | 2021-07-19 | 2021-11-05 | 上海浦东发展银行股份有限公司 | 基于区块链网络的共识容灾方法、装置、设备和存储介质 |
CN114139197A (zh) * | 2021-11-26 | 2022-03-04 | 中国人民大学 | 一种代理安全多方计算方法、系统、处理设备及存储介质 |
CN114640452A (zh) * | 2022-03-29 | 2022-06-17 | 蚂蚁区块链科技(上海)有限公司 | 区块链上实现分布式密钥生成的方法、系统和共识节点 |
CN114650132A (zh) * | 2022-03-29 | 2022-06-21 | 蚂蚁区块链科技(上海)有限公司 | 区块链上实现分布式密钥生成的方法、系统和共识节点 |
Also Published As
Publication number | Publication date |
---|---|
CN114826592A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11212165B2 (en) | Consensus-forming method in network, and node for configuring network | |
KR101498323B1 (ko) | 컴퓨터 클러스터 시스템들내 통신의 보안 | |
US8533806B2 (en) | Method for authenticating a trusted platform based on the tri-element peer authentication(TEPA) | |
CN105873031B (zh) | 基于可信平台的分布式无人机密钥协商方法 | |
CN112118245B (zh) | 密钥管理方法、系统和设备 | |
CN111786812A (zh) | 节点管理方法、装置、计算机设备和存储介质 | |
JP2019041321A (ja) | データ受信装置、データ伝送システム、及び鍵生成装置 | |
US7010690B1 (en) | Extensible system for building and evaluating credentials | |
US11611435B2 (en) | Automatic key exchange | |
WO2021170049A1 (zh) | 一种访问行为的记录方法、装置 | |
JP5624219B2 (ja) | ネットワークアクセス制御方法およびシステム | |
CN114826592B (zh) | 基于区块链的密钥生成方法、装置、电子设备和可读介质 | |
KR20210126319A (ko) | 키 관리 장치 및 방법 | |
CN112003690A (zh) | 密码服务系统、方法及装置 | |
CN116582286A (zh) | 基于区块链的数据上传方法、获取方法及装置 | |
CN115913647A (zh) | 基于区块链的跨域设备访问控制策略强制实施方法及装置 | |
CN116155483A (zh) | 区块链签名机安全设计方法及签名机 | |
CA3204892A1 (en) | Orchestrated quantum key distribution | |
WO2020232200A1 (en) | Method for managing data reflecting a transaction | |
Kuhlman et al. | A proof of security of a mesh security architecture | |
KR102162108B1 (ko) | Nfv 환경을 위한 lw_pki 시스템 및 그 시스템을 이용한 통신방법. | |
JP5768622B2 (ja) | メッセージ認証システム、通信装置及び通信プログラム | |
CN116961892A (zh) | 基于区块链的密钥生成方法、装置、电子设备和可读介质 | |
JP4543789B2 (ja) | トランザクションに基づく証明書検証情報管理方法 | |
CN118018205A (zh) | 一种多方实体鉴别方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |