Trusted Language Runtime for Mobile Security Isolation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
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.


