一种协同签名方法、装置、设备及系统与流程

文档序号:20916779发布日期:2020-05-29 13:38阅读:480来源:国知局
一种协同签名方法、装置、设备及系统与流程

本文件涉及计算机技术领域,尤其涉及一种协同签名方法、装置、设备及系统。



背景技术:

协同签名是指签名所用的私钥被分割成多份私钥分量并分别由多方掌管,签名计算过程也是由多方协作完成的。在目前的协同签名方案中,多方之间一般是通过公网通信的。

因此,需要提供更高效的协同签名方案。



技术实现要素:

本说明书实施例提供一种协同签名方法,用以提高协同签名效率。

本说明书实施例还提供一种协同签名方法,包括:

预设时间节点达到时,服务器向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种协同签名方法,包括:

用户端接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;

将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种协同签名方法,包括:

预设时间点达到时,第三协同方按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种一种协同签名方法,包括:

第二协同方按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种一种协同签名方法,包括:

第一协同方按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名装置,包括:

第一发送模块,预设时间节点达到时,向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

第一接收模块,接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;

第一处理模块,基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种协同签名装置,包括:

第一接收模块,接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

第一处理模块,基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;

第一发送模块,将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种协同签名装置,包括:

第一发送模块,预设时间点达到时,按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

第一接收模块,接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

第一处理模块,基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名装置,包括:

第一接收模块,按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

第一处理模块,基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

第二接收模块,接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

第二处理模块,基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名装置,包括:

第一接收模块,按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

第一处理模块,基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

第二处理模块,基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

预设时间节点达到时,向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种协同签名设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;

将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种协同签名设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

预设时间点达到时,按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下操作:

预设时间节点达到时,向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下操作:

接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;

将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下操作:

预设时间点达到时,按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下操作:

按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下操作:

按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

本说明书实施例还提供一种协同签名系统,包括:m个协同方,私钥被拆分为m份的私钥分量并分别保存于所述m各协同方,m大于2,其中:

在预设时间节点达到时,按照预先约定的协同顺序,第m协同方向第m-1协同方发送第一私钥运算保护分量,由所述第m-1协同方生成第二私钥运算保护分量并发送给下一协同方,直至由第一协同方生成第m私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

按照所述预先约定的协同顺序,所述第一协同方基于第m私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给第二协同方,由所述第二协同方基于第一部分签名和第二私钥分量,生成第二部分签名并发送给下一协同方,直至由第m协同方基于第m-1部分签名和第m私钥分量,生成完整私钥并发送给验签方。

本说明书一个实施例实现了,在协同签名场景中,将私钥运算保护分量作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,本说明书一个实施例还实现了,通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1a和图1b为本说明书提供的一种协同签名方法的应用场景示意图;

图2为本说明书一实施例提供的服务器侧的一种协同签名方法的流程示意图;

图3为本说明书一实施例提供的用户端侧的一种协同签名方法的流程示意图

图4为本说明书一实施例提供的一种协同签名方法的流程示意图;

图5a为本说明书一实施例提供的私钥运算保护分量协同顺序的示意图;

图5b为本说明书一实施例提供的签名协同顺序的示意图;

图6为本说明书另一实施例提供的一种协同签名方法的流程示意图;

图7为本说明书又一实施例提供的一种协同签名方法的流程示意图;

图8为本说明书一实施例提供的一种协同签名装置的结构示意图;

图9为本说明书另一实施例提供的一种协同签名装置的结构示意图;

图10为本说明书又一实施例提供的一种协同签名装置的结构示意图;

图11为本说明书又一实施例提供的一种协同签名装置的结构示意图;

图12为本说明书又一实施例提供的一种协同签名装置的结构示意图;

图13为本说明书一实施例提供的一种电子设备的结构示意图;

图14为本说明书一实施例提供的一种协同签名系统的结构示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文件保护的范围。

正如背景技术部分陈述的,现有的协同签名方案一般是两个或两个以上的协同方首先按照第一协同顺序通过公网进行私钥运算保护分量的协同,然后按照与第一协同顺序相反的第二协同顺序再次通过公网进行签名的协同,因此,签名操作至少包括两次公网传输往返,而由于公网传输的延迟较高,一般有几百毫秒,导致协同签名效率较低。基于此,本说明书提供一种协同签名方法,通过将私钥运算保护分量的协同作为预准备工作,在签名验证行为之前由各协同方协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率。

其中,协同方是指参与协同签名且保存有私钥分量的主体,包括发起签名验证的用户端,也可以包括其他用户端,包括与发起签名验证的用户端对应的服务器,也可以包括其他服务器;公网是相对于内网而言的,内网上网的计算机得到的ip地址是internet上的保留地址,而公网上网的计算机得到的ip地址是因特网的公用地址,是非保留的地址。

下面对本说明书的应用场景进行示例性说明。

参见图1a,第一种应用场景中包括:用户端101、服务器102和验签方103,其中:

用户端101侧保存有本用户的第一私钥分量;服务器102侧保存有多个用户的第二私钥分量,包括该用户的第二私钥分量,该用户的第一私钥分量和第二私钥分量组合成该用户的完整私钥。其协同签名过程可以为:

用户端101响应用户操作,通过网络与服务器102通信向服务器102提交业务数据;由用户端101和服务器102按照约定的顺序,使用各自秘密保存的私钥分量共同参与计算来完成业务数据的协同签名,并提交至验签方103,由验签方103对协同签名结果进行验证。

其中,用户端101是指安装于用户设备、与服务器相对应的、为客户提供本地服务的程序,所述用户设备可以为pc(如台式电脑),也可以为移动终端(如智能手机、平板);服务器102是指提供业务相关服务的业务方所有的设备;验签方103是指验证协同签名结果是否合法的设备,可以是用户与业务方约定认可的第三方权威机构,也可以是用户私钥的发放平台。

参见图1b,第二种应用场景中包括:m个协同方111和验签方112,其中:

用户的完整私钥被拆分为m份的私钥分量并分别由m个协同方111进行密码保存。其协同签名过程可以为:

m个协同方111中的任一协同方提交业务数据,由各协同方111按照约定的顺序,使用各自秘密保存的私钥分量共同参与计算来完成所述业务数据的协同签名,并由最后一个协同签名的协同方111将协同签名结果提交至验签方112,由验签方112对协同签名结果进行验证。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图2为本说明书一实施例提供的服务器侧的一种协同签名方法的流程示意图,可由图1a中的服务器102执行,参见图2,该方法具体可以包括如下步骤:

步骤202、预设时间节点达到时,服务器向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

其中,时间节点是指在用户办理业务过程中预先标记的时间点;签名验证行为是指提交业务相关的业务数据以请求办理该业务的行为;私钥运算保护分量是指协同运算参与方基于随机数生成的、用于保护私钥的参数,该参数能够避免私钥分量在协同签名过程中被暴露;理想情况下,即使攻击者获取了全部的交互数据和其他参与方的私钥分量,也不能计算出受保护方的私钥分量。

由于协同签名协议的多样性,以及时间节点的多可选性,因此,步骤202中的第一私钥运算保护分量的内容及其发送时机均是多样的,故,步骤202示例性说明如下:

示例1、用户通过操作用户设备(如点击用户端的图标),开启用户端;用户端向服务器发送消息,以告知服务器用户端被开启;服务器将所述用户端被开启的时间节点作为预设时间节点,生成第一随机数,并将所述第一随机数作为所述第一私钥运算保护分量,或者,进一步地对所述第一随机数加密处理,得到第一密文,并将第一密文作为所述第一私钥运算保护分量。

示例2、开启用户端后,用户通过操作用户端开启目标用户界面;用户端向服务器发送消息,以告知服务器目标用户界面被开启;服务器将目标用户界面被开启的时间节点作为预设时间节点,生成第一随机数,并将所述第一随机数作为所述第一私钥运算保护分量,进一步地对所述第一随机数加密处理,得到第一密文,并将第一密文作为所述第一私钥运算保护分量。

示例3、开启用户端后,用户通过操作用户端开启目标用户界面;用户端向服务器发送消息,以告知服务器目标用户界面被开启;服务器将目标用户界面被开启的时间节点作为预设时间节点,生成第一随机数,基于所述第一随机数和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量;或者,进一步地对所述第一随机数加密处理,得到第一密文;基于所述第一密文和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量。

其中,所述预指定参数可以是目标业务数据的一些公开参数,例如:贷款业务中,用户可借贷的额度、还款方式、还款期限等;第一密文可置于第一私钥运算保护分量所占字节的最后几个字节,以便后续签名时查找并解密。

