UMHPIC Platform Adaptation Layer for Secure Application Isolation

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

VSEngineering 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

Engineering Contradiction:
ImprovesecurityVSAvoidsoftware compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImprovesecurityVSAvoidapplication functionality
Core Design Contradiction:
ReliabilityVSEase of operation

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #7Nested doll (Nesting)

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

Engineering Contradiction:
Improveapplication usabilityVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #26Copying

Data Source

PatentEP2791857B1Facilitating system service request interactions for hardware-protected applications
Publication Date: 2019.08.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2791857B1 patent drawingFigure 1
  • EP2791857B1 patent drawingFigure 2
  • EP2791857B1 patent drawingFigure 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.