Informatik

TLS verstehen: Handshake, Zertifikate und Schutz

TLS verstehen: Handshake, Zertifikate und Schutz
TLS verstehen: Handshake, Zertifikate und Schutz
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Transport Layer Security (TLS) schützt Daten auf ihrem Weg zwischen zwei Kommunikationspartnern. Dazu verbindet TLS drei Aufgaben: Es verschlüsselt die Übertragung, erkennt Veränderungen und prüft meist mithilfe eines Zertifikats die Identität des Servers.

Auf dieser Seite lernst du, wie diese Schutzkette funktioniert, wie Zertifikate Man-in-the-Middle-Angriffe erschweren und wo die Grenzen von TLS liegen.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Welche Schutzziele erfüllt TLS?

Stell dir eine Anmeldung auf einer Website vor. Ohne Schutz könnten Dritte das Passwort mitlesen, Daten verändern oder sich als der gewünschte Server ausgeben. TLS wirkt diesen Gefahren mit drei Schutzzielen entgegen.

Definition

Vertraulichkeit

Nur die vorgesehenen Kommunikationspartner sollen die übertragenen Daten lesen können. TLS erreicht das durch Verschlüsselung.

Definition

Integrität

Unbemerkte Veränderungen während der Übertragung sollen erkannt werden. Geschützte Prüfwerte zeigen, ob eine Nachricht manipuliert wurde.

Definition

Authentifizierung

Eine Seite weist ihre Identität kryptografisch nach. Bei HTTPS authentifiziert sich normalerweise der Server mit einem Zertifikat. Bei mutual TLS (mTLS) weist auch der Client seine Identität mit einem Zertifikat nach.

Die Schutzziele ergänzen sich. Eine verschlüsselte Verbindung zu einem Angreifer wäre zwar vertraulich gegenüber anderen Beobachtern, aber mit der falschen Gegenstelle aufgebaut. Deshalb genügt Verschlüsselung allein nicht.

Beispiel

Du sendest ein Passwort an einen Webserver:

  1. Verschlüsselung verhindert das einfache Mitlesen.
  2. Integritätsschutz macht eine Veränderung der übertragenen Nachricht erkennbar.
  3. Die Zertifikatsprüfung hilft festzustellen, ob du tatsächlich mit dem vorgesehenen Server verbunden bist.

Erst die Kombination bildet die beabsichtigte Schutzkette.

Teste dich
Frage 1 von 2LeichtWelches Schutzziel verhindert vor allem, dass Dritte den Inhalt mitlesen?
Lösung: Vertraulichkeit — Vertraulichkeit bedeutet, dass nur berechtigte Kommunikationspartner die Daten lesen können.
Frage 2 von 2MittelEine Nachricht kommt lesbar, aber verändert an. Welches Schutzziel wurde verletzt?
Lösung: Integrität — Integrität schützt vor unbemerkter Manipulation einer übertragenen Nachricht.
Wie entsteht beim Handshake ein gemeinsamer Schlüssel?

Bevor Anwendungsdaten fließen, führen Client und Server den TLS-Handshake aus. Dabei einigen sie sich auf eine TLS-Version und geeignete kryptografische Verfahren. Der Server weist außerdem seine Identität nach.

Ein vereinfachter regulärer TLS-1.3-Handshake läuft so ab:

  1. Der Client sendet unterstützte Parameter, einen Zufallswert und einen Wert für den flüchtigen Schlüsselaustausch.
  2. Der Server wählt passende Parameter und sendet seinen eigenen Austauschwert.
  3. Der Server übermittelt sein Zertifikat und beweist mit einer digitalen Signatur, dass er den zugehörigen privaten Schlüssel besitzt.
  4. Beide Seiten berechnen unabhängig dasselbe gemeinsame Geheimnis und leiten daraus Sitzungsschlüssel ab.
  5. Sie bestätigen den erfolgreichen Handshake und übertragen anschließend geschützte Anwendungsdaten.

Der Sitzungsschlüssel wird also nicht einfach als lesbarer Schlüssel durch das Netz geschickt. Moderne TLS-1.3-Verbindungen verwenden einen flüchtigen Diffie-Hellman-basierten Schlüsselaustausch wie DHE oder ECDHE.

Definition

Forward Secrecy

Für jede Verbindung entsteht neues, flüchtiges Schlüsselmaterial. Wird der langfristige private Schlüssel des Servers später gestohlen, lassen sich frühere aufgezeichnete Sitzungen dadurch nicht automatisch entschlüsseln.

Warum kombiniert TLS verschiedene Verfahren? Public-Key-Verfahren, Signaturen und Diffie-Hellman helfen bei Authentifizierung und Schlüsselaushandlung. Für den großen Datenstrom ist symmetrische Verschlüsselung mit einem gemeinsamen Sitzungsschlüssel schneller.

Merke

