首页> 中国专利> 一种基于RSA算法的硬件的安全性评估方法及装置

一种基于RSA算法的硬件的安全性评估方法及装置

摘要

本发明提供了一种基于RSA算法的硬件的安全性评估方法及装置,涉及RSA算法安全技术领域。该方法包括:对基于RSA算法的硬件进行错误注入重叠扫描,生成扫描结果;根据自动向量生成工具对所述扫描结果进行错误定位,统计所述扫描结果中的错误种类的数目;获取基于RSA算法的硬件加密时的密钥长度n以及公钥e;根据所述密钥长度n、公钥e和所述扫描结果中的错误种类的数目,判断所述基于RSA算法的硬件是否满足抵抗错误注入的安全性条件。本发明解决了当前现有技术中的对基于RSA算法的硬件的安全性评估方法准确性较低,评估效率低下,且无法实现批量评估的问题。

著录项

  • 公开/公告号CN105376058A

    专利类型发明专利

  • 公开/公告日2016-03-02

    原文格式PDF

  • 申请/专利权人 深圳先进技术研究院;

    申请/专利号CN201510646478.6

  • 发明设计人 邵翠萍;李慧云;徐国卿;

    申请日2015-10-08

  • 分类号H04L9/30;H04L9/08;

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人王涛

  • 地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号

  • 入库时间 2023-12-18 14:35:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-10

    授权

    授权

  • 2016-03-30

    实质审查的生效 IPC(主分类):H04L9/30 申请日:20151008

    实质审查的生效

  • 2016-03-02

    公开

    公开

说明书

技术领域

本发明涉及RSA算法安全技术领域,尤其涉及一种基于RSA算法的硬件的安全 性评估方法及装置。

背景技术

当前,随着人们对信息安全的要求逐渐提高,数据信息的加解密技术也得到了充 分的发展。数据信息的加解密技术是通过计算机网络中的加密机构和解密机构,把互 联网中的各种原始的数字信息在指定的用户或网络下通过加解密算法进行变换,转换 成与明文完全不同的数字数据信息,即转换成密文。加解密技术是互联网上数据信息 安全技术的基石。RSA(RSAalgorithm,简称RSA)算法是目前加解密技术中最优 秀的公钥算法之一,可应用于数据加密和数字签名、身份认证等信息安全领域。然而 基于RSA算法的硬件也经常被错误注入攻击,因此对基于RSA算法的硬件的安全性 评估显得尤为重要。错误注入攻击是一种通过人为注入一定的错误,根据错误传输机 理和加解密的结果分析出密钥信息的方法,被广泛用来评估芯片抗错误攻击能力的方 法。最常见的错误注入攻击包括:电压和时钟突变错误,激光诱导错误,X射线和离 子束注入错误。

现有的对基于RSA算法的硬件的安全性评估方法仅停留在有经验的工程师反复 扫描硬件的集成电路的测试结果,对实验数据做分析处理来判断基于RSA算法的硬 件的安全性,该过程通常需要几天时间。例如,通常需要1-5天的时间来测试智能卡 芯片抗激光注入攻击。由于这种方法在攻击时间与执行算法的时间之间的不确定性, 导致其很难从少量的加解密的结果来判定该硬件的安全性,没有对硬件的安全性做定 量评估,并且评估时间较长。另外,由于现有技术的评估效率很低,导致只能做到抽 样评估,不能实现批量评估。可见,现有技术中的对基于RSA算法的硬件的安全性 评估方法准确性较低,评估效率低下,且无法实现批量评估。

发明内容

本发明的实施例提供一种基于RSA算法的硬件的安全性评估方法及装置,以解 决当前现有技术中的对基于RSA算法的硬件的安全性评估方法准确性较低,评估效 率低下,且无法实现批量评估的问题。

为达到上述目的,本发明采用如下技术方案:

一种基于RSA算法的硬件的安全性评估方法,包括:

对基于RSA算法的硬件进行错误注入重叠扫描,生成扫描结果;

根据自动向量生成工具对所述扫描结果进行错误定位,统计所述扫描结果中的错 误种类的数目;

