欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
SCI期刊论文
当前位置:首页 > SCI期刊论文
高阶掩码防护的设计实现安全性研究
来源:一起赢论文网     日期:2017-11-18     浏览数:3068     【 字体:

 40卷 计算机学报 Vol.402017论文在线出版号No.66 CHINESEJOURNALOFCOMPUTERS OnlinePublishingNo.66———————————————.本课题得到国家自然科学基金(No. 61472292, 61332019)、国家“九七三”重点基础研究发展规划项目基金(2014CB340601)、面向智能电网新一代高速高等级安全芯片关键技术研究(526816160015)资助.李延斌,男,1992年生,博士生,主要研究领域为密码学、侧信道分析,E-mail: lyb9205@163.com.唐明,女,1976年生,博士,武汉大学教授,主要研究领域为信息安全、密码学、密码芯片等,E-mail: m.tang@126.com.李煜光,男,1992年生,硕士,主要研究领域为密码学、侧信道分析,E-mail: yg.lee@qq.com.胡晓波,女,1977年生,学士,主要研究领域为应用密码学、安全芯片等,E-mail: huxiaobo@sgitg.sgcc.com.cn.彭敏,女,1985年生,硕士,主要研究领域为计算机应用等,E-mail:pengmin@xj.sgcc.com.cn.张焕国,男,1945年生,博士,武汉大学教授,主要研究领域为信息安全、密码学、可信计算、容错计算,E-mail: liss@whu.edu.cn.高阶掩码防护的设计实现安全性研究李延斌1)唐明1)李煜光1)胡晓波2)彭敏3)张焕国1)1)(武汉大学计算机学院,武汉430072)2)(电力芯片设计分析国家电网公司重点实验室,北京102200)3)(国网新疆电力公司检修公司,乌鲁木齐830063)摘要 掩码对抗方案自提出以来,从一阶对抗逐渐发展至高阶对抗阶段,安全性及通用性也不断提高。最早的一阶掩码方案主要针对DES算法提出,之后出现的一阶掩码方案则大多以AES为防护目标,针对于不同的软硬件平台,同时不断优化时间和空间耗费。在追求更高安全性的同时,高阶掩码方案也不断朝着通用化的方向发展,主要工作在于设计通用化的S盒掩码方案,保证可应用于任何S盒设计且可抵抗任意阶侧信道攻击。高阶掩码方案已被普遍接受为一种算法级可证明安全的侧信道防护方法,出现以ISW安全性框架为代表的理论安全性证明,以及在此框架下的任意阶掩码方案。然而面向侧信道分析,密码算法设计实现的安全性无法仅仅基于算法安全,针对这种掩码方案理论安全与实际安全间的差距,RocheProuff2011年提出面向硬件设计的安全性掩码方案,但该方案无法运用于已有高阶掩码设计,只是对RivainProuffCHES2010上提出的RivP方案硬件级安全性实现,同时,以实现d阶安全的有限域乘法为例,实现需要加法和乘法的执行次数由O(d2)增加到O(d3),由于增加过多的设计资源和对执行效率较大的影响,降低了方案的实用性。在高效安全的硬件设计平台上。首先,我们分析由于时延不同导致的glitch有可能泄露敏感信息。相比于组合逻辑设计,时序设计下的电路则不会产生降阶泄露。除了已有的glitch泄漏外,本文还发现存在与硬件设计结构相关的泄漏。我们从密码芯片设计者的角度出发,对掩码方案中关键部件的不同硬件设计结构进行分析。我们利用互信息的方法分析并行设计所产生的安全性问题,从理论上证明并行设计存在的安全隐患。在找出掩码设计隐患的基础上给出安全、轻量的安全设计建议,并最终通过试验对比不同设计结构下高阶掩码方案硬件设计的安全性,试验结果与理论研究结论一致。关键词 侧信道;高阶掩码方案;glitch;硬件设计结构;安全性设计隐患中图法分类号TP309论文引用格式:李延斌,唐明,李煜光,胡晓波, 彭敏,张焕国,高阶掩码防护的设计实现安全性研究,2017,Vol.40,在线出版号No.66LI Yan-bin,TangMing,LI Yu-guang,HuXiao-bo,PengMin,ZhangHuan-guo,StudyontheSecurityof ImplementationofHigherorderMaskingSchemes,2017,Vol.40,OnlinePublishingNo.66StudyontheSecurityofImplementationofHigherorderMaskingSchemesLIYanbin1)TANGMing1)LIYuguang1)HUXiaobo2)PENGMin3)ZHANGHuanguo1)1(SchoolofComputers,WuhanUniversity,Wuhan430072)2(StateGridKeyLaboratoryofPowerIndustrialChipDesignandAnalysisTechnology,Beijing102200)3(StateGridXinjiangmaintenancecompany,Urumqi830063)网络出版时间:2017-05-19 12:50:58网络出版地址:http://kns.cnki.net/kcms/detail/11.1826.TP.20170519.1250.016.html2 计算机学报 2017Abstract Maskingschemeshavedevelopedfromthefirst orderschemestohigherorderschemessinceitwasproposed, withtheimprovement ofitssecurityandversatility.Thefirst ordermaskingschemesmostlyfocusedonprotectingDESandAESalgorithm, whilecontinuallyoptimizingthearea-time-memorytrade-offs. Asthefirst order maskingschemes were not sufficient for longtermsecuritypurpose, the higher order maskingschemeshavebeenwidelystudied, whichtendtobemoregenericandmainlyfocusondesigningthesecureS-boxagainst theattacksof anyorder.Higher ordermaskingschemeisoneof themost acceptableprovablysidechannel countermeasuresagainst sidechannel attacks(SCAs). ThesecurityframeworkproposedbyIshai,SahaiandWagner,knownastheIshai-Sahai-Wagner(ISW)scheme, isoneofthemostacceptablesecuremodelsoftheexistingd-ordermaskingschemes, wheredrepresentsthemaskingorderandplaystheroleofasecurityparameter.ISWincludesanadversarymodel withamicroprobe, whichcanbeusedindigital circuits.RelyingontheframeworkofsecurityproofsproposedbyISW,higherordermaskingschemescanbetheoreticallyprovenasidealsecurity.However,thesecurityofcryptographicalgorithmdesigndoesnotonlyrelyonarithmeticsecurity,agapmayexist betweentheoretical andpractical security. Inorder tosolvethisproblem, RocheandProuffproposedthehigherorderglitch-freeimplementationin2011.However,varioustypesofhigherordermaskingcannotbedesignedunderthisframework.Unfortunately, itisdifficult toimplementonahardwarechipbecauseoftheveryhightimeandareaoverheads, whichreplaceseveryfieldmultiplicationby4d3fieldmultiplicationsand4d3additions. Excessiveresourceandtimecost reducethepracticabilityofthescheme. Inacombinationalcircuit, theglitchisgeneratedbyacertaindesignandisinfluencedbyseveral factors, suchasplaceandroute,platforms, temperature, and other environment factors. The glitches or other intermediate values in theimplementationofhigherordermaskingschememaycontainaleakagerelatedwithtwoorevenmoreshares.Thesecanbeconsideredastheleakageofsensitiveinformation.Sincethedelaysofinternalsignalsaredifferent,glitchesmayleakthesensitiveinformation. Insteadofcombinationallogic, thesequentiallogicofmaskingdoesnot leadtosmaller-orderleakage. Besideglitches,wefindthereexistsleakageinthehardwaredesignstructure.Inthispaper,wediscusswhetherthereexistspracticalsecurityproblemoftheprovablysecuremaskingschemes,whichmayleadmaskingschemesfail toresist attacks.Intheviewofcryptographicchipdesigner,weevaluatedthesecurityof different hardwaredesignstructuresof keycomponents inmaskingschemes theoretically.Weanalyze the security of parallel implementation using mutual information. It can be deduced that theimplementationofparallelstructurecannotreachthesecurityofmaskingscheme.Relyingontheseweaknesses,the secret key can be recovered through side channel attacks.To illustrate the security weakness onimplementation, weanalyzethedifferent designsof different structures as contrast tests.Finallytheresult ofexperimentconsistswiththeoreticalanalysis.Keywords sidechannel;higherordermasking;glitch;hardwaredesignstructure;riskofdesign1引言侧信道分析经过近20年发展,基于功耗、电磁、时间等信息的侧信道分析方法已经成为密码算法软硬件设计的实际威胁[1,2,3]。为了能有效防御侧信道攻击,迄今为止出现多种算法级和实现级的侧信道防护方法,如掩码防护[4]和互补逻辑防护等[5]。其中掩码防护方案因其可以从算法级别将加密过程中所有数据随机化,破坏功耗/电磁信号与敏感数据间的关联性,从而实现算法级别的可证明安全防护,成为现有侧信道防护方法中被最广泛使用的一种侧信道防护方法。随着高阶侧信道攻击技术的发展,掩码方案自提出以来[4],从一阶对抗逐渐发展至高阶对抗,通过增加分析的时间和数据复杂度实现更高级别的安全性。现有可证明安全的高阶或任意阶掩码方案[6-11]主要基于Ishai,SahaiWagner等人2003年提出的Ishai-Sahai-WagnerISW)证明框架[12]。高阶掩码方案主要可被分为两类:以RivainProuff于论文在线出版号No.66 李延斌等:高阶掩码防护的设计实现安全性研究 32010年提出的高阶掩码方案(RivP方案)[10]为代表的多项式掩码和以Coron2014年提出的高阶掩码方案(Coron14方案)[11]为代表的查找表重构掩码。由于掩码方案中常用的异或运算对线性函数而言满足结合律,分组密码掩码防护的重点在于非线性运算的掩码设计。在多项式逻辑实现掩码方案中,掩码防护将非线性运算拆分成多个子运算,通过对逻辑/算术运算的防护实现掩码运算过程中所有中间结果均为独立随机数,以实现ISW安全性框架,重点解决多项式乘法运算的安全性设计,并利用RefreshMasks对相关数据进行隔离。这种实现方式对掩码方案的适用性更强,且执行效率较高;而以Coron14方案为代表的基于重构表型掩码方案,则更贴近S盒的查找表实现方式,由于敏感信息基于查找表地址,这种掩码防护的核心在于防止原始地址信息的泄漏以及通过获得单次查找内容得到多个地址联立的结果,所以基于查找表方式的掩码方案设计中主要是随机化表格以及表格地址。综上,本文主要研究多项式逻辑实现下掩码方案安全性。ISW防护框架是以探测次数与掩码方案中共享因子数量间的比例关系为安全性衡量的依据,框架中假设的中间结果为掩码方案运算的中间结果,而面向不同设计实现,任何一个算法都会在原有算法中间结果的基础上,出现算法以外的其它中间值。现有高阶或任意阶掩码防护方法主要以ISW框架作为安全性证明的依据,ISW可证明框架保证了高阶掩码方案在算法级别的安全性,但不能保证方案在实际环境下的安全性。许多研究工作分析掩码方案在设计实现环节可能存在的泄露,主要包括MangardS等人2005年提出的“glitches[13]和“togglecount[14]。由于glitches产生的时间较短,我们称为瞬时泄露,而togglecount 的泄露在一个时间区域内。togglecount统计在一个时间区域内的跳变总数,既包含正常跳变,也包含glitches跳变。正常跳变与掩码方案的逻辑电路对应,而glitches是由具体设计产生,并且受布局布线、温度和其它外界因素影响。togglecount必须依赖于后仿的网表和相同的芯片元件库,利用功能仿真建模的跳变数与掩码前的值不相关[14],因此glitchestogglecount成功攻击掩码方案的关键因素,glitches在硬件中对可证明安全掩码方案的安全性具有不可忽视的威胁。考虑到glitches对硬件电路设计的安全性影响,RocheProuff2011年提出了高阶抗glitches的掩码设计实现(RocP[15],旨在解决理论上可证明安全掩码方案在设计实现的安全性问题。方案将多方计算协议应用于侧信道分析背景下,每个共享因子的操作分散在不同的子电路中,构成多方计算电路。然而,它的复杂度比RivP方案多了一个数量级,对于d阶安全的方案,一个有限域乘法需要4d3+8d2+3d乘法,4d3+8d2+7d+2加法,而RivP方案只需要2d2+2d乘法和d2+d+1加法,资源和时间的开销限制了方案的应用。由于该方法是针对RivP方案分析基础上形成新的高阶掩码方案,不能完全解决其它高阶掩码方案在设计实现时存在的安全性问题,无法作为一种对现有其它类型掩码方案进行安全性改造的通用型方法。现有对掩码方案设计实现特别是高阶掩码方案的硬件设计实现缺少系统且与硬件设计结构直接相关的安全性研究。本文就任意阶掩码方案的硬件设计实现中的安全性问题进行研究,分析理论上可证明安全的掩码防护方案在不同硬件设计结构的实际安全性,以RivP方案[10]为例进行仿真环境下任意阶功耗分析。除glitches泄露外,本文还发现一种存在于硬件设计实现中的泄露。本文通过本文的分析,我们可以看到:第一,不同硬件设计结构对于高阶掩码方案的设计实现影响不同;第二,掩码方案中不同模块的硬件安全性设计要求也不同;第三,在更有效进行泄露定位的基础上,可以提出更安全轻量的硬件设计方案。这些都提示我们,如果合理选择硬件设计结构,并对掩码方案中的关键部件进行有效防护设计,即使在存在glitches电路环境中,仍可以保证硬件设计掩码方案达到理论上的可证明安全。本文组织结构为:第二部分介绍现有高阶掩码方案和理论安全性证明框架;第三部分分析了可证明安全掩码方案在硬件设计实现的存在的两类安全性问题,主要包括glitches和并行设计结构带来的安全性问题。第四部分针对这两类安全性问题进行安全性测试和防护增强设计与测试;最后是全文总结。4 计算机学报 20172高阶掩码方案2.1 掩码方案及可证明安全掩码技术的目标在于使得密码设备的能量消耗不依赖于设备所执行的密码算法的中间结果,掩码对抗方案利用了秘密共享的思路,其原理在于将每个敏感的中间状态x拆分成多个共享因子,且满足1 2...nx x x x = Å Å Å 。每个加入掩码中间值均与原始中间值相独立,且每个共享因子xi都单独执行相应操作,从而保证不泄漏任意x的信息,这也是掩码可抵抗SCA攻击的本质。对于线性运算容易保证每个共享因子独立执行,而难点就在于利用共享因子重构非线性部件S盒以保证不泄漏原始中间值。Ishai,SahaiWagner等人提出了一种高阶掩码方案安全性证明的模式[12]ISW模型利用d个输入共享因子来仿真攻击者能探测到的任意d个中间变量,通过这种仿真来证明中间变量和部分输入之间的相关性,也就证明了中间变量和秘密信息的独立性。如果可以完美仿真,那么说明算法中任意d个中间变量都只与部分输入(dxi)相关,因此算法中任意d个中间变量与秘密信息相互独立,即算法满足d阶安全。ISW模型的证明过程如下:首先构造d阶下标集合I。分析算法中的所有中间变量,根据中间变量在算法中出现在的位置定义每个中间变量的行下标和列下标。任选d个攻击者可能探测到的中间变量,将这d个中间变量的行列下标添加到集合I中。最后得到集合I。得到集合I后,利用下标集合中存在的部分输入共享因子,即|: ( )I i i Ia aÎ= 、|: ( )I i i Ib bÎ= 来仿真这d个中间变量。仿真过程完全按照掩码方案的步骤进行。当算法使用到a|Ib|I时,使用正确值。当算法使用到( )i i IaÎ,( )i i IbÎ或未被探测到的随机数时,使用独立随机数代替。如果所有vh都可以被完美仿真,就证明掩码方案满足d阶可证明安全。2.2 硬件设计安全性框架RocheProuff提出了高阶掩码方案硬件设计在抗glitches 下的安全性评价模型(dth-orderGlitchesadversarymodel)[15]。首先定义一个电路Cf,攻击者在dglitches攻击模型中可以选取d个时间点1 2, ,...,dt t t ,并且可以观测到d个时间点的电路内部跳变状态( ( ( )))i f i i dLCt< ,从而进行攻击。其中,() L× 是泄露函数。设d为整数,对于电路Cf所有中间状态变量,对于其中任意大小为d的子集合V,对于任意敏感变量Z,有( | ) ( ) pZV pZ = ,则电路Cf满足d阶安全。为了统一评价硬件设计电路的安全性,我们在ISW框架下利用互信息(MI)评价模型进行评价[19]。互信息是在假设已知密钥下,通过获取泄露的条件密度函数来描述设备可被利用的泄漏量;当定量一个实际设备时,泄露的条件密度函数是未知的,只能通过估计得到一个估计值,由此引出了感应信息的概念,它用来评价评估者对互信息的最好预测。令S表示侧信道攻击的目标密钥集样本量,s则表示具体的密钥值。令Xq=[X1,X2,,Xq]表示目标物理设备上一系列输入向量,即进行q次加密的明文,xq=[x1,x2,,xq]表示q个明文具体值。Lq表示在侧信道攻击设备上采集的q条泄露数据,lq=[l1,l2,,lq]则表示具体q条泄露曲线值。也就是说,泄露函数的一个实际输出曲线lq对应于一个输入明文xq。最后,我们定义Pr[s|lq]表示在给定泄露lq情况下密钥为s的条件概率。我们定义条件熵矩阵如下**2,Pr[ | ] logPr[ | ]qqq qsslH l s s l =- × å这里ss*分别表示正确密钥集和|S|集合外可能的候选密钥集。结合香农条件熵,可以直接得到互信息的表达方式:( ; ) [ ] [ | ]q qMI SL HS HS L = -注意到输入明文和输出样本曲线对侧信道攻击者一般是已知的,但一般密钥信息都会隐藏在中间公式中。单纯从信息理论方面考虑,在已知明文和密文的情况下,正确密钥是可以被分析出来的,攻击者的攻击难易程度就取决于加密过程的计算复杂度了。条件熵正好可以描述中间过程中密钥参与运算的复杂程度,所以对熵的计算正好可以用来评价物理泄露量的大小。敏感信息x的掩码电路Cf中存在很多中间变量,从中探测任意包含d个功耗点的子集合P。根据互信息与条件熵之间的关系,掩码电路安全的充要条件可表示为MI(x,P)=0 (1)论文在线出版号No.66 李延斌等:高阶掩码防护的设计实现安全性研究 5其中,d满足2 1 d n + £ 。即当由d个探测的中间变量功耗点组成的集合P与敏感信息x之间的互信息理论值为零时,我们认为该掩码电路安全;否则,电路存在泄漏。为了保证方案的d阶安全性,RocheProuff利用多方计算协议(MPC)来保证目标实现中的任意d对中间值都与敏感信息之间相互独立。通过将每一个函数分成最小数量的子电路来实现,最终形成一个抗glitches的多方电路。换句话说,利用MPC的掩码实现可以抵抗glitches攻击,但其复杂度是限制其性能的重要原因。文献[15]中以有限域乘法为例,给出了RocPRivP所需时钟周期数的复杂度对比,见表1.1.有限域乘法复杂度方案 乘法 加法 随机数RocP 4d3+8d2+3d 4d3+8d2+7d+2 d(2d+1)RivP 2d2+2d d2+d+1 d(d+1)/23高阶掩码硬件设计的安全性问题3.1Glitches一阶掩码方案在组合电路中由于glithces的存在产生的安全性问题已经被MangardS等人验证[13],这里我们以RivP方案为例,详细分析可证明安全的掩码方案在硬件设计阶段仍然存在的安全性问题。基于ISW框架,RivP方案在2 1 d n + £ 时是安全的[9]。其中,nd分别是共享因子和探测的数量。考虑 3 n= 的情况,对SecMult算法[10]进行分析。算法1. SecMult.输入:⊕iai=a,i bi=b输出:⊕i ci=abFORi=0ton-1doFORj=i+1ton-1dori,j=randrj,i=(ri,jaibj)ajbiENDFORENDFORFORi=0ton-1doci=aibjFORj=0ton-1, j i ¹ doci=ciri,jENDFOR根据算法1,SecMult算法的随机数矩阵可表示为01 0210 1220 21r rR r rr rÆ æ öç ÷= Æç ÷ç ÷Æè ø。其中:10 01 0 1 1 0r r ab ab = Å Å ,20 02 0 2 2 0r r ab ab = Å Å ,21 12 1 2 2 1r r ab ab = Å Å .SecMult输出可以表示为0 0 0 0 0 01 021 1 1 1 1 10 122 2 2 2 2 20 21( )c ab ab r rC c ab f R ab r rc ab ab r rÅ Å æ ö æ ö æ öç ÷ ç ÷ ç ÷= = Å = Å Åç ÷ ç ÷ ç ÷ç ÷ ç ÷ ç ÷Å Åè ø è ø è ø。为了缩短算法所用时钟周期数,我们将上述算法计算部分通过组合逻辑实现,如图1所示。随机数发生器在三个时钟周期内提供三个随机数r01r02r12,虚线框内表示组合逻辑设计的变量,c0c1c2在组合电路中一个时钟周期内根据上式完成计算。当n=3时,从产生随机数到输出c0c1c2,每次执行SecMult算法只占用了4个时钟周期。而完全串行下,图1中每个变量的计算均独立占用一个时钟周期,因此,每次串行执行SecMult算法共占用9个时钟周期。虽然这种设计较于串行情况下时钟周期数缩短了,但是后面的分析显示这种设计实现具有潜在的安全性问题。结合图1和算法1可以得到:0 0 0 01 021 01 12 1 1 0 1 1 02 02 12 0 2 1 2 2 1 2 0 2 2( )( )c ab r rc r r ab ab abc r r ab ab ab ab ab= Å Å ìï= Å Å Å Å íï= Å Å Å Å Å Åî(2)1ic2icic的连续状态,ic D 为两个状态间的跳变。记1 01 02 12 1 0 0 2 2, , , , , , , ,a r r r b a b a bt t t t t t t t t 分别为各自信号的到达时间。考虑下列情况:图1 SecMult组合电路设计1)2 01 02 12 1 0 0 1 2, , , , , , ,b r r r b a b a at t t t t t t t t <6 计算机学报 20171 1 1 1 1 1 1 1 1 1 12 02 12 2 1 2 0 0 1 2 2( ) ( ) c r r ab ab a a a b = Å Å Å Å Å Å2 1 1 1 1 1 1 1 1 1 22 02 12 2 1 2 0 0 1 2 2( ) ( ) c r r ab ab a a a b = Å Å Å Å Å Å1 1 1 1 2 1 1 22 2 1 0 2 2 2 2( )( ) ( ) c a a a b b a b b D = Å Å Å = Å12( , ) 0 MI c a D ¹ .因此,当d=1时,c2信号上发生的glitches导致功耗P与敏感信息a之间存在相关性,两个相关的变量之间必然不会相互独立,从而不满足公式(1),即( , ) 0 MI aP¹ 。这种泄露存在于类似的情况如2 2 1 0, ,b a a at t t t < 或2 2 1 0, ,b a a at t t t > 中。2)2 01 02 12 1 0 0 1 2, , , , , , ,a r r r b a b a bt t t t t t t t t <1 1 1 1 1 1 1 1 1 1 12 02 12 1 2 0 2 0 1 2 2( ) ( ) c r r ab ab b b b a = Å Å Å Å Å Å2 1 1 1 1 1 1 1 1 1 22 02 12 1 2 0 2 0 1 2 2( ) ( ) c r r ab ab b b b a = Å Å Å Å Å Å1 1 1 1 2 1 1 22 2 1 0 2 2 2 2( )( ) ( ) c b b b a a b a a D = Å Å Å = Å12( , ) 0 MI c b D ¹ .同理,c2信号上发生的glitches导致子集合P与敏感信息b同样存在相关性,从而不满足公式(1),即( , ) 0 MI bP¹ 。这种泄露存在于类似的情况如2 2 1 0, ,a b b bt t t t < 或2 2 1 0, ,a b b bt t t t > 中。通过上述分析,可知当不同信号的时延不同,可能导致的泄露不同,而且导致泄露的阶数越高需要满足的条件也越苛刻。理想情况下,当满足条件2 1 0 2 1 0, , , ,a a a b b bt t t t t t < 或2 1 0 2 1 0, , , ,a a a b b bt t t t t t > 时,说明设计既会泄露a也会泄露b。掩码方案中会有包含所有共享因子的操作,特别是多项式掩码方案,如果这些操作采用组合电路设计,每个门级翻转的时间与数据、时延都有关系,电路内部会产生各种各样的glitches,从而产生降阶的可能。当满足类似上述的时延条件时,掩码方案的安全性就会受到挑战。3.2 并行设计结构硬件设计的一个重要特点就是并行执行,通常设计者为了提高算法执行效率,可在保证不影响正确结果的情况下,采取并行设计。本节我们讨论硬件设计中并行设计对可证明安全掩码方案安全性的影响。高阶掩码方案为了提高安全性,通常会引入大量的随机数来确保每个阶段的中间值都是相互独立的。RivainProuffRivP方案中为了保证SecMult的输入相互独立[10],引入了RefreshMasks,并被Coron在其高阶掩码方案中使用[11]。无论是对于多项式掩码方案还是查找表重构掩码方案,RefreshMasks设计实现的安全性对整个掩码方案的安全性都有重要影响。算法2. RefreshMasks.输入:⊕i xi=x输出:⊕i xi=xFORi=1ton-1dotmp=rand(8)x0=x0tmpxi=xitmpENDFOR我们对n=3RefreshMasks算法的设计实现进行安全性分析。根据算法2x0xi的计算在每次循环中没有执行先后顺序的要求,因此为了节省时间开销,可以设计为并行运算结构,如图2所示。实线框内变量均采用寄存器存储。对于n阶的RivP方案,串行结构的RefreshMasks需要O(3*(n-1))个时钟周期才能完成所有共享因子的更新,而并行运算结构只需要O(n)个时钟周期。下面对这种并行运算结构的设计进行安全性分析。图2 RefreshMasks并行运算设计第三个时钟周期内寄存器的运算可以表示为0 0 1 21 1 12 2 2x x tmp tmpx x tmpx x tmp= Å Å ìï= Å íï= Åî(3)寄存器翻转的三个中间值联立结果为x。当功耗数据满足汉明重模型时,总功耗等于三个中间值的汉明重之和,只需要判断三个中间值汉明重之和与联立值的汉明重之间的关系即可说明是否存在泄露。论文在线出版号No.66 李延斌等:高阶掩码防护的设计实现安全性研究 7定理1设密码算法执行过程中,存在三个中间值m0,m1,m2并行执行,且满足0 1 2m m m m = Å Å 。假设能量消耗符合汉明重模型,则互信息( ( ), ( )) 0iMI HWm HWm ¹ å 。证明. 设中间值m的汉明重为HW(m),可表示为函数形式:( ) ( )0 1 2 0 1 2( ) 1,1,...,1 ( [0], [1],..., [7]) 1,...,1( [0] [0] [0],..., [7] [7] [7])T THWm m m mm m m m m m= =Å Å Å Å其中,m[0],m[1],m[7]表示m8个比特。同理,( )0 1 20 1 2( ) 1,1,...,1 ( [0] [0] [0],...,[7] [7] [7])TiHWm m m mm m m= + ++ +å因此,HW(m)( )iHWm å 之间是否相互独立等价于0 1 2[] [] [] mi mi mi Å Å 与0 1 2[] [] [] mi mi mi + + 是否相互独立。穷举m0[i],m1[i],m2[i],见表2.2.mj[i]的统计信息0[] mi1[] mi2[] mi[]jjmi å []jjmi Å0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 2 01 0 0 1 11 0 1 2 01 1 0 2 01 1 1 3 10 1 23( [] [] [] 1)8pmi mi mi + + = = ,0 1 21( [] [] [] 1)2pmi mi mi Å Å = = .0 1 2 0 1 2( [] [] [] 1, [] [] [] 1)3 38 16pmi mi mi mi mi mi + + = Å Å == ¹.因此,0 1 2[] [] [] mi mi mi Å Å 与0 1 2[] [] [] mi mi mi + + 不相互独立,HW(m)( )iHWm å 之间不相互独立。根据联合熵的性质,有( ( ), ( )) ( ( )) ( ( ))i iHHWm HWm HHWm H HWm < + å å于是,对于条件熵( ( ), ( )) ( ( ))( ( )) (( ( ), ( ))) 0ii iMI HWm HWm HHWmH HWm H HWm HWm=+ - >åå å证毕.对于泄漏模型满足汉明重模型的功耗分析,由于功耗 ( )iP HWm µå ,功耗与敏感信息m之间的互信息不为零,即 ( , ) 0 MImP¹ ,因此在并行设计下存在信息泄露。对于3RefreshMasks的上述设计,互信息的理论值是0.6956比特。由公式(1)可知,若敏感信息与功耗之间互信息的理论值不为零,说明该掩码电路存在安全性问题。当设计者采用并行运算设计结构时,攻击者利用互信息攻击[16]可以很容易地恢复敏感信息。产生这种泄露的本质原因是掩码方案中同时进行了不同共享因子的运算,在时间维度上将不同共享因子的信息叠加,使得联立的中间值与功耗叠加之间不相互独立,因此,产生了降阶的泄露。4实验我们以RivP方案中SecMultRefreshMasks为例,说明可证明安全的掩码方案在硬件阶段可能8 计算机学报 2017年图3 SecMult组合电路设计结构出现的安全问题,并给出安全性设计结构。在FPGA上实现RivP方案中的SecMultRefreshMasks,整个实验工作基于1.8GHzIntel处理器,操作系统Windows7.4.1 SecMult不同设计结构的安全性测试4.1.1 存在安全性隐患的SecMult设计结构为了提高高阶掩码的执行效率,实际应用中某些操作可以采用组合逻辑的方式实现。我们下面以RivP方案中的SecMult算法的组合逻辑实现为例进行分析,硬件设计结构如图3所示。整个电路分为随机数发生器和组合电路两部分。其中,随机数发生器由时钟信号(CLK)和初始化信号(LOAD)控制,为组合逻辑的计算提供随机数;组合电路包括SecMult算法的输入数据之间的有限域乘法电路,最终计算输出c0,c1,c2。根据3.1节的分析,组合电路中泄漏发生在所有共享因子汇聚的操作。由于glitches的作用,使得掩码电路功耗与原始值a相关。由图3中可以发现,a的共享因子a0,a1,a2b2经过有限域乘法后输出Z5,Z7,Z4,均进入Mxor_c21参与c2的计算,因此,Mxor_c21可能导致信息泄漏。由于组合电路的功耗主要由静态功耗和动态功耗组成,而数据相关部分的动态功耗又和电路内部信号的跳变有关。因此,掩码方案的目标是掩码电路所有中间节点的跳变均与原始输入a无关。经过3.1的分析,这一目标可能被一些不可避免的glitches所打破。为了检测当前组合电路设计的安全性,我们对网表文件进行H组时序仿真,加密时间为tT,生成VCD文件。VCD文件中包含了电路中所有信号在加密过程中任意时刻的跳变情况,记,ijshte 为信号si在第h次加密过程中时刻tj的跳变情况,若发生跳变,则,1ijshte = ,反之为0。将信号si在一次加密过程中的跳变情况记录为一条长度为tT的跳变曲线,记为ishe 。由此,可得到信号si的跳变记录矩阵1 1,1 1,,1 ,i i iTii i iTs s stss s sH H Hte e eEe e eæ ö æ öç ÷ ç ÷= =ç ÷ ç ÷ç ÷ ç ÷è ø è øLM M O ML定义 ( ) ( ) , ,1| 0 1| 1i ij js s k kht htpe a pe a D= = = - = = 表示跳变与原始值a之间的相关性,aka的其中一比论文在线出版号No.66 李延斌等:高阶掩码防护的设计实现安全性研究 9特。对于跳变,ijshte ak无关的信号,有 0 D= ,反之,则不为零。受噪声的影响,区分D和0与所用的仿真数量H有关。经过Fisher变换,D可以表示为一个满足正态分布的变量Z[4],当以1 a - 置信度水平接受可区分D与0时,有( ) ( )( ) ( )21, ,2, ,3 81 1| 0 1| 1ln1 1| 0 1| 1i ij ji ij js s k kht hts s k kht htzHpe a pe ape a pe aa -= ++ = = - = =- = = - = =仿真所需曲线量与相关性D和置信度水平之间的关系见图4.0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5010002000300040005000600070008000相关性曲线量  1-a=0.9991-a=0.9951-a=0.9751-a=0.9501-a=0.9004 不同相关性下判别泄漏所需曲线量如图4所示,存在相关性越大的电路,所需要的仿真曲线量越少,相反,理论上相关性越弱的信号,将其区分出来就需要越多的曲线量。此外,相关性相同情况下,置信度水平越高,所需曲线量越多。这与功耗攻击中区分正确密钥所需要的曲线量与相关性的关系是相同的。对于8比特的有限域乘法,1256D= ,当置信度为80%时,大约需要92927条仿真曲线。对于信号c2,每个比特各有一个跳变记录矩阵2[ ] c kE 。由于glitches与数据相关,在不同数据作为输入时,跳变的时间不同,因此,需要先对跳变曲线进行整合预处理,即对一个时间段内的跳变取所有跳变之和。当选择ak作为中间值进行划分做差分曲线时,出现峰值对应泄露的信号跳变,即产生泄露的glitches。如图5所示。仿真数量为10万条,横轴为中间值选取分别为a[0]~a[7],纵轴为c2[k]跳变与a[k]的相关系数。根据3.1分析,若c2跳变与a之间存在相关性,c2的所有比特都应与a的任一比特都存在相关性,这是由8比特有限域乘法特点决定的。图2只给出了中间值为a[k]时,与a[k]相关性最大的信号c2[k]。从图5中可以发现,对于a的任一比特都有对应的信号存在泄露,相关性水平不同,这是由于有限域乘法组合电路中每一比特参与运算的时延与逻辑门不同。c2[0] c2[1] c2[2] c2[3] c2[4] c2[5] c2[6] c2[7]00.010.020.030.040.050.060.070.08信号差分a[0] a[1]a[2]a[3]a[4]a[5]a[6] a[7]5 c2跳变与a之间的相关性为了验证上述组合电路中某些信号的glitches对整体功耗的影响,我们将功耗曲线作为分析对象。我们借助第三方工具PrimePower得到仿真功耗曲线。前面分析已经能够得到与a的每一比特存在相关性的glitches,现在分析a的每一比特与功耗曲线之间的相关性,如图6所示。可以看出,功耗与a之间存在相关性,且峰值点位置几乎相同,不同比特的峰值位置之间有微小的差异是由组合电路中延迟和门级翻转时间不同导致的。0 50 100 150 200 250 300 350 400024x 10-4时间相关性(10 50 100 150 200 250 300 350 40000.51x 10-3时间相关性(20 50 100 150 200 250 300 350 400012x 10-3时间相关性(30 50 100 150 200 250 300 350 40005x 10-4时间相关性(40 50 100 150 200 250 300 350 400024x 10-4时间相关性(50 50 100 150 200 250 300 350 40005x 10-4时间相关性(60 50 100 150 200 250 300 350 40000.51x 10-3时间相关性(70 50 100 150 200 250 300 350 400012x 10-3时间相关性(8)  图6 仿真功耗与敏感信息a的相关性。(1)~(8)分别表示a[0]~a[7]单个比特与仿真功耗的相关性分析结果。4.1.2 安全的SecMult设计结构SecMult组合电路设计产生泄露的根本原因在于一片组合电路中包含了不同共享因子的运算。为了避免glitches在组合电路中可能带来的降阶威胁,最直接的方法是在不同共享因子进入一片电路前设置寄存器,消除掉前面glitches的作用。如图3结构中,r20,r21a2b2包含了a所有共享因子的信息,如果用时钟控制将这三者计算完全隔离,将解决Mxor_c21的安全问题,同理对于b所有共享因子的相关操作也适用。根据SecMult的流程,将产生随机数的过程作10 计算机学报 2017年为第一阶段(GenerateRand),计算输出c0,c1,c2的图9RefreshMasks并行设计结构过程作为第二阶段(CalcuateOutput)。两个阶段都采用时序逻辑设计,如图7所示。图7 安全的SecMult硬件设计结构表3显示了安全SecMult硬件设计结构与组合电路设计的资源对比。为了消除组合电路中glitches的影响,将算法中所有需要的有限域乘法串行执行,因此只需要一个有限域乘法器的资源,大大减少了整个电路的LUT开销。表3.SecMult硬件设计结构的资源对比Flip-Flops LUTs CLK组合电路设计 34 376 4安全设计结构 134 158 11类似上一节的功耗分析,分析a的每一比特与功耗曲线之间的相关性,如图8所示。图中显示了所有比特与功耗之间的相关性,“*”代表安全设计的功耗与敏感信息的相关性结果,“-”代表组合电路设计,即存在安全性隐患设计对应的功耗分析结果。相比于不安全的设计有明显的峰值,可以看出时序逻辑设计的功耗与a各个比特的相关性没有超过10-4,且没有明显的峰值,说明功耗与敏感信息之间不存在相关性。0 10 20 30 40 50 60 70 80 90 10000.20.40.60.811.21.41.61.82x 10-3时间相关性  安全设计隐患设计图8 仿真功耗与敏感信息a的相关性4.2 RefreshMasks不同设计结构的安全性测试4.2.1 存在安全性隐患的RefreshMasks设计结构由于高阶掩码的中间值较多,因此很多过程都需要循环执行,当循环中的操作不存在先后执行顺序时,为了节省时间开销,设计者可以将其设计改为并行运算,我们以RivP方案中的RefreshMasks为例,硬件设计结构如图9所示。实线框内变量均采用寄存器存储。我们对设计后的网表文件进行时论文在线出版号No.66 李延斌等:高阶掩码防护的设计实现安全性研究 11序仿真,并利用第三方工具PrimePower得到50000条仿真功耗曲线。如图9所示,x0,x1,x2作为RefreshMasks掩码电路的输入,1 2...nx x x x = Å Å Å 。随机数发生器为其提供三个随机数r0,r1,r2,在下一个时钟周期生成输出y0,y1,y2。基于汉明重模型,假设已知中间值的情况下,对y0, y1, y2 进行Different ofMeans(DOM)[17,18]定位。毫无疑问,功耗P与这三个中间值均存在相关性,见图9. 通常,攻击者对于安全的高阶掩码设计实现需要探测不同共享因子的功耗,从而联立恢复敏感信息x。从图101~3)可以发现,三个中间值相关性峰值点在同一时刻(3001),我们利用F.X.等人的互信息评价指标[19],计算MI(HW(x),P)进行泄露量评价,如图10.4)所示。2990 2992 2994 2996 2998 3000 3002 3004 3006 3008 301001234567x 10-5时间相关性(12990 2992 2994 2996 2998 3000 3002 3004 3006 3008 301001234567x 10-5时间相关性(22990 2992 2994 2996 2998 3000 3002 3004 3006 3008 301001234567x 10-5时间相关性(32990 2992 2994 2996 2998 3000 3002 3004 3006 3008 301000.20.40.60.81时间互信息(4)图10 针对RefreshMasks的仿真功耗分析。(1~3)分别为对y0,y1,y2定位,(4)为功耗曲线与敏感信息之间的互信息如图10.4)所示,当选择汉明重模型为泄露模型时,功耗曲线与敏感信息之间的互信息最大值为0.6960,可视为与3.2节分析的理论值0.6956相等,即该掩码硬件电路产生的功耗泄漏量与理论分析值近似相同,均不为零;而其它时刻与敏感信息相互独立的功耗点的互信息大约在10-4数量级,趋近于零。这说明时刻3001的功耗产生了泄露,攻击者进行一次探测即可恢复敏感信息x。实验结果还显示,当不采用汉明重模型时,敏感信息的值与功耗之间的互信息为0.773,同样产生了泄露,这说明并行设计结构的泄露不局限于泄露模型本身,根本原因在于中间值与功耗之间并不是相互独立的关系。4.2.2 安全的RefreshMasks设计结构RefreshMasks的作用是对掩码方案中的所有共享因子进行更新,由于在更新过程中不同共享因子的操作并行执行,导致对应的功耗点涵盖了多个共享因子的信息,因而也具有降阶的威胁。同样,我们对产生随机数的过程定义为GenerateRand,对掩码的更新过程定义为Refresh。这两个过程中的操作均采用时序逻辑设计,结构采用流水设计,如图11所示。当n=3时,整个RefreshMasks需要三个时钟周期。第一个时钟周期产生一个随机数tmp1;第二个时钟周期进行寄存器x0x1的更新,以及第二个随机数tmp2的生成;第三个时钟周期进行寄存器x0x2的更新。寄存器在算法执行过程中的状态变化见表4所示。表4.寄存器状态变化x0 x1 x21 - - -2 x0tmp1 x1tmp1 -3 x0tmp1tmp2 x1tmp1 x2tmp25显示了RefreshMasks的安全硬件设计结构与并行设计结构的资源对比。可以发现,在n=3下,流水结构在资源消耗方面,占用Flip-FlopsLUTs的数量略小于并行结构;算法执行过程均耗费三个时钟周期。由于随机数发生器两次产生的随机数相互独立,且共享因子相互独立,流水结构中的并行不会导致x的信息泄露。表5.RefreshMasks硬件设计结构的资源对比Flip-Flops LUTs CLK并行设计结构 52 57 3安全设计结构 36 42 311 安全的RefreshMasks硬件设计结构假设已知中间值,对仿真功耗进行定位Refresh操作位置,如图12所示。(1)中定位的第一个峰值对应于x0x1的操作,第二个峰值对应x0x2的操作。(2)为汉明重模型下敏感信息与功耗之间12 计算机学报 2017年的互信息,“*”表示当前安全设计下的互信息,“-”表示上述存在安全隐患设计下的互信息0.6960,可以发现由于将不同共享因子的运算时刻由一个时刻分散成两个时刻,互信息最大值远小于并行设计下互信息最大值,不会出现明显的峰值。200 220 240 260 280 300 320 340 360 380 40000.0050.010.0150.020.0250.030.0350.040.0450.05时间相关性200 220 240 260 280 300 320 340 360 380 40000.10.20.30.40.50.60.70.8时间互信息  安全设计隐患设计图12 针对RefreshMasks安全设计的仿真功耗分析。(1)为对两次Refresh定位,(2)为功耗曲线与敏感信息之间的互信息本文实现了高阶掩码中常用的两个算法,并在给定泄露模型假设下评估了实现的安全性。SecMult的组合电路实现可以看成是一片输入信号为敏感信息的所有共享因子的组合电路。由前文分析可知,发生在组合电路内部的glitches会产生信息泄漏,功耗与敏感信息之间的依赖关系使得设计实现易被攻击。结合RefreshMasks在并行设计实现中产生的安全问题,我们建议高阶掩码设计实现避免不同共享因子在同一片组合电路中进行运算,可以通过时钟控制分离不同共享因子之间的操作,从而消除glitches的影响;为了提高算法的执行效率可以采用流水结构,不同共享因子的操作在时间上避免并行执行。经过安全性设计,试验结果显示安全性设计保证了高阶掩码方案在ISW框架下的安全性,并且资源与原始设计实现相比未有明显增加,远未达到RocP实现方案的代价。5结论高阶掩码被普遍接受为一种理论上可证明安全的算法级侧信道防护方法,现有研究主要集中在如何在安全性框架下设计出任意阶可证明安全的掩码方案,以及相同阶数条件下掩码方案的资源速度优化问题。然而,作为侧信道防护方法之一的掩码方案,其设计实现级别的安全性无法被算法级安全性覆盖,于是出现针对硬件设计实现中利用glitches进行掩码攻击的研究。本文对现有任意阶掩码防护方案关键运算的不同硬件设计结构分析基础上,发现除glitches泄漏外,算法硬件设计结构同样会对掩码方案的整体安全性产生影响。对已有高阶功耗分析中认为安全的并行设计结构重点分析,发现当泄漏模型满足汉明重模型时,关键运算的并行设计结构可能存在的安全性隐患,并对泄漏量进行定量分析。为了进一步验证高阶掩码方案硬件设计结构的安全性隐患,我们以RivP掩码方案为例,进行三阶RivP方案的不同设计结构分析与仿真环境下的验证性试验,试验结果不仅证实理论研究部分的安全性隐患确实存在,同时泄漏量与理论分析完全一致。在此基础上,我们针对发现的硬件结构设计安全性问题,有针对性的给出相应的安全性设计增强,并对其进行分析测试证实其达到理论安全性。我们认为掩码防护方案的硬件设计实际安全性不能仅仅从算法级安全性框架上得到保证,而应该从硬件设计结构出发,由设计向算法提出相应的安全性要求。参考文献[1]KocherP, JaffeJ, JunB. Differentialpoweranalysis//ProceedingsoftheAdvances in cryptologyCRYPTO99. San Francisco, USA, 1999:388-397[2]Agrawal D,Archambeault B, RaoJR, et al. TheEMsideChannel (s)//Proceedings of the International Workshop on CryptographicHardware andEmbedded Systems. San Francisco Bay, USA, 2002:29-45[3]Kocher P. Timingattacks onimplementations of Diffie-Hellman, RSA,DSS, and other systems// Proceedings of the Advances inCryptologyCRYPTO96.Stanford,USA,1996:104-113[4] MangardS, OswaldE, PoppT. Power analysis attacks: Revealingthesecretsofsmartcards.Berlin,Germany:Springer,2007[5]RazafindraibeA, Robert M, Maurine P. Analysis andimprovement ofdual rail logicas acountermeasureagainst DPA// Proceedings of theInternational WorkshoponPower andTimingModeling, OptimizationandSimulation.Montpellier,France,2007:340-351[6]RivainM, DottaxE, Prouff E. Blockciphersimplementationsprovablysecureagainst secondorder sidechannel analysis// Proceedingsof theInternational Workshop on Fast Software Encryption. Lausanne,Switzerland,2008:127-143[7]KimHS, Hong S, LimJ. Afast and provably secure higher-ordermaskingofAESS-box// Proceedingsof theInternationalWorkshoponCryptographicHardwareandEmbeddedSystems. Nara, Japan, 2011:95-107[8]Carlet C, GoubinL, Prouff E, et al. Higher-order maskingschemes fors-boxes// Proceedings of the Fast Software Encryption. Washington,论文在线出版号No.66 李延斌等:高阶掩码防护的设计实现安全性研究 13USA,2012:366-384[9]CoronJS, ProuffE, RivainM, et al. Higher-ordersidechannel securityandmaskrefreshing// Proceedings of the International WorkshoponFastSoftwareEncryption.Washington,USA,2013:410-424[10]RivainM, Prouff E. Provablysecurehigher-order maskingof AES//ProceedingsoftheInternationalWorkshoponCryptographicHardwareandEmbeddedSystems.SantaBarbara,USA,2010:413-427[11]CoronJS. Higherordermaskingoflook-uptables// ProceedingsoftheAnnual International Conference onthe TheoryandApplications ofCryptographicTechniques.Copenhagen,Denmark,2014:441-458[12]IshaiY, SahaiA,WagnerD. Privatecircuits: Securinghardwareagainstprobingattacks// Proceedings of theAnnual International CryptologyConference.California,USA,2003:463-481[13] MangardS, PoppT, Gammel BM. Side-channel leakageof maskedCMOSgates// Proceedings of theCryptographersTrackat theRSAConference.SanFrancisco,USA,2005:351-365[14]MangardS, Pramstaller N, OswaldE. SuccessfullyattackingmaskedAES hardware implementations// Proceedings of the InternationalWorkshop on Cryptographic Hardware and Embedded Systems.Edinburgh,UK,2005:157-171LI Yan-bin, bornin1992, Ph.D. candidate.HisresearchinterestsincludeSideChannelAnalysisandcryptanalysis.TANGMing, born in 1976Ph.D,professor. Her researchinterests includeinformationsecurity,cryptography,andcryptographicchip.LIYu-guang, bornin1992Mastercandidate. HisresearchinterestsincludeSideChannelAnalysisandcryptanalysis.[15] Prouff E, RocheT. Higher-order glitches freeimplementationof theAESusingsecuremulti-partycomputationprotocols// Proceedings oftheInternationalWorkshoponCryptographicHardwareandEmbeddedSystems.Nara,Japan,2011:63-78[16]Gierlichs B, Batina L, Tuyls P, et al. Mutual information analysis//ProceedingsoftheInternationalWorkshoponCryptographicHardwareandEmbeddedSystems.Washington,USA,2008:426-442[17]Chari S, RaoJ R, Rohatgi P. Template attacks// Proceedings of theInternational Workshop on Cryptographic Hardware and EmbeddedSystems.CA,USA,2002:13-28[18]FanG, ZhouY, ZhangH, et al. HowtoChooseInterestingPointsforTemplateAttacksMoreEffectively?// Proceedingsof theInternationalConferenceonTrustedSystems.Beijing,China,2014:168-183[19]DurvauxF, Standaert FX, Veyrat-CharvillonN. HowtoCertifytheLeakage of a Chip?// Proceedings of the Annual InternationalConference on the Theory and Applications of CryptographicTechniques.Copenhagen,Denmark,2014:459-476HUXiao-bo, bornin1977bachelor. Her researchinterests include cryptographic designandcryptographic chip.PENGMin, bornin1985master.Herresearchinterestsincludecryptographic designandcryptographicchip.ZHANGHuan-guo, born in1945. Ph.Dprofessor. Hisresearchinterests include informationsecurity, cryptography,trustedcomputingandfault-tolerantcomputing.BackgroundMaskingis aneffectiveandpopular countermeasuretoseveral types of side-channel attacks. As for thehigher-ordermaskingcase,ittendstobemoreandmoregenerictoresistanyorderSCAs.AlthoughtheISWmodelproposedbyIshai,SahaiandWagner could prove the security of masking schemestheoretically,thereremainsagapbetweenthepracticalsecurityand theoretical security. This paper aims at improving the14 计算机学报 2017securityof maskingimplementation, researches the risks ofhardwaredesignontwoaspects: glitchesandhardwaredesignstructure.WeuseRivPtoprovethereexistleakageintheabovesceneintheory. Onthisbasis, wemakesomeexperimentsonsimulation power traces. Our analysis shows that the riskactuallyoccurs inthe design of provablysecuritymaskingscheme.Thiscapabilitycanhelpdesignersdirectlymodifytheirdesignstomakethemmoresecure.Our research team has successively used power,electromagneticandfault analysisdifferent structureof blockciphersinSCAfor10years.Wecompletedaprototypesystemaboutside-channelanalysis,protectionandtesting.This researchis supportedbyNational Natural ScienceFoundation of China(No.61472292,No.61332019),MajorStateBasicResearchDevelopmentProgramofChina(973Program)(2014CB340601)andthekeytechnologyresearchofnew-generation high-speed and high-level security chip forsmart grid(526816160015). It aimsat puttingforwardaset oflightweight countermeasure scheme against side-channelanalysis,toachievetheunificationoflightweightandsecurity.

[返回]
上一篇:互学习神经网络训练方法研究
下一篇:多群落双向驱动协作搜索算法