4. Agilex 双镜像安全启动概念:安全启动链、双镜像冗余与回滚保护

Agilex 系列 SoC FPGA 的安全启动体系建立在 硬件信任根 与 双镜像冗余 两大支柱之上。本章深入剖析安全启动链的构成、双镜像的工作机制以及回滚保护策略,帮助学员理解 Agilex 如何从加电瞬间开始构建端到端的安全信任。

4.1 安全启动链与硬件信任根

安全启动链(Secure Boot Chain)是一条从不可篡改的硬件起点逐级验证固件完整性与真实性的链条。Agilex 的信任根(Root of Trust, RoT)固化在 SDM(Secure Device Manager)微控制器内部的 硬编码 Boot ROM 中,该 ROM 在芯片制造时写入,无法通过任何外部接口修改。

核心原则: 信任链的每一级在加载下一级代码之前,必须使用公钥或哈希值验证其签名与完整性。任何一级验证失败,系统立即进入安全故障状态,阻止恶意代码执行。

下表总结了 Agilex 安全启动链的各级组件及其信任传递方式:

启动阶段 执行位置 验证对象 信任来源
阶段 0 (P0) SDM Boot ROM SDM 固件头部签名 硬件熔丝(eFuse)中烧录的根公钥哈希
阶段 1 (P1) SDM 固件 配置数据(HPS 与 FPGA 位流) SDM 固件内部包含的代码签名证书
阶段 2 (P2) HPS 早期引导(U-Boot SPL) HPS 操作系统内核或下一级引导程序 由 SDM 固件传递的信任上下文
关键点: 根公钥哈希通过 eFuse 一次性编程写入后,任何试图修改根公钥的行为都会导致哈希比对失败,从而阻断启动。这是硬件信任根不可篡改性的物理基础。
Agilex 安全启动链信任传递流程 硬件信任根 SDM Boot ROM SDM 固件 签名验证 配置数据 位流 / 固件 验证签名 验证签名 信任链关键属性 • 不可跳过:每一级验证必须成功,无法绕过 Boot ROM 直接加载 SDM 固件。 • 单向信任:信任仅从硬件向软件传递,反向无法篡改。 • 故障安全:任何一级验证失败,SDM 停止启动并输出错误状态。

4.2 双镜像冗余架构

Agilex 在配置存储中维护 两个独立的固件/位流镜像:主镜像(Primary Image)与备份镜像(Backup Image)。这种双镜像设计为安全升级和故障恢复提供了硬件级别的冗余支持。

双镜像的存储布局与选择逻辑如下表所示:

镜像角色 存储位置 启动优先级 更新方式
主镜像(Primary) QSPI Flash 地址 0x000000 最高(默认启动) 正常固件升级流程
备份镜像(Backup) QSPI Flash 地址 0x400000 次高(主镜像失败时启用) 仅通过安全回滚或特殊升级
重要: 双镜像并非简单的副本。备份镜像通常包含一个经过验证的、已知良好的固件版本,用于在主镜像损坏或升级失败时恢复系统。备份镜像本身也受签名保护,不可被任意替换。

4.3 回滚保护机制

回滚保护(Rollback Protection)防止攻击者将固件降级到包含已知漏洞的旧版本。Agilex 通过 版本计数器 与 防回滚标志 实现这一保护。

  • 版本计数器: 存储在 eFuse 或 OTP 区域中的单调递增数值。每次安全升级时,新固件的版本号必须大于当前计数器值。
  • 防回滚标志: 固件头部包含一个最低兼容版本号。SDM 在加载固件前会检查该版本号是否不低于当前计数器值。
  • 双镜像回滚策略: 当主镜像升级失败(例如版本号不匹配或签名验证失败),SDM 自动回退到备份镜像。但备份镜像的版本号也必须满足计数器要求,否则系统进入安全锁定状态。
典型场景: 假设当前版本计数器为 5。主镜像升级到版本 6 后,若下次攻击者试图加载版本 4 的旧镜像,SDM 会因版本号低于计数器而拒绝加载,从而阻断回滚攻击。
双镜像冗余与回滚保护决策流程 系统上电 尝试主镜像 验证通过? 启动主镜像 尝试备份镜像 验证通过? 启动备份镜像 是 否 是 否 → 安全锁定

4.4 安全启动与双镜像的协同工作

安全启动链与双镜像冗余并非独立运行,而是紧密协同:

  • 验证顺序: SDM 首先加载主镜像头部,验证签名与版本号。若通过,则启动主镜像;若失败,自动切换到备份镜像。
  • 版本同步: 成功启动后,SDM 将当前镜像的版本号写入版本计数器,确保下次启动时无法加载更低版本。
  • 故障恢复: 若主镜像在运行过程中崩溃(例如位流损坏),SDM 看门狗定时器触发复位,系统重新启动并自动选择备份镜像。
最佳实践: 在生产部署中,建议将备份镜像设置为出厂固件或经过长期验证的稳定版本。主镜像用于日常升级,备份镜像作为最后的安。同时,确保版本计数器在每次成功升级后更新,避免回滚风险。

通过安全启动链、双镜像冗余与回滚保护的组合,Agilex 构建了一个从硬件到固件的全方位安全启动体系,有效抵御固件篡改、降级攻击和升级失败等威胁。