保护数据处理设备以抵御攻击或分析的装置和方法

文档序号:6567984阅读:154来源:国知局
专利名称:保护数据处理设备以抵御攻击或分析的装置和方法
做繊舰设备以抵御攻击或分析的體和方法 本发明总鰣及阻止密辦析的技术领域,媒涉及鄉护至'>"^ 1皿设备以抵御至少一个攻击,例如抵御至少一个电磁(E[tecfro]MCagndic, EM)旨攻击,^K御至少-^h分析,例如抵御至少一个DPA (差分功率分析, Diffwential Pow^AiKilysis)。更具体地,本发明涉及装置和-膽,用于W至少H^g鹏设备,特 别是至少一im^系统,例如至少一个芯片,或智能卡,以抵御至少^HEiC 击,特别是抵御至少一傾道攻击,例如抵御至少一个电流踪迹分析(current trace^alysis), ^S^^1设备,特别是该^HM设备的至少"4^电路, 执衍十算,特另提密码运算(oyptographicoperati加)。纖鹏设备,特别是^A^系统,例如芯片卡或智能卡,舰PKI (公 钥基础设施)系统交换密钥,且必须被,以抵御以找出私钥为目标的几种形 式的攻击。一种这样的攻击J^iil以下方式,响计算,特别是密码运算—将一个或多个繊指弓l到芯片上,徵提指引到裸的(naked)(并且因 而是光敏的)芯片上,或者—将某种EM (电磁)辐酴源指弓l到芯片上。对于基于李维鹏萨莫尔-阿德曼(R〖ivest-spiamir-〗攀鹏,RSA)算 法称繊圆曲线密码(E,tic〗C[画〗Chy〗,ECC)難的计算而言, 需要许多乘法运算。正常地,鹏十算是在没有抵御旁道攻击,例如电流驗 分析的W的情况下fl行的。这可能易^分功率分析攻击,因为一个攻击者可能在每一次执行相同的 乘法运算时取许多电iES迹。在添加^S踪i&t后,就移除了大部分的噪声。 当攻击者做相同的事情、但是m不同的输入来做时,攻击者,比较电 迹#^位方式,爐是逐^f应(bitfOT诚)ifem学习鹏密钥。现有S^文档WO01/97009A1揭示了一种用于密码计算的方法,其包含一 个模敝求糊程(modular exponentiation routine)。这种已知的方l^lii两 ^^机变量工作来隐蔽(Wind)中间结果;在这个上下文中,现有S^文档WO 01/97009A1也Mii—领机'體的添加来工作,但是只隐蔽了乘法运算。
然而,在结^ffi于下"i^十算之前,雌果首先,除隐蔽(孤,),这也使得该结果再次易受攻击;不仅仅是乘法运算对差分功率分析(DPA)敏 感,而U^I除隐蔽的结果的^m^取存储器(RAM)访问也鹏。由Jean-Sa)astien Omot和Louis Gouto所著的现有St^文章"On Boolean 肌d Arfftmetic Maying against Dife^itial Pow^ Analysis" i寸论了差分功率分析 (DPA)攻击并且錢2页的第4和5 ^M鄉^ffW^A^出。第5段讨 论了通it^^t算的RSA屏蔽,其中参考了 Tho迈as S. Messaps 6!f Secwii^tiie AES Finalists Against Rjwct Analysis Attacte", FSE2000, SpingCT-Valag。Radu Murcsan SWSH术论文'Modeling and卿licati鹏of current (dynamics maconq)l欲processorcQre"在33页到37页擬lj了^JS^用椭圃曲线密码(ECC) 算法之繊圆曲肚的点的隐蔽。关于本发明的技术背景,可以附加参考-Luca Baiini, Ange!o Galati, Alberto Nfecii, Enrico Macii和Maximo Poncino 的现有技术文章"Enragy-Efficient Data Soambling on M咖,Processor-Tom La^i的现有,文章"A S加勿of 3Powar Anafysis旭d也e Advanced Encryption Standard - Recommendations for Designing Power Analysis Resistant Device":-现有餘娥BP丽514A9-现有餘纖GB23機9A-现有餘娥US2003/讓086A1-现W^:娥WO00/425腿-现有絲娥WO01腳腿-现有餘娥WO02/5,Al-现W^娥WO03/W039Al;以及-Lany T. McDanid ffl的现有S^论文"An Investigation of Difeentia! Power Analysis Att^ks on FPGA-teed纽oyption Systems"。iLh述的不足im点出发并且考虑到所讨论的现有S^,本发明的目的是 进—步开发如在本餘领鄉描述的體以及如在本餘领鄉描述的方法, 以便售辦安全地避开^t攻击一例如一个电Wlt攻击或者一个分析一例如一>|^功率分析,这样紋夂击^t^样的分析是以找出私钥为目标的。本发明的目的由包括^fd要求i ^!E的^a以及^M^瞎求7 ,。本发明的有利实施例和有益a^在M^M权利要求中公开。本发明主皿于以下顧络 1隐蔽中间结果的^1和方 ^|€,耐攻击 性,糊lj錢分功率分析耐攻击性;镧,j地,这种隐蔽JiM3CT至少—个随m^ES,来在由计算,糊提^Hi算所包括的^it算中^ffl的。更具体地,"^消息m可以用-^^av来隐蔽。这4^fiv可从4 随ifui择的变量V得出。这样,所有的中间结果也被隐蔽;,中间结果一直 ^^隐蔽,直郞十算结束,特别题到密码运算结束。根据本发明的有利实施例,所有中间结果MM-HH1机^M隐蔽,该随^t在旨RSAi寸奪^S个ECC计算,中保持不变,但它,始"^tff 的计算时改变。舰,即使在所有的输入都相同时,所有的电^S^E也会被改变,因为随机 是不同的。在本发明的一个优选实施例中,使用了蒙哥马利约简(Mcm培omery reduction)的原理。蒙哥马利约简是由Peter L. M加敏meiy于1985年提出的、 对于模算术中的乘法运算很有效的算法。更具体地,蒙哥马利约简是一种计算 0=的1110,肺法,其中,a, b, n都是k位的::Jt审微。蒙哥马利约简现在特别細于鹏学中。令m为一iESit而令R和T 为整数,使得 1>加,最大公约数pd(mJEl)^,且0CKnrR。不^传统M 计算TR"mod(in)被称为相对于R的T模m的蒙哥马利约简。ilil^Sil^R, 蒙哥马利约简能有^&计算。有利的是,本发明不限于蒙哥马利约简,而且本发明也能iiiS于其鹏简 原理。本发明可/Sffl于GF紛和GF(2")。在本上下文中,如果一个体系结构會諷 过prim处)T展繊n binaiy(^)扩展域中的操作iti:作,则该体系结^i称为是 统一的如果p是--个素数,^^P形成--个带有p个元素的域,用G称)标。 —个有限域是一个带WW限域阶,即有限数量的元素的域,也被称为一i^B罗 瓦域(Galois Rdd)或GF。一个有P艮域的阶总是一个素数^t"H^m数的幂。 对于每4素数幕,存在刚好一个(具有通常的防止误解的说明"刚好一个(exac^one)"魏"刚好一个fiP胸构(邵toanisomorphiaii)")有限域GFQ。 G,称为阶p的素,,且翻余类模p的域。当ri>l, GFO能被^为多项式的,类的域,该多项式的系i^于GF(p)。,n的^M不可约多项,生相同swa到同构。本发明si及一种iyg細装置,特别是一^A^统,例如一芯片卡或智能卡,包括执^B十算特别是,运算的至少一4^电路,其中iM成电路^UH至少—-随#12 *11蔽该计算的所有中间结果而进行, -以抵御至少--个攻击,特别是抵御至#"个电鹏射攻击,或 -以抵御至务冲密敝析,特别是抵御至^-个差分功率分析。 ,,本发明涉及至d^h如J^f述的装置称鄉ILfc^的方法在至少一个如J^M的、要被保护以抵御教功率分析的麵鹏设备中的舰。如ijf^,有JW选项来以一种有利的方式具体化以及改善本发明的教导。为了这个目的,分别参考扁于权利要求1繊利要求7的权禾腰求;本发明进一步的^dt、特征nm^E下面通过作为示例的tt^实施例和附图来更详细地说明,腿

