一种数据签名的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25528409 阅读:42 留言:0更新日期:2020-09-04 17:16
本申请公开了一种数据签名的方法、装置、电子设备及存储介质,用于提升数据签名的安全性。该方法包括:根据获得的第一私钥对签名信息进行签名,得到中间签名值,该第一私钥是由服务端生成私钥后,分割所述私钥得到的第一部分私钥分量;基于所述客户端的硬件信息以及当前所述第一私钥的使用次数,生成第一数据保护密钥;利用所述第一数据保护密钥对所述中间签名值进行加密,获得加密签名值;将所述加密签名值发送给所述服务端,使得所述服务端在对所述加密签名值进行解密后利用第二私钥对所述中间签名值进行签名以得到最终签名值;获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值。

【技术实现步骤摘要】
一种数据签名的方法、装置、电子设备及存储介质
本专利技术涉及信息安全
,尤其涉及一种数据签名的方法、装置、电子设备及存储介质。
技术介绍
目前,为了保护用户隐私安全和业务的不可抵赖性,通常会使用到数据签名技术,数据签名技术已经成为保障信息安全的重要工具。现有的基于UsbKey等硬件设备进行数据签名的方式,但这种方式的成本较高,并且,在移动设备对应的应用场景下,使用硬件设备进行数据签名较为不便。因此,如何在移动设备对应的应用场景中有效保障数据签名的安全是需要思考的问题。
技术实现思路
本申请实施例提供了一种数据签名的方法、装置、电子设备及存储介质,用于提升数据签名的安全性。第一方面,提供了一种数据签名的方法,应用于客户端,该方法包括:根据获得的第一私钥对签名信息进行签名,得到中间签名值,其中,所述第一私钥是由服务端生成私钥后,分割所述私钥得到的第一部分私钥分量;基于所述客户端的硬件信息以及当前所述第一私钥的使用次数,生成第一数据保护密钥;利用所述第一数据保护密钥对所述中间签名值进行加密,获得加密签名值;将所述加密签名值发送给所述服务端,使得所述服务端在对所述加密签名值进行解密后利用第二私钥对所述中间签名值进行签名以得到最终签名值;获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值。在一种可能设计中,在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之后,所述方法还包括:更新所述第一私钥的使用次数。在一种可能设计中,在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之前,所述方法还包括:若所述服务端对所述最终签名值的验证失败,获得所述服务端发送的反馈信息;根据所述反馈信息,生成提示信息,所述提示信息用于指示存在所述第一私钥泄露的情况。在一种可能设计中,在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之后,所述方法还包括:在预定时长后,根据获得的所述服务端重新生成的私钥中的第一部分私钥分量,更新所述第一私钥,得到更新后的第一私钥。第二方面,提供了一种数据签名方法,应用于服务端,所述方法包括:获得客户端发送的加密签名值;基于获取的所述客户端的硬件信息以及当前第二私钥的使用次数,生成第二数据保护密钥,其中,所述第二私钥是由服务端生成私钥后,分割所述私钥得到的第二部分私钥分量;利用所述第二数据保护密钥对所述加密签名值进行解密,得到中间签名值;利用所述第二私钥对所述中间签名值进行签名得到最终签名值,并在所述最终签名值验证通过后将所述最终签名值发送给所述客户端。在一种可能设计中,在所述最终签名值验证通过后将所述最终签名值发送给所述客户端之后,所述方法还包括:更新所述第二私钥的使用次数。在一种可能设计中,若所述最终签名值验证失败,所述方法还包括:向所述客户端发送反馈信息,使得所述客户端根据所述反馈信息生成提示信息,所述提示信息用于指示所述客户端存在所述第一私钥泄露的情况。在一种可能设计中,所述在所述将所述最终签名值发送给所述客户端之后,所述方法还包括:在预定时长后,根据获得的所述服务端重新生成的私钥中的第二部分私钥分量,更新所述第二私钥,得到更新后的第二私钥。第三方面,提供了一种数据签名的装置,所述装置设置在客户端,所述装置包括:第一签名模块,用于根据获得的第一私钥对签名信息进行签名,得到中间签名值,其中,所述第一私钥是由服务端生成私钥后,分割所述私钥得到的第一部分私钥分量;第一生成模块,用于基于所述客户端的硬件信息以及当前所述第一私钥的使用次数,生成第一数据保护密钥;加密模块,用于利用所述第一数据保护密钥对所述中间签名值进行加密,获得加密签名值;第一发送模块,用于将所述加密签名值发送给所述服务端,使得所述服务端在对所述加密签名值进行解密后利用第二私钥对所述中间签名值进行签名以得到最终签名值;第一获得模块,用于获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值。在一种可能设计中,所述装置还包括第一更新模块,所述第一更新模块用于在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之后,更新所述第一私钥的使用次数。在一种可能设计中,所述第一获得模块还用于在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之前,若所述服务端对所述最终签名值的验证失败,获得所述服务端发送的反馈信息;并根据所述反馈信息,生成提示信息,所述提示信息用于指示存在所述第一私钥泄露的情况。在一种可能设计中,所述第一更新模块还用于在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值且满足预定时长后,根据获得的所述服务端重新生成的私钥中的第一部分私钥分量,更新所述第一私钥,得到更新后的第一私钥。第四方面,提供了一种数据签名的装置,所述装置设置在服务端,所述装置包括:第二获得模块,用于获得客户端发送的加密签名值;第二生成模块,用于基于获取的所述客户端的硬件信息以及当前第二私钥的使用次数,生成第二数据保护密钥,其中,所述第二私钥是由服务端生成私钥后,分割所述私钥得到的第二部分私钥分量;解密模块,用于利用所述第二数据保护密钥对所述加密签名值进行解密,得到中间签名值;第二签名模块,用于利用所述第二私钥对所述中间签名值进行签名得到最终签名值,并在所述最终签名值验证通过后将所述最终签名值发送给所述客户端。在一种可能设计中,所述装置还包括第二更新模块,所述第二更新模块用于在所述最终签名值验证通过后将所述最终签名值发送给所述客户端之后,更新所述第二私钥的使用次数。在一种可能设计中,所述装置还包括反馈模块,所述反馈模块用于在所述最终签名值验证失败后,向所述客户端发送反馈信息,使得所述客户端根据所述反馈信息生成提示信息,所述提示信息用于指示所述客户端存在所述第一私钥泄露的情况。在一种可能设计中,所述第二更新模块还用于在所述将所述最终签名值发送给所述客户端且满足预定时长之后,根据获得的所述服务端重新生成的私钥中的第二部分私钥分量,更新所述第二私钥,得到更新后的第二私钥。第五方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的计算机存储介质;其中,所述处理器被配置为执行所述指令,以实现第一和/或第二方面所述的数据签名的方法。第六方面,提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如第一和/或第二方面所述的数据签名的方法。本申请的实施例提供的技术方案至少带来以下有益效果:本申请提供了一种数据签名的方案,在该方案中,可以将数据签名使用的私钥分割成两个私钥分量(即第一私钥和第二私钥),分别保存客户端和服务端,那么在数据签名时,在客户端使用其保存的第一私钥对签本文档来自技高网...

【技术保护点】
1.一种数据签名的方法,其特征在于,应用于客户端,所述方法包括:/n根据获得的第一私钥对签名信息进行签名,得到中间签名值,其中,所述第一私钥是由服务端生成私钥后,分割所述私钥得到的第一部分私钥分量;/n基于所述客户端的硬件信息以及当前所述第一私钥的使用次数,生成第一数据保护密钥;/n利用所述第一数据保护密钥对所述中间签名值进行加密,获得加密签名值;/n将所述加密签名值发送给所述服务端,使得所述服务端在对所述加密签名值进行解密后利用第二私钥对所述中间签名值进行签名以得到最终签名值;/n获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值。/n

【技术特征摘要】
1.一种数据签名的方法,其特征在于,应用于客户端,所述方法包括:
根据获得的第一私钥对签名信息进行签名,得到中间签名值,其中,所述第一私钥是由服务端生成私钥后,分割所述私钥得到的第一部分私钥分量;
基于所述客户端的硬件信息以及当前所述第一私钥的使用次数,生成第一数据保护密钥;
利用所述第一数据保护密钥对所述中间签名值进行加密,获得加密签名值;
将所述加密签名值发送给所述服务端,使得所述服务端在对所述加密签名值进行解密后利用第二私钥对所述中间签名值进行签名以得到最终签名值;
获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值。


2.如权利要求1所述的方法,其特征在于,在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之后,所述方法还包括:
更新所述第一私钥的使用次数。


3.如权利要求1所述的方法,其特征在于,在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之前,所述方法还包括:
若所述服务端对所述最终签名值的验证失败,获得所述服务端发送的反馈信息;
根据所述反馈信息,生成提示信息,所述提示信息用于指示存在所述第一私钥泄露的情况。


4.如权利要求1-3任一所述的方法,其特征在于,在所述获得所述服务端在所述最终签名值验证通过后发送的所述最终签名值之后,所述方法还包括:
在预定时长后,根据获得的所述服务端重新生成的私钥中的第一部分私钥分量,更新所述第一私钥,得到更新后的第一私钥。


5.一种数据签名的方法,其特征在于,应用于服务端,所述方法包括:
获得客户端发送的加密签名值;
基于获取的所述客户端的硬件信息以及当前第二私钥的使用次数,生成第二数据保护密钥,其中,所述第二私钥是由服务端生成私钥后,分割所述私钥得到的第二部分私钥分量;
利用所述第二数据保护密钥对所述加密签名值进行解密,得到中间签名值;
利用所述第二私钥对所述中间签名值进行签名得到最终签名值,并在所述最终签名值验证通过后将所述最终签名值发送给所述客户端。
<...

【专利技术属性】
技术研发人员:安晓江王学进胡伯良
申请(专利权)人:北京海泰方圆科技股份有限公司
类型:发明
国别省市:北京;11

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

1