一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的秘钥备份与恢复方法及系统与流程

2022-05-08 08:45:36 来源:中国专利 TAG:


1.本技术涉及区块链技术领域,具体而言,涉及一种基于区块链的秘钥备份与恢复方法及系统。


背景技术:

2.随着密码学技术的不断发展,以及社会对互联网安全的要求不断增高,越来越多加密技术被应用在各大应用系统中,区块链作为一门聚合技术,集众多密码学算法于一身。在区块链系统中,用户账户通常由一对公私钥(非对称秘钥)组成,其中私钥用于证明账户身份以及对账户中的资源进行授权。由于区块链去中心化的特性,网络中无中心化节点保存用户秘钥,一旦发生秘钥丢失,账户中的资产将无法进行转移,因此秘钥备份及恢复机制在区块链系统中显得尤为重要。
3.目前,秘钥备份与恢复常见的方案有:(1)非区块链(中心化)系统,系统通过灾备系统、可信介质或可信第三方系统进行备份及恢复,但是对于非区块链(中心化)系统,用户秘钥托管在系统中,用户可借助系统恢复秘钥,但秘钥安全性需由系统存储介质确保,存在秘钥丢失的风险。
4.(2)传统的区块链(去中心化)系统中,由于区块链系统去中心化特点,系统无法统一管理用户秘钥,用户难以借助系统恢复丢失秘钥,需要自己备份,但是在传统的区块链(去中心化)系统中,存在系统无法备份、难以恢复用户秘钥的问题。
5.针对相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份恢复的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本技术的主要目的在于提供一种基于区块链的秘钥备份与恢复方法及系统,以解决相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份恢复的问题。
7.为了实现上述目的,根据本技术的一个方面,提供了一种基于区块链的秘钥备份方法。该方法包括:通过第一备份节点接收客户端发送的秘钥备份请求,其中,所述秘钥备份请求包括需要进行备份的目标秘钥,其中,所述第一备份节点为区块链的多个节点之一,所述第一备份节点与所述客户端对应;响应所述秘钥备份请求,对所述目标秘钥进行拆分,生成多个秘钥碎片;将所述多个秘钥碎片分发到所述区块链中多个第二备份节点进行备份,其中,所述第二备份节点用于将所述秘钥碎片进行备份。
8.可选的,响应所述秘钥备份请求,对所述目标秘钥进行拆分,生成多个秘钥碎片包括:获取秘钥拆分策略,其中,所述秘钥拆分策略包括秘密分享算法参数,所述秘密分享算法参数用于利用秘密分享算法对所述目标秘钥进行拆分;根据所述秘密分享算法参数确定生成的秘钥碎片的目标数量;利用所述秘密分享算法对所述目标秘钥进行拆分,生成所述
目标数量的秘钥碎片,其中,所述秘钥碎片包括秘钥恢复碎片以及干扰碎片。
9.可选的,所述秘密分享算法参数包括秘钥恢复门限数量,干扰碎片数量,根据秘密分享算法参数确定生成的秘钥碎片的目标数量包括:根据秘钥拆分策略器随机生成秘钥恢复门限数量,干扰碎片数量;根据所述秘钥恢复门限数量确定所述秘钥恢复碎片的数量,其中,所述秘钥恢复碎片的数量大于等于所述秘钥恢复门限数量;根据秘钥恢复碎片的数量和所述干扰碎片数量得到所述目标数量。
10.可选的,将所述多个秘钥碎片分发到所述区块链中多个第二备份节点进行备份还包括:获取预设秘钥分发方式,其中,所述预设秘钥分发方式包括所述多个秘钥碎片的分发方式和每个所述第二备份节点分发的秘钥碎片数量;根据预设的秘钥分发方式将所述多个秘钥碎片分发到所述多个第二备份节点进行备份,其中,所述预设秘钥分发方式包括所述多个秘钥碎片的分发方式和每个所述第二备份节点分发的秘钥碎片数量,所述第二备份节点接收到秘钥碎片后进行存储备份。
11.可选的,所述目标数量小于所述区块链的节点总数量;所述多个秘钥碎片的分发方式为随机分发,每个所述第二备份节点分发的秘钥碎片的数量为一。
12.可选的,将所述多个秘钥碎片分发到所述区块链中多个第二备份节点进行备份之后还包括:接收第二备份节点对对应的秘钥碎片的备份结果;将所述备份结果以及所述秘钥拆分策略发送给客户端。
13.为了实现上述目的,根据本技术的另一个方面,提供了一种基于区块链的秘钥恢复方法。该方法包括:通过第一备份节点接收客户端发送的秘钥恢复请求,其中,所述秘钥恢复请求包括需要进行恢复的目标秘钥,其中,所述第一备份节点为区块链的多个节点之一,所述第一备份节点与所述客户端对应;响应所述秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,所述多个第二备份节点均为所述区块链中的节点,所述多个秘钥碎片分别存储在所述多个第二备份节点中;将所述多个秘钥碎片进行组合生成所述目标秘钥。
14.为了实现上述目的,根据本技术的另一个方面,提供了一种基于区块链秘钥备份与恢复系统,所述秘钥备份与恢复系统包括,第一备份节点和多个第二备份节点,所述第一备份节点和所述第二备份节点均为区块链的节点;所述第一备份节点与客户端相连,用于接收所述客户端发送的秘钥备份请求/秘钥恢复请求,还用于响应备份请求将所述目标秘钥拆分为多个秘钥碎片,或响应恢复请求将所述多个秘钥碎片恢复为所述目标秘钥;所述第二备份节点用于响应秘钥备份请求接收所述秘钥碎片,还用于将所述秘钥碎片进行存储,或用于响应秘钥恢复请求读取所述多个秘钥碎片。
15.为了实现上述目的,根据本技术的另一方面,提供了一种基于区块链的秘钥备份装置,包括:第一接收模块,通过第一备份节点接收客户端发送的秘钥备份请求,其中,所述秘钥备份请求包括需要进行备份的目标秘钥,其中,所述第一备份节点为区块链的多个节点之一,所述第一备份节点与所述客户端对应;第一生成模块,响应所述秘钥备份请求,对所述目标秘钥进行拆分,生成多个秘钥碎片;备份模块,将所述多个秘钥碎片分发到所述区块链中多个第二备份节点进行备份,其中,所述第二备份节点用于将所述秘钥碎片进行备份。
16.为了实现上述目的,根据本技术的另一方面,还提供了一种基于区块链的秘钥恢
复装置,其特征在于,包括:第二接收模块,通过第一备份节点接收客户端发送的秘钥恢复请求,其中,所述秘钥恢复请求包括需要进行恢复的目标秘钥,其中,所述第一备份节点为区块链的多个节点之一,所述第一备份节点与所述客户端对应;获取模块,响应所述秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,所述第一备份节点和所述多个第二备份节点均为所述区块链中的节点,所述多个秘钥碎片分别存储在所述多个第二备份节点中;第二生成模块,将所述多个秘钥碎片进行组合生成所述目标秘钥。
17.根据本技术的另一方面,还提供了一种计算机可读存储介质,所述处存储介质用于存储程序,其中,所述程序执行上述中任意一项所述的基于区块链的秘钥备份与恢复方法。
18.根据本技术的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述中任意一项所述的基于区块链的秘钥备份与恢复方法。
19.通过本技术,采用以下步骤:通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;将多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份。通过第一备份节点对目标秘钥拆分成多个秘钥碎片,利用多个第二备份节点对多个秘钥碎片进行存储备份,达到了利用区块链的去中心化特点对目标秘钥进行备份的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份的问题,实现了提高秘钥安全性的技术效果。
附图说明
20.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例提供的一种基于区块链的秘钥备份方法的流程图;图2是根据本技术实施例提供的一种基于区块链的秘钥恢复方法的流程图;图3是根据本技术实施例提供的一种基于区块链的秘钥备份与恢复系统的示意图;图4是根据本技术实施方式提供的一种基于安全多方计算的秘钥备份与恢复的网络拓扑结构示意图;图5是根据本技术实施方式提供的分享节点-待秘钥备份/恢复功能结构图;图6是根据本技术实施方式提供的秘密分享算法的示意图;图7是根据本技术实施方式提供的分享节点-提供秘钥备份/恢复功能结构图;图8是根据本技术实施方式提供的秘钥备份流程图;图9是根据本技术实施方式提供的秘钥恢复流程图;图10是根据本技术实施例提供的一种基于区块链的秘钥备份装置的示意图;图11是根据本技术实施例提供的一种基于区块链的秘钥恢复装置的示意图;
图12是根据本技术实施例提供的一种电子设备的示意图。
具体实施方式
21.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
23.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.下面对本实施例出现的专业术语进行解释说明。
25.联盟链:联盟链是介于公有链与私有链的一种形态,由若干个组织共同维护同一条区块链。
26.安全多方计算:安全多方计算(secure multi-party computation,mpc)可理解成一种加密协议,主要研究无可信第三方的前提下,如何保证计算参与方在不泄露自身数据的同时,安全地完成联合计算。
27.秘密分享:秘密分享(secret sharing,sh)是一种共享秘密技术,常用于安全多方计算领域,其核心思想是把秘密以适当的方式拆分,拆分后由不同的参与者管理,单个参与者无法恢复秘密,只有若干个参与者协同合作才能恢复秘密。
28.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
29.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的一种基于区块链的秘钥备份方法的流程图,如图1所示,该方法包括如下步骤:步骤s101,通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;步骤s102,响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;步骤s103,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份。
30.通过上述步骤,通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;将
多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份,通过第一备份节点对目标秘钥拆分成多个秘钥碎片,利用多个第二备份节点对多个秘钥碎片进行存储备份,达到了利用区块链的去中心化特点对目标秘钥进行备份的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份的问题,实现了提高秘钥安全性的技术效果。
31.上述步骤的执行主体为上述第一备份节点,上述第一备份节点可以与客户端连接,可以用于为客户端提供秘钥备份或秘钥恢复服务,上述第一备份节点可以是联盟链中的多个节点之一,还可以是其他类型区块链网络的节点之一,上述第一备份节点可以接收来自客户端的秘钥备份或秘钥恢复请求,将秘钥进行备份。
32.上述目标秘钥可以是对用户账户进行认证的秘钥, 为解决现有技术中通过非区块链系统进行存储,系统存储介质安全性差,易丢失,通过传统的区块链系统,系统无法备份的问题,通过上述第一备份节点利用秘钥拆分的方式,可以将上述目标秘钥拆分成多个秘钥碎片,并将上述多个秘钥碎片分发给区块链中的其他节点进行存储备份,也即是分发给上述多个第二备份节点,其中,上述多个第二备份节点可以将接收到的多个秘钥碎片存储在数据库中。
33.为保证目标秘钥的安全性,避免上述目标秘钥被其他用户获取,可以在秘钥拆分方式上设置秘钥拆分策略,通过上述秘钥拆分策略对上述目标秘钥进行拆分,还可以设置恢复上述目标秘钥的秘钥恢复门限数量,还可以在上述多个秘钥碎片中添加干扰碎片,将包含干扰碎片的多个秘钥碎片分发给上述多个第二备份节点,需要说明的是,上述多个第二被分节点不能判断自身存储的秘钥碎片是否为干扰碎片,进一步增加秘钥窃取的难度。
34.通过第一备份节点对目标秘钥拆分成多个秘钥碎片,利用多个第二备份节点对多个秘钥碎片进行存储备份,达到了利用区块链的去中心化特点对目标秘钥进行备份的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份的问题,实现了提高用户秘钥安全性的技术效果。
35.可选的,响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片包括:获取秘钥拆分策略,其中,秘钥拆分策略包括秘密分享算法参数,秘密分享算法参数用于利用秘密分享算法对目标秘钥进行拆分;根据秘密分享算法参数确定生成的秘钥碎片的目标数量;利用秘密分享算法对目标秘钥进行拆分,生成目标数量的秘钥碎片,其中,秘钥碎片包括秘钥恢复碎片以及干扰碎片。
36.在对客户端的秘钥备份请求进行响应之前,还可以对秘钥备份请求进行验证,可以验证客户端的账户信息,还可以验证客户端的备份请求的正确性,在验证通过的情况下,可以执行秘钥备份步骤。
37.上述秘钥拆分策略可以通过第一备份节点随机生成,还可以通过用户进行设置,上述秘钥拆分策略可以利用秘密分享算法对上述目标秘钥进行拆分,可以根据秘钥拆分策略确定秘密分享算法参数,再根据秘密分享算法参数可以确定拆分的秘钥碎片的数量,也即是上述目标数量,需要说明的是,上述目标数量可以包括恢复目标秘钥的秘钥恢复碎片数量,扰乱秘钥恢复的干扰碎片数量。
38.通过获取上述秘钥拆分策略,利用秘钥拆分策略对目标秘钥进行拆分,达到了对秘钥进行快速拆分的目的,实现了提高秘钥拆分效率的技术效果。
39.可选的,秘密分享算法参数包括秘钥恢复门限数量,干扰碎片数量,根据秘密分享算法参数确定生成的秘钥碎片的目标数量包括:根据秘钥拆分策略器随机生成秘钥恢复门限数量,干扰碎片数量;根据秘钥恢复门限数量确定秘钥恢复碎片的数量,其中,秘钥恢复碎片的数量大于等于秘钥恢复门限数量;根据秘钥恢复碎片的数量和干扰碎片数量得到目标数量。
40.上述秘密分享算法的参数可以通过秘钥拆分策略器随机生成,其中,上述秘钥拆分策略器可以设置于第一备份节点中,上述秘密分享算法参数可以包括秘钥恢复门限数量,还可以包括干扰碎片数量。
41.上述秘钥恢复门限数量可以用于确定恢复目标秘钥的最低秘钥恢复碎片数量,干扰碎片可以用于扰乱碎片恢复过程,可以为目标秘钥拆分的碎片的冗余碎片或加盐碎片。若有干扰碎片参与秘钥恢复过程则秘钥恢复将会失败,为保证在第二备份节点丢失秘钥碎片的情况下,也可以恢复目标秘钥,上述秘钥恢复碎片的数量可以大于秘钥恢复门限数量,但是,秘钥恢复碎片数量不能小于恢复门限数量,通过上述秘钥恢复碎片的数量与干扰碎片的数量之和可以得到的秘钥碎片总数,也即是上述目标数量。
42.通过秘密分享算法参数中的秘钥恢复门限数量,和设置干扰碎片的数量,使秘钥窃取者窃取秘钥时不仅需要窃取的足够数量的秘钥碎片,还要明确哪些秘钥碎片为干扰碎片,达到了提高秘钥被窃取的难度的目的,实现了提高秘钥备份安全性的技术效果。
43.可选的,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份还包括:获取预设秘钥分发方式,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量;根据预设的秘钥分发方式将多个秘钥碎片分发到多个第二备份节点进行备份,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量,第二备份节点接收到秘钥碎片后进行存储备份。
44.上述预设秘钥分发方式可以由第一备份节点随机产生,还可以通过用户设置,上述预设秘钥分发方式可以是随机分发,或者按顺序分发,上述预设分发方式还可以包括分发给第二备份节点的分发的秘钥碎片数量,通过上述预设秘钥分发方式,可以将第二备份节点拆分的多个秘钥碎片分发到上述多个第二备份节点。
45.通过上述预设秘钥分发方式对多个秘钥碎片进行分发,达到了提高秘钥碎片分发速度的目的,实现了提高秘钥碎片分发效率的技术效果。
46.可选的,目标数量小于区块链的节点总数量;多个秘钥碎片的分发方式为随机分发,每个第二备份节点分发的秘钥碎片的数量为一。
47.上述区块链节点的总数量可以是当前区块链网络的节点的总数量,还可以是当前第一备份节点及第二备份节点所在区块链(或联盟链)的节点规模,为保证除第一备份节点外,每个第二备份节点都分发到一个秘钥碎片,上述目标数量可以小于区块链节点的总数量,其中,多个秘钥碎片的分发方式可以采用随机分发的方式。
48.可选的,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份之后还包括:接收第二备份节点对对应的秘钥碎片的备份结果;将备份结果以及秘钥拆分策略发送给客户端。
49.上述第二备份节点对接收的秘钥碎片进行存储后,可以将备份的结果返回给第一备份节点,上述第一备份节点可以将目标秘钥的备份结果返回给客户端,为避免第一备份节点丢失上述秘钥拆分策略,还可以将上述秘钥拆分策略一并发送给客户端。
50.通过将上述备份结果和秘钥拆分策略返回给客户端,达到了对客户端的备份请求进行响应的目的,实现了提高秘钥备份过程透明度的技术效果。
51.图2是根据本技术实施例提供的一种基于区块链的秘钥恢复方法的流程图,如图2所示,该方法包括如下步骤:步骤s201,通过第一备份节点接收客户端发送的秘钥恢复请求,其中,秘钥恢复请求包括需要进行恢复的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;步骤s202,响应秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,多个第二备份节点均为区块链中的节点,多个秘钥碎片分别存储在多个第二备份节点中;步骤s203,将多个秘钥碎片进行组合生成目标秘钥。
52.通过上述步骤,通过第一备份节点接收客户端发送的秘钥恢复请求,其中,秘钥恢复请求包括需要进行恢复的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;响应秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,多个第二备份节点均为区块链中的节点,多个秘钥碎片分别存储在多个第二备份节点中;将多个秘钥碎片进行组合生成目标秘钥,通过在区块链中获取多个第二备份节点的多个秘钥碎片,利用第一备份节点对多个秘钥碎片进行组合,达到了对目标秘钥进行恢复的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法恢复的问题,实现了提高秘钥安全性的技术效果。
53.上述步骤的执行主体可以是上述第一备份节点,上述第一备份节点可以是区块链中的多个节点之一,与上述客户端对应,上述第一备份节点可以接收来自客户端的秘钥恢复请求,并对秘钥恢复请求中的客户端身份、账户进行验证,在验证通过的情况下,可以执行对目标秘钥的恢复步骤,其中,上述秘钥恢复请求中可以携带秘钥备份时存储的秘钥拆分策略。
54.上述第一备份节点再通过对秘钥恢复请求进行验证通过后,可以向上述多个第二备份节点发送秘钥恢复请求,还可以接收多个第二备份节点响应请求后,返回的多个秘钥碎片,再利用第一备份节点的存储的秘钥拆分策略或上述秘钥恢复请求中携带的秘钥拆分策略将上述多个秘钥碎片恢复为上述目标秘钥,需要说明的是,上述秘钥拆分策略中包括秘钥分享算法,可以通过秘密分享算法的逆运算将上述多个秘钥碎片恢复为上述目标秘钥。
55.上述第一备份节点还可以将恢复后的目标秘钥可以存储在自身服务器的相应目录中,并将恢复结果以及目标秘钥在上述服务器中的路径返回给客户端。
56.通过上述第二备份节点以及第一备份节点,利用秘密分享算法的逆运算恢复目标秘钥,达到了将存储在区块链中的节点存储的秘钥碎片恢复为目标秘钥的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法恢复的问题,实现了提高秘钥
恢复效率及秘钥存储安全性的技术效果。
57.根据本实施例的一方面,还提供了一种基于区块链的秘钥备份与恢复系统,图3是根据本发明实施例的一种基于区块链的秘钥备份与恢复系统的示意图,如图3所示,该基于区块链的秘钥备份与恢复系统包括:第一备份节点11和多个第二备份节点12,第一备份节点11和第二备份节点12均为区块链的节点;第一秘钥备份节点11与客户端相连,用于接收客户端发送的秘钥备份请求/秘钥恢复请求,还用于响应备份请求将目标秘钥拆分为多个秘钥碎片,或响应恢复请求将多个秘钥碎片恢复为目标秘钥;第二秘钥备份节点12与第一秘钥备份节点相连,用于响应秘钥备份请求接收秘钥碎片,还用于将秘钥碎片进行存储,或用于响应秘钥恢复请求读取多个秘钥碎片。
58.上述基于区块链秘钥备份与恢复系统,秘钥备份与恢复系统包括,第一备份节点和多个第二备份节点,第一备份节点和第二备份节点均为区块链的节点;第一备份节点与客户端相连,用于接收客户端发送的秘钥备份请求/秘钥恢复请求,还用于响应备份请求将目标秘钥拆分为多个秘钥碎片,或响应恢复请求将多个秘钥碎片恢复为目标秘钥;第二备份节点用于响应秘钥备份请求接收秘钥碎片,还用于将秘钥碎片进行存储,或用于响应秘钥恢复请求读取多个秘钥碎片。在秘钥备份过程中,通过第一备份节点在秘钥备份过程中将目标秘钥拆分为多个秘钥碎片,再利用第二备份节点对多个秘钥碎片进行存储备份,以及在秘钥恢复过程中,通过获取多个第二备份节点中的多个秘钥碎片,再利用第一备份节点对多个秘钥碎片组合,恢复目标秘钥,达到了利用区块链去中化特点对秘钥进行备份与恢复的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份恢复的问题,实现了提高秘钥安全性的技术效果。
59.上述第一备份节点和上述第二备份节点均为区块链中的多个节点之一,上述第一备份节点与客户端进行连接,上述第二备份节点与上述第一备份节点连接,上述第一备份节点和上述第二备份节点可以为客户端提供秘钥备份或秘钥恢复服务。
60.上述第一备份节点还可以包括:第一请求接收模块,第一逻辑主控模块,秘钥备份模块,秘钥恢复模块,第一应答模块;其中,上述第一请求接收模块与上述第一逻辑主控模块连接,用于将接收的客户端的秘钥备份/秘钥恢复请求发送给上述第一逻辑主控模块;上述第一逻辑主控模块与上述秘钥备份模块,还与上述秘钥恢复模块连接,若第一逻辑主控模块接收秘钥备份请求,选择上述秘钥备份模块为下一执行模块,若第一逻辑主控模块接收秘钥恢复请求,选择上述秘钥恢复模块为下一执行模块;上述秘钥备份模块用于响应秘钥备份请求,利用秘钥拆分策略将上述秘钥进行拆分,生成多个秘钥碎片,并将上述秘钥碎片分发给多个第二秘钥备份节点;上述秘钥恢复模块用于响应秘钥恢复请求,向第二备份模块请求上述多个秘钥碎片,将上述多个秘钥碎片根据秘钥拆分策略的逆运算进行恢复,得到上述目标秘钥;上述第一应答模块用于将响应秘钥备份请求的秘钥备份结果及秘钥拆分策略返回给客户的,还用于将响应秘钥恢复请求的秘钥恢复结果返回给客户端。
61.上述第二备份节点包括:第二请求接收模块,第二逻辑主控模块,秘钥碎片存储模块,秘钥碎片读取模块,第二应答模块。其中,上述第二请求接收模块与上述第二逻辑主控模块,用于将接收的第一备份节点的发出秘钥备份/秘钥恢复请求;上述第二逻辑主控模块
multi-party computation),利用它保证参与方在互不信任的环境中执行数据计算且不泄露各自的信息的功能,结合区块链技术,实现了在区块链系统中对秘钥进行备份与恢复的方案。
69.图4是根据本技术实施方式提供的一种基于安全多方计算的秘钥备份与恢复的网络拓扑结构示意图,本实施方式的网络拓扑结构如图4所示,与传统的区块链网络拓扑一致。图4包括“区块链网络1,也即是上述区块链,或者联盟链”,“分享节点-待秘钥备份/恢复节点2,也即是上述第一备份节点”,“分享节点-提供秘钥备份/恢复服务节点3,也即是上述第二备份节点”和“客户端节点4”。
70.上述“区块链网络1”是由4个区块链节点组成的区块链网络,这里特指搭建在互联网、局域网的联盟链,每个参与方拥有自己的区块链节点。
71.上述“分享节点-待秘钥备份/恢复节点2”与“分享节点-提供秘钥备份/恢复服务节点3”本质上都是本实施方式提出的新型区块链节点,只是启用了不同功能模块,下述将统称为分享节点(sharing peer,sp),并从服务发起者与服务接受者两个维度分开阐述。
72.上述“分享节点-待秘钥备份/恢复节点2”是本实施方式提出的新型区块链节点。该节点在传统区块链节点基础上集成了安全多方计算相关算法,在秘钥备份方面,秘钥可通过算法分割成多个秘钥碎片,把秘钥碎片分发到“分享节点-提供秘钥备份/恢复服务节点3”,在秘钥恢复方面,该节点能收集网络中备份的秘钥碎片,采用安全多方计算相关算法的逆运算,恢复秘钥。
73.上述“分享节点-提供秘钥备份/恢复服务节点3”是本实施方式提出的新型区块链新节点,与传统区块链网络节点不同,该节点对外提供秘钥备份与恢复服务,秘钥碎片通过节点私有数据库保存在链下。
74.上述“客户端节点4”是往区块链网络发送交易的节点。在该拓扑图中,可认为客户端节点拥有“区块链节点2”(分享节点2),为防止节点秘钥丢失/恢复秘钥,“客户端节点4”将发起节点秘钥备份/恢复请求。
75.图5是根据本技术实施方式提供的分享节点-待秘钥备份/恢复功能结构图,如图5所示,分享节点-待秘钥备份/恢复功能结构图,图5包含六个模块,分别是“交易接收模块21”,“逻辑主控模块22”,“秘钥碎片切分模块23,“秘钥备份服务请求模块24”,“秘钥恢复服务请求模块25”,“秘钥恢复模块26”和“交易应答模块27”。其中,图5中黑底色内容为本实施方式新引入模块。
76.上述“交易接收模块21”负责接收区块链交易请求,并验证“客户端节点4”交易报文正确性,验证通过后调用“逻辑主控模块22”。
77.上述“逻辑主控模块22”根据交易报文不同,调用不同的逻辑分支,本实施方式在传统区块链逻辑分支基础上新引入了秘钥备份与秘钥恢复两个分支。其中,“秘钥碎片切分模块23”与“秘钥备份服务请求模块24”属于秘钥备份分支,“秘钥恢复服务请求模块25”和“秘钥恢复模块26”属于秘钥恢复分支。
78.上述“秘钥碎片切分模块23”,其功能为使用安全多方计算中密码分享(secret-sharing)算法,生成秘钥切分策略,把秘钥拆分成若干个秘钥碎片。该算法思路是把秘密以适当的方式拆分到不同的参与者,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息,详细内容见图5描述。
79.上述“秘钥备份服务请求模块24”,负责把秘密分享算法切分后的秘钥碎片分发到联盟链的各个区块链节点中。
80.上述“秘钥恢复服务请求模块25”负责向全网络的区块链节点请求秘钥碎片,用于秘钥恢复。
81.上述“秘钥恢复模块26”,其功能为使用秘密分享算法逆运算,根据交易上送的秘钥切分策略组合秘钥碎片,恢复秘钥。
82.上述“交易应答模块27”用于应答客户端发起的秘钥备份/恢复请求,对于秘钥备份请求,将会应答秘钥切分策略给客户端,用于后续的秘钥恢复功能;对于秘钥恢复请求,将会应答秘钥恢复结果,如秘钥生成路径、秘钥名等信息。
83.图6是根据本技术实施方式提供的秘密分享算法的示意图,如图6所示,该示意图包含“秘密s”、“参与者p”、“门限t”三个概念。
84.所述“秘密s”在本实施方式特指区块链节点秘钥,秘钥通过秘密分享算法拆分成若干个秘钥碎片si,(i=1,2,...,t,...,n)。
85.所述“参与者p”是指接收秘钥碎片si的参与者,根据秘密分享算法参数不同,拆分碎片si的数量也不一样,接受者pi,(i=1,2,...,t,...,n)也不一样。
86.所述“门限t”是指秘密恢复的门限,当t(0《t《n)个参与者参与秘钥恢复,秘钥将被还原。
87.综上所述,当且仅当联盟中有t个串通者同时作恶,秘钥才有被窃取的可能,为了进一步提高秘钥被窃取的难度,本实施方式提出以下提升:假设,n 1为联盟链节点规模,t1为秘钥恢复门限,t2为冗余碎片个数,t3为加盐碎片个数,n=t1 t2 t3。当有加盐碎片参与秘钥恢复时,秘钥恢复失败。
88.秘钥碎片生成n份,并同时存储在所有联盟方各自的私有数据库中。
89.各联盟参与方无法知道自己所存数据是加盐碎片,还是秘钥还原碎片。
90.分享策略(也即上述预设秘钥分发方式)将采用随机方式产生,并通过报文方式返回给客户端节点,其余参与方无法获取。
91.通过以上策略,攻击者不仅需要串通至少t个参与者同时作恶,且同时需要知晓哪t个参与者才拥有真正的秘钥恢复碎片,进一步提高了作恶的难度。
92.图7是根据本技术实施方式提供的分享节点-提供秘钥备份/恢复功能结构图,如图7所示,分享节点-提供秘钥备份/恢复功能结构由五个模块组成,分别是“交易接收模块31”,“逻辑主控模块32”,“秘钥碎片存储模块33”,“秘钥碎片读取模块34”和“交易应答模块35”。
93.上述“交易接收模块31”用于接收秘钥备份和秘钥恢复请求,并检查交易发送者身份和交易报文的正确性。
94.上述“逻辑主控模块32”根据不同的报文内容选择不同的处理分支,在秘钥备份/恢复功能结构图中,新增秘钥碎片存储和秘钥碎片读取两个分支。
95.上述“秘钥碎片存储模块33”负责把报文中接收到的秘钥碎片以《用户,秘钥碎片》格式保存在私有数据库中。
96.上述“秘钥碎片读取模块34”负责从数据库中读取用户相应的秘钥碎片。
97.上述“交易应答报文35”用于应答客户端秘钥碎片保存情况或者返回相应的秘钥
碎片给用户。
98.图8是根据本技术实施方式提供的秘钥备份流程图,如图8所示,当客户端节点发送秘钥备份交易,将触发s800流程。
99.步骤s801:客户端节点向待秘钥备份节点发起秘钥备份申请交易。
100.步骤s802:待秘钥备份节点校验客户端身份,身份合法将调用秘钥加载模块。
101.步骤s803:秘钥加载模块读取节点秘钥。
102.步骤s804:秘钥拆分策略器随机生成秘密分享算法参数,其中包括秘钥恢复门限t1,冗余碎片t2,加盐碎片t3等,其中冗余碎片和加盐碎片也即是上述扰乱碎片。
103.步骤s805:秘密分享算法根据算法参数生成n个秘钥碎片,n为网络节点规模。
104.步骤s806:待秘钥备份节点把切分好的秘钥碎片根据策略分发联盟链的各节点中。
105.步骤s807:分享节点接收交易,并验证交易发起者身份,身份合法将数据库存储模块。
106.步骤s808:分享节点以《用户,秘钥碎片》形式保存在节点私有数据库中。
107.步骤s809:分享节点向待秘钥备份节点应答秘钥碎片保存结果。
108.步骤s810:待秘钥备份节点接收所有分享节点应答确认无误后,将把秘钥备份结果及秘钥拆分策略返回客户端节点。
109.步骤s811:客户端节点接收秘钥备份结果及策略。
110.步骤s812:客户端节点存储秘钥拆分策略。
111.图9是根据本技术实施方式提供的秘钥恢复流程图,如图9所示,当客户端节点发送秘钥恢复交易,将触发s900流程。
112.步骤s901:客户端节点获取秘钥拆分策略,此策略在秘钥备份流程中,由待秘钥备份节点。
113.步骤s902:客户端节点发起秘钥恢复申请,此时会把秘钥拆分策略上送到待秘钥恢复节点。
114.步骤s903:待秘钥恢复节点校验交易发送者身份,验证通过后将调用秘钥恢复模块。
115.步骤s904:待秘钥恢复节点解析报文,获取秘钥拆分策略。
116.步骤s905:待秘钥恢复节点根据秘钥拆分策略请求联盟链各分享节点,获取秘钥碎片。
117.步骤s906:分享节点校验请求者身份,校验通过后调用数据库模块。
118.步骤s907:分享节点读取根据请求者身份信息读取数据库,获取秘钥碎片。
119.步骤s908:分享节点应答待秘钥恢复节点秘钥碎片。
120.步骤s909:待秘钥恢复节点根据秘钥拆分策略,使用秘密分享算法逆运算恢复秘钥,并输出到服务器相应的目录中。
121.步骤s910:待秘钥恢复节点把秘钥恢复结果及秘钥输出路径返回给客户端节点。
122.步骤s911:客户端节点接收秘钥恢复结果应答。
123.本实施方式的关键在于:(1)本实施方式提出了一种去中心化的秘钥备份和恢复方案;(2)本实施方式提出了一种新型区块链节点,分享节点(sharing peer)。该节点集成
了安全多方计算秘密分享算法,可对区块链节点秘钥进行拆分和恢复;(3)本实施方式提出了一种改进的秘密分享算法,在传统的秘密分享算法基础上,提出了加盐碎片,进一步提高了秘钥恢复的难度。
124.本技术实施例还提供了一种基于区块链的秘钥备份装置,需要说明的是,本技术实施例的基于区块链的秘钥备份装置可以用于执行本技术实施例所提供的用于基于区块链的秘钥备份方法。以下对本技术实施例提供的目标对象评分装置进行介绍。
125.图10是根据本技术实施例的一种基于区块链的秘钥备份装置的示意图。如图10所示,该装置包括:第一接收模块1000,第一生成模块1002,备份模块1004,下面对该装置进行详细说明。
126.第一接收模块1000,通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;第一生成模块1002,与上述第一接收模块1000相连,响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;备份模块1004,与上述第一生成模块1002相连,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份。
127.根据本实施例提供的基于区块链的秘钥备份装置,通过第一接收模块1000通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;第一生成模块1002响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;备份模块1004将多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份,通过第一备份节点对目标秘钥拆分成多个秘钥碎片,利用多个第二备份节点对多个秘钥碎片进行存储备份,达到了利用区块链的去中心化特点对目标秘钥进行备份的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份的问题,实现了提高秘钥安全性的技术效果。
128.可选的,第一生成模块包括:第一获取单元,获取秘钥拆分策略,其中,秘钥拆分策略包括秘密分享算法参数,秘密分享算法参数用于利用秘密分享算法对目标秘钥进行拆分;确定单元,根据秘密分享算法参数确定生成的秘钥碎片的目标数量;生成单元,利用秘密分享算法对目标秘钥进行拆分,生成目标数量的秘钥碎片,其中,秘钥碎片包括秘钥恢复碎片以及干扰碎片。
129.可选的,确定单元包括:根据秘钥拆分策略器随机生成秘钥恢复门限数量,干扰碎片数量;根据秘钥恢复门限数量确定秘钥恢复碎片的数量,其中,秘钥恢复碎片的数量大于等于秘钥恢复门限数量;根据秘钥恢复碎片的数量和干扰碎片数量得到目标数量。
130.可选的,备份模块还包括:分发方式获取单元,获取预设秘钥分发方式,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量;分发单元,根据预设的秘钥分发方式将多个秘钥碎片分发到多个第二备份节点进行备份,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量,第二备份节点接收到秘钥碎片后进行存储备份。
131.可选的,确定单元还包括:目标数量小于区块链的节点总数量;多个秘钥碎片的分
发方式为随机分发,每个第二备份节点分发的秘钥碎片的数量为一。
132.可选的,备份模块还包括:将多个秘钥碎片分发到区块链中多个第二备份节点进行备份之后还包括:接收第二备份节点对对应的秘钥碎片的备份结果;将备份结果以及秘钥拆分策略发送给客户端。
133.所述基于区块链的秘钥恢复装置包括处理器和存储器,上述第一接收模块1000,第一生成模块1002,备份模块1004等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
134.本技术实施例还提供了一种基于区块链的秘钥恢复装置,需要说明的是,本技术实施例的基于区块链的秘钥备份装置可以用于执行本技术实施例所提供的用于基于区块链的秘钥恢复方法。以下对本技术实施例提供的基于区块链的秘钥恢复装置进行介绍。
135.图11是根据本技术实施例的一种基于区块链的秘钥恢复装置的示意图。如图11所示,该装置包括:第二接收模块110,获取模块112,第二生成模块114,下面对该装置进行详细说明。
136.第二接收模块110,通过第一备份节点接收客户端发送的秘钥恢复请求,其中,秘钥恢复请求包括需要进行恢复的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;获取模块112,与上述第二接收模块110相连,响应秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,多个第二备份节点均为区块链中的节点,多个秘钥碎片分别存储在多个第二备份节点中;第二生成模块114,与上述获取模块112相连,将多个秘钥碎片进行组合生成目标秘钥。
137.根据本实施例提供的基于区块链的秘钥恢复装置,第二接收模块110通过第一备份节点接收客户端发送的秘钥恢复请求,其中,秘钥恢复请求包括需要进行恢复的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;获取模块112响应秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,第一备份节点和多个第二备份节点均为区块链中的节点,多个秘钥碎片分别存储在多个第二备份节点中;第二生成模块114将多个秘钥碎片进行组合生成目标秘钥,通过在区块链中获取多个第二备份节点的多个秘钥碎片,利用第一备份节点对多个秘钥碎片进行组合,达到了对目标秘钥进行恢复的目的,进而解决了相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法恢复的问题,实现了提高秘钥安全性的技术效果。
138.所述基于区块链的秘钥恢复装置包括处理器和存储器,上述第二接收模块110,获取模块112,第二生成模块114等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
139.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中秘钥备份通过非区块链系统存储,系统存储介质难以保证秘钥安全性,存在秘钥丢失风险,以及秘钥通过传统区块链系统存储,秘钥无法备份恢复的问题。
140.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
141.本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述基于区块链的秘钥备份与恢复方法。
142.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于区块链的秘钥备份与恢复方法。
143.如图12所示,本技术实施例提供了一种电子设备120,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;将多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份。
144.可选的,响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片包括:获取秘钥拆分策略,其中,秘钥拆分策略包括秘密分享算法参数,秘密分享算法参数用于利用秘密分享算法对目标秘钥进行拆分;根据秘密分享算法参数确定生成的秘钥碎片的目标数量;利用秘密分享算法对目标秘钥进行拆分,生成目标数量的秘钥碎片,其中,秘钥碎片包括秘钥恢复碎片以及干扰碎片。
145.可选的,秘密分享算法参数包括秘钥恢复门限数量,干扰碎片数量,根据秘密分享算法参数确定生成的秘钥碎片的目标数量包括:根据秘钥拆分策略器随机生成秘钥恢复门限数量,干扰碎片数量;根据秘钥恢复门限数量确定秘钥恢复碎片的数量,其中,秘钥恢复碎片的数量大于等于秘钥恢复门限数量;根据秘钥恢复碎片的数量和干扰碎片数量得到目标数量。
146.可选的,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份还包括:获取预设秘钥分发方式,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量;根据预设的秘钥分发方式将多个秘钥碎片分发到多个第二备份节点进行备份,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量,第二备份节点接收到秘钥碎片后进行存储备份。
147.可选的,目标数量小于区块链的节点总数量;多个秘钥碎片的分发方式为随机分发,每个第二备份节点分发的秘钥碎片的数量为一。
148.可选的,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份之后还包括:接收第二备份节点对对应的秘钥碎片的备份结果;将备份结果以及秘钥拆分策略发送给客户端。
149.上述处理器执行程序时还实现以下步骤:通过第一备份节点接收客户端发送的秘钥恢复请求,其中,秘钥恢复请求包括需要进行恢复的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;响应秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,多个第二备份节点均为区块链中的节点,多个秘钥碎片分别存储在多个第二备份节点中;将多个秘钥碎片进行组合生成目标秘钥。
150.本文中的设备可以是服务器、pc、pad、手机等。
151.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:通过第一备份节点接收客户端发送的秘钥备份请求,其中,秘钥备份请求包括需要进行备份的目标秘钥,其中,第一备份节点为区块链的多个节点之一,
第一备份节点与客户端对应;响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片;将多个秘钥碎片分发到区块链中多个第二备份节点进行备份,其中,第二备份节点用于将秘钥碎片进行备份。
152.可选的,响应秘钥备份请求,对目标秘钥进行拆分,生成多个秘钥碎片包括:获取秘钥拆分策略,其中,秘钥拆分策略包括秘密分享算法参数,秘密分享算法参数用于利用秘密分享算法对目标秘钥进行拆分;根据秘密分享算法参数确定生成的秘钥碎片的目标数量;利用秘密分享算法对目标秘钥进行拆分,生成目标数量的秘钥碎片,其中,秘钥碎片包括秘钥恢复碎片以及干扰碎片。
153.可选的,秘密分享算法参数包括秘钥恢复门限数量,干扰碎片数量,根据秘密分享算法参数确定生成的秘钥碎片的目标数量包括:根据秘钥拆分策略器随机生成秘钥恢复门限数量,干扰碎片数量;根据秘钥恢复门限数量确定秘钥恢复碎片的数量,其中,秘钥恢复碎片的数量大于等于秘钥恢复门限数量;根据秘钥恢复碎片的数量和干扰碎片数量得到目标数量。
154.可选的,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份还包括:获取预设秘钥分发方式,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量;根据预设的秘钥分发方式将多个秘钥碎片分发到多个第二备份节点进行备份,其中,预设秘钥分发方式包括多个秘钥碎片的分发方式和每个第二备份节点分发的秘钥碎片数量,第二备份节点接收到秘钥碎片后进行存储备份。
155.可选的,目标数量小于区块链的节点总数量;多个秘钥碎片的分发方式为随机分发,每个第二备份节点分发的秘钥碎片的数量为一。
156.可选的,将多个秘钥碎片分发到区块链中多个第二备份节点进行备份之后还包括:接收第二备份节点对对应的秘钥碎片的备份结果;将备份结果以及秘钥拆分策略发送给客户端。
157.还可以执行如下方法步骤的程序:通过第一备份节点接收客户端发送的秘钥恢复请求,其中,秘钥恢复请求包括需要进行恢复的目标秘钥,其中,第一备份节点为区块链的多个节点之一,第一备份节点与客户端对应;响应秘钥恢复请求,通过多个第二备份节点获取多个秘钥碎片,其中,多个第二备份节点均为区块链中的节点,多个秘钥碎片分别存储在多个第二备份节点中;将多个秘钥碎片进行组合生成目标秘钥。
158.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
159.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
160.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
161.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
162.在一个典型的配置中,计算设备包括一个或多个处理器 (cpu)、输入/输出接口、网络接口和内存。
163.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
164.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
165.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
166.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
167.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献