TLS Schlüsselaustausch und Sitzungsschlüssel 1.2

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
  • Der Client sendet im ClientHello seinen ersten Zufallswert (Client Random) sowie die Liste der unterstützten Cipher Suites und Key-Exchange-Verfahren (z.B. ECDHE).
  • Der Server wählt im ServerHello die Cipher Suite und das Key-Exchange-Verfahren aus und sendet seinen zweiten Zufallswert (Server Random) zurück.
  • Der Server sendet im ServerKeyExchange seine temporäre ECDHE-Schlüsselkomponente und signiert diese mit seinem langfristigen privaten Schlüssel, damit der Client die Authentizität prüfen kann.
  • Der Client sendet im ClientKeyExchange seine eigene temporäre ECDHE-Schlüsselkomponente an den Server.
  • Client und Server berechnen nun mithilfe beider ECDHE-Komponenten ein gemeinsames Geheimnis, das Pre-Master Secret.
  • Aus dem Pre-Master Secret sowie dem Client Random und dem Server Random wird das Master Secret abgeleitet.
  • Aus dem Master Secret werden alle symmetrischen Sitzungsschlüssel für die Ver- und Entschlüsselung erzeugt (z.B. Client-Write-Key, Server-Write-Key).
  • Nach dem Austausch der Finished-Nachrichten läuft die gesamte Verbindung symmetrisch verschlüsselt ab.