一种协同签名方法、装置、设备及系统制造方法及图纸

技术编号:24333806 阅读:89 留言:0更新日期:2020-05-29 21:10
本说明书实施例提供一种协同签名方法、装置、设备及系统。方法包括:私钥被拆分为至少两个私钥分量并分别保存于参与协同签名的协同方,在用户端发起签名验证行为之前,由服务器预先向所述用户端发送第一私钥运算保护分量,供用户端使用所述第一私钥运算保护分量和第一私钥分量生成第一部分签名,以发起签名验证,服务器基于第一部分签名和第二私钥分量生成完整签名,并直接发送给验签方。

A cooperative signature method, device, equipment and system

【技术实现步骤摘要】
一种协同签名方法、装置、设备及系统
本文件涉及计算机
,尤其涉及一种协同签名方法、装置、设备及系统。
技术介绍
协同签名是指签名所用的私钥被分割成多份私钥分量并分别由多方掌管,签名计算过程也是由多方协作完成的。在目前的协同签名方案中,多方之间一般是通过公网通信的。因此,需要提供更高效的协同签名方案。
技术实现思路
本说明书实施例提供一种协同签名方法,用以提高协同签名效率。本说明书实施例还提供一种协同签名方法,包括:预设时间节点达到时,服务器向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。本说明书实施例还提供一种协同签名方法,包括:用户端接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。本说明书实施例还提供一种协同签名方法,包括:预设时间点达到时,第三协同方按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。本说明书实施例还提供一种一种协同签名方法,包括:第二协同方按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。本说明书实施例还提供一种一种协同签名方法,包括:第一协同方按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。本说明书实施例还提供一种协同签名装置,包括:第一发送模块,预设时间节点达到时,向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;第一接收模块,接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;第一处理模块,基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。本说明书实施例还提供一种协同签名装置,包括:第一接收模块,接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;第一处理模块,基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;第一发送模块,将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。本说明书实施例还提供一种协同签名装置,包括:第一发送模块,预设时间点达到时,按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;第一接收模块,接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;第一处理模块,基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。本说明书实施例还提供一种协同签名装置,包括:第一接收模块,按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发本文档来自技高网...

【技术保护点】
1.一种协同签名方法,包括:/n预设时间节点达到时,服务器向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;/n接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;/n基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。/n

【技术特征摘要】
1.一种协同签名方法,包括:
预设时间节点达到时,服务器向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;
接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;
基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。


2.根据权利要求1所述的方法,所述预设时间节点包括:
所述用户端被开启的时间节点。


3.根据权利要求1所述的方法,所述预设时间节点还包括:
所述用户端的目标用户界面被开启的时间节点,所述目标用户界面对应的业务所需的目标业务数据需要签名;或者,
所述用户端上报的用户所选目标业务数据需要签名的时间节点。


4.根据权利要求2或3所述的方法,在服务器向用户端发送第一私钥运算保护分量之前,还包括:
生成第一随机数,并作为所述第一私钥运算保护分量。


5.根据权利要求3所述的方法,在服务器向用户端发送第一私钥运算保护分量之前,还包括:
生成第一随机数;
基于所述第一随机数和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量。


6.根据权利要求2或3所述的方法,在服务器向用户端发送第一私钥运算保护分量之前,还包括:
生成第一随机数;
对所述第一随机数加密处理,得到第一密文,并作为所述第一私钥运算保护分量。


7.根据权利要求3所述的方法,在服务器向用户端发送第一私钥运算保护分量之前,还包括:
生成第一随机数;
对所述第一随机数加密处理,得到第一密文;
基于所述第一密文和所述目标业务数据的预指定参数,生成所述第一私钥运算保护分量。


8.根据权利要求7所述的方法,还包括:
删除所述第一随机数。


9.根据权利要求8所述的方法,所述基于所述第一部分签名和第二私钥分量,生成完整签名,包括:
对所述第一密文进行解密处理,得到所述第一随机数;
基于所述第一随机数和所述第二私钥分量,生成第二部分签名;
基于所述第一部分签名和所述第二部分签名,生成完整签名。


10.根据权利要求1所述的方法,所述第一部分签名基于所述第一私钥分量和第二私钥运算保护分量生成,所述第二私钥运算保护分量基于第二随机数和所述第一私钥运算保护分量生成。


11.根据权利要求10所述的方法,所述第二随机数由所述服务器为所述用户端分配。


12.根据权利要求11所述的方法,在接收所述用户端发送的第一部分签名之前,还包括:
检测到所述用户端上报的用户所选目标业务数据需要签名时,将所述第二随机数和签名指示一并发送给所述用户端,所述签名指示用于指示对所述目标业务数据进行签名。


13.根据权利要求12所述的方法,所述服务器向用户端发送第一私钥运算保护分量,包括:
将所述第一私钥运算保护分量和所述签名指示一并发送给所述用户端。


