Sicherheit in Netzen Modul 5: TLS Transport Layer Security Teil 2

Ähnliche Dokumente
IT-Sicherheit SSL/TLS. Jens Kubieziel. Fakultät für Mathematik und Informatik. 6. Januar 2012

IT-Sicherheit - Sicherheit vernetzter Systeme -

Sicherheit in Netzen Modul 5: TLS Transport Layer Security

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Sicherheit in Netzen Modul 6: TLS Transport Layer Security

IT-Sicherheit Kapitel 11 SSL/TLS

Sicherheit in Netzen Modul 7: TLS Transport Layer Security

Sicherheit in Netzen Modul 5: TLS Transport Layer Security Teil 1

TLS. Transport Layer Security TLS. Autor: Prof. Dr.-Ing. Anatol Badach

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security. Teil 4: SSL/TLS Dr. Erwin Hoffmann

Seminar Neue Techologien in Internet und WWW

Modul 11: Sicherer Remote-Zugriff über SSH

TLS. Transport Layer Security TLS

Ausarbeitung zum Vortrag. Secure Socket Layer. von Jelle Hellmann im Rahmen der Vorlesung Sicherheit in Datennetzen von Herrn Prof.

SSL-Protokoll und Internet-Sicherheit

Rosa Freund SSL/TLS SSL/TLS Institut für Mathematik, TU Berlin. Rosa Freund --

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

Hacken von implementierungsspezifischen! SSL-Schwachstellen

Beweisbar sichere Verschlüsselung

IT-Sicherheit für 04INM 5. Transport Layer Security Secure Socket Layer Protocol (SSL)

IT-Sicherheit: Übung 6

Systemsicherheit 11 SSL/TLS

IT-Sicherheit - Sicherheit vernetzter Systeme -

IT-Sicherheit - Sicherheit vernetzter Systeme -

SSL/TLS und SSL-Zertifikate

Kryptographie. Nachricht

.gv.at Sicherheitsanalyse

Was ist eine Cipher Suite?

Internet Security: Verfahren & Protokolle

IT-Sicherheit Kapitel 7 Schlüsseletablierung

Modul 10: Sicherer Remote-Zugriff über SSH

Sichere Abwicklung von Geschäftsvorgängen im Internet

3.3 Transportschicht

SSL VPNs 2G06. VPNs eine Übersicht. IT-Symposium Andreas Aurand Network Consultant NWCC, HP.

Ein Überblick über Security-Setups von E-Banking Websites

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

Reale Nutzung kryptographischer Verfahren in TLS/SSL

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS

Transport Layer Security Nachtrag Angriffe

IT Sicherheit: Netzwerksicherheit

Keynote. SSL verstehen. Prof. Dr. Peter Heinzmann

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman

Modul 3: IPSEC Teil 2 IKEv2

Vorlesung Sicherheit

Netzsicherheit Architekturen und Protokolle TLS/SSL und Policy

2017 achelos. Benjamin Eikel

Internet-Praktikum II Lab 3: Virtual Private Networks (VPN)

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

WEBINAR: HTTPS, ZERTIFIKATE, GRÜNE URLS. Trügerische Sicherheit im Internet

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s

Kryptographische Verfahren: Empfehlungen und Schlüssellängen

DROWN (oder warum TLS-Konfiguration schwer ist)

Technische Universität München

Motivation Datenübertragungs Basics Protokolle DIME-Standard Funktionsumfang Zusammenfassung DIME. Dark Internet Mail Environment

Protokollsicherheit Kerberos, TLS

Tutorial: Aspekte der Authentizität und Integrität der Dokumente. Dr. Judith Plümer, Thomas Severiens

Vorlesung Sicherheit

IT-Sicherheit - Sicherheit vernetzter Systeme -

Verteilte Systeme Unsicherheit in Verteilten Systemen

Netzsicherheit 13: SSL/TLS

