Secure Inter-Enclave Communication via Processor Report Instructions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processors with secure enclaves, such as Intel SGX, face challenges in enabling secure inter-enclave communication and key management, particularly in resource-constrained environments, where efficient and secure key derivation and message sealing/unsealing are needed without requiring both enclaves to be produced and deployed by the same ISV.
Innovation Solution
A computing device with a processor that supports secure enclaves implements a method for secure inter-enclave communication by initializing two enclaves, a report generator and a report target enclave, using a message authentication code (MAC) derived from a secret device key, allowing both enclaves to perform cryptographic operations using the MAC as a shared secret, and supports generic inter-enclave sealing without requiring both enclaves to be produced by the same ISV.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secure enclaves are isolated from each other for security protection, then security is improved, but inter-enclave communication capability deteriorates
Solution Approach 1:
The patent introduces a report structure as an intermediary mechanism that enables secure information exchange between isolated enclaves. The report contains a message authentication code (MAC) that acts as a mediator, allowing the first enclave to verify information from the second enclave without breaking the security isolation. This resolves the contradiction by providing a controlled communication channel that maintains security boundaries while enabling necessary interaction.
2Reliability
If complex key management mechanisms are implemented for inter-enclave communication, then security is improved, but device complexity increases
Solution Approach 1:
The patent extracts the key management complexity from the enclave implementation and relocates it to the processor's hardware security module. The report key and MAC generation are performed by dedicated processor instructions (ERENCRYPTAUTH, EDECRYPTAUTH) rather than software implementations within the enclaves. This extraction reduces the complexity burden on the enclaves themselves while maintaining strong security through hardware-enforced key management.
Solution Approach 2:
The patent implements self-service key management where each enclave independently generates its own report key using processor instructions. The first enclave can derive the MAC for verifying the second enclave's reports, and the second enclave can similarly derive MACs for verifying the first enclave's reports. This self-service approach eliminates the need for external key distribution infrastructure, reducing overall system complexity while maintaining security.
3Reliability
If resource-intensive cryptographic operations are performed for secure communication, then security is improved, but processing efficiency deteriorates
Solution Approach 1:
The patent replaces software-based cryptographic operations with hardware-accelerated processor instructions. The ERENCRYPTAUTH and EDECRYPTAUTH instructions perform encryption and decryption operations directly in the processor's security module, bypassing the need for software cryptographic libraries. This substitution dramatically improves processing efficiency while maintaining the security properties of the cryptographic operations, directly resolving the contradiction between security and performance.
Data Source
AI summary
Technologies for secure inter-enclave communication include a computing device having a processor with secure enclave support. The computing device establishes a first secure enclave and a second secure enclave with the secure enclave support of the processor. The first secure enclave invokes a report instruction to cause the processor to generate a report targeted to the second secure enclave. The report includes a report body and a message authentication code generated using a report key associated with the second secure enclave. The second secure enclave invokes a get key instruction to cause the processor to generate the report key associated with the second secure enclave and generates the message authentication code over the report body using the report key. The first secure enclave and second secure enclave each perform a cryptographic operation on a message using the message authentication code as a cryptographic key. Other embodiments are described and claimed.