14.一种协同签名方法,包括:
用户端接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;
基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;
将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。


15.根据权利要求14所述的方法,其特征在于,所述基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名,包括:
基于所述第一私钥运算保护分量和第二随机数,生成第二私钥运算保护分量;
基于所述第二私钥运算保护分量和第一私钥分量,生成第一部分签名。


16.一种协同签名方法,包括:
预设时间点达到时,第三协同方按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;
接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;
基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;
其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。


17.一种协同签名方法,包括:
第二协同方按照预先约定的协同顺序接收来自第三协同方的第一私钥运算保护分量,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;
基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方;
接收所述第一协同方发送的第一部分签名,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于所述第二私钥运算保护分量生成;
基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;
其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。


18.根据权利要求17所述的方法,所述第二协同方为多个,包括第一第二协同方至第N第二协同方,N大于2;
所述基于所述第一私钥运算保护分量,生成第二私钥运算保护分量并发送给所述第一协同方,包括:
第N第二协同方接收来自所述第三协同方的所述第一私钥运算保护分量,基于所述第一私钥运算保护分量,生成第一第二私钥运算保护分量,并发送给第N-1第二协同方;
所述第N-1第二协同方基于所述第一第二私钥运算保护分量,生成第二第二私钥运算保护分量,并发送给下一第二协同方;
以此类推,直至第一第二协同方生成第二私钥运算保护分量,并由所述第一第二协同方将所述第二私钥运算保护分量发送给所述第一协同方。


19.根据权利要求18所述的方法,所述基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,包括:
第一第二协同方接收来自所述第一协同方的第一部分签名,基于第一部分签名和第一第二私钥分量,生成第一第二部分签名;
第二第二协同方基于所述第一第二部分签名和第二第二私钥分量,生成第二第二部分签名,并发送给下一第二协同方;
以此类推,直至第N第二协同方生成第二部分签名,并由所述第N第二协同方将所述第二部分签名发送给所述第三协同方。


20.一种协同签名方法,包括:
第一协同方按照预先约定的协同顺序接收来自第二协同方的第二私钥运算保护分量,所述第二私钥运算保护分量由所述第二协同方基于第一私钥运算保护分量生成,所述第一私钥运算保护分量由所述第三协同方在预设时间节点达到时发送,所述预设时间节点早于所述第一协同方发起签名验证行为的时间节点;
基于所述第二私钥运算保护分量,生成第三私钥运算保护分量;
基于所述第三私钥运算保护分量和第一私钥分量,生成第一部分签名并发送给所述第二协同方,由第二协同方基于所述第一部分签名和第二私钥分量,生成第二部分签名并发送给所述第三协同方,由所述第三协同方基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;
其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。


21.一种协同签名装置,包括:
第一发送模块,预设时间节点达到时,向用户端发送第一私钥运算保护分量,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;
第一接收模块,接收所述用户端发送的第一部分签名,所述第一部分签名基于第一私钥分量和所述第一私钥运算保护分量生成;
第一处理模块,基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由完整私钥拆分获得并分别保存于所述用户端和所述服务器。


22.一种协同签名装置,包括:
第一接收模块,接收第一私钥运算保护分量,所述第一私钥运算保护分量由服务器在预设时间节点达到时发送,所述预设时间节点早于所述用户端发起签名验证行为的时间节点;
第一处理模块,基于所述第一私钥运算保护分量和第一私钥分量,生成第一部分签名;
第一发送模块,将所述第一部分签名发送给所述服务器,由所述服务器基于所述第一部分签名和第二私钥分量,生成完整签名并发送给验签方;其中,所述第一私钥分量和所述第二私钥分量由密钥拆分获得并分别保存于所述用户端和所述服务器。


23.一种协同签名装置,包括:
第一发送模块,预设时间点达到时,按照预先约定的协同顺序,向第二协同方发送第一私钥运算保护分量,所述预设时间节点早于第一协同方发起签名验证行为的时间节点;
第一接收模块,接收所述第二协同方发送的第二部分签名,所述第二部分签名基于第一部分签名和第二私钥分量生成,所述第一部分签名由所述第一协同方基于第三私钥运算保护分量和第一私钥分量生成,所述第三私钥运算保护分量由所述第一协同方基于第二私钥运算保护分量生成,所述第二私钥运算保护分量由所述第二协同方基于所述第一私钥运算保护分量生成;
第一处理模块,基于所述第二部分签名和第三私钥分量,生成完整签名并发送给验签方;
其中,所述预先约定的协同顺序用于表征参与协同签名的多个协同方之间的交互顺序;所述第一私钥分量、所述第二私钥分量和所述第三私钥分量由密钥拆分获得并分别保存于所述第一协同方、第二协同方和第三协同方。


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

【专利技术属性】
技术研发人员:潘无穷林孝旦方海峰
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1