一种基于软件指令定位的高阶侧信道分析方法与流程

文档序号:18357194发布日期:2019-08-06 23:18阅读:571来源:国知局
本发明属于信息安全
技术领域
:,涉及一种新型高阶侧信道分析方法,尤其涉及一种基于软件指令定位的特征点选取方法,该方法可用于高阶侧信道分析,有效提高高阶分析方法的效率。
背景技术
::侧信道分析(side-channelanalysis,sca)可以利用一个密码设备运行过程中泄漏的时间、功耗以及电磁等物理特征([文献1-6])来恢复秘密信息,已经成为密码设备安全的一个严重威胁。面对侧信道分析时,掩码防护是一种非常常用的防护方法。在掩码方案中,密码算法中的每一个敏感变量都被拆分成一个随机的掩码序列([文献7])。目前的掩码方案已经发展到了高阶掩码防护方案[文献8-15]。高阶掩码防护方案的主要思想是将密码算法中任意一个敏感变量x拆分成n个随机的秘密共享因子xi。在一个d+1阶掩码方案中,任意d个中间变量值的联立都和敏感变量相互独立。高阶侧信道分析是目前针对高阶掩码方案最为有效的分析方法。然而,目前的高阶分析方法仍有一些局限性,难以在掩码方案的阶数较高时使用。要提高高阶分析的效率,需要分别针对高阶分析的两个阶段进行分析。第一个阶段是寻找与敏感中间变量相关的功耗点位置。这些功耗点位置通常称为特征点。这个过程可以被称为特征点选取过程。第二阶段就是将特征点进行联立,通过选择合适的联立函数,使特征点的联立与敏感信息具有尽可能高的相关性([文献16])。由于掩码方案的源码和运行平台很有可能是公开的([文献13]),因此假设攻击者知道算法源码和处理器进行的操作是很合理的。然而,即使在这个前提下,现有的特征点选取方法依然是高阶分析方法中最耗时的阶段([文献10])。在安全评估时,由于测评机构需要在一定时间内完成安全评估([文献17]),因此分析方法的时间消耗是安全评估有效的最重要因素之一。[文献1]p.kocher.timingattacksonimplementationsofdiffie-hellmann,rsa,dss,andothersystems.crypto’96,lncs1109,pp.104-113,1996.[文献2]elibiham,adishamir.differentialfaultanalysisofsecretkeycryptosystems.crypt0'97[文献3]p.kocher,j.jaffe,andb.jun.differentialpoweranalysis[a].crypto1999[c],berlinheidelberg:springer-verlag,1999:388–397.[文献4]quisquaterj.j,samyded.electromagneticanalysis(ema):measuresandcountermeasuresforsmartcards.cannes,france:acm2001[文献5]e.brier,c.clavier,andf.olivier.correlationpoweranalysiswithaleakagemodel[a].ches2004[c],berlinheidelberg:springer-verlag,2004:16–29.[文献6]b.gierlichs,l.batina,p.tuyls,andb.preneel.mutualinformationanalysis[a].ches2008[c],berlinheidelberg:springer-verlag,2008:426-442.[文献7]s.mangard,e.oswald,andt.popp,poweranalysisattacks:revealingthesecretsofsmartcardsvol.31.newyork,usa:springerscience&businessmedia,2008.[文献8]m.rivain,e.dottax,ande.prouff.blockciphersimplementationsprovablysecureagainstsecondordersidechannelanalysis.proceedingsoftheinternationalworkshoponfastsoftwareencryption,lausanne,switzerland,2008,127-143.[文献9]h.kim,s.hong,andj.lim."afastandprovablysecurehigher-ordermaskingofaess-box,"proceedingsoftheinternationalworkshoponcryptographichardwareandembeddedsystems,nara,japan,2011,95-107.[文献10]c.carlet,l.goubin,e.prouff,m.quisquater,andm.rivain,"higher-ordermaskingschemesfors-boxes,"proceedingsofthefastsoftwareencryption,washington,usa,2012,366-384.[文献11]m.rivainande.prouff,"provablysecurehigher-ordermaskingofaes,"proceedingsoftheinternationalworkshoponcryptographichardwareandembeddedsystems,santabarbara,usa,2010,413-427.[文献12]a.royands.vivek,"analysisandimprovementofthegenerichigher-ordermaskingschemeoffse2012,"proceedingsoftheinternationalworkshoponcryptographichardwareandembeddedsystems,santabarbara,usa,2013,417-434.[文献13]j.-s.coron,e.prouff,m.rivain,andt.roche,"higher-ordersidechannelsecurityandmaskrefreshing,"proceedingsoftheinternationalworkshoponfastsoftwareencryption,singapore,2013,410-424.[文献14]j.-s.coron,"higherordermaskingoflook-uptables,"proceedingsoftheannualinternationalconferenceonthetheoryandapplicationsofcryptographictechniques,copenhagen,denmark,2014,441-458.[文献15]v.grosso,e.prouff,andf.-x.standaert,"efficientmaskeds-boxesprocessing–astepforward,"proceedingsoftheinternationalconferenceoncryptologyinafrica,dakar,senegal,2014,251-266.[文献16]e.prouff,m.rivain,andr.bevan,"statisticalanalysisofsecondorderdifferentialpoweranalysis,"ieeetransactionsoncomputers,2009,58:799-811[文献17]n.veyrat-charvillonandf.-x.standaert,"genericside-channeldistinguishers:improvementsandlimitations,"inannualcryptologyconference,santabarbara,ca,usa,2011,354-372.技术实现要素:本发明以高阶掩码方案的侧信道分析方法为研究目标,提出了一种基于软件指令定位的特征点选取方法,旨在找到一种高效分析方法,使高阶功耗分析的时间复杂度不再和掩码阶数相关,提高安全测试的效率,从而推动现有可证明安全的掩码方案在软件平台上的安全实现方案的发展。本发明所采用的技术方案是:一种基于软件指令定位的高阶侧信道分析方法,其特征在于,包括以下步骤:步骤1:基于软件指令定位的特征点选取;以nt条包含mt个样本点的建模功耗曲线ti、np条包含mp个样本点的采集功耗曲线pi、概率阈值t为输入,得到n个位置的输出l;其中,ti表示为了建立指令的模板所采集建模功耗曲线,i∈[1,nt];pi表示匹配时采集的功耗曲线集合,i∈[1,np];l表示被选为候选位置次数最多的n个位置的集合;具体实现包括以下子步骤:步骤1.1:对每一条建模功耗曲线ti进行降维处理,得到降维后的曲线t’;步骤1.2:利用降维后得到的曲线t’建立模板,建模均值向量记为q,协方差矩阵记为c;步骤1.3:用整数i,k作为循环变量,初始值为1;步骤1.4:将pi作为输入,对pi[k,k+mt]进行降维处理,得到降维曲线pk’;将得到的降维曲线pk’作为输入,计算得到概率prk;将循环变量k增加1,即令k=k+1;若k≤mp-mt,则回转执行步骤1.4;步骤1.5:将循环变量i增加1,即令i=i+1;若i≤np,则回转执行步骤1.4;步骤1.6:选出i中被选中次数最多的前m个位置的下标k,将每个位置对应的下标k存入集合l中;步骤1.7:输出l;步骤2:高阶侧信道分析;本发明的特点与优势:(1)本发明提出了一种基于软件指令定位的特征点选取方法,使得高阶功耗分析的时间复杂度不再和掩码阶数相关;(2)本发明可有效降低高阶功耗分析的时间复杂度,提高安全测试的效率;(3)本发明适用于不同芯片及软件平台,基于软件指令定位的特征点选取方法可以作为针对掩码方案软件实现的高阶功耗分析的第一步,从而能够和各种高效的高阶功耗分析结合使用,具有很高的通用性。附图说明图1为本发明实施例的流程示意图。具体实施方式为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。本发明提供的一种基于软件指令定位的高阶侧信道分析方法,包括以下步骤:步骤1:基于软件指令定位的特征点选取;本发明提出一种基于软件指令定位的特征点选取方法,称为ir-pois(instructionrecognition-basedpointsofinterestselection),来准确地定位出掩码方案中每个秘密共享因子,以有效提高高阶掩码方案实现的功耗分析效率。本实施例以nt条包含mt个样本点的建模功耗曲线ti、np条包含mp个样本点的采集功耗曲线pi、概率阈值t为输入,得到n个位置的输出l;其中,ti表示为了建立指令的模板所采集建模功耗曲线,i∈[1,nt];pi表示匹配时采集的功耗曲线集合,i∈[1,np];l表示被选为候选位置次数最多的n个位置的集合;请见图1,具体实现包括以下子步骤:步骤1.1:对每一条建模功耗曲线ti进行降维处理,得到降维后的曲线t’;本实施例使用的降维算法为主成分分析(principalcomponentanalysis,pca);步骤1.2:利用降维后得到的曲线t’建立模板,建模均值向量记为q,协方差矩阵记为c;本实施例的建模过程,是以降维后得到的曲线t’为输入,根据建模规则,得到建模均值向量q和协方差矩阵c;其中,步骤1.3:用整数i,k作为循环变量,初始值为1;步骤1.4:将pi作为输入,对pi[k,k+mt]进行降维处理,得到降维曲线pk’;将得到的降维曲线pk’作为输入,计算得到概率prk;将循环变量k增加1,即令k=k+1;若k≤mp-mt,则回转执行步骤1.4;本实施例中,概率计算,对于曲线x,步骤1.5:将循环变量i增加1,即令i=i+1;若i≤np,则回转执行步骤1.4;步骤1.6:选出i中被选中次数最多的前m个位置的下标k,将每个位置对应的下标k存入集合l中;步骤1.7:输出l;步骤2:高阶侧信道分析。本发明通过定位与敏感信息相关的指令,可以确定高阶掩码方案中每个秘密共享因子对应功耗出现的具体位置,从而降低后续高阶分析方法的时间复杂度。对于一个有n个秘密共享因子的高阶掩码方案,可以将高阶分析方法的时间复杂度水平从功耗曲线点数的n次方降低到线性水平,大大提高了高阶分析方法的效率。并且由于目标cpu的指令集是已知的,攻击者可以事先对敏感指令进行建模。本发明实用性强,实现简单,适用于不同芯片及软件平台,可以作为针对掩码方案软件实现的高阶功耗分析的第一步,从而能够和各种高效的高阶功耗分析结合使用,具有很高的通用性。应当理解的是,本说明书未详细阐述的部分均属于现有技术。应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1