Confidential VM State-Separated Storage with Merkle Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Confidential virtual machines face challenges in persisting their state between sessions due to the restricted domain of trust, which prevents data from leaving the secure environment, necessitating the instantiation of a new machine for any changes, and there is a need to maintain data integrity and confidentiality beyond the boundary of trust.
Innovation Solution
Implementing a state-separated architecture using Merkle hash trees for filesystems to store and verify the state of confidential virtual machines, separating read-only and read-write volumes, and maintaining a chain of trust by writing changes to a different chain with read-write capability, allowing state persistence and secure updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If data is stored outside the boundary of trust, then state persistence between sessions is enabled, but data integrity and confidentiality cannot be guaranteed
Solution Approach 1:
The storage system is segmented into two distinct components: a read-only volume storing the original trusted data, and a read-write volume storing changes. This segmentation allows the original trusted data to remain protected while enabling persistence of state through the read-write volume, resolving the contradiction between persistence duration and data integrity.
Solution Approach 2:
A hash tree structure serves as an intermediary between the read-only and read-write volumes. The hash tree verifies the integrity of data from the read-only volume and validates changes in the read-write volume, acting as a mediator that enables state persistence while maintaining data integrity and confidentiality guarantees.
2Reliability
If a new confidential virtual machine is instantiated for every change, then data confidentiality is maintained, but system complexity and resource consumption increase
Solution Approach 1:
The system transitions from a static model where each change requires a new virtual machine instance to a dynamic model where a single virtual machine can evolve over time. Changes are persisted in the read-write volume and merged with the read-only volume, allowing the virtual machine to maintain its identity while accepting modifications, thereby reducing complexity.
Solution Approach 2:
The read-only volume is prepared in advance with the trusted operating system binaries and initial state. This preliminary preparation allows subsequent changes to be applied to the read-write volume without requiring re-instantiation of the entire virtual machine, reducing complexity while maintaining confidentiality.
3Duration of action of stationary object
If read-only and read-write volumes are separated, then state persistence is enabled, but filesystem complexity increases
Solution Approach 1:
The hash tree acts as an intermediary layer between the read-only and read-write volumes, providing a structured method to verify and merge data from both volumes. This intermediary structure enables state persistence while managing filesystem complexity through systematic verification and merging processes.
Solution Approach 2:
The hash tree provides feedback mechanisms to verify the integrity of data from the read-only volume and validate changes in the read-write volume. This feedback system ensures that the separated volume structure maintains consistency and trustworthiness, managing the complexity of the filesystem through systematic verification.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Examples of the present disclosure describe systems and methods for implementing a confidential virtual machine generation system. In examples, read-only and read-write volumes are generated to store operating system binaries and user-generated content, respectively, on filesystems indexed using hash trees. The hash values of the roots of the two hash trees are stored in a location accessed as part of loading an operating system. The example system accesses the roots of the two hash trees to access the current state of read-only and read-write volumes and verify the states using a checksum. The verified states are merged to generate an operating system image associated image with the confidential virtual machine. Additionally, the system merges the namespaces of filesystems of read-only and read-write volumes into a single filesystem namespace concealing multiple volumes.