[發明專利]一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法有效
| 申請號: | 201911212116.0 | 申請日: | 2019-12-02 |
| 公開(公告)號: | CN110971411B | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 王杰勛;唐天其;馬圣東 | 申請(專利權)人: | 南京壹證通信息科技有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/00;H04L9/40 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 張蘇沛 |
| 地址: | 210000 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 sotp 技術 私鑰乘 加密 sm2 同態 簽名 方法 | ||
1.一種基于SOTP技術對私鑰乘加密的SM2同態簽名方法,其特征在于:
用戶的私鑰使用模乘加密后保存在客戶端,客戶端可周期性的對私鑰做模乘加密更新私鑰密文,簽名時無需解密私鑰密文,直接使用私鑰密文進行簽名;基于動態可重構的密碼體制SOTP算法、簽名私鑰密文生成時的時間戳,融合用戶口令特征值,計算出一個亂數u,使用u對原來存儲的私鑰密文做模乘加密,然后用SOTP算法根據上一次加密的簽名私鑰密文生成時的時間戳恢復出上次加密亂數u`,模乘u`的逆元得到新的私鑰密文u.dA;
客戶端做簽名操作時使用最新的簽名私鑰密文做簽名運算;驗證簽名的時候驗簽服務中心接收用戶標識uid,簽名私鑰密文生成時的時間戳T、公鑰證書、簽名值、簽名數據;使用SOTP算法恢復出對應用戶的私鑰模乘加密時用到的亂數u,用該亂數與原始公鑰做倍點計算得到驗簽公鑰,用驗簽公鑰來驗證簽名是否合法。
2.根據權利要求1所述的基于SOTP技術對私鑰乘加密的SM2同態簽名方法,其特征在于:
客戶端在每次簽名操作前對私鑰密文進行更新;客戶端保存最近使用模乘加密生成的私鑰密文和簽名私鑰密文生成時的時間戳,簽名直接使用私鑰密文計算,任何時候私鑰明文不會出現;
客戶端在簽名時使用SOTP算法通過服務中心認證后,保存簽名原文摘要和簽名私鑰密文生成時的時間戳T到服務中心;服務中心驗證時查找待驗證的簽名原文摘要是否有記錄,如沒有記錄則判斷簽名為非法簽名。
3.根據權利要求1所述的基于SOTP技術對私鑰乘加密的SM2同態簽名方法,其特征在于:
客戶端和服務中心的認證和協商亂數算法使用的SOTP算法,在用戶端初次注冊到系統中的時候,系統根據用戶標識uid、客戶端設備標識碼、用戶口令特征值生成對應的算法代碼S;認證的時候用此加密算法代碼S處理一個輸入發送給對方,對方使用自己對應的代碼段處理同樣的輸入,根據處理結果是否相同判斷認證是否通過;用算法代碼S處理一個約定輸入的結果作為協商的共同的亂數數據使用。
4.根據權利要求1至3之一所述的基于SOTP技術對私鑰乘加密的SM2同態簽名方法,其特征在于,具體步驟為:
步驟一、用戶在使用初期,必須在安全環境下向服務中心進行注冊,以完成初始化操作;客戶端U提供用戶標識uid,用戶口令特征值P,設備識別碼M;服務中心為U產生一個隨機密鑰即用戶密鑰k,將用戶密鑰k注入SOTP算法發生器E,生成一個與用戶密鑰k相關的加密函數Sk;服務中心存儲E、k、uid和M、P,客戶端U下載Sk;服務中心每次生成的函數Sk都不相同,動態變化,保證每個用戶下載Sk算法各不相同;
步驟二、客戶端進行身份認證;
客戶端和服務中心進行身份認證后,保存簽名原文摘要和簽名私鑰密文生成時的時間戳T到服務中心,服務中心對通過認證的客戶端數據進行記錄,認證失敗的不予記錄;
步驟三、基于動態可重構的密碼體制SOTP算法、簽名私鑰密文生成時的時間戳,融合用戶口令特征值,計算出一個亂數u,使用u對原來存儲的私鑰密文做模乘加密,然后用SOTP算法根據上一次加密的簽名私鑰密文生成時的時間戳恢復出上次加密亂數u`,模乘u`的逆元得到新的私鑰密文u.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作為驗簽公鑰來驗證簽名;
步驟四、客戶端直接使用私鑰密文進行簽名運算,在客戶端保存簽名值和私鑰密文生成時的時間戳T;
步驟五、服務中心接受簽名驗證請求,包括公鑰證書、簽名值、簽名私鑰密文生成時的時間戳T和簽名數據;用戶標識uid包含在證書主題項中,根據用戶標識uid、簽名私鑰密文生成時的時間戳T和用戶注冊時記錄的信息恢復出用戶SOTP算法代碼S,使用算法代碼S;根據簽名私鑰密文生成時的時間戳T,融合用戶口令特征值計算出簽名時的私鑰保護因子亂數u,使用u點倍乘證書中的公鑰得到驗簽公鑰[u]PA;用驗簽公鑰按照SM2標準流程進行簽名驗證。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京壹證通信息科技有限公司,未經南京壹證通信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911212116.0/1.html,轉載請聲明來源鉆瓜專利網。





