?

基于SM2的兩方協作盲簽名協議

2022-02-04 06:38白雪秦寶東郭瑞鄭東
網絡與信息安全學報 2022年6期
關鍵詞:數字簽名密鑰協作

白雪,秦寶東,郭瑞,鄭東

基于SM2的兩方協作盲簽名協議

白雪,秦寶東,郭瑞,鄭東

(西安郵電大學網絡空間安全學院,陜西 西安 710121)

SM2是我國于2010年發布的橢圓曲線公鑰密碼標準,由于其具有比RSA簽驗速度快、存儲空間小和運算復雜度低的特點被廣泛應用于金融、社保等領域。隨著國密算法的推廣應用,密鑰安全和數據隱私問題備受關注。單密鑰簽名模式的簽名權力過于集中,無法滿足分布式環境的應用需求,密鑰泄露將威脅整個密碼系統的安全,密鑰的安全存儲和合理利用問題亟待解決。此外,標準 SM2 數字簽名算法無法實現消息內容的隱私保護功能,國密算法的簽名消息的隱私保護有待進一步探究。針對簽名算法的密鑰安全和數據隱私問題,已有對SM2的協作簽名研究和盲簽名研究,然而,沒有對SM2盲簽名的協作設計,提出一種兩方協作的盲簽名協議,允許除用戶以外的兩方執行簽名操作,簽名過程無須恢復完整私鑰,不會泄露部分私鑰和秘密數的信息,密鑰分散存儲提升密鑰安全性,盲簽名性質保護消息隱私。在安全性方面,協議滿足不可偽造性和不可鏈接性;在效率方面,使用C語言進行仿真測試,系統中各個參與者在本地的運行耗時均在可承受范圍內,在簽名者誠實執行協議的情況下,協作簽名階段中各個實體的時間損耗與執行一次輕量級的SM2盲簽名的時間損耗基本一致。因此,該協議在功能和效率上具備一定的實用前景。

SM2;協作盲簽名;密鑰安全;隱私保護

0 引言

SM2[1]是國家密碼管理局于2010年12月17日頒布的基于橢圓曲線的公鑰密碼標準,該標準包括數字簽名算法、密鑰交換協議和公鑰加密算法,其中,SM2數字簽名算法于2018年被正式發布在ISO/IEC14888-3:2018中。該算法改善了RSA面臨的安全威脅,使用較短的密鑰即可與RSA達到同等的安全級別[2]。為了實現我國密碼基礎建設的安全可控,國家密碼管理局計劃用SM2逐步替換RSA,完成信息行業國密算法的升級改造[3],至此,國產密碼的應用引起了國內外學者的廣泛關注,現已產生了較多關于SM2算法的研究成果[4-6]。

在數字簽名技術中,一方面,考慮到密鑰作為用戶身份的憑證,可確保用戶具有相關權限,密鑰一旦泄露,攻擊者可偽裝成合法用戶威脅整個系統的安全[7],并且,簽名權力的集中不利于多方參與決策的公平性,密鑰的安全存儲和合理利用問題亟待解決;另一方面,傳統簽名模式中的待簽名消息對簽名者完全公開,簽名者可以對消息進行追溯[8],這不適用于對消息內容有隱私保護需求的應用,如電子交易、電子競拍和匿名選舉等[9]。

針對SM2數字簽名算法中的密鑰安全[10]問題,國內外學者相繼提出了基于Shamir[11]秘密分享原理、Paillier[12]同態加密和安全兩方計算的協作簽名思想,即密鑰分散存儲,至少兩個參與者共同執行簽名操作。前者屬于(,)門限密碼范疇,在個參與者中允許個及以上用戶生成最終簽名結果,有效提升了密鑰安全性和系統穩健性,但由于SM2數字簽名的特殊結構,現有方案[13-15]使用零秘密共享、乘法秘密共享、點乘秘密共享和求逆秘密共享的方法,存在交互次數多、效率較低的問題。Ding等[16]提出SM2協作簽名和群簽名方案,通過秘密分享密鑰、添加隨機數的方式減少了簽名交互。2020年,Zhang等[17]提出了可證明安全的SM2兩方協作簽名方案,參與者使用本地私鑰協商生成簽名驗證公鑰,在簽名階段借助Paillier同態性質交互一次完成簽名操作。侯等[18]采用零知識證明、比特承諾技術設計了兩方簽名方案,較文獻[17]的方案減少了一次同態加密操作。之后,為解決移動互聯網環境中,用戶計算資源和存儲空間受限的問題,馮吟雪等[19]采用改進的SM2簽名形式,簡化私鑰求逆運算,設計了輕量級的安全兩方簽名協議。蘇等[20]使用參與者的部分私鑰驗證中間計算結果的正確性,無須零知識證明輔助,通過預計算的方式提升了簽名效率。2022年,Tang等[21]利用橢圓曲線上的Diffie-Hellman密鑰交換變體設計實現了兩方SM2協作簽名方案,同樣在無須零知識證明的輔助下保證了中間結果的一致性。

針對數字簽名算法中的消息隱私保護研究,有效的方式是設計盲簽名方案[22-23],即用戶令簽名者對盲化的消息進行簽名,用戶可消除盲因子得到原始消息的簽名,簽名者無法預知消息內容,有效保證了消息隱私。在現有的SM2盲簽名方案中,He等[24]提出將原始SM2簽名結構中的隨機數拆分為兩部分,采用Paillier同態加密性質盲化消息,但同樣由于使用開銷較大的同態加密,方案效率較低,2020年,Zhang等[25]對其改進,采用隨機數盲化消息的通用構造,設計了輕量級的SM2盲簽名方案,是目前較為高效的可證明安全的盲簽名方案。2022年,唐衛中等[26]提出一種SM2無證書盲簽名方案用以滿足通信帶寬和存儲資源受限環境下的應用需求。但以上方案中的簽名私鑰由唯一的簽名者持有,依然存在簽名權力集中、單個密鑰泄露導致的系統安全問題。

綜上,現有方案可單獨實現基于SM2的兩方協作簽名功能或實現基于SM2的盲簽名功能,前者無法滿足消息隱私保護需求,后者無法滿足兩方參與者決策的應用。本文考慮到盲簽名方案中的密鑰安全問題,提出一種基于SM2的兩方協作盲簽名協議,允許除用戶以外的兩個參與者執行簽名操作。對用戶而言,待簽名消息對簽名者保密,對兩個簽名者而言,簽名過程不會暴露各自的私鑰信息,在提升SM2簽名密鑰安全性的同時實現消息隱私保護。此外,本文對協議進行了性能評估,結果表明在誠實模型下,協議的計算代價較小,具備一定的應用價值。

1 預備知識

1.1 SM2數字簽名算法

1.2 盲簽名協議

盲簽名協議由用戶和簽名者參與執行,協議包含以下4個階段,

1.3 知識提取假設

1991年,Damg?rd等[29]提出知識提取假設(簡稱KEA),用于密碼方案的安全性證明。該假設也被蘇吟雪等[20]用于證明其設計的基于SM2的協作簽名協議,該假設的定義如下。

2 兩方協作盲簽名協議

2.1 系統模型

本文提出的兩方協作盲簽名協議的系統模型如圖1所示。

該模型包含以下3個實體。

圖1 兩方協作盲簽名協議的系統模型

Figure 1 The model of two - party cooperative blind signature

2.2 協議設計

基于蘇吟雪等[20]兩方協作SM2簽名協議,本文提出SM2的兩方協作盲簽名協議,如圖2所示。協議的具體執行過程如下。

圖2 基于SM2的兩方協同盲簽名協議

Figure 2 A two-party blind signature protocol based on SM2

2.3 正確性分析

由密鑰生成階段可知:

由簽名生成階段可知:

3 安全性分析

3.1 安全模型定義

類似傳統的盲簽名方案,協同盲簽名方案應該同時滿足不可偽造性和不可鏈接性(盲性)。在協同盲簽名的系統模型中,假設參與協議的3個實體都是誠實且好奇的參與者,即用戶、第一簽名者和第二簽名者都會按照協議的要求執行協議。在該假設下,給出協同盲簽名協議的不可偽造性和不可鏈接性的形式化定義。

定義攻擊者在上述實驗中成功的概率為

3.2 安全性證明

通過仿真算法Sim對實驗環境的模擬過程可以看出,若Sim在模擬過程中不終止游戲,那么Sim將以與攻擊者相同的概率成功偽造一個SM2簽名。下面分析Sim終止游戲的事件及其概率。

其中,為自然對數的底。由此,可得

定理1證畢。

定理2 (不可鏈接性)。圖2中的兩方協作盲簽名協議滿足不可鏈接性。

根據方程(1)得

由此可知

所以

定理2證畢。

4 性能分析

本節主要對第2節提出的兩方協作盲簽名協議進行性能評估,理論分析了協議執行過程中的主要計算開銷,并對協議進行了實驗評測。

表1 理論計算開銷

表2 協議的安全性對比

對用戶而言,本協議無須同態加密的協助,比何德彪等方案減少了2次Paillier加密運算和1次 Paillier解密運算,本文協議與Zhang等方案的用戶開銷基本一致。

