TLS Verbindungsaufbau mit Diffie-Hellman: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
;Client Hello:
+
;Client Hello:  
*Der Client sendet eine „Client Hello“-Nachricht mit der Protokollversion, dem Client Random und einer Liste von Cipher Suites.
+
*Der Client sendet eine „Client Hello“-Nachricht mit der Protokollversion, dem Client Random und einer Liste von Cipher Suites.w
;Server Hello:
+
;Server Hello:  
*Der Server antwortet mit seinem SSL-Zertifikat, seiner ausgewählten Cipher Suite und dem Server Random.
+
*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:
+
*Server wählt eine Cipher Suite aus der Liste aus, die sowohl vom Client als auch vom Server unterstützt wird und die den höchsten gemeinsamen Sicherheitsstandard bietet.
;Die digitale Signatur des Servers:
+
;Authentifizierung:  
 +
*Der Client überprüft das SSL-Zertifikat des Servers bei der Zertifizierungsstelle, die es ausgestellt hat.
 +
*Dieser Vorgang bestätigt, dass der Server der ist, der er vorgibt zu sein, und dass der Client mit dem tatsächlichen Eigentümer der Domain interagiert.
 +
;Die digitale Signatur des Servers:  
 
*Der Server berechnet eine digitale Signatur aller Nachrichten bis zu diesem Punkt.
 
*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.
+
*Das bedeutet einen Hash auf alle Nachrichten und diese werden verschlüsselt mit dem privaten Schlüssel des Servers
;Digitale Signatur bestätigt:
+
*Dies wird an den Client geschickt.  
*Der Client empfängt die digitale Signatur des Servers zusammen mit dem Serverzertifikat und anderen Informationen.
+
;Digitale Signatur bestätigt:  
*Der Client verifiziert die digitale Signatur des Servers und bestätigt damit, dass der Server derjenige ist, der er vorgibt zu sein.
+
*Der Client berechnet eine digitale Signatur aller Nachrichten bis zu diesem Punkt.
;Client-DH-Parameter:
+
*Das bedeutet Hash auf alle Nachrichten.  
 +
*Der Client entschlüsselt die digitale Signature des Servers.
 +
*Dann vergleicht er den eigenen gebildeten Hash mit diesem Wert.
 +
*Stimmen sie überein, ist der Server derjenige der er vorgibt zu sein.
 +
;Client-DH-Parameter:  
 
*Der Client sendet seinen DH-Parameter an den Server.
 
*Der Client sendet seinen DH-Parameter an den Server.
*Client und Server berechnen nun das Premaster Secret separat mithilfe der ausgetauschten DH-Parameter.
+
;Client und Server berechnen Premaster Secret:
 +
*Client und Server die von ihnen ausgetauschten DH-Parameter, um ein passendes Premaster Secret separat zu berechnen.
 
;Sitzungsschlüssel werden erstellt:
 
;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.
+
*Nun berechnen Client und Server den Sitzungsschlüssel aus dem Premaster Secret, dem Client Random und dem Server Random.
 
;Client ist bereit:
 
;Client ist bereit:
*Der Client signalisiert, dass er bereit ist, die verschlüsselte Kommunikation zu beginnen.
+
*Der Client sendet eine „Fertig“-Nachricht, die mit einem Sitzungsschlüssel verschlüsselt ist, der mithilfe der DH-Parameter und des Premaster Secrets erstellt wurde.
 
;Server ist bereit:
 
;Server ist bereit:
*Der Server signalisiert, dass er ebenfalls bereit ist, die verschlüsselte Kommunikation zu beginnen.
+
*Der Server sendet eine „Fertig“-Nachricht, die ebenfalls mit dem gleichen Sitzungsschlüssel verschlüsselt ist, der zuvor durch die DH-Parameter und das Premaster Secret erzeugt wurde.
;Erfolgreiche sichere symmetrische Verschlüsselung:
+
;Sichere symmetrische Verschlüsselung erfolgreich:
*Nach diesem Schritt sind Client und Server bereit, sicher und symmetrisch verschlüsselte Daten auszutauschen.
+
*Der Handshake ist abgeschlossen, und die Kommunikation wird mit den generierten Sitzungsschlüsseln fortgesetzt, wobei Diffie-Hellman die Grundlage für die Sicherheit der Schlüsselvereinbarung bildet.

Aktuelle Version vom 9. Oktober 2023, 13:45 Uhr

Client Hello
  • Der Client sendet eine „Client Hello“-Nachricht mit der Protokollversion, dem Client Random und einer Liste von Cipher Suites.w
Server Hello
  • Der Server antwortet mit seinem SSL-Zertifikat, seiner ausgewählten Cipher Suite und dem Server Random.
  • Server wählt eine Cipher Suite aus der Liste aus, die sowohl vom Client als auch vom Server unterstützt wird und die den höchsten gemeinsamen Sicherheitsstandard bietet.
Authentifizierung
  • Der Client überprüft das SSL-Zertifikat des Servers bei der Zertifizierungsstelle, die es ausgestellt hat.
  • Dieser Vorgang bestätigt, dass der Server der ist, der er vorgibt zu sein, und dass der Client mit dem tatsächlichen Eigentümer der Domain interagiert.
Die digitale Signatur des Servers
  • Der Server berechnet eine digitale Signatur aller Nachrichten bis zu diesem Punkt.
  • Das bedeutet einen Hash auf alle Nachrichten und diese werden verschlüsselt mit dem privaten Schlüssel des Servers
  • Dies wird an den Client geschickt.
Digitale Signatur bestätigt
  • Der Client berechnet eine digitale Signatur aller Nachrichten bis zu diesem Punkt.
  • Das bedeutet Hash auf alle Nachrichten.
  • Der Client entschlüsselt die digitale Signature des Servers.
  • Dann vergleicht er den eigenen gebildeten Hash mit diesem Wert.
  • Stimmen sie überein, ist der Server derjenige der er vorgibt zu sein.
Client-DH-Parameter
  • Der Client sendet seinen DH-Parameter an den Server.
Client und Server berechnen Premaster Secret
  • Client und Server die von ihnen ausgetauschten DH-Parameter, um ein passendes Premaster Secret separat zu berechnen.
Sitzungsschlüssel werden erstellt
  • Nun berechnen Client und Server den Sitzungsschlüssel aus dem Premaster Secret, dem Client Random und dem Server Random.
Client ist bereit
  • Der Client sendet eine „Fertig“-Nachricht, die mit einem Sitzungsschlüssel verschlüsselt ist, der mithilfe der DH-Parameter und des Premaster Secrets erstellt wurde.
Server ist bereit
  • Der Server sendet eine „Fertig“-Nachricht, die ebenfalls mit dem gleichen Sitzungsschlüssel verschlüsselt ist, der zuvor durch die DH-Parameter und das Premaster Secret erzeugt wurde.
Sichere symmetrische Verschlüsselung erfolgreich
  • Der Handshake ist abgeschlossen, und die Kommunikation wird mit den generierten Sitzungsschlüsseln fortgesetzt, wobei Diffie-Hellman die Grundlage für die Sicherheit der Schlüsselvereinbarung bildet.