Page 223 - 数码世界6月整本
P. 223
技术交流
效率较低导致较长的采集时间,而且由于其探测器孔径 实验过程中,设定 AT89C52 微控制器的时钟频率为
较大也导致了较高的暗噪声,使其对外界干扰十分敏感; 12MHz。为验证密码芯片光辐射的操作依赖性和数据依
对于雪崩二极管而言,由于其孔径尺寸较小,能对集成 赖性,在开封后的 AT89C52 微控制器上执行如图 4 所示
电路的局部小区域进行探测,探测结果更加精确,大大 指令,通过计算机发送不同数据到 #LOW 单元改变微控
降低了信噪比,但其高的按电流和近红外区域灵敏度比 制器执行的数据。程序汇编代码前两指令是取出计算机
较低。对于现今集成度较高的半导体芯片,针对特定区 发送的数据到累加器 A 中。程序中异或指令(XRL)和
域进行比较精确的分析是十分必要的,所以实验我们选 条件转移指令(SJMP)各需要两个机器周期执行,其余
用雪崩二极管作为单光子探测器。 指令各需要一个机器周期执行,每个机器周期 1μs,测
2.3 依赖性分析 试程序周期共计 10μs。
密码芯片的光子辐射依赖于芯片执行的指令操作 4 实验分析
(操作依赖性)和处理的数据(数据依赖性),这两种
4.1 电压对光辐射影响
依赖性在分析密码芯片的秘密信息是十分重要的。密码
芯片的光辐射数量取决于晶体管翻转次数,因此,密码 实验过程中,让微控制器芯片执行相同指令、处理
芯片在执行不同的指令操作时,发生翻转的晶体管位置、 相同数据并采集相同时间间隔的光辐射信号,改变微
数目都有差异,导致发生光子辐射的时机不同;对于同 控制器工作电压,发现微控制器光辐射数量差异很大,
一指令执行不同数据时,发生翻转的晶体管数目不同, 电压越高,光辐射越高。对 AT89C52 微控制器进行的
导致其光子辐射数量也不同。根据这些差异能够体现出 一组实验表明,工作电压与光辐射是近似指数关系而
光辐射信息与操作和数据的依赖关系,找出这种依赖关 不是线性。
系就能够针对具体的算法进行光辐射攻击,进而可以通 4.2 操作依赖性分析
过对密码算法密钥进行假设,通过简单分析、差分分析 实验中微控制器执行图 4 所示指令,示波器从程序
等分析方法对具体密码算法进行分析。 CH2 给出上升沿触发(对应程序指令为 XRLP1,#08H 开始)
3 实验装置 开始采集接受单光子探测器给 CH1 的光辐射信息,示波
器将 10μs 的程序周期分为 1000 个通道(每隔 10μs
3.1 光电系统 记录一次),光子按照到达单光子探测器的时间分布在
实验选用硅基雪崩二极管作为探测密码芯片的单光 这 1000 个通道上。单光子探测器通过光纤对准微控制
子探测器,该硅基单光子探测器能够捕获 400nm-1060nm 器 SRAM 区域 R7 寄存器,采集 2h。发现各个指令执行过
波长的光子,其对可见光部分有较高的采集效率。实验 程中辐射的光子数是不相同的,说明密码芯片光辐射与
光电系统如图 1 所示,通过计算机控制被测设备进行工 指令操作有关。
作控制输入的数据,将单光子探测器探测端通过光纤光 4.3 数据依赖性分析
学连接到被测设备上,输出端连接到示波器 CH1 通道,
在某一时刻密码芯片光辐射情况不但依赖于指令,
将被测设备触发管脚连接到示波器 CH2 通道,为采集提
同时也依赖于被处理的数据,为获知微控制器处理不同
供同步信号,示波器采集数据通过 Labview 存储到计算
数据的光辐射特征,实验针对 AT89C52 微控制器 R7 寄
机中。
存器进行探测。实验每次改变 R7 寄存器值前将 R7 设置
3.2 被测设备 00,确保每次变换是从 00 翻转到某个数值的,而后分
要利用单光子探测器对安全芯片进行光辐射探测, 别将 R7 值改变为 00,01,03,07,0F,1F,3F,7F,
首先需要使密码设备内部芯片暴露出来。这里我们对 FF,对应寄存器 R7 晶体管依次翻转 0-8 位,对指令
ATMEL 公司生产 AT89C52 微控制器进行解封,它具有 8K MOVR7,通过观察可知当寄存器翻转位数越多辐射光子
字节的 Flash 程序存储器和 256 字节的内部数据存储器 数越多。
SRAM。
5 结语
通过分析芯片的基本结构,能够清楚地识别各部分
功能模块,能够标定出 SRAM、Flash 存储器、数据总线 本文针对执行 MOV 指令微控制器光辐射进行了操作
和地址总线等,为测量寻找采集位置提供帮助。本文主 和数据相关性分析,验证了光辐射与安全芯片内的相关
要利用单光子探测器对芯片内部 SRAM 区域内寄存器进 信息存在一定的依赖性,为后续使用光辐射分析方法分
行探测。 析具体的密码算法打下良好基础,同时证明了光辐射分
析对安全芯片构成了严重的威胁。
3.3 实验程序及软件
112... ...113