![](_themes/radius/radbul1.gif) | TLS-Handshake-Protokoll
![](_themes/radius/radbul2.gif) | besteht aus drei Unterprotokollen,
mit denen die Kommunikationspartner
![](_themes/radius/radbul3.gif) | Sicherheitsparameter für das TLS-Record-Protokoll austauschen können, |
![](_themes/radius/radbul3.gif) | sich selbst authentisieren können, |
![](_themes/radius/radbul3.gif) | ausgehandelte Sicherheitsparameter instanzieren können, |
![](_themes/radius/radbul3.gif) | Fehlermeldungen austauschen können. |
|
![](_themes/radius/radbul2.gif) | Das Handshake-Protokoll handelt eines TLS-Sitzung aus, die durch folgende
Parameter spezifiziert ist:
![](_themes/radius/radbul3.gif) | Sitzung-Identifizierung, |
![](_themes/radius/radbul3.gif) | Zertifizierung der Gegenstelle, |
![](_themes/radius/radbul3.gif) | Kompressions-Methode, |
![](_themes/radius/radbul3.gif) | Cipher-Spec legt die verwendeten Chiffren fest, |
![](_themes/radius/radbul3.gif) | Master-Secret zur Schlüsselberechnung, |
![](_themes/radius/radbul3.gif) | Fortsetzungsflag, um neue TLS-Sitzungen zu kreieren. |
|
|
![](_themes/radius/radbul1.gif) | Change-Cipher-Spec-Protokoll
![](_themes/radius/radbul2.gif) | Änderung in der
Verschlüsselungsstrategie,
![](_themes/radius/radbul3.gif) | z.B. um Verschlüsselungsverfahren zu ändern |
![](_themes/radius/radbul3.gif) | andere Schlüssel verwenden |
![](_themes/radius/radbul3.gif) | beim Handshake-Verfahren
zur Aufnahme der Datenübertragung |
|
![](_themes/radius/radbul2.gif) | Change-Cipher-Spec-Nachricht
![](_themes/radius/radbul3.gif) |
bewirkt beim Empfänger Kopieren der aktuellen Pending-State-Parameter in
Current-State |
|
|
![](_themes/radius/radbul1.gif) | Alert-Protokoll
![](_themes/radius/radbul2.gif) | sendet im Fehlerfall Warnung an Gegenstelle |
![](_themes/radius/radbul2.gif) | Art und Schwere des Fehlers dargestellt |
![](_themes/radius/radbul2.gif) |
"Fatale" Fehler führen zu Abbruch der Verbindung |
![](_themes/radius/radbul2.gif) | andere
Sitzungen dürfen fortgesetzt werden |
![](_themes/radius/radbul2.gif) | Sitzungsidentifikator (session
identifier) muss ungültig
gemacht werden |
![](_themes/radius/radbul2.gif) | Alert-Nachrichten werden verschlüsselt und
komprimiert übertragen |
|
![](_themes/radius/radbul1.gif) | Closure-Alert
![](_themes/radius/radbul2.gif) | garantiert ordnungsgemäßen Abbruch einer Verbindung |
![](_themes/radius/radbul2.gif) | kein Angriff durch nicht beendete Sitzungen (truncation attack). |
![](_themes/radius/radbul2.gif) | Closure-Alert kann jeder
Teilnehmer jederzeit auslösen, ehe er Sitzung beendet |
![](_themes/radius/radbul2.gif) | auslösender
Teilnehmer braucht nicht auf entsprechende Antwort der Gegenstelle zu warten |
![](_themes/radius/radbul2.gif) | Ein Fehler-Alert kann folgende Nachrichten beinhalten:
![](_themes/radius/radbul3.gif) | unexpected_message |
![](_themes/radius/radbul3.gif) | bad_record_mac |
![](_themes/radius/radbul3.gif) | decryption_failed |
![](_themes/radius/radbul3.gif) | record_overflow |
![](_themes/radius/radbul3.gif) | decompression_failure |
![](_themes/radius/radbul3.gif) | handshake_failure |
![](_themes/radius/radbul3.gif) | bad_certificate |
![](_themes/radius/radbul3.gif) | unsupported_certificate |
![](_themes/radius/radbul3.gif) | certificate_revoked |
![](_themes/radius/radbul3.gif) | certificate_expired |
![](_themes/radius/radbul3.gif) | certificate_unknown |
![](_themes/radius/radbul3.gif) | illegal_parameter |
![](_themes/radius/radbul3.gif) | unknown_ca |
![](_themes/radius/radbul3.gif) | access_denied |
![](_themes/radius/radbul3.gif) | decode_error |
![](_themes/radius/radbul3.gif) | decrypt_error |
![](_themes/radius/radbul3.gif) | export_restriction |
![](_themes/radius/radbul3.gif) | protocol_version |
![](_themes/radius/radbul3.gif) | insufficient_security |
![](_themes/radius/radbul3.gif) | internal_error |
![](_themes/radius/radbul3.gif) | user_canceled |
![](_themes/radius/radbul3.gif) | no_renegotiation |
|
![](_themes/radius/radbul2.gif) | Einige dieser Nachrichten legen die schwere des Fehlers fest
![](_themes/radius/radbul3.gif) | z.B.
bad_record_mac ist stets fatal |
|
![](_themes/radius/radbul2.gif) | andere lassen dem Sender die Möglichkeit,
diese selbst zu bestimmen |
|
![](_themes/radius/radbul1.gif) | TLS-Handshake-Protokoll dient dem Aushandeln der o.g.
Sicherheits-Parameter einer Verbindung.
![](_themes/radius/radbul2.gif) | arbeitet oberhalb des
TLS-Record-Layers |
![](_themes/radius/radbul2.gif) | besteht aus folgenden Schritten:
![](_themes/radius/radbul3.gif) | In Hello-Nachrichten wird sich
![](_themes/radius/radbul3.gif) | über Algorithmen geeinigt und |
![](_themes/radius/radbul3.gif) |
Zufallszahlen ausgetauscht. |
|
![](_themes/radius/radbul3.gif) | Danach wird ein Premaster-Secret vereinbart. |
![](_themes/radius/radbul3.gif) | Client und Server können sich gegeneinander authentifizieren. |
![](_themes/radius/radbul3.gif) | Danach wird aus dem Master-Secret ein Premaster-Secret abgeleitet. |
![](_themes/radius/radbul3.gif) | Dem Record-Layer werden Sicherheitsparameter übergeben. |
![](_themes/radius/radbul3.gif) | Client und Server können sich vergewissern, dass
![](_themes/radius/radbul3.gif) | Gegenstelle die
gleichen Sicherheitsparameter verwendet |
![](_themes/radius/radbul3.gif) | kein Angreifer in
Handshake eingemischt hat |
|
|
|
![](_themes/radius/radbul1.gif) | Angreifer kann u.U. erreichen, dass
![](_themes/radius/radbul2.gif) | zwei Kommunikationspartner
geringste Sicherheitsstufe aushandeln,
![](_themes/radius/radbul3.gif) | beispielsweise Port
blockiert oder |
![](_themes/radius/radbul3.gif) | unauthentifizierte Verbindungen aufbaut |
|
![](_themes/radius/radbul2.gif) | die
Anwendungsschichten sollten über ausgehandelte Sicherheitsstufe informiert
werden |
![](_themes/radius/radbul2.gif) |
Der Standard empfiehlt ausdrücklich,
![](_themes/radius/radbul3.gif) | Daten nicht über 40 Bit Schlüssel-
Algorithmen zu versenden |
![](_themes/radius/radbul3.gif) | wenn für Benutzer entsprechenden Wert darstellen |
|
|
![](_themes/radius/radbul1.gif) | Das TLS-Protokoll soll diese Sicherheitsanforderungen unterstützen. |
![](_themes/radius/radbul1.gif) | Um
Verbindung aufzunehmen,
![](_themes/radius/radbul2.gif) | sendet Client ein "client hello"-Nachricht
an Server, |
![](_themes/radius/radbul2.gif) | Server antwortet mit "server hello"-Nachricht
(andernfalls fataler Fehler) |
![](_themes/radius/radbul2.gif) | In diesen Nachrichten werden Security-Parameter ausgetauscht. |
|