2、硬件安全基础:芯片生命周期、硬件信任根、安全边界、常见硬件攻击面

硬件安全是信息系统安全的物理基石。与软件漏洞不同,硬件攻击往往具有不可逆性、隐蔽性强且难以在线修复的特点。理解芯片从制造到废弃的完整生命周期、建立硬件信任根、明确安全边界,并熟悉常见的物理攻击接口,是开展硬件安全评估与侧信道分析的前提。本章将围绕这四个核心维度展开,帮助读者建立系统化的硬件安全认知框架。

硬件安全基础框架与攻击面 芯片生命周期 ① 设计/流片 ② 制造/封装 ③ 测试/编程 ④ 集成/部署 ⑤ 运行/维护 ⑥ 退役/销毁 关键点:每个阶段都有 不同的信任边界与风险 硬件信任根 (HRoT) • 不可变引导ROM • 一次性可编程存储器 • 安全协处理器/HSM • 物理不可克隆函数 • 安全密钥存储 信任链:Root → Boot → OS → App 逐级验证 安全边界 • 物理边界:封装/PCB • 逻辑边界:特权模式 • 时间边界:密钥生命周期 • 侧信道边界:功耗/电磁 • 故障注入边界:电压/时钟 边界突破 = 安全事件 常见硬件攻击面 JTAG (IEEE 1149.1) • 调试/测试端口 • 可读写寄存器/内存 • 风险:完全控制CPU UART 串口 • 调试日志输出 • 可能暴露Shell • 风险:未授权访问 SPI 总线 • 连接Flash/传感器 • 可嗅探/篡改数据 • 风险:固件提取 I2C 总线 • 连接EEPROM/传感器 • 地址扫描/读写 • 风险:配置篡改 攻击路径:物理接触 → 接口识别 → 协议分析 → 数据提取/控制注入 防护措施: 禁用未使用的调试接口 | 安全引导链 | 总线加密 | 访问控制 | 物理屏蔽 | 主动检测

上图展示了硬件安全的核心框架:芯片生命周期定义了信任的演进过程,硬件信任根提供初始可信基点,安全边界划定了防护范围,而常见攻击面则是攻击者可能突破的入口。四者相互关联,共同构成硬件安全评估的完整视图。

2.1 芯片生命周期与信任模型

核心原理

芯片从设计到废弃经历多个阶段,每个阶段都有不同的参与者、物理环境和信任假设。设计阶段由IP供应商和设计团队主导,制造阶段引入代工厂,封装测试阶段涉及第三方封测厂,最终在系统集成商处被嵌入产品。攻击者可能在任一环节植入硬件木马、替换物料或窃取设计数据。因此,芯片生命周期管理的关键在于:明确每个阶段的信任边界,并建立可验证的完整性机制。

生命周期阶段与风险分析

阶段主要参与者信任假设主要风险
设计/流片设计团队、EDA工具工具链可信恶意逻辑插入、后门设计
制造/封装代工厂、封测厂代工厂不恶意修改硬件木马、晶圆替换
测试/编程测试工程师测试程序完整测试模式泄露、密钥烧录泄露
集成/部署系统集成商物料供应链安全物料替换、克隆
运行/维护最终用户固件更新可信固件篡改、调试接口滥用
退役/销毁回收方数据不可恢复数据残留、芯片逆向

案例拆解:伪造芯片的供应链攻击

某工业控制设备制造商发现其产品在高温环境下频繁故障。经分析,故障芯片的丝印标记与正品一致,但内部晶圆布局存在细微差异——实际为回收芯片重新打磨标记的伪造品。这些伪造芯片在二手市场被收购后,经过重新封装和打标,混入正常供应链。由于伪造芯片的可靠性远低于正品,导致设备在严苛环境下失效。该事件暴露了供应链信任的脆弱性:仅依赖外观检查和丝印验证远远不够,必须建立基于物理不可克隆函数(PUF)或安全芯片的认证机制。