操作系統:64位Windows10 家庭中文版。

中央處理器:Inteli5-8250 @ 1.6 GHz。

硬盤:1 T。

內存:8 GB。

實驗中采用“GM/T 003.5-2012”標準中附錄A推薦的橢圓曲線參數作為系統參數,采用國密SM3密碼雜湊算法作為協議中的安全哈希函數。

對于固定414 B大小的消息,本文將協議運行1 000次取平均值,測試了協議各個階段運行時間,對比如表3所示。

表3 協議各個階段運行時間對比

在密鑰生成階段,何德彪等方案的密鑰生成過程與標準SM2相同,本協議需要預先進行密鑰協商,在該階段的耗時為24.62 ms,但與何德彪等方案相比,本協議無須生成Paillier密鑰,可節省約331.35 ms的時間成本;在盲簽名階段,由表3盲簽名一欄中各個實體的耗時求和可得,何德彪等方案的簽名耗時為651.74 ms,Zhang等方案的簽名耗時為21.68 ms,本文協議的簽名耗時為 65.69 ms。本文協議無須Paillier同態加密協助,較何德彪等方案節省586.05 ms的時間成本。在無須一致性檢驗的情況下,本協議的簽名耗時為30.89 ms,可在原設計的基礎上進一步減少約35 ms的時間損耗,并且本文協議在盲簽名基礎上增加實現了協作簽名功能,同時,協議各個實體在本地的耗時與Zhang等設計的輕量級SM2盲簽名的耗時基本一致;在簽名驗證階段,何德彪等和Zhang等方案均使用原SM2簽名驗證公鑰進行驗證,本文協議使用協商的密鑰進行驗證,驗證算法均與標準SM2驗證算法一致,表3中簽名驗證的耗時受系統運行影響略有差異,但整體與SM2驗證耗時相近,協議具有良好的兼容性和一定的實用性。

圖3 簽名階段運行時間

Figure 3 Time costs of signing phase

圖4是SM2數字簽名算法與兩方協作盲簽名算法分別對長度為1 B、1 KB、10 KB、100 KB和1 MB消息進行簽名的效率對比,可以看出,簽署長度在1 B至100 KB范圍內的消息對簽名效率的影響不顯著,簽署長度超過100 KB時,簽名耗時增加幅度較大,主要與哈希函數壓縮不同大小消息所消耗的時間有關。如表4所示,對于1 MB大小的消息,SM2簽名運行時間119.38 ms,兩方協作簽名運行時間176.56 ms,二者運行時間變化趨勢一致,符合理論分析。

進一步地,在誠實通信的前提下,簽名者無須進行驗證運算,如2.2節協議分析所述,每次執行協作盲簽名可減少4次耗時較大的點乘運算,效率可得到進一步的提高。

表4 運行時間對比

圖4 簽署不同長度消息的運行時間對比

Figure 4 Time costs for signing messages of different sizes

5 結束語

針對SM2數字簽名的消息隱私保護和密鑰安全問題,本文提出一種基于SM2的兩方協作盲簽名協議,通過在傳統盲簽名系統中增添簽名參與者的方式,一方面將密鑰分散存儲,提升密鑰的安全性,另一方面簽名者均無法預知待簽名消息內容,實現了兩方分布式環境中的協同盲簽名操作。實驗表明,系統中各個參與者在本地運行耗時均在可承受范圍內,協議具備一定的實用性。

[1] 國家密碼管理局. GM/T2003—2012 SM2橢圓曲線公鑰密碼算法[S]. 北京: 中國標準出版社, 2010.

State Cryptography Administration. GM/T2003—2012 public key cryptographic algorithm SM2 based on elliptic curves [S]. Beijing: Standards Press of China, 2010.

[2] 馮澤宇, 鞏博儒, 趙運磊. 基于離散對數的數字簽名標準對比研究[J]. 計算機工程, 2016, 42(1): 145-149.

FENG Z Y,GONG B R, ZHAO Y L.Comparative study of digital signature standards based on discrete logarithm[J].Computer Engineering, 2016, 42(1): 145-149.

[3] 賈冀芳, 張立新, 廖明耀. 基于OpenSSL的SM2與RSA自動切換算法的設計[J]. 計算機工程與應用, 2018, 54(3): 74-81.

JIA J F, ZHANG L X, LIAO M Y. Design of automatic switching algorithm between SM2 and RSA based on OpenSSL[J]. Computer Engineering and Applications, 2018, 54(3): 74-81.

