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: