签名处理方法、装置及系统制造方法及图纸

技术编号:25349980 阅读:22 留言:0更新日期:2020-08-21 17:08
本申请实施例提供一种签名处理方法、装置及系统。具体地,签名密钥分别在参与数据传输的三方独立生成,且签名需要三方合作计算,避免出现某一方密钥泄露,伪造签名成功的问题,同时,签名过程也结合加密算法,使得私钥在协同签名过程中处于加密状态,无需获取私钥的真实数据即可实现加密计算。本申请实施例提供的技术方案适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。

【技术实现步骤摘要】
签名处理方法、装置及系统
本申请实施例涉及计算机应用
,尤其涉及一种签名处理方法、装置及系统。
技术介绍
随着互联网技术的发展,移动办公、移动支付越来越普及,移动信息化和云服务成为趋势。为了保证数据传输的安全性,密码技术是不可或缺的。通常情况下,采用数字签名技术为传输数据进行加密。对于现有技术中的数字签名,只适用于客户端和服务端两方之间的数据传输,并且要求客户端和服务端都是诚实可信的,若一方不可信,则存在中间人攻击的风险。而现实场景下,移动终端和云环境均是不完全可信的,现有技术中的数字签名并不适用于包括不可信环境的三方之间的数据传输。
技术实现思路
本申请实施例提供一种签名处理方法、装置及系统,用以解决现有技术中数字签名技术不适用于包括不可信环境的三方之间的数据传输的问题。本专利技术的第一方面提供了一种签名处理方法,该方法包括:第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。本专利技术的第二方面提供了一种签名处理装置,该装置包括:第一生成模块,用于生成待签名消息的消息摘要及第一部分签名;第一加密模块,用于加密第一私钥获得第一加密私钥;第一发送模块,用于将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;其中,所述第二通信端用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至第一通信端以及将所述第三中间参数发送至所述第二通信端,由所述第二通信端基于所述第三中间参数计算获得第四中间参数;第一签名模块,用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;第一输出模块,用于输出所述第一签名和所述第二签名。本专利技术的第三方面提供了一种签名处理装置,该装置包括:第一接收模块,用于接收第一通信端发送的待签名消息的消息摘要、第一部分签名及第一加密私钥;其中,所述消息摘要及所述第一部分签名由所述第一通信端生成;所述第一加密私钥由所述第一通信端对第一私钥加密获得;第二生成模块,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;第二加密模块,用于加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;第二发送模块,用于将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数,以及将所述第二中间参数及所述第一签名发送至所述第一通信端;第二接收模块,用于接收所述第三通信端发送的所述第三中间参数;计算模块,用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;其中,所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。本专利技术的第四方面提供了一种签名处理装置,该装置包括:第三接收模块,用于接收第二通信端发送的消息摘要、第二部分签名、第一协同签名、第一加密私钥、第二加密私钥及第一中间参数;其中,所述消息摘要以及所述第一加密私钥由第一通信端生成并发送至所述第二通信端;所述第二部分签名由所述第二通信端生成;所述第一协同签名由所述第二通信端结合所述第二部分签名和第一部分签名生成;所述第二加密私钥由所述第二通信端对第二私钥加密获得;所述第一中间参数由所述第二通信端基于所述第一加密私钥和所述第二加密私钥加密获得;第三生成模块,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;第三加密模块,用于加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;第三发送模块,用于将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第二通信端用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。本专利技术的第五方面提供了一种签名处理系统,该系统包括第一通信端、第二通信端及第三通信端;所述第一通信端,用于生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;所述第二通信端,用于生成第二部分签名及结合所本文档来自技高网...

【技术保护点】
1.一种签名处理方法,其特征在于,包括:/n第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;/n所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;/n所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;/n所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;/n所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。/n...

【技术特征摘要】
1.一种签名处理方法,其特征在于,包括:
第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;
所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;
所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;
所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;
所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。


2.根据权利要求1所述的方法,其特征在于,所述第一通信端生成待签名消息的消息摘要及第一部分签名之前,所述方法还包括:
第一通信端生成第一私钥;以及基于所述第一私钥生成第一公钥,并将所述第一公钥发送至第二通信端;
所述第二通信端生成第二私钥;以及基于所述第二私钥生成第二公钥及结合所述第一公钥和所述第二公钥生成临时公钥,并将所述临时公钥发送至第三通信端;
所述第三通信端生成第三私钥;以及基于所述第三私钥生成第三公钥及结合所述临时公钥和所述第三公钥生成验证公钥。


3.根据权利要求1所述的方法,其特征在于,所述第一通信端输出所述第一签名和所述第二签名之后,所述方法还包括:
所述第三通信端利用所述验证公钥对所述第一签名和所述第二签名进行验证。


