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

文档序号:9274872阅读:316来源:国知局
一种抗错误注入攻击的安全芯片加固方法及装置的制造方法
【技术领域】
[0001] 本发明涉及电子加密技术领域,特别涉及一种抗错误注入攻击的安全芯片加固方 法及装置。
【背景技术】
[0002] 随着信息技术的迅猛发展,信息安全重要性是毋庸置疑的。虽然安全芯片中有复 杂的加解密算法和密钥保护机制,然而近年来安全芯片易受到错误注入攻击,从而导致在 加密算法执行的过程中产生瞬态的逻辑错误,攻击者通过分析正确的和错误的加密结果, 最终引起密钥的泄露。安全芯片的错误注入攻击已被列为美国联邦信息处理标准"FIPS 140-3"中重要的一类攻击方式。
[0003] 现有对安全芯片进行抗错误注入攻击的防御主要有三种,最常见的一种是对整个 加密电路做物理的防御,例如在整个芯片中加金属网或者传感器,这种方法的缺点是由于 是对整块芯片进行防御,所以增加了芯片的复杂性,尤其是类似传感器这样的模拟器件,无 疑是增加了芯片的面积开销,并且降低了性能。一种是在加密电路当中加入了错误检测模 块,这种方法能够在运算的同时,实时检测是否有错误发生,但它是通过在密码算法的主运 算硬件之外,再加上另外一组独立的运算模块进行逆运算,将主运算的结果再经过逆运算 后和主运算的输入对比,从而实现并发错误检测。这样的冗余检错方法其缺点就是会造成 近一倍的额外硬件开销。另外一种常用的方法是针对具体的加密算法的攻击弱点,从算法 层面做改进,来达到抗错误注入攻击的目的。显然这种方法的缺点是只针对具体的某一种 加密算法做改进,应用范围太局限,而且要求设计人员精通密码算法。

【发明内容】

