一种抗差分计算分析的白盒SM4方案_原梓清.pdf
《一种抗差分计算分析的白盒SM4方案_原梓清.pdf》由会员分享,可在线阅读,更多相关《一种抗差分计算分析的白盒SM4方案_原梓清.pdf(11页珍藏版)》请在咨信网上搜索。
1、密码学报ISSN 2095-7025 CN 10-1195/TNJournal of Cryptologic Research,2023,10(2):386396密码学报编辑部版权所有.E-mail:http:/Tel/Fax:+86-10-82789618一种抗差分计算分析的白盒 SM4 方案*原梓清1,陈 杰1,21.西安电子科技大学 通信工程学院,西安 7100712.河南省网络密码技术重点实验室,郑州 450001通信作者:陈杰,E-mail:摘要:研究白盒密码的设计与分析对于保证密码算法在实际应用场景下的安全性具有重要意义.本文发现白鲲鹏等人提出的白盒 SM4 方案存在安全性漏洞,采
2、用 Bos 等人的差分计算分析方法,可以在 8 分钟内恢复出整个初始密钥.基于非线性编码改进了该方案,可以抵抗差分计算分析.改进后方案需要的内存空间为 34.5 MB,各种查找表的白盒多样性的最小值为 2568.8,各种查找表的白盒含混度的最小值为2148.4,有效抵抗 Bos 等人的差分计算分析、潘文伦等人的攻击、BGE 攻击、林-来攻击、De Mulder 等人的攻击、MGH 攻击以及 Lepoint 等人的攻击.关键词:白盒密码;白盒实现;SM4 算法;旁信道分析;差分计算分析中图分类号:TP309.7文献标识码:ADOI:10.13868/ki.jcr.000601中文引用格式:原梓清
3、,陈杰.一种抗差分计算分析的白盒 SM4 方案J.密码学报,2023,10(2):386396.DOI:10.13868/ki.jcr.000601英文引用格式:YUAN Z Q,CHEN J.A white-box SM4 scheme against differential computation analysisJ.Journal of Cryptologic Research,2023,10(2):386396.DOI:10.13868/ki.jcr.000601A White-box SM4 Scheme Against Differential Computation Analy
4、sisYUAN Zi-Qing1,CHEN Jie1,21.School of Telecommunications Engineering,Xidian University,Xian 710071,China2.Henan Key Laboratory of Network Cryptography Technology,Zhengzhou 450001,ChinaCorresponding author:CHEN Jie,E-mail:Abstract:Design and analysis of white-box cryptography are of great significa
5、nce for ensuring thesecurity of cryptographic algorithms in practical implementations.This paper reveals the securityvulnerability of the white-box SM4 scheme proposed by Bai Kunpeng et al.,the entire initial key canbe recovered within 8 minutes by the differential computation analysis(DCA)method of
6、 Bos et al.In order to resist differential computation analysis for the white-box SM4 scheme of Bai Kunpeng etal.,this paper proposes an improved scheme based on nonlinear coding.In the proposed scheme,thememory space requirement is 34.5 MB,the minimum value of white-box diversity of various look-up
7、tables is 2568.8,and the minimum value of white-box ambiguity of various look-up tables is 2148.4.Theproposed scheme can effectively resist the differential computation analysis of Bos et al.,the attack*基金项目:陕西省自然科学基金基础研究计划(2021JM-126);河南省网络密码技术重点实验室研究课题(LNCT2022-A08)Foundation:Basic Research Progra
8、m of Natural Science Foundation of Shaanxi Province(2021JM-126);OpenProject of Henan Key Laboratory of Network Cryptography Technology(LNCT2022-A08)收稿日期:2022-01-24定稿日期:2023-01-20原梓清 等:一种抗差分计算分析的白盒 SM4 方案387of Pan Wenlun et al.,the BGE attack,the Lin-Lai attack,the attack of De Mulder et al.,the MGHa
9、ttack and the attack of Lepoint et al.Key words:white-box cryptography;white-box implementation;SM4 algorithm;side channelanalysis;differential computation analysis1引言传统密码算法假设运行环境是安全的,攻击者只能获取密码算法的输入输出,而无法得知密码算法的内部细节,此时的攻击模型为黑盒攻击模型.随着信息技术的快速发展,计算机、智能手机与互联网已被广泛应用于生产生活中,软件、视频、图像、音乐等数字产品被广泛传播.在这种情况下,数字产
10、品的运行环境不再单纯可信,传统密码算法的安全性假设不再成立.因此,文献 1 中提出了白盒攻击模型的概念.在白盒攻击模型中,攻击者对运行密码算法的终端具有完全的控制力,可以直接观测或更改密码算法运行时的内部细节.为确保密码算法在白盒攻击模型中仍具有安全性,进而解决数字版权管理问题,文献 1 中提出了白盒密码的概念.白盒密码采取查找表等技术对密钥进行了混淆,即使攻击者对运行密码算法的终端具有完全的控制力,也不能提取密钥.在文献 1 中,Chow 等人还提出了一种将已有密码算法白盒化处理的方法,即将原密码算法修改为嵌入密钥的查找表网络,并对每个查找表的输入输出以及整个查找表网络的输入输出用混淆编码进
11、行保护.基于此,Chow 等人设计了一个 AES 的白盒实现方案1以及一个 DES 的白盒实现方案2.此后的白盒实现方案大多沿用 Chow 等人的设计思路37.对白盒实现方案的安全性分析,目前主要有两种思路:一种是在纯白盒环境下,通过对算法内部细节的安全性分析找到漏洞,并采用查找表组合、仿射等价算法等手段消除混淆编码,对密钥相关的查找表进行分析并提取密钥.这类分析方法的典型代表有 Billet 等人提出的 BGE 攻击8、Michiels 等人提出的 MGH 攻击9、De Mulder 等人对肖-来白盒 SM4 方案的攻击10以及林婷婷等人对史扬白盒 SM4 方案的攻击11.另一种对白盒实现方
12、案的分析思路,是在灰盒环境下,利用某些软件采集算法程序运行时泄露的信息,并采用相应的统计分析方法提取密钥.这类方法属于旁信道分析方法,分析时不需要洞悉密码算法的内部细节,对现有的白盒实现方案具有更高的实际威胁.近年来,针对白盒实现方案的旁信道分析方法不断得到完善1220,如今该类分析方法已成为检验白盒实现方案安全性的重要工具.本文利用差分计算分析13对白-武白盒 SM4 方案6进行安全性分析.分析表明,白-武白盒 SM4方案不能抵抗 Bos 等人的差分计算分析.为此,本文基于文献 14 的理论,采用非线性编码对白-武白盒SM4 方案进行了改进.改进后的白盒 SM4 方案能够抵抗 Bos 等人的
13、差分计算分析、潘文伦等人的攻击、BGE 攻击、林-来攻击、De Mulder 等人的攻击、MGH 攻击以及 Lepoint 等人的攻击.2白-武白盒 SM4 方案白-武白盒 SM4 方案6针对标准 SM4 算法21采用随机的仿射变换进行编码,并应用查找表保护算法运行时的内部信息.该方案引入了较多的随机量,并且设计了更加复杂的内部编码和解码过程,这大大增加了该方案的分析难度.白-武白盒 SM4 方案的实现过程如下22:(1)根据密钥扩展算法,由 128 位的初始密钥生成 32 个 32 位的轮密钥 k1,k2,k32.(2)生成随机矩阵与随机向量:首先,生成 32 阶随机可逆矩阵 P0,P1,P
14、35,E1,E2,E32,F1,F2,F32以及 32 位随机向量 pi,pi,j,pr+3,j,pr+3,j,er,0,er,1,er,5,fr,0,fr,1,fr,5.其中,i=0,1,35,i=0,1,34,j=0,1,2,3,r=1,2,32.3j=0pi,j=pi,3j=0pr+3,j=pr+3,3j=0pr+3,j=pr+3,pr+3 pr+3=pr+3,Er=diag(Er,0,Er,1,Er,2,Er,3),Fr=diag(Fr,0,Fr,1,Fr,2,Fr,3).然后按照以下步骤生成 16 位随机向量 ur,i:(a)计算 er=5i=0er,i,fr=5i=0fr,i.38
15、8Journal of Cryptologic Research 密码学报 Vol.10,No.2,Apr.2023(b)记 er=er,0er,1er,2er,3,fr=fr,0fr,1fr,2fr,3.(c)将 er,i,fr,i重组为 16 位向量 ur,i=er,ifr,i,其中 i=0,1,2,3,r=1,2,32.(3)用轮密钥、随机矩阵与随机向量生成查找表:第 r 轮,存储以下 16 个查找表(遍历 8 位的输入值 x 存储 32 位的输出值 y),具体过程可由式(1)式(7)表示.TCr,j:y=Pr+3(P1r1,j x P1r1 pr1,j)pr+3,j,j=0,1,2,3
16、,(1)TAr,j:y=Er(P1r,j x P1r pr,j)er,j,j=0,1,(2)TAr,j+2:y=Er(P1r+1,j x P1r+1 pr+1,j)er,j+2,j=0,1,(3)TAr,j+4:y=Er(P1r+2,j x P1r+2 pr+2,j)er,j+4,j=0,1,(4)TBr,j:y=Fr(P1r,j+2 x P1r pr,j+2)fr,j,j=0,1,(5)TBr,j+2:y=Fr(P1r+1,j+2 x P1r+1 pr+1,j+2)fr,j+2,j=0,1,(6)TBr,j+4:y=Fr(P1r+2,j+2 x P1r+2 pr+2,j+2)fr,j+4,j
17、=0,1.(7)遍历 16 位的输入值 x 存储 32 位的输出值 y 的 4 个查找表,可由式(8)表示.TDr,j:y=Pr+3 Mj S(E1r,jF1r,j)(x ur,j)kr,j)pr+3,j,(8)其中,r=1,2,32,j=0,1,2,3,(E1r,jF1r,j)是 8 16 矩阵,(E1r,jF1r,j)(x ur,j)表示将 16 位向量(x ur,j)的两个 8 位分量分别经过 E1r,j与 F1r,j解码后再将两解码后的值异或,S 表示 SM4 的 S 盒查表运算,Mj表示标准 SM4 的扩散矩阵 M 的 4 个 32 8 分块.(4)输入编码如式(9)所示:Xi=Pi
18、 Xi pi,i=0,1,2,3.(9)(5)加密:若记 r 为加密循环轮次,则加密过程包括如下(a)(e)共 5 步.(a)查 TA 表、TB 表、TC 表,对输入进行解码与编码:由 Xr1的 4 个 8 位分量分别查询查找表 TCr,0,TCr,1,TCr,2,TCr,3,得 cr,0,cr,1,cr,2,cr,3;由 Xr的 4 个 8 位分量分别查询查找表 TAr,0,TAr,1,TBr,0,TBr,1,得 ar,0,ar,1,br,0,br,1;由 Xr+1的 4 个 8 位分量分别查询查找表 TAr,2,TAr,3,TBr,2,TBr,3,得 ar,2,ar,3,br,2,br,3
19、;由 Xr+2的 4 个 8 位分量分别查询查找表 TAr,4,TAr,5,TBr,4,TBr,5,得 ar,4,ar,5,br,4,br,5.(b)重组:计算 ar=5i=0ar,i,br=5i=0br,i.记 ar=r,0r,1r,2r,3,br=r,0r,1r,2r,3,将 r,i,r,i重组为 4 个 16 位的向量 yr,0,yr,1,yr,2,yr,3,其中 yr,i=r,ir,i,i=0,1,2,3.(c)查 TD 表,完成主要加密操作:根据 yr,0,yr,1,yr,2,yr,3,分别查询查找表 TDr,0,TDr,1,TDr,2,TDr,3,得 dr,0,dr,1,dr,2,
20、dr,3.(d)获取轮输出 Xr+3,如式(10)所示.Xr+3=3i=0(cr,i dr,i).(10)(e)循环执行步骤(a)到步骤(d)32 次,得到未解码的加密结果.原梓清 等:一种抗差分计算分析的白盒 SM4 方案389(6)输出解码如式(11)所示.Xi=Pi(Xi pi),i=32,33,34,35.(11)注:以上加密过程未考虑反序变换.3白-武白盒 SM4 方案的安全性分析本文利用差分计算分析方法对白-武白盒 SM4 方案进行安全性分析.3.1差分计算分析2016 年,Bos 等人首次提出差分计算分析(differential computational analysis,D
21、CA)12.差分计算分析是基于差分功耗分析(differential power analysis,DPA)提出的分析方法,可借助特定的软件收集算法程序运行时泄露的信息,并对其进行分析从而提取密钥.标准差分计算分析的步骤如下:(1)获取软件迹.(2)选取算法计算过程中的某个密钥相关的中间状态字节,确定选择函数.选择函数的输出为中间状态字节的某一位,称为目标比特.对每种情况的目标比特,执行如下步骤(3)到(5):(3)根据目标比特是 0 还是 1,将软件迹分为两类.(4)分别求两类软件迹的均值迹.(5)求两条均值迹的差分迹.(6)比较各差分迹的峰值,其中最大者对应的目标比特为最佳目标比特.(7)
22、对每种情况的密钥字节猜测,执行步骤(2)到(6),比较各种密钥字节猜测下的最佳目标比特对应的差分迹峰值,其中最大者对应的密钥字节猜测为最佳密钥字节猜测.差分计算分析本质上是统计分析方法,分析结果与分析程序的运行环境、密码算法的具体编码都有关系.当密码算法采用可逆矩阵或可逆仿射变换作为密钥相关查找表的输出编码,但是矩阵不含有汉明重量为 1 的行时,标准差分计算分析失效.此时采用变体差分计算分析,即将标准差分计算分析步骤(2)中选择函数的输出(即目标比特)改为中间状态字节各位的某种线性组合的结果,其他步骤不变,即可保证分析成功.3.2对白-武白盒 SM4 方案的差分计算分析本文用 Java 语言编
23、程实现白-武白盒 SM4 方案作为分析对象.如何获取软件迹不属于本文讨论内容,本文用以下方式模拟分析所需软件迹:在白-武白盒 SM4 方案的程序中插入辅助代码,将第一轮加密时的所有查找表的输出存储在一个二进制文件中,将加密前的明文与加密后的密文存储在另一个二进制文件中.随机生成 200 组明文并加密,得到一个存储着 200 条查表记录的二进制文件以及一个存储着 200 组明密文对的二进制文件.在之后的分析中将查表记录对应的二进制文件的内容序列化即可模拟所需的软件迹.通过这种做法得到的模拟软件迹尺寸比实际通过 DBI 等工具捕获的软件迹尺寸小很多.因为实际通过 DBI 等工具捕获的软件迹中,除第
24、一轮加密时的所有查找表的输出外,还有许多与问题无关的数据.那些多余的数据与第一轮子密钥不相关,因此不会影响分析正确率.但是模拟软件迹中没有那些多余的数据,这会导致对其进行分析的效率高于实际中的效率.本文用 C+程序语言编程实现差分计算分析算法,对前述二进制文件进行分析.分析程序的运行环境为:操作系统为 Windows 10 家庭中文版(64 位),开发平台为 Visual Studio 2015,处理器为 Intel(R)Core(TM)i5-8300H CPU 2.30 GHz,内存 8 GB.运用分析程序尝试恢复第一轮子密钥的最高字节,结果如下:(1)固定密码算法编码所用随机矩阵和随机向量
25、,对 10 种不同初始密钥的方案采用数量不等的查表记录及其对应的随机明文进行变体差分计算分析,并统计采用各种数量的样本进行分析时的正确率,结果如表1所示.(2)固定密码算法的初始密钥,对 10 种不同编码的方案分别采用 200 条查表记录及其对应的 200 组随机明文进行变体差分计算分析,均能得出正确的结果.统计分析各种编码的方案所用的时间,结果如表2所示.390Journal of Cryptologic Research 密码学报 Vol.10,No.2,Apr.2023表 1 变体差分计算分析的正确率Table 1Correct rate of variant differential
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 抗差分 计算 分析 SM4 方案 原梓清
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。