TLS Verbindungsaufbau mit Diffie-Hellman: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
 
;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.  
 +
*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:  
 
;Authentifizierung:  
 
*Der Client überprüft das SSL-Zertifikat des Servers bei der Zertifizierungsstelle, die es ausgestellt hat.
 
*Der Client überprüft das SSL-Zertifikat des Servers bei der Zertifizierungsstelle, die es ausgestellt hat.
Zeile 8: Zeile 9:
 
;Die digitale Signatur des Servers:  
 
;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.
 +
*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:  
 
;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.
 +
*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:  
 
;Client-DH-Parameter:  
 
*Der Client sendet seinen DH-Parameter an den Server.
 
*Der Client sendet seinen DH-Parameter an den Server.
Zeile 16: Zeile 23:
 
;Sitzungsschlüssel werden erstellt:
 
;Sitzungsschlüssel werden erstellt:
 
*Nun berechnen Client und Server den Sitzungsschlüssel 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:
;Server 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.
*Erfolgreiche sichere symmetrische Verschlüsselung
+
;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.

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.