I/O Device Encryption for Virtual Machine Confidential Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for confidential computing on virtual machines face limitations as data must be unencrypted for I/O operations, which compromises security and prevents full utilization of SR-IOV devices due to the need for bounce buffers and additional overhead mechanisms.

Innovation Solution

The method involves establishing an I/O device with an encryption key associated with a virtual machine, allowing for secure encryption and decryption of data within the I/O device, eliminating the need for bounce buffers and enabling direct encryption/decryption of data during I/O operations, thereby maintaining data security and supporting SR-IOV devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data is unencrypted for I/O operations, then I/O operations can be performed, but data security is compromised

Engineering Contradiction:
ImproveI/O operation capabilityVSAvoiddata security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an I/O device as an intermediary component that includes both encryption/decryption functionality and I/O processing capability. This mediator allows encrypted data to be processed without requiring the host system to access or decrypt the data, thus maintaining security while enabling I/O operations. The I/O device acts as a trusted third party that bridges the gap between encrypted data storage and I/O processing requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent combines encryption/decryption functionality with I/O device functionality into a single integrated component. By merging these previously separate functions into one device, the system can perform I/O operations on encrypted data directly without requiring data to be decrypted first, thus maintaining both security and operational capability simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If bounce buffers and additional overhead mechanisms are used, then data security is maintained, but SR-IOV devices cannot be fully utilized

Engineering Contradiction:
Improvedata securityVSAvoidSR-IOV device utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the encryption/decryption functionality from the host system and places it directly into the I/O device. This extraction eliminates the need for bounce buffers and additional overhead mechanisms that were previously required to maintain security during I/O operations. By removing these intermediate security mechanisms, the system can fully utilize SR-IOV devices while maintaining data security through the I/O device's integrated encryption capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the hypervisor is in the data path, then data security is maintained, but efficiency is reduced

Engineering Contradiction:
Improvedata securityVSAvoidI/O operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the hypervisor's role in data security with the I/O device as a new intermediary. The I/O device provides encryption/decryption capabilities directly in the data path without requiring hypervisor involvement, thus eliminating the hypervisor as a performance bottleneck while maintaining security through hardware-based encryption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based security mechanisms of the hypervisor with hardware-based encryption/decryption functionality in the I/O device. This substitution of mechanical/software systems with dedicated hardware eliminates the overhead associated with hypervisor processing while maintaining security through cryptographic operations performed directly in the I/O path.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS20230195492A1Communication encryption and decryption on devices
Publication Date: 2023.06.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20230195492A1 patent drawing
  • US20230195492A1 patent drawing
  • US20230195492A1 patent drawing

AI summary

An apparatus, a method, and a computer program product are provided that provide confidential computing on virtual machines by securing input/output operations between a virtual machine and a device. The method includes establishing an input/output (I/O) device with an encryption key associated with a virtual machine and transmitting, by the I/O device, an I/O transaction requesting encrypted data stored in physical memory by the virtual machine. the I/O transaction includes a direct memory access (DMA) memory address and a bus device function. The method also includes retrieving, by an input/output memory management unit (IOMMU), the encrypted data mapped from the DMA memory address to a physical memory address in the physical memory and transmitting, by the IOMMU, the encrypted data to the I/O device. The method further includes decrypting, by the I/O device, the encrypted data using the encryption key associated with the virtual machine and processing the decrypted data.