白雪,秦寶東,郭瑞,鄭東
基于SM2的兩方協(xié)作盲簽名協(xié)議
白雪,秦寶東,郭瑞,鄭東
(西安郵電大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,陜西 西安 710121)
SM2是我國于2010年發(fā)布的橢圓曲線公鑰密碼標(biāo)準(zhǔn),由于其具有比RSA簽驗速度快、存儲空間小和運算復(fù)雜度低的特點被廣泛應(yīng)用于金融、社保等領(lǐng)域。隨著國密算法的推廣應(yīng)用,密鑰安全和數(shù)據(jù)隱私問題備受關(guān)注。單密鑰簽名模式的簽名權(quán)力過于集中,無法滿足分布式環(huán)境的應(yīng)用需求,密鑰泄露將威脅整個密碼系統(tǒng)的安全,密鑰的安全存儲和合理利用問題亟待解決。此外,標(biāo)準(zhǔn) SM2 數(shù)字簽名算法無法實現(xiàn)消息內(nèi)容的隱私保護功能,國密算法的簽名消息的隱私保護有待進一步探究。針對簽名算法的密鑰安全和數(shù)據(jù)隱私問題,已有對SM2的協(xié)作簽名研究和盲簽名研究,然而,沒有對SM2盲簽名的協(xié)作設(shè)計,提出一種兩方協(xié)作的盲簽名協(xié)議,允許除用戶以外的兩方執(zhí)行簽名操作,簽名過程無須恢復(fù)完整私鑰,不會泄露部分私鑰和秘密數(shù)的信息,密鑰分散存儲提升密鑰安全性,盲簽名性質(zhì)保護消息隱私。在安全性方面,協(xié)議滿足不可偽造性和不可鏈接性;在效率方面,使用C語言進行仿真測試,系統(tǒng)中各個參與者在本地的運行耗時均在可承受范圍內(nèi),在簽名者誠實執(zhí)行協(xié)議的情況下,協(xié)作簽名階段中各個實體的時間損耗與執(zhí)行一次輕量級的SM2盲簽名的時間損耗基本一致。因此,該協(xié)議在功能和效率上具備一定的實用前景。
SM2;協(xié)作盲簽名;密鑰安全;隱私保護
SM2[1]是國家密碼管理局于2010年12月17日頒布的基于橢圓曲線的公鑰密碼標(biāo)準(zhǔn),該標(biāo)準(zhǔn)包括數(shù)字簽名算法、密鑰交換協(xié)議和公鑰加密算法,其中,SM2數(shù)字簽名算法于2018年被正式發(fā)布在ISO/IEC14888-3:2018中。該算法改善了RSA面臨的安全威脅,使用較短的密鑰即可與RSA達到同等的安全級別[2]。為了實現(xiàn)我國密碼基礎(chǔ)建設(shè)的安全可控,國家密碼管理局計劃用SM2逐步替換RSA,完成信息行業(yè)國密算法的升級改造[3],至此,國產(chǎn)密碼的應(yīng)用引起了國內(nèi)外學(xué)者的廣泛關(guān)注,現(xiàn)已產(chǎn)生了較多關(guān)于SM2算法的研究成果[4-6]。
在數(shù)字簽名技術(shù)中,一方面,考慮到密鑰作為用戶身份的憑證,可確保用戶具有相關(guān)權(quán)限,密鑰一旦泄露,攻擊者可偽裝成合法用戶威脅整個系統(tǒng)的安全[7],并且,簽名權(quán)力的集中不利于多方參與決策的公平性,密鑰的安全存儲和合理利用問題亟待解決;另一方面,傳統(tǒng)簽名模式中的待簽名消息對簽名者完全公開,簽名者可以對消息進行追溯[8],這不適用于對消息內(nèi)容有隱私保護需求的應(yīng)用,如電子交易、電子競拍和匿名選舉等[9]。
針對SM2數(shù)字簽名算法中的密鑰安全[10]問題,國內(nèi)外學(xué)者相繼提出了基于Shamir[11]秘密分享原理、Paillier[12]同態(tài)加密和安全兩方計算的協(xié)作簽名思想,即密鑰分散存儲,至少兩個參與者共同執(zhí)行簽名操作。前者屬于(,)門限密碼范疇,在個參與者中允許個及以上用戶生成最終簽名結(jié)果,有效提升了密鑰安全性和系統(tǒng)穩(wěn)健性,但由于SM2數(shù)字簽名的特殊結(jié)構(gòu),現(xiàn)有方案[13-15]使用零秘密共享、乘法秘密共享、點乘秘密共享和求逆秘密共享的方法,存在交互次數(shù)多、效率較低的問題。Ding等[16]提出SM2協(xié)作簽名和群簽名方案,通過秘密分享密鑰、添加隨機數(shù)的方式減少了簽名交互。2020年,Zhang等[17]提出了可證明安全的SM2兩方協(xié)作簽名方案,參與者使用本地私鑰協(xié)商生成簽名驗證公鑰,在簽名階段借助Paillier同態(tài)性質(zhì)交互一次完成簽名操作。侯等[18]采用零知識證明、比特承諾技術(shù)設(shè)計了兩方簽名方案,較文獻[17]的方案減少了一次同態(tài)加密操作。之后,為解決移動互聯(lián)網(wǎng)環(huán)境中,用戶計算資源和存儲空間受限的問題,馮吟雪等[19]采用改進的SM2簽名形式,簡化私鑰求逆運算,設(shè)計了輕量級的安全兩方簽名協(xié)議。蘇等[20]使用參與者的部分私鑰驗證中間計算結(jié)果的正確性,無須零知識證明輔助,通過預(yù)計算的方式提升了簽名效率。2022年,Tang等[21]利用橢圓曲線上的Diffie-Hellman密鑰交換變體設(shè)計實現(xiàn)了兩方SM2協(xié)作簽名方案,同樣在無須零知識證明的輔助下保證了中間結(jié)果的一致性。
針對數(shù)字簽名算法中的消息隱私保護研究,有效的方式是設(shè)計盲簽名方案[22-23],即用戶令簽名者對盲化的消息進行簽名,用戶可消除盲因子得到原始消息的簽名,簽名者無法預(yù)知消息內(nèi)容,有效保證了消息隱私。在現(xiàn)有的SM2盲簽名方案中,He等[24]提出將原始SM2簽名結(jié)構(gòu)中的隨機數(shù)拆分為兩部分,采用Paillier同態(tài)加密性質(zhì)盲化消息,但同樣由于使用開銷較大的同態(tài)加密,方案效率較低,2020年,Zhang等[25]對其改進,采用隨機數(shù)盲化消息的通用構(gòu)造,設(shè)計了輕量級的SM2盲簽名方案,是目前較為高效的可證明安全的盲簽名方案。2022年,唐衛(wèi)中等[26]提出一種SM2無證書盲簽名方案用以滿足通信帶寬和存儲資源受限環(huán)境下的應(yīng)用需求。但以上方案中的簽名私鑰由唯一的簽名者持有,依然存在簽名權(quán)力集中、單個密鑰泄露導(dǎo)致的系統(tǒng)安全問題。
綜上,現(xiàn)有方案可單獨實現(xiàn)基于SM2的兩方協(xié)作簽名功能或?qū)崿F(xiàn)基于SM2的盲簽名功能,前者無法滿足消息隱私保護需求,后者無法滿足兩方參與者決策的應(yīng)用。本文考慮到盲簽名方案中的密鑰安全問題,提出一種基于SM2的兩方協(xié)作盲簽名協(xié)議,允許除用戶以外的兩個參與者執(zhí)行簽名操作。對用戶而言,待簽名消息對簽名者保密,對兩個簽名者而言,簽名過程不會暴露各自的私鑰信息,在提升SM2簽名密鑰安全性的同時實現(xiàn)消息隱私保護。此外,本文對協(xié)議進行了性能評估,結(jié)果表明在誠實模型下,協(xié)議的計算代價較小,具備一定的應(yīng)用價值。
盲簽名協(xié)議由用戶和簽名者參與執(zhí)行,協(xié)議包含以下4個階段,
1991年,Damg?rd等[29]提出知識提取假設(shè)(簡稱KEA),用于密碼方案的安全性證明。該假設(shè)也被蘇吟雪等[20]用于證明其設(shè)計的基于SM2的協(xié)作簽名協(xié)議,該假設(shè)的定義如下。
本文提出的兩方協(xié)作盲簽名協(xié)議的系統(tǒng)模型如圖1所示。
該模型包含以下3個實體。
圖1 兩方協(xié)作盲簽名協(xié)議的系統(tǒng)模型
Figure 1 The model of two - party cooperative blind signature
基于蘇吟雪等[20]兩方協(xié)作SM2簽名協(xié)議,本文提出SM2的兩方協(xié)作盲簽名協(xié)議,如圖2所示。協(xié)議的具體執(zhí)行過程如下。
圖2 基于SM2的兩方協(xié)同盲簽名協(xié)議
Figure 2 A two-party blind signature protocol based on SM2
由密鑰生成階段可知:
由簽名生成階段可知:
類似傳統(tǒng)的盲簽名方案,協(xié)同盲簽名方案應(yīng)該同時滿足不可偽造性和不可鏈接性(盲性)。在協(xié)同盲簽名的系統(tǒng)模型中,假設(shè)參與協(xié)議的3個實體都是誠實且好奇的參與者,即用戶、第一簽名者和第二簽名者都會按照協(xié)議的要求執(zhí)行協(xié)議。在該假設(shè)下,給出協(xié)同盲簽名協(xié)議的不可偽造性和不可鏈接性的形式化定義。
定義攻擊者在上述實驗中成功的概率為
通過仿真算法Sim對實驗環(huán)境的模擬過程可以看出,若Sim在模擬過程中不終止游戲,那么Sim將以與攻擊者相同的概率成功偽造一個SM2簽名。下面分析Sim終止游戲的事件及其概率。
其中,為自然對數(shù)的底。由此,可得
定理1證畢。
定理2 (不可鏈接性)。圖2中的兩方協(xié)作盲簽名協(xié)議滿足不可鏈接性。
根據(jù)方程(1)得
由此可知
所以
定理2證畢。
本節(jié)主要對第2節(jié)提出的兩方協(xié)作盲簽名協(xié)議進行性能評估,理論分析了協(xié)議執(zhí)行過程中的主要計算開銷,并對協(xié)議進行了實驗評測。
表1 理論計算開銷
表2 協(xié)議的安全性對比
對用戶而言,本協(xié)議無須同態(tài)加密的協(xié)助,比何德彪等方案減少了2次Paillier加密運算和1次 Paillier解密運算,本文協(xié)議與Zhang等方案的用戶開銷基本一致。
操作系統(tǒng):64位Windows10 家庭中文版。
中央處理器:Inteli5-8250 @ 1.6 GHz。
硬盤:1 T。
內(nèi)存:8 GB。
實驗中采用“GM/T 003.5-2012”標(biāo)準(zhǔn)中附錄A推薦的橢圓曲線參數(shù)作為系統(tǒng)參數(shù),采用國密SM3密碼雜湊算法作為協(xié)議中的安全哈希函數(shù)。
對于固定414 B大小的消息,本文將協(xié)議運行1 000次取平均值,測試了協(xié)議各個階段運行時間,對比如表3所示。
表3 協(xié)議各個階段運行時間對比
在密鑰生成階段,何德彪等方案的密鑰生成過程與標(biāo)準(zhǔn)SM2相同,本協(xié)議需要預(yù)先進行密鑰協(xié)商,在該階段的耗時為24.62 ms,但與何德彪等方案相比,本協(xié)議無須生成Paillier密鑰,可節(jié)省約331.35 ms的時間成本;在盲簽名階段,由表3盲簽名一欄中各個實體的耗時求和可得,何德彪等方案的簽名耗時為651.74 ms,Zhang等方案的簽名耗時為21.68 ms,本文協(xié)議的簽名耗時為 65.69 ms。本文協(xié)議無須Paillier同態(tài)加密協(xié)助,較何德彪等方案節(jié)省586.05 ms的時間成本。在無須一致性檢驗的情況下,本協(xié)議的簽名耗時為30.89 ms,可在原設(shè)計的基礎(chǔ)上進一步減少約35 ms的時間損耗,并且本文協(xié)議在盲簽名基礎(chǔ)上增加實現(xiàn)了協(xié)作簽名功能,同時,協(xié)議各個實體在本地的耗時與Zhang等設(shè)計的輕量級SM2盲簽名的耗時基本一致;在簽名驗證階段,何德彪等和Zhang等方案均使用原SM2簽名驗證公鑰進行驗證,本文協(xié)議使用協(xié)商的密鑰進行驗證,驗證算法均與標(biāo)準(zhǔn)SM2驗證算法一致,表3中簽名驗證的耗時受系統(tǒng)運行影響略有差異,但整體與SM2驗證耗時相近,協(xié)議具有良好的兼容性和一定的實用性。
圖3 簽名階段運行時間
Figure 3 Time costs of signing phase
圖4是SM2數(shù)字簽名算法與兩方協(xié)作盲簽名算法分別對長度為1 B、1 KB、10 KB、100 KB和1 MB消息進行簽名的效率對比,可以看出,簽署長度在1 B至100 KB范圍內(nèi)的消息對簽名效率的影響不顯著,簽署長度超過100 KB時,簽名耗時增加幅度較大,主要與哈希函數(shù)壓縮不同大小消息所消耗的時間有關(guān)。如表4所示,對于1 MB大小的消息,SM2簽名運行時間119.38 ms,兩方協(xié)作簽名運行時間176.56 ms,二者運行時間變化趨勢一致,符合理論分析。
進一步地,在誠實通信的前提下,簽名者無須進行驗證運算,如2.2節(jié)協(xié)議分析所述,每次執(zhí)行協(xié)作盲簽名可減少4次耗時較大的點乘運算,效率可得到進一步的提高。
表4 運行時間對比
圖4 簽署不同長度消息的運行時間對比
Figure 4 Time costs for signing messages of different sizes
針對SM2數(shù)字簽名的消息隱私保護和密鑰安全問題,本文提出一種基于SM2的兩方協(xié)作盲簽名協(xié)議,通過在傳統(tǒng)盲簽名系統(tǒng)中增添簽名參與者的方式,一方面將密鑰分散存儲,提升密鑰的安全性,另一方面簽名者均無法預(yù)知待簽名消息內(nèi)容,實現(xiàn)了兩方分布式環(huán)境中的協(xié)同盲簽名操作。實驗表明,系統(tǒng)中各個參與者在本地運行耗時均在可承受范圍內(nèi),協(xié)議具備一定的實用性。
[1] 國家密碼管理局. GM/T2003—2012 SM2橢圓曲線公鑰密碼算法[S]. 北京: 中國標(biāo)準(zhǔn)出版社, 2010.
State Cryptography Administration. GM/T2003—2012 public key cryptographic algorithm SM2 based on elliptic curves [S]. Beijing: Standards Press of China, 2010.
[2] 馮澤宇, 鞏博儒, 趙運磊. 基于離散對數(shù)的數(shù)字簽名標(biāo)準(zhǔn)對比研究[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自動切換算法的設(shè)計[J]. 計算機工程與應(yīng)用, 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] 涂彬彬, 陳宇. 門限密碼系統(tǒng)綜述[J]. 密碼學(xué)報, 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] 涂彬彬, 王現(xiàn)方, 張立廷. 兩種分布式SM2/9算法應(yīng)用[J]. 密碼學(xué)報, 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]. 密碼學(xué)報, 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] 侯紅霞, 楊波, 張麗娜, 等. 安全的兩方協(xié)作SM2簽名算法[J]. 電子學(xué)報, 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] 馮琦, 何德彪, 羅敏, 等. 移動互聯(lián)網(wǎng)環(huán)境下輕量級 SM2 兩方協(xié)同簽名[J]. 計算機研究與發(fā)展, 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 的雙方共同簽名協(xié)議及其應(yīng)用[J].計算機學(xué)報, 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] 何德彪, 張韻茹, 謝翔, 等. 盲簽名的獲取方法、裝置和服務(wù)器.中國專利[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] 唐衛(wèi)中, 張大偉, 佟暉. 基于SM2的無證書盲簽名方案[J]. 計算機應(yīng)用研究, 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
國家自然科學(xué)基金(61872292);青海省基礎(chǔ)研究計劃項目(2020-ZJ-701)
The National Natural Science Foundation of China (61872292), Basic Research Program of Qinghai Province (2020-ZJ-701)
白雪, 秦寶東, 郭瑞, 等. 基于SM2的兩方協(xié)作盲簽名協(xié)議[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 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?),女,陜西榆林人,西安郵電大學(xué)碩士生,主要研究方向為國密算法、公鑰密碼學(xué)。
秦寶東(1982?),男,江蘇徐州人,西安郵電大學(xué)教授,主要研究方向為公鑰密碼學(xué)。
郭瑞(1984?),男,河南洛陽人,西安郵電大學(xué)副教授,主要研究方向為區(qū)塊鏈安全。
鄭東(1964?),男,山西翼城人,西安郵電大學(xué)教授、博士生導(dǎo)師,主要研究方向為信息安全。