服务器各自生成密钥分量的密钥管理方法、电子设备与流程

文档序号:17725402发布日期:2019-05-22 02:28阅读:921来源:国知局
服务器各自生成密钥分量的密钥管理方法、电子设备与流程

本申请属于数据安全技术领域,尤其涉及一种服务器各自生成密钥分量的密钥管理方法、电子设备。



背景技术:

目前,针对密钥服务系统而言,一般都是由一个密钥服务器生成密钥,然后将生成的密钥分发给密钥使用方,这样势必会增加密钥服务器的负担,且因为是由单一密钥服务器生成的,导致所有的密钥生成规则都是密钥服务器自身指定和维护的,灵活性不高。

针对现有的密钥系统中所存在的上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请目的在于提供一种服务器各自生成密钥分量的密钥管理方法、电子设备,可以实现提升密钥系统的密钥安全性和灵活性的技术效果。

本申请提供一种服务器各自生成密钥分量的密钥管理方法、电子设备是这样实现的:

一种服务器各自生成密钥分量的密钥管理方法,应用于密钥系统中,该密钥系统包括:一个客户端和n个密钥服务器,其中,n为大于等于2的整数,所述方法包括:

所述n个密钥服务器接收所述客户端发送的密钥生成请求;

所述n个密钥服务器中的各密钥服务器响应于所述客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量;

所述n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥。

在一个实施方式中,所述n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥,包括:

所述n个密钥服务器中两个密钥服务器作为mpc计算方;

所述n个密钥服务器中除mpc计算方之外的各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥,并通过密钥服务器之间建立的安全信道将第一私钥传送至mpc计算方中的第一密钥服务器,将第二子私钥传送至mpc计算方中的第二密钥服务器;

所述第一密钥服务器和所述第二密钥服务器通过密钥服务器之间建立的安全信道发起mpc计算,得到目标公钥并将所述目标公钥发送至所述客户端。

在一个实施方式中,在发起mpc计算得到目标公钥并将所述目标公钥发送至所述客户端之后,还包括:

所述n个密钥服务器接收客户端发送的签名请求,其中,所述签名请求中携带有待签名数据;

所述n个密钥服务器中除mpc计算方之外的各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥,并通过密钥服务器之间建立的安全信道将第一私钥传送至mpc计算方中的第一密钥服务器,将第二子私钥传送至mpc计算方中的第二密钥服务器;

所述第一密钥服务器和所述第二密钥服务器通过密钥服务器之间建立的安全信道发起mpc计算得到目标私钥,通过所述目标私钥对所述待签名数据进行签名,并将签名后的数据发送给所述客户端。

在一个实施方式中,在发起mpc计算得到目标公钥并将所述目标公钥发送至所述客户端之后,还包括:

所述n个密钥服务器发起操作请求;

响应于所述操作请求,所述n个密钥服务器中除mpc计算方之外的各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥,并通过密钥服务器之间建立的安全信道将第一私钥传送至mpc计算方中的第一密钥服务器,将第二子私钥传送至mpc计算方中的第二密钥服务器;

所述第一密钥服务器和所述第二密钥服务器通过密钥服务器之间建立的安全信道发起mpc计算得到基于目标私钥拆分的n个新密钥分量,并对所述n个新密钥分量进行签名得到n个签名文件,将所述n个新密钥分量和所述n个签名文件分别下发给所述n个密钥服务器中的各个密钥服务器;

所述n个密钥服务器中的各个密钥服务器验证接收到的签名文件是否正确,在确定正确的情况下,执行所述操作请求所请求的操作并存储接收到的新密钥分量。

在一个实施方式中,所述操作请求包括以下至少之一:备份请求、恢复请求和更新请求。

在一个实施方式中,所述n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥,包括:

所述n个密钥服务器之间建立安全信道;

所述n个密钥服务器通过所述安全信道发起多方mpc计算,得到目标公钥,并将所述目标公钥发送至所述客户端。

在一个实施方式中,在将所述目标公钥发送至所述客户端之后,还包括:

所述n个密钥服务器接收客户端发送的签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥;

