Confidential Data-Outsourcing And
Total Page:16
File Type:pdf, Size:1020Kb
Konrad Jünemann Confidential Data-Outsourcing and Self-Optimizing P2P-Networks: Coping with the Challenges of Multi-Party Systems Confidential Data-Outsourcing and Self-Optimizing P2P-Networks Konrad Jünemann Konrad Jünemann Confidential Data-Outsourcing and Self- Optimizing P2P-Networks: Coping with the Challenges of Multi-Party Systems Confidential Data-Outsourcing and Self- Optimizing P2P-Networks: Coping with the Challenges of Multi-Party Systems by Konrad Jünemann Dissertation, Karlsruher Institut für Technologie (KIT) Fakultät für Informatik, 2014 Tag der mündlichen Prüfung: 01. Dezember 2014 Referenten: Prof. Dr. rer. nat. Hannes Hartenstein Prof. Dr. rer. nat. Ralf Reussner Impressum Karlsruher Institut für Technologie (KIT) KIT Scientific Publishing Straße am Forum 2 D-76131 Karlsruhe KIT Scientific Publishing is a registered trademark of Karlsruhe Institute of Technology. Reprint using the book cover is not allowed. www.ksp.kit.edu This document – excluding the cover – is licensed under the Creative Commons Attribution-Share Alike 3.0 DE License (CC BY-SA 3.0 DE): http://creativecommons.org/licenses/by-sa/3.0/de/ The cover page is licensed under the Creative Commons Attribution-No Derivatives 3.0 DE License (CC BY-ND 3.0 DE): http://creativecommons.org/licenses/by-nd/3.0/de/ Print on Demand 2015 ISBN 978-3-7315-0328-6 DOI 10.5445/KSP/1000045068 Confidential Data-Outsourcing and Self-Optimizing P2P-Networks: Coping with the Challenges of Multi-Party Systems zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften von der Fakultat¨ fur¨ Informatik des Karlsruher Instituts fur¨ Technologie (KIT) genehmigte Dissertation von Konrad Junemann¨ aus Wilhelmshaven Tag der mundlichen¨ Prufung:¨ 01. Dezember 2014 Erster Gutachter: Prof. Dr. rer. nat. Hannes Hartenstein Karlsruhe Institute of Technology (KIT) Zweiter Gutachter: Prof. Dr. rer. nat. Ralf Reussner Karlsruhe Institute of Technology (KIT) Zusammenfassung Ein Mehr-Parteien-System ist ein verteiltes System in dem nicht alle Komponenten von derselben, sondern von mehreren verschiedenen Parteien kontrolliert werden, zum Beispiel von privaten Unternehmen oder Einzelanwendern. Mit der rasant gestiegenen Popularitat¨ des Cloud Computing Paradigmas werden heute viele wenn nicht sogar die meisten großen IT-Systeme als Mehr-Parteien-System entworfen. So ermoglicht¨ etwa das Anmieten von Diensten sowie Rechen- und Speicherplatzka- pazitaten¨ nicht nur Kosten zu sparen, sondern es lasst¨ sich gleichzeitig auch die Skalierbarkeit eines Systems erhohen¨ und der Betrieb vereinfachen. Im Ergebnis sind Firmen oft dazu gezwungen ihre IT auszulagern um kompetitiv zu bleiben. Auch komplett dezentralisierte Mehr-Parteien-Systeme beginnen mit Veroffentlichung¨ von mehr und mehr kommerziellen Peer-to-Peer (P2P)-basierten Anwendungen ihre durchs File-Sharing getriebene Vergangenheit hinter sich zu lassen. Trotz ihrer vielen Starken¨ werden Mehr-Parteien-Systeme von einer Vielzahl von Problemen betroffen die letztlich durch das Fehlen von Kontrolle und Vertrauen gegenuber¨ einzelnen Komponenten hervorgerufen werden. Oft wiegen diese Prob- leme so schwer, dass sie beseitigt werden mussen¨ um die inharenten¨ Vorteile der Mehr-Parteien-Systeme in Anspruch nehmen zu konnen.¨ Deshalb ist es wesentlich zu verstehen, wie diesen Problemen begegnet werden kann. In dieser Arbeit beant- worten wir diese Frage fur¨ zwei Klassen von Mehr-Parteien-Systemen. Der erste Teil dieser Arbeit behandelt das Database-as-a-Service“ Szenario. Hierbei ” soll eine Datenbank, die vertrauliche Informationen enthalt,¨ zu einem externen, nicht komplett vertrauenswurdigen¨ IT-Dienstleister ausgelagert werden. Dabei soll zum einen die Vertraulichkeit der ausgelagerten Daten gewahrt¨ bleiben, zum anderen soll dem Dienstleister aber auch ermoglicht¨ werden, Anfragen uber¨ die Daten auszuw- erten, also z.B. nach einem bestimmten Datensatz zu suchen. Hierfur¨ wird der Ansatz Securus vorgestellt. Securus garantiert dem Nutzer ein bestimmtes Vertraulichkeit- sniveau, das einem vom Nutzer in der domanenspezifischen¨ Sprache Securus-Latin erstellten Profil von Vertraulichkeits- und Zugriffanforderungen entspricht. Hierfur¨ wahlt¨ und verknupft¨ Securus einen passenden Satz von Sicherheitsmechanismen. Das hierfur¨ zugrunde liegende Optimierungsproblem wird gelost,¨ indem es in ein ganz- zahliges lineares Optimierungsproblem (engl.: Integer Linear Programming, ILP) transformiert wird. Dadurch, dass der Anwender die schlussendlich eingesetzten Sicherheitsmechanismen nicht kennen oder gar verstehen muss, gelingt es Securus, Sicherheitswissen zu externalisieren und auch fur¨ Domanen-¨ anstatt Sicherheitsex- perten anwendbar zu machen. i Der zweite Teil dieser Arbeit behandelt offentliche¨ Verteilte Hashtabellen (engl.: Distributed Hash Tables, DHTs). Eine DHT ist ein P2P-Netzwerk, das es erlaubt, Schlussel/Wert-Paare¨ zu speichern und wieder abzurufen. DHTs haben sich in letzter Zeit als attraktive Plattform fur¨ komplett dezentralisierte Systeme etabliert. Allerdings stehen Peers offentlicher¨ DHTs nicht unter zentraler Kontrolle und sind daher ube-¨ raus unzuverlassig.¨ Diese Unzuverlassigkeit¨ hat das Potential, das Leistungsniveau der DHT empfindlich herabzusetzen. Der Fokus des zweiten Teils dieser Arbeit liegt deshalb darauf, dieses Problem zu charakterisieren und Gegenmaßnahmen zu entwickeln. In einem ersten Schritt wird hierfur¨ der Aufbau und die Leistung der teilnehmerstarksten¨ offentlichen¨ DHT – der BitTorrent Mainline DHT (MDHT) –im Detail analysiert. Insbesondere wird dabei auch die Lookup Operation betrachtet, die die wichtigste Funktionalitat¨ einer jeden DHT darstellt. Die Analyse beruht zu einem großen Teil auf einer mehr als vier Jahre umfassenden Messstudie. Als Kernergebnis ergab diese Studie insbesondere, dass die MDHT im Hinblick auf ihre Zusammenset- zung nicht nur einer langsam aber kontinuierlich voranschreitenden Evolution, son- dern auch drastischen, plotzlich¨ auftretenden Veranderungen¨ unterliegt, die auch von scheinbar unbedeutenden Problemen hervorgerufen werden konnen,¨ wie zum Beispiel der Nichtverfugbarkeit¨ eines einzelnen Servers. Mit Bezug auf diese Erkennt- nis wird KadSim vorgestellt, ein Simulationsmodell der MDHT. Das Modell erlaubt es Entwicklern von dezentralisierten Anwendungen genauer zu untersuchen, welchen Einfluss Veranderungen¨ innerhalb einer DHT auf die Leistung ihrer Anwendung haben konnten.¨ Hierfur¨ ermoglicht¨ KadSim es, die MDHT in ihrer Gesamtheit von mehreren Millionen Peers zu simulieren. In einer Validierung konnte KadSim die Leistung von zwolf¨ getesteten Lookup Algorithmen mit uberzeugender¨ Genauigkeit vorhersagen. Zuletzt wird ein Ansatz namens Simulation-based Runtime Adaptation (SRA) vorgestellt der es ermoglicht,¨ auch auf unvorhergesehene, plotzlich¨ auftretende Veranderungen¨ in einer DHT adaquat¨ reagieren zu konnen.¨ Hierfur¨ wird die Leistung einer großen Anzahl alternativer Konfigurationen des verwendeten Lookup Algo- rithmus in einem vollfaktoriellen Versuchsaufbau dynamisch zur Laufzeit gemessen und verglichen. Der durch diese Messungen hervorgerufene Mehraufwand konnte durch das Aufzeichnen und wiederholte Abspielen“ von mehrfach gleichartig initi- ” ierten Anfragen in einer Simulationsumgebung wesentlich reduziert werden. Eine abschließende Evaluation bestatigt¨ die hohe Effektivitat¨ und Effizienz des Ansatzes. ii Abstract A Multi-Party System is a distributed system in which not all components are con- trolled by the same party. Instead, multiple independent parties are involved, such as private companies or individual persons. With the advent of the cloud computing paradigm, today many, if not most large-scale IT systems are designed as Multi-Party Systems. For instance, renting storage, computing capacity, or services allows to reduce costs, to increase scalability, or to make the system easier to manage. As a result, a company often has to outsource their IT in order to stay competitive. With the recent publication of more and more commercial Peer-to-Peer (P2P) based appli- cations, fully decentralized Multi-Party Systems are furthermore starting to leave their “piracy-driven” past behind. Despite their great advantages, Multi-Party Systems are plagued by issues caused by the lack of trust and control over individual components. Often, these issues have to be resolved in order to leverage the inherent strengths of Multi-Party Systems. It is thus essential to understand how one can cope with the lack of trust and control in Multi-Party Systems. In this thesis, we cover this question for two classes of Multi-Party Systems. The first part of this thesis covers a Database-as-a-Service scenario in which a database containing sensitive information should be outsourced to a not fully trusted storage provider while not only protecting data confidentiality but also allowing the storage provider to evaluate queries. To tackle this problem, the Securus approach is presented. Securus is able to provide hard confidentiality guarantees that match a pro- file of confidentiality and access requirements defined by the user in the domain specific language Securus-Latin. Securus satisfies this profile by selecting and combining a set of security mechanisms. To solve this optimization problem, it is transformed into an Integer Linear Programming (ILP) instance. As the user is not required to understand any of the eventually employed security mechanisms, Securus externalizes security knowledge and makes it applicable by non-security experts.