slider

Kapitel 11: „Transport Layer Security (TLS) / Secure Socket Layer (SSL)“ - Prof. Dr. Norbert Pohlmann

Kapitel 11: „Transport Layer Security (TLS) / Secure Socket Layer (SSL)“


Übungsaufgabe 1

Bitte kreuzen Sie die folgenden Aspekte an!

 Cyber-Sicherheitsmechanismen
TLS/SSL
Gewährleistung von Cyber-SicherheitsbedürfnissenVertraulichkeit
Authentifikation
Authentizität
Integrität
Verbindlichkeit
Verfügbarkeit
Anonymisierung / Pseudomisierung
Cyber-SicherheitsstrategienVermeiden von Angriffen
Entgegenwirken von Angriffen
Erkennen von Angriffen
Reaktion auf Angriffe
Diese Tabelle ist auf Ihrem Gerät nicht anzeigbar.

Lösung:

 Cyber-Sicherheitsmechanismen
TLS/SSL
Gewährleistung von Cyber-SicherheitsbedürfnissenVertraulichkeitX
AuthentifikationX
AuthentizitätX
IntegritätX
Verbindlichkeit
Verfügbarkeit
Anonymisierung / Pseudomisierung
Cyber-SicherheitsstrategienVermeiden von Angriffen
Entgegenwirken von AngriffenX
Erkennen von Angriffen
Reaktion auf Angriffe

Übungsaufgabe 2

Erläutern Sie die Aufgaben der TLS/SSL-Protokolle: „Record Layer“, „Application Data“, „ChangeCipherSpec“, „Alert“ und „Handshake“!

Lösung:

Record Layer Protokoll
Das Record Layer Protokoll leitet die Klartext-Anwendungsdaten aus der Anwendungsschicht verschlüsselt an die Transportschicht weiter.
Das Record Layer Protokoll bietet zwei verschiedene Cyber-Sicherheitsdienste, die zusammen oder einzeln genutzt werden können:

  • Client-to-Server Verschlüsselung zwischen den beiden Transport-Endpunkten
  • Sicherung der Nachrichten-Integrität und -Authentizität

Zu den Aufgaben des Record-Protokolls gehören:

  • die Fragmentierung der Klartext-Anwendungsdaten der Anwendungsschicht,
  • Kompression der resultierenden Fragmente,
  • Berechnung von HMACs über die (komprimierten)Fragmente und
  • Verschlüsselung der TLS/SSL-Records (komprimierte Fragment mit HMAC).

Application Data Protokoll
Das Application Data Protokoll ist definiert, um die Anwendungsdaten transparent, d.h. ohne Betrachtung des Inhalts, durchreichen zu können.
Die anderen Protokolle oberhalb des Record Protokolls werden auf ihren Inhalt hin untersucht, dies ist bei den Daten des Application Data Protokoll nicht der Fall.
Die Daten werden entsprechend der Sicherheitsparameter (aus dem Handshake Protokoll) auf der Record Layer fragmentiert, komprimiert, gegen Verfälschung geschützt und verschlüsselt.

ChangeCipherSpec (CCS) Protokoll
Das ChangeCipherSpec (CCS) Protokoll wird bei Änderung des kryptographischen Algorithmus bzw. Parametern genutzt. Es enthält nur eine Meldung bestehend aus einem Byte mit dem Wert 1. CCS bewirkt, dass der Empfänger die während des Handshakes ausgehandelten Parameter für die aktive Sitzung übernimmt.

Alert Protokoll
Das Alert Protokoll dient der Signalisierung von besonderen Zuständen bzw. Problemen, wie Fehler, Verbindungsabbruch.

Handshake Protokoll
Die Handshake-Nachrichten ermöglichen den Aufbau einer TLS/SSL-Verbindung. Das Handshake Protokoll dient zur Identifikation und Authentifizierung der Kommunikationspartner sowie zum Aushandeln kryptographischer Algorithmen, Schlüssel und Parameter, die im TLS/SSL Record Layer Protokoll verwendet werden und zum Austausch benötigter vertrauenswürdigen Informationen.

Record Layer Protokoll Das Record Layer Protokoll leitet die Klartext-Anwendungsdaten aus der Anwendungsschicht verschlüsselt an die Transportschicht weiter. Das Record Layer Protokoll bietet zwei verschiedene Cyber-Sicherheitsdienste, die zusammen oder einzeln genutzt werden können:

  • Client-to-Server Verschlüsselung zwischen den beiden Transport-Endpunkten
  • Sicherung der Nachrichten-Integrität und -Authentizität