所述n个密钥服务器通过所述安全信道发起mpc计对所述待签名数据进行签名,并通过所述目标公钥验证签名的正确性。

在一个实施方式中,在发起多方mpc计算,得到目标公钥,并将所述目标公钥发送至所述客户端之后,还包括:

所述n个密钥服务器发起操作请求;

响应于所述操作请求,所述n个密钥服务器通过所述安全信道发起多方mpc计算得到基于目标私钥拆分的n个新密钥分量,并对所述n个新密钥分量进行签名得到n个签名文件,将所述n个新密钥分量和所述n个签名文件分别下发给所述n个密钥服务器中的各个密钥服务器;

所述n个密钥服务器中的各个密钥服务器验证接收到的签名文件是否正确,在确定正确的情况下,执行所述操作请求所请求的操作并存储接收到的新密钥分量。

在一个实施方式中,所述操作请求包括以下至少之一:备份请求、恢复请求和更新请求。

在一个实施方式中,在所述n个密钥服务器接收所述客户端发送的密钥生成请求之前,所述方法还包括:

所述客户端生成第一密钥分量;

相应的,所述n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥,包括:

所述n个密钥服务器和所述客户端之间建立安全信道;

所述n个密钥服务器和所述客户端通过所述安全信道发起多方mpc计算,得到目标公钥。

在一个实施方式中,在发起多方mpc计算,得到目标公钥之后,还包括:

所述n个密钥服务器接收客户端发送的签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥;

所述n个密钥服务器和所述客户端通过所述安全信道发起mpc计算对所述待签名数据进行签名,并通过所述目标公钥验证签名的正确性。

在一个实施方式中,在发起多方mpc计算,得到目标公钥之后,还包括:

所述n个密钥服务器接收所述客户端发起的操作请求;

响应于所述操作请求,所述n个密钥服务器和所述客户端通过所述安全信道发起多方mpc计算得到基于目标私钥拆分的n+1个新密钥分量,并对所述n+1个新密钥分量进行签名得到n+1个签名文件,将所述n+1个新密钥分量和所述n+1个签名文件分别下发给所述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是本申请提供的实例2的密钥备份的交互示意图;

图11是本申请提供的实例2的密钥恢复的交互示意图;

图12是本申请提供的实例2的密钥刷新的交互示意图;

图13是本申请提供的实例3的密钥生成的交互示意图;

图14是本申请提供的实例3的密钥使用的交互示意图;

图15是本申请提供的实例3的密钥备份的交互示意图;

图16是本申请提供的实例3的密钥恢复的交互示意图;

图17是本申请提供的实例3的密钥刷新的交互示意图;

图18是本申请提供的服务器的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

在本例中所提供的服务器各自生成密钥分量的密钥管理方法,应用于密钥系统中,如图1所示,该密钥系统包括:一个客户端和n个密钥服务器,其中,n为大于等于2的整数。

图2是本申请所述一种服务器各自生成密钥分量的密钥管理方法一个实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。

具体的如图2所示,本申请一种实施例提供的一种服务器各自生成密钥分量的密钥管理方法可以包括:

步骤201:n个密钥服务器接收所述客户端发送的密钥生成请求;

其中,上述的客户端为密钥使用方,包括但不限于app、应用服务器等,客户端具体以哪种形式存在可以根据实际需要选择,本申请对此不作限定。上述的密钥服务器为密钥服务方,用于提供密钥相关服务。

步骤202:n个密钥服务器中的各密钥服务器响应于所述客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量;

其中,客户端与密钥服务器通过kyc完成双向认证,并下发认证材料完成注册流程。客户端生成私钥分量ska并保存,保存方式详见存储章节。保存后发起密钥生成请求。密钥服务器收到密钥生成请求后,分别生成密钥分量,如密钥服务器1生成密钥分量sk1;密钥服务器2生成密钥分量sk2;以此类推,密钥服务器n生成密钥分量skn。

步骤203:n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥。

在实现的时候,密钥服务器之间可以通过两方的mpc也可以通过多方的mpc进行计算。下面对不同情况进行说明:

