Design and Analysis of Cryptographic Algorithms for Authentication
Total Page:16
File Type:pdf, Size:1020Kb
Design and Analysis of Cryptographic Algorithms for Authentication Jakob Wenzel Inauguraldissertation zur Erlangung des akademischen Grades Doctor rerum naturalium (Dr. rer. nat.) Oktober 2017 Gutachter: Prof. Dr. Stefan Lucks Bauhaus-Universität Weimar Prof. Dr. Gregor Leander PSfrag replacements Ruhr-Universität Bochum A child born today will grow up with no conception of privacy at all. They’ll never know what it means to have a private moment to themselves, an unrecorded, unanalysed thought. And that’s a problem because privacy matters, privacy is what allows us to determine who we are and who we want to be. Edward Joseph Snowden Abstract During the previous decades, the upcoming demand for security in the digital world, e.g., the In- ternet, lead to numerous groundbreaking research topics in the field of cryptography. This thesis focuses on the design and analysis of cryptographic primitives and schemes to be used for authenti- cation of data and communication endpoints, i.e., users. It is structured into three parts, where we present the first freely scalable multi-block-length block-cipher-based compression function (Coun- ter-bDM) in the first part. The presented design is accompanied by a thorough security analysis regarding its preimage and collision security. The second and major part is devoted to password hashing. It is motivated by the large amount of leaked password during the last years and our discovery of side-channel attacks on scrypt – the first modern password scrambler that allowed to parameterize the amount of memory required to compute a password hash. After summarizing which properties we expect from a modern pass- word scrambler, we (1) describe a cache-timing attack on scrypt based on its password-dependent memory-access pattern and (2) outline an additional attack vector – garbage-collector attacks – that exploits optimization which may disregard to overwrite the internally used memory. Based on our observations, we introduce Catena – the first memory-demanding password-scrambling framework that allows a password-independent memory-access pattern for resistance to the aforementioned at- tacks. Catena was submitted to the Password Hashing Competition (PHC) and, after two years of rigorous analysis, ended up as a finalist gaining special recognition for its agile framework approach and side-channel resistance. We provide six instances of Catena suitable for a variety of appli- cations. We close the second part of this thesis with an overview of modern password scramblers regarding their functional, security, and general properties; supported by a brief analysis of their resistance to garbage-collector attacks. The third part of this thesis is dedicated to the integrity (authenticity of data) of nonce-based authenticated encryption schemes (NAE). We introduce the so-called j-IV-Collision Attack, allow- ing to obtain an upper bound for an adversary that is provided with a first successful forgery and tries to efficiently compute j additional forgeries for a particular NAE scheme (in short: reforge- ability). Additionally, we introduce the corresponding security notion j-INT-CTXT and provide a comparative analysis (regarding j-INT-CTXT security) of the third-round submission to the CAE- SAR competition and the four classical and widely used NAE schemes CWC, CCM, EAX, and GCM. Zusammenfassung Die fortschreitende Digitalisierung in den letzten Jahrzehnten hat dazu geführt, dass sich das Forschungsfeld der Kryptographie bedeutsam weiterentwickelt hat. Diese, im Wesentlichen aus drei Teilen bestehende Dissertation, widmet sich dem Design und der Analyse von kryptographischen Primitiven und Modi zur Authentifizierung von Daten und Kommunikationspartnern. Der erste Teil beschäftigt sich dabei mit blockchiffrenbasierten Kompressionsfunktionen, die in ressourcenbeschränkten Anwendungsbereichen eine wichtige Rolle spielen. Im Rahmen dieser Arbeit präsentieren wir die erste frei skalierbare und sichere blockchiffrenbasierte Kompressionsfunktion Counter-bDM und erweitern somit flexibel die erreichbare Sicherheit solcher Konstruktionen. Der zweite Teil und wichtigste Teil dieser Dissertation widmet sich Passwort-Hashing-Verfahren. Zum einen ist dieser motiviert durch die große Anzahl von Angriffen auf Passwortdatenbanken großer Internet-Unternehmen. Zum anderen bot die Password Hashing Competition (PHC) die Möglichkeit, unter Aufmerksamkeit der Expertengemeinschaft die Sicherheit bestehender Verfahren zu hinterfragen, sowie neue sichere Verfahren zu entwerfen. Im Rahmen des zweiten Teils entwar- fen wir Anforderungen an moderne Passwort-Hashing-Verfahren und beschreiben drei Arten von Seitenkanal-Angriffen (Cache-Timing-, Weak Garbage-Collector- und Garbage-Collector-Angriffe) auf scrypt – das erste moderne Password-Hashing-Verfahren welches erlaubte, den benötigten Spei- cheraufwand zur Berechnung eines Passworthashes frei zu wählen. Basierend auf unseren Beobachtungen und Angriffen, stellen wir das erste moderne Password- Hashing-Framework Catena vor, welches für gewählte Instanzen passwortunabhängige Speicherzu- griffe und somit Sicherheit gegen oben genannte Angriffe garantiert. Catena erlangte im Rahmen des PHC-Wettbewerbs besondere Anerkennung für seine Agilität und Resistenz gegen Seitenkanal- Angriffe. Wir präsentieren sechs Instanzen des Frameworks, welche für eine Vielzahl von Anwendung- en geeignet sind. Abgerundet wird der zweite Teil dieser Arbeit mit einem vergleichenden Überblick von modernen Passwort-Hashing-Verfahren hinsichtlich ihrer funktionalen, sicherheitstechnischen und allgemeinen Eigenschaften. Dieser Vergleich wird unterstützt durch eine kurze Analyse bezüglich ihrer Resistenz gegen (Weak) Garbage-Collector-Angriffe. Der dritte teil dieser Arbeit widmet sich der Integrität von Daten, genauer, der Sicherheit soge- nannter Nonce-basierten authentisierten Verschlüsselungsverfahren (NAE-Verfahren), welche ebenso wie Passwort-Hashing-Verfahren in der heutigen Sicherheitsinfrastruktur des Internets eine wichtige Rolle spielen. Während Standard-Definitionen keine Sicherheit nach dem Fund einer ersten erfolg- reich gefälschten Nachricht betrachten, erweitern wir die Sicherheitsanforderungen dahingehend wie schwer es ist, weitere Fälschungen zu ermitteln. Wir abstrahieren die Funktionsweise von NAE- Verfahren in Klassen, analysieren diese systematisch und klassifizieren die Dritt-Runden-Kandidaten des CAESAR-Wettbewerbs, sowie vier weit verbreitete NAE-Verfahren CWC, CCM, EAX und GCM. Acknowledgements Many people have helped me to realize this thesis. First of all, I would like to thank my supervisor Prof. Stefan Lucks, who gave me the opportunity to work on many interesting and exciting topics. His support and suggestions of research topics and the possibility to discuss all ideas I had in mind, paved the way to this thesis, especially to the core of this thesis that regards password hashing. I would like to thank Prof. Gregor Leander for agreeing to review my thesis as a second supervisor. Special thanks goes to Eik List, Christian Forler, and Ewan Fleischmann for their support, willingness to discuss, and contributions to that thesis. They made writing scientific papers together an enjoyable job and were always be on the spot with supporting me and my work. I am deeply grateful that Eik sacrificed so much of his time for supporting me and I really appreciate his comments on my thesis text. I would also like to thank Sascha Schmidt and Heinrich Schilling, who made important contri- butions to the core part of this thesis, and all of my co-workers from the cryptographic community for their fruitful discussions and contributions: Farzaneh Abed, Ewan Fleischmann, Scott Fluhrer, Christian Forler, Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, and David McGrew. The support of our administrative staff should not be forgotten: thanks to Nadin Glaser, Maria- Theresa Hansens, Carla Högemann, Anja Loudovici, and Christin Oehmichen for their patient and professional handling of all the work-related and also private concerns I had. A warm thank you goes to my parents Annemarie and Joachim and my brothers Justus and Jan, who always provided me with unconditional support. Finally, I would like to thank Klara, who always beliefs in me and supports me in every possible situation. Jakob Wenzel, October 2017 Ehrenwörtliche Erklärung Ich erkläre hiermit ehrenwörtlich, dass ich die vorliegende Arbeit ohne unzulässige Hilfe Dritter und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Die aus anderen Quellen direkt oder indirekt übernommenen Daten und Konzepte sind unter Angabe der Quelle gekenn- zeichnet. Teile der Arbeit, die bereits Gegenstand von Prüfungsarbeiten waren, sind im Folgenden erwähnt: Kapitel 6.3 bis 6.5 sind in Zusammenarbeit mit Christian Forler entstanden und bereits in • ähnlicher Art Bestandteil seiner Dissertation1. Die grundlegende Idee von Kapitel 7 ist in Zusammenarbeit mit Christian Forler entstanden • und in verminderter Form bereits Bestandteil seiner Dissertation. Die beiden in Kapitel 9.1.1 und 9.1.4 beschriebenden Algorithmen wurden in Zusammenarbeit • mit Christian Forler ausgewählt und sind bereits Bestandteil seiner Dissertation. Weitere Personen waren an der inhaltlich-materiellen Erstellung der vorliegenden Arbeit nicht beteiligt. Insbesondere habe ich hierfür nicht die entgeltliche Hilfe von Vermittlungs- bzw. Be- ratungsdiensten (Promotionsberater oder anderer Personen) in Anspruch genommen. Niemand hat von mir unmittelbar oder mittelbar geldwerte Leistungen für Arbeiten