标签: Secure Boot 的原理; 高通;PBL; SBL;

Secure Boot 的原理

概述

Secure Boot 是一种安全启动机制,用于防止恶意软件在设备启动过程中加载和执行。它通过验证启动过程中各阶段加载的固件和软件的完整性和真实性,确保只有经过授权的软件能够运行,从而保护系统的安全性。

Secure Boot 的工作原理

  1. 固件验证

    • 在设备启动时,首先执行一个受信任的固件(通常是只读存储器中的初始启动代码)。
    • 该固件包含设备制造商的公钥,用于验证后续加载的固件或软件的数字签名。
  2. Bootloader 验证

    • 初始启动代码会加载并验证 Bootloader(启动加载程序)的数字签名。
    • 只有在验证通过的情况下,Bootloader 才会被执行,否则启动过程会被中止。
  3. 操作系统内核验证

    • Bootloader 接着会加载并验证操作系统内核的数字签名。
    • 验证通过后,内核会被启动,否则启动过程会被中止。
  4. 驱动程序和系统文件验证

    • 操作系统启动后,仍然会持续进行验证,确保加载的驱动程序和关键系统文件未被篡改。
    • 这通常通过内核模块签名和文件完整性检查来实现。

高通 Secure Boot 的原理

高通的 Secure Boot 实现基于 ARM TrustZone 技术和高通的硬件安全模块(HSM),其工作流程如下:

  1. ROM Code (PBL - Primary Bootloader)

    • 高通 SoC 内部的 ROM 存储器中包含初始启动代码(PBL),它是整个 Secure Boot 链的第一个环节。
    • PBL 验证 SBL(Secondary Bootloader)的签名,只有签名验证通过后,才会加载 SBL。
  2. Secondary Bootloader (SBL)

    • SBL 是一个更复杂的启动加载程序,负责初始化硬件和加载操作系统或其他 Bootloader(如 Aboot 或 Little Kernel)。
    • SBL 验证其加载的每一个组件的签名,包括内核、设备树和文件系统。
  3. QSEE (Qualcomm Secure Execution Environment)

    • 高通设备包含一个安全执行环境 QSEE,它运行在 ARM TrustZone 的安全世界中。
    • QSEE 提供额外的安全服务,如加密密钥管理、可信执行和安全存储。
  4. RPM (Resource and Power Management)

    • RPM 固件运行在独立的处理器上,负责电源管理和资源分配。
    • RPM 固件也经过签名验证,确保其未被篡改。

安全机制和信任链

  • 硬件根信任

    • Secure Boot 的信任根源于硬件,即设备的唯一密钥和存储在只读存储器中的初始启动代码。
    • 这种根信任确保了攻击者无法绕过 Secure Boot 过程。
  • 数字签名和公钥基础设施(PKI)

    • 各阶段的固件和软件都经过数字签名,设备中的公钥用于验证这些签名。
    • 公钥通常由设备制造商预先烧录到硬件中,只有制造商拥有与之对应的私钥,用于签名固件和软件。
  • 抗篡改措施

    • 所有验证过程都在启动的早期进行,确保在进入操作系统前,所有关键组件都已验证通过。
    • 一旦发现未经授权的修改,启动过程会被中止,防止恶意软件执行。

结论

Secure Boot 通过严格的签名验证机制,确保从启动加载程序到操作系统内核,直至关键系统文件的完整性和真实性。高通的 Secure Boot 进一步增强了这一过程,通过集成 ARM TrustZone 和 QSEE 提供额外的安全服务,保障了设备启动和运行过程中的安全性。



作者简介:https://shimo.im/docs/rp3OVwxle2fJn7Am/
上海徐汇
2024年6月5日


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