获取基于RSA算法的硬件加密时的密钥长度n以及公钥e;

根据所述密钥长度n、公钥e和所述扫描结果中的错误种类的数目,判断所述基 于RSA算法的硬件是否满足抵抗错误注入的安全性条件。

具体的,所述根据所述密钥长度n、公钥e和所述扫描结果中的错误种类的数目, 判断所述基于RSA算法的硬件是否满足抵抗错误注入的安全性条件,包括:

当时,若则确定所述基于RSA算法的硬件满足抵抗错误注入 的安全性条件;若并且至少密钥的低位全部发生错误,则确定所述基于 RSA算法的硬件不满足抵抗错误注入的安全性条件;

当时,若则确定所述基于RSA算法的硬件满足抵抗错误注入的 安全性条件;若并且至少密钥的高位全部发生错误,则确定所述基于RSA 算法的硬件不满足抵抗错误注入的安全性条件;

其中,n为所述密钥长度n;CN为所述扫描结果中的错误种类的数目;N为基于 RSA算法的硬件加密时两个质数的乘积,所述N的二进制数形式所占用的位数为所 述n。

具体的,所述自动向量生成工具为ATE自动化测试工具。

具体的,所述对基于RSA算法的硬件进行错误注入重叠扫描,生成扫描结果, 包括:

遍历基于RSA算法的硬件,在各个扫描点上进行错误注入,并在各个扫描点上 运行用于测试所有扫描点的测试向量。

一种基于RSA算法的硬件的安全性评估装置,包括:

错误注入重叠扫描单元,用于对基于RSA算法的硬件进行错误注入重叠扫描, 生成扫描结果;

错误定位分析单元,用于根据自动向量生成工具对所述扫描结果进行错误定位, 统计所述扫描结果中的错误种类的数目;

密钥数据获取单元,用于获取基于RSA算法的硬件加密时的密钥长度n以及公 钥e;

安全性判断单元,用于根据所述密钥长度n、公钥e和所述扫描结果中的错误种 类的数目,判断所述基于RSA算法的硬件是否满足抵抗错误注入的安全性条件。

另外,所述安全性判断单元,具体用于:

在时,若确定所述基于RSA算法的硬件满足抵抗错误注入的 安全性条件;若并且至少密钥的低位全部发生错误,确定所述基于RSA 算法的硬件不满足抵抗错误注入的安全性条件;

在时,若确定所述基于RSA算法的硬件满足抵抗错误注入的安 全性条件;若并且至少密钥的高位全部发生错误,确定所述基于RSA算 法的硬件不满足抵抗错误注入的安全性条件;

其中,n为所述密钥长度n;CN为所述扫描结果中的错误种类的数目;N为基于 RSA算法的硬件加密时两个质数的乘积,所述N的二进制数形式所占用的位数为所 述n。

此外,所述错误定位分析单元中的自动向量生成工具为ATE自动化测试工具。

另外,所述错误注入重叠扫描单元,具体用于:

遍历基于RSA算法的硬件,在各个扫描点上进行错误注入,并在各个扫描点上 运行用于测试所有扫描点的测试向量。

本发明实施例提供的一种基于RSA算法的硬件的安全性评估方法及装置,能够 对基于RSA算法的硬件进行错误注入重叠扫描,并进行扫描结果的错误定位,获取 扫描结果中的错误种类的数目,从而根据密钥长度n、公钥e和扫描结果中的错误种 类的数目能够定量分析基于RSA算法的硬件抵抗错误注入的安全性。本发明避免了 现有技术中采用人工对实验数据进行分析来判断硬件安全性所造成的评估效率低下, 不能定量分析准确性较低,以及无法实现大批量硬件安全性评估的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前 提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供一种基于RSA算法的硬件的安全性评估方法的流程图 一;

图2为本发明实施例提供一种基于RSA算法的硬件的安全性评估方法的流程图 二;

图3为本发明实施例中的基于RSA算法的硬件的错误注入示意图;

图4为本发明实施例提供一种基于RSA算法的硬件的安全性评估装置的结构示 意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供一种基于RSA算法的硬件的安全性评估方法, 包括:

步骤101、对基于RSA算法的硬件进行错误注入重叠扫描,生成扫描结果。

步骤102、根据自动向量生成工具对扫描结果进行错误定位,统计扫描结果中的 错误种类的数目。

步骤103、获取基于RSA算法的硬件加密时的密钥长度n以及公钥e。

步骤104、根据密钥长度n、公钥e和扫描结果中的错误种类的数目,判断基于 RSA算法的硬件是否满足抵抗错误注入的安全性条件。

本发明实施例提供的一种基于RSA算法的硬件的安全性评估方法,能够对基于 RSA算法的硬件进行错误注入重叠扫描,并进行扫描结果的错误定位,获取扫描结 果中的错误种类的数目,从而根据密钥长度n、公钥e和扫描结果中的错误种类的数 目能够定量分析基于RSA算法的硬件抵抗错误注入的安全性。本发明避免了现有技 术中采用人工对实验数据进行分析来判断硬件安全性所造成的评估效率低下,不能定 量分析准确性较低,以及无法实现大批量硬件安全性评估的问题。

为了使本领域的技术人员更好的了解本发明,下面列举一个更为具体的实施例, 如图2所示,本发明实施例提供一种基于RSA算法的硬件的安全性评估方法,包括:

步骤201、遍历基于RSA算法的硬件,在各个扫描点上进行错误注入,并在各 个扫描点上运行用于测试所有扫描点的测试向量。

具体的,步骤201的具体方式采用的是安全可测性方法(DesignforSafe Testability,简称DFST),即将基于RSA算法的硬件中的敏感寄存器插入到扫描链中, 并仅产生硬件敏感点的测试向量,该硬件敏感点可以指存放私钥信息的单元。之后在 错误注入下以一定的步长重叠扫描,测试基于RSA算法的硬件芯片。最后比较输出 的测试向量与参考测试向量,进而判断该硬件是否易被错误注入攻击。为了得到准确 的扫描结果,扫描的步长一般越小越好。通过DFST方法,能够找到硬件电路中易翻 转的敏感单元。

值得说明的是,该基于RSA算法的硬件可以为基于RSA算法的芯片。如图3所 示,图3中的S11至Smn即为各扫描点,S11为第一个错误注入的扫描点,S12为第二 个错误注入的扫描点,在扫描硬件算法的芯片时,以一定的步长进行移动,各扫描点 之间存在重叠。

步骤202、根据自动向量生成工具对扫描结果进行错误定位,统计该扫描结果中 的错误种类的数目。

值得说明的是,该自动向量生成工具可以为ATE(AutomaticTestEquipment)自 动化测试工具。

步骤203、获取基于RSA算法的硬件加密时的密钥长度n以及公钥e。

步骤204、确定公钥e与的值。

若或者执行步骤205。若 至少密钥的低位全部发生错误;或者至少密钥的高位全部发生 错误,执行步骤206。

其中,n为密钥长度n;CN为扫描结果中的错误种类的数目;N为基于RSA算 法的硬件加密时两个质数的乘积,N的二进制数形式所占用的位数为n。

值得说明的是,此处的CN为扫描结果中的错误种类的数目,而不同于测试失败 的总数目,其可以表示RSA算法中的私钥d有多少位被注入错误并出错。值得说明 的是,随着e的增大,基于RSA算法的硬件的安全性也提升了,需要更大才可 以恢复出完整的密钥。

步骤205、确定基于RSA算法的硬件满足抵抗错误注入的安全性条件。

该基于RSA算法的硬件满足抵抗错误注入的安全性条件表示硬件抵抗错误注入 攻击的能力较好,具有较高的安全性。

步骤206、确定基于RSA算法的硬件不满足抵抗错误注入的安全性条件。

该基于RSA算法的硬件不满足抵抗错误注入的安全性条件表示硬件抵抗错误注 入攻击的能力较差,具有较低的安全性。

值得说明的是,在RSA攻击部分密钥攻击理论中,在实际的错误注入攻击中, 攻击者可以很容易恢复出部分私钥位,但是很难揭露全部的密钥位。针对不同的公钥 大小,部分私钥泄露的要求也不相同。设(e,N)为公钥对,(d,N)为私钥对,n为 密钥长度n,当公钥e很小的时候,如如果泄露私钥d的低位(n代表N 的位数)就可以通过部分密钥攻击理论恢复出完整的密钥;当e∈[N1/4,N1/2],如果泄 露了私钥d的高位,即可恢复出完整的密钥。随着e的增大,d要泄露更多的位数 才可以恢复出完整的密钥。例如,当e=N0.5时,需要知道d的最高位开始的二分之 一位就可以恢复出完整的密钥;而当e=N0.55时,需要d中71%的高位信息才可以 恢复出完整的密钥位。

通过上述步骤201至步骤206可以得到基于RSA算法的硬件的错误注入下的结 果,如下表1所示:

表1:

值得说明的是,上表1中的结果仅是为了使本领域技术人员了解本发明所列举的 一个实例,应用上述步骤201至步骤206所得到的实例还可以有很多。

本发明实施例提供的一种基于RSA算法的硬件的安全性评估方法,能够对基于 RSA算法的硬件进行错误注入重叠扫描,并进行扫描结果的错误定位,获取扫描结 果中的错误种类的数目,从而根据密钥长度n、公钥e和扫描结果中的错误种类的数 目能够定量分析基于RSA算法的硬件抵抗错误注入的安全性。本发明避免了现有技 术中采用人工对实验数据进行分析来判断硬件安全性所造成的评估效率低下,不能定 量分析准确性较低,以及无法实现大批量硬件安全性评估的问题。

对应于上述图1和图2所述的方法实施例,如图4所示,本发明实施例提供一种 基于RSA算法的硬件的安全性评估装置,包括:

错误注入重叠扫描单元31,可以对基于RSA算法的硬件进行错误注入重叠扫描, 生成扫描结果。

错误定位分析单元32,可以根据自动向量生成工具对扫描结果进行错误定位, 统计扫描结果中的错误种类的数目。

密钥数据获取单元33,可以获取基于RSA算法的硬件加密时的密钥长度n以及 公钥e;

安全性判断单元34,可以根据密钥长度n、公钥e和扫描结果中的错误种类的数 目,判断基于RSA算法的硬件是否满足抵抗错误注入的安全性条件。

值得说明的是,该安全性判断单元34,具体可以:

在时,若确定基于RSA算法的硬件满足抵抗错误注入的安全 性条件;若确定基于RSA算法的硬件不满足抵抗错误注入的安全性条件。

在时,若确定基于RSA算法的硬件满足抵抗错误注入的安全性 条件;若确定基于RSA算法的硬件不满足抵抗错误注入的安全性条件。

其中,n为密钥长度n;CN为扫描结果中的错误种类的数目;N为基于RSA算 法的硬件加密时两个质数的乘积,N的二进制数形式所占用的位数为n。

此外,错误定位分析单元32中的自动向量生成工具可以为ATE自动化测试工具。

另外,该错误注入重叠扫描单元31,具体可以遍历基于RSA算法的硬件,在各 个扫描点上进行错误注入,并在各个扫描点上运行用于测试所有扫描点的测试向量。

对于本发明实施例提供的一种基于RSA算法的硬件的安全性评估装置的具体实 现方式和应用实例可以参见上述图1和图2对应的方法实施例,此处不再赘述。

本发明实施例提供的一种基于RSA算法的硬件的安全性评估装置,能够对基于 RSA算法的硬件进行错误注入重叠扫描,并进行扫描结果的错误定位,获取扫描结 果中的错误种类的数目,从而根据密钥长度n、公钥e和扫描结果中的错误种类的数 目能够定量分析基于RSA算法的硬件抵抗错误注入的安全性。本发明避免了现有技 术中采用人工对实验数据进行分析来判断硬件安全性所造成的评估效率低下,不能定 量分析准确性较低,以及无法实现大批量硬件安全性评估的问题。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程 序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件 方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序 代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流 程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的 每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执 行的指令产生可以实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算 机或其他可编程设备上执行的指令提供可以实现在流程图一个流程或多个流程和/或 方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术 人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述, 本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号