1)基于两方mpc:

n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥,可以包括:

s1:n个密钥服务器中两个密钥服务器作为mpc计算方;

s2:n个密钥服务器中除mpc计算方之外的各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥,并通过密钥服务器之间建立的安全信道将第一私钥传送至mpc计算方中的第一密钥服务器,将第二子私钥传送至mpc计算方中的第二密钥服务器;

s3:第一密钥服务器和所述第二密钥服务器通过密钥服务器之间建立的安全信道发起mpc计算得到目标公钥,并将所述目标公钥发送至所述客户端。

其中,客户端与密钥服务器之间可以通过kyc(knowyourcustomer,确认身份程序)来建立安全通道,其中,确认身份程序可以包括但不限于以下至少之一:手机短信、邮箱验证码、账号密码、指纹、人脸、证书等。

在上述步骤s3后,可以使用私钥和公钥进行签名,签名过程可以包括:

s1:n个密钥服务器接收客户端发送的签名请求,其中,所述签名请求中携带有待签名数据;

s2:n个密钥服务器中除mpc计算方之外的各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥,并通过密钥服务器之间建立的安全信道将第一私钥传送至mpc计算方中的第一密钥服务器,将第二子私钥传送至mpc计算方中的第二密钥服务器;

s3:第一密钥服务器和所述第二密钥服务器通过密钥服务器之间建立的安全信道发起mpc计算对所述待签名数据进行签名,并将签名后的数据发送给所述客户端。

进一步的,基于生成的私钥和公钥等,可以进行其他的操作的,例如:备份请求、恢复请求和更新请求,具体的,可以包括如下步骤:

s1:n个密钥服务器发起操作请求;

s2:响应于所述操作请求,所述n个密钥服务器中除mpc计算方之外的各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥,并通过密钥服务器之间建立的安全信道将第一私钥传送至mpc计算方中的第一密钥服务器,将第二子私钥传送至mpc计算方中的第二密钥服务器;

s3:第一密钥服务器和所述第二密钥服务器通过密钥服务器之间建立的安全信道发起mpc计算得到基于所述目标私钥拆分的n个新密钥分量,并对所述n个新密钥分量进行签名得到n个签名文件,将所述n个新密钥分量和所述n个签名文件分别下发给所述n个密钥服务器中的各个密钥服务器;

s4:n个密钥服务器中的各个密钥服务器验证接收到的签名文件是否正确,在确定正确的情况下,执行所述操作请求所请求的操作并存储接收到的新密钥分量。

在操作请求为恢复请求的情况下,各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥可以包括:各个密钥服务器通过备份方式获取备份的密钥分量,并验证备份密钥分量是否正确,在确定正确的情况下,以备份密钥分量作为自身对应的密钥分量进行拆分。

2)基于多方mpc:

n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥,可以包括:

s1:n个密钥服务器之间建立安全信道;

s2:n个密钥服务器通过所述安全信道发起多方mpc计算,得到目标公钥,并将所述目标公钥发送至所述客户端。

基于生成的公钥和私钥进行签名,可以包括:

s1:n个密钥服务器接收客户端发送的签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥;

s2:n个密钥服务器通过所述安全信道发起mpc计算对所述待签名数据进行签名,并通过所述目标公钥验证签名的正确性。

进一步的,基于生成的私钥和公钥等,可以进行其他的操作的,例如:备份请求、恢复请求和更新请求,具体的,可以包括如下步骤:

s1:n个密钥服务器发起操作请求;

s2:响应于所述操作请求,所述n个密钥服务器通过所述安全信道发起多方mpc计算得到基于目标私钥拆分的n个新密钥分量,并对所述n个新密钥分量进行签名得到n个签名文件,将所述n个新密钥分量和所述n个签名文件分别下发给所述n个密钥服务器中的各个密钥服务器;

s3:n个密钥服务器中的各个密钥服务器验证接收到的签名文件是否正确,在确定正确的情况下,执行所述操作请求所请求的操作并存储接收到的新密钥分量。