[0004] 本发明实施例提供了一种抗错误注入攻击的安全加固方法,只对敏感单元进行加 固,产生的硬件开销小,且适用于任意的密码电路。该方法包括:
[0005] 对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密功能 仿真,生成仿真结果;
[0006] 根据所述仿真结果查找故障字典,若在故障字典中查找到与所述仿真结果相同的 值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直到遍历完所有的逻辑单元 为止,生成敏感单元列表;
[0007] 对敏感单元列表中的所有敏感单元进行加固。
[0008] 在一个实施例中,所述对安全芯片中的所有逻辑单元分别在错误注入攻击情况下 进行加密或解密功能仿真,生成仿真结果,具体包括:
[0009] 根据测试激励文件和软错误自动注入脚本对安全芯片中的所有逻辑单元分别在 错误注入攻击情况下进行加密或解密功能仿真,生成仿真结果;
[0010] 所述测试激励文件用于提供加密或解密运算所需要的输入数据;
[0011] 所述软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
[0012] 在一个实施例中,所述测试激励文件还用于控制软错误自动注入脚本和敏感单元 筛查脚本的执行;
[0013] 所述敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注 入错误的逻辑单元是否为敏感单元。
[0014] 在一个实施例中,还包括:按以下步骤生成故障字典:
[0015] 分析错误注入攻击方法;
[0016] 根据错误注入攻击方法建立错误注入攻击模型;
[0017] 根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码 算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
[0018] 对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据, 进行加密或解密运算;
[0019] 收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
[0020] 在一个实施例中,所述对敏感单元列表中的所有敏感单元进行加固,包括:在安全 芯片中定位所有敏感单元,并在所有敏感单元上插入传感器。
[0021] 在一个实施例中,所述对敏感单元列表中的所有敏感单元进行加固,包括:用抗单 粒子翻转效应的加固单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具 有同等功能。
[0022] 本发明实施例提供了一种抗错误注入攻击的安全芯片加固装置,只对敏感单元进 行加固,产生的硬件开销小,且适用于任意的密码电路。该装置包括:
[0023] 仿真结果生成模块,用于对安全芯片中的所有逻辑单元分别在错误注入攻击情况 下进行加密或解密功能仿真,生成仿真结果;
[0024] 敏感单元生成模块,用于根据所述仿真结果查找故障字典,若在故障字典中查找 到与所述仿真结果相同的值,则将相应的被错误注入攻击的逻辑单元标记为敏感单元,直 到遍历完所有的逻辑单元为止,生成敏感单元列表;
[0025] 敏感单元加固模块,用于对敏感单元列表中的所有敏感单元进行加固。
[0026] 在一个实施例中,所述仿真结果生成模块具体用于:根据测试激励文件和软错误 自动注入脚本对安全芯片中的所有逻辑单元分别在错误注入攻击情况下进行加密或解密 功能仿真,生成仿真结果;
[0027] 所述测试激励文件用于提供加密或解密运算所需要的输入数据;
[0028] 所述软错误自动注入脚本用于控制被注入错误的逻辑单元和错误注入时序。
[0029] 在一个实施例中,所述测试激励文件还用于控制软错误自动注入脚本和敏感单元 筛查脚本的执行;
[0030] 所述敏感单元筛查脚本用于存储所有的仿真结果,在故障字典中查找并判断被注 入错误的逻辑单元是否为敏感单元。
[0031] 在一个实施例中,还包括:故障单元生成模块,用于按以下步骤生成故障字典:
[0032] 分析错误注入攻击方法;
[0033] 根据错误注入攻击方法建立错误注入攻击模型;
[0034] 根据错误注入攻击模型确定加密或解密运算的敏感步骤;所述敏感步骤指在密码 算法运算过程中,易被错误注入攻击且可用产生的错误数据结果分析出密钥的运算步骤;
[0035] 对所有敏感步骤分别注入所有可能的错误,输入加密或解密运算所需要的数据, 进行加密或解密运算;
[0036] 收集所有的错误注入下的加密或解密运算的结果,生成故障字典。
[0037] 在一个实施例中,所述敏感单元加固模块具体用于,在安全芯片中定位所有敏感 单元,并在所有敏感单元上插入传感器。
[0038] 在一个实施例中,所述敏感单元加固模块具体用于,用抗单粒子翻转效应的加固 单元替换敏感单元,所述抗单粒子翻转效应的加固单元与敏感单元具有同等功能。
[0039] 在本发明实施例中,通过对安全芯片中的所有逻辑单元分别在错误注入攻击情况 下进行加密或解密功能仿真,然后根据仿真结果和故障字典查找被错误注入攻击的敏感单 元,最后对敏感单元进行加固,与现有的抗错误注入攻击的方法相比,使用本发明方法及装 置只需对敏感单元进行加固即可,产生的硬件开销小;不需要设计人员精通密码算法,也不 需要了解电路的具体结构,适用于任意的密码电路。
【附图说明】
[0040] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不 构成对本发明的限定。在附图中:
[0041] 图1是本发明实施例提供的一种抗错误注入攻击的安全芯片加固方法流程图;
[0042] 图2是本发明实施例提供的一种故障字典生成流程图;
[0043] 图3是本发明实施例提供的一种具体的抗错误注入攻击的安全芯片加固方法流 程图;
[0044] 图4是本发明实施例提供的一种抗错误注入攻击的安全芯片加固装置结构图。
【具体实施方式】
[0045] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对 本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并 不作为对本发明的限定。
[0046] 现有的对安全芯片进行抗错误注入攻击的防御方法,大部分是以硬件开销作为代 价,还有的是只针对一种加密算法做改进,使得应用范围局限,且要求设计人员必须精通密 码算法。如果可以提出一种过程简单的抗错误注入攻击的防御方法,且不要求设计人员精 通密码算法,也不需要了解电路的具体结构,同时还不会产生高额的硬件开销,就能克服现 有技术中存在的问题。基于此,本发明提出一种抗错误注入攻击的安全加固方法及装置。
[0047] 图1
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1