[发明专利]一种可验证客户端身份的SM2协同签名方法及系统有效
申请号: | 201811190701.0 | 申请日: | 2018-10-12 |
公开(公告)号: | CN109246129B | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | 张秋璞;彭竹;曹伟;程学彬;杨涛 | 申请(专利权)人: | 天津赢达信科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/30;H04L9/08;H04L9/32 |
代理公司: | 北京冠和权律师事务所 11399 | 代理人: | 朱健;张国香 |
地址: | 301700 天津市*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 验证 客户端 身份 sm2 协同 签名 方法 系统 | ||
本发明提供了一种可验证客户端身份的SM2协同签名方法及系统,其中,所述方法包括:客户端随机生成多个客户端私钥分量及对应的公钥分量;所述服务器接收所述客户端发来的客户端公钥分量,并随机生成服务器私钥分量及代表客户端身份的公钥;所述客户端基于所述客户端私钥分量以及预设消息生成对预设消息的验证信息,并将所述验证信息发送至所述服务器;所述服务器验证客户端身份,保证非法客户端无法伪造验证信息,并基于所述验证信息和所述服务器私钥分量生成响应信息,并向所述客户端反馈所述响应信息;所述客户端基于客户端私钥分量及所述响应信息生成所述预设消息的签名信息。本申请提供的技术方案,能够提高在移动终端使用SM2私钥的安全性。
技术领域
本发明涉及信息处理技术领域,特别涉及一种可验证客户端身份的SM2协同签名方法及系统。
背景技术
SM2算法是指GB/T 32918(.1-.5)-2016《信息安全技术SM2椭圆曲线公钥密码算法(有5个分标准)》系列标准中规定的公钥密码算法,可应用于数字签名验签。
为了安全使用用户私钥,通常要求使用专门的硬件密码模块,如安全芯片、USBKey、SD加密卡保存用户私钥。在移动终端,使用硬件密码模块往往便利性不足。为此,部分方案提出将SM2私钥分成两部分,分别存储在客户端与服务器端,两方协同计算才能对消息实现签名运算,运算双方均无法获取对方部分私钥的任何信息以及对应在GB/T 32918(.1-.5)-2016《信息安全技术SM2椭圆曲线公钥密码算法(有5个分标准)》中的SM2私钥,即使任何一方被攻击者掌控,都无法伪造签名。
但是,在目前的实现方案中至少存在如下问题:在第一通信方提交签名请求时,第二通信方无法确认第一通信方提交的签名请求是合法请求,无法确认第一通信方的身份,存在第一通信方冒用其它人的身份,不断伪造数据要求第二通信方进行尝试签名的可能性,存在一定的安全风险。同时,存在攻击者篡改或伪造第一通信方发送的消息Hash值的可能性。
发明内容
本申请的目的在于提供一种可验证客户端身份的SM2协同签名方法及系统,能够提高SM2私钥的安全性。
为实现上述目的,本申请提供一种可验证客户端身份的SM2协同签名方法,所述方法包括:客户端随机生成第一整数和第二整数,作为客户端私钥分量,并分别基于所述第一整数和所述第二整数计算客户端第一公钥分量值和客户端第二公钥分量值;客户端将所述客户端第一公钥分量值和所述客户端第二公钥分量值构成客户端公钥分量,并将所述客户端公钥分量发送至服务器;所述服务器接收所述客户端发来的客户端公钥分量,随机生成第三整数,作为服务器私钥分量,并基于所述客户端公钥分量值以及预设基点值,生成代表客户端身份的公钥;所述客户端基于所述客户端私钥分量以及预设消息生成对预设消息的验证信息,并将所述验证信息发送至所述服务器;所述服务器接收所述客户端发来的验证信息,使用客户端公钥分量验证客户端身份,并基于所述验证信息和所述服务器私钥分量生成响应信息,并向所述客户端反馈所述响应信息;所述客户端基于客户端私钥分量及所述响应信息生成所述预设消息的签名信息。
为实现上述目的,本申请还提供一种可验证客户端身份的SM2协同签名系统,所述系统包括客户端和服务器,其中:客户端随机生成第一整数和第二整数,作为客户端私钥分量,并分别基于所述第一整数和所述第二整数计算客户端第一公钥分量值和客户端第二公钥分量值;客户端将所述客户端第一公钥分量值和所述客户端第二公钥分量值构成客户端公钥分量,并将所述客户端公钥分量发送至服务器;所述服务器接收所述客户端发来的客户端公钥分量,随机生成第三整数,作为服务器私钥分量,并基于所述客户端公钥分量值以及预设基点值,生成代表客户端身份的公钥;所述客户端基于所述客户端私钥分量以及预设消息生成对预设消息的验证信息,并将所述验证信息发送至所述服务器;所述服务器接收所述客户端发来的验证信息,使用客户端公钥分量验证客户端身份,并基于所述验证信息和所述服务器私钥分量生成响应信息,并向所述客户端反馈所述响应信息;所述客户端基于客户端私钥分量及所述响应信息生成所述预设消息的签名信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津赢达信科技有限公司,未经天津赢达信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811190701.0/2.html,转载请声明来源钻瓜专利网。