Virtualized Peripheral Communication With Device Attestation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualized systems experience significant latency and security vulnerabilities in peripheral device communication due to data copying between un-encrypted host memory and DMA buffers, and malicious hypervisors can access private VM data by emulating trusted devices.
Innovation Solution
Implement a method where the virtual machine verifies the authenticity of peripheral devices using state measurements and device cryptographic keys, generating a guest cryptographic key for secure communication, which is cryptographically signed and encrypted, thereby eliminating unnecessary data copying and preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data copying between un-encrypted host memory and DMA buffers is performed in existing virtualized systems, then communication between VM and peripheral device is enabled, but system latency increases significantly
Solution Approach 1:
The patent extracts the data copying operation from the communication path between VM and peripheral device. By using encrypted DMA buffers that can be directly accessed by the peripheral device through the virtual device driver, the intermediate copying step through un-encrypted host memory is eliminated, thus reducing system latency while maintaining security through encryption.
2Ease of operation
If existing virtualized systems use un-encrypted host memory for data transmission, then data copying is simplified, but security vulnerabilities increase allowing malicious hypervisors to access private VM data
Solution Approach 1:
The patent applies local quality by encrypting only the specific DMA buffers used for VM-peripheral device communication while leaving other host memory operations unchanged. Each DMA buffer is encrypted with keys specific to the VM and peripheral device, providing localized security without complicating the overall data transmission mechanism. The encryption is transparent to the VM and peripheral device, maintaining ease of operation while enhancing security.
3Adaptability or versatility
If malicious hypervisors can emulate trusted devices in existing systems, then device compatibility is maintained, but unauthorized access to VM data occurs
Solution Approach 1:
The patent implements preliminary action by establishing cryptographic verification of device authenticity before allowing communication. The virtual device driver and peripheral device exchange cryptographic keys and verify each other's identity through state measurements and cryptographic signatures. This preliminary verification prevents malicious hypervisors from emulating trusted devices, as they cannot replicate the cryptographic credentials without access to the actual peripheral device's key material.
4Reliability
If cryptographic verification and encrypted communication are implemented, then security against malicious hypervisors is improved, but device complexity increases
Solution Approach 1:
The patent uses the virtual device driver as an intermediary that handles the cryptographic operations between the VM and peripheral device. The driver manages key storage, cryptographic verification, and encrypted communication protocols, shielding the VM and peripheral device from the complexity of cryptographic operations. This intermediary approach maintains high security while preventing the complexity from propagating to the end systems.
Data Source
AI summary
Systems and methods for securing assigned peripheral device in virtualized computer system. An example method may comprise receiving, by a virtualized execution environment, a state measurement associated with a peripheral device of the computing system. Generating a guest cryptographic key. Responsive to validating the state measurement, transmitting, to the peripheral device, the guest cryptographic key encrypted using the device cryptographic key. Transmitting, to the peripheral device, an access request that is cryptographically signed using a first value derived from the device cryptographic key or a second value derived from the guest cryptographic key and encrypted using a third value derived from the guest cryptographic key.