对于示例2和示例3,服务器可预先基于用户端支持的所有业务的安全要求,从中确定多个安全要求较高的业务,记为目标业务,例如:贷款业务、身份验证业务等,并为每个目标业务关联至少一个用户界面,记为目标用户界面,所述目标用户界面用于供用户输入/选择相关业务数据进而发起签名验证,显然,其开启时间节点早于发起签名验证的时间节点,例如:为贷款业务关联一额度展示界面,所述额度展示界面用于展示用户可贷款的额度、贷款用途、还款期限等,供用户选择额度、贷款用途等后发起业务办理请求,同步进行签名验证;又例如:为身份验证业务关联一身份信息输入界面,所述身份信息输入界面用于采集用户身份信息,供用户录入身份信息后发起身份验证请求,同步进行签名验证,该身份信息输入界面可包括人脸采集界面、指纹录入界面等。

示例4、开启用户端后,用户通过操作用户端开启用户界面并在用户界面选择业务数据,用户端将业务数据发送至服务器;服务器判断该业务数据是否为需要签名的业务数据,若是,则将该业务数据记为目标业务数据,并将所述用户端上报目标业务数据的时间节点作为所述预设时间节点,生成第一随机数,并将所述第一随机数作为所述第一私钥运算保护分量,进一步地对所述第一随机数加密处理,得到第一密文,并将第一密文作为所述第一私钥运算保护分量。

示例5、开启用户端后,用户通过操作用户端开启用户界面并在用户界面选择业务数据,用户端将业务数据发送至服务器;服务器判断该业务数据是否为需要签名的业务数据,若是,则将该业务数据记为目标业务数据,并将所述用户端上报目标业务数据的时间节点作为所述预设时间节点,生成第一随机数,基于所述第一随机数和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量;或者,进一步地对所述第一随机数加密处理,得到第一密文;基于所述第一密文和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量。

基于此,本说明书实施例针对多种业务,通过预先设置多个时间节点,以在用户端发起签名验证行为之前,将私钥运算保护分量预先发送给用户端,达到减少一次公网传输的目的;而且,通过调整预先发送的私钥运算保护分量的内容,例如:可携带业务数据相关参数,也可不携带业务数据相关参数,因此,能够适应已有的协同签约协议,从而有效降低方案的推广难度;而且,还可对随机数进行加密处理,将加密生成的密文携带与私钥运算保护分量中,以进一步地提高私钥运算保护分量的保密性;另外,对于生成随机数和加密处理的具体实现方式,此处不做限定。

进一步地,由于服务器所需处理的业务量非常巨大,所需生成的随机数也非常多,若将字节占用较大的随机数保存在服务器侧,则可能会增加服务器的存储压力/保持压力,尤其是在业务高并发的时间段,服务器可能会由于压力过大而出现异常。针对这种情况,本说明书的一个实施例在将第一私钥运算保护分量发送至用户端之后,可删除所述第一随机数,而不再保存于服务器侧,并保存字节占用较小的所述第一密文,从而可在保证第一随机数可追溯的情况下,降低服务器的存储压力/保持压力,从而确保协同签名的可靠性。

更进一步地,服务器既可以删除所述第一随机数,也可以不保存所述第一密文,而是将所述第一密文下发给所述用户端,由所述用户端在发送所述第一部分签名时再将所述第一密文发送给服务器,以追溯所述第一随机数。由此,可在保证第一随机数可追溯的情况下,再次且极大地降低服务器的存储压力/保持压力,从而有效确保协同签名的可靠性。

步骤204、接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;具体可以示例为:

示例1`、用户端接收到第一私钥运算保护分量之后,先将所述第一私钥运算保护分量保存至本地;然后,当用户输入办理业务的指令时,再提取出所述第一私钥运算保护分量,并再结合第一私钥分量对用户办理业务所提交/选择的目标业务数据进行签名,得到第一部分签名,并发送给服务器。

示例2`、在示例1`的基础上,用户端接收到第一私钥运算保护分量之后,还加入一新的第二随机数,以生成第二私钥运算保护分量并保存至本地;然后,当用户输入办理业务的指令时,再提取出所述第二私钥运算保护分量,并再结合第一私钥分量对用户办理业务所提交/选择的目标业务数据进行签名,得到第一部分签名,并发送给服务器。

对于示例2`,不难理解的是,在步骤204之前,方法还包括:分配第二随机数的步骤,该步骤具体可以示例为:

示例1``、在上述预设时间节点到达时,服务器生成第二随机数,并将该第二随机数分配给用户端。为降低分配第二随机数所需的资源,可将第二随机数与所述第一私钥运算保护分量一并发送给用户端。

示例2``、检测到所述用户端上报的用户所选目标业务数据需要签名时,向用户端发送签名指示,以指示用户端发起签名验证行为,同步地,可将所述第二随机数和签名指示一并发送给所述用户端,所述签名指示用于指示对所述目标业务数据进行签名。

示例3``、在前一示例(示例2``)的基础上,还可将所述第一私钥运算保护分量和所述签名指示一并发送给所述用户端。

其中,所述第二随机数可以由用户端生成,也可以由服务器为用户端分配;而由于服务器的性能较好,生成的随机数安全性更高,因此,此处优选为由服务器为用户端分配第二随机数。

基于此,本说明书实施例一方面,可引入参与协同的协同方中的一个的随机因子(随机数),也可引入多个或每个协同方的随机因子,从而可有效提高协同签名的安全性;而且,可基于服务器的负载情况或风控要求,灵活调整引入的随机因子的数量,例如:负载较大时,可仅引入较少的随机因子,反之,可引入较多的随机数,又例如:由于业务的安全要求较高或者系统风控要求较高时,可引入较多的随机因子,反之可引入较少的随机因子,从而可灵活调整协同签名的效率;另一方面,还将服务器下发给用户端的多种信息进行合并发送,例如:对第一私钥运算保护分量、签名指示和第二随机数中的两个或三个进行合并发送,从而能够有效降低服务器与用户端交互所占用的资源,达到进一步提高协同签名效率的目的。

步骤206、基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。结合步骤202对应的示例,步骤206的实现方式可以为:

对于直接基于第一随机数进行的签名,步骤206的一种实现方式可以为:

使用第一随机数和第二私钥分量,生成第二部分签名;基于所述第一部分签名和所述第二部分签名,生成完整签名。或者,

使用第一随机数和第二私钥分量,在第一部分签名的基础上进行签名,得到完整签名。

对于基于第一密文进行的签名,步骤206的另一种实现方式可以为:

首先,对所述第一密文进行解密处理,得到所述第一随机数;具体可以示例为:若服务器侧保存有所述第一密文,则查找出所述第一密文并对第一密文进行解密,即可得到所述第一随机数;若服务器侧未保存所述第一密文,而是将所述第一密文下发给所述用户端,则接收所述用户端在上报所述第一部分签名时上报的所述第一密文,或者,接收用户端上报的所述第一部分签名,解析所述第一部分签名得到其中的所述第一密文,然后,服务器对第一密文进行解密,得到所述第一随机数;

然后,基于所述第一随机数和所述第二私钥分量,生成第二部分签名;基于所述第一部分签名和所述第二部分签名,生成完整签名。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,由服务器作为最后的协同方,以尽可能地确保由与验签方同一内网的协同方进行最后的签名合成,当然,若验签方与用户端处于同一内网,则可在预设时间达到时,按照用户端至服务器的协同顺序进行私钥运算保护分量的协同计算,按照服务器至用户端的协同顺序进行协同签名,以在用户端侧进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图3为本说明书一实施例提供的用户端一种协同签名方法的流程示意图,可由图1中的用户端101执行,参见图3,该方法具体可以包括如下步骤:

步骤302、接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

由于步骤302与图2对应实施例中的步骤202相对应,且上文已记载步骤202的具体实现方式,故,此处不再对步骤302进行展开说明,具体可参见对步骤202的相关描述。

步骤304、基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;其一种实现方式可以为:

用户端接收到第一私钥运算保护分量之后,先将所述第一私钥运算保护分量保存至本地;然后,当用户输入办理业务的指令时,再提取出所述第一私钥运算保护分量,并再结合第一私钥分量对用户办理业务所提交/选择的目标业务数据进行签名,得到第一部分签名,并发送给服务器。

其另一种实现方式可以为:

