故障注入抵御方法及装置、芯片及计算机可读存储介质与流程

文档序号:18144138发布日期:2019-07-10 11:26阅读:369来源:国知局
故障注入抵御方法及装置、芯片及计算机可读存储介质与流程

本发明涉及芯片安全领域,尤其涉及一种故障注入抵御方法及装置、芯片及计算机可读存储介质。



背景技术:

故障注入分析是在芯片运行过程中,通过一定的手段对其进行干扰,使其出现预期或者非预期的运行状态,根据引入错误后芯片的工作情况或者输出结果,获取分析对象的有效信息或者敏感数据。

电磁故障注入作为一种新型的故障注入方式,由于不用破坏芯片表面,且攻击只针对局部有效,可控性强,所以电磁故障注入攻击在精确分析上具有极大的优势,受到越来越多同行业的关注。

在soc(systemonchip,系统级芯片)中,flash(flasheeprommemory,存储芯片)主要用于程序存储,flash控制器历来都是故障注入的重点;当flash控制器出现故障时,读取\写入数据可能会出现各种异常,导致程序运算和数据出错,对芯片安全运行产生极大的危害。

现有的硬件故障注入的防御方法,大多考虑全局的电压毛刺和时钟毛刺攻击,而针对局部电磁故障注入,防御效果不佳。



技术实现要素:

本发明提供一种故障注入抵御方法及装置、芯片及计算机可读存储介质,以解决现有故障注入防御技术针对局部故障注入防御效果不佳的问题。

为解决上述技术问题,本发明采用以下技术方案:

一种故障注入抵御方法,其用于包括多个功能模块的芯片,故障注入抵御方法包括:

检测待保护模块的电源端口的异常信号;

在检测到异常信号时,发送报警信号;

在被报警信号触发时,根据安全策略生成抵御指令;

执行抵御指令进行故障注入抵御。

进一步地,检测待保护模块的电源端口的异常信号包括:

检测电源端口的电压毛刺,并在检测到电压毛刺时,判定检测到异常信号;

和/或,检测电源端口的时钟毛刺,并在检测到时钟毛刺时,判定检测到异常信号。

进一步地,执行抵御指令进行故障注入抵御包括:

根据抵御指令复位待保护模块;

和/或,根据抵御指令清除待保护模块。

一种故障注入抵御装置,其用于包括处理器和多个功能模块的芯片,故障注入抵御装置包括:

检测单元,与芯片中待保护模块的电源端口连接,用于检测异常信号,并在检测到异常信号时,向处理器发送报警信号;

抵御单元,用于接收处理器根据安全策略在被报警信号触发所生成的抵御指令,并执行抵御指令进行故障注入抵御。

进一步地,检测单元包括电压毛刺检测单元,电压毛刺检测单元用于检测电源端口的电压毛刺,并在检测到电压毛刺时,判定检测到异常信号,向处理器发送报警信号。

进一步地,检测单元包括时钟毛刺检测单元,电压毛刺检测单元用于检测电源端口的时钟毛刺,并在检测到时钟毛刺时,判定检测到异常信号,向处理器发送报警信号。

进一步地,芯片包括处理器、存储芯片和存储控制器,存储控制器包括多个功能模块,检测单元包括多个检测子单元,检测子单元设置在存储控制器的各功能模块中,并与对应功能模块的电源端口连接。

进一步地,抵御单元用于根据抵御指令复位存储控制器和/或清除存储芯片。

一种芯片,其包括处理器、多个功能模块、以及本发明提供的故障注入抵御装置。

一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现本发明提供的故障注入抵御方法的步骤。

有益效果

本发明提供了一种故障注入抵御方法及装置、芯片及计算机可读存储介质,该方法通过检测待保护模块的电源端口的异常信号,在检测到异常信号时,发送报警信号,在被报警信号触发时,根据安全策略生成抵御指令,执行抵御指令进行故障注入抵御;实现了对芯片的局部功能模块的异常信号的检测,并根据检测结果进行故障注入抵御,解决了现有故障注入防御技术针对局部故障注入防御效果不佳的问题。

附图说明

图1为本发明实施例一提供的故障注入抵御方法的流程图;

图2为本发明实施例一提供的故障注入抵御装置的结构示意图;

图3为本发明实施例一提供的芯片的结构示意图;

图4为本发明实施例二提供的芯片的结构示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

实施例一:

图1为本发明实施例一提供的故障注入抵御方法的流程图,请参考图1,本实施例提供的故障注入抵御方法包括以下步骤:

s101:检测待保护模块的电源端口的异常信号。

根据故障注入的不同方式,如电压毛刺注入、时钟毛刺注入等,本步骤包括不同的实现方式:

检测电源端口的电压毛刺,并在检测到电压毛刺时,判定检测到异常信号;和/或,检测电源端口的时钟毛刺,并在检测到时钟毛刺时,判定检测到异常信号。

s102:在检测到异常信号时,发送报警信号。

报警信号的实现方式可以是中断信号,也可以是低电平信号或者高电平信号。

s103:在被报警信号触发时,根据安全策略生成抵御指令。

安全策略可以根据用户需要设置,例如用户可以设置仅复位存储芯片控制器,还可以设置仅清除存储芯片的内容,或者也可以设置为在复位存储芯片控制器的同时,清除存储芯片的内容等等。这些策略都没有起到抵御故障注入的目的。

s104:执行抵御指令进行故障注入抵御。

本步骤包括:根据抵御指令复位待保护模块;和/或,根据抵御指令清除待保护模块,这样当复位待保护模块,如复位存储芯片控制器之后,故障注入对存储芯片控制器的影响就会消失,解决了本次故障注入,当清除待保护模块,如复位存储芯片之后,存储芯片内的数据就被清空,故障注入就不能获取存储芯片内的程序等数据。

图2为本发明实施例一提供的故障注入抵御装置的结构示意图,请参考图2,本实施例提供的故障注入抵御装置2包括以下模块:

检测单元21,与芯片中待保护模块的电源端口连接,用于检测异常信号,并在检测到异常信号时,向处理器发送报警信号;

抵御单元22,用于接收处理器根据安全策略在被报警信号触发所生成的抵御指令,并执行抵御指令进行故障注入抵御。

在一些实施例中,检测单元21包括电压毛刺检测单元,电压毛刺检测单元用于检测电源端口的电压毛刺,并在检测到电压毛刺时,判定检测到异常信号,向处理器发送报警信号。

在一些实施例中,检测单元21包括时钟毛刺检测单元,电压毛刺检测单元用于检测电源端口的时钟毛刺,并在检测到时钟毛刺时,判定检测到异常信号,向处理器发送报警信号。

在一些实施例中,芯片包括处理器、存储芯片和存储控制器,存储控制器包括多个功能模块,检测单元21包括多个检测子单元,检测子单元设置在存储控制器的各功能模块中,并与对应功能模块的电源端口连接。

在一些实施例中,抵御单元22用于根据抵御指令复位存储控制器和/或清除存储芯片。

图3为本发明实施例一提供的芯片的结构示意图,请参考图3,本实施例提供的芯片包括:处理器31、存储芯片32、通信总线33、多个功能模块34以及故障注入抵御装置2,其中,

通信总线33用于实现处理器31、存储芯片32、多个功能模块34和故障注入抵御装置2之间的连接通信;

故障注入抵御装置2用于实现以上任意实施例提供的方法的步骤。

本实施例提供了一种故障注入抵御方法及装置、芯片,该方法通过检测待保护模块的电源端口的异常信号,在检测到异常信号时,发送报警信号,在被报警信号触发时,根据安全策略生成抵御指令,执行抵御指令进行故障注入抵御;实现了对芯片的局部功能模块的异常信号的检测,并根据检测结果进行故障注入抵御,解决了现有故障注入防御技术针对局部故障注入防御效果不佳的问题。

实施例二:

本实施例以芯片为soc为例进行说明。

在soc中,flash主要用于程序存储,flash的控制器ip历来都是故障注入的重点,当flash控制器出现故障时,读取\写入数据可能会出现各种异常,导致程序运算和数据出错,对芯片安全运行产生极大的危害。本实施例提出了一种抗电磁故障注入分析的高安全性socflash控制器,能够抵御局部电磁故障注入分析,并且具有较高的性价比。