[4] TIAN H B, SU Y X, LIANG Z Q, A provable secure server friendly two-party SM2 singing protocol for blockchain IoT[C]//2019 IEEE Globecom Workshops (GC Wkshps). 2019: 1-5.

[5] LI W, LI R, WU K, et al. Design and implementation of an SM2- based security authentication scheme with the key agreement for smart grid communications[J]. IEEE Access, 2018, 6:71194-71207.

[6] LONG Y H, CHENG M Y. Secret sharing based SM2 digital signature generation using homomorphic encryption[C]//2019 15th International Conference on Computational Intelligence and Security (CIS). 2019: 252-256.

[7] 涂彬彬, 陳宇. 門限密碼系統綜述[J]. 密碼學報, 2020, 7(1):1-14.

TU B B, CHEN Y. A survey of threshold cryptosystems[J]. Journal of Cryptologic Research, 2020, 7(1): 1-14.

[8] CHAUM D. Blind signatures for untraceable payments[C]// Advances in Cryptology. 1983: 199-203.

[9] KREMER S, RYAN M, SMYTH B. Election verifiability in electronic voting protocols[C]//European Symposium on Research in Computer Security. 2010: 389-404.

[10] CUI H D, QIN X R, CAI C L, et al. Security on SM2 and GOST signatures against related key attacks[C]//2021 IEEE 20th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom). 2021: 155-163.

[11] SHAMIR A. How to share a secret[J]. Communications of the ACM, 1979, 22(11): 612-613.

[12] PAILLIER P. Public-key cryptosystems based on composite degree residuosity classes[C]//Advances in Cryptology - EUROCRYPT '99, International Conference on the Theory and Application of Cryptographic Techniques. 1999:223-238.

[13] 涂彬彬, 王現方, 張立廷. 兩種分布式SM2/9算法應用[J]. 密碼學報, 2020, 7(6): 826-838.

TU B B, WANG X F, ZHANG L T. Two distributed applications of SM2 and SM9[J]. Journal of Cryptologic Research, 2020, 7(6): 826-838.

[14] 尚銘, 馬原, 林璟鏘, 等. SM2橢圓曲線門限密碼算法[J]. 密碼學報, 2014, 1(2): 155-166.

SHANG M, MA Y, LIN J Q, et al. A threshold scheme for SM2 elliptic curve cryptographic algorithm[J]. Journal of Cryptologic Research, 2014, 1(2): 155-166.

[15] YAN J, LU Y, CHEN L Y, et al. A SM2 elliptic curve threshold signature scheme without a trusted center[J]. KSII Transactions on International and Information Systems. 2016, 2(10): 897-913.

[16] DING F. LONG Y H, WU P L. Study on secret sharing for SM2 digital signature and its application[C]//2018 14th International Conference on Computational Intelligence and Security (CIS). 2018: 205-209.

[17] ZHANG Y D, HE D B, ZHANG M W, et al. A provable-secure and practical two-party distributed signing protocol for SM2 signature algorithm[J]. Frontiers of Computer Science, 2020, 14(3): 1-14.

[18] 侯紅霞, 楊波, 張麗娜, 等. 安全的兩方協作SM2簽名算法[J]. 電子學報, 2020, 48(1): 1-8.

HOU H X, YANG B, ZHANG L N, et al. Secure two-party SM2 signature algorithm[J]. Acta Electronica Sinica, 2019, 48(1): 1-8.

[19] 馮琦, 何德彪, 羅敏, 等. 移動互聯網環境下輕量級 SM2 兩方協同簽名[J]. 計算機研究與發展, 2020, 57(10): 2136-2146.

FENG Q, HE D B, LOU M, et al. Efficient two-party SM2 signing protocol for mobile internet[J]. Journal of Computer Research and Development, 2020, 57(10): 2136-2146.

[20] 蘇吟雪, 田海博. 基于 SM2 的雙方共同簽名協議及其應用[J].計算機學報, 2020, 43(4): 701-710.

SU Y X, TIAN H B. A two-party SM2 signing protocol and its application[J]. Chinese Journal of Computers, 2020, 43(4): 701-710.

[21] TANG G, ZHANG Z. Two-party signing for ISO/IEC digital signature standards[J]. The Computer Journal, 2022: 1-15.

[22] R¨UCKERT M. Lattice-based blind signatures[C]//International Conference on the Theory and Application of Cryptology and Information Security. 2010: 413-430.

[23] HE D B, CHEN J H, ZHANG, R. An efficient identity-based blind signature scheme without bilinear pairings[J]. Computers & Electrical Engineering, 2011, 37(4): 444-450.

