Verbindungsaufnahme
Initiert nun der Client eine SSL-Sitzung, wird ein weiteres Schlüsselpaar erzeugt; bestehend aus einem öffentlichen Server-Key (SK-Pub) und einen geheimen Server-Key (SK-Sec). Diese Schlüssel werden in bestimmten Zeitintervallen geändert(circa einer Stunde) oder wenn ein Gigabyte an Daten gesandt wurde. Dieses zweite Schlüsselpaar soll verhindern, dass die Kommunikation aufgezeichnet und nachträglich entschlüsselt wird, selbst wenn sich der Angreifer im Besitze des Host-Keys befindet. Nach dem Austausch der Protokollversionen sendet der Server seine öffentliche Schlüssel dem Client, dass heisst SK-Pub und HK-Pub. Der Client verifiziert, ob der HK-Pub in seiner Liste aufgeführt ist. Falls dies nicht der Fall ist, erscheint eine Warnmeldung – die Verbindung kann nun unterbrochen werden. Hat der Client den HK-Pub des Servers akzeptiert, erzeugt er seinerseits einen Sitzungsschlüssel (SESK). Dieser codiert er mit dem HK-Pub und dem SK-Pub und teilt dem Server welches Kryptoverfahren er anwendet. Den übermittelten Sitzungsschlüssel SESK kann der Server nun mittels HK-Sec und SK-Sec entziffern. Nun muss sich der Client identifizieren. Man unterscheidet drei Varianten der Identifizierung:
Reine Hostbasierte Identifizierung: Sie erfolgt genau wie bei rlogin und RSH mittels Hosttabellen und ist extrem unsicher. Passwortauthentifizierung: Benutzername und Kennwort des Benutzers werden dem Server übermittelt. Dieser kann anhand einer lokalen Benutzerdatenbank überprüft werden.
Die Daten gehen imKlartext über das Netz sind aber mit dem
Sitzungsschlüssel chiffriert.
Authentifizierung mittels Public-Key-Verfahren:
Der Benutzer schickt mittel eines privaten Schlüssels eine
Signatur an den Server. Dieser überprüft die Gültigkeit
mit einem öffentlichen Schlüssel. Nun kann eine verschlüsselte
Kommunikation zwischen Client und Server stattfinden.
|