概述
技术背景
TrustZone 技术 将系统划分为安全世界和非安全世界。安全固件(image3)运行于安全世界中,承载着系统的核心安全功能。 若安全固件以明文形式存储于 Flash,非安全世界的代码可能读取并分析其内容,从而破坏 TrustZone 的安全隔离机制。
读保护(Read Protection,RDP)技术通过加密存储方式保护 TrustZone 安全固件,确保安全代码仅以密文形式存在于 Flash 中, 阻止非安全世界获取明文,从而维护 TrustZone 的安全隔离边界。
工作原理
RDP 在编译后处理阶段采用 AES-256 算法对安全固件实施加密,加密后的固件以密文形式烧录至 Flash。 系统启动时,硬件引擎从 OTP 读取密钥,并对 Flash 中的密文固件进行解密。 整个解密过程由硬件自动完成。密钥存储于 OTP 安全区域并支持读写保护,可防止密钥被非法读取或篡改。
根据 IC 是否具备 Flash 地址安全隔离能力,RDP 提供两种固件运行方式:
不支持 Flash 地址安全隔离的 IC:安全固件在启动时由 硬件引擎解密 ,并加载至安全 SRAM 或 PSRAM 地址后执行。
支持 Flash 地址安全隔离的 IC:除加载至安全 RAM 执行外,还支持直接在安全 Flash 地址以 XIP(eXecute In Place)方式执行, Flash OTF 引擎 在 CPU 读取代码的过程中实时解密,无需将固件完整加载至 RAM。
备注
对于 Cortex-A 内核的 IC,建议使用 ATF 加密服务 。