第10章侧信道攻击.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章侧信道攻击

侧信道攻击 曹天杰 中国矿业大学计算机学院 基本概念 侧信道密码分析利用密码系统实现时泄露的额外信息,推导密码系统中的秘密参数。特别地,最近几年,计算错误、执行时间、能量消耗、电磁辐射等侧信道得到了深入研究。 侧信道密码分析利用密码具体实现相关的信息,恢复计算中涉及的秘密参数。由于这种攻击与具体的实现有关,因此不是通用的,但比古典密码分析更强大,能够在极少的时间内攻破密码系统,并被认为是对实现密码设备的严重威胁。 包含侧信道攻击的模型 侧信道攻击的分类 侧信道攻击有两种相互交叉的分类: 侧信道攻击可以分为入侵型、非入侵型和半入侵型攻击。入侵型攻击通过特殊的工具对设备进行物理篡改。需要打开卡片直接访问芯片表面,如揭开智能卡的保护层,直接在数据总线上连线,观察数据传输。入侵型的攻击可以不干扰芯片的正常操作。非入侵型攻击只利用暴露在外部的可用信息,如运行时间、能量消耗等。半入侵型攻击也需要打开卡片,访问芯片表面,但不去篡改钝化层,也就是对金属表面不需要电接触。 侧信道攻击还可以分为主动攻击和被动攻击。主动攻击是指攻击者篡改芯片的正常操作功能,例如在芯片计算过程中引入错误,发起错误攻击。被动攻击只是观察芯片处理数据的行为,收集可利用的侧信道信息,而不去干扰芯片的操作。被动攻击也可是入侵型攻击,因为可能需要打开芯片,以便于更好地收集信息。 入侵型攻击 一般的篡改方法:对智能卡的主动攻击主要包括以下几个方面。 (1)解包装 (2)重建线路图 (3)探针工作站 (4)使用高级光技术 智能卡 解包装 重新包装 入侵型攻击 保护措施 智能卡上通常覆盖着钝化层,以防攻击者观察智能卡的操作行为,但这种保护对于一个装备精良的攻击者来说是不够的。还有一些智能卡装有检测器,在实际电路外包裹一层金属层,构成一个不加载敏感数据的检测网。检测网一旦断开或者短路,智能卡就拒绝处理并破坏敏感数据。类似地,对时钟频率进行监测,在不正常的低频率或高频率下,芯片将拒绝操作。但不幸的是,这些保护措施同样具有弱点。 错误攻击 简单错误分析攻击 差分错误分析(DFA)攻击 错误引入 错误攻击的对策 简单错误分析攻击 对使用中国剩余定理(CRT)的RSA的简单错误分析攻击 设m是待签名的信息,p、q是两个秘密素数,n=p q是公开的模数,d和e是私有和公开的指数。 mp=m mod p mq=m mod q dp=d mod ( p-1 ) dq=d mod ( q-1 ) xp= xq= s=chinese (xp,xq )=q ( q –1 mod p ) xp +p ( p – 1 mod q ) xq mod n return s 简单错误分析攻击 假设在计算xp或xq时发生错误,比如在计算xp时,得到一个错误的结果xp,那么由xp和xq得到的签名结果s’将满足: s’ e≡m mod q, s’ e≠m mod p。 于是,计算gcd (( s’ e-m ) mod n, n ),从而得到秘密指数q。正如我们看到的,获得一个错误的签名就可以很容易地伪造任何签名。 差分错误分析(DFA)攻击 Biham和Shamir指出在数据加密标准(DES)的实现中,如果寄存器发生错误,DES很容易被攻破。他们的攻击方法结合了差分分析和错误分析,因此称之为差分错误分析。 DES的执行过程 INPUT:M,K OUTPUT:C=DESK ( M ) derive the subkeys K1,K2,?,K16 from K L0R0 ? IP(M) for i=1?16 do Li ? Ri – 1 Ri ? Li – 1 ? f(Ri – 1, Ki) C ? FP(R16L16) return C 差分错误分析(DFA)攻击 在DES执行过程中,假设存放Ri?1和Li?1的寄存器的单个位出现翻转,这些错误将影响中间结果,并最终得到错误的输出。在以下的讨论中,我们假设错误的加密结果来自Ri?1的某个位翻转。 为了发起Biham和Shamir的攻击,敌手需要从智能卡得到一些明文(可能未知)的两个加密结果。一个是在正常的运行环境下得到的正确的密文C,另一个是在特殊环境下致使寄存器发生错误而得到的错误的密文C’。 利用FP的逆(即初始置换IP),敌手能够通过C得到R16 L16,通过C’得到R’16 L’16。进一步,由于L16=R15。所以敌手也能够获得R15和R’15。如果寄存器错误出现在第16轮开始的位置,那么R15 ? R’15将正确地揭示出R’15的哪一位翻转了。 由于L15=L’15,并且获得了R15 ? R’15的值,因此能够确定S-盒的输入差分;根据R16 L16和R’16 L’16的值,能

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档