PSA架构之安全模型1.0(DEN0079)之9:附录

  1. 附录
    1. TMSA安全目标的对应关系

威胁模型和安全分析(TMSA)表示Arm生成的一套文档,为许多目标PSA应用程序提供特定于用例的威胁模型分析。

每个TMSA都包含一组安全目标。安全目标可以减轻TMSA中一个或多个已确定的威胁。

PSA安全模型(本文档)定义了一个安全体系结构,旨在解决TMSA中识别的一组通用威胁,为所有预期的PSA应用程序提供安全基础。

本节展示每个已确定的TMSA安全目标的相应通用PSA安全模型目标。

安全目标

说明

PSA安全要求章节(强制性)

备注

访问控制

在授予访问水表配置和日志以及执行固件更新之前,评估对象应该对远程和本地管理实体进行身份验证。

PSA可信根

初始认证

PSA生命周期管理

PSA可信根提供了不可变的密钥保护,并加强了组件之间的隔离。

安全存储

当存储时,评估对象应该保证完整性和机密性,要保护固件证书的完整性,和配置文件、log的完整性

存储

密码服务

PSA生命周期管理

在应用程序可信根内,基于可信绑定API的PSA可信根和密码服务API可以被用于构建安全存储服务

固件真实性判定

在启动过程中,以及升级之前,评估对象应该对固件镜像和新固件版本的完整性进行验证。

引导

PSA可信根

 

通讯

该评估对象只能接受来自配置后端服务器的远程连接,并能够对这些服务器进行身份验证。

评估对象还应提供真实性,机密性和重放保护提供给其输出侧。

加密服务

PSA安全生命周期管理

初始认证

存储

PSA没有指定协议,但提供了用于存储密钥和将协议绑定到设备及其状态的安全构建块。

审计

评估对象应该维护所有重要事件的日志,并且只允许授权用户访问和分析这些日志。

 

PSA没有指定协议,但提供了用于存储秘密和将协议绑定到设备及其状态的安全构建块。

安全状态

即使发生故障,如固件完整性验证失败,也应保持安全状态。

引导

PSA安全生命周期

PSA可信根

 

防篡改

 

PSA没有指定协议,但提供了用于存储秘密和将协议绑定到设备及其状态的安全构建块。

请参阅Arm的可信基础系统架构(TBSA-M)

根据健壮性水平和生态系统的要求,预期对防篡改的详细要求会有所不同,本文档中不再进一步讨论。

 

    1. 硬件示例:有密码运算模块的Arm v8-M

下面的参考设计是基于一个简化的Arm Musca-B1测试芯片。体系结构的高层图如下图1所示。

      1. 架构描述

CPU

该设计使用了一个Armv8-M CPU,并实现了安全包(TrustZone支持)。它实现了两个MPUs——一个用于非安全执行状态,另一个用于安全执行状态(MPU_S)。它还实现了一个有8个条目的安全归属单(SAU)。CPU子系统包括一个2KB的指令缓存,一个实现定义的属性单元(IDAU)和一个紧耦合的RAM块专用于CPU。

 

互联接

互连采用Arm Corelink SSE-200互连,以AMBA AHB5总线矩阵为中心。互连由每个从属端口TrustZone过滤器补充,这些过滤器可以接受或拒绝依赖于其安全属性的事务。

 

非易失性存储器

芯片上的系统集成了多个嵌入式闪存分区,这些分区可以通过fuse(熔丝位)进行锁定,从而使它们的内容变得不可变。Boot ROM是这样实现的。ROM在制造时写入,并设置了永久保险丝,因此无法进行后续更新。

此外,还有几千位的一次可编程(OTP) efuses(一次可编程熔丝位?)。它们用于存储id、设备密钥和其他机密,以及非易失性设备标志。

 

加密单元

TrustZone CryptoCell是一个受信任的子系统,提供平台安全服务和一组密码服务。支持以下功能:

  1. 用于保护传输中的数据(通信协议)和静止数据的加密加速硬件
  2. 保护属于不同(可选)利益相关者(IC供应商或设备制造商或服务运营商或用户)的各种资产。这些资产保护功能包括:
  1. 启动时或运行时的映像验证
  2. 验证调试
  3. 随机数生成
  4. 生命周期管理
  5. 资产配置

 

系统RAM

这个参考体系结构集成了一个系统RAM块来支持应用程序。RAM位于TrustZone过滤器后面,允许将其划分为安全区域和非安全区域。在安全执行状态下运行的软件只能访问安全区域。

      1. PSA隔离的实现

PSA隔离强制隔离边界,将设备固件隔离到分区中。

下图中显示了到这个参考体系结构的一个这样的映射。

 

应用

大多数应用程序在处理器的非安全执行状态的非特权模式下运行。RTOS和设备驱动程序通常也被映射到不安全的执行状态。应用软件及其操作系统和驱动程序都被映射到PSA非安全处理环境中。

 

可升级的PSA可信根

在PSA系统中有两种类型的可更新信任根—信任的PSA根和应用程序根的信任。参见PSA可信根章节。这两者都会被映射到安全处理环境中,该环境在CPU的安全执行状态下执行。

  1. 应用程序可信根实现针对应用程序的功能——例如TLS和应用程序级安全存储
  2. PSA可信根实现所有PSA平台共有的功能,并在设备上形成最受信任的固件

PSA可信根具有对硬件安全系统的独占访问权。CryptoCell和其他信任组件的根互相影响,例如,TrustZone过滤器,只能通过PSA根信任函数来执行。

 

不可变PSA可信根

某些PSA可信根被定义为不可变的,并且在制造之后不能更新。

本设计中,包括了准备在嵌入式闪存中,并在制造时锁定的Boot ROM,以及OTP保险丝,后者通常在一个安全的环境中准备一组资产,即PSA和应用程序都需要的密钥和标识符。PSA资产在安全模型中进行了描述,并且在Armv8-M中也使用了TBSA-M(可信基础系统架构)。在本设计中,CryptoCell根据访问和它们的生命期保证来管理OTP熔丝位。CryptoCell还使用OTP熔丝位来支持设备生命周期的管理,包括PSA信任根的安全生命周期。

下图为和PSA固件框架的映射:

可信固件的某些根是可更新的。固定在不可变RoT中的信任链度量并验证所有新固件映像。在这个参考架构中,所有的RoT固件都存储在嵌入式flash宏(embeddedflash macro)中。

      1. PSA隔离边界的映射

所有PSA实现的一个关键方面是为隔离边界提供的硬件支持。在这个示例中,实现了一个级别2的隔离系统,但是在这个硬件体系结构中还可以支持更高级别的隔离。

1级边界

NSPE(不可信的应用)和SPE(应用可信根)之间的第1级边界是使用TrustZone实现的。NSPE对应于非安全状态和SPE对应于安全状态。通过设备的物理设置NS位来实现隔离,必须适当地配置SAU、IDAU 和TrustZone过滤器来实现这个边界隔离。

2级边界

2级边界位于应用程序可信根和PSA信任根之间。对于运行在Armv8-M处理器上的软件,边界由MPU_S实现,MPU_S是专用于在安全状态下执行的进程的内存保护单元。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值