CN113381989B - 一种针对激光注入攻击的防护能力验证方法 - Google Patents
一种针对激光注入攻击的防护能力验证方法 Download PDFInfo
- Publication number
- CN113381989B CN113381989B CN202110619205.8A CN202110619205A CN113381989B CN 113381989 B CN113381989 B CN 113381989B CN 202110619205 A CN202110619205 A CN 202110619205A CN 113381989 B CN113381989 B CN 113381989B
- Authority
- CN
- China
- Prior art keywords
- development board
- target
- target development
- protection
- register
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Tests Of Electronic Circuits (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种针对激光注入攻击的防护能力验证方法,包括使用VerilogHDL进行基于FPGA密码算法及防护方案的实现,得到VerilogHDL代码;新建Vivado工程,在目标开发板上对VerilogHDL代码进行综合与初步布局布线,并利用Vivado提供的区域约束能力,对目标开发板上的寄存器进行指定区域约束;重新进行布局布线,并将生成的比特流文件烧录进目标开发板中;通过不同强度的激光扫描目标寄存器的物理位置,进行故障注入,以验证防护方案的防护能力。本发明利用区域约束技术简化了对目标寄存器的定位,弱化了实验所需的外部条件,克服了高时钟频率下难以在准确的时间节点进行故障注入这一问题。
Description
技术领域
本发明涉及信息安全密码算法领域,特别涉及一种针对激光注入攻击的防护能力验证方法,适用于对分组及公钥密码防护实现的抗激光故障注入攻击验证以及故障攻击方法的验证。
背景技术
经典的密码分析技术包括差分密码分析、线性密码分析等,但随着AES等密码算法的提出,经典的密码分析技术难以继续对密码系统的密钥产生威胁。密码算法的运行需要依赖于CPU、FPGA等硬件设施,由于半导体材料的特性,在密码算法运行的过程中,硬件设备会泄露部分与正在操作的数据和正在进行的操作相关的信息,如功耗、电磁、时间等,利用这些信息恢复密钥的攻击方法称为侧信道攻击;除侧信道攻击外,还存在另一种攻击思路,即利用硬件平台发生故障时造成的计算错误与输出的密文之间的相关关系恢复密钥,这种侵入式的主动攻击方式被称作故障攻击,常见的故障攻击的手段包括激光、电磁、电压毛刺、温度等。
1996年DanBoneh等人发现利用硬件设备中的计算错误能够实现对运行在防篡改设备的RSA-CRT等几种密码系统的密钥恢复,由此,故障攻击及其防护策略开始进入研究者的视野。紧接着,Biham等人在次年提出差分故障攻击,使用50-200组密文即可恢复出运行于防篡改设备中的DES算法的密钥。差分故障攻击是一种通用的强大故障攻击方法,几乎适用于任何密码算法,很快便被推广到AES、ECC等各个密码领域。2006年,张蕾等人提出了对国密算法SM4的差分故障攻击方法,理论上仅需32个错误密文即可完全恢复出SM4的128比特种子密钥。
在众多故障注入手段中,激光故障注入有着精度高、易于控制等优势,是最为强大的故障注入方法。激光注入技术兴起于上世纪,研究发现,太空中存在一些游离的粒子,会对航天设备中的某些半导体期间产生影响,使其失效,为了防止这种现象的发生,研究人员开始使用激光注入的技术模拟太空中的环境进行测试,以期提高设备的健壮性。随后,这一技术被引入故障注入领域,并迅速成为故障攻击领域的新宠。2016年,Homma等人通过实验证明了可以使用激光注入对90nm和45nm工艺的FPGA芯片进行目标位置的比特翻转,进而可以实现有效的故障攻击。
当前的激光故障注入攻击以及对密码算法防护实现的抗激光故障注入验证尚未解决的难点较多,难以精确地定位激光注入的时刻、位置,高精度的激光设备成本昂贵等都是急需解决的问题。
发明内容
本发明提出了一种针对激光注入攻击的防护能力验证方法,该方法极大的弱化了实验所需的外部条件,简化了实验流程,并且能够在精度较低的设备上满足实验所需的时间、空间准确度要求,有助于激光故障注入攻击及其防护的研究。
一种针对激光注入攻击的防护能力验证方法,其步骤包括:
1)使用Verilog HDL进行基于FPGA密码算法及防护方案的实现,得到Verilog HDL代码;
2)新建Vivado工程,在目标开发板上对Verilog HDL代码进行综合与初步布局布线,并利用Vivado提供的区域约束能力,对目标开发板上的寄存器进行指定区域约束;
3)重新进行布局布线,并将生成的比特流文件烧录进目标开发板中;
4)通过不同强度的激光扫描目标寄存器的物理位置,进行故障注入,以验证防护方案的防护能力。
进一步地,防护方案包括:感染技术防护方案或在标量乘过程中校验点坐标是否位于曲线上、对标量乘循环轮迭代用到的中间值进行数值校验。
进一步地,对目标开发板上的寄存器进行指定区域约束的方法包括:图形化操作方法或约束文件代码编写方法。
进一步地,进行指定区域约束时,使密码算法中的非目标寄存器调用部分远离目标寄存器。
进一步地,使用添加等待状态的方法,完成准确时间点的故障注入。
进一步地,所述目标开发板包括一通信单元;一用于控制目标开发板的上位机通过所述通信单元,与目标开发板进行通信。
进一步地,所述上位机安装有监控算法,且使用监控算法监控目标开发板执行时的内部状态。
进一步地,利用显微镜与高速相机,观察目标开发板及激光。
和现有技术相比,本发明具有如下优势:
1.现有的激光注入攻击实验技术需要耗费大量的时间对目标寄存器进行定位,但本发明利用区域约束技术简化了这一步骤,并且两种方法对攻击者的能力假设是相仿的,攻击者若能够对一约束区域实现激光故障注入,则在常数倍的时间内也可以通过扫描定位的方式对未进行区域约束的寄存器进行故障注入。即本方法可以在保证达到预期目的的情况下极大地提高效率。
2.本发明弱化了实验所需的外部条件,由于某些激光注入设备精度达不到,极有可能在一次激光注入中影响过多的数据位,不能达到预期效果,而本发明由于将目标寄存器远离了算法的其他部分,则不需要担心此问题。
3.克服了高时钟频率下难以在准确的时间节点进行故障注入这一问题,并且对实验条件无额外要求,仅仅是在代码编写时添加一个等待状态和一个按钮操作作为外部触发。
附图说明
图1是本发明的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明的针对激光注入攻击的防护能力验证方法,如图1所示,包括以下步骤:
首先进行实验设施的准备,该方法要求一套基本的激光验证系统,包括用于移动被测目标的三维移动台、用于观察被测目标以及激光情况的显微镜和高速相机、用于控制设备的上位机等,以及一套开封装的FPGA开发板;
对于一个密码算法(及其防护方案),使用Verilog HDL进行FPGA的实现,并为其提供通信模块及上位机的调试程序;
新建Vivado工程,选择对应的开发板型号,并根据开发板文档为其编写管脚约束文件,定义时钟频率和对应的输入输出管脚;
点击“综合”按钮,执行综合操作,生成网表文件,在这一步骤中可以通过图形化方式选择待检测的寄存器或其他器件,添加为debug部件,以此便能够在算法执行时监控算法在目标硬件执行的内部状态;
在对Verilog HDL代码进行综合、布局布线后,利用Vivado软件提供的区域约束功能,以图形化操作或约束文件代码编写两种可选方式对目标寄存器进行指定区域的约束,并对整个算法的剩余部分进行区域约束使其尽可能远离目标寄存器;
区域约束结束后,重新进行布局布线,并生成比特流(bitstream)文件烧录进目标开发板中。根据区域约束的逻辑位置可以确定大概的物理位置,随后可以通过对目标寄存器进行激光扫描的方式确定准确的位置以及适合的激光强度;
在实验阶段,存在需要在某一准确的时刻进行故障注入的场景,如在较高的时钟频率下难以准确地影响某一中间值,本方法还包括了该问题的解决方案。面对这一问题时,可以通过简单修改代码,使得状态机进入等待状态,执行激光注入,同时添加一外部触发操作(如按压button),用以在故障注入结束后,使得状态机退出等待状态,继续执行后续的加密操作,以此,即可达到在准确的时间点进行故障注入的效果,并且不会影响该寄存器在其他时间节点的使用。
结合下述范例,具体说明本发明实施激光注入故障时的防护方案。
当对SM4算法的故障攻击防护实现进行激光注入攻击防护能力验证的方法时,对SM4算法的差分故障攻击对攻击者的能力要求为对中间值的单个字节进行故障注入,不需要指定故障注入的结果,保证与原值不同即可。为了防护这一攻击,感染技术是一种经典的防护方法,即同时进行两路加密,将两路的计算结果进行异或并与随机数相乘后再与某一路的输出异或后得到最终的密文。这样一来,若未发生故障注入,则两路输出结果相同,异或结果为0,相应地后续操作则保证正常的输出;相反,若某一路存在故障注入,则两路地异或结果出现地非0部分会被随机数感染,相应地,在最后输出地密文中,故障造成的影响已经被随机数感染,攻击者不再能够从输出的密文中获取有意义的信息。以背景中提到的张蕾老师所提出的SM4算法的差分故障攻击为例,将SM4算法的第31轮的输出(也是第32轮的输入)中的第四个字节进行区域约束,随后进行故障注入,由于防护效果的存在,会导致输出的前五个字节在被随机数感染,攻击者不再能够根据这一信息进行差分故障攻击进而恢复密钥。
当对SM2算法的故障攻击防护能力实现进行激光注入攻击防护能力验证的方法时,SM2算法的防护设计主要是针对标量乘过程中潜在的弱曲线故障攻击和差分故障攻击威胁,主要的防护方法为对标量乘过程中点坐标是否位于曲线上进行校验,以及对标量乘循环轮迭代用到的中间值进行数值校验。当校验不通过时,即拒绝继续执行签名剩余流程,直接返回错误,并输出全0。因此,预期的结果为,若在签名标量乘过程中发生了故障,攻击者不会获得任何泄露信息。但验证这一防护或者完成这一攻击对注入时刻的要求极高,通过公钥算法为了追求效率,时钟频率的设置都较高,很难准确地在某一时刻,因此利用本方法所提供的策略,可以通过对标量乘过程中的中间值、基点等多个位置进行故障注入,验证防护的有效性。一旦故障注入成功,则计算的结果必然不会出现在当前的曲线上,即无法通过后续的点校验,若输出为全0,则认为该防护有效,完成故障注入攻击防护验证实验。
以上详细说明的具体的实施方式仅仅是为了更好了理解本发明使用的,本发明不局限于此,本领域一般技术人员可以根据本发明的公开内容,针对多种算法采用其他多种实施方式来实施本发明;凡是采用本发明的设计结构和思路的,在不脱离权利要求范围的变换和替代,都属于本发明的保护范围。
Claims (5)
1.一种针对激光注入攻击的防护能力验证方法,其步骤包括:
1)使用Verilog HDL进行基于FPGA密码算法及防护方案的实现,得到Verilog HDL代码,所述防护方案包括:感染技术防护方案或对标量乘过程中校验点坐标是否位于曲线上进行校验、对标量乘循环轮迭代用到的中间值进行数值校验;
2)新建Vivado工程,在目标开发板上对Verilog HDL代码进行综合与初步布局布线,并利用Vivado提供的区域约束能力,使用图形化操作方法或约束文件代码编写方法,对目标开发板上的寄存器进行指定区域约束,以使密码算法中的非目标寄存器调用部分远离目标寄存器;
3)重新进行布局布线,并将生成的比特流文件烧录进目标开发板中;
4)通过不同强度的激光扫描目标寄存器的物理位置,进行故障注入,以验证防护方案的防护能力。
2.如权利要求1所述的方法,其特征在于,使用添加等待状态的方法,完成准确时间点的故障注入。
3.如权利要求1所述的方法,其特征在于,所述目标开发板包括一通信单元;一用于控制目标开发板的上位机通过所述通信单元,与目标开发板进行通信。
4.如权利要求3所述的方法,其特征在于,所述上位机安装有监控算法,且使用监控算法监控目标开发板执行时的内部状态。
5.如权利要求1所述的方法,其特征在于,利用显微镜与高速相机,观察目标开发板及激光。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110459254X | 2021-04-27 | ||
CN202110459254 | 2021-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381989A CN113381989A (zh) | 2021-09-10 |
CN113381989B true CN113381989B (zh) | 2022-06-28 |
Family
ID=77575671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110619205.8A Active CN113381989B (zh) | 2021-04-27 | 2021-06-03 | 一种针对激光注入攻击的防护能力验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113381989B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605309A (zh) * | 2013-11-25 | 2014-02-26 | 北京航空航天大学 | 一种四通道大容量波形存储系统及其构建方法 |
CN104836808A (zh) * | 2015-05-12 | 2015-08-12 | 中国科学院软件研究所 | 基于改进差分错误攻击的sm2签名算法安全性验证方法 |
CN105302547A (zh) * | 2015-09-19 | 2016-02-03 | 大连理工大学 | 一种面向Verilog HDL设计的故障注入方法 |
CN106341222A (zh) * | 2016-09-12 | 2017-01-18 | 成都信息工程大学 | 一种针对sm4密码算法中间5轮的约减轮故障分析的方法 |
CN107766706A (zh) * | 2016-08-15 | 2018-03-06 | 阿姆Ip有限公司 | 用于保护设备的域免于未经授权的访问的方法和装置 |
CN112187444A (zh) * | 2020-09-02 | 2021-01-05 | 中国科学院软件研究所 | 一种抗侧信道和故障攻击的综合防护方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2367316B1 (en) * | 2010-03-12 | 2017-07-05 | STMicroelectronics (Rousset) SAS | Method and circuitry for detecting a fault attack |
FR2995429B1 (fr) * | 2012-09-10 | 2015-04-10 | Oberthur Technologies | Procede de test de la securite d'un dispositif electronique vis-a-vis d'une attaque, et dispositif electronique mettant en oeuvre des contre-mesures |
-
2021
- 2021-06-03 CN CN202110619205.8A patent/CN113381989B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605309A (zh) * | 2013-11-25 | 2014-02-26 | 北京航空航天大学 | 一种四通道大容量波形存储系统及其构建方法 |
CN104836808A (zh) * | 2015-05-12 | 2015-08-12 | 中国科学院软件研究所 | 基于改进差分错误攻击的sm2签名算法安全性验证方法 |
CN105302547A (zh) * | 2015-09-19 | 2016-02-03 | 大连理工大学 | 一种面向Verilog HDL设计的故障注入方法 |
CN107766706A (zh) * | 2016-08-15 | 2018-03-06 | 阿姆Ip有限公司 | 用于保护设备的域免于未经授权的访问的方法和装置 |
CN106341222A (zh) * | 2016-09-12 | 2017-01-18 | 成都信息工程大学 | 一种针对sm4密码算法中间5轮的约减轮故障分析的方法 |
CN112187444A (zh) * | 2020-09-02 | 2021-01-05 | 中国科学院软件研究所 | 一种抗侧信道和故障攻击的综合防护方法 |
Non-Patent Citations (2)
Title |
---|
李浪.分组密码芯片功耗攻击与防御问题研究.《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》.2013, * |
陈华等.密码产品的侧信道分析与评估.《电子与信息学报》.2020, * |
Also Published As
Publication number | Publication date |
---|---|
CN113381989A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
El Massad et al. | Reverse engineering camouflaged sequential circuits without scan access | |
Aghaie et al. | Impeccable circuits | |
Dofe et al. | Novel dynamic state-deflection method for gate-level design obfuscation | |
Canivet et al. | Glitch and laser fault attacks onto a secure AES implementation on a SRAM-based FPGA | |
Li et al. | A survey of hardware Trojan threat and defense | |
Farahmandi et al. | Trojan localization using symbolic algebra | |
Nahiyan et al. | Security-aware FSM design flow for identifying and mitigating vulnerabilities to fault attacks | |
Engels et al. | The end of logic locking? a critical view on the security of logic locking | |
CN109766729B (zh) | 一种防御硬件木马的集成电路及其加密方法 | |
Wang et al. | Against double fault attacks: Injection effort model, space and time randomization based countermeasures for reconfigurable array architecture | |
Karmakar et al. | A cellular automata guided finite-state-machine watermarking strategy for IP protection of sequential circuits | |
Sengupta et al. | Breaking CAS-lock and its variants by exploiting structural traces | |
Rahman et al. | O'clock: lock the clock via clock-gating for soc ip protection | |
Yang et al. | LOOPLock 2.0: An enhanced cyclic logic locking approach | |
Dunbar et al. | Satisfiability don't care condition based circuit fingerprinting techniques | |
Wang et al. | Ensuring cryptography chips security by preventing scan-based side-channel attacks with improved DFT architecture | |
Nasahl et al. | SYNFI: pre-silicon fault analysis of an open-source secure element | |
Patnaik et al. | Hide and seek: Seeking the (un)-hidden key in provably-secure logic locking techniques | |
Choudhury et al. | Patron: A pragmatic approach for encoding laser fault injection resistant fsms | |
US11061997B2 (en) | Dynamic functional obfuscation | |
Sunkavilli et al. | Analysis of attack surfaces and practical attack examples in open source fpga cad tools | |
CN113381989B (zh) | 一种针对激光注入攻击的防护能力验证方法 | |
Yu et al. | Proactive defense against security threats on iot hardware | |
Kibria et al. | Fsmx: Finite state machine extraction from flattened netlist with application to security | |
CN104992126B (zh) | 一种抗错误注入攻击的安全芯片加固方法及装置 |
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 |