自学内容网 自学内容网

ARM CCA机密计算安全模型之概述

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

目录

1、CCA的要素

2、CCA平台

2.1 CCA 系统安全域

2.2 监控安全域

2.3 领域管理安全域

3、与系统平台安全服务的关系

3.1 安全配置

3.2 平台认证


1、CCA的要素

高层次的 CCA 架构如下图中概述。

在硬件层面,CCA 系统安全域包括可能影响 CCA 安全保证交付的所有系统硬件组件。

[R0001] 未直接参与交付 CCA 安全保证的硬件代理不能直接影响 CCA 系统安全域中的组件。

应用处理元件(PE)上的固件和软件被分为四个世界,由世界保护边界隔开。一个“世界”代表一种系统安全状态及其相关的私有资源——如内存、寄存器和设备——这些资源仅在请求者处于该状态时才可访问。

  1. 根世界(Root world)——负责执行世界之间的保护边界。
  2. 安全世界(Secure world)——包含所有 TrustZone 固件。
  3. 领域世界(Realm world)——包含所有领域(Realms)。
  4. 普通世界(Normal world)——包含所有其他托管环境的软件和固件。

[R0002] 领域世界(Realm world)的内存和执行上下文不能被普通世界(Normal world)或安全世界(Secure world)影响。 安全世界的内存和执行上下文不能被普通世界或领域世界影响。 根世界的内存和执行上下文不能被任何其他世界影响。 普通世界的内存和执行上下文不受 CCA 的任何安全保证。

监控安全域(Monitor Security Domain, MSD) 代表了在启用 CCA 的系统上具有最高权限的应用处理元件(PE)固件。

[R0003] 只有监控固件(Monitor firmware)可以直接访问 CCA 系统安全域中的硬件。 监控固件负责执行世界隔离保护边界。

领域管理安全域(Realm Management Security Domain, RMSD) 代表领域世界中最高权限的固件,负责在领域世界中执行领域之间的 CCA 安全保证。

2、CCA平台

CCA 平台是一个集合术语,用于识别所有参与提供 CCA 安全保证的硬件和固件组件。因此,领域(Realm)需要信任的所有硬件和固件组件都位于启用了 CCA 的系统中。这包括:

  • CCA 系统安全域
  • 监控安全域
  • 领域管理安全域

2.1 CCA 系统安全域

CCA 系统安全域包含所有可能影响 CCA 安全保证的系统架构元素。包括:

  • 应用处理元件(PE)初始启动代码——例如,启动 ROM
  • 受保护的存储位置——例如,存储 CCA 硬件配置资产的防篡改保险丝
  • 隔离硬件——参与执行 CCA 隔离策略的所有系统硬件代理,例如 MMU 或 MPU
  • 可信子系统——与应用 PE 分离的、独立的执行环境,具有其自身的固件,例如 CCA 硬件强制安全(CCA HES)主机(参见硬件强制安全)或电源管理子系统
  • 侵入性子系统——例如,调试或诊断接口

2.2 监控安全域

监控安全域代表在应用 PE 上的根世界中执行的所有固件。它在不同的世界之间实施 CCA 安全保证。监控安全域必须被领域世界和安全世界所信任。

2.3 领域管理安全域

领域管理安全域代表在应用 PE 上的领域世界中执行的所有固件,它在领域世界内的不同领域之间实施 CCA 安全保证。

领域管理安全域必须受Realm信任。

3、与系统平台安全服务的关系

系统可能会提供与 CCA 无关的平台安全服务,例如:

  • 身份管理,例如订阅者身份
  • 与 CCA 无关的密钥存储和密钥管理
  • 平台测量和认证
  • 生物识别和用户身份验证

CCA 不依赖任何此类服务来确保其自身的安全,因此本文件未讨论它们。根据实现的不同,有两个特定的平台安全服务可能与 CCA 相交,仅在此提供背景信息:

  • 安全配置(Security provisioning
  • 平台认证(Platform attestation

平台安全和平台认证通常在专用的可信子系统中实现,包括诸如 [Titan] 和 [Cerberus] 等标准。

3.1 安全配置

安全配置代理指任何支持配置机密信息的功能,例如配置 SIM 或 TPM 身份。
CCA 也需要硬件配置的资产来提供 CCA 安全保证,详见 CCA 身份管理。
安全配置过程预计是依赖于特定生态系统的,可能发生在设备供应链的任何阶段或多个阶段的组合中。例如:

  • 在硅片制造阶段
  • 作为设备制造结束时设备激活的一部分
  • 作为设备所有者的在线激活过程的一部分

CCA 不定义或限制使用何种安全配置过程或其设计方式。

3.2 平台认证

平台认证是现代复杂设备中常见的功能,涉及多个平台安全子系统。每个独立的平台安全子系统可能实施自己的安全启动过程,但自身并不提供整个平台的安全启动状态。

通常,平台认证由一个专用的可信子系统组成,该子系统能够独立测量所有平台安全组件的关键启动阶段,并提供整体平台的安全认证。平台认证对它所测量的平台安全子系统是透明的。

平台认证的结果可以通过多种方式使用,例如:

  • 强制执行本地设备政策
  • 向远程平台验证者提供系统整体安全状态的独立证明。例如,允许云托管提供商在数据中心中执行政策。

在平台启动过程中所进行的测量也可以用于密钥派生。例如,它可以用于保护用户数据不受未经授权的固件影响。
平台认证不会取代各个平台安全子系统中的本地安全过程,而是试图在多个互不信任的平台安全子系统之间强制执行全局政策。

CCA 不定义或限制平台认证过程,也不依赖平台认证来执行自身的安全过程。


原文地址:https://blog.csdn.net/yuxiaochen99/article/details/142852520

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!