CN112543102A - 一种抗丢失且云端可干预的密钥存储方法 - Google Patents

一种抗丢失且云端可干预的密钥存储方法 Download PDF

Info

Publication number
CN112543102A
CN112543102A CN201910892261.1A CN201910892261A CN112543102A CN 112543102 A CN112543102 A CN 112543102A CN 201910892261 A CN201910892261 A CN 201910892261A CN 112543102 A CN112543102 A CN 112543102A
Authority
CN
China
Prior art keywords
client
cloud
key
shadow
private key
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
CN201910892261.1A
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.)
Cloud Control Fenghe Beijing Technology Co ltd
Original Assignee
Cloud Control Fenghe Beijing Technology Co ltd
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 Cloud Control Fenghe Beijing Technology Co ltd filed Critical Cloud Control Fenghe Beijing Technology Co ltd
Priority to CN201910892261.1A priority Critical patent/CN112543102A/zh
Publication of CN112543102A publication Critical patent/CN112543102A/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/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/3247Cryptographic 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 involving digital signatures
    • H04L9/3252Cryptographic 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 involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr 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/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/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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种抗丢失且云端可干预的密钥存储方法,其特征在于,具体包括以下步骤:步骤1、主客户端生成自己的公私钥对<publickey,privatekey>;步骤2、主客户端将私钥privatekey拆分成Head和Body两部分,并将Head部分上传云端保存;云端则建立主客户端的公钥与私钥Head部分匹配关系的数据库;步骤3、主客户端将私钥的body部分拆分成N份,然后将N个影子shadow分发给N个辅助客户端,并规定只要有t个辅助客户端贡献出自己保存的影子shadow,才能够将Body恢复出来。本发明解决了云端存储密钥,云端责任和风险过大的问题,也解决了客户端存储密钥容易丢失的问题。

Description

一种抗丢失且云端可干预的密钥存储方法
技术领域
本发明属于转账安全技术领域,具体涉及一种抗丢失且云端可干预的密钥存储方法。
背景技术
2008年中本聪发表了著名论文《Bitcoin:A Peer-to-Peer Electronic CashSystem》,标志着区块链技术的正式诞生。为了支持DAPP应用,Vitalik Buterin于2013年发表了以太坊初版白皮书,引入了智能合约的概念。此后又诞生了EoS、NEO等著名公链平台,以及Fabric等联盟链平台。这些平台的发展也催生了DApp应用的繁荣。
早期的DApp是直接在在公链上开发,后来逐渐采用重云端轻客户端的BaaS架构,云端将区块链技术封装成BaaS服务输出给各个DApp。在BaaS架构中存在一个密钥存储的问题。根据非对称密码学,可以随意生成一对<publickey,privatekey>密钥对。这个publickey在经过一些简单的转换之后就是地址,而Privatekey则是极端重要的,因为这个地址里面的数字资产全靠privatekey保护,如果privatekey被窃取则盗贼完全可以将这个地址中的资产转走,如果privatekey丢失,则这个地址中的资产也就再也无法使用相当于丢失了。所以privatekey的存储和保护是极端重要的一个问题。
privatekey存储目前较为流行的有两种方式:一种是存储在云端,一种是存储在客户端。图1所示为私钥在云端存储的系统框架;如果采用该种方式,将每个DApp注册用户的 priavetkey全部存储在云端。则需要在云端建设维护如表1所示的数据库:
表1
DApp 用户id(即publickey) 用户私钥(即privatekey)
dapp1 id1_1 privatekey1_1
dapp1 id1_2 privatekey1_2
…… …… ……
dapp2 id2_1 privatekey2_1
dapp2 id2_2 privatekey2_2
…… …… ……
如图2所示的该方案的具体工作流程为:客户端需要执行转账操作时,需要先向云端请求私钥,当客户端接收到云端发还的私钥后,执行转账操作,私钥使用完毕,进行销毁。
采用该种方法(云端存储私钥),云端是要承担极大的责任冒极大的风险的,因为这相当于将所有用户的所有资产都交给了云端保存,如果一旦出现云端被黑客攻破导致私钥泄露,会造成所有用户的财产损失,这个损失云端是承担不起的,因此不建议采用。
如图3所示的私钥在客户端存储的系统框架,如果将私钥存储在客户端,的确可以降低云端的风险减轻云端的责任,但是一般客户都不是专业人士,在使用dapp的过程中是很容易因为粗心大意造成私钥的丢失或者损坏或者泄露,云端又没有这个私钥备份,一旦损坏丢失则用户的资产也就丢失了。而且还有个缺陷就是云端无法干预用户,在用户执行包括转账等所有操作时云端都无法进行任何干预。另外客户端将私钥作为常量长期保存也是不安全的,可能被黑客或其他势力窃走。
因此,需要一种私钥的妥善存储方法,能够降低云端的风险,且能够做到对于普通用户来说,既不易丢失,又可以由云端进行干预。
发明内容
本发明为解决上述技术问题,提供了一种抗丢失且云端可干预的密钥存储方法。
为了实现上述目的,本发明采取的技术方案如下:
一种抗丢失且云端可干预的密钥存储方法,具体包括以下步骤:
步骤1、主客户端利用密钥生成算法生成自己的公私钥对<publickey,privatekey>;
步骤2、主客户端采用秘密拆分技术将私钥privatekey拆分成Head和Body两部分,并将Head部分上传云端保存;云端则建立主客户端的公钥与私钥Head部分匹配关系的数据库;
步骤3、主客户端采用门限秘密共享技术将私钥的body部分拆分成N份影子shadow,分别为shadow1、shadow2、shadow3、······、shadowN-1、shadowN;然后将N个影子shadow 分发给N个辅助客户端,并规定只要有t个辅助客户端贡献出自己保存的影子shadow,t≤N,才能够将Body恢复出来。
进一步的,步骤1所述的密钥生成算法为椭圆曲线生成算法,具体如下:
给定大素数p及其伽罗华域GF(p),定义在这个域上的椭圆曲线E: y2≡x3+ax+bmodp,并规定x∈GF(p),y∈GF(p),a∈GF(p),b∈GF(p),则上面会有离散的有限个点,加上无穷远点θ=(∞,∞),则构成集合
Figure BDA0002209133590000021
在这个点的集合上定义椭圆曲线的点加运算+,则构成一个循环群,群的阶为n,n必须是一个大素数;
点G是这个椭圆曲线上点循环群的生成元;
Figure BDA0002209133590000031
是由素数n诱导出的缩剩余类循环乘群;
则密钥生成算法为:
步骤A、任意选取随机数
Figure BDA0002209133590000032
则d就是私钥privatekey;
步骤B、计算点Q=dG,则点Q即为公钥publickey。
进一步的,步骤2所述秘密拆分技术能够将256bit的privatekey拆分成256bit的Head部分和256bit的Body部分,具体方法如下:
步骤a、主客户端生成一个256bit的随机数,这个随机数就是Head部分;
步骤b、主客户端根据Head和privatekey计算出Body;公式为:Body=privatekey^Head; ^是按位异或运算。
进一步的,步骤3中所述门限秘密共享技术,具体如下:
步骤1)、首先主客户端根据自己的需要选定N和t,其中N表示他愿意给多少个辅助客户端分发影子shadow,t表示要想恢复出Body至少需要多少个影子shadow;
步骤2)、然后选定大素数p及其伽罗华域GF(p),其上有相应的缩剩余类循环乘群
Figure BDA0002209133590000033
任意选取随机数
Figure BDA0002209133590000034
记M=Body,构造二元一次同余方程 y=(at-1xt-1+at-2xt-2+······+a2x2+a1x1+M)modP,这个方程将决定二维平面上的一条曲线;
步骤3)、在这条曲线上任意选取N个点(x1,y1),(x2,y2),······,(xN,yN),使得
Figure BDA0002209133590000035
1≤i≤N;然后将at-1,at-2,······,a2,a1丢弃,同时将(x1,y1)作为第一份影子shadow1发给辅助客户端1,将(x2,y2)作为第二份影子shadow2发给辅助客户端2,······,将(xN,yN)作为第N 份影子shadowN发给辅助客户端N,这样就完成了门限秘密共享算法,将秘密M分享给了N 个辅助客户端。
进一步的,还包括步骤4、主客户端需要使用私钥时,启动机制工作流程,恢复私钥即可。
更进一步的,所述机制工作流程,具体包括如下步骤:
步骤(1)、主客户端向他分发shadow的所有的N个辅助客户端广播,请求影子shadow;
步骤(2)、主客户端监听N个辅助客户端用户的回复,直到收到t个回复回来的影子Shadow后,t≤N,停止监听;
步骤(3)、主客户端利用收到的这t个影子shadow使用逆门限秘密分享算法恢复出Body;
步骤(4)、主客户端向云端请求Head;
步骤(5)、云端将与主客户端对应的Head返回给主客户端;
步骤(6)、主客户端拿着Head和Body部分使用逆秘密拆分算法恢复出私钥Privatekey,即可。
更进一步的,步骤(3)中所述逆门限秘密分享算法,具体为:
主客户端回收到t份影子shadow之后,能够写出t个t元一次方程,这t个方程组成t元一次方程组,
Figure BDA0002209133590000041
并且这个方程组有且只有一组解;求这个解就能够得到at-1,at-2,······,a2,a1,M的值,从而恢复出Body=M。
更进一步的,步骤(6)中所述逆秘密拆分算法能够根据Body和Head恢复出privatekey;
所述逆秘密拆分算法公式为:
Body^head=privatekey^Head^Head=privatekey^(Head^Head)=privatekey;^是按位异或运算。
更进一步的,步骤4中当主客户端需要使用私钥时,是使用私钥进行转账行为时,还包括步骤5,主客户端使用私钥privatekey进行离线签名,将签名串发送到区块链网络,区块链网路确认签名串的合法性,将签名数据打包到区块上,完成转账过程,所述转账过程利用转账算法完成转账交易。
与现有技术相比,本发明的有益效果是:
本发明解决了云端存储密钥,云端责任和风险过大的问题,同时,也解决了客户端存储密钥容易丢失的问题,采用本发明的技术方案能够同时达到如下几个发明目的:
(1)云端不存储用户的私钥,这样就化解掉了云端的风险,让云端变得责任不再那么重。
(2)客户端也不存储用户的私钥,这样让客户端更加安全。
(3)使用私钥时需要云端和客户端交互。这样赋予云端对客户端一定的干预权,即如果客户端想取得私钥进行转账等操作是必须要取得云端的配合才行。
(4)能够在一定程度上抗丢失,即将用户私钥的Body部分区分成N份影子交由N个辅助客户端保存,N可以很大比如1000。如果规定门限为t,比如t=3,那么即使丢了997份,只要还剩3份密钥影子就可以恢复出私钥的Body部分。
附图说明
图1为现有技术中私钥在云端存储的系统框架图;
图2为现有技术中私钥在云端存储的工作流程;
图3为现有技术中私钥在客户端存储的系统框架图;
图4为本发明一个实施例的流程图;
图5为本发明一个实施例中将body拆分为shadow的原理图。
具体实施方式
以下结合实施例对本发明进行进一步详细的叙述。
图4示出的本发明一种抗丢失且云端可干预的密钥存储方法的一个实施例,具体包括以下步骤:
步骤1、主客户端利用密钥生成算法生成自己的公私钥对<publickey,privatekey>;
步骤2、主客户端采用秘密拆分技术将私钥privatekey拆分成Head和Body两部分,并将Head部分上传云端保存;云端则建立主客户端的公钥与私钥Head部分匹配关系的数据库,见表2;
表2
DApp 用户id(即publickey) 用户私钥head
dapp1 id1_1 Head1_1
dapp1 id1_2 Head1_2
…… …… ……
dapp2 id2_1 Head2_1
dapp2 id2_2 Head2_2
…… …… ……
步骤3、主客户端采用门限秘密共享技术将私钥的body部分拆分成N份(比如N=5)影子shadow,分别为shadow1、shadow2、shadow3、······、shadowN-1、shadowN;然后将N个影子shadow分发给N个辅助客户端,并规定只要有t个辅助客户端贡献出自己保存的影子 shadow,t≤N(比如t=3),才能够将Body恢复出来。
作为本发明一种抗丢失且云端可干预的密钥存储方法的一个优选实施例,步骤1中所述的密钥生成算法采用椭圆曲线生成算法,具体如下:
给定大素数p及其伽罗华域GF(p),定义在这个域上的椭圆曲线E:y2≡x3+ax+bmodp,并规定x∈GF(p),y∈GF(p),a∈GF(p),b∈GF(p),则上面会有离散的有限个点,加上无穷远点θ=(∞,∞),则构成集合
Figure BDA0002209133590000021
在这个点的集合上定义椭圆曲线的点加运算+,则构成一个循环群,群的阶为n,n必须是一个大素数;
点G是这个椭圆曲线上点循环群的生成元;
Figure BDA0002209133590000062
是由素数n诱导出的缩剩余类循环乘群;
则密钥生成算法为:
步骤A、任意选取随机数
Figure BDA0002209133590000063
则d就是私钥privatekey;
步骤B、计算点Q=dG,则点Q即为公钥publickey。
进一步的,所述椭圆曲线是secp256k1,各个参数规定如下:
p=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFEFFFFFC2F
=2256-232-29-28-27-26-24-1
a=00000000 00000000 00000000 00000000 00000000 00000000 0000000000000000
b=00000000 00000000 00000000 00000000 00000000 00000000 0000000000000007
G=02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B16F81798
n=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8CD0364141
h=01
作为本发明一种抗丢失且云端可干预的密钥存储方法的一个优选实施例,步骤2所述秘密拆分技术能够将256bit的privatekey拆分成256bit的Head部分和256bit的Body部分,具体方法如下:
步骤a、主客户端生成一个256bit的随机数,这个随机数就是Head部分;
步骤b、主客户端根据Head和privatekey计算出Body,公式为:Body=privatekey^Head;
^是按位异或运算。
作为本发明一种抗丢失且云端可干预的密钥存储方法的一个优选实施例,步骤3中所述门限秘密共享技术,具体如下:
步骤1)、首先主客户端根据自己的需要选定N和t,其中N表示他愿意给多少个辅助客户端分发影子shadow,t表示要想恢复出Body至少需要多少个影子shadow,即恢复出Body至少需要的影子shadow的数量;
步骤2)、然后选定大素数p及其伽罗华域GF(p),其上有相应的缩剩余类循环乘群
Figure BDA0002209133590000071
任意选取随机数
Figure BDA0002209133590000072
记M=Body,构造二元一次同余方程 y=(at-1xt-1+at-2xt-2+······+a2x2+a1x1+M)modP,这个方程将决定二维平面上的一条曲线;
步骤3)、在这条曲线上任意选取N个点(x1,y1),(x2,y2),······,(xN,yN),使得
Figure BDA0002209133590000073
1≤i≤N;然后将at-1,at-2,······,a2,a1丢弃,同时将(x1,y1)作为第一份影子shadow1发给辅助客户端1,将(x2,y2)作为第二份影子shadow2发给辅助客户端2,······,将(xN,yN)作为第N 份影子shadowN发给辅助客户端N,这样就完成了门限秘密共享算法,将秘密M分享给了N 个辅助客户端。
作为本发明一种抗丢失且云端可干预的密钥存储方法的进一步的技术方案,还包括步骤 4、主客户端需要使用私钥时,启动机制工作流程,恢复私钥即可。
进一步的,所述机制工作流程,具体包括如下步骤:
步骤(1)、主客户端向他分发shadow的所有的N个(比如N=5)辅助客户端广播,请求影子shadow;
步骤(2)、主客户端监听N个辅助客户端用户的回复,直到收到t个回复回来的影子Shadow后,t≤N(比如t=3)停止监听;
步骤(3)、主客户端利用收到的这t个影子shadow使用逆门限秘密分享算法恢复出Body;
步骤(4)、主客户端向云端请求Head;
步骤(5)、云端将与主客户端对应的Head返回给主客户端;
步骤(6)、主客户端拿着Head和Body部分使用逆秘密拆分算法恢复出私钥Privatekey,即可。
其中,步骤(3)中所述逆门限秘密分享算法,具体为:
主客户端回收到t份影子shadow之后,能够写出t个t元一次方程,这t个方程组成t元一次方程组,
Figure BDA0002209133590000074
并且这个方程组有且只有一组解;求这个解就能够得到at-1,at-2,······,a2,a1,M的值,从而恢复出Body=M。
其中,步骤(6)中所述逆秘密拆分算法能够根据Body和Head恢复出privatekey;所述逆秘密拆分算法公式为:
Body^head=privatekey^Head^Head=privatekey^(Head^Head)=privatekey;^是按位异或运算。
作为本发明一种抗丢失且云端可干预的密钥存储方法的更进一步的技术方案,步骤4中当主客户端需要使用私钥时,是使用私钥进行转账行为时,还包括步骤5,主客户端使用私钥privatekey进行离线签名,将签名串发送到区块链网络,区块链网路确认签名串的合法性,将签名数据打包到区块上,完成转账过程,所述转账过程利用转账算法完成转账交易。
进一步的,所述转账算法,具体如下:
步骤①、给定接收资金方地址以及决定要转移多少数字资产等信息,这些信息构成消息 M,使用哈希算法H处理M得到摘要e,即e=H(M),使得
Figure BDA0002209133590000081
步骤②随机选取
Figure BDA0002209133590000082
计算点K=kG;
步骤③计算r=xkmodn=xkGmodn,即r是点K的横坐标对n取余所得的余数;
步骤④计算k-1modn;
步骤⑤计算s=k-1(e+rd)modn;
主客户端对消息M的签名就是(r,s),完成这个签名后,主客户端的数字资产即会转到接收方的地址中。
通过以上描述我们可以知道,本发明中私钥是分开存储的,一部分放在云端,一部分放到N个辅助客户端手中。这N个辅助只要有t个(t可以远远小于N)没丢失都是可以最终恢复出密钥的。因此本发明在很大程度上是抗丢失的密钥存储方案,又因为恢复密钥必须要跟云端交互,要取得云端的合作,因此云端对客户有一定的制约权利;因此,本发明解决了云端存储密钥,云端责任和风险过大的问题,同时,也解决了客户端存储密钥容易丢失的问题。
以上所述实施方式仅为本发明的优选实施例,而并非本发明可行实施的穷举。对于本领域一般技术人员而言,在不背离本发明原理和精神的前提下对其所作出的任何显而易见的改动,都应当被认为包含在本发明的权利要求保护范围之内。

Claims (9)

1.一种抗丢失且云端可干预的密钥存储方法,其特征在于,具体包括以下步骤:
步骤1、主客户端利用密钥生成算法生成自己的公私钥对<publickey,privatekey>;
步骤2、主客户端采用秘密拆分技术将私钥privatekey拆分成Head和Body两部分,并将Head部分上传云端保存;云端则建立主客户端的公钥与私钥Head部分匹配关系的数据库;
步骤3、主客户端采用门限秘密共享技术将私钥的body部分拆分成N份影子shadow,分别为shadow1、shadow2、shadow3、······、shadowN-1、shadowN;然后将N个影子shadow分发给N个辅助客户端,并规定只要有t个辅助客户端贡献出自己保存的影子shadow,t≤N,才能够将Body恢复出来。
2.根据权利要求1所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,步骤1所述的密钥生成算法为椭圆曲线生成算法,具体如下:
给定大素数p及其伽罗华域GF(p),定义在这个域上的椭圆曲线E:y2≡x3+ax+b mod p,并规定x∈GF(p),y∈GF(p),a∈GF(p),b∈GF(p),则上面会有离散的有限个点,加上无穷远点θ=(∞,∞),则构成集合
Figure FDA0002209133580000011
在这个点的集合上定义椭圆曲线的点加运算+,则构成一个循环群,群的阶为n,n必须是一个大素数;
点G是这个椭圆曲线上点循环群的生成元;
Figure FDA0002209133580000012
是由素数n诱导出的缩剩余类循环乘群;
则密钥生成算法为:
步骤A、任意选取随机数
Figure FDA0002209133580000013
则d就是私钥privatekey;
步骤B、计算点Q=dG,则点Q即为公钥publickey。
3.根据权利要求1所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,步骤2所述秘密拆分技术能够将256bit的privatekey拆分成256bit的Head部分和256bit的Body部分,具体方法如下:
步骤a、主客户端生成一个256bit的随机数,这个随机数就是Head部分;
步骤b、主客户端根据Head和privatekey计算出Body;公式为:Body=privatekey^Head;^是按位异或运算。
4.根据权利要求1所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,步骤3中所述门限秘密共享技术,具体如下:
步骤1)、首先主客户端根据自己的需要选定N和t,其中N表示他愿意给多少个辅助客户端分发影子shadow,t表示要想恢复出Body至少需要多少个影子shadow;
步骤2)、然后选定大素数p及其伽罗华域GF(p),其上有相应的缩剩余类循环乘群
Figure FDA0002209133580000021
任意选取随机数
Figure FDA0002209133580000022
记M=Body,构造二元一次同余方程y=(at-1xt-1+at-2xt-2+······+a2x2+a1x1+M)modP,这个方程将决定二维平面上的一条曲线;
步骤3)、在这条曲线上任意选取N个点(x1,y1),(x2,y2),······,(xN,yN),使得
Figure FDA0002209133580000023
1≤i≤N;然后将at-1,at-2,······,a2,a1丢弃,同时将(x1,y1)作为第一份影子shadow1发给辅助客户端1,将(x2,y2)作为第二份影子shadow2发给辅助客户端2,······,将(xN,yN)作为第N份影子shadowN发给辅助客户端N,这样就完成了门限秘密共享算法,将秘密M分享给了N个辅助客户端。
5.根据权利要求1所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,还包括步骤4、主客户端需要使用私钥时,启动机制工作流程,恢复私钥即可。
6.根据权利要求5所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,所述机制工作流程,具体包括如下步骤:
步骤(1)、主客户端向他分发shadow的所有的N个辅助客户端广播,请求影子shadow;
步骤(2)、主客户端监听N个辅助客户端用户的回复,直到收到t个回复回来的影子Shadow后,t≤N,停止监听;
步骤(3)、主客户端利用收到的这t个影子shadow使用逆门限秘密分享算法恢复出Body;
步骤(4)、主客户端向云端请求Head;
步骤(5)、云端将与主客户端对应的Head返回给主客户端;
步骤(6)、主客户端拿着Head和Body部分使用逆秘密拆分算法恢复出私钥Privatekey,即可。
7.根据权利要求6所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,步骤(3)中所述逆门限秘密分享算法,具体为:
主客户端回收到t份影子shadow之后,能够写出t个t元一次方程,这t个方程组成t元一次方程组,
Figure FDA0002209133580000024
并且这个方程组有且只有一组解;求这个解就能够得到at-1,at-2,······,a2,a1,M的值,从而恢复出Body=M。
8.根据权利要求6所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,步骤(6)中所述逆秘密拆分算法能够根据Body和Head恢复出privatekey;
所述逆秘密拆分算法公式为:
Body^head=privatekey^Head^Head=privatekey^(Head^Head)=privatekey;^是按位异或运算。
9.根据权利要求5所述的一种抗丢失且云端可干预的密钥存储方法,其特征在于,步骤4中当主客户端需要使用私钥时,是使用私钥进行转账行为时,还包括步骤5,主客户端使用私钥privatekey进行离线签名,将签名串发送到区块链网络,区块链网路确认签名串的合法性,将签名数据打包到区块上,完成转账过程,所述转账过程利用转账算法完成转账交易。
CN201910892261.1A 2019-09-20 2019-09-20 一种抗丢失且云端可干预的密钥存储方法 Pending CN112543102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910892261.1A CN112543102A (zh) 2019-09-20 2019-09-20 一种抗丢失且云端可干预的密钥存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910892261.1A CN112543102A (zh) 2019-09-20 2019-09-20 一种抗丢失且云端可干预的密钥存储方法

Publications (1)

Publication Number Publication Date
CN112543102A true CN112543102A (zh) 2021-03-23

Family

ID=75012303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910892261.1A Pending CN112543102A (zh) 2019-09-20 2019-09-20 一种抗丢失且云端可干预的密钥存储方法

Country Status (1)

Country Link
CN (1) CN112543102A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136713A1 (en) * 2004-12-22 2006-06-22 Zimmer Vincent J System and method for providing fault tolerant security among a cluster of servers
CN101236590A (zh) * 2008-03-07 2008-08-06 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法
CN101741566A (zh) * 2009-12-24 2010-06-16 北京科技大学 基于秘密共享加密的实体认证方法
CN105049207A (zh) * 2015-05-11 2015-11-11 电子科技大学 一种基于身份的带个性化信息的广播加密方案
CN106209374A (zh) * 2016-06-24 2016-12-07 西安电子科技大学 基于卫星网络安全域的节点证书颁布方法
CN106470103A (zh) * 2015-08-17 2017-03-01 苏宁云商集团股份有限公司 一种客户端发送加密url请求的方法和系统
CN106919811A (zh) * 2015-12-24 2017-07-04 阿里巴巴集团控股有限公司 文件检测方法和装置
CN107623569A (zh) * 2017-09-30 2018-01-23 矩阵元技术(深圳)有限公司 基于秘密共享技术的区块链密钥托管和恢复方法、装置
CN108540481A (zh) * 2018-04-20 2018-09-14 广州市千钧网络科技有限公司 一种音频文件的在线播放方法及装置
CN109510826A (zh) * 2018-11-16 2019-03-22 中国人民解放军战略支援部队信息工程大学 基于可更新加密的安全可靠云存储方法及装置
CN110062002A (zh) * 2019-04-29 2019-07-26 核芯互联科技(青岛)有限公司 一种鉴权方法及相关产品
CN110138790A (zh) * 2019-05-20 2019-08-16 核芯互联科技(青岛)有限公司 一种实现冲突域内保密广播通信的方案

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136713A1 (en) * 2004-12-22 2006-06-22 Zimmer Vincent J System and method for providing fault tolerant security among a cluster of servers
CN101236590A (zh) * 2008-03-07 2008-08-06 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法
CN101741566A (zh) * 2009-12-24 2010-06-16 北京科技大学 基于秘密共享加密的实体认证方法
CN105049207A (zh) * 2015-05-11 2015-11-11 电子科技大学 一种基于身份的带个性化信息的广播加密方案
CN106470103A (zh) * 2015-08-17 2017-03-01 苏宁云商集团股份有限公司 一种客户端发送加密url请求的方法和系统
CN106919811A (zh) * 2015-12-24 2017-07-04 阿里巴巴集团控股有限公司 文件检测方法和装置
CN106209374A (zh) * 2016-06-24 2016-12-07 西安电子科技大学 基于卫星网络安全域的节点证书颁布方法
CN107623569A (zh) * 2017-09-30 2018-01-23 矩阵元技术(深圳)有限公司 基于秘密共享技术的区块链密钥托管和恢复方法、装置
CN108540481A (zh) * 2018-04-20 2018-09-14 广州市千钧网络科技有限公司 一种音频文件的在线播放方法及装置
CN109510826A (zh) * 2018-11-16 2019-03-22 中国人民解放军战略支援部队信息工程大学 基于可更新加密的安全可靠云存储方法及装置
CN110062002A (zh) * 2019-04-29 2019-07-26 核芯互联科技(青岛)有限公司 一种鉴权方法及相关产品
CN110138790A (zh) * 2019-05-20 2019-08-16 核芯互联科技(青岛)有限公司 一种实现冲突域内保密广播通信的方案

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
章志明;邓建刚;彭雅丽;余敏;: "一种无线传感器网络的组密钥管理方案研究", 计算机工程与应用, no. 29, 11 October 2009 (2009-10-11) *

Similar Documents

Publication Publication Date Title
JP7164580B2 (ja) ウォレット管理システムと併せたブロックチェーンベースのシステムのための暗号鍵のセキュアなマルチパーティ損失耐性のある記憶及び転送
Barsoum et al. Provable possession and replication of data over cloud servers
CN111066285A (zh) 基于sm2签名恢复公钥的方法
CN109962769B (zh) 基于门限盲签名的数据安全去重方法
CN106850198B (zh) 基于多装置协同的sm2数字签名生成方法及系统
CN109976948B (zh) 一种私密信息备份方法及恢复方法和系统
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和系统
TW202025666A (zh) 用於共享公共秘密之電腦實施系統及方法
CN111192050B (zh) 一种数字资产私钥存储提取方法及装置
WO2022167163A1 (en) Threshold key exchange
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
US11563566B2 (en) Key splitting
CN112003690B (zh) 密码服务系统、方法及装置
CN108494552B (zh) 支持高效收敛密钥管理的云存储数据去重方法
CN103490890A (zh) 一种基于圆锥曲线组合公钥认证密码方法
CN110737907A (zh) 基于联盟链的抗量子计算云存储方法及系统
CN116055136A (zh) 一种基于秘密共享的多目标认证方法
CN112543102A (zh) 一种抗丢失且云端可干预的密钥存储方法
Parakh Oblivious transfer using elliptic curves
Neupane et al. Communication-efficient 2-round group key establishment from pairings
CN111526131B (zh) 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
Muthukumarn et al. A Secure and Enhanced Public Key Cryptosystem Using Double Conjugacy Search Problem Near-Ring
CN110932847A (zh) 一种针对具有密文同态性的身份标识密码系统的用户撤销方法
Hegde et al. A Survey on Proof of Retrievability and its Techniques

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