一种针对激光注入攻击的防护能力验证方法与流程

文档序号:26590517发布日期:2021-09-10 20:45阅读:170来源:国知局
一种针对激光注入攻击的防护能力验证方法与流程

1.本发明涉及信息安全密码算法领域,特别涉及一种针对激光注入攻击的防护能力验证方法,适用于对分组及公钥密码防护实现的抗激光故障注入攻击验证以及故障攻击方法的验证。


背景技术:

2.经典的密码分析技术包括差分密码分析、线性密码分析等,但随着aes等密码算法的提出,经典的密码分析技术难以继续对密码系统的密钥产生威胁。密码算法的运行需要依赖于cpu、fpga等硬件设施,由于半导体材料的特性,在密码算法运行的过程中,硬件设备会泄露部分与正在操作的数据和正在进行的操作相关的信息,如功耗、电磁、时间等,利用这些信息恢复密钥的攻击方法称为侧信道攻击;除侧信道攻击外,还存在另一种攻击思路,即利用硬件平台发生故障时造成的计算错误与输出的密文之间的相关关系恢复密钥,这种侵入式的主动攻击方式被称作故障攻击,常见的故障攻击的手段包括激光、电磁、电压毛刺、温度等。
3.1996年danboneh等人发现利用硬件设备中的计算错误能够实现对运行在防篡改设备的rsa

crt等几种密码系统的密钥恢复,由此,故障攻击及其防护策略开始进入研究者的视野。紧接着,biham等人在次年提出差分故障攻击,使用50

200组密文即可恢复出运行于防篡改设备中的des算法的密钥。差分故障攻击是一种通用的强大故障攻击方法,几乎适用于任何密码算法,很快便被推广到aes、ecc等各个密码领域。2006年,张蕾等人提出了对国密算法sm4的差分故障攻击方法,理论上仅需32个错误密文即可完全恢复出sm4的128比特种子密钥。
4.在众多故障注入手段中,激光故障注入有着精度高、易于控制等优势,是最为强大的故障注入方法。激光注入技术兴起于上世纪,研究发现,太空中存在一些游离的粒子,会对航天设备中的某些半导体期间产生影响,使其失效,为了防止这种现象的发生,研究人员开始使用激光注入的技术模拟太空中的环境进行测试,以期提高设备的健壮性。随后,这一技术被引入故障注入领域,并迅速成为故障攻击领域的新宠。2016年,homma等人通过实验证明了可以使用激光注入对90nm和45nm工艺的fpga芯片进行目标位置的比特翻转,进而可以实现有效的故障攻击。
5.当前的激光故障注入攻击以及对密码算法防护实现的抗激光故障注入验证尚未解决的难点较多,难以精确地定位激光注入的时刻、位置,高精度的激光设备成本昂贵等都是急需解决的问题。


技术实现要素:

