基于区块链的密钥管理方法、终端及业务系统技术方案

技术编号:38751964 阅读:9 留言:0更新日期:2023-09-09 11:18
本申请公开了一种基于区块链的密钥管理方法、终端及业务系统,可用于区块链技术领域,所述方法包括:基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;将所述用户的多个子公私钥对应的素数相乘得到素数乘积,将所述用户的用户标识与对应的素数乘积关联存储至区块链。本申请通过设置子公私钥的素数,通过素数乘积存储子公私钥,提高用户子公私钥的安全性,并可恢复任意的子公私钥。并可恢复任意的子公私钥。并可恢复任意的子公私钥。

【技术实现步骤摘要】
基于区块链的密钥管理方法、终端及业务系统


[0001]本申请涉及信息安全
,特别涉及区块链
,尤其涉及一种基于区块链的密钥管理方法、终端及业务系统。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本申请实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]分布式数字身份涉及用户自主管理的数字身份钱包,用户通过数字身份钱包保管用户的密钥和身份相关信息,一个用户有多个身份会关联多个密钥。这种去中心化的用户自主管理模式,与传统中心化的管理模式不一样,用户私钥一旦泄露和丢失将产生严重的后果。
[0004]目前的分层确定性钱包允许用户从一个主(根)密钥创建海量的子密钥。这意味着,一旦控制了主密钥,你就可以生成所有的子密钥,主密钥和子密钥形成树状结构。从而,只需要在创建钱包的时候备份一个主(根)密钥就可以从主密钥重新创建所有的子密钥,实现子密钥的恢复。由此,现有技术中的数字身份钱包获取主密钥就能够得到所有子密钥,用户密钥容易泄露。并且,在子密钥恢复时仅能够恢复所有子密钥,无法恢复特定的一个或多个子密钥。

技术实现思路