Secure Socket Layer v. 3.0

Verteilte Systeme. Übung 10. Jens Müller-Iden

SSL/TLS im Detail. Eine Einführung in SSL/TLS, die Integration in (E)SMTP und die Nutzung mit Postfix

Betriebstagung DFN-Verein , 14:30 15:00 Uhr Torsten Remscheid. U. Hautzendorfer / VoIP im DFN Fernsprechen

Systemsicherheit 8: Das Internet und Public-Key-Infratrukturen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

2.4 Hash-Prüfsummen Hash-Funktion message digest Fingerprint kollisionsfrei Einweg-Funktion

Modul 4: IPsec Teil 1

VPN: wired and wireless

Seminar Neue Technologien in Internet und WWW Sicherheit auf der Anwendungsschicht: HTTP mit SSL, TLS und dabei verwendete Verfahren

Netzsicherheit 2 - SSL [Netsec2] Autoren: Prof. Dr. Jörg Schwenk. Ruhr - Universität Bochum

PKI (public key infrastructure)

Netzsicherheit 9: Das Internet und Public-Key-Infrastrukturen


Systeme II. Christian Schindelhauer Sommersemester Vorlesung

6-2. Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle. Vertraulichkeit im WWW. IBR, TU Braunschweig

Mobilkommunikationsnetze. - IEEE Security -

Public Key Infrastruktur. Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09

IT-Sicherheit - Sicherheit vernetzter Systeme -

Kryptografie II. IT-Security. Andreas Unterweger. Studiengang Web Business & Technology FH Kufstein. Sommersemester 2017

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

Denn es geht um ihr Geld:

im DFN Berlin Renate Schroeder, DFN-Verein

Kryptographische Verfahren: Empfehlungen und Schlüssellängen

Sicherheit in Netzen und verteilten Systemen

Digicomp Hacking Day 2013 Einführung Kryptographie. Kryptographie Einführung und Anwendungsmöglichkeiten. Andreas Wisler, CEO GO OUT Production GmbH

YOU RE BEING WATCHED TRICKS UND TOOLS DER HACKER

Inhaltsverzeichnis Vorwort Kryptographie und das Internet Point-To-Point Sicherheit

SIWECOS KMU Webseiten-Check 2018

Denn es geh t um ihr Geld: Kryptographie

Elliptische Kurven und ihre Anwendungen in der Kryptographie

TLS nach TR Checkliste für Diensteanbieter

SSL/TLS: Ein Überblick

Seminar Internet-Technologie

Web Service Security

Security auf kleinen Geräten

Transkript:

Sicherheit in Netzen Modul 5: TLS Transport Layer Security Teil 2 1. TLS-Einordnung (OSI-Referenzmodell, Geschichte) 2. TLS-Datenübertragung 3. TLS Schlüssel und Algorithmen 4. TLS-Handshake 5. TLS-Implementierung (PDUs, TLS-Sockets) 6. Ausgewählte Angriffe gegen TLS

Sicherheit in Netzen Modul 6: TLS Transport Layer Security 1. TLS-Einordnung (Geschichte, OSI-Referenzmodell) 2. TLS-Datenübertragung 3. TLS Schlüssel und Algorithmen 4. TLS-Handshake 5. TLS-Implementierung (PDUs, SSL-Sockets) 6. Ausgewählte Angriffe gegen TLS

