CN111339199B - 一种区块链密钥恢复方法和装置 - Google Patents

一种区块链密钥恢复方法和装置 Download PDF

Info

Publication number
CN111339199B
CN111339199B CN202010127366.0A CN202010127366A CN111339199B CN 111339199 B CN111339199 B CN 111339199B CN 202010127366 A CN202010127366 A CN 202010127366A CN 111339199 B CN111339199 B CN 111339199B
Authority
CN
China
Prior art keywords
node
private key
backup
account
help
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.)
Active
Application number
CN202010127366.0A
Other languages
English (en)
Other versions
CN111339199A (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010127366.0A priority Critical patent/CN111339199B/zh
Publication of CN111339199A publication Critical patent/CN111339199A/zh
Application granted granted Critical
Publication of CN111339199B publication Critical patent/CN111339199B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本发明提供了一种区块链密钥恢复方法和装置,包括:根据从第一帮助节点获取的帮助私钥生成备份私钥;获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;其中,第一帮助节点为区块链中的交易节点。本申请利用椭圆曲线密码算法的公私钥加法同态原理,通过对帮助公私钥进行椭圆曲线点加操作生成备份公私钥对,用于加解密账户私钥,从而实现对账户私钥的备份与恢复。

Description

一种区块链密钥恢复方法和装置
技术领域
本申请属于区块链技术领域,具体地讲,涉及一种区块链密钥恢复方法及装置。
背景技术
区块链中的账户通常由一对公钥和私钥(非对称密钥)组成,其中私钥用于证明和授权账户中对资源的交易。用户用账户私钥证明其身份,并且交易账户中的资源。一旦私钥丢失,账户中的资源便无法转移或者交易,因此,需要一种备份和恢复账户私钥的方法。
发明内容
本申请提供了一种区块链密钥恢复方法及装置,以至少解决当区块链节点中的账户私钥一旦丢失无法找回的问题。
根据本申请的一个方面,提供了一种区块链密钥恢复方法,包括:
根据从第一帮助节点获取的帮助私钥生成备份私钥;
获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;
其中,第一帮助节点为区块链中的交易节点。
在一实施例中,账户私钥密文的备份方法包括:
向成员管理节点发送备份请求以使成员管理节点根据预存的帮助公钥与节点的对应关系返回的第二帮助节点帮助公钥,备份请求中包括:本地节点的节点唯一标识和第二帮助节点的节点唯一标识;
根据帮助公钥计算获得备份公钥;
使用备份公钥对预先生成的账户私钥进行加密获得账户私钥密文,并将账户私钥密文备份在成员管理节点中。
在一实施例中,帮助公钥与节点的对应关系的存储方法包括:
向第二帮助节点发送本地节点的节点唯一标识,以使成员管理节点根据第二帮助节点上传的本地节点的节点唯一标识、帮助公钥和第二帮助节点的节点唯一标识生成帮助公钥与节点的对应关系并存储。
根据本申请的另一个方面,还提供了一种区块链密钥恢复装置,包括:
备份私钥生成单元,用于根据从第一帮助节点获取的帮助私钥生成备份私钥;
解密恢复单元,用于获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;
其中,第一帮助节点及第二帮助节点为区块链中的交易节点。
在一实施例中,账户私钥密文的备份装置包括:
备份请求模块,用于向成员管理节点发送备份请求以使成员管理节点根据预存的帮助公钥与节点的对应关系返回的第二帮助节点帮助公钥,备份请求中包括:本地节点的节点唯一标识和第二帮助节点的节点唯一标识;
备份公钥获取模块,用于根据帮助公钥计算获得备份公钥;
密文备份模块,用于使用备份公钥对预先生成的账户私钥进行加密获得账户私钥密文,并将账户私钥密文备份在成员管理节点中。
在一实施例中,帮助公钥与节点的对应关系的存储装置具体包括:
对应关系生成存储模块,用于向第二帮助节点发送本地节点的节点唯一标识,以使成员管理节点根据第二帮助节点上传的本地节点的节点唯一标识、帮助公钥和第二帮助节点的节点唯一标识生成帮助公钥与节点的对应关系并存储。
在进行密钥恢复之前,本申请还提供了一种账户私钥生成方法,包括:
向成员管理节点发送根证书请求,以使成员管理节点返回应答报文,应答报文中包括:根证书和密码算法;
将密码算法同步配置到本地并保存根证书;
根据密码算法生成账户公钥和账户私钥,以使备份节点生成账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;备份节点为区块链中的交易节点;
将账户公钥发送至成员管理节点以使成员管理节点签发账户证书。
根据本申请的另一个方面,还提供了一种账户私钥生成装置,包括:
根证书获取单元,用于向成员管理节点发送根证书请求,以使成员管理节点返回应答报文,应答报文中包括:根证书和密码算法;
密码算法同步单元,用于将密码算法同步配置到本地并保存根证书;
账户公私钥生成单元,用于根据密码算法生成账户公钥和账户私钥,以使备份节点生成账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;备份节点为区块链中的交易节点;
发送单元,用于将账户公钥发送至成员管理节点以使成员管理节点签发账户证书。
基于成员管理节点端,本申请提供了一种账户私钥生成方法,包括:
根据预设的密码算法生成根证书私钥和根证书公钥;
根据根证书私钥和根证书公钥生成根证书并将根证书和密码算法类型发送至交易节点,以使交易节点中的备份节点生成账户私钥和账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密;
接收交易节点发送的账户公钥,并使用根证书私钥对账户公钥签发账户证书;
将账户证书发送至交易节点。
根据本申请的另一个方面,还提供了一种账户私钥生成装置,包括:
根证书公私钥生成单元,用于根据预设的密码算法生成根证书私钥和根证书公钥;
根证书发送单元,用于根据根证书私钥和根证书公钥生成根证书并将根证书和密码算法类型发送至交易节点,以使交易节点中的备份节点生成账户私钥和账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密;
账户证书签发单元,用于接收交易节点发送的账户公钥,并使用根证书私钥对账户公钥签发账户证书;
账户证书发送单元,用于将账户证书发送至交易节点。
本申请提供的区块链密钥恢复方法使得区块链上的用户可以在不泄露隐私的情况下对账户私钥进行备份,使得私钥在丢失后可以对私钥进行找回,解决了由于账户私钥丢失而造成无法进行区块链交易的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中区块链网络的结构示意图。
图2为本申请提供的一种区块链账户私钥生成方法流程图。
图3为本申请提供的另一种区块链账户私钥生成方法流程图。
图4为本申请提供的一种区块链密钥恢复方法的流程图。
图5为本申请提供的账户私钥密文的备份方法流程图。
图6为本申请提供的帮助公钥与节点的对应关系的存储方法流程图。
图7为本申请提供的交易节点利用账户私钥进行交易的流程图。
图8为本申请提供的一种区块链密钥恢复装置的结构框图。
图9为本申请实施例中账户私钥密文的备份装置的结构框图。
图10为本申请实施例中帮助公钥与节点的对应关系的存储装置的结构框图。
图11为本申请实施例中一种账户私钥生成装置的结构框图。
图12为本申请实施例中另一种账户私钥生成装置的结构框图。
图13为本申请实施例中一种电子设备的具体实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于背景技术中的问题,区块链中交易节点的账户私钥一旦丢失,账户中的资源便没有办法转移或交易,为了解决该问题,本申请提出了一种区块链账户私钥恢复方法及装置。该方法区别于现有技术的点在于,该方法使得某个区块链节点可以在若干个(通常为2个或以上)的可信任的其他区块链节点(简称帮助节点)的帮助下,利用椭圆曲线密码算法的公私钥加法同态原理,通过对若干各帮助节点的公私钥进行椭圆曲线点加操作,生成一对备份公私钥用于加密和解密本区块链节点的账户私钥,并且把加密后的账户私钥存放在成员管理节点中,即可以实现对账户私钥进行备份和恢复。
在区块链网络中,如图1所示,包括一个成员管理节点1和N个交易节点2。其中,成员管理节点1与所有交易节点2进行网络连接,所有交易节点2相互之间进行网络连接。成员管理节点1为一台服务器或多台可以相互备份的服务器。成员管理节点1通过为交易节点2签发证书进行身份认证和准入校验,为整个区块链网络提供成员管理服务,同时,成员管理节点还会为各个区块链成员提供账户私钥密文的保管服务从而帮助有需要的区块链成员节点备份和恢复账户私钥。
区块链中的交易节点2是指区块链中对交易进行接收、广播、共识、执行和存储的网络节点,交易节点2一般为各区块链成员的可信服务器、工作站等,负责把用户的请求封装成交易再广播到其他交易节点,或者根据区块链共识算法的规则对其他交易节点广播的交易进行共识,对共识通过的交易会进行智能合约处理,最后根据处理结果生成区块并进行保存。交易节点2中存储有账户私钥,一旦硬盘损坏或者人为误删造成账户私钥丢失。本申请中的交易节点2可以通过联合若干个(两个或以上)可信任的其他交易节点2为区块链成员提供账户私钥的备份和恢复功能。
在介绍区块链账户私钥的恢复过程之前,先介绍区块链中各交易节点的账户私钥生成过程。如图2所示,为本申请提供的一种区块链账户私钥生成方法,包括:
S201:向成员管理节点发送根证书请求,以使成员管理节点返回应答报文,应答报文中包括:根证书和密码算法。
在一具体实施例中,交易节点2向成员管理节点1发送根证书请求,成员管理节点1将根证书和成员管理节点中配置的密码算法类型组装成应答报文返回,其中密码算法的类型有两种:ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)和SM2(国密算法中的公钥密码算法)这两种椭圆曲线密码算法。
S202:将密码算法同步配置到本地并保存根证书。
交易节点2接收到应答报文后,根据应答报文中的密码算法类型对本地进行同步配置相同的密码算法,并持久化保存应答报文中的根证书。
S203:根据密码算法生成账户公钥和账户私钥,以使备份节点生成账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;备份节点为区块链中的交易节点。
在一具体实施例中,交易节点2根据S202中配置好的密码算法生成账户私钥和账户公钥,然后读取本节点的节点唯一标识和准入指令。
S204:将账户公钥发送至成员管理节点以使成员管理节点签发账户证书。
在一具体实施例中,交易节点2根据节点唯一标识、准入指令和账户公钥向成员管理节点1发送请求报文,成员管理节点1对请求报文中的节点唯一标识和准入指令进行校验,校验通过后,利用成员管理节点1中的密码算法和根证书私钥对请求报文中的账户公钥签发账户证书并返还给交易节点2,交易节点2中保存有账户证书和账户私钥。
图2中的方法步骤是站在交易节点端对账户私钥的生成过程进行的描述,图3为从成员管理节点1的角度出发对区块链账户私钥进行的描述,包括:
S301:根据预设的密码算法生成根证书私钥和根证书公钥。
在一具体实施例中,成员管理节点1根据本地预设的密码算法生成根证书公钥和根证书私钥。
S302:根据根证书私钥和根证书公钥生成根证书并将根证书和密码算法类型发送至交易节点,以使交易节点中的备份节点生成账户私钥和账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密。
在一具体实施例中,成员管理节点1使用根证书私钥和根证书公钥生成自签名的根证书,并将根证书和根证书私钥保存在本地。然后,成员管理节点1将根证书和根证书和本地的密码算法类型组装成应答报文发送到交易节点2中。
S303:接收交易节点发送的账户公钥,并使用根证书私钥对账户公钥签发账户证书。
在一具体实施例中,成员管理节点1接收交易节点2发送来的账户公钥后对该账户公钥签发账户证书。
S304:将账户证书发送至交易节点。
在一具体实施例中,成员管理节点将S303中生成的账户证书发送给交易节点2。
上述流程描述了账户私钥的生成过程,下面对账户私钥的备份方法和恢复方法进行详细的说明。
如图4所示,为本申请提供的一种区块链密钥的恢复方法,包括:
S401:根据从第一帮助节点获取的帮助私钥生成备份私钥。
在一具体实施例中,需要对账户私钥进行备份的交易节点A(以下简称备份节点)在若干各其他交易节点B、C、D、E(帮助者,以下简称帮助节点)的帮助下对备份节点的账户私钥进行恢复。首先,帮助节点B和C(第一帮助节点)生成帮助私钥BK和CK(帮助私钥),然后将BK和CK拷贝给备份节点,此过程在线下进行。备份节点利用帮助私钥BK和CK,对BK和CK进行椭圆曲线加法操作获得备份私钥。其中椭圆曲线加法操作的具体方式为:
假设若干个帮助私钥分别为d1、d2、d3......dn,对帮助私钥进行椭圆曲线私钥点加操作,得到备份私钥d,计算方式如下:
d=d1+d2+d3+......+dn
其中“+”为椭圆曲线密码算法定义的私钥点加操作。
S402:获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥。其中,第一帮助节点及第二帮助节点为区块链中的交易节点。
在一具体实施例中,备份节点向成员管理节点发送账户私钥密文获取请求,并从成员管理节点中获取预先备份在成员管理节点中的账户私钥密文(账户私钥密文的备份过程后面会介绍),然后使用S401中生成的备份私钥对该账户私钥密文进行解密,即获得了恢复后的账户私钥,具体原理如下:
备份节点使用备份私钥,把账户私钥密文进行基于ECIES(Elliptic CurveIntegrated Encryption Scheme,椭圆曲线集成加密模式,为加密和解密操作提供密码算法支持)的解密,恢复出账户私钥。
备份节点使用备份私钥d对账户私钥密文c进行基于ECIES的解密,恢复出账户私钥m,计算方式如下:
1)解析账户私钥密文c,得到密文m'和临时公钥Pt
2)计算对称密钥k:k=d*Pt,这里“*”为椭圆曲线密码算法定义的点乘操作;
3)使用对称密钥k,对密文m'进行对称解密,恢复出账户私钥m。
在一实施例中,如图5所示,账户私钥密文的备份方法包括:
S501:向成员管理节点发送备份请求以使成员管理节点根据预存的帮助公钥与节点的对应关系返回的第二帮助节点帮助公钥,备份请求中包括:本地节点的节点唯一标识和第二帮助节点的节点唯一标识。
在一具体实施例中,备份节点向成员管理节点发起备份请求,在该请求内容中,指定有若干个第二帮助节点的节点唯一标识,假设第二帮助节点为D和E。成员管理节点接收到该备份请求后,根据该备份节点的节点唯一标识以及请求中的第二帮助节点D和E的节点唯一标识,查找预存在本地的“帮助公钥与节点的对应关系”,然后根据该对应关系,找到帮助公钥(帮助公钥与节点的对应关系的生成及存储方法后文中会进行介绍)。例如,备份节点A将自己的节点唯一标识以及D和E的节点唯一标识发送给成员管理节点,成员管理节点根据这些信息查找到本地存储有“A-D-E-帮助公钥H”这一对应关系,那么成员管理节点将该帮助公钥H找出后发送给备份节点A。
S502:根据帮助公钥计算获得备份公钥。
在一具体实施例中,备份节点将帮助公钥通过椭圆曲线公钥点加操作得到备份公钥,具体原理如下所示:
若干个(通常为两个或以上)帮助公钥分别为P1、P2、P3......Pn,进行椭圆曲线公钥点加操作,得到备份公钥P,计算方式如下:
P=P1+P2+P3+......+Pn
其中“+”为椭圆曲线密码算法定义的公钥点加操作。
S503:使用备份公钥对预先生成的账户私钥进行加密获得账户私钥密文,并将账户私钥密文备份在成员管理节点中。
在一具体实施例中,备份节点通过本地配置的密码算法使用备份公钥对账户私钥进行基于ECIES的加密得到账户私钥密文,假设备份公钥为P,对账户私钥m进行基于ECIES的加密得到账户私钥密文c,计算方式如下:
1)生成临时椭圆曲线临时公私钥对,临时公钥为Pt,临时私钥为dt
2)计算对称密钥k:k=dt·P,这里“·”为椭圆曲线密码算法定义的点乘操作;
3)使用对称密钥k,对账户私钥m进行对称加密,得到密文m';
4)把密文m'和临时公钥Pt进行字节码拼接操作,得到最终的账户私钥密文c。
在获得账户私钥密文c后,将该账户私钥密文存储在成员管理节点中。
在一实施例中,如图6所示,帮助公钥与节点的对应关系的存储方法包括:
S601:向第二帮助节点发送本地节点的节点唯一标识,以使成员管理节点根据第二帮助节点上传的本地节点的节点唯一标识、帮助公钥和第二帮助节点的节点唯一标识生成帮助公钥与节点的对应关系并存储。
在一具体实施例中,第二帮助节点生成帮助公钥和帮助私钥,帮助公私钥对为通过椭圆曲线非对称密码算法生成的。然后第二帮助节点将帮助私钥保存在本地,然后把被帮助者(备份节点)的节点唯一标识,第二帮助节点自身的节点唯一标识和生成的帮助公钥上传到成员管理节点1中,成员管理节点将被帮助者的节点唯一标识,第二帮助节点自身的节点唯一标识和生成的帮助公钥存储在本地,并在本地生成了三者的对应关系。
在实际的交易过程中,区块链中的交易节点会利用本申请中的账户私钥进行交易,如图7所示,为交易节点利用账户私钥进行交易的流程图:
S701:交易节点接收到来自客户端发起的交易请求后,使用账户私钥对交易进行签名,并在交易中附上账户证书。
S702:交易节点将交易广播给区块链中的其他交易节点。
S703:其他交易节点接收到交易后,使用保存在本地的根证书验证交易中账户证书的合法性,如果验证通过,则使用交易中的账户证书里包含的账户公钥对交易进行验签。
S704:所有交易节点根据约定好的共识算法对交易进行共识处理。共识算法可以是POW、POS等,最后根据公示结果确定交易的执行顺序,并把交易打包成区块(此处跟常规的区块链共识一样)。
S705:所有交易节点将区块中的交易按顺序执行并存储交易的执行结果。
以上流程描述了账户私钥的使用过程,如果账户私钥丢失,则无法对交易进行签名从而无法进行交易。
基于同一发明构思,本申请实施例还提供了一种区块链密钥恢复装置和账户私钥生成装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该区块链密钥恢复装置和账户私钥生成装置解决问题的原理与区块链密钥恢复方法和账户私钥生成方法相似,因此区块链密钥恢复装置和账户私钥生成装置的实施可以参见区块链密钥恢复方法和账户私钥生成方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图8所示,为本申请提供的一种区块链密钥恢复装置,包括:
备份私钥生成单元801,用于根据从第一帮助节点获取的帮助私钥生成备份私钥;
解密恢复单元802,用于获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;
其中,第一帮助节点及第二帮助节点为区块链中的交易节点。
在一实施例中,如图9所示,账户私钥密文的备份装置包括:
备份请求模块901,用于向成员管理节点发送备份请求以使成员管理节点根据预存的帮助公钥与节点的对应关系返回的第二帮助节点帮助公钥,备份请求中包括:本地节点的节点唯一标识和第二帮助节点的节点唯一标识;
备份公钥获取模块902,用于根据帮助公钥计算获得备份公钥;
密文备份模块903,用于使用备份公钥对预先生成的账户私钥进行加密获得账户私钥密文,并将账户私钥密文备份在成员管理节点中。
在一实施例中,如图10所示,帮助公钥与节点的对应关系的存储装置具体包括:
对应关系生成存储模块1001,用于向第二帮助节点发送本地节点的节点唯一标识,以使成员管理节点根据第二帮助节点上传的本地节点的节点唯一标识、帮助公钥和第二帮助节点的节点唯一标识生成帮助公钥与节点的对应关系并存储。
如图11所示,为本申请提供的一种账户私钥生成装置,包括:
根证书获取单元1101,用于向成员管理节点发送根证书请求,以使成员管理节点返回应答报文,应答报文中包括:根证书和密码算法;
密码算法同步单元1102,用于将密码算法同步配置到本地并保存根证书;
账户公私钥生成单元1103,用于根据密码算法生成账户公钥和账户私钥,以使备份节点生成账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥;备份节点为区块链中的交易节点;
发送单元1104,用于将账户公钥发送至成员管理节点以使成员管理节点签发账户证书。
如图12所示,为本申请提供的一种账户私钥生成装置,包括:
根证书公私钥生成单元1201,用于根据预设的密码算法生成根证书私钥和根证书公钥;
根证书发送单元1202,用于根据根证书私钥和根证书公钥生成根证书并将根证书和密码算法类型发送至交易节点,以使交易节点中的备份节点生成账户私钥和账户私钥密文,并使用预先生成的备份私钥对账户私钥密文进行解密;
账户证书签发单元1203,用于接收交易节点发送的账户公钥,并使用根证书私钥对账户公钥签发账户证书;
账户证书发送单元1204,用于将账户证书发送至交易节点。
本申请提供了一种区块链密钥的生成及恢复方法,利用椭圆曲线密码算法的公私钥加法同态原理,通过对帮助公私钥进行椭圆曲线点加操作生成备份公私钥对,用于加解密账户私钥,从而实现对账户私钥的备份与恢复。这种方法的优点在于,第三方得到帮助私钥或者账户私钥密文中的任何一个,均无法恢复账户私钥,从而保障了账户私钥的安全。同时,该方法也使得区块链交易节点可以对账户私钥进行安全备份并在账户私钥丢失后可以利用备份的信息恢复账户私钥。解决了账户私钥丢失而造成的不便。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图13,所述电子设备具体包括如下内容:
处理器(processor)1301、内存1302、通信接口(Communications Interface)1303、总线1304和非易失性存储器1305;
其中,所述处理器1301、内存1302、通信接口1303通过所述总线1304完成相互间的通信;
所述处理器1301用于调用所述内存1302和非易失性存储器1305中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S401:根据从第一帮助节点获取的帮助私钥生成备份私钥。
S402:获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户私钥密文进行解密,获得恢复后的账户私钥。其中,第一帮助节点及第二帮助节点为区块链中的交易节点。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S401:根据从第一帮助节点获取的帮助私钥生成备份私钥。
S402:获取预先备份在成员管理节点中的账户私钥密文,并使用备份私钥对账户。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

Claims (12)

1.一种区块链密钥恢复方法,其特征在于,包括:
根据从第一帮助节点获取的帮助私钥生成备份私钥;
获取预先备份在成员管理节点中的账户私钥密文,并使用所述备份私钥对所述账户私钥密文进行解密,获得恢复后的账户私钥;
其中,所述第一帮助节点为区块链中的交易节点;
所述根据从第一帮助节点获取的帮助私钥生成备份私钥包括:
所述第一帮助节点生成帮助私钥,然后将所述帮助私钥拷贝给备份节点;
所述备份节点对所述帮助私钥进行椭圆曲线加法操作获得备份私钥。
2.根据权利要求1所述的区块链密钥恢复方法,其特征在于,所述账户私钥密文的备份方法包括:
向成员管理节点发送备份请求以使所述成员管理节点根据预存的帮助公钥与节点的对应关系返回的第二帮助节点帮助公钥,所述备份请求中包括:本地节点的节点唯一标识和第二帮助节点的节点唯一标识;所述第二帮助节点为区块链中的交易节点;
根据所述帮助公钥计算获得备份公钥;
使用所述备份公钥对预先生成的账户私钥进行加密获得所述账户私钥密文,并将所述账户私钥密文备份在所述成员管理节点中。
3.根据权利要求2所述的区块链密钥恢复方法,其特征在于,所述帮助公钥与节点的对应关系的存储方法包括:
向第二帮助节点发送本地节点的节点唯一标识,以使所述成员管理节点根据所述第二帮助节点上传的所述本地节点的节点唯一标识、所述帮助公钥和所述第二帮助节点的节点唯一标识生成所述帮助公钥与节点的对应关系并存储。
4.一种区块链密钥恢复装置,其特征在于,包括:
备份私钥生成单元,用于根据从第一帮助节点获取的帮助私钥生成备份私钥;
解密恢复单元,用于获取预先备份在成员管理节点中的账户私钥密文,并使用所述备份私钥对所述账户私钥密文进行解密,获得恢复后的账户私钥;
其中,所述第一帮助节点为区块链中的交易节点;
所述根据从第一帮助节点获取的帮助私钥生成备份私钥包括:
所述第一帮助节点生成帮助私钥,然后将所述帮助私钥拷贝给备份节点;
所述备份节点对所述帮助私钥进行椭圆曲线加法操作获得备份私钥。
5.根据权利要求4所述的区块链密钥恢复装置,其特征在于,所述账户私钥密文的备份装置包括:
备份请求模块,用于向成员管理节点发送备份请求以使所述成员管理节点根据预存的帮助公钥与节点的对应关系返回的第二帮助节点帮助公钥,所述备份请求中包括:本地节点的节点唯一标识和第二帮助节点的节点唯一标识;其中,所述第二帮助节点为区块链中的交易节点;
备份公钥获取模块,用于根据所述帮助公钥计算获得备份公钥;
密文备份模块,用于使用所述备份公钥对预先生成的账户私钥进行加密获得所述账户私钥密文,并将所述账户私钥密文备份在所述成员管理节点中。
6.根据权利要求5所述的区块链密钥恢复装置,其特征在于,所述帮助公钥与节点的对应关系的存储装置具体包括:
对应关系生成存储模块,用于向第二帮助节点发送本地节点的节点唯一标识,以使所述成员管理节点根据所述第二帮助节点上传的所述本地节点的节点唯一标识、所述帮助公钥和所述第二帮助节点的节点唯一标识生成所述帮助公钥与节点的对应关系并存储。
7.一种账户私钥生成方法,其特征在于,包括:
向成员管理节点发送根证书请求,以使成员管理节点返回应答报文,所述应答报文中包括:根证书和密码算法;
将所述密码算法同步配置到本地并保存所述根证书;
根据所述密码算法生成账户公钥和账户私钥,以使备份节点生成账户私钥密文,并使用预先生成的备份私钥对所述账户私钥密文进行解密,获得恢复后的账户私钥;所述备份节点为区块链中的交易节点;
将所述账户公钥发送至成员管理节点以使所述成员管理节点签发账户证书;
所述备份私钥是根据从第一帮助节点获取的帮助私钥生成的,生成所述备份私钥包括:
所述第一帮助节点生成帮助私钥,然后将所述帮助私钥拷贝给所述备份节点;
所述备份节点对所述帮助私钥进行椭圆曲线加法操作获得备份私钥。
8.一种账户私钥生成装置,其特征在于,包括:
根证书获取单元,用于向成员管理节点发送根证书请求,以使成员管理节点返回应答报文,所述应答报文中包括:根证书和密码算法;
密码算法同步单元,用于将所述密码算法同步配置到本地并保存所述根证书;
账户公私钥生成单元,用于根据所述密码算法生成账户公钥和账户私钥,以使备份节点生成账户私钥密文,并使用预先生成的备份私钥对所述账户私钥密文进行解密,获得恢复后的账户私钥;所述备份节点为区块链中的交易节点;
发送单元,用于将所述账户公钥发送至成员管理节点以使所述成员管理节点签发账户证书;
所述备份私钥是根据从第一帮助节点获取的帮助私钥生成的,生成所述备份私钥包括:
所述第一帮助节点生成帮助私钥,然后将所述帮助私钥拷贝给所述备份节点;
所述备份节点对所述帮助私钥进行椭圆曲线加法操作获得备份私钥。
9.一种账户私钥生成方法,其特征在于,包括:
根据预设的密码算法生成根证书私钥和根证书公钥;
根据所述根证书私钥和所述根证书公钥生成根证书并将所述根证书和密码算法类型发送至交易节点,以使所述交易节点中的备份节点生成账户私钥和账户私钥密文,并使用预先生成的备份私钥对所述账户私钥密文进行解密;
接收交易节点发送的账户公钥,并使用所述根证书私钥对所述账户公钥签发账户证书;
将所述账户证书发送至交易节点;
所述备份私钥是根据从第一帮助节点获取的帮助私钥生成的,生成所述备份私钥包括:
所述第一帮助节点生成帮助私钥,然后将所述帮助私钥拷贝给所述备份节点;
所述备份节点对所述帮助私钥进行椭圆曲线加法操作获得备份私钥。
10.一种账户私钥生成装置,其特征在于,包括:
根证书公私钥生成单元,用于根据预设的密码算法生成根证书私钥和根证书公钥;
根证书发送单元,用于根据所述根证书私钥和所述根证书公钥生成根证书并将所述根证书和密码算法类型发送至交易节点,以使所述交易节点中的备份节点生成账户私钥和账户私钥密文,并使用预先生成的备份私钥对所述账户私钥密文进行解密;
账户证书签发单元,用于接收交易节点发送的账户公钥,并使用所述根证书私钥对所述账户公钥签发账户证书;
账户证书发送单元,用于将所述账户证书发送至交易节点;
所述备份私钥是根据从第一帮助节点获取的帮助私钥生成的,生成所述备份私钥包括:
所述第一帮助节点生成帮助私钥,然后将所述帮助私钥拷贝给所述备份节点;
所述备份节点对所述帮助私钥进行椭圆曲线加法操作获得备份私钥。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至3中任意一项所述区块链密钥恢复方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至3中任意一项所述区块链密钥恢复方法。
CN202010127366.0A 2020-02-28 2020-02-28 一种区块链密钥恢复方法和装置 Active CN111339199B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010127366.0A CN111339199B (zh) 2020-02-28 2020-02-28 一种区块链密钥恢复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010127366.0A CN111339199B (zh) 2020-02-28 2020-02-28 一种区块链密钥恢复方法和装置

Publications (2)

Publication Number Publication Date
CN111339199A CN111339199A (zh) 2020-06-26
CN111339199B true CN111339199B (zh) 2023-08-29

Family

ID=71183906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010127366.0A Active CN111339199B (zh) 2020-02-28 2020-02-28 一种区块链密钥恢复方法和装置

Country Status (1)

Country Link
CN (1) CN111339199B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565201B (zh) * 2020-11-17 2021-11-16 卓尔智联(武汉)研究院有限公司 一种区块链中的私钥处理方法、装置及计算机存储介质
CN112468297B (zh) * 2020-11-30 2022-10-18 中国工商银行股份有限公司 基于区块链的密钥备份方法及装置
CN112769566B (zh) * 2021-01-19 2023-06-02 上海布沁网络科技有限公司 一种区块链hd私钥找回方法
CN112953715B (zh) * 2021-01-27 2023-03-14 北京众享比特科技有限公司 一种区块链节点动态识别密码算法的方法
CN114049121B (zh) * 2021-11-24 2023-04-07 深圳前海微众银行股份有限公司 基于区块链的账户重置方法和设备
CN114362961B (zh) * 2022-01-04 2024-03-19 北京众享比特科技有限公司 基于区块链的账户恢复方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528688A (zh) * 2017-09-30 2017-12-29 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
CN110086612A (zh) * 2019-04-26 2019-08-02 山大地纬软件股份有限公司 一种区块链公私钥备份及丢失找回方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9137017B2 (en) * 2010-05-28 2015-09-15 Red Hat, Inc. Key recovery mechanism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528688A (zh) * 2017-09-30 2017-12-29 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
CN110086612A (zh) * 2019-04-26 2019-08-02 山大地纬软件股份有限公司 一种区块链公私钥备份及丢失找回方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯浩铭等.一种金融级安全的区块链资产交易系统.《信息通信技术与政策》.2020,(第1期),61-68页. *

Also Published As

Publication number Publication date
CN111339199A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111339199B (zh) 一种区块链密钥恢复方法和装置
JP7164580B2 (ja) ウォレット管理システムと併せたブロックチェーンベースのシステムのための暗号鍵のセキュアなマルチパーティ損失耐性のある記憶及び転送
US10778428B1 (en) Method for restoring public key based on SM2 signature
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
EP3607483B1 (en) Authentication based on a recoverd public key
CN103118027B (zh) 基于国密算法建立tls通道的方法
EP1912376B1 (en) Method and apparatus for authentication
US9705683B2 (en) Verifiable implicit certificates
CN110213044B (zh) 基于多个非对称密钥池的抗量子计算https签密通信方法和系统
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
US11223486B2 (en) Digital signature method, device, and system
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
CN105049434B (zh) 一种对等网络环境下的身份认证方法与加密通信方法
CN109861956B (zh) 基于状态通道的数据验证系统、方法、装置及设备
EP3664360A1 (en) Certificateless public key encryption using pairings
CN113271209B (zh) 一种基于非交互式零知识证明的可托管公钥加密系统及方法
CN110635912A (zh) 数据处理方法及装置
CN108768634B (zh) 可验证加密签名生成方法和系统
CN115549910B (zh) 一种数据传输方法、设备以及存储介质
CN117792658A (zh) 证书颁发方法、系统和区块链节点
CN117118633A (zh) 一种实现分布式数字证书的方法、计算机设备和存储介质
CN114785486A (zh) 一种密钥生成方法、装置及认证端设备

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
GR01 Patent grant
GR01 Patent grant