单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2024/11/18,计算机科学与技术学院,1,第,10,章:,密码学侧信道攻击,2023/9/14计算机科学与技术学院1第10章:密码学侧,基本概念,侧信道密码分析(,Side Channel Attack,),利用密码系统,实现,时,泄露的额外信,息,推导密码系统中的秘密参数。,计算错误、执行时间、能量消耗、电磁辐射,攻击与具体的实现有关,因此,不是通用,的,但比古典密码分析更强大,能够在极少的时间内攻破密码系统,被认为是对,密码实现设备,的严重威胁,美国评估,AES,过程中,密码学界就打成共识:即使密码算法对传统密码分析是安全的,但如果不能,安全的实现,,该算法也是无用的,2024/11/18,计算机科学与技术学院,2,基本概念 侧信道密码分析(Side Channel Atta,侧信道攻击的模型,2024/11/18,计算机科学与技术学院,3,侧信道攻击的模型2023/9/14计算机科学与技术学院3,2024/11/18,计算机科学与技术学院,4,2023/9/14计算机科学与技术学院4,在断电冷冻30秒和60秒的RAW中的图像,2024/11/18,计算机科学与技术学院,5,在断电冷冻30秒和60秒的RAW中的图像2023/9/14计,侧信道攻击的分类,侧信道攻击可以分为入侵型、非入侵型和半入侵型攻击,入侵型攻击,通过特殊工具对设备进行物理篡改。需打开卡片直接访问芯片表面,如揭开智能卡保护层,直接在数据总线上连线,观察数据传输。可不干扰芯片正常操作,非入侵型攻击,只利用暴露在外部的可用信息,如运行时间、能量消耗等,半入侵型攻击,也需要打开卡片,访问芯片表面,但不去篡改钝化层,也就是对金属表面不需要电接触,2024/11/18,计算机科学与技术学院,6,侧信道攻击的分类侧信道攻击可以分为入侵型、非入侵型和半入侵型,侧信道攻击还可以分为主动攻击和被动攻击,主动攻击,是指攻击者篡改芯片的正常操作功能,例如在芯片计算过程中引入错误,发起,错误攻击,被动攻击,只是观察芯片处理数据的行为,收集可利用的侧信道信息,而不去干扰芯片的操作。被动攻击也可能是入侵型攻击,因为可能需要打开芯片,以便于更好地收集信息,2024/11/18,计算机科学与技术学院,7,侧信道攻击还可以分为主动攻击和被动攻击2023/9/14计算,入侵型攻击,一般的篡改方法,:,解包装,重建线路图,探针工作站,使用高级光技术,2024/11/18,计算机科学与技术学院,8,入侵型攻击 一般的篡改方法:2023/9/14计算机科学与技,智能卡,2024/11/18,计算机科学与技术学院,9,智能卡2023/9/14计算机科学与技术学院9,解包装,2024/11/18,计算机科学与技术学院,10,重新包装,解包装2023/9/14计算机科学与技术学院10重新包装,Probing with eight needles,2024/11/18,计算机科学与技术学院,11,Sub micron probe station,Probing with eight needles2023,入侵型攻击,保护措施,智能卡上通常覆盖着,钝化层,,以防攻击者观察智能卡的操作行为,但这对装备精良的攻击者来说是不够的,有一些智能卡装有,检测器,,在实际电路外包裹一层金属层,构成一个不加载敏感数据的检测网。检测网一旦断开或者短路,智能卡就拒绝处理并破坏敏感数据,对时钟频率进行监测,,在不正常的低频率或高频率下,芯片将拒绝操作,不幸的是,这些保护措施同样具有弱点,2024/11/18,计算机科学与技术学院,12,入侵型攻击保护措施 2023/9/14计算机科学与技术学院1,错误攻击,错误攻击,考虑篡改设备上的密码系统,观察密码设备的一些错误操作,期望从错误行为的结果中推导出秘密参数,Boneh,、,DeMillo,和,Liption,首次给出了基于计算错误分析密钥的错误攻击,并攻击了,RSA,系统,错误攻击的例子:,简单错误分析攻击,差分错误分析(,DFA,)攻击,2024/11/18,计算机科学与技术学院,13,错误攻击 错误攻击考虑篡改设备上的密码系统,观察密码设备的一,简单错误分析攻击,2024/11/18,计算机科学与技术学院,14,简单错误分析攻击 2023/9/14计算机科学与技术学院1,简单错误分析攻击,2024/11/18,计算机科学与技术学院,15,简单错误分析攻击2023/9/14计算机科学与技术学院15,差分错误分析(DFA)攻击,2024/11/18,计算机科学与技术学院,16,差分错误分析(DFA)攻击 2023/9/14计算机科学与,差分错误分析(DFA)攻击,2024/11/18,计算机科学与技术学院,17,差分错误分析(DFA)攻击2023/9/14计算机科学与技,如何引入错误?,通过改变智能卡的执行环境能够在智能卡中引入错误。可以使用以下途径:,电压,时钟,温度,辐射,光,涡电流,2024/11/18,计算机科学与技术学院,18,如何引入错误?通过改变智能卡的执行环境能够在智能卡中引入错,错误攻击的对策,密码设备,首先,验证,操作的结果,,只有当结果,正确的时候才输出结果,。验证需要额外的操作,势必,损失效率,DES,加密,可以对明文加密两次,如果两次加密结果相同便认为加密过程没有出现错误,也可以使用解密操作验证,DES,密文正确性,随机化操作,也可以抵抗错误攻击,对于,RSA,算法,首先对信息使用随机位填充,然后再进行加密或签名,智能卡可以采用,入侵检测和自检测,对付错误引入,2024/11/18,计算机科学与技术学院,19,错误攻击的对策密码设备首先验证操作的结果,只有当结果正确的时,时间攻击的基本原理,Protocol,smartcard,Implementation,Secret,Question,Answer,Time,difference,2024/11/18,计算机科学与技术学院,20,时间攻击的基本原理Protocol,smartcard,对平方-乘算法的时间攻击,2024/11/18,计算机科学与技术学院,21,对平方-乘算法的时间攻击 2023/9/14计算机科学与技,对平方-乘算法的时间攻击,如果攻击者能够观察并比较平方,-,乘算法中循环迭带的执行时间,将能推导出对应的指数位,将其应用到,RSA,签名操作,便能揭示出签名者的私钥,Kocher,时间攻击,描述了攻击者利用算法的全部执行时间推导私钥,被动攻击者可以很容易观察到全部执行时间,2024/11/18,计算机科学与技术学院,22,对平方-乘算法的时间攻击如果攻击者能够观察并比较平方-乘算法,对平方-乘算法的时间攻击,2024/11/18,计算机科学与技术学院,23,对平方-乘算法的时间攻击2023/9/14计算机科学与技术,对平方-乘算法的时间攻击,2024/11/18,计算机科学与技术学院,24,对平方-乘算法的时间攻击2023/9/14计算机科学与技术,时间攻击的对策,2024/11/18,计算机科学与技术学院,25,时间攻击的对策 2023/9/14计算机科学与技术学院25,能量分析攻击基本原理,2024/11/18,计算机科学与技术学院,26,能量分析攻击基本原理2023/9/14计算机科学与技术学院2,2024/11/18,计算机科学与技术学院,27,2023/9/14计算机科学与技术学院27,简单能量分析(SPA)攻击,直接分析密码设备操作时的能量消耗,从单个能量消耗曲线中推导出,秘密参数信息,由于,SPA,能够揭示出执行的指令序列,所以能够用来破解执行路径依赖于处理数据的密码系统,当不同的操作具有不同的能量消耗,或者同一种操作的不同操作数具有不同的能量消耗时,密码系统容易遭受,SPA,攻击,。容易遭受,SPA,攻击过程有:,密钥循环移位,模乘:例如得到平方操作,(,S,),、乘,(,M),操作序列是,SMSSSMSMSSSSMSMS,,则对应的指数是,10011000110,置换,比较,2024/11/18,计算机科学与技术学院,28,简单能量分析(SPA)攻击直接分析密码设备操作时的能量消耗,,简单能量分析(,SPA,)攻击,实验发现在访问操作数时,能量消耗与操作数的,Hamming,权值相关。对于敌手来说,操纵密钥位时的能量消耗具有特别的意义,从一条能量消耗曲线中就能够推出密钥的某些部分的,Hamming,权值,如果攻击者知道密钥的每个,kn-bit,字的,Hamming,权值,那么蛮力搜索空间将从,2,kn,降低为,2024/11/18,计算机科学与技术学院,29,简单能量分析(SPA)攻击实验发现在访问操作数时,能量消耗与,简单能量分析(SPA)攻击,以,DES,为例,,n,=8,k=7,,,2,56,个密钥降低为,2,40,2024/11/18,计算机科学与技术学院,30,简单能量分析(SPA)攻击以DES 为例,n=8,k,差分能量分析(DPA)攻击,差分能量分析,:敌手需要两个阶段,数据收集,:,收集密码设备使用同一个密钥和不同的输入时执行加密操作的能量迹,同时敌手还需要截获最终生成的密文,数据分析,:,使用统计分析和错误相关技巧推导与密钥相关的信息,2024/11/18,计算机科学与技术学院,31,差分能量分析(DPA)攻击 差分能量分析:敌手需要两个阶段2,差分能量分析(DPA)攻击,2024/11/18,计算机科学与技术学院,32,差分能量分析(DPA)攻击 2023/9/14计算机科学与技,差分能量分析(DPA)攻击,对乘幂系统的,DPA,,,Messerges,等人指出可被攻破的三种类型的场景:,SEMD,:单指数、多数据,MESD,:多指数、单数据,ZEMD,:零指数、多数据,高阶,DPA,是,DPA,的重要进展,2024/11/18,计算机科学与技术学院,33,差分能量分析(DPA)攻击对乘幂系统的DPA,Messerg,能量攻击的对策,消除与秘密参数相关的条件分支,如果能量消耗与操作数相关,可以,使用秘密共享中的门限方案,,把操作数分解成多个“影子”并分别处理,在这种情况下,可使用高阶,DPA,进行攻击,但多个“影子”有效地增加了噪音,从而增加攻击难度;也降低了系统的性能,插入随机计算,是一种对付,DPA,的通用方法。例如在执行加密时,随机地插入虚假运算,从而每次加密都产生不同的能量迹,加大,DPA,的难度,将硬件组件(如电容)增加到智能卡的能源线上,使外部电源不直接连接内部芯片,从而降低能量消耗与内部操作的相关性,以此过滤、平滑能量消耗特征,减低能量消耗偏差,增加,DPA,攻击所需的能量迹,2024/11/18,计算机科学与技术学院,34,能量攻击的对策 消除与秘密参数相关的条件分支2023/9/1,电磁攻击,电荷的运动都伴随着电磁场。基于电磁的分析为,远距离攻击,提供了一条途径,测量的电磁辐射信息可采用与能量分析相同的方式,如简单电磁分析(,SEMA,)、差分电磁分析(,DEMA,)。电磁辐射包含多样信号,每种信号泄露不同的信息,如同能量攻击,电磁攻击需要样本采集设备,如数字示波器或基于,PC,的数字样本卡。电磁攻击设备的关键组成部分是电磁接受,/,调制器,时间攻击、能量攻击和电磁攻击可看成时不同维数的侧信道。时间攻击是一维的,只测量运行时间;能量攻击是两维的,在每个测量单位内测量一系列的能量消耗值;电磁攻击是多维的,在每个测量单位内可以在不同的位置测量一系列的电磁辐射信息,2024/11/18,计算机科学与技术学院,35,电磁攻击 电荷的运动都伴随着电磁场。基于电磁的分析为远距离攻,其它侧信道攻击,故障攻击,基于缓存的攻击,基于扫描的攻击,光学辐射攻击,基于频率