发明名称 一种DPA安全性评测与对抗方法及其装置
摘要 本专利涉及密码芯片安全领域,尤其是涉及一种DPA安全性评测与对抗方法及其装置。本发明以多个层次的芯片开发工具、功耗测试工具、以及多种功耗泄露分析模型等为基础,同时加入新型DPA分析方法以及对抗方法,拟合成一套适应多角度、多层次的,集功耗采样、泄露分析、评价与对抗于一身的自动化平台,以尽量方便、透明的方式帮助芯片设计者进行客观、合理的抗功耗能力分析与评价。因此,本发明具有如下优点:1.平台中加入了引入新型的极性DPA和逆向分析攻击方法,可以对电路作出更加合理的评测;2.平台加入新型的KANO对抗方法,为用户的提供新的对抗方式。
申请公布号 CN102325021B 申请公布日期 2014.04.02
申请号 CN201110127718.3 申请日期 2011.05.17
申请人 武汉大学 发明人 唐明;伍前红;邱镇龙;高思;程平攀;赵黎;卢春红
分类号 H04L9/06(2006.01)I 主分类号 H04L9/06(2006.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 张火春
主权项 一种DPA安全性评测与对抗方法,其特征在于,包括以下步骤:步骤1,由系统配置模块进行系统配置:包括拟合的工具设置、分析过程中使用的元件库设置与工具路径设置;步骤2,由参数设置模块进行参数设置:包括分析方式,对抗方式,分析报表中的性能参数与安全性参数设置;步骤3,由数据来源模块根据用户选择进行功耗数据来源的设置:根据用户的选择,功耗数据为仿真数据或者实测数据;步骤4,由功耗分析模块根据步骤1以及步骤2配置针对完成步骤3后的功耗数据来源进行功耗分析并得到相应分析结果;步骤5,由分析模块针对完成步骤4后的分析结果进行分析报表:包括功耗分析的数据与图表、电路资源情况、能量迹数量,在综合报表中给出对抗方法的合理性建议;所述的功耗分析模块包括仿真分析单元和实测分析单元,并根据用户的选择进行选择执行:若用户选择仿真数据,则使用用户在步骤2中设置的分析方法针对仿真数据进行数据分析;若用户选择实测数据,则使用步骤2中设置的分析方法进行分析,所述使用的数据是用户自行提交的实测数据与相应的测试向量;所述的仿真分析单元包括原始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、使用相应的分析方法进行数据分析,所述相应的分析方法为是步骤A 中用户提交的程序语言所描述的分析方法。
地址 430072 湖北省武汉市武昌区珞珈山武汉大学