VM Peripheral Communication via Shared Cryptographic Key
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional virtualization systems experience significant latency and security vulnerabilities due to the need to copy data between unencrypted and encrypted memory regions during data transmission between virtual machines and peripheral devices, which can be exploited by malicious hypervisors.
Innovation Solution
Implementing a method where a virtualized computing system generates a shared cryptographic key by encrypting a nonce value with a peripheral device's public key, allowing secure access to shared memory spaces without the need for data copying, thereby preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is copied between unencrypted and encrypted memory regions during transmission, then security can be maintained through isolation, but system latency increases significantly
Solution Approach 1:
The patent extracts the encryption/decryption operation from the data transmission path by implementing encryption at the source (VM side) and decryption at the destination (peripheral device side). This eliminates the need for intermediate copying between encrypted and unencrypted memory regions, removing the security-through-isolation mechanism that caused latency while maintaining security through cryptographic protection.
Solution Approach 2:
The patent introduces cryptographic keys and encryption/decryption operations as intermediaries to enable secure direct memory access. Instead of copying data through unencrypted intermediate storage, the system uses encryption as a mediator that allows data to remain protected end-to-end, eliminating the latency-causing copy operations while preserving security.
2Ease of operation
If data is copied through unencrypted memory regions, then access flexibility is improved, but security vulnerabilities increase due to potential unauthorized access
Solution Approach 1:
The patent applies preliminary encryption to data before it enters the memory system and preliminary decryption at the destination before use. This preliminary cryptographic protection ensures that even if data passes through memory regions, it remains encrypted and inaccessible to unauthorized entities, eliminating security vulnerabilities while maintaining access flexibility through proper key management.
Solution Approach 2:
The patent changes the cryptographic state parameter of data throughout its transmission lifecycle. Data remains in an encrypted state during storage and transmission, and only transitions to a decrypted state at the exact moment and location where it is needed for processing. This parameter change approach maintains both security and access flexibility by controlling when and where decryption occurs.
3Reliability
If multiple memory copy operations are performed for encryption and decryption, then security isolation is achieved, but device complexity increases
Solution Approach 1:
The patent merges the encryption and decryption operations into the data transmission endpoints themselves rather than requiring separate intermediate processing steps. The VM performs encryption as part of its output operation, and the peripheral device performs decryption as part of its input operation, consolidating security functions into existing data flow operations and reducing overall system complexity.
Solution Approach 2:
The patent implements self-service encryption and decryption where the data sources and destinations handle their own cryptographic operations. The VM encrypts its own output data, and the peripheral device decrypts its own input data, eliminating the need for complex intermediary management and reducing device complexity while maintaining security isolation.
Data Source
AI summary
A cryptographic data item is generated based on at least a public cryptographic key associated with a peripheral device connected to a virtualized computing system. The cryptographic data is transmitted to the peripheral device. A shared cryptographic key is generated based on the generated cryptographic data. One or more memory access operations are performed to access data at a region of memory associated with the peripheral device using the shared cryptographic key.