风险提示:芯片生命周期中的每个交接点都是攻击窗口。设计数据泄露可能导致克隆,制造环节的恶意修改难以被常规测试发现,退役芯片的数据残留可能被逆向提取。建议在关键节点实施加密签名、物理标记和独立审计。

常见误区与复盘

  • 误区一:认为芯片出厂后就是安全的。实际上,调试接口(如JTAG)在出厂后若未正确锁定,将成为最直接的攻击入口。
  • 误区二:忽视退役阶段的数据销毁。简单的格式化或擦除操作可能无法彻底清除Flash中的残留数据,需使用安全擦除算法。
  • 复盘要点:建立芯片全生命周期的资产台账,记录每个阶段的交接状态、责任人、安全措施和验证结果。

2.2 硬件信任根(HRoT)

核心原理

硬件信任根是系统中无条件信任的硬件组件,它作为安全启动链的起点,为后续所有软件组件提供可信基础。信任根通常包含不可变引导ROM、安全存储(如eFuse)、安全协处理器等。其核心思想是:信任从一个小而可信的硬件基础开始,通过逐级哈希验证和签名校验,将信任扩展到引导加载程序、操作系统内核和应用程序。

信任链的建立与验证流程

  1. 芯片上电后,CPU从不可变ROM开始执行,该ROM代码在制造时固化,无法被修改。
  2. ROM代码读取外部Flash中的第一阶段引导程序(FSBL),计算其哈希值并与存储在eFuse中的参考值比对。
  3. 若哈希匹配,则执行FSBL;FSBL继续验证下一级引导程序(如U-Boot)的签名。
  4. 逐级验证直至操作系统内核,任何一级验证失败都会导致启动终止。

案例拆解:安全启动链的绕过尝试

某安全摄像头固件更新后,研究人员尝试通过修改Flash中的U-Boot来植入后门。然而,设备启用了安全启动链:ROM代码验证U-Boot的签名,而签名密钥存储在eFuse中且已熔断写保护。研究人员尝试两种绕过方式:一是通过电压故障注入跳过签名验证指令,二是尝试读取eFuse中的密钥。前者因芯片内置了电压监测器而失败,后者因eFuse的物理防护机制而无法读取。最终,研究人员转向攻击未受保护的UART调试接口,成功获取了Shell访问权限——这暴露了信任根虽强,但外围接口管理薄弱的问题。

经验提示:信任根的设计需要与外围接口的安全策略协同。即使安全启动链固若金汤,若UART或JTAG接口未锁定,攻击者仍可绕过启动流程直接控制系统。建议在信任根初始化阶段就完成调试接口的锁定。

常见误区与总结

  • 误区一:认为安全启动等于安全。安全启动只保证固件的完整性,不保证系统运行时的安全性。
  • 误区二:忽视密钥管理。eFuse中的密钥若在测试阶段未妥善保护,可能在晶圆测试时被探针窃取。
  • 总结:硬件信任根是安全体系的基础,但必须配合完整的密钥管理、接口控制和运行时监控才能发挥效用。

2.3 安全边界与信任域划分

核心原理

安全边界是系统内不同信任级别之间的分界线。在硬件层面,安全边界可以是芯片封装、电源域、时钟域或总线隔离;在逻辑层面,可以是特权模式与非特权模式的切换。安全边界的核心价值在于:即使某个子系统被攻破,攻击者也无法直接访问其他受保护资源。例如,ARM TrustZone技术通过物理隔离将系统划分为安全世界和普通世界,安全世界中的密钥和加密操作对普通世界完全不可见。

安全边界的类型与实现