用户端接收到第一私钥运算保护分量之后,还加入一新的第二随机数,以生成第二私钥运算保护分量并保存至本地;然后,当用户输入办理业务的指令时,再提取出所述第二私钥运算保护分量,并再结合第一私钥分量对用户办理业务所提交/选择的目标业务数据进行签名,得到第一部分签名,并发送给服务器。

步骤306、将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

由于步骤306与图2对应实施例中的步骤206相对应,且上文已记载步骤206的具体实现方式,故,此处不再对步骤306进行展开说明,具体可参见对步骤206的相关描述。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,由服务器作为最后的协同方,以尽可能地确保由与验签方同一内网的协同方(如服务器)进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图4为本说明书一实施例提供的一种协同签名方法的流程示意图,参与协同签名的协同方有多个,记为协同方1至协同方m,m大于等于3,此处的1至m仅用于区别所述多个协同方,不构成对所述多个协同方的协同顺序的限定,参见图4,该方法具体可以包括如下步骤:

步骤402、预设时间点达到时,第三协同方按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

其中,第三协同方可以是指多个协同方中与验签方处于同一内网的一协同方,第一协同方可以是指多个协同方中与用户交互、并发起协同签名验证的一协同方,第二协同方是指所述多个协同方中除所述第一协同方和所述第三协同方之外的其他协同方,密钥被拆分为第一私钥分量、第二私钥分量和第三私钥分量、并分别保存于所述第一协同方、第二协同方和第三协同方;预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序,包括:私钥运算保护分量的协同顺序和协同签名的顺序。

下面对确定第三协同方的步骤进行详细说明:

对于验签方固定的场景,如所述多个协同方预先约定了一固定验签方,则可直接将多个协同方中与验签方处于同一内网的协同方作为第三协同方。若存在多个与验签方处于同一内网的协同方,则随机选择其中一个,或者选择负载较低的一个。

对于验签方不固定的场景(如不同类型的业务对应的验签方不同),可先基于用户办理的目标业务的类型确定其验签方,再确定多个协同方中与验签方处于同一内网的协同方并作为第三协同方。具体可以示例为:

在预设时间节点到达时,若用户办理的业务为第三方的业务,则可查看所述第三方设置的验签方及其所处网络,进而查找出第三协同方;若用户办理的业务为用户所使用的协同方(如用户端)本身提供的业务,则可读取该协同方预设的验签方及其所处网络,进而查找出第三协同方;若所述多个协同方中不存在与验签方处于同一内网的协同方,则将用户使用的用户端对应的服务器作为第三协同方。

而且,当第三协同方发生变化时,如用户办理的业务发生变化导致验签方发生变化,进而导致第三协同由原来的协同方2变换为协同方m,则可基于预先约定的协同顺序进行协同顺序的调整,例如:对换协同方2和协同方m的协同顺序,具体调整规则此处不做限定,只要能确保由协同方m进行最后的签名合成并发送给验签方即可。

基于此,本说明书实施例通过在签名验证之前,预先通过确定用户触发的目标业务的类型,确定所述目标业务的验签方,进而查找出与验签方处于同一内网的第三协同方,并将所述第三协同方作为最后的协同方进行签名合成,从而使得签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

参见图5a,假设第三协同方为与用户交互的用户端对应的服务器(记为协同方m),则步骤402的实现方式可以为:

预设时间点达到时,协同方m按照预先约定的私钥运算保护分量协同顺序,向第二协同方发送第一私钥运算保护分量;第二协同方基于所述第一私钥运算保护分量,生成第二私钥运算保护分量,并发送给第一协同方,由第一协同方基于第二私钥运算保护分量,生成第三私钥运算保护分量,以完成私钥运算保护分量的协同计算。

其中,第二协同方可以有多个,包括m个协同方中除第一协同方和第三协同方之外的所有协同方;第二私钥运算保护分量和第三私钥运算保护分量可以与第一私钥运算保护分量相同,即第二协同方和第一协同方均使用第三协同方生成的第一私钥运算保护分量,当然,也可以不相同,即第二协同方和第一协同方可以再生成新的私钥运算保护分量,如第二协同方在第一私钥运算保护分量中添加第二随机数,得到新的第二私钥运算保护分量,同理第一协同方也可以生成新的第三私钥运算保护分量。另外,由于每个第二协同方均有参与协同且协同内容相似,故,此处不再对每个协同方进行展开描述。

