📃
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. Confidential Computing
  2. How Confidential Computing works

Memory Encryption

Memory encryption plays a crucial role in ensuring the security and confidentiality of data within the context of confidential computing. It is a technique used to protect the contents of memory, preventing unauthorized access or tampering.

In confidential computing environments, memory encryption is typically implemented using hardware-based features. These technologies provide secure enclaves or trusted execution environments where sensitive data can be processed securely.

Here's an overview of how memory encryption works in confidential computing:

Memory Encryption

Within the secure enclave, memory encryption is employed to conceal the contents of memory. This encryption ensures that the data stored in memory is protected even if an adversary gains access to the physical memory.

Memory Authentication

The memory within the secure enclave is authenticated. This protects the enclaved process against modification, for example, changing the program flow or injecting malicious microoperations.

Encryption Keys

Encryption keys are used to encrypt and decrypt the memory contents. These keys are securely generated and managed within the hardware-based security processor of the confidential computing platform. The keys are typically unique to each enclave and are inaccessible to other system components.

Transparent Decryption

When data is needed for processing within the secure enclave, the encrypted memory is transparently decrypted using the enclave's encryption keys. The decrypted process instructions can then be passed to the CPU for execution. In the same vein, the output of the CPU is first encrypted, before written to the memory.

By employing memory encryption techniques, confidential computing platforms mitigate the risk of unauthorized access to sensitive data in memory. It helps protect against attacks such as memory scraping, some variants of side-channel attacks, or unauthorized memory access by malicious actors or privileged software layers. Memory encryption is critical to maintaining data confidentiality and integrity in confidential computing environments.

Last updated 1 year ago

Was this helpful?