Protokollaufbau
In dieser interaktiven Lerneinheit verstehst du den detaillierten Aufbau des TLS-Protokolls und seine verschiedenen Schichten. Du lernst die einzelnen Komponenten kennen, die für eine sichere Datenübertragung zusammenspielen und kannst deren Funktionen im Gesamtkontext einordnen. Diese Grundlagen sind essentiell für die spätere Konfiguration und Fehleranalyse von verschlüsselten Verbindungen in der Praxis.
Einführung
Stell dir vor, du öffnest deine Banking-App oder loggst dich im WLAN eines Cafés bei deinem Lieblingsshop ein. Würdest du dasselbe tun, wenn du wüsstest, dass Angreifer deine Daten im Klartext mitlesen könnten?

Genau dafür wurde TLS entwickelt: Es ist der unsichtbare Schutzschild, der jeden Tag Milliarden von sensiblen Daten im Internet absichert.
Doch wie funktioniert dieser Schutz im Detail? Welche Mechanismen verhindern, dass Passwörter, E-Mails oder Bankdaten auf dem Weg durchs Netz in die falschen Hände geraten? Und was passiert eigentlich im Hintergrund, wenn im Browser das kleine Schloss-Symbol erscheint?
Mit der richtigen TLS-Konfiguration kannst du Datenlecks und Angriffe verhindern - aber nur, wenn du die Bausteine des Protokolls und ihre Zusammensetzung wirklich verstehst.
Lernziele
Nach dieser Lerneinheit kannst du:
-
Den Aufbau und die Funktionen der zentralen TLS-Protokollschichten erklären
- Du beschreibst, welche Aufgaben das Record, Handshake, Alert und Change Cipher Spec Protocol im Ablauf einer TLS-Verbindung übernehmen.
-
Das Zusammenspiel von Cipher Suites und kryptografischen Algorithmen analysieren
- Du erklärst, wie Cipher Suites ausgewählt werden, woraus sie bestehen und wie sie für Vertraulichkeit, Integrität und Authentizität sorgen.
-
Moderne TLS-Erweiterungen benennen und ihre Bedeutung für die Sicherheit und Flexibilität beurteilen
- Du kennst Erweiterungen wie SNI, ALPN, ECH, OCSP Stapling und Session Tickets und schätzt ihren Beitrag zur sicheren, effizienten Verbindung ein.
-
Empfehlungen für eine sichere TLS-Konfiguration ableiten
- Du kannst erkennen, welche Cipher Suites, Algorithmen und Einstellungen aktuell als sicher gelten – und wie regelmäßige Updates zur Abwehr neuer Bedrohungen beitragen.
Überleitung
TLS (Transport Layer Security) schützt die Kommunikation im Internet. Damit du verstehst, wie diese Sicherheit funktioniert, solltest du den Aufbau des Protokolls kennen: Welche Komponenten spielen zusammen? Welche Aufgaben übernehmen sie?
Die wichtigsten Protokollschichten von TLS
Das TLS-Protokoll besteht aus mehreren Schichten, die gemeinsam eine sichere Verbindung zwischen Client und Server ermöglichen. Im Kern sind das:
- Record Protocol
- Handshake Protocol
- Alert Protocol
- Change Cipher Spec Protocol (CCS)
Jede Schicht erfüllt dabei eine spezielle Aufgabe. Sie arbeiten zusammen, um Daten vertraulich, integer und authentisch auszutauschen.
Record Protocol
Das Record Protocol kapselt und überträgt die eigentlichen Nutzdaten sicher. Es übernimmt mehrere zentrale Aufgaben:
- Verschlüsselung: Die Daten werden nach Abschluss des Handshakes verschlüsselt, sodass Dritte sie nicht mitlesen können.
- Authentifizierung & Integrität: Es prüft, ob Daten auf dem Transportweg verändert wurden oder von einer fremden Quelle stammen.
- Kompression: (Hinweis: Diese Funktion gab es in älteren TLS-Versionen. Aus Sicherheitsgründen – Stichwort CRIME-Angriff – wurde sie ab TLS 1.3 entfernt.)
Wie funktioniert die Verschlüsselung im Record Protocol?
Das TLS Record Protocol sorgt dafür, dass Anwendungsdaten sicher zwischen Client und Server übertragen werden. Der Ablauf unterscheidet sich in Details zwischen TLS 1.2 (und älteren Versionen) und TLS 1.3.
Ablauf für TLS 1.2 und älter
- Fragmentierung: Die zu übertragenden Daten werden in Fragmente mit maximal 16.384 Byte (16 KB) unterteilt.
- Kompression (optional): Die Fragmente können komprimiert werden. In der Praxis ist Kompression jedoch selten aktiviert, da sie Angriffsfläche (z. B. CRIME) bietet.
- MAC-Berechnung: Für jedes Fragment wird ein Message Authentication Code (MAC) berechnet, um die Integrität und Authentizität zu gewährleisten.
- TLS-Record-Header: Vor der Verschlüsselung wird ein Header hinzugefügt (enthält Typ, Version und Länge).
- Verschlüsselung: Das Fragment und der MAC werden gemeinsam mit einem während des Handshakes ausgehandelten symmetrischen Schlüssel verschlüsselt.
Ablauf für TLS 1.3
- Fragmentierung: Auch hier werden Daten in Fragmente bis 16.384 Byte unterteilt.
- Keine Kompression: Die Komprimierung von Daten ist in TLS 1.3 vollständig abgeschafft.
- AEAD-Verschlüsselung: Es wird ein AEAD-Verfahren (Authenticated Encryption with Associated Data, z. B. AES-GCM oder ChaCha20-Poly1305) verwendet. Authentizität, Integrität und Vertraulichkeit sind dadurch direkt im Verschlüsselungsprozess kombiniert. Ein separater MAC entfällt.
- TLS-Record-Header: Der Header wird dem Fragment vor der Verschlüsselung hinzugefügt.
- Verschlüsselung: Das gesamte Datenpaket wird mit dem vereinbarten Sitzungsschlüssel verschlüsselt.
Handshake Protocol
Das Handshake Protocol sorgt dafür, dass sich Client und Server auf gemeinsame kryptografische Parameter einigen und die nötigen Schlüssel austauschen. Der Ablauf umfasst mehrere Schritte:
- ClientHello Das “Client Hello” ist die erste Nachricht im TLS-Handshake und markiert den Beginn des gesicherten Verbindungsaufbaus. Mit dieser Nachricht informiert der Client den Server über seine Fähigkeiten und Präferenzen für die weitere Kommunikation.
Inhalte eines Client Hello
-
TLS-Version: Die höchste vom Client unterstützte Protokollversion.
-
Zufallszahl (Random): Ein zufälliger Wert, der für die Erzeugung des Sitzungsschlüssels benötigt wird.
-
Session ID: Eine Kennung, die zur Wiederaufnahme einer früheren Sitzung dienen kann.
-
Cipher-Suiten: Kombinationen aus Schlüsselaustausch-, Verschlüsselungs- und MAC-Algorithmen, die der Client unterstützt.
-
Kompressionsmethoden: Unterstützte Kompressionsverfahren (meist nur “keine Kompression”).
-
Erweiterungen: Zusätzliche, optionale Informationen und Funktionen, zum Beispiel:
- Server Name Indication (SNI): Der gewünschte Hostname wird schon im Handshake übermittelt.
- Application-Layer Protocol Negotiation (ALPN): Ermöglicht die Aushandlung von Protokollen wie HTTP/2.
Die genaue Zusammensetzung kann je nach Protokollversion und Implementierung variieren. Erweiterungen sind insbesondere bei modernen TLS-Versionen von großer Bedeutung für Funktionalität und Sicherheit.
Handshake Protocol
- Server Hello im TLS-Handshake
Nach dem Empfang des Client Hello antwortet der Server mit dem “Server Hello” und legt die Parameter für die weitere Aushandlung der sicheren Verbindung fest. Erst danach folgen Authentifizierung und Schlüsselaustausch.
Inhalte eines Server Hello
- TLS-Version: Die höchste gemeinsam unterstützte Protokollversion.
- Zufallszahl (Random): Vom Server generierter Wert, der gemeinsam mit dem Wert des Clients zur Erzeugung des Sitzungsschlüssels beiträgt.
- Session ID: Kennung für die neue Sitzung oder zur Wiederaufnahme einer bestehenden Sitzung.
- Cipher Suite: Die vom Server ausgewählte Cipher-Suite aus der vom Client angebotenen Liste.
- Kompressionsmethode: Gibt das zu verwendende Kompressionsverfahren an (meist keine Kompression).
- Erweiterungen: Antworten auf, Ergänzungen zu oder Ablehnungen von im Client Hello angefragten Erweiterungen, z. B. SNI oder ALPN.
Diese Parameter sind die Grundlage für alle weiteren Schritte des TLS-Handshakes. Sie definieren, unter welchen Bedingungen Authentifizierung und Verschlüsselung in der Sitzung erfolgen.
Handshake Protocol
- Zertifikataustausch: Der Server sendet sein digitales Zertifikat (und optional auch der Client), damit die Identität überprüft werden kann.
- Key Exchange: Je nach gewähltem Verfahren tauschen die Parteien weitere Parameter für den Schlüsselaustausch aus.
- CertificateVerify: Der Client (und bei Bedarf auch der Server) beweist durch eine Signatur, dass er tatsächlich im Besitz des privaten Schlüssels ist.
- Change Cipher Spec: Ab diesem Punkt werden die verschlüsselten Nachrichten verwendet.
- Finished: Beide Seiten bestätigen, dass der Handshake erfolgreich abgeschlossen ist und alle Parameter stimmen.
Alert Protocol
Das Alert Protocol wird verwendet, um Warnungen oder Fehler während einer TLS-Sitzung zu melden. Es gibt zwei Arten von Meldungen:
- Warning: Die Verbindung kann fortgesetzt werden, aber es gab eine Auffälligkeit.
- Fatal: Ein schwerer Fehler ist aufgetreten. Die Verbindung wird sofort beendet.
Change Cipher Spec Protocol (CCS)
Das Change Cipher Spec Protocol ist eine sehr kurze Nachricht im Handshake. Sie teilt mit, dass ab jetzt die ausgehandelten Verschlüsselungsparameter verwendet werden. Es ist das Signal zum Übergang auf eine sichere, verschlüsselte Verbindung.
Aufbau und Ablauf: TLS-Records und Nachrichten
TLS nutzt Records als Basiseinheit für den Datenaustausch. Jeder Record besteht aus:
- Content Type: Gibt an, welcher Protokolltyp vorliegt (z. B. Handshake, Alert, Application Data, Change Cipher Spec).
- Version: Die verwendete TLS-Version, z. B. 0x0303 für TLS 1.2.
- Length: Die Länge des Records (nach dem Header) in Bytes.
- Data: Die eigentlichen Nutzdaten – verschlüsselt und/oder authentifiziert.
Beispiel:
- Content-Type: 0x17 (Application Data)
- Version: TLS 1.2 (0x0303)
- Length: 512 Bytes
- Data: <verschlüsselte Daten>
Wie sorgt TLS für Sicherheit?
- Vertraulichkeit: Die Verschlüsselung stellt sicher, dass nur berechtigte Teilnehmer die Inhalte lesen können.
- Integrität: Authentifizierungsmechanismen verhindern unerkannte Manipulationen.
- Authentizität: Zertifikate und digitale Signaturen prüfen die Identität der Kommunikationspartner.
Damit hast du den Aufbau von TLS, die Rolle der verschiedenen Protokollschichten und die grundlegenden Sicherheitsmechanismen kennengelernt.
Warum sind Cipher Suites und Erweiterungen für TLS entscheidend?
Cipher Suites und Erweiterungen legen fest, wie sicher und flexibel TLS eine Verbindung absichert. Nur wenn du ihre Funktionsweise verstehst, kannst du gezielt sichere Verbindungen konfigurieren und moderne Anforderungen erfüllen.
Was sind Cipher Suites?
Cipher Suites sind vordefinierte Kombinationen kryptografischer Algorithmen. Beim TLS-Handshake handeln Client und Server aus, welche Kombination für die Verbindung genutzt wird. Jede Cipher Suite besteht aus drei Komponenten:
-
Schlüsselaustauschmechanismus (z. B. RSA, ECDHE): Wie wird ein gemeinsamer Sitzungsschlüssel erzeugt?
-
Verschlüsselungsalgorithmus (z. B. AES, ChaCha20): Wie werden die Daten geschützt?
-
Integritätsprüfung
- In TLS 1.2: Separater MAC-Algorithmus (z. B. SHA-256)
- In TLS 1.3: Integrität ist Teil des Verschlüsselungsalgorithmus (AEAD-Modi wie AES-GCM)
Auswahl und Zusammenspiel der Cipher Suites
Beim Handshake schlägt der Client eine Liste unterstützter Cipher Suites vor. Der Server wählt daraus die beste aus, die beide Seiten unterstützen. Die Auswahl hängt von den Sicherheitsanforderungen und den unterstützten Algorithmen auf beiden Seiten ab.
Beispiele für Cipher Suites
-
TLS 1.3:
TLS_AES_256_GCM_SHA384: AES-256 im GCM-Modus, SHA-384 als Hashfunktion für die Schlüsselableitung, AEAD-ModusTLS_CHACHA20_POLY1305_SHA256: ChaCha20-Poly1305, SHA-256 für die Schlüsselableitung
-
TLS 1.2:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: Ephemeral Elliptic Curve Diffie-Hellman für Schlüsselaustausch, RSA für Authentifizierung, AES-128-GCM für Verschlüsselung, SHA-256 als MAC
Hinweis: Ab TLS 1.3 gibt es keine separaten MAC-Algorithmen mehr. Die Authentizität wird durch AEAD-Cipher direkt im Verschlüsselungsalgorithmus abgesichert.
Schlüsselaustauschmechanismen
Der Schlüsselaustausch sorgt dafür, dass Client und Server einen gemeinsamen Schlüssel erzeugen, ohne dass Dritte ihn abfangen können. Moderne Verfahren wie DHE und ECDHE bieten Perfect Forward Secrecy (PFS): Selbst wenn ein Schlüssel später kompromittiert wird, sind frühere Sitzungen geschützt.
Verschlüsselungsalgorithmen
Symmetrische Algorithmen wie AES oder ChaCha20 verschlüsseln die Daten. Die Schlüssellänge (z. B. AES-256) beeinflusst direkt die Stärke der Verschlüsselung.
Integritäts- und Authentizitätsprüfung
-
TLS 1.2:
- Integrität über einen MAC (z. B. HMAC-SHA-256)
-
TLS 1.3:
- Integrität und Authentizität direkt über AEAD-Modi (z. B. AES-GCM, ChaCha20-Poly1305)
Moderne Empfehlungen für Cipher Suites
- Setze auf Cipher Suites mit Perfect Forward Secrecy (z. B. ECDHE)
- Priorisiere AEAD-Verfahren wie AES-GCM oder ChaCha20-Poly1305
- Vermeide veraltete Cipher Suites (z. B. RC4, 3DES, keine PFS)
- Aktualisiere regelmäßig die TLS-Konfiguration für aktuelle Sicherheitsstandards
TLS-Erweiterungen
TLS kann mit Erweiterungen flexibel an neue Anforderungen angepasst werden. Hier die wichtigsten im Überblick:
Server Name Indication (SNI)
Mit SNI übermittelt der Client beim Verbindungsaufbau, für welche Domain die Verbindung gedacht ist. Der Server kann so direkt das passende Zertifikat ausliefern. Das ist Voraussetzung für Hosting mehrerer HTTPS-Websites auf einer IP-Adresse.
Beispiel:
Ein Server hostet example.com und another-example.com mit eigenen Zertifikaten. Durch SNI erhält jeder Nutzer beim Verbindungsaufbau das richtige Zertifikat.
TLS-Erweiterungen
Application-Layer Protocol Negotiation (ALPN)
ALPN ermöglicht, dass während des Handshakes das gewünschte Anwendungsprotokoll (z. B. HTTP/2 oder HTTP/1.1) ausgehandelt wird. So kann eine Verbindung effizient und flexibel genutzt werden.
Encrypted Client Hello (ECH)
Mit ECH wird der gesamte ClientHello-Teil des Handshakes verschlüsselt. Dritte können nicht mehr erkennen, zu welcher Domain eine Verbindung aufgebaut wird. Das verbessert die Privatsphäre.
OCSP Stapling
Mit OCSP Stapling sendet der Server einen aktuellen Zertifikatsstatus direkt mit, statt den Client das Zertifikat separat prüfen zu lassen. Das spart Zeit und schützt die Privatsphäre der Nutzer.
Session Tickets
Session Tickets erlauben die sichere Wiederaufnahme früherer TLS-Sitzungen. Die Sitzungsdaten werden verschlüsselt auf dem Client gespeichert, der Server kann Ressourcen sparen und Verbindungen schneller wiederherstellen.
Wesentliche Erkenntnisse
- Cipher Suites bestimmen alle zentralen Sicherheitsmerkmale einer TLS-Verbindung.
- Moderne Konfigurationen setzen auf AEAD, Perfect Forward Secrecy und regelmäßige Updates.
- TLS-Erweiterungen wie SNI, ALPN und ECH bieten mehr Flexibilität, Performance und Privatsphäre.
Zusammenfassung
Zusammenfassung:
Aufbau und Funktionsweise von TLS
TLS (Transport Layer Security) ist das Standardprotokoll für die sichere Übertragung sensibler Daten im Internet. Es besteht aus mehreren Protokollschichten, die gemeinsam eine vertrauliche, integre und authentische Verbindung zwischen Client und Server gewährleisten:
- Record Protocol: Überträgt und verschlüsselt die Anwendungsdaten.
- Handshake Protocol: Regelt den Aufbau der sicheren Verbindung, einschließlich Schlüsselaustausch und Authentifizierung.
- Alert Protocol: Meldet Warnungen und Fehler während der Sitzung.
- Change Cipher Spec Protocol (CCS): Signalisiert, dass ab sofort verschlüsselte Kommunikation stattfindet.
Jede Schicht erfüllt eine eigene Aufgabe, damit Angreifer keine Inhalte auslesen oder manipulieren können und die Identität der Kommunikationspartner überprüft wird.
TLS-Records und Nachrichten
Die Kommunikation erfolgt in Form von TLS-Records. Jeder Record enthält einen Protokolltyp, die verwendete TLS-Version, die Länge sowie die (verschlüsselten) Nutzdaten. Im Rahmen des Handshakes tauschen Client und Server spezielle Nachrichten aus, um Protokollversion, Schlüssel und Algorithmen abzustimmen.
Cipher Suites – Auswahl und Bedeutung
Eine Cipher Suite ist eine festgelegte Kombination von Algorithmen für:
- den Schlüsselaustausch (z. B. ECDHE, RSA),
- die Verschlüsselung (z. B. AES, ChaCha20),
- und die Integritätsprüfung (z. B. HMAC, AEAD).
Beim Verbindungsaufbau schlägt der Client eine Liste unterstützter Cipher Suites vor. Der Server wählt daraus die sicherste gemeinsame Option. Moderne Cipher Suites setzen auf Perfect Forward Secrecy (z. B. ECDHE) und AEAD-Verfahren wie AES-GCM oder ChaCha20-Poly1305.
Wichtige TLS-Erweiterungen
TLS kann mit Erweiterungen flexibel an moderne Anforderungen angepasst werden. Die wichtigsten sind:
- SNI (Server Name Indication): Mehrere Domains auf einer IP – jede bekommt das richtige Zertifikat.
- ALPN (Application-Layer Protocol Negotiation): Client und Server handeln das Anwendungsprotokoll (z. B. HTTP/2) schon beim Handshake aus.
- ECH (Encrypted Client Hello): Verschlüsselt den ClientHello, um angefragte Domains zu verschleiern.
- OCSP Stapling: Server liefert den Zertifikatsstatus mit, statt dass der Client diesen separat abfragt.
- Session Tickets: Beschleunigen die Wiederaufnahme früherer Verbindungen.
Moderne Sicherheitsempfehlungen
- Setze ausschließlich auf Cipher Suites mit Perfect Forward Secrecy und AEAD.
- Vermeide alte, unsichere Algorithmen wie RC4, 3DES oder Suites ohne PFS.
- Nutze Erweiterungen wie SNI, ALPN und ECH für bessere Sicherheit, Privatsphäre und Flexibilität.
- Halte die TLS-Konfiguration immer aktuell, um neue Bedrohungen abzuwehren.