Hafnium安全分区管理器和示例参考软件栈

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

目录

一、安全分区管理器

1、术语

2、对旧平台的支持

二、示例参考软件栈


一、安全分区管理器

        安全分区管理器的三种实现在TF-A代码库并存:

        1.基于FF-A规范的S-EL2 SPMC(SPM Core),使能安全世界的虚拟化,管理多个S-EL1或S-EL0分区(partitions)。

        2.基于FF-A规范的EL3 SPMC,在安全世界中管理单个S-EL1分区而不进行虚拟化。

        3.基于MM规范EL3 SPM,旧的实现管理单个S-EL0分区

        这些实现在各自的软件体系结构中是不同的,并且在构建时只能选择一个。这里重点描述1的实现,即当SPMC位于S-EL2时。这不是体系结构规范,它可能对规范中规定的实现定义的部分提供假设。这介绍TF-A作为引导加载程序bootloader的含义,以及在实现了FEAT_SEL2架构扩展的平台上作为S-EL2/SPMC安全固件参考代码库的Hafnium

1、术语

        Hypervisor这个术语通常指的是非安全世界的管理虚拟机(或分区)的NS-EL2组件。        

        SPMC指的是在实现了FEAT_SEL2体系结构扩展后,在安全世界中管理安全分区的S-EL2组件。

        或者,SPMC可以引用S-EL1组件,它本身是一个安全分区,并在不实现FEAT_SEL2架构扩展的平台上实现FF-A ABI。

        VM指的是由Hypervisor管理的非安全世界虚拟机。

        SP指的是由SPMC管理的安全世界“虚拟机”。

2、平台的支持

        SPM被分为驻留在不同异常级别的调度程序(dispatcher)和核心组件(分别为SPMD和SPMC)。为了允许采用FF-A规范并顺利迁移,SPMD支持驻留在S-EL1或S-EL2的SPMC:

  1. SPMD位于EL3,主要将FF-A协议从NWd (Hypervisor或OS内核)中继到SPMC。
  2. S-EL1和S-EL2的SPMC配置使用相同的SPMD组件。
  3. SPMC异常级别在构建时选择。

TF-A支持这两种情况:

  1. S-EL1 SPMC用于不支持FEAT_SEL2架构扩展的平台。SPMD将FF-A协议从EL3中继到S-EL1。
  2. S-EL2 SPMC用于实现FEAT_SEL2架构扩展的平台。SPMD将FF-A协议从EL3中继到S-EL2。

二、示例参考软件栈

        下图说明了实现FEAT_SEL2架构扩展的可能配置,显示了SPMD和SPMC,一个或多个安全分区,以及一个可选的Hypervisor:

Hafnium安全分区管理器和示例参考软件栈_第1张图片

你可能感兴趣的:(Hafnium,安全分区管理器,SPM,SPMD,SPMC)