CN104992126B - 一种抗错误注入攻击的安全芯片加固方法及装置 - Google Patents

一种抗错误注入攻击的安全芯片加固方法及装置 Download PDF

Info

Publication number
CN104992126B
CN104992126B CN201510355203.7A CN201510355203A CN104992126B CN 104992126 B CN104992126 B CN 104992126B CN 201510355203 A CN201510355203 A CN 201510355203A CN 104992126 B CN104992126 B CN 104992126B
Authority
CN
China
Prior art keywords
sensing unit
error
sensing
injection
error injection
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
Application number
CN201510355203.7A
Other languages
English (en)
Other versions
CN104992126A (zh
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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201510355203.7A priority Critical patent/CN104992126B/zh
Publication of CN104992126A publication Critical patent/CN104992126A/zh
Application granted granted Critical
Publication of CN104992126B publication Critical patent/CN104992126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明提供一种抗错误注入攻击的安全芯片加固方法及装置,包括以下步骤:对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;对敏感单元列表中的所有敏感单元进行加固。采用本发明方法及装置可以只对敏感单元进行加固,产生的硬件开销小;不需要设计人员精通密码算法,也不需要了解电路的具体结构,适用于任意的密码电路。

Description

一种抗错误注入攻击的安全芯片加固方法及装置
技术领域
本发明涉及电子加密技术领域,特别涉及一种抗错误注入攻击的安全芯片加固方法及装置。
背景技术
随着信息技术的迅猛发展,信息安全重要性是毋庸置疑的。虽然安全芯片中有复杂的加解密算法和密钥保护机制,然而近年来安全芯片易受到错误注入攻击,从而导致在加密算法执行的过程中产生瞬态的逻辑错误,攻击者通过分析正确的和错误的加密结果,最终引起密钥的泄露。安全芯片的错误注入攻击已被列为美国联邦信息处理标准“FIPS140-3”中重要的一类攻击方式。
现有对安全芯片进行抗错误注入攻击的防御主要有三种,最常见的一种是对整个加密电路做物理的防御,例如在整个芯片中加金属网或者传感器,这种方法的缺点是由于是对整块芯片进行防御,所以增加了芯片的复杂性,尤其是类似传感器这样的模拟器件,无疑是增加了芯片的面积开销,并且降低了性能。一种是在加密电路当中加入了错误检测模块,这种方法能够在运算的同时,实时检测是否有错误发生,但它是通过在密码算法的主运算硬件之外,再加上另外一组独立的运算模块进行逆运算,将主运算的结果再经过逆运算后和主运算的输入对比,从而实现并发错误检测。这样的冗余检错方法其缺点就是会造成近一倍的额外硬件开销。另外一种常用的方法是针对具体的加密算法的攻击弱点,从算法层面做改进,来达到抗错误注入攻击的目的。显然这种方法的缺点是只针对具体的某一种加密算法做改进,应用范围太局限,而且要求设计人员精通密码算法。
发明内容
本发明实施例提供了一种抗错误注入攻击的安全加固方法,只对敏感单元进行加固,产生的硬件开销小,且适用于任意的密码电路。该方法包括:
对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;
对敏感单元列表中的所有敏感单元进行加固。
在一个实施例中,所述对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果,具体包括:
根据测试激励文件和软错误自动注入脚本对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
所述测试激励文件用于提供加密或解密运算所需要的输入数据;
所述软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
在一个实施例中,所述测试激励文件还用于控制软错误自动注入脚本和敏感单元筛查脚本的执行;
所述敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注入错误的逻辑单元是否为敏感单元。
在一个实施例中,还包括:按以下步骤生成故障字典:
分析错误注入攻击方法;
根据错误注入攻击方法建立错误注入攻击模型;
根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据,进行加密或解密运算;
收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
在一个实施例中,所述对敏感单元列表中的所有敏感单元进行加固,包括:在安全芯片中定位所有敏感单元,并在所有敏感单元上插入传感器。
在一个实施例中,所述对敏感单元列表中的所有敏感单元进行加固,包括:用抗单粒子翻转效应的加固单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具有同等功能。
本发明实施例提供了一种抗错误注入攻击的安全芯片加固装置,只对敏感单元进行加固,产生的硬件开销小,且适用于任意的密码电路。该装置包括:
仿真结果生成模块,用于对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
敏感单元生成模块,用于根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;
敏感单元加固模块,用于对敏感单元列表中的所有敏感单元进行加固。
在一个实施例中,所述仿真结果生成模块具体用于:根据测试激励文件和软错误自动注入脚本对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
所述测试激励文件用于提供加密或解密运算所需要的输入数据;
所述软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
在一个实施例中,所述测试激励文件还用于控制软错误自动注入脚本和敏感单元筛查脚本的执行;
所述敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注入错误的逻辑单元是否为敏感单元。
在一个实施例中,还包括:故障单元生成模块,用于按以下步骤生成故障字典:
分析错误注入攻击方法;
根据错误注入攻击方法建立错误注入攻击模型;
根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据,进行加密或解密运算;
收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
在一个实施例中,所述敏感单元加固模块具体用于,在安全芯片中定位所有敏感单元,并在所有敏感单元上插入传感器。
在一个实施例中,所述敏感单元加固模块具体用于,用抗单粒子翻转效应的加固单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具有同等功能。
在本发明实施例中,通过对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,然后根据仿真结果和故障字典查找被错误注入攻击的敏感单元,最后对敏感单元进行加固,与现有的抗错误注入攻击的方法相比,使用本发明方法及装置只需对敏感单元进行加固即可,产生的硬件开销小;不需要设计人员精通密码算法,也不需要了解电路的具体结构,适用于任意的密码电路。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种抗错误注入攻击的安全芯片加固方法流程图;
图2是本发明实施例提供的一种故障字典生成流程图;
图3是本发明实施例提供的一种具体的抗错误注入攻击的安全芯片加固方法流程图;
图4是本发明实施例提供的一种抗错误注入攻击的安全芯片加固装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
现有的对安全芯片进行抗错误注入攻击的防御方法,大部分是以硬件开销作为代价,还有的是只针对一种加密算法做改进,使得应用范围局限,且要求设计人员必须精通密码算法。如果可以提出一种过程简单的抗错误注入攻击的防御方法,且不要求设计人员精通密码算法,也不需要了解电路的具体结构,同时还不会产生高额的硬件开销,就能克服现有技术中存在的问题。基于此,本发明提出一种抗错误注入攻击的安全加固方法及装置。
图1是本发明实施例提供的一种抗错误注入攻击的安全芯片加固方法流程图,如图1所示,该方法包括:
步骤101:对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
步骤102:根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;
步骤103:对敏感单元列表中的所有敏感单元进行加固。
具体实施时,在对安全芯片中的所有逻辑单元(包括组合逻辑单元和时序逻辑单元)分别进行错误注入攻击情况下的加密或解密功能仿真之前,首先要生成故障字典,故障字典是所有的有效错误攻击的加密或解密结果的集合,其生成步骤如图2所示,具体为:
1)分析错误注入攻击方法;
2)根据错误注入攻击方法建立错误注入攻击模型;
3)根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码算法运算过程中,容易被错误注入攻击,并且由此产生的错误数据结果可以用来分析出密钥的运算步骤;
4)对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据,进行加密或解密运算;
其中,对步骤4)进行详细描述,具体为:
41)在所有敏感步骤中选择一个敏感步骤A;
42)在敏感步骤A中注入一个错误;
43)输入一组加密或解密运算所需要的数据,进行加密或解密运算;
44)记录通过步骤43)获得的加密或解密运算结果;
45)重复步骤41)至44),直到遍历完敏感步骤A中所有可能注入的错误;
46)重复步骤41)至45),直到遍历完所有的敏感步骤。
5)收集上述所有的错误注入下的加密或解密运算的结果,生成故障字典。
在生成了故障字典之后,开始进行错误注入情况下的加密或解密功能仿真。具体的,根据测试激励文件和软错误自动注入脚本对原始电路的网表文件进行加密或解密功能仿真,生成仿真结果,且所有的仿真结果都记录在敏感单元筛查脚本中。在这一步骤中涉及到的原始电路的网表文件、测试激励文件和软错误自动注入脚本同样是在该步骤开始之前生成的,作为用户安全加固设计的输入文件。
其中,原始电路的网表文件用于描述没有经过安全性加固的安全芯片中的密码电路(网表是指用基础的逻辑门来描述数字电路连接情况的描述方式,由于逻辑门阵列有着连线表一样的排列外观,因此称之为“网表”,网表通常传递了电路连接方面的信息,例如模块的实例、线网以及相关属性文件)。
测试激励文件用于提供安全芯片中的加密或解密运算所需要的输入数据,并且控制软错误自动注入脚本和敏感单元筛查脚本的执行。由于仿真结果要和故障字典中的数据去对比,所以在进行功能仿真时,加密或解密运算中输入的数据必须要和生成故障字典的输入数据一致。
软错误自动注入脚本的功能是控制被注入错误的逻辑单元(标准单元库提供的最小逻辑单元)和错误注入时序。每次被错误注入的逻辑单元可以是一个或者多个,这个根据错误注入模型决定。本发明方法中每次被错误注入的逻辑单元为一个。软错误自动注入脚本负责遍历完安全芯片中的所有逻辑单元和所有的加密或解密运算周期。
具体实施时,对原始电路的网表进行错误注入下的功能仿真(即对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真)具体过程如下:选择一个时钟周期作为错误注入的时间,选择加密电路中的一个逻辑单元处于第一个时钟周期的错误注入攻击下,通过测试激励文件输入加密或解密运算所需要的数据,开始加密或解密运算,等加密或解密运算结束,将错误注入攻击的时间移到下一个时钟周期,错误注入攻击的对象不变,继续进行功能仿真,直到遍历完所有的加密或解密运算周期,获得仿真结果,并将其存储在敏感单元筛查脚本中,完成此次仿真之后,再将错误注入到下一个逻辑单元,重复上面的仿真过程,直到遍历完加密电路中所有的逻辑单元。
在遍历完加密电路中所有的逻辑单元之后,利用敏感单元筛查脚本查找故障字典,将所有仿真结果与故障字典中的值进行比对,如果在故障字典中找到与敏感单元筛查脚本中的某一个仿真结果相同的值,则将该仿真结果相对应的错误注入逻辑单元标记为敏感单元,直到对比完所有的仿真结果为止,得到一个敏感单元列表。
上述过程是在所有的逻辑单元进行错误注入攻击下的加密或解密功能仿真之后,将所有的仿真结果与故障字典中的值对比,具体实施时,还可以在每一次错误注入下的加密或解密功能仿真之后,将得到的一个仿真结果与故障字典中的值进行比对,如果在故障字典中找到与该仿真结果相同的值,就将该逻辑单元标记为敏感单元;若在不同时钟周期下注入错误到逻辑单元的仿真结果都未在故障字典中查找到,则该逻辑单元不是敏感单元,则对下一个逻辑单元进行错误注入攻击情况下的加密或解密功能仿真,直到遍历完加密电路中所有的逻辑单元为止,具体的过程如图3所示。
在得到敏感单元列表之后,需要对敏感单元列表中所有的敏感单元进行加固,加固方法可以有多种,具体的可以采用如下两种方法来进行加固,一种是在版图级的密码电路(即安全芯片)中定位所有敏感单元,并分别在敏感单元的相应位置上加上传感器;一种是仅将安全芯片(也可以说是加密电路)中的敏感单元替换成抗单粒子翻转效应SEU(Single Event Upset)的加固单元,其中,抗单粒子翻转效应的加固单元与敏感单元具有同等功能。具体的,因敏感单元可能是与门、非门、或门等的任一种逻辑门,且各种逻辑门具有不同的功能,所以当用抗单粒子翻转效应SEU(Single Event Upset)的加固单元对敏感单元进行替换时,必须是用具有相同功能的抗SEU的逻辑门对敏感单元进行替换,即用与门替换与门,非门替换非门,或门替换或门。这些加固单元可以由工艺厂商提供的加固标准单元库中选择,也可以自己设计这个加固单元库。
以上的方法步骤全部都是自动化的过程,因为故障字典、软错误自动注入脚本是在之前就生成好的,本发明方法中直接调用这两个文件就可以,所以利用本发明方法进行安全芯片的抗错误注入攻击的安全加固设计时,不需要掌握密码算法的原理和错误注入攻击的方法,同时采用本发明方法不增加电路的硬件和时间开销,适用于任意的密码电路。
基于同一发明构思,本发明实施例中还提供了一种对抗错误注入攻击的安全芯片进行加固的装置,如下面的实施例所述。由于对抗错误注入攻击的安全芯片进行加固的装置解决问题的原理与对抗错误注入攻击的安全芯片进行加固的方法相似,因此对抗错误注入攻击的安全芯片进行加固的装置的实施可以参见对抗错误注入攻击的安全芯片进行加固的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例提供的一种对抗错误注入攻击的安全芯片进行加固的装置结构图,如图4所示,该装置包括:
仿真结果生成模块401,用于对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
敏感单元生成模块402,用于根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;
敏感单元加固模块403,用于对敏感单元列表中的所有敏感单元进行加固。
具体实施时,仿真结果生成模块401具体用于:根据测试激励文件和软错误自动注入脚本对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果。其中,测试激励文件用于提供加密或解密运算所需要的输入数据;另外还用于控制软错误自动注入脚本和敏感单元筛查脚本的执行。
软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注入错误的逻辑单元是否为敏感单元。
具体实施时,还有一个故障单元生成模块,用于按以下步骤生成故障字典:
分析错误注入攻击方法;
根据错误注入攻击方法建立错误注入攻击模型;
根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据,进行加密或解密运算;
收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
具体实施时,敏感单元加固模块403具体用于,在安全芯片中定位所有敏感单元,并在所有敏感单元上插入传感器。或者用抗单粒子翻转效应的加固单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具有同等功能。
本发明以RSA为例,通过C语言生成故障字典;用VCS仿真筛查敏感单元,得到敏感单元列表,再用Encounter生成的版图上定位出敏感单元。实验结果与理论分析一致,证明该方法可行。其中,表1为RSA硬件模块的加解密参数,进行仿真所必需的。
表1
表2为故障字典中部分有效错误的加密或解密数据。
表2
表3为通过本发明方法进行仿真之后获得的部分仿真结果(第3列),这些仿真结果与表2中的数据相同,从而确定敏感单元列表(第2列)。
表3
表2中的数据和表3中的仿真结果是一样的,试验结果和理论分析是一致的,证明本发明方法是可行的。
综上所述,本发明方法及装置使得整个加固设计变得简单;不要求设计人员精通加密算法,也不需要了解加密电路的具体结构,适用于任意的密码电路;由于只对敏感单元进行加固,因此产生的硬件开销可以忽略不计。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种抗错误注入攻击的安全芯片加固方法,其特征在于,包括:
对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;
对敏感单元列表中的所有敏感单元进行加固;
还包括:按以下步骤生成故障字典:
分析错误注入攻击方法;
根据错误注入攻击方法建立错误注入攻击模型;
根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据,进行加密或解密运算;
收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
2.如权利要求1所述的方法,其特征在于,所述对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果,具体包括:
根据测试激励文件和软错误自动注入脚本对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
所述测试激励文件用于提供加密或解密运算所需要的输入数据;
所述软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
3.如权利要求2所述的方法,其特征在于,所述测试激励文件还用于控制软错误自动注入脚本和敏感单元筛查脚本的执行;
所述敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注入错误的逻辑单元是否为敏感单元。
4.如权利要求1所述的方法,其特征在于,所述对敏感单元列表中的所有敏感单元进行加固,包括:在安全芯片中定位所有敏感单元,并在所有敏感单元上插入传感器。
5.如权利要求1所述的方法,其特征在于,所述对敏感单元列表中的所有敏感单元进行加固,包括:用抗单粒子翻转效应的加固单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具有同等功能。
6.一种抗错误注入攻击的安全芯片加固装置,其特征在于,包括:
仿真结果生成模块,用于对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
敏感单元生成模块,用于根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元为止,生成敏感单元列表;
敏感单元加固模块,用于对敏感单元列表中的所有敏感单元进行加固;
还包括:故障单元生成模块,用于按以下步骤生成故障字典:
分析错误注入攻击方法;
根据错误注入攻击方法建立错误注入攻击模型;
根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据,进行加密或解密运算;
收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
7.如权利要求6所述的装置,其特征在于,所述仿真结果生成模块具体用于:根据测试激励文件和软错误自动注入脚本对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
所述测试激励文件用于提供加密或解密运算所需要的输入数据;
所述软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
8.如权利要求7所述的装置,其特征在于,所述测试激励文件还用于控制软错误自动注入脚本和敏感单元筛查脚本的执行;
所述敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注入错误的逻辑单元是否为敏感单元。
9.如权利要求6所述的装置,其特征在于,所述敏感单元加固模块具体用于,在安全芯片中定位所有敏感单元,并在所有敏感单元上插入传感器。
10.如权利要求6所述的装置,其特征在于,所述敏感单元加固模块具体用于,用抗单粒子翻转效应的加固单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具有同等功能。
CN201510355203.7A 2015-06-24 2015-06-24 一种抗错误注入攻击的安全芯片加固方法及装置 Active CN104992126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510355203.7A CN104992126B (zh) 2015-06-24 2015-06-24 一种抗错误注入攻击的安全芯片加固方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510355203.7A CN104992126B (zh) 2015-06-24 2015-06-24 一种抗错误注入攻击的安全芯片加固方法及装置

