TrustZone有时被称为一个强制执行的保护系统。请求者表示其访问的安全性,而内存系统决定是否允许该访问。内存系统基于何种方式进行检查呢?
在大多数现代系统中,内存系统的检查是由互连完成的。例如,Arm NIC-400允许系统设计人员为每个连接的完成者指定以下内容:
• 安全
只有安全访问被传递给设备。对于所有非安全访问,互连生成一个错误,而不将访问提交给设备。
• 非安全
只有非安全访问被传递给设备。对于所有安全访问,互连生成一个错误,而不将访问提交给设备。
• 启动时可配置
在启动时,系统初始化软件可以将设备配置为安全或非安全。默认为安全。
• TrustZone感知
互连允许所有访问通过。连接的设备必须实现隔离。例如:
这种方法对于具有TrustZone感知或完全存在于一个地址空间中的设备都很有效。对于较大的内存,例如片外DDR,我们可能希望将内存划分为安全和非安全区域。TrustZone地址空间控制器(TZASC)允许我们执行此操作,如下图所示:
TZASC类似于内存保护单元(MPU)ÿ