Chair for Applied Software Engineering Lehrstuhl für Angewandte Softwaretechnik

Home  |  People  |  Projects  |  Teaching  |  Publications  |  Internal  |  Changes  |  Index Software Engineering  |  Search

Distributed P2P Secure Database

Design und Implementierung eines versionskontrollierten, verschlüsselten, verteilten P2P-Filesharing-Systmes für beliebige klassifizierte Dokumente

Überblick:

Während unsere Arbeitweise immer mobiler wird und der Absatz von mobilen Endegräten wie Notebooks so hoch ist wie nie zuvor, ist man gleichzeitig immer stärker auf Daten und Dokumente anderer angewiesen. Datenbank- oder Fileserver speichern riesige Mengen an Dateien und Datensätzen, auf die von der ganzen Welt zugegriffen werden kann.

Sollen Dokumente in Gruppen oder Teams bearbeitet werden, erfolgt der Zugriff auf diese Daten in der Regel über ein zentrales System. Solche Systeme reichen von zugriffsbeschränkten Netzwerk-Dateiservern (Novell, SMB/CIF) über einfachen Email-Verkehr (Mailserver-Lösungen, IMAP, Exchange) bis zu Groupware Plattformen wie Lotus Notes/Domino, HyperWave oder PHPGroupWare.

Dabei bleiben Aspekte wie Versionskontrolle oder Verschlüsselung meist außen vor oder sind zumindest nicht in die Systeme nahtlos integriert. Als Beispiele sind hier Mailverschlüsselung per PGP oder CVS-Server für Programm-Quellcode genannt.

Alle erwähnten Systeme haben gemeinsam, dass sie spezielle Serversoftware benötigen. Als Alternative soll in dieser Arbeit ein völlig verteiltes und damit von zentralen Servern unabhängiges Peer-To-Peer (P2P)-System als Prototyp implementiert werden.

P2P-Konzepte:

Zum Dokumentenaustausch etablieren sich im Moment im Bereich Musik und Filme in rechtlicher Grauzone in großem Umfang P2P-Konzepte. Dateien werden zwischen den Benutzern -den Peers- direkt und ohne zentrale Server getauscht.

Im Gegensatz zu solchen mp3-Tauschbörsen wie Kazzar, eDonky oder das GNUTella-Netzwerk werden über die oben genannten GroupWare-Systeme und Daten-Server jedoch für gewöhnlich Dokumente verteilt, die nicht für die breite Öffentlichkeit bestimmt sind. Das können zum Beispiel medizinische Patientendaten sein oder nicht veröffentlichte Forschungs-Dokumente. Dabei können sehr große Datenmengen auch für einzelne Datensätze (z.B. Daten einer Computertomographie, Messwerte) erreicht werden.

Aufgabe:

  • P2P: Keine Serverkomponenten, sondern reine Peer-Software für alle Benutzer

  • Versionskontrolle: Speichern und mögliche Wiederherstellung von verschiedenen Versionen eines Dokuments

  • Synchronisation: Finden der aktuellen Version eines Dokuments, Konfliktsynchronisationsstrategieen

  • Verschlüselung: Verschlüsselte Übertragung von Dokumenten zur Unterbindung von unerlaubtem Zugriff, Benutzung von asymetrischen und symetrischen Verschlüsselungsverfahren für umfangreiche Zugriffskontrollmöglichkeiten

Realisierung:

  • Implementierung einer möglichst umfangreichen und unabhängigen, wiederverwendbaren Software-Bibliothek (Library) mit oben genannter Funktionalität, darauf aufbauende Peer-Software

  • Implementierung eines Kontainer-Dokumentenformats (XML), in dem das eigentliche Dokumente verschlüsselt gespeichert wird.
    Der (symmetrische) Schlüssel zur Entschlüsselung der übertragenen Datei wird mit dem Public-Key aller erlaubten Leser verschlüsselt (asymetrische Verschlüsselung)

  • Implementierung eines gängigen Metainformations-Formats zur Unterstützung von Suche und Ordnung der Dokumente

Organisation:

Die Diplomarbeit wird von zwei Mitarbeitern betreut:

  • Entwurf des P2P Synchronisations-Protokols, Versionskontrolle: Betreuer PatrickRenner
  • Containerfile-Format mit Verschlüsselung: Betreuer GötzBock

Literatur, Links:

 

Lehrstuhl: DisPeer2PeerSD .
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
r2 - 20 Aug 2003 - 20:32:29 - PatrickRenner
Copyright © 1999-2008 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding the website? Send feedback