第10章 密码学侧信道攻击

上传人:我*** 文档编号:137625278 上传时间:2020-07-10 格式:PPT 页数:43 大小:2.87MB
返回 下载 相关 举报
第10章 密码学侧信道攻击_第1页
第1页 / 共43页
第10章 密码学侧信道攻击_第2页
第2页 / 共43页
第10章 密码学侧信道攻击_第3页
第3页 / 共43页
第10章 密码学侧信道攻击_第4页
第4页 / 共43页
第10章 密码学侧信道攻击_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《第10章 密码学侧信道攻击》由会员分享,可在线阅读,更多相关《第10章 密码学侧信道攻击(43页珍藏版)》请在金锄头文库上搜索。

1、1,第10章:密码学侧信道攻击,基本概念,侧信道密码分析(Side Channel Attack)利用密码系统实现时泄露的额外信息,推导密码系统中的秘密参数。 计算错误、执行时间、能量消耗、电磁辐射 攻击与具体的实现有关,因此不是通用的,但比古典密码分析更强大,能够在极少的时间内攻破密码系统,被认为是对密码实现设备的严重威胁 美国评估AES过程中,密码学界就打成共识:即使密码算法对传统密码分析是安全的,但如果不能安全的实现,该算法也是无用的,2020/7/10,计算机科学与技术学院,2,侧信道攻击的模型,2020/7/10,计算机科学与技术学院,3,2020/7/10,计算机科学与技术学院,4

2、,在断电冷冻30秒和60秒的RAW中的图像,2020/7/10,计算机科学与技术学院,5,侧信道攻击的分类,侧信道攻击可以分为入侵型、非入侵型和半入侵型攻击 入侵型攻击通过特殊工具对设备进行物理篡改。需打开卡片直接访问芯片表面,如揭开智能卡保护层,直接在数据总线上连线,观察数据传输。可不干扰芯片正常操作 非入侵型攻击只利用暴露在外部的可用信息,如运行时间、能量消耗等 半入侵型攻击也需要打开卡片,访问芯片表面,但不去篡改钝化层,也就是对金属表面不需要电接触,2020/7/10,计算机科学与技术学院,6,侧信道攻击还可以分为主动攻击和被动攻击 主动攻击是指攻击者篡改芯片的正常操作功能,例如在芯片计

3、算过程中引入错误,发起错误攻击 被动攻击只是观察芯片处理数据的行为,收集可利用的侧信道信息,而不去干扰芯片的操作。被动攻击也可能是入侵型攻击,因为可能需要打开芯片,以便于更好地收集信息,2020/7/10,计算机科学与技术学院,7,入侵型攻击,一般的篡改方法: 解包装 重建线路图 探针工作站 使用高级光技术,2020/7/10,计算机科学与技术学院,8,智能卡,2020/7/10,计算机科学与技术学院,9,解包装,2020/7/10,计算机科学与技术学院,10,重新包装,Probing with eight needles,2020/7/10,计算机科学与技术学院,11,Sub micron

4、probe station,入侵型攻击,保护措施 智能卡上通常覆盖着钝化层,以防攻击者观察智能卡的操作行为,但这对装备精良的攻击者来说是不够的 有一些智能卡装有检测器,在实际电路外包裹一层金属层,构成一个不加载敏感数据的检测网。检测网一旦断开或者短路,智能卡就拒绝处理并破坏敏感数据 对时钟频率进行监测,在不正常的低频率或高频率下,芯片将拒绝操作 不幸的是,这些保护措施同样具有弱点,2020/7/10,计算机科学与技术学院,12,错误攻击,错误攻击考虑篡改设备上的密码系统,观察密码设备的一些错误操作,期望从错误行为的结果中推导出秘密参数 Boneh、DeMillo和Liption首次给出了基于计

5、算错误分析密钥的错误攻击,并攻击了RSA系统 错误攻击的例子: 简单错误分析攻击 差分错误分析(DFA)攻击,2020/7/10,计算机科学与技术学院,13,简单错误分析攻击,2020/7/10,计算机科学与技术学院,14,简单错误分析攻击,2020/7/10,计算机科学与技术学院,15,差分错误分析(DFA)攻击,2020/7/10,计算机科学与技术学院,16,差分错误分析(DFA)攻击,2020/7/10,计算机科学与技术学院,17,如何引入错误?,通过改变智能卡的执行环境能够在智能卡中引入错误。可以使用以下途径: 电压 时钟 温度 辐射 光 涡电流,2020/7/10,计算机科学与技术学

