CN109581206B - 基于部分扫描的集成电路故障注入攻击模拟方法 - Google Patents
基于部分扫描的集成电路故障注入攻击模拟方法 Download PDFInfo
- Publication number
- CN109581206B CN109581206B CN201811557258.6A CN201811557258A CN109581206B CN 109581206 B CN109581206 B CN 109581206B CN 201811557258 A CN201811557258 A CN 201811557258A CN 109581206 B CN109581206 B CN 109581206B
- Authority
- CN
- China
- Prior art keywords
- circuit
- vector
- fault
- fault injection
- simulation
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318586—Design for test with partial scan or non-scannable parts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于部分扫描的集成电路故障注入攻击模拟方法,用于实现使用FPGA的部分扫描电路的故障注入攻击模拟。主要方法步骤包括:预处理、设置、生成及注入模拟。本发明实现了基于部分扫描方法的低开销故障注入攻击模拟;通过在网表中***部分扫描链,添加电路控制模块等故障注入逻辑模拟故障注入攻击;通过PCIe端口,将控制信号由PC传输到FPGA,由控制模块处理后,实现故障注入。该方法仿真速度快,逻辑开销低。
Description
技术领域
本发明涉及集成电路安全领域,尤其涉及一种基于部分扫描的集成电路故障注入攻击模拟方法。
背景技术
故障注入攻击已经成为攻击芯片的一种有效方法[1]。现有的集成电路抗故障注入攻击能力评估方法主要有芯片测试[2-3],硬件模拟[4-5]和软件仿真[6-7]。芯片测试对成品芯片进行实际的故障注入攻击,测试效率低费用高,发现问题后,设计修改周期和成本极高。在设计阶段,评估集成电路的抗故障注入攻击能力是十分必要的。软件仿真运行速度较慢,而故障模型空间大,故障数据量较多,仿真时间过长。硬件模拟利用FPGA开发平台,实现在设计阶段模拟故障注入攻击,仿真速度快,故障注入精准。
基于全扫描的集成电路故障注入攻击模拟方法,会带来极大的逻辑开销[4]。本发明使用了部分扫描方法的待测电路,来减少电路的资源开销,用来减少开发成本或可对更大的电路进行故障注入攻击。
参考文献:
[1]GHALATY N F,YUCE B,TAHA M,et al.Differential Fault IntensityAnalysis[C]//The Workshop on Fault Diagnosis&Tolerance in Cryptography.IEEEComputer Society,2014:49-58.
[2]HAYASHI Y,HOMMA N,MIZUKI T,et al.Transient IEMI threats forcryptographic devices[J].IEEE Transactions on Electromagnetic Compatibility,2013,55(1):140.
[3]Sondon S,Mandolesi P,Julián P,et al.Heavy-ion micro-beam use fortransient fault injection in VLSI circuits[C]//IEEE,International Conferenceon Plasma Sciences.IEEE,2014:1.
[4]徐松,刘强.集成电路故障注入攻击仿真方法[J].计算机辅助设计与图形学学报,2017,29(8):1563.
[5]EBRAHIMI M,MOHAMMADI A,EJLALI A,et al.A fast,flexible,and easy-to-develop FPGA-based fault injection technique[J].Microelectronics Reliability,2014,54(5):1000.
[6]HE Renya,TANG Longli,WANG Shihai,et al.Software dynamic faultmodel and injection method[C]//International Conference on Reliability,Maintainability and Safety.2016:1.
[7]LUO Yin,YAO Rihuang,BIN Jianwei,et al.Research on a Software FaultInjection Model Based on Program Mutation[C]//International Conference onInformation Science and Control Engineering.IEEE,2015:419.
发明内容
本发明的目的在于克服上述背景技术存在的缺陷,提供一种基于部分扫描的集成电路故障注入攻击模拟方法。通过在电路综合后的网表中选取部分D触发器***扫描链,实现集成电路故障注入攻击模拟,降低了资源开销,实现了硬件故障注入攻击仿真的自动化。
本发明的目的是通过以下技术方案实现的:基于部分扫描的集成电路故障注入攻击模拟方法,具体包括如下步骤:
步骤1):综合待测电路生成电路网表;
步骤2):在电路网表中***扫描链;
步骤3):将网表与控制模块构成的硬件架构,经过综合布局布线实现后配置到FPGA;
步骤4):根据网表信息,包括:扫描链长度,D触发器分组数量,以及电路基本输入长度,生成电路控制向量;
步骤5):由于部分扫描的可观测性有限,因此对待测电路进行功能仿真,获取电路D触发器正常运行状态的值。
步骤6):指定故障类型,对电路中D触发器正常状态值进行修改;
步骤7):利用SAT工具,对修改后电路中的状态值生成故障向量;
步骤8):使用PCIe端口,通过主机PC端向FPGA传输生成的向量数据;
步骤9):通过电路控制向量以及故障向量,对电路中所有D触发器实现完全控制;
步骤10):收集故障数据,以待后续的评估。
所述步骤2)中利用平衡结构以及触发器分组添加使能端的方法,实现基于部分扫描链的低成本电路状态控制,即***扫描链后的电路中D触发器的完全可控性。
所述步骤8)中利用PCIe工具wupper实现数据的传递。
所述步骤9)中控制模块处理向量的过程为:
(1)启动仿真向量,储存扫描量长度、D触发器分组数量信息;
(2)向扫描链注入扫描链向量;
(3)电路基本输入设置为电路基本输入向量;
(4)故障周期向量,控制待测电路注入故障后的运行周期。
与现有技术相比,本发明具有的优点:
本发明基于部分扫描,通过在原始网表中选取部分寄存器作为扫描寄存器,对原始网表进行扫描链***、故障注入控制模块以及顶层据传输模块生成新网表。通过控制部分扫描寄存器和电路基本输入,实现对电路中D触发器的全可控。降低资源消耗,实现低资源消耗和高效率的集成电路故障注入攻击自动模拟;整个模拟过程对用户透明,用户只需提供待测电路设计源码和输入向量,本发明装置给出待测电路设计的故障注入攻击模拟输出。
附图说明
图1是本发明的流程框图。
图2是基于部分扫描的故障注入硬件模拟的整体架构。
图3是针对ISCAS基准电路中的S1238电路生成的测试向量。
具体实施方式
下面通过具体实施例和附图对本发明作进一步的说明。本发明的实施例是为了更好地使本领域的技术人员更好地理解本发明,并不对本发明作任何的限制。
本发明的技术方案是基于部分扫描的集成电路故障注入攻击模拟方法,如图1所示,具体步骤如下:
步骤1,综合待测电路生成电路网表;
步骤2,在电路网表中***扫描链;
步骤3,将网表与控制模块构成的硬件架构,经过综合布局布线实现后配置到FPGA;
步骤4,根据网表信息,包括:扫描链长度,D触发器分组数量,以及电路基本输入长度,生成电路控制向量;
步骤5,对待测电路进行功能仿真,获取电路D触发器正常运行状态的值。
步骤6,指定故障类型,对电路中D触发器正常状态值进行修改;
步骤7,利用SAT工具,对修改后电路中的状态值生成故障向量;
步骤8,使用PCIe端口,通过主机PC端向FPGA传输生成的向量数据,如图2所示,向量数据,经由PCIe端口,传输至FPGA,并暂存于数据接收模块;
步骤9,由控制模块,提取向量数据,控制故障注入攻击模拟过程。ISCAS基准电路中的S1238,其扫描链长度为7,D触发器分组数量为3。向量数据如图3所示,vector[1]为故障注入模拟启动向量,同时提供了扫描链长度以及D触发器分组数量。vector[2]为第一个D触发器分组的扫描链向量,vector[3]为第一个D触发器分组的电路基本输入向量。vector[3]-vector[6]为后两个D触发器分组的向量。vector[7]表示电路注入故障后的运行周期;
步骤10,收集故障数据,以待后续的评估。
本发明的方法步骤主要包括:首先预处理待测电路:将待测电路设计源码综合成网表,将电路处理为平衡结构,选取部分D触发器成为扫描触发器。对电路中其余D触发器分组,每组添加使能端。利用电路基本输入和扫描链实现对电路中D触发器的控制。
其次,设置故障模型:对待测电路进行功能仿真,获取电路原始仿真数据,并指定故障注入周期、故障注入位置,设定D触发器指定值。
然后,生成测试向量:根据设定的D触发器的指定值,利用SAT工具,求解出对应的控制向量,包括扫描链向量及电路基本输入向量。生成仿真过程控制向量,包括:启动仿真向量(包含扫描链长度、D触发器组数信息)以及故障周期向量(故障注入后的运行周期)。
最后,故障注入模拟:将***扫描链的待测电路、控制电路、顶层接口电路综合布局布线成bit流文件并通过JTAG线下载到FPGA内。将FPGA通过PCIe接口配置到PC的主板上。通过PCIe端口将所有仿真向量传递到控制模块,控制仿真过程的运行。其中,利用PCIe工具wupper实现数据的传递。控制模块接收仿真向量顺序为:1)启动仿真向量,储存扫描量长度、D触发器分组数量信息。2)扫描链扫入扫描链向量。3)电路基本输入设置为电路基本输入向量。4)故障周期向量,控制待测电路注入故障后的运行周期。运行指定周期后,得到故障注入后的待测电路结果。
Claims (1)
1.基于部分扫描的集成电路故障注入攻击模拟方法,其特征在于,具体包括如下步骤:
步骤1):综合待测电路生成电路网表;
步骤2):在电路网表中***扫描链;
步骤3):将网表与控制模块构成的硬件架构,经过综合布局布线实现后配置到FPGA;
步骤4):根据网表信息,包括:扫描链长度,D触发器分组数量,以及电路基本输入长度,生成电路控制向量;
步骤5):由于部分扫描的可观测性有限,因此对待测电路进行功能仿真,获取电路D触发器正常运行状态的值;
步骤6):指定故障类型,对电路中D触发器正常状态值进行修改;
步骤7):利用SAT工具,对修改后电路中的状态值生成故障向量;
步骤8):使用PCIe端口,通过主机PC端向FPGA传输生成的向量数据;
步骤9):通过电路控制向量以及故障向量,对电路中所有D触发器实现完全控制;
步骤10):收集故障数据,以待后续的评估;
所述步骤2)中利用平衡结构以及触发器分组添加使能端的方法,实现基于部分扫描链的低成本电路状态控制,即***扫描链后的电路中D触发器的完全可控性;
所述步骤8)中利用PCIe工具wupper实现数据的传递;
所述步骤9)中控制模块处理向量的过程为:
(1)启动仿真向量,储存扫描量长度、D触发器分组数量信息;
(2)向扫描链注入扫描链向量;
(3)电路基本输入设置为电路基本输入向量;
(4)故障周期向量,控制待测电路注入故障后的运行周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811557258.6A CN109581206B (zh) | 2018-12-19 | 2018-12-19 | 基于部分扫描的集成电路故障注入攻击模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811557258.6A CN109581206B (zh) | 2018-12-19 | 2018-12-19 | 基于部分扫描的集成电路故障注入攻击模拟方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109581206A CN109581206A (zh) | 2019-04-05 |
CN109581206B true CN109581206B (zh) | 2020-12-11 |
Family
ID=65930088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811557258.6A Active CN109581206B (zh) | 2018-12-19 | 2018-12-19 | 基于部分扫描的集成电路故障注入攻击模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109581206B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112858889B (zh) * | 2021-01-20 | 2022-03-25 | 南京航空航天大学 | 一种面向超大规模集成电路的故障注入电路 |
CN113254288B (zh) * | 2021-06-02 | 2021-09-21 | 中国人民解放军国防科技大学 | 一种星载设备中fpga单粒子翻转故障注入方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11125662A (ja) * | 1997-10-23 | 1999-05-11 | Oki Electric Ind Co Ltd | 半導体集積回路及びフルスキャン実行方法 |
CN1228539A (zh) * | 1998-03-10 | 1999-09-15 | 日本电气株式会社 | 对集成电路产生测试码模式的方法 |
US6732310B1 (en) * | 1997-12-19 | 2004-05-04 | Nec Corporation | Peripheral partitioning and tree decomposition for partial scan |
CN1512560A (zh) * | 2002-12-30 | 2004-07-14 | 清华大学 | 具有非扫描设计测试代价的扫描设计及测试向量置入方法 |
CN101216532A (zh) * | 2008-01-16 | 2008-07-09 | 闫永志 | 一种时序电路中降低扫描功耗的方法 |
CN102305912A (zh) * | 2011-07-29 | 2012-01-04 | 清华大学 | 数据可压缩的低功耗集成电路测试装置及其方法 |
CN102323538A (zh) * | 2011-07-08 | 2012-01-18 | 哈尔滨工业大学 | 基于改进测试向量集的部分扫描的扫描单元的设计方法 |
CN104660466A (zh) * | 2015-02-06 | 2015-05-27 | 深圳先进技术研究院 | 一种安全测试方法及*** |
CN106771962A (zh) * | 2016-11-29 | 2017-05-31 | 天津大学 | 一种基于部分扫描的集成电路故障注入攻击模拟方法 |
-
2018
- 2018-12-19 CN CN201811557258.6A patent/CN109581206B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11125662A (ja) * | 1997-10-23 | 1999-05-11 | Oki Electric Ind Co Ltd | 半導体集積回路及びフルスキャン実行方法 |
US6732310B1 (en) * | 1997-12-19 | 2004-05-04 | Nec Corporation | Peripheral partitioning and tree decomposition for partial scan |
CN1228539A (zh) * | 1998-03-10 | 1999-09-15 | 日本电气株式会社 | 对集成电路产生测试码模式的方法 |
CN1512560A (zh) * | 2002-12-30 | 2004-07-14 | 清华大学 | 具有非扫描设计测试代价的扫描设计及测试向量置入方法 |
CN101216532A (zh) * | 2008-01-16 | 2008-07-09 | 闫永志 | 一种时序电路中降低扫描功耗的方法 |
CN102323538A (zh) * | 2011-07-08 | 2012-01-18 | 哈尔滨工业大学 | 基于改进测试向量集的部分扫描的扫描单元的设计方法 |
CN102305912A (zh) * | 2011-07-29 | 2012-01-04 | 清华大学 | 数据可压缩的低功耗集成电路测试装置及其方法 |
CN104660466A (zh) * | 2015-02-06 | 2015-05-27 | 深圳先进技术研究院 | 一种安全测试方法及*** |
CN106771962A (zh) * | 2016-11-29 | 2017-05-31 | 天津大学 | 一种基于部分扫描的集成电路故障注入攻击模拟方法 |
Non-Patent Citations (2)
Title |
---|
故障攻击硬件仿真中低成本电路状态控制方法;刘强 等;《河海大学学报( 自然科学版)》;20191130;第47卷(第6期);第555-559页 * |
集成电路故障注入攻击仿真方法;徐松 等;《计算机辅助设计与图形学学报》;20170831;第29卷(第8期);第1563-1569页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109581206A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618929B (zh) | 一种基于uvm的对称加密算法的验证平台和验证方法 | |
US9064068B1 (en) | Debuggable opaque IP | |
CN102466776B (zh) | 面向复杂可编程逻辑器件的批量测试方法 | |
US6061283A (en) | Semiconductor integrated circuit evaluation system | |
CN104865518B (zh) | 一种sram型fpga的clb动态老炼配置方法 | |
US7003746B2 (en) | Method and apparatus for accelerating the verification of application specific integrated circuit designs | |
CN101499937A (zh) | 一种基于fpga的软硬件协同仿真验证***及方法 | |
US20040254906A1 (en) | Resource board for emulation system | |
CN109581206B (zh) | 基于部分扫描的集成电路故障注入攻击模拟方法 | |
CN104461812A (zh) | 一种利用已有Verilog BFM构造UVM验证组件的方法 | |
US9183329B2 (en) | Debugging simulation with partial design replay | |
CN106771962A (zh) | 一种基于部分扫描的集成电路故障注入攻击模拟方法 | |
CN110263459B (zh) | 一种基于测试序列分析的uvm验证加速方法 | |
CN110765715A (zh) | 一种面向gpu芯片渲染输出单元性能仿真方法及平台 | |
CN111062173A (zh) | 一种面向gpu芯片渲染输出单元功能仿真方法及平台 | |
KR20020069468A (ko) | 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법 | |
AbdElSalam et al. | SoC verification platforms using HW emulation and co-modeling Testbench technologies | |
CN102662812B (zh) | 基于pci总线单路接收解调器性能测试*** | |
CN107526585B (zh) | 基于Scala的FPGA开发平台及其调试、测试方法 | |
Liao et al. | A HW/SW co-verification technique for field programmable gate array (FPGA) test | |
CN113032203B (zh) | 一种可编程逻辑器件加速的测试装置及方法 | |
Siripokarpirom et al. | Hardware-assisted simulation and evaluation of IP cores using FPGA-based rapid prototyping boards | |
CA1212770A (en) | Method for propagating unknown digital values in a hardware based complex circuit simulation system | |
CN107544911A (zh) | 一种算法验证装置 | |
JP2923893B1 (ja) | ハードウェア論理シミュレーション装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 300452 Binhai Industrial Research Institute Campus of Tianjin University, No. 48 Jialingjiang Road, Binhai New Area, Tianjin Patentee after: Tianjin University Address before: 300072 Tianjin City, Nankai District Wei Jin Road No. 92 Patentee before: Tianjin University |
|
CP02 | Change in the address of a patent holder |