您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页智能卡RSA算法DPA的攻击与防御

智能卡RSA算法DPA的攻击与防御

来源:化拓教育网
维普资讯 http://www.cqvip.com

毫一 研究与开发 智能卡RSA算法DPA的攻击与防御 靳济方,高献伟 (北京电子科技学院电子信息工程系北京100070) 曝 已有的算法级防止DPA攻击方法进行了研究,并在此基础上提出一种-X重掩盖法来全面防御 针对RSA算法的DPA攻击。且进行了仿真,效果明显。 1 引言 2 DPA攻击原理 智能卡(smart card)也称CPU卡,不仅具有数据存储 DPA是利用智能卡密码芯片运行时的能量信号与密 功能,还具有数据安全保护、复杂密码运算等功能。智能卡 码算法的密钥之间的相关性,运行多次密码算法就可以暴 采用RSA算法作为公钥加密算法.但是智能卡在运行过 露出这种相关性嘲。DPA的过程如下。 程中不可避免会泄露一些旁路信息,如能量、电磁波、时问 (1)收集能量消耗信息。攻击者监测密码芯片进行m次 等,利用能耗信息对智能卡进行攻击能够达到很好的效 加密时的能量消耗曲线 们( =1,2,…,m;m是进行加密 果,其危害远远大于传统的数学攻击手段。 运算的次数。 =1,2,…,k;lc是每次测量能耗的采样点 1999年Paul首次提出能量分析…,能量分析是指通过 数),同时记录每次运算后所得到的密文C ,C2,…, 。 采集智能卡加密芯片等硬件设备在进行加、解密或签名操 (2)分析信息。攻击者根据已知算法,设计一个与 作时产生的能量消耗信息,利用密码学、统计学原理,分析 密钥相关的区分函数D(K。,C)。其中,K。是假定的子密 和破译密钥信息的一种攻击方式。通常.可将能量分析攻 钥.C是密文。 击分为简单能量分析(simple power analysis,SPA)攻击和 (3)根据假定的 和函数D的计算值,把能耗信号分 差分能量分析(differential power analysis,DPA)攻击两类, 成两类: 其中DPA是目前非常快速而有效的攻击方法。所以近年 To={ ]{D=0},T1={ ]{D=I}, 来针对DPA的各种防御方法成为研究的热点。 ∑ ∑ 令△D ]- 一 北京电子科技学院信息安全与保密重点实验室基金项目 (No.YZDJO605) 如果K 假设不正确,则ADO'l=0;如果K 假设正确, 维普资讯 http://www.cqvip.com

研究与开发 则ADⅡ]≠0。正确的 可以从k次采样的差分曲线 AD[1,2,…, ]出现明显的突变来判断。 3 算法级DPA攻击RSA 3.1算法级DPA攻击RSA的思想 模幂运算是RSA中最根本的运算,模幂运算可以分 解成多个模平方运算和模乘运算,进行模平方运算和模 乘运算所消耗的能量是有差别的。DPA攻击RSA的主要 思想是利用RSA算法平方运算和乘法运算能耗的明显 不同,考虑到噪声对能耗轨迹的干扰,采用均值和差分 的统计运算不断修正能耗轨迹,同时利用设计合理的区 分函数将猜想私钥的比特位对应的能耗轨迹分类,最终 获得私钥指数的比特位信息。 3.2算法级DPA攻击RSA的主要方法 根据攻击的前提条件不同,DPA攻击RSA的方法主 要为以下两类。 (1)获得已知公钥指数前提下的DPA攻击 根据IS07816标准【21.智能 的使用者可通过手册获 得卡的公钥指数值.可以运行“外部认证”指令使用公钥指 数进行加密操作.可以对任意输入运行“内部认证”指令使 用私钥指数进行签名操作。 此攻击方法就是取大量的随机数让智能卡进行签名和 加密运算。根据公钥推出私钥。假设随机数个数为 ,在 时 刻,智能卡对第k个随机数用私钥指数进行签名的能耗为 ],用公钥指数进行加密的能耗为 ],计算能量差分 信号: D ]= ∑S儿 =I  n l_∑ ]k=I  在 时刻,若D[ =0则私钥与公钥在 .时刻进行相同 的运算,若D[I:]≠0则私钥与公钥在 时刻进行相反的运 算。由此结果得到私钥在各个采样点的运算表,根据运算 表得到私钥指数比特位值的对应,从而得到私钥。 (2)根据假设私钥猜测RSA私钥的DPA攻击 此方法是通过比较真正私钥和攻击者假设私钥对同 一输入进行模幂运算操作时的能耗轨迹,逐位地比较和修 正假设私钥,最终获得真正私钥的信息。过程如下[3141: 假设K 为攻击者假设的私钥,5 ]为智能卡对输入进 行签名时的能耗,i为K 的第i比特。设K 为l时,采集的 能耗信号为S。 1,为0时,采集的能耗信号为So ],分别 计算两个差分信号: Dob;=sb.]-so ], D。 ]=5 ]一S。 ] 若D0 ]:0则私钥的第i位是0;若D。 ]=0,则私钥的 第i位是1。不断进行此推测,不断修正假设密钥 ,最终 得到真正的密钥。若采集的样本足够多,此法比第一种方 法具有更好的信噪比和攻击效果。 4算法级防御DPA攻击的方法 针对上述算法级攻击方法,目前有几类算法级防范 DPA攻击的方法,防御思想都是:消除或减少算法操作数 特征,消除算法执行过程中的操作数和中间值与能耗之间 的对应关系。大致可以分为以下几类。 (1)减小信号强度。减小信号强度的主要实现方法包 括算法执行连续编码,选取小能耗运算指令,均衡汉明重 量。算法执行连续编码可以防止DPA判断不同算法的起始 点和结束点.不提供有价值的算法信息;选取小能耗运算 的实现思想是用不易产生显著能耗变化的指令取代一些 原始指令,使指令的能耗减小及不同指令的能耗趋于平 衡:均衡汉明重量可使数据以原码和反码两种形式表示, 避免通过汉明重量与能耗的直接关系泄露能量信息。 (2)增加随机噪声。通过引入随机噪声,使得有用的信 号完全淹没于无用的噪声中,从而增加能量攻击的难度。 但是.这种方法不能从根本上解决问题:其一,攻击者可以 通过有效的滤波,消除这种干扰;其二,DPA本身在做统计 平均时就削弱了噪声的影响。 (3)数据随机化掩盖。可分为明文随机化掩盖和指数 随机化掩盖两类,分别通过数算的变换与反变换,使 RSA算法中的操作数均为经过~定随机化变形的替代数。 仅通过能量差分运算得不到真实的差异点位置.这为真实 算法做了掩盖,达到防御DPA攻击的目的。但是这两种方 法实际上起不到有效的效果,因为从算法上讲平方运算比 乘运算要少近一半的指令.因此平方和乘运算消耗的能量 会有很大的差异.而如果仅仅是操作数不同,运算所执行 的乘和平方的数量不变,这样所带来的能量变化的干扰基 本上可以忽略,这两种掩盖仍不能完全掩盖操作指令的真 实能耗轨迹,攻击者可以通过其平方运算或乘法运算的不 同运算指令的能耗轨迹,获取算法运行的内部信息,再结 合其他攻击手段进行攻击。 5三重掩盖法 为了弥补上述方法的不足,本文在对RSA算法中最 重要的模幂算法进行数据随机化掩盖的基础上,提出一 维普资讯 http://www.cqvip.com

