集成电路故障注入攻击仿真方法

2022-03-24 09:17:23 | 浏览次数:

zoޛ)j首报告。

【关键词】集成电路安全 故障注入安全 仿真方法

随着集成电路技术的日益成熟,集成电路的安全性要求越来越高,对集成电路故障排除提出了更精准的要求。传统的故障排除方法有在电压集成电压检测基础上进行故障排除的,较早的人工直接测量和穷举测试、到后来的数学模型、故障字典、故障树这些方法。这些故障排除方法已经成熟,检测的精准率也比较高。但是随着技术发展的要求,常规的故障排除方法的缺点也日益凸显,如冗余电路过多,对模拟集成电路和数模集成电路的系统无法检测,电路的日益庞大使常规的集成电路故障排除方法的测试程度也越来越复杂。集成电路故障注入攻击仿真方法是利用简单易操作的方法检测设计电路的抗故障注入攻击能力,准确读出待测电路抗故障注入攻击能力。

1 故障注入攻击仿真流程

本次故障注入攻击仿真方法构建是一种新型的集成电路故障注入仿真方法,具有非常高的自动化、集成化程度,其流程包括了故障的逻辑插入、故障的生成、注入,待测电路收集与安全评估。整个仿真流程包括了三个阶段,一是设置、二是仿真、三是评估。在设置阶段中,要做好仿真所需相关数据以及相关仿真操作的准备,评估阶段则是通过仿真阶段获得的数据对该待测电路的安全性进行评估,并获得评估结果。

设置阶段以故障注入逻辑插入为重点内容,为了避免在后续电路设计过程中出现修改源代码的情况,第一步要将待测电路简称网表,其次才是在逻辑插入中进行故障注入。故障注入逻辑通常可不依赖特定仿真器,而是使用综合硬件描述语言来实现。故障注入逻辑涉及两个模块,即故障主图管理模块和扫描链,其中故障主图管理模块用于故障注入与仿真过程的自动控制,扫描链则负责将任意时刻的故障注入到电路网表的任意寄存器内当中,编写好相应的程序。故障注入管理模块、用户仿真文件都在顶层仿真文件中封装,通过设置相应的参数,制定故障模型,并读取待测电路输出数据周期,并生成一系列控制文件。

仿真阶段,待测电路在正常模式和扫描模式二者间切换,故障注入在待测电路扫描模式下注入时,形成自动、无需用户控制的连续仿真过程,故障注入模块负责控制文件读写,并将获取的数据与指令注入到待测电路中,获得的仿真结果则在其他文件中保存,并进入评估程序。

评估阶段则将获得的仿真结果分类,对待测电路不故障模型敏感度进行分析,并给出评估结果。仿真结果的计算通常采用多种故障攻击分析算法,具体有差分故障分析与信息分析,评估结果可以帮助用户了解待测电路的抗故障注入攻击能力,识别出可能存在的安全隐患。

2 故障注入机制

一般情况下,在待测电路中注入故障注入攻击时会出现三种情况:

(1)故障出现在待测电路组合逻辑中,并在后级寄存器当中出现,通过寄存器内容修改,将组合逻辑中的故障模拟出来;

(2)故障无法插入待测电路扫描链模块(如存储器),但可随着数据进入运算模块;

(3)故障在可插入模块寄存器中出现。

故障注入攻击仿真过程包括了配置、准备、运行和暂停阶段。

(1)在配置阶段,控制模块被启动,同时仿真系统访问和读取控制向量,并配置仿真参数,包括故障时间等。

(2)准备阶段,对用户仿真文件进行初始化,并准备向待测电路输入相关的数据。

(3)在运行阶段,仿真流程控制模块以及时钟管理模块允许待测电路的运行。

(4)暂停阶段,数据访问模块被启动,并从外部读取控制向量,由稻苗控制模块将待测电路的工作模式切换为扫描模式并注入故障,完成故障注入后再切换到正常的模式。

扫描控制模块对扫描链制定的寄存器内容进行修改时,分为循环移位、扫描链输入修改、输入移至指定寄存器等过程,并且在上述循环控制子,可将多个故障注入待测电路,进行待测电路故障注入攻击仿真。

3 仿真效果

在不同故障模型當中,通过差分故障分析获得最后一轮密钥数据,见表1。反正结果显示,按照字节从左至右编号,首行数据表示无故障注入时的第10轮运算密钥结果;与故障注入后第10轮运算密钥结果比较可以获得正确的字节。如通过多个故障模型都将第3、6、8等字节正确分析出来,这表明实验用的AES电路输出端口在这些字节上对故障攻击有较高的敏感度,所以电路设计过程中要对这些字节重点保护。

4 结束语

本文首先对集成电路故障注入攻击仿真方法进行了讨论,对待测电路设计阶段抗故障注入攻击能力进行了仿真模拟,结果显示故障注入攻击仿真方法基本实现了自动化,实验有效,对待测电路安全结果进行了比较准确的评估。

参考文献

[1]王青麾,王魁.基于PSpice的电路故障注入仿真分析方法研究[J],电子产品可靠性与环境试验,2011,29 (02).

[2]尹园威,尚朝轩,马彦恒等,电路仿真的故障自动注入系统设计与实现[J].计算机测量与控制,2013,21 (09).

推荐访问: 集成电路 仿真 注入 故障 攻击