一种密码芯片的旁路攻击仿真系统技术方案

技术编号:27205947 阅读:23 留言:0更新日期:2021-01-31 12:29
本发明专利技术属于安全性测试技术领域,具体涉及一种密码芯片的旁路攻击仿真系统。所述旁路攻击仿真系统包括:系统配置模块、仿真器和分析器;本发明专利技术采用软硬件协同设计的思想,通过泄露仿真机制和安全分析策略相分离的方法,设计了旁路攻击仿真评估方案。将旁路泄露的仿真实现和分析实现相分离,采用构件技术对其进行封装,具有较强的灵活性。不同的旁路泄漏信息以及攻击策略都能以构件的形式加入到该环境中,使得测试人员可以根据测试需求灵活地选择测试数据和分析策略,能在密码芯片的设计阶段对旁路攻击进行仿真分析。旁路攻击进行仿真分析。旁路攻击进行仿真分析。

【技术实现步骤摘要】
一种密码芯片的旁路攻击仿真系统


[0001]本专利技术属于安全性测试
,具体涉及一种密码芯片的旁路攻击仿真系统。

技术介绍

[0002]旁路攻击是一种安全性测试方法,即通过对密码芯片泄漏信息的测试,找到存在的安全漏洞(或破解秘密)。该分析方法需要相应的旁路仿真工具的支持,即通过仿真技术在设计阶段对密码芯片运行时的旁路泄漏信息进行模拟。
[0003]旁路攻击的测试方法可以分为两类:芯片生产后期的旁路攻击测试方法和芯片设计阶段的旁路攻击测试方法。
[0004]芯片生产后期的旁路攻击分析方法是较为常用的一种方法,其主要特点是在芯片完成生产以后再对旁路攻击的安全性进行测试分析,其主要的测试对象是已经生产出来的芯片产品。该分析方法存在安全性测试周期长,易出错及防御方法的性能无法在设计前期得到检验等问题,在一定程度上会对旁路攻击的安全性测试产生一系列消极影响,并直接影响到产品上市时间。
[0005]密码芯片生产后期的旁路攻击安全性测试方法已经成为密码芯片研发过程中的瓶颈。为了缓解这一矛盾,有必要在密码芯片的设计阶段就对旁路攻击的安全性进行测试分析,以提高安全测试效率,使得部分安全隐患在设计初期能被设计者检测到。

技术实现思路

