Secure Semantic Web Data Management
Total Page:16
File Type:pdf, Size:1020Kb
Secure Semantic Web Data Management Confidentiality, Integrity, and Compliant Availability in Open and Distributed Networks Vom Promotionsausschuss des Fachbereichs 4: Informatik der Universit¨at Koblenz-Landau zur Verleihung des akademischen Grades Doktor der Naturwissenschaften (Dr. rer. nat.) genehmigte Dissertation vorgelegt von Andreas Kasten Vorsitzender des Promotionsausschusses Prof. Dr. Ralf L¨ammel,Universit¨atKoblenz-Landau Vorsitzender der Promotionskommission Prof. Dr. Steffen Staab, Universit¨atKoblenz-Landau Berichterstatter Prof. Dr. R¨udiger Grimm, Universit¨atKoblenz-Landau Prof. Dr. habil. Ansgar Scherp, Universit¨atKiel und Leibniz-Informationszentrum Wirtschaft Datum der wissenschaftlichen Aussprache 11.11.2016 Datum der Einreichung 30.05.2016 Abstract Confidentiality, integrity, and availability are often listed as the three major requirements for achieving data security and are collectively referred to as the C-I-A triad. Confiden- tiality of data restricts the data access to authorized parties only, integrity means that the data can only be modified by authorized parties, and availability states that the data must always be accessible when requested. Although these requirements are relevant for any computer system, they are especially important in open and distributed networks. Such networks are able to store large amounts of data without having a single entity in control of ensuring the data's security. The Semantic Web applies to these characteristics as well as it aims at creating a global and decentralized network of machine-readable data. Ensuring the confidentiality, integrity, and availability of this data is therefore also important and must be achieved by corresponding security mechanisms. However, the current reference architecture of the Semantic Web does not define any particular security mechanism yet which implements these requirements. Instead, it only contains a rather abstract representation of security. This thesis fills this gap by introducing three different security mechanisms for each of the identified security requirements confidentiality, integrity, and availability of Semantic Web data. The mechanisms are not restricted to the very basics of implementing each of the requirements and provide additional features as well. Confidentiality is usually achieved with data encryption. This thesis not only provides an approach for encrypting Semantic Web data, it also allows to search in the resulting ciphertext data without decrypting it first. Integrity of data is typically implemented with digital signatures. Instead of defining a single signature algorithm, this thesis defines a formal framework for signing arbitrary Semantic Web graphs which can be configured with various algo- rithms to achieve different features. Availability is generally supported by redundant data storage. This thesis expands the classical definition of availability to compliant availability which means that data must only be available as long as the access request complies with a set of predefined policies. This requirement is implemented with a mod- ular and extensible policy language for regulating information flow control. This thesis presents each of these three security mechanisms in detail, evaluates them against a set of requirements, and compares them with the state of the art and related work. 3 Zusammenfassung Als wichtigste Anforderungen an Datensicherheit werden oft Vertraulichkeit, Integrit¨at und Verfugbarkeit¨ genannt. Vertraulichkeit von Daten bedeutet, dass nur berechtigte Parteien auf sie zugreifen k¨onnen. Datenintegrit¨at erfordert, dass nur berechtigte Par- teien die Daten ¨andern durfen.¨ Verfugbarkeit¨ von Daten bedeutet, dass auf die Daten jederzeit bei Bedarf zugegriffen werden kann. Obgleich die Umsetzung dieser Sicherheits- anforderungen fur¨ jedes Computersystem relevant ist, gilt dies insbesondere bei offenen und verteilten Netzen. Solche Netze speichern große Mengen an Daten ohne eine zentrale Instanz, die den sicheren Zugriff und die sichere Verarbeitung der Daten steuert. Das Semantic Web teilt diese grundlegende Eigenschaft, da es das Erstellen eines globalen und dezentralen Netzes von maschinenlesbaren Daten anstrebt. Auch fur¨ solche Daten muss daher durch entsprechende Sicherheitsmaßnahmen die Vertraulichkeit, Integrit¨at und Verfugbarkeit¨ garantiert werden k¨onnen. Obgleich die aktuelle Referenzarchitektur des Semantic Webs durchaus das Umsetzen von Sicherheitsmaßnahmen vorsieht, defi- niert sie selbst noch keine konkreten Maßnahmen. Stattdessen enth¨alt sie lediglich einen abstrakten Baustein, dem solche Maßnahmen zugeordnet werden k¨onnen. Diese Arbeit stellt drei konkrete Sicherheitsmaßnahmen vor, welche sich in die Re- ferenzarchitektur des Semantic Webs einbetten lassen und die Anforderungen an die Vertraulichkeit, Integrit¨at und Verfugbarkeit¨ der Semantic-Web-Daten umsetzen. Die einzelnen Maßnahmen setzen die Anforderungen dabei nicht minimalistisch um, son- dern bieten zugleich noch weiterfuhrende¨ Funktionen. Vertraulichkeit von Daten wird ublicherweise¨ durch Datenverschlusselung¨ umgesetzt. Diese Arbeit stellt einen Ansatz zum Verschlusseln¨ von Semantic-Web-Daten vor, der zugleich auch ein Suchen auf den verschlusselten¨ Daten ohne vorhergehende Entschlusselung¨ erlaubt. Datenintegrit¨at wird meist durch digitale Signaturen sichergestellt. Diese Arbeit definiert ein formales Rah- menwerk zum Signieren beliebiger Semantic-Web-Daten, welches mit verschiedenen Al- gorithmen flexibel konfiguriert werden kann. Verfugbarkeit¨ wird oft durch eine red- undante Datenhaltung garantiert. In dieser Arbeit wird eine Erweiterung der klassi- schen Definition von Verfugbarkeit¨ verwendet, die als konforme Verfugbarkeit¨ bezeichnet wird. Konforme Verfugbarkeit¨ bedeutet, dass Daten nur dann bei einem Zugriffsversuch verfugbar¨ sein mussen,¨ wenn der Zugriff konform ist zu einem vordefinierten Regelsatz. Diese Sicherheitsanforderung wird umgesetzt durch eine modulare und erweiterbare for- male Sprache zum Beschreiben von Regels¨atzen zur Steuerung von Informationsflussen.¨ Jede der drei Sicherheitsmaßnahmen wird in dieser Arbeit im Detail beschrieben, anhand definierter Anforderungen evaluiert und mit verwandten Arbeiten verglichen. 5 Acknowledgments Although a PhD thesis should officially be the work of the one person writing the thesis, it is completely unrealistic to avoid any support of other people. Quite the contrary, not asking for any kind of help and trying to solve all problems alone even contradicts with the basic principles of scientific work which involves communication and interaction with other researchers. As I do not want to offend anyone by not listing her or him on this page, I will use a brute-force approach by simply listing all people who have helped me in the past years with at least something related to this work. In order to avoid a large and confusing list of names, all persons listed below are grouped according to their type of assistance. First of all, I would like to thank my supervisors Ansgar Scherp and R¨udiger Grimm for their extensive support on this thesis and on any related scientific activities. This includes paying the conference fees and the trip to the respective locations as well. I would also like to thank all former co-workers of the University of Koblenz for giving various types of advice and for enduring my annoying personality. As most of the software and some related artifacts mentioned in this thesis were developed by students of this university, I would like to thank them as well. In addition to the developed software, they also provided helpful suggestions for improving the different security mechanisms presented in this thesis. Finally, I have to thank all people who participated in the time- consuming and tedious proofreading process. The different categories of thankfulness and their respective participants are listed below, sorted in alphabetical order by last name. Multiple categories per person are possible. Supervisors R¨udigerGrimm and Ansgar Scherp Former co-workers Katharina Br¨aunlich, Nico Jahn, Helge Hundacker, Brigitte Jung, Marco Krause, Daniel P¨ahler,Daniela Simi´c-Draws, Stefan Stein, and Tim Wambach University students Alexander Balke, Stefan Becker, Felix Gorbulski, Katharina Großer (n´ee Naujokat), Benjamin H¨uck, Michael Kornas, Dominik Mosen, Michael Ruster, Peter Schauß, Artur Schens, Erwin Schens, Arne Fritjof Schmeiser, Johann Tissen, and Rainer Weißenfels Proofreaders Katharina Br¨aunlich, Nicole K¨ohler,Katharina Krause, Marco Krause, Johannes Siebel, Daniela Simi´c-Draws, and Tim Wambach 7 Contents 1. Secure Data Management in the Semantic Web 1 1.1. Research Questions . .3 1.2. Contributions . .4 1.3. Methodology . .5 2. Scenarios for Secure Semantic Web Data Management 11 2.1. Regulating Internet Communication . 11 2.1.1. Example Network Topology . 12 2.1.2. Creating and Distributing Regulation Policies . 14 2.1.3. Privacy Compliant Logging of Internet Activities . 17 2.1.4. Summary of the Scenario . 19 2.2. Securing Medical Data Records in Electronic Healthcare . 19 2.2.1. Medical Data Records Used in Electronic Healthcare . 20 2.2.2. Security Requirements for Medical Data Records . 20 2.2.3. Example Medical Case . 21 2.2.4. Summary of the Scenario . 23 3. InFO: A Policy Language for Regulating Information Flow 25 3.1. State of the Art and Related Work . 26 3.1.1. Access Control Languages . 26 3.1.2. Usage Control Languages . 27 3.1.3. Flow Control Languages . 29 3.1.4. General Purpose Languages . 29 3.1.5. Content Labeling Schemes