Key Derivation with Physical Unclonable Functions
Total Page:16
File Type:pdf, Size:1020Kb
TECHNISCHE UNIVERSITAT¨ MUNCHEN¨ Lehrstuhl f¨urSicherheit in der Informationstechnik Key Derivation with Physical Unclonable Functions Matthias Hiller Vollst¨andigerAbdruck der von der Fakult¨atf¨urElektrotechnik und Informationstechnik der Technischen Universit¨atM¨unchen zur Erlangung des akademischen Grades eines Doktor-Ingenieurs genehmigten Dissertation. Vorsitzender: Prof. Dr. sc. techn. Gerhard Kramer Pr¨uferder Dissertation: 1. Prof. Dr.-Ing. Georg Sigl 2. Prof. Dr.-Ing. Martin Bossert Die Dissertation wurde am 04.07.2016 bei der Technischen Universit¨at M¨unchen eingereicht und durch die Fakult¨at f¨ur Elektrotechnik und Informationstechnik am 07.11.2016 angenommen. Abstract Secure cryptographic keys are a prerequisite to protect the data that is transmitted and stored by today's and tomorrows embedded systems in the Internet of Things. For many of those systems, secure Non-Volatile Memory (NVM) is not available due to technical and cost constraints. Silicon Physical Unclonable Functions (PUFs) evaluate manufacturing variations to generate unique secrets inside Integrated Circuits (ICs) to replace the functionality of the NVM. However, PUFs are affected by noise and changes in environmental conditions, so that PUF responses cannot be directly used as cryptographic keys. Key derivation algorithms turn a noisy PUF response into a reliable cryptographic key. Error correction is required to remove the variation caused by environmental effects and random noise, and derive stable cryptographic keys. Helper data enables error correction by mapping random PUF responses to codewords of Error-Correcting Codes (ECCs), where errors can be detected and corrected. Over the last 10 years, several helper data generation approaches were introduced and implemented. Some challenges of key derivation with PUFs are the lacking of a generic theoretical framework and optimal practical ways of generating helper data. Further, today's hardware implementations focus on small block lengths in error correction for a low complexity. This thesis addresses these open points by showing that the practical problem of key derivation with PUFs is closely related to the information theoretical problem of key generation from compound sources. It also provides an algebraic representation that applies to a wide class of previous work on error correction for PUFs. The new rep- resentation allows to upper bound the secrecy leakage of an approach already on the algorithmic level during the design stage. The analysis shows that today's algorithms do not support maximum key rates and minimum helper data sizes, while causing no helper data leakage at the same time. Systematic Low Leakage Coding (SLLC) is a new error correction scheme presented in this thesis that translates the properties of theoretical random coding approaches to a deterministic code generation scheme. It maximizes the size of the key and minimizes the size of the helper data without causing secrecy leakage through the helper data. In addition, implementation parameters for an extremely low-area error correction for PUFs with very low bit error probability are provided. Not all PUF response bits are equally stable. This work shows with the information theoretical concept of typicality that the error correction overhead decreases significantly by selecting reliable PUF response bits in larger blocks. Differential Sequence Coding (DSC) is introduced as an error correction approach that creates one single block of reliable PUF response bits and thus overcomes the limitations of small block sizes of previous implementations. This work uses DSC in combination with the popular code class of convolutional codes. The DSC and Viterbi decoder error correction module reduces the size of the PUF and the helper data significantly for a popular reference scenario for SRAM PUFs and Xilinx Spartan 3 FPGAs without increasing the slice count of the implementation. The final comparison shows that different error correction candidates are favorable for different applications, depending on their requirements and constraints. This work expands the state of the art by providing more efficient solutions for various parameter sets. Keywords : Physical Unclonable Functions, Key derivation, Fuzzy Extractor, Syn- drome Coding, Error-Correcting Codes, Information Theory, Hardware Implementation, FPGA. Kurzfassung Sichere kryptografische Schl¨ussel sind eine Grundvoraussetzung, um Daten zu sch¨utzen, die von heutigen und zuk¨unftigen einbegetteten Systemen im Internet der Dinge gespeichert, verarbeitet und ¨ubertragen werden. Sichere Nicht-fl¨uchtige Speicher sind aufgrund technischer oder wirtschaftlicher Beschr¨ankungenin vielen Systemen nicht verf¨ugbar.Silicon Physical Unclonable Functions (PUFs) werten Fertigungsschwankun- gen aus, um einzigartige Geheimnisse in integrierten Schaltungen zu erzeugen und nichtfl¨uchtige Speicher zu ersetzen. Die so-genannten PUF Responses werden von Rauschen und physikalischen Umgebungsgr¨oßenbeeinflusst, sodass sie nicht direkt als stabile kryptografische Schl¨usselverwendet werden k¨onnen. Algorithmen zur Schl¨usselableitungverarbeiten die PUF Response zu einem zuverl¨assi- gen kryptografischen Schl¨ussel.Fehlerkorrekturverfahren werden dabei ben¨otigt,um die Abweichungen, die durch das Rauschen und die Umgebungseffekte entstanden sind, zu entfernen. Helperdaten erm¨oglichen die Fehlerkorrektur, indem sie die zuf¨alligenPUF Responses auf Codew¨ortervon fehlerkorrigierenden Codes abbilden in denen Fehler erkannt und korrigiert werden k¨onnen. In den letzten 10 Jahren wurden zahlreiche Verfahren zur Helperdatenerzeugung vorgestellt und implementiert. Das Fehlen von all- gemeinen theoretischen Modellen und optimalen praktischen Verfahren zur Helperdaten- erzeugung, sowie das Bestreben m¨oglichst kleine Fehlerkorrekturbl¨ocke zu nutzen, um Hardwareimplementierungen klein zu halten sind Herausforderungen bei der Schl¨usse- lableitung mit PUFs. Bez¨uglich der theoretischen Modelle zeigt diese Arbeit, dass das informationstheoretis- che Problem der Schl¨usselerzeugung aus Compound Quellen eng mit Schl¨usselableitung aus PUFs verwandt ist. Außerdem wird eine generische algebraische Darstellung disku- tiert, mit der eine große Zahl vorhandener Ans¨atzezur Schl¨usselableitungdargestellt werden kann. Die neue Darstellung erm¨oglicht es, f¨ureinen Ansatz auf algorithmis- cher Ebene eine obere Schranke f¨urdie Schl¨usselinformation, die maximal durch die Helperdaten nach Außen gelangt, anzugeben. Systematic Low Leakage Coding (SLLC) ist ein in dieser Arbeit entwickelter neuer Fehlerkorrekturansatz, der die Eigenschaften von theoretischen Verfahren mit Zu- fallscodes zeigt und gleichzeitig durch deterministische Codegenerierung auch praktisch umgesetzt werden kann. Es maximiert er die Schl¨usselgr¨oßeund minimiert gleichzeitig die Gr¨oßeder ben¨otigtenHelperdaten. Außerdem werden Implementierungsparameter f¨ureine Lightweight-Implementierung f¨urPUFs mit sehr niedriger Fehlerwahrschein- lichkeit diskutiert. Nicht alle PUF-Response-Bits sind gleich stabil. Deshalb zeigt diese Arbeit mithilfe des informationstheoretischen Konzepts typischer Sequenzen, dass die Fehlerkorrektur f¨urgroße Bl¨ocke ausgew¨ahlterPUF-Response-Bits deutlich effizienter ist. Differential Sequence Coding (DSC) ist ein in dieser Arbeit entwickelter Fehlerkorrekturansatz, der auf einem einzigen Block mit zuverl¨assigen PUF-Response-Bits arbeitet und deshalb die Beschr¨ankungkleiner Blockgr¨oßen¨uberwindet. In dieser Arbeit wird DSC zusam- men mit Faltungscodes eingesetzt. Das Fehlerkorrekturmodul mit DSC und Viterbi- Decodierer reduziert die Anzahl ben¨otigterPUF-Response-Bits und die Helperdategr¨oße deutlich f¨urein typisches Referenzszenario mit SRAM PUF und Xilinx Spartan 3E FPGA. Dabei wird die Gr¨oßeder Implementierung nur unwesentlich erh¨oht. Der abschließende Vergleich zeigt, dass unterschiedliche Fehlerkorrekturans¨atzeje nach Vorgaben und Einschr¨ankungenf¨urunterschiedliche Anwendungen geeignet sind. Dabei erweitert diese Arbeit den Stand der Technik um neue, effizientere, Verfahren f¨urunter- schiedliche Anwendungen und Parameter. Schl¨usselworte : Physical Unclonable Functions, Schl¨usselableitung,Fuzzy Extractor, Syndrome Coding, Kanalcodierung, Informationstheorie, Hardwareimplementierung, FPGA. Acknowledgments The last four and a half years at TUM were full of exciting new experiences and chal- lenges, where no year was like the one before. Moving to a new university, working on a topic for several years and having the time to look at it from several different perspec- tives, having deep technical discussions, establishing new courses, advising students, publishing with people from different groups and fields, going to conferences, having research stays abroad, getting settled and finding new friends in Munich, ... and all of this would not have been possible without several people who I would like to thank: First of all I would like to thank Prof. Dr.-Ing. Georg Sigl for giving me the chance to do my PhD at his Chair of Security in Information Technology at TUM, giving me the freedom to work on the ideas that interested me most, for providing me guidance when needed, for opening doors and enabling opportunities. Collaborating with various people from other academic groups, Fraunhofer and industry was a great benefit and also being involved in teaching was an enriching personal experience. Further, I would like to thank Prof. Dr.-Ing. Martin Bossert for being member of the dissertation committee and for carefully reading this dissertation.