图1概要鹏示了一i^^发明雄工作的、按照本发明的装置的实施例。一^lgM设备的实施例,也就是包括执行密码运算的集成电路的芯片 卡或智能卡形式的^A^系统,被称为公钥基础繊系统并根据本发明的方法 工作,即,由做装置100 (参见图l)保护以^^鹏种或lfeJW纵。S^地,假设,X和Y被X-X/v,mod(N)和i:-Y/v'mod(N)隐蔽,在这个 上下文中,下划驗明该體被隐蔽。接着,如下地计算X'Y的乘称这-Hv'迈O(P)。用陰蔽2L和:l的,方^m蔽I,且因]Jtt下一歩操作中就可以使用1了。代替乘以v%用WB 来相乘,有B-2 艮卩,有B是2的幂,以便卑膽随后由蒙哥马利约简弓胞的除 以B。然而,为了使隐蔽修正保持为尽可能简单,期望v是一个单字(sii^e woni)。 所以,代魏择v',将Y选择作为随机单字,有v'i泡m喊n)。为了减少驗卜 约简的可離,v的一些最敲效位(MSB〉可以鹏为0,使得,.R'v同样 数目的位更小。 本发明需要计算-叶,数的逆的亂Mt^的密码it^SJ以^f RSA算法(参JEJ见有^^文档US4405829 ^"由RoaRivest,Adi Shamir和LaiAdleman在1978年2月的Comiminicaticms of也e ACH 21(2)的"A Mdhod for Obtaining Digitel Sip^ures and PuWi&Key Qyptosystens"的第12CM26页)计算,用于加密ONfmod(N),其中'-M是要鄉瞎的消息,-N=p'q,-e与純(^)互素,解密计算M一nKMP)oi憤Kf (或C1)的—种方微下所示第i-从R4开始;第,脏至右扫描指数e;第三步总是计算R-R2mod(N);第四步当e的被"描的位-,时,财卜计算R-R.Mmod(N) 这样,计算中包含了多次自乘(squaring)和乘法运算。 假皿数N和所^^数包含许多n位的字m。在模约简后,尽管最高有效字可能有多几位,伊Ji^ft也包含n位的ni字。在微简前,结果##有更多的字,通常是l或m。 隐蔽的第--阶斷十算M-M'v,"-M'BV1 mod(N)0虽然v是一个单字,但是M乘以B'v"的模雜运算完全t^了 M的所有字。只有 的隐蔽需要在隐蔽乘法运算XY的第二阶段,首先如在解除隐蔽的情况中被计算为 1f&X mod(N)。接着i十算区-Rv mod(N)。在这个上下文中,应銜旨出的是R 也被隐蔽,但不是按指定的方式。这需要完全爽乘以v的--个字的乘法运算以 及随后的蒙哥马利约简。在这4^上下文中,应该指出的是,首先计算X-^v是可能的、但不是如此 有效,因为这将X機作数中的--^hP除隐蔽。当X和Y包含n个字时,则X-Y 的乘法和约简会花费2n2+n次^运算。隐,iE^作驗卜,费2n+l^S^ 运算。对于1024位的RSA,例如11=有64位的16个字,这就花费大约附加的 6%的运算能力。在隐蔽自乘X2的第三,段,首先如自除隐蔽的情况中被i愤为R-X2 mod(N)。麟,计算j^R'vmod(N)。在这个上下文中,应该指出的是跃被隐蔽、 但不是按IK的方式。这需要完全R乘以v的"^t字的一次乘法以及随后的蒙 哥马利约简。模自乘(modular squaring)可以fflM 3/2(ii2"hi)^^it3|^^。隐 iE^附力抛花费2trH棘脇算。对于1024位的RSA,例如炉有64位的 16个字,这花费大约附卩的8%的运算會幼。^终的解除隐蔽的ftM—步,当所有的RSA计算都已经,时,最终的 结果l必须,除隐蔽。这个最终的解除隐蔽是ftffi蒙哥马利约简、3M:计算对于椭圆曲线密码ECC (参见M.Emst, M.Jtog, F.Madtoer等的现有技 术文章"A Reconigurable System on Chip Implementation for Ellij^ic Curve Qyptography over GF(2n)"的第381至399页),选餘-椭圆曲辦頭g个曲线上 的--个点P。在第-—个实例a处,选择--个随臓a;计算a'p并将其作为么,繊lj 第二个实例B。 ttm二个实例B,同样选择一个随繊b,计算b'P并将其作 为公钥^lii赚一个实例A。接着,第一实例A计算K^a'(b'P),蹄二实例B it#K,=b'(a.p)。鹏,K-K,,腿是两个实例A和B的共同鹏。基本运算是点P乘以标量a的乘法运算。这是一个重复的点加法-从R-P开始;-M向右扫描标量a;-总Jii十算R-2Rmod(N) (ffi胃的獻时咅)-当a的飾描的位-l时,财卜计算RHEl+Pniod(N) (ffi胃的獻口法) 所谓的点力0f咅的算法和所谓的点力鹏的算法使用如》Y土Z迈od(N)和x2土Z mo,的运算(和RSA算^l似,但是也有一个第H^数Z被相加微相减)。 这^I算以与用于RSA ,同样的方工t^隐蔽。 点加倍算法和点加法算馳需要HH十算 C1的^iEil算,有XX1 mod(N)
隐蔽修正(也就驗果的乘法)可以只鹏于乘誠自乘,但不用于相加翻减。因此,首先计算X.Ymod(N)或X2迈od(N)。在t3^隐蔽的第一阶段,点P的X坐标和Y坐ti!P必须首先被隐蔽a ■ 隐蔽以与如预RSA算颇述的相同方式进行。在乘法运算(R=X'Y±Z)和自乘(R-X2±Z)的第—:阶段,首先,计算乘 积R-Hm,或自乘跃-X2m,。接着,计算g-R'^:B'Zmod(N)。
个上下文中,应谢旨出的是,对于有m-3和n^4的192位ECC,,除隐蔽 的^Slffi 21棘法运算,而被隐蔽的^^翻27次乘法織,即:多出28%; 11#*^没有附加的约简。被解除隐蔽的自M用18,法运算,而被隐蔽的自 ^gffi24次^^算,艮P:多出33%。在,的最后一步,,除隐蔽的求逆^i十算R-X^mod(N)。被隐蔽的求 逆会计算^q^vVmod(N)。这'bJ以被看成如下所示1^&首5fei十算v2,,用l乘以v2,这与首先用v乘以K、驗再次乘 以v形自比,因为皿出了"^NS除隐蔽的中间结果。本发明的实现可能至少部分地是在软件的基础上的;^^个上下文中,适 M RSA编程称或ECC ^f呈的^ffl器也—《以实施如JJf述的隐蔽。图1显示了依据本发明的做装置100的--如j滩硬件实现,且其包括执 行以下项的能力- 带有这样已知的^器10的实现的类型X'Y+R+C的^M算,M- 带有这样已知的^t算法的实现的l^a X4 mod(N)的^i。^*器10和逆变器(inv甜斑)30分别连接(=附图1中的参##^ 12和 32)到一存储器20,存储器中稱诸有所有e^数。结果也存储^E个存麟 20中。跳雜"^t态机40-控翁鹏器10来执行所需鄉的i憤, -控帝鹏器30进行^i算, -从魏器20中读取输^#数,以及 -向存储器20中写入结果。附图柳的歹據10縫腦的維器单元11 ^1§单元10棘储辦元20之间的纖20 ^gl00的^lill^元30 ,W0的1^II^元32 1^^元30和##器单元20之间的,40 ,WO的Jlt态机
权利要求
1、一种装置(100),用于保护至少一个数据处理设备,特别是至少一个嵌入式系统,例如至少一个芯片卡或智能卡,抵御至少一个攻击,特别是抵御至少一个旁道攻击,例如抵御至少一个电流踪迹分析,所述数据处理设备,特别是该数据处理设备中的至少一个集成电路,实行计算,特别是密码运算,其特征是通过至少一个随机变量隐蔽该计算的所有中间结果。
2、 職权利要求i的體,辦征在于该随tn^M: 在4完整將期赚持不变,且 在"^tifi十算开始时变化。
3、 根据权利要求1或2的装置,其特征在于该计算;1S于李维^萨莫 尔-阿德曼RSA算法称 圆曲线密码ECC算法。
4、 根据权利要求!至3中至少-个的装置,辦征在于顿蒙哥马利约简 或另一鄉的约简。
5、 根据权利要求1至4中至少"^的^S, ^E在于-至少一个存储器单元(20),用于###别敲; 有操作数和特别是该计算的所有结果;-至少—驗器单元(10〉,其连接于(12)该魏辦元(20); -至少—个體器单元(30),其连接于(32)该魏辦元(20); - 至;^l^状态机(40)-用于控带鹏器单元(10)来执行所需鄉的计算, -用于控制艘器单元(30)来执行求鹏算, -用于从存储器争元(20)读取输緣作数,称或-用于向存储器攀元(20)写入特别是该itic的所有结果。
6、 --种繊处理设备,特别是~*\式系统,例如一芯片卡或一智能卡, 包括至少--个执行计算特别是密码运算的集成电路,其特征是根据il利要求1 至5中至少—个的至少一,置o
7、 —种旨至少一4 设备,特别J1S少一^!A式系统,例如至 少一个芯片卡或智能卡的方法,抵御至h个攻击,特别是抵御至少一个旁道攻击,例如抵御至少一个电mi^分析,所jwi^a设备,特别是该 处 理设备的至少"^i电路,执銜算,特别是鹏雖,麟征saMM少"^h随机^S隐蔽该计算的所有中间结果。
8、 根据权利要求7的旅,其舰在于该随H3E1:在"^完整i憤期lw^不变,且 在^hifi愤开始时变化。
9、 繊权利要求7或8的方法,其特征在于该體是基于RSA算法IR/ 繊圆曲线密码難。
10、 HH权禾頓求7至9中至少"^的皿,^fffi在于,蒙哥马利约 简目一,的约简。
11、根据权利要求1至5中至少一个的至少~-^装置(100)和/^tg据权 利要求7至10中至少4的方法在要被,以抵御,功率分析的根据权承展 求6的至少一个Hdi处理设备中的使用。
全文摘要
为了进一步开发装置和方法,以保护至少一个数据处理设备,特别是至少一个嵌入式系统,例如至少一个芯片卡或智能卡,抵御至少一个攻击,特别是抵御至少一个旁道攻击,例如抵御至少一个电流踪迹分析,所述数据处理设备,特别是该数据处理设备的至少一个集成电路,执行计算,特别是密码运算,其中,一个攻击(例如一个电磁辐射(EM)攻击)或一个分析(例如一个差分功率分析(DPA))一这样的攻击或这样的分析特别是以找出私钥为目标—要被安全地避开,已提出通过至少一个随机变量来隐蔽该计算的所有中间结果。
文档编号G06F7/72GK101213512SQ200680023448
公开日2008年7月2日 申请日期2006年6月23日 优先权日2005年6月29日
发明者G·T·M·休伯特 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1