TLS-Handshake: Einführung Ziel des Handshakes ist es, das Pre-Master-Secret zu erzeugen, von dem alle weiteren Schlüssel abgeleitet werden Es werden verschiedene Methoden für die Authentifizierung und den Schlüsselaustausch unterstützt Für die Erzeugung des Pre-Master-Secrets gibt es (neben pre-shared keys) zwei grundsätzliche Verfahren: RSA-Verfahren (Woher kommt das Pre-Master-Secret?) Das Pre-Master-Secret ist eine vom Client erzeugte Zufallszahl, die verschlüsselt zum Server geschickt wird. Das ClientKeyExchange ist das verschlüsselte Pre-Master-Secret Ein ServerKeyExchange ist nicht notwendig und entfällt Diffie-Hellman-Verfahren (Woher kommt das Pre-Master-Secret?) Mit dem Diffie-Hellman-Verfahren das Pre-Master-Secret berechnet Im ClientKeyExchange und ServerKeyExchange werden die unterschriebenen Diffie- Hellman-Werte (öffentliche Schlüssel) ausgetauscht Wenn die Diffie-Hellman-Werte für jede TLS-Verbindung gleich sind, spricht man von (statischem) Diffie-Hellman Wenn die Diffie-Hellman-Werte für jede TLS-Verbindung unterschiedlich sind und damit jedes mal neu berechnet werden, spricht man von Ephemeral Diffie-Hellman ( Perfect Forward Secrecy) M. Leischner Sicherheit in Netzen Folie 3 εφημερος (ephēmeros) für einen Tag

Berechnung der Schlüssel Berechnung der Schlüssel Handshake mit RSA encrypted premaster secret -Protokoll Client Server (1) Unterstützte Cipher-Suites, Zufallszahl 2) gewählte Cipher-Suite, Zufallszahl, Zertifikat Erzeugung Premaster secret 3) verschlüsseltes Premaster_Secret Entschlüsselung Premaster secret (4) MAC von Handshake-Nachrichten (5) MAC von Handshake-Nachrichten M. Leischner Sicherheit in Netzen Folie 4

Berechnung Schlüsselmaterial Berechnung Schlüsselmaterial Handshake mit Diffie-Hellman-Key-Exchange gewählte CypherSuite mit DH Client (1) Unterstützte Cipher-Suites, Zufallszahl Server (2) gewählte Cipher-Suite, Zufallszahl, Zertifikat, KeyExchange (3) KeyExchange Diffie-Hellman Diffie-Hellman (4) MAC über alle Handshake-Nachrichten (5) MAC über alle Handshake-Nachrichten M. Leischner Sicherheit in Netzen Folie 5

Ablauf des TLS1.2-Handshake-Protokolls (im Detail) Client Server ClientHello (ClientVers, Random, SessionID, CipherSuites, ComprMeths, Extensions*) ServerHello (ServerVers., Random, SessionID, CipherSuite, ComprMeths, Extensions*) ServerCertificate* ServerKeyExchange* CertificateRequest* ServerHelloDone ClientCertificate* ClientKeyExchange CertificateVerify* [ChangeCipherSpec] Finished * = optional = verschlüsselt [ ] = Sonderprotokollelement ServerCertificate*: wird für die üblicherweise eingesetzte Serverauthentifizierung gesendet ServerKeyExchange*: Wird nur gesendet, wenn das ServerCertificate nicht genug Info enthält, um Premastersecret zu erzeugen. Dies ist der Fall bei ephemeralem oder anonymem (zertifikatslosem) Diffie-Hellman CertificateRequest*: wird gesendet, falls Server eine Clientzertifizierung fordert CertificateVerify*: Signierter Hash über die bisherigen Nachrichten. Nachweis, dass der Client auch den dazugehörigen privaten Schlüssel besitzt. ChangeCipherSpec: Ein Byte, das anzeigt, dass alle weiteren Nachrichten verschlüsselt übertragen werden ( = verschlüsselt) [ChangeCipherSpec] Finished Application Data Finished : Signierter MAC über alle vorangegangenen Handshakenachrichten. Erste verschlüsselte Nachricht, um Verschlüsselung zu verifizieren. Muss direkt nach ChangeCipherSpec gesendet werden. Datenaustausch erst dann, wenn Finished des Kommunikationspartners überprüft. M. Leischner Sicherheit in Netzen Folie 6

