基于区块链的密钥生成方法、装置、电子设备和可读介质与流程

文档序号:35907776发布日期:2023-10-29 05:50阅读:38来源:国知局
基于区块链的密钥生成方法、装置、电子设备和可读介质与流程

本技术涉及计算机,尤其涉及一种基于区块链的密钥生成方法、装置、电子设备和可读介质。


背景技术:

1、在区块链的共识过程中,通常会采用门限签名来解决单个节点权限过大导致密钥丢失时加密失效、节点权限滥用或该节点被攻击者控制等安全风险。门限签名特点是一个签名一定是由一个私钥产生,然而这个私钥不会被任何人完整掌握,而是会以某种方式分成很多碎片,这些碎片可以被多人同时持有,然后通过协议,保证这些碎片不需要全部被拼起来就可以直接产生一个合法的签名。

2、在相关技术中,区块链会为各个共识节点下发门限密钥分片,从而允许共识节点在共识过程中采用门限签名的方式进行加密共识。

3、然而,在上述的方案中,门限密钥分片的通常由主节点根据区块链中的共识节点的情况生成和分发,一旦主节点发生密钥泄露或者被攻击导致全部门限密钥分片泄露,造成整个鉴权系统失效,从而影响区块链的安全性和稳定性。


技术实现思路

1、基于上述技术问题,本技术提供一种基于区块链的密钥生成方法、装置、电子设备和可读介质,以提高区块链的运行效率和稳定性。

2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。

3、根据本技术实施例的一个方面,提供一种基于区块链的密钥生成方法,包括:

4、通过第一主节点生成第一提案请求,所述第一提案请求中包含密钥生成信息和协商节点列表,所述协商节点列表中的协商节点是从所述区块链的共识节点中确定的;

5、向所述区块链中的共识节点广播所述第一提案请求,以使所述协商节点列表中的协商节点根据所述密钥生成信息生成承诺信息以及针对于每个共识节点的辅助分片;

6、接收所述协商节点发送的承诺信息和所述协商节点针对所述第一主节点生成的辅助分片;

7、根据所述承诺信息和所述辅助分片,生成所述第一主节点在所述区块链中使用的协商密钥,并向第二主节点发送投票信息,以使所述第二主节点根据所述投票信息生成第二提案请求,所述第二提案请求用于触发所述区块链中的共识节点启用所生成的协商密钥。

8、根据本技术实施例的一个方面,提供一种基于区块链的密钥生成装置,包括:

9、提案生成模块,用于通过第一主节点生成第一提案请求,所述第一提案请求中包含密钥生成信息和协商节点列表,所述协商节点列表中的协商节点是从所述区块链的共识节点中确定的;

10、提案广播模块,用于向所述区块链中的共识节点广播所述第一提案请求,以使所述协商节点列表中的协商节点根据所述密钥生成信息生成承诺信息以及针对于每个共识节点的辅助分片;

11、信息接收模块,用于接收所述协商节点发送的承诺信息和所述协商节点针对所述第一主节点生成的辅助分片;

12、密钥生成模块,用于根据所述承诺信息和所述辅助分片,生成所述第一主节点在所述区块链中使用的协商密钥,并向第二主节点发送投票信息,以使所述第二主节点根据所述投票信息生成第二提案请求,所述第二提案请求用于触发所述区块链中的共识节点启用所生成的协商密钥。

13、在本技术的一些实施例中,基于以上技术方案,提案生成模块包括:

14、数量检测子模块,用于检测所述区块链中共识节点的节点数量;

15、信息添加子模块,用于若检测到所述节点数量发生变化,当通过所述第一主节点生成提案请求时,向所述提案请求中添加密钥生成信息和协商节点列表,得到第一提案请求。

16、在本技术的一些实施例中,基于以上技术方案,信息添加子模块包括:

17、节点选择单元,用于当通过所述第一主节点生成提案请求时,从所述区块链的共识节点中选择协商节点,得到协商节点列表;

18、密钥信息获取单元,用于从所述区块链获取密钥生成信息;

19、列表添加单元,用于将所述协商节点列表和所述密钥生成信息加入到所述第一主节点生成的提案请求中,得到第一提案请求。

20、在本技术的一些实施例中,基于以上技术方案,节点选择单元包括:

21、状态获取子单元,用于获取所述区块链中共识节点的节点活跃状态;

