|
智能卡的边频攻击分析及安全防范措施
http://www.cww.net.cn 2011年2月23日 08:58 RFID中国网
作 者:空城
DPA使得加密算法的内部处理过程可以被研究,这一危险性对智能卡安全提出了更高的要求。加密算法必须使用足够长度的全密钥,以保证探索密钥的过程因过于耗时而不可行。一个完整的算法通常在加密过程中分解成许多小步骤以使处理器可以实现。这些小步骤往往不使用全密钥而是用其中的一部分。DPA可以获取这些小步骤的输出并探索出这些较短的密钥值,因此,从理论上说,所有加密算法都可用DPA破解。虽然这种攻击方法的开发十分复杂,然而其应用却十分简单且只需很小的投资,所需的设备仅限于1台PC及中等精度的示波镜,因此解决DPA问题成为智能卡制造商最急需面对的问题之一。 3.2 DPA攻击的安全策略 应对DPA攻击的安全策略基本分为三个层面:硬件、软件和应用层面。 (1) 硬件层面的反措施 ① 采用平衡电路降低信号能量,以及设置金属防护以抑制电磁发射。 ② 执行并行随机处理来加大幅值噪声水平。例如,内部编程电压产生电路可用作并行噪声发生器。 ③ 随时处理中断引入的时间噪声和不同的时钟频率。对差分轨迹进行计算机处理的基础是轨迹可排列。在加入轨迹之前处理器的工作步骤应是同步的。时间噪声会防止或至少妨碍轨迹很好地排列。 硬件反措施的好处在智能卡对于侧路攻击的敏感性比较少地依赖于软件的变化,但其弱点在于只能降低智能卡对于侧路攻击的敏感性而无法完全消除它。事实上,硬件防范措施只是将信号降低到噪声水平从而使攻击变得困难。 (2) 软件层面的反措施 ① 采用随机处理顺序来减少相关的信号。例如,算法中的平行置换(诸如DES中的S盒)可依随机的顺序来完成,置换的数目重新排序,则可将一次置换产生的信号分解。 ② 利用随机延时和改变路径来增加计时噪声。计时噪声会妨碍轨迹的排列,并降低差分轨迹的质量。 ③ 消除密钥值及中间媒介值的时间依存性。当处理过程取决于密钥值时,直接用肉眼观察轨迹就可实现简单的能量分析;而在时间上连续的密钥处理过程则可防止这种易行的攻击。 ④ 用随机值来隐蔽中间媒介值。能量的泄露取决于一个数据中的位数。如果在实际数据上加上随机数据,处理完之后再减去,那么传递的路径将不会泄露有用的信息。不过,这种隐蔽将会导致传递函数的非线性并产生错误的结果。因此,这些函数需要仔细地重新设计,以补偿由随机数据引起的背离。 理论上来说,软件对策完美地解决了DPA攻击的问题。然而这种方法必须针对某种算法定制且其设计相当困难,因而非常昂贵且难以维持。 (3) 应用层面的反措施 ① 重设计数器,用于限制攻击者试探的次数。连续三次PIN校验失败后自锁是防范差分能量分析的有效方法。 ② 限制加密算法中输入输出的控制和可见度。如果只能选择部分输入,或只有部分算法的结果返回,攻击者就无法完成差分能量分析。 以上是防范DPA攻击的基本方法,其缺点是对可靠性的负面影响以及需要改变已有的协议。 4 能量短脉冲干扰 4.1 能量短脉冲干扰攻击的分析 微处理器要求在稳定的电压下工作,能量供应的中断就好像突然冲击程序运行或复位电路。然而,一个短而巧妙的脉冲可以引起单步的程序错误而微处理器仍能继续执行程序。例如, CPU读取存储单元的内容,晶体管用一个阈值来检测存储单元的值,以确定所读的是逻辑“0”或“1”。突然出现的能量短脉冲对存储值和逻辑值都会产生影响。不同的内部容量会使存储值受到不同的影响,有可能会使真实的值被歪曲。如图3所示,与逻辑“0”对应的低电平在正常的操作状态下可能低于阈值电平,然而由于短脉冲的能量下压可能导致其高于阈值电平。
编 辑:实习生 联系电话:
文章评论【查看评论()】
|
重要新闻 通信技术 企业黄页 会议活动 |