WO2020172883A1 - 多客户端多服务器联合生成密钥的方法和电子设备 - Google Patents

多客户端多服务器联合生成密钥的方法和电子设备 Download PDF

Info

Publication number
WO2020172883A1
WO2020172883A1 PCT/CN2019/076579 CN2019076579W WO2020172883A1 WO 2020172883 A1 WO2020172883 A1 WO 2020172883A1 CN 2019076579 W CN2019076579 W CN 2019076579W WO 2020172883 A1 WO2020172883 A1 WO 2020172883A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
clients
servers
mpc
secure channel
Prior art date
Application number
PCT/CN2019/076579
Other languages
English (en)
French (fr)
Inventor
颜泽
谢翔
傅志敬
孙立林
Original Assignee
云图有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 云图有限公司 filed Critical 云图有限公司
Priority to PCT/CN2019/076579 priority Critical patent/WO2020172883A1/zh
Publication of WO2020172883A1 publication Critical patent/WO2020172883A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • This application provides a method for joint generation of keys by multiple clients and multiple servers, and the electronic device configuration is implemented as follows:
  • the N clients and the N key servers obtain the target public key through the secure channel based on their respective key components, including:
  • the first device and the second device initiate MPC calculation to obtain 2N operation components, and sign the 2N operation components to obtain 2N signature files;
  • the N clients and the N key servers initiate MPC calculations through the secure channel to obtain the target public key.
  • Step 203 The N clients and the N key servers obtain the target public key through the secure channel based on their key components.
  • N clients and N key servers pass through the secure channel based on their respective key components to obtain the target public key.
  • the target public key may be obtained through Secure Multi-Party Computation (MPC).
  • MPC Secure Multi-Party Computation
  • the key that is, all key servers and clients participate in the MPC calculation
  • the target public key can also be obtained through the two-party MPC, that is, two MPC participants are selected from the key server and the client to participate in the MPC calculation.
  • a key management method based on secure two-party calculations generated and kept by multiple servers is provided, which is applied to the key management system for key generation, use, storage, backup, restoration, and refresh operations.
  • different clients and key servers independently generate key components, and finally use the two-party MPC to generate the public key, and the two-party MPC uses multiple clients and multiple key servers to calculate the signature.
  • the transmission module 106 is used to receive or send data via a network.
  • the above-mentioned specific examples of the network may include a wireless network provided by the communication provider of the computer terminal 10.
  • the transmission module 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission module 106 may be a radio frequency (RF) module, which is used to communicate with the Internet in a wireless manner.
  • RF radio frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供了一种多客户端多服务器联合生成密钥的方法和电子设备,应用于密钥管理系统,该密钥管理系统包括:N个客户端和N个密钥服务器,其中,N为大于等于2的正整数,该方法包括:所述N个客户端和所述N个密钥服务器各自生成密钥分量并保存;所述N个客户端与所述N个密钥服务器通过双向认证建立安全信道;所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥。通过上述方式解决了现有的密钥管理系统中所存在的安全性和灵活性较低的问题,达到了有效提升密钥管理系统安全性和灵活性的技术效果。

Description

多客户端多服务器联合生成密钥的方法和电子设备 技术领域
本申请属于信息安全技术领域,尤其涉及一种多客户端多服务器联合生成密钥的方法和电子设备。
背景技术
目前,针对密钥服务系统而言,一般都是由一个密钥服务器生成密钥,然后将生成的密钥分发给密钥使用方,这样势必会增加密钥服务器的负担,且因为是由单一密钥服务器生成的,导致所有的密钥生成规则都是密钥服务器自身指定和维护的,灵活性不高。
针对现有的密钥系统中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种多客户端多服务器联合生成密钥的方法和电子设备,可以实现有效提升密钥管理的安全性和灵活性的目的。
本申请提供一种多客户端多服务器联合生成密钥的方法和电子设备置是这样实现的:
一种多客户端多服务器联合生成密钥的方法,应用于密钥管理系统,该密钥管理系统包括:N个客户端和N个密钥服务器,其中,N为大于等于2的正整数,所述方法包括:
所述N个客户端和所述N个密钥服务器各自生成密钥分量并保存;
所述N个客户端与所述N个密钥服务器通过双向认证建立安全信道;
所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥。
在一个实施方式中,所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥,包括:
从所述N个密钥服务器和所述N个客户端中选择两个设备作为MPC计算方;
所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身对应的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
所述第一设备和所述第二设备通过所述安全信道发起MPC计算,得到所述目标公钥。
在一个实施方式中,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据,所述第一客户端为所述N个客户端中的一个客户端;
所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身生成的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
所述第一设备和所述第二设备通过所述安全信道发起MPC计算对所述待签名数据进行签名,得到签名文件;
将签名文件发送至所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器。
在一个实施方式中,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
第一客户端发起操作请求,其中,所述第一客户端为所述N个客户端中的一个客户端;
所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身对应的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
所述第一设备和所述第二设备发起MPC计算得到2N份操作分量,并对所述2N份操作分量进行签名,得到2N份签名文件;
将所述2N份操作分量和所述2N份签名文件,一一对应的下发至N个客户端和N个密钥服务器;
所述N个客户端和N个密钥服务器通过所述目标公钥验证接收到的签名文件的正确性,在验证通过的情况下,保存接收到的操作分量。
在一个实施方式中,所述操作请求包括以下至少之一:备份请求、恢复请求和刷新请求。
在一个实施方式中,所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥,包括:
所述N个客户端与所述N个密钥服务器通过所述安全信道,发起MPC计算,得到所述目标公钥。
在一个实施方式中,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥,所述第一客户端为所述N个客户端中的一个客户端;
所述N个客户端和所述N个密钥服务器通过所述安全信道发起MPC计算,以对所述待签名数据进行签名操作,得到签名文件,并根据所述目标公钥验证所述签名文件的正确性。
在一个实施方式中,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
第一客户端发起操作请求,其中,所述第一客户端为所述N个客户端中的一个客户端;
所述N个客户端和所述N个密钥服务器发起MPC计算得到2N份操作分量,并对所述2N份操作分量进行签名,得到2N份签名文件;
将所述2N份操作分量和所述2N份签名文件,一一对应的下发至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是本申请提供的实例1的密钥刷新的交互示意图;
图8是本申请提供的实例2的密钥生成的交互示意图;
图9是本申请提供的实例2的密钥使用的交互示意图;
图10是本申请提供的实例1的密钥备份的交互示意图;
图11是本申请提供的实例2的密钥恢复的交互示意图;
图12是本申请提供的实例2的密钥刷新的交互示意图;
图13是本申请提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到现有的是由单一密钥服务器单方面生成密钥,导致灵活性和安全性较低的问题,在本例中,多客户端和多服务器各自在本地生成自身的密钥分量,客户端与服务器之间建立安全通道,然后基于该安全通道得到目标公钥,从而完成密钥的生成和管理,以达到了有效提升密钥管理系统安全性和灵活性的技术效果。
在本例中提供了一种多客户端多服务器联合生成密钥的方法,应用于密钥管理系统中,如图1所示,该密钥管理系统可以包括:N个客户端和N个密钥服务器,其中,N为大于等于2的整数。
图2是本申请所述一种多客户端多服务器联合生成密钥的方法一个实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体的,如图2所示,本申请一种实施例提供的一种多客户端多服务器联合生成密钥的方法可以包括步骤:
步骤201:N个客户端和N个密钥服务器各自生成密钥分量并保存;
其中,上述的客户端为密钥使用方,包括但不限于App、应用服务器等,客户端具体以哪种形式存在可以根据实际需要选择,本申请对此不作限定。上述的密钥服务器为密钥服务方,用于提供密钥相关服务。
即,客户端1~N和密钥服务器1~N各自在本地生成密钥分量并保存。
步骤202:所述N个客户端与所述N个密钥服务器通过双向认证建立安全信道;
具体的,客户端与密钥服务器可以通过KYC(Know your customer,确认身份程序) 完成双向认证,并下发认证材料完成注册流程;其中,确认身份程序可以包括但不限于以下至少之一:手机短信、邮箱验证码、账号密码、指纹、人脸、证书等。
步骤203:所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥。
在实现的时候,N个客户端与N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥可以是通过多方MPC(Secure Multi-Party Computation,安全多方计算)得到目标公钥,即,所有的密钥服务器和客户端都参与MPC计算,也可以通过两方MPC得到目标公钥,即,密钥服务器和客户端中选择两个MPC参与方参与MPC计算。
下面对这两种MPC计算模式下的密钥分量的使用进行说明如下:
1)两方MPC:
N个客户端与N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥,可以包括如下步骤:
S1:从N个密钥服务器和所述N个客户端中选择两个设备作为MPC计算方;
S2:N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身对应的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
S3:第一设备和所述第二设备通过所述安全信道发起MPC计算,得到所述目标公钥。
例如:密钥服务器1、2通过安全信道发起MPC计算:通过密钥分量SK1、SK2、(SK3~2n)-1、(SK3~2n)-2计算出私钥SK,并通过私钥SK计算出公钥PK,并将PK保存后返回给客户端和密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互过程中出现(即没有在网络层传输SK1~2n用于计算)。
在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,可以按照如下步骤使用密钥分量进行签名:
S1:第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据,所述第一客户端为所述N个客户端中的一个客户端;
S2:所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身生成的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信 道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
S3:第一设备和所述第二设备通过所述安全信道发起MPC计算对所述待签名数据进行签名,得到签名文件;
S4:将签名文件发送至所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器。
在得到目标公钥和密钥分量之后,有时还需要对密钥分量进行备份、恢复、刷新等操作,具体的,可以按照如下步骤实现对密钥分量的备份、恢复和刷新:
S1:第一客户端发起操作请求,其中,所述第一客户端为所述N个客户端中的一个客户端;
S2:N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身对应的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
S3:第一设备和所述第二设备发起MPC计算得到2N份操作分量,并对所述2N份操作分量进行签名,得到2N份签名文件;
S4:将所述2N份操作分量和所述2N份签名文件,一一对应的下发至N个客户端和N个密钥服务器;
S5:N个客户端和N个密钥服务器通过所述目标公钥验证接收到的签名文件的正确性,在验证通过的情况下,保存接收到的操作分量。
即,上述操作请求可以包括但不限于以下至少之一:备份请求、恢复请求和刷新请求。
2)多方MPC:
N个客户端与N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥,可以包括是:N个客户端与N个密钥服务器通过所述安全信道,发起MPC计算,得到所述目标公钥。
例如:客户端与密钥服务器通过认证材料鉴权建立安全信道,发起MPC计算:通过密钥分量SK1~2n计算出私钥SK,并通过私钥SK算出公钥PK。并将公钥返回给客户端与密钥服务器,分别保存。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互 过程中出现(即没有在网络层传输SK1~2n用于计算)。
在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,可以按照如下步骤使用密钥分量进行签名:
S1:第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥,所述第一客户端为所述N个客户端中的一个客户端;
S2:N个客户端和所述N个密钥服务器通过所述安全信道发起MPC计算,以对所述待签名数据进行签名操作,得到签名文件,并根据所述目标公钥验证所述签名文件的正确性。
在得到目标公钥和密钥分量之后,有时还需要对密钥分量进行备份、恢复、刷新等操作,具体的,可以按照如下步骤实现对密钥分量的备份、恢复和刷新:
S1:第一客户端发起操作请求,其中,所述第一客户端为所述N个客户端中的一个客户端;上述操作请求可以包括但不限于以下至少之一:备份请求、恢复请求和刷新请求。
S2:N个客户端和所述N个密钥服务器发起MPC计算得到2N份操作分量,并对所述2N份操作分量进行签名,得到2N份签名文件;
S3:将所述2N份操作分量和所述2N份签名文件,一一对应的下发至N个客户端和N个密钥服务器;
S4:N个客户端和N个密钥服务器通过所述目标公钥验证接收到的签名文件的正确性,在验证通过的情况下,保存接收到的操作分量。
下面结合几个具体实例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在本例中提供了一种基于安全两方计算通过多个服务端生成并保管的密钥管理方法,应用在密钥管理系统的密钥生成、使用、存储、备份、恢复、刷新等操作。具体的,不同客户端与密钥服务器独立生成密钥分量,最后使用两方MPC生成公钥,通过两方MPC使用多个客户端与多个密钥服务器计算签名。
具体的,基于该场景,密钥生成、使用、存储、备份、恢复、刷新可以按照如下方式执行:
1)生成
如图3所示,可以包括如下步骤:
S1:客户端1生成分量SKn+1并保存;
S2:客户端与密钥服务器通过KYC完成双向认证,并下发认证材料完成注册流程,客户端1发起密钥生成请求;
S3:客户端2~n与密钥服务器1~n分别在本地生成密钥分量SK2~2n并保存;
S4:服务端随机选择两台客户端或密钥服务器作为MPC计算方,假设选择密钥服务器1和密钥服务器2作为MPC计算方;
S5:客户端1~n与密钥服务器1~n通过双向认证建立的安全信道,将SK3拆分成SK3-1、SK3-2,将SK3-1传给密钥服务器1、SK3-2传给密钥服务器2;以此类推,SK2n拆分成(SK2n)-1、(SK2n)-2,将(SK2n)-1传给密钥服务器1、(SK2n)-2传给密钥服务器2;
S6:密钥服务器1、2通过安全信道发起MPC计算:通过密钥分量SK1、SK2、(SK3~2n)-1、(SK3~2n)-2计算出私钥SK,并通过私钥SK计算出公钥PK,并将PK保存后返回给客户端和密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互过程中出现(即没有在网络层传输SK1~2n用于计算)。
2)使用
如图4所示,可以包括如下步骤:
S1:客户端1发起签名请求,并提供公钥PK作为唯一标识以及待签名数据;
S2:服务端随机选择两台客户端或密钥服务器作为MPC计算方,假设选择密钥服务器1和密钥服务器2作为MPC计算方;
S3:客户端1~n与密钥服务器1~n通过KYC完成双向认证并建立安全信道,然后,将SK3拆分成SK3-1、SK3-2,将SK3-1传给密钥服务器1、SK3-2传给密钥服务器2;以此类推,SK2n拆分成(SK2n)-1、(SK2n)-2,将(SK2n)-1传给密钥服务器1、(SK2n)-2传给密钥服务器2;
S4:密钥服务器1、2通过安全信道发起MPC计算:通过密钥分量SK1、SK2、(SK3~2n)-1、(SK3~2n)-2计算出私钥SK,并通过私钥SK对待签名数据进行签名。并将签名返回给客户端与密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互过程中出现(即没有在网络层传输SK1~2n用于计算)。
3)存储
密钥或密钥分量可以通过但不限于以下形式之一进行保存:
数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
HSM:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;
二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。
4)备份
如图5所示,可以包括如下步骤:
S1:客户端1发起备份请求;
S2:服务端随机选择两台客户端或密钥服务器作为MPC计算方,假设选择密钥服务器1和密钥服务器2作为MPC计算方;
S3:客户端1~n、密钥服务器1~n通过KYC完成双向认证并建立安全信道,然后,将SK3拆分成SK3-1、SK3-2,将SK3-1传给密钥服务器1、SK3-2传给密钥服务器2;以此类推,SK2n拆分成(SK2n)-1、(SK2n)-2,将(SK2n)-1传给密钥服务器1、(SK2n)-2传给密钥服务器2;
S4:密钥服务器1、2通过安全信道发起MPC计算:通过密钥分量SK1、SK2、(SK3~2n)-1、(SK3~2n)-2计算出私钥SK,并通过私钥SK进行secret sharing生成新的备份分量SK1~2n`,并将新的SK1~2n`进行签名。将SK1`~SK2n`及其签名分别下发给对应的密钥服务器和客户端。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互过程中出现(即没有在网络层传输SK1~2n用于计算);
S5:客户端、密钥服务器在收到相关信息后,通过接收到的签名验证接收到的备份分量的正确性,若验证通过,则保存接收到的备份分量。
5)恢复
如图6所示,可以包括如下步骤:
S1:客户端1通过备份方式获取备份分量,发起恢复请求;
S2:服务端随机选择两台客户端或服务器作为MPC计算方,假设选择密钥服务器1和密钥服务器2作为MPC计算方;
S3:客户端1~n、密钥服务器1~n通过KYC完成双向认证并建立安全信道,然后将备份分量SK3`拆分成SK3`-1、SK3`-2,将SK3`-1传给密钥服务器1、SK3`-2传给密 钥服务器2;以此类推,SK2n`拆分成(SK2n`)-1、(SK2n`)-2,将(SK2n`)-1传给密钥服务器1、(SK2n`)-2传给密钥服务器2;
S4:密钥服务器1、2通过安全信道发起MPC计算:通过备份分量SK1`、SK2`、(SK3~2n`)-1、(SK3~2n`)-2计算出私钥SK,并通过私钥SK进行secret sharing生成新的SK1~2n。并将新的SK1~2n进行签名。将SK1~SK2n及其签名分别下发给对应客户端和密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n`均没有在计算交互过程中出现(即没有在网络层传输SK1~2n`用于计算);
S5:客户端和密钥服务器在收到相关信息后,通过接收到的签名验证接收到的新密钥分量的正确性。若验证通过,则进行更新保存接收到的新密钥分量。
6)刷新
如图7所示,可以包括如下步骤:
S1:客户端1发起密钥刷新请求;
S2:服务端随机选择两台客户端或服务器作为MPC计算方,假设选择密钥服务器1和密钥服务器2作为MPC计算方;
S3:客户端1~n、密钥服务器1~n通过KYC完成双向认证并建立安全信道,然后,将SK3拆分成SK3-1、SK3-2,将SK3-1传给密钥服务器1、SK3-2传给密钥服务器2;以此类推,SK2n拆分成(SK2n)-1、(SK2n)-2,将(SK2n)-1传给密钥服务器1、(SK2n`)-2传给密钥服务器2;
S4:密钥服务器1、2通过安全信道发起MPC计算:通过SK1、SK2、(SK3~2n)-1、(SK3~2n)-2计算出私钥SK,并通过私钥SK进行secret sharing生成新的SK1~2n。并将新的SK1~2n进行签名。将SK1~SK2n及其签名分别下发给对应的客户端和密钥服务器。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互过程中出现(即没有在网络层传输SK1~2n用于计算);
S5:客户端和密钥服务器在收到相关信息后,通过接收到的签名验证接收到的密钥分量的正确性。若验证通过,则对更新并保存接收到的密钥分量。
实例2
在本例中提供了一种基于安全多方计算通过多个服务端生成并保管的密钥管理方 法,应用在密钥管理系统的密钥生成、使用、存储、备份、恢复、刷新等操作。具体的,多个客户端与多个密钥服务端分别生成私钥分量通过MPC获得公钥,通过MPC多个客户端与多个密钥服务器计算签名,通过私钥分量进行MPC计算刷新多个客户端与多个密钥服务器的分量。
具体的,基于该场景,密钥生成、使用、存储、备份、恢复、刷新可以按照如下方式执行:
1)生成
如图8所示,可以包括如下步骤:
S1:客户端1生成分量SKn+1并保存;
S2:客户端与密钥服务器通过KYC完成双向认证,并下发认证材料完成注册流程,客户端1发起密钥生成请求;
S3:客户端与密钥服务器收到密钥生成请求后,分别生成密钥分量,例如:密钥服务器1生成密钥分量SK1,密钥服务器2生成密钥分量SK2;以此类推,密钥服务器n生成密钥分量SKn。客户端2生成密钥分类SKn+2;以此类推,客户端n生成密钥分量SK2n;
S4:客户端与密钥服务器通过认证材料鉴权建立安全信道,发起MPC计算:通过密钥分量SK1~2n计算出私钥SK,并通过私钥SK算出公钥PK。并将公钥返回给客户端与密钥服务器,分别保存。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中),SK1~2n均没有在计算交互过程中出现(即没有在网络层传输SK1~2n用于计算)。
2)使用
如图9所示,可以包括如下步骤:
S1:客户端1发起签名请求,并提供公钥PK作为唯一标识以及待签名数据;
S2:客户端与密钥服务器间通过KYC完成双向认证并建立安全信道;
S3:客户端与密钥服务器通过安全信道发起MPC计算:对待签名数据进行签名操作,并通过PK公钥验证签名的正确性。
3)存储
密钥或密钥分量可以通过但不限于以下形式之一进行保存:
数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以 加密保存;
HSM:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;
助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;
二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。
4)备份
如图10所示,可以包括如下步骤:
S1:客户端1发起备份密钥请求;
S2:客户端与密钥服务器间通过KYC建立安全信道,发起MPC计算:生成私钥SK,并通过secret sharing算法生成备份密钥分量SK1`~SK2n`,使用SK对SK1`~SK2n`进行签名,生成签名S1`~S2n`。将签名和备份密钥分量分别下发给不同的密钥服务器,例如:下发SK1`、S1`至密钥服务器1;下发SK2`、S2`至密钥服务器2;以此类推,下发SKn`、Sn`至密钥服务器n。将签名和备份密钥分量分别下发给不同的客户端,例如:下发SKn+1`、Sn+1`至客户端1;下发SKn+2`、Sn+2`至客户端2;以此类推,下发SK2n`、S2n`至客户端n。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中);
S3:各个客户端与密钥服务器通过之前存储的公钥PK验证接收到的签名的有效性,若有效,则保存接收到的备份密钥分量。
5)恢复
如图11所示,可以包括如下步骤:
S1:客户端1通过备份方式获取备份分量发起恢复请求;
S2:客户端与密钥服务器间通过KYC完成双向认证并建立安全信道,通过备份方式获取备份密钥,进行MPC计算验证备份分量是否正确:计算私钥SK,通过SK生成公钥PK,若PK与保存PK相同,则验证通过。若通过验证,则通过secret sharing算法生成SK1~SK2n,使用SK对SK1~SK2n进行签名,生成签名S1~S2n。将SK1~SK2n和签名S1~S2n分别下发给不同的客户端和密钥服务器,例如:下发SK1、S1至密钥服务器1;下发SK2、S2至密钥服务器2;以此类推,下发SKn、Sn至密钥服务器n,下发SKn+1、Sn+1至客户端1;下发SKn+2、Sn+2至客户端2;以此类推,下发SK2n、S2n至客户端n。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中)。
S3:各个密钥服务器和客户端通过之前存储的公钥PK验证签名的有效性,若有效,则更新并保存密钥分量。
6)刷新
如图12所示,可以包括如下步骤:
S1:客户端1发起刷新密钥请求;
S2:客户端与密钥服务器之间通过KYC完成双向认证并建立安全信道,发起MPC计算:生成私钥SK,并通过secret sharing算法生成新的工作分量SK1~SK2n,使用SK对SK1~SK2n进行签名,生成签名S1~S2n。将签名分别下发给不同的密钥服务器和客户端,例如:下发SK1、S1至密钥服务器1;下发SK2、S2至密钥服务器2;以此类推,下发SKn、Sn至密钥服务器n,下发SKn+1、Sn+1至客户端1;下发SKn+2、Sn+2至客户端2;以此类推,下发SK2n、S2n至客户端n。因为整个过程是完整的MPC计算,因此,私钥SK实际上并没有真正生成过(不管是计算过程中,还是使用过程中);
S3:各个密钥服务器、客户端通过之前存储的公钥PK验证签名的有效性,若有效,则更新并保存密钥分量,即,保存新的工作分量。
本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图13是本发明实施例的一种多客户端多服务器联合生成密钥的方法的电子设备的硬件结构框图。如图13所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图13所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的多客户端多服务器联合生成密钥的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的多客户端多服务器联合生成密钥的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本申请的实施例还提供能够实现上述实施例中的多客户端多服务器联合生成密钥的方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的多客户端多服务器联合生成密钥的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:N个客户端和所述N个密钥服务器各自生成密钥分量并保存;
步骤2:N个客户端与所述N个密钥服务器通过双向认证建立安全信道;
步骤3:N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥。
从上述描述可知,本申请实施例多客户端多服务器联合生成密钥的方法和电子设备,多客户端和多服务器各自在本地生成自身的密钥分量,客户端与服务器之间建立安全通道,然后基于该安全通道得到目标公钥,从而完成密钥的生成和管理。通过上述方式解决了现有的密钥管理系统中所存在的安全性和灵活性较低的问题,达到了有效提升密钥管理系统安全性和灵活性的技术效果。
本申请的实施例还提供能够实现上述实施例中的多客户端多服务器联合生成密钥的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的多客户端多服务器联合生成密钥的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:N个客户端和所述N个密钥服务器各自生成密钥分量并保存;
步骤2:N个客户端与所述N个密钥服务器通过双向认证建立安全信道;
步骤3:N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥。
从上述描述可知,本申请实施例多客户端多服务器联合生成密钥的方法和电子设备, 多客户端和多服务器各自在本地生成自身的密钥分量,客户端与服务器之间建立安全通道,然后基于该安全通道得到目标公钥,从而完成密钥的生成和管理。通过上述方式解决了现有的密钥管理系统中所存在的安全性和灵活性较低的问题,达到了有效提升密钥管理系统安全性和灵活性的技术效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为 这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描 述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

Claims (11)

  1. 一种多客户端多服务器联合生成密钥的方法,应用于密钥管理系统,该密钥管理系统包括:N个客户端和N个密钥服务器,其中,N为大于等于2的正整数,其特征在于,所述方法包括:
    所述N个客户端和所述N个密钥服务器各自生成密钥分量并保存;
    所述N个客户端与所述N个密钥服务器通过双向认证建立安全信道;
    所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥。
  2. 根据权利要求1所述的方法,其特征在于,所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥,包括:
    从所述N个密钥服务器和所述N个客户端中选择两个设备作为MPC计算方;
    所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身对应的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
    所述第一设备和所述第二设备通过所述安全信道发起MPC计算,得到所述目标公钥。
  3. 根据权利要求2所述的方法,其特征在于,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
    第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据,所述第一客户端为所述N个客户端中的一个客户端;
    所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身生成的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
    所述第一设备和所述第二设备通过所述安全信道发起MPC计算对所述待签名数据进行签名,得到签名文件;
    将签名文件发送至所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器。
  4. 根据权利要求2所述的方法,其特征在于,在所述N个客户端与所述N个密钥服 务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
    第一客户端发起操作请求,其中,所述第一客户端为所述N个客户端中的一个客户端;
    所述N个客户端和所述N个密钥服务器中除MPC计算方之外的各个客户端和密钥服务器将自身对应的密钥分量拆分为第一子密钥和第二子密钥,并通过所述安全信道将第一子密钥传送至MPC计算方中的第一设备,将第二子密钥传送至MPC计算方中的第二设备;
    所述第一设备和所述第二设备发起MPC计算得到2N份操作分量,并对所述2N份操作分量进行签名,得到2N份签名文件;
    将所述2N份操作分量和所述2N份签名文件,一一对应的下发至N个客户端和N个密钥服务器;
    所述N个客户端和N个密钥服务器通过所述目标公钥验证接收到的签名文件的正确性,在验证通过的情况下,保存接收到的操作分量。
  5. 根据权利要求4所述的方法,其特征在于,所述操作请求包括以下至少之一:备份请求、恢复请求和刷新请求。
  6. 根据权利要求1所述的方法,其特征在于,所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥,包括:
    所述N个客户端与所述N个密钥服务器通过所述安全信道,发起MPC计算,得到所述目标公钥。
  7. 根据权利要求6所述的方法,其特征在于,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
    第一客户端发起签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥,所述第一客户端为所述N个客户端中的一个客户端;
    所述N个客户端和所述N个密钥服务器通过所述安全信道发起MPC计算,以对所述待签名数据进行签名操作,得到签名文件,并根据所述目标公钥验证所述签名文件的正确性。
  8. 根据权利要求6所述的方法,其特征在于,在所述N个客户端与所述N个密钥服务器基于各自的密钥分量通过所述安全信道,得到目标公钥之后,还包括:
    第一客户端发起操作请求,其中,所述第一客户端为所述N个客户端中的一个客户端;
    所述N个客户端和所述N个密钥服务器发起MPC计算得到2N份操作分量,并对所述2N份操作分量进行签名,得到2N份签名文件;
    将所述2N份操作分量和所述2N份签名文件,一一对应的下发至N个客户端和N个密钥服务器;
    所述N个客户端和N个密钥服务器通过所述目标公钥验证接收到的签名文件的正确性,在验证通过的情况下,保存接收到的操作分量。
  9. 根据权利要求8所述的方法,其特征在于,所述操作请求包括以下至少之一:备份请求、恢复请求和刷新请求。
  10. 一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:权利要求1至9中任一项所述方法的步骤。
  11. 一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至9中任一项所述方法的步骤。
PCT/CN2019/076579 2019-02-28 2019-02-28 多客户端多服务器联合生成密钥的方法和电子设备 WO2020172883A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/076579 WO2020172883A1 (zh) 2019-02-28 2019-02-28 多客户端多服务器联合生成密钥的方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/076579 WO2020172883A1 (zh) 2019-02-28 2019-02-28 多客户端多服务器联合生成密钥的方法和电子设备

Publications (1)

Publication Number Publication Date
WO2020172883A1 true WO2020172883A1 (zh) 2020-09-03

Family

ID=72238758

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/076579 WO2020172883A1 (zh) 2019-02-28 2019-02-28 多客户端多服务器联合生成密钥的方法和电子设备

Country Status (1)

Country Link
WO (1) WO2020172883A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468986A (zh) * 2015-12-02 2016-04-06 深圳大学 一种保密信息检索方法及系统
CN105794145A (zh) * 2013-11-27 2016-07-20 微软技术许可有限责任公司 服务器辅助的具有数据传输的私有集交集(psi)
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
WO2019027787A1 (en) * 2017-08-03 2019-02-07 Hrl Laboratories, Llc CLOUD-TYPE MULTI-CLIENT CALCULATION PRESERVING CONFIDENTIALITY WITH APPLICATION TO SAFE NAVIGATION
CN109377360A (zh) * 2018-08-31 2019-02-22 西安电子科技大学 基于加权门限签名算法的区块链资产交易转账方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105794145A (zh) * 2013-11-27 2016-07-20 微软技术许可有限责任公司 服务器辅助的具有数据传输的私有集交集(psi)
CN105468986A (zh) * 2015-12-02 2016-04-06 深圳大学 一种保密信息检索方法及系统
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
WO2019027787A1 (en) * 2017-08-03 2019-02-07 Hrl Laboratories, Llc CLOUD-TYPE MULTI-CLIENT CALCULATION PRESERVING CONFIDENTIALITY WITH APPLICATION TO SAFE NAVIGATION
CN109377360A (zh) * 2018-08-31 2019-02-22 西安电子科技大学 基于加权门限签名算法的区块链资产交易转账方法

Similar Documents

Publication Publication Date Title
CN109714165B (zh) 客户端各自生成密钥分量的密钥管理方法和电子设备
CN110278078B (zh) 一种数据处理方法、装置及系统
CN108989047B (zh) 一种基于sm2算法的通信双方协同签名方法与系统
CN109787762B (zh) 服务器各自生成密钥分量的密钥管理方法、电子设备
CN113708930B (zh) 隐私数据的数据比较方法、装置、设备及介质
CN111131412B (zh) 实现5g移动端计算的方法、系统、移动端及云端服务器
CN110635912B (zh) 数据处理方法及装置
CN109818754B (zh) 客户端为多个客户端和单一服务器生成密钥的方法、设备
CN114070614A (zh) 身份认证方法、装置、设备、存储介质和计算机程序产品
Zhao et al. Fuzzy identity-based dynamic auditing of big data on cloud storage
CN109818753B (zh) 择一客户端为多客户端多服务器生成密钥的方法和设备
CN109981591B (zh) 单一客户端生成私钥的密钥管理方法、电子设备
CN117353912A (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
WO2020172883A1 (zh) 多客户端多服务器联合生成密钥的方法和电子设备
CN110311881B (zh) 一种授权方法、加密方法和终端设备
WO2020172882A1 (zh) 择一客户端为多客户端多服务器生成密钥的方法和设备
WO2020172884A1 (zh) 服务器各自生成密钥分量的密钥管理方法、电子设备
CN109981592B (zh) 多客户端多服务器联合生成密钥的方法和电子设备
WO2020172885A1 (zh) 单一客户端生成私钥的密钥管理方法、电子设备
WO2020172889A1 (zh) 客户端各自生成密钥分量的密钥管理方法和电子设备
WO2020172890A1 (zh) 客户端为多个客户端和单一服务器生成密钥的方法、设备
Al-Aqrabi et al. Dynamic multiparty authentication using cryptographic hardware for the internet of things
CN116506227B (zh) 数据处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19917135

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19917135

Country of ref document: EP

Kind code of ref document: A1