操纵智能卡微控制器

时间:2008-11-21

  操纵和防御:改变智能卡微控制器存储器的内容

  直接读出微控制器存储器的内容是一种可行的攻击方案,其危险性不言而喻。一个几乎有着同等威胁的类 似方案,其攻击形式是有意地改变智能卡微控制器存储器的数据内容。这并不意味着在加密算法的计算过程 中扩散随机误差,那是用作差分故障分析(DFA)基础的,相反,而是选择性地改变ROM或EEPROM中的某些位 或某些字节来实现的。

  如果不加选择地改变所有类型的存储器的话,可以用(举例)x光或紫外光照射在裸露的芯片上。EEPROM单 元由于曝光在紫外光下而放电,将使其内容取能级之值。这个过程和用紫外线灯擦除一个常规的EEPROM 的过程完全相同。然而,它不能合理地用在攻击之中,因为攻击者无法控制EEPROM单元中那些是要被转换的 。

  当然,紫外线灯可用对准的光束或者是激光来代替,这样可以聚焦到一个细微的点上来改变单个存储单元 的内容。使用激光的好处是它可以供给足够的能量,也能用来改变ROM单元的内容,聚焦的离子束也可以类 似的方式用来改变存储单元。

  从理论上来说,这种改变确实能用来进行有效的攻击,例如随机数发生器能被操纵得不再产生随机数,相 反始终供给同一数值。如果确能如此,则智能卡对终端的鉴别可用先前使用的数值进行重放攻击即可突破。

  如果特定存储位的内容能有意地予以改变,则其他类型的攻击就可着手进行了,例如DES算法中所有S盒都被有意地改变为全0或全1。这就是说DES不再是加密算法,而仅仅是一个线性变换[Anders。n 96a]。

  如果DES密钥在EEPROM中的位置已知,也就可以改变在EEPROM中的个别位(例如用聚焦的紫外光),当然就能利用这些条件实施一有效攻击。攻击包括把密钥的任意位设置为0,然后调用一条DES算法命令来使用此修改了的密钥。如果返回的代码指示在密钥中有奇偶错,则修改之位重新置为1,如果没有奇偶错,则此位就早已设定为0了,对密钥中其余55位采取同样的处理,结果就知道了秘密密钥[Zieschang 98]。

  沿着同样的思路,许多其他类型的攻击也是可能的,诸如选择性地更改程序过程或修改指针之值。从论文中看来这些攻击非常简单而有吸引力,但在实际中可能极其困难,这是因为成功攻击所必各之条件难以满足,因此这类攻击仅停留在理论概念上。

  为了选择性地改变某些位,攻击者必须详细了解数据和程序代码在存储器中的实际地址,还必须知道涉及的存储器所采用的乱址方案。此外,所有的数据和程序代码对于安全来说都是重要的并且都采用了保护代码和,而在每次使用数据和程序之前都要重新计算。攻击者因此也要选择性地改变代码和以匹配对数据的修改。也不能忽视所涉及的存储器上覆盖的所有保护层,在进行任何操作之前必须使之失效。如果把所有这些考虑在一起,即使应承认它在理论上听起来很有吸引力,也会把对这种类型的攻击的兴趣降低殆尽。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com



  
上一篇:同步DRAM的读操作
下一篇:同步DRAM的写操作

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料