Using ARM TrustZone to Build a Trusted Language Runtime for Mobile Applications - Santos, Nuno; Raj, Himanshu; Saroiu, Stefan; Wolman, Alec (ASPLOS '14 Proceedings of the 19th international conference on Architectural support for programming languages and operating systems, 2014)
This paper presents the design, implementation, and evaluation of the Trusted Language Runtime (TLR), a system that protects the confidentiality and integrity of .NET mobile applications from OS security breaches. TLR enables separating an application's security-sensitive logic from the rest of the application, and isolates it from the OS and other apps. TLR provides runtime support for the secure component based on a .NET implementation for embedded devices. TLR reduces the TCB of an open source .NET implementation by a factor of 78 with a tolerable performance cost. The main benefit of the TLR is to bring the developer benefits of managed code to trusted computing. With the TLR, developers can build their trusted components with the productivity benefits of modern high level languages, such as strong typing and garbage collection.