当前位置: 首页 > 专利查询>天津大学专利>正文

基于部分扫描的集成电路故障注入攻击模拟方法技术

技术编号:20795647 阅读:81 留言:0更新日期:2019-04-06 09:17
本发明专利技术公开了一种基于部分扫描的集成电路故障注入攻击模拟方法,用于实现使用FPGA的部分扫描电路的故障注入攻击模拟。主要方法步骤包括:预处理、设置、生成及注入模拟。本发明专利技术实现了基于部分扫描方法的低开销故障注入攻击模拟;通过在网表中插入部分扫描链,添加电路控制模块等故障注入逻辑模拟故障注入攻击;通过PCIe端口,将控制信号由PC传输到FPGA,由控制模块处理后,实现故障注入。该方法仿真速度快,逻辑开销低。

Fault Injection Attack Simulation Method for Integrated Circuits Based on Partial Scanning

The invention discloses an integrated circuit fault injection attack simulation method based on partial scan, which is used to realize the fault injection attack simulation of partial scan circuit using FPGA. The main methods and steps include: preprocessing, setup, generation and injection simulation. The invention realizes low overhead fault injection attack simulation based on partial scan method; simulates fault injection attack by inserting partial scan chain into network table, adding circuit control module and other fault injection logic; transmits control signal from PC to FPGA through PCIe port, and realizes fault injection after processing by control module. This method has fast simulation speed and low logic overhead.

【技术实现步骤摘要】
基于部分扫描的集成电路故障注入攻击模拟方法
本专利技术涉及集成电路安全领域,尤其涉及一种基于部分扫描的集成电路故障注入攻击模拟方法。
技术介绍
故障注入攻击已经成为攻击芯片的一种有效方法[1]。现有的集成电路抗故障注入攻击能力评估方法主要有芯片测试[2-3],硬件模拟[4-5]和软件仿真[6-7]。芯片测试对成品芯片进行实际的故障注入攻击,测试效率低费用高,发现问题后,设计修改周期和成本极高。在设计阶段,评估集成电路的抗故障注入攻击能力是十分必要的。软件仿真运行速度较慢,而故障模型空间大,故障数据量较多,仿真时间过长。硬件模拟利用FPGA开发平台,实现在设计阶段模拟故障注入攻击,仿真速度快,故障注入精准。基于全扫描的集成电路故障注入攻击模拟方法,会带来极大的逻辑开销[4]。本专利技术使用了部分扫描方法的待测电路,来减少电路的资源开销,用来减少开发成本或可对更大的电路进行故障注入攻击。参考文献:[1]GHALATYNF,YUCEB,TAHAM,etal.DifferentialFaultIntensityAnalysis[C]//TheWorkshoponFaultDiagnosis&ToleranceinCryptography.IEEEComputerSociety,2014:49-58.[2]HAYASHIY,HOMMAN,MIZUKIT,etal.TransientIEMIthreatsforcryptographicdevices[J].IEEETransactionsonElectromagneticCompatibility,2013,55(1):140.[3]SondonS,MandolesiP,JuliánP,etal.Heavy-ionmicro-beamusefortransientfaultinjectioninVLSIcircuits[C]//IEEE,InternationalConferenceonPlasmaSciences.IEEE,2014:1.[4]徐松,刘强.集成电路故障注入攻击仿真方法[J].计算机辅助设计与图形学学报,2017,29(8):1563.[5]EBRAHIMIM,MOHAMMADIA,EJLALIA,etal.Afast,flexible,andeasy-to-developFPGA-basedfaultinjectiontechnique[J].MicroelectronicsReliability,2014,54(5):1000.[6]HERenya,TANGLongli,WANGShihai,etal.Softwaredynamicfaultmodelandinjectionmethod[C]//InternationalConferenceonReliability,MaintainabilityandSafety.2016:1.[7]LUOYin,YAORihuang,BINJianwei,etal.ResearchonaSoftwareFaultInjectionModelBasedonProgramMutation[C]//InternationalConferenceonInformationScienceandControlEngineering.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触发器分本文档来自技高网
...

【技术保护点】
1.基于部分扫描的集成电路故障注入攻击模拟方法,其特征在于,具体包括如下步骤:步骤1):综合待测电路生成电路网表;步骤2):在电路网表中插入扫描链;步骤3):将网表与控制模块构成的硬件架构,经过综合布局布线实现后配置到FPGA;步骤4):根据网表信息,包括:扫描链长度,D触发器分组数量,以及电路基本输入长度,生成电路控制向量;步骤5):由于部分扫描的可观测性有限,因此对待测电路进行功能仿真,获取电路D触发器正常运行状态的值。步骤6):指定故障类型,对电路中D触发器正常状态值进行修改;步骤7):利用SAT工具,对修改后电路中的状态值生成故障向量;步骤8):使用PCIe端口,通过主机PC端向FPGA传输生成的向量数据;步骤9):通过电路控制向量以及故障向量,对电路中所有D触发器实现完全控制;步骤10):收集故障数据,以待后续的评估。

【技术特征摘要】
1.基于部分扫描的集成电路故障注入攻击模拟方法,其特征在于,具体包括如下步骤:步骤1):综合待测电路生成电路网表;步骤2):在电路网表中插入扫描链;步骤3):将网表与控制模块构成的硬件架构,经过综合布局布线实现后配置到FPGA;步骤4):根据网表信息,包括:扫描链长度,D触发器分组数量,以及电路基本输入长度,生成电路控制向量;步骤5):由于部分扫描的可观测性有限,因此对待测电路进行功能仿真,获取电路D触发器正常运行状态的值。步骤6):指定故障类型,对电路中D触发器正常状态值进行修改;步骤7):利用SAT工具,对修改后电路中的状态值生成故障向量;步骤8):使用PCIe端口,通过主机PC端向FPGA传输生成的向量数据;步骤9):通过电路控制向量以及故障向量,对电路中所有D触发器实现完全控制;步骤...

【专利技术属性】
技术研发人员:李博超刘强
申请(专利权)人:天津大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1