fTPM: A Firmware-based TPM 2.0 Implementation - Raj, Himanshu; Saroiu, Stefan; Wolman, Alec; Aigner, Ronald; Cox, Jeremiah; England, Paul; Fenner, Chris; Kinshumann, Kinshuman; Loeser, Jork; Mattoon, Dennis; Nystrom, Magnus; Robinson, David; et al. (Microsoft Research, 2015)
This paper presents the design and implementation of a firmware-based TPM 2.0 (fTPM) leveraging ARM TrustZone. The fTPM is the reference implementation used in millions of mobile devices, and was the first hardware or software implementation to support the newly released TPM 2.0 specification. This paper describes the shortcomings of ARM's TrustZone for implementing secure service (such as our implementation), and presents three different approaches to overcome them. Additionally, the paper analyzes the fTPM's security guarantees and demonstrates that many of the ARM TrustZone's shortcomings remain present in future trusted hardware, such as Intel's Software Guard Extensions (SGX).