RESOURCE-EFFICIENT CRYPTOGRAPHY for UBIQUITOUS COMPUTING Lightweight Cryptographic Primitives from a Hardware & Software Perspective
Total Page:16
File Type:pdf, Size:1020Kb
RESOURCE-EFFICIENT CRYPTOGRAPHY FOR UBIQUITOUS COMPUTING Lightweight Cryptographic Primitives from a Hardware & Software Perspective DISSERTATION for the degree of Doktor-Ingenieur of the Faculty of Electrical Engineering and Information Technology at the Ruhr University Bochum, Germany by Elif Bilge Kavun Bochum, December 2014 Copyright © 2014 by Elif Bilge Kavun. All rights reserved. Printed in Germany. Anneme ve babama... Elif Bilge Kavun Place of birth: Izmir,˙ Turkey Author’s contact information: [email protected] www.emsec.rub.de/chair/ staff/elif bilge kavun Thesis Advisor: Prof. Dr.-Ing. Christof Paar Ruhr-Universit¨atBochum, Germany Secondary Referee: Prof. Christian Rechberger Danmarks Tekniske Universitet, Denmark Thesis submitted: December 19, 2014 Thesis defense: February 6, 2015 v Abstract Technological advancements in the semiconductor industry over the last few decades made the mass production of very small-scale computing devices possible. Thanks to the compactness and mobility of these devices, they can be deployed “pervasively”, in other words, everywhere and anywhere – such as in smart homes, logistics, e-commerce, and medical technology. Em- bedding the small-scale devices into everyday objects pervasively also indicates the realization of the foreseen “ubiquitous computing” concept. However, ubiquitous computing and the mass deployment of the pervasive devices in turn brought some concerns – especially, security and privacy. Many people criticize the security and privacy management in the ubiquitous context. It is even believed that an inadequate level of security may be the greatest barrier to the long-term success of ubiquitous computing. For ubiquitous computing, the adversary model and the se- curity level is not the same as in traditional applications due to limited resources in pervasive devices – area, power, and energy are actually harsh constraints for such devices. Unfortunately, the existing cryptographic solutions are generally quite heavy for these ubiquitous applications. In order to address the security problem of the resource-constrained devices, “lightweight cryp- tography” has been defined over a decade ago and many different lightweight cryptographic primitives have already been proposed. The published work so far mostly deals with hardware cost reduction. However, this is not the only important metric for such devices. Depending on the application, resource-constrained devices may need lightweight ciphers to be executed in one clock cycle, which still achieve a certain security level and a small footprint. Furthermore, as most of the pervasive computing applications are implemented in software on embedded mi- crocontrollers, there is also a need for lightweight ciphers that result in efficient code size and execution time. In this thesis, we understand lightweight cryptography also as “resource-efficient cryptogra- phy” and we aim to provide new “resource-efficient” solutions for resource-constrained devices, which address the mentioned gaps in lightweight cryptography. We start with initial investiga- tions on existing lightweight primitives, where we present efficient implementations on different platforms, their applications, and comparisons. In the light of our initial investigations, we first propose a new low-latency and low-area lightweight block cipher PRINCE. Following PRINCE, we change our direction to the software side – targeting the software implementations on mi- crocontrollers. As a first step, we come up with a hardware/software co-design approach, the Non-linear/Linear Unit (NLU) Instruction Set Extension (ISE), which targets the 8-bit AVR instruction set of widely-used Atmel microcontrollers. After that, we extend our approach more on the primitive design side, where we define another new lightweight cipher, the “software- oriented” lightweight cipher PRIDE. In addition to our contributions on efficient lightweight primitive implementations presented in the first part of this thesis, the two novel lightweight block cipher designs achieve the targets and present the best academic results published so far. In the ISE design, our good results encourage further block cipher extensions on different microcontrollers in order to get a better code size and execution time. However, it is of course not easy to overcome all the gaps in lightweight cryptography in one work. Therefore, other designs and solutions addressing different metrics still remain as an open research problem left for future works. Keywords. Lightweight cryptography, resource-efficient cryptography, design, ubiquitous computing, symmetric- key cryptography, block cipher, hash function, hardware implementation, software implementa- tion, Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), microcontroller, Atmel AVR, IT Security viii Kurzfassung Ressourcen-effiziente Kryptographie f¨urUbiquitous Computing: Kryptographische Primitive aus einer Hardware & Software Perspektive Technologische Fortschritte in der Halbleiterindustrie in den letzten Jahrzehnten haben die Massenproduktion von Mikrorechnern m¨oglich gemacht. Dank der Kompaktheit und Mobilit¨at dieser Ger¨ate k¨onnen diese “durchdringend” eingesetzt werden, mit anderen Worten, uberall¨ und an jedem Ort – wie in Smart Homes, Logistik, E-Commerce, und Medizintechnik. Das Einbetten der kleinen Controller in Alltagsgegenst¨ande zeigt die zunehmende Realisierung des prophezeiten “Ubiquitous Computing” Konzepts. Allerdings bringt dieses neue Paradigma und sein Massenseinsatz auch neue Bedrohungen mit sich – vor allem mit Blick auf Datenschutz und Privatsph¨are. Viele Menschen kritisieren aktuelle Sicherheitskonzepte in diesem allgegenw¨artigen Kontext. Es wird sogar angenommen, dass ein unzureichendes Sicherheitsniveau die gr¨oßte Barriere fur¨ den langfristigen Erfolg des Ubiquitous Computing sein k¨onnte. Anders als in traditionellen Bereichen der Datenverarbeitung sind das Angreifermodell und die Sicherheitslevel nicht die gleichen. Dies liegt vor allem an den begrenzten Ressourcen in Mikrokontrollern und Chips – Chipfl¨ache, Rechenleistung, und Energie sind ¨okonomisch bedingte Einschr¨ankungen fur¨ sol- che Ger¨ate. Aus diesem Grund sind die vorhandenen Verschlusselungsl¨ ¨osungen fur¨ die neuen, allgegenw¨artigen Anwendungen in der Regel nicht tauglich. Um das Sicherheitsproblem der ressourcenbeschr¨ankte Ger¨ate zu adressieren wurde das Forschungsgebiet der “Hocheffizienten Kryptographie” vor uber¨ einem Jahrzehnt definiert. In diesem Gebiet wurden bereits viele ver- schiedene kryptographische Primitive vorgeschlagen. Die ver¨offentlichten Arbeiten besch¨aftigen sich bisher meist mit der Kostenreduktion bei Implementierungen in Hardware (d.h. wenn ein eigener Chip gebaut werden soll). Dies ist jedoch nicht die einzige wichtige Metrik fur¨ sol- che Ger¨ate. Je nach Anwendung brauchen ressourcenbeschr¨ankte Ger¨ate eine Chiffre, die in einem Taktzyklus ausgefuhrt¨ werden kann und trotzdem ein hohes Sicherheitsniveau bietet. Ferner, da die meisten durchdringend Anwendungen in Software auf Mikrocontrollern imple- mentiert werden, gibt es auch hier Bedarf fur¨ geeignete Chiffren mit effizienter Codegr¨oße und Ausfuhrungszeit.¨ In dieser Arbeit bezeichnen wir die Hocheffiziente Kryptographie auch als “Ressourcen- effiziente Kryptographie” und wir wollen neue “Ressourcen-effiziente” L¨osungen fur¨ ressourcen- beschr¨ankte Ger¨ate bieten, die die genannten Lucken¨ adressieren. Wir beginnen mit Untersu- chungen von bestehenden Primitiven, deren Characteristika wir auf verschiedenen Plattformen pr¨asentieren. Angesichts unserer ersten Untersuchungen schlagen wir zun¨achst eine neue Block- chiffre mit dem Namen PRINCE vor, die besonders wenig Chipfl¨ache und Ausfuhrungszeit¨ ben¨otigt. Danach zielen wir auf Softwareimplementierungen auf Mikrocontrollern. Der erste Schritt in diese Richtung ist ein Hardware/Software Codesign genannt NLU ISE, das sich an den 8-Bit-AVR-Befehlssatz der weit verbreiteten Atmel Mikrocontroller-Familie richtet. Danach definieren wir eine weitere neue Chiffre optimiert fur¨ den Einsatz in Software (ohne notwendige Hardwareerweiterung) die den Namen PRIDE tr¨agt. Zus¨atzlich zu unserem Beitrag zu effizienten Implementierungen im ersten Teil dieser Arbeit pr¨asentieren wir damit zwei neuartige Designs; die Chiffren PRINCE und PRIDE erreichen besten bisher ver¨offentlichten akademischen Ergebnisse. Ergebnisse zu Untersuchungen von Har- ware/Software Codesign ermutigen weitere Codesigns von verschiedenen Chiffren auf verschie- denen Mikrocontroller. Naturlich¨ ist es nicht einfach, alle aktuellen Lucken¨ in der Hocheffizienten Kryptographie in nur einer Arbeit zu uberwinden,¨ daher sind andere Konzepte und L¨osungen sowie die Adressierung von verschiedene Metriken offene Forschungsprobleme fur¨ Nachfolgear- beiten. Schlagworte. Hocheffiziente Kryptographie, Ressourcen-effiziente Kryptographie, Entwurf, Ubiquitous Com- puting, symmetrische Kryptographie, Blockchiffre, Hashfunktion, Hardware Implementierung, Software Implementierung, ASIC, FPGA, Mikrocontroller, Atmel AVR, IT-Sicherheit x Acknowledgements This thesis is the outcome of wonderful three and a half years at the Embedded Security (EmSec) Group of the Horst G¨ortzInstitute for IT-Security (HGI), Ruhr University Bochum (RUB). EmSec was always like (sometimes literally) a second home to me. The warm, friendly, and inspiring environment of EmSec (and of course, SHA1) group was always motivating, thanks a lot to you all! There are many people that I would like to express my gratitude, without whom the