[24] 何德彪, 張韻茹, 謝翔, 等. 盲簽名的獲取方法、裝置和服務器.中國專利[P]. CN109818730A, 2019-03-06.

HE D B, ZHANG Y R, XIE X, et al. Method and system for generating blind signature[P]. CN 109818730A, 2019-03-16.

[25] ZHANG Y D, HE D B, ZHANG F G, et al. An efficient blind signature scheme based on SM2 signature algorithm[C]// International Conference on Information Security and Cryptology. 2020: 368-384.

[26] 唐衛中, 張大偉, 佟暉. 基于SM2的無證書盲簽名方案[J]. 計算機應用研究, 2022, 39(2): 552-556.

TANG W Z, ZHANG D W, TONG H. Certificateless blind signature scheme based on SM2[J]. Application Research of Computers, 2022, 39(2): 552-556.

[27] ZHANG Z F, YANG K, ZHANG J, et al. Security of the SM2 signature scheme against generalized key substitution attacks[C]// International Conference on Research in Security Standardisation.2015: 140-153.

[28] SHOUP V. Lower bounds for discrete logarithms and related problems[C]//International Conference on the Theory and Applications of Cryptographic Techniques. 1997: 256-266.

[29] DAMG?RD I. Towards practical public key systems secure against chosen ciphertext attacks[C]//Annual International Cryptology Conference. 1991: 445-456.

Two-party cooperative blind signature based on SM2

BAI Xue, QIN Baodong, GUO Rui, ZHENG Dong

School of Cyberspace Security, Xi’an University of Posts & Telecommunications, Xi’an 710121, China

SM2, issued by China in 2010, is a public key cryptography standard based on elliptic curves. It has been widely used in finance, social security and other fields thanks to its advantages of improved signature efficiency, decreased storage space and computing complexity than RSA. With the popularization and application of SM2, the issues of its key security and data privacy are of great concern. The single-key mode inhibits the potential application in multi-user settings, and the leakage of the key will threaten the security of the entire cryptosystem due to the centralization. The problem of secure storage and reasonable utilization of keys needs to be solved urgently. In addition, the SM2 digital signature algorithm cannot guarantee the message privacy. Aiming at the issues of key security and data privacy of the signature algorithm, many researchers have proposed the idea of cooperative signature and blind signature for SM2. However, there isn’t SM2 collaborative blind signature scheme proposed. Then a two-party cooperative blind signing protocol based on SM2 was proposed in this paper, which allowed two parties to sign except the user. The signing process did not require recovering the complete private key, while not revealing the information of the partial private key and secret number. The key was stored separately to improve the security of the key, while the blind signature protected the privacy of the message. In terms of security, the protocol satisfied unforgeability and unlinkability. The protocol was implemented using C to demonstrate the efficiency of each participant’s local operation. In the honest model, the time cost of each entity in the cooperative signature phase was similar as that of executing a lightweight SM2 blind signature. Overall, the proposed protocol has certain advantages in terms of function and efficiency.

SM2, two-party blind signature, key security, privacy protection

TP309.2

A

10.11959/j.issn.2096?109x.2022081

2022?02?02;

2022?06?22

秦寶東,qinbaodong@xupt.edu.cn

國家自然科學基金(61872292);青海省基礎研究計劃項目(2020-ZJ-701)

The National Natural Science Foundation of China (61872292), Basic Research Program of Qinghai Province (2020-ZJ-701)

白雪, 秦寶東, 郭瑞, 等. 基于SM2的兩方協作盲簽名協議[J]. 網絡與信息安全學報, 2022, 8(6): 39-51.

BAI X, QIN B D, GUO R, et al. Two-party cooperative blind signature based on SM2[J]. Chinese Journal of Network and Information Security, 2022, 8(6): 39-51.

白雪(1996?),女,陜西榆林人,西安郵電大學碩士生,主要研究方向為國密算法、公鑰密碼學。

秦寶東(1982?),男,江蘇徐州人,西安郵電大學教授,主要研究方向為公鑰密碼學。

郭瑞(1984?),男,河南洛陽人,西安郵電大學副教授,主要研究方向為區塊鏈安全。

鄭東(1964?),男,山西翼城人,西安郵電大學教授、博士生導師,主要研究方向為信息安全。

猜你喜歡
數字簽名密鑰協作
基于正交拉丁方理論的數字簽名分組批量驗證
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
交通運輸行業數字簽名系統的設計與實現分析
密碼系統中密鑰的狀態與保護*
淺析計算機安全防護中數字簽名技術的應用
團結協作成功易
監督橋 溝通橋 協作橋
狼|團結協作的草原之王
TPM 2.0密鑰遷移協議研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合