种新的防御DPA攻击的方法。设计一个与智能卡进行平 方或乘法运算时的能耗相当的无效算法,在对原模幂算 法进行明文随机化掩盖和指数随机化掩盖的基础上.在 平方和乘法运算指令间加入随机的指令,进行“伪装”。 该算法同样进行真实的平方或乘法运算,运算结果写入 内存,从而使其能耗与算法中产生作用的指令的能耗相 近、轨迹相似,达到掩盖运算能耗轨迹的目的。这样就在 明文、指数和运算指令3个方面对DPA攻击进行了全面 防御。防御DPA攻击的三重掩盖的RSA模幂改进算法 如下。 输入:明文m,对明文进行掩盖和恢复的随机数字对( )(其中明文随机数为正整数n,指数e=(e e …,e。e = ) (mod n),进行指数随机化运算的随机数r’指令掩 盖的随机数,v=(M一 Nk-2"'"No) ,k>3t。 输出:m ̄(mod/2)。 (1)明文随机化掩盖预计算:m =my (mod n) 指数随机化掩盖预计算:e =e+r f2/)。 (2)初始化 =0。 (3)5 1。 (4)对i从t一1依次到0,执行: ①{ifNk=l run A ; 如果 1,运行无效的平方运算{/ else run A ; 否则,运行无效的乘法运算{/ k++;1 ②s ̄ss(mod/2);厂丰执行模平方运算 / ⑧{if M=1 run A ; else run A ; k++;1 ④如果ei"=1,则5—5m(m0d n) 执行模乘运算 / ⑧fif =1 run A ; else run A ; k++;1 (5)S d5(mod n)。 (6)返回5。 其中,步骤(3)和(4)的②、④为原来的RSA模幂运算, 步骤(4)中的①、③、⑤均为加入的随机掩盖指令,其中A 、 A 为与真实平方运算、乘法运算能耗相当的无效运算。这 样,加入的无效算法在每次的模乘和模加运算后都进行了 j 0 礴潦 掩盖,真实运算能耗与无效运算能耗相互交织,能量分析攻 击无法判断真伪.达到了有效地防御DPA的目的。图1为采 用三重掩盖算法后的仿真能耗轨迹,可见,差分后的能量轨 迹无明显的尖峰出现,攻击者不能通过滤波或统计的方法 获得实际的能耗信息 私钥信息得到有效保护。 (ms) 0 48 97 l45 l94 242 29l 330 388 图1 采用三重掩盖算法后的能耗轨迹仿真 参考文献 1 Kocher C P,Jaffe J,Jun B.Differential power analysis. In:Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology,Berlin,August 1999 2 Messerges T S,Dabbish E A,Sloan R H.Examining smart card security under the threat of power analysis attacks.IEEE Transactions on Computers,2002(5):541 ̄552 3李欣,范明钰.能量分析攻击与防御策略研究.信息安全与通信 保密,2005(7):105~107 4 Walter D C.MIST:an efficient,randomized exponentiation lagorithm for resisting power analysis.In:Proceedings of the Cryptographer S Track at the RSA Conference on Topics in Cryptology,San Jose,February 2002 5 Messerges T S,Dabbish E A,Sloan R H.Power analysis attacks of modulra exponentiation in smart cards.In:Proceeding of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester,August 1999 6 Novak R.SPA.based adaptive chosen.ciphertext attack on RSA implementation.In:PKC 2002,Paris,February 2002 7 Manger J.A chosen ciphertext attack on RSA.Optimal Asymmetirc Encryption Padding(OAEP1 as Standardized in PKCS#l v2.0.CRYPTO 2001,2001 8 Klima V,Rosa T.Further results and considerations on side channel attacks on RSA.In:CHES 2002,San Francisco Bay, August 2002 (收稿日期:2008—06—18) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务