22、选择子单元,用于根据所述区块链中共识节点的节点活跃状态,从处于活跃状态的共识节点中选择与所述第一共识节点的区块高度和共识阶段相同的节点作为协商节点;

23、停止子单元,用于若所选择的协商节点的数量小于所述区块链的共识节点门限数量,则停止生成密钥;

24、列表生成子单元,用于若所选择的协商节点的数量大于或等于所述区块链的共识节点门限数量,则根据所选择的协商节点生成协商节点列表。

25、在本技术的一些实施例中,基于以上技术方案,所述密钥生成信息中包含门限密钥标识和椭圆曲线类型;密钥生成装置还包括:

26、第一承诺信息生成模块,用于根据所述密钥生成信息中的门限密钥标识和椭圆曲线类型,生成所述第一主节点的承诺信息;

27、第一辅助分片生成模块,用于根据所述密钥生成信息的门限密钥标识和椭圆曲线类型,针对于所述区块链中的每个共识节点分别生成辅助分片。

28、在本技术的一些实施例中,基于以上技术方案,密钥生成装置还包括:

29、第一提案接收模块,用于通过所述区块链中的共识节点接收所述第一提案请求;

30、节点确定模块,用于根据所述第一提案请求中的协商节点列表,确定中所述目标共识节点为协商节点;

31、分片生成模块,用于根据所述密钥生成信息,生成所述目标共识节点的承诺信息以及针对于所述区块链中的每个共识节点的辅助分片。

32、在本技术的一些实施例中,基于以上技术方案,密钥生成装置还包括:

33、加密模块,用于通过每个共识节点的节点公钥,对所述承诺信息和针对共识节点生成的辅助分片进行加密,得到加密承诺信息和对应的加密辅助分片;

34、加密信息发送模块,用于向每个共识节点发送所述加密承诺信息和对应的加密辅助分片。

35、在本技术的一些实施例中,基于以上技术方案,密钥生成模块包括:

36、定制器设置子模块,用于在向所述区块链中的共识节点广播所述第一提案请求之后,设置定时器;

37、协商密钥生成子模块,用于若所述定时器到期之前,接收到所有协商节点所发送的承诺信息和所有协商节点针对所述第一主节点生成的辅助分片,则根据所有协商节点的承诺信息和所有协商节点的辅助分片,生成所述第一主节点的协商公私钥对以及所述区块链的主公钥,得到协商密钥。

38、在本技术的一些实施例中,基于以上技术方案,密钥生成模块包括:

39、本地保存子模块,用于若通过所述第一主节点成功生成所述协商公私钥对以及所述区块链的主公钥,将所述协商公私钥和所述主公钥保存到本地存储器;

40、第一投票子模块,用于若成功将所述协商公私钥和所述主公钥保存到本地存储器,则向第二主节点发送针对于所述第一提案请求的赞成票信息;

41、第而投票子模块,用于若将所述协商公私钥和所述主公钥保存到本地存储器失败,则向所述第二主节点发送针对于所述第一提案请求的反对票信息。

42、在本技术的一些实施例中,基于以上技术方案,密钥生成模块包括:

43、第三投票子模块,用于若所述定时器到期之前,未接收到所有协商节点所发送的承诺信息和所有协商节点针对所述第一主节点生成的辅助分片,则向所述第二主节点发送针对于所述第一提案请求的反对票信息。

44、在本技术的一些实施例中,基于以上技术方案,密钥生成装置还包括:

45、第二提案生成模块,用于若通过所述第二主节点接收到的投票信息满足密钥更新条件,则根据所接收到的投票信息,生成第二提案请求,所述第二提案请求中包含所接收到的所有投票信息;

46、第二提案广播模块,用于向所述区块链中的共识节点广播所述第二提案请求。

47、在本技术的一些实施例中,基于以上技术方案,密钥生成装置还包括:

48、第二提案接收模块,用于接收所述第二提案请求;

49、第二提案上链模块,用于将所述第二提案请求在所述区块链中上链,并启用所生成的主密钥和所述协商公私钥;

50、本地密钥删除模块,用于删除本地保存的失效主密钥和失效协商公私钥。

51、根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的基于区块链的密钥生成方法。

52、根据本技术实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的基于区块链的密钥生成方法。

53、根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的基于区块链的密钥生成方法。

54、在本技术的实施例中,通过将密钥协商过程与区块链共识过程相结合,避免密钥协商时重新生成密钥的过程与区块提案上链过程产生冲突而导致区块上链失败,提高区块链的运行效率和稳定性。

55、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1