Armv8-M的TrustZone技术简介

TrustZone技术是适用于Armv8-M的可选安全扩展,旨在为各种嵌入式应用提供改进的系统安全基础。

TrustZone技术的概念并不新鲜。该技术已经在Arm Cortex-A系列处理器上使用了几年,现在已经扩展到Armv8-M处理器。

在high level上,TrustZone技术适用于Armv8-M的概念与Arm Cortex-A处理器上的TrustZone技术相似。在两种设计中,处理器具有安全和非安全状态,非安全软件只能访问非安全内存。TrustZone技术适用于Armv8-M被设计用于小型高效能系统。与Cortex-A处理器上的TrustZone技术不同,安全和普通世界的划分是基于内存映射的,并且在异常处理代码中自动发生状态转换。

然而,在实现中存在一些差异:

  • Armv8-M的TrustZone技术支持多个安全功能入口点,而在Cortex-A处理器的TrustZone技术中,安全监视器处理程序是唯一的入口点。
  • 在执行安全功能时,非安全中断仍然可以被处理。

因此,Armv8-M的TrustZone技术针对低功耗微控制器类型应用进行了优化:

  • 在许多带有实时处理的微控制器应用中,确定性行为和低中断延迟是重要的要求。在运行安全代码时处理中断请求的能力至关重要。
  • 通过允许寄存器组在安全和非安全状态之间共享,Armv8-M实现的功耗可以与Armv6-M或Armv7-M实现相似。
  • 状态切换的低开销允许安全和非安全软件频繁交互,这在安全固件包含GUI固件或通信协议栈等软件库时预期将很常见。

Arm TrustZone技术使系统和软件能够划分为安全和正常世界。安全软件可以访问安全和非安全内存和资源,而正常软件只能访问非安全内存和资源。这些安全状态与现有的线程和处理程序模式是正交的&#

你可能感兴趣的:(ARM安全,ARM安全架构,ARMv8-M,Trustzone)