概述
Arm Cortex-M TrustZone 技术可将系统和软件划分为安全世界(Secure World)和普通世界(Normal World)。 安全软件可访问安全及非安全存储器和资源,而普通软件仅能访问非安全存储器和资源。 用户可参考 ARM 的文档获取更多关于 TrustZone 的信息。
读保护(RDP)用于保护采用 Arm TrustZone 技术实现的安全关键代码。 安全关键代码(KM4 安全固件)以加密形式存储于 Flash 中。 该代码将在安全引导加载程序中进行解密,并通过 TrustZone 保护加载至安全 SRAM。解密密钥存储于 OTP 中,仅安全 IPsec(IPSEC-S)可访问。
RDP diagram
RDP 加密: 配置 KM4 安全固件清单(文件名为
manifest.json
)以生成通过 AES-CBC 加密的 RDP 固件。Flash 加密区域: 用于存储加密的 RDP 固件。固件头中的地址字段指定了需加载至的安全地址。
RAM 安全区域: 由用户通过 TrustZone MPC 条目定义。
IPSEC-S: 在启动时,RDP 固件将通过安全 IPsec 进行解密并安全地 DMA 传输至 RAM 安全区域。IPSEC-S 设计用于访问 TrustZone 安全世界。
RDP 密钥: 存储于 OTP 安全区域。在编程 R/W 保护位后,RDP 密钥仅能通过 IPSEC-S 访问。安全引导代码将从 OTP 获取该密钥并加载至 IPSEC-S 进行解密。