[0005]本申请的一个目的在于提供一种基于区块链的密钥管理方法,通过设置子公私钥的素数,通过素数乘积存储子公私钥,提高用户子公私钥的安全性,并可恢复任意的子公私钥。本申请的另一个目的在于提供一种终端。本申请的再一个目的在于提供一种基于区块链的业务系统。本申请的还一个目的在于提供一种计算机设备。本申请的还一个目的在于提供一种可读介质。
[0006]为了达到以上目的,本申请一方面公开了一种基于区块链的密钥管理方法,包括:
[0007]基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;
[0008]根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;
[0009]将所述用户的多个子公私钥对应的素数相乘得到素数乘积,将所述用户的用户标识与对应的素数乘积关联存储至区块链。
[0010]优选的,进一步包括:
[0011]向所述区块链传输子公私钥失效请求,所述子公私钥失效请求包括待失效的用户标识和待失效的子公私钥对应的目标素数;
[0012]所述区块链用所述待失效的用户标识对应的素数乘积除以所述目标素数以更新所述待失效的用户标识对应的素数乘积。
[0013]优选的,所述根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并
确定各子公私钥对应的素数包括:
[0014]确定用户的多个子公私钥分别对应的素数,多个子公私钥分别对应的素数各不相同;
[0015]基于所述用户的主公私钥和每个素数分别生成对应的子公私钥得到用户的多个子公私钥;
[0016]将用户的每个子公私钥及素数关联对应。
[0017]优选的,进一步包括:
[0018]向所述区块链发送子公私钥恢复请求;
[0019]所述区块链根据所述子公私钥恢复请求确定待恢复的用户标识,根据所述待恢复的用户标识确定对应的素数乘积;
[0020]根据所述素数乘积确定所述待恢复的用户标识对应的待恢复素数,根据每个待恢复素数和所述待恢复的用户标识的主公私钥分别生成对应的子公私钥。
[0021]本申请还公开了一种终端,包括:
[0022]标识生成模块,用于基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;
[0023]密钥生成模块,用于根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;
[0024]数据上链模块,用于将所述用户的多个子公私钥对应的素数相乘得到素数乘积,将所述用户的用户标识与对应的素数乘积关联存储至区块链。
[0025]本申请还公开了一种基于区块链的业务系统,包括终端、业务服务器和区块链;
[0026]所述终端用于基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;将所述用户的多个子公私钥对应的素数相乘得到素数乘积,将所述用户的用户标识与对应的素数乘积关联存储至所述区块链。
[0027]优选的,进一步包括业务服务器;
[0028]所述终端向业务服务器传输认证请求,所述认证请求包括用户信息;
[0029]所述业务服务器根据所述用户信息从所述区块链获取所述用户信息对应的用户标识和子公钥;
[0030]所述终端接收所述业务服务器传输的用户标识,根据所述用户标识确定对应的子私钥;根据所述子私钥对登陆请求进行签名后传输至所述业务服务器;
[0031]所述业务服务器根据所述子公钥对签名后的登陆请求进行验签,若验签成功,则用户认证通过。
[0032]优选的,进一步包括业务服务器;
[0033]所述终端用于当用户注册时,确定用户信息及子私钥签名的签名信息;将所述用户信息和所述签名信息传输至业务服务器;
[0034]所述业务服务器根据所述用户标识从所述区块链获取对应的子公钥,根据所述子公钥对所述签名信息进行验签,若验签通过,将所述用户信息与所述用户标识对应关联。
[0035]本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
[0036]本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
[0037]本申请基于区块链的密钥管理方法基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;将所述用户的多个子公私钥对应的素数相乘得到素数乘积,将所述用户的用户标识与对应的素数乘积关联存储至区块链。由此,本申请根据主公私钥和素数生成多个子公私钥,其中每个子公私钥存在对应的素数,将所有子公私钥的素数相乘得到素数乘积,可将素数乘积与子公私钥对应存储至区块链。从而,本申请中,单独获取到主公私钥之后,无法仅根据主公私钥得到所有的子公私钥,必须获取到主公私钥和子公私钥对应的素数才能够恢复对应的子公私钥,提高了用户的子公私钥的安全性,保护用户数字身份。并且,本申请的子公私钥是通过主公私钥和素数计算得到,从而在子公私钥恢复时可以根据主公私钥和素数直接恢复需要的子公私钥,无需重新生成所有的子公私钥。
附图说明
[0038]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0039]图1为本申请基于区块链的密钥管理方法具体实施例的流程图;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的密钥管理方法,其特征在于,包括:基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;将所述用户的多个子公私钥对应的素数相乘得到素数乘积,将所述用户的用户标识与对应的素数乘积关联存储至区块链。2.根据权利要求1所述的基于区块链的密钥管理方法,其特征在于,进一步包括:向所述区块链传输子公私钥失效请求,所述子公私钥失效请求包括待失效的用户标识和待失效的子公私钥对应的目标素数;所述区块链用所述待失效的用户标识对应的素数乘积除以所述目标素数以更新所述待失效的用户标识对应的素数乘积。3.根据权利要求1所述的基于区块链的密钥管理方法,其特征在于,所述根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数包括:确定用户的多个子公私钥分别对应的素数,多个子公私钥分别对应的素数各不相同;基于所述用户的主公私钥和每个素数分别生成对应的子公私钥得到用户的多个子公私钥;将用户的每个子公私钥及素数关联对应。4.根据权利要求1所述的基于区块链的密钥管理方法,其特征在于,进一步包括:向所述区块链发送子公私钥恢复请求;所述区块链根据所述子公私钥恢复请求确定待恢复的用户标识,根据所述待恢复的用户标识确定对应的素数乘积;根据所述素数乘积确定所述待恢复的用户标识对应的待恢复素数,根据每个待恢复素数和所述待恢复的用户标识的主公私钥分别生成对应的子公私钥。5.一种终端,其特征在于,包括:标识生成模块,用于基于指定加密算法生成主公私钥,根据所述主公私钥生成用户标识;密钥生成模块,用于根据所述主公私钥和多个不同的素数分别生成对应的子公私钥,并确定各子公私钥对应的素数;数据上链模块,用于将所述用户的多个子公私钥...

【专利技术属性】
技术研发人员:岑健明裴磊黄剑吴业骏
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1