CN109714165B - 客户端各自生成密钥分量的密钥管理方法和电子设备 - Google Patents
客户端各自生成密钥分量的密钥管理方法和电子设备 Download PDFInfo
- Publication number
- CN109714165B CN109714165B CN201910152729.3A CN201910152729A CN109714165B CN 109714165 B CN109714165 B CN 109714165B CN 201910152729 A CN201910152729 A CN 201910152729A CN 109714165 B CN109714165 B CN 109714165B
- Authority
- CN
- China
- Prior art keywords
- key
- clients
- components
- server
- client
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供了一种客户端各自生成密钥分量的密钥管理方法和电子设备,应用于密钥管理系统中,其中,所述密钥管理系统包括:N个客户端和一个密钥服务器,所述方法包括:所述N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;N个客户端与所述密钥服务器根据所述认证材料建立安全通道;N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。通过上述方式解决了现有的密钥管理中所存在的安全性和灵活性低的问题,达到了有效提升密钥安全性和灵活性的技术效果。
Description
技术领域
本申请属于信息安全技术领域,尤其涉及一种客户端各自生成密钥分量的密钥管理方法和电子设备。
背景技术
目前,针对密钥服务系统而言,一般都是由一个密钥服务器生成密钥,然后将生成的密钥分发给密钥使用方,这样势必会增加密钥服务器的负担,且因为是由单一密钥服务器生成的,导致所有的密钥生成规则都是密钥服务器自身指定和维护的,灵活性不高。
针对现有的密钥系统中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种客户端各自生成密钥分量的密钥管理方法和电子设备,可以有效提升密钥管理系统的安全性和密钥管理的灵活性。
本申请提供一种客户端各自生成密钥分量的密钥管理方法和电子设备是这样实现的:
一种客户端各自生成密钥分量的密钥管理方法,应用于密钥管理系统中,其中,所述密钥管理系统包括:N个客户端和一个密钥服务器,所述方法包括:
所述N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
所述N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
所述N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
在一个实施方式中,所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器,包括:
所述N个客户端根据各自生成的密钥分量,计算出公钥分量,得到N份公钥分量;
从所述N个客户端中选择一个客户端作为第一客户端,其中,所述第一客户端为MPC计算方,所述第一客户端生成的公钥分量作为加密分量;
所述N个客户端中除所述第一客户端之外的客户端将自身生成的密钥分量拆分为第一密钥子分量和第二密钥子分量,并通过所述加密分量对第一密钥子分量和公钥分量进行加密,得到N-1份密钥密文和N-1份公钥密文;
将所述N-1份密钥密文和N-1份公钥密文发送给所述密钥服务器;
所述密钥服务器通过安全信道将所述N-1份密钥密文、N-1份第二密钥子分量明文和N-1份公钥密文发送给所述第一客户端;
所述第一客户端对所述N-1份密钥密文和N-1份公钥密文进行解密,得到N-1份密钥子分量和N-1份公钥分量,并使用所述加密分量对所述N-1份公钥分量进行签名,得到N-1份签名分量;
所述第一客户端与所述密钥服务器通过所述安全信道,发起MPC计算,得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
在一个实施方式中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据;
所述N个客户端中除所述第一客户端之外的客户端将自身生成的密钥分量拆分为第一密钥子分量和第二密钥子分量,并通过所述加密分量对第一密钥子分量进行加密,得到N-1份密钥密文;
所述N个客户端中除所述第一客户端之外的客户端将所述N-1份密钥密文和N-1份第二密钥子分量明文发送给所述密钥服务器;
所述密钥服务器通过安全信道将所述N-1份密钥密文发送给所述第一客户端;
所述第一客户端对所述N-1份密钥密文进行解密,得到N-1份密钥子分量;
所述第一客户端与所述密钥服务器通过所述安全信道,发起MPC计算,对所述待签名数据进行签名,并将签名结果返回所述N个客户端和所述密钥服务器。
在一个实施方式中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述N个客户端中的各客户端通过备份方式获取备份密钥;
计算所述备份密钥的哈希值,并将所述哈希值发送至所述密钥服务器;
所述密钥服务器验证所述哈希值的正确性,在验证通过的情况下,返回所述目标公钥。
在一个实施方式中,所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器,包括:
所述密钥服务器生成服务密钥分量;
所述N个客户端与所述密钥服务器通过所述安全信道,发起MPC计算,计算得到目标公钥。
在一个实施方式中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据,所述第一客户端为所述N个客户端中的一个客户端;
所述N个客户端与所述密钥服务器通过所述安全信道,发起MPC计算,对所述待签名数据进行签名,并通过所述目标公钥验证签名结果的正确性。
在一个实施方式中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述N个客户端和所述密钥服务器,通过所述安全信道,发起MPC计算得到N+1份备份密钥分量,并对所述N+1份备份密钥分量进行签名,得到N+1份备份签名分量;
将所述N+1份备份密钥分量和N份备份签名分量,一一对应地下发至所述N个客户端中的各个客户端和密钥服务器;
所述N个客户端和所述密钥服务器通过所述目标公钥验证接收到的备份签名分量的有效性,在验证通过的情况下,保存接收到的备份密钥分量。
在一个实施方式中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
接收恢复请求方的恢复请求,其中,所述恢复请求方为所述N个客户端中的一个设备,所述恢复请求中携带有所述恢复请求方自身的密钥分量和所述目标公钥;
所述N个客户端中除所述恢复请求方之外的客户端通过备份方式获取自身备份的密钥分量;
所述N个客户端和所述密钥服务器通过所述安全信道,发起MPC计算生成验证公钥,并确定所述验证公钥与所述目标公钥是否相同,在确定相同的情况下,进行MPC计算得到N+1份恢复密钥分量,并对所述N+1份恢复密钥分量进行签名,得到N+1份恢复签名分量;
将所述N+1份恢复密钥分量和所述N+1份恢复签名分量,一一对应地发送至所述N个客户端和所述密钥服务器;
所述N个客户端和所述密钥服务器通过所述目标公钥验证接收到的恢复签名分量的有效性,在验证通过的情况下,更新并保存接收到的恢复密钥分量。
在一个实施方式中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述N个客户端和所述密钥服务器,通过所述安全信道,发起MPC计算得到N+1份刷新密钥分量,并对所述N+1份刷新密钥分量进行签名,得到N+1份刷新签名分量;
将所述N+1份刷新密钥分量和N份刷新签名分量,一一对应地下发至所述N个客户端中的各个客户端和密钥服务器;
所述N个客户端和所述密钥服务器通过所述目标公钥验证接收到的刷新签名分量的有效性,在验证通过的情况下,保存接收到的刷新密钥分量。
一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现如下方法的步骤:
N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
所述N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
所述N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现如下方法的步骤:
N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
所述N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
所述N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
本申请提供的客户端各自生成密钥分量的密钥管理方法和电子设备,密钥管理系统中的各个客户端在本地生成自身的密钥分量,最终基于密钥分量生成目标公钥,以实现密钥的生成。通过上述方式解决了现有的密钥管理中所存在的安全性和灵活性低的问题,达到了有效提升密钥安全性和灵活性的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的密钥系统的架构图;
图2是本申请提供的客户端为客户端各自生成密钥分量的密钥管理方法的流程图;
图3是本申请提供的实例1的密钥生成的交互示意图;
图4是本申请提供的实例1的密钥使用的交互示意图;
图5是本申请提供的实例1的密钥备份的交互示意图;
图6是本申请提供的实例1的密钥恢复的交互示意图;
图7是本申请提供的实例2的密钥生成的交互示意图;
图8是本申请提供的实例2的密钥使用的交互示意图;
图9是本申请提供的实例2的密钥备份的交互示意图;
图10是本申请提供的实例2的密钥恢复的交互示意图;
图11是本申请提供的实例2的密钥刷新的交互示意图;
图12是本申请提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到现有的是由密钥服务器单方面生成密钥,导致灵活性和安全性较低的问题,在本例中,密钥管理系统中的各个客户端在本地生成自身的密钥分量,最终基于密钥分量生成目标公钥,以实现密钥的生成。在使用的时候,客户端和密钥服务器使用这些密钥分量进行签名、更新等操作,从而可以提升密钥生成的灵活性和密钥的安全性。
在本例中所提供的客户端各自生成密钥分量的密钥管理方法,应用于密钥管理系统,该密钥管理系统可以如图1所示,包括:N个客户端和一个密钥服务器,其中,N为大于等于2的正整数。
图2是本申请所述一种客户端各自生成密钥分量的密钥管理方法一个实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体的,如图2所示,本申请一种实施例提供的一种客户端各自生成密钥分量的密钥管理方法可以包括如下步骤::
步骤201:N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
其中,上述的客户端为密钥使用方,包括但不限于App、应用服务器等,客户端具体以哪种形式存在可以根据实际需要选择,本申请对此不作限定。上述的密钥服务器为密钥服务方,用于提供密钥相关服务。
步骤202:N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
上述的安全信道,可以是基于KYC(Know your customer,确认身份程序)完成双向认证后建立的。其中,确认身份程序可以包括但不限于以下至少之一:手机短信、邮箱验证码、账号密码、指纹、人脸、证书等。
步骤203:N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
例如:客户端1生成密钥分量SK1,S3:客户端2~n在本地生成密钥分量SK2~n。
步骤204:N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
具体的,在上述步骤204中,可以通过两方MPC(Secure Multi-PartyComputation,安全多方计算)生成目标公钥,也可以通过多方MPC生成目标公钥。两方MPC就是设备中的任意两个进行MPC计算,多方MPC就是设备中的所有设备都参与的MPC计算。
MPC是在没有可信第三方的前提下,两个百万富翁如何不泄露自己的真实财产状况来比较谁更有钱。MPC可以在保证各方数据安全的同时,联合使用各方数据来达到特定的效果,从而充分发挥数据的价值。多个持有各自私有数据的参与方,共同执行一个计算逻辑计算逻辑(如,求最大值计算),并获得计算结果。但过程中,参与的每一方均不会泄漏各自数据的计算,被称之为MPC计算,MPC计算可以通过对协议的设计而不用依赖于可信第三方。安全多方计算可以抽象的理解为:两方分别拥有各自的私有数据,在不泄漏各自私有数据的情况下,能够计算出关于公共函数的结果。整个计算完成时,只有计算结果对双方可知,且双方均不知对方的数据以及计算过程的中间数据。
下面对两方MPC进行密钥生成、使用、备份、刷新说明如下:
通过两方MPC生成密钥分量和目标私钥,可以包括如下步骤:
S1:N个客户端根据各自生成的密钥分量,计算出公钥分量,得到N份公钥分量;
S2:从所述N个客户端中选择一个客户端作为第一客户端,其中,所述第一客户端为MPC计算方,所述第一客户端生成的公钥分量作为加密分量;
S3:所述N个客户端中除所述第一客户端之外的客户端将自身生成的密钥分量拆分为第一密钥子分量和第二密钥子分量,并通过所述加密分量对第一密钥子分量和公钥分量进行加密,得到N-1份密钥密文和N-1份公钥密文;
S4:将所述N-1份密钥密文和N-1份公钥密文发送给所述密钥服务器;
S5:密钥服务器通过安全信道将所述N-1份密钥密文、N-1份第二密钥子分量明文和N-1份公钥密文发送给所述第一客户端;
S6:第一客户端对所述N-1份密钥密文和N-1份公钥密文进行解密,得到N-1份密钥子分量和N-1份公钥分量,并使用所述加密分量对所述N-1份公钥分量进行签名,得到N-1份签名分量;
S7:第一客户端与所述密钥服务器通过所述安全信道,发起MPC计算,得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
即,在生成目标公钥的过程,不仅通过安全信道和MPC计算,还生成数据的密文,从而可以同时保证数据传输和数据计算过程中数据的安全性。
通过两方MPC生成密钥分量和目标私钥之后,可以按照如下步骤进行签名:
S1:第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据;
S2:N个客户端中除所述第一客户端之外的客户端将自身生成的密钥分量拆分为第一密钥子分量和第二密钥子分量,并通过所述加密分量对第一密钥子分量进行加密,得到N-1份密钥密文;
S3:N个客户端中除所述第一客户端之外的客户端将所述N-1份密钥密文和N-1份第二密钥子分量明文发送给所述密钥服务器;
S4:密钥服务器通过安全信道将所述N-1份密钥密文发送给所述第一客户端;
S5:第一客户端对所述N-1份密钥密文进行解密,得到N-1份密钥子分量;
S6:第一客户端与所述密钥服务器通过所述安全信道,发起MPC计算,对所述待签名数据进行签名,并将签名结果返回所述N个客户端和所述密钥服务器。
在通过两方MPC生成密钥分量和目标私钥之后,可以按照如下步骤备份密钥分量:
S1:N个客户端中的各客户端通过备份方式获取备份密钥;
S2:计算所述备份密钥的哈希值,并将所述哈希值发送至所述密钥服务器;
S3:密钥服务器验证所述哈希值的正确性,在验证通过的情况下,返回所述目标公钥。
通过多方MPC生成密钥分量,可以包括如下步骤:
S1:密钥服务器生成服务密钥分量;
S2:N个客户端与所述密钥服务器通过所述安全信道,发起MPC计算,计算得到目标公钥。
在通过两方MPC生成密钥分量和目标私钥之后,可以按照如下步骤进行签名:
S1:第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据,所述第一客户端为所述N个客户端中的一个客户端;
S2:N个客户端与所述密钥服务器通过所述安全信道,发起MPC计算,对所述待签名数据进行签名,并通过所述目标公钥验证签名结果的正确性。
在通过两方MPC生成密钥分量和目标私钥之后,可以按照如下步骤进行备份或刷新:
S1:所述N个客户端和所述密钥服务器,通过所述安全信道,发起MPC计算得到N+1份备份密钥分量(或刷新密钥分量),并对所述N+1份备份密钥分量(或刷新密钥分量)进行签名,得到N+1份备份签名分量(或刷新签名分量);
S2:将所述N+1份备份密钥分量(或刷新密钥分量)和N份备份签名分量(或刷新签名分量),一一对应地下发至所述N个客户端中的各个客户端和密钥服务器;
S3:N个客户端和所述密钥服务器通过所述目标公钥验证接收到的备份签名分量(或刷新签名分量)的有效性,在验证通过的情况下,保存接收到的备份密钥分量(或刷新密钥分量)。
在通过两方MPC生成密钥分量和目标私钥之后,可以按照如下步骤进行恢复:
S1:接收恢复请求方的恢复请求,其中,所述恢复请求方为所述N个客户端中的一个设备,所述恢复请求中携带有所述恢复请求方自身的密钥分量和所述目标公钥;
S2:N个客户端中除所述恢复请求方之外的客户端通过备份方式获取自身备份的密钥分量;
S3:N个客户端和所述密钥服务器通过所述安全信道,发起MPC计算生成验证公钥,并确定所述验证公钥与所述目标公钥是否相同,在确定相同的情况下,进行MPC计算得到N+1份恢复密钥分量,并对所述N+1份恢复密钥分量进行签名,得到N+1份恢复签名分量;
S4:将N+1份恢复密钥分量和所述N+1份恢复签名分量,一一对应地发送至所述N个客户端和所述密钥服务器;
S5:N个客户端和所述密钥服务器通过所述目标公钥验证接收到的恢复签名分量的有效性,在验证通过的情况下,更新并保存接收到的恢复密钥分量。
下面结合几个具体实例对上述方法进行说明,然而,值得注意的是,该具体实例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
实例1
在本例中,提供了一种基于安全两方计算通过一个服务端多个客户端生成并保管的密钥管理方法,具体的,不同客户端独立生成密钥分量最后使用两方MPC生成公钥,通过两方MPC使用客户端和密钥服务器计算签名。
基于此,在密钥管理系统中密钥生成、使用、存储、备份、恢复等操作可以按照如下方式进行:
1)生成
如图3所示,可以包括如下步骤:
S1:客户端1生成密钥分量SK1,并通过SK1计算出公钥PK1;
S2:客户端1与密钥服务器通过KYC完成双向认证完成注册操作,并发起密钥生成请求;
S3:客户端2~n分别通过查询获取客户端1的生成请求,并在本地生成密钥分量SK2~n,计算出公钥PK2~n;
S4:客户端2~n分别与密钥服务器通过KYC完成双向认证,以完成注册操作,然后,将SK2拆分成SK2-1和SK2-2,将SK2-1和PK2使用PK1进行加密。并将PK1(SK2-1)密文、PK1(PK2)密文与SK2-2明文传给密钥服务器。以此类推,SKn拆分成SKn-1和SKn-2,将SKn-2、PKn使用PK1进行加密,并将PK1(SKn-1)密文、PK1(PKn)密文与SKn-2明文传给密钥服务器;
S5:密钥服务器通过安全信道,将密文信息PK1(SK2-1)、PK1(SK3-1)...PK1(Skn-1)与PK1(PK2)....PK1(PKn)发送给客户端1;
S6:客户端1解密得到SK2-1、SK3-1...SKn-1与PK2、PK3...PKn,然后,将PK2...PKn使用SK1进行签名获得签名内容S2...Sn;
S7:客户端1将PK2...PKn明文以及签名S2...Sn发送给密钥服务器保存;
S8:客户端1与密钥服务器通过认证材料鉴权并建立安全信道,发起MPC计算:通过密钥分量SK1~n计算出私钥SK,并通过私钥SK计算出公钥PK。并将公钥PK返回给客户端与密钥服务器,分别保存。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~n均没有在计算交互过程中出现(即没有在网络层传输SK1~n用于计算)。
2)使用
如图4所示,可以包括如下步骤:
S1:客户端1发起签名请求,并提供公钥PK作为唯一标识以及待签名数据;
S2:客户端2~n与密钥服务器通过KYC完成双向认证并建立安全信道,然后,将SK2拆分成SK2-1和SK2-2,将SK2-1使用PK1进行加密。并将PK1(SK2-1)密文与SK2-2明文传给密钥服务器。以此类推,SKn拆分成SKn-1和SKn-2,将SKn-2使用PK1进行加密,并将PK1(SKn-1)密文与SKn-2明文传给密钥服务器;
S3:密钥服务器通过安全信道将密文信息PK1(SK2-1)、PK1(SK3-1)...PK1(Skn-1)发送给客户端1;
S4:客户端1解密获得SK2-1、SK3-1...SKn-1;
S5:客户端1与密钥服务器通过认证材料鉴权建立安全信道,发起MPC计算:通过密钥分量SK1~n计算出私钥SK,并通过私钥SK对待签名数据进行签名。将签名返回给客户端与密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~n均没有在计算交互过程中出现(即没有在网络层传输SKs、SK1~n用于计算)。
3)存储
密钥或密钥分量可以通过但不限于以下形式之一保存:
数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
HSM:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;
二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。
4)备份
如图5所示,客户端在生成密钥分量SK1~n的过程中,直接对密钥分量SK1~n进行备份保存。
5)恢复
如图6所示,可以包括如下步骤:
S1:客户端通过备份方式获取备份密钥,并将密钥计算Hash值发送给密钥服务器,发起密钥恢复请求;
S2:密钥服务器接收到恢复请求之后,验证Hash值的正确性,若正确,则返回公钥PK。
实例2
在本例中,提供了一种基于安全多方计算通过一个服务端多个客户端生成并保管的密钥管理方法,具体的,多个客户端与密钥服务器分别生成私钥分量通过MPC计算获得公钥,通过MPC使用多个客户端和密钥服务器计算签名,通过某个客户端的私钥分量进行MPC计算刷新多个客户端与密钥服务器的分量。
基于此,在密钥管理系统中密钥生成、使用、存储、备份、恢复、刷新等操作可以按照如下方式进行:
1)生成
如图7所示,可以包括如下步骤:
S1:客户端与密钥服务器通过KYC完成双向认证,并下发认证材料完成注册流程;
S2:客户端分别生成密钥分量并保存,例如:客户端1生成密钥分量SK1,客户端2生成密钥分量SK2;以此类推,客户端n生成密钥分量SKn;
S3:密钥服务器在接收到密钥生成请求后,生成密钥分量SKs并保存;
S4:客户端与密钥服务器通过认证材料鉴权建立安全信道,发起MPC计算:通过密钥分量SKs、SK1~n计算出私钥SK,并通过私钥SK算出公钥PK。并将公钥返回给客户端与密钥服务器,客户端和密钥服务器分别进行保存。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SKa、SK1~n均没有在计算交互过程中出现(即没有在网络层传输SKs、SK1~n用于计算)。
2)使用
如图8所示,可以包括如下步骤:
S1:客户端1发起签名请求,并提供公钥PK作为唯一标识以及待签名数据;
S2:客户端与密钥服务器通过KYC完成双向认证并建立安全信道;
S3:客户端与密钥服务器通过安全信道发起MPC计算:对待签名数据进行签名操作,并通过PK公钥验证签名的正确性。
3)存储
密钥或密钥分量可以通过但不限于以下形式之一保存:
数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
HSM:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;
二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。
4)备份
如图9所示,可以包括如下步骤:
S1:客户端1发起备份密钥请求,通过KYC完成双向认证并建立安全信道;
S2:客户端与密钥服务器通过安全信道发起MPC计算:生成私钥SK,并通过secretsharing算法生成SK1~SKn+1,使用SK对SK1~SKn+1进行签名,生成签名S1~Sn+1。将签名分别下发给不同的密钥服务器、客户端。例如:下发SK1、S1至客户端1;下发SK2、S2至客户端2;以此类推,下发SKn、Sn至客户端n;SKn+1、Sn+1至密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中);
S3:各个客户端和密钥服务器通过之前存储的公钥PK验证接收到的签名分量的有效性,如果有效,则保存备份接收到的密钥分量。
5)恢复
如图10所示,可以包括如下步骤:
S1:假设客户端1需要恢复密钥,通过备份方式获取备份密钥,使用备份密钥分量SK1、PK发起密钥恢复请求;
S2:客户端2~n接收到客户端1发起的密钥恢复请求,并同意。然后各自通过备份方式获取备份密钥,提供SK2~SKn用于配合恢复密钥;
S3:客户端与密钥服务器通过KYC完成双向认证并建立安全信道;
S4:客户端与密钥服务器通过安全信道发起MPC计算验证备份分量是否正确:计算私钥SK,通过SK生成公钥PK,若PK与保存的PK相同,则验证通过。若通过验证,则进行MPC计算恢复密钥分量:计算私钥SK,并通过secret sharing算法生成SK1~SKn+1,使用SK对SK1~SKn+1进行签名,生成签名S1~Sn+1。将签名分别下发给不同的客户端和密钥服务器,例如:下发SK1、S1至客户端1;下发SK2、S2至客户端2;以此类推,下发SKn、Sn至客户端n;SKn+1、Sn+1至密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中);
S5:各个客户端和密钥服务器通过之前存储的公钥PK验证签名有效性,若有效,则更新并保存密钥分量。
6)刷新
如图11所示,可以包括如下步骤:
S1:客户端或密钥服务器发起刷新密钥请求,通过KYC完成双向认证并建立安全信道;
S2:客户端与密钥服务器通过安全信道发起MPC计算:生成私钥SK,并通过secretsharing算法生成SK1~SKn+1,使用SK对SK1~SKn+1进行签名,生成签名S1~Sn+1。将签名分别下发给不同的客户端和密钥服务器,例如:下发SK1、S1至客户端1;下发SK2、S2至客户端2;以此类推,下发SKn、Sn至客户端n;SKn+1、Sn+1至密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中);
S3:各个客户端和密钥服务器通过之前存储的公钥PK验证签名的有效性,若有效,则更新并保存密钥分量。
本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图12是本发明实施例的一种客户端各自生成密钥分量的密钥管理方法的电子设备的硬件结构框图。如图12所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的客户端各自生成密钥分量的密钥管理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的客户端各自生成密钥分量的密钥管理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本申请的实施例还提供能够实现上述实施例中的客户端各自生成密钥分量的密钥管理方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的客户端各自生成密钥分量的密钥管理方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
步骤2:所述N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
步骤3:所述N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
步骤4:所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
从上述描述可知,本申请实施例提供的客户端各自生成密钥分量的密钥管理方法和电子设备,密钥管理系统中的各个客户端在本地生成自身的密钥分量,最终基于密钥分量生成目标公钥,以实现密钥的生成。通过上述方式解决了现有的密钥管理中所存在的安全性和灵活性低的问题,达到了有效提升密钥安全性和灵活性的技术效果。
本申请的实施例还提供能够实现上述实施例中的客户端各自生成密钥分量的密钥管理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的客户端各自生成密钥分量的密钥管理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
步骤2:所述N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
步骤3:所述N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
步骤4:所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器。
从上述描述可知,本申请实施例提供的客户端各自生成密钥分量的密钥管理方法和电子设备,密钥管理系统中的各个客户端在本地生成自身的密钥分量,最终基于密钥分量生成目标公钥,以实现密钥的生成。通过上述方式解决了现有的密钥管理中所存在的安全性和灵活性低的问题,达到了有效提升密钥安全性和灵活性的技术效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (9)
1.一种客户端各自生成密钥分量的密钥管理方法,应用于密钥管理系统中,其中,所述密钥管理系统包括:N个客户端和一个密钥服务器,其特征在于,所述方法包括:
所述N个客户端与所述密钥服务器通过确认身份程序完成双向认证,并下发认证材料;
所述N个客户端与所述密钥服务器根据所述认证材料建立安全通道;
所述N个客户端各自生成自身对应的密钥分量,得到N份密钥分量;
所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器;
其中,所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器,包括:
所述N个客户端根据各自生成的密钥分量,计算出公钥分量,得到N份公钥分量;
从所述N个客户端中选择一个客户端作为第一客户端,其中,所述第一客户端为MPC计算方,所述第一客户端生成的公钥分量作为加密分量;
所述N个客户端中除所述第一客户端之外的客户端将自身生成的密钥分量拆分为第一密钥子分量和第二密钥子分量,并通过所述加密分量对第一密钥子分量和公钥分量进行加密,得到N-1份密钥密文和N-1份公钥密文;
将所述N-1份密钥密文、N-1份公钥密文和第二密钥 子分量明文 发送给所述密钥服务器;
所述密钥服务器通过安全信道将所述N-1份密钥密文、N-1份第二密钥子分量明文和N-1份公钥密文发送给所述第一客户端;
所述第一客户端对所述N-1份密钥密文和N-1份公钥密文进行解密,得到N-1份密钥子分量和N-1份公钥分量,并使用所述加密分量对所述N-1份公钥分量进行签名,得到N-1份签名分量;
所述第一客户端与所述密钥服务器通过所述安全信道,发起MPC计算,得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器;
其中,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
接收恢复请求方的恢复请求,其中,所述恢复请求方为所述N个客户端中的一个设备,所述恢复请求中携带有所述恢复请求方自身的密钥分量和所述目标公钥;
所述N个客户端中除所述恢复请求方之外的客户端通过备份方式获取自身备份的密钥分量;
所述N个客户端和所述密钥服务器通过所述安全信道,发起MPC计算生成验证公钥,并确定所述验证公钥与所述目标公钥是否相同,在确定相同的情况下,进行MPC计算得到N+1份恢复密钥分量,并对所述N+1份恢复密钥分量进行签名,得到N+1份恢复签名分量;
将所述N+1份恢复密钥分量和所述N+1份恢复签名分量,一一对应地发送至所述N个客户端和所述密钥服务器;
所述N个客户端和所述密钥服务器通过所述目标公钥验证接收到的恢复签名分量的有效性,在验证通过的情况下,更新并保存接收到的恢复密钥分量。
2.根据权利要求1所述的方法,其特征在于,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据;
所述N个客户端中除所述第一客户端之外的客户端将自身生成的密钥分量拆分为第一密钥子分量和第二密钥子分量,并通过所述加密分量对第一密钥子分量进行加密,得到N-1份密钥密文;
所述N个客户端中除所述第一客户端之外的客户端将所述N-1份密钥密文和N-1份第二密钥子分量明文发送给所述密钥服务器;
所述密钥服务器通过安全信道将所述N-1份密钥密文发送给所述第一客户端;
所述第一客户端对所述N-1份密钥密文进行解密,得到N-1份密钥子分量;
所述第一客户端与所述密钥服务器通过所述安全信道,发起MPC计算,对所述待签名数据进行签名,并将签名结果返回所述N个客户端和所述密钥服务器。
3.根据权利要求1所述的方法,其特征在于,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述N个客户端中的各客户端通过备份方式获取备份密钥;
计算所述备份密钥的哈希值,并将所述哈希值发送至所述密钥服务器;
所述密钥服务器验证所述哈希值的正确性,在验证通过的情况下,返回所述目标公钥。
4.根据权利要求1所述的方法,其特征在于,所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器,包括:
所述密钥服务器生成服务密钥分量;
所述N个客户端与所述密钥服务器通过所述安全信道,发起MPC计算,计算得到目标公钥。
5.根据权利要求4所述的方法,其特征在于,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据,所述第一客户端为所述N个客户端中的一个客户端;
所述N个客户端与所述密钥服务器通过所述安全信道,发起MPC计算,对所述待签名数据进行签名,并通过所述目标公钥验证签名结果的正确性。
6.根据权利要求4所述的方法,其特征在于,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述N个客户端和所述密钥服务器,通过所述安全信道,发起MPC计算得到N+1份备份密钥分量,并对所述N+1份备份密钥分量进行签名,得到N+1份备份签名分量;
将所述N+1份备份密钥分量和N+1份备份签名分量,一一对应地下发至所述N个客户端中的各个客户端和密钥服务器;
所述N个客户端和所述密钥服务器通过所述目标公钥验证接收到的备份签名分量的有效性,在验证通过的情况下,保存接收到的备份密钥分量。
7.根据权利要求4所述的方法,其特征在于,在所述N个客户端和所述密钥服务器根据所述N份密钥分量,计算得到目标公钥,并将所述目标公钥返回至所述N个客户端和所述密钥服务器之后,还包括:
所述N个客户端和所述密钥服务器,通过所述安全信道,发起MPC计算得到N+1份刷新密钥分量,并对所述N+1份刷新密钥分量进行签名,得到N+1份刷新签名分量;
将所述N+1份刷新密钥分量和N+1份刷新签名分量,一一对应地下发至所述N个客户端中的各个客户端和密钥服务器;
所述N个客户端和所述密钥服务器通过所述目标公钥验证接收到的刷新签名分量的有效性,在验证通过的情况下,保存接收到的刷新密钥分量。
8.一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910152729.3A CN109714165B (zh) | 2019-02-28 | 2019-02-28 | 客户端各自生成密钥分量的密钥管理方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910152729.3A CN109714165B (zh) | 2019-02-28 | 2019-02-28 | 客户端各自生成密钥分量的密钥管理方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109714165A CN109714165A (zh) | 2019-05-03 |
CN109714165B true CN109714165B (zh) | 2021-12-07 |
Family
ID=66265960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910152729.3A Active CN109714165B (zh) | 2019-02-28 | 2019-02-28 | 客户端各自生成密钥分量的密钥管理方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714165B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020223917A1 (zh) * | 2019-05-08 | 2020-11-12 | 云图有限公司 | 安全多方计算的实现方法、装置、计算机设备和存储介质 |
WO2020258126A1 (zh) * | 2019-06-27 | 2020-12-30 | 云图有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
CN111131278B (zh) * | 2019-12-27 | 2022-09-06 | 京东科技控股股份有限公司 | 数据处理方法及装置、计算机存储介质、电子设备 |
CN111277403B (zh) * | 2020-01-17 | 2023-04-14 | 南京如般量子科技有限公司 | 基于秘密共享和基于身份密码学的抗量子计算投票方法 |
CN111245611B (zh) * | 2020-01-21 | 2023-01-24 | 南京如般量子科技有限公司 | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统 |
CN112040487A (zh) * | 2020-07-15 | 2020-12-04 | 中国电子科技集团公司第三十研究所 | 一种多优先级高效的5g网络数据服务安全通道管理方法 |
CN112132560B (zh) * | 2020-09-30 | 2022-03-15 | 郑州信大捷安信息技术股份有限公司 | 链上数字资产管理方法及装置 |
CN113193961B (zh) * | 2021-04-29 | 2022-12-13 | 中国人民银行数字货币研究所 | 一种数字证书管理方法和装置 |
CN113190833B (zh) * | 2021-06-01 | 2022-11-18 | 浙江大华技术股份有限公司 | 一种权限处理方法、装置、存储介质及电子装置 |
CN114070640B (zh) * | 2021-11-25 | 2024-02-06 | 航天新通科技有限公司 | 一种安全通信方法及系统 |
CN114861191B (zh) * | 2022-04-27 | 2024-04-05 | 北京计算机技术及应用研究所 | 一种嵌入式设备安全启动架构及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107017993A (zh) * | 2017-04-01 | 2017-08-04 | 北京江南天安科技有限公司 | 一种多方联合密钥产生和数字签名方法及系统 |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108574575A (zh) * | 2017-03-07 | 2018-09-25 | 罗伯特·博世有限公司 | 数据处理方法和数据处理设备 |
CN109359470A (zh) * | 2018-08-14 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109377360A (zh) * | 2018-08-31 | 2019-02-22 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109388960A (zh) * | 2018-10-24 | 2019-02-26 | 全链通有限公司 | 基于区块链的信息共享及安全多方计算模型 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10079674B2 (en) * | 2015-02-26 | 2018-09-18 | New York University | Systems and methods for privacy-preserving functional IP verification utilizing fully homomorphic encryption |
US9967096B2 (en) * | 2016-05-23 | 2018-05-08 | Accenture Global Solutions Limited | Rewritable blockchain |
US20190007196A1 (en) * | 2017-06-28 | 2019-01-03 | Qatar University | Method and system for privacy preserving computation in cloud using fully homomorphic encryption |
-
2019
- 2019-02-28 CN CN201910152729.3A patent/CN109714165B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108574575A (zh) * | 2017-03-07 | 2018-09-25 | 罗伯特·博世有限公司 | 数据处理方法和数据处理设备 |
CN107017993A (zh) * | 2017-04-01 | 2017-08-04 | 北京江南天安科技有限公司 | 一种多方联合密钥产生和数字签名方法及系统 |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN109359470A (zh) * | 2018-08-14 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109377360A (zh) * | 2018-08-31 | 2019-02-22 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109388960A (zh) * | 2018-10-24 | 2019-02-26 | 全链通有限公司 | 基于区块链的信息共享及安全多方计算模型 |
Non-Patent Citations (1)
Title |
---|
基于区块链的云计算关键技术及应用方案研究;陈岱;《中国优秀硕士学位论文期刊全文数据库》;20190215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109714165A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714165B (zh) | 客户端各自生成密钥分量的密钥管理方法和电子设备 | |
CN108600272B (zh) | 一种区块链数据处理方法、装置、处理设备及系统 | |
CN112751665B (zh) | 一种安全多方计算方法、设备、系统及存储介质 | |
CN110278078B (zh) | 一种数据处理方法、装置及系统 | |
CN109787762B (zh) | 服务器各自生成密钥分量的密钥管理方法、电子设备 | |
CN109818754B (zh) | 客户端为多个客户端和单一服务器生成密钥的方法、设备 | |
CN113743939A (zh) | 基于区块链的身份认证方法、装置及系统 | |
CN110635912B (zh) | 数据处理方法及装置 | |
CN111586142A (zh) | 一种安全多方计算方法及系统 | |
CN109818753B (zh) | 择一客户端为多客户端多服务器生成密钥的方法和设备 | |
CN109981591B (zh) | 单一客户端生成私钥的密钥管理方法、电子设备 | |
EP3857423A1 (en) | Systems and methods for minting a physical device based on hardware unique key generation | |
CN114362951B (zh) | 用于更新证书的方法和装置 | |
Lin et al. | Secured map reduce computing based on virtual machine using threshold secret sharing and group signature mechanisms in cloud computing environments | |
Zhong et al. | Authentication and key agreement based on anonymous identity for peer-to-peer cloud | |
CN111010283B (zh) | 用于生成信息的方法和装置 | |
CN111245594B (zh) | 一种基于同态运算的协同签名方法及系统 | |
CN113159766A (zh) | 数据保护方法、装置、系统、电子装置和存储介质 | |
CN110311881B (zh) | 一种授权方法、加密方法和终端设备 | |
CN111199007A (zh) | 基于Web页面的配置方法、数据加密方法及装置 | |
CN113569261B (zh) | 一种电网数据的处理方法、装置、电子设备和存储介质 | |
CN109981592B (zh) | 多客户端多服务器联合生成密钥的方法和电子设备 | |
WO2020172890A1 (zh) | 客户端为多个客户端和单一服务器生成密钥的方法、设备 | |
WO2020172889A1 (zh) | 客户端各自生成密钥分量的密钥管理方法和电子设备 | |
CN115344882A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40008707 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |