Register Randomization for Confidential VM Side-Channel Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In confidential computing environments, virtual machines are vulnerable to side-channel attacks due to the exposure of encrypted register state changes, allowing malicious hypervisors to infer VM activities by observing patterns in ciphertext.

Innovation Solution

The processor randomizes guest register values using a nonce value before encryption, performing a hash function (e.g., XOR operation) with each register value, and stores the encrypted result, ensuring that each VM exit appears to change register values, thereby obscuring actual changes and preventing pattern inference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encrypted register state is stored in secure memory, then data confidentiality is improved, but side-channel attack vulnerability increases due to observable ciphertext patterns

Engineering Contradiction:
Improvedata confidentialityVSAvoidside-channel attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by randomizing the register state before encryption and storage. Specifically, the system performs XOR operations between register values and random values, then encrypts the randomized state. This preliminary randomization ensures that even if the same register state is encrypted multiple times, the resulting ciphertext will differ, preventing pattern inference attacks while maintaining data confidentiality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a random value generator and XOR operation layer - between the register state and encryption process. This intermediary randomization layer acts as a mediator that decouples the relationship between plaintext register states and ciphertext patterns, making it impossible for attackers to infer register changes from observed ciphertext patterns while preserving the ability to restore original states through decryption and reverse randomization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If register values are randomized before encryption, then side-channel attack resistance is improved, but system complexity increases due to additional randomization and restoration operations

Engineering Contradiction:
Improveside-channel attack resistanceVSAvoidsystem complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by modifying the register state parameters through XOR operations with random values before encryption. This changes the parameter representation of register states, ensuring that identical register values produce different randomized representations each time, thereby preventing pattern inference. The parameter change is reversible through decryption and applying the same randomization process again, maintaining system functionality while enhancing security.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements self-service by generating its own random values internally and managing the complete randomization-encryption-decryption-restoration cycle autonomously. The random value generator is integrated within the processor, and the system automatically performs all necessary operations including randomization, encryption, decryption, and restoration without requiring external intervention, thereby minimizing additional system complexity while achieving enhanced security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240176638A1Register protection for confidential computing environment
Publication Date: 2024.05.30 ADVANCED MICRO DEVICES INC
  • US20240176638A1 patent drawing
  • US20240176638A1 patent drawing
  • US20240176638A1 patent drawing

AI summary

A processing system executing a virtual machine (VM) in a confidential computing environment selectively randomizes the values of registers before the register values are encrypted to ciphertext and written to a secure region of memory upon the VM exiting execution at a processor of the processing system. When the VM later resumes executing at the processor, the processor de-randomizes the register values. By randomizing the register values, the processor obfuscates the register values from a hypervisor or physical attack, thereby protecting against side channel attacks on the encrypted ciphertext.