暂稳态效应攻击

---恢复内容开始---

以下内容整理自Transient-Steady Effect Attack on Block Ciphers 2015

这篇文章提出了一种新的攻击:暂稳态效应攻击
暂稳态效应:组合电路的输出在跳转为正确的值之前会保持一个暂时的值

优点:和其他故障攻击相比,不需要大量的加密去建立统计模型,即攻击阶段需要的加密次数更少

攻击实现:注入时钟毛刺,得到暂稳态值,也就是包含秘钥信息的故障输出

目标电路:两种不屏蔽s盒和一种屏蔽s盒的AES电路,FPGA实现

实验结果:对于未屏蔽的S盒 加密一次可以获得秘钥的一个字节
对于屏蔽了的s盒 加密20次可以获得秘钥的一个字节

1.背景介绍

侧信道攻击的提出1
现在已经有很多侧信道攻击密码电路的方法(泄露信息型):
功耗分析 2、3
template 4
碰撞 5、6
mutual information 7
故障攻击,DFA是其中比较有名的 8,基于故障模型从正确的密文输出和错误的密文输出中恢复秘钥
2010年提出故障灵敏度分析FSA 9,这种方法基于AES的s盒的关键路径具有数据依赖性,但是破解需要多次加密
2011年FSA与碰撞攻击结合,攻破了有屏蔽的AES电路 10,缺点是增加了加密次数
2012年提出顺时针碰撞故障灵敏度分析CC-FSA,针对屏蔽AES电路
他们指出,如果两轮输入完全相同,第二次的时间会更短,因为在组合电路中几乎没有了翻转
2012年紧接着提出时钟宽度攻击FRA,攻破了串行屏蔽AES的s盒
但是以上两种方法有共同的缺点:
1.混乱的时钟频率
2.检测合适的时钟宽度很低效
3.加密次数太多

这篇文章的贡献

提出一种新的故障攻击方法:暂稳态攻击TSE attack

目标电路通常在第一个周期内进行计算,并注入一个时钟毛刺以创建一个非常短的第二个周期。根据第一周期中的短路径数据和长路径数据计算出第一时钟周期的正常输出。根据第二个周期的短路径数据和第一个周期的长路径数据计算第二个周期的错误输出。通过组合两个连续时钟周期的输出,我们可以恢复短路径数据的信息
(秘钥所在的路径比较短)

2.准备工作

AES10轮加密,每轮需要16个s盒。当功耗、面积被限制时,算法的串行实现更棒。
举个例子:
在每一轮加密中,用4个s盒循环4次 13-14
很多低功耗的实现方法被提出 15-16

屏蔽是针对功耗分析的常规对策。 掩码值使敏感的中间值随机化,并使数据和功耗之间的依赖性最小。 S-box是AES算法中唯一的非线性运算,作为基于塔场的方法,已经提出了许多掩蔽方案[17]。
屏蔽和未屏蔽的s盒:

Li等人提出了CC-FSA攻击。 在2012年[11]。 如果输入在连续的两个时钟周期没改变,第二个周期几乎没有信号翻转。 这称为顺时针碰撞,第二个时钟周期的建立时间将非常短。 他们让目标在第一个周期中正常工作,并插入一个时钟毛刺去产生非常短的第二个时钟周期。 如果输出正确,顺时针碰撞将会被检测到。

3.暂稳态效应攻击

组合电路中数据路径的长度不一样
例如,我们可以假设信号a的路径延迟短于信号b的路径延迟。 在a到达之后,b到达输出之前,输出会呈现一个非法值。 当两个信号之间传播延迟的差异足够长时,输出将保持在非法值。 这称为瞬态稳定效应。 暂态稳定效应可能导致数据相关的功耗,并间接泄露秘密信息[18-22]。 但是,在本文中,我们显示了由瞬态稳定效应引起的暂存值可以被捕获并可以用于直接恢复秘钥。
基于暂稳态效应,提出了暂稳态效应攻击:
目标电路通常在第一个周期内进行计算,并注入一个时钟毛刺以创建一个非常短的第二个周期。根据第一周期中的短路径数据和长路径数据计算出第一时钟周期的正常输出。根据第二个周期的短路径数据和第一个周期的长路径数据计算第二个周期的错误输出。通过组合两个连续时钟周期的输出,我们可以恢复短路径数据的信息。
(秘钥所在的路径比较短)

基本思路


X、Y信号的延迟分别为tX、tY,输出Z的值会被寄存器捕获
假设tX $/<<$ tY

---恢复内容结束---