Zu den Aufgaben des Record-Protokolls gehören:

  • die Fragmentierung der Klartext-Anwendungsdaten der Anwendungsschicht,
  • Kompression der resultierenden Fragmente,
  • Berechnung von HMACs über die (komprimierten)Fragmente und
  • Verschlüsselung der TLS/SSL-Records (komprimierte Fragment mit HMAC).

Übungsaufgabe 3

Beschreiben Sie kurz die vier Phasen des Verbindungsaufbaues bei TLS/SSL!

Lösung:

1. Phase: Aushandlung der Sicherheitsparameter.
2. Phase: Serverauthentifizierung und Schlüsselaustausch
3. Phase: Clientauthentifizierung und Schlüsselaustausch
4. Phase: Beendigung des Handshakes

Übungsaufgabe 4

Welche Vorteile ergeben sich aus Sicht eines Anwendungsentwicklers durch die Lage von TLS/SSL im ISO/OSI-Referenzmodell?

Lösung:

Für die Anwendungen ist der Einsatz TLS/SSL transparent. Dadurch muss nicht jede Anwendung selber die Cyber-Sicherheitsdienste umsetzen.
Wenn das IT-System TLS/SSL anbietet, dann wird über die richtige Adressierung der passenden Portnummer, TLS/SSL eigenständig aktiv und erbringt die gewünschten Cyber-Sicherheitsdienste.

Übungsaufgabe 5

Welche Voraussetzungen muss ein Webbrowser zum erfolgreichen Aufbau einer TLS/SSL-Verschlüsselung erfüllen, in Bezug auf…
1. das Zertifikat des Servers
2. die Art der Verschlüsselung (CipherSuite)
3. den internen persistenten Schlüsselspeicher

Lösung:

1. Zertifikat des Servers muss mit einem im Browser installierten Root-Zertifikat validierbar sein
2. Der Webbrowser muss mindestens eine Verschlüsselungsart anbieten, die der Server auch unterstützt, um eine erfolgreiche Verbindung aufzubauen
3. Keine Voraussetzungen. Der Browser speichert die Schlüssel nicht persistent, sondern hält diese nur während einer Verbindung vor. Sie werden für jede Verbindung neu berechnet.

Übungsaufgabe 6

Bewerten Sie folgende Aussage: Wenn die Voraussetzungen an einen Webbrowser für den erfolgreichen Aufbau einer TLS/SSL-Verschlüsselung erfüllt sind, dann sind ebenfalls die durch TLS/SSL ermöglichten Cyber-Sicherheitsbedürfnisse gewährleistet.

Lösung:

Stimmt nicht, also Nein!
Wenn der Browser veraltet ist und unsichere CipherSuites anbietet, die der Webserver dann wählt, können die verwendeten kryptographischen Algorithmen überwunden werden und die Cyber-Sicherheitsbedürfnisse können eine ausreichende Wirkung entfalten.

Übungsaufgabe 7

1. Nennen Sie drei Arten von Zertifikaten in Bezug auf die Validierung!
2. Worauf beruht architekturbedingt das gesamte Vertrauen bei TLS/SSL-Verbindungen?
3. Wer initiiert klassischer Weise eine TLS/SSL-Verbindung?

Lösung:

1. Diese Arten von Zertifikaten gibt es:
   1. Domain Validated (DV)
   2. Organisation Validated (OV)
   3. Extended Validation (EV)
2. Das gesamte Vertrauen basiert auf dem Vertrauen in die Root-Zertifikate.
3. Eine TLS/SSL-Verbindung wird klassischerweise vom Client mit einem „ClientHello“ initiiert.

Übungsaufgabe 8

Sie können auswählen, welche der beiden folgenden Typen Sie bei Ihrer Chiper Suite im Browser anbieten sollen:
– Typ 1: TLS_ RSA_WITH_ AES_256_GCM_SHA384
– Typ 2: TLS_DHE_RSA_ WITH_AES_256_GCM_SHA384
Welchen Typ würden Sie wählen und warum?

Lösung:

Typ 2: Weil durch die Nutzung vom Diffie-Hellman-Verfahren (DHE) die kryptographische Charakteristik Perfect Forward Secrecy (PFS) erzielt wird, d.h. bei einem kompromittierten Schlüssel (z.B. Derivation Key) alle weiteren nicht gleichzeitig auch kompromittiert sind, da die Schlüssel nicht voneinander abhängen.

Übungsaufgabe 9

Wie ist SSL/TLS in die Kommunikationsarchitektur eingebunden und wie wird zwischen SSL-gesichert und nicht gesichert unterschieden?

Lösung:

Kommunikationsarchitektur
Die TLS/SSL-Schicht befindet sich zwischen der Transport- und Anwendungsschicht. TLS/SSL kann eine Vielzahl höherer Anwendungsprotokolle unterstützen, wie HTTP, SMTP, SIP, IMAP, FTP, Telnet. Die genauen Eigenschaften des TLS/SSL-Kanals werden bei der Einrichtung der verschlüsselten und integritätsgesicherten Kommunikation zwischen Client und Server ausgehandelt und festgelegt.

Unterscheidung: TLS-gesichert und nicht gesichert
Die Umsetzung der TLS/SSL-Schicht funktioniert so, dass für die Anwendungsprotokolle eine weitere Port-Nummer als Transportadresse definiert wurde, die genutzt wird, wenn die Kommunikation zu diesen Anwendungen TLS/SSL-gesichert umgesetzt werden soll. Eine Kommunikationsanwendung hat dann zusätzlich eine Port-Nummer für die Nutzung der TLS/SSL-Sicherheitsdienste. Zum Beispiel: http nicht gesichert Port 80 und TLS-gesichert Port 443.

Übungsaufgabe 10

Was sind die wichtigsten Neuerungen von TLS 1.3?

Lösung:

Die wichtigsten Neuerungen von TLS 1.3:

Perfect Forward Secrecy
Eine wichtige Neuerung ist, dass ein Teil des Protokolls fest definiert ist. Für den Schlüsselaustausch müssen das Elliptic Curve Diffie-Hellmann Ephemeral-Verfahren und bewährte DH-Parameter genutzt werden, sodass keine Parameter mehr mit dem Server ausgehandelt werden müssen. Dies bedeutet, dass die kryptografische Charakteristik „Perfect Forward Secrecy (PFS)“ immer umgesetzt wird. Bei der Kompromittierung eines Schlüssels sind nicht auch weitere Schlüssel aus der Vergangenheit kompromittiert, da diese nicht voneinander abhängen.

Round-Trip Optimierung (1-RTT-Modus) und Verschlüsselung zu einem früheren Zeitpunkt
Verbindungen können in der TLS Version 1.3 sehr viel schneller aufgebaut werden. Bei TLS 1.2 werden für einen Verbindungsaufbau 2-Round-Trips (Kommunikationsschritte) benötigt. TLS 1.3 braucht nur Round-Trip. Damit kann TLS 1.3 viel schneller mit der verschlüsselten HTTPS-Kommunikation beginnen, direkt nach dem ServerHello.

Resumption für schnellere TLS Verbindung (0-RTT-Modus)
Wenn ein Client in der Vergangenheit schon mal mit einem Server verbunden war, können beide auf die bereits vorher getroffene Vereinbarung zurückgreifen und den Handshake beschleunigen. Dabei kann ein Zero Round Trip realisiert werden, das heißt, der Client sofort verschlüsselte Daten schicken. Nachteile sind: Bei einem Zero Round Trip ist keine Perfect Forward Secrecy möglich und eine Replay-Attacke könnte umgesetzt werden.

Die Cipher Suites wurden deutlich reduziert
Die vielen Cipher Suites aus den vergangenen Versionen wurden sehr strakt reduziert und alle nicht sicheren gestrichen. In TLS 1.3 sind nur fünf neue und aktuelle sichere Cipher Suites definiert:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_CCM_SHA256
  • TLS_AES_128_CCM_8_SHA256

Besserer Schlüsselaustausch für mehr Integrität
Bei der TLS 1.2 wird zunächst ein HMAC über die Klartextdaten gebildet und an die Daten angehängt, bevor beide gemeinsam verschlüsselt werden. In TLS 1.3 unterstützen die Cipher Suites nur noch Authenticated Encryption with Associated Data (AEAD).

Kapitel 11: „Transport Layer Security (TLS) / Secure Socket Layer (SSL)“ Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten