[發明專利]一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法有效
| 申請號: | 201911212116.0 | 申請日: | 2019-12-02 |
| 公開(公告)號: | CN110971411B | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 王杰勛;唐天其;馬圣東 | 申請(專利權)人: | 南京壹證通信息科技有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/00;H04L9/40 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 張蘇沛 |
| 地址: | 210000 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 sotp 技術 私鑰乘 加密 sm2 同態 簽名 方法 | ||
本發明公開了一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法,用戶的私鑰使用基于模乘加密后保存在客戶端,客戶端可周期性的對私鑰做模乘加密更新私鑰密文,簽名時無需解密私鑰密文,可直接使用密文私鑰進行簽名;客戶端做簽名操作時使用最新的簽名私鑰密文做簽名運算。驗證簽名的時候驗簽服務中心接收用戶uid,簽名私鑰密文生成時的時間戳T、公鑰證書、簽名值、簽名數據。使用SOTP算法恢復出對應用戶私鑰模乘加密時用到的亂數u,用該亂數與原始公鑰做倍點計算得到驗簽公鑰,用驗簽公鑰來驗證簽名是否合法。本發明中,私鑰保護可實質性融合諸如口令之類的基于記憶的簡單防護措施,以增強抗設備盜用之類攻擊的能力,有比較好的可移植性。
技術領域
本發明屬于信息安全、數據業務領域,具體而言,本發明涉及一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法。
背景技術
現有的SM2私鑰保護的方法:
不存儲簽名私鑰原文,存儲私鑰和預先生成亂數的混合結果,使用存儲的私鑰模乘結果來生成簽名。例如公開號為CN201810133887.X的發明專利公開了一種SM2白盒密碼實現方法,該專利提出了私鑰加密存儲的方案,但沒有解決存儲的密文私鑰被盜用后的防止偽造簽名的問題。
現有技術方案分析:
現有SM2私鑰保護方案通過不存儲簽名私鑰原文,簽名時使用存儲的中間私鑰直接計算,按照自定義流程驗證簽名,存在如下問題:
存在問題一:改變了標準SM2簽名流程步驟和簽名驗證步驟,和SM2標準算法不兼容。
存在問題二:第三方攻擊者獲取到了存儲的私鑰中間結果,運用方案中的簽名流程可以生成任意合法簽名。
發明內容
針對現有技術中存在的問題,本發明提出一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法,SOTP算法保證不同用戶其加解密算法不同。它依據數學原理將密碼算法與用戶密鑰有機融合,利用用戶密鑰對原本共同的算法進行重構,使得不同用戶使用不同加解密算法,用戶密鑰融合在自己的算法中,可以有效的解決上述問題。
為了實現上述發明目的,本發明采用的技術方案是:一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法,具體步驟為:
步驟一、用戶在使用初期,必須在安全環境下向服務器進行注冊,以完成初始化操作;客戶端U提供用戶標識uid,用戶口令特征P,設備識別碼M;服務器為U產生一個隨機密鑰—用戶密鑰k,將k注入SOTP算法發生器E,生成一個與密鑰k相關的加密函數Sk;服務器存儲E、k、uid和M、P,用戶U下載Sk;服務器每次生成的函數Sk都不相同,動態變化,保證每個用戶下載Sk算法各不相同;
步驟二、客戶端進行身份認證;
步驟三、基于動態可重構的密碼體制SOTP、時間戳,融合用戶口令,計算出一個亂數u,使用u對原來存儲的私鑰密文做模乘加密,然后用SOTP算法根據上一次加密的時間戳恢復出上次加密亂數u`,模乘u`模n的逆元得到新的私鑰密文dA;
步驟四、基于SM2算法,定義橢圓曲線C,基點G,階為素數n,
用戶私鑰:dA∈[1,n-1]是一個大整數,客戶端只保存和使用加密后的私鑰d'A,其中d'A=u.dA,u由客戶端使用可重構的密碼體制SOTP、時間戳,融合用戶口令得到;
原始公鑰:PA=[dA]G;
使用d'A用SM2標準簽名流程步驟生成簽名值;
服務中心使用u和原始公鑰的倍點計算結果[u]PA作為驗簽公鑰來驗證簽名;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京壹證通信息科技有限公司,未經南京壹證通信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911212116.0/2.html,轉載請聲明來源鉆瓜專利網。





