TLS Verbindungsaufbau mit Diffie-Hellman

Aus Xinux Wiki
Version vom 9. September 2023, 09:53 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „# TLS-Handshake-Ablauf 1. **Client Hello:** - Der Client sendet eine „Client Hello“-Nachricht mit der Protokollversion, dem Client Random und einer Lis…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
  1. TLS-Handshake-Ablauf

1. **Client Hello:**

  - Der Client sendet eine „Client Hello“-Nachricht mit der Protokollversion, dem Client Random und einer Liste von Cipher Suites.

2. **Server Hello:**

  - Der Server antwortet mit seinem SSL-Zertifikat, seiner ausgewählten Cipher Suite und dem Server Random.
  - Der Server fügt dieser Nachricht auch Folgendes hinzu:

3. **Die digitale Signatur des Servers:**

  - Der Server berechnet eine digitale Signatur aller Nachrichten bis zu diesem Punkt.
  - Der Server sendet die digitale Signatur zusammen mit seinem Serverzertifikat und anderen relevanten Informationen an den Client.

4. **Digitale Signatur bestätigt:**

  - Der Client empfängt die digitale Signatur des Servers zusammen mit dem Serverzertifikat und anderen Informationen.
  - Der Client verifiziert die digitale Signatur des Servers und bestätigt damit, dass der Server derjenige ist, der er vorgibt zu sein.

5. **Client-DH-Parameter:**

  - Der Client sendet seinen DH-Parameter an den Server.
  - Client und Server berechnen nun das Premaster Secret separat mithilfe der ausgetauschten DH-Parameter.

6. **Sitzungsschlüssel werden erstellt:**

  - Client und Server berechnen nun den Sitzungsschlüssel, genau wie bei einem RSA-Handshake, aus dem Premaster Secret, dem Client Random und dem Server Random.

7. **Client ist bereit:**

  - Der Client signalisiert, dass er bereit ist, die verschlüsselte Kommunikation zu beginnen.

8. **Server ist bereit:**

  - Der Server signalisiert, dass er ebenfalls bereit ist, die verschlüsselte Kommunikation zu beginnen.

9. **Erfolgreiche sichere symmetrische Verschlüsselung:**

  - Nach diesem Schritt sind Client und Server bereit, sicher und symmetrisch verschlüsselte Daten auszutauschen.