Secure Execution Environments on Third-Party Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed and virtual computer systems, ensuring data and application security is challenging due to the complexity of managing access and isolation, particularly when multiple users and service providers share resources, and there is a need for additional security measures beyond encryption to protect sensitive information from trusted and untrusted entities.
Innovation Solution
Implementing secure execution environments that isolate data planes of services, allowing only authorized access through secure execution environments, which can be instantiated on customer-provided or third-party hardware, using techniques such as Intel SGX and TPM to create hardware-secured regions that prevent access by untrusted entities, even privileged ones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is encrypted to protect security, then security is improved, but users still lack additional assurances of isolation and protection from trusted entities
Solution Approach 1:
The patent divides the system into untrusted entities (controlling domains, operating systems) and a trusted execution environment (secure enclave). By segmenting the execution environment into isolated regions with different trust levels, the system achieves stronger security assurances without requiring complete system rearchitecture.
Solution Approach 2:
The patent implements a nested structure where a secure enclave (trusted execution environment) is created within the existing operating system environment. This nested approach allows the secure enclave to leverage the OS's resource management while providing an additional layer of isolation and security that protects against both untrusted and trusted external entities.
2Ease of operation
If trusted entities like operating systems can access system memory directly, then ease of operation is improved, but security is worsened as sensitive data becomes vulnerable
Solution Approach 1:
The patent extracts sensitive data and critical operations from the general system memory space into a separate secure enclave. This extraction creates a distinct memory region that is isolated from the operating system's direct access, allowing the OS to continue functioning while protecting specific sensitive resources.
Solution Approach 2:
The patent applies different access control qualities to different memory regions. The secure enclave implements strict access controls that prevent unauthorized access by the OS, while other system memory regions maintain their traditional access patterns. This localized security approach protects sensitive areas without impacting overall system operability.
3Productivity
If multiple users and service providers share computing resources in distributed systems, then productivity is improved, but security is worsened due to difficulty in managing access and isolation
Solution Approach 1:
The patent creates a universal secure enclave interface that can serve multiple users and service providers simultaneously. The enclave provides standardized security functions that work across different applications and users, enabling resource sharing while maintaining consistent security policies through a common trusted execution environment.
Data Source
AI summary
Techniques for securely instantiating applications associated with computing resource service provider services on hardware that is controlled by third parties and/or customers of the computing resource service provider are described herein. A request to instantiate an application is received and fulfilled by selecting a computer system from computer systems that are controlled by a third party and/or a customer of the computing resource service provider. The computer system is selected based at least in part on the hardware capabilities of the computer system associated with instantiating a secure execution environment. The application is then instantiated within a secure execution environment operating on the computer system.


