Securing Software Architectures for Trusted Processor Environments

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | Doctoral thesis (article-based) | Defence date: 2013-05-24
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2013
Major/Subject
Mcode
Degree programme
Language
en
Pages
91 + app. 139
Series
Aalto University publication series DOCTORAL DISSERTATIONS, 75/2013
Abstract
Processor hardware support for security dates back to the 1970s, and such features were then primarily used for hardening operating systems. This idea has re-emerged as hardware security features in contemporary cost-efficient mobile processors. These support specific operating-system functionality such as communication stack isolation and identity binding, which are needed on mobile devices to satisfy regulatory requirements for e.g. cellular phones. This thesis builds on these hardware security features to implement a generic trusted execution environment (TEE) that can be used for a larger variety of applications. We present software building blocks and infrastructure for isolated trustworthy execution on these hardware environments. The goal is to achieve the same level of isolation as in smart cards or trusted platform modules implemented as separate integrated circuits. The thesis contributes to the state of the art in several ways: We present mechanisms for isolated piecemeal execution of code and processing of data in these very memory-constrained hardware environments. Isolation, freshness and data commit guarantees are provided by cryptographic means. We present security proofs for selected cryptographic primitives used in this hardware context. The thesis also improves on the integrity guarantees of contemporary processor support by implementing rollback protection even when the device is powered down. This is done by combining the security functionality of the processor with auxilliary hardware and firmware logic. We advance the understanding of trusted execution by describing a minimal set of hardware trust roots needed to implement an engine for isolated execution. Ideally, advancement of computer science can be translated into implementable designs with real-world impact. The mechanims presented in this thesis were implemented and deployed in the On-board Credentials (ObC) architecture, and partly standardized as features for the Mobile Trusted Module (MTM). These technologies enable implementation of isolated execution at significant cost savings compared to the deployment of discrete hardware components. The MTM specification, co-designed by the author, is the first global security standard that provides an adaptation to processor hardware mechanisms for isolated execution. The TEE part of On-board Credentials, designed and implemented by the author, is deployed in more than 100 million devices in the field, and has already been used in several public trials and demonstrations of end-user applications. Both ObC and MTM rely on the results of this thesis research.  

