ATF(Arm Trusted Firmware)是一个为ARMv8-A架构SoC提供的安全固件,其包含了多个组件和功能来确保系统的安全启动和运行时环境。以下是ATF中的一些主要功能和组件:
1. **BL1(Boot Loader Stage 1)**:
- 这是ATF的第一阶段引导加载程序。
- 负责从非易失性存储器(如eMMC、UFS、NAND等)中加载BL2和其他固件组件。
- 初始化最低级别的硬件,如设置异常向量和缓存。
2. **BL2(Boot Loader Stage 2)**:
- 这是ATF的第二阶段引导加载程序。
- 负责更高级的硬件初始化,如MMU、GIC(通用中断控制器)和某些外设。
- 可以执行图像认证来验证后续要加载的固件(如UEFI、U-Boot或操作系统内核)的完整性和真实性。
- 加载并跳转到下一阶段的固件。
3. **BL31(ARM Trusted OS)**:
- 这是一个可选的组件,通常是一个轻量级的信任操作系统(Trusted OS)。
- 提供了安全世界(Secure World)的运行时环境。
- 管理安全和非安全世界之间的切换。
- 提供了一组服务,如密码加速、密钥管理和安全存储。
4. **BL32(Optional Secure Payload)**:
- 这是一个可选的安全有效载荷,可以在BL1或BL2之后加载和运行。
- 通常用于特定的安全应用,如安全监控、DRM(数字版权管理)或其他需要硬件级安全性的功能。
5. **BL33(Non-trusted Firmware)**:
- 这是ATF加载的最后一个固件组件,通常是非安全的固件,如UEFI、U-Boot或操作系统内核。
- ATF会将其加载到适当的内存地址,并跳转到该地址以启动非安全世界的操作。
6. **Platform Security Architecture (PSA)**:
- ATF实现了ARM的PSA规范,该规范定义了一个标准的接口集,用于安全存储、加密操作和密钥管理。
7. **Trusted Board Boot (TBB)**:
- TBB是ATF提供的一个功能,用于确保从引导加载程序到操作系统的整个启动链都是安全的。
- 它包括了对固件组件的验证,以确保它们没有被篡改。
8. **Secure Monitor**:
- 安全监视器是ATF的一个组件,负责处理安全世界和非安全世界之间的切换。
- 它还处理来自非安全世界的SMC(Secure Monitor Call)请求,这些请求用于访问安全世界的服务。
ATF的这些组件和功能共同工作,以确保ARMv8-A SoC的安全启动和运行时环境。通过实现这些功能,ATF为嵌入式系统和物联网设备提供了强大的安全基础。
标签:ATF,Firmware,安全,组件,固件,Arm,Trusted,加载 From: https://www.cnblogs.com/zxdplay/p/17978450