ARM-V9 RME(Realm Management Extension)系统架构之系统安全能力的信任根服务

安全之安全(security²)博客目录导读

目录

一、信任根服务

1、非易失性存储

2、根看门狗

3、随机数生成器

4、加密服务

5、硬件强制安全性


本节定义了系统架构必须支持的一般安全属性和能力,以确保RME安全性。 本章扩展了可能属于系统认证配置文件的一部分的其他安全规范,例如基于信任的系统架构。

一、信任根服务

1、非易失性存储

本节描述了根非易失性存储(Root Non-Volatile Storage,RNVS)的系统架构要求。

根非易失性存储(RNVS)是片上非易失性存储资源,例如熔丝或片上闪存,用于存储Arm CCA不可变的引导参数。

必须在根PAS(Root PAS)中有一个编程接口,允许对RNVS进行读写访问。

RNVS参数可以概念上分为两类:公共参数和机密参数。

系统支持一种方法,永久阻止应用PEs(Processing Elements)对所有RNVS参数的写访问。

系统支持一种方法,永久阻止应用PEs读取RNVS机密参数。

下表提供了RNVS公共参数的示例。

系统属性是一个结构,允许系统集成商向 MSD 报告所选择的 RME 系统实现选项集。

系统对系统属性中报告的任何内存保护属性的支持是不可变的,并适用于系统中所有的 DRAM 内存控制器。

RNVS 机密参数是不可变的机密材料,例如硬件唯一密钥 (HUK) 和其他私钥。

RNVS 的物理实现和工厂配置方法取决于系统的安全认证配置文件,必须符合屏蔽位置或隔离位置的要求。

2、根看门狗

术语根看门狗指的是由 MSD 或受信任的子系统专门控制的看门狗。RME 实现可以包括一个根看门狗,用于检测和恢复 MSD 功能故障。

根看门狗的内存映射寄存器位于根 PAS 中。

根看门狗能够在满足预定义的到期条件时触发 RME 系统复位。

对于通用看门狗实现,这可以通过将看门狗信号 1 (WS1) 路由到受信任的子系统(例如受信任的 SCP)或直接触发 RME 系统复位的硬件来支持。

当满足预定义的到期条件时,根看门狗可以向 EL3 生成中断。将看门狗中断安全地传递到 EL3 的方法由具体实现决定。

3、随机数生成器

MSD 和 RMSD 提供了一个私有接口,用于访问符合系统认证配置文件的真随机数生成器 (TRNG)。

4、加密服务

RME系统架构不指定通用加密服务的硬件要求,例如:

  • 加密密码模式和消息认证码
  • 公钥加密
  • 密钥生成和密钥派生函数(KDF)
  • 安全密钥存储和安全测量存储
  • 单调计数器和可信时间

MSD和RMSD可以使用利用各种A-profile加密扩展的软件库来实现所需的加密功能,例如AES-GCM-256或SHA。

其他加密功能可能作为系统服务由SSD实现,并通过根PAS中的内存映射接口公开。

5、硬件强制安全性

本节规定了支持硬件强制安全(HES)的RME系统的规则。HES将关键的Arm CCA安全特性从应用处理单元(PEs)移到一个隔离的受信任子系统中,该子系统负责Arm CCA的初始测量、身份和认证服务、调试认证和生命周期状态管理。

HES功能可以托管在一个专用的受信任子系统上,也可以作为多租户受信任子系统中的一个隔离租户。

HES实现集成了RNVS功能、加密功能和安全测量存储,形成一个不与应用PEs共享资源的私有执行环境。这允许:

  • 保证在应用PE上运行的固件不能影响Arm CCA的初始测量或Arm CCA的初始引导状态。
  • 通过防止应用PEs直接访问根密钥或对根密钥进行操作,实现对关键Arm CCA资源的物理隔离。

Arm强烈建议RME系统支持HES。

HES实现具有私有的执行资源、内存资源和加密资源,这些资源不与应用PEs或其他硬件代理共享。系统可以进一步为HES实现提供私有的复位、时钟和电源域,使其能够独立于系统电源状态维护上下文。

HES实现可以包括一个可更新的组件,例如固件镜像。HES可更新组件由不可变的HES逻辑进行测量,并且测量结果包含在由HES组成和签名的认证令牌中。

如果HES托管在多租户受信任子系统中,则必须将HES功能与其他租户隔离开来,以使租户不能监视HES功能或影响HES功能或完整性。

HES实现向SSD组件(如受信任的子系统)公开私有接口,用于请求HES服务。

HES为SSD提供的服务可能包括:

  • 使用SSD计算的摘要扩展一个或多个测量。
  • 使用SSD提供的镜像或引导状态(例如受信任的SCP镜像)计算摘要,并将该摘要与测量一起扩展。

HES实现在根PAS中公开了一个编程接口,所有应用PE共享,允许MSD和PE初始引导ROM请求HES服务。

HES为PE初始引导ROM提供的服务包括:

  • 使用PE初始引导计算的摘要扩展一个测量。

HES为MSD提供的服务包括:

  • 为MSD组成和签名一个初始认证令牌。
  • 使用MSD计算的摘要扩展一个或多个测量,例如测量RMSD镜像的摘要。

HES具有对RNVS机密参数的独占读写访问权限。

测量寄存器可以使用安全哈希算法进行扩展、锁定或重置。

HES具有对其拥有的测量寄存器进行扩展、锁定和可靠获取值的独占访问权限。

一旦锁定,测量就不能再进行扩展,直到进行重置。

RME系统复位是重置HES拥有的测量的唯一方法。

在RME系统复位时,HES状态被重置为已知值,包括所有测量和临时的加密上下文。

相关推荐
七灵微1 天前
进程与线程以及如何查看
linux·系统架构
oioihoii1 天前
桌面图形界面生成原理:从流水灯到电脑屏幕
系统架构
颯沓如流星2 天前
软件架构设计方法之The Clean Architecture 整洁架构
架构·系统架构
柔弱女子爱java2 天前
spring专题笔记(五):依赖注入--p命名空间注入、c命名空间注入、util命名空间
java·笔记·后端·spring·架构·系统架构
云空2 天前
《 QT 5.14.1 类库模块列表详述》
开发语言·qt·系统架构
星原飞火3 天前
2-2-18-16 QNX系统架构之自适应分区
车载系统·系统架构·qnx·blackberry
重生之我是数学王子4 天前
ARM原理
arm开发·系统架构
silver6874 天前
中间件介绍
系统架构
亭墨4 天前
linux0.11源码分析第二弹——setup.s内容
linux·驱动开发·学习·系统架构
田超凡6 天前
M4Pro内核MacOS brew安装docker爬坑
微服务·云原生·java-ee·系统架构