Publications (2)

Publication Number Publication Date
CN104992126A CN104992126A (zh) 2015-10-21
CN104992126B true CN104992126B (zh) 2018-08-03

Family

ID=54303939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510355203.7A Active CN104992126B (zh) 2015-06-24 2015-06-24 一种抗错误注入攻击的安全芯片加固方法及装置

Country Status (1)

Country Link
CN (1) CN104992126B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227296B (zh) * 2015-10-29 2019-01-25 深圳先进技术研究院 一种抗错误注入攻击的3d密码芯片的制造方法及装置
EP3584737B1 (en) * 2018-06-19 2022-02-23 Secure-IC SAS Improved detection of laser fault injection attacks on cryptographic devices
CN111599402B (zh) * 2020-04-15 2022-04-08 深圳市国微电子有限公司 存储器的单粒子效应测试分析方法、装置及测试系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923903A (zh) * 2009-06-16 2010-12-22 St微电子(鲁塞)有限公司 检测对存储器的故障注入式攻击的方法及相应的存储器
CN104391784A (zh) * 2014-08-27 2015-03-04 北京中电华大电子设计有限责任公司 一种基于仿真的故障注入攻击方法和装置
CN104660466A (zh) * 2015-02-06 2015-05-27 深圳先进技术研究院 一种安全测试方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977733B1 (ko) * 2012-07-12 2019-05-13 삼성전자주식회사 오류 기반 공격의 검출 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923903A (zh) * 2009-06-16 2010-12-22 St微电子(鲁塞)有限公司 检测对存储器的故障注入式攻击的方法及相应的存储器
CN104391784A (zh) * 2014-08-27 2015-03-04 北京中电华大电子设计有限责任公司 一种基于仿真的故障注入攻击方法和装置
CN104660466A (zh) * 2015-02-06 2015-05-27 深圳先进技术研究院 一种安全测试方法及系统

