About this episode
Wir steigern den Schwierigkeitsgrad. In dieser Episode wird der Stoff der vorherigen Folgen abgefragt. Dafür können wir dann aber auch die Folge in einer Stunde abfeiern – oder zumindest den ersten Teil.Shownotes
Rückbezug zu STP048: Transportverschlüsselung vs. Ende-zu-Ende-Verschlüsselung
Ende-zu-Ende-Verschlüsselung: zwischen den Endpunkten einer Kommunikation (z.B. im Messenger zwischen Alice und Bob)
Transport-Verschlüsselung: entlang eines einzelnen Schrittes des Kommunikationsweges (z.B. im Messenger einmal zwischen Alice und dem Server, und dann einmal zwischen dem Server und Bob)
heute reden wir über Transport-Verschlüsselung
Transport Layer Security (Sicherheit auf der Transportschicht): "ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet"
nicht selbst ein vollständiges Protokoll, sondern ein Fundament, dass andere Protokolle als Nutzlast trägt (vgl. STP005: Netzwerkschichten-Modell)
Geschichte von TLS: 1994 erste stabile Version als Teil des Netscape-Browsers (unter dem Namen SSL); in den 90ern in schneller Abfolge neue Versionen, seitdem nach Bedarf in unregelmäßigen Abständen; aktuell TLS 1.3 (und 1.2 ist auch hinreichend okay)
wir beschreiben jetzt die Struktur des TLS-Protokolls; hierfür sind als notwendiges Vorwissen STP043 (Kryptografische Primitiven) und STP048 (Vertrauen) erforderlich
TLS Record: zweite und einfachere Phase der Verbindung
einfach eine symmetrische Verschlüsselung, um die Nutzdaten einzupacken
offensichtliches Problem: Wo kommt der symmetrische Schlüssel her?
das klingt nach einem Job für asymmetrische Verschlüsselung
TLS Handshake: initiale Aushandlungsphase zu Beginn der Verbindung
erste Aufgabe: Aushandlung eines symmetrischen Schlüssels -> Diffie-Hellman-Schlüsselaustausch (siehe STP Live)
zweite Aufgabe: Überprüfung der Identität der Gegenstelle -> digitale Zertifikate (siehe STP048)
beide Aufgaben müssen miteinander verbunden werden -> drei (teils überlappende) Phasen
Phase 1: Berechnung eines initialen symmetrischen Schlüssels mit Diffie-Hellman, damit Verschlüsselung von Phase 2 und 3
Phase 2: Validierung des Server-Zertifikates durch den Client und ggf. des Client-Zertifikates durch den Server
Phase 3: Client würfelt den finalen symmetrischen Schlüssel und überträgt diesen verschlüsselt mit dem öffentlichen Schlüssel des Server-Zertifikates
Warum zwei Schlüssel?
die Art und Weise der Übertragung des finalen Schlüssels stellt sicher, dass der Server den privaten Schlüssel kontrolliert
der Hands