4.根据权利要求1所述的方法,其特征在于,所述第一通信端生成待签名消息的消息摘要及第一部分签名包括:
所述第一通信端生成待签名消息的消息摘要;
所述第一通信端随机生成第一随机数和第二随机数,并基于所述第一随机数生成第一部分签名;以及分别加密所述第一随机数和所述第二随机数获得第一加密数和第二加密数;
所述第一通信端将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端的同时,所述方法还包括:
将所述第一加密数及所述第二加密数发送至第二通信端;
所述第二通信端生成第二部分签名包括:
所述第二通信端随机生成第三随机数、第四随机数、第五随机数以及第六随机数;
所述第二通信端基于所述第三随机数生成第二部分签名;
所述第二通信端基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数包括:
所述第二通信端对所述第二加密私钥和所述第四随机数加密获得第三加密数,对所述第三随机数和所述第四随机数加密获得第四加密数;以及基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数加密获得第一子参数、基于所述第一加密数、所述第二加密数和所述第四加密数加密获得第二子参数;以及对所述第四随机数和所述第五随机数加密获得第五加密数,对所述第四随机数和所述第六随机数加密获得第六加密数,对所述第二加密私钥和所述第六随机数加密获得第七加密数;其中,所述第一子参数和所述第二子参数构成所述第一中间参数;
所述第二通信端将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端的同时,所述方法还包括:
将所述第五加密数、所述第六加密数和所述第七加密数发送至第三通信端;
所述第三通信端生成第三部分签名包括:
所述第三通信端随机生成第七随机数和第八随机数,并基于所述第七随机数生成第三部分签名;
所述第三通信端基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数包括:
所述第三通信端基于所述第七随机数和所述第一签名生成第九随机数;以及基于所述第三加密私钥和所述第八随机数加密获得第八加密数;以及基于所述第八随机数和所述第九随机数加密获得第九加密数;以及基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数加密获得第三子参数、基于所述第二子参数和所述第九加密数加密获得第四子参数;其中,所述第三子参数和所述第四子参数构成所述第二中间参数;
所述第三通信端基于所述第六加密数和所述第七加密数加密获得第五子参数、基于所述第五加密数和所述第九随机数加密获得第六子参数;其中,所述第五子参数和所述第六子参数构成所述第三中间参数;
所述第三通信端将所述第二中间参数和所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端包括:
所述第三通信端将所述第三子参数、所述第四子参数和所述第一签名发送至所述第一通信端以及将所述第五子参数和所述第六子参数发送至所述第二通信端;
所述第二通信端基于所述第三中间参数计算获得第四中间参数包括:
所述第二通信端基于所述第五子参数和所述第六随机数计算获得第七子参数、基于所述第六子参数和所述第五随机数计算获得第八子参数;其中,所述第七子参数和所述第八子参数构成所述第四中间参数。


5.根据权利要求4所述的方法,其特征在于,所述第三通信端将所述第二中间参数及所述第一签名发送至所述第一通信端的同时,所述方法还包括:
所述第三通信端将所述第二部分签名、所述第三部分签名及所述第二协同签名发送至所述第一通信端;
所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名包括:
所述第一通信端基于所述第四中间参数及所述第二中间参数加密获得第一加密子签名及第二加密子签名;以及对所述第一加密子签名进行解密获得第一子签名,并对所述第二加密子签名进行解密获得第二子签名;
所述第一通信端基于所述第二部分签名、所述第三部分签名及所述第二协同签名生成第一验证签名,并利用所述第一验证签名验证所述第一签名;
若验证通过,所述第一通信端基于所述第一子签名和所述第二子签名计算获得第二签名。


6.根据权利要求5所述的方法,其特征在于,所述第一通信端基于所述第四中间参数及所述第二中间参数加密获得第一加密子签名及第二加密子签名包括:
所述第一通信端基于所述第三子参数及所述第七子参数加密获得第一加密子签名;以及基于所述第四子参数及所述第八子参数加密获得第二加密子签名;
所述第一通信端对所述第一加密子签名进行解密获得第一子签名,并对所述第二加密子签名进行解密获得第二子签名包括:
所述第一通信端利用第四私钥对所述第一加密子签名进行解密获得第一子签名,并利用所述第四私钥对所述第二加密子签名进行解密获得第二子签名。


7.根据权利要求1所述的方法,其特征在于,所述第三通信端基于所述第二协同签名及所述消息摘要获得第一签名之后,所述方法还包括:
所述第三通信端验证所述第一签名是否等于0;
若是,返回所述第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行;
若否,执行所述加密第三私钥获得第三加密私钥的步骤。


8.根据权利要求1所述的方法,其特征在于,所述第一通信端基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名包括:
所述第一通信端基于解密结果计算获得第二签名,并验证所述第二签名是否等于0;
若否,输出所述第一签名和所述第二签名;
若是,返回所述第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行。


9.根据权利要求4所述的方法,其特征在于,所述第二通信端基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数加密获得第一子参数包括:
所述第二通信端基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数按照第一加密公式加密获得第一子参数;
所述第一加密公式为:;
其中,表示第一子参数;表示第二私钥;表示第二加密数;表示第四随机
数;表示第一加密私钥;表示第三加密数;表示加法同态加密运算;
所述第二通信端基于所述第一加密数、所述第二加密数和所述第四加密数加密获得第二子参数包括:
所述第二通信端基于所述第一加密数、所述第二加密数和所述第四加密数按照第二加密公式加密获得第二子参数;
所述第二加密公式为:;
其中,表示第二子参数;表示第三随机数;表示第二加密数;表示第四随
机数;表示第一加密数;表示第四加密数;表示加法同态加密运算;
所述第三通信端基于所述第一子参数所述第一加密私钥、所述第三私钥及所述第八加密数加密获得第三子参数包括:
所述第三通信端基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数按照第三加密公式加密获得第三子参数;
所述第三加密公式为:;
其中,表示第三子参数;表示第一子参数;表示第三私钥;表示第二加密
数;表示第八随机数;表示第一加密私钥;表示第八加密数;表示加法同
态加密运算;
所述...

【专利技术属性】
技术研发人员:秦体红汪宗斌刘金华
申请(专利权)人:北京信安世纪科技股份有限公司
类型:发明
国别省市:北京;11

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

1