在操作请求为恢复请求的情况下,各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥包括:各个密钥服务器通过备份方式获取备份的密钥分量,并验证备份密钥分量是否正确,在确定正确的情况下,以备份密钥分量作为自身对应的密钥分量进行拆分。

3)多方mpc,且客户端也生成密钥分量:

在n个密钥服务器接收客户端发送的密钥生成请求之前,客户端生成第一密钥分量;

相应的,n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥,可以包括:

s1:n个密钥服务器和所述客户端之间建立安全信道;

s3:n个密钥服务器和所述客户端通过所述安全信道发起多方mpc计算得到目标私钥,并通过所述目标私钥计算得到目标公钥。

可以使用私钥和公钥进行签名,签名过程可以包括:

s1:n个密钥服务器接收客户端发送的签名请求,其中,所述签名请求中携带有待签名数据和所述目标公钥;

s2:n个密钥服务器和所述客户端通过所述安全信道发起mpc计算对所述待签名数据进行签名,并通过所述目标公钥验证签名的正确性。

进一步的,基于生成的私钥和公钥等,可以进行其他的操作的,例如:备份请求、恢复请求和更新请求,具体的,可以包括如下步骤:

s1:n个密钥服务器接收所述客户端发起的操作请求;

s2:响应于所述操作请求,所述n个密钥服务器和所述客户端通过所述安全信道发起多方mpc计算得到基于目标私钥拆分的n+1个新密钥分量,并对所述n+1个新密钥分量进行签名得到n+1个签名文件,将所述n+1个新密钥分量和所述n+1个签名文件分别下发给所述n个密钥服务器中的各个密钥服务器和所述客户端;

s3:n个密钥服务器中的各个密钥服务器和所述客户端验证接收到的签名文件是否正确,在确定正确的情况下,执行所述操作请求所请求的操作并存储接收到的新密钥分量。

在操作请求为恢复请求的情况下,各个密钥服务器将自身对应的密钥分量拆分为第一子私钥和第二子私钥包括:各个密钥服务器通过备份方式获取备份的密钥分量,并验证备份密钥分量是否正确,在确定正确的情况下,以备份密钥分量作为自身对应的密钥分量进行拆分。

下面结合几个具体实例对上述方法进行说明,然而,值得注意的是,该具体实例仅是为了更好地说明本申请,并不构成对本申请的不当限定。

实例1

在本例中提供了一种基于安全两方计算通过多个服务端生成并保管的密钥管理方法,一种基于安全多方计算的密钥管理方案,应用在密钥管理系统的密钥生成、使用、存储、备份、恢复、刷新等操作。

具体的,不同服务端独立生成密钥分量,最后使用两方mpc生成公钥;通过两方mpc,使用服务端计算签名。对这种情境下的密钥生成、使用、存储、备份、恢复、刷新等操作说明如下:

1)生成:

如图3所示,可以包括如下步骤:

s1:客户端与密钥服务器通过kyc完成双向认证,并下发认证材料完成注册流程;

s2:密钥服务器1~n分别在本地生成密钥分量sk1~n;

s3:服务端选择两台服务器作为mpc计算方,假设选择密钥服务器1和密钥服务器2作为mpc计算方;

具体的,在选取mpc计算方的时候可以采用随机选取的方式,也可以是按照预设算法等选择的方式,具体采用哪种方式选取mpc计算方可以根据实际需要和情况确定,本申请对此不作限定。

s4:密钥服务器1~n通过kyc完成双向认证并建立安全信道,然后,将sk3拆分成sk3-1、sk3-2,将sk3-1传给密钥服务器1、sk3-2传给密钥服务器2。以此类推,skn拆分成skn-1、skn-2,将skn-1传给密钥服务器1、skn-2传给密钥服务器2;

s5:密钥服务器1、2通过安全信道发起两方mpc计算:通过密钥分量sk1、sk2、sk3-1~n-1、sk3-2~n-2计算出私钥sk,并通过私钥sk计算出公钥pk,并将pk保存后返回给客户端。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),sk1~n均没有在计算交互过程中出现(即没有在网络层传输sk1~n用于计算)。

