Shared Virtual Machine Monitor Integrity Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud computing systems face challenges in ensuring the immutability and integrity of virtual machine monitor (VMM) code across multiple domains, leading to inefficient memory usage and preventing service providers from inspecting or updating the code for security patches, while also ensuring data privacy and isolation among mutually distrusting domains.

Innovation Solution

Implementing a shared virtual machine manager (sVMM) with integrity protection using domain-specific keys, and a cryptographic engine to provide separated encryption services, allowing the sVMM code to be shared immutably among domains while maintaining data integrity and enabling inspection by service providers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If VMM code is duplicated across multiple tenant domains, then data privacy and isolation are improved, but memory usage efficiency deteriorates

Engineering Contradiction:
Improvedata privacy and isolationVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple copies of VMM code into a single shared immutable copy that is securely accessible by multiple tenant domains. The VMM code is loaded once into a shared memory region and protected through cryptographic mechanisms (hash chaining, read-only permissions), eliminating the need for separate copies in each tenant domain while maintaining isolation through controlled access and integrity verification.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared VMM code serves multiple functions simultaneously: it provides virtualization services to multiple tenant domains, maintains data isolation through domain-specific data structures, ensures security through cryptographic protection, and enables efficient memory utilization through single-copy sharing. The immutable VMM code acts as a universal component that can be securely instantiated across different tenant contexts.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If VMM code is encrypted using unique VM keys, then data privacy is improved, but the ability to inspect and update code for security patches deteriorates

Engineering Contradiction:
Improvedata privacyVSAvoidcode inspection and updates
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the VMM code into distinct components: immutable core code that is shared and protected, and mutable components that can be updated. The immutable portion is protected through cryptographic hash chains and read-only permissions, while update mechanisms allow controlled modification of specific components through verified patching processes that maintain integrity without compromising the ability to inspect code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces cryptographic intermediaries (hash functions, integrity verification mechanisms) that enable code inspection and verification without requiring decryption of the entire VMM code. Service providers can verify code integrity through public hash values and controlled access mechanisms, allowing inspection and patching while maintaining privacy protection through selective disclosure and verified update processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of repair

If service providers can inspect and update VMM code, then security patching is improved, but tenant trust and isolation may deteriorate

Engineering Contradiction:
Improvesecurity patchingVSAvoidtenant trust and isolation
Core Design Contradiction:
Ease of repairVSReliability

Solution Approach 1:

The patent implements preliminary actions by establishing cryptographic verification mechanisms and integrity checks before any code updates occur. Hash chains and digital signatures are pre-computed and stored, allowing tenants to verify code integrity beforehand. Update processes require verification against these pre-established cryptographic references, ensuring that patching activities maintain isolation and trust through predetermined security guarantees.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where code updates trigger verification processes that notify tenant domains of changes. Integrity verification feedback is provided to tenants through controlled channels, allowing them to verify that updates maintain isolation guarantees. This feedback loop maintains trust by providing transparency about update activities while preserving security through verified integrity checks.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10686605B2Technologies for implementing mutually distrusting domains
Publication Date: 2020.06.16 INTEL CORP
  • US10686605B2 patent drawing
  • US10686605B2 patent drawing
  • US10686605B2 patent drawing

AI summary

Technologies for providing shared immutable code among untrusting domains are provided. The untrusting domains may be cryptographically separated within a cloud computing service or environment. The shared immutable code may be a shared virtual machine monitor (sVMM) that is setup by system software to indicate that the sVMM code pages need integrity alone and should be protected with an integrity key associated with individual domains. This indication may be stored in page tables and carried over the memory bus to a cryptographic engine. The cryptographic engine may use this indication to protect the integrity of data before storing the data to memory. In order to ensure cryptographic isolation, integrity values may be generated using a domain-specific key ensuring that an attempt to modify the code by one domain is detected by a different domain. Other embodiments are described herein and claimed.