错误注入攻击总结(Fault Injection Attack)

1.   什么叫错误注入攻击

错误注入攻击,指在密码芯片设备中通过在密码算法中引入错误,导致密码设备产生错误结果,对错误结果进行分析从而得到密钥。

它比差分能量攻击(DPA,DifferentialPower Analysis)、简单能量攻击(SPA,SimplePower Analysis)、电磁分析攻击(EMA,ElectromagneticAnalysis)都更强大。攻击没有防护的RSA-CRT只需要一个trace(能量迹),AES或者DES需要两个traces。DPA和EMA通常需要上千或者上万条traces,SPA需要少量traces,但不够强大。

 

2.   错误注入攻击的主要方式

a)    Glitch Attack

通过扰乱外部电压或者外部时钟使设备失灵对设备进行攻击,优点是易于实施,但无法对某一个特定的部分进行攻击。现在的大多数芯片都有glitch detector或者DC filter来抵抗攻击。 

b)    Temperature Attack

通过改变外部的温度来扰乱设备的正常运行,从而得到错误结果。

c)    Light Attack

通过激光照射,利用光子扰乱密码设备的正常运行。它可以选择攻击的位置,是最强的攻击方式。由于芯片主要都是在正面进行保护,背面很少采用保护措施。Laser attack可以通过照射背部进行攻击。

 d)    Magnetic Attack

电磁攻击,利用强大的磁场对设备进行干扰。优势在于廉价,但不如Laser attack强。

 

3.   错误的种类:包括永久性错误和暂时性错误

a)    永久性错误

强大,可用于攻击数据(EEPROM、RAM)或者代码(EEPROM),但是难于实现。

 b)    暂时性错误

干扰代码的特定操作过程,包括:跳过子过程skip subroutine, 避免检测avoidtest, 错误执行代码executedifferently, 抓取错误数值fetch wrongvalue, 改变程序计数器modify programcounter等

 

4.   错误注入攻击模型的选择:步骤分两步,首先选择引入哪种错误,然后再选择实践的方式。

a)    Bit v.s. Byte

Bit: 攻击单bit,强大,几乎可以成功攻击所有的密码系统,但难于实现

Byte:攻击整个Byte,由于byte是设备数据的存储和传输的主要方式,所以它比较易于实现

 b)    Specific v.s. Random Value

Specific:把数据设为全0或者全1,理论上比较容易想到的攻击方式

Random Value:利用随机数进行攻击,比较易于实现。

 c)    Static v.s. Computational

Static:用于攻击DSA,攻击点是存储器memory,比较困难

Computational:用于攻击RSA-CRT,在攻击中引入错误操作计算,实现起来比较容易。

 d)    Data v.s. Control

Data:攻击芯片操作中的数据

Control:攻击芯片的操作过程,这种方法比较难于实现,但更加强大。

Reference:


Kim, Chong Hee, and J-J. Quisquater. "Faults, injection methods, and fault attacks."Design & Test of Computers, IEEE 24.6 (2007): 544-545.
--------------------- 
作者:GluttonousZX 
来源:CSDN 
原文:https://blog.csdn.net/zxzxzxzx2121/article/details/42527351 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值