边界类型实现方式防护目标典型应用
物理边界封装、屏蔽罩、PCB分层防止物理探针、电磁泄漏安全芯片、HSM
逻辑边界CPU特权模式、MPU/MMU防止软件越权访问操作系统内核隔离
时间边界密钥生命周期、会话超时防止重放攻击、密钥泄露安全通信协议
侧信道边界功耗均衡、噪声注入防止侧信道分析加密协处理器
故障注入边界电压/时钟监测、冗余计算防止故障注入攻击支付终端、汽车ECU

案例拆解:TrustZone在移动支付中的应用

某移动支付终端采用ARM TrustZone技术,将指纹识别和支付密钥存储置于安全世界,而操作系统和应用程序运行在普通世界。攻击者通过操作系统漏洞获取了root权限,但尝试访问安全世界中的指纹数据时,由于TrustZone的硬件隔离机制,所有访问请求被拒绝。攻击者转而尝试通过功耗分析获取安全世界中的密钥,但芯片内置了功耗均衡电路,使得功耗曲线与密钥相关性极低。最终,攻击者未能突破安全边界,支付终端的安全性得到验证。

设计要点:安全边界的有效性取决于其物理和逻辑实现的完整性。任何跨越边界的通信通道(如共享内存、中断)都可能成为攻击路径。设计时应最小化跨边界接口,并对必要的通信进行严格的数据校验和权限控制。

常见误区与复盘

  • 误区一:认为软件隔离(如虚拟化)可以替代硬件隔离。软件隔离依赖操作系统的正确性,一旦内核被攻破,隔离即失效。
  • 误区二:忽视边界上的隐式通道。共享缓存、分支预测器等硬件资源可能成为侧信道攻击的媒介。
  • 复盘要点:安全边界设计应遵循最小权限原则,每个边界都应明确其保护对象、信任假设和攻击模型。

2.4 常见硬件攻击面:JTAG、UART、SPI、I2C

核心原理

硬件攻击面是指攻击者可通过物理接触访问的接口和总线。这些接口原本用于调试、配置和数据传输,但若未加保护,将成为攻击者提取固件、注入数据或控制系统的通道。理解每个接口的协议特性和安全风险,是进行硬件安全评估的基础。

各接口的协议特征与攻击方法

接口协议特征典型用途攻击方法防护措施
JTAGIEEE 1149.1,边界扫描芯片调试、Flash编程读写寄存器、内存、Flash禁用JTAG、设置密码、物理熔断
UART异步串行,TXD/RXD调试日志、控制台获取Shell、嗅探数据禁用调试账号、加密通信
SPI同步串行,MOSI/MISO/SCK/CS连接Flash、传感器嗅探固件、篡改数据总线加密、写保护
I2C同步串行,SDA/SCL连接EEPROM、RTC地址扫描、读写配置访问控制、地址隐藏

案例拆解:通过UART获取路由器Root Shell

某家用路由器被研究人员发现其PCB上留有UART测试点。使用逻辑分析仪以115200波特率监听,捕获到启动日志,其中包含"Dropbear SSH server starting"信息。进一步连接UART的TXD/RXD引脚,通过串口终端发送回车键,直接获得了root Shell——因为设备在出厂时未禁用调试控制台,且未设置登录密码。攻击者随后修改了路由器的DNS设置,将用户流量重定向至恶意服务器。该案例表明,UART调试接口若未妥善处理,将成为最直接的攻击入口。

风险提示:SPI Flash是固件提取的高价值目标。攻击者可使用SPI闪存编程器直接读取Flash内容,即使芯片已锁定调试接口。建议对固件进行加密存储,并启用Flash的读保护功能。

常见误区与总结

  • 误区一:认为物理接口不可访问就安全。攻击者可通过X射线、聚焦离子束(FIB)等高级手段绕过物理防护。
  • 误区二:忽视接口的间接攻击路径。例如,通过I2C连接的传感器可能被恶意配置,导致系统读取错误数据。
  • 总结:硬件攻击面的管理应遵循"默认安全"原则:所有非必要接口在出厂时禁用,必要接口需实施认证和加密。