一种基于区块链的密钥备份及恢复方法与双机备份系统与流程

文档序号:36178768发布日期:2023-11-29 09:35阅读:89来源:国知局
一种基于区块链的密钥备份及恢复方法与双机备份系统与流程

本发明涉及区块链,尤其涉及一种基于区块链的密钥备份及恢复方法与双机备份系统。


背景技术:

1、tee备份指的是在可信执行环境下进行的备份操作,目前常用的备份方法有三种:

2、第一种是采用两个资产保存装置互相备份,数字资产管理装置使用时至少是两个装置双机使用,两个装置内保存的数字资产互为备份,当第一个装置损坏后,启用第二个装置,第一个装置的数字资产的地址及密钥对于第二个装置依然有效。但是该方法存在两个装置同时损坏的可能,并且需要两个资产保存装置,备份成本和维护成本较高。

3、第二种是对生成的密钥进行二次加密,提高破解难度从而提高安全性,基于目标数据生成密钥,利用密钥对生成的随机助记词进行加密,得到加密后的字符串,密钥助记词可推导出密钥,进行解密。该方法存在暴力破解的可能,破解加密后的助记词即可获取密钥,盗取资产。

4、第三种是利用智能卡进行密钥备份,当冷钱包接收钱包创建指令生成助记词,接收备份指令连接至智能卡,智能卡将助记词备份。冷钱包接收导入钱包指令,接收用户密码发送至智能卡,智能卡验证通过后生成助记词的读取指令发送至冷钱包,冷钱包读取并导入助记词恢复钱包。该方法中,智能卡易损坏和丢失。智能卡也易遭受某些攻击,此外还可以物理地拆卸智能卡以便访问机载微芯片。

5、区块链技术是利用块链式数据结构验证与存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约,编程和操作数据的全新的分布式基础架构与计算范式。利用区块链存储,降低了硬件设备的成本,有效避免了单点故障带来的负面影响。

6、因此,将区块链技术与tee备份技术相结合实现可信环境下资产与密钥分离备份是值得研究的问题。


技术实现思路

1、本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种基于区块链的密钥备份及恢复方法与双机备份系统,借助区块链存储和tee备份技术在可信环境下将冷钱包中的资产与密钥分离备份,防止为冷钱包双机备份的资产存储设备被攻击而导致资产丢失,提高安全性。

2、为解决上述技术问题,本发明提出的技术方案为:

3、一种基于区块链的密钥备份及恢复方法,所述方法应用于冷钱包与资产存储装置组成的双机备份系统,所述资产存储装置被配置以执行以下步骤:

4、获取并备份冷钱包的资产信息,并获取冷钱包的密钥信息;

5、等待并获取冷钱包的备份请求,解析备份请求,若备份请求中包含可信程序的标识信息,则使用加密电路和备份请求中的公钥对密钥信息加密得到密文数据,保存所述密文数据;若备份请求中不包含可信程序的标识信息,则结束并退出;

6、将所述公钥分散存储在区块链,采集用户的生物信息并分散存储在区块链;

7、等待并获取冷钱包的恢复请求,解析恢复请求,若恢复请求中不包含可信程序的标识信息,则结束并退出;若恢复请求中包含可信程序的标识信息,则获取恢复请求中的公钥数据并与区块链上原始的公钥数据进行一致性验证,同时获取用户的生物信息数据并与区块链上原始的生物信息数据进行一致性验证,若均验证通过,向冷钱包建立可信通道;

8、读取密文数据,使用解密电路和所述公钥数据对密文数据解密得到密钥信息,将所述密钥信息通过可信通道发送给冷钱包。

9、进一步的,保存所述密文数据之后还包括:读取智能卡中的用户身份信息并保存;将所述密钥信息通过可信通道发送给冷钱包之前还包括:等待并读取智能卡中的用户身份信息,将所述用户身份信息与预先保存的用户身份信息进行一致性验证,若验证通过,将所述密钥信息通过可信通道发送给冷钱包,若验证不通过,则结束并退出。

10、进一步的,将所述公钥分散存储在区块链时,包括:将公钥发布至区块链,使用区块链将公钥进行加密得到第一加密数据,然后对第一加密数据进行分片,将每个第一加密数据的分片分别存储到区块链网络中对应的第一节点中。

