旁路攻击资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行处理器技术 就是在IC上增加一个协同处理器,它包含一个可触发的伪随机数产生器,它将和另一个处理器并行工作。当IC要求被校验输入时,协作处理器被以当前值初始化。检测器会检查协作处理器块中的逻辑0 和逻辑1,当为逻辑0 时伪随机序列产生器将产生无用信号来填充当前电源供应。另外,如果是逻辑1,CPU 要求存储内存中的值并开始以无效的垃圾数据显示给攻击者。这种方式将给攻击者提取信号带来很大的困难。 异步电路技术 在同步电路中功耗的变化随着时钟变化有显著的特性,功耗分析时很容易进行时钟的对准。大量的CMOS 在同一时刻发生翻转变化,因此功耗的叠加相当明显。 在该电路中没有同步时钟信号,通过异步进行信号传输。 由于缺少了时钟的参考,指令的执行时间不固定,难以找出特定指令的执行周期。时间上不对齐导致难以取得有意义的功耗平均曲线并作减法,这给DPA 分析带来困难。 这个方法实现起来困难较大,不是一个经济的处理方法,且它不是一个数学上可以杜绝功耗攻击的办法。 冗余编码技术 是指对芯片内部的存储信号进行重新编码,比如比特“0”用“01”表示,而比特“1”用“10”表示,从比特0 变化到比特1 和从比特1 变化到比特0 的信号变化都相同,因此难以区分汉明码重和比特反转引起的功耗变化。这个方法在理论上相对而言比较完善。从硬件实现上,要将电路做成对称的双轨电路。有一条线传输0,就有它的对称线传输1,而实际中只使用其中一条线上的信号。 缺点是资源消耗比较大,面积上增加一倍以上;硬件实现上没有相应的自动化设计工具支持。 掩码技术 DPA 攻击需要根据已知的明文和未知的猜测的密钥来推断它们的函数——中间的某个数据。只有当攻击者可以正确推测出中间数据时他才能做出有意义的分类以及进行其后的数据处理。 Mask 的核心思想就是掩盖中间过程值,加密之前给真实数据加上一个随机数字,中间处理的所有步骤中都有随机数存在,到了最终数据给出前才把这个随机数去掉。 Mask 比较普遍采用的是将原始数据与一个等长度的随机数异或。 利用掩码(Masking)技术平衡地表达数据,使得数据的汉明码重恒定,从而消除数据与功耗之间的相关性。 对旁路攻击的硬件防御方法 基于硬件的防护通常包括: 时钟的随机化; 功耗随机化和功耗平衡; 对指令集的运行和寄存器操作随机化等。 对旁路攻击的软件防御 Xavier Leroy 指出, 使用软件方法应对硬件攻击的关键就是要看到: 任何硬件攻击都不能随意改变硬件自身的运行方式, 这也是“软件防御”思想的基本内涵。 对旁路攻击的软件防御技术 数据冗余 控制冗余 执行冗余 特定加密算法的安全实现 软件防御技术之数据冗余 数据冗余 为防止硬件攻击行为修改存储体上的静态数据和程序代码, 可以在存储数据(及程序代码)的时候增加一定长度的冗余数据, 用来保证数据的完整性。一种简单的方法就是在每组数据的后面增加循环冗余码。如果对于数据完整性有着更加严格的要求, 可以采用一个简单的哈希函数计算出每组数据的杂凑值。通过数据冗余, 还可以有效地防止主动攻击对关键数据的修改(比如安全位、指令下载控制位等), 并且由于仅仅是对数据存储格式的变化, 这种措施可以在不影响程序结构的情况下, 加固安全性。 软件防御技术之控制冗余 控制冗余 针对对静态数据或者关键代码的篡改, 我们可以通过数据冗余的方法进行有效的防御。但是, 在程序的动态执行过程中,数据冗余策略就无能为力了, 因此还必须增加程序执行时控制的冗余。控制冗余的主要思想就是在包含有关键代码的函数中添加多重控制, 以最大程度上保证程序执行是处于完全安全、可信的环境之中。比如, 设置多个状态位, 在程序的执行过程中不断检查这些状态位的状态, 如果有一个发生了改变, 程序马上退出执行。 软件防御技术之执行冗余 执行冗余 对密码算法中独立的(逻辑上没有继承关系、时间上没有先后关系)代码段按随机顺序执行; 对同一个功能构造多个不同但是等价的实现随机选择执行;旁路算子 随机延时和随机功耗插入; 未用资源的随机介入; SLEEP的介入; 平衡内部数据的汉明重量 ; 做内部数据比特组的分隔; 数据单元的等价实现、同步及随机访问; 对旁路攻击的软件防御实现方法 降低功耗信号抵抗差分功耗攻击: 使用固定运行路径的代码; 选择功耗旁路中泄漏信息比较少的操作; 平衡汉明重量和状态迁移。 这类技术往往不能完全阻止功耗信息的泄漏,因为攻击者可以加大功耗信息的采样量使得差分功耗攻击得以进行。 对旁路攻击的软件防御实现方法 引入噪声:可以使分析需要异常大量的旁路信息采样。但是噪声本身只能使得差分功耗攻击所需的采样量加大,而如果能够使得成功的差分功耗攻击所需的采样量大到难以采集,则可以有效抵抗这类攻击。 将指令运行时

文档评论(0)

糖糖 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档