针对目前flash控制器ip的非常容易遭受电磁故障注入攻击的情况,本实施例在电路基本结构不变的情况下,根据电源网络特点,在每个子功能模块电源端口添加局部电压毛刺单元,形成电压毛刺检测网络,该功能有效的检测到电磁故障注入攻击时产生的局部电压异常,显著提高flash控制器抵御电磁故障注入分析的能力。

具体的,在flash控制器电路结构机构变化不大的前提下,根据电源网络的特点,由于每个子模块都有电源端,在各子模块的电源端添加电压毛刺检测单元,形成一个电压毛刺检测网络,覆盖整个控制电路。当控制电路的某一子模块遭受电磁故障注入攻击时候,端口的电压毛刺检测单元会及时检测到产生的毛刺,并向cpu(处理器)输出报警状态位。cpu接受到报警状态位后,根据用户配置情况,下发指令执行复位或清除flash内容等安全操作,从而确保芯片安全。

如图4所示,本实施例提供的抗电磁故障注入分析的高安全性socflash控制器4主要包括接口模块41、主控模块42和电压毛刺检测网络。

接口模块41由位宽转换逻辑子模块411和控制逻辑子模块412两个子模块组成,负责将总线上其他设备发出的信号和控制信号进行处理,转换成主控模块可以识别的格式并发送给主控模块,同时对主控模块42传达的数据信号进行处理,将其转换成与总线标准相符合的形式后发送给系统中的其他主设备。flash控制器4是基于ahb(高速总线)的从设备模块,接口模块41方便了总线上的其他设备对flash控制器4进行访问。

主控模块42是flash控制器4的处理核心,flash控制器4对flash的各种操作都通过主控模块42实现。主控模块包括数据buffer子模块421、寄存器堆子模块422和控制逻辑子模块423三个子模块,其中数据buffer子模块421用来缓存控制逻辑和位宽转换逻辑产生的数据,寄存器堆子模块422用于接口模块41与主控模块42之间地址命令配置信号的过渡,寄存地址、命令以及配置等信号,控制逻辑子模块423对各个寄存器中数据进行读取出来,以产生输出到flash的控制信号;主控模块42实现了总线上其他主设备对flash进行访问操作。

电压毛刺检测网络由各个子模块的毛刺检测单元43i(431-435)组成,是抵御电磁故障注入的核心部件,电压毛刺检测网络依靠电源网络,在每个子模块的电源端口处都添加了毛刺检测单元,形成一个网状结构,覆盖整个控制电路,当flash控制电路的某一子模块遭受电磁故障注入攻击时候,子模块的电压毛刺检测单元会及时检测到产生的毛刺,并把报警信号通过总线传到cpu,cpu根据用户配置情况,向安全处理模块(即上文中的抵御单元)下发执行指令,由安全处理模块对flash控制电路执行复位或清除flash等操作,从而确保芯片安全。

本实施例提供的芯片至少存在这样的优点:

高安全性,由于各子模块的电压毛刺检测单元组成了电压毛刺检测网络,覆盖整个flash控制器,当电磁故障注入攻击flash控制器上任意一个子模块,都能检测到,及时发出报警信号,效果明显且敏感度高,能大大提升flash控制器抵御电磁故障注入攻击的能力。

高性价比,由于本实施例在电路基本结构变化不大的情况下,根据电源网络特点,在每个子功能模块电源端口添加局部电压毛刺单元,构建电压毛刺检测网络,设计简单,实现容易,利于各种系统优化升级。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序被执行,以实现本发明所有实施例所提供的方法的步骤。

通过以上实施例的实施可知,本发明具备以下有益效果:

本发明提供了一种故障注入抵御方法及装置、芯片及计算机可读存储介质,该方法通过检测待保护模块的电源端口的异常信号,在检测到异常信号时,发送报警信号,在被报警信号触发时,根据安全策略生成抵御指令,执行抵御指令进行故障注入抵御;实现了对芯片的局部功能模块的异常信号的检测,并根据检测结果进行故障注入抵御,解决了现有故障注入防御技术针对局部故障注入防御效果不佳的问题。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1