不难理解的是,第三协同方是指发起私钥运算保护分量的起始协同方,且是协同签名验证的最后一个协同方;相反地,第一协同方是指与用户交互的、发起协同签名验证的起始协同方,且是协同计算私钥运算保护分量的最后一个协同方。

步骤404、接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

步骤406、基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

参见图5b,同样地,假设第三协同方为与用户交互的用户端对应的服务器(记为协同方m),则步骤404和步骤406的实现方式可以为:

第一协同方完成私钥运算保护分量的协同计算后,将最终的私钥运算保护分量(记为第三私钥运算保护分量)保存至本地;第一协同方响应用户办理业务的操作,基于第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发起签名验证,以按照约定的协同签名顺序将第一部分签名发送给第二协同方;第二协同方基于所述第二部分签名、第二私钥运算保护分量和第二私钥分量,生成第二部分签名,并按照约定的协同顺序发送给第三协同方;第三协同方基于所述第二部分签名、第一私钥运算保护分量和第三私钥分量,生成第三部分签名,以进行签名合成得到完整的签名并发送给验签方。具体可以示例为:

示例1```、部分签名之间相互独立

则第二协同方可基于第二私钥运算保护分量和第二私钥分量,生成第二部分签名,并将第一部分签名和第二部分签名发送给第三协同方;第三协同方基于第一私钥运算保护分量和第三私钥分量,生成第三部分签名,然后,对第一部分签名、第二部分签名和第三部分签名进行合成处理,得到完整签名。

示例2```、后一签名与前一签名相互关联

则第二协同方可基于第二私钥运算保护分量和第二私钥分量,在第一部分签名的基础上进行签名,得到包含第一部分签名的第二部分签名,并将第二部分签名发送给第三协同方;第三协同方基于第第一私钥运算保护分量和第三私钥分量,在第二部分签名的基础上进行签名,得到包含第一部分签名和第二部分签名的第三部分签名,并作为完整签名。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的第三协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图6为本说明书另一实施例提供的一种协同签名方法的流程示意图,可由第二协同方执行,参见图6,该方法具体可以包括如下步骤:

步骤602、第二协同方按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

由于步骤602与图4对应实施例中的步骤402的实现方式相对应,且已对步骤402进行详细说明,故,此处不再对步骤602进行展开说明。

步骤604、基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

其中,所述第二协同方可以为多个,包括第一第二协同方至第n第二协同方,n大于2,则步骤604的一种实现方式可以为:

第n第二协同方接收来自所述第三协同方的所述第一私钥运算保护分量,基于所述第一私钥运算保护分量,生成第一第二私钥运算保护分量,并发送给第n-1第二协同方;

所述第n-1第二协同方基于所述第一第二私钥运算保护分量,生成第二第二私钥运算保护分量,并发送给下一第二协同方;

以此类推,直至第一第二协同方生成第n第二私钥运算保护分量,记为第二私钥运算保护分量,并由所述第一第二协同方将所述第二私钥运算保护分量发送给所述第一协同方。

步骤606、接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

由于步骤606与图4对应实施例中的步骤404的实现方式相对应,且已对步骤404进行详细说明,故,此处不再对步骤606进行展开说明。

步骤608、基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述第二协同方可以为多个,包括第一第二协同方至第n第二协同方,n大于2,则步骤608的一种实现方式可以为:

第一第二协同方接收来自所述第一协同方的第一部分签名,基于第一部分签名和第一第二私钥分量,生成第一第二部分签名;

第二第二协同方基于所述第一第二部分签名和第二第二私钥分量,生成第二第二部分签名,并发送给下一第二协同方;

以此类推,直至第n第二协同方生成第n第二部分签名,记为第二部分签名,并由所述第n第二协同方将所述第二部分签名发送给所述第三协同方。

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的第三协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图7为本说明书又一实施例提供的一种协同签名方法的流程示意图,可由第一协同方执行,参见图7,该方法具体可以包括如下步骤:

步骤702、第一协同方按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

步骤704、基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

步骤706、基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

由于步骤702至步骤706与图4对应实施例中的步骤402至步骤404的实现方式相对应,且已对步骤402至步骤404进行详细说明,故,此处不再对步骤702至步骤706进行展开说明。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的第三协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图8为本说明书一实施例提供的一种协同签名装置的结构示意图,参见图8,该装置具体可以包括:第一发送模块801、第一接收模块802和第一处理模块803,其中:

第一发送模块801,预设时间节点达到时,向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

第一接收模块802,接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;

第一处理模块803,基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。

可选的,所述预设时间节点包括:

所述用户端被开启的时间节点。

可选的,所述预设时间节点还包括:

所述用户端的目标用户界面被开启的时间节点,所述目标用户界面对应的业务所需的目标业务数据需要签名;或者,

所述用户端上报的用户所选目标业务数据需要签名的时间节点。

可选的,装置还包括:

第一生成模块,生成第一随机数,并作为所述第一私钥运算保护分量。

可选的,装置还包括:

第二生成模块,生成第一随机数;基于所述第一随机数和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量。

可选的,装置还包括:

第三生成模块,生成第一随机数;对所述第一随机数加密处理,得到第一密文,并作为所述第一私钥运算保护分量。

可选的,装置还包括:

第四生成模块,生成第一随机数;对所述第一随机数加密处理,得到第一密文;基于所述第一密文和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量。

可选的,装置还包括:

删除保存模块,删除所述第一随机数。

可选的,所述第一处理模块803,具体包括:

第一子处理模块,对所述第一密文进行解密处理,得到所述第一随机数;

第二子处理模块,基于所述第一随机数和所述第二私钥分量,生成第二部分签名;

第三子处理模块,基于所述第一部分签名和所述第二部分签名,生成完整签名。

可选的,所述第一部分签名基于所述第一私钥分量和第二私钥运算保护分量生成,所述第二私钥运算保护分量基于第二随机数和所述第一私钥运算保护分量生成。

可选的,所述第二随机数由所述服务器为所述用户端分配。

可选的,装置还包括:

第二发送模块,检测到所述用户端上报的用户所选目标业务数据需要签名时,将所述第二随机数和签名指示一并发送给所述用户端,所述签名指示用于指示对所述目标业务数据进行签名。

可选的,所述第一发送模块801,具体包括:

第一子发送单元,将所述第一私钥运算保护分量和所述签名指示一并发送给所述用户端。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,由服务器作为最后的协同方,以尽可能地确保由与验签方同一内网的协同方进行最后的签名合成,当然,若验签方与用户端处于同一内网,则可在预设时间达到时,按照用户端至服务器的协同顺序进行私钥运算保护分量的协同计算,按照服务器至用户端的协同顺序进行协同签名,以在用户端侧进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图9为本说明书另一实施例提供的一种协同签名装置的结构示意图,参见图9,该装置具体可以包括:第一接收模块901、第一处理模块902和第一发送模块903,其中:

第一接收模块901,接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

第一处理模块902,基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;

第一发送模块903,将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

可选的,所述第一处理模块902,具体包括:

第一子处理单元,基于所述第一私钥运算保护分量和第二随机数,生成第二私钥运算保护分量;

第二子处理单元,基于所述第二私钥运算保护分量和第一私钥分量,生成第一部分签名。

可选的,所述第二随机数由所述服务器为所述用户端分配。

可选的,所述预设时间节点包括:

所述用户端被开启的时间节点。

可选的,所述预设时间节点还包括:

所述用户端的目标用户界面被开启的时间节点,所述目标用户界面对应的业务所需的目标业务数据需要签名;或者,

所述用户端上报的用户所选目标业务数据需要签名的时间节点。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,由服务器作为最后的协同方,以尽可能地确保由与验签方同一内网的协同方进行最后的签名合成,当然,若验签方与用户端处于同一内网,则可在预设时间达到时,按照用户端至服务器的协同顺序进行私钥运算保护分量的协同计算,按照服务器至用户端的协同顺序进行协同签名,以在用户端侧进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图10为本说明书又一实施例提供的一种协同签名装置的结构示意图,参见图10,该装置具体可以包括:第一发送模块1001、第一接收模块1002和第一处理模块1003,其中:

第一发送模块1001,预设时间点达到时,按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

第一接收模块1002,接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

第一处理模块1003,基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的第三协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图11为本说明书又一实施例提供的一种协同签名装置的结构示意图,参见图11,该装置具体可以包括:第一接收模块1101、第一处理模块1102、第二接收模块1103以及第二处理模块1104,其中:

第一接收模块1101,按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

第一处理模块1102,基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

第二接收模块1103,接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

