一种高度程式化的密钥高效分析方法与流程

文档序号:13219303阅读:171来源:国知局
技术领域本发明涉及电子信息技术领域,尤其是一种高度程式化的密钥高效分析方法。

背景技术:
光旁路攻击是利用密码芯片运行时的光辐射特性或者某种光(激光、紫外线等)对密码芯片运行时的影响对其进行被动或者主动攻击的一种新型旁路攻击方法,光旁路攻击可以分为光辐射分析攻击和光故障注入攻击。自Kocher在1996和1999年发表具有开创性意义的文章——基于时间的旁路攻击和基于功率的旁路攻击以来,旁路攻击成为密码分析学研究的一个重要领域。相关旁路攻击手段(如功耗分析攻击、电磁辐射攻击、故障注入攻击等)及多种分析方法(如模板攻击、差分分析等)相继被研究。传统的功耗、电磁等旁路攻击主要针对整个系统的信息泄漏进行分析,随着2008年光辐射分析攻击首次被提出,其允许选择密码芯片硬件的特定部分进行光辐射分析,使得光辐射分析攻击的选择性要远胜于功耗、电磁等分析攻击。通过选取密码芯片特定位置/区域进行攻击可以得到信噪比非常好的光旁路信号,这是由于光泄漏信号主要由我们所关心的密码芯片的相关指令操作及其操作数变化导致产生的。然而由于文献中的皮秒成像电路分析系统(PICA)的巨大实验花费和实验的复杂性,使得光辐射分析攻击在当时没有被视为现实的威胁。随着半导体技术和适合可见光、近红外等波段的硅基、铟镓砷、超导等单光子探测技术的快速发展,以及光辐射分析攻击新的研究(例如简单光辐射分析、差分光辐射分析等)的提出,使用中低成本设备开展密码芯片光辐射分析攻击成为可能和现实。在这样的技术背景下,提出并建立一种基于汉明重量和光子泄漏数对应关系的密码芯片光辐射分析方法,尤其是一种高效的、适用于计算机自动运算操作的、高度程式化的密钥分析方法成为目前亟需开展的工作。相关背景技术资料可参考如下文献:[1]J,KasperM,SeifertJ-P201419thAsiaandSouthPacificDesignAutomationConferenceSingapore,January20-23,2014p780;[2]J,NedospasovD,SchlosserA,SeifertJ-P2013ConstructiveSide-ChannelAnalysisandSecureDesign(Berlin:Springer-Verlag)p1;[3]SchlosserA,NedospasovD,J,OrlicS,SeifertJ-P2013J.Cryptogr.Eng.3;[4]WangHS2015Ph.D.Dissertation(Shijiazhuang:OrdnanceEngineeringCollage)(inChinese)];[5]KocherP1996CRYPTOCalifornia,August18-22,1996p104;[6]KocherP,JaffeJ,JunB.1999CRYPTOCalifornia,August15-19,1999p388;[7]HnathW2010Ph.D.Dissertation(Massachusetts:WorcesterPolytechnicInstitute)(inUSA);[8]MulderED2010Ph.D.Dissertation(Leuven:KatholiekeUniversiteit)(inTheKingdomofBelgium);[9]BihamE,ShamirA1997CRYPTOVol.1294,LectureNotesinComputerScience,Springer-VerlagUSA,August1997p513;[10]WangT,ZhaoXJ,GuoSZ,ZhangF,LiuHY,ZhengTM2012ChineseJournalofComputers35(2)325(inChinese);[11]KircanskiA,YoussefAM2010AFRICACRYPT2010Stellenbosch,May03-06,2010p261;[12]FerrignoJ,HlaváM2008IETInfor.Secur.294;[13]WangYJ,DingT,MaHQ,JiaoRZ2014Chin.Phys.B23(6)060308;[14]LIANGY,ZENGHP2014Sci.ChinaPhys.Mech.Astron.57(7)1218;[15]SunZB,MaHQ,LeiM,YangHD,WuLA,ZhaiGJ,FengJ2007ActaPhys.Sin.565790(inChinese);[16]WangHS,JiDG,GaoYL,ZhangY,ChenKY,ChenJG,WuLA,WangYZ2015ActaPhys.Sin.64(5)058901-1;[17]ZhangLB,KangL,ChenJ,ZhaoQY,JiaT,XuWW,CaoCH,JinBB,WuPH2011ActaPhys.Sin.60(3)038501LiuY,WuQL,HanZF,DaiYM,GuoGC2010Chin.Phys.B.19(8)080308;[18]MangardS,OswaldE,PoppT(translatedbyFengDG,ZhouYB,LiuJY)2010PowerAnalysisAttacks(Beijing:SciencePress)pp1-129(inChinese);[19]HuXD,WeiJF,HuR2011AppliedCryptography(secondedition)(Beijing:ElectronicIndustryPress)pp1-95(inChinese);[20]BeckerW(translatedbyQuJL)2009AdvancedTime-CorrelatedSinglePhotonCountingTechniques(Beijing:SciencePress)pp1-126(inChinese)。

技术实现要素:
本发明要解决的技术问题是提供一种高效的、高度程式化的密钥分析方法。为解决上述技术问题,本发明所采取的技术方案如下。一种高度程式化的密钥高效分析方法,该方法基于汉明重量值和泄漏光子数对应关系,对AES加密算法的密码芯片进行高度程式化和高效率的破译分析,该方法包括如下步骤:A、对明文d进行加密,采集密码芯片的光泄漏信号,每组明文采集若干遍并求均值得到一条光辐射迹,对多条明文进行操作并获得多条光辐射迹;B、对每条光辐射迹根据汉明重量值和泄漏光子数的对应关系确定出各自光泄漏点中间值的汉明重量;C、攻击密钥k的一个字节k0,首先初始化取值集合C,此集合包含k0字节所有256种可能数值组合;D、针对k0字节,在一条明文的光辐射迹内得到满足两个光泄漏点中间值汉明重量的可能密钥值集合,通过两步筛选将密钥可能取值进行大范围压缩;E、重复步骤D的操作,对不同明文进行上述操作至集合C中的元素个数为1时即得到密钥的第一个字节k0;F、重复步骤C、D、E分析密钥k的剩余字节,至获取完整密钥。作为本发明的一种优选技术方案,步骤A中,明文加密的条数由步骤E决定,如果两条明文即支撑步骤E获得k0则仅仅采集两条明文的光辐射迹;否则逐一增加明文条数至足够支撑步骤E获取结果。作为本发明的一种优选技术方案,步骤B中,依据密码芯片光辐射迹的数据依赖性,即光泄漏点中间值不同的汉明重量与泄漏光子数呈的近线性关系,通过步骤A的光辐射迹确定出两个光泄漏点中间值的汉明重量。作为本发明的一种优选技术方案,步骤C中,k0的取值范围为0-255。作为本发明的一种优选技术方案,步骤D中,用HW()表示汉明重量,用S()表示AES算法过程中的S盒变换操作;用di,0表示第i个明文分组di的第一个字节,用k0表示原始密钥k的第一个字节,用HW(Xi,0)表示di,0与k0异或后值的汉明重量;用HW(Si,0)表示di,0与k0异或后再经S盒变换后值的汉明重量;任意选择第i条明文加密对应的光辐射迹,初始化集合A、B,此时A、B为空集;HW(Xi,0)=HW(di,0⊕k0),如果HW(Xi,0)==首次轮密钥加中间值的汉明重量值,则保留k0至集合A中,否则丢弃k0,j取值为集合A中的元素个数减一,HW(Si,0)=S(HW(di,0⊕A(j)));如果(HW(Si,0)==首次字节变换中间值的汉明重量值,则保留A(j)至集合B中;否则丢弃A(j);然后求集合B与集合C的交集并保存至集合C;此时集合C中的元素个数与集合A、B比较得到大范围的压缩。作为本发明的一种优选技术方案,步骤E中,如果对步骤A获取的所有光辐射迹都操作完后仍然为得到字节k0的唯一值,则返回步骤A增加获取新的光辐射迹。采用上述技术方案所产生的有益效果在于:本发明的技术对于密码的破译或密码破译的防御均具有重要的意义。参见下文的实施例,本发明的方法在密码芯片的泄露光子数与操作数的汉明重量呈近似线性关系时对AES密码芯片的解析具有很高的实际可操作性。本发明高度程式化,便于利用计算机编程进行自动化密钥分析,具有很高的技术优越性。附图说明图1为实施例3中R7寄存器9种不同汉明重量的平均光泄漏点状图及其线性拟合结果。图2为实施例4中AES密码算法的状态矩阵及其光泄漏点(中间值)的示意图;AES是美国UIST批准的一个分组长度为128-bit的迭代型分组密码算法,其针对一个4×4字节的明文矩阵进行操作,称为状态矩阵;其使用128-bit密钥加密128-bit的明文分组,数据和密钥均使用一个4×4的字节矩阵,除了最后一轮不包括列混淆操作外,每个循环包括四个不同的步骤(字节替换,行移位,列混淆,轮密钥加),此外还在第一轮前进行轮密钥加操作;在整个加密过程中,原始密钥用于首轮循环前的轮密钥加操作,后面循环的轮密钥由初始密钥衍生得到。图3是实施例7中R7寄存器9种汉明重量的平均泄漏轨迹图示。具体实施方式实施例1、密码芯片光辐射迹组成光辐射迹是在密码芯片运行过程中,利用单光子探测器和光子记录模块采样的光子数在时域上的分布,它是光泄漏信号强度与时间的一个函数,反映了运行过程中的密码芯片在各时间点上的光子泄露情况。光辐射迹中既包含了对于破解密钥有用的信息,也包含了部分噪声信号。对于噪声信号的处理很大程度上决定了密钥分析的效率和精确性。光辐射迹某一时间点的信号组成如下:P=Pop+Pda+Pco+Pno,(1)在式(1)中,P为光辐射迹某一点的光子泄漏总量,Pop为该点的操作依赖分量,Pda为该点的数据依赖分量,Pno是电子噪声,Pco是一个常数分量。其中,Pop和Pda是光辐射分析中最重要的分量,尤其是Pda,这是因为光辐射分析攻击主要是利用了运行时密码芯片的光辐射迹依赖于其执行的运算和处理的数据,执行不同的操作及处理不同的数据,会导致产生不同的光辐射迹。电子噪声Pno主要由量子化噪声、外部环境干扰、电源及时钟噪声等组成,它导致密码芯片在运行程序和处理数据不变的情况下采集的光辐射迹仍然会出现不同。为了提高信噪比并降低电子噪声对分析效率的影响,一方面,可以采用TCSPC(时间相关单光子计数,下同)技术记录光子,其具有比模拟信号记录技术更小的量子化噪声;另一方面,因为Pno服从正态分布N(0,σ2),为使得期望值趋于0,可以进行多次光信号采集,用求平均值的方法减少电子噪声影响。Pco主要是由与运行程序和处理数据没有关联的晶体管转换造成的,一般认为是一个常量。实施例2、密码芯片光辐射信号仿真模型开展密码芯片光辐射分析攻击,经常需要将指令的操作数或者其变化映射为光子泄漏的数量。对于某次攻击而言,攻击者关心的是多次仿真所获得的光辐射迹之间的差异,其绝对值在分析攻击中并无实际意义,因此,攻击者采用的仿真模型比较简单,常用两类四种模型,多元模型:汉明重量模型(Hamming-WeightModel)、汉明距离模型(Hamming-DistanceModel),二元模型:比特模型(Bitmodel)、零值模型(ZeroModel)。实际攻击时采用哪一种仿真模型,需要根据攻击对象(数据)变化特点、密码芯片对密码算法的实现方式(软件实现、硬件实现)、攻击方法的使用等灵活选择。令X、Y表示两个n位二进制数,可以将X和Y分别看作一个具有n个元素的位向量(bitvector),X,Y∈{0,1
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1