一种dpa安全性评测与对抗方法及其装置的制作方法

文档序号:7668073阅读:337来源:国知局
专利名称:一种dpa安全性评测与对抗方法及其装置的制作方法
技术领域
本专利涉及密码芯片安全领域,尤其是涉及一种DPA安全性评测与对抗方法及其
直ο
背景技术
旁路攻击(Side Channel Attack)是依靠加密过程中泄露的功耗,时间与电磁辐射等物理信息来破解密钥的分析方式。DPA (Differential Power Analysis)攻击是旁路式攻击(SCA)的一种,利用功耗与正在运行的指令,正在执行的数据之间的关系攻击密钥。DPA攻击利用数字示波器测量电路板,在加密大量随机明文数据的同时记录若干条功耗曲线,并根据某一比特划分曲线组。 正确的划分将导致差分功耗曲线上产生一个峰值,从而得到密钥,攻击成功。作为最有效的 SCA之一,它已攻破50余种智能卡,能广泛应用于各种加密机制。基于原始DPA我们提出了极性DPA的分析方法,并将极性DPA延伸至逆向分析当中。功耗互补逻辑是现在比较有效的DPA对抗方式之一,现有的功耗互补逻辑包括 SABL, WDDL、DyCML, SDPL, SDRL、DCVSL等方法。对于对抗DPA攻击,这些方法都能达到从底层来消除DPA攻击的峰值,从而有效的达到对抗DPA攻击的作用。但是功耗互补逻辑的缺点在于它们的面积。和功耗都显著的高于传统CMOS电路,另外这些方法比起标准单元电路还明显提高了设计时间。因此在实际应用中,如果在完整的处理器及ASIC上实现这些对抗方式的话,代价过于昂贵,并很可能造成产量低的风险。鉴于以上原因,我们在WDDL的基础上,改进并提出了 KANO的对抗方法。由于旁路攻击的存在,使芯片的安全性难以保证,那么芯片设计者需要对芯片的安全性作出合理的评价。另外,在专用集成电路加入对抗的过程中,由于对抗方式之间存在差异,这就要求计算机辅助设计工具必须能够支持混合了不同风格逻辑的复杂设计流程, 在提高安全性的同时,还必须考虑电路资源与功耗等方面问题,这样也需要一个合理的评价来权衡安全性与电路代价两者的关系。鉴于以上原因,就需要一个统一的综合评价框架, 综合不同模拟环境和适当的指标,为不同的标准的芯片电路设计,提供一个准确的评价。

发明内容
本发明主要是解决上述现有技术所存在的技术问题;提供了一种DPA安全性评测与对抗方法及其装置。本发明的上述技术问题主要是通过下述技术方案得以解决的 一种DPA安全性评测与对抗方法,其特征在于,包括以下步骤
步骤1,由系统配置模块进行系统配置包括拟合的工具设置、分析过程中使用的元件库设置与工具路径设置;
步骤2,由参数设置模块进行参数设置包括分析方式,对抗方式,分析报表中的性能参数与安全性参数设置;
步骤3,由数据来源模块根据用户选择进行功耗数据来源的设置根据用户的选择,功耗数据为仿真数据或者实测数据;
步骤4,由功耗分析模块根据步骤1以及步骤2配置针对完成步骤3后的功耗数据来源进行功耗分析并得到相应分析结果;
步骤5,由分析模块针对完成步骤4后的分析结果进行分析报表包括功耗分析的数据与图表、电路资源情况、能量迹数量,在综合报表中给出对抗方法的合理性建议。本发明以多个层次的芯片开发工具、功耗测试工具、以及多种功耗泄露分析模型等为基础,同时加入新型DPA分析方法以及对抗方法,拟合成一套适应多角度、多层次的, 集功耗采样、泄露分析、评价与对抗于一身的自动化平台,以尽量方便、透明的方式帮助芯片设计者进行客观、合理的抗功耗能力分析与评价。在上述的一种DPA安全性评测与对抗方法,所述的步骤3中,数据来源模块包括仿真单元以及实测单元,根据用户选择后选择执行以下步骤,若用户选择功耗数据为仿真数据执行步骤3. 1 ;若用户选择功耗数据为实测数据执行步骤3. 2
步骤3. 1,由仿真单元对芯片电路进行仿真,并得到相应数据,所述芯片电路是由用户输入的设计文件,由仿真单元生成Verilog的网表描述,然后通过仿真单元转换成SPICE网表电路描述并用于电路仿真,所述得到相应数据为电路仿真后得到的仿真功耗数据;
步骤3. 2,由用户将实测数据导入实测单元并由实测单元对数据进行分析,所述的实测数据为测试向量文件与实测功耗数据文件。在上述的一种DPA安全性评测与对抗方法,所述的功耗分析模块包括仿真分析单元和实测分析单元,并根据用户的选择进行选择执行若用户选择仿真数据,则使用用户在步骤2中设置的分析方法针对仿真数据进行数据分析;若用户选择实测数据,则使用步骤2 中设置的分析方法进行分析,所述使用的数据是用户自行提交的实测数据与相应的测试向量。在上述的一种DPA安全性评测与对抗方法,所述的仿真分析单元包括原始DPA分析以及极性DPA分析、CPA分析、逆向分析、用户自定义;根据用户选择的分析方法,执行进行步骤4. 1或步骤4. 2或步骤4. 3或步骤4. 4或步骤4. 5
步骤4. 1,若用户选择原始DPA分析方法进行数据分析,则操作步骤如下
A、平台上生成用于仿真的测试向量;
B、进行电路功耗仿真得到相应仿真功耗数据;
C、用户导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;
D、系统分析完成后,用户可看到攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数,另外得到差分功耗数据,用户可观察通过形象的图表来观测数据相关性;
步骤4. 2,若用户选择极性DPA分析方法进行数据分析,则操作步骤如下
A、第一阶段功耗采集中先生成第一阶段功耗采集中所需要的测试向量,并设置需要攻击获取的密钥;
B、平台利用A中生成的测试向量进行第一阶段功耗仿真,得到相应的功耗数据并进行相应的数据分析,得到相应的极性数组;
C、第二阶段功耗采集中需要生成此阶段功耗采集所需要的测试向量,并自行设置密钥,此处为已知密钥,置为全0,实际中可通过烧毁密钥寄存器的方式实现;
D、平台进行第二阶段功耗仿真,得到相应的数据并进行相应数据分析,得到相应极性数组;
E、利用两个阶段得到的极性数组,完成相应的攻击过程并得到攻击难度;所述攻击过程就是将两个阶段得到的极性数组相异或得到攻击的密钥,攻击难度通过上述安全性参数设置来衡量;
F、系统分析完成后,用户可获得攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数;
步骤4. 3,若用户选择CPA分析方法进行数据分析,则操作步骤如下
A、用户导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;
B、系统分析完成后,用户可看到攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数,另外得到相关系数数据,用户可观察通过形象的图表来观测数据;
C、系统内部将加入用户设定的对抗后的效果进行分析,并在综合报表中为用户制定合理的对抗方案建议;
步骤4. 4,若用户选择逆向分析方法进行数据分析,则操作步骤如下
A、用户设置导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;
B、系统分析完后,用户可观测到还原的S盒参数,以及能量迹数量与电路资源统计情
况;
C、系统内部将加入用户设定的对抗后的效果进行分析,并在综合报表中为用户制定合理的对抗方案建议; 步骤4. 5,若用户选择用户自定义方法进行数据分析,则操作步骤如下
A、用户自行提交相应方法的代码;所述代码为
B、使用相应的分析方法进行数据分析。(相应的分析方法为?)
在上述的一种DPA安全性评测与对抗方法,所述的步骤1中,工具设置包括=HSPICE、 Design Compiler、HSIM 元件库设置包括HSPICE ,Design Compiler、HSIM 对应的元件库; 工具路径设置包括HSPICE、Design Compiler、HSIM对应的安装路径。在上述的一种DPA安全性评测与对抗方法,所述的步骤2中,所述的对抗方式包括WDDL对抗方法,KANO对抗方法,用户自定义方法;分析报表中的性能参数包括电路资源情况、信噪比;安全性参数设置包括相关系数、条件熵与互信息、能量迹数量。一种使用DPA安全性评测与对抗方法的装置,其特征在于,包括依次相连的系统配置模块、参数设置模块、数据来源模块、功耗分析模块以及分析模块,所述数据来源模块包括仿真单元以及实测单元,所述功耗分析模块包括仿真分析单元和实测分析单元。因此,本发明具有如下优点1.平台中加入了引入新型的极性DPA和逆向分析攻击方法,可以对电路作出更加合理的评测;2.平台加入新型的KANO对抗方法,为用户的提供新的对抗方式;3.平台具有可制定性与智能性,平台在不同环境的使用过程中,对不同数据进行分析的同时积累分析经验,不断提升平台自身的分析能力,更好的实现智能化;
4.通过一个统一的平台,对多种不同的密码电路设计以及面向多种攻击方法与对抗方法;
5.平台具有操作的便利性特点,另外平台具有可升级性,平台中的攻击方法、对抗方法、评价指标均可定制与升级。


图1表示系统总体框架图2表示原始DPA仿真分析流程图; 图3表示极性DPA仿真分析流程图。
具体实施例方式下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。实施例
一种DPA安全性评测与对抗方法,包括以下步骤
步骤1,由系统配置模块进行系统配置包括拟合的工具设置、分析过程中使用的元件库设置与工具路径设置;工具设置包括HSPICE、Design Compiler、HSIM元件库设置包括HSPICE、Design Compiler、HSIM对应的元件库;工具路径设置包括HSPICE、Design Compiler、HSIM对应的安装路径;对抗方式包括WDDL对抗方法,KANO对抗方法,用户自定义方法;分析报表中的性能参数包括电路资源情况、信噪比;安全性参数设置包括相关系数、条件熵与互信息、能量迹数量。步骤2,由参数设置模块进行参数设置包括分析方式,对抗方式,分析报表中的性能参数与安全性参数设置;
步骤3,由数据来源模块根据用户选择进行功耗数据来源的设置根据用户的选择,功耗数据为仿真数据或者实测数据;数据来源模块包括仿真单元以及实测单元,根据用户选择后选择执行以下步骤,若用户选择功耗数据为仿真数据执行步骤3. 1 ;若用户选择功耗数据为实测数据执行步骤3. 2:
步骤3. 1,由仿真单元对芯片电路进行仿真,并得到相应数据,所述芯片电路是由用户输入的设计文件,由仿真单元生成Verilog的网表描述,然后通过仿真单元转换成SPICE网表电路描述并用于电路仿真,所述得到相应数据为电路仿真后得到的仿真功耗数据;
步骤3. 2,由用户将实测数据导入实测单元并由实测单元对数据进行分析,所述的实测数据为测试向量文件与实测功耗数据文件。步骤4,由功耗分析模块根据步骤1以及步骤2配置针对完成步骤3后的功耗数据来源进行功耗分析并得到相应分析结果;功耗分析模块包括仿真分析单元和实测分析单元,并根据用户的选择进行选择执行若用户选择仿真数据,则使用用户在步骤2中设置的分析方法针对仿真数据进行数据分析;若用户选择实测数据,则使用步骤2中设置的分析方法进行分析,所述使用的数据是用户自行提交的实测数据与相应的测试向量。 仿真分析单元包括原始DPA分析以及极性DPA分析、CPA分析、逆向分析、用户自
定义;根据用户选择的分析方法,执行进行步骤4. 1或步骤4. 2,4. 3,4. 4,4. 5
步骤4. 1,若用户选择原始DPA分析方法进行数据分析,则操作步骤如下
D、平台上生成用于仿真的测试向量;
E、进行电路功耗仿真得到相应仿真功耗数据;
F、用户导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;
D、系统分析完成后,用户可看到攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数,另外得到差分功耗数据,用户可观察通过形象的图表来观测数据相关性;
步骤4. 2,若用户选择极性DPA分析方法进行数据分析,则操作步骤如下
G、第一阶段功耗采集中先生成第一阶段功耗采集中所需要的测试向量,并设置需要攻击获取的密钥;
H、平台利用A中生成的测试向量进行第一阶段功耗仿真,得到相应的功耗数据并进行相应的数据分析,得到相应的极性数组;
I、第二阶段功耗采集中需要生成此阶段功耗采集所需要的测试向量,并自行设置密钥,此处为已知密钥,置为全0,实际中可通过烧毁密钥寄存器的方式实现;
J、平台进行第二阶段功耗仿真,得到相应的数据并进行相应数据分析,得到相应极性数组;
K、利用两个阶段得到的极性数组,完成相应的攻击过程并得到攻击难度;所述攻击过程就是将两个阶段得到的极性数组相异或得到攻击的密钥,攻击难度通过上述安全性参数设置来衡量;
L、系统分析完成后,用户可获得攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数;
步骤4. 3,若用户选择CPA分析方法进行数据分析,则操作步骤如下
D、用户导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;
E、系统分析完成后,用户可看到攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数,另外得到相关系数数据,用户可观察通过形象的图表来观测数据;
F、系统内部将加入用户设定的对抗后的效果进行分析,并在综合报表中为用户制定合理的对抗方案建议;
步骤4. 4,若用户选择逆向分析方法进行数据分析,则操作步骤如下
D、用户设置导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;
E、系统分析完后,用户可观测到还原的S盒参数,以及能量迹数量与电路资源统计情
况;
F、系统内部将加入用户设定的对抗后的效果进行分析,并在综合报表中为用户制定合理的对抗方案建议;步骤4. 5,若用户选择用户自定义方法进行数据分析,则操作步骤如下
A.用户自行提交相应分析方法的代码;所述代码为使用与制作平台相同的编程语言或者相兼容的编程语言,如c#,java等,来编写用户自己定义的分析方法的程序代码;
B.使用相应的分析方法进行数据分析,所户相应的分析方法为步骤A中用户提交的程序语言所描述的分析方法。步骤5,由分析模块针对完成步骤4后的分析结果进行分析报表包括功耗分析的数据与图表、电路资源情况、能量迹数量,在综合报表中给出对抗方法的合理性建议;对抗方法是在分析过程中加入,并与原设计作对比,得出对抗方法中的最佳对抗方式。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。尽管本文较多地使用了系统配置模块、参数设置模块、数据来源模块、功耗分析模块、分析模块、仿真单元、实测单元、仿真分析单元、实测分析单元等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
权利要求
1.一种DPA安全性评测与对抗方法,其特征在于,包括以下步骤步骤1,由系统配置模块进行系统配置包括拟合的工具设置、分析过程中使用的元件库设置与工具路径设置;步骤2,由参数设置模块进行参数设置包括分析方式,对抗方式,分析报表中的性能参数与安全性参数设置;步骤3,由数据来源模块根据用户选择进行功耗数据来源的设置根据用户的选择,功耗数据为仿真数据或者实测数据;步骤4,由功耗分析模块根据步骤1以及步骤2配置针对完成步骤3后的功耗数据来源进行功耗分析并得到相应分析结果;步骤5,由分析模块针对完成步骤4后的分析结果进行分析报表包括功耗分析的数据与图表、电路资源情况、能量迹数量,在综合报表中给出对抗方法的合理性建议。
2.根据权利要求1所述的一种DPA安全性评测与对抗方法,其特征在于,所述的步骤3 中,数据来源模块包括仿真单元以及实测单元,根据用户选择后选择执行以下步骤,若用户选择功耗数据为仿真数据执行步骤3. 1 ;若用户选择功耗数据为实测数据执行步骤3. 2 步骤3. 1,由仿真单元对芯片电路进行仿真,并得到相应数据,所述芯片电路是由用户输入的设计文件,由仿真单元生成Verilog的网表描述,然后通过仿真单元转换成SPICE网表电路描述并用于电路仿真,所述得到相应数据为电路仿真后得到的仿真功耗数据;步骤3. 2,由用户将实测数据导入实测单元并由实测单元对数据进行分析,所述的实测数据为测试向量文件与实测功耗数据文件。
3.根据权利要求1所述的一种DPA安全性评测与对抗方法,其特征在于,所述的功耗分析模块包括仿真分析单元和实测分析单元,并根据用户的选择进行选择执行若用户选择仿真数据,则使用用户在步骤2中设置的分析方法针对仿真数据进行数据分析;若用户选择实测数据,则使用步骤2中设置的分析方法进行分析,所述使用的数据是用户自行提交的实测数据与相应的测试向量。
4.根据权利要求3所述的一种DPA安全性评测与对抗方法,其特征在于,所述的仿真分析单元包括原始DPA分析以及极性DPA分析、CPA分析、逆向分析、用户自定义;根据用户选择的分析方法,执行进行步骤4. 1或步骤4. 2或步骤4. 3或步骤4. 4或步骤4. 5 步骤4. 1,若用户选择原始DPA分析方法进行数据分析,则操作步骤如下平台上生成用于仿真的测试向量;进行电路功耗仿真得到相应仿真功耗数据;用户导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;D、系统分析完成后,用户可看到攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数,另外得到差分功耗数据,用户可观察通过形象的图表来观测数据相关性;步骤4. 2,若用户选择极性DPA分析方法进行数据分析,则操作步骤如下 A、第一阶段功耗采集中先生成第一阶段功耗采集中所需要的测试向量,并设置需要攻击获取的密钥;B、平台利用A中生成的测试向量进行第一阶段功耗仿真,得到相应的功耗数据并进行相应的数据分析,得到相应的极性数组;C、第二阶段功耗采集中需要生成此阶段功耗采集所需要的测试向量,并自行设置密钥,此处为已知密钥,置为全0,实际中可通过烧毁密钥寄存器的方式实现;D、平台进行第二阶段功耗仿真,得到相应的数据并进行相应数据分析,得到相应极性数组;E、利用两个阶段得到的极性数组,完成相应的攻击过程并得到攻击难度;所述攻击过程就是将两个阶段得到的极性数组相异或得到攻击的密钥,攻击难度通过上述安全性参数设置来衡量;F、系统分析完成后,用户可获得攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数;步骤4. 3,若用户选择CPA分析方法进行数据分析,则操作步骤如下A、用户导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;B、系统分析完成后,用户可看到攻击成功所需能量迹数量,电路资源报表中包含前阶段设定的性能参数,另外得到相关系数数据,用户可观察通过形象的图表来观测数据;C、系统内部将加入用户设定的对抗后的效果进行分析,并在综合报表中为用户制定合理的对抗方案建议;步骤4. 4,若用户选择逆向分析方法进行数据分析,则操作步骤如下A、用户设置导入前阶段生成的测试向量文件与功耗数据文件并设置好测试数据输出路径后即可开始分析;B、系统分析完后,用户可观测到还原的S盒参数,以及能量迹数量与电路资源统计情况;C、系统内部将加入用户设定的对抗后的效果进行分析,并在综合报表中为用户制定合理的对抗方案建议;步骤4. 5,若用户选择用户自定义方法进行数据分析,则操作步骤如下A、用户自行提交相应分析方法的代码;所述代码为使用与制作平台相同的编程语言或者相兼容的编程语言,来编写用户自己定义的分析方法的程序代码;B、使用相应的分析方法进行数据分析,所述相应的分析方法为是步骤A中用户提交的程序语言所描述的分析方法。
5.根据权利要求1所述的一种DPA安全性评测与对抗方法,其特征在于,所述的步骤 1 中,工具设置包括HSPICE、Design Compiler、HSIM 元件库设置包括HSPICE、Design Compiler、HSIM对应的元件库;工具路径设置包括HSPICE、Design Compiler、HSIM对应的安装路径。
6.根据权利要求1所述的一种DPA安全性评测与对抗方法,其特征在于,所述的步骤2 中,所述的对抗方式包括WDDL对抗方法,KANO对抗方法,用户自定义方法;分析报表中的性能参数包括电路资源情况、信噪比;安全性参数设置包括相关系数、条件熵与互信息、 能量迹数量。
7.一种使用权利要求1所述的DPA安全性评测与对抗方法的装置,其特征在于,包括依次相连的系统配置模块、参数设置模块、数据来源模块、功耗分析模块以及分析模块,所述数据来源模块包括仿真单元以及实测单元,所述功耗分析模块包括仿真分析单元和实测分析单元。
全文摘要
本发明涉及密码芯片安全领域,尤其是涉及一种DPA安全性评测与对抗方法及其装置。本发明以多个层次的芯片开发工具、功耗测试工具、以及多种功耗泄露分析模型等为基础,同时加入新型DPA分析方法以及对抗方法,拟合成一套适应多角度、多层次的,集功耗采样、泄露分析、评价与对抗于一身的自动化平台,以尽量方便、透明的方式帮助芯片设计者进行客观、合理的抗功耗能力分析与评价。因此,本发明具有如下优点1.平台中加入了引入新型的极性DPA和逆向分析攻击方法,可以对电路作出更加合理的评测;2.平台加入新型的KANO对抗方法,为用户的提供新的对抗方式。
文档编号H04L9/06GK102325021SQ201110127718
公开日2012年1月18日 申请日期2011年5月17日 优先权日2011年5月17日
发明者伍前红, 卢春红, 唐明, 程平攀, 赵黎, 邱镇龙, 高思 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1