机密计算

2024/4/16 16:46:02

ARM CCA机密计算软件架构之软件堆栈概述

Arm CCA平台通过硬件添加和固件组件的混合方式实现,例如在处理元素(PEs)中的RME以及特定的固件组件,特别是监视器和领域管理监视器。本节介绍Arm CCA平台的软件堆栈。 软件堆栈概述 领域VM的执行旨在与Normal world(正常世界)隔离,领域VM由Normal world Host(正常世界…

【机密计算实践】OPEN Enclave SDK 安装与构建

机密计算是基于硬件支持的可信执行环境的,比如 Intel SGX 硬件技术上面的 enclave 以及 Arm Trustzone 上的 OT-TEE,不过这些异构的 TEE 之间差异还是蛮大的,所以亟需一种能够屏蔽 TEE 差异软件中间件或者 SDK,这就是本文将要提到…

ARM CCA机密计算架构软件栈(上)

一、简介 该博客描述了Arm机密计算架构(Arm CCA)的固件和软件组件。 在这个博客中,将学到如何: 列出组成Arm CCA软件栈的组件集了解Arm CCA引入新软件组件的原因了解Monitor和领域管理监视器(RMM)的角色了解如何创建和管理领域1.1 开始之前 假设熟悉AArch64异常模型、…

ARM CCA机密计算软件架构之RMI领域管理接口与RSI领域服务接口

领域管理接口 领域管理接口(RMI)是RMM与正常世界主机之间的接口。 RMI允许正常世界虚拟机监视器向RMM发出指令,以管理领域。 RMI使用来自主机虚拟机监视器的SMC调用,请求RMM的管理控制。 RMI使得对领域管理的控制成为可能&…

什么是机密计算(Confidential Compute)?

机密计算是通过在可信的硬件支持的安全环境中执行计算来保护正在使用的数据。这种保护使代码和数据免受特权软件和硬件代理的观察或修改。 在机密计算环境中执行的任何应用程序或操作系统都可以期望在与系统的其他非受信任代理隔离的情况下执行。在隔离执行期间生成或使用的任…

ARM CCA机密计算架构软件栈(下)

三、Realm管理 本节描述软件组件中引入的软件组件如何在Realm的创建和执行期间进行交互。 3.1 资源管理 领域资源管理的基本原则是主机保持控制。这意味着主机决定使用哪个物理内存来支持给定的领域中间物理地址(IPA),或者存储RMM使用的Realm元数据的给定片段。 主机始终…

Confidential Compute Architecture - Arm构架的TEE新模式

1 简介 如今,云计算在分布式计算资源按需使用方面起着重要的作用。许多公司,如亚马逊、谷歌或微软都提供云服务,但使用这些服务需要信任服务提供商。这意味着一方面依赖提供商对抗攻击者,但另一方面也要信任提供商本身。恶意的提供商可能最终滥用其客户的敏感数据。使用可…

【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(二)

续上一篇 【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(一) 四、Mystikos Mystikos 是一个运行库和一组工具,用于在硬件可信执行环境(TEE)中运行 Linux 应用程序。当前版本支持英特尔 SGX,而未来版本可能支持其他 TEE。 4.1 目标 通过使用硬件 TEE,在…

Realm Management Extension领域管理扩展之安全状态

RME基于Arm TrustZone技术。TrustZone技术在Armv6中引入,提供以下两个安全状态: 安全状态(Secure state)非安全状态(Non-secure state)以下图表显示了在AArch64中的这两个安全状态以及通常在每个安全状态中找到的软件组件: 该架构将在安全状态运行的软件与在非安全状态运…

ARM CCA机密计算软件架构之设备分配(Device Assignment)

这个指南的前几节展示了领域提供的执行环境,它与正常世界的Rich OS、Hypervisor和TrustZone完全隔离。领域可以在初始化时完全通过认证,以确保其初始内容,并确保它在基于RME的平台上运行。 在大多数操作情况下,任何领域软件执行都需要访问系统中可用的设备。默认情况下,系…

ARM CCA机密计算软件架构之内存加密上下文(MEC)

内存加密上下文(MEC) 内存加密上下文是与内存区域相关联的加密配置,由MMU分配。 MEC是Arm Realm Management Extension(RME)的扩展。RME系统架构要求对Realm、Secure和Root PAS进行加密。用于每个PAS的加密密钥、调整或加密上下文在该PAS内是全局的。例如,对于Realm PA…

ARM CCA机密计算架构软件栈之软件组件介绍

在本节中,您将了解Arm CCA的软件组件,包括Realm World和Monitor Root World。以下图表展示了Arm CCA系统中的软件组件: 在这个图表中,世界之间的边界显示为粗虚线。由较高权限的软件强制执行的较低权限软件组件之间的边界显示为细虚线。例如,非安全EL2处的虚拟机监视器强制…

15 万奖金!开放原子开源大赛OpenAnolis 赛题@你报名

8 月 29 日,2023 开源和信息消费大赛新闻发布会在北京召开,首届“开放原子开源大赛”正式启动报名。大赛由工业和信息化部、江苏省人民政府、湖南省人民政府共同主办,开源赛道拟由开放原子开源基金会、央视网、江苏省工业和信息化厅、无锡市人…

ARM动态Trustzone技术简介

目录 动态 TrustZone 典型的安全媒体路径 Arm 安全和架构特性 安全虚拟化 Realm Management Extensio

Realm Management Extension领域管理扩展(下)

四、颗粒保护检查 本节描述了RME引入的颗粒保护检查。颗粒保护检查使得能够在不同的物理地址空间之间动态分配内存区域。 本节将向您介绍以下功能: 颗粒保护表的结构用于颗粒保护检查的故障报告区域在物理地址空间之间的过渡正如在物理地址一节中所述,RME提供了四个物理地址…

【机密计算实践】支持 Intel SGX 的 LibOS 项目介绍(一)

一、LibOS 库操作系统(Library Operating System,简称 LibOS)是根据某类应用的特殊需求,由某一高级编程语言将原本属于操作系统内核的某些资源管理功能,如文件磁盘 I/O、网络通信等,按照模块化的要求,以库的形式提供给应用程序的特殊操作系统。 它能代替操作系统内核合…

ARM CCA机密计算架构软件栈简介

本博客描述了Arm机密计算架构(Arm CCA)的固件和软件组件。 在这篇博客中,您将学到如何: 列出组成Arm CCA软件栈的组件集了解Arm CCA引入新软件组件的原因了解监视器和领域管理监视器(RMM)的角色了解如何创建和管理领域1.1 开始之前 我们假设您熟悉AArch64异常模型、AAr…

Arm CCA机密计算扩展

目录 Realms Realm World和Root World Arm TrustZone扩展和Arm RME之间有什么区别? 在《什么是机密计算?》中所述,Arm CCA允许您在阻止更高特权软件实体(例如Hypervisor)访问的同时部署应用程序或虚拟机(VM)。然而,通常由这些特权软件实体管理内存等资源。在这种情况…

ARM CCA机密计算硬件架构之内存管理

实施了TrustZone安全扩展的Arm A-profile处理器呈现两个物理地址空间(PAS): 非安全物理地址空间安全物理地址空间Realm管理扩展增加了两个PAS: Realm物理地址空间Root物理地址空间下图显示了这些物理地址空间以及如何在工作系统中实施这些空间: 正如表格所示,根状态能够访…