UMHPIC Platform Adaptation Layer for Secure Application Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software applications face challenges in executing within secure execution environments due to restrictive memory protection and reliance on untrusted host operating systems, which can lead to tampering or snooping by untrusted code outside the protected memory space.
Innovation Solution
A user-mode hardware-protected isolation container (UMHPIC) with a UMHPIC-aware platform adaptation layer (U-PAL) that includes a trusted and untrusted thunking component, allowing an unmodified application to execute securely by managing system calls and resource requests through well-defined gates, while utilizing untrusted host operating system resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a security-enabled processor provides a protected memory space with strict access control, then security against tampering and snooping is improved, but the ability to run conventional software applications deteriorates due to restrictive memory protection and lack of access to operating system resources
Solution Approach 1:
The patent introduces a trusted execution environment (TEE) as an intermediary layer between the untrusted host operating system and the application. The TEE provides a secure sandbox that mediates access to protected memory space, allowing conventional applications to run securely by translating their system calls into secure operations within the protected environment, thus resolving the contradiction between security and software compatibility
Solution Approach 2:
The system segments the execution environment into multiple isolated spaces: an untrusted host OS environment and a trusted execution environment with protected memory space. This segmentation allows different security levels to coexist, enabling conventional applications to run in the untrusted environment while critical operations occur in the secured TEE, maintaining both security and application versatility
2Reliability
If the protected memory space restricts access to input/output devices and kernel-mode execution, then security is improved by preventing untrusted code from accessing sensitive resources, but the functionality for running conventional applications deteriorates
Solution Approach 1:
The trusted execution environment acts as an intermediary that provides controlled access to I/O devices and kernel-mode functions. It translates high-level application requests into secure, authenticated access to protected resources, allowing applications to maintain full functionality while the TEE enforces security policies and prevents untrusted code from directly accessing sensitive resources
Solution Approach 2:
The patent implements a nested structure where the trusted execution environment is embedded within the host operating system. The TEE contains its own virtualized I/O subsystems and kernel-mode services that are nested within the protected memory space, allowing applications to interact with these nested services as if they were native resources while maintaining security isolation
3Ease of operation
If conventional applications rely on untrusted host operating system functions, then ease of operation is improved by allowing applications to use standard APIs, but security deteriorates due to potential tampering or snooping by untrusted code
Solution Approach 1:
The trusted execution environment serves as an intermediary layer between applications and the untrusted host OS. It provides a secure API that applications can use instead of directly calling host OS functions, translating these secure API calls into protected operations within the TEE. This maintains application usability while preventing untrusted code from tampering with or snooping on sensitive operations
Solution Approach 2:
The patent creates virtualized copies of operating system services within the trusted execution environment. Instead of applications directly using host OS functions, they interact with replicated service interfaces that exist within the secure TEE. These copies provide the same functionality as the host OS but operate within the protected boundary, eliminating security risks while maintaining application usability
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Described herein are implementations for providing a platform adaptation layer that enables applications to execute inside a user-mode hardware-protected isolation container while utilizing host platform resources that reside outside of the isolation container. The platform adaptation layer facilitates a system service request interaction between the application and the host platform. As part of the facilitating, a secure services component of the platform adaptation layer performs a security-relevant action.