1/3 安全公告 标题 关于 ESP32-S3 上通过电压故障注入恢复 AES 密钥的安全公告 发布日期 2026/06/10 公告编号 AR2026-005 编号 NA 版本 V1.0 问题小结 ESP32-S3 芯片中的通用 AES 外设存在一个硬件漏洞。该外设用于执行 TLS 会话加密、与外部组件的安全通信等加密操作,与用于 Flash 加密的 XTS-AES 外设不同。 一名安全研究人员展示了如何通过对 CPU 电源轨实施电压故障注入,在 AES 运算中间轮次期间对 AES 硬件模块进行故障攻击。在故障条件下,AES 硬件模块仍会继续执行,但输出的密文会出现具有特定结构特征的字节级错误扩散。通过对少量经过正确分类的错误密文进行差分故障分析 (Differential Fault Analysis,DFA),攻击者可以恢复 AES 最终轮次的子密钥;由于 AES 密钥调度算法是完全可逆的,因此可进一步推导出完整的 AES-128 密钥。 成功实施该攻击需要满足多个条件,包括对目标设备具备物理访问能力、使用专用外部设备精确调节电压毛刺参数,以及准确掌握 AES 操作的执行时机。在已部署设备中,这通常还需要结合侧信道功耗分析等方法间接定位攻击窗口。综合考虑上述前提条件,以及被恢复密钥通常具有单设备、短生命周期等特点,该攻击对已部署系统的整体风险被评估为较低。 什么是电压故障注入 (Voltage Fault Injection) ? 故障注入攻击通过人为制造异常,扰乱系统执行流程,从而诱导设备产生可被利用的错误行为。电压故障注入是一种常见的故障注入方式,其原理是在设备某条电源轨上施加一个短暂且精确控制的电压扰动(通常称为 glitch,毛刺),从而导致处理器或外设在不中断运行的情况下计算或存储错误的中间值。本公告中针对 ESP32-S3 的攻击采用了一种外部 crowbar 毛刺技术,对 CPU 核心供电轨 2/3 (VDD3P3_CPU) 实施攻击,该方案还结合了基于 FPGA 的高精度电压故障注入设备以及高速外部 MOSFET 开关电路。 什么是差分故障分析 (Differential Fault Analysis) ? 差分故障分析 (DFA) 是一种密码分析技术,用于比较密码算法在正常条件下的正确输出与故障条件下产生的异常输出。当 AES-128 在特定轮次发生故障时,错误会在后续轮次中以可预测的结构化方式传播,从而泄露轮次子密钥的信息。攻击者只需收集少量经过正确分类的错误密文,即可恢复最终轮次子密钥。由于 AES 密钥调度算法完全可逆,因此进一步即可恢复原始 AES-128 密钥。 影响分析 1. 受影响的是 ESP32-S3 通用 AES 外设,而非用于 Flash 加密的 XTS-AES 外设。该外设通常用于 TLS 会话加密、与外部组件的安全通信等场景。在许多实际部署中,其处理的密钥属于短生命周期或会话级密钥,例如 TLS 会话密钥。因此,即使攻击成功,恢复出的通常也只是单个设备上的单个临时密钥,其影响范围和有效时间均较为有限。 2. 通过该攻击恢复的 AES 密钥仅对应于特定设备。在每个设备使用唯一密钥的前提下,该攻击本质上属于针对单个设备的定向攻击。只要避免使用长期静态密钥以及跨设备复用密钥,攻击者便难以将其扩展为面向整个设备群体的大规模攻击。 3. 该攻击需要物理访问权限以及一定程度的侵入式硬件改造,包括移除 CPU 电源轨旁路电容、将该电源轨与主 3.3 V 电源轨隔离,并连接外部电压 glitch 电路。此外,攻击还依赖基于 FPGA 的高精度电压故障注入设备、高速外部 MOSFET crowbar 电路,以及对 AES 执行时间窗口的精确定位。虽然该攻击不需要芯片开封 (decapsulation) 、背面探针 (backside probing) 、体偏置 (body-biasing) 或高复杂度实验室级设备,但仍然对攻击者的专业知识、设备条件以及调试能力提出了较高要求。 影响产品系列: 该漏洞已在 ESP32-S3 上得到确认。ESP32-S3 以及部分较早代的乐鑫 SoC,包括 ESP32, ESP32-S2, ESP8684, ESP32-C3 和 ESP32-C6 未集成硬件级电源毛刺监测机制,因此无法对这类电压故障注入攻击提供内建防护能力。 较新的乐鑫 SoC 系列,包括 ESP32-C61,ESP32-C5,ESP32-H2 (芯片版本 v1.2),ESP32-P4 和 ESP32-S31 已集成硬件级毛刺监测电路,可显著提高实施电压故障注入攻击的难度。 3/3 在假设攻击者具备物理访问能力和电压故障注入能力的情况下,建议优先考虑使用这些较新的 SoC 系列。 应对方法 由于该漏洞源于 AES 硬件模块内部设计,因此当前没有可用于受影响产品的完整软件或硬件修复方案。未来产品将逐步集成更完善的硬件防护机制。以下措施可用于降低现有部署环境中的风险。 硬件应对建议 建议通过防拆封外壳等方式限制设备被物理访问,并在检测到篡改行为后执行预定义响应,例如设备复位或清除敏感信息。由于该攻击本质上依赖对 CPU 电源轨的直接电气访问,因此防止设备被物理接触是最有效的缓解措施之一。 应用层应对建议 在应用层面,最有效的缓解措施是合理管理 AES 外设所使用的密钥。乐鑫安全指南建议采取以下实践: • 优先使用短生命周期或会话级 AES 密钥(例如每个 TLS 连接动态派生的会话密钥),避免使用长期静态密钥。即使密钥被恢复,其影响范围也仅限于对应会话。 • 避免在多个设备之间或同一生产批次中共享长期静态 AES 密钥。每个设备应使用与自身身份绑定的唯一密钥。 • 当 AES 外设用于保护外部存储器或共享通信通道中的数据时,应确保相关密钥在不同设备之间保持唯一,并在条件允许时定期轮换。 • 同时启用 Flash 加密和安全启动,以降低攻击者修改或替换使用 AES 外设的固件的风险。 致谢 感谢独立嵌入式系统工程师与硬件安全研究员 Bedri Zija 报告此漏洞,并协助我们跟进本次披露。