2)使用:

如图4所示,可以包括如下步骤:

s1:客户端发起签名请求,并提供公钥pk作为唯一标识以及待签名数据;

s2:服务端选择两台服务器作为mpc计算方,假设选择密钥服务器1和密钥服务器2作为mpc计算方;

s3:密钥服务器1~n通过kyc完成双向认证并建立安全信道,然后,将sk3拆分成sk3-1、sk3-2,将sk3-1传给密钥服务器1、sk3-2传给密钥服务器2。以此类推,skn拆分成skn-1、skn-2,将skn-1传给密钥服务器1、skn-2传给密钥服务器2。

s4:密钥服务器1、2通过安全信道发起mpc计算:通过密钥分量sk1、sk2、sk3-1~n-1、sk3-2~n-2计算出私钥sk,并通过私钥sk对待签名数据进行签名,将签名保存并返回给客户端。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),sk1~n均没有在计算交互过程中出现(即没有在网络层传输sk1~n用于计算)。

3)存储:

将密钥或密钥分量通过但不限于以下形式之一保存下来:

数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

hsm:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;

二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。

4)备份:

如图5所示,可以包括如下步骤:

s1:服务端发起备份请求;

s2:服务端选择两台服务器作为mpc计算方,假设选择密钥服务器1和密钥服务器2作为mpc计算方;

s3:密钥服务器1~n通过kyc完成双向认证并建立安全信道,然后,将sk3拆分成sk3-1、sk3-2,将sk3-1传给密钥服务器1、sk3-2传给密钥服务器2。以此类推,skn拆分成skn-1、skn-2,将skn-1传给密钥服务器1、skn-2传给密钥服务器2。

s4:密钥服务器1、2通过安全信道发起mpc计算:通过密钥分量sk1、sk2、sk3-1~n-1、sk3-2~n-2计算出私钥sk,并通过私钥sk进行secretsharing生成新的sk1~n。并将新的sk1~n进行签名。将sk1~skn及其签名分别下发给对应的密钥服务器。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),sk1~n均没有在计算交互过程中出现(即没有在网络层传输sk1~n用于计算)。

s5:各密钥服务器在收到相关信息后,验证接收到的签名分量是否正确,在验证通过的情况下,备份并保存接收到的密钥分量。例如,密钥服务器1在接收到sk1和sk1的签名之后,通过pk验证sk1的签名的正确性,在验证通过后,保存sk1,密钥服务器2在接收到sk2和sk2的签名之后,通过pk验证sk2的签名的正确性,在验证通过后,保存sk2,以此类推。

5)恢复:

如图6所示,可以包括如下步骤:

s1:服务端发起恢复请求;

s2:服务端选择两台服务器作为mpc计算方,假设选择密钥服务器1和密钥服务器2作为mpc计算方;

s3:密钥服务器1~n通过kyc完成双向认证并建立安全信道,然后,通过备份方式获取备份密钥,并将备份密钥sk3`拆分成sk3-1`、sk3-2`,将sk3-1`传给密钥服务器1、sk3-2`传给密钥服务器2。以此类推,skn`拆分成skn-1`、skn-2`,将skn-1`传给密钥服务器1、skn-2`传给密钥服务器2。

s4:密钥服务器1、2通过安全信道发起mpc计算:通过备份密钥分量sk1`、sk2`、sk3-1~n-1`、sk3-2~n-2`计算出私钥sk,并通过私钥sk进行secretsharing生成新的工作密钥sk1~n,并将新的sk1~n进行签名。将sk1~skn及其签名分别下发给对应服务器。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),sk1~n`均没有在计算交互过程中出现(即没有在网络层传输sk1~n`用于计算)。

s5:各密钥服务器在收到相关信息后,验证接收到的签名分量是否正确,在验证通过的情况下,备份并保存接收到的密钥分量。例如,密钥服务器1在接收到sk1和sk1的签名之后,通过pk验证sk1的签名的正确性,在验证通过后,保存sk1,密钥服务器2在接收到sk2和sk2的签名之后,通过pk验证sk2的签名的正确性,在验证通过后,保存sk2,以此类推。

