CN109474420A - 一种私钥备份方法和相关设备 - Google Patents
一种私钥备份方法和相关设备 Download PDFInfo
- Publication number
- CN109474420A CN109474420A CN201811260692.8A CN201811260692A CN109474420A CN 109474420 A CN109474420 A CN 109474420A CN 201811260692 A CN201811260692 A CN 201811260692A CN 109474420 A CN109474420 A CN 109474420A
- Authority
- CN
- China
- Prior art keywords
- mnemonic word
- word
- mnemonic
- user
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种私钥备份方法及相关设备,包括:当检测到数字钱包的注册指令时,区块链节点设备首先调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;接着接收用户终端发送的第二助记词;然后根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。采用本申请实施例,可以提高助记词的记忆效率、更有效地防止用户私钥的遗失。
Description
技术领域
本申请涉及数据安全领域和区块链领域,尤其涉及一种私钥备份方法及相关设备。
背景技术
随着区块链技术的发展,针对虚拟货币的区块链钱包应运而生。目前市面上的区块链钱包主要包括两种。一种是没有助记词的钱包,用户每次转账时的用户私钥都不相同,这种钱包通常应用于早期的区块链系统中。另一种是采用BIP39规范的助记词钱包,这种钱包通过随机种子生成用户私钥,将随机种子切分后在字典库中对应的单词作为该私钥的助记词。其中,用户私钥用于对钱包的转账等交易进行签名,掌握了用户私钥就完全掌握了钱包的使用权。通常用户私钥是固定长度(如64位)的字符串,而为了防止用户私钥泄露,用户应尽可能地通过人为记忆的方式来备份用户私钥。显然,64位的字符串非常不利于记忆。因此,在助记词钱包中以助记词(如“梅虾伴义字曾非的”为一组助记词)的方式来帮助用户记忆和备份用户私钥。当用户遗忘支付密码时就通过助记词恢复用户私钥。然而,助记词钱包中采用的方法所生成的助记词随机性强,单词与单词(如“梅”与“虾”)之间没有关联,导致助记词记忆困难,私钥的备份效果差。
发明内容
本申请实施例提供一种私钥备份方法及相关设备。可以提高助记词的记忆效率、更有效地防止用户私钥的遗失。
本申请实施例第一方面提供了一种私钥备份方法,包括:
当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;
接收用户终端发送的第二助记词;
根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
其中,所述方法还包括:
向所述用户终端发送所述第一助记词,以使所述用户终端呈现所述第一助记词。
其中,所述根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据包括:
根据所述第一助记词和所述第二助记词,确定加密密钥;
根据所述加密密钥,对所述随机种子进行加密;
将加密后的所述随机种子作为所述备份数据。
其中,所述根据所述第一助记词和所述第二助记词,确定加密密钥包括:
将所述第一助记词和所述第二助记词进行拼接得到组合助记词;
确定所述组合助记词的信息摘要值;
将所述信息摘要值作为所述加密密钥。
其中,所述对所述随机种子进行加密得到所述用户私钥的备份数据之后,还包括:
从所述区块链节点设备所在的区块链系统中的多个区块中选择目标区块;
将所述备份数据存储在所述目标区块中。
其中,所述将所述备份数据存储在所述目标区块中之后,还包括:
确定所述目标区块的区块号;
向所述用户终端发送所述区块号,以使所述用户终端呈现所述区块号。
其中,所述对所述随机种子进行加密得到所述用户私钥的备份数据之后,还包括:
当所述数字钱包的支付密码校验失败时,接收所述用户终端发送的第三助记词和第四助记词;
确定所述第三助记词与所述第一助记词是否相同、以及所述第四助记词与所述第二助记词是否相同;
当所述第三助记词与所述第一助记词相同、且所述第四助记词与所述第二助记词相同时,根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子;
根据所述随机种子,确定所述用户私钥,所述用户私钥用于对所述数字钱包的账户交易进行签名。
其中,所述根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子之前,还包括:
获取所述备份数据所在区块的区块号;
根据所述数字钱包的地址信息,从所述区块号对应的目标区块中查找所述备份数据。
其中,所述根据所述第三助记词和第四助记词,对所述备份数据进行解密得到所述随机种子包括:
对所述第三助记词和所述第四助记词进行拼接得到组合助记词;
根据所述组合助记词,确定解密密钥;
根据所述解密密钥,对所述备份数据进行解密。
相应地,本申请实施例第二方面提供了一种区块链节点设备,包括:
随机模块,用于当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;
接收模块,用于接收用户终端发送的第二助记词;
加密模块,用于根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
其中,所述区块链节点设备还包括发送模块,用于:
向所述用户终端发送所述第一助记词,以使所述用户终端呈现所述第一助记词。
其中,所述加密模块还用于:
根据所述第一助记词和所述第二助记词,确定加密密钥;
根据所述加密密钥,对所述随机种子进行加密;
将加密后的所述随机种子作为所述备份数据。
其中,所述加密模块还用于:
将所述第一助记词和所述第二助记词进行拼接得到组合助记词;
确定所述组合助记词的信息摘要值;
将所述信息摘要值作为所述加密密钥。
其中,所述加密模块还用于:
从所述区块链节点设备所在的区块链系统中的多个区块中选择目标区块;
将所述备份数据存储在所述目标区块中。
其中,所述发送模块还用于:
确定所述目标区块的区块号;
向所述用户终端发送所述区块号,以使所述用户终端呈现所述区块号。
其中,所述接收模块还用于:
当所述数字钱包的支付密码校验失败时,接收所述用户终端发送的第三助记词和第四助记词;
所述区块链节点设备还包括解密模块,用于:
确定所述第三助记词与所述第一助记词是否相同、以及所述第四助记词与所述第二助记词是否相同;
当所述第三助记词与所述第一助记词相同、且所述第四助记词与所述第二助记词相同时,根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子;
所述区块链节点设备还包括确定模块,用于:
根据所述随机种子,确定所述用户私钥,所述用户私钥用于对所述数字钱包的账户交易进行签名。
其中,所述解密模块还用于:
获取所述备份数据所在区块的区块号;
根据所述数字钱包的地址信息,从所述区块号对应的目标区块中查找所述备份数据。
其中,所述解密模块还用于:
对所述第三助记词和所述第四助记词进行拼接得到组合助记词;
根据所述组合助记词,确定解密密钥;
根据所述解密密钥,对所述备份数据进行解密。
相应地,本申请提供了一种存储介质,其中,所述存储介质用于存储应用程序,所述应用程序用于在运行时执行本申请实施例第一方面公开的一种私钥备份方法。
相应地,本申请实施例提供了一种应用程序,其中,所述应用程序用于在运行时执行本申请实施例第一方面公开的一种私钥备份方法。
实施本申请实施例,当检测到数字钱包的注册指令时,区块链节点设备首先调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;接着接收用户终端发送的第二助记词;然后根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据,可以提高助记词的记忆效率、更有效地防止用户私钥的遗失。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1时本申请实施例提供的一种数字钱包的应用系统的结构示意图;
图2是本申请实施例提供的一种私钥备份方法的流程示意图;
图3是本申请实施例提供的另一种私钥备份方法的流程示意图;
图4是本申请实施例提供的一种数字钱包的注册方法的流程示意图;
图5是本申请实施例提供的一种数字钱包的使用方法的流程示意图;
图6是本申请实施例提供的一种数字钱包的恢复方法的流程示意图;
图7是本申请实施例提供的一种区块链节点设备的结构示意图;
图8是本申请实施例提供的另一种区块链节点设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及区块链技术,为了便于理解,下面将对在本申请实施例中的区块链(Block Chain)进行简单的介绍,区块链是对接入服务器的所有区块链节点公开的分布式存储的数据结构,包含着若干的区块(Block)。包含客户端的用户终端可以注册成为一个区块链节点,与接入区块链服务器的其他区块链节点组成对等网络(Peer-to-Peer,P2P),区块链数据可以存放在P2P网络,P2P网络任何一个或多个区块链节点瘫痪,都不会导致区块链数据的丢失,这样区块链数据就具有很强的安全性,确保数据的永久保存和不可篡改。当一个区块持久化到区块链数据中时,接入服务器的区块链节点都可以添加该区块;区块是按照持久化时间顺序一个一个地添加到区块链数据中的,除了区块链数据中第一个区块外的每一个区块都要链接到其前一个区块,这样区块链数据就形成一个区块链接这一个区块了,就像一个链条一样,当一个区块被持久化到区块链数据后,该区块就无法被修改了。
请参考图1,图1是本申请实施例提供的一种数字钱包的应用系统的结构示意图。如图所示,该系统包括区块链系统和多个用户终端。其中,区块链系统包括多个联接的节点设备,该节点设备可以是区块链的轻节点,也可以是全节点,具体可以是特意设置的记录服务器;用户终端可以是手机、个人计算机等可以接入互联网的终端。用户终端可以向区块链节点设备发送数字钱包的注册指令,区块链节点设备在接收到注册指令后,调用随机数发生器产生第一助记词和用于生成用户私钥的随机种子,以及接收用户终端发送的第二助记词;接着根据第一助记词、第二助记词和随机种子,生成数字钱包的用户私钥、用户私钥的备份数据;再根据用户私钥确定数字钱包的地址信息;然后接收用户终端发送的支付密码,并利用支付密码对用户私钥进行加密得到私钥密文,从而完成数字钱包的注册。
当用户使用数字钱包时,区块链节点设备首先接收用户终端发送的支付密码,并对支付密码进行校验。若支付密码校验成功,则利用该支付密码对私钥密文进行解密得到用户私钥,并用用户私钥对本次交易进行签名和授权。若支付密码校验失败,则用户可以通过用户终端向区块链节点设备发送助记词,区块链节点设备结合接收到的助记词和该数字钱包的用户私钥的备份数据,恢复用户私钥以完成交易,并且还可以重置支付密码。基于以上系统,本申请实施例提供了以下私钥备份方法。
请参考图2,图2是本申请实施例提供的一种私钥备份方法的流程示意图。本申请实施例的执行主体是区块链节点设备,如图所示,本申请实施例中的方法包括:
S201,当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子。
具体实现中,数字钱包可以是区块链钱包,它用于进行虚拟货币(如比特币)的存储、转账等交易。当检测到用户终端发送的针对数字钱包的注册指令时,可以调用随机数发生器(如线性同余生成器)生成第一预设长度(如6位)的随机数作为第一助记词、以及生成第二预设长度(如16字节)的随机种子,该随机种子用于确定数字钱包的用户私钥,用户私钥用来对该数字钱包的交易进行签名以完成交易。
可选的,可以向用户终端发送第一助记词,用户终端则可以通过文字、图像或语音等方式呈现该第一助记词,以便用户进行记录。
S202,接收用户终端发送的第二助记词。
具体实现中,用户终端可以首先接收用户输入的任意长度的字符串,字符串可以包括数字、字母和文字等等,然后将接收到的字符串作为第二助记词发送给区块链节点设备。
S203,根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
具体实现中,可以首先根据第一助记词和第二助记词,确定加密密钥,其中,可以将第一助记词和第二助记词进行拼接得到组合助记词,如将第一助记词zhangsan0912和第二助记词809785进行拼接得到zhangsan0912809785,并将得到的组合助记词的信息摘要值(如哈希(Hash)值、MD5值)作为加密密钥。然后根据加密密钥,对随机种子进行加密,并将加密后的随机种子作为用户私钥的备份数据。其中,可以采用高级加密标准(AdvancedEncryption Standard,AES)算法对随机种子进行加密。
可选的,为了永久保存用户私钥的备份数据,可以将该备份数据存储在区块链系统中。其中,可以首先从区块链系统所包含的多个区块中任意选取一个区块作为目标区块,接着将备份数据存储在该目标区块中,还可以建立备份数据与数字钱包的地址信息的对应关系;然后确定该目标区块的区块号,并向用户终端发送该区块号,用户终端则可以通过文字、图像或语音等形式呈现该区块号,以便用户进行记录。
在本申请实施例中,尽管仍然采用了与现有技术相同的助记词的方式,但本申请实施例中的方法将助记词划分为两部分,其中一部分是由用户确定的,另一部分则是一个6位的随机数。相比于现有技术中由区块链节点设备生成随机性强、无任何相关性、长度为11位的助记词来备份用户私钥的方法,本申请实施例中的方法可以提高助记词的记忆效率、更有效地防止用户私钥的遗失。
请参考图3,图3是本申请实施例提供的另一种私钥恢复方法的流程示意图。本申请实施例的执行主体是区块链节点设备,如图所示,本申请实施例中的方法包括:
S301,用户终端向区块链节点设备发送注册指令。
具体实现中,当用户需要注册一个新的数字钱包时,可以通过用户终端(如手机)向区块链节点设备发送注册指令。
S302,区块链节点设备当检测到数字钱包的注册指令时,调用随机数字发生器生成第一助记词和随机种子。本步骤与上一实施例中的S201相同,本步骤不再赘述。
S303,用户终端向区块链节点设备发送第二助记词。本步骤与上一实施例中的S202相同,本步骤不再赘述。
S304,根据第一助记词和第二助记词,对随时种子进行加密得到用户私钥的备份数据。本步骤与上一实施例中的S203相同,本步骤不再赘述。
S305,区块链节点设备向用户终端发送第一助记词。
S306,用户终端呈现第一助记词。
具体实现中,为了让用户记录区块链节点设备随机生成的助记词,用户终端可以以文字、图像或语音等方式呈现该助记词。
S307,区块链节点设备完成数字钱包的注册。
具体实现中,如图4所示,在完成用户私钥的备份后,区块链节点设备首先可以根据密钥扩展算法(如AES密钥扩展算法)对随机种子进行密钥扩展得到用户私钥;接着接收用户终端发送的支付密码,该支付密码是用户自行设置并通过用户终端发送给区块链终端设备的;然后根据AES加密算法,利用支付密码对用户私钥进行加密得到私钥密文;其次将用户私钥经过椭圆算法运算得到数字钱包的地址信息;最后对地址信息和支付密码进行信息摘要到Hash值,再将该Hash值和私钥密文以文件的形式进行存储,并将该文件命名为keystore。
需要说明的是,在钱包注册阶段,用户需要对第一助记词、第二助记词和支付密码进行妥善保存和记忆。而区块号不属于敏感信息,用户可以随意存放。
S308,用户终端向区块链节点设备发送支付密码。
具体实现中,在用户使用数字钱包的过程中,如进行转账、收款等交易,用户需要通过用户终端向区块链节点设备发送支付密码,以便对私钥密文进行解密得到用户私钥。如图5所示,区块链节点设备首先对数字钱包的地址信息和支付密码进行信息摘要得到Hash值;接着将该Hash值与keystore中的Hash值进行匹配。若两者一致,表示支付密码校验成功,则利用支付密码对keystore中的私钥密文进行解密,得到用户私钥,对交易进行签名、授权以完成交易。若不一致,表示支付密码校验失败,则可以返回支付密码错误的信息,并对钱包进行恢复。
S309,区块链节点设备当支付密码校验失败时,接收用户终端发送的第三助记词和第四助记词。
S310,确定第三助记词与第一助记词是否相同、以及第四助记词与第二助记词是否相同。
具体实现中,可以将第三助记词与第一助记词、以及第四助记词与第二助记词分别进行匹配,以便确定两者是否相同。若第三助记词与第一助记词相同、且第四助记词与第二助记词相同,则执行S311;否则,向用户终端发送提示信息,以使用户终端提示用户助记词有误。
S311,区块链节点设备根据所述第三助记词和第四助记词,对所述备份数据进行解密得到随机种子。
具体实现中,如图6所示,在接收到第三助记词和第四助记词后,可以首先接收用户终端发送的备份数据所在区块的区块号;接着获取该区块号对应的目标区块所存储的信息;其次根据数字钱包在区块链接节点设备所在的区块链系统中的地址信息,从目标区块中查找对应的备份数据;然后根据第三助记词和第四助记词,确定解密密钥,其中,可以将第三助记词和第四助记词进行拼接得到组合助记词,并将得到的组合助记词的信息摘要值(如Hash值)作为解密密钥。然后根据解密密钥,对随机种子进行解密,其中,可以采用AES算法对随机种子进行解密。
S312,区块链节点设备根据随机种子,确定所述用户私钥。
具体实现中,可以利用密钥扩展算法(如AES密钥扩展算法)对随机种子进行密钥扩展得到用户私钥,使用户再次获得数字钱包的使用权,从而可以重置支付密码。
在本申请实施例中,当检测到数字钱包的注册指令时,区块链节点设备首先调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;接着接收用户终端发送的第二助记词;然后根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据,可以提高助记词的记忆效率、更有效地防止用户私钥的遗失。
请参考图7,图7是本申请实施例提出的一种区块链节点设备的结构示意图。如图所示,本申请实施例中的区块链节点设备包括:
随机模块701,用于当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子。
具体实现中,数字钱包可以是区块链钱包,它用于进行虚拟货币(如比特币)的存储、转账等交易。当检测到用户终端发送的针对数字钱包的注册指令时,可以调用随机数发生器(如线性同余生成器)生成第一预设长度(如6位)的随机数作为第一助记词、以及生成第二预设长度(如16字节)的随机种子,该随机种子用于确定数字钱包的用户私钥,用户私钥用来对该数字钱包的交易进行签名以完成交易。
可选的,本申请实施例中的区块链节点设备还可以包括发送模块,用于向用户终端发送第一助记词,用户终端则可以以文字、图像或语音等形式呈现该第一助记词,以便用户进行记录。
接收模块702,用于接收用户终端发送的第二助记词。
具体实现中,用户终端可以首先接收用户输入的任意长度的字符串,字符串可以包括数字、字母和文字等等,然后将接收到的字符串作为第二助记词发送给区块链节点设备。
加密模块703,用于根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
具体实现中,可以首先根据第一助记词和第二助记词,确定加密密钥,其中,可以将第一助记词和第二助记词进行拼接得到组合助记词,如将第一助记词zhangsan0912和第二助记词809785进行拼接得到zhangsan0912809785,并将得到的组合助记词的信息摘要值(如Hash值、MD5值)作为加密密钥。然后根据加密密钥,对随机种子进行加密,其中,可以采用AES对称加密算法对随机种子进行加密。
可选的,为了永久保存用户私钥的备份数据,可以将该备份数据存储在区块链系统中。其中,可以首先从区块链系统所包含的多个区块中任意选取一个区块作为目标区块,接着将备份数据存储在该目标区块中,还可以建立备份数据与数字钱包的地址信息的对应关系;然后确定该目标区块的区块号,并向用户终端发送该区块号,用户终端则可以通过文字、图像或语音等形式呈现该区块号,以便用户记录。
可选的,本申请实施例中的区块链节点设备还可以包括确定模块,用于在完成用户私钥的备份后,根据随机种子,确定用户私钥,其中,可以根据密钥扩展算法(如AES密钥扩展算法)对随机种子进行密钥扩展得到用户私钥;接收模块702还用于接收用户终端发送的支付密码,该支付密码是用户自行设置并通过用户终端发送给区块链终端设备的;加密模块703还用于根据AES加密算法,利用支付密码对用户私钥进行加密得到私钥密文;其次将用户私钥经过椭圆算法运算得到数字钱包的地址信息;最后对地址信息和支付密码进行信息摘要到Hash值,再将该Hash值和私钥密文以文件的形式进行存储,并将该文件命名为keystore。
在用户使用数字钱包的过程中,接收模块702还用于首先接收用户终端发送的支付密码;接着对支付密码进行校验,其中,可以对数字钱包的地址信息和支付密码进行信息摘要得到Hash值,并将该Hash值与keystore中的Hash值进行匹配。若两者一致,表示支付密码校验成功,则利用支付密码对keystore中的私钥密文进行解密,得到用户私钥,对交易进行签名、授权以完成交易。
若不一致,表示支付密码校验失败,则接收模块702还用于接收用户终端发送的第三助记词和第四助记词。
本申请实施例中的区块链节点设备还可以包括解密模块,用于确定第三助记词与第一助记词是否相同、以及第四助记词与第二助记词是否相同;并当第三助记词与第一助记词相同、且第四助记词与第二助记词相同时,首先确定备份数据所在区块的区块号;接着获取该区块号对应的目标区块所存储的信息;然后根据数字钱包在区块链接节点设备所在的区块链系统中的地址信息,从目标区块中查找对应的备份数据;然后根据第三助记词和第四助记词,确定解密密钥,其中,可以将第一助记词和第二助记词进行拼接得到组合助记词,并将得到的组合助记词的信息摘要值作为解密密钥。然后根据解密密钥,对随机种子进行解密,其中,可以采用AES算法对随机种子进行解密。最后确定模块根据解密得到的根据随机种子,确定所述用户私钥,与钱包注册阶段相同可以利用密钥扩展算法对随机种子进行密钥扩展得到用户私钥。
在本申请实施例中,当检测到数字钱包的注册指令时,区块链节点设备首先调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;接着接收用户终端发送的第二助记词;然后根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据,可以提高助记词的记忆效率、更有效地防止用户私钥的遗失。
请参考图8,图8是本申请实施例提出的一种区块链节点设备的结构示意图。如图所示,该区块链节点设备可以包括:至少一个处理器801,例如CPU,至少一个通信接口802,至少一个存储器803,至少一个总线804。其中,总线804用于实现这些组件之间的连接通信。其中,本申请实施例中区块链节点设备的通信接口802是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器803可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器803可选的还可以是至少一个位于远离前述处理器801的存储区块链节点设备。存储器803中存储一组程序代码,且处理器801用于调用存储器中存储的程序代码,用于执行以下操作:
当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;
接收用户终端发送的第二助记词;
根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
其中,处理器801还用于执行如下操作步骤:
向所述用户终端发送所述第一助记词,以使所述用户终端呈现所述第一助记词。
其中,处理器801还用于执行如下操作步骤:
根据所述第一助记词和所述第二助记词,确定加密密钥;
根据所述加密密钥,对所述随机种子进行加密;
将加密后的所述随机种子作为所述备份数据。
其中,处理器801还用于执行如下操作步骤:
将所述第一助记词和所述第二助记词进行拼接得到组合助记词;
确定所述组合助记词的信息摘要值;
将所述信息摘要值作为所述加密密钥。
其中,处理器801还用于执行如下操作步骤:
从所述区块链节点设备所在的区块链系统中的多个区块中选择目标区块;
将所述备份数据存储在所述目标区块中。
其中,处理器801还用于执行如下操作步骤:
确定所述目标区块的区块号;
向所述用户终端发送所述区块号,以使所述用户终端呈现所述区块号。
其中,处理器801还用于执行如下操作步骤:
当所述数字钱包的支付密码校验失败时,接收所述用户终端发送的第三助记词和第四助记词;
确定所述第三助记词与所述第一助记词是否相同、以及所述第四助记词与所述第二助记词是否相同;
当所述第三助记词与所述第一助记词相同、且所述第四助记词与所述第二助记词相同时,根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子;
根据所述随机种子,确定所述用户私钥,所述用户私钥用于对所述数字钱包的账户交易进行签名。
其中,处理器801还用于执行如下操作步骤:
获取所述备份数据所在区块的区块号;
根据所述数字钱包的地址信息,从所述区块号对应的目标区块中查找所述备份数据。
其中,处理器801还用于执行如下操作步骤:
对所述第三助记词和所述第四助记词进行拼接得到组合助记词;
根据所述组合助记词,确定解密密钥;
根据所述解密密钥,对所述备份数据进行解密。
需要说明的是,本申请实施例同时也提供了一种存储介质,该存储介质用于存储应用程序,该应用程序用于在运行时执行2和图3所示的一种私钥备份方法中电子设备执行的操作。
需要说明的是,本申请实施例同时也提供了一种应用程序,该应用程序用于在运行时执行图2和图3所示的一种私钥备份方法中电子设备执行的操作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程区块链节点设备。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种私钥备份方法,其特征在于,所述方法应用于区块链节点设备,所述方法包括:
当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;
接收用户终端发送的第二助记词;
根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据包括:
根据所述第一助记词和所述第二助记词,确定加密密钥;
根据所述加密密钥,对所述随机种子进行加密;
将加密后的所述随机种子作为所述备份数据。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一助记词和所述第二助记词,确定加密密钥包括:
将所述第一助记词和所述第二助记词进行拼接得到组合助记词;
确定所述组合助记词的信息摘要值;
将所述信息摘要值作为所述加密密钥。
4.如权利要求1-3任一项所述的方法,其特征在于,所述对所述随机种子进行加密得到所述用户私钥的备份数据之后,还包括:
从所述区块链节点设备所在的区块链系统中的多个区块中选择目标区块;
将所述备份数据存储在所述目标区块中。
5.如权利要求4所述的方法,其特征在于,所述将所述备份数据存储在所述目标区块中之后,还包括:
确定所述目标区块的区块号;
向所述用户终端发送所述区块号,以使所述用户终端呈现所述区块号。
6.如权利要求1所述的方法,其特征在于,所述对所述随机种子进行加密得到所述用户私钥的备份数据之后,还包括:
当所述数字钱包的支付密码校验失败时,接收所述用户终端发送的第三助记词和第四助记词;
确定所述第三助记词与所述第一助记词是否相同、以及所述第四助记词与所述第二助记词是否相同;
当所述第三助记词与所述第一助记词相同、且所述第四助记词与所述第二助记词相同时,根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子;
根据所述随机种子,确定所述用户私钥,所述用户私钥用于对所述数字钱包的账户交易进行签名。
7.如权利要求6所述的方法,其特征在于,所述根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子之前,还包括:
获取所述备份数据所在区块的区块号;
根据所述数字钱包的地址信息,从所述区块号对应的目标区块中查找所述备份数据。
8.如权利要求6或7所述的方法,其特征在于,所述根据所述第三助记词和所述第四助记词,对所述备份数据进行解密得到所述随机种子包括:
对所述第三助记词和所述第四助记词进行拼接得到组合助记词;
根据所述组合助记词,确定解密密钥;
根据所述解密密钥,对所述备份数据进行解密。
9.一种区块链节点设备,其特征在于,所述区块链节点设备包括:
随机模块,用于当检测到数字钱包的注册指令时,调用随机数发生器生成第一助记词和随机种子,所述随机种子用于确定所述数字钱包的用户私钥;
接收模块,用于接收用户终端发送的第二助记词;
加密模块,用于根据所述第一助记词和所述第二助记词,对所述随机种子进行加密得到所述用户私钥的备份数据。
10.一种区块链节点设备,其特征在于,包括:处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如权利要求1-8任一项所述的私钥备份方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811260692.8A CN109474420A (zh) | 2018-10-26 | 2018-10-26 | 一种私钥备份方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811260692.8A CN109474420A (zh) | 2018-10-26 | 2018-10-26 | 一种私钥备份方法和相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109474420A true CN109474420A (zh) | 2019-03-15 |
Family
ID=65666194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811260692.8A Pending CN109474420A (zh) | 2018-10-26 | 2018-10-26 | 一种私钥备份方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109474420A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110084599A (zh) * | 2019-04-28 | 2019-08-02 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、设备和存储介质 |
CN110930145A (zh) * | 2020-02-04 | 2020-03-27 | 江苏恒宝智能系统技术有限公司 | 冷钱包生成方法、交易信息处理方法、设备及存储介质 |
CN110955713A (zh) * | 2019-11-26 | 2020-04-03 | 上海中信信息发展股份有限公司 | 一种助记词生成方法、装置及存储介质 |
CN111008837A (zh) * | 2019-11-21 | 2020-04-14 | 深圳前海环融联易信息科技服务有限公司 | 区块链账户私钥恢复方法、装置、计算机设备及存储介质 |
CN111026582A (zh) * | 2019-12-04 | 2020-04-17 | 杭州复杂美科技有限公司 | 助记词备份方法、助记词导入方法、设备和存储介质 |
CN111026583A (zh) * | 2019-12-06 | 2020-04-17 | 上海中信信息发展股份有限公司 | 区块链钱包多私钥的备份恢复方法和计算机可读存储介质 |
CN111047305A (zh) * | 2019-12-09 | 2020-04-21 | 成都宇飞信息工程有限责任公司 | 一种基于数字水印技术的加密数字货币钱包的私钥保存和助记方法 |
CN111835512A (zh) * | 2020-07-13 | 2020-10-27 | 杭州时戳信息科技有限公司 | 私钥碎片管理方法、签名碎片生成方法、系统与节点设备 |
CN112884474A (zh) * | 2021-02-19 | 2021-06-01 | 上海源庐加佳信息科技有限公司 | 区块链钱包助记词生成、导入方法、系统及终端 |
CN114189388A (zh) * | 2021-12-17 | 2022-03-15 | 中国电子科技网络信息安全有限公司 | 一种联盟链密钥管理系统及方法 |
WO2023273549A1 (zh) * | 2021-06-30 | 2023-01-05 | 飞天诚信科技股份有限公司 | 一种助记词的管理方法及装置 |
EP4311162A4 (en) * | 2021-08-20 | 2024-10-09 | Samsung Electronics Co Ltd | ELECTRONIC DEVICE FOR GENERATING MNEMONIC WORDS OF A PRIVATE KEY AND METHOD FOR OPERATING THE ELECTRONIC DEVICE |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453862A (zh) * | 2017-05-15 | 2017-12-08 | 杭州复杂美科技有限公司 | 私钥生成存储及使用的方案 |
CN108537537A (zh) * | 2018-04-16 | 2018-09-14 | 杭州网看科技有限公司 | 一种安全可信的数字货币钱包系统 |
CN108681890A (zh) * | 2018-05-21 | 2018-10-19 | 北京橙鑫数据科技有限公司 | 私密信息的处理方法、处理设备以及处理系统 |
-
2018
- 2018-10-26 CN CN201811260692.8A patent/CN109474420A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453862A (zh) * | 2017-05-15 | 2017-12-08 | 杭州复杂美科技有限公司 | 私钥生成存储及使用的方案 |
CN108537537A (zh) * | 2018-04-16 | 2018-09-14 | 杭州网看科技有限公司 | 一种安全可信的数字货币钱包系统 |
CN108681890A (zh) * | 2018-05-21 | 2018-10-19 | 北京橙鑫数据科技有限公司 | 私密信息的处理方法、处理设备以及处理系统 |
Non-Patent Citations (2)
Title |
---|
火币研究院: ""火币区块链产业专题报告:钱包篇"", 《HTTPS://WWW.LIANMENHU.COM/BLOCKCHAIN-5400-16》 * |
火币研究院: ""火币区块链产业专题报告:钱包篇"", 《HTTPS://WWW.LIANMENHU.COM/BLOCKCHAIN-5400-18》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110084599B (zh) * | 2019-04-28 | 2021-04-20 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、设备和存储介质 |
CN110084599A (zh) * | 2019-04-28 | 2019-08-02 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、设备和存储介质 |
CN111008837B (zh) * | 2019-11-21 | 2023-06-30 | 深圳前海环融联易信息科技服务有限公司 | 区块链账户私钥恢复方法、装置、计算机设备及存储介质 |
CN111008837A (zh) * | 2019-11-21 | 2020-04-14 | 深圳前海环融联易信息科技服务有限公司 | 区块链账户私钥恢复方法、装置、计算机设备及存储介质 |
CN110955713A (zh) * | 2019-11-26 | 2020-04-03 | 上海中信信息发展股份有限公司 | 一种助记词生成方法、装置及存储介质 |
CN111026582A (zh) * | 2019-12-04 | 2020-04-17 | 杭州复杂美科技有限公司 | 助记词备份方法、助记词导入方法、设备和存储介质 |
CN111026583A (zh) * | 2019-12-06 | 2020-04-17 | 上海中信信息发展股份有限公司 | 区块链钱包多私钥的备份恢复方法和计算机可读存储介质 |
CN111026583B (zh) * | 2019-12-06 | 2023-10-27 | 上海信联信息发展股份有限公司 | 区块链钱包多私钥的备份恢复方法和计算机可读存储介质 |
CN111047305A (zh) * | 2019-12-09 | 2020-04-21 | 成都宇飞信息工程有限责任公司 | 一种基于数字水印技术的加密数字货币钱包的私钥保存和助记方法 |
CN110930145A (zh) * | 2020-02-04 | 2020-03-27 | 江苏恒宝智能系统技术有限公司 | 冷钱包生成方法、交易信息处理方法、设备及存储介质 |
CN111835512A (zh) * | 2020-07-13 | 2020-10-27 | 杭州时戳信息科技有限公司 | 私钥碎片管理方法、签名碎片生成方法、系统与节点设备 |
CN111835512B (zh) * | 2020-07-13 | 2023-01-31 | 杭州时戳信息科技有限公司 | 私钥碎片管理方法、签名碎片生成方法、系统与节点设备 |
CN112884474A (zh) * | 2021-02-19 | 2021-06-01 | 上海源庐加佳信息科技有限公司 | 区块链钱包助记词生成、导入方法、系统及终端 |
WO2023273549A1 (zh) * | 2021-06-30 | 2023-01-05 | 飞天诚信科技股份有限公司 | 一种助记词的管理方法及装置 |
EP4311162A4 (en) * | 2021-08-20 | 2024-10-09 | Samsung Electronics Co Ltd | ELECTRONIC DEVICE FOR GENERATING MNEMONIC WORDS OF A PRIVATE KEY AND METHOD FOR OPERATING THE ELECTRONIC DEVICE |
CN114189388A (zh) * | 2021-12-17 | 2022-03-15 | 中国电子科技网络信息安全有限公司 | 一种联盟链密钥管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474420A (zh) | 一种私钥备份方法和相关设备 | |
AU2021203184B2 (en) | Transaction messaging | |
US11392940B2 (en) | Multi-approval system using M of N keys to perform an action at a customer device | |
KR101999188B1 (ko) | 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안 | |
US10460314B2 (en) | Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions | |
WO2019218919A1 (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
KR101976027B1 (ko) | 암호 화폐의 전자 지갑 생성 및 백업 방법 및 이를 이용한 단말 장치와 서버 | |
US11831753B2 (en) | Secure distributed key management system | |
CN111385084A (zh) | 数字资产的密钥管理方法、装置及计算机可读存储介质 | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN111314066B (zh) | 基于区块链的数据转移方法、终端及计算机可读存储介质 | |
CN200993803Y (zh) | 网上银行系统安全终端 | |
CN113726515B (zh) | 一种基于ukey的密钥处理方法、存储介质及电子设备 | |
US9306745B2 (en) | Secure key management | |
CN109302442A (zh) | 一种数据存储证明方法及相关设备 | |
CN110232570B (zh) | 一种信息监管方法及装置 | |
CN109816525A (zh) | 一种数据处理方法及其装置、介质、终端 | |
CN110659900B (zh) | 无应用支付方法、装置、介质及电子设备 | |
CN113360924A (zh) | 数据处理方法、装置、电子设备及介质 | |
CN112612499A (zh) | 应用程序升级方法、装置、电子设备及存储介质 | |
CN116781273A (zh) | 权属迁移信息的上链方法、装置、设备及存储介质 | |
CN114285632A (zh) | 一种区块链数据传输方法、装置和设备及可读存储介质 | |
CN117787985A (zh) | 资源转移方法、装置、系统、计算机设备和存储介质 | |
CN114066455A (zh) | 账户管理方法、终端、服务器、电子设备及存储介质 | |
CN117176325A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190315 |