6、院,18,错误攻击的对策,密码设备首先验证操作的结果,只有当结果正确的时候才输出结果。验证需要额外的操作,势必损失效率 DES加密,可以对明文加密两次,如果两次加密结果相同便认为加密过程没有出现错误,也可以使用解密操作验证DES密文正确性 随机化操作也可以抵抗错误攻击 对于RSA算法,首先对信息使用随机位填充,然后再进行加密或签名 智能卡可以采用入侵检测和自检测对付错误引入,2020/7/10,计算机科学与技术学院,19,时间攻击的基本原理,Protocol, smartcard, ,Implementation,Secret,Question,Answer,Time difference,2

7、020/7/10,计算机科学与技术学院,20,对平方-乘算法的时间攻击,2020/7/10,计算机科学与技术学院,21,对平方-乘算法的时间攻击,如果攻击者能够观察并比较平方-乘算法中循环迭带的执行时间,将能推导出对应的指数位 将其应用到RSA签名操作,便能揭示出签名者的私钥 Kocher时间攻击描述了攻击者利用算法的全部执行时间推导私钥,被动攻击者可以很容易观察到全部执行时间,2020/7/10,计算机科学与技术学院,22,对平方-乘算法的时间攻击,2020/7/10,计算机科学与技术学院,23,对平方-乘算法的时间攻击,2020/7/10,计算机科学与技术学院,24,时间攻击的对策,202

8、0/7/10,计算机科学与技术学院,25,能量分析攻击基本原理,2020/7/10,计算机科学与技术学院,26,2020/7/10,计算机科学与技术学院,27,简单能量分析(SPA)攻击,直接分析密码设备操作时的能量消耗,从单个能量消耗曲线中推导出秘密参数信息 由于SPA能够揭示出执行的指令序列,所以能够用来破解执行路径依赖于处理数据的密码系统 当不同的操作具有不同的能量消耗,或者同一种操作的不同操作数具有不同的能量消耗时,密码系统容易遭受SPA攻击。容易遭受SPA攻击过程有: 密钥循环移位 模乘:例如得到平方操作(S)、乘(M)操作序列是SMSSSMSMSSSSMSMS,则对应的指数是100

9、11000110 置换 比较,2020/7/10,计算机科学与技术学院,28,简单能量分析(SPA)攻击,实验发现在访问操作数时,能量消耗与操作数的Hamming权值相关。对于敌手来说,操纵密钥位时的能量消耗具有特别的意义,从一条能量消耗曲线中就能够推出密钥的某些部分的Hamming权值 如果攻击者知道密钥的每个kn-bit字的Hamming权值,那么蛮力搜索空间将从2kn降低为,2020/7/10,计算机科学与技术学院,29,简单能量分析(SPA)攻击,以DES 为例, n = 8, k = 7,256个密钥降低为 240,2020/7/10,计算机科学与技术学院,30,差分能量分析(DPA

10、)攻击,差分能量分析:敌手需要两个阶段 数据收集: 收集密码设备使用同一个密钥和不同的输入时执行加密操作的能量迹,同时敌手还需要截获最终生成的密文 数据分析: 使用统计分析和错误相关技巧推导与密钥相关的信息,2020/7/10,计算机科学与技术学院,31,差分能量分析(DPA)攻击,2020/7/10,计算机科学与技术学院,32,差分能量分析(DPA)攻击,对乘幂系统的DPA,Messerges等人指出可被攻破的三种类型的场景: SEMD:单指数、多数据 MESD:多指数、单数据 ZEMD:零指数、多数据 高阶DPA是DPA的重要进展,2020/7/10,计算机科学与技术学院,33,能量攻击的