6)刷新:

如图7所示,可以包括如下步骤:

s1:客户端发起刷新密钥请求;

s2:服务端选择两台服务器作为mpc计算方,假设选择密钥服务器1和密钥服务器2作为mpc计算方;

s3:密钥服务器1~n通过kyc建立安全信道,将sk3拆分成sk3-1、sk3-2,将sk3-1传给密钥服务器1、sk3-2传给密钥服务器2。以此类推,skn拆分成skn-1、skn-2,将skn-1传给密钥服务器1、skn-2传给密钥服务器2;

s4:密钥服务器1、2通过安全信道发起mpc计算:通过密钥分量sk1、sk2、sk-1~n-1、sk1-2~n-2计算出私钥sk,并通过私钥sk进行secretsharing生成新的sk1~n。并将新的sk1~n进行签名。将sk1~skn及其签名分别下发给对应服务器。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),sk1~n均没有在计算交互过程中出现(即没有在网络层传输sk1~n用于计算);

s5:各密钥服务器在收到相关信息后,验证接收到的签名分量是否正确,在验证通过的情况下,刷新并保存接收到的密钥分量。例如,密钥服务器1在接收到sk1和sk1的签名之后,通过pk验证sk1的签名的正确性,在验证通过后,刷新并保存sk1,密钥服务器2在接收到sk2和sk2的签名之后,通过pk验证sk2的签名的正确性,在验证通过后,刷新并保存sk2,以此类推。

实例2

在本例中提供了一种基于安全多方计算通过多个服务端生成并保管的密钥管理方法,一种基于安全多方计算的密钥管理方案,应用在密钥管理系统的密钥生成、使用、存储、备份、恢复、刷新等操作。

具体的,没有客户端参与,多个服务端分别生成私钥分量通过mpc获得公钥,通过mpc,多个服务端计算签名,通过私钥分量进行mpc计算刷新多个服务端分量。对这种情境下的密钥生成、使用、存储、备份、恢复、刷新等操作说明如下:

1)生成

如图8所示,可以包括如下步骤:

s1:客户端与密钥服务器通过kyc完成双向认证,并下发认证材料完成注册流程;

s2:密钥服务器收到密钥生成请求后,分别生成密钥分量,例如:密钥服务器1生成密钥分量sk1,密钥服务器2生成密钥分量sk2;以此类推,密钥服务器n生成密钥分量skn;

s3:密钥服务器通过认证材料鉴权建立安全信道,发起mpc计算:通过密钥分量sk1~n计算出私钥sk,并通过私钥sk算出公钥pk。并将公钥返回给密钥服务器,分别保存。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),sk1~n均没有在计算交互过程中出现(即没有在网络层传输sk1~n用于计算);

s4:密钥服务器返回密钥生成响应,返回公钥信息。

2)使用:

如图9所示,可以包括如下步骤:

s1:客户端发起签名请求,并提供公钥pk作为唯一标识以及待签名数据;

s2:密钥服务器间通过kyc完成双向认证并建立安全信道;

s3:密钥服务器通过安全信道发起mpc计算:对待签名数据进行签名操作,并通过pk公钥验证签名正确性。

3)存储:

将密钥或密钥分量通过但不限于以下形式保存下来:

数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

hsm:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;

二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。

4)备份:

如图10所示,可以包括如下步骤:

s1:服务端发起备份密钥请求;

s2:密钥服务器间通过kyc建立安全信道,发起mpc计算:生成私钥sk,并通过secretsharing算法生成sk1~skn,使用sk对sk1~skn进行签名,生成签名s1~sn。将签名分别下发给不同的密钥服务器,例如:下发sk1、s1至密钥服务器1;下发sk2、s2至密钥服务器2;以此类推,下发skn、sn至密钥服务器n。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中)。

s3:各密钥服务器在收到相关信息后,验证接收到的签名分量是否正确,在验证通过的情况下,备份并保存接收到的备份密钥分量。例如,密钥服务器1在接收到sk1和s1之后,通过pk验证s1的正确性,在验证通过后,保存sk1,密钥服务器2在接收到sk2和s2之后,通过pk验证sk2的正确性,在验证通过后,保存sk2,以此类推。

5)恢复:

如图11所示,可以包括如下步骤:

s1:服务端发起恢复请求;

s2:密钥服务器间通过kyc完成双向认证并建立安全信道,通过备份方式获取备份密钥,进行mpc计算验证备份分量是否正确:计算私钥sk,通过sk生成公钥pk,若pk与保存pk相同,则验证通过;

s3:若通过验证,则进行mpc计算恢复密钥分量:计算私钥sk,并通过secretsharing算法生成sk1~skn,使用sk对sk1~skn进行签名,生成签名s1~sn。将签名分别下发给不同的密钥服务器,例如:下发sk1、s1至密钥服务器1;下发sk2、s2至密钥服务器2;以此类推,下发skn、sn至密钥服务器n。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中);

s4:各密钥服务器在收到相关信息后,验证接收到的签名分量是否正确,在验证通过的情况下,更新并保存接收到的密钥分量。例如,密钥服务器1在接收到sk1和sk1的签名之后,通过pk验证sk1的签名的正确性,在验证通过后,保存sk1,密钥服务器2在接收到sk2和sk2的签名之后,通过pk验证sk2的签名的正确性,在验证通过后,保存sk2,以此类推。

6)刷新:

如图12所示,可以包括如下步骤:

s1:客户端发起刷新密钥请求;

s2:密钥服务器间通过kyc完成双向认证并建立安全信道,发起mpc计算:生成私钥sk,并通过secretsharing算法生成sk1~skn,使用sk对sk1~skn进行签名,生成签名s1~sn。将签名分别下发给不同的密钥服务器,例如:下发sk1、s1至密钥服务器1;下发sk2、s2至密钥服务器2;以此类推,下发skn、sn至密钥服务器n。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中);

s3:各密钥服务器在收到相关信息后,验证接收到的签名分量是否正确,在验证通过的情况下,更新并保存接收到的密钥分量。例如,密钥服务器1在接收到sk1和sk1的签名之后,通过pk验证sk1的签名的正确性,在验证通过后,保存sk1,密钥服务器2在接收到sk2和sk2的签名之后,通过pk验证sk2的签名的正确性,在验证通过后,保存sk2,以此类推。

实例3

在本例中提供了一种基于安全多方计算通过多个服务端一个客户端生成并保管的密钥管理方法,一种基于安全多方计算的密钥管理方案,应用在密钥管理系统的密钥生成、使用、存储、备份、恢复、刷新等操作。

具体的,一个客户端多个服务端分别生成私钥分量通过mpc获得公钥,通过mpc,使用客户端和多个服务端计算签名,通过私钥分量,进行mpc计算刷新客户端与多个服务端分量。对这种情境下的密钥生成、使用、存储、备份、恢复、刷新等操作说明如下:

1)生成:

如图13所示,可以包括如下步骤:

s1:客户端与密钥服务器通过kyc完成双向认证,并下发认证材料完成注册流程;

s2:客户端生成私钥分量ska并保存,保存后发起密钥生成请求;

s3:密钥服务器收到密钥生成请求后,分别生成密钥分量,例如:密钥服务器1生成密钥分量sk1,密钥服务器2生成密钥分量sk2,以此类推,密钥服务器n生成密钥分量skn;

s4:客户端与密钥服务器通过认证材料鉴权建立安全信道,发起mpc计算:通过密钥分量ska、sk1~n计算出私钥sk,并通过私钥sk算出公钥pk。并将公钥返回给客户端与密钥服务器,分别保存。因为整个过程是完整的mpc计算,因此,私钥sk实际上并没有真正生成过(不管是计算过程中,还是使用过程中),ska、sk1~n均没有在计算交互过程中出现(即没有在网络层传输ska、sk1~n用于计算)。

2)使用:

如图14所示,可以包括如下步骤:

s1:客户端发起签名请求,并提供公钥pk作为唯一标识以及待签名数据;

