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:
- 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).
- Aushandlung über Schutzziele, die Client und Server durchsetzen wollen.
- Austausch von Zertifikaten (Pseudonymen) des Clients bzw. Servers.
- Aushandlung über zu benutzende Sicherheitsmechanismen und deren Parameter
(z.B. Schlüssellänge, ...)
- 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.
|