11、对策,消除与秘密参数相关的条件分支 如果能量消耗与操作数相关,可以使用秘密共享中的门限方案,把操作数分解成多个“影子”并分别处理,在这种情况下,可使用高阶DPA进行攻击,但多个“影子”有效地增加了噪音,从而增加攻击难度;也降低了系统的性能 插入随机计算是一种对付DPA的通用方法。例如在执行加密时,随机地插入虚假运算,从而每次加密都产生不同的能量迹,加大DPA的难度 将硬件组件(如电容)增加到智能卡的能源线上,使外部电源不直接连接内部芯片,从而降低能量消耗与内部操作的相关性,以此过滤、平滑能量消耗特征,减低能量消耗偏差,增加DPA攻击所需的能量迹,2020/7/10,计算机科学与技术学院,34,

12、电磁攻击,电荷的运动都伴随着电磁场。基于电磁的分析为远距离攻击提供了一条途径 测量的电磁辐射信息可采用与能量分析相同的方式,如简单电磁分析(SEMA)、差分电磁分析(DEMA)。电磁辐射包含多样信号,每种信号泄露不同的信息 如同能量攻击,电磁攻击需要样本采集设备,如数字示波器或基于PC的数字样本卡。电磁攻击设备的关键组成部分是电磁接受/调制器 时间攻击、能量攻击和电磁攻击可看成时不同维数的侧信道。时间攻击是一维的,只测量运行时间;能量攻击是两维的,在每个测量单位内测量一系列的能量消耗值;电磁攻击是多维的,在每个测量单位内可以在不同的位置测量一系列的电磁辐射信息,2020/7/10,计算机科学与

13、技术学院,35,其它侧信道攻击,故障攻击 基于缓存的攻击 基于扫描的攻击 光学辐射攻击 基于频率的攻击 声音攻击 组合攻击,2020/7/10,计算机科学与技术学院,36,基于缓存的攻击,绝大多数计算机均在CPU和内存之间增加CPU缓存(Cache),可以显著地提高程序的平均执行性能 然而,如果CPU访问Cache中不存在的数据时,则会产生时间延迟,因为目标数据必须重新从内存加载到Cache中 基于缓存的侧信道攻击的基本原理:测量这种时间延迟有可能让攻击者确定出Cache访问失败的发生和频率,2020/7/10,计算机科学与技术学院,37,故障攻击,在绝大多数情况下,我们可能不会也不必去质疑安

14、全设备与模块的安全性是否依赖于执行算法的设备自身的可靠性 但是,发生在密码模块操作期间的硬件故障和错误已经被证明会严重危害密码实现的物理安全性。这些错误行为或输出完全可能成为重要的侧信道,有时甚至会显著地增加密码实现的脆弱性 利用密码设备/模块计算过程中出现的软、硬件故障信息及相关输出的攻击称为故障攻击,2020/7/10,计算机科学与技术学院,38,基于扫描的攻击,边界扫描测试是芯片设计领域常用的一种功能强大的测试方法,该方法于1990年被IEEE标准组织采纳为国际标准 使用边界扫描测试可以对芯片故障进行定位,以便迅速、准确地测试出两个芯片管脚间的连接是否可靠,从而提高测试检验效率 但是,这

15、项技术也被证明是一把“双刃刀”:可被用作一种有效的攻击手段,2020/7/10,计算机科学与技术学院,39,光学辐射攻击,实验证明:CRT漫反射的平均亮度足够用于重构出CRT上显示的信号信息 这种攻击的一个显著特征是不需要与被攻击对象进行任何形式的物理接触,既可以恢复出原始的数据信息,2020/7/10,计算机科学与技术学院,40,基于频率的攻击,差分频率分析实质上是差分能量分析方法的一种变形,其基本思想是利用频域内的差分能量频谱密度信号,而非时域差分能量信号 基于频率的攻击的主要目标是针对嵌入式移动设备,例如PDA、移动电话和传呼机等,2020/7/10,计算机科学与技术学院,41,声音攻击,Shamir等人最近的研究工作证实:处理器的声音特征与其计算之间确实存在着某种相关性 Peter Wright于1965年实施过的攻击分析方法可以视作最早的声音攻击之一,但是,目前这一领域的研究成果很少,2020/7/10,计算机科学与技术学院,42,组合攻击,近年来,组合攻击成为了侧信道攻击研究的一个热点 组合攻击可以分为两大类: 侧信道组合攻击,即综合多种侧信道实施的攻击方法 侧信道与传统数学分析方法相结合的攻击方法,2020/7/10,计算机科学与技术学院,43,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号