完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
微控制器的安全性一直是一项挑战,部分原因是缺乏硬件强制的安全域。创建两个安全域通常需要两个微处理器,每个微处理器都有一个单独的内存保护单元(MPU)。与Armv8-M架构一起引入的Arm TrustZone在单个Cortex-M处理器上启用了两个安全处理环境。一旦区分了单独的安全和非安全处理环境,您应该如何处理它们呢?
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服务来确保与边缘网关和物联网云服务的安全连接。它还保护平台上的关键安全资产,如敏感数据、密钥和证书。 TF-M已完成与FreeRTOS的初步集成。这使在Cortex-M设备上运行FreeRTOS的应用程序能够通过PSA功能API利用TF-M提供的安全服务。集成已在Arm Musca-B1参考平台上进行了验证,并有望在带有TF-M的多个Cortex-M平台上使用。 与FreeRTOS内核集成 如下图所示,FreeRTOS内核在NSPE中运行,而TF-M在SPE中运行。FreeRTOS任务可以通过PSA功能API利用任何TF-M安全服务(例如,加密,安全存储和证明)。非安全调度程序将PSA功能API调用从任务转发到TF-M。在Github上可以找到示例集成。NSPE可以使用提供不同级别的安全性和隔离性的IPC或函数调用机制与TF-M通信。FreeRTOS可以根据应用需求使用这些机制中的任何一种与TF-M进行通信。 与PKCS#11集成 FreeRTOS的参考物联网集成提供了各种库和API,例如安全套接字,TLS,OTA代理和PKCS#11(公钥密码标准11),以提高应用程序的安全性。 PKCS#11FreeRTOS中使用API来执行TLS客户端身份验证,并将TLS客户端证书和私钥导入设备。PKCS#11已使用thin shim与TF-M集成,并在Arm Musca-B1参考平台上进行了验证。在集成中,PKCS#11 API通过填充程序调用适当的PSA功能安全存储API或加密API。这样可确保密钥和证书受到保护,并且加密操作在TF-M的SPE中安全地执行,并且与非安全处理环境中的内核,库和应用程序隔离。密钥和证书分别安全地存储在芯片存储和外部闪存中。这是通过TF-M的内部可信存储(ITS)和受保护的存储(PS)服务来启用的。TLS客户端身份验证期间的签名是由TF-M的Crypto服务执行的。可以找到如下图所示的Arm Musca-B1参考平台上的示例集成这里还有自述文件。PSA Functional API Shim可在FreeRTOS项目的psa文件夹下找到,允许启用TF-M的平台使用此垫片层。 表1显示了FreeRTOS中使用的PKCS#11 API和在提供密钥和证书以及TLS客户端认证期间调用的PSA功能API的映射。 下一步 下一步是将FreeRTOS安全组件与TF-M的集成扩展到PKCS#11接口之外。FreeRTOS OTA代理允许应用程序在平台上接收,验证和部署新映像。通过将OTA代理与TF-M的安全启动相集成,FreeRTOS可以利用平台提供的所有安全功能来缓解SPE中的新映像,从而缓解任何映像更新漏洞。当Mbed TLS项目开始使用PSA Functional Crypto API进行加密操作时,由FreeRTOS发起的所有TLS操作都将通过PSA Functional Crypto API调用TF-M Crypto Service。当前的集成和这些增强功能将在支持TF-M的各种Cortex-M设备上提供,从而简化了基于FreeRTOS的应用程序开发人员的安全性。 访问Trusted Firmware项目以了解有关TF-M和Github的更多信息,以访问Musca-B1上的FreeRTOS集成。FreeRTOS和启用TF-M的平台可以利用psa文件夹中的PSA Functional API填充程序 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
962 浏览 1 评论
1136 浏览 0 评论
1942 浏览 0 评论
1994 浏览 2 评论
1103 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 07:16 , Processed in 0.483049 second(s), Total 39, Slave 33 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号