VM Function Encrypting Guest CPU State for Hypervisor Privacy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualization environments, guest CPU states are vulnerable to exposure by hypervisors, leading to potential privacy issues, as existing encryption methods either break CPU emulation or fail to adequately secure all guest state components.
Innovation Solution
A virtual machine function within the guest determines and encrypts portions of the guest CPU state not required for privileged instruction execution, sending requests to the hypervisor while keeping unnecessary state components secure, and decrypting after execution, thereby minimizing exposure to the hypervisor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the hypervisor accesses the guest CPU state to execute privileged instructions, then the virtualization functionality is maintained, but the guest state becomes exposed to the hypervisor causing privacy issues
Solution Approach 1:
The patent segments the guest CPU state into two distinct portions: a first portion that is encrypted and not used for privileged instruction execution, and a second portion that is decrypted and used for privileged instruction execution. This segmentation allows the system to maintain virtualization functionality while protecting sensitive guest state data from hypervisor exposure.
Solution Approach 2:
The patent applies different security qualities to different portions of the guest CPU state. The first portion is encrypted with higher security protection, while the second portion is decrypted and made accessible to the hypervisor only when needed for privileged instruction execution. This local quality differentiation resolves the contradiction by providing security where needed while maintaining functionality where required.
2Object-affected harmful factors
If encryption is applied to the guest CPU state to secure it from hypervisor view, then privacy is improved, but CPU emulation is broken
Solution Approach 1:
The patent dynamically controls the encryption state of the guest CPU state portions. The first portion remains encrypted during normal operation to maintain security, while the second portion is selectively decrypted only when privileged instruction execution is required. This dynamic state management allows the system to maintain both security and CPU emulation functionality without contradiction.
Solution Approach 2:
The patent performs preliminary encryption of the first portion of the guest CPU state before privileged instruction execution occurs. This preliminary security measure ensures that sensitive data is protected in advance, while the system prepares the second portion for decryption only when absolutely necessary for functionality, thus resolving the security-functionality contradiction.
3Object-affected harmful factors
If all guest CPU state is encrypted to maximize security, then privacy protection is improved, but the ability to execute privileged instructions is lost
Solution Approach 1:
The patent divides the guest CPU state into encrypted and decrypted portions, allowing the system to maximize security for sensitive data while maintaining operational capability for privileged instructions. The first portion remains encrypted to protect privacy, while the second portion is decrypted to enable ease of operation for required instructions.
Solution Approach 2:
The patent applies different operational qualities to different portions of the guest CPU state. The first portion maintains high security with encryption, while the second portion provides ease of operation by being decrypted and accessible during privileged instruction execution. This local differentiation resolves the contradiction between security and operational ease.
Data Source
AI summary
Systems, methods, and techniques for securing a state of a guest are provided. An example method includes determining, by a virtual machine function within a guest, a guest central processing unit (CPU) state that is stored in one or more registers of a CPU and associated with the guest. The method also includes encrypting, by the virtual machine function, a first portion of the guest CPU state that is not used to execute a privileged instruction being attempted by the guest. The method further includes sending, by the virtual machine function, one or more requests based on the privileged instruction to a hypervisor. The method also includes after execution of the privileged instruction is completed, decrypting, by the virtual machine function, the first portion of the guest CPU state.


