Exkurs - HTTPS
Übertragung von Webseiten
HTTPS (Abkürzung für HyperText Transfer Protocol Secure) ist ein Protokoll zur sicheren Übertragung von Webseiten im Internet. Dabei werden die Webseiten wie bei HTTP übertragen, aber über eine Verbindung, die mit dem Protokoll TLS (Transport Layer Security, früher SSL) gesichert ist.
Die folgende Abbildung zeigt (in vereinfachter Form), wie Daten bei diesem Protokoll übertragen werden.
Beim Verbindungsaufbau sendet der Server ein Server-Zertifikat (mit seinem öffentlichen Schlüssel) an den Client (Browser).
Der Browser überprüft das übermittelte Server-Zertifikat: Er prüft die Signatur, den Namen der Website und die Gültigkeitsdauer. Dazu verfolgt er die Zertifikatskette bis zu einem Wurzelzertifikat zurück, das in seinem Trust Store vorinstalliert ist. Der Browser hat also vorinstalliertes Vertrauen in bestimmte Zertifizierungsstellen.
Wenn die Überprüfung zu einem positiven Ergebnis gekommen ist, dann erzeugt der Browser einen Session-Key und übermittelt ihn – mit dem public-key des Servers verschlüsselt – an den Server. Nachdem der Server den Erhalt bestätigt hat, kann der sichere Nachrichtenaustausch beginnen. Der Session-Key ist ein Schlüssel für ein symmetrisches Verfahren. Solche Verfahren sind deutlich schneller als asymmetrische.
Vereinfachung: Die Abbildung zeigt eine ältere, vereinfachte Variante. Bei modernem TLS (z. B. TLS 1.3) wird der Session-Key nicht mit dem public-key des Servers verschlüsselt übertragen. Browser und Server vereinbaren ihn mit einem separaten Schlüsselaustauschverfahren. Der Server beweist dabei mit einer Signatur, dass er den private-key zu seinem Zertifikat besitzt. Das Zertifikat dient also zur Authentifizierung. Das Zertifikat von inf-schule.de enthält zum Beispiel einen Schlüssel für das Verfahren ECDSA, mit dem man gar nicht verschlüsseln, sondern nur signieren kann.
Aufgabe 1: Mr X im WLAN
Mr X betreibt in einem Café ein offenes WLAN. Alle Daten der Gäste laufen über seinen Router.
- Ein Gast ruft eine Website über HTTP auf und meldet sich dort mit Benutzername und Passwort an. Was kann Mr X sehen?
- Ein anderer Gast ruft eine Website über HTTPS auf. Was kann Mr X jetzt noch erkennen, was nicht mehr?
Aufgabe 2: Warum der Browser das Zertifikat prüft
- Angenommen, ein Browser würde das Server-Zertifikat nicht prüfen. Beschreibe, wie sich Mr X dann zwischen Browser und Server schieben könnte.
- Mr X erstellt sich selbst ein Zertifikat für inf-schule.de mit seinem eigenen public-key. Warum fällt das beim Prüfen auf?
- Erkläre, warum der Session-Key mit einem symmetrischen Verfahren genutzt wird und nicht die ganze Webseite asymmetrisch verschlüsselt wird.