CN115051797A - 带口令的分布式密钥托管系统 - Google Patents

带口令的分布式密钥托管系统 Download PDF

Info

Publication number
CN115051797A
CN115051797A CN202210646673.9A CN202210646673A CN115051797A CN 115051797 A CN115051797 A CN 115051797A CN 202210646673 A CN202210646673 A CN 202210646673A CN 115051797 A CN115051797 A CN 115051797A
Authority
CN
China
Prior art keywords
key
user
password
sharing
storage module
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.)
Pending
Application number
CN202210646673.9A
Other languages
English (en)
Inventor
李亚博
孙宗臣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Wanxiang Blockchain Inc
Original Assignee
Shanghai Wanxiang Blockchain Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Wanxiang Blockchain Inc filed Critical Shanghai Wanxiang Blockchain Inc
Priority to CN202210646673.9A priority Critical patent/CN115051797A/zh
Publication of CN115051797A publication Critical patent/CN115051797A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种带口令的分布式密钥托管系统,包括用户管理模块、密钥分享与恢复模块和密钥存储模块;所述用户管理模块与密钥分享与恢复模块相连接,所述密钥分享与恢复模块与密钥存储模块相连接。用户登陆托管系统,使用密钥分享功能,将密钥分为多个密钥片段,选择将其中的一份或多份密钥片段上传密钥存储模块托管;若用户密钥丢失,用户在登陆托管系统成功后,可以使用密钥恢复功能,请求之前存储的密钥片段后,并使用口令、多份密钥片段恢复丢失的原密钥。本发明在用户有密钥托管需求的情况下,为用户提供一套安全的用户私钥托管方案,在保证安全性的同时,也体现了用户对密钥的拥有权。

Description

带口令的分布式密钥托管系统
技术领域
本发明涉及密钥托管的技术领域,具体地,涉及带口令的分布式密钥托管系统。
背景技术
在非对称加密体系中,会产生一对公私钥,公钥加密私钥解密或私钥签名公钥验签。用户自己保存自己的私钥,发送方可以使用用户公钥来对文件或数据进行加密,并将加密后的密文发送给用户,用户使用自己的私钥将密文解密,得到发送方原始的文件或数据,实现了文件或数据的安全传输,防止文件或数据被第三方窃取。加密的公钥,用户可以对外公布出去,但是用来解密的私钥只能由用户自己保存,这种情况下用户的私钥一旦丢失,密文数据就无法解密出来。用户私钥一般长度较长,单纯凭记忆牢记不可靠;存储在其他地方,一旦存储介质丢失,私钥无法找回;其他私钥托管方案或多或少存在安全性问题。
在公开号为CN113691373A的专利文献中公开了一种基于联盟区块链的抗量子密钥托管系统及方法,系统包括:发送方节点发送秘密数据M给接收方节点之前,离线协商好会话密钥SK;发送节点调用发送方合约,基于会话密钥SK对发送的秘密数据M进行加密;接收方节点调用接收方合约,基于会话密钥SK对接收的秘密数据M进行解密;发送方节点还调用托管合约,用抗量子公私钥对中的公钥生成托管共享密钥ESS,用托管共享密钥ESS对秘密数据M进行加密;托管节点调用托管合约,基于抗量子公私钥对中的私钥得到托管共享密钥ESS;监管节点调用托管合约,基于托管节点得到的托管共享密钥ESS对秘密数据M进行解密。
因此,需要提出一种新的技术方案以改善上述技术问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种带口令的分布式密钥托管系统。
根据本发明提供的一种带口令的分布式密钥托管系统,包括用户管理模块、密钥分享与恢复模块和密钥存储模块;
所述用户管理模块与密钥分享与恢复模块相连接,所述密钥分享与恢复模块与密钥存储模块相连接;
用户管理模块:用户使用密钥托管系统,注册成功后使用相应的账号、密码登陆,获取鉴权的token令牌;用户使用密钥分享或恢复功能时,请求密钥存储模块携带token,在存储密钥片段或请求密钥片段时鉴定用户身份;
密钥分享与恢复模块:用户登陆密钥托管系统成功后,输入密钥、口令参数,调用密钥分享功能,在客户端生成用户自定义密钥份额数的密钥片段;当用户密钥丢失后,用户使用密钥恢复功能,请求密钥存储模块获取密钥片段,并使用口令、多份密钥片段恢复丢失的原密钥;
密钥存储模块:用户登陆托管系统成功后,使用密钥分享功能生成多份密钥片段,选择将其中的一份或多份密钥片段上传到密钥存储模块,进行托管;若密钥丢失,用户在登陆托管系统成功后,使用密钥恢复功能,向密钥存储模块请求之前存储的密钥片段,进行后续的密钥恢复。
优选地,所述密钥分享与恢复模块的密钥分享功能在用户生成密钥后,在客户端自定义密钥口令password、密钥分享的份额数n、密钥阈值t,调用密钥分享功能输入以上三个参数以及用户密钥,将用户密钥切割产生自定义密钥份额数的密钥片段shares,以上操作在用户客户端进行,用户密钥不向外部传输;密钥口令由用户自定义,用户自己保存。
优选地,所述password作为分享密钥以及恢复密钥的参数;所述密钥分享的份额数n大于三;所述密钥阈值t为恢复密钥所需的最少密钥份额数,需大于密钥分享份额数n的二分之一。
优选地,所述密钥分享与恢复模块的密钥分享功能包括如下步骤:
步骤S1:首先生成加密密钥key;
步骤S2:然后使用加密密钥key将用户密钥data进行加密生成用户密钥密文s;
步骤S3:接着使用输入的口令password将加密密钥key加密生成加密密钥密文ckey;
步骤S4:最后使用以下公式得出最终的用户密钥片段shares:
随机构造t-1次多项式f(x)∈Zq[x],q是大素数模;Zq为有限域,是整数
{0,1,…,q-1}的集合;Zq[x]为与x相关的整数集合,其中:
f(0)=s+ckey;
a1,a1,…,at-1∈Zq
f(x)=ckey+s+a1x+a2x2+…+at-1xt-1
随机选取n个x1,x2,…,xn∈Zq,计算yi=f(xi);
(xi,yi)构造出密钥片段输出;
其中,s为密钥密文;ckey加密密钥密文;t为密钥阈值,ai为Zq中随机选择的整数。
优选地,所述密钥分享与恢复模块的密钥恢复功能在用户密钥丢失时,用户请求密钥存储模块或可信第三方获取密钥份额,使用多份密钥份额shares、口令password、密钥阈值t,调用密钥恢复功能,即可恢复出丢失的原密钥。
优选地,口令由用户自己定义,只有用户自己能够进行恢复密钥的操作;恢复操作在用户客户端进行,用户密钥不会向外部泄漏,用户自己掌握自己的私钥。
优选地,所述密钥分享与恢复模块的密钥恢复功能包括如下步骤:
步骤1:首先通过t个密钥片段share,利用拉格朗日公式恢复出用户密钥密文s、加密密钥密文ckey:
输入t个密钥片段,应用拉格朗日插值公式所得到的拉格朗日插值多项式:
Figure BDA0003686185220000031
其中,公式右侧先求乘机再求和,(xi,yi)为t个密钥片段中一个密钥片段,t为密钥阈值;
恢复f(0)=s+ckey;s为密钥密文;ckey加密密钥密文,即:
Figure BDA0003686185220000032
步骤2:然后使用输入的口令password解密ckey,得到加密密钥key;
步骤3:最后使用key解密s得到原始的用户密钥data,完成整个密钥恢复过程。
优选地,所述密钥存储模块在用户生成多个密钥片段后,选择将一个或多个密钥片段上传至密钥存储模块,余下的片段用户选择自己存储或交给可信的第三方进行保存。
优选地,所述密钥存储模块采用分布式存储,用户登陆后,待存储模块鉴权通过后上传密钥片段,密钥存储模块将密钥片段加密存储;当用户请求密钥片段时,密钥存储模块鉴权通过,并将密钥片段解密后,返回用户保存成功的密钥原片段。
与现有技术相比,本发明具有如下的有益效果:
1、本发明在用户有密钥托管需求的情况下,为用户提供一套安全的用户私钥托管方案,在保证安全性的同时,也体现了用户对密钥的拥有权;
2、本发明通过密钥托管系统、方案的密钥分享与恢复模块密钥分享功能,将用户一旦丢失就难以找回的一份密钥,分割为多个密钥片段,即使一份或多分密钥片段丢失(丢失的密钥片段数不超过密钥分享的份额数与阈值的差值),也不影响密钥恢复,提高了密钥保存的容错性;
3、本发明通过密钥托管系统、方案的密钥存储模块,将用户的密钥片段加密存储,为客户提供了可信的存储服务,增加了用户保存密钥片段的可选择性;
4、本发明通过密钥托管系统、方案的密钥分享与恢复模块密钥恢复功能,用户若丢失密钥,可在拥有多个密钥片段的基础上,输入用户自定义的口令,即可恢复密钥,口令由用户自己保存,体现了用户对密钥的所有权。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明密钥托管系统架构图;
图2为本发明密钥托管系统密钥分享与恢复功能泳道图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
根据本发明提供的一种带口令的分布式密钥托管系统,包括用户管理模块、密钥分享与恢复模块和密钥存储模块;用户管理模块与密钥分享与恢复模块相连接,密钥分享与恢复模块与密钥存储模块相连接。
用户管理模块:用户使用密钥托管系统,注册成功后使用相应的账号、密码登陆,获取鉴权的token令牌;用户使用密钥分享或恢复功能时,请求密钥存储模块携带token,在存储密钥片段或请求密钥片段时鉴定用户身份。
密钥分享与恢复模块:用户登陆密钥托管系统成功后,输入密钥、口令参数,调用密钥分享功能,在客户端生成用户自定义密钥份额数的密钥片段;当用户密钥丢失后,用户使用密钥恢复功能,请求密钥存储模块获取密钥片段,并使用口令、多份密钥片段恢复丢失的原密钥。
密钥存储模块:用户登陆托管系统成功后,使用密钥分享功能生成多份密钥片段,选择将其中的一份或多份密钥片段上传到密钥存储模块,进行托管;若密钥丢失,用户在登陆托管系统成功后,使用密钥恢复功能,向密钥存储模块请求之前存储的密钥片段,进行后续的密钥恢复。
密钥分享与恢复模块的密钥分享功能在用户生成密钥后,在客户端自定义密钥口令password、密钥分享的份额数n、密钥阈值t,调用密钥分享功能输入以上三个参数以及用户密钥,将用户密钥切割产生自定义密钥份额数的密钥片段shares,以上操作在用户客户端进行,用户密钥不向外部传输;密钥口令由用户自定义,用户自己保存。
password作为分享密钥以及恢复密钥的参数;密钥分享的份额数n大于三;密钥阈值t为恢复密钥所需的最少密钥份额数,需大于密钥分享份额数n的二分之一。
密钥分享与恢复模块的密钥分享功能包括如下步骤:
步骤S1:首先生成加密密钥key;
步骤S2:然后使用加密密钥key将用户密钥data进行加密生成用户密钥密文s;
步骤S3:接着使用输入的口令password将加密密钥key加密生成加密密钥密文ckey;
步骤S4:最后使用以下公式得出最终的用户密钥片段shares:
随机构造t-1次多项式f(x)∈Zq[x],q是大素数模;Zq为有限域,是整数
{0,1,…,q-1}的集合;Zq[x]为与x相关的整数集合,其中:
f(0)=s+ckey;
a1,a1,…,at-1∈Zq
f(x)=ckey+s+a1x+a2x2+…+at-1xt-1
随机选取n个x1,x2,…,xn∈Zq,计算yi=f(xi);
(xi,yi)构造出密钥片段输出;
其中,s为密钥密文;ckey加密密钥密文;t为密钥阈值,ai为Zq中随机选择的整数。
密钥分享与恢复模块的密钥恢复功能在用户密钥丢失时,用户请求密钥存储模块或可信第三方获取密钥份额,使用多份密钥份额shares、口令password、密钥阈值t,调用密钥恢复功能,即可恢复出丢失的原密钥。
口令由用户自己定义,只有用户自己能够进行恢复密钥的操作;恢复操作在用户客户端进行,用户密钥不会向外部泄漏,用户自己掌握自己的私钥。
优选地,密钥分享与恢复模块的密钥恢复功能包括如下步骤:
步骤1:首先通过t个密钥片段share,利用拉格朗日公式恢复出用户密钥密文s、加密密钥密文ckey:
输入t个密钥片段,应用拉格朗日插值公式所得到的拉格朗日插值多项式:
Figure BDA0003686185220000061
其中,公式右侧先求乘机再求和,(xi,yi)为t个密钥片段中一个密钥片段,t为密钥阈值;
恢复f(0)=s+ckey;s为密钥密文;ckey加密密钥密文,即:
Figure BDA0003686185220000062
步骤2:然后使用输入的口令password解密ckey,得到加密密钥key;
步骤3:最后使用key解密s得到原始的用户密钥data,完成整个密钥恢复过程。
密钥存储模块在用户生成多个密钥片段后,选择将一个或多个密钥片段上传至密钥存储模块,余下的片段用户选择自己存储或交给可信的第三方进行保存。
密钥存储模块采用分布式存储,用户登陆后,待存储模块鉴权通过后上传密钥片段,密钥存储模块将密钥片段加密存储;当用户请求密钥片段时,密钥存储模块鉴权通过,并将密钥片段解密后,返回用户保存成功的密钥原片段。
实施例2:
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
一种带口令的分布式密钥托管系统、方案:包括用户管理、密钥分享与恢复、密钥存储三个功能模块。
用户管理模块:用户使用密钥托管系统,注册成功后使用相应的账号、密码登陆,获取鉴权的token令牌;请求密钥存储模块时携带token,以便于存储密钥片段或请求密钥片段时鉴定用户身份。
密钥分享与恢复模块:用户在客户端生成密钥,输入口令,调用密钥分享功能,本地生成用户自定义密钥份额数的密钥片段;当用户密钥丢失,用户可请求密钥托管系统获取密钥片段,使用口令、多份密钥片段恢复丢失的原密钥。
密钥存储模块:用户本地生成密钥片段,登陆托管系统成功后,可以选择将其中的一份或多份密钥片段上传到密钥存储模块;若密钥丢失,用户可在登陆托管系统成功后,请求之前存储的密钥片段。
所述密钥托管系统、方案密钥分享与恢复模块密钥分享功能用户在本地生成密钥后,在客户端自定义密钥口令password(作为分享密钥以及恢复密钥的参数)、密钥分享的份额数n(建议大于三)、密钥阈值t(恢复密钥所需的最少密钥份额数,需大于密钥份额的二分之一以上),调用密钥分享功能输入以上三个参数以及用户密钥,将用户密钥切割产生自定义密钥份额数的密钥片段shares,以上操作在用户客户端进行,保证了用户密钥不会向外部传输;密钥口令由用户自定义,需要用户自己保存。密钥分享-密钥片段生成方法(data为原始数据,可以是密钥也可以是普通的隐私数据):sss_create_shar(shares,data,password,n,t)。
密钥分享功能步骤:
首先生成加密密钥key,然后使用加密密钥key将用户密钥data进行加密生成用户密钥密文s,接着使用输入的口令password将加密密钥key加密生成加密密钥密文ckey,最后使用以下公式得出最终的用户密钥片段shares:
随机构造t-1次多项式f(x)∈Zq[x],q是大素数模;Zq为有限域,是整数
{0,1,…,q-1}的集合;Zq[x]为与x相关的整数集合,其中:
f(0)=s+ckey;
a1,a1,…,at-1∈Zq
f(x)=ckey+s+a1x+a2x2+…+at-1xt-1
随机选取n个x1,x2,…,xn∈Zq,计算yi=f(xi);
(xi,yi)构造出密钥片段输出;
其中,s为密钥密文;ckey加密密钥密文;t为密钥阈值,ai为Zq中随机选择的整数。
所述密钥托管系统、方案密钥分享与恢复模块密钥恢复功能用户密钥丢失,用户可请求密钥存储模块或可信第三方获取密钥份额,使用多份密钥份额shares、口令password、密钥阈值t,调用密钥恢复功能,即可恢复出丢失的原密钥。口令由用户自己定义,保证了只有用户自己可以进行恢复密钥的操作;恢复操作在用户客户端进行,保证了用户密钥不会向外部泄漏,用户自己掌握自己的私钥。密钥恢复-密钥片段恢复为原始密钥方法(data可以是密钥也可以是普通的隐数据):sss_combine_shares(data,shares,password,t)。
密钥恢复功能步骤:
首先通过t个密钥片段share,利用拉格朗日公式恢复出用户密钥密文s、加密密钥密文ckey:
输入t个密钥片段,应用拉格朗日插值公式所得到的拉格朗日插值多项式:
Figure BDA0003686185220000081
其中,公式右侧先求乘机再求和,(xi,yi)为t个密钥片段中一个密钥片段,t为密钥阈值;
恢复f(0)=s+ckey;s为密钥密文;ckey加密密钥密文,即:
Figure BDA0003686185220000082
然后使用输入的口令password解密ckey,得到加密密钥key;最后使用key解密s得到原始的用户密钥data,完成整个密钥恢复过程。
所述密钥托管方案密钥存储模块用户在客户端生成多个密钥片段后,可以选择将一个或多个密钥片段上传至密钥存储模块,余下的片段用户可以选择自己存储或交给可信的第三方进行保存。密钥存储模块采用分布式存储,用户登陆后,待存储模块鉴权通过后可以上传密钥片段,存储模块将密钥片段加密存储;当用户请求密钥片段时,密钥存储模块鉴权通过,并将密钥片段解密后,返回用户保存成功的密钥原片段。
所述密钥托管系统、方案密钥分享与恢复模块用户的口令由用户自己保存,口令的设置要合理,既不能过于复杂,造成口令丢失;又不能设置的过于简单,容易被破解。
在非对称加密体系中,会产生一对公私钥,公钥加密私钥解密或私钥签名公钥验签。用户自己保存自己的私钥,发送方可以使用用户公钥来对文件或数据进行加密,并将加密后的密文发送给用户,用户使用自己的私钥将密文解密,得到发送方原始的文件或数据,实现了文件或数据的安全传输,防止文件或数据被第三方窃取。加密的公钥,用户可以对外公布出去,但是用来解密的私钥只能由用户自己保存,这种情况下用户的私钥一旦丢失,密文数据就无法解密出来。用户私钥一般长度较长,单纯凭记忆牢记不可靠;存储在其他地方,一旦存储介质丢失,私钥无法找回;其他私钥托管方案或多或少存在安全性问题。本方案保证了,用户私钥丢失的情况下,由多方协作的方式找回密钥片段,并最终需要用户自定义的口令,才能完成密钥的恢复工作。
带口令的分布式密钥托管方案解决了用户密钥防丢失、密钥难保存、密钥托管安全性低的问题。用户自己选择可信的第三方,即使有一方丢失密钥片段,用户也可以找回密钥;即使其他第三方作恶,用户自己保存口令,第三方依然不能恢复用户密钥。
难点有:1)用户的密钥在本地分享与恢复,保证密钥安全;2)用户密钥片段分片存储,拥有一部分即可恢复,防丢失;3)用户口令由自己保管,保证用户对密钥的拥有主权。
本方案在用户有密钥托管需求的情况下,为用户提供一套安全的用户私钥托管方案,在保证安全性的同时,也体现了用户对密钥的拥有权。
通过密钥托管系统、方案的密钥分享与恢复模块密钥分享功能,将用户一旦丢失就难以找回的一份密钥,分割为多个密钥片段,即使一份或多分密钥片段丢失(丢失的密钥片段数不超过密钥分享的份额数与阈值的差值),也不影响密钥恢复,提高了密钥保存的容错性。
通过密钥托管系统、方案的密钥存储模块,将用户的密钥片段加密存储,为客户提供了可信的存储服务,增加了用户保存密钥片段的可选择性。
通过密钥托管系统、方案的密钥分享与恢复模块密钥恢复功能,用户若丢失密钥,可在拥有多个密钥片段的基础上,输入用户自定义的口令,即可恢复密钥。口令由用户自己保存,体现了用户对密钥的所有权。
本领域技术人员可以将本实施例理解为实施例1的更为具体的说明。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (9)

1.一种带口令的分布式密钥托管系统,其特征在于,包括用户管理模块、密钥分享与恢复模块和密钥存储模块;
所述用户管理模块与密钥分享与恢复模块相连接,所述密钥分享与恢复模块与密钥存储模块相连接;
用户管理模块:用户使用密钥托管系统,注册成功后使用相应的账号、密码登陆,获取鉴权的token令牌;用户使用密钥分享或恢复功能时,请求密钥存储模块携带token,在存储密钥片段或请求密钥片段时鉴定用户身份;
密钥分享与恢复模块:用户登陆密钥托管系统成功后,输入密钥、口令参数,调用密钥分享功能,在客户端生成用户自定义密钥份额数的密钥片段;当用户密钥丢失后,用户使用密钥恢复功能,请求密钥存储模块获取密钥片段,并使用口令、多份密钥片段恢复丢失的原密钥;
密钥存储模块:用户登陆托管系统成功后,使用密钥分享功能生成多份密钥片段,选择将其中的一份或多份密钥片段上传到密钥存储模块,进行托管;若密钥丢失,用户在登陆托管系统成功后,使用密钥恢复功能,向密钥存储模块请求之前存储的密钥片段,进行后续的密钥恢复。
2.根据权利要求1所述的带口令的分布式密钥托管系统,其特征在于,所述密钥分享与恢复模块的密钥分享功能在用户生成密钥后,在客户端自定义密钥口令password、密钥分享的份额数n、密钥阈值t,调用密钥分享功能输入以上三个参数以及用户密钥,将用户密钥切割产生自定义密钥份额数的密钥片段shares,以上操作在用户客户端进行,用户密钥不向外部传输;密钥口令由用户自定义,用户自己保存。
3.根据权利要求1所述的带口令的分布式密钥托管系统,其特征在于,所述password作为分享密钥以及恢复密钥的参数;所述密钥分享的份额数n大于三;所述密钥阈值t为恢复密钥所需的最少密钥份额数,需大于密钥分享份额数n的二分之一。
4.根据权利要求2所述的带口令的分布式密钥托管系统,其特征在于,所述密钥分享与恢复模块的密钥分享功能包括如下步骤:
步骤S1:首先生成加密密钥key;
步骤S2:然后使用加密密钥key将用户密钥data进行加密生成用户密钥密文s;
步骤S3:接着使用输入的口令password将加密密钥key加密生成加密密钥密文ckey;
步骤S4:最后使用以下公式得出最终的用户密钥片段shares:
随机构造t-1次多项式f(x)∈Zq[x],q是大素数模;Zq为有限域,是整数{0,1,…,q-1}的集合;Zq[x]为与x相关的整数集合,其中:
f(0)=s+ckey;
a1,a1,…,at-1∈Zq
f(x)=ckey+s+a1x+a2x2+…+at-1xt-1
随机选取n个x1,x2,…,xn∈Zq,计算yi=f(xi);
(xi,yi)构造出密钥片段输出;
其中,s为密钥密文;ckey加密密钥密文;t为密钥阈值,ai为Zq中随机选择的整数。
5.根据权利要求1所述的带口令的分布式密钥托管系统,其特征在于,所述密钥分享与恢复模块的密钥恢复功能在用户密钥丢失时,用户请求密钥存储模块或可信第三方获取密钥份额,使用多份密钥份额shares、口令password、密钥阈值t,调用密钥恢复功能,即可恢复出丢失的原密钥。
6.根据权利要求5所述的带口令的分布式密钥托管系统,其特征在于,口令由用户自己定义,只有用户自己能够进行恢复密钥的操作;恢复操作在用户客户端进行,用户密钥不会向外部泄漏,用户自己掌握自己的私钥。
7.根据权利要求5所述的带口令的分布式密钥托管系统,其特征在于,所述密钥分享与恢复模块的密钥恢复功能包括如下步骤:
步骤1:首先通过t个密钥片段share,利用拉格朗日公式恢复出用户密钥密文s、加密密钥密文ckey:
输入t个密钥片段,应用拉格朗日插值公式所得到的拉格朗日插值多项式:
Figure FDA0003686185210000021
其中,公式右侧先求乘机再求和,(xi,yi)为t个密钥片段中一个密钥片段,t为密钥阈值;
恢复f(0)=s+ckey;s为密钥密文;ckey加密密钥密文,即:
Figure FDA0003686185210000022
步骤2:然后使用输入的口令password解密ckey,得到加密密钥key;
步骤3:最后使用key解密s得到原始的用户密钥data,完成整个密钥恢复过程。
8.根据权利要求1所述的带口令的分布式密钥托管系统,其特征在于,所述密钥存储模块在用户生成多个密钥片段后,选择将一个或多个密钥片段上传至密钥存储模块,余下的片段用户选择自己存储或交给可信的第三方进行保存。
9.根据权利要求8所述的带口令的分布式密钥托管系统,其特征在于,所述密钥存储模块采用分布式存储,用户登陆后,待存储模块鉴权通过后上传密钥片段,密钥存储模块将密钥片段加密存储;当用户请求密钥片段时,密钥存储模块鉴权通过,并将密钥片段解密后,返回用户保存成功的密钥原片段。
CN202210646673.9A 2022-06-09 2022-06-09 带口令的分布式密钥托管系统 Pending CN115051797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210646673.9A CN115051797A (zh) 2022-06-09 2022-06-09 带口令的分布式密钥托管系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210646673.9A CN115051797A (zh) 2022-06-09 2022-06-09 带口令的分布式密钥托管系统

Publications (1)

Publication Number Publication Date
CN115051797A true CN115051797A (zh) 2022-09-13

Family

ID=83160729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210646673.9A Pending CN115051797A (zh) 2022-06-09 2022-06-09 带口令的分布式密钥托管系统

Country Status (1)

Country Link
CN (1) CN115051797A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117811735A (zh) * 2024-03-01 2024-04-02 云筑信息科技(成都)有限公司 一种基于社会关系图谱的密钥托管方法和装置
CN117879790A (zh) * 2023-02-22 2024-04-12 上海金怪兽科技有限公司 基于区块链的数据加解密方法及手机壳套

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117879790A (zh) * 2023-02-22 2024-04-12 上海金怪兽科技有限公司 基于区块链的数据加解密方法及手机壳套
CN117811735A (zh) * 2024-03-01 2024-04-02 云筑信息科技(成都)有限公司 一种基于社会关系图谱的密钥托管方法和装置

Similar Documents

Publication Publication Date Title
US10211981B2 (en) System and method for generating a server-assisted strong password from a weak secret
US11552792B2 (en) Systems and methods for generating signatures
US11451386B2 (en) Method and system for many-to-many symmetric cryptography and a network employing the same
US6898288B2 (en) Method and system for secure key exchange
US6125185A (en) System and method for encryption key generation
US7424615B1 (en) Mutually authenticated secure key exchange (MASKE)
EP3462667A1 (en) Blockchain based joint blind key escrow
WO2017147503A1 (en) Techniques for confidential delivery of random data over a network
WO2014167525A1 (en) Secure backup and recovery system for private sensitive data
CN111277412B (zh) 基于区块链密钥分发的数据安全共享系统及方法
CN108768647B (zh) 一种区块链的随机数产生方法
CN115051797A (zh) 带口令的分布式密钥托管系统
CN105227566A (zh) 密钥处理方法、密钥处理装置及密钥处理系统
US11563566B2 (en) Key splitting
CN104158880A (zh) 一种用户端云数据共享解决方法
CN110999202A (zh) 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法
CN105490806A (zh) 一种同态密钥生成、共享方法及装置
EP4289103A1 (en) Threshold key exchange
CN113572604A (zh) 一种发送密钥的方法、装置、系统及电子设备
CN110557367B (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统
JP2006227411A (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
CN112822016B (zh) 在区块链上进行数据授权的方法及区块链网络
CN116055136A (zh) 一种基于秘密共享的多目标认证方法
WO2022185328A1 (en) System and method for identity-based key agreement for secure communication
CA3210990C (en) End to end encryption with roaming capabilities

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