作者:Shebu Varghese Kuriakose
翻译:啥都吃的豆芽
极术社区:Arm与FreeRTOS如何保障IoT的安全性
微控制器的安全性一直是一项挑战,部分原因是缺乏硬件强制的安全域。创建两个安全域通常需要两个微处理器,每个微处理器都有一个单独的内存保护单元(MPU)。与Armv8-M架构一起引入的Arm TrustZone在单个Cortex-M处理器上启用了两个安全处理环境(请参阅Using FreeRTOS on Armv8-M Microcontrollers)。一旦区分了单独的安全和非安全处理环境,您应该如何处理它们呢?
Trusted Firmware-M
安全固件Trusted Firmware-M(TF-M)为ARMv8-M架构(例如,Cortex-M55、Cortex-M33和Cortex-M23处理器)和双核Cortex-M设备实施安全处理环境(SPE)。它是符合PSA认证指南的PSA参考实施,使芯片、实时操作系统和设备能够通过PSA认证。作为在安全固件开放治理社区项目托管的BSD-3条款许可下分发的开放源码项目,它受多种基于Cortex-M的微控制器支持,例如恩智浦LPC55S69、ST STM32L5和Cypress PSoC 64。FreeRTOS使用TF-M获得了PSA功能API认证。
TF-M提供一套安全服务--加密、认证和安全存储。它还通过基于mcuboot的第二阶段引导加载程序提供安全引导,用于验证运行时映像和平台更新。非安全处理环境(NSPE)中的应用程序和库可以通过一组标准化的PSA功能API来利用这些安全服务。在ARMv8-M设备上,TF-M使用ARM TrustZone技术隔离NSPE和安全处理环境(SPE)代码和数据。在Cortex-M设备上运行的应用程序可以利用TF-M服务来确保与边缘网关和物联