分布式私钥管理方法及系统与流程

未命名 09-18 阅读:88 评论:0


1.本发明涉及区块链技术领域,为新一代信息技术中专门适用于金融及管理的数据处理系统或方法,尤其涉及一种分布式私钥管理方法及系统。


背景技术:

2.私钥分片的产生背景是为了增强数字资产的安全性和保护用户的资产免受潜在的风险。传统的钱包系统通常使用单一的私钥来控制用户的资产,但这也带来了一些安全隐患。如果私钥泄露或丢失,用户将面临资产损失的风险。
3.为了解决这个问题,私钥分片技术被引入。它将原始的私钥切分成多个小的分片,并将这些分片分散存储在不同的地方。每个分片本身并不能还原出完整的私钥,因此即使有人获取其中一部分分片,也无法获取完整的私钥信息。
4.私钥分片通常采用的方法是使用分布式密钥生成方案。但现实中仍会存在用户忘记私钥分片的密码或丢失私钥分片等情况,如何对私钥进行恢复并确保可靠性和安全性成为一个新的待解决的技术问题。


技术实现要素:

5.本发明目的在于公开一种分布式私钥管理方法及系统,以实现私钥分片的可再生性,进而提高系统的灵活性和可靠性。
6.为达上述目的,本发明公开的分布式私钥管理方法包括:步骤s1、用户端生成私钥;步骤s2、所述用户端将所述私钥基于第二值进行加密,以加密后得到的第一值作为随机生成的第一多项式的常数项,计算所述第一多项式在自变量处在m+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片保留在服务器端,并将剩余的m个私钥分片发送到m个社交关联方进行单独存储;同时,将所述第二值单独存储到另一社交关联方;步骤s3、所述用户端删除所述私钥、所述第一多项式、所述第一值及所述第二值;步骤s4、所述服务器端获取所述用户端发送的社交恢复请求,并将对应的私钥分片发送给所述用户端;同时,所述用户端向相应的社交关联方分别获取n个私钥分片,n为小于或等于m的正整数;步骤s5、所述用户端根据n+1个私钥分片恢复出所述第一多项式和所述第一值;步骤s6、所述用户端将所述第一值作为随机生成的第二多项式的常数项,重新计算该第二多项式在自变量处在m+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片更新至服务器端,并将剩余的m个私钥分片更新至相对应的m个社交关联方;步骤s7、所述用户端删除所述第二多项式和所述第一值;当所述服务器端获取所述用户端发送的新的社交恢复请求后,转步骤s4进入下一轮循环;
其中,各个循环中,用于产生私钥分片的多项式从单变量函数的预置库中随机产生,且所选择单变量函数除常数项之外所对应自变量的各阶系数及取值点也都随机产生。
7.为达上述目的,本发明还公开一种分布式私钥管理系统,包括服务器节点、用户端节点和社交关联方节点,各该节点包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,各所述处理器执行相对应计算机程序时与相关联的其他节点进行交互以实现上述的方法。
8.本发明具有以下有益效果:1、允许将私钥切分成多个分片,并分发给不同的实体或参与者,每个参与者只持有私钥的一部分。当需要恢复私钥时,需要收集足够数量的分片,通过特定的算法将它们组合起来恢复出完整的私钥并再生新的私钥分片,进而提高了系统的灵活性和可靠性。
9.2、私钥分片是通过将私钥分散存储和分发给不同的实体,降低私钥被攻击者获取的风险。即使部分分片被泄露或丢失,攻击者也无法还原出完整的私钥。从而有利于更安全和弹性的方式来管理数字资产,减少了用户的风险和担忧。
10.3、由于用户端本地不存储有私钥分片,从而从源头上杜绝了用户端出于终端设备故障、换机及重装系统等因素而导致私钥分片遗失所造成的损失。且还可以通过以社交关联的方式再生私钥分片,从而使得系统具有更好的便捷性和用户体验。
11.4、将第二值独立于各个私钥分片进行单独存储,即使用于生成私钥分片的多项式被破解,真正的私钥仍具有比较好的安全性。
12.下面将参照附图,对本发明作进一步详细的说明。
附图说明
13.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例公开的分布式私钥管理系统的节点之间的关联框图。
具体实施方式
14.以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1
15.本实施例公开一种分布式私钥管理方法,如图1所示,包括以下步骤:步骤s1、用户端生成私钥。可选地:该步骤以随机算法生成一个足够大以确保安全的随机数,例如:可采用256位的随机数。
16.步骤s2、所述用户端将所述私钥基于第二值进行加密,以加密后得到的第一值作为随机生成的第一多项式的常数项,计算所述第一多项式在自变量处在m+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片保留在服务器端,并将剩余的m个私钥分片发送到m个社交关联方进行单独存储;同时,将所述第二值单独存储到另一社交关联方。
17.在该步骤中,上述服务器端之外的“社交关联方”包括用户通过邮箱等方式设置的
存在真实社交关系的关联方;也可以是基于多方运算的各节点基于私有协议(该私有协议包括但不限于用户端与服务器端之间的通信协议)自动匹配的关联方,其中,各关联方之间的社交关系为对用户隐藏的虚拟关系。其中,服务器端也可视为一个特殊的社交关联方。
18.在本发明中,可选地,基于第二值的加密方式包括但不限于将第二值与私钥进行加减乘除等数学运算,相对应的,第一值就是其加密后所得的数值结果。其中,本发明为了区分两个值(通常可为非零的自然数)之间的不同,故定义为第一值和第二值,第二值的生成可以采用加密算法随机生成或由用户自行设置的方式录入,当采用以用户设置的方式录入时,为了符合用户习惯,可以十进制数规范其数据录入格式。后续不做赘述。
19.步骤s3、所述用户端删除所述私钥、所述第一多项式、所述第一值及所述第二值。
20.步骤s4、所述服务器端获取所述用户端发送的社交恢复请求,并将对应的私钥分片发送给所述用户端;同时,所述用户端向相应的社交关联方分别获取n个私钥分片,n为小于或等于m的正整数。其中,n又被称为门限数。
21.在该步骤中,所谓“社交恢复请求”即指通过社交方式再生私钥分片的请求,该请求也可以被冠以其他的称谓,此种变形,均属于本发明的保护范畴。
22.优选地,作为一种等同替换,所述服务器端在将私钥分片发送给所述用户端的同时,也可主动指令社交关联方将对应的私钥分片主动发送给所述用户端。
23.步骤s5、所述用户端根据n+1个私钥分片恢复出所述第一多项式和所述第一值。
24.该n+1个私钥分片即服务器端发送的1个私钥分片与从其它社交关联方所获取的n个私钥分片的组合。
25.步骤s6、所述用户端将所述第一值作为随机生成的第二多项式的常数项,重新计算该第二多项式在自变量处在m+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片更新至服务器端,并将剩余的m个私钥分片更新至相对应的m个社交关联方。
26.步骤s7、所述用户端删除所述第二多项式和所述第一值;当所述服务器端获取所述用户端发送的新的社交恢复请求后,转步骤s4进入下一轮循环。
27.其中,各个循环中,用于产生私钥分片的多项式从单变量函数(即自变量仅为单个的函数)的预置库中随机产生,且所选择单变量函数除常数项之外所对应自变量的各阶系数及取值点也都随机产生。例如:所述预置库中的单变量函数包括线性函数,还原所述第一值及随机生成多项式的算法包括拉格朗日插值算法。
28.基于上述步骤,具体算例如下:假设第一值为124,第一多项式具体为:。将多项式 f(x) 分发给下述三个参与者(其中一个为服务器端),即m=2:参与者 1:。
29.参与者 2:。
30.参与者 3:。
31.假设在社交恢复再生私钥过程中收集到了2个碎片,即n = 1。
32.插值算法使用拉格朗日插值来还原多项式 f(x)。拉格朗日插值算法的一般形式
为:;其中,li(x) 是拉格朗日基函数,计算方式为:;(xi,yi)为对应上述私钥分片的自变量与计算结果的映射点对,使用收集到的两个数据点来计算多项式 f(x):;藉此,l1(x) = (x
ꢀ‑ꢀ
3) / (1
ꢀ‑ꢀ
3),l3(x) = (x
ꢀ‑ꢀ
1) / (3
ꢀ‑ꢀ
1)。
33.将数据点代入计算:
34.化简后得到:f(x) =
ꢀ‑
64.5x
ꢀ‑ꢀ
69.5 + 193.5
ꢀ‑ꢀ
69.5x = 5x + 124。之后,取 f(0) 作为还原后的第一值:f(0) = 0 + 124 = 124,即恢复后的第一值为 124。
35.其中,上述预置库中可随机生成的多项式也可以采用二次、三次或更高次能通过门限数量的分布数据以插值等方式拟合或还原的多项式,且其拟合和还原的结果应当是唯一的。
36.进一步的,本实施例方法还包括:步骤s7、所述用户端向相应的社交关联方获取单独存储的所述第二值,对所述第一值基于所述第二值解密后得到所述私钥;然后根据所述私钥进行签名处理,并在签名完成后删除所述私钥、所述第二值及所述第一值。
37.优选地,上述第二值若在上述步骤的执行过程中可由用户手动设置,则该步骤也可以直接以用户手动输入的方式进行获取,而仅用户遗忘等必要情况下,再通过节点之间的通信机制向相应的社交关联方予以获取。
实施例2
38.本实施例公开一种分布式私钥管理系统,包括服务器节点、用户端节点和社交关联方节点,各该节点包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,各所述处理器执行相对应计算机程序时与相关联的其他节点进行交互以实现上述方法实施例相对应的系列步骤。
39.综上,本发明上述实施例所分别公开的方法及系统,具有以下有益效果:1、允许将私钥切分成多个分片,并分发给不同的实体或参与者,每个参与者只持有私钥的一部分。当需要恢复私钥时,需要收集足够数量的分片,通过特定的算法将它们组合起来恢复出完整的私钥并再生新的私钥分片,进而提高了系统的灵活性和可靠性。
40.2、私钥分片是通过将私钥分散存储和分发给不同的实体,降低私钥被攻击者获取的风险。即使部分分片被泄露或丢失,攻击者也无法还原出完整的私钥。从而有利于更安全和弹性的方式来管理数字资产,减少了用户的风险和担忧。
41.3、由于用户端本地不存储有私钥分片,从而从源头上杜绝了用户端出于终端设备故障、换机及重装系统等因素而导致私钥分片遗失所造成的损失。且还可以通过以社交关联的方式再生私钥分片,从而使得系统具有更好的便捷性和用户体验。
42.4、将第二值独立于各个私钥分片进行单独存储,即使用于生成私钥分片的多项式被破解,真正的私钥仍具有比较好的安全性。
43.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种分布式私钥管理方法,其特征在于,包括:步骤s1、用户端生成私钥;步骤s2、所述用户端将所述私钥基于第二值进行加密,以加密后得到的第一值作为随机生成的第一多项式的常数项,计算所述第一多项式在自变量处在m+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片保留在服务器端,并将剩余的m个私钥分片发送到m个社交关联方进行单独存储;同时,将所述第二值单独存储到另一社交关联方;步骤s3、所述用户端删除所述私钥、所述第一多项式、所述第一值及所述第二值;步骤s4、所述服务器端获取所述用户端发送的社交恢复请求,并将对应的私钥分片发送给所述用户端;同时,所述用户端向相应的社交关联方分别获取n个私钥分片,n为小于或等于m的正整数;步骤s5、所述用户端根据n+1个私钥分片恢复出所述第一多项式和所述第一值;步骤s6、所述用户端将所述第一值作为随机生成的第二多项式的常数项,重新计算该第二多项式在自变量处在m+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片更新至服务器端,并将剩余的m个私钥分片更新至相对应的m个社交关联方;步骤s7、所述用户端删除所述第二多项式和所述第一值;当所述服务器端获取所述用户端发送的新的社交恢复请求后,转步骤s4进入下一轮循环;其中,各个循环中,用于产生私钥分片的多项式从单变量函数的预置库中随机产生,且所选择单变量函数除常数项之外所对应自变量的各阶系数及取值点也都随机产生。2.根据权利要求1所述的方法,其特征在于,还包括:步骤s7、所述用户端向相应的社交关联方获取单独存储的所述第二值,对所述第一值基于所述第二值解密后得到所述私钥;然后根据所述私钥进行签名处理,并在签名完成后删除所述私钥、所述第二值及所述第一值。3.根据权利要求1或2所述的方法,其特征在于,所述预置库中的单变量函数包括线性函数,还原所述第一值及随机生成多项式的算法包括拉格朗日插值算法。4.一种分布式私钥管理系统,其特征在于,包括服务器节点、用户端节点和社交关联方节点,各该节点包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,各所述处理器执行相对应计算机程序时与相关联的其他节点进行交互以实现上述权利要求1至3任一所述的方法。

技术总结
本发明涉及区块链技术领域,公开一种分布式私钥管理方法及系统,以实现私钥分片的可再生性,进而提高系统的灵活性和可靠性。方法包括:用户端将私钥基于第二值进行加密,以加密后得到的第一值作为随机生成的第一多项式的常数项,计算第一多项式在自变量处在M+1个不同取值点所分别对应的计算结果,并将各个自变量与计算结果的映射点对分别作为一个私钥分片,将1个私钥分片保留在服务器端,并将剩余的M个私钥分片发送到M个社交关联方进行单独存储;同时,将第二值单独存储到另一社交关联方;用户端根据从社交关联方和服务器端获取的N+1个私钥分片恢复出第一多项式和第一值并以此再生新的私钥分片予以更新,N为小于或等于M的正整数。正整数。正整数。


技术研发人员:张维 王翔 王斌
受保护的技术使用者:湖南湘江树图信息科技创新中心有限公司
技术研发日:2023.08.21
技术公布日:2023/9/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