6.本发明提出了一种针对激光注入攻击的防护能力验证方法,该方法极大的弱化了实验所需的外部条件,简化了实验流程,并且能够在精度较低的设备上满足实验所需的时间、空间准确度要求,有助于激光故障注入攻击及其防护的研究。
7.一种针对激光注入攻击的防护能力验证方法,其步骤包括:
8.1)使用verilog hdl进行基于fpga密码算法及防护方案的实现,得到verilog hdl代码;
9.2)新建vivado工程,在目标开发板上对verilog hdl代码进行综合与初步布局布线,并利用vivado提供的区域约束能力,对目标开发板上的寄存器进行指定区域约束;
10.3)重新进行布局布线,并将生成的比特流文件烧录进目标开发板中;
11.4)通过不同强度的激光扫描目标寄存器的物理位置,进行故障注入,以验证防护方案的防护能力。
12.进一步地,防护方案包括:感染技术防护方案或在标量乘过程中校验点坐标是否位于曲线上、对标量乘循环轮迭代用到的中间值进行数值校验。
13.进一步地,对目标开发板上的寄存器进行指定区域约束的方法包括:图形化操作方法或约束文件代码编写方法。
14.进一步地,进行指定区域约束时,使密码算法中的非目标寄存器调用部分远离目标寄存器。
15.进一步地,使用添加等待状态的方法,完成准确时间点的故障注入。
16.进一步地,所述目标开发板包括一通信单元;一用于控制目标开发板的上位机通过所述通信单元,与目标开发板进行通信。
17.进一步地,所述上位机安装有监控算法,且使用监控算法监控目标开发板执行时的内部状态。
18.进一步地,利用显微镜与高速相机,观察目标开发板及激光。
19.和现有技术相比,本发明具有如下优势:
20.1.现有的激光注入攻击实验技术需要耗费大量的时间对目标寄存器进行定位,但本发明利用区域约束技术简化了这一步骤,并且两种方法对攻击者的能力假设是相仿的,攻击者若能够对一约束区域实现激光故障注入,则在常数倍的时间内也可以通过扫描定位的方式对未进行区域约束的寄存器进行故障注入。即本方法可以在保证达到预期目的的情况下极大地提高效率。
21.2.本发明弱化了实验所需的外部条件,由于某些激光注入设备精度达不到,极有可能在一次激光注入中影响过多的数据位,不能达到预期效果,而本发明由于将目标寄存器远离了算法的其他部分,则不需要担心此问题。
22.3.克服了高时钟频率下难以在准确的时间节点进行故障注入这一问题,并且对实验条件无额外要求,仅仅是在代码编写时添加一个等待状态和一个按钮操作作为外部触发。
附图说明
23.图1是本发明的方法流程图。
具体实施方式
24.为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心作进一步详细的
说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
25.本发明的针对激光注入攻击的防护能力验证方法,如图1所示,包括以下步骤:
26.首先进行实验设施的准备,该方法要求一套基本的激光验证系统,包括用于移动被测目标的三维移动台、用于观察被测目标以及激光情况的显微镜和高速相机、用于控制设备的上位机等,以及一套开封装的fpga开发板;
27.对于一个密码算法(及其防护方案),使用verilog hdl进行fpga的实现,并为其提供通信模块及上位机的调试程序;
28.新建vivado工程,选择对应的开发板型号,并根据开发板文档为其编写管脚约束文件,定义时钟频率和对应的输入输出管脚;
29.点击“综合”按钮,执行综合操作,生成网表文件,在这一步骤中可以通过图形化方式选择待检测的寄存器或其他器件,添加为debug部件,以此便能够在算法执行时监控算法在目标硬件执行的内部状态;
30.在对verilog hdl代码进行综合、布局布线后,利用vivado软件提供的区域约束功能,以图形化操作或约束文件代码编写两种可选方式对目标寄存器进行指定区域的约束,并对整个算法的剩余部分进行区域约束使其尽可能远离目标寄存器;
31.区域约束结束后,重新进行布局布线,并生成比特流(bitstream)文件烧录进目标开发板中。根据区域约束的逻辑位置可以确定大概的物理位置,随后可以通过对目标寄存器进行激光扫描的方式确定准确的位置以及适合的激光强度;
32.在实验阶段,存在需要在某一准确的时刻进行故障注入的场景,如在较高的时钟频率下难以准确地影响某一中间值,本方法还包括了该问题的解决方案。面对这一问题时,可以通过简单修改代码,使得状态机进入等待状态,执行激光注入,同时添加一外部触发操作(如按压button),用以在故障注入结束后,使得状态机退出等待状态,继续执行后续的加密操作,以此,即可达到在准确的时间点进行故障注入的效果,并且不会影响该寄存器在其他时间节点的使用。
33.结合下述范例,具体说明本发明实施激光注入故障时的防护方案。
34.当对sm4算法的故障攻击防护实现进行激光注入攻击防护能力验证的方法时,对sm4算法的差分故障攻击对攻击者的能力要求为对中间值的单个字节进行故障注入,不需要指定故障注入的结果,保证与原值不同即可。为了防护这一攻击,感染技术是一种经典的防护方法,即同时进行两路加密,将两路的计算结果进行异或并与随机数相乘后再与某一路的输出异或后得到最终的密文。这样一来,若未发生故障注入,则两路输出结果相同,异或结果为0,相应地后续操作则保证正常的输出;相反,若某一路存在故障注入,则两路地异或结果出现地非0部分会被随机数感染,相应地,在最后输出地密文中,故障造成的影响已经被随机数感染,攻击者不再能够从输出的密文中获取有意义的信息。以背景中提到的张蕾老师所提出的sm4算法的差分故障攻击为例,将sm4算法的第31轮的输出(也是第32轮的输入)中的第四个字节进行区域约束,随后进行故障注入,由于防护效果的存在,会导致输出的前五个字节在被随机数感染,攻击者不再能够根据这一信息进行差分故障攻击进而恢复密钥。
35.当对sm2算法的故障攻击防护能力实现进行激光注入攻击防护能力验证的方法时,sm2算法的防护设计主要是针对标量乘过程中潜在的弱曲线故障攻击和差分故障攻击
威胁,主要的防护方法为对标量乘过程中点坐标是否位于曲线上进行校验,以及对标量乘循环轮迭代用到的中间值进行数值校验。当校验不通过时,即拒绝继续执行签名剩余流程,直接返回错误,并输出全0。因此,预期的结果为,若在签名标量乘过程中发生了故障,攻击者不会获得任何泄露信息。但验证这一防护或者完成这一攻击对注入时刻的要求极高,通过公钥算法为了追求效率,时钟频率的设置都较高,很难准确地在某一时刻,因此利用本方法所提供的策略,可以通过对标量乘过程中的中间值、基点等多个位置进行故障注入,验证防护的有效性。一旦故障注入成功,则计算的结果必然不会出现在当前的曲线上,即无法通过后续的点校验,若输出为全0,则认为该防护有效,完成故障注入攻击防护验证实验。
36.以上详细说明的具体的实施方式仅仅是为了更好了理解本发明使用的,本发明不局限于此,本领域一般技术人员可以根据本发明的公开内容,针对多种算法采用其他多种实施方式来实施本发明;凡是采用本发明的设计结构和思路的,在不脱离权利要求范围的变换和替代,都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1