Trusted Execution Environment Key Provisioning via Distributed Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing trusted execution environments face challenges with provisioning enclaves, as they often create a single point of failure and performance bottleneck, relying on a single server for key provisioning which can compromise security and performance.
Innovation Solution
A distributed approach where multiple provisioning servers generate random keyshares that are combined by enclaves to derive a unique encryption key, eliminating reliance on a single server and enhancing security by ensuring no single entity possesses sufficient information to construct the key.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single provisioning server is used to generate encryption keys for enclaves, then key provisioning is simplified and centralized, but this creates a single point of failure and performance bottleneck
Solution Approach 1:
The encryption key generation process is segmented into multiple independent provisioning servers, each contributing a keyshare. This divides the centralized key provisioning function into distributed segments, eliminating the single point of failure while maintaining operational simplicity through standardized keyshare collection and combination processes
Solution Approach 2:
The enclave acts as an intermediary that collects keyshares from multiple provisioning servers and combines them to generate the final encryption key. This intermediary mechanism enables distributed key generation without requiring any single server to possess the complete key, thus improving reliability while maintaining ease of operation through the enclave's coordinated assembly process
2Ease of operation
If a single provisioning server is used to generate encryption keys, then the provisioning process is centralized, but this creates a performance bottleneck
Solution Approach 1:
The key provisioning workload is segmented across multiple independent servers, each capable of generating keyshares in parallel. This segmentation eliminates the sequential processing bottleneck of a single server, enabling concurrent keyshare generation that directly improves provisioning throughput while maintaining operational simplicity
Solution Approach 2:
Multiple keyshares from different provisioning servers are merged within the enclave to construct the final encryption key. This merging process combines the parallel output from multiple servers into a unified cryptographic key, achieving high productivity through parallel processing while maintaining the simplicity of a standardized key combination procedure
3Reliability
If multiple provisioning servers generate keyshares, then security is enhanced by distributing key information, but system complexity increases
Solution Approach 1:
The cryptographic key is segmented into multiple keyshares distributed across different provisioning servers. This segmentation enhances security by ensuring that no single server possesses the complete key, while the modular keyshare structure maintains manageable system complexity through clear separation of cryptographic functions
Solution Approach 2:
The enclave serves as an intermediary that manages the complexity of combining multiple keyshares into a functional encryption key. This intermediary abstracts the complex multi-server coordination behind a simple interface, enhancing security through distributed key generation while masking the underlying system complexity from external observers
4Ease of operation
If enclaves are provisioned on a single server, then provisioning is simplified, but this creates a single point of failure that destroys access to contract state
Solution Approach 1:
The enclave provisioning process is segmented so that multiple enclaves can be provisioned across different servers, each receiving the same set of keyshares. This segmentation eliminates the single point of failure by distributing enclave instances while maintaining provisioning simplicity through repeated use of the same keyshare set
Solution Approach 2:
Multiple enclaves are provisioned with identical keyshares from the same set of provisioning servers, creating homogeneous security credentials across distributed instances. This homogeneity ensures that any enclave can access the contract state, improving reliability while maintaining provisioning simplicity through standardized key distribution
Data Source
AI summary
Techniques for securely provisioning a set of enclaves are described. A contract owner may register with a shared registry. A subset of enclaves may be selected to be provisioned from among a plurality of enclaves. A keyshare may be requested from one or more provisioning services for each of the subset of enclaves to be provisioned. The requested keyshares may be received from each provisioning service for each of the subset of enclaves to be provisioned. For each of the selected enclaves, the received keyshares may be sent for verification by the enclave. Each of the selected enclaves may send an authenticated and encrypted key derived from the received keyshares.


