[發明專利]一種可驗證客戶端身份的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.szxzyx.cn/pat/books/201811190701.0/2.html,轉載請聲明來源鉆瓜專利網。