s2:客户端与密钥服务器通过kyc完成双向认证并建立安全信道;

s3:客户端与密钥服务器通过安全信道发起mpc计算:对待签名数据进行签名操作,并通过pk公钥验证签名正确性。

3)存储:

将密钥或密钥分量通过如下形式中的一种或多种保存:

数据库:通过数据库保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

密钥文件:通过导出密钥文件形式保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

hsm:通过硬件安全模块保存密钥或密钥分量,其中密钥或密钥分量可以加密保存;

助记词:将密钥活密钥分量通过转换生成一系列助记词进行保存;

二维码:通过密钥或密钥分量生成对应二维码进行保存,其中密钥或密钥分量可以加密保存。

4)备份:

如图15所示,可以包括如下步骤:

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验证签名有效性,如果有效,则保存备份密钥分量。

5)恢复:

如图16所示,可以包括如下步骤:

s1:通过备份方式获取备份密钥,使用备份密钥分量ska、pk发起密钥恢复请求;

s2:客户端与密钥服务器通过kyc完成双向认证并建立安全信道,进行mpc计算验证备份分量是否正确:计算私钥sk,通过sk生成公钥pk,如果pk与保存的pk相同,则验证通过;

s3:如果通过验证,则进行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实际上并没有真正生成过(不管是计算过程中,还是使用过程中);

s4:各个密钥服务器、客户端通过之前存储的公钥pk验证签名的有效性,若有效,则更新并保存密钥分量。

6)刷新:

如图17所示,可以包括如下步骤:

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验证签名的有效性,如果有效,则更新并保存密钥分量。

本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在服务器端上为例,图18是本发明实施例的一种服务器各自生成密钥分量的密钥管理方法的服务器端的硬件结构框图。如图18所示,服务器端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图18所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图18中所示更多或者更少的组件,或者具有与图18所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的服务器各自生成密钥分量的密钥管理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的服务器各自生成密钥分量的密钥管理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在软件层面,上述服务器各自生成密钥分量的密钥管理装置可以包括:

接收模块,用于接收客户端发送的密钥生成请求;

生成模块,用于密钥服务器响应于所述客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量;

计算模块,用于根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥。

本申请的实施例还提供能够实现上述实施例中的服务器各自生成密钥分量的密钥管理方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:

处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;

其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器601用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的服务器各自生成密钥分量的密钥管理方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤1:n个密钥服务器接收所述客户端发送的密钥生成请求;

步骤2:所述n个密钥服务器中的各密钥服务器响应于所述客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量;

步骤3:所述n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥。

从上述描述可知,本申请实施例n个密钥服务器中的各密钥服务器响应于客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量,然后,基于这n个密钥分量计算得到目标私钥,并通过目标私钥计算得到目标公钥,从而实现密钥分量和目标公钥的生成。通过上述方案解决了现有的密钥系统所存在的仅通过一个密钥服务器生成密钥所存在的安全性和灵活性不高的技术问题,达到了有效提升密钥系统安全性和灵活性的技术效果。

本申请的实施例还提供能够实现上述实施例中的服务器各自生成密钥分量的密钥管理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的服务器各自生成密钥分量的密钥管理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤1:n个密钥服务器接收所述客户端发送的密钥生成请求;

步骤2:所述n个密钥服务器中的各密钥服务器响应于所述客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量;

步骤3:所述n个密钥服务器根据n个密钥分量计算得到目标私钥,并通过所述目标私钥计算得到目标公钥。

从上述描述可知,本申请实施例n个密钥服务器中的各密钥服务器响应于客户端的密钥生成请求,分别在本地生成自身对应的密钥分量,得到n个密钥分量,然后,基于这n个密钥分量计算得到目标私钥,并通过目标私钥计算得到目标公钥,从而实现密钥分量和目标公钥的生成。通过上述方案解决了现有的密钥系统所存在的仅通过一个密钥服务器生成密钥所存在的安全性和灵活性不高的技术问题,达到了有效提升密钥系统安全性和灵活性的技术效果。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1