CN111325545A - 基于区块链的密钥管理方法、装置及设备 - Google Patents
基于区块链的密钥管理方法、装置及设备 Download PDFInfo
- Publication number
- CN111325545A CN111325545A CN201811526859.0A CN201811526859A CN111325545A CN 111325545 A CN111325545 A CN 111325545A CN 201811526859 A CN201811526859 A CN 201811526859A CN 111325545 A CN111325545 A CN 111325545A
- Authority
- CN
- China
- Prior art keywords
- key
- characters
- user password
- hash value
- block chain
- 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.)
- Granted
Links
Images
Classifications
-
- 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
Abstract
本发明实施例提供一种基于区块链的密钥管理方法、装置及设备,该方法包括:区块链系统在所述待存储的第一密钥中确定N个字符,所述N为大于1的整数;区块链系统根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码;区块链系统根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息,并存储所述密钥信息。提高了密钥管理的安全性。
Description
技术领域
本发明实施例涉及信息安全领域,尤其涉及一种基于区块链的密钥管理方法、装置及设备。
背景技术
目前,随着互联网技术的不断发展,密钥的用途越来越广泛。例如,可以通过密钥对重要数据进行加密,通过密钥对数字凭证(或者记账凭证)进行交易等。
在现有技术中,用户通常将密钥存储在个人设备(例如手机、电脑等)中,在个人设备接入互联网之后,在个人设备被攻击时,使得存储在个人设备中的密钥被盗取,进而给用户造成损失。由上可知,现有技术中对密钥进行管理的安全性较低。
发明内容
本发明实施例提供一种基于区块链的密钥管理方法、装置及设备,提高了密钥管理的安全性。
第一方面,本发明实施例提供一种基于区块链的密钥管理方法,包括:
区块链系统在所述待存储的第一密钥中确定N个字符,所述N为大于1的整数;
所述区块链系统根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码;
所述区块链系统根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息,并存储所述密钥信息。
在一种可能的实施方式中,所述区块链系统根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息,包括:
所述区块链系统在待存储的第一密钥中去除N个字符,得到第二密钥;
所述区块链系统获取所述第一密钥的第一哈希值、所述用户密码的第二哈希值;
所述区块链系统确定所述密钥信息包括所述第一哈希值、所述第二哈希值和所述第二密钥。
在一种可能的实施方式中,根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码,包括:
所述区块链系统获取所述N个字符在所述第一密钥中的位置标识;
所述区块链系统根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码。
在一种可能的实施方式中,所述区块链系统根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码,包括:
所述区块链系统对所述N个字符和所述N个字符对应的位置标识进行组合,得到所述用户密码。
在一种可能的实施方式中,所述方法还包括:
所述区块链系统接收用户输入的第一用户密码;
所述区块链系统根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥。
在一种可能的实施方式中,所述区块链系统根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥,包括:
所述区块链系统生成所述第一用户密码的第三哈希值;
在所述第三哈希值和所述密钥信息中的第二哈希值相同时,所述区块链系统根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥。
在一种可能的实施方式中,所述区块链系统根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥,包括:
所述区块链系统根据所述第一用户密码确定至少一个预测填充信息,每个预测填充信息包括N个预测字符和每个预测字符在所述第一密钥中的位置标识;
所述区块链系统根据所述至少一个预测填充信息和所述密钥信息中的第二密钥,确定至少一个第三密钥;
所述区块链系统根据所述至少一个第三密钥和所述密钥信息中的第一哈希值,确定所述第一密钥。
在一种可能的实施方式中,所述区块链系统根据所述至少一个第三密钥和所述第一哈希值,确定所述第一密钥,包括:
所述区块链系统获取每个第三密钥的哈希值;
所述区块链系统将哈希值与所述第一哈希值相同的第三密钥确定为所述第一密钥。
第二方面,本发明实施例提供一种基于区块链的密钥管理装置,包括第一确定模块、生成模块、第二确定模块和存储模块,其中,
所述第一确定模块用于,在所述待存储的第一密钥中确定N个字符,所述N为大于1的整数;
所述生成模块用于,根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码;
所述第二确定模块用于,根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息;
所述存储模块用于,存储所述密钥信息。
在一种可能的实施方式中,所述第二确定模块具体用于:
在待存储的第一密钥中去除N个字符,得到第二密钥;
获取所述第一密钥的第一哈希值、所述用户密码的第二哈希值;
确定所述密钥信息包括所述第一哈希值、所述第二哈希值和所述第二密钥。
在一种可能的实施方式中,所述生成模块具体用于:
获取所述N个字符在所述第一密钥中的位置标识;
根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码。
在一种可能的实施方式中,所述生成模块具体用于:
对所述N个字符和所述N个字符对应的位置标识进行组合,得到所述用户密码。
在一种可能的实施方式中,所述装置还包括接收模块和第三确定模块,其中,
所述接收模块用于,接收用户输入的第一用户密码;
所述第三确定模块用于,根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥。
在一种可能的实施方式中,所述第三确定模块具体用于:
生成所述第一用户密码的第三哈希值;
在所述第三哈希值和所述密钥信息中的第二哈希值相同时,根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥。
在一种可能的实施方式中,所述第三确定模块具体用于:
根据所述第一用户密码确定至少一个预测填充信息,每个预测填充信息包括N个预测字符和每个预测字符在所述第一密钥中的位置标识;
根据所述至少一个预测填充信息和所述密钥信息中的第二密钥,确定至少一个第三密钥;
根据所述至少一个第三密钥和所述密钥信息中的第一哈希值,确定所述第一密钥。
在一种可能的实施方式中,所述第三确定模块具体用于:
获取每个第三密钥的哈希值;
将哈希值与所述第一哈希值相同的第三密钥确定为所述第一密钥。
第三方面,本发明实施例提供一种基于区块链的密钥管理装置,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的基于区块链的密钥管理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的基于区块链的密钥管理方法。
本发明实施例提供的基于区块链的密钥管理方法、装置及设备,在待存储的第一密钥中确定N(N为大于1的整数)个字符,根据N个字符和N个字符在第一密钥中的位置,生成用户密码;根据用户密码和第一密钥,确定第一密钥对应的密钥信息,并存储密钥信息。在上述过程中,N个字符为随机在第一密钥中选择的字符,因此,根据第二密钥很难破解得到第一密钥,又由于第一哈希值、第二哈希无法被破解,因此,提高了密钥管理的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例提供的一种基于区块链的密钥管理方法的架构图;
图1B为本发明实施例提供的另一种基于区块链的密钥管理方法的架构图;
图2为本发明实施例提供的一种基于区块链的密钥管理方法的流程示意图;
图3为本发明实施例提供的另一种基于区块链的密钥管理方法的流程示意图;
图4为本发明实施例提供的再一种基于区块链的密钥管理方法的流程示意图;
图5为本发明实施例提供的又一种基于区块链的密钥管理方法的流程示意图;
图6为本发明实施例提供的一种基于区块链的密钥管理装置的结构示意图;
图7为本发明实施例提供的另一种基于区块链的密钥管理装置的结构示意图;
图8为本发明实施例提供的一种基于区块链的密钥管理装置的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1A为本发明实施例提供的一种基于区块链的密钥管理方法的架构图。图1B为本发明实施例提供的另一种密钥管理方法的架构图。
请参见图1A,当需要存储第一密钥时,可以获取第一密钥的用户密码,根据第一密钥和用户密码确定第一密钥的密钥信息,存储密钥信息,并由用户记忆用户密码。用户密码通常较为简短,例如,用户密码可以为5位、6位、7位等。密钥信息中可以包括第一密钥的第一哈希值、用户密码的第二哈希值和第二密钥,第二密钥可以为第一密钥中去除N(N为大于1的整数)个字符后的密钥。
请参见图1B,当用户需要获取第一密钥时,用户可以输入用户密码,并根据用户输入的用户密码和第一密钥的密钥信息,确定得到第一密钥。
在本申请中,N个字符为随机在第一密钥中选择的字符,因此,根据第二密钥很难破解得到第一密钥,又由于第一哈希值、第二哈希无法被破解,因此,通过存储第一密钥的密钥信息,可以提高第一密钥存储的安全性。当用户需要获取第一密钥时,用户根据记忆的用户密码即可获取得到第一密钥,使得用户可以方便的获取得到第一密钥。由上可知,本申请所示的密钥管理方法提高了密钥管理的安全性。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
图2为本发明实施例提供的一种基于区块链的密钥管理方法的流程示意图。请参见图2,该方法可以包括:
S201、区块链系统在待存储的第一密钥中确定N个字符。
其中,N为大于1的整数。
可选的,第一密钥可以为数字凭证的密钥,或者,第一密钥可以为用于对重要数据进行加密的密钥等。
可选的,第一密钥的长度可以为256位、128位、64位等。
可选的,第一密钥中的字符可以为二进制字符,或者,第一密钥中的字符可以为八进制字符,或者,第二密钥中的字符也可以为16进制字符等。
可选的,N可以为2,3,4等。其中,N越大,密钥管理的安全性越高。
当然,在实际应用过程中,可以根据实际需要设置N的大小,本发明实施例对此不作具体限定。
可选的,可以在第一密钥中随机选择N个字符。
S202、区块链系统根据N个字符和N个字符在第一密钥中的位置,生成用户密码。
其中,用户密码为用于由用户记忆的密码,用户密码的长度通常较短。例如,用户密码的长度可以为5位、6位、7位等。
可选的,用户密码的长度通常与第一密钥的长度、N的大小、N个字符在第一密钥中的位置相关。
例如,N越大,第一密钥的长度越长,字符在第一密钥中的位置标识越大,则第一密钥的长度越长。
可选的,可以通过如下可行的实现方式生成用户密码:
获取N个字符在第一密钥中的位置标识;根据N个字符和N个字符对应的位置标识,生成用户密码。
可选的,字符在第一密钥中的位置标识是指字符为第一密钥中的第几个字符。
例如,假设第一密钥的长度为256,则位置标识可以为1至256中的任意数字。
可选的,可以对N个字符和N个字符对应的位置标识进行组合,得到用户密码。
可选的,可以按照预设的组合规则,对N个字符和N个字符对应的位置标识进行组合,得到用户密码。
可选的,组合规则可以为:第一个字符的位置标识+第一个字符+第二个字符的位置标识+第二个字符+……+第N个字符的位置标识+第N个字符。
例如,假设第一密钥为1101000000101010……,N为2,假设N=2个字符为第8位中的字符0和第11位中的字符1,则根据该组合规则可以确定得到用户密码为:80111。
可选的,组合规则可以为:第一个字符的位置标识+第二个字符的位置标识+……+第N个字符的位置标识+第一个字符+第二个字符+……+第N个字符。
例如,假设第一密钥为1101000000101010……,N为2,假设N=2个字符为第8位中的字符0和第11位中的字符1,则根据该组合规则可以确定得到用户密码为:81101。
需要说明的是,上述只是以示例的形式示意组合规则,并非对组合规则进行的限定,在实际应用过程中,可以根据实际需要设置该组合规则,本发明实施例对此不作具体限定。
可选的,在按照组合规则对N个字符和N个字符对应的位置标识进行组合的过程中,还可以对N个字符和N个字符对应的位置标识进行处理。
例如,可以对N个字符进行取反处理、对N个字符进行加1处理、对位置标识进行加1处理等。
例如,假设预设规则为:第一个字符的位置标识+第一个字符+第二个字符的位置标识+第二个字符+……+第N个字符的位置标识+第N个字符。在进行组合过程中需要对N个字符进行取反处理。假设第一密钥为1101000000101010……,N为2,假设N=2个字符为第8位中的字符0和第1,则根据该组合规则和上述处理可以确定得到用户密码为:81110。
S203、区块链系统根据用户密码和第一密钥,确定第一密钥对应的密钥信息,并存储该密钥信息。
可选的,密钥信息为用于结合用户密码恢复第一密钥的信息。即,根据用户密码和密钥信息可以唯一的恢复得到第一密钥。
可选的,可以通过如下可行的实现方式根据用户密码和第一密钥,确定第一密钥对应的密钥信息:
在待存储的第一密钥中去除N个字符,得到第二密钥,获取第一密钥的第一哈希值、用户密码的第二哈希值,确定密钥信息包括第一哈希值、第二哈希值和第二密钥。
可选的,可以通过哈希算法生成第一密钥的第一哈希值、以及第二密钥的第二哈希值。
由于N个字符的选择为随机的,因此,在第一密钥中去除N个字符之后得到的第二密钥也为随机的,因此,根据第二密钥很难破解得到第一密钥。
本发明实施例提供的基于区块链的密钥管理方法,在待存储的第一密钥中确定N(N为大于1的整数)个字符,根据N个字符和N个字符在第一密钥中的位置,生成用户密码;根据用户密码和第一密钥,确定第一密钥对应的密钥信息,并存储密钥信息。在上述过程中,N个字符为随机在第一密钥中选择的字符,因此,根据第二密钥很难破解得到第一密钥,又由于第一哈希值、第二哈希无法被破解,因此,提高了密钥管理的安全性。
下面,通过图3所示的实施例,对图2实施例所示的方法进行进一步详细说明。
图3为本发明实施例提供的另一种基于区块链的密钥管理方法的流程示意图。请参见图2,该方法可以包括:
S301、区块链系统在待存储的第一密钥中确定N个字符。
其中,N为大于1的整数。
S302、区块链系统根据N个字符和N个字符在第一密钥中的位置,生成用户密码。
需要说明的是,S301-S302的执行过程可以参见S201-S202的执行过程,此处不再进行赘述。
S303、区块链系统在待存储的第一密钥中去除N个字符,得到第二密钥。
S304、区块链系统获取第一密钥的第一哈希值。
可选的,可以通过哈希算法生成第一密钥的第一哈希值。
S305、区块链系统获取用户密码的第二哈希值。
可选的,可以通过哈希算法生成第二密钥的第二哈希值。
S306、区块链系统确定密钥信息包括第一哈希值、第二哈希值和第二密钥,并存储该密钥信息。
在图3所示的实施例中,N个字符为随机在第一密钥中选择的字符,因此,根据第二密钥很难破解得到第一密钥,又由于第一哈希值、第二哈希无法被破解,因此,提高了密钥管理的安全性。
下面,通过具体示例,对图2-图3实施例所示的方法进行详细说明。
示例1,假设第一密钥(256位)为:
0000100110000010010001000000001000010000000000110000000000000000000001111000000000011111000000000000110000000000000010000100000100100100100000010010000000000000000010000000000100000000001000000000000000100000000000000000010001000001000010000000100000100001
在对第一密钥进行存储时,在第一密钥中随机选择N=2个字符。假设选择的N=2个字符为第8位中的1和第11位中的0,则根据预设的组合规则生成用户密码81110,并提示用户记忆该用户密码。
在第一密钥中去除该2个字符,得到第二密钥(254位),第二密钥为:
00001001000010010001000000001000010000000000110000000000000000000001111000000000011111000000000000110000000000000010000100000100100100100000010010000000000000000010000000000100000000001000000000000000100000000000000000010001000001000010000000100000100001
通过哈希算法生成第一密钥的哈希值1,通过哈希算法生成用户密码的哈希值2,确定密钥信息中包括哈希值1、哈希值2和第二密钥,并存储密钥信息。
由上可知,在存储的密钥信息中,无法通过哈希值1破解得到第一密钥,也无法通过哈希值2破解得到用户密码。由于N=2个字符是在第一密钥中随机选择的,因此,根据第二密钥很难恢复得到第一密钥,因此,提高了密钥管理的安全性。
在上述任意一个实施例的基础上,当用户需要获取得到第一密钥时,可以通过如下可行的实现方式获取第一密钥,具体的,请参见图4所示的实施例。
图4为本发明实施例提供的再一种基于区块链的密钥管理方法的流程示意图。请参见图4,该方法可以包括:
S401、区块链系统接收用户输入的第一用户密码。
可选的,第一用户密码为通过图2-图3实施例生成的用户密码,且由用户进行记忆。
S402、区块链系统根据第一用户密码和第一密钥对应的密钥信息,确定第一密钥。
其中,密钥信息为根据第一密钥和第二用户密码确定的,第二用户密码为根据第一密钥中的N个字符、N个字符在第一密钥中的位置确定的,N为大于1的整数。
可选的,密钥信息包括第一哈希值、第二哈希值和第二密钥,其中,第一哈希值为第一密钥的哈希值,第二哈希值为第二用户密码的哈希值,第二密钥为在第一密钥中除去N个字符后的密钥。
需要说明的是,密钥信息的生成过程可以参见图2-图3所示的实施例,此处不再进行赘述。
可选的,可以先判断用户输入的第一用户密码是否正确,在确定用户输入的第一用户密码正确时,再根据第一用户密码和第一密钥对应的密钥信息,确定第一密钥。
可选的,可以通过如下可行的实现方式判断用户输入的第一用户密码是否正确:生成第一用户密码的第三哈希值,判断第三哈希值与密钥信息中的第二哈希值是否相同,若是,则确定用户输入的第一用户密码正确,若否,则确定用户输入的第一用户密码不正确。
可选的,可以通过如下可行的实现方式:根据第一用户密码和第一密钥对应的密钥信息,确定第一密钥:
根据第一用户密码确定至少一个预测填充信息,每个预测填充信息包括N个预测字符和每个预测字符在第一密钥中的位置标识,根据至少一个预测填充信息和第二密钥,确定至少一个第三密钥,根据至少一个第三密钥和第一哈希值,确定第一密钥。
可选的,可以根据第一用户密码和预设的组合规则,确定至少一个预测填充信息。
例如,假设组合规则为:第一个字符的位置标识+第一个字符+第二个字符的位置标识+第二个字符+……+第N个字符的位置标识+第N个字符,假设第一用户密码为81110,则根据组合规则和该第一用户密码,可以确定的预测填充信息包括:预测填充信息1:{8:1,11:0},以及预测填充信息2:{81:1,1:0}。
预测填充信息1表示,待填充字符为第一密钥中第8位中的1和第11位中的0。预测填充信息2表示,待填充字符为第一密钥中第81位中的1和第1位中的0。
可选的,可以根据获取得到的预测填充信息,对第二密钥进行填充,得到至少一个第三密钥。
例如,假设确定得到的两个填充信息包括:预测填充信息1:{8:1,11:0},以及预测填充信息2:{81:1,1:0}。针对预测填充信息1,可以在第二密钥中的第7位和第8位之间填充1,并在第10位和第11位之间填充0,得到一个第三密钥。针对预测填充信息2,可以在第二密钥中的第1位之前填充1,并在第80位和第81位之间填充0,得到另一个第三密钥。
可选的,在获取得到至少一个第三密钥之后,可以获取每个第三密钥的哈希值,并将哈希值与第一哈希值相同的第三密钥确定为第一密钥。
在图4所示的实施例中,对于第一密钥,存储的为第一密钥的密钥信息,并由用户记忆第一密钥对应的用户密钥。根据密钥信息很难破解得到第一密钥,提高了密钥管理的安全性。进一步的,当用户需要获取第一密钥时,根据简短的用户密码即可获取得到第一密钥,使得密钥管理的便利性较高。
在图4所示实施例的基础上,下面,通过图5所示的实施例对图4所示的实施例进行进一步详细说明。
图5为本发明实施例提供的又一种基于区块链的密钥管理方法的流程示意图。请参见图5,该方法可以包括:
S501、区块链系统接收用户输入的第一密钥对应的第一用户密码。
S502、区块链系统获取第一密钥对应的密钥信息,密钥信息中包括第一哈希值、第二哈希值和第二密钥。
其中,第一哈希值为第一密钥的哈希值,第二哈希值为第二用户密码的哈希值,第二密钥为在第一密钥中除去N个字符后的密钥。第二用户密码为根据第一密钥中的N个字符、N个字符在所述第一密钥中的位置确定的。
S503、区块链系统生成第一用户密码的第三哈希值。
可选的,可以通过哈希算法生成第一用户密码的第三哈希值。
S504、区块链系统判断第三哈希值与第二哈希值是否相同。
若是,则执行S505。
若否,则执行S509。
S505、区块链系统根据第一用户密码确定至少一个预测填充信息。
其中,每个预测填充信息包括N个预测字符和每个预测字符在第一密钥中的位置标识。
需要说明的是,S505的执行过程可以参见S402的执行过程,此处不再进行赘述。
S506、区块链系统根据至少一个预测填充信息和第二密钥,确定至少一个第三密钥。
可选的,分别根据每个预测填充信息,对第二密钥进行填充,得到至少一个第三密钥。
需要说明的是,S506的执行过程可以参见S402的执行过程,此处不再进行赘述。
S507、区块链系统获取每个第三密钥的哈希值。
可选的,可以通过哈希算法生成每个第三密钥的哈希值。
S508、区块链系统将哈希值与第一哈希值相同的第三密钥确定为第一密钥。
S509、区块链系统确定第一用户密码错误。
在图5所示的实施例中,对于第一密钥,存储的为第一密钥的密钥信息,并由用户记忆第一密钥对应的用户密钥。根据密钥信息很难破解得到第一密钥,提高了密钥管理的安全性。进一步的,当用户需要获取第一密钥时,根据简短的用户密码即可获取得到第一密钥,使得密钥管理的便利性较高。
下面,通过具体示例,对图4-图5实施例所示的方法进行详细说明。
示例2,假设第一密钥的密钥信息包括哈希值1、哈希值2和第二密钥,其中,第二密钥为:
00001001000010010001000000001000010000000000110000000000000000000001111000000000011111000000000000110000000000000010000100000100100100100000010010000000000000000010000000000100000000001000000000000000100000000000000000010001000001000010000000100000100001
当用户需要获取第一密钥时,用户输入第一用户密码81110。
根据用户输入的第一用户密码81110生成第三哈希值,并比较第三哈希值与哈希值2是否相同,若是,则说明第一用户密码正确,则继续获取第一密钥,若否,说明第一用户密码错误,则无法成功获取得到第一密钥。
假设第三哈希值与哈希值2相同,则根据第一用户密码获取预测填充信息:预测填充信息1:{8:1,11:0},以及预测填充信息2:{81:1,1:0}。
根据预测填充信息1,在第二密钥中的第7位和第8位之间填充1,并在第10位和第11位之间填充0,得到一个第三密钥,记为密钥1。
根据预测填充信息2,在第二密钥中的第1位之前填充1,并在第80位和第81位之间填充0,得到另一个第三密钥,记为密钥2。
获取密钥1的哈希值和密钥2的哈希值,并比较密钥1的哈希值和哈希值1是否相同,以及密钥2的哈希值与哈希值1是否相同。假设密钥1的哈希值与哈希值1相同,则确定第一密钥为密钥1,密钥1具体为:
0000100110000010010001000000001000010000000000110000000000000000000001111000000000011111000000000000110000000000000010000100000100100100100000010010000000000000000010000000000100000000001000000000000000100000000000000000010001000001000010000000100000100001
由上可知,示例2为示例1的逆过程,在示例1中,可以实现对密钥的安全存储,在示例2中,可以唯一正确的获取得到密钥。不但提高了密钥管理的安全性,还是的密钥管理的便利性较高。
需要说明的是,上述密钥管理方法可以应用于区块链中数字凭证的交易过程。例如,在生成数字凭证对应的密钥之后,可以根据图2-图3所示的实施例对数字凭证对应的密钥进行存储,并由用户记忆用户密码。在用户需要根据数字凭证的密钥进行交易时,可以用户可以通过输入用户密码获取数字凭证对应的密钥,并根据数字凭证对应的密钥进行数字凭证的交易。
图6为本发明实施例提供的一种基于区块链的密钥管理装置的结构示意图。请参见图6,该密钥管理装置10可以包括第一确定模块11、生成模块12、第二确定模块13和存储模块14,其中,
所述第一确定模块11用于,在所述待存储的第一密钥中确定N个字符,所述N为大于1的整数;
所述生成模块12用于,根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码;
所述第二确定模块13用于,根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息;
所述存储模块14用于,存储所述密钥信息。
本发明实施例提供的密钥管理装置可以执行上述方法实施例所述的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述第二确定模块13具体用于:
在待存储的第一密钥中去除N个字符,得到第二密钥;
获取所述第一密钥的第一哈希值、所述用户密码的第二哈希值;
确定所述密钥信息包括所述第一哈希值、所述第二哈希值和所述第二密钥。
在一种可能的实施方式中,所述生成模块12具体用于:
获取所述N个字符在所述第一密钥中的位置标识;
根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码。
在一种可能的实施方式中,所述生成模块12具体用于:
对所述N个字符和所述N个字符对应的位置标识进行组合,得到所述用户密码。
图7为本发明实施例提供的另一种基于区块链的密钥管理装置的结构示意图。请参见图7,该密钥管理装置10还可以包括接收模块15和第三确定模块16,其中,
所述接收模块15用于,接收用户输入的第一用户密码;
所述第三确定模块16用于,根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥。
在一种可能的实施方式中,所述第三确定模块16具体用于:
生成所述第一用户密码的第三哈希值;
在所述第三哈希值和所述密钥信息中的第二哈希值相同时,根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥。
在一种可能的实施方式中,所述第三确定模块16具体用于:
根据所述第一用户密码确定至少一个预测填充信息,每个预测填充信息包括N个预测字符和每个预测字符在所述第一密钥中的位置标识;
根据所述至少一个预测填充信息和所述密钥信息中的第二密钥,确定至少一个第三密钥;
根据所述至少一个第三密钥和所述密钥信息中的第一哈希值,确定所述第一密钥。
在一种可能的实施方式中,所述第三确定模块16具体用于:
获取每个第三密钥的哈希值;
将哈希值与所述第一哈希值相同的第三密钥确定为所述第一密钥。
本发明实施例提供的密钥管理装置可以执行上述方法实施例所述的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图8为本发明实施例提供的一种基于区块链的密钥管理装置的硬件结构示意图,如图8所示,该密钥管理装置20包括:至少一个处理器21和存储器22。其中,处理器21和存储器22通过总线23连接。
可选地,该密钥管理装置20还包括通信部件。通信部件可以包括发送器和/或接收器。
在具体实现过程中,至少一个处理器21执行所述存储器22存储的计算机执行指令,使得至少一个处理器21执行如上图2-图5实施例所示的密钥管理方法。
处理器21的具体实现过程可参见图2-图5所示的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述图8所示的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的基于区块链的密钥管理方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种基于区块链的密钥管理方法,其特征在于,包括:
区块链系统在待存储的第一密钥中确定N个字符,所述N为大于1的整数;
所述区块链系统根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码;
所述区块链系统根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息,并存储所述密钥信息。
2.根据权利要求1所述的方法,其特征在于,所述区块链系统根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息,包括:
所述区块链系统在待存储的第一密钥中去除N个字符,得到第二密钥;
所述区块链系统获取所述第一密钥的第一哈希值、所述用户密码的第二哈希值;
所述区块链系统确定所述密钥信息包括所述第一哈希值、所述第二哈希值和所述第二密钥。
3.根据权利要求1所述的方法,其特征在于,所述区块链系统根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码,包括:
所述区块链系统获取所述N个字符在所述第一密钥中的位置标识;
所述区块链系统根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码。
4.根据权利要求3所述的方法,其特征在于,所述区块链系统根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码,包括:
所述区块链系统对所述N个字符和所述N个字符对应的位置标识进行组合,得到所述用户密码。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述区块链系统接收用户输入的第一用户密码;
所述区块链系统根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥。
6.根据权利要求5所述的方法,其特征在于,所述区块链系统根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥,包括:
所述区块链系统生成所述第一用户密码的第三哈希值;
在所述第三哈希值和所述密钥信息中的第二哈希值相同时,所述区块链系统根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥。
7.根据权利要求6所述的方法,其特征在于,所述区块链系统根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥,包括:
所述区块链系统根据所述第一用户密码确定至少一个预测填充信息,每个预测填充信息包括N个预测字符和每个预测字符在所述第一密钥中的位置标识;
所述区块链系统根据所述至少一个预测填充信息和所述密钥信息中的第二密钥,确定至少一个第三密钥;
所述区块链系统根据所述至少一个第三密钥和所述密钥信息中的第一哈希值,确定所述第一密钥。
8.根据权利要求7所述的方法,其特征在于,所述区块链系统根据所述至少一个第三密钥和所述第一哈希值,确定所述第一密钥,包括:
所述区块链系统获取每个第三密钥的哈希值;
所述区块链系统将哈希值与所述第一哈希值相同的第三密钥确定为所述第一密钥。
9.一种基于区块链的密钥管理装置,其特征在于,包括第一确定模块、生成模块、第二确定模块和存储模块,其中,
所述第一确定模块用于,在所述待存储的第一密钥中确定N个字符,所述N为大于1的整数;
所述生成模块用于,根据所述N个字符和所述N个字符在所述第一密钥中的位置,生成用户密码;
所述第二确定模块用于,根据所述用户密码和所述第一密钥,确定所述第一密钥对应的密钥信息;
所述存储模块用于,存储所述密钥信息。
10.根据权利要求9所述的装置,其特征在于,所述第二确定模块具体用于:
在待存储的第一密钥中去除N个字符,得到第二密钥;
获取所述第一密钥的第一哈希值、所述用户密码的第二哈希值;
确定所述密钥信息包括所述第一哈希值、所述第二哈希值和所述第二密钥。
11.根据权利要求9所述的装置,其特征在于,所述生成模块具体用于:
获取所述N个字符在所述第一密钥中的位置标识;
根据所述N个字符和所述N个字符对应的位置标识,生成所述用户密码。
12.根据权利要求11所述的装置,其特征在于,所述生成模块具体用于:
对所述N个字符和所述N个字符对应的位置标识进行组合,得到所述用户密码。
13.根据权利要求9-12任一项所述的装置,其特征在于,所述装置还包括接收模块和第三确定模块,其中,
所述接收模块用于,接收用户输入的第一用户密码;
所述第三确定模块用于,根据所述第一用户密码和所述第一密钥对应的所述密钥信息,确定所述第一密钥。
14.根据权利要求13所述的装置,其特征在于,所述第三确定模块具体用于:
生成所述第一用户密码的第三哈希值;
在所述第三哈希值和所述密钥信息中的第二哈希值相同时,根据所述第一用户密码和第一密钥对应的密钥信息,确定所述第一密钥。
15.根据权利要求14所述的装置,其特征在于,所述第三确定模块具体用于:
根据所述第一用户密码确定至少一个预测填充信息,每个预测填充信息包括N个预测字符和每个预测字符在所述第一密钥中的位置标识;
根据所述至少一个预测填充信息和所述密钥信息中的第二密钥,确定至少一个第三密钥;
根据所述至少一个第三密钥和所述密钥信息中的第一哈希值,确定所述第一密钥。
16.根据权利要求15所述的装置,其特征在于,所述第三确定模块具体用于:
获取每个第三密钥的哈希值;
将哈希值与所述第一哈希值相同的第三密钥确定为所述第一密钥。
17.一种基于区块链的密钥管理装置,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至8任一项所述的基于区块链的密钥管理方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的基于区块链的密钥管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526859.0A CN111325545B (zh) | 2018-12-13 | 2018-12-13 | 基于区块链的密钥管理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526859.0A CN111325545B (zh) | 2018-12-13 | 2018-12-13 | 基于区块链的密钥管理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111325545A true CN111325545A (zh) | 2020-06-23 |
CN111325545B CN111325545B (zh) | 2023-05-02 |
Family
ID=71172218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811526859.0A Active CN111325545B (zh) | 2018-12-13 | 2018-12-13 | 基于区块链的密钥管理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111325545B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、系统及设备 |
US20120288089A1 (en) * | 2011-05-12 | 2012-11-15 | Apple Inc. | System and method for device dependent and rate limited key generation |
CN104584509A (zh) * | 2014-12-31 | 2015-04-29 | 深圳大学 | 一种共享数据的访问控制方法、装置及系统 |
CN106452845A (zh) * | 2016-09-20 | 2017-02-22 | 飞天诚信科技股份有限公司 | 一种在线解锁的实现方法及装置 |
JP2018010237A (ja) * | 2016-07-15 | 2018-01-18 | コニカミノルタ株式会社 | 暗号化装置、復号装置、暗号化方法、コンピュータプログラム、データ構造、および記憶媒体 |
CN107623569A (zh) * | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
CN107919954A (zh) * | 2017-10-20 | 2018-04-17 | 浙江大学 | 一种基于sgx的区块链用户密钥保护方法和装置 |
US20180131511A1 (en) * | 2016-08-03 | 2018-05-10 | James Taylor | Systems and Methods for Dynamic Cypher Key Management |
CN108833093A (zh) * | 2018-06-14 | 2018-11-16 | 百度在线网络技术(北京)有限公司 | 账户密钥的确定方法、装置、设备及存储介质 |
CN108959911A (zh) * | 2018-06-14 | 2018-12-07 | 联动优势科技有限公司 | 一种密钥链生成、验证方法及其装置 |
-
2018
- 2018-12-13 CN CN201811526859.0A patent/CN111325545B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、系统及设备 |
US20120288089A1 (en) * | 2011-05-12 | 2012-11-15 | Apple Inc. | System and method for device dependent and rate limited key generation |
CN104584509A (zh) * | 2014-12-31 | 2015-04-29 | 深圳大学 | 一种共享数据的访问控制方法、装置及系统 |
JP2018010237A (ja) * | 2016-07-15 | 2018-01-18 | コニカミノルタ株式会社 | 暗号化装置、復号装置、暗号化方法、コンピュータプログラム、データ構造、および記憶媒体 |
US20180131511A1 (en) * | 2016-08-03 | 2018-05-10 | James Taylor | Systems and Methods for Dynamic Cypher Key Management |
CN106452845A (zh) * | 2016-09-20 | 2017-02-22 | 飞天诚信科技股份有限公司 | 一种在线解锁的实现方法及装置 |
CN107623569A (zh) * | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
CN107919954A (zh) * | 2017-10-20 | 2018-04-17 | 浙江大学 | 一种基于sgx的区块链用户密钥保护方法和装置 |
CN108833093A (zh) * | 2018-06-14 | 2018-11-16 | 百度在线网络技术(北京)有限公司 | 账户密钥的确定方法、装置、设备及存储介质 |
CN108959911A (zh) * | 2018-06-14 | 2018-12-07 | 联动优势科技有限公司 | 一种密钥链生成、验证方法及其装置 |
Non-Patent Citations (2)
Title |
---|
RTS/RRS-0315: "TECHNICAL SPECIFICATION Reconfigurable Radio Systems (RRS); Security requirements for reconfigurable radios" * |
XINSHENG JI;KAIZHI HUANG;LIANG JIN;HONGBO TANG;CAIXIA LIU;ZHOU ZHONG;WEI YOU;XIAOMING XU;HUA ZHAO;JIANGXING WU;MING YI;: "Overview of 5G security technology" * |
Also Published As
Publication number | Publication date |
---|---|
CN111325545B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809646B (zh) | 安全共享密钥共享系统 | |
US10284372B2 (en) | Method and system for secure management of computer applications | |
CN108880821B (zh) | 一种数字证书的认证方法及设备 | |
CN111107066A (zh) | 敏感数据的传输方法和系统、电子设备、存储介质 | |
CN108959978A (zh) | 设备中密钥的生成与获取方法及装置 | |
US20200076592A1 (en) | Method for generating seed and device thereof | |
CN111161056A (zh) | 一种提高数字资产交易安全性的方法、系统及设备 | |
CN112948851A (zh) | 用户认证方法、装置、服务器及存储介质 | |
EP3384417B1 (en) | A method and system for securing a client's access to a drm agent's services for a video player | |
CN110365626B (zh) | 防撞库的用户登录安全认证方法、终端设备及存储介质 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
US9378358B2 (en) | Password management system | |
CN110445768B (zh) | 一种登录方法、装置及电子设备 | |
CN114741704A (zh) | 一种基于婚恋交友的隐私保护方法、装置、设备及介质 | |
CN113761498A (zh) | 一种第三方登录信息托管方法、系统、设备及存储介质 | |
CN111628863B (zh) | 一种数据签名的方法、装置、电子设备及存储介质 | |
CN111177674A (zh) | 设备验证方法及设备 | |
CN111325545B (zh) | 基于区块链的密钥管理方法、装置及设备 | |
CN115086040A (zh) | 登录认证方法、装置、存储介质以及电子设备 | |
JP2005227331A (ja) | 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム | |
CN114117388A (zh) | 设备注册方法、设备注册装置、电子设备以及存储介质 | |
CN110175475B (zh) | 一种智能卡数据处理方法、装置及计算机可读存储介质 | |
CN107959670B (zh) | 一种动态口令的生成方法、装置、终端设备和存储介质 | |
CN112699366A (zh) | 跨平台免登安全通讯方法、装置和电子设备 | |
CN111092721A (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 |