Trusted I/O Support for External Peripheral Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processors, such as those with IntelĀ® Software Guard Extensions (SGX), provide secure enclaves for data protection within the chip but do not safeguard I/O data when it crosses the on-chip boundary, leaving it vulnerable to unauthorized access and attacks during transmission.
Innovation Solution
The implementation of a system using a cryptographic engine and channel identifier filter for trusted I/O operations, which encrypts and verifies I/O data across external peripheral links like Thunderbolt, ensuring secure transmission and integrity protection by encapsulating and de-encapsulating data with channel identifiers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If I/O data is transmitted across external peripheral links, then data transfer capability and device versatility are improved, but data security and integrity are worsened due to vulnerability during transmission
Solution Approach 1:
The patent applies preliminary action by encrypting I/O data before it leaves the secure enclave and establishing security credentials in advance. The cryptographic engine encrypts data with encryption keys stored in the secure enclave, and the external device stores security credentials (public keys, certificates) beforehand to enable verification. This pre-established security framework protects data during external transmission without limiting transfer capability.
Solution Approach 2:
The patent introduces cryptographic intermediaries to protect data transmission. A cryptographic engine acts as an intermediary between the secure enclave and external devices, encrypting data with encryption keys. Security credentials (public keys, certificates, digital signatures) serve as intermediaries to verify the authenticity and integrity of external devices and data, allowing secure communication without exposing sensitive keys or data.
2Reliability
If cryptographic protection is applied to I/O data, then data security and integrity are improved, but processing overhead and system complexity increase
Solution Approach 1:
The patent extracts cryptographic functions from the main processor into a dedicated secure enclave and cryptographic engine. The secure enclave contains encryption keys and security credentials separate from the main system, creating an isolated security domain. This extraction protects cryptographic materials while providing dedicated hardware acceleration for encryption/decryption operations, reducing the cryptographic processing burden on the main processor and simplifying the overall system architecture.
Solution Approach 2:
The patent implements self-service through automatic cryptographic operations. The cryptographic engine automatically encrypts I/O data using keys from the secure enclave without requiring manual intervention. The external device automatically verifies data integrity using stored security credentials (public keys, certificates). The system autonomously manages key storage, data encryption, and verification processes, reducing complexity by eliminating manual cryptographic management.
Data Source
AI summary
Technologies for secure I/O with an external peripheral device link controller include a computing device coupled to an external dock device by an external peripheral link, such as a Thunderbolt link. The external dock device includes an I/O controller that receives device data from an I/O device, generates a channel identifier associated with the I/O device, and transmits I/O data that includes the channel identifier to a dock controller. The dock controller encapsulates the I/O data to generate peripheral link protocol data and transmits the peripheral link protocol data to a host controller of the computing device over the external peripheral link. The host controller de-encapsulates the peripheral link protocol data and forwards the I/O data to memory. The channel identifier may be a predetermined value associated with the I/O controller, or may include a controller identifier associated with the host controller. Other embodiments are described and claimed.