Also Published As

Publication number Publication date
CN104992126A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
Hu et al. An overview of hardware security and trust: Threats, countermeasures, and design tools
Li et al. A survey of hardware Trojan threat and defense
Chakraborty et al. Keynote: A disquisition on logic locking
Yuce et al. Fault attacks on secure embedded software: Threats, design, and evaluation
Waksman et al. Silencing hardware backdoors
Sethumadhavan et al. Trustworthy hardware from untrusted components
Li et al. A survey of hardware trojan detection, diagnosis and prevention
Regazzoni et al. Interaction between fault attack countermeasures and the resistance against power analysis attacks
Karmakar et al. Efficient key-gate placement and dynamic scan obfuscation towards robust logic encryption
Hu et al. Why you should care about don't cares: Exploiting internal don't care conditions for hardware Trojans
Ahmed et al. Quantifiable assurance: from IPs to platforms
CN104992126B (zh) 一种抗错误注入攻击的安全芯片加固方法及装置
Juretus et al. Time domain sequential locking for increased security
Wang et al. Ensuring cryptography chips security by preventing scan-based side-channel attacks with improved DFT architecture
Patnaik et al. Hide and seek: Seeking the (un)-hidden key in provably-secure logic locking techniques
Farahmandi et al. CAD for hardware security
Meade et al. IP protection through gate-level netlist security enhancement
US20170061106A1 (en) Anti-reverse engineering unified process
Hu et al. On the security of sequential logic locking against oracle-guided attacks
Sisejkovic et al. Logic Locking: A Practical Approach to Secure Hardware
Wang et al. Toward a formal and quantitative evaluation framework for circuit obfuscation methods
Duncan et al. SeRFI: secure remote FPGA initialization in an untrusted environment
Sunkavilli et al. Security threats and countermeasure deployment using partial reconfiguration in fpga cad tools
Moratelli et al. A cryptography core tolerant to DFA fault attacks
Allibert et al. Chicken or the egg-computational data attacks or physical attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant