Dynamic Secure Enclave Module Loading via Hash Tree Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current secure enclave technologies, such as Intel SGX, are static and do not allow for dynamic loading of additional code or data, which can lead to resource inefficiencies and increased complexity, particularly in applications that only use a portion of their code or data.
Innovation Solution
A computing device that divides an executable image into chunks, using a hash tree for integrity verification and dynamic loading, allowing for the secure and efficient loading of only the necessary modules into a secure enclave, reducing pressure on resources like the enclave page cache and simplifying the trusted loader process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all code and data are loaded into the secure enclave, then security and integrity are maintained, but resource pressure increases and efficiency decreases
Solution Approach 1:
The patent divides the executable image into multiple chunks, allowing selective loading of only necessary code and data segments into the secure enclave. This segmentation enables the system to maintain security for loaded portions while reducing overall resource pressure by not loading unused portions.
Solution Approach 2:
The patent implements dynamic loading capability where chunks can be loaded into the secure enclave on-demand based on actual execution needs. This transforms the static enclave model into a dynamic one, allowing the enclave contents to change over time and optimizing resource utilization.
2Device complexity
If static enclave design is used, then implementation simplicity is maintained, but adaptability and resource efficiency deteriorate
Solution Approach 1:
By dividing the executable into chunks and implementing a chunk loading mechanism, the patent adds dynamic adaptability while maintaining a relatively simple overall structure. The segmentation approach allows incremental complexity addition without complete system redesign.
Solution Approach 2:
The patent performs preliminary actions by dividing the executable into chunks and preparing a hash tree structure in advance. This preliminary preparation enables efficient dynamic loading operations later without adding significant complexity during runtime.
3Reliability
If integrity verification is performed on all code, then security is ensured, but verification time and processing overhead increase
Solution Approach 1:
The patent applies segmentation to integrity verification by using a hash tree structure where only the loaded chunk needs to be verified against its corresponding hash in the tree. This segmented verification approach is much faster than verifying the entire executable image.
Solution Approach 2:
The patent performs partial verification by only verifying the integrity of chunks that are actually loaded into the secure enclave, rather than verifying all code. This partial action approach maintains security for loaded portions while significantly reducing verification time.
Data Source
AI summary
Technologies for dynamic loading of integrity protected modules into a secure enclave include a computing device having a processor with secure enclave support. The computing device divides an executable image into multiple chunks, hashes each of the chunks with corresponding attributes that affect security to generate a corresponding hash value, and generates a hash tree as a function of the hash values. The computing device generates an initial secure enclave memory image that includes the root value of the hash tree. At runtime, the computing device accesses a chunk of the executable image from within the secure enclave, which generates a page fault. In response to the page fault, the secure enclave verifies the associated chunk based on the hash tree and accepts the chunk into the secure enclave in response to successful verification. The root value of the hash tree is integrity-protected. Other embodiments are described and claimed.


