Wie funktioniert HTTPS?

HTTPS ist die verschlüsselte Variante des Hypertext Transfer Protocols.
Im Grunde bedeutet dies, dass alle Daten zwischen Client und Server über eine verschlüsselte Verbindung übertragen werden.

Damit aber nicht nur die Verbindung sicher ist, sondern auch die Gewissheit besteht das man mit dem Server kommuniziert mit dem man kommunizieren möchte, gibt es Zertifikate.

Bei einer Anfrage über HTTPS wird das Zertifikat des Servers an den Browser übertragen.
Da der Browser eine Liste mit vertrauenswürdigen Zertifizierungsstellen besitzt,
kann dieser die Gültigkeit und Vertrauenswürdigkeit überprüfen.
Falls versucht wird eine Webseite über HTTPS zu erreichen welche kein gültiges Zertifikat besitzt,
erscheint eine Warnung im Browserfenster.

HTTPS Fehler

Mit dieser Warnung wird gezeigt das die Identität der Webseite nicht bestätigt werden kann.

Ein digitales Zertifikat enthält Informationen über die Webseite für welche das Zertifikat ausgestellt wurde.
Folgende Informationen sind meist in einem Zertifikat enthalten:

  • Gültigkeitsdauer
  • Informationen über den Aussteller
  • Einzigartige Signatur

Die Signatur bestätigt Identität und verschlüsselte Verbindung zu der angefragten Webseite.

Damit einem Zertifikat vertraut werden kann, muss das Root-Zertifikat der Zertifizierungsstelle im Browser hinterlegt sein.
Bei Zertifizierungsstellen dem der Browser vertraut, ist dies bereits der Fall.

Wie ist der Ablauf der Verbindung zum Webserver

Der Browser baut eine Verbindung mittels https:// zu dem Webserver auf.
Daraufhin wird das Zertifikat des Servers an den Browser übertragen und dort die Signatur anhand des Root-Zertifikats überprüft.
Bei erfolgreicher Überprüfung wird ein temporärer Sitzungsschlüssel durch den Browser erzeugt und an den Webserver gesendet.
Dieser Sitzungsschlüssel wird nun für die Verschlüsselung der Daten verwendet.

HTTPS Clinet-Server