Page 222 - 数码世界6月整本
P. 222

技术交流
                                                                            效率较低导致较长的采集时间,而且由于其探测器孔径                                实验过程中,设定 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
   217   218   219   220   221   222   223   224   225   226   227