Processorstöd för säkerhet introducerades på 1970-talet, främst för att förbättra operativsystemens intergritet. Med de öppna PC-plattformernas genombrott försvann dessa mekanismer för några tiotal år, men motsvarande mekanismer togs åter i bruk för omkring tio år sedan i mobila hårdvaruplattformer, nu främst för att garantera protokollintegritet för kommunikation och för att binda upp den mobila hårdvarans identitet - typiska villkor för att kunna erhålla t.ex. radiolicens för en mobiltelefon. Denna avhandling bygger från dessa existerande hårdvarumekanismer och presenterar programvarubyggstenar för att kunna implementera säker, isolerad tolkning av programvara i en arkitektur som externt motsvarar en diskret hårdvarukomponent såsom t.ex. ett smartkort. Avhandlingen bidrar till den senaste kunskapen från många infallsvinklar. Den presenterar mekanismer för isolerad tolkning av programvara och associerad data i stycken i dessa högst begränsade omgivningar, där garantierna för isolation, versionshantering och dataflöde måste byggas upp med kryptografiska metoder. Avhandlingen bidrar också med säkerhetsbevis för valda kryptografiska algoritmer i denna omgivning. Vi förbättrar nivån av off-line integritet med att presentera en lösning där det säkra processorstödet kombineras med extern, diskret logik för att säkra mot rollback. Avhandlingen presenterar även en minimal uppsättning av säkerhetsfundament som en processor måste stöda i hårdvara för att isolerad tolkning skall kunna implementeras. Den beskriver också två arkitekturer som uppbyggts baserat på de byggstenar som presenteras i denna avhandling, och vilka var för sig erbjuder gränssnitt för mobilapplikationer och i sista hand användare. Sin största verkan får datavetenskapen när den ibruktas medelst implementationer. Byggstenarna som presenteras i denna avhandling möjliggör isolerad programvarutolkning till en betydligt lägre kostnad än vad som är möjligt med diskret hårvara, t.ex. smartkort. Författaren har aktivt bidragit till standarden Mobile Trusted Module (MTM) - den första globala säkerhetsstandarden som definierar och möjliggör en adaptering baserad på isolation byggd utgående från processorer med säkerhetsfunktioner. Säkerhetskärnan i OnBoard Credentials arkitekturen, som planerats och implementerats av författaren, finns tillgänglig i över 100 miljoner mobiltelefoner, och har redan använts i flera publika forskningsprojekt och demonstrationer. Båda dessa arkitekturer baserar sig på metodologi och även programvara som härrör sig från denna avhandling.
Description
Supervising professor
Aura, Tuomas, Prof., Aalto University, Finland
Thesis advisor
Asokan, N., Prof. University of Helsinki, Finland
Keywords
platform security, cryptography, datasäkerhet, kryptering
Other note
Parts
  • [Publication 1]: Jan-Erik Ekberg. Mobile Trusted Computing Based on MTM. International Journal of Dependable and Trustworthy Information Systems (IJDTIS), Volume 1, Issue 4, 2010. 25-42,
    DOI: 10.4018/IJDTIS View at publisher
  • [Publication 2]: Jan-Erik Ekberg and N. Asokan: External Authenticated Non-volatile Memory with Lifecycle Management for State Protection in Trusted Computing. In Lecture Notes in Computer Science, 2010, Vol 6163/2010, 16-38,
    DOI: 10.1007/978-3-642-14597-1 2 (InTrust 2009) View at publisher
  • [Publication 3]: Jan-Erik Ekberg and Sven Bugiel. 2009. Trust in a small package: minimized MRTM software implementation for mobile secure environments. In Proceedings of the 2009 ACM workshop on Scalable trusted computing (STC 2009). ACM, New York, NY, USA, 9-18. DOI=10.1145/1655108.1655111
  • [Publication 4]: Jan-Erik Ekberg, Alexandra Afanasyeva, N. Asokan: Authenticated Encryption Primitives for Size-Constrained Trusted Computing. In Lecture Notes in Computer Science (TRUST 2012), Volume 7344/2012, 1-18,
    DOI: 10.1007/978-3-642-30921-2-1 View at publisher
  • [Publication 5]: Sven Bugiel and Jan-Erik Ekberg: Implementing an application specific credential platform using late-launched mobile trusted module. In Proceedings of the fifth ACM Workshop on Scalable Trusted Computing, STC 2010, pages 21-33, New York, NY, USA, 2010. DOI=10.1145/1867635.1867641
  • [Publication 6]: Jan-Erik Ekberg, N. Asokan, Kari Kostiainen, and Aarne Rantala. 2008. Scheduling execution of credentials in constrained secure environments. In Proceedings of the 3rd ACM workshop on Scalable trusted computing (STC 2008). ACM, New York, NY, USA, 61-70. DOI=10.1145/1456455.1456465
  • [Publication 7]: Kari Kostiainen, Jan-Erik Ekberg, N. Asokan, and Aarne Rantala. 2009. On-board credentials with open provisioning. In Proceedings of the 4th International Symposium on Information, Computer, and Communications Security (ASIACCS ‘09). ACM, New York, NY, USA, 104-115. DOI=10.1145/1533057.1533074 http://doi.acm.org/10.1145/1533057.1533074
  • [Publication 8]: Jan-Erik Ekberg and Sandeep Tamrakar: Mass Transit Ticketing with NFC Mobile Phones. In Lecture Notes in Computer Science (InTrust 2011), Volume 7222/2012, 48-65, DOI=10.1007/978-3-642-32298-3-4
Citation