【TF-M】Platform Security Architecture (PSA)框架学习

PSA框架

PSA架构是ARM推出的保障物联网设备安全的安全框架。

软件架构

下图是从PSA官方文档截取的软件架构图。其按照功能分为安全分区(secure partition)、安全分区管理器(secure partition manager)、RoT service、secure IPC等
在这里插入图片描述

secure partition

在SPE中,RoT服务需要一个执行环境来提供对资源的访问、对自己的代码和数据的保护,以及与系统中的其他组件进行交互的机制。在PSA固件框架,一个安全分区就是这个执行环境。每个安全分区是单个执行线程,是最小的隔离单元。如果实现了最强的隔离级别,则每个安全分区都与其他安全分区隔离。每个安全分区可以托管一个或多个RoT服务。
简单的讲就是安全分区是具体安全服务的载体,提供对应的安全服务,比如TFM里的crypto就是一个安全分区,其提供一个 PSA Rot服务。其由SPM管理与调度。

Secure Partition Manager

安全分区管理器(SPM)是特权最高的固件,它提供基本的安全服务来保护PSA的信任根,并使隔离的固件组件能够通信。SPM还负责管理安全分区线程的调度。
在这里插入图片描述
其管理安全分区,使用IPC机制使其能够与NSPE通信,也能与其他安全分区通信。上图描述了SPM如何管理分区通信。安全分区通过特定PSA APIs与各模块通信。

RoT services

安全功能由PSA作为RoT服务集合公开。每个RoT Service都是一组相关的安全功能,例如,可能有一个用于对称加密操作的RoT Service,还有一个用于生成随机数的RoT Service。RoT service分为PSA RoT service(PRoT默认有三个,分别是crypto、secure storage、Attestation)和Application RoT Service(ARoT)。
简单的说就是每个partition提供一个或多个RoT service,而这些service就是具体的安全服务。

secure IPC

IPC框架是一个基于连接的客户机和服务器模型,它为调用客户机提供远程调用能力。客户端可以在NSPE中,也可以在安全分区中。服务器实现了一个RoT服务安全分区。安全IPC是基于会话的,请求总是通过客户机和RoT之间的连接发送的服务。IPC消息传递基于请求-响应模型。在这个模型中,客户端被客户端请求阻塞,直到RoT服务响应为止。这允许在非安全应用程序固件中使用简单或不使用调度逻辑的较小系统上高效实现

隔离等级

PSA针对不同设备的安全性、性能、成本提出了三个级别的隔离。
在这里插入图片描述

level 1

将SPE与NSPE隔离开,NSPE不能访问SPE的资源,需要由PSA client API访问特定的服务。
SPE和NSPE之间有一个隔离边界,如下图。
在这里插入图片描述

level 2

level 2在level 1的基础上引入了PSA RoT和Application RoT隔离边界。如下图。将PROT与AROT隔离开。这两类服务不能访问各自的资源。需要由PSA API访问对方的服务。
在这里插入图片描述

level 3

level 3在level 1和2的基础上引入了对每个安全分区之间的隔离边界。如下图。实现对所有安全分区的隔离,其是最高级别的隔离
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值