Verbindungsaufbau mit HTTPS über SSL

Drucken
Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 
Inhaltsverzeichnis[Anzeigen]

Stark vereinfacht funktioniert der HTTPS-Datenaustausch zwischen Browser und Server folgendermassen:

  1. Ein Nutzer versucht, mit seinem Browser eine Verbindung zu einem mit HTTPS gesicherten Internet-Auftritt herzustellen. Für jede HTTP-Verbindung benötigt man bei HTTP/1.1 jedoch noch eine separate TCP-Verbindung, die erst ausgehandelt werden muss. Dazu sind in der Startphase bereits mindesten zwei Kontakte erforderlich. Diese Roundtrip-Time (RTT) kann man mit Ping messen.
  2. Dann fordert der Browser für SSL / TLS die Identität des Servers an.
  3. Der Server sendet daraufhin eine Kopie seines Zertifikats an den Browser.
  4. Der Browser überprüft, ob das Zertifikat laut seinen eigenen (intern gespeicherten) Regeln korrekt ist. Um die Gültigkeit des Zertifikats zu überprüfen, nimmt der Browser jedoch meist Kontakt mit dem Verzeichnisdienst der angegebenen Zertifizierungsstelle auf, die eine Liste der ausgegebenen, gültigen digitalen Zertifikate sowie eine Sperrliste der verfallenen, ungültigen Zertifikate vorhält.
  5. Bei kleinsten Fehlern muss alles neu erfolgen. D.h. nicht selten kommt es zu mehreren Zyklen der Kontaktaufnahme.
  6. Falls alles korrekt ist, sendet die Zertifizierungsstelle eine Nachricht an den Browser zurück.
  7. Dann erzeugt der Browser (Client) einen eigenen symmetrischen Schlüssel, verschlüsselt ihn mit dem öffentlichen Schlüssel des Servers (Anbieters, besuchten Internet-Auftritts) und schickt diesen an den Server.
  8. Daraufhin entschlüsselt der Server mit seinem privaten Schlüssel den ihm zugesandten neuen symmetrischen Schlüssel des Browsers (Client, Nutzers) und verwendet ihn für seine Verschlüsselung aller weiteren Kommunikation.
  9. Erst danach beginnen Browser und Server damit, symmetrisch verschlüsselte Daten auszutauschen. Denn nur mit der symmetrischen Verschlüsselung lassen sich halbwegs erträgliche Lasten und Zeitverzögerungen erzielen.

 

Zeitverzögerung und Lastprobleme = Generelle Nachteile für den Betreiber und Anwender

 

 

Die Nachteile relativieren sich langsam. Aber sie entfallen nicht - nie! Ganz im Gegenteil nimmt der Aufwand mit jeder noch besseren Verschlüsselungsmethode deutlich zu.