CN111711521B - 一种区块链账号私钥重置方法及*** - Google Patents
一种区块链账号私钥重置方法及*** Download PDFInfo
- Publication number
- CN111711521B CN111711521B CN202010563196.0A CN202010563196A CN111711521B CN 111711521 B CN111711521 B CN 111711521B CN 202010563196 A CN202010563196 A CN 202010563196A CN 111711521 B CN111711521 B CN 111711521B
- Authority
- CN
- China
- Prior art keywords
- account
- reset
- authority
- blockchain account
- 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.)
- Active
Links
Images
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/50—Cryptographic 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及区块链技术领域,具体涉及提供一种区块链账号私钥重置方法及***,通过客户端将对应的新公钥通过事先绑定的用户通信标示号码发送信息给具有重置账号权限的去中心化应用程序(以下简称重置账号Dapp),就能安全地找回自己的私钥;本发明生成新的密钥由用户自己创建,且私钥只保存在用户端,用户只发送新公钥给***,而不是由***产生新私钥发给用户,所以不限制用户使用的钱包软件,也不使用助记符创建相同的私钥,不保存助记符,不存在数据泄露的风险,保证了数据安全,解决用户账号丢失私钥而无法使用账号的问题。
Description
技术领域
本发明涉及区块链领域,具体涉及一种用户通过手机信息自助重置区块链账号私钥的方法。
背景技术
区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个***信息高度透明,用户账号用公钥表示特定的权限,私钥是由随机种子生成的,公钥是通过算法从私钥推导出来,但不能从公钥推导出私钥,公钥与私钥是成对存在的,它们的作用是:公钥加密,私钥解密;私钥签名,公钥验签,所以区块链不保存用户账号的私钥,用户必须要管理好自己的私钥。
公钥可以通过唯一的私钥进行简单的推导计算确定性获得公钥,因此拥有该公钥所对应私钥的用户可以通过私钥签名来执行需要特定权限的链上交易。
区块链有直接使用公钥代表使用者进行交互;一些高性能的区块链使用账号来进行使用者直接的交互,而账号拥有权限属性,用公钥设定权限,这样一个账号还是通过私钥签名交易,但不同的私钥签名代表了不同的权限,让账号可以分不同的权限进行代表用户的操作,因此账号模式的公链,仍然是基于公私钥来处理链上业务。
由于区块链技术上用到的私钥有一定长度,有足够的随机性,所以难以人脑记忆,而且一旦丢失就无法找回,目前主要是通过客户端软件(也称钱包)来加密保存和使用私钥,但钱包只是简化了利用私钥进行签名进行交易的操作,并没有彻底解决私钥丢失的问题,当用户忘记了钱包的密码,由于私钥也是加密的因此也就无法使用钱包里的私钥,甚至当钱包文件损坏或者被误删除时,私钥就彻底被丢失了。
目前业内另外还有通过助记符创建私钥的方法,但用户需要记忆助记符,如果用户忘记了助记符,或者忘记了创建网站或工具,就无法恢复相同的私钥;并且使用这类网站或工具不能保证数据安全。
发明内容
本发明的目的,就是克服现有技术的不足,提供一种不用记忆助记符并且钱包文件损坏或者被误删除也能重置区块链账号私钥的方法及***。
为了达到上述目的,本发明的一个方面提供了一种区块链账号私钥重置方法,其特征在于,包括以下步骤:
A1:确定待重置私钥PRI_A的通过客户端创建的区块链账号;
A2:使用客户端生成私钥PRI_B, 及利用椭圆曲线算法推导出私钥PRI_B的公钥PUB_B;
A3:客户端利用已绑定区块链账号的用户通信标示号码,发送重置请求信息给重置账号Dapp(去中心化应用程序的简称)的信息接收单元,所述重置信息内容由区块链账号名称、步骤A2生成的公钥PUB_B、绑定所述用户通信标示号码的区块链账号mobile 权限的密码组成;
A4: 重置账号Dapp接收到用户发送的重置信息后,检查重置信息内容内的区块链账号在区块链网络中是否存在;
A5: 当步骤A4确认区块链账号存在于区块链网络中后,检查重置账号Dapp的***重置账号是否拥有所述待重置私钥PRI_A的区块链账号的最高权限;
A6:检查所述区块链账号的权限里是否存在mobile权限,如果存在,读取所述mobile权限数组的公钥数组,mobile 权限是自定义权限,可以是由公链自己取任何名称的权限,但在本文中用“mobile”来表示关于信息复位私钥的权限。;
A7: 重置账号Dapp使用客户端发送的重置信息内的用户通信标示号码、区块链账号mobile 权限的密码,按照预定义算法生成私钥PRI_C,及利用椭圆曲线算法推导出私钥B的公钥PUB_C;
A8: 重置账号Dapp比对单元检查步骤A7生成的公钥PUB_C是否存在于所述区块链账号mobile权限数组的公钥数组中;
A9: 步骤A1-A8检查全部通过后,重置账号Dapp的重置单元利用***重置账号的重置权限发送重置命令给区块链账号的最高权限,区块链账号的最高权限接收到***重置账号的重置权限发送的重置命令后,将用户发送的请求重置信息内的公钥PUB_B替换为因丢失私钥PRI_A而需要被重置的公钥PUB_A;
A10: 重置账号Dapp可通过信息发送单元发送信息告知客户端本次重置的结果。
进一步的,所述通过客户端创建区块链账号包括以下步骤方法:
B1:使用客户端创建区块链账号,所述客户端以用户通信标示号码和区块链账号mobile 权限的密码作为参数按照预定义算法生成私钥PRI_A及利用椭圆曲线算法推导出私钥A的公钥PUB_A ;
B2: 客户端在创建的区块链账号内创建一个阀值任意的mobile权限,将步骤B1生成的公钥PUB_A添加到区块链账号的任意阀值的mobile权限数组的公钥数组内;
更进一步的,所述区块链账号绑定用户通信标示号码包括以下步骤方法:
C1:检查区块链账号是否绑定用户通信标示号码,通过查询重置账号Dapp拥有的公钥是否存在于区块链账号最高权限中,存在则为区块链账号绑定过用户通信标示号码,不存在则为区块链账号未绑定用户通信标示号码;
C2:当客户端创建的区块链账号未绑定用户通信标示号码时,区块链账号利用最高权限将重置账号Dapp***重置账号的重置权限的的公钥PUB_SYS加入未绑定用户通信标示号码的区块链账号的最高权限组里,并最高权限的阈值设为1,区块链账号的最高权限公钥和重置账号Dapp***重置账号的重置权限的公钥的权重都设为1,即重置账号Dapp***重置账号的重置权限拥有区块链账号的最高权限;
C3: 当客户端创建的区块链账号绑定用户通信标示号码步骤完成后,将与区块链账号相绑定的用户通信标示号码添加到区块链账号的任意阀值的mobile权限数组内;
C4:当区块链账号绑定过用户通信标示号码,即区块链账号的最高权限组中是存在重置账号Dapp***重置账号的重置权限的公钥时,结束绑定流程。
更进一步的,所述用户通信标示号码可以是手机号码、微信号、钉钉号、QQ号、支付宝号等通信号码。
更进一步的,所述预定义算法生成私钥的方法包括以下步骤方法:
D1:私钥=用户通信标示号码+空格+用户自定义的区块链账号密码+空格;
D2:如果步骤D1生成私钥的长度小于32字节,则继续追加数据;
D3:私钥=长度小于32字节的私钥+用户通信标示号码+空格+用户自定义的区块链账号密码+空格;
D4:循环步骤D2,D3直到私钥的长度大于等于32字节,并截断超过32字节的部分,让最终的私钥长度等于32字节。
更进一步的,所述区块链账号具有包含最高权限在内的至少一个权限,所述权限按树形结构进行分级分组,所述最高权限拥有创建、修改、删除所述区块链账号权限的权限;所述权限阀值都为1,所述权限还包括至少一个带权重的公钥,当1个或多个公钥的权重之和大于等于权限的阈值时,就可以获得该权限,进而执行该权限允许的任务。
更进一步的,所述区块链账号可以绑定至少一个用户通信标示号码,所述绑定区块链账号的用户通信标示号码都可以单独定义密码,所述用户通信标示号码可以绑定多个区块链账号。
一种所述方法的客户端及重置账号Dapp:
所述客户端包括:
账号创建单元,用于创建区块链账号;
信息接收单元1,用于接收重置账号Dapp发送的信息;
信息发送单元1,用于将区块链账号名称、生成的新的公钥PUB_B、已绑定用户通信标示号码区块链账号的密码组成通过重置信息发送给重置账号Dapp;
所述重置账号Dapp包括:
信息接收单元2,用于接收用户发送的重置请求信息;
信息发送单元2,用于将重置操作的结果通过信息发送给用户;
比对单元,用于检查步骤A7生成的公钥PUB_C是否存在于所述区块链账号mobile权限数组的公钥数组中;
重置单元,用于执行重置命令,利用***重置账号的重置权限发送重置命令给区块链账号的最高权限,区块链账号的最高权限接收到***重置账号的重置权限发送的重置命令后,将用户发送的请求重置信息内的公钥PUB_B替换为因丢失私钥PRI_A而需要被重置的公钥PUB_A。
本发明的有益效果是:通过客户端将对应的新公钥通过事先绑定的用户通信标示号码发送请求重置信息给具有重置账号权限的***重置账号,就能安全地找回自己的私钥;
本发明生成新的密钥由用户自己创建,私钥只保存在用户端,用户只发送新公钥给***,而不是由***产生新私钥发给用户,所以不限制用户使用的钱包软件,也不使用助记符创建相同的私钥,不保存助记符,不存在数据泄露的风险,保证了数据安全,解决用户账号丢失私钥而无法使用账号的问题。
附图说明
为了易于说明,本发明由下述的较佳实施例及附图作以详细描述。
图1是本发明所述一种区块链账号私钥重置方法的原理图;
图2是本发明所述一种区块链账号私钥重置方法的流程图;
图3是本发明所述一种区块链账号私钥重置方法的区块链账号创建绑定流程图;
图4是本发明所述一种区块链账号私钥重置***的客户端结构示意图;
图5是本发明所述一种区块链账号私钥重置***的重置账号Dapp结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”、应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
由于区块链技术上用到的私钥有一定长度,有足够的随机性,所以难以人脑记忆,而且一旦丢失就无法找回,目前主要是通过客户端软件(也称钱包)来加密保存和使用私钥,但钱包只是简化了利用私钥进行签名进行交易的操作,并没有彻底解决私钥丢失的问题,当用户忘记了钱包的密码,由于私钥也是加密的因此也就无法使用钱包里的私钥,甚至当钱包文件损坏或者被误删除时,私钥就彻底被丢失了。
目前业内另外还有通过助记符创建私钥的方法,但用户需要记忆助记符,如果用户忘记了助记符,或者忘记了创建网站或工具,就无法恢复相同的私钥;并且使用这类网站或工具不能保证数据安全。
有鉴于此,本实施例提供一种区块链账号私钥重置的方案,实施例以用户通信标示号码为手机号码的情景进行详细阐述:
首先,请参照图1、2,一种区块链账号私钥重置方法,其特征在于,包括以下步骤:
A1:确定待重置私钥PRI_A的通过客户端创建的区块链账号;
A2:使用客户端生成私钥PRI_B, 及利用椭圆曲线算法推导出私钥PRI_B的公钥PUB_B;
A3:客户端利用已绑定区块链账号的手机号码,发送重置请求信息给重置账号Dapp(去中心化应用程序的简称)的信息接收单元,所述重置信息内容由区块链账号名称、步骤A2生成的公钥PUB_B、绑定所述手机号码的区块链账号mobile 权限的密码组成;
A4: 重置账号Dapp接收到用户发送的重置信息后,检查重置信息内容内的区块链账号在区块链网络中是否存在;
A5: 当步骤A4确认区块链账号存在于区块链网络中后,检查重置账号Dapp的***重置账号是否拥有所述待重置私钥PRI_A的区块链账号的最高权限;
A6:检查所述区块链账号的权限里是否存在mobile权限,如果存在,读取所述mobile权限数组的公钥数组,mobile 权限是自定义权限,可以是由公链自己取任何名称的权限,但在本文中用“mobile”来表示关于信息复位私钥的权限。;
A7: 重置账号Dapp使用客户端发送的重置信息内的手机号码、区块链账号mobile权限的密码,按照预定义算法生成私钥PRI_C,及利用椭圆曲线算法推导出私钥B的公钥PUB_C;
A8: 重置账号Dapp比对单元检查步骤A7生成的公钥PUB_C是否存在于所述区块链账号mobile权限数组的公钥数组中;
A9: 步骤A1-A8检查全部通过后,重置账号Dapp的重置单元利用***重置账号的重置权限发送重置命令给区块链账号的最高权限,区块链账号的最高权限接收到***重置账号的重置权限发送的重置命令后,将用户发送的请求重置信息内的公钥PUB_B替换为因丢失私钥PRI_A而需要被重置的公钥PUB_A;新的密钥对PRI_B-PUB_B(私钥-公钥)由客户端创建,私钥只保存在客户端,客户端只发送新公钥给重置账号Dapp,而不是由重置账号Dapp产生新私钥发给客户端,保证了数据安全;
A10: 重置账号Dapp可通过信息发送单元发送信息告知客户端本次重置的结果。
如图3所示,所述通过客户端创建区块链账号包括以下步骤方法:
B1:使用客户端创建区块链账号,所述客户端以手机号码和区块链账号mobile 权限的密码作为参数按照预定义算法生成私钥PRI_A及利用椭圆曲线算法推导出私钥A的公钥PUB_A ;
B2: 客户端在创建的区块链账号内创建一个阀值任意的mobile权限,将步骤B1生成的公钥PUB_A添加到区块链账号的任意阀值的mobile权限数组的公钥数组内。
如图3所示,所述区块链账号绑定手机号码包括以下步骤方法:
C1:检查区块链账号是否绑定手机号码,通过查询重置账号Dapp拥有的公钥是否存在于区块链账号最高权限中,存在则为区块链账号绑定过手机号码,不存在则为区块链账号未绑定手机号码;
C2:当客户端创建的区块链账号未绑定手机号码时,区块链账号利用最高权限将重置账号Dapp***重置账号的重置权限的的公钥PUB_SYS加入未绑定手机号码的区块链账号的最高权限组里,并最高权限的阈值设为1,区块链账号的最高权限公钥和重置账号Dapp***重置账号的重置权限的公钥的权重都设为1,即重置账号Dapp***重置账号的重置权限拥有区块链账号的最高权限;
C3: 当客户端创建的区块链账号绑定手机号码步骤完成后,将与区块链账号相绑定的手机号码添加到区块链账号的任意阀值的mobile权限数组内;
C4:当区块链账号绑定过手机号码,即区块链账号的最高权限组中是存在重置账号Dapp***重置账号的重置权限的公钥时,结束绑定流程。
所述预定义算法生成私钥的方法包括以下步骤方法:
D1:私钥=手机号码+空格+用户自定义的区块链账号密码+空格;
D2:如果步骤D1生成私钥的长度小于32字节,则继续追加数据;
D3:私钥=长度小于32字节的私钥+手机号码+空格+用户自定义的区块链账号密码+空格;
D4:循环步骤D2,D3直到私钥的长度大于等于32字节,并截断超过32字节的部分,让最终的私钥长度等于32字节,例如用手机号码13812345678和密码hello创建出来的密钥对是: 私钥:“5JBxLB9zf1jZTWA3qmwuAKubePqSV4PrVvEwUQfATxeQkx5Aw1e”, 公钥:“POG6MThS82Z48h5oVazPK5DjYh9E174pwhMzamgAVCMjs4akA6AkJ”;
而用手机号码13901234567和密码world创建出来的密钥对是:
私钥:“5JBxLCTk8rwzJj7uaX71XmHg4y649SDTVxspR5wTSGpfKp7iDm5”,
公钥:“POG7PB7ufRa33LP9R9TM52TbQoRhZihR5xGFeZKriAWkuQKWSczbk”,如果不知道手机号码及特定的密码组成的二元组,是无法推导出私钥的;同时,知道手机号码和特定的密码可以确定性推导出唯一性的私钥,由此推导出公钥,这可以做到手机号码绑定到账号上的公钥是确定性的,同时也无法暴力破解出手机号码的。
所述区块链账号具有至少一个权限,所述权限按树形结构进行分级分组,每个区块链账号设有一个最高权限,所述最高权限拥有创建、修改、删除账号的权限;所述权限阀值都为1,所述权限还包括至少一个带权重的公钥,当1个或多个公钥的权重之和大于等于权限的阈值时,就可以获得该权限,进而执行该权限允许的任务。
所述区块链账号可以绑定多个手机号码,所述绑定的每个手机号码都可以单独定义密码,所述每个手机号码可以绑定多个区块链账号,用户绑定的每个手机号码都可以单独定义密码,防止手机丢失,账号被盗用。
请参照图4、5所示,本实施例还提供一种区块链账号私钥重置***,包括用于实现区块链账号密钥重置、创建和绑定方法的客户端及重置账号Dapp:
所述客户端包括:
账号创建单元,用于创建区块链账号;
信息接收单元1,用于接收重置账号Dapp发送的信息;
信息发送单元1,用于将区块链账号名称、生成的新的公钥PUB_B、已绑定手机号码区块链账号的密码组成通过重置信息发送给重置账号Dapp;
所述重置账号Dapp包括:
信息接收单元2,用于接收用户发送的重置请求信息;
信息发送单元2,用于将重置操作的结果通过信息发送给用户;
比对单元,用于检查步骤A7生成的公钥PUB_C是否存在于所述区块链账号mobile权限数组的公钥数组中;
重置单元,用于执行重置命令,利用***重置账号的重置权限发送重置命令给区块链账号的最高权限,区块链账号的最高权限接收到***重置账号的重置权限发送的重置命令后,将用户发送的请求重置信息内的公钥PUB_B替换为因丢失私钥PRI_A而需要被重置的公钥PUB_A。
本发明在区块链技术体系里引入了账号这个实体,每个账号里有至少一个权限,权限按树形结构进行分级分组,最高权限的名称为root,可以创建、修改、删除本账号的其它权限,每个权限有1个阈值,并包括至少一个带权重的公钥(可以是其它账号的公钥),当1个或多个公钥的权重之和大于或等于权限的阈值时,就可以获得该权限,执行该权限允许的任务,例如修改该权限对应的公钥。
如果账号user1里有1个叫vote的权限,其阈值是1,里面有权重都为1的公钥key1和公钥key2,那么拥有私钥key1或私钥key2的用户都可以获得账号user1的vote权限,如果账号user2里有1个叫pay的权限,其阀值是2,里面有权重都为1的公钥key3和公钥key4,那么必须是拥有公钥key3和公钥key4的2个用户都同意后,才能获得账号user2的pay权限。
现有技术中,用户是直接用密钥和区块链进行交互,有了账号的概念后,密钥被映射为账号里的权限,用户通过账号及权限和区块链进行交互;当用户丢失密钥后,按一定的流程为用户替换部分或者全部权限里的密钥后,掌握了私钥的用户就可恢复以对此账号的正常使用。
当权限里有其它账号的公钥时,我们把这个公钥替换为其它账号的权限名称,不仅清晰易懂,而且不影响其它账号更换密钥。
本发明的有益效果是:通过客户端将对应的新公钥通过事先绑定的用户通信标示号码发送信息给具有重置账号权限的***重置账号,就能安全地找回自己的私钥;
本发明生成新的密钥由用户自己创建,私钥只保存在用户端,用户只发送新公钥给***,而不是由***产生新私钥发给用户,所以不限制用户使用的钱包软件,也不使用助记符创建相同的私钥,不保存助记符,不存在数据泄露的风险,保证了数据安全,解决用户账号丢失私钥而无法使用账号的问题。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方杠中所标注的功能也可以以不同于附图中所标性的顺序发生。例如,两个连续的方框实际可以基本并行地执行,它们有时也可以按相反的顺序执行 ,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括至少一个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM , Readom-Only Memory)、随机存取存 储器 (RAM , Random Access Memory) 、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含” 或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个-----”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不同限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种区块链账号私钥重置方法,其特征在于,包括以下步骤:
A1:确定待重置私钥PRI_A的通过客户端创建的区块链账号;
A2:使用客户端生成私钥PRI_B, 及利用椭圆曲线算法推导出私钥PRI_B的公钥PUB_B;
A3:客户端利用已绑定区块链账号的用户通信标示号码,发送重置请求信息给重置账号Dapp的信息接收单元,所述重置请求信息内容由区块链账号名称、步骤A2生成的公钥PUB_B、绑定所述用户通信标示号码的区块链账号mobile 权限的密码组成;
A4: 重置账号Dapp接收到用户通过客户端发送的重置请求信息后,检查重置请求信息内容内的区块链账号在区块链网络中是否存在;
A5: 当步骤A4确认区块链账号存在于区块链网络中后,检查重置账号Dapp的***重置账号是否拥有所述待重置私钥PRI_A的区块链账号的最高权限;
A6:检查所述区块链账号的权限里是否存在mobile权限,如果存在,读取所述mobile权限数组的公钥数组;
A7: 重置账号Dapp使用客户端发送的重置请求信息内的用户通信标示号码、区块链账号mobile 权限的密码,按照预定义算法生成私钥PRI_C,及利用椭圆曲线算法推导出私钥B的公钥PUB_C;
A8: 重置账号Dapp比对单元检查步骤A7生成的公钥PUB_C是否存在于所述区块链账号mobile权限数组的公钥数组中;
A9: 步骤A1-A8检查全部通过后,重置账号Dapp的重置单元利用***重置账号的重置权限发送重置命令给区块链账号的最高权限,区块链账号的最高权限接收到***重置账号的重置权限发送的重置命令后,将用户发送的请求重置请求信息内的公钥PUB_B替换为因丢失私钥PRI_A而需要被重置的公钥PUB_A;
A10: 重置账号Dapp可通过信息发送单元发送信息告知客户端本次重置的结果。
2.根据权利要求1所述的一种区块链账号私钥重置方法,其特征在于:所述通过客户端创建区块链账号包括以下步骤方法:
B1:使用客户端创建区块链账号,所述客户端以用户通信标示号码和区块链账号mobile 权限的密码作为参数按照预定义算法生成私钥PRI_A及利用椭圆曲线算法推导出私钥A的公钥PUB_A ;
B2: 客户端在创建的区块链账号内创建一个阀值任意的mobile权限,将步骤B1生成的公钥PUB_A添加到区块链账号的任意阀值的mobile权限数组的公钥数组内。
3.根据权利要求1所述的一种区块链账号私钥重置方法,其特征在于:所述区块链账号绑定用户通信标示号码包括以下步骤方法:
C1:检查区块链账号是否绑定用户通信标示号码,通过查询重置账号Dapp拥有的公钥是否存在于区块链账号最高权限中,存在则为区块链账号绑定过用户通信标示号码,不存在则为区块链账号未绑定用户通信标示号码;
C2:当客户端创建的区块链账号未绑定用户通信标示号码时,区块链账号利用最高权限将重置账号Dapp***重置账号的重置权限的的公钥PUB_SYS加入未绑定用户通信标示号码的区块链账号的最高权限组里,并最高权限的阈值设为1,区块链账号的最高权限公钥和重置账号Dapp***重置账号的重置权限的公钥的权重都设为1,即重置账号Dapp***重置账号的重置权限拥有区块链账号的最高权限;
C3: 当客户端创建的区块链账号绑定用户通信标示号码步骤完成后,将与区块链账号相绑定的用户通信标示号码添加到区块链账号的任意阀值的mobile权限数组内;
C4:当区块链账号绑定过用户通信标示号码,即区块链账号的最高权限组中是存在重置账号Dapp***重置账号的重置权限的公钥时,结束绑定流程。
4.根据权利要求3所述的一种区块链账号私钥重置方法,其特征在于,所述用户通信标示号码包括手机号码、微信号、钉钉号、QQ号、支付宝号。
5.根据权利要求1所述的一种区块链账号私钥重置方法,其特征在于,所述预定义算法生成私钥的方法包括以下步骤方法:
D1:私钥=用户通信标示号码+空格+用户自定义的区块链账号密码+空格;
D2:如果步骤D1生成私钥的长度小于32字节,则继续追加数据;
D3:私钥=长度小于32字节的私钥+用户通信标示号码+空格+用户自定义的区块链账号密码+空格;
D4:循环步骤D2,D3直到私钥的长度大于等于32字节,并截断超过32字节的部分,让最终的私钥长度等于32字节。
6.根据权利要求1所述的一种区块链账号私钥重置方法,其特征在于,所述区块链账号具有包含最高权限在内的至少一个权限,所述权限按树形结构进行分级分组,所述最高权限拥有创建、修改、删除所述区块链账号权限的权限;所述权限阀值都为1,所述权限还包括至少一个带权重的公钥,当1个或多个公钥的权重之和大于等于权限的阈值时,就可以获得该权限,进而执行该权限允许的任务。
7.根据权利要求1或3所述的一种区块链账号私钥重置方法,其特征在于,所述区块链账号可以绑定至少一个用户通信标示号码,所述绑定区块链账号的用户通信标示号码都可以单独定义密码,所述用户通信标示号码可以绑定多个区块链账号。
8.一种区块链账号私钥重置***,其特征在于,包括用于实现如权利要求1至3中任一项所述方法的客户端及重置账号Dapp:
所述客户端包括:
账号创建单元,用于创建区块链账号;
信息接收单元1,用于接收重置账号Dapp发送的信息;
信息发送单元1,用于将区块链账号名称、生成的新的公钥PUB_B、已绑定用户通信标示号码区块链账号的密码组成通过重置请求信息发送给重置账号Dapp;
所述重置账号Dapp包括:
信息接收单元2,用于接收用户发送的重置请求信息;
信息发送单元2,用于将重置操作的结果通过信息发送给用户;
比对单元,用于检查步骤A7生成的公钥PUB_C是否存在于所述区块链账号mobile权限数组的公钥数组中;
重置单元,用于执行重置命令,利用***重置账号的重置权限发送重置命令给区块链账号的最高权限,区块链账号的最高权限接收到***重置账号的重置权限发送的重置命令后,将用户发送的请求重置请求信息内的公钥PUB_B替换为因丢失私钥PRI_A而需要被重置的公钥PUB_A。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563196.0A CN111711521B (zh) | 2020-06-19 | 2020-06-19 | 一种区块链账号私钥重置方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563196.0A CN111711521B (zh) | 2020-06-19 | 2020-06-19 | 一种区块链账号私钥重置方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711521A CN111711521A (zh) | 2020-09-25 |
CN111711521B true CN111711521B (zh) | 2023-05-05 |
Family
ID=72541332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010563196.0A Active CN111711521B (zh) | 2020-06-19 | 2020-06-19 | 一种区块链账号私钥重置方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711521B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113256291A (zh) * | 2021-06-17 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 在区块链***中创建账户及分配交易的方法及装置 |
CN114969808B (zh) * | 2022-05-07 | 2023-09-19 | 中移互联网有限公司 | 一种账号的管理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412798A (zh) * | 2018-12-06 | 2019-03-01 | 中链科技有限公司 | 区块链的私钥生成、数据交互方法及其*** |
CN111034120A (zh) * | 2019-03-29 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 基于身份信息的加密密钥管理 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10382485B2 (en) * | 2016-12-23 | 2019-08-13 | Vmware, Inc. | Blockchain-assisted public key infrastructure for internet of things applications |
GB2569278A (en) * | 2017-10-23 | 2019-06-19 | Cygnetise Ltd | Methods and apparatus for verifying a user transaction |
-
2020
- 2020-06-19 CN CN202010563196.0A patent/CN111711521B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412798A (zh) * | 2018-12-06 | 2019-03-01 | 中链科技有限公司 | 区块链的私钥生成、数据交互方法及其*** |
CN111034120A (zh) * | 2019-03-29 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 基于身份信息的加密密钥管理 |
Also Published As
Publication number | Publication date |
---|---|
CN111711521A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743041B2 (en) | Technologies for private key recovery in distributed ledger systems | |
US10419416B2 (en) | Encryption and decryption techniques using shuffle function | |
US7739733B2 (en) | Storing digital secrets in a vault | |
US8208627B2 (en) | Format-preserving cryptographic systems | |
CN102932136B (zh) | 用于管理加密密钥的***和方法 | |
AU2013101034A4 (en) | Registration and authentication of computing devices using a digital skeleton key | |
CN108352015A (zh) | 用于基于区块链的***结合钱包管理***的安全多方防遗失存储和加密密钥转移 | |
CN108965222B (zh) | 身份认证方法、***及计算机可读存储介质 | |
WO2019074921A1 (en) | SYSTEM AND METHOD FOR PROTECTING SENSITIVE INFORMATION VIA DISTRIBUTED CONFIDENCE | |
CN101401341A (zh) | 安全数据解析方法和*** | |
JP2004534333A (ja) | コンピュータネットワークにおける分散データ処理に関する統合された保護方法及びシステム | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN109547218B (zh) | 一种改进bip协议的联盟链节点秘钥分配及备份*** | |
CN104281794A (zh) | 一种密码存储及验证的方法和装置 | |
US11128457B2 (en) | Cryptographic key generation using external entropy generation | |
CN110138754B (zh) | 一种多云端信息处理***及其资源共享方法 | |
CN113348455A (zh) | 利用数据控制签名提供数据的认证、不可否认性、受管控的访问和孪生分辨的装置和方法 | |
CN111711521B (zh) | 一种区块链账号私钥重置方法及*** | |
CN110771190A (zh) | 对数据的控制访问 | |
CN111131282A (zh) | 请求加密方法、装置、电子设备及存储介质 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
US10623400B2 (en) | Method and device for credential and data protection | |
CN112805704A (zh) | 保护数据的方法和*** | |
CN113726515A (zh) | 一种基于ukey的密钥处理方法、存储介质及电子设备 | |
CN115208676B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210802 Address after: 510000 room 226, building 5, No. 8, Qiyun Road, Huangpu District, Guangzhou City, Guangdong Province Applicant after: Guangdong Xiaoqu Technology Co.,Ltd. Address before: 510000 room 226, building 5, No. 8, Qiyun Road, Huangpu District, Guangzhou, Guangdong Applicant before: Guangzhou spore Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |