APP下载

脉冲激光诱发SRAM 单粒子翻转的故障模型分析*

2021-03-03姜会龙韩建伟

密码学报 2021年6期
关键词:器件比特脉冲

李 悦, 朱 翔, 姜会龙,2, 韩建伟

1. 中国科学院国家空间科学中心, 北京 100190

2. 中国科学院大学, 北京 100049

1 引言

越来越多的现代硬件设备(例如手机、平板电脑和智能卡等)普遍存在安全和隐私保护问题. 为了达到较高的安全级别, 安全协议和复杂加密算法被广泛使用. 然而, 实现安全协议和复杂加密算法的系统硬件成为了当前攻击的主要目标之一. 在针对系统硬件的所有攻击类型中, 基于脉冲激光注入的故障攻击因其具有较高的时间和空间分辨性、能量连续可调, 被认为是最有潜力的故障攻击手段之一. 2017 年, Vasselle等[1]就通过利用激光诱导智能手机产生故障, 成功绕过了手机的安全启动. 一次成功的故障攻击与分析除了需要攻击者具备丰富的针对被攻击对象的软硬件知识, 还需要攻击者能准确控制或清楚知道注入的故障类型. 例如, 差分故障分析(DFA) 方法通过利用加密算法的错误输出和正确输出之间的差异来恢复加密密钥, 然而, DFA 的成功和效率在很大程度上取决于注入的故障模型.

基于脉冲激光的故障注入是产生错误的非常有效的手段. 然而, 针对大面积集成电路的简单激光故障攻击, 会同时触发多种故障类型, 很难对内部状态进行精确控制, 降低了攻击的有效性. 因此, 对于给定攻击目标, 掌握其故障触发概率与故障模型分布情况对开展有效故障攻击是十分必要的. 2002 年, Serger等[2]首次将激光作为故障注入手段, 对一款MCU 的SRAM 存储单元实现了任一比特的置位, 此后激光作为攻击密码设备的手段被研究者重视. 2007 年, Chugg 等[3]利用脉冲激光定位优势研究了不同工艺SRAM SEU 敏感区的分布特性. 2013 年, Roscian 等[4]和Lacruche 等[5]基于激光辐照实验和仿真两种方法开展故障模型研究, 其结果显示由脉冲激光引起的SRAM 故障类型为位置位(bit-set) 或位复位(bit-reset) 模型. 随着器件工艺尺寸不断缩小, 激光光斑尺寸可覆盖多个存储单元, 学者开始关注小尺寸工艺下的故障攻击是否还能实现单个激光注入下产生单比特故障类型. 为解答该问题, 2015 年, Selmke等[6,7]使用较小的激光光斑尺寸, 对65 nm 和45 nm 的FPGA 器件进行激光故障注入试验, 其研究结果表明, 激光注入在小尺寸器件下同样可以实现位置位或位复位故障注入, 并且具有足够的成功概率来对密码操作执行攻击. 当前, 应用激光到IC 安全领域的研究大部分集中于SRAM 存储单元敏感区域定位,而针对激光能量和存储数据类型对SRAM 故障模型的影响以及概率分布尚未有经验性结果发表. 一个已知的故障模型和其触发概率对于一个技术熟练的攻击者是十分必要的.

本工作利用高精度脉冲激光单粒子效应扫描测绘装置, 对两款不同工艺尺寸的商用SRAM 器件开展单粒子翻转故障模型试验研究, 全面评估和分析激光能量和存储数据类型对SRAM 器件故障触发概率和故障模型分布概率的影响, 为针对未知器件开展具有颠覆性的高精度故障注入建立可参考的故障模型与激光攻击试验流程方法.

2 注入原理与试验方案

2.1 脉冲激光注入原理

本节首先阐述脉冲激光诱发SRAM 存储单元数据位翻转的原理.

图1 是典型的六管SRAM 单元结构. 在正常工作时, 两对处于对角线状态MOS 管会分别处于开启和关断的状态, 其中处于关断状态的MOS 管漏极区域对光照敏感. 例如, 当存储单元的逻辑值为1 时, 即Q 为高电平而QB 为低电平, 此时P1 和N2 管处于开启状态而N1 和P2 管处于关断状态, 若对N1 管漏极区域辐照光子, 激发的电子会被N1 的漏极电场收集而空穴会被衬底收集, 收集的电子电流将拉低Q点电平, 与Q 连接的P2 和N2 管的栅极电压也被拉低, 造成N2 管关断而P2 管逐渐开启, QB 电平升高, P1 和N1 管的栅极电平也升高, 造成P1 管关断而N1 管逐渐开启, 最终Q 为低电平而QB 为高电平, 电路重新恢复稳定, 而逻辑值由1 变为0. 这种现象被称为单粒子翻转(single event upset, SEU). 因此, 利用激光改变SRAM 单元的存储信息需要辐照到关断状态的MOS 管漏极区域. 不同存储数据结构下的辐照敏感区域并不相同, 表1 为SRAM 单元在逻辑值为0 和1 状态时对应的SEU 敏感区域.

图1 典型六管SRAM 单元结构Figure 1 Typical six-tube SRAM cell structure

表1 典型六管SRAM 单元SEU 敏感区域列表Table 1 List of typical six-tube SRAM cell SEU sensitive areas

图2 是工艺尺寸与激光光斑直径的演变图. 由图可知, 随着器件工艺尺寸不断缩小, 激光光斑尺寸可覆盖多个存储单元, 单个脉冲激光注入可造成多个SRAM 单元同时发生翻转, 这种现象被称为多比特翻转(multiple bit upset, MBU). 纳米工艺时代下, SRAM 器件发生MBU 故障必将成为主流.

图2 工艺尺寸与激光光斑直径的演变[8]Figure 2 Evolution of technology size vs laser spot diameter of 1 μm [8]

2.2 脉冲激光试验装置

图3 为基于NI 工控机开发的能够实现针对典型SRAM 器件SEU 检测、移动台控制、位置数据读取以及激光实时触发的同步控制电路系统、操作和数据处理软件, 用于器件SEU 敏感区域的扫描测绘. NI工控机软件用于设置三维移动台的扫描间隔、扫描速度、被测器件的读写数据、对采集到的故障数据进行显示并绘图等功能; 由SRAM 型FPGA 构建的SEU 检测器用于根据NI 工控机的指令或通过实时检测移动平台脉冲来实现对被测器件的读写操作; SEU 检测器安装在三维移动平台上, 被测板卡通过以子板的形式安装在SEU 检测器上; 三维移动平台根据接收到的NI 工控机移动控制指令实现位置移动, 其最高移动精度可达0.1 μm; 可控脉冲激光发射器用于根据触发信号发射脉冲激光, 可产生1064 nm 的脉冲激光,脉冲宽度约为15 ps, 单光子能量为1.17 eV; CCD 相机用于采集被测器件衬底的CCD 图像.

图3 SRAM 器件SEU 敏感区域扫描测绘装置Figure 3 Scanning and mapping facility for SRAM device SEU sensitive area

2.3 试验流程

SRAM 器件SEU 敏感区域扫描测绘流程如图4 所示. 针对未知辐照性能和版图布局的被测器件, 可将扫描过程分为两个阶段: (1) 全芯片扫描: 采用较大扫描间隔(5 μm 或10 μm) 对全芯片区域进行扫描测绘, 用于获取器件翻转阈值和识别存储单元位置与形状; (2) 局部扫描: 采用较小扫描间隔(0.5 μm 或1 μm 或2 μm) 对发现的局部区域进行深度扫描测绘, 获得单个Cell 敏感区域与故障模型分布概率.

图4 SRAM 器件SEU 敏感区域扫描测绘流程图Figure 4 Flow diagram of SRAM device SEU sensitive area mapping and screening

3 试验结果及分析

表2 为选定的两款不同工艺尺寸被测SRAM 器件. 两款被测SRAM 器件均是陶瓷TSOP 封装, 必须对其进行开封处理才能进行激光SEE 测试. 为避开器件正面金属层对激光的阻挡作用, 测试采用背部辐射方式. 背部辐照是将器件进行背部开封露出Si 衬底, 激光从背部入射.

表2 被测SRAM 器件列表Table 2 List of SRAM devices under test

3.1 R1RW0416DSB 型SRAM

基于全芯片扫描获得器件翻转阈值后, 对选定的局部区域(10 μm×6 μm) 进行深度扫描测绘(扫描间隔为0.1 μm), 辐照激光能量为3.1 nJ. 单个Cell 的敏感区域分布如图5 所示, 蓝色格点表示存储数据由0 翻转为1 的激光注入点, 绿色格点表示存储数据由1 翻转为0 的激光注入点. 由图5 可知, 该器件单个Cell 的面积约为2 μm×3 μm, 且器件发生位置位和位复位故障的敏感面积差距较小.

图5 3.1 nJ 激光能量注入下的SRAM 单元敏感区域分布图Figure 5 Sensitivity area map of SRAM cell at 3.1 nJ laser energy

为研究激光能量和存储数据类型对SRAM 器件故障触发概率和故障模型分布概率的影响, 选定局部区域(20 μm×20 μm) 进行深度扫描测绘(扫描间隔为2 μm), 辐照激光能量阶梯式递增. 图6 为不同激光能量触发的故障类型比例. 图7 为器件单粒子翻转触发概率和器件发生单比特故障比例随激光能量变化情况. 由图6 可知, 在激光能量阈值(2 nJ) 附近, 1-bit 单位翻转为主要故障类型, 2-bit 多位翻转也会小概率出现; 在3 倍激光能量阈值(6.5 nJ) 附近, 多比特翻转以大概率事件出现. 由图7 可知, 随着激光能量的增加, 器件单粒子翻转触发概率呈不断递增趋势, 存储单元存储数据为FF 时较存储数据为00 时略敏感;当激光能量增大到6.5 nJ, 可实现近90% 以上的高触发概率; 在激光能量阈值附近, 器件单粒子翻转触发概率虽然较低(10%–30%), 但只要故障被触发, 其触发的故障类型将以1-bit 单位翻转类型为主, 且其占比可高达80%.

结合图6 和图7 进行分析可知, 该器件的单粒子翻转触发概率和单比特故障比例产生急剧变化的点在4 nJ 激光能量附近, 其变化曲线交叉点在4.3 nJ 激光能量附近(首次出现3-bit 翻转类型). 为使数据结果具有可参考价值, 本节将试验结果数据归一化处理, 以器件激光能量阈值为参考点可知: 器件在1–2 倍激光能量阈值范围内, 以10%–35% 的触发概率触发1-bit 或2-bit 故障类型; 器件在2 倍激光能量阈值以上, 以50% 以上的触发概率触发多比特翻转(包含3-bit、4-bit 及5-bit 等故障类型). 通过控制器件激光能量阈值增量, 可以一定概率触发故障攻击所需的故障类型.

图6 不同激光能量触发的故障类型比例Figure 6 Proportion of fault types triggered by different laser energy

图7 器件单粒子翻转触发概率和单比特故障比例随激光能量变化情况Figure 7 SEU trigger probability and proportion of 1-bit fault of device changes with laser energy

3.2 CY62126EV 型SRAM

针对90 nm 工艺的CY62126EV 型SRAM 器件开展同样的单粒子翻转故障模型试验研究. 试验结果显示, 该器件在激光能量较大时会出现高达上万比特数据簇出错, 且器件电流未有明显增加, 当停止脉冲激光辐照时, 重新对器件进行读写操作, 器件功能恢复正常. 该现象与文献[9] 所述单粒子微闩锁效应表现形式一致, 由此可判断该器件在激光能量较大时发生了微闩锁效应, 致使该结果不具备参考价值. 本节仅列出低激光能量注入下的试验数据, 如表3 所示. 通过分析表3 数据可知, CY62126EV 型SRAM 与R1RW0416DSB 型SRAM 器件故障模型结果保持一致: 在激光能量阈值附近, 可实现近10% 的低故障触发概率, 故障类型以单比特翻转为主, 且其占比高达98%.

表3 故障触发概率及故障模型分布概率随激光能量变化列表Table 3 Fault trigger probability and fault model distribution probability changes with laser energy

4 结论

本工作利用高精度脉冲激光单粒子效应扫描测绘装置, 对两款不同工艺尺寸的商用SRAM 器件开展单粒子翻转故障模型试验研究, 全面评估和分析激光能量和存储数据类型对SRAM 器件故障触发概率和故障模型分布概率的影响. 结果表明, 在3 倍激光能量阈值下, 可实现近90% 的高故障触发概率, 故障类型以多比特翻转为主; 在激光能量阈值附近, 可实现近10%–30% 的低故障触发概率, 故障类型以单比特翻转为主, 且其占比高达80%; 在覆盖多个存储单元的的局部区域, 存储数据类型对诱发SRAM 器件故障模型分布概率的影响较小.

本研究团队尝试将脉冲激光诱发SRAM 故障模型应用到一款以微控制器为代表的密码芯片破译工作中[10]. 通过控制脉冲激光能量在阈值附近, 使得单个脉冲激光诱发的SRAM 故障类型为单比特翻转, 完成最终秘钥破解. 不同的故障分析方法对故障模型需求不同, 通过开展脉冲激光诱发SRAM 故障模型研究, 建立脉冲激光阈值能量和故障模型之间的量化关系, 可有效指导实际密码芯片破译工作.

在实际故障攻击案例时, 针对未知器件, 在无法获得器件内部数据的情况下: (1) 通过控制器件激光能量阈值增量, 对局部区域进行扫描(间隔1 μm 或2 μm) 故障注入, 可以一定概率触发故障攻击所需的故障类型; (2) 基于获得的器件触发概率和故障类型分布概率数据, 可协助攻击者采用基于概率统计的方法判断注入的故障模型, 为有效选择故障分析方法和进行高效故障分析提供助力.

猜你喜欢

器件比特脉冲
脉冲工况氧气缓冲罐裂纹修复实践
Finding the Extraterrestrial
比特币还能投资吗
小型化Ka波段65W脉冲功放模块
比特币分裂
超音频复合脉冲GMAW电源设计
比特币一年涨135%重回5530元
旋涂-蒸镀工艺制备红光量子点器件
神秘的比特币
一种具创意的脉冲能量火花塞