一种基于区块链的密钥管理方法与流程

专利2022-06-29  85


本申请涉及区块链技术领域,特别是涉及一种基于区块链的密钥管理方法。



背景技术:

当前,越来越多人认识到区块链技术有助于解决人与人之间的信任问题和信息数据的安全问题,国家政府也充分认识到区块链技术对科技进步的重要性,着力推动区块链技术的应用落地。在以往成功的区块链技术应用中都需要用私钥来进行签名验证,用户私钥的丢失和失窃也是现存的一大问题。比如据估计,大约有五分之一的比特币的私钥可能处于丢失或永远丢失的状态,私钥丢失对用户往往造成无可挽回的巨大损失。所以,解决私钥丢失和失窃问题是推动提高区块链技术需要解决的一个重要问题。



技术实现要素:

本申请实施例提供一种基于区块链的密钥管理方法,可以有效预防用户私钥丢失和被窃取的情况。

一种基于区块链的密钥管理方法,包括:

若接收到密钥备份请求,获取事务私钥和第一验证信息;所述第一验证信息可为字符、条形码、二维码、生物特征中一种或多种;

采用不可逆加密算法对所述第一验证信息进行加密得到第一加密密钥,包括第一加密私钥和第一加密公钥;

构建一条密钥区块链,将所述事务私钥和所述第一加密公钥作为密钥信息存储于所述密钥区块链的区块中;

若接收到密钥验证请求,要从所述密钥区块链取出事务私钥,采集第二验证信息,采用上述不可逆加密算法对所述第二验证信息进行加密得到第二加密密钥,包括第二加密私钥和第二加密公钥;

若所述第二加密密钥与所述第一加密密钥匹配成功,则建立与主区块链之间的加密通道,通过所述事务私钥对所述主区块链中事务进行操作。

在一个实施例中,还包括:

将所述第一验证信息对应的不同验证方式信息存储于所述密钥区块链的区块中。

在一个实施例中,还包括:

所述第一验证信息可为一个或多个;

当所述第一验证信息为多个时,采用不可逆加密算法对所述多个第一验证信息分别进行加密,得到多个第一加密私钥和对应的多个第一加密公钥;

将所述事务私钥和所述多个第一加密公钥作为密钥信息存储于所述密钥区块链的区块中。

在一个实施例中,还包括:

所述密钥区块链中还存储有与所述密钥信息对应的有效期限,在所述有效期限届满前发送更新通知,用于提醒用户对所述密钥信息进行更新。

在一个实施例中,还包括:

在所述密钥信息的有效期限届满时,若未接收到对所述发起的对所述密钥信息的更新操作,将所述第一加密公钥有效性标记为失效。

在一个实施例中,所述若所述第一加密密钥与所述第二加密密钥匹配成功包括:

存在与所述第二加密密钥相同的第一加密密钥且所述第一加密密钥的有效性不为失效,则为匹配成功。

在一个实施例中,还包括:

当所述密钥信息中包含多个第一加密公钥时,对其中一个或多个加密公钥对应的第一验证信息设置修改权限。

在一个实施例中,还包括:

将所述第一加密私钥保存于物理介质上。

本申请实施例中一种基于密钥区块链的密钥管理方法,可将事务私钥存储于密钥区块链中并采用具有唯一性的第一验证信息对事务私钥进行加密。既利用了区块链不可更改不可删除的特性保证了存储的事务私钥的准确性,又通过具有唯一性的第一验证信息进行加密,相较于传统技术中采用助记词等进行加密验证的方法,该方法不用担心忘记第一验证信息的情况,可以预防事务私钥丢失的情况。当需要获取存储的事务私钥时,在验证通过后通过加密通道与存储事务的主区块链建立连接,对主区块链中事务进行操作,能够防止密钥失窃时别人通过失窃的密钥直接对事务进行操作的情况,提高了对区块链中事务操作的安全性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中基于密钥区块链的密钥管理方法的流程图;

图2为一个实施例中密钥信息的构成图;

图3为一个实施例中多个区块形成密钥区块链的示意图;

图4为一个实施例中第一验证信息生成加密私钥和加密公钥的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。

图1为一个实施例中基于密钥区块链的密钥管理方法的流程图。如图1所示,一种基于密钥区块链的密钥管理方法,包括:

步骤101,若接收到密钥备份请求,获取事务私钥和第一验证信息;所述第一验证信息可为字符、条形码、二维码、生物特征中一种或多种。

