Securing Remote Data Stores - Design and Implementation of an Encrypted Data Store

Autor
W. Dorninger
Masterarbeit
MT0509 (Dezember, 2005)
Betreut von
o. Univ.-Prof. Dr. Michael Schrefl
Angeleitet von
Mag. Katharina Grün
Mag. Michael Karlinger
Ausgeführt an
Universität Linz, Institut für Wirtschaftsinformatik - Data & Knowledge Engineering
Ressourcen
Kopie

Kurzfassung (Englisch)

The trend towards outsourcing increases the number of documents stored at external Application Service Providers (ASPs). However, this storage approach raises privacy and security concerns because ASPs cannot be trusted with respect to privacy. This is especially a problem for organizations maintaining sensitive data like financial-, health care- or government data. While the use of ASPs has proven beneficial at a business level because costs for IT services can be reduced significantly, the lack of trust is often the reason for organizations to not outsource their data stores and thus having to maintain expensive data stores in-house.

When outsourcing data, organizations have to rely on service level agreements that can only define how the data is maintained by the storage provider. These service level agreements cannot guarantee the privacy and security of data be- cause employees of the service provider still have access to the outsourced data. Encryption is a possible approach for data protection but requires specific techniques for querying this data.

SemCrypt is a research project that aims at querying and updating encrypted XML documents stored at external untrusted servers. The principal idea is to encrypt and decrypt data only at the client in a trusted environment and use the database of an ASP to store the encrypted data. Because querying encrypted data has very limited capabilities, the client has to perform query processing by exploiting the structural semantics of XML documents as well as index structures and meta data, making it possible to efficiently process queries. SemCrypt thus enables to query and update encrypted XML documents on untrusted servers while ensuring privacy.

This thesis concentrates on the storage layer of SemCrypt, called SemCrypt Store. The main target is to provide a secure remote data store that can operate in an untrusted environment but still enables query processing. The security requirements for the SemCrypt Store are to encrypt the data and hide the associations inside XML documents. These requirements are fulfilled by storing XML documents in an identifier-value based approach using well proven encryption techniques to hide the content and structure of XML documents. SemCrypt Store consists of 8 two components. The first one is the Storage Engine which runs on the client and performs encryption and decryption of values that have to be stored by the SemCrypt Store. The Storage Provider is the second component that operates on the server and provides a unified transactional database access to arbitrary data sources for the SemCrypt Store.

SemCrypt Store enables to encrypt, store, retrieve and decrypt data without revealing any information about data stored at the storage provider, thus making it possible to employ untrusted data stores for storing sensible data.

Kurzfassung (Deutsch)

Der anhaltende Trend, Daten auszulagern steigert die Menge an Datenbeständen, welche bei externen IT-Dienstleistern gespeichert werden. Bei der Auslagerung von Daten werden oft hohe Risiken hinsichtlich des Datenschutzes eingegangen. Dies ist vor allem ein Problem für Finanzdienstleister, Institutionen im Gesundheitsbereich, sowie für die öffentliche Verwaltung. Während durch Nutzung externer IT-Dienstleister die Kosten für IT-Services drastisch verringert werden können, ist mangelndes Vertrauen in externe IT-Dienstleister oft der Grund, IT-Services nicht auszulagern.

Bei der Auslagerung von Daten müssen sich Unternehmen oft auf vertragliche Vereinbarungen verlassen, welche jedoch lediglich den Umgang mit den ausgelagerten Daten, sowie mögliche Konsequenzen bei Verletzung der Vereinbarungen definieren. Diese Vereinbarungen, auch Service Level Agreements (SLAs) genannt, können die Sicherheit der Daten nicht garantieren, da Angestellte der IT-Dienstleister meist ungehinderten Zugang zu diesen Daten haben. Die gespeicherten Daten können zwar verschlüsselt werden, um Abfragen durchzuführen werden diese Daten jedoch wieder am Server des ASPs entschlüsselt und sind damit im Speicher des Servers unverschlüsselt verfügbar .

SemCrypt ist ein Forschungsprojekt welches sich mit Techniken zur Abfrage und Änderung von XML Dokumenten auf externen unsicheren Servern beschäftigt. Die grundlegende Idee ist, Daten ausschließlich auf einem sicheren Client zu ver- und entschlüsseln. Da Abfragen auf verschlüsselte Daten ohne Zusatzinformationen nur eingeschränkt möglich sind, müssen die Abfragen am Client mit Hilfe von Indexstrukturen und Metadaten durchgeführt werden.

Diese Diplomarbeit befasst sich mit dem Datenspeicher von SemCrypt, welcher SemCrypt Store genannt wird. SemCrypt Store soll Änderungen sowie Abfragen von verschlüsselten Daten ermöglichen. Der Datenspeicher soll sowohl die interne Struktur als auch die Daten selbst verschlüsseln. Hierfür werden XML Dokumente in Fragmenten gespeichert. Die einzelnen Fragmente werden mit einem sicheren Verschlüsselungsalgorithmus verschlüsselt. SemCrypt Store besteht aus zwei Komponenten. Die erste Komponente mit dem Namen Storage Engine läuft 6 auf dem Client und kümmert sich um Ver- sowie Entschlüsselung der Daten. Die zweite Komponente namens Storage Provider stellt einen einheitlichen Datenzugriff für die Storage Engine zur Verfügung.

SemCrypt Store ermöglicht das Speichern, Abfragen, Verschlüsseln sowie Entschlüsseln von Daten ohne diese am Server preiszugeben.