Während bei HTML und FTP die Dateien "im Klartext", also leicht auslesbar
übermittelt werden, bietet das SSL-Protokoll die Möglichkeit, die Daten für die
Übertragung zu verschlüsseln.
Eine asymmetrische Verschlüsselung dient als Basis des SSL-Protokolls. Beim
komplexen, mehrstufigen Verbindungsaufbau tauschen Server und Client ihre jeweiligen öffentlichen Schlüssel und
verschlüsseln dann die eigentliche Datenübertragung mit einem einmaligen
Sitzungsschlüssel. Da der Sitzungsschlüssel zufällig erzeugt und sofort
verschlüsselt wird, kann kein Dritter die empfangenen Daten entschlüsseln oder
manipulieren.
Erkennbar sind sichere Verbindungen an Symbolen wie Schlüsseln oder Schlössern
in der unteren Leiste von Browsern sowie in der Adresszeile an dem Aufruf
"https://..."
SSL wurde von Netscape und RSA entwickelt und ist inzwischen Standard für
sichere Übertragungswege. Nur sehr alte Browser können Probleme mit SSL haben,
da ihnen die Zertifikate der SSL-Server nicht bekannt sind (siehe Zertifikat
).
Das ähnlich klingende
SSH
(Secure Shell) ist eine eigenständige Anwendung, die nicht im Browser
integriert ist.
Technische Details des Verbindungsaufbaus
Der Verbindungsaufbau läuft folgendermassen ab:
- Der Benutzer ruft eine Webseite mit gesicherter Übertragung auf.
- Der SSL-Server schickt an den Rechner des Benutzers (Client) sein
Zertifikat
- Der Client prüft das Zertifikat, erzeugt einen zufälligen Sitzungsschlüssel
und verschlüsselt diesen mit dem im Zertifikat enthaltenen öffentlichen
Schlüssel des SSL-Servers. Den so kodierten Sitzungsschlüssel schickt er an den
SSL-Server.
- Der SSL-Server entschlüsselt mit dem privaten Schlüssel den
Sitzungsschlüssel.
- Der folgende Datenaustausch wird mit dem Sitzungsschlüssel
verschlüsselt.