[0006](一)要解决的技术问题
[0007]本专利技术要解决的技术问题是:旁路攻击是一种强有力的物理安全分析方法,密码芯片旁路攻击的安全评估一般都是在生产后期进行的,但生产后期进行旁路攻击安全评估具有费时、容易出错及费用高昂等缺陷。为了提高效率,有必要在设计阶段进行旁路攻击安全评估,这需相应的旁路仿真工具支持。针对旁路攻击需要相应的旁路仿真工具支持的特点,需要提出一种旁路攻击仿真环境的设计方案。
[0008](二)技术方案
[0009]为解决上述技术问题,本专利技术提供一种密码芯片的旁路攻击仿真系统,所述旁路攻击仿真系统包括:系统配置模块、仿真器和分析器;
[0010]所述系统配置模块用于根据用户输入的参数,设置仿真器模块和分析器模块的初始运行环境;
[0011]所述仿真器用于在虚拟硬件平台上运行算法程序,根据预先建立的旁路信息泄露模型,建立旁路泄漏信息数据库,并对密码算法库中选择的加密算法指令进行分析,产生相应的旁路泄露曲线;
[0012]所述分析器用于分析旁路泄露曲线,以旁路泄漏信息数据库统一格式的旁路泄露信息文件作为输入,不受旁路泄露曲线数据来源的限制,对仿真器产生的旁路泄漏信息或从真实的物理设备上测量得到的旁路泄漏信息作前期处理,根据选定的区分函数分集,计
算平均旁路泄露曲线,并绘制曲线图。
[0013]其中,所述系统配置模块使用两个数据结构来分别缓存从用户界面输入的配置参数,然后根据配置参数分别生成仿真器的初始化配置文件Simulator.ini和分析器的初始化配置文件Analyzer.ini。
[0014]其中,所述仿真器包括:密码算法库、旁路泄露分析子模块、旁路信息生成子模块、曲线绘制模块;
[0015]所述旁路信息生成子模块用于根据预先建立的旁路信息泄露模型,建立旁路泄漏信息数据库;
[0016]所述旁路泄露分析子模块用于根据密码算法库中的加密算法指令,以及旁路泄漏信息数据库中的旁路泄漏信息特征,建立加密算法指令和旁路泄漏信息特征的映射关系表;
[0017]所述曲线绘制模块用于对所建立的旁路泄漏信息数据库以及加密算法指令和旁路泄漏信息特征的映射关系表进行综合分析,绘制生成对应密码算法运行全过程的旁路泄漏曲线。
[0018]其中,所述旁路泄露分析子模块根据密码算法库中的加密算法指令,以及旁路泄漏信息数据库中的旁路泄漏信息特征,建立加密算法指令和旁路泄漏信息特征的映射关系表的过程中:
[0019]旁路泄漏信息特征与机器指令形式的加密算法指令存在着密切的关系,不同的机器指令执行时泄漏的信息是不相同的;即使是同种机器指令,操作数据不同时旁路泄漏信息特征也是有差异的;为了建立加密算法指令与旁路泄漏信息特征的联系,首先利用编译工具对加密算法指令进行编译,生成优化的机器指令代码;接着利用机器指令作为索引,在旁路泄漏信息数据库中查询对应的泄漏信息特征的入口。
[0020]其中,所述分析器包括:区分函数库、曲线分集子模块、曲线分析子模块、绘图子模块;
[0021]所述区分函数库用于存储不同的区分函数;由于加密算法不同,对应的区分函数实现也不同,因此使用区分函数库对不同的区分函数进行保存;
[0022]所述曲线分集子模块用于根据系统配置模块的设置,从区分函数库中选择指定的区分函数,对仿真器产生的旁路泄漏信息或从真实的物理设备上测量得到的旁路泄漏信息作前期处理,即将旁路泄漏曲线的数据分配到不同的集合中;
[0023]所述曲线分析子模块用于分别对不同集合中的旁路泄漏曲线的数据,求取其平均信号,计算平均旁路泄露曲线,然后再求取两个集合的平均差分信号;
[0024]所述绘图子模块用于利用曲线分析子模块的输出结果生成对应的分析曲线图,提供较为直观的分析结果。
[0025](三)有益效果
[0026]与现有技术相比较,本专利技术在密码芯片设计阶段进行旁路攻击安全性进行测试分析,来克服生产后期的旁路攻击分析方法的不足,为该策略提供相应的旁路仿真工具。本专利技术采用软硬件协同设计的思想,通过泄露仿真机制和安全分析策略相分离的方法,设计了旁路攻击仿真评估方案。将旁路泄露的仿真实现和分析实现相分离,采用构件技术对其进行封装,具有较强的灵活性。不同的旁路泄漏信息以及攻击策略都能以构件的形式加入到
该环境中,使得测试人员可以根据测试需求灵活地选择测试数据和分析策略,能在密码芯片的设计阶段对旁路攻击进行仿真分析。
附图说明
[0027]图1为旁路攻击仿真环境架构图。
[0028]图2为系统配置模块流程图。
具体实施方式
[0029]为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。
[0030]为解决现有技术问题,本专利技术提供一种密码芯片的旁路攻击仿真系统,如图1所示,所述旁路攻击仿真系统包括:系统配置模块、仿真器和分析器;
[0031]所述系统配置模块用于根据用户输入的参数,设置仿真器模块和分析器模块的初始运行环境;如图2所示;
[0032]所述仿真器用于在虚拟的特定硬件平台上运行算法程序,根据预先建立的旁路信息泄露模型,建立旁路泄漏信息数据库,并对密码算法库中选择的加密算法指令进行分析,产生相应的旁路泄露曲线;
[0033]所述分析器用于分析旁路泄露曲线,以旁路泄漏信息数据库统一格式的旁路泄露信息文件作为输入,不受旁路泄露曲线数据来源的限制,对仿真器产生的旁路泄漏信息或从真实的物理设备上测量得到的旁路泄漏信息作前期处理,根据选定的区分函数分集,计算平均旁路泄露曲线,并绘制曲线图。
[0034]其中,所述系统配置模块使用两个数据结构来分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密码芯片的旁路攻击仿真系统,其特征在于,所述旁路攻击仿真系统包括:系统配置模块、仿真器和分析器;所述系统配置模块用于根据用户输入的参数,设置仿真器模块和分析器模块的初始运行环境;所述仿真器用于在虚拟硬件平台上运行算法程序,根据预先建立的旁路信息泄露模型,建立旁路泄漏信息数据库,并对密码算法库中选择的加密算法指令进行分析,产生相应的旁路泄露曲线;所述分析器用于分析旁路泄露曲线,以旁路泄漏信息数据库统一格式的旁路泄露信息文件作为输入,不受旁路泄露曲线数据来源的限制,对仿真器产生的旁路泄漏信息或从真实的物理设备上测量得到的旁路泄漏信息作前期处理,根据选定的区分函数分集,计算平均旁路泄露曲线,并绘制曲线图。2.如权利要求1所述的密码芯片的旁路攻击仿真系统,其特征在于,所述系统配置模块使用两个数据结构来分别缓存从用户界面输入的配置参数,然后根据配置参数分别生成仿真器的初始化配置文件Simulator.ini和分析器的初始化配置文件Analyzer.ini。3.如权利要求1所述的密码芯片的旁路攻击仿真系统,其特征在于,所述仿真器包括:密码算法库、旁路泄露分析子模块、旁路信息生成子模块、曲线绘制模块;所述旁路信息生成子模块用于根据预先建立的旁路信息泄露模型,建立旁路泄漏信息数据库;所述旁路泄露分析子模块用于根据密码算法库中的加密算法指令,以及旁路泄漏信息数据库中的旁路泄漏信息特征,建立加密算法指令和旁路泄漏信息特征的映射关系表;所述曲线绘制模块用于对所建立的旁路泄漏信息数据库以及加密算法指令和旁路泄漏信息特征的映射关系表进行...

【专利技术属性】
技术研发人员:赵斌王辉鲁毅
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1