CN106777529A - 基于fpga的集成电路抗故障注入攻击能力评估方法 - Google Patents

基于fpga的集成电路抗故障注入攻击能力评估方法 Download PDF

Info

Publication number
CN106777529A
CN106777529A CN201611051412.3A CN201611051412A CN106777529A CN 106777529 A CN106777529 A CN 106777529A CN 201611051412 A CN201611051412 A CN 201611051412A CN 106777529 A CN106777529 A CN 106777529A
Authority
CN
China
Prior art keywords
fault
circuit
fpga
netlist
injection attacks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611051412.3A
Other languages
English (en)
Inventor
徐松
刘强
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201611051412.3A priority Critical patent/CN106777529A/zh
Publication of CN106777529A publication Critical patent/CN106777529A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及集成电路安全评估技术领域,具体涉及一种基于FPGA的集成电路抗故障注入攻击能力评估方法。主要步骤包括:预处理、设置、生成、仿真及评估。本发明满足集成电路抗故障注入攻击能力评估需求,简化集成电路抗故障注入攻击能力评估过程;通过在网表中插入扫描链和故障注入控制模块等故障注入逻辑模拟故障注入攻击,仿真速度快,资源消耗低,同时实现集成电路抗故障注入攻击能力评估的自动化。

Description

基于FPGA的集成电路抗故障注入攻击能力评估方法
技术领域
本发明涉及集成电路安全评估技术领域,具体涉及一种基于FPGA的集成电路抗故障注入攻击能力评估方法。
背景技术
集成电路抗故障注入攻击能力评估技术是一种在模拟故障注入攻击的情况下收集和分析集成电路设计的输出信息,评估设计的抗故障注入攻击能力以指导设计者提高设计的可靠性和安全性的技术。
现有的集成电路抗故障注入攻击能力评估实现方式主要有芯片测试(见文献[1]),软件仿真(见文献[2]及[3])和硬件模拟(见文献[4]至[6])。芯片测试即对制造出来的芯片进行真实的故障注入攻击,检测效率低费用高,一旦发现问题,设计修改周期和成本极高。软件仿真运行速度较慢,而故障模型空间大,故障数据量较多,因而需要较长的时间才能获得仿真评估结果。硬件模拟利用FPGA原型开发平台在设计阶段模拟故障注入攻击,可以加速仿真过程。
现有的基于FPGA原型开发平台的硬件模拟方法主要包括重配置(见文献[4])和插入控制逻辑(见文献[5]及[6]。重配置方法利用FPGA动态重配置和修改比特流重复注入不同故障,对于每一个故障,都需要重新生成比特流下载到FPGA中,增加了时间成本。文献[6]介绍了一种与本发明相似的方法,由于电路中的每个寄存器连接一个控制寄存器,因而增加了资源消耗。
发明内容
本发明的目的在于克服上述现有技术的不足,提出一种基于FPGA的集成电路抗故障注入攻击能力评估方法,以满足集成电路抗故障注入攻击能力评估需求,简化集成电路抗故障注入攻击能力评估过程。本发明通过在网表中插入扫描链和故障注入控制模块等故障注入逻辑模拟故障注入攻击,仿真速度快,资源消耗低,同时实现集成电路抗故障注入攻击能力评估的自动化。
本发明的技术方案是:基于FPGA的集成电路抗故障注入攻击能力评估方法,具体包括如下步骤:
(1)、评估装置的输入为待评估电路源码和输入向量列表;
(2)、综合待评估电路源码成网表,并被复制成三份分别用于逻辑插入、寄存器提取和软件仿真;
(3)、逻辑插入操作在网表中插入扫描链和故障注入管理模块,最终生成用于FPGA仿真的网表;
(4)、提取寄存器参数操作从待评估电路综合后的网表中提取寄存器信息,建立待评估电路设计源码中的变量与网表中的寄存器之间的映射关系列表;
(5)、软件仿真获取电路运行时间、输出数据的时间、电路的期望输出、寄存器数值信息;
(6)、建立寄存器映射关系列表之后,开始指定故障模型架构参数实例化故障模型,汇总指定的故障模型架构参数、软件仿真获取的信息以及插入故障注入逻辑的网表,最终生成故障列表;
(7)、将故障列表解析成与故障注入控制模块运行机制相关的控制向量和故障向量;
(8)、上述步骤(2)逻辑插入后的网表被综合成比特流,并被下载到FPGA;下载完成后运行FPGA仿真,故障注入管理模块读取和解析上述步骤(7)解析出的控制向量和故障向量,控制仿真流程,控制扫描链向待评估电路中注入故障,收集待评估电路的仿真输出;
(9)、FPGA仿真完成后,待评估电路的输入向量、仿真输出、无故障输出、故障向量等数据被送往分析评估程序。
所述步骤(6)指定故障模型架构参数手动操作或自动完成。
所述步骤(6)故障列表用于降低故障模型设置和故障数据生成之间的耦合。
所述步骤(9)具体为分析评估程序按照制定好的标准分析数据,评估设计的抗故障注入攻击能力,指出设计需要修改和加强保护的变量或/和区域,最终形成评估报告。
用本文提出的方法对AES-128加密电路进行的实验显示,与文献[6]相比寄存器减少35.7%,LUT减少47.2%。模拟平台给出的安全评估报告显示AES密钥遭到破解,同时指出AES加密电路对翻转故障极为敏感,因而需要加强对电磁故障注入等容易诱导翻转故障的攻击方式加强防护。报告还指出通过增加故障注入攻击强度和改变明文可以提高攻击成功的可能性。设计者通过评估报告了解设计的抗故障注入攻击能力以及设计的安全缺陷,修改设计并再次进行抗故障注入攻击能力评估。
本发明相对于现有技术有以下有益效果:
1、本发明基于FPGA通过参数化的故障模型、在待评估电路网表中插入的扫描链和故障注入控制模块等故障注入逻辑、数据处理程序等,以低资源消耗和高仿真效率模拟各种故障注入攻击技术,与文献[6]相比寄存器减少35.7%,LUT减少47.2%。
2、通过在网表中插入扫描链和故障注入管理模块模拟故障注入攻击,降低资源消耗;建立参数化的故障模型和标准化的故障列表文件,降低建立模型和生成仿真数据之间的依赖关系。
3、本发明实现了故障注入逻辑插入、故障生成、故障注入、待评估电路的输出信息收集和分析评估等过程的自动化。
4、整个过程对用户透明,用户只需提供设计源码和设计输入数据列表,评估装置给出评估报告。
附图说明
图1本发明方法流程图。
图2评估装置的硬件架构图。
具体实施方式
下面通过具体实施例和附图对本发明作进一步的说明。本发明的实施例是为了更好地使本领域的技术人员更好地理解本发明,并不对本发明作任何的限制。
如图1所示,基于FPGA的集成电路抗故障注入攻击能力评估方法,具体包括如下步骤:
(1)、评估装置的输入为待评估电路源码和输入向量列表;
(2)、综合待评估电路源码成网表,并被复制成三份分别用于逻辑插入、寄存器提取和软件仿真;
(3)、逻辑插入操作在网表中插入扫描链和故障注入管理模块,最终生成用于FPGA仿真的网表;
(4)、提取寄存器参数操作从待评估电路综合后的网表中提取寄存器信息,建立待评估电路设计源码中的变量与网表中的寄存器之间的映射关系列表;
(5)、软件仿真获取电路运行时间、输出数据的时间、电路的期望输出、寄存器数值信息;
(6)、建立寄存器映射关系列表之后,开始指定故障模型架构参数实例化故障模型,汇总指定的故障模型架构参数、软件仿真获取的信息以及插入故障注入逻辑的网表,最终生成故障列表;指定故障模型架构参数可手动操作或自动完成;该故障列表用于降低故障模型设置和故障数据生成之间的耦合;
(7)、将故障列表解析成与故障注入控制模块运行机制相关的控制向量和故障向量;
(8)、上述步骤(2)逻辑插入后的网表被综合成比特流,并被下载到FPGA;评估装置的硬件架构图如图2所示;下载完成后运行FPGA仿真,故障注入管理模块读取和解析上述步骤(7)解析出的控制向量和故障向量,控制仿真流程,控制扫描链向待评估电路中注入故障,收集待评估电路的仿真输出;
(9)、FPGA仿真完成后,待评估电路的输入向量、仿真输出、无故障输出、故障向量等数据被送往分析评估程序;分析评估程序按照制定好的标准分析数据,评估设计的抗故障注入攻击能力,指出设计需要修改和加强保护的变量或/和区域,最终形成评估报告。
设计者通过评估报告了解设计的抗故障注入攻击能力以及设计的安全缺陷,修改设计并再次进行抗故障注入攻击能力评估。
图2给出了用于仿真阶段的硬件架构图。个人PC与FPGA平台之间通过RS232或PCIe等外部接口与FPGA平台的片外RAM进行数据交换。预处理、设置、生成以及评估等步骤均在PC上执行。在仿真阶段,模拟平台利用包含故障注入逻辑的待测电路网表生成FPGA配置比特流文件,将配置比特流下载到FPGA平台,然后将故障向量、控制向量和待测电路输入测试向量等数据下载至FPGA平台的片外RAM中。FPGA仿真完成之后,故障注入管理模块将收集到的待测电路输出发送给运行在PC上的模拟平台。模拟平台启动评估程序执行评估操作。
本发明故障模型架构参数具体如下:
表1-1故障模型架构参数
表1-1中给出了本文提出的故障模型框架的四个参数,包括位置、强度、故障类型和故障时间。位置用于指定设计源码中故障注入目标变量或综合后网表中故障注入目标寄存器,采用“顶层文件名[.实例名][.实例名].变量名[.寄存器名列表]”的方式指定,其中方括号表示可选或重复。由于设计源码中的模块可能出现多次迭代实例化,不同实例中变量名会重复,因而“[.实例名]”可以重复多次以确定目标变量。综合得到的网表中的寄存器与源码变量之间不一定一一映射,因而允许使用寄存器列表指定具体的寄存器。网表寄存器与源码变量的映射关系由故障注入攻击模拟平台自动提取建立。强度用于指定源码变量的多少个比特位或寄存器列表中的多少个寄存器受到故障影响。故障类型确定注入到目标变量或目标寄存器的故障的类型,可以是翻转(f)、固定为某一数值(sa)、保持(m)、随机(r)。故障时间确定了故障注入的时钟周期,用时钟周期列表的形式表示。表1-2给出了几种使用该故障模型框架建立的故障模型。可以重复新建和指定故障模型框架参数,将多组故障模型框架参数合并构成复杂的故障模型。
表1-2六种使用故障模型框架建立的故障模型
本发明故障列表具体如下:
故障模型框架参数指定之后,模拟平台会执行软件仿真获取需要的数据,然后结合这些数据将故障模型框架参数解析成故障列表。故障列表用于生成FPGA仿真时需要的控制向量和故障向量。由于模拟平台的故障注入机制使用的指令和数据格式可能随故障注入机制的更新发生变化,使用故障列表可以降低故障注入机制和利用故障模型框架生成数据之间的依赖关系。表1-3给出了故障列表的格式。EMU关键字定义了一次故障注入模拟所需的数据块,内部包含RUNTIME、IN、OUT和FAULTS四个子数据块。RUNTIME关键字给出了仿真运行的时钟周期数。IN关键字给出了待测电路输入测试向量。OUT关键字给出了收集待测电路输出数据的时间。FAULTS内部则按时钟周期给出了故障注入的目标寄存器和注入到该寄存器的故障值。在后续阶段,模拟平台会分析该故障列表,结合故障注入机制生成FPGA仿真需要的控制向量和故障向量。
表1-3故障列表的格式
应当理解的是,这里所讨论的实施方案及实例只是为了说明,对本领域技术人员来说,可以加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
相关文献:
[1]C.Sun,H.Li,Y.Yang,J.Chen,“Research on fault-electromagnetic attackon block cipher,”Journal of Convergence Information Technology,pp.409-417,2011.
[2]F Pournaghdali,A Rajabzadeh,M Ahmadi,“VHDLSFI:a simulation-basedmulti-bit fault injection for dependability analysis,”InternationalEconference on Computer&Knowledge Engineering,pp.354-360,2013.
[3]J.Na,“A novel simulation fault injection using electronic systemslevel simulation models,”IEEE Design&Test of Computers,pp.1-1,2013.
[4]J.M.Mogollon,H.Guzmán-Miranda,J.Nápoles,J.Barrientos andM.A.Aguirre,"FTUNSHADES2:A novel platform for early evaluation of robustnessagainst SEE,"Radiation and Its Effects on Components and Systems(RADECS)201112th European Conference on,Sevilla,pp.169-174,2011.
[5]M.Ebrahimi,A.Mohammadi,A.Ejlali,S.G.Miremadi,“A fast,flexible,andeasy-to-develop FPGA-based fault injection technique,”MicroelectronicsReliability,pp.1000-1008,2014.
[6]A.Janning,J.Heyszl,F.Stumpf,G.Sigl,“A cost-effective FPGA-basedfault simulation environment,”Fault Diagnosis and Tolerance in Cryptography,pp.21-32,2011.

Claims (4)

1.基于FPGA的集成电路抗故障注入攻击能力评估方法,其特征在于,具体包括如下步骤:
(1)、评估装置的输入为待评估电路源码和输入向量列表;
(2)、综合待评估电路源码成网表,并被复制成三份分别用于逻辑插入、寄存器提取和软件仿真;
(3)、逻辑插入操作在网表中插入扫描链和故障注入管理模块,最终生成用于FPGA仿真的网表;
(4)、提取寄存器参数操作从待评估电路综合后的网表中提取寄存器信息,建立待评估电路设计源码中的变量与网表中的寄存器之间的映射关系列表;
(5)、软件仿真获取电路运行时间、输出数据的时间、电路的期望输出、寄存器数值信息;
(6)、建立寄存器映射关系列表之后,开始指定故障模型架构参数实例化故障模型,汇总指定的故障模型架构参数、软件仿真获取的信息以及插入故障注入逻辑的网表,最终生成故障列表;
(7)、将故障列表解析成与故障注入控制模块运行机制相关的控制向量和故障向量;
(8)、上述步骤(2)逻辑插入后的网表被综合成比特流,并被下载到FPGA;下载完成后运行FPGA仿真,故障注入管理模块读取和解析上述步骤(7)解析出的控制向量和故障向量,控制仿真流程,控制扫描链向待评估电路中注入故障,收集待评估电路的仿真输出;
(9)、FPGA仿真完成后,待评估电路的输入向量、仿真输出、无故障输出、故障向量等数据被送往分析评估程序。
2.根据权利要求1所述的方法,其特征在于,所述步骤(6)指定故障模型架构参数手动操作或自动完成。
3.根据权利要求1所述的方法,其特征在于,所述步骤(6)故障列表用于降低故障模型设置和故障数据生成之间的耦合。
4.根据权利要求1所述的方法,其特征在于,所述步骤(9)具体为分析评估程序按照制定好的标准分析数据,评估设计的抗故障注入攻击能力,指出设计需要修改和加强保护的变量或/和区域,最终形成评估报告。
CN201611051412.3A 2016-11-23 2016-11-23 基于fpga的集成电路抗故障注入攻击能力评估方法 Pending CN106777529A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611051412.3A CN106777529A (zh) 2016-11-23 2016-11-23 基于fpga的集成电路抗故障注入攻击能力评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611051412.3A CN106777529A (zh) 2016-11-23 2016-11-23 基于fpga的集成电路抗故障注入攻击能力评估方法

Publications (1)

Publication Number Publication Date
CN106777529A true CN106777529A (zh) 2017-05-31

Family

ID=58911215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611051412.3A Pending CN106777529A (zh) 2016-11-23 2016-11-23 基于fpga的集成电路抗故障注入攻击能力评估方法

Country Status (1)

Country Link
CN (1) CN106777529A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947969A (zh) * 2017-11-15 2018-04-20 天津大学 基于信息熵的集成电路抗故障注入攻击安全评估方法
CN109815038A (zh) * 2018-12-04 2019-05-28 天津大学 一种基于局部重布局的奇偶校验故障注入检测方法
CN110210133A (zh) * 2019-06-03 2019-09-06 哈尔滨工程大学 一种edif网表级组合逻辑电路的自动故障注入方法
CN112597723A (zh) * 2021-01-08 2021-04-02 深圳市紫光同创电子有限公司 一种用于fpga内嵌ip的可测试性设计方法
CN113254288A (zh) * 2021-06-02 2021-08-13 中国人民解放军国防科技大学 一种星载设备中fpga单粒子翻转故障注入方法
CN116110202A (zh) * 2021-11-10 2023-05-12 中移物联网有限公司 检测电路、方法及集成电路

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050393A1 (en) * 2003-08-26 2005-03-03 Chakraborty Tapan J. Fault injection method and system
CN102135920A (zh) * 2011-01-17 2011-07-27 中国航天科技集团公司第九研究院第七七一研究所 嵌入式星载计算机故障注入系统及其注入方法
WO2012040293A1 (en) * 2010-09-21 2012-03-29 Ansaldo Sts Usa, Inc. Method of analyzing the safety of a device employing on target hardware description language based fault injection
CN103559112A (zh) * 2013-11-05 2014-02-05 北京经纬恒润科技有限公司 一种软件故障注入方法及系统
CN104317995A (zh) * 2014-10-17 2015-01-28 电子科技大学 基于PSpice AD电路仿真的单故障自动注入方法
CN104391784A (zh) * 2014-08-27 2015-03-04 北京中电华大电子设计有限责任公司 一种基于仿真的故障注入攻击方法和装置
CN104468039A (zh) * 2014-12-01 2015-03-25 浪潮集团有限公司 一种基于fpga的帧解析方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050393A1 (en) * 2003-08-26 2005-03-03 Chakraborty Tapan J. Fault injection method and system
WO2012040293A1 (en) * 2010-09-21 2012-03-29 Ansaldo Sts Usa, Inc. Method of analyzing the safety of a device employing on target hardware description language based fault injection
CN102135920A (zh) * 2011-01-17 2011-07-27 中国航天科技集团公司第九研究院第七七一研究所 嵌入式星载计算机故障注入系统及其注入方法
CN103559112A (zh) * 2013-11-05 2014-02-05 北京经纬恒润科技有限公司 一种软件故障注入方法及系统
CN104391784A (zh) * 2014-08-27 2015-03-04 北京中电华大电子设计有限责任公司 一种基于仿真的故障注入攻击方法和装置
CN104317995A (zh) * 2014-10-17 2015-01-28 电子科技大学 基于PSpice AD电路仿真的单故障自动注入方法
CN104468039A (zh) * 2014-12-01 2015-03-25 浪潮集团有限公司 一种基于fpga的帧解析方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
洪映森: "基于FPGA的故障注入系统研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947969A (zh) * 2017-11-15 2018-04-20 天津大学 基于信息熵的集成电路抗故障注入攻击安全评估方法
CN109815038A (zh) * 2018-12-04 2019-05-28 天津大学 一种基于局部重布局的奇偶校验故障注入检测方法
CN109815038B (zh) * 2018-12-04 2022-03-29 天津大学 一种基于局部重布局的奇偶校验故障注入检测方法
CN110210133A (zh) * 2019-06-03 2019-09-06 哈尔滨工程大学 一种edif网表级组合逻辑电路的自动故障注入方法
CN110210133B (zh) * 2019-06-03 2022-07-08 哈尔滨工程大学 一种edif网表级组合逻辑电路的自动故障注入方法
CN112597723A (zh) * 2021-01-08 2021-04-02 深圳市紫光同创电子有限公司 一种用于fpga内嵌ip的可测试性设计方法
CN113254288A (zh) * 2021-06-02 2021-08-13 中国人民解放军国防科技大学 一种星载设备中fpga单粒子翻转故障注入方法
CN116110202A (zh) * 2021-11-10 2023-05-12 中移物联网有限公司 检测电路、方法及集成电路

Similar Documents

Publication Publication Date Title
CN106777529A (zh) 基于fpga的集成电路抗故障注入攻击能力评估方法
CN110618929B (zh) 一种基于uvm的对称加密算法的验证平台和验证方法
CN107066375A (zh) 安全关键软件自动化基于需求的测试实例生成系统和方法
CN108647145A (zh) 软件内存安全检测方法及系统
KR101425527B1 (ko) 원자력발전소 훈련용 시뮬레이터의 실시간 중대사고 모의 시스템 및 그 방법
CN106771962B (zh) 一种基于部分扫描的集成电路故障注入攻击模拟方法
CN104063321A (zh) 一种针对MicroBlaze软核程序的测试验证系统及测试验证方法
CN110096907A (zh) 一种基于信息流安全验证的硬件木马检测方法
US20230120227A1 (en) Method and apparatus having a scalable architecture for neural networks
CN106411635A (zh) 一种实时协议的形式化分析及验证方法
CN103150441A (zh) 一种软硬件协同仿真的验证平台及其构建方法
CN104615808B (zh) 一种待测试硬件运算部件的测试方法及参考模型装置
Yu et al. Deep learning-based hardware Trojan detection with block-based netlist information extraction
CN108052838A (zh) 芯片加密设计的泄漏定位系统及方法
Kim et al. An integrated software testing framework for FPGA-based controllers in nuclear power plants
CN118052196A (zh) 基于uvm的芯片验证测试方法、装置及电子设备
CN104731705B (zh) 一种基于复杂网络的脏数据传播路径发现方法
Nath et al. Soccom: Automated synthesis of system-on-chip architectures
Villalobos-Arias et al. Evaluation of a model‐based testing platform for Java applications
CN102325021B (zh) 一种dpa安全性评测与对抗方法及其装置
Guo et al. Automatic RTL-to-formal code converter for IP security formal verification
CN105677966A (zh) 一种对覆盖率进行数据挖掘加速验证收敛的方法
CN107526585A (zh) 基于Scala的FPGA开发平台及其调试、测试方法
CN103901342B (zh) 一种基于掩码文件的fpga精确故障注入系统
Zhang et al. A method of automatic code generation based on AADL model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170531

WD01 Invention patent application deemed withdrawn after publication