Trusted Language Runtime for Mobile Security Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile systems lack support for running secure and trusted applications without a large trusted computing base, and existing solutions are too heavyweight for resource-constrained devices like smartphones, requiring a lightweight and easy-to-use system for developers.

Innovation Solution

A trusted language runtime (TLR) architecture using ARM TrustZone hardware for processor-based isolation, providing a trustbox and trustlet abstractions to isolate sensitive data and code, reducing the trusted computing base and utilizing .NET MicroFramework for resource-constrained devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complete operating system and managed language runtime are included in the trusted computing base to ensure secure application execution, then security and trustworthiness are improved, but the system size and resource consumption increase significantly

Engineering Contradiction:
ImprovesecurityVSAvoidtrusted computing base size
Core Design Contradiction:
ReliabilityVSWeight of stationary object

Solution Approach 1:

The system segments the application into trusted and untrusted components, and divides the runtime environment into a minimal trusted core and untrusted portions. Only the essential security functions reside in the trusted computing base, while non-essential functions run outside it, thereby maintaining security while reducing TCB size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the minimal necessary security-critical functions into the trusted computing base, removing unnecessary components from the TCB. This extraction allows the system to maintain security guarantees while significantly reducing the size and resource consumption of the trusted portion.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If hypervisor-based solutions are used to provide isolation from malicious code, then security isolation is improved, but memory use, performance, and energy consumption increase due to the heavyweight nature of such solutions

Engineering Contradiction:
ImproveisolationVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of implementing full virtualization with a complete hypervisor, the system applies partial virtualization by implementing only the minimal isolation mechanisms necessary for security. This partial approach provides sufficient isolation to protect against malicious code while avoiding the overhead of a full hypervisor implementation.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If hardware-based solutions with low-level interfaces are used to provide trusted execution, then security control is improved, but programming difficulty increases significantly

Engineering Contradiction:
Improvesecurity controlVSAvoidprogramming ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a managed language runtime as an intermediary layer between the hardware security features and the application developer. This runtime provides high-level abstractions and automatic management of security-critical operations, shielding developers from complex low-level hardware interface details while maintaining strong security controls.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If x86-based solutions are used to provide trusted execution environment, then security functionality is improved, but compatibility with ARM-based mobile devices is lost

Engineering Contradiction:
Improvesecurity functionalityVSAvoidplatform compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system designs the trusted execution environment to be platform-agnostic and hardware-agnostic, using abstracted security primitives that can be implemented on different processor architectures including ARM. This universal design allows the same security model to function across diverse mobile platforms without requiring architecture-specific optimizations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10496824B2Trusted language runtime on a mobile platform
Publication Date: 2019.12.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10496824B2 patent drawing
  • US10496824B2 patent drawing
  • US10496824B2 patent drawing

AI summary

Disclosed is a trusted language runtime (TLR) architecture that provides abstractions for developing a runtime for executing trusted applications or portions thereof securely on a mobile device (e.g., a smartphone). TLR offers at least two abstractions to mobile developers: a trustbox and a trustlet. The trustbox is a runtime environment that offers code and data integrity, and confidentiality. Code and data running inside a trustbox cannot be read or modified by any code running outside the trustbox. A trustlet is the code portion of an application that runs inside a trustbox. With TLR, programmers can write applications in .NET and specify which parts of the application handle sensitive data, and thus, run inside the trustbox. With the TLR, the developer places these parts in a trustlet class, and the TLR provides all support needed to run the parts in the trustbox.