Der Handshake schafft Vertrauen und Schlüsselmaterial. Danach schützt schnelle symmetrische Kryptografie die Nutzdaten.

Lückentext

Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.

Im werden Parameter und Schlüsselmaterial ausgehandelt. Danach schützt ein Sitzungsschlüssel die Nutzdaten. Neues flüchtiges Schlüsselmaterial ermöglicht .

Lösungen: Lücke 1: Handshake; Lücke 2: symmetrischer; Lücke 3: Forward Secrecy. Achte auf die Aufgabenverteilung: Der Handshake bereitet die Verbindung vor; die symmetrischen Sitzungsschlüssel schützen anschließend den Datenstrom.
Wie verhindert ein Zertifikat einen falschen Server?

Ein digitales Zertifikat verbindet eine Serveridentität mit einem öffentlichen Schlüssel. Es wird von einer Zertifizierungsstelle, kurz CA, ausgestellt beziehungsweise bestätigt.

Der Client prüft unter anderem:

  • Passt der aufgerufene Servername zum Zertifikat?
  • Ist das Zertifikat innerhalb seiner Gültigkeitsdauer?
  • Führt die Zertifikatskette zu einer vertrauenswürdigen CA?
  • Ist die Zertifikatskette kryptografisch gültig?
  • Beweist der Server den Besitz des passenden privaten Schlüssels?
Definition

Man-in-the-Middle-Angriff

Ein Angreifer schaltet sich zwischen Client und Server. Er versucht, beiden Seiten jeweils eine eigene Verbindung vorzuspielen, um Daten mitzulesen oder zu verändern.

Ohne zuverlässige Authentifizierung könnte ein solcher Angreifer eigene Schlüssel unterschieben. Eine erfolgreiche Zertifikatsprüfung bindet den verwendeten öffentlichen Schlüssel an den erwarteten Servernamen und erschwert dieses Täuschungsmanöver.

Beispiel

Du rufst eine Website auf, aber ein Angreifer lenkt die Verbindung zu seinem Server um. Sein Server kann zwar irgendein Zertifikat vorlegen. Passt dessen Name nicht zur aufgerufenen Domain oder führt seine Kette nicht zu einer vertrauten CA, muss der Browser warnen oder die Verbindung abbrechen.

Ignorierst du eine solche Warnung, schwächst du die Schutzwirkung der Authentifizierung.

Teste dich
Frage 1 von 2MittelWelche Prüfung richtet sich unmittelbar gegen die Umleitung zu einem Server mit falschem Namen?
Lösung: Der aufgerufene Servername muss zum Zertifikat passen. — Die Namensprüfung verbindet das Zertifikat mit dem tatsächlich aufgerufenen Server.
Frage 2 von 2SchwerEin Angreifer kann verschlüsseln, besitzt aber kein gültiges Zertifikat für die aufgerufene Domain. Welche Kontrolle stoppt den Angriff?
Lösung: Die Prüfung von Name, Zertifikatskette und Besitz des privaten Schlüssels — Gegen einen falschen Server hilft die vollständige Authentifizierung, nicht bloß das Vorhandensein irgendeiner Verschlüsselung.
Was geschieht nach dem Handshake?

Nach dem Handshake übernimmt das TLS Record Protocol. Es zerlegt Anwendungsdaten in Datensätze, schützt sie mit den ausgehandelten symmetrischen Schlüsseln und setzt sie beim Empfänger wieder zusammen. TLS muss den Inhalt der Anwendungsdaten dabei nicht verstehen.

Darum kann TLS unterschiedliche höhere Protokolle schützen. Das bekannteste Beispiel ist HTTPS, also HTTP über TLS. Auch E-Mail-, Dateiübertragungs-, Datenbank- und VPN-Verbindungen können TLS einsetzen.

Beispiel

Beim Absenden eines Webformulars verarbeitet die Website weiterhin normale Formulardaten. TLS schützt den Transport zwischen Browser und Webserver. Die Anwendung muss nicht jedes Formularfeld mit einem eigenen Netzwerkverfahren verschlüsseln.

Warnungen und schwere Fehler werden über TLS-Meldungen übertragen. Eine ordnungsgemäße Beendigung kann mit close_notify angekündigt werden. Bei einem schweren Fehler wird die Verbindung beendet, statt unsicher fortzufahren.

Teste dich
Frage 1 von 1LeichtWelche Aufgabe hat das Record Protocol hauptsächlich?
Lösung: Es schützt die Anwendungsdaten mit den ausgehandelten Sitzungsschlüsseln. — Der Handshake bereitet Schlüssel und Parameter vor; das Record Protocol schützt danach die übertragenen Daten.
Was schützt TLS nicht?

HTTPS bedeutet, dass HTTP über TLS übertragen wird. Ein Browser-Schloss zeigt daher eine geschützte Verbindung an. Es ist aber kein allgemeines Gütesiegel für die Inhalte oder die Absichten des Betreibers.

Auch eine Phishing-Seite kann ein gültiges Zertifikat für ihre eigene Domain besitzen. TLS schützt dann die Verbindung zur Phishing-Seite korrekt, macht die Seite aber nicht vertrauenswürdig.

TLS schützt außerdem jeweils einen Transportabschnitt zwischen zwei Stationen. Werden Daten an einem Endpunkt oder einer Zwischenstation entschlüsselt, können sie dort gelesen, gespeichert oder verändert werden. TLS schützt nicht automatisch vor unsicherer Software, gestohlenen Zugangsdaten oder einer bösartigen Gegenstelle.

Merke

TLS beantwortet: „Ist diese Verbindung geschützt und mit welcher Gegenstelle wurde sie aufgebaut?“ Es beantwortet nicht automatisch: „Ist der Betreiber ehrlich und ist das Endgerät sicher?“

Typische technische Schwächen

Ältere Versionen, schwache Verfahren, fehlerhafte Implementierungen und falsche Konfigurationen können die vorgesehene Sicherheit untergraben. Historische Beispiele sind BEAST gegen TLS 1.0, POODLE gegen SSL 3.0, Export-Downgrades wie FREAK und Logjam sowie der Heartbleed-Fehler in OpenSSL.

Kompression kann ebenfalls Informationen verraten: Wenn ein Angreifer Teile des Klartexts beeinflusst und anschließend Länge oder Antwortzeit beobachtet, können Rückschlüsse auf Geheimnisse möglich werden. TLS 1.3 unterstützt deshalb keine TLS-Nutzdatenkompression. Anwendungskompression kann jedoch weiterhin eigene Risiken erzeugen.

Praktische Schutzentscheidungen sind daher:

  • aktuelle TLS-Versionen und Implementierungen verwenden;
  • veraltete Versionen und schwache Verfahren deaktivieren;
  • Zertifikatswarnungen nicht umgehen;
  • Software regelmäßig aktualisieren;
  • Endpunkte und Anwendungen zusätzlich absichern.
Teste dich
Frage 1 von 2MittelEine Phishing-Seite besitzt ein gültiges Zertifikat für ihre eigene Domain. Was folgt daraus?
Lösung: Die Verbindung kann verschlüsselt sein, obwohl die Seite betrügerisch ist. — TLS schützt die Übertragung zur authentifizierten Gegenstelle. Eine inhaltliche Vertrauensprüfung ersetzt es nicht.
Frage 2 von 2SchwerEine Nachricht läuft über mehrere Systeme und wird an einer Zwischenstation entschlüsselt. Welche Aussage stimmt?
Lösung: TLS schützt die einzelnen Verbindungen, aber nicht vor Zugriff an der Entschlüsselungsstelle. — Jede Stelle, an der Klartext vorliegt, bleibt eine mögliche Sicherheitsgrenze.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • TLS
    • schützt Vertraulichkeit, Integrität und Authentifizierung
    • handelt im Handshake Parameter und Schlüsselmaterial aus
    • nutzt Zertifikate zur Serverauthentifizierung
    • schützt Nutzdaten mit symmetrischen Sitzungsschlüsseln
    • ermöglicht mit flüchtigen Schlüsseln Forward Secrecy
    • sichert Verbindungen, aber nicht automatisch Endpunkte oder Betreiberabsichten
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWelche Aussage beschreibt die Rollen im TLS-Ablauf richtig?
Lösung: Der Handshake bereitet Schlüssel und Parameter vor; danach schützt symmetrische Kryptografie die Nutzdaten. — TLS trennt den Aufbau der sicheren Sitzung von der effizienten Übertragung der Anwendungsdaten.
Frage 2 von 3MittelEin Browser meldet, dass der Zertifikatsname nicht zur aufgerufenen Domain passt. Was ist die sichere Reaktion?
Lösung: Die Warnung nicht umgehen und die Verbindung nicht für sensible Daten verwenden. — Eine fehlgeschlagene Namensprüfung bedeutet, dass die Identität der erwarteten Gegenstelle nicht zuverlässig bestätigt wurde.
Frage 3 von 3SchwerEntwirf die richtige Schutzkette für eine Anmeldung bei einem Webserver.
Lösung: Zertifikat und Servernamen prüfen, Schlüsselaustausch abschließen, Sitzungsschlüssel ableiten und Nutzdaten geschützt übertragen — Die sinnvolle Reihenfolge lautet: Gegenstelle authentifizieren, Schlüsselmaterial sicher vereinbaren und erst danach sensible Anwendungsdaten geschützt übertragen.

Du hast das Ziel erreicht, wenn du die TLS-Schutzkette erklären und zugleich begründen kannst, warum eine verschlüsselte Verbindung nicht automatisch eine vertrauenswürdige Website bedeutet.

Passend dazu