RTOS 安全
介绍 R128 下安全方案的功能。安全完整的方案基于标准方案扩展,覆盖硬件安全、硬件加解密引擎、安全启动、安全系统、安全存储等方面。
配置文件相关
本文涉及到一些配置文件,在此进行说明。
env*.cfg配置文件路径:
board/<chip>/<board>/configs/env*.cfg
sys_config.fex路径:
board/<chip>/<board>/configs/sys_config.fex
image_header.cfg路径:
board/<chip>/<board>/configs/image_header.template.cfg
sys_partition*.fex路径:
board/<chip>/<board>/configs/sys_partition.fex
功能介绍
R128 FreeRTOS 系统上支持如下安全功能
安全硬件
下图是 ARM 为 M33 Star 提供的一种基于 TrustZone 的 SoC 架构参考实现
当 CPU 取指或者访问数据时,经过 SAU 与 IDAU 审查之后,携带安全属性,进入 AHB 总线。
由于 SAU/IDAU 机制只适用于 Arm M33 Star 处理器,那么 AHB 设备使用下列两种方法识别与应答这些携带安全属性的访问
- 第一种是外设在设计时就可以识别安全属性;
- 第二种需要借助其他控制器来实现,比如上图中的 PPC。开发人员设置 PPC 为不同的外设设置不同的访问规则。同理 MPC 则是用于设置存储器区域的安全属性。
R128 上有些外设可以识别安全属性,比如 CE、DMA 等。大部分外设需要借助 SPC 来配置其安全属性。其中的 PPC 对应 R128 上的 SPC,MPC 对应 R128 上的 SMC,TZMA
Arm M33 Star TrustZone 简介
Arm M33 Star TrustZone 与 Arm A 系列的 TrustZone 类似,在设计上,处理器都具有安全与非安全状态,非安全软件只能访问非安全内存。与 Arm A 处理器中的 TrustZone 技术不同, Arm M33 Star 的 Secure 和 Normal 世界是基于内存映射的,转换在异常处理中自动发生。