TLS Verbindungsaufbau mit Diffie-Hellman: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(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…“) |
|||
| (9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | + | ;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. | |
| − | |||
| − | |||
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.