Privileged Cryptographic Service in System Management Mode
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multitenant remote program execution environments, such as cloud computing systems, are vulnerable to 'virtual machine escape' attacks where a customer's code can access sensitive information and resources of other customers, compromising security.
Innovation Solution
A privileged cryptographic service operating in system management mode (SMM) manages cryptographic keys and detects tampering by measuring the hypervisor, preventing unauthorized access and ensuring robust security against virtual machine escape and hypervisor attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cryptographic keys are stored in a multitenant remote program execution environment with hypervisor management, then resource sharing and scalability are improved, but security vulnerability to virtual machine escape attacks increases
Solution Approach 1:
The system segments security management by introducing a privileged service running in system management mode (SMM) that operates independently from the hypervisor and virtual machines. This SMM segment securely stores cryptographic keys and authenticates hypervisor code, creating a isolated security layer that prevents virtual machine escape attacks while maintaining multitenant resource sharing capabilities.
Solution Approach 2:
The privileged service acts as an intermediary between the hypervisor and cryptographic key storage. It authenticates the hypervisor by measuring its code against stored hash values and only permits key access after successful authentication. This intermediary layer blocks unauthorized access paths while allowing legitimate hypervisor operations to proceed.
2Reliability
If a privileged service runs in system management mode to secure cryptographic keys, then security against virtual machine escape is improved, but system complexity increases
Solution Approach 1:
The security-critical functions of cryptographic key storage and hypervisor authentication are extracted from the standard virtualization stack and placed in a dedicated privileged service running in SMM. This extraction isolates these critical functions from potential compromises in the hypervisor or virtual machines, enhancing security while keeping the added complexity confined to a small, specialized component.
Solution Approach 2:
The system performs preliminary authentication of the hypervisor by measuring its code against pre-stored hash values in the privileged service before allowing access to cryptographic keys. This preliminary security check prevents unauthorized access without requiring complex runtime monitoring or intervention mechanisms.
3Difficulty of detecting and measuring
If the privileged service measures the hypervisor to detect tampering, then detection capability is improved, but processing overhead increases
Solution Approach 1:
The privileged service performs hypervisor measurement by comparing its code against pre-stored hash values during the boot process and before key access. This preliminary measurement approach enables efficient tampering detection without requiring continuous monitoring or complex analysis during runtime operations.
Solution Approach 2:
The system uses cryptographic hash values as simplified copies or representations of the hypervisor code for authentication purposes. Instead of analyzing the entire hypervisor codebase, the privileged service compares compact hash representations, enabling efficient tampering detection with minimal processing overhead.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A privileged cryptographic service is described, such as a service running in system management mode (SMM). The privileged service is operable to store and manage cryptographic keys and/or other security resources in a multitenant remote program execution environment. The privileged service can receive requests to use the cryptographic keys and issue responses to these requests. In addition, the privileged service can measure the hypervisor at runtime (e.g., either periodically or in response to the requests) in an attempt to detect evidence of tampering with the hypervisor. Because the privileged service is operating in system management mode that is more privileged than the hypervisor, the privileged service can be robust against virtual machine escape and other hypervisor attacks.