一种基于乘法掩码的AES防护方案_郭筝.pdf
《一种基于乘法掩码的AES防护方案_郭筝.pdf》由会员分享,可在线阅读,更多相关《一种基于乘法掩码的AES防护方案_郭筝.pdf(10页珍藏版)》请在咨信网上搜索。
1、密码学报ISSN 2095-7025 CN 10-1195/TNJournal of Cryptologic Research,2023,10(1):209218密码学报编辑部版权所有.E-mail:http:/Tel/Fax:+86-10-82789618一种基于乘法掩码的 AES 防护方案*郭 筝1,杨正文2,张效林2,卢 岩3,原义栋41.智巡密码(上海)检测技术有限公司,上海 2016012.上海交通大学 电子信息与电气工程学院,上海 2002403.国网辽宁省电力有限公司电力科学研究院,沈阳 1100064.北京智芯微电子科技有限公司,北京 100094通信作者:郭筝,E-mail:
2、摘要:AES 通常采用掩码方法来抵御旁路攻击,其中乘法掩码方案因适用于非线性操作而备受青睐,但其也由于零值问题使得应用场景受限.本文提出了一种结合乘法掩码和伪轮防护的方案,通过设计相应的组合电路将零值映射成非零值,使得进入求逆操作的数据非零,基于有限域的同构特征优化了求逆运算.不仅能够克服零值问题,而且相比于传统乘法掩码方案,大大减少了所需的求逆操作,可以抵御二阶 DPA攻击.在 FPGA 上对其实现并进行电路优化,对采集的功耗曲线进行了 DPA 攻击,在 100 万条曲线下无发现明显泄露,可验证本掩码方案具备一定的安全性.关键词:AES;侧信道分析;DPA;乘法掩码中图分类号:TP309.7
3、文献标识码:ADOI:10.13868/ki.jcr.000590中文引用格式:郭筝,杨正文,张效林,卢岩,原义栋.一种基于乘法掩码的 AES 防护方案J.密码学报,2023,10(1):209218.DOI:10.13868/ki.jcr.000590英文引用格式:GUO Z,YANG Z W,ZHANG X L,LU Y,YUAN Y D.A side-channel countermeasurefor AES based on multiplication maskJ.Journal of Cryptologic Research,2023,10(1):209218.DOI:10.138
4、68/ki.jcr.000590A Side-channel Countermeasure for AES Based on MultiplicationMaskGUO Zheng1,YANG Zheng-Wen2,ZHANG Xiao-Lin2,LU Yan3,YUAN Yi-Dong41.Zhixun Crypto Testing and Evaluation Technology Co.Ltd.,Shanghai 201601,China2.School of Electronic Information and Electrical Engineering,Shanghai Jiao
5、Tong University,Shanghai200240,China3.Electric Power Research Institute,State Grid Liaoning Electric Power Co.Ltd.,Shenyang 110006,China4.Beijing Smart-chip Microelectronics Technology Co.Ltd.,Beijing 100094,ChinaCorresponding author:GUO Zheng,E-mail:Abstract:Masking techniques are often applied to
6、AES to resist side-channel attacks,amongwhich multiplicative mask schemes are favored because of their applicability to nonlinear operations.However,their application scenarios are limited due to the zero-value problem.This paper proposes*基金项目:国家电网有限公司总部科技项目(5100-201941446A-0-0-00)Foundation:Science
7、 and Technology Project of State Grid Corporation of China(5100-201941446A-0-0-00)收稿日期:2022-02-23定稿日期:2022-09-05210Journal of Cryptologic Research 密码学报 Vol.10,No.1,Feb.2023a scheme combining multiplication mask and pseudoround protection.The proposed scheme uses acombinatorial circuit that converts
8、zero value to non-zero to overcome the zero-value problem.Thefinite field homomorphism is used to optimize the inverse operations.This scheme requires less modularinverse operations than the traditional schemes and can resist the second-order DPA attack.It hasbeen implemented on an FPGA with optimiz
9、ation,and DPA attacks have been tested on the collectedpower traces.In the experiments,no observable leakage was found in 1 million traces,which showsthat the proposed scheme is sufficiently secure against DPA attacks.Key words:AES;side-channel analysis;DPA;multiplication mask1引言AES 算法是国际加密标准,其因高效性和
10、高安全性而得到了广泛的关注,大量攻击以及防护掩码都针对该算法展开1,其中以 Kocher 等 1999 年提出的 DPA(differential power analysis)攻击2威胁性最大.与传统攻击不同,此类攻击针对的不是加密算法本身,而是加密算法的硬件实现方式.通过采集硬件加密过程中产生的物理信息(电磁信号、功耗等),利用统计学方法恢复密钥.随着该类分析方法的提出,有学者开始研究防护方法,攻防技术相互促进发展.随后,一些高阶 DPA 攻击方法被提出3,攻击者利用功耗曲线同一时刻的 n 个中间变量的联合泄露来进行攻击.由于攻击难度随着阶数 n 的增长呈现指数变化,所以实际中大多考虑 n
11、=1 和 n=2 的情况,目前对于实际电路的高阶分析也主要针对 n=2 的情况.旁路攻击的本质是寻找物理信息与算法过程中的中间值之间的相关性,各种防护方法的根本思路是破坏泄露信息与泄露中间值的相关性.一些防护方案,如插入伪轮计算、随机化执行时间、设计互补电路等,都能在一定程度上抵抗 DPA 攻击.但是随着攻击样本的增加和预处理操作的运用,这些方案的防护效果大大降低,甚至失效.1999 年 Chari 等4第一次提出掩码方案,其思路是将目标变量拆分成多个子分量,使得功耗与目标变量无关,而与每个子分量相关.之后一些改进方案和相应攻击方法都随之产生,Mangard 等5指出,一旦电路中出现由于组合逻
12、辑电路、路径延时、路径不平衡等导致的毛刺(glitch),则算法过程的中间值都将被探测到,这会使得掩码方案失效.后来 Prouff 等在文献 6 中和 Nikova 等在文献 7 中分别提出了基于秘密共享和基于门限电路的防护方案,并证明了这些方案可有效抵御 glitch.Bilgin 等将这些方法扩展到了高阶分析和防护技术上8.基于共享随机数的布尔掩码方案是当前的热点研究方向之一,该类研究的目标是降低布尔掩码方案的资源使用量或提升掩码方案的执行效率9,10.以上这些方案大多涉及的是布尔掩码,但是布尔掩码不适合 S 盒等非线性操作,因此有人考虑将布尔掩码和乘法掩码的方法结合起来.Akkar 和
13、Girau 在 CHES 2001 中第一次在 AES 上实现布尔掩码与乘法掩码之间的转换11,但这一方法在 CHES 2002 上就被指出存在漏洞12,Goli 和 Tymen 发现了该方法在零值攻击下是不安全的,因为零值的乘法掩码操作与非零值的乘法掩码操作在功耗特征上有明显区别,根据这个特性可以攻击密码算法的实现.后来很多防护方案提出将零值映射成非零值,以避免出现零值问题,文献 1315 中 Genelle 深入研究了将布尔掩码和乘法掩码之间的安全转换,并将其推广到高阶方案上,但是这些都是针对密码电路软件实现的方式.结合布尔掩码和乘法掩码来进行综合防护可在一定程度上弥补乘法掩码的不足16.
14、本文基于 FPGA 平台实现了抗二阶 DPA 攻击的 AES 算法,防护方法基于乘法掩码实现,设计了专门的电路结构解决了零值问题,同时添加了伪轮计算,增大了 AES 算法抵御高阶 DPA 的能力.通过 FPGA 功耗实验平台,采集了 100 万条曲线,对其进行了二阶 DPA 攻击,没有明显泄露,证明了防护方案的有效性.2预备知识2.1AES 算法AES 算法的明文长度为 128 比特,密钥长度支持 128、192、256 比特,不同的密钥长度对应不同的加密轮数.本次的研究对象是 AES-128,即密钥长度为 128 比特,对应的是 10 轮加密.其中前 9 轮的迭代过程是相同的,运算步骤包括字
15、节代换(SubBytes)、行移位(ShiftRows)、列混淆(Mixcolumns)和轮密钥异或(AddRoundKey).最后一轮包括字节代换、行移位和轮密钥异或.AES 运算结构如图1所示.郭筝 等:一种基于乘法掩码的 AES 防护方案211图 1 AES 运算结构Figure 1 Overall procedure of AES2.2针对 AES 的 DPA 攻击DPA,即差分功耗分析,是能量侧信道分析的重要组成部分,这一攻击方法由 Kocher 等在 1999 年首次提出2.DPA 攻击利用目标设备在运行特定密码算法时泄露功耗间的均值差,来推断所用的密钥比特.DPA 攻击能验证密码
16、算法中密钥与差分功耗信息间的关系.CPA(correlation power analysis)则是基于DPA 攻击的思想,借助皮尔森相关性系数(Pearsons correlation coefficient)等统计分析技术恢复完整的密钥字节.针对 AES 的一般 DPA 攻击步骤如下:步骤 1:选取攻击的中间值,通常选择字节代换的输入和输出.步骤 2:采集硬件实现加密算法执行过程中的功耗曲线,将功耗曲线映射为功耗矩阵.步骤 3:穷举参与单个 S 盒计算的密钥,用猜测的密钥和明文进行计算,将字节代换前后的值进行异或,再根据功耗模型,映射成中间值矩阵.步骤 4:将功耗矩阵和中间值矩阵做相关性分
17、析,相关性最大的猜测密钥即判定为真实密钥.DPA 攻击可从包含过多噪声的测量中提取秘密信息,但缺点是需要使用大量的功耗曲线.攻击者需要已知被攻击算法的明密文以对算法的特定步骤进行密钥字节的猜解.即使功耗曲线的有效泄露较少,DPA 依然可以有效识别,即 DPA 具有天然的纠错与抗干扰属性.在实际中,攻击者可以对那些易受攻击的智能卡或其他设备反复执行加密算法来实施 DPA 分析并获取密钥.2.3乘法掩码掩码技术是很常用的一种抵御旁路攻击的防护策略,其思想是通过给真实数据附加上一个掩码,随机化密码电路所处理的中间值,使得真实的中间值隐藏起来,使得攻击者获得的功耗数据无法与真实的中间值对应,从而达到抵
18、御攻击的目的.假设算法运算的中间值是 v,随机掩码为 m,v 经过掩码操作后的值记为 vm,vm=v m,其中 指的是采取的掩码策略,通常可采用异或运算、模加运算或乘法运算等方案.乘法掩码中 一般可选用模乘运算,即密码运算中间值与掩码进行乘法运算,此时有 vm=v m;而在布尔掩码方案中,一般为异或运算,即中间值与掩码进行异或,则有 vm=v m.根据 所采取运算的特点,乘法掩码与布尔掩码有不同的适用范围.密码算法中的操作通常包括线性操作和非线性操作.其中线性操作具备线性函数的特征,即 L(x y)=L(x)L(y).因此,那些由线性函数组成的密码操作更适用于布尔掩码.而对于非线性运算,则有
19、L(x y)=L(x)L(y),譬如 AES运算中 S 盒的有限域实现.此时由于 S 盒的有限域实现基于有限域元素的乘法逆,即 f(x)=x1,且有f(x y)=(x y)1=f(x)f(y),因此 S 盒运算这种非线性运算采用乘法掩码是更适合的.212Journal of Cryptologic Research 密码学报 Vol.10,No.1,Feb.2023针对实际密码算法的传统乘法掩码方案一般要求首先将布尔掩码转换成乘法掩码的形式,然后进行非线性操作,操作完成后重新恢复成布尔掩码,再进行其余线性操作,在算法结束的时候通过异或操作便可以消除布尔掩码得到正确的密文.Akkar 等11最先
20、提出一种针对 AES 算法的 S 盒乘法掩码方案,方案的伪代码见算法1.算法 1 S 盒的乘法掩码Input:x m1 m2Output:x1 m1 m21(x m1 m2)r1(x m1 m2)r1;2(x m1 m2)r1(m1 r1)(m2 r1)x r1;3x r1 inverse x1 r11;4x1 r11(m1 r11)(m2 r11)x1 r11(m1 r11)(m2 r11);5x1 r11(m1 r11)(m2 r11)r1 x1 m1 m2.第一步 x 所带掩码为布尔型,第三步的时候所带掩码为乘法型,此时执行求逆运算后,第四步所带掩码仍然为乘法型,第六步所带掩码又还原成布
21、尔型.该算法将布尔掩码先转换成乘法掩码,完成求逆操作过后再转换成布尔掩码,很好地解决了布尔掩码和乘法掩码之间的转换问题.观察发现掩码方案有 2 个求逆操作,比不带掩码的时候增加了一个求逆操作.这种乘法掩码对比布尔掩码的优点在于轮函数的输入、输出及所有的中间结果都被有效掩盖,同时解决了 glitch 的问题,并且易于硬件实现.然而,此类方案考虑了对于明文的掩码,缺少对零值攻击的考虑,攻击者可以利用运算过程中产生的零值进行旁路攻击,就有可能获取正确的轮密钥.2.4零值问题乘法掩码虽然保证了数据在执行非线性操作部分仍然是带有掩码的,但是必须考虑到一种特殊情况,如果中间数据是 0,那么乘上任何一个掩码
22、的结果仍然是 0,意味着数据没有加上掩码.攻击者可以通过区分数据为 0 和非 0 对应的功耗信息来实施 DPA 攻击.若定义一次加密运算的功耗模型为 P=S+N(,),其中 S 是运算中间值的功耗,N 是平均值为、方差为 的高斯噪声.那么 n 次加密运算的功耗方差就是.若将功耗曲线依据假设模型的特点分成两类,分别记为 H 类和 L 类,两类的曲线数分别为 nH、nL,平均值分别记为 MH、ML.则有:MH=SH+N(H,HnH),ML=SL+N(L,LnL).(1)假设 N(H,H)和 N(L,L)是独立不相关的,则两类的平均值之差 MD=MH ML如下:MD=MH ML=SH SL+N(H,
23、HnH)N(L,LnL).(2)当假设模型为汉明重量或汉明距离时,两类的数目和方差是相等的,即 nH=nL=n/2,H=L=.则:MD=MH ML=SH SL+N(H L,42n).(3)但是一旦选取零值模型,nH和 nL将不再相等,不失一般性的有 nH=255n256,H=L=.则:MD=MH ML=SH SL+N(H L,655362255n).(4)可明显看出,零值模型下的 MD要远大于其他模型,一旦针对乘法掩码实现方案选取零值模型进行DPA 攻击,防护方案将很容易被攻破,所以乘法掩码的零值现象是一个必须考虑的问题.郭筝 等:一种基于乘法掩码的 AES 防护方案2133AES 的防护方案
24、设计3.1抗零值电路抗零值的思想是将零值映射成非零值,这样可以避免真正零值的出现,从而保证掩码方案的有效性.本文抗零值电路也是利用了这个思想,首先构造函数(x),将 x GF(28)中的元素用(x)映射成GF(28)的元素,GF(28)中的每一个元素都是 x (x),(x)函数定义如下:(x)=1,x=00,x=0.(5)(x)的实现方式采用了组合电路网络,如图2所示,这里采用了 3 级的两输入与门结构.图中 x 代表求逆操作的 8 位数,xi(i=1,2,8)表示 x 的第 i 个比特,则(x)可以表示为(x)=x1&x2&x8.采用如上方法后,每次进行求逆操作的 x 与(x)进行异或,会将
25、 x 的值映射成一个非 0 值,保证了进入求逆操作的数据非 0.这样可有效应对基于零值模型的 DPA 攻击.值得提醒的是,在完成求逆操作后,再异或(x),运算方式为:x1=(x (x)1(x).(6)3.2有限域上的求逆Wolkerstorfer 等用有限域实现 S 盒的时候利用了 GF(28)上的求逆17.由于 GF(28)与 GF(24)是同构的,直接在 GF(28)上进行求逆操作比较复杂,所以可以将 GF(28)上的元素 a 通过 map 函数映射成二项式 ahx+al,其中 ah,al GF(24).这样,二项式求逆可以转化成若干 GF(24)上元素的乘法操作、平方操作、异或操作和求逆
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 乘法 掩码 AES 防护 方案 郭筝
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。