VM-Peripheral Key Exchange for Secure Encrypted DMA Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional virtualization systems experience significant latency and security vulnerabilities due to data copying between un-encrypted host memory and DMA buffers during VM-peripheral device communication, and malicious hypervisors can access private VM data by emulating trusted devices.
Innovation Solution
Implement secure communication by exposing a peripheral device's public cryptographic key to the VM, generating a shared cryptographic key through a nonce value encrypted with this key, and using it to access a shared memory space for direct memory access, thereby eliminating unnecessary data copying and preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If data copying between un-encrypted host memory and DMA buffers is performed during VM-peripheral device communication, then device compatibility and ease of operation are maintained, but system latency increases significantly
Solution Approach 1:
The patent extracts the cryptographic key verification and encryption operations from the traditional data copying path. By using DMA agents that can directly access encrypted VM memory through cryptographic keys, the system eliminates the intermediate un-encrypted host memory copy step, thereby reducing latency while maintaining security.
Solution Approach 2:
The patent introduces cryptographic keys and DMA agents as intermediaries between the VM and peripheral devices. These intermediaries enable direct encrypted access to VM memory, replacing the traditional un-encrypted copying mechanism and reducing system latency.
2Reliability
If un-encrypted host memory is used for data transmission, then device compatibility is maintained, but security vulnerabilities increase allowing malicious hypervisors to access private VM data
Solution Approach 1:
The patent applies preliminary anti-action by encrypting VM memory with cryptographic keys before any data transmission occurs. This pre-encryption prevents malicious hypervisors from accessing private VM data, as the data remains encrypted throughout the transmission process without requiring un-encrypted intermediate storage.
Solution Approach 2:
The patent replaces the mechanical system of un-encrypted memory copying with a cryptographic system. DMA agents use cryptographic keys to directly access and transmit encrypted data, substituting the traditional un-encrypted memory access mechanism and thereby enhancing security while maintaining device compatibility.
3Reliability
If cryptographic key verification and encrypted DMA are implemented, then security is enhanced, but device complexity increases
Solution Approach 1:
The patent implements self-service by enabling peripheral devices and DMA agents to autonomously perform cryptographic key verification and encrypted data access. The DMA agents automatically use the peripheral device's cryptographic key to access the appropriate encrypted VM memory regions without requiring complex external verification mechanisms, thereby reducing overall system complexity.
Data Source
AI summary
A method includes exposing a public cryptographic key associated with a peripheral device of a computing system to a guest running on the computing system. The method further includes receiving, from the guest, a message including a cryptographic nonce value encrypted with the public cryptographic key. The method further includes producing the cryptographic nonce value by decrypting the message using a private cryptographic key associated with the public cryptographic key. The method further includes using a shared cryptographic key generated from the cryptographic nonce value to access contents of a direct memory access (DMA) buffer associated with the peripheral device.