11、进一步的,将每个第一加密数据的分片分别存储到区块链网络的不同节点中之后,还包括:根据每个第一加密数据的分片数据生成对应的哈希值,将哈希值添加到对应的分类帐和分片元数据中。

12、进一步的,获取恢复请求中的公钥数据并与区块链上原始的公钥数据进行一致性验证时,包括以下步骤:

13、在区块链浏览器上查询存储地址,获取第一加密数据的分片对应的哈希值,作为原始的公钥数据;

14、将恢复请求中的公钥进行加密后,对得到的加密数据进行分片,根据每个分片数据生成对应的哈希值,作为恢复请求中的公钥数据;

15、将每个恢复请求中的公钥数据与对应的原始的公钥数据进行比较,若每个恢复请求中的公钥数据与对应的原始的公钥数据均相同,则验证通过。

16、进一步的,所述生物信息为指纹信息,采集用户的生物信息并分散存储在区块链时,包括以下步骤:

17、随机生成序列号,对序列号进行加密,生成加密初始值参数;

18、根据硬件信息构造硬件数据段,并对硬件数据段进行加密得到第三加密数据;

19、将指纹信息进行加密得到第四加密数据,将加密初始值参数、第三加密数据和第四加密数据写入预先创建的空文件,得到第二加密数据;

20、将所述第二加密数据发布至区块链,然后对第二加密数据进行分片,将每个第二加密数据的分片分别存储到区块链网络中对应的第二节点中。

21、进一步的,获取用户的生物信息数据,并与区块链上原始的生物信息数据进行一致性验证时,包括以下步骤:

22、在区块链浏览器上查询存储地址,获取第二加密数据的分片,将第二加密数据的分片合并后,提取原始生物信息的加密数据并解密,得到原始的生物信息数据;

23、获取用户的生物信息数据,并与原始的生物信息数据进行比较,若用户的生物信息数据与原始的生物信息数据相同,则验证通过。

24、进一步的,随机生成序列号时,包括:随机生成四组数字,将其中一组作为序列号;

25、随机生成序列号之后还包括:获取当前时间生成inf信息段,并在inf信息段中提取位置信息、偏移量和密钥种子;对序列号进行加密,生成加密初始值参数时,包括:

26、以密钥种子为主密钥对序列号解密,将输出的数据保存在inf数组的位置pos3;

27、将所述四组数字中的ic0循环左移偏移量shift0比特得到待加密数据,将所述四组数字中的ic1循环左移偏移量shift1比特生成临时密钥,以该密钥对待加密数据执行加密算法,得到临时变量buf,将buf复制到加密初始值参数iv中,将buf循环右移偏移量shift0比特后复制到inf数组的位置pos1中;

28、将所述四组数字中的ic2循环左移偏移量shift2比特得到待加密数据,将所述四组数字中的ic3循环左移偏移量shift3比特生成临时密钥,以该密钥对待加密数据执行加密算法,得到临时变量buf,将buf循环右移偏移量shift0比特后复制到inf数组的位置pos0中。

29、进一步的,根据硬件信息构造硬件数据段,并对硬件数据段进行加密得到第三加密数据时,包括:

30、将硬件信息复制到临时数组data中;

31、用临时变量buf作为主密钥对加密初始值参数iv执行加密算法,将加密结果按字节异或数组data中各字节;

32、将数组data中第一序列循环左移偏移量shift3比特,将数组data中第二序列循环右移偏移量shift2比特,将移动后的第一序列、第二序列以及数组data中第三序列保存至inf数组的位置pos2中。

33、本发明还提出一种双机备份系统,包括冷钱包和资产存储装置,所述资产存储装置被编程或配置以执行任一所述的基于区块链的密钥备份及恢复方法。

34、与现有技术相比,本发明的优点在于:

35、本发明采用区块链存储,使用一台硬件设备和冷钱包构成双机备份,利用区块链存储节点建设成本低和对数据有良好的处理能力,降低了设备成本。

36、本发明存储密钥时利用tee备份原理在可信环境下操作,利用区块链对公钥进行分片后通过加密电路进行加密,同时用指纹作为身份验证信息,并将数据分布在区块链多个节点,分散存储,增加了被盗难度,保证信息安全。

37、本发明采用硬件加密,并且增加智能卡进行身份验证,使得密钥的备份和恢复可以脱离互联网环境,从数据的传输及保存方面来说更加安全。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1