• / 4
  • 下载费用:10 金币  

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

关 键 词:
智能卡RSA算法DPA的攻击与防御.doc
资源描述:
智能卡 RSA 算法 DPA 的攻击与防御 *靳济方,高献伟(北京电子科技学院电子信息工程系 北京 100070)摘 要 智能卡在执行算法过程中会泄露一些能耗信息,采用差分能量分析(DPA)利用这些信息可以分析出加密的密钥,其危害远大于传统的数学分析手段。本文对算法级DPA 攻击 RSA 算法方法和已有的算法级防止 DPA 攻击方法进行了研究,并在此基础上提出一种三重掩盖法来全面防御针对 RSA 算法的 DPA 攻击,且进行了仿真,效果明显。关键词 智能卡;DPA;RSA;掩盖1 引言智能卡(smart card)也称 CPU 卡,不仅具有数据存储功能,还具有数据安全保护、复杂密码运算等功能。智能卡采用 RSA 算法作为公钥加密算法,但是智能卡在运行过程中不可避免会泄露一些旁路信息,如能量、电磁波、时间等,利用能耗信息对智能卡进行攻击能够达到很好的效果,其危害远远大于传统的数学攻击手段。1999 年 Paul 首次提出能量分析 [1],能量分析是指通过采集智能卡加密芯片等硬件设备在进行加、解密或签名操作时产生的能量消耗信息,利用密码学、统计学原理,分析和破译密钥信息的一种攻击方式。通常,可将能量分析攻击分为简单能量分析(simple power analysis,SPA )攻击和差分能量分析(differential power analysis,DPA )攻击两类,其中DPA 是目前非常快速而有效的攻击方法,所以近年来针对 DPA 的各种防御方法成为研究的热点。2 DPA 攻击原理DPA 是利用智能卡密码芯片运行时的能量信号与密码算法的密钥之间的相关性,运行多次密码算法就可以暴露出这种相关性[2]。DPA 的过程如下。(1)收集能量消耗信息。攻击者监测密码芯片进行 m 次加密时的能量消耗曲线 Ti[j](i = 1,2,… ,m;m 是进行加密运算的次数。 j = 1,2,…,k;k 是每次测量能耗的采样点数) ,同时记录每次运算后所得到的密文 C1,C2 ,… ,Cm。(2)分析信息。攻击者根据已知算法,设计一个与密钥相关的区分函数 D(Ki,C)。其中,Ki 是假定的子密钥,C 是密文。(3)根据假定的 Ki 和函数 D 的计算值,把能耗信号分成两类:T0={Ti[j]│D=0} ,T1={Ti [j ]│D=1} ,如果 Ki 假设不正确,则△D[j]=0 ;如果 Ki 假设正确,则 △D[j] ≠0。正确的 Ki 可以从k 次采样的差分曲线△D[1, 2,…,k] 出现明显的突变来判断。3 算法级 DPA 攻击 RSA3.1 算法级 DPA 攻击 RSA 的思想模幂运算是 RSA 中最根本的运算,模幂运算可以分解成多个模平方运算和模乘运算,进行模平方运算和模乘运算所消耗的能量是有差别的。DPA 攻击 RSA 的主要思想是利用RSA 算法平方运算和乘法运算能耗的明显不同,考虑到噪声对能耗轨迹的干扰,采用均值和差分的统计运算不断修正能耗轨迹,同时利用设计合理的区分函数将猜想私钥的比特位对应的能耗轨迹分类,最终获得私钥指数的比特位信息。3.2 算法级 DPA 攻击 RSA 的主要方法根据攻击的前提条件不同,DPA 攻击 RSA 的方法主要为以下两类。(1)获得已知公钥指数前提下的 DPA 攻击根据 ISO7816 标准[2],智能卡的使用者可通过手册获得卡的公钥指数值,可以运行“外部认证”指令使用公钥指数进行加密操作,可以对任意输入运行“内部认证”指令使用私钥指数进行签名操作。此攻击方法就是取大量的随机数让智能卡进行签名和加密运算。根据公钥推出私钥。假设随机数个数为 n,在 j 时刻,智能卡对第 k 个随机数用私钥指数进行签名的能耗为Sk[j ] ,用公钥指数进行加密的能耗为 Pk[j] ,计算能量差分信号:在 j 时刻,若 D[j]=0 则私钥与公钥在 j 时刻进行相同的运算,若 D[j ]≠0 则私钥与公钥在 j 时刻进行相反的运算。由此结果得到私钥在各个采样点的运算表,根据运算表得到私钥指数比特位值的对应,从而得到私钥。(2)根据假设私钥猜测 RSA 私钥的 DPA 攻击此方法是通过比较真正私钥和攻击者假设私钥对同一输入进行模幂运算操作时的能耗轨迹,逐位地比较和修正假设私钥,最终获得真正私钥的信息。过程如下[3,4] :假设 K'为攻击者假设的私钥,Sd[j ]为智能卡对输入进行签名时的能耗,i 为 K'的第 i比特。设 K'为 1 时,采集的能耗信号为 S1j,为 0 时,采集的能耗信号为 S0[j ] ,分别计算两个差分信号:D1[j]=S[j]-S1[j]若D0[j]=0 则私钥的第 i 位是 0;若D1[j]=0,则私钥的第 i 位是 1。不断进行此推测,不断修正假设密钥 K',最终得到真正的密钥。若采集的样
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:智能卡RSA算法DPA的攻击与防御.doc
链接地址:https://www.weizhuannet.com/p-7306057.html
微传网是一个办公文档、学习资料下载的在线文档分享平台

微传网博客

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开