Trusted Execution Environment Key Provisioning via Distributed Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvekey provisioning simplicityVSAvoidsystem availability
Core Design Contradiction:
Ease of operationVSReliability

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveprovisioning process centralizationVSAvoidkey provisioning throughput
Core Design Contradiction:
Ease of operationVSProductivity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If multiple provisioning servers generate keyshares, then security is enhanced by distributing key information, but system complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidprovisioning system structure
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveprovisioning simplicityVSAvoidaccess availability
Core Design Contradiction:
Ease of operationVSReliability

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS11239994B2Techniques for key provisioning in a trusted execution environment
Publication Date: 2022.02.01 INTEL CORP
  • US11239994B2 patent drawing
  • US11239994B2 patent drawing
  • US11239994B2 patent drawing

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.