第二处理模块1104,基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

可选的,所述第二协同方为多个,包括第一第二协同方至第n第二协同方,n大于2;

所述第一处理模块1102,具体包括:

第n第二协同方接收来自所述第三协同方的所述第一私钥运算保护分量,基于所述第一私钥运算保护分量,生成第一第二私钥运算保护分量,并发送给第n-1第二协同方;

所述第n-1第二协同方基于所述第一第二私钥运算保护分量,生成第二第二私钥运算保护分量,并发送给下一第二协同方;

以此类推,直至第一第二协同方生成第二私钥运算保护分量,并由所述第一第二协同方将所述第二私钥运算保护分量发送给所述第一协同方。

可选的,所述第二处理模块1104,具体包括:

第一第二协同方接收来自所述第一协同方的第一部分签名,基于第一部分签名和第一第二私钥分量,生成第一第二部分签名;

第二第二协同方基于所述第一第二部分签名和第二第二私钥分量,生成第二第二部分签名,并发送给下一第二协同方;

以此类推,直至第n第二协同方生成第二部分签名,并由所述第n第二协同方将所述第二部分签名发送给所述第三协同方。

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的第三协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

图12为本说明书又一实施例提供的一种协同签名装置的结构示意图,参见图12,该装置具体可以包括:第一接收模块1201、第一处理模块1202和第二处理模块1203,其中:

第一接收模块1201,按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

第一处理模块1202,基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

第二处理模块1203,基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方

基于此,本说明书实施例在协同签名场景中,通过将私钥运算保护分量的协同计算作为预准备工作,在签名验证行为之前由各协同方预先协同完成,从而能够降低签名验证过程中的公网传输往返次数,提高协同签名效率;而且,还通过调整各协同方的协同顺序,以尽可能地确保由与验签方同一内网的第三协同方进行最后的签名合成,从而使得最终签名结果无需经过公网传输即可送达验签方,进而能再次降低公网传输往返次数,进一步地提高协同签名效率。

对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。而且,应当注意的是,在本说明书的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本说明书不受限于此,可以根据需要对各个部件进行重新划分或者组合。

图13为本说明书一实施例提供的一种电子设备的结构示意图,参见图13,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成协同签名装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器。

处理器,用于执行所述存储器存放的程序,并具体执行:

预设时间节点达到时,服务器向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。

或者,

用户端接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;

将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。

或者,

预设时间点达到时,第三协同方按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;

基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

或者,

第二协同方按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;

接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;

基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

或者,

第一协同方按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;

基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;

基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;

其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。

上述如本说明书图8-12所示实施例揭示的协同签名装置或管理者(master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

协同签名装置还可执行图2-7的方法,并实现管理者节点执行的方法。

基于相同的发明创造,本说明书实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图2-7对应的实施例提供的协同签名方法。

图14为本说明书一实施例提供的一种协同签名系统的结构示意图,参见图14,该系统包括:m个协同方,私钥被拆分为m份的私钥分量并分别保存于所述m各协同方,m大于2,其中:

在预设时间节点达到时,按照预先约定的协同顺序,第m协同方向第m-1协同方发送第一私钥运算保护分量,由所述第m-1协同方生成第二私钥运算保护分量并发送给下一协同方,以此类推,直至由第一协同方生成第m私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;

所述第一协同方可与用户端交互,以响应用户直至,按照所述预先约定的协同顺序,基于第m私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给第二协同方,由所述第二协同方基于第一部分签名和第二私钥分量,生成第二部分签名并发送给下一协同方,以此类推,直至由第m协同方基于第m-1部分签名和第m私钥分量,生成完整私钥并发送给验签方。

其中,预先约定的协同顺序包括私钥运算保护分量协同顺序(记为第一协同顺序)和签名协同顺序(记为第二协同顺序),第m协同方至第1协同方基于第一协同顺序进行私钥运算保护分量的协同计算,第1协同方至第m协同方基于所述第二协同顺序进行签名协同计算。

另外,由于第m协同方与图4对应实施例中的第三协同方相似,第一协同方与图4对应的实施例中的第一协同方相似,第m-1至第2协同方以图4对应实施例中的第二协同方相似,由于其具体协同实现方式与上述方法实施例功能开的协同方案相似,故,此处不再进行赘述。

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

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

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

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

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

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

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

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

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

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

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

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