Server Key Exchange Message (RFC 5246, Kap. 7.4.3) Server Key Exchange Message wird nur gesendet, wenn öffentlicher Schlüssel im Zertifikat nicht ausreicht. Das ist der Fall für: DHE_DSS: Ephemeral DH. Die DH-Werte werden mit einem DSS-Schlüssel signiert. Überprüfung des signierten DH-Wertes mittel Zertifikat. (DSS = Digital Signature Standard) DHE_RSA: DH_anon: Ephemeral DH. Die DH-Werte werden mit einem RSA-Schlüssel signiert. Überprüfung des signierten DH-Wertes mittel Zertifikat. Diffie-Hellman-Wert, ohne Einsatz von Zertifikaten. Gefahr von Man-in-the-Middle-Angriffen Server Key Exchange Message darf nicht gesendet werden, wenn DH-Wert aus dem öffentlicher Schlüssel im Zertifikat gewonnen werden kann. Das ist der Fall für: RSA: Client erzeugt Pre-Master-Secret. Öffentlicher Schlüssel aus Zertifikat wird zur Verschlüsselung des Pre-Master_Secrets verwendet. DH_DSS: Statischer DH. Zur Signatur wird DSS verwendet. DH_RSA: Statischer DH. Zur Signatur wird RSA verwendet. M. Leischner Sicherheit in Netzen Folie 7

Authentifizierung bei RSA-basiertem Verfahren Serverauthentifizierung Der Client prüft das Serverzertifikat. Das reicht, denn der Client weiß, dass nur der Server das verschlüsselte Pre- Master-Secret entschlüsseln kann. Clientauthentifizierung Im Fall von CertificateRequest durch Server, muss der Client sein Zertifikat zusammen einem signierten Hashwert über das Master-Secret und alle Handshake Nachrichten senden. Clientauthentifizierung findet im Standardfall nicht statt (Warum?) Finished-Nachricht von Client und Server In der RSA-Finished-Nachricht sind gehashed und verschlüsselt enthalten: Master-Secret Alle Handshake Nachrichten M. Leischner Sicherheit in Netzen Folie 8

Authentifizierung bei DH-basiertem Verfahren Serverauthentifizierung Fall 1: statisches Diffie-Hellman-Verfahren: Der Server sendet dem Client sein Zertifikat, das den DH-Wert als öffentlichen Schlüssel enthält Der Client überprüft das Server-Zertifkat Fall 2: ephimerales Diffie-Hellman-Verfahren Der Server sendet dem Client einen ephemeralen DH-Wert der mit dem vereinbarten Signaturalgorithmus signiert ist. Um Replay-Attacken zu verhindern, wird der DH-Wert mit den Zufallswerte aus der Hello-Nachricht gesalzen. Der Client überprüft die Signatur der DH-Werts Clientauthentifizierung Fall 1: statisches Diffie-Hellman-Verfahren: analog Serverauthentifizierung Fall 2: ephimerales Diffie-Hellman-Verfahren: analog Serverauthentifizierung Beim statischen Diffie-Hellman-Verfahren wird stets das gleiche Pre-Master- Secret erzeugt. Das Master-Secret wird jedoch stets verschieden sein, denn die Zufallswerte aus den Hello-Nachrichten gehen in das Master-Secret ein. M. Leischner Sicherheit in Netzen Folie 9

Wiederaufnahme einer TLS-Session (TLS Session Resumption) Client Server ClientHello (ClientVers, Random, SessionID, CipherSuites, ComprMeths, Extensions*) ServerHello (ServerVers., Random, SessionID, CipherSuite, ComprMeths, Extensions*) [ChangeCipherSpec] Finished Clientseitige Wiederaufnahme der Verbindung durch Bezugnahme auf bestehende Sitzungs-ID Server-Annahme durch ServerHello mit Sitzungs-ID CipherSuites und Kompressionsalgorithmen müssen mit den bereits ausgehandelten Algorithmen kompatibel sein. Verwendet bereits bestehendes Master_Secret [ChangeCipherSpec] Finished Application Data M. Leischner Sicherheit in Netzen Folie 10

Das neue Protokoll TLS 1.3 (draft-ietf-tls-tls13-10 / Oct 19, 2015) Motivation/Ziele: Unnötige Optionen werden entfernt. (Kompression, veraltete Verschlüsslungsverfahren, ) RSA Zertifikate sind noch erlaubt, aber nicht mehr das RSA- Schlüsselaustauschverfahren. DES Verschlüsselungsverfahren wird nicht mehr erlaubt. Durch Optimierung der erlaubten Ciphersuites wird höhere Sicherheit erreicht. Perfect Forward Secrecy wird forciert. Beobachtung: Viele Sicherheitslücken entstehen durch fehlerhaft Implementierungen. Daher Vereinfachung von TLS, führt zur einfacheren Implementierbarkeit von TLS. Unterstützung im Einsatz durch "Common Guidelines" und "Best Practices for using TLS". '1 round trip time' Handshake für optimale Schnelligkeit (reduzierte Paketanzahl) Migration wird durch backwards compatibility mode sichergestellt. M. Leischner Sicherheit in Netzen Folie 11

Implementierungen: Von TLS benutzte TCP-Ports Identifier Ports Zweck https 443/tcp TLS-HTTP-Protokoll (RFC2818, 05/00) smtps 465/tcp SMTP über TLS (inoffiziell) nntps 563/tcp TLS-Network News Transfer Protocol smtps 587/tcp SMTP mit Service Extension for TLS (RFC6409, 11/11) ldaps 636/tcp TLS-Lightweight Directory Access Protocol ftps 989/tcp 990/tcp 992/tcp FTP über TLS (RFC4217, 10/05) Telnet über TLS imaps 993/tcp TLS-IMAP4 pop3s 995/tcp TLS-POP3 M. Leischner Sicherheit in Netzen Folie 12

Sicherheit in Netzen Modul 6: TLS Transport Layer Security 1. TLS-Einordnung (Geschichte, OSI-Referenzmodell) 2. TLS-Datenübertragung 3. TLS Schlüssel und Algorithmen 4. TLS-Handshake 5. TLS-Implementierung (PDUs, SSL-Sockets) 6. Ausgewählte Angriffe gegen TLS

Downgrade-Angriffe auf TLS Vorgehensweise Angreifer schaltet sich als Man-in-the-Middle in die Kommunikation ein. Angreifer löscht starke Cipher-Suites Folge davon: Client und Server einigen sich auf ein schwaches Verfahren Lösung Signierter Hashwert über alle ausgetauschten Nachrichten in der Finished- Nachricht Hierdurch kann können Sender und Empfänger überprüfen, ob TLS- Schlüsselaustausch unverändert beim gegenüber angekommen ist. M. Leischner Sicherheit in Netzen Folie 14

Poodle-Schwachstelle Veröffentlich: 14. Oktober 2014 Voraussetzung alte Protokollversion SSL 3.0 auf Server und Client werden noch unterstützt Test des Browsers durch https://www.poodletest.com/ Firefox: 11/2014 (vul.), 11/2015 (o.k.) IE: 11/2014 (vul.), 11/2015 (o.k.) Chrome: 11/2014 (o.k.), 11/2015 (o.k.) Voraussetzung für den Angriffs ist: JavaScript-Code in den Browser des Opfers einschleusen und den verschlüsselten Netzwerkverkehr überwachen und manipulieren können (Man-in-the-Middle) Dann Downgrade auf SSL 3.0 forcieren RC4 Verschlüsselung + CBC haben erwiesene Schwachstellen Genaue Beschreibung des Angriffs: https://www.openssl.org/~bodo/ssl-poodle.pdf https://www.imperialviolet.org/2014/10/14/poodle.html M. Leischner Sicherheit in Netzen Folie 15