Sobes.tech
Junior

Wie funktioniert HTTPS?

sobes.tech KI

Antwort von AI

HTTPS (Hypertext Transfer Protocol Secure) ist ein Protokoll, das eine sichere Datenübertragung zwischen dem Client (z. B. einem Browser) und dem Server gewährleistet. Es basiert auf HTTP, verwendet jedoch Verschlüsselung, um die übertragenen Informationen zu schützen.

Der Betrieb von HTTPS basiert auf der Verwendung des Protokolls TLS (Transport Layer Security), das früher SSL (Secure Sockets Layer) genannt wurde. TLS/SSL bietet drei wichtige Sicherheitsaspekte:

  1. Verschlüsselung: Die Daten zwischen Client und Server werden verschlüsselt, sodass sie für Außenstehende unlesbar sind.
  2. Datenintegrität: Es wird überprüft, dass die Daten während der Übertragung nicht verändert wurden.
  3. Authentifizierung: Der Server bestätigt seine Echtheit gegenüber dem Client.

Der Prozess der Herstellung einer HTTPS-Verbindung umfasst mehrere Phasen, die "TLS/SSL Handshake" genannt werden:

  1. Client Hello: Der Client sendet an den Server ein "Client Hello" mit:
    • Der unterstützten TLS-Version.
    • Der Liste unterstützter Verschlüsselungsalgorithmen (Cipher Suites).
    • Einer Zufallszahl.
  2. Server Hello: Der Server antwortet mit einem "Server Hello", wobei er aus den vom Client vorgeschlagenen Optionen auswählt:
    • Die TLS-Version.
    • Einen der Verschlüsselungsalgorithmen.
    • Eine Zufallszahl.
    • Das Server-Zertifikat.
  3. Zertifikat: Der Client erhält das Server-Zertifikat und überprüft dessen Echtheit:
    • Überprüfung der digitalen Signatur des Zertifikats mit dem öffentlichen Schlüssel der Zertifizierungsstelle (CA).
    • Überprüfung der Gültigkeit des Zertifikats.
    • Überprüfung, ob der Domain-Name im Zertifikat mit dem angeforderten übereinstimmt.
  4. Client Key Exchange: Der Client generiert ein Pre-Master-Secret, verschlüsselt es mit dem öffentlichen Schlüssel des Server-Zertifikats und sendet es an den Server.
  5. Change Cipher Spec (Client): Der Client informiert den Server, dass er bereit ist, verschlüsselte Daten auszutauschen.
  6. Finished (Client): Der Client sendet eine verschlüsselte Nachricht mit einem Hash aller vorherigen Handshake-Nachrichten zur Überprüfung der Integrität.
  7. Change Cipher Spec (Server): Der Server entschlüsselt das Pre-Master-Secret mit seinem privaten Schlüssel und generiert symmetrische Schlüssel für die Sitzung. Dann informiert er den Client, dass er bereit ist, verschlüsselte Daten auszutauschen.
  8. Finished (Server): Der Server sendet eine verschlüsselte Nachricht mit einem Hash aller vorherigen Handshake-Nachrichten.
  9. Verschlüsselte Datenübertragung: Nach erfolgreichem Abschluss des Handshake verwenden der Client und der Server die generierten symmetrischen Schlüssel, um alle nachfolgenden Daten zu verschlüsseln.

Auf diese Weise bietet HTTPS einen sicheren Kommunikationskanal, der das Surfen im Web sicherer macht.