以下内容整理自Transient-Steady Effect Attack on Block Ciphers 2015

这篇文章提出了一种新的攻击:暂稳态效应攻击
暂稳态效应:组合电路的输出在跳转为正确的值之前会保持一个暂时的值

优点:和其他故障攻击相比,不需要大量的加密去建立统计模型,即攻击阶段需要的加密次数更少

攻击实现:注入时钟毛刺,得到暂稳态值,也就是包含秘钥信息的故障输出

目标电路:两种不屏蔽s盒和一种屏蔽s盒的AES电路,FPGA实现

实验结果:对于未屏蔽的S盒 加密一次可以获得秘钥的一个字节
对于屏蔽了的s盒 加密20次可以获得秘钥的一个字节

1.背景介绍

侧信道攻击的提出1
现在已经有很多侧信道攻击密码电路的方法(泄露信息型):
功耗分析 2、3
template 4
碰撞 5、6
mutual information 7
故障攻击,DFA是其中比较有名的 8,基于故障模型从正确的密文输出和错误的密文输出中恢复秘钥
2010年提出故障灵敏度分析FSA 9,这种方法基于AES的s盒的关键路径具有数据依赖性,但是破解需要多次加密
2011年FSA与碰撞攻击结合,攻破了有屏蔽的AES电路 10,缺点是增加了加密次数
2012年提出顺时针碰撞故障灵敏度分析CC-FSA,针对屏蔽AES电路
他们指出,如果两轮输入完全相同,第二次的时间会更短,因为在组合电路中几乎没有了翻转
2012年紧接着提出时钟宽度攻击FRA,攻破了串行屏蔽AES的s盒
但是以上两种方法有共同的缺点:
1.混乱的时钟频率
2.检测合适的时钟宽度很低效
3.加密次数太多

这篇文章的贡献

提出一种新的故障攻击方法:暂稳态攻击TSE attack

目标电路通常在第一个周期内进行计算,并注入一个时钟毛刺以创建一个非常短的第二个周期。根据第一周期中的短路径数据和长路径数据计算出第一时钟周期的正常输出。根据第二个周期的短路径数据和第一个周期的长路径数据计算第二个周期的错误输出。通过组合两个连续时钟周期的输出,我们可以恢复短路径数据的信息
(秘钥所在的路径比较短)

2.准备工作

AES10轮加密,每轮需要16个s盒。当功耗、面积被限制时,算法的串行实现更棒。
举个例子:
在每一轮加密中,用4个s盒循环4次 13-14
很多低功耗的实现方法被提出 15-16

屏蔽是针对功耗分析的常规对策。 掩码值使敏感的中间值随机化,并使数据和功耗之间的依赖性最小。 S-box是AES算法中唯一的非线性运算,作为基于塔场的方法,已经提出了许多掩蔽方案[17]。
屏蔽和未屏蔽的s盒:

Li等人提出了CC-FSA攻击。 在2012年[11]。 如果输入在连续的两个时钟周期没改变,第二个周期几乎没有信号翻转。 这称为顺时针碰撞,第二个时钟周期的建立时间将非常短。 他们让目标在第一个周期中正常工作,并插入一个时钟毛刺去产生非常短的第二个时钟周期。 如果输出正确,顺时针碰撞将会被检测到。

3.暂稳态效应攻击

组合电路中数据路径的长度不一样
例如,我们可以假设信号a的路径延迟短于信号b的路径延迟。 在a到达之后,b到达输出之前,输出会呈现一个非法值。 当两个信号之间传播延迟的差异足够长时,输出将保持在非法值。 这称为瞬态稳定效应。 暂态稳定效应可能导致数据相关的功耗,并间接泄露秘密信息[18-22]。 但是,在本文中,我们显示了由瞬态稳定效应引起的暂存值可以被捕获并可以用于直接恢复秘钥。
基于暂稳态效应,提出了暂稳态效应攻击:
目标电路通常在第一个周期内进行计算,并注入一个时钟毛刺以创建一个非常短的第二个周期。根据第一周期中的短路径数据和长路径数据计算出第一时钟周期的正常输出。根据第二个周期的短路径数据和第一个周期的长路径数据计算第二个周期的错误输出。通过组合两个连续时钟周期的输出,我们可以恢复短路径数据的信息。
(秘钥所在的路径比较短)

基本思路


X、Y信号的延迟分别为tX、tY,输出Z的值会被寄存器捕获
假设tX<<tY

猜你喜欢

转载自www.cnblogs.com/zhanghaha-zzz/p/11616325.html