On Provable Security for Complex Systems
Total Page:16
File Type:pdf, Size:1020Kb
On Provable Security for Complex Systems zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der KIT-Fakult¨atf¨urInformatik des Karlsruher Instituts f¨urTechnologie (KIT) genehmigte Dissertation von Dirk Achenbach aus Villingen-Schwenningen Tag der m¨undlichenPr¨ufung: 29. Januar 2016 Erster Gutachter: Prof. Dr. J¨ornM¨uller-Quade Zweiter Gutachter: Prof. Dr. Ralf Reussner Abstract Computers are ubiquitous. They are critical for a multitude of operations in business, government, and society. Simultaneously they become ever more complex. Consequently, while they gain in importance, it is increasingly difficult to guarantee their security. Because security is a non-functional property, it can neither be tested for, nor can a system be made secure in an ad-hoc fashion. Security can only be included as an inherent property of a system by design. We investigate the contribution of cryptographic proofs of security to a systematic security engineering process. To this end we study how to model and prove security for concrete applications in three practical domains: computer networks, data outsourcing, and electronic voting. In the first domain, computer networks, we investigate the security of a network component irrespective of the surrounding network. As a concrete application, we study how to combine several candidate firewalls to yield one provably-secure firewall, even if one candidate is compromised. Our modeling of a firewall network allows us to define security independent of a firewall's functionality. We show that a concatenation of firewalls is not secure, while a majority decision is. Second, we develop a framework for the privacy of outsourced data. Specifically, we consider privacy in the presence of queries. We identify three privacy objectives|data privacy, query privacy, and result privacy. They apply to a wide array of outsourcing applications. Our analysis yields generic relations among these objectives. We introduce a searchable encryption scheme that fits in the framework. The third domain is electronic voting. We focus on re-voting as a strategy to achieve coercion resistance. Insights from a cryptographic model of coercion resistance yield requirements for possible realisations. We provide a proof-of-concept scheme that achieves coercion resistance through revoting. We conclude that cryptographic proofs of security can benefit a security engineering process in formulating requirements, influencing design, and identifying constraints for the implementation. iii Zusammenfassung Computer sind heute allgegenw¨artig. Fur¨ viele Aufgaben in Wirtschaft, Politik und Gesellschaft sind sie unerl¨asslich. Gleichzeitig werden sie immer komplexer: In einem modernen Kraftfahrzeug arbeiten Programme im Umfang von einhundert Millionen Zeilen Quelltext [167]. Dabei steuert nicht ein einziger Computer alle Fahrzeugfunktio- nen. Im Fahrzeug arbeitet ein komplexes System aus Computern. W¨ahrend Systeme der Informationstechnologie (IT) an Bedeutung und Komplexit¨at zunehmen, wird es zunehmend schwieriger, ihre Sicherheit zu gew¨ahrleisten. Da IT-Sicherheit aber eine nicht-funktionale Eigenschaft ist, ist es schwer zu testen, ob ein System sicher ist: Darf es nach dem erfolgreichen Durchlaufen aller Testf¨alle als sicher gelten; decken die Testf¨alle alle m¨oglichen Sicherheitslucken¨ ab? Sicherheit kann nur als inh¨arente Systemeigenschaft bereits beim Entwurf eines Systems verankert werden. Ein systematisches Vorgehen, das ein sicheres IT-System zum Ziel hat, ist Security Engineering. Der Nachweis von Sicherheit ist der Grundsatz der modernen Kryptographie. Katz und Lindell nennen drei Prinzipien [131]: die Formulierung exakter Definitionen, der Verlass auf pr¨azise Annahmen und streng gefuhrte¨ Sicherheitsbeweise. Sicherheit ist eine wohldefinierte Eigenschaft eines Systems. Ein stringenter Beweis weist sie auf der Grundlage von Annahmen nach. Dazu mussen¨ diese pr¨azise formuliert sein und k¨onnen somit objektiv untersucht werden. Die exakte Definition von Sicherheit wiederum erlaubt die begrundete¨ Auswahl von Sicherheitsmaßnahmen. Ein Beweis deckt den Zusammenhang zwischen Annahmen, einem Systementwurf und einer Sicherheitsgarantie auf. In dieser Dissertation wird der Frage nachgegangen, welchen Beitrag die Methode der beweisbaren Sicherheit zu einem systematischen Entwurfsprozess fur¨ sichere IT-Systeme leisten kann. Gegenstand ist dabei das Wasserfallmodell: Die Entwicklung sicherer Systeme in diesem Modell verl¨auft linear in den Stufen Anforderungen, Entwurf, Implementierung, Uberpr¨ ufung¨ und Ver¨offentlichung. Die Modellierung von Sicherheit und ihr Nachweis wird an konkreten Anwendungen in drei praktischen Feldern untersucht: Computernetzwerke, das Auslagern von Daten und elektronische Wahlen. Die Arbeit besteht aus sechs Kapiteln. Kapitel 1 motiviert das Vorhaben und macht einen Vorschlag fur¨ einen Entwicklungsprozess, der durch die kryptographische Methode unterstutzt¨ wird. Formale Grundlagen, Konventionen und Voraussetzungen werden in Kapitel 2 behandelt. Kapitel 3 widmet sich dem ersten Anwendungsfeld, Computernetzwerken. Hier wird die Sicherheit einer Netzwerkkomponente unabh¨angig vom umgebenden Netzwerk unter- sucht. Dabei werden mehrere Firewalls so kombiniert, dass insgesamt eine beweisbar sichere Firewall entsteht { sogar dann, wenn eine der Firewalls b¨osartig ist [3]. Durch die v Verwendung des Universal Composability (UC)-Rahmenwerks [41] kann die Sicherheit einer Kombination von Firewalls unabh¨angig von der Funktionalit¨at einer Firewall defi- niert werden. Dabei dient ein vertrauenswurdiger¨ Hardwarebaustein, der Netzwerkpakete vergleicht, als Sicherheitsannahme. Es wird gezeigt, dass eine Serienschaltung zweier Firewalls keine sichere L¨osung liefert, ein Konsensentscheid jedoch schon. Er birgt aber die Gefahr, dass der Angreifer durch die Unterdruckung¨ von Paketen die Verfugbarkeit¨ des Netzwerks angreift. Ein 2-aus-3 -Mehrheitsentscheid hat diese Schw¨ache scheinbar nicht. Da das reine UC-Modell aber Zeit nicht abbildet, ist der Nachweis einer solchen Verfugbarkeitseigenschaft¨ nicht ohne Weiteres m¨oglich. Die Verfugbarkeit¨ der Architektur, die einen 2-aus-3 -Mehrheitsentscheid realisiert, kann nachgewiesen werden [4], indem eine Erweiterung von Katz et al. [132] einbezogen wird. Um die kryptographische Modellierung von Netzwerken zu vereinfachen, werden weiter zwei Formalismen und ein Funf-Schritt-Vorgehen¨ bei der Definition von Netzwerkproto- kollen vorgeschlagen. In Kapitel 4 wird ein Rahmenwerk fur¨ die Geheimhaltung ausgelagerter Daten entwickelt. Insbesondere wird dabei die Datensicherheit betrachtet, wenn die ausgelagerten Daten abgefragt werden. Dazu wird eine ausgelagerte Datenbankanwendung in zwei Phasen modelliert. In der Vorbereitungsphase wird die auszulagernde Datenbank vorbereitet und an einen Server ubertragen.¨ In der Anfragephase stellt ein Client Anfragen an den Server [1]. Drei Schutzziele werden identifiziert: die Geheimhaltung der Daten selbst, die Geheimhaltung der Anfragen und die Geheimhaltung der Anfrageergebnisse. Die Definitionen dieser Ziele sind dabei von der konkreten Anwendung unabh¨angig und decken ausgelagerte relationale Datenbanken ebenso ab wie durchsuchbare Verschlusselungen.¨ Eine Analyse liefert grundlegende Zusammenh¨ange zwischen diesen Schutzzielen: Die Geheimhaltung der Daten ist unabh¨angig von der Geheimhaltung der Anfragen; beide zusammen sind jedoch ¨aquivalent zur Geheimhaltung der Anfrageergebnisse. Derart gefundene Zusammenh¨ange sind unabh¨angig von einer konkreten Realisierung gultig¨ und geben bereits in der Entwurfsphase Hinweise darauf, welche Schutzziele unabh¨angig, widerspruchlich¨ oder redundant sind. Weiter wird eine durchsuchbare Verschlusselung¨ vorgestellt, deren Sicherheit im Rahmenwerk abgebildet werden kann [5]. Sie basiert auf gerichteten, azyklischen Wort-Graphen (Directed Acyclic Word Graphs, DAWGs). Ein DAWG ist ein endlicher Automat, der alle Teil-Zeichenketten einer Zeichenkette akzeptiert. Kapitel 5 thematisiert elektronische Wahlen. Bei Wahlen, die im Internet stattfinden, verfugt¨ der W¨ahler uber¨ keine Wahlkabine, in der er Schutz vor Erpressungsversuchen findet. (Smartphones mit Kamerafunktion relativieren selbst den Schutz einer Wahlkabi- ne [26, 195].) Es bedarf daher besonderer Maßnahmen, den W¨ahler vor Erpressung zu schutzen.¨ Eine solche Maßnahme ist sogenanntes Revoting. Hier kann der W¨ahler seine Stimme jederzeit durch die Abgabe einer neuen uberschreiben.¨ Damit Revoting aber als Maßnahme dienen kann, einem Erpressungsversuch zu entgehen, muss der W¨ahler sein erneutes Abstimmen plausibel abstreiten k¨onnen. Trotzdem muss sichergestellt sein, dass nur seine zuletzt abgegebene Stimme gez¨ahlt wird. Ein kryptographisches Modell vi fur¨ Nichterpressbarkeit durch Revoting wird, basierend auf einem Modell fur¨ eine an- dere Maßnahme [122], entwickelt [2]. Weiterhin wird ein Verfahren vorgestellt, das die grunds¨atzliche Machbarkeit von Revoting als Strategie belegt. Aus der Arbeit mit dem kryptographischen Modell wird eine Anforderung an die Autori- sierung des W¨ahlers abgeleitet, die unabh¨angig vom konkreten Verfahren ist: Sie muss unver¨außerlich sein. Das heißt, es muss dem W¨ahler unm¨oglich sein sie abzugeben oder eine Kopie zu erstellen. Kapitel 6 schließt die Arbeit ab und diskutiert offene Fragen. Aus den vorangegangenen Untersuchungen ergibt sich, dass kryptographische Sicher- heitsbeweise einen Security-Engineering-Prozess auf dreierlei Arten unterstutzen¨ k¨onnen: Sie helfen Anforderungen