TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

Implementierung und Evaluierung von Identity-Based Cryptography für Verzögerungstolerante Netze

BetreuerDominik Schürmann
ProfessorProf. Dr.-Ing. Lars Wolf
IBR GruppeCM (Prof. Wolf)
ArtMasterarbeit, Projektarbeit
Statusabgeschlossen

Einleitung

Die meisten Netzwerkprotokolle basieren auf der Annahme, dass zu jeder Zeit Ende-zu-Ende-Verbindungen hergestellt werden können. Während das Internet diese Anforderung erfüllt, trifft dies nicht für interplanetare Kommunikation oder große mobilen dezentrale Netze zu. Hier bestehen Verbindungen nur für bestimmte Zeitabschnitte und Nachrichten müssen eventuell über mehrere Knoten zum eigentlichen Ziel weitergeleitet werden. Das Bundle Protocol für Delay Tolerant Networks (DTN) hingegen nutzt die Eigenschaften solcher Netze indem größere Datenmengen zu Bündeln zusammengefasst und nach dem Store-Carry-Forward Prinzip an das gewünschte Ziel übertragen werden. IBR-DTN stellt eine umfassende Implementierung des Bundle Protocols dar. Um Hop-to-Hop sowie Ende-zu-Ende Sicherheit zu gewährleisten wurde das Bundle Security Protocol definiert, was auch in IBR-DTN umgesetzt wurde. Es stellt alle notwendigen Bundle-Blöcke zur Verfügung um Vertrauenswürdigkeit, Integrität, und Authentizität sicherzustellen. Wie das Key Management in solchen Netzwerken aussehen sollte ist aber nicht standardisiert und stellt eines der größten ungelösten Probleme der Sicherheit in opportunistischen Netzen dar.

Public-Key Infrastrukturen

Beim Einsatz von konventionellen Public-Key Infrastrukturen (PKI), die unter Nutzung von Certificate Authorities (CA) Zertifikate verteilen, existieren viele Probleme, die den Eigenschaften solcher Netze zugrunde liegen. Dadurch dass Verbindungen in DTNs nur sporadisch bestehen, ist es unmöglich die Validität von Zertifikaten mit einer CA in Echtzeit zu überprüfen. Des Weiteren muss der Schlüssel eines Empfängers bekannt sein, damit ein Bundle, dass auf dem Weg zum Ziel von mehreren Knoten zwischengespeichert wird, Ende-zu-Ende verschlüsselt werden kann. Sollten sich die beteiligten Knoten nicht schon vorher getroffen haben um diesen Schlüssel auszutauschen, muss der öffentliche Schlüssel des Empfängers vorab von einem zentralen Schlüsselserver heruntergeladen werden. Es kann aber nicht vorausgesetzt werden, dass eine Verbindung zu einem Schlüsselserver zum Zeitpunkt des Versands des Bundles besteht.

Identity-Based Cryptography

Identity-Based Cryptography (IBC) ist ein relativ neues Verfahren, was es erlaubt den öffentlichen Schlüssel aus der ID eines Empfängers zu berechnen. Damit entfällt der Schritt der Schlüsselverteilung, sollte die ID des Empfängers bekannt sein (was bei traditionellen Routingverfahren der Fall ist). IBC nutzt keine Zertifikate, d.h. im Gegensatz zu PKIs, wo jeder Knoten selbst ein Schlüssel-Paar generiert und es von einer CA signieren lässt, generiert bei IBC ein zentraler Server das Schlüssel-Paar für jeden Knoten. In einer Deploy-Phase gibt sich der Knoten dem zentralen Server zu erkennen indem er seine ID sendet, die dann genutzt wird um ein passendes Schlüssel-Paar zu generieren. Während dies den obigen Vorteil der automatischen Key-Discovery hat, setzt es ein hohes Maß an Vertrauen in die zentrale Autorität voraus.

Aufgabenstellung

In der Arbeit soll IBR-DTN um IBC erweitert werden. Während wir eine genaue Aufgabenstellung bei einem Treffen ausarbeiten, sollte die Arbeit auf jeden Fall folgende Punkte umfassen:

  • Erarbeitung der kryptografischen Grundlagen von IBC
  • Implementierung von IBC für IBR-DTN unter Nutzung einer passenden Library
  • Evaluation der Implementierung

Anforderungen

Für die Arbeit ist ein solides Grundwissen im Bereich der Kryptografie unabdingbar. Das Verständnis des Spezialbereichs der Identity-based Cryptography wird aber nicht vorausgesetzt; die Ausarbeitung der Grundlagen ist Teil der Thesis. Die Implementierung in IBR-DTN setzt gute Kenntnisse in C++ und objektorientierter Programmierung voraus.

Bei Interesse schicke bitte eine E-Mail an Dominik Schürmann und füge die folgenden Informationen hinzu:

  • Studiengang
  • Schwerpunkte
  • Fachsemester
  • Programmierkenntnisse

Links


aktualisiert am 06.10.2016, 17:13 von Dominik Schürmann
printemailtop