【安全硬件】Chap.7 对实体芯片采取物理手段破解;芯片IC逆向工程和拆分制造;物理上对芯片的攻击分类;侧信道攻击;Kocher针对RSA的计时攻击
- 前言
- 1. 逆向工程Reverse Engineering
- 逆向工程识别芯片上2输入NAND门
- 逆向工程技术
- Decapulation & Deprocessing
- Micro probing
- 2. 拆分制造Split Manufacturing
- 拆分制造流程
- 优点与缺点
- 3. 物理上对芯片的攻击分类-Physical Attacks
- 非入侵式Non-Invasive Physical Attack
- 侧信道攻击Non-Invasive
- SCA: generic procedure
- Kocher针对RSA的计时攻击(Timing Attack)
- RSA
- 定时攻击的一般过程包括三个阶段:
- 后记
前言
逆向工程可以通过从物理器件到IC代码实现反向推理,以掌握IC的结构和功能。在拆分制造中,设计的布局被拆分为前端线 Front End Of Line (FEOL) 层和后端线Back End Of Line (BEOL) 层,然后分别在不同的代工厂foundries制造。 物理上对芯片的攻击分类可根据对芯片的破坏程度分为三种。侧信道攻击旨在利用IO端口进行侧信道发射,例如功耗、电磁、定时和声学破译硬件。
1. 逆向工程Reverse Engineering
逆向工程识别芯片上2输入NAND门
逆向工程可以通过从物理器件到IC代码实现反向推理,以掌握IC的结构和功能。
CMOS Reverse Engineering
|
|
|
IC版图工程师甚至画过PCB的都知道,一个芯片的走线是分层画出来的,可以通过逐层扫描来查看。
逆向工程技术
逆向工程技术:在真实芯片上使用化学药品逐层蚀刻拆开芯片,用扫描电子显微镜(SEM) 拍照识别底层元件(门级标准单元、内存和模拟元件)和连接,从中可以提取集成电路的布局布线关系,可以重建所有的电路信息,反向推理出电路门级网表,甚至可以推断出更高级抽象的数字芯片代码设计。
A Survey on Split Manufacturing: Attacks, Defenses, and Challenges
对于有经验的IC工程师来说,很明显一眼就可以看出来电路中的部分信息。如果攻击者还有一些IC设计的基础的话,甚至可以边检测边猜测怎么设计;比如说模拟IC,识别到一个电容,有经验的工程师可以估计出电容的大致范围,再做仿真。
Reverse-engineering a vintage power supply chip from die photos
Decapulation & Deprocessing
- Decapulation :拆开芯片的封装;
- Deprocessing:拆开绝缘层,配合微探测检测不同层的电路。
Micro probing
Micro probing微探测,或简称探测,是一种故障分析技术,用于实现与芯片有源电路中某个点的电接触或访问。 它采用一种称为微探针台 的特殊设备,通常也称为“探针台”。
How microprobing can attack encrypted memory
2. 拆分制造Split Manufacturing
Is split manufacturing secure?
在拆分制造中,设计的布局被拆分为前端线 Front End Of Line (FEOL) 层和后端线Back End Of Line (BEOL) 层,然后分别在不同的代工厂foundries制造。
拆分制造流程
让不信任的代工厂制作FEOL层,让信任的代工厂制作BEOL、负责组装。
- 门级网表被划分为多个块,然后进行层间规划和放置。块内的晶体管和导线形成 FEOL 层。连接块和 IO端口的顶部金属线形成 BEOL 层。
- BEOL 和 FEOL 电线被分配到不同的金属层和布线,以便最大限度地减少布线延迟(wiring delay)和布线拥塞(routing congestion)。
- 整个设计的布局分为两个,一个布局只是 包含 FEOL层,另一个布局只包含 BEOL 层。
- 然后,在两个不同的代工厂中制造这两种布局。
优点与缺点
- 优点
- 它提高了 IC 的安全性,因为 FEOL 和 BEOL 层是单独制造的,并在制造后组合。
- 这在经济上是可行的,因为低成本的BEOL层制造可以在内部进行,而昂贵的FEOL层制造是外包的。
- 缺点
- FEOL/BEOL 晶圆的运输可能有风险,即它们可能会破裂。
- FEOL 和 BEOL 的对齐是一个具有挑战性的过程,可能会破坏芯片的可靠性
- 该方法可能仍然存在安全漏洞
3. 物理上对芯片的攻击分类-Physical Attacks
ps,区别于概念Physical hardware trojans,这个指的是木马的各种硬件表现形式,木马现有线路和逻辑的修改或添加或删除晶体管或门。
非入侵式Non-Invasive Physical Attack
Non-InvasivePhysical Attack:
- 这些都是非破坏性(non-destructive)的,通常使用芯片的输入/输出来实现。These are non-destructive and normally achieved using the inputs/ outputs of the chip
- 示例:侧信道攻击旨在利用侧信道发射,例如功耗、电磁、定时和声学。Example: Side-channel attacks which aim to exploit side-channel emissions such as power consumption , electro-magnetic . timing and acoustic
- 侧信道攻击的常见受害者是智能卡和 FPGA。Common victims of side channel attacks are smart cards and FPGAs
侧信道攻击Non-Invasive
ASNI: Attenuated Signature Noise Injection for Low-Overhead Power Side-Channel Attack Immunity
上图,可以通过检测CMOS电路的整个输出口的功耗变化轨迹分析正确密钥是什么。原理可参考:【安全硬件】Chap.2 如何破译一个CMOS门级电路;传播延迟、动态功耗、静态功耗可能泄露电路的构造以及输入密钥;非侵入式攻击 Non-Invasive Attacks
SCA: generic procedure
- 交互阶段:与硬件系统交互,获取设备的物理特性
- 分析阶段:分析数据测量结果以推断敏感信息
Kocher针对RSA的计时攻击(Timing Attack)
Kocher 是第一个讨论计时攻击的人。在 1996 年的 RSA 数据安全和 CRYPTO 会议上,Kocher 展示了他的初步结果,警告供应商注意他的攻击,并引起了包括 RSA 密码系统发明者在内的密码学家的注意。定时攻击是“侧信道攻击”的一种形式,攻击者从密码系统的实施中获取信息,而不是从系统数学特性的任何固有弱点中获取信息。由于执行操作的方式或使用的媒体,会出现意外的信息渠道。侧信道攻击利用有关时间、功耗、电磁辐射甚至声音的信息来恢复有关密码系统的秘密信息。
Timing Attacks on RSA: Revealing Your Secrets through the Fourth Dimension
- 猜测指数的一些位并预测解密需要多长时间
- 如果猜测正确,将观察到数据具有相关性,如果不正确,则预测看起来是随机的
RSA
RSA 是一种公钥密码系统,广泛用于安全数据传输。“RSA”是发明者三人姓氏开头字母拼在一起组成的。它使用公共指数e进行加密,使用私有指数d进行解密。
定时攻击的一般过程包括三个阶段:
- 模型构建:构建系统模型,模拟密钥与其时序特性(例如其软件算法的执行时间)之间的关系
- 实验数据收集:执行实验以测量系统的时间指标(例如算法的执行时间)
- 统计分析:将实验数据(例如实际执行时间)与从模型中获得的预测值(例如预期执行时间)进行比较,以便找到关键
为了猜测密钥,攻击者测量给定输入 IN 的执行时间。 由于攻击者知道算法,他也知道执行时间取决于 MES 的各个位; 因此,他可以预测该算法为任意键 KEY 和输入 IN 将花费多少时间。 尝试所有可能的 KEY 值,他可以找到与实际测量值对应的值。
后记
感谢Basel Halak教授这学期的教学,本人在期末前整理的《Secure Hardware and Embedded Devices》课程笔记写下本文。
Soton: Dr Basel Halak