📃
Confidential Computing 101
HomeTechnologyTry CC!
  • Welcome
  • Confidential Computing
    • What is Confidential Computing
    • What problems Confidential Computing solves
      • Bare Metal
      • Docker
      • Kubernetes
      • Knative
    • Why Confidential Computing
    • How Confidential Computing works
      • Memory Encryption
      • Workload Attestation
      • Confidential Boot
      • Sealing / Binding
      • Secret Provisioning
    • Technology Overview
    • Cloud Service Providers
  • Technology in depth
    • Intel SGX
      • Getting Started
        • Bare Metal Server Installation
        • Enclave Development Environment
        • Intel SGX SDK Setup
      • Technology
        • 🎭Features
        • 💂Threat Model
        • 🆚Versions
        • 🟦Concepts
          • 🏦Memory Encryption
          • 👮Local and Remote Attestation
          • 🖼️DCAP-Attestation Framework
          • 🔑Secret Key Provisioning
      • enclaive Development Kit
        • 🏢Architecture
        • 🌪️Workflow
        • 🌍Tutorials
          • Azure DCdsv3, DCsv2, or DCsv3 Setup
          • Redis in cK8s
          • MongoDB in cK8s
          • K8s + HashiCorp Vault on Azure DCsv3
      • Vault Remote Attestation Plug-In
        • 🏃‍♂️Initialization
        • 👮Attestation
        • ⚙️Configuration
    • Intel TDX
      • Getting Started
        • Azure
        • AWS
        • GCP
      • Technology
        • History
          • VT
          • TME/MKTME
          • SGX
        • Features
        • Threat Model
        • Concepts
          • Architecture
            • TDX Module
          • Memory Encryption
            • Confidentiality and Integrity
            • Keys and Key Management
          • TD Partitioning
          • DCAP-Attestation
            • Overview
            • Platform Registration
            • Attestation Report
    • AMD SEV
      • Getting Started
        • Azure
        • AWS
        • GCP
      • Technology
        • History
        • Threat Model
        • SME Concepts
          • Use Models
        • SEV-SNP Concepts
          • Features
            • Integrity Threats
            • Reverse Map Table
            • Page Validation
            • Page States
            • Virtual Machine Privilege Levels
            • Interrupt/Exception Protection
            • Trusted Platform Information
            • TCB Versioning
            • VM Launch & Attestation
            • VM Migration
            • Side Channels
          • Use Cases
          • Architecture
            • Encrypted Memory
            • Key Management
          • Software Implications
    • ARM CC
      • Technology
        • Introduction
        • Threat Model
        • Design
        • Comparison
    • Attestation Methods
      • Raw Attestation
      • Raw Attestation with Secure-Boot
      • Raw Attestation with a vTPM
        • AMD Secure VM Service Module and vTPMs
      • Raw Attestation with paravirtualized TPM
  • Resources
    • Youtube
    • Github
    • Products
Powered by GitBook
On this page

Was this helpful?

  1. Technology in depth
  2. ARM CC
  3. Technology

Introduction

The widespread usage of sensitive private data across various applications, including domains such as advertising and healthcare, has prompted growing concerns regarding data privacy within the realm of computational processes. A notable trend is the migration of these applications to commodity cloud providers. In this context, data and computational tasks may be encapsulated within virtual machines (VMs) hosted on shared cloud hardware. The isolation of VMs hinges upon the operation of a hypervisor, which is employed to ensure the safeguarding of applications and their associated data within the VMs.

However, this reliance on software stacks introduces a need for applications to trust the underlying system software, encompassing hypervisors and operating systems (OSes). Despite their intended role in protecting applications and their private data, the extensive codebases of these hypervisors and OSes harbor vulnerabilities that pose risks to data integrity and confidentiality. Of particular concern are security vulnerabilities in system software at higher privilege levels, which possess the ability to access application data.

In response to this challenge, the Arm Confidential Compute Architecture (Arm CCA) offers a solution in the form of Realms. Realms represent secure execution environments that remain opaque to privileged but untrusted system software such as OSes and hypervisors. Arm CCA preserves the capability of existing system software to manage hardware resources for Realms, while preventing any breaches of Realm confidentiality and integrity. For instance, Arm CCA permits a hypervisor to allocate or free memory within a Realm VM dynamically, yet restricts access to the sensitive memory contents of that Realm VM. Arm CCA ensures the confidentiality and integrity of active Realm code and data – specifically data within CPU registers and memory – while not extending guarantees regarding their availability. Confidentiality ensures that modifications to private Realm data remain concealed from other Realms or untrusted system software. Integrity guarantees that a Realm will solely perceive modifications to its private data that it has initiated.

To minimize hardware complexity, Arm CCA focuses on introducing core hardware mechanisms for attestation and rudimentary address space protection. The management of these mechanisms is entrusted to firmware. In particular, Arm CCA leverages a feature within the Arm architecture termed the Realm Management Extension (RME). RME introduces a new physical address space named Realm world, which is orthogonal to privilege levels and independent of the prevailing Non-Secure (NS) world utilized for running software stacks. In both worlds, the conventional privilege levels apply, and instructions maintain their established semantics. Nevertheless, software in the NS world is barred from accessing CPU state and memory utilized by software in the Realm world. To oversee Realms, Arm CCA introduces the Realm Management Monitor (RMM), a novel firmware component functioning at a higher privilege level within the Realm world. This setup permits untrusted system software, such as a hypervisor operating in the NS world, to submit requests to RMM for Realm management tasks, encompassing the creation and execution of Realms. RMM ensures the security of Realms by upholding their confidentiality and integrity while processing these requests. Meanwhile, system software in the NS world remains responsible for the comprehensive management of hardware resource allocation to Realms, encompassing tasks like memory allocation and CPU scheduling.

It is noteworthy that RME is an elective feature incorporated within the Arm A-Profile architecture, introduced as of Armv9.3-A. Additionally, the CCA firmware has been made accessible as open-source code.

Last updated 11 months ago

Was this helpful?