时钟毛刺注入攻击技术综述
发布时间:2021-04-04 14:53
时钟毛刺注入是现实环境中有效且常用的故障注入方法。时钟毛刺注入是通过在正常时钟周期中引入一段毛刺时钟,使得一个或多个触发器接受错误状态而修改指令、破坏数据或状态,最终使芯片内的秘密信息随着产生的错误操作而泄露。文中对时钟故障的产生原因进行了分析,并描述了几种主要的毛刺注入机制,包括相同频率时钟切换、不同频率时钟切换以及模糊时钟注入。最后介绍了3种时钟毛刺注入攻击的最新实际运用和未来的发展方向。
【文章来源】:计算机科学. 2020,47(S2)北大核心CSCD
【文章页数】:4 页
【部分图文】:
数字集成电路的逻辑和同步表示[9]
为了产生时钟故障,攻击者刻意使一个或多个触发器接受错误的状态,从而导致指令修改、数据或状态破坏等。缩短时钟周期可能会违反式(1)中的状态,因此寄存器的输入没有足够的时间被正确锁存,从而导致错误的数据被锁存。因此,精确控制时钟周期至关重要,特别是在温度和电源变化时。如图2所示,在正常情况下,时钟周期比最大延迟与设置时间之和长,并且能正确存储中间状态。但是,当发生毛刺并且生成的时钟周期短于最大延迟和建立时间之和时,会发生建立时间违例。这将使得组合逻辑(r-in)的输出在产生正确的输出值之前被锁存在寄存器(r-out)中。3 时钟毛刺注入机制
Agoyan等[9]描述了在两个正常时钟周期间插入一个毛刺时钟周期的方法。其中,clock为一个正常的时钟周期,clock1相对系统时钟延迟了Δt,而clock2相对信号1延迟了Δt。当触发信号为高电平时,该方案将clock2的上升开始到clock1的下降沿结束组成一个毛刺时钟周期的高电平,然后切换为clock,这样就得到了一个带有毛刺的故障时钟。图4中毛刺时钟的第二个时钟周期为注入的毛刺,由于在生成的时钟毛刺上升沿之前一直为低电平,因此第一个时钟周期和时钟毛刺之间的部分可以看作延时,其对错误注入没有影响。若正常时钟信号的周期为T,那么时钟毛刺的周期为T-2Δt。在该方案中,时钟毛刺的精度δ与FPGA的锁相环电路所能提供的延时的精度δt相关,两者之间的关系为δ=2δt。图4 在正常时钟周期间注入毛刺
本文编号:3118247
【文章来源】:计算机科学. 2020,47(S2)北大核心CSCD
【文章页数】:4 页
【部分图文】:
数字集成电路的逻辑和同步表示[9]
为了产生时钟故障,攻击者刻意使一个或多个触发器接受错误的状态,从而导致指令修改、数据或状态破坏等。缩短时钟周期可能会违反式(1)中的状态,因此寄存器的输入没有足够的时间被正确锁存,从而导致错误的数据被锁存。因此,精确控制时钟周期至关重要,特别是在温度和电源变化时。如图2所示,在正常情况下,时钟周期比最大延迟与设置时间之和长,并且能正确存储中间状态。但是,当发生毛刺并且生成的时钟周期短于最大延迟和建立时间之和时,会发生建立时间违例。这将使得组合逻辑(r-in)的输出在产生正确的输出值之前被锁存在寄存器(r-out)中。3 时钟毛刺注入机制
Agoyan等[9]描述了在两个正常时钟周期间插入一个毛刺时钟周期的方法。其中,clock为一个正常的时钟周期,clock1相对系统时钟延迟了Δt,而clock2相对信号1延迟了Δt。当触发信号为高电平时,该方案将clock2的上升开始到clock1的下降沿结束组成一个毛刺时钟周期的高电平,然后切换为clock,这样就得到了一个带有毛刺的故障时钟。图4中毛刺时钟的第二个时钟周期为注入的毛刺,由于在生成的时钟毛刺上升沿之前一直为低电平,因此第一个时钟周期和时钟毛刺之间的部分可以看作延时,其对错误注入没有影响。若正常时钟信号的周期为T,那么时钟毛刺的周期为T-2Δt。在该方案中,时钟毛刺的精度δ与FPGA的锁相环电路所能提供的延时的精度δt相关,两者之间的关系为δ=2δt。图4 在正常时钟周期间注入毛刺
本文编号:3118247
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3118247.html