Softwarepraktikum WS 13/14: Cloud Storage

Im Kontext von Cloud Computing ist ein viel genützter Dienst die Auslagerung von Daten in eine Cloud (remote storage). Hierfür ist es zweckmäßig, dem/r Kunden/in eine Kontrollmöglichkeit zu geben, welche ihn/sie die konsistente Existenz der Daten am Server überprüfen lässt. Ein trivialer Ansatz hierfür ist der simple Download der gesamten Datenmenge, jedoch ist dies bei großen Datenmengen ineffizient. Ein besserer Ansatz wird von sogenannten Proofs of Retrievability Protokollen geboten. Dies sind Challenge-Response Verfahren, mit welchen die Existenz und Verfügbarkeit von Daten auf einem Server effizient nachgewiesen werden kann. Im einfachsten Fall besteht ein solches PoR Protokoll aus der Abfrage eines schlüsselabhängigen Hashwertes der Daten, welche der Server nur dann korrekt berechnen kann, wenn die Daten zum Zeitpunkt der Abfrage in konsistenter (integrer) Form vorliegen.

Ziel der Arbeit (Wahlfachprojekt / Diplom- / Master- / Bakk-Arbeit) ist die Aufarbeitung der theoretischen Grundlagen von Proofs of Retrievability, sowie eine Implementierung eines einfachen PoR Protokolls. Bestehende Verfahren lassen sich grob in statische und dynamische PoR einteilen, wobei erstere die Unveränderlichkeit der Daten über deren Lebensdauer annehmen (rein statische Daten), und letztere (dynamische) PoR Veränderungen an den Daten gestatten. Diese sind insbesondere für das Outsourcing von Datenbankdiensten in die Cloud konzepiert. Ein solches PoR-Verfahren soll im Rahmen der Arbeit implementiert werden. Der Schwerpunkt der Betrachtung liegt auf der Auslagerung und Abfrage von Daten aus XML-Dokumenten liegen, deren Verfügbarkeit und Korrektheit mittels PoR nachgewiesen werden soll.

Die Implementierung soll in Java bzw. C++ erfolgen, unter Zuhilfenahme der dort verfügbaren kryptographischen Bibliotheken. Tiefgehende Kenntnisse der Kryptographie oder Systemsicherheit sind nicht erforderlich, lediglich ein Grundverständnis für die Anwendung von Sicherheitsmechanismen (wie Hashfunktionen oder Verschlüsselungen) und Grundkenntnisse im Bereich von verteilten Systemen (Client-Server Kommunikation).

Der Kreativität sind keine Grenzen gesetzt. Der/m Studierenden steht es nach Absprache mit dem Betreuer frei, die Inhalte der Arbeit und Funktionalitäten der Implementierung um die erforderlichen Kernthemen herum zu erweitern. Das Projekt kann auch als Software-Praktikum abgewickelt werden.

Projektverlauf und Aufgaben:

  • Aufarbeitung der Grundideen und Konzepte von PoR
  • Implementierung eines einfachen PoR Protokolls
  • Entwurf und Umsetzung einer Testumgebung

Rahmenbedingungen:

  • Projektstart:  Ab sofort!
  • Projektende: 6-8 Monate nach Beginn (excl. Einarbeitungszeit)

Voraussetzungen:

  • Gute Kenntnisse der Programmiersprache Java oder C++
  • Grundkenntnisse der Kryptographie
  • (programmiertechnische) Kreativität

Ansprechpartner und Betreuer:

Dr. Stefan Rass (E.1.52, DW 3715, e-Mail: stefan.rass@uni-klu.ac.at)

Share
Tags »

Autor:
Datum: Montag, 16. September 2013 9:26
Trackback: Trackback-URL Themengebiet: AINF, DA_AINF, DA_SS, Diplomarbeit, Institut, PR_AINF, PR_System Security, Praktikum, Studierendenprojekt

Feed zum Beitrag: RSS 2.0 Diesen Artikel kommentieren

Kommentar abgeben