Wie funktioniert die HTTPS-Verbindung?*
Bei einer HTTPS-Verschlüsselung arbeiten sowohl der Webbrowser (Client) als auch der Server mit einem nur für sie bekannten Schlüssel. Damit dieser Schlüssel nur für den Client und den Server einsehbar ist, wird dieser in drei Schritten generiert und übertragen:
- Der Server (z. B. ein Webshop oder eine Bank) schickt Dateninformationen für eine asymmetrische Verschlüsselung (den Public Key) an den Client (Webbrowser). Asymmetrisch bedeutet, dass mit diesen Informationen andere Dateien verschlüsselt, aber nicht wieder entschlüsselt werden können. Angreifer könnten diese Dateninformationen zwar mitschneiden, aber erstmal nichts weiter damit anstellen.
- Der Client (Webbrowser) kann einen geheimen symmetrischen Schlüssel generieren und verschlüsselt nun diesen mit den Dateninformationen vom Webshop (Public Key) und verschickt diesen zurück an den Server. Der Server besitzt die relevanten Informationen, um die asymmetrische Verschlüsselung öffnen (mit seinem Private Key) zu können und gelangt so an den symmetrischen Schlüssel des Clients. Ein symmetrischer Schlüssel bedeutet, dass mit diesem Schlüssel Daten ver- und auch entschlüsselt werden können.
- Die gesamte nachfolgende Kommunikation zwischen Server und Client findet ab dann nur noch verschlüsselt durch den gemeinsam bekannten symmetrischen Schlüssel statt.
Selbst wenn der „Man-in-the-middle“ dazwischensteht und versucht, mit den ausspionierten Dateninformationen die Verschlüsselung zu öffnen, funktioniert das nicht.
*) am Beispiel der RSA-Methode
Um das Ganze bildlicher zu beschreiben:
Im ersten Schritt wird ein Schloss vom Webshop an den Client geschickt. Der „Man-in-the-middle“ kopiert sich das Schloss. Wenn der Client nun seine persönlichen Daten überträgt, verschließt er diese mit dem Schloss und verschickt ihn zurück an den Webshop. Wenn der Angreifer nun versucht das Schloss zu öffnen, hat er dafür „nur“ das kopierte gleiche Schloss. Und damit kann er das Schloss nicht öffnen. Der Webshop hat aber einen persönlichen Schlüssel, mit dem er das Schloss öffnen kann.