在大多区块链技术应用中都需要密钥来进行签名交易,当在对区块链中事务进行操作时,需要使用事务对应的事务私钥来对事务进行操作。本实施例中,当对主区块链中事务进行操作时,可选择是否备份事务私钥,若选择备份事务私钥,则可获取需要备份的事务私钥和第一验证信息。其中事务私钥是主区块链中事务对应的事务私钥,用于对主区块链中事务进行操作;第一验证信息是用以对事务私钥进行加密的验证信息。上述第一验证信息具有唯一性,具体的可为字符、条形码、二维码、生物特征中一种或多种,例如指纹、掌纹、虹膜、人脸等。其中第一验证信息可为用户本人的验证信息,也可为用户授权的他人的验证信息。例如用户本人的手指纹、脚趾纹、人脸、虹膜等;也可为用户授权的他人(如家人、朋友)的手指纹、脚趾纹、人脸等。进一步的还可为用户授权的第三方机构的验证信息,例如用户授权的公安机构或公证机构的条形码、字符或二维码等。其中字符可为通过纸件记录的字符信息、也可为通过移动终端联网接收到的字符信息(如手机接收到的验证码、邮箱接收到的验证信息)、或存储在终端中的字符信息等。以上各种第一验证信息对应的验证方法也不尽相同。例如当第一验证信息为字符时,可通过连接的u(universalserialbus,通用串行总线)盾获取第一验证信息。当第一验证信息为条形码、二维码或生物特征时,可通过扫描设备扫描上述条形码、二维码或生物特征得到第一验证信息。其中,上述第一验证信息可选择以上一种或多种的组合。

步骤102,采用不可逆加密算法对所述第一验证信息进行加密得到第一加密密钥,包括第一加密私钥和第一加密公钥。构建一条密钥区块链,将所述事务私钥和所述第一加密公钥作为密钥信息存储于所述密钥区块链的区块中。

可采用不可逆加密算法(如哈希算法)对第一验证信息进行加密,得到第一验证信息对应的第一加密私钥,再采用不可逆加密算法(如哈希算法)对第一加密私钥进行加密,得到第一加密私钥对应的第一加密公钥。上述第一加密私钥和第一加密公钥即为一个密钥对。再可将上述事务私钥与通过第一验证信息加密得到的第一加密公钥进行存储,存储于密钥区块链的区块中。其中,存储密钥的密钥区块链与存储事务的主区块链不为同一个区块链。

在一个实施例中,将事务私钥和第一加密公钥存储于密钥区块链的区块中包括:按照预设的时间间隔生成区块,将密钥信息和第一加密公钥存储于最新生成的区块的区块体中。可按照预设的时间间隔生成区块,例如按照10分钟的时间间隔来创建区块或按照30秒的时间间隔来创建区块。当接收到密钥信息并根据第一验证信息生成第一加密私钥和第一加密公钥后,可将事务私钥和对应的第一加密公钥存储于最新生成的密钥区块链的区块体中,则一个个区块前后连接就构成了用于存储密钥的密钥区块链。图2为一个实施例中密钥信息的构成图,如图2所示,主区块链中事务私钥、第一加密公钥、验证方式信息以及其他信息共同构成密钥区块链中某区块存储的密钥信息。图3为一个实施例中多个区块形成密钥区块链的示意图,如图3所示,多个存储密钥信息的区块前后相连构成了存储密钥信息的密钥区块链。

在一个实施例中,还包括将所述第一验证信息对应的验证方式信息存储于所述密钥区块链的区块中。密钥区块链的区块中还可存储于所述第一验证信息对应的验证方式信息。上述验证方式信息包括第一验证信息对应的用户信息和验证方式。用户信息包括用户本人、用户授权第三人、用户授权第三方机构。验证方式包括字符验证、生物特征验证、条形码或二维码验证。

在一个实施例中,第一验证信息可为一个或多个;当第一验证信息为多个时,可采用不可逆加密算法对多个第一验证信息分别进行加密,分别得到第一加密私钥和对应的第一加密公钥,即多个第一验证信息中每个第一验证信息存在一个对应的第一加密私钥和对应的第一加密公钥。将所述事务私钥和所述多个第一加密公钥作为密钥信息存储于所述密钥区块链的区块中。如图4所示,当第一验证信息为多个时,可对各个第一验证信息分别进行加密,生成对应的加密私钥1和加密公钥1、加密私钥2和加密公钥2···加密私钥n和加密公钥n。

步骤103,若接收到密钥验证请求,要从所述密钥区块链取出事务私钥,采集第二验证信息,采用上述不可逆加密算法对所述第二验证信息进行加密得到第二加密密钥,包括第二加密私钥和第二加密公钥。

