基于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密钥迁移协议研究