英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
工业技术与管理科学国际会议(ITMS 2015)
单片机的光侧信道攻击
摘要:光侧信道攻击是针对密码芯片的一种新的攻击方法,如实现公共密码算法的单片机。本文提出了两种光侧信道攻击:主动攻击和被动攻击。首先,我们在AT89C52单片机上实现了针对密码算法的光故障注入攻击,并演示了如何利用攻击下的秘密信息。然后,对AT89C52单片机进行了光子发射相关性分析,揭示了操作/数据与指令级光子发射的相关性。实验结果表明,光侧信道攻击对密码芯片构成了严重的威胁。
关键词:光侧通道攻击;光故障注入攻击;光子发射分析;AES;单片机;AT89C52
1 导言
诸如运行密码算法的单片机之类的密码芯片被用来保护敏感信息的机密性和完整性。侧通道攻击可以从设备获取机密信息。一种攻击称为被动攻击[1]。为了获得敏感数据,我们收集了侧信道信息,如功耗[2]、电磁辐射[3-4]、定时信息[5-6]和光发射
[7] 被正在运行的密码芯片泄露的。实现被动侧信道攻击的有效方法是在密码芯片操作密码数据时测量泄漏信号,并利用统计方法提取秘密信息。另一种攻击称为主动攻击[1],它通过改变外部或内部条件来干扰设备,从而影响系统的正常工作。由于这些异常情况,计算中出现了错误。因此,可以通过对故障的响应来提取密码芯片的秘密信息。侧信道攻击模型如图1所示。
光侧信道分析是一种半侵入式的新型攻击。这种攻击需要将密码芯片从其包中解封。光故障注入攻击是一种典型的针对密码芯片的主动故障注入攻击,最早于2002年提出[8]。这种主动光故障注入攻击威胁到密码芯片,可用于攻击AES、RSA等常用的公共密码算法。光子发射分析是一种被动攻击,最早于2008年提出[7],它收集正在运行的密码芯片的发射光子进行旁道分析,允许选择密码芯片的特定部分进行深入分析,与集中于密码芯片的全系统侧信道信息泄漏。
图1.侧信道攻击模型
介绍了一种针对AT89C52单片机的光故障注入攻击。利用紫外光照射被剥离的单片机的非易失性存储器,实现了芯片存储器的擦除。因此,通过操纵256位S-box表的AES软件实现可能受到攻击。
针对光子发射分析,本文针对AT89C52单片机MOV指令执行,验证了光子发射与单片机操作和数据之间的关系,为后续研究利用AES、RSA算法进行光子发射分析奠定了基础。
2 光故障注入攻击
2.1 单片机与算法
2.1.1 AT89C52型
单片机AT89C52由8位算术逻辑单元、8K字节的系统可编程闪存和256字节的内部SRAM存储器组成。它是一款采用Atmel高密度非易失性存储器技术制造的高性能低功耗CMOS微处理器。芯片已经拆了包装。因此我们可以用特殊的光照射芯片。图2显示了模具AT89C52区域的退包和缩放特征。
图2。在89C52上卸下并缩放
2.1.2 CRT-RSA算法
常见的RSA加密过程如下:
-
-
- Choose two large primes p and q, p ne;q;
- Compute n=pq;
-
3) Compute phi;(n) = (p-1)(q-1);
- Choose e:1lt;elt;phi;(n,gcd(e, phi;(n))=1;
- Compute d: ed equiv;1( mod phi;(n) );
- Public key: {e, n};
- Private key: {d, n};
8) Plaintext: Misin;Zn = {0, 1, ... , n-1};
9) Ciphertext: C= M e (mod n);
2.1.3 AES算法
AES-128由我们实现。AES是在一个4x 4字节数组(称为state)上操作的。AES密码被指定为用于将明文转换为密文的转换轮的多次重复。每一轮由几个处理步骤组成,AES加密的过程如图3所示。
图3.AES加密过程
2.2 AES的紫外故障注入攻击
2.2.1 闪存的紫外线照射
闪光灯可以通过紫外线照射来擦除。实验证明,AT89C52闪存可以通过紫外线消毒的方式进行擦除,擦除位数由曝光时间决定。另外,我们在Flash存储器的正面加了一种防紫外线油墨,可以防止紫外线对存储器内容的擦除。因此,我们可以利用这个特性来控制对闪存的更精确的攻击。最后,我们得到了预期的错误。紫外线照射AT89C52密码芯片的非易失性存储器如图4所示。紫外线照射条件下闪存字节的变化百分比如图5所示。
图4.紫外线故障注入系统
图5.闪存字节更改百分比
2.2.2 实战攻击
在AT89C52闪存中编写了一个使用固定S盒表的AES实现程序,并作为实验对象。提出了一种特殊的策略,使S盒只发生一个字节的翻转。AT89C52通过串行端口连接到PC机以实现AES。经过3500次AES加密,得到16对密文,只有一个字节不同,并且利用了初始密钥。
由于电子获得的能量不同,导致光子辐射光谱不同,发射光子的光谱范围在500nm到1200nm之间,最大发射波长在900nm到1100nm之间[9]。CMOS电路开关晶体管的光子发射是一个概率事件,这意味着并非每个开关都必须发射光子。每个晶体管翻转的光子发射概率公式如下:
Initialize Di, j 1 , i, j {0,...,3}
while Di, j 1 doif (ciphertext only one byte different )
Di , j Ci, j
end if end while
C=AES(random(plaintext))
For Rightvalue 0; Rightvalue 256; Rightvalue
Ki, j Di, j Rightvalue
Kinitial =Invert ( K )
i, j
i, j
Ccompare AES(M , Kinitial )
i, j
i, j
If ( Cr Ccompare )Key Kinitial
return Key
2.3 总结
本文介绍了在AT89C52单片机上实现的对AES的紫外光攻击和对CRT-RSA的激光攻击的实际攻击和结果。实际上,这些攻击很容易设置,而且成本很低。这些密码芯片的安全受到了光故障注入攻击的威胁,这给密码芯片的安全带来了前所未有的挑战。
3 光子发射相关性分析
3.1 光子发射、探测和处理
3.1.1 CMOS电路光子发射机理
大多数半导体集成电路是在COMS结构的基础上构建的,它以互补晶体管为基本元件。当晶体管状态被切换时,由电子跃迁产生的电流会引起热效应,从而发射光子[9]。标准COMS逆变电路由一对n-MOS和p-MOS晶体管组成,当其输出由高变低时,n沟道晶体管发射光子,而p沟道晶体管发射光子。
在我们的实验中,我们使用硅基APD作为单光子探测器[12]。利用时间相关单光子计数(TCSPC)技术对光子辐射信号进行处理,设计并搭建了基于单光子计数的单片机光子发射检测、传输、处理和分析实验系统。
3.1.3 TCSPC原理
被测辐射源的光子强度较低,在信号采集周期内检测到光子的概率远小于1,即在一段时间内最多只有一个光子信号到达SPAD光子探测器,每个光子到达探测器的时间不同;在高重复频率重复同步采样后,我们可以建立光子和到达时间的统计分布直方图。TCSPC的原理如6[14]所示。TCSPC技术具有很高的灵敏度,基于它能达到的时间通道数量
秒时间分辨率。
图6.TCSPC原理
3.1.4 密码芯片的光子发射依赖性
光子发射分析攻击可以通过在运行时从密码芯片中收集和分析光子辐射轨迹特征来获取秘密信息。这主要使用两种光子发射依赖:操作依赖和数据依赖。也就是说,瞬态光子发射取决于密码芯片数据的操作和处理。
3.2 实验装置
3.2.1 基于TCSPC的光电实验系统
我们使用硅基单光子APD(SPAD)作为单光子探测器来检测密码芯片的光子发射。硅基SPAD可以捕获400nm到1060nm波长的光子,对可见光部分具有很高的收集效率。光电实验系统如图7所示。
图7.光电实验系统
TCSPC数据采集与处理模块接收SPAD的输出信号,根据到达时间记录在4096通道上。计算机1通过串行口向AT89C52发送不同的信息,控制AT89C52执行相关的测试程序并处理相关数据。TCSPC模块安装在计算机2上,利用和TCSPC技术存储数据,进行光子信号处理和光子发射分析。
3.2.2 测试中的单片机
作为实验中测试的芯片,AT89C52的工作时钟频率为12MHz,工作周期为1毫秒,所执行的指令和数据是定制的。外部计算机通过RS232接口与AT89C52通信,控制由AT89C52执行的指令和数据。AT89C52通过RS232接口接收明文数据,并将加密后的密文发送回外部计算机。观察和分析的主要区域在SRAM存储器区域。
应卸下AT89C52,图2显示了使用高分辨率光学显微镜相机卸下AT89C52的芯片表面图像。在我们的实验中,我们使用单光子探测器来检测芯片SRAM区域中的寄存器,图8显示了缩放的SRAM。
图8.缩放SRAM区域
3.2.3 实验程序
为了验证密码芯片光子发射的指令级操作依赖性和数据依赖性,AT89C52执行的汇编过程如图9所示,主要集中在MOV指令及其操作数的分析上。XOR指令(xr)和条件
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[608428],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。