当需要获取备份的事务私钥时,采集第二验证信息。上述第二验证信息用于验证是否有权限获取备份的事务私钥。上述第二验证信息也可为字符、条形码、二维码、生物特征中一种或多种。由于不可逆算法的特殊性,每个不同验证信息加密得到的私钥以及公钥也不相同。因此,当接收到第二验证信息后,可采用不可逆加密算法对第二验证信息进行加密得到第二加密私钥,再对第二加密私钥进行加密得到第二加密公钥。若第一验证信息与第二验证信息相同,则通过不可逆加密算法得到的第一加密私钥和第二加密私钥相同,第一加密公钥和第二加密公钥相同。

步骤104,若所述第二加密密钥与所述第一加密密钥匹配成功,则建立与主区块链之间的加密通道,通过所述事务私钥对所述主区块链中事务进行操作。

可将存储的第一加密公钥和通过第二验证信息得到的第二加密公钥进行匹配,若存储的第一加密公钥和第二加密公钥相同,则表明第一验证信息与第二验证信息也相同,则验证上述有权限获取存储的事务私钥。可建立存储密钥的密钥区块链与存储事务的主区块链之间的加密通道,通过上述加密通道对主区块中事务进行操作。具体的,将存储的第一加密公钥和通过第二验证信息得到的第二加密公钥进行匹配包括:对第二验证信息加密得到第二加密私钥,对第二加密私钥加密得到第二加密公钥,上述第二加密公钥与第一加密公钥相同。

在一个实施例中,当存储有多个第一加密公钥时,将第二加密公钥和第一加密公钥进行匹配时,若存在第二加密公钥与存储的多个第一加密公钥中任意一个相同,则第一加密公钥和第二加密公钥匹配成功。

本申请实施例中一种基于区块链的密钥管理方法,可将事务私钥存储于密钥区块链中并采用具有唯一性的第一验证信息对事务私钥进行加密。既利用了区块链不可更改不可删除的特性保证了存储的事务私钥的准确性,又通过具有唯一性的第一验证信息进行加密,相较于传统技术中采用助记词等进行加密验证的方法,该方法不用担心忘记第一验证信息的情况,可以预防事务私钥丢失的情况。当需要获取存储的事务私钥时,能够防止密钥失窃时别人通过失窃的密钥直接对事务进行操作的情况,提高了对区块链中事务操作的安全性。

在一个实施例中,密钥区块链中还存储有与密钥信息对应的有效期限,在有效期限届满前向发送更新通知,用于提醒用户对密钥信息进行更新。

在备份密钥信息时,可对密钥信息设置对应的有效期限。会将上述密钥信息和对应的有效期限一同存储,在上述密钥信息对应的有效期限届满前,可发出更新通知,用于提醒用户对上述密钥信息进行更新。当接收到上述更新通知后,可选择响应上述更新通知对存储的密钥信息进行更新,或不响应上述密钥信息。进一步的,在对密钥信息进行更新之前,需要验证是否有权限进行更新。具体的,当所述密钥信息中包含多个第一加密公钥时,对其中一个或多个加密公钥对应的第一验证信息设置修改权限。例如,当密钥信息中包含多个指纹对应的第一加密公钥时,对用户本人的指纹信息设置能够更新密钥信息的权限,则在更新密钥信息之前需要验证是否为用户本人的指纹信息。在一个实施例中,还可对不同验证方式对应的第一验证信息设置不同的更新权限。例如,当第一验证信息为用户本人的生物特征时,凭用户本人的指纹信息能够更新用户本人对应的密钥信息和其他第三人或第三方机构对应的密钥信息;当密钥信息用户授权的第三人的生物特征时,则仅能更新第三人对应的密钥信息。

在密钥信息的有效期限届满时,若未接收到对发起的对密钥信息的更新操作,将密钥信息中第一加密公钥有效性标记为失效,即上述第一加密公钥不可再用于验证是否有权限获取存储的事务私钥。当上传多个密钥信息时,可对多个密钥信息中一个或多个设置有效期限。

其中,若第一加密密钥与第二加密密钥匹配成功包括:存在与第二加密密钥相同的第一加密密钥且第一加密密钥的有效性不为失效,则为匹配成功。

本申请实施例中基于区块链的密钥管理方法,通过对第一验证信息设置有效期限,能够提高安全性。

在一个实施例中,还包括:当所述密钥信息中包含多个第一加密公钥时,对其中一个或多个加密公钥对应的第一验证信息设置修改权限。

上述第一验证信息为字符信息、生物特征、条形码、二维码中任意一种,可对其中对一个或多个第一验证信息设置修改权限,用于用户已保存的第一验证信息进行更新。例如,用户设置的第一验证信息可为:通过u盾输入的字符密码、用户的生物特征、用户授权的第三人的用户特征、用户授权的第三方机构的字符、条形码或二维码。可对上述一个或多个第一验证信息设置修改权限,则具有修改权限的第一验证信息可用于对已存储的第一验证信息对应的第一加密公钥进行更新。其中,对第一加密公钥进行更新可包括将第一加密公钥的有效性设置为失效,或上传新的第一验证信息。进一步的,还可设置通过u盾设置的某一字符有权限更新所有通过u盾输入的字符密码生成的第一加密公钥、设置用户的某一个或某几个生物特征有权限更新第一验证信息中所有用户的生物特征生成的第一加密公钥、设置用户授权的第三人的某一个或某几个生物特征有权限更新第一验证信息中所有第三人的生物特征生成的第一加密公钥、设置用户授权某一第三方机构有权限更新第一验证信息中所有第三方机构对应的第一加密公钥。

在一个实施例中,还包括将所述第一加密私钥保存于物理介质上。通过不可逆加密算法得到的第一加密私钥可存储于物理介质上,如u盘、硬盘等。

应该理解的是,虽然上述各个流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个流程示意图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种基于区块链的密钥管理方法,其特征在于,包括:

若接收到密钥备份请求,获取事务私钥和第一验证信息;所述第一验证信息可为字符、条形码、二维码、生物特征中一种或多种;

采用不可逆加密算法对所述第一验证信息进行加密得到第一加密密钥,包括第一加密私钥和第一加密公钥;

构建一条密钥区块链,将所述事务私钥和所述第一加密公钥作为密钥信息存储于所述密钥区块链的区块中;

若接收到密钥验证请求,要从所述密钥区块链取出事务私钥,采集第二验证信息,采用上述不可逆加密算法对所述第二验证信息进行加密得到第二加密密钥,包括第二加密私钥和第二加密公钥;

若所述第二加密密钥与所述第一加密密钥匹配成功,则建立与主区块链之间的加密通道,通过所述事务私钥对所述主区块链中事务进行操作。

2.根据权利要求1所述的方法,其特征在于,还包括:

将所述第一验证信息对应的验证方式信息存储于所述密钥区块链的区块中。

3.根据权利要求1所述的方法,其特征在于:

所述第一验证信息可为一个或多个;

当所述第一验证信息为多个时,采用不可逆加密算法对所述多个第一验证信息分别进行加密,得到多个第一加密私钥和对应的多个第一加密公钥;

将所述事务私钥和所述多个第一加密公钥作为密钥信息存储于所述密钥区块链的区块中。

4.根据权利要求1所述的方法,其特征在于,还包括:

所述密钥区块链中还存储有与所述密钥信息对应的有效期限,在所述有效期限届满前发送更新通知,用于提醒用户对所述密钥信息进行更新。

5.根据权利要求4所述的方法,其特征在于,还包括:

在所述密钥信息的有效期限届满时,若未接收到对所述发起的对所述密钥信息的更新操作,将所述第一加密公钥有效性标记为失效。

6.根据权利要求5所述的方法,其特征在于,所述若所述第一加密密钥与所述第二加密密钥匹配成功包括:

存在与所述第二加密密钥相同的第一加密密钥且所述第一加密密钥的有效性不为失效,则为匹配成功。

7.根据权利要求1所述的方法,其特征在于,还包括:

当所述密钥信息中包含多个第一加密公钥时,对其中一个或多个加密公钥对应的第一验证信息设置修改权限。

8.根据权利要求1所述的方法,其特征在于,还包括:

将所述第一加密私钥保存于物理介质上。

技术总结
本申请实施例涉及一种基于区块链的密钥管理方法:若接收到密钥备份请求,获取事务私钥和第一验证信息;第一验证信息可为字符、条形码、二维码、生物特征中一种或多种;采用不可逆加密算法对第一验证信息进行加密得到第一加密密钥,包括第一加密私钥和第一加密公钥;构建一条密钥区块链,将事务私钥和第一加密公钥作为密钥信息存储于密钥区块链的区块中;若接收到密钥验证请求,要从密钥区块链取出事务私钥,采集第二验证信息,采用上述不可逆加密算法对第二验证信息进行加密得到第二加密密钥,包括第二加密私钥和第二加密公钥;若第二加密密钥与第一加密密钥匹配成功,则建立与主区块链之间的加密通道,通过事务私钥对主区块链中事务进行操作。

技术研发人员:吴燕琼;丁莉萍
受保护的技术使用者:吴燕琼
技术研发日:2020.01.17
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-19206.html

最新回复(0)