一种针对SM2数字签名算法的攻击方案.pdf
《一种针对SM2数字签名算法的攻击方案.pdf》由会员分享,可在线阅读,更多相关《一种针对SM2数字签名算法的攻击方案.pdf(13页珍藏版)》请在咨信网上搜索。
1、密码学报ISSN 2095-7025 CN 10-1195/TNJournal of Cryptologic Research,2023,10(4):823835密码学报编辑部版权所有.E-mail:http:/Tel/Fax:+86-10-82789618一种针对 SM2 数字签名算法的攻击方案*白 野1,何德彪1,罗 敏1,杨智超2,彭 聪11.武汉大学 国家网络安全学院 空天信息安全与可信计算教育部重点实验室,武汉 4300722.海军工程大学 信息安全系,武汉 430032通信作者:何德彪,E-mail:摘要:SM2 数字签名算法是我国商用密码体系的重要组成部分,目前已广泛应用于电子签
2、章等领域.研究 SM2 数字签名算法潜在的安全风险及相应的防范技术,对于推动我国商用密码体系的安全应用具有重要意义.SM2 数字签名算法的安全性基于椭圆曲线离散对数问题的困难性,当前已有一些针对不同椭圆曲线类数字签名算法的攻击研究,但攻击 SM2 数字签名算法的方案还存在所需签名数量较多、攻击耗时较长、成功率较低的问题.本文针对 SM2 数字签名算法设计了一组判断函数,基于带判断的格基约减算法,提出了一种针对 SM2 数字签名算法的侧信道攻击方案,并分别就算法中随机数的最高 3 比特、最低3 比特和中间 17 比特已知三种情况进行了侧信道攻击实验.实验结果表明,相比现有攻击 SM2 数字签名算
3、法的方案,本文攻击方案所需签名数量减少了 10%,私钥恢复时间减少了 86%,成功率提高了 2 倍.关键词:SM2 数字签名算法;格基约减算法;侧信道攻击;判断函数中图分类号:TP309.7文献标识码:ADOI:10.13868/ki.jcr.000631中文引用格式:白野,何德彪,罗敏,杨智超,彭聪.一种针对 SM2 数字签名算法的攻击方案J.密码学报,2023,10(4):823835.DOI:10.13868/ki.jcr.000631英文引用格式:BAI Y,HE D B,LUO M,YANG Z C,PENG C.An attack method on SM2 digital sig
4、naturealgorithmJ.Journal of Cryptologic Research,2023,10(4):823835.DOI:10.13868/ki.jcr.000631An Attack Method on SM2 Digital Signature AlgorithmBAI Ye1,HE De-Biao1,LUO Min1,YANG Zhi-Chao2,PENG Cong11.Key Laboratory of Aerospace Information Security and Trusted Computing,Ministry of Education,Schoolo
5、f Cyber Science and Engineering,Wuhan University,Wuhan 430072,China2.Department of Information Security,Naval University of Engineering,Wuhan 430032,ChinaCorresponding author:HE De-Biao,E-mail:Abstract:SM2 digital signature algorithm is an important part of Chinese commercial cryptographysystem,whic
6、h has been widely used in electronic signature and other fields.Studying the potentialsecurity vulnerabilities of SM2 digital signature algorithm and the corresponding prevention methodsare of great significance to promote the application of Chinese commercial cryptosystem.The securityof SM2 digital
7、 signature algorithm is based on the hardness of elliptic curve based discrete logarithmproblem.At present,there have been some researches about attacks on different elliptic curve digital*基金项目:山东省重点研发计划(2020CXGC010107);国家自然科学基金(U21A20466,62172307,61972294,61932016)Foundation:Shandong Provincial Key
8、 Research and Development Program(2020CXGC010107);National NaturalScience Foundation of China(U21A20466,62172307,61972294,61932016)收稿日期:2022-05-16定稿日期:2022-09-01824Journal of Cryptologic Research 密码学报 Vol.10,No.4,Aug.2023signature algorithms,however,the existing attacks on SM2 digital signature algo
9、rithm still have someefficiency problems such as large number of signatures required,long attacking time and low successrate.This paper designs a set of judgment functions for SM2 digital signature algorithm,and proposesa side-channel attack on SM2 digital signature algorithm based on lattice basis
10、reduction algorithmwith judgment.Experiments of private key recovery are carried out in three cases of knowing thehighest 3 bits,the lowest 3 bits and the middle 17 bits of the random number.Experimental resultsshow that,compared with the existing attacks on the SM2 digital signature algorithm,in th
11、is proposedattack,the number of signatures required is reduced by 10%,the private key recovery time is reducedby 86%,and the success rate is increased by 2 times.Key words:SM2 digital signature algorithm;lattice basis reduction algorithm;side channel attack;predicate function1引言SM2 椭圆曲线公钥密码算法1于 2010
12、 年 12 月 17 日发布,2012 年被批准为密码行业标准(GM/T0003-2012)2,2016 年正式成为中国国家密码标准(GB/T32918-2016)3.SM2 椭圆曲线公钥密码算法包括数字签名算法、密钥交换协议、公钥加密算法三部分.在当前的商用密码体系中,SM2 数字签名算法4提供了电子认证服务系统所需的安全支撑,基于 SM2 数字签名算法的适配器签名5、环签名6等算法丰富了它的应用环境.目前,SM2 数字签名算法已成为我国自主可控商用密码体系的重要组成部分.侧信道攻击又称边信道攻击,是一种利用计算机计算过程中泄漏出的功耗、电磁辐射等信号来进行攻击的方法.对于椭圆曲线类数字签名
13、方案,如果签名者没有妥善保护好执行签名算法的设备,恶意攻击者可以通过观察随机数 k 的功耗泄露情况,对 k 参与的计算过程进行简单功耗分析(simple power analysis,SPA)7,恢复出 k 的部分比特值;当签名者使用相同签名私钥执行多次签名算法使攻击者收集到足够的随机数、签名组后,攻击者能够通过随机数、签名和公钥之间的关系利用格攻击等手段以较高的概率恢复出签名私钥.格基约减算法是密码学中广泛使用的一类算法,主要包括 LLL 算法8、BKZ 算法9等,它们通过对格基矩阵的行向量(或列向量)进行线性组合,使算法的输出为一组范数更小的格基.BKZ 算法可以分为使用枚举(enumer
14、ation,enum)子算法10的 BKZ 算法和使用筛选(Sieve)子算法11的 BKZ 算法两类.两种子算法均可用于求解格上最短向量问题(shortest vector problem,SVP),它们的计算复杂度分别为(4/3)n+o(n)和 2(n log n).Chen 和 Nguyen 于 2011 年提出了基于修剪技术的枚举算法 Prun-Enum12,提高了枚举算法的实际运行速度.虽然筛选算法比枚举算法的计算复杂度更小,但在实际应用中,Prun-Enum 算法往往具有更高的运行效率.2018 年,Ducas 提出了一种亚指数级的筛选算法13,令d=(n/logn),算法通过在(
15、n d)维线性空间上调用 Sieve 算法求解 n 维线性空间上的最短向量问题,相比于以往的筛选算法,它的运行速度更快;相比于 Prun-Enum 算法,它的运行速度只慢一个数量级.当攻击者知晓了椭圆曲线数字签名随机数的部分比特并搜集到足够的签名后,构造出一组隐藏数问题(hidden number problem,HNP)14实例.隐藏数问题可被视为一种特殊的有界距离解码(boundeddistance decoding,BDD)问题,攻击者使用格基约减算法对实例进行破解,最终恢复出用户的签名私钥.2001 年,Howgrave-Graham 和 Smart 首次提出了使用格基约减算法攻击 D
16、SA 算法的方案15.2003 年,Nguyen 和 Shparlinski 提出了第一个可证明的多项式时间内基使用格基约减算法攻击 ECDSA 算法的方案16.早期,大多数对椭圆曲线数字签名算法攻击方案的研究都是在随机数最高部分比特或最低部分比特已知下进行的,2006 年,Hlav 和 Rosa 针对随机数中间部分比特已知的椭圆曲线数字签名算法提出了带有两组未知数的隐藏数问题(hidden number problem with two holes,HNP-2H)17,并给出了一种HNP-2H 问题到 HNP 问题的转换方法,使 HNP-2H 问题也可以被格基约减算法攻破.2013 年,Li
17、u 等人提出了第一个利用格基约减算法攻击 SM2 数字签名算法的方案18,可以在 SM2数字签名算法随机数最高 3 比特已知的情况下恢复出签名私钥,但这种方法所需的签名数量较多,运行时间较长.2019 年,Ryan 等人对 ECDSA、DSA 等签名算法中的模约减部分进行分析,提出了一种新的侧白野 等:一种针对 SM2 数字签名算法的攻击方案825信道攻击方式19,在 256 比特安全级别下,ECDSA 算法中随机数最高 4 比特已知时,能以极高的成功率恢复出签名私钥,但无法做到 3 比特已知时的私钥恢复,且攻击方案的时间开销较大.2021 年,Albrecht和 Heninger 提出了一种
18、带判断的 BKZ 算法20,在相同的安全级别下,可以做到随机数最高 3 比特已知时的私钥恢复,且时间开销较小,所需签名数量也较少.目前,大多数研究成果都是针对 ECDSA 算法的攻击方案,只有 Liu 等人18针对 SM2 数字签名算法的攻击方案进行了研究,但他们的攻击成功率较低,所需时间较长.针对这一问题,本文基于带判断的格基约减算法20,分别设计了随机数最高、最低、中间部分比特已知三种情况下的 SM2 数字签名算法攻击方案,并对方案进行了实验和分析.本文的主要贡献如下:(1)基于带判断的格基约减算法20,根据 SM2 数字签名算法的结构,设计了 SM2 数字签名算法中随机数最高、最低、中间
19、部分比特已知三种情况下的判断函数 fmost,least,mid(),用于修剪掉格基约减过程中产生的无效分支,提高约减效率.(2)设计了针对 SM2 数字签名算法中随机数中间部分比特已知时的攻击方案.本文以损失一半已知比特数的代价,将对应的 HNP-2H 问题转换为 HNP 问题,基于所设计的判断函数进行求解以恢复出签名私钥.(3)分别设计了针对 SM2 数字签名算法中随机数最高、最低部分比特已知时的攻击方案.本文基于所设计的判断函数,对两种情况对应的 HNP 问题进行求解以恢复出签名私钥.实验结果表明:相比现有攻击 SM2 数字签名算法的方案,本攻击方案所需的签名数量减少了 10%,私钥恢复
20、的时间减少了 86%,成功率提高了 2 倍.本文结构如下:第2节介绍了 SM2 数字签名算法密钥恢复的预备知识,包括 SM2 数字签名的定义、格的定义、格上困难问题、格基约减算法以及隐藏数问题的定义;第3节就 SM2 数字签名算法中随机数的最高、最低、中间部分比特已知三种情况,分别设计各自的判断函数,并提出相对应的格攻击方案;第4节分析了本文方案攻击 SM2 数字签名算法的效率;最后第5节总结本文的研究成果.2预备知识2.1SM2 数字签名算法SM2 数字签名算法4包括系统参数生成、密钥生成、签名生成、签名验证四部分:系统参数生成:输入一个安全参数,输出椭圆曲线参数六元组 T=p,a,b,G,
21、n,h,其中 p 为一个大于 3 的素数,确定了有限域 Fp中的元素为 0,1,p 1;a,b 为有限域 Fp中的两个元素,与 p 共同确定了椭圆曲线方程 y2 x3+a x+b mod p;G=(xG,yG)为椭圆曲线上一个循环子群的生成元,n 为生成元的阶,它们共同确定了循环子群的内容;h 为 n 的余因子,大小为h=N/n,其中 N 为椭圆曲线的阶(椭圆曲线中点的数量).密钥生成:拥有 entlenA比特长可辨别标识 IDA的签名者 A 生成自己的私钥 dA并将其私密保存,计算并公开公钥 PA=(xA,yA)=dAG.签名生成:给定消息 M,A 首先将 entlenA转换为 2 字节长的
22、比特串 ENTLA,并将身份信息和椭圆曲线相关参数拼接在一起作哈希映射 ZA=H256(ENTLAIDAabxGyGxAyA);其次,令M=ZA|M,计算消息摘要 e=H256(M);然后,随机选取 k Zn,计算(x1,y1)=kG.(1)最后计算r=(e+x1)mod n,(2)s=(1+dA)1(k r dA)mod n,(3)(4)826Journal of Cryptologic Research 密码学报 Vol.10,No.4,Aug.2023将签名对(r,s)发送给验证者.签名验证:验证者 B 收到消息 M和签名对(r,s)后,首先,B 判断是否有 r,s Zn,如果条件不成立
23、则验证不通过,否则令M=ZA|M,计算消息摘要 e=H256(M);其次,计算 t=(r+s)mod n;然后,利用 s和 t 计算(x1,y1)=sG+tPA;最后,计算 R=(e+x1)mod n,判断如果 R=r则验证通过,(r,s)是关于消息 M 的有效签名,否则验证不通过.2.2格格 L 是 n 维线性空间中一组线性无关向量的整线性组合,本文用形如 b 的小写粗体字母表示格中的向量,形如 B 的大写粗体字母表示一个格基矩阵,b2表示向量 b 的二范数,bi,bj 表示向量 bi和向量 bj的内积,1(L)表示格 L 中最短向量的长度.格的基(B)定义为 Rn上的 d 个线性无关向量
24、b0,b1,bd1 Rnd,B=(b0,b1,bd1)是一个 n d 的矩阵,其中 bi为第 i 列向量,整数 d 和 n 表示格 L(B)的秩和维数.若 d=n,则 L(B)是 Rd上的满秩(或满维)格.格可以表示为L(B)=Bv:v Zd=L(b0,b1,bd1)=d1i=0vibi:vi Z,0 i d 1.对于格中的正交映射,其定义如下.定义 1(正交映射)定义 i:Rnd7 span(b0,b1,bi),其中 i=0,1,d 1,特别地,当i=0 时,定义 0为恒等变换.那么给定一组基 B,和其施密特正交(Gram-Schmidt orthogonalization,GSO)基 B=
25、(b0,b1,bd1),其中 b0=b0,对于 i=1,2,d 1 和 j=0,1,i 1,令i,j=bi,bjbj,bj,则有 bi=bii1j=0i,jbj.那么正交映射和施密特函数间存在等式 i(bi)=bi.对于0 i 0 使得向量 t 和格之间的欧氏距离 dist(t,L(B)1(L),找到一个长度为 1(L)的非零向量 v L.并且,对于任何一个多项式边界 1,都存在一个由 BDD1/(2)到 uSVP的规约21.Albrecht 和 Heninger 结合传统的 uSVP 问题,增加了一个判断函数 f(),定义了一种带判断的uSVP 问题20:定义 4(带判断的唯一最短向量问题,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 针对 SM2 数字签名 算法 攻击 方案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。