SSONET - mehrseitig sichere TCP-IP-Verbindungen

Überblick

Die Bibliothek ermöglicht es, mehrseitig sichere TCP-IP-Verbindungen zwischen zwei Parteien, einem Client und einem Server, aufzubauen. Dafür werden Sockets benutzt, die den herkömmlichen TCP-IP-Sockets ähnlich sind. Sie unterscheiden sich davon nur im Konstruktor, der hier zusätzlich ein SSONETContext-Objekt als Parameter erhält. Dieses Objekt enthält die Sicherheitskonfiguration für die über den Socket aufzubauende(n) Verbindung(en). Außerdem werden in dem SSONETContext-Objekt Callback-Methoden registriert, damit die Bibliothek während der Verbindungsaufbauphase mit der Anwendung interagieren kann.

Protokoll für den Verbindungsaufbau

Der Verbindungsaufbau besteht aus folgenden Schritten:
  1. Erstellen einer TCP-IP-Verbindung vom Client zum Server. Das kann entweder direkt (falls keine Client-Anonymität gewünscht ist) geschehen, oder über einen Anonymisierungsdienst (falls Client-Anonymität gewünscht ist).
  2. Aushandlung über Schutzziele, die Client und Server durchsetzen wollen.
  3. Austausch von Zertifikaten (Pseudonymen) des Clients bzw. Servers.
  4. Aushandlung über zu benutzende Sicherheitsmechanismen und deren Parameter (z.B. Schlüssellänge, ...)
  5. Initialisierung der Sicherheitsmechanismen und Schlüsselaustausch.
Diagramm des Protokolls für den Verbindungsaufbau:



Für Detailinformationen sei auf die Dokumentation des Quellcodes sowie den Quellcode selbst verwiesen.

Implementierung von Client und Server

SSONET enthält im Paket org.ssonet.examples.net die Dokumentation sowie den Quellcode einer Beispielimplementierung. Die Klassen testClient und testServer stellen eine minimale Implementierung für Client- bzw. Serverseite einer Anwendung dar.