当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于区块链的分布式密钥托管方法技术

技术编号:38548263 阅读:25 留言:0更新日期:2023-08-22 20:56
本发明专利技术公开一种基于区块链的分布式密钥托管方法,该方法中存在两种委员会身份节点:托管节点和选举节点。使用改进的Shamir秘密共享对秘密进行分片,分片后的碎片托管在匿名的托管节点上,托管节点由选举节点动态选举,选举委员会构建匿名通信通道,保持托管委员会的匿名身份;每隔一段时间,智能合约触发选举节点和托管节点的重新选举,动态变更委员会的成员身份,旧的托管节点将托管的私钥碎片通过匿名通信的方式将碎片份额减半后传递给新的托管节点,新的托管节点在收到后恢复碎片的份额,完成托管节点的定期动态更新。本发明专利技术保证了节点信息的安全性,隐匿性以及不可篡改性,去中心化的实现了对密钥的托管,提高了秘密托管的安全性和可靠性。管的安全性和可靠性。管的安全性和可靠性。

【技术实现步骤摘要】
一种基于区块链的分布式密钥托管方法


[0001]本专利技术涉及区块链技术、Shamir秘密共享技术,匿名通信技术,尤其涉及一种基于区块链的分布式密钥托管方法。

技术介绍

[0002]私钥在区块链中的重要性不言而喻,私钥掌握着用户数字资产的所有权。如果私钥被泄露或遗失,用户将无法访问自己的数字资产,也无法证明自己的所有权,这将导致资产的丢失或被盗用。因此,保护私钥是数字资产持有人的首要任务。
[0003]现有的私钥管理方案主要可以分为本地硬件管理,软件管理以及托管管理三种,硬件管理和软件管理最大的问题更在于在没有备份的情况下遗失了密钥,就彻底丢失了该密钥下所有的数字资产无法找回。传统的托管又需要基于完全信任的第三方,虽然解决了密钥遗失后无法找回的问题,但在托管方出现作恶或受到攻击泄漏私钥等情况下,依然有很大的安全隐患。
[0004]区块链是分布式数据存储、P2P点对点传输、拜占庭容错共识算法、密码学算法的新型应用模式。拥有去中心化的性质,可以避免单中心化所带来的作恶等问题。
[0005]因此可以基于区块链,依托区块链的去中心化等性质,打造一个可信,安全可靠,低成本的密钥托管体系。

技术实现思路

[0006]本专利技术的目的是针对传统托管体系中无法避免第三方即托管方作恶的问题,提供了一种基于区块链的分布式密钥托管方法,提高了密钥托管的安全性。
[0007]本专利技术的目的是通过如下技术方案实现的:
[0008]一种基于区块链的分布式密钥托管方法,使用者的密钥通过切片方法切成指定数量后存储在由组成选举委员会的选举节点选举出的匿名的托管节点上;每隔一顿时间,智能合约被触发后,所有节点重新选举出新的选举节点,新的选举节点重新进行组成托管委员会的托管节点选举,原有托管节点将托管的密钥切片发送给新选举出的托管节点,完成选举节点和托管节点及持有的密钥切片的定期更新;
[0009]所述切片方法为改进的Shamir秘密分享算法,即,将用户的密钥加密在一个非对称的双变量多项式B(X,Y)中,其中,X、Y为变量,X的维度为t,Y的维度为2t,B(0,0)=S,S为秘密本身,t为设定的恢复密钥的最小碎片数量,即门限值;分割后的密钥碎片为B(i,Y),其中,i为托管节点的编号。
[0010]进一步地,该方法具体包括如下步骤:
[0011](1)所有节点计算随机可验证函数,根据预设的规则,从所有节点中选出预设数量的节点作为选举节点,组成选举委员会,选举节点的身份是可验证的;
[0012](2)每个选举节点随机选择一个节点作为托管节点,所有托管节点组成托管委员会;选举节点通过托管节点对应公钥进行加密来建立通信机制,构建目标匿名通道;
[0013](3)用户将密钥进行切片加密后通过选举节点构建的目标匿名通道,将切片分别发送给选举委员会选举出的托管节点;
[0014](4)每隔一段时间,智能合约会被触发,所有节点重新选择选举节点,并且新的选举节点重新进行托管节点的随机选取,重新构建目标匿名通道;
[0015](5)当目标匿名通道再次构建完成后,原托管节点通过新的目标匿名通道,将密钥份额减半后的碎片发送给新的托管节点。
[0016](6)新的托管节点在收到份额减半的密钥碎片后,使用双变量0共享多项式对碎片进行偏移处理;
[0017](7)新的托管节点通过交互将碎片的份额进行恢复,重新持有完整的密钥碎片;
[0018](8)当用户发起托管恢复时,当前的托管节点在用户身份验证通过后,将密钥碎片发送给用户,用户在本地进行密钥拼接,完成托管密钥的恢复。
[0019]进一步地,所有节点在本地运行预先设定的随机可验证函数;随机可验证函数的公共参数选择上一个区块的hash值,输出值满足预设条件的节点成为选举节点。
[0020]进一步地,选举节点随机选择一个节点作为托管节点后,在本地生成生成新的临时密钥对(esk、epk),其中esk为私钥,epk为公钥;并用选择的托管节点的公钥对临时密钥对中的私钥esk进行加密,生成密文ct;通过发起交易,将选举信息(ct,epk)写入帐本进行公开,并保证所有节点可以获取到选举信息;所有节点通过公钥epk向托管节点发送消息,但不知道接受对象的身份,以此完成目标匿名通道的构建;所有节点在获取到选举信息后,使用自己的私钥对选举信息中的密文ct进行解密,如果能获得与选举信息中的公钥epk对应的私钥esk,证明自己就是被选择的托管节点,否则,自己就不是托管节点。
[0021]进一步地,在选举节点选举托管节点完成之后,用户将自己的密钥通过改进的Shamir秘密分享算法加密后,将密钥碎片B(i,Y)通过目标匿名通道分别向托管节点发送,完成密钥的分布式托管。
[0022]进一步地,每隔一段时间,智能合约被触发,所有节点会重新进行选举节点的选举,具体为:
[0023]所有节点重新在本地运行预先设定的随机可验证函数,并将运算结果公布在链上,运算结果满足预设条件的节点会被视为新一轮的选举节点;当新一轮的选举节点被选定后,旧的选举节点以及旧选举节点所构建的目标匿名通道失效,新的选举节点再次随机选取新的托管节点,并按照新的托管节点构建新的目标匿名通道。
[0024]进一步地,当新的目标匿名通道被构建成功后,旧的托管节点需要通过目标匿名通道将密钥碎片转交给新的托管节点,旧托管节点i分别计算新托管节点j
1,

j
n
对应的的密钥碎片B(i,j
k
),并将新的密钥碎片发给对应的新托管节点。
[0025]进一步地,新托管节点j在收到来自多于t个旧托管节点的新密钥碎片后,通过拉格朗日插值,计算出份额减半后的密钥碎片B(X,j),此时的恢复门限为2t;通过满足Q(0,0)=0的双变量0共享多项式Q(X,Y),对份额减半后的密钥碎片B(X,j)进行偏移处理,获得新的份额减半密钥碎片B

(X,j)=B(X,j)+Q(X,j)使得之后新构建出的新托管节点持有的完整份额的密钥碎片不能与旧托管节点持有的密钥碎片计算出正确的加密多项式。
[0026]进一步地,新的托管节点完成双变量0共享多项式的计算之后,进行新托管节点之间的交互,节点j分别计算新托管委员会中其他节点t1,

,t
n
对应的份额减半密钥碎片B

(t
k
,j),并将其发送给对应的新托管节点,新托管节点t
k
在收到任意多于2t个节点发送过来的份额减半密钥碎片后,进行拉格朗日插值计算,重新计算出完整份额的密钥碎片B

(t
k
,Y),恢复到门限为t的恢复状态。
[0027]进一步地,当用户发起托管恢复时,托管节点将密钥碎片发送给用户,用户在本地通过拉格朗日插值恢复出多项式B

(X,Y),计算出托管密钥S=B

(0,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的分布式密钥托管方法,其特征在于,使用者的密钥通过切片方法切成指定数量后存储在由组成选举委员会的选举节点选举出的匿名的托管节点上;每隔一顿时间,智能合约被触发后,所有节点重新选举出新的选举节点,新的选举节点进行组成托管委员会的托管节点选举,原有托管节点将托管的密钥切片发送给新选举出的托管节点,完成选举节点和托管节点及持有的密钥切片的定期更新;所述切片方法为改进的Shamir秘密分享算法,即,将用户的密钥加密在一个非对称的双变量多项式B(X,Y)中,其中,X、Y为变量,X的维度为t,Y的维度为2t,B(0,0)=S,S为秘密本身,t为设定的恢复密钥的最小碎片数量,即门限值;分割后的密钥碎片为B(i,Y),其中,i为托管节点的编号。2.根据权利要求1所述的基于区块链的分布式密钥托管方法,其特征在于,该方法具体包括如下步骤:(1)所有节点计算随机可验证函数,根据预设的规则,从所有节点中选出预设数量的节点作为选举节点,组成选举委员会,选举节点的身份是可验证的;(2)每个选举节点随机选择一个节点作为托管节点,所有托管节点组成托管委员会;选举节点通过托管节点对应公钥进行加密来建立通信机制,构建目标匿名通道;(3)用户将密钥进行切片加密后通过选举节点构建的目标匿名通道,将切片分别发送给选举委员会选举出的托管节点;(4)每隔一段时间,智能合约会被触发,所有节点重新选择选举节点,并且新的选举节点重新进行托管节点的随机选取,重新构建目标匿名通道;(5)当目标匿名通道再次构建完成后,原托管节点通过新的目标匿名通道,将密钥份额减半后的碎片发送给新的托管节点。(6)新的托管节点在收到份额减半的密钥碎片后,使用双变量0共享多项式对碎片进行偏移处理;(7)新的托管节点通过交互将碎片的份额进行恢复,重新持有完整的密钥碎片;(8)当用户发起托管恢复时,当前的托管节点在用户身份验证通过后,将密钥碎片发送给用户,用户在本地进行密钥拼接,完成托管密钥的恢复。3.根据权利要求2所述的基于区块链的分布式密钥托管方法,其特征在于,所有节点在本地运行预先设定的随机可验证函数;随机可验证函数的公共参数选择上一个区块的hash值,输出值满足预设条件的节点成为选举节点。4.根据权利要求1所述的基于区块链的分布式密钥托管方法,其特征在于,选举节点随机选择一个节点作为托管节点后,在本地生成生成新的临时密钥对(esk、epk),其中esk为私钥,epk为公钥;并用选择的托管节点的公钥对临时密钥对中的私钥esk进行加密,生成密文ct;通过发起交易,将选举信息(ct,epk)写入帐本进行公开,并保证所有节点可以获取到选举信息;所有节点通过公钥epk向托管节点发送消息,但不知道接受对象的身份,以此完成目标匿名通道的构建;所有节点在获取到选举信息后,使用自己的私钥对选举信息中的密文ct进行解密,如果能获得与选举信息中的公钥epk对应的私钥esk,证明自己就是被选择的托管节点,否则,自己就不...

【专利技术属性】
技术研发人员:郭壮杨小虎王强
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1