Vorlesung Sicherheit

Ähnliche Dokumente
Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

9 Schlüsseleinigung, Schlüsselaustausch

Vorlesung Sicherheit

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

SSL/TLS. Präsentation zur Seminararbeit. im Seminar Internetsicherheit. Michael Hübschmann 26. Juni 2014 Betreuung: Dipl. Inf.

IT-Sicherheit Kapitel 11 SSL/TLS

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

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

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

SSL-Protokoll und Internet-Sicherheit

Vorlesung Sicherheit

Secure Socket Layer V.3.0

Public-Key-Kryptographie

Verteilte Systeme. Sicherheit. Prof. Dr. Oliver Haase

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

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

Netzsicherheit 9: Das Internet und Public-Key-Infrastrukturen

Transport Layer Security Nachtrag Angriffe

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

ElGamal Verschlüsselungsverfahren (1984)

PKI (public key infrastructure)

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

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

IT-Sicherheit: Übung 6

Sicherheit von ElGamal

Kryptografie und Public-Key-lnfrastrukturen im Internet

Verteilte Systeme Unsicherheit in Verteilten Systemen

IT-Sicherheit - Sicherheit vernetzter Systeme -

CPA-Sicherheit ist ungenügend

Secure Socket Layer v. 3.0

Systemsicherheit 8: Das Internet und Public-Key-Infratrukturen

Kryptographie II. Introduction to Modern Cryptography. Jonathan Katz & Yehuda Lindell

Kurze Einführung in kryptographische Grundlagen.

Netzwerktechnologien 3 VO

Beweisbar sichere Verschlüsselung

Sicherheit von hybrider Verschlüsselung

Datensicherheit. Vorlesung 5: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Seminar Neue Techologien in Internet und WWW

Security auf kleinen Geräten

Reale Nutzung kryptographischer Verfahren in TLS/SSL

Literatur. [3-5] Klaus Schmeh: Kryptografie. dpunkt, 3. Auflage, [3-6] Bruce Schneier: Secrets & Lies. dpunkt, 2001

The Second Generation Onion Router. Stefan Hasenauer, Christof Kauba, Stefan Mayer

Near Field Communication (NFC) in Cell Phones

Heartbleed beats hard

IT-Sicherheit Kapitel 3 Public Key Kryptographie

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES

VPN unterstützt 3 verschiedene Szenarien: Host to Host: Dies kennzeichnet eine sichere 1:1 Verbindung zweier Computer, z.b. über das Internet.

Kryptographie und Komplexität

Technikseminar SS2012

Netzwerksicherheit Übung 5 Transport Layer Security

Kryptologie. K l a u s u r WS 2006/2007, Prof. Dr. Harald Baier

Sichere Nutzung

Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten

Webtechnologien Teil 3: Sicheres HTTP

Hacken von implementierungsspezifischen! SSL-Schwachstellen

Digitale Signaturen in Theorie und Praxis

Erste Vorlesung Kryptographie

Web Service Security

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Denn es geht um ihr Geld:

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

Seminar Internet-Technologie

SSL/TLS und SSL-Zertifikate

Stammtisch Zertifikate

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Public-Key-Verschlüsselung und Diskrete Logarithmen

Voll homomorpe Verschlüsselung

Selbstdatenschutz - Tools und Technik

6.3 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen. die Nachricht erreicht den Empfänger so, wie sie abgeschickt wurde

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Die Idee des Jahres 2013: Kommunikation verschlüsseln

2.7 Digitale Signatur (3) 2.7 Digitale Signatur (4) Bedeutung der digitalen Signatur. Bedeutung der digitalen Signatur (fortges.)

Prinzipien der modernen Kryptographie Sicherheit

Quantenkryptographie

PGP. Warum es gut ist. Sascha Hesseler [Datum]

SSL/TLS: Ein Überblick

Betriebssysteme und Sicherheit

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

> Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012

Vorlesung Sicherheit

Digitale Unterschriften mit ElGamal

Netzwerksicherheit Übung 5 Transport Layer Security

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Verschlüsselungs. sselungs- verfahren. Mario Leimgruber. AMREIN EN GIN EERIN G Messaging & Gr oupwar e Solutions

Homomorphe Verschlüsselung

Kryptographie mit elliptischen Kurven

SSL Secure Socket Layer Algorithmen und Anwendung

Sichere Abwicklung von Geschäftsvorgängen im Internet

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

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

Kryptografische Protokolle

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

Key Agreement. Diffie-Hellman Schlüsselaustausch. Key Agreement. Authentifizierter Diffie-Hellman Schlüsselaustausch

Transkript:

Vorlesung Sicherheit Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 06.06.2016 1 / 37

Anmeldung Hauptklausur Anmeldung für die Hauptklausur ab jetzt möglich Hauptklausurtermin: Do., 28.07.2016, 14 Uhr Anmeldung möglich bis zum Do., 21.07.2016 Danach keine Anmeldung mehr möglich! Abmeldung möglich bis zum Do., 21.07.2016 Abmeldung danach nur noch direkt vor der Klausur im Hörsaal möglich. 2 / 37

Überblick 1 Schlüsselaustauschprotokolle Symmetrische Verfahren Asymmetrische Verfahren Transport Layer Security (TLS) 3 / 37

Überblick 1 Schlüsselaustauschprotokolle Symmetrische Verfahren Asymmetrische Verfahren Transport Layer Security (TLS) 4 / 37

Erinnerung Ziel: gemeinsamen geheimen Schlüssel K aushandeln Szenario: Secret-Key-Infrastruktur (mit Schlüsselzentrale): Vorschlag: 1 Alice Alice KA Bob KB Key Center (KC) KA,K B (Alice,Bob) KC Enc(K A,K), Enc(K B,K) 2 KC Alice 3 Alice Enc(K B,K) Bob 5 / 37

Kerberos Sehr gängig: Kerberos (im folgenden ursprüngliches Protokoll) 1 Alice 2 KC (Alice,Bob) KC Enc(K A,(T KC,L,K,Bob)), Enc(K B,(T KC,L,K,Alice)) Alice Hier T KC Zeitstempel, L Gültigkeitsdauer, K frischer Schlüssel Enc(K,(Alice,T A )), Enc(K B,(T KC,L,K,Alice)) 3 Alice Bob Hier T A Zeitstempel 4 Bob Enc(K,T A +1) Alice 6 / 37

Eigenschaften von Kerberos Geschachtelte Struktur verhindert Man-in-the-Middle-Angriffe Zeitstempel/Gültigkeitsdauern verhindern Replay-Angriffe Aber: aktiv sichere Verschlüsselung nötig! Sicherheit von Kerberos nicht formal geklärt 7 / 37

Eigenschaften von Kerberos Wichtig: Kerberos authentifiziert Alice und Bob auch Reales Kerberos hauptsächlich zur Authentifizierung genutzt Kerberos-Standard/-Implementierung historisch zur Single-Sign-On-Lösung gewachsen 8 / 37

Überblick 1 Schlüsselaustauschprotokolle Symmetrische Verfahren Asymmetrische Verfahren Transport Layer Security (TLS) 9 / 37

Asymmetrische Verfahren Szenario: Public-Key-Infrastruktur (pk A, pk B öffentlich) Alice ska Bob skb Schlüsselgenerierung von Parteien selbst vorgenommen Schlüsselverteilung/-zertifizierung als gegeben angenommen Frage: Wie könnte man hier Schlüssel austauschen? 10 / 37

Public-Key Transport Szenario: Public-Key-Infrastruktur (pk A, pk B öffentlich) Alice ska Bob skb Werkzeug: Public-Key-Verschlüsselung (Gen, Enc, Dec) Schlüsselpaare mittels Gen generiert Basisverfahren überaus simpel: 1 Alice Enc(pk B,K) Bob (mit K von Alice frisch gewählt) 11 / 37

Eigenschaften von Public-Key Transport C:=Enc(pk Alice B,K) ska Bob skb Erzielt so nur passive Sicherheit Replay-Angriff möglich (wiederhole C) (Ist das überhaupt ein Angriff?) Nicht authentifiziert (wenn Kanal nicht authentifiziert) Allerdings passive Sicherheit erreicht Passive Sicherheit : nur lauschender A (hier: der C erhält) kann K nicht von Zufall unterscheiden (genaues Modell lässt A mehrere Sitzungen beobachten) PKE-Verfahren IND-CPA Schlüsselaustausch passiv sicher 12 / 37

Eigenschaften von Public-Key Transport C:=Enc(pk Alice B,K) ska Bob skb Kann durch zusätzliche Signatur authentifiziert werden: Alice skpke,a, sk Sig,A (C:=Enc(pk PKE,B,K), σ=sig(sk Sig,A,C)) Bob skpke,b, sk Sig,B Allerdings immer noch anfällig z.b. für Replay-Angriffe 13 / 37

Diffie-Hellman-Schlüsselaustausch Basisschema sehr ähnlich zu ElGamal (G = g gegeben) g x 1 Alice Bob g 2 Bob y Alice 3 Gemeinsamer Schlüssel: K = g xy = (g y ) x = (g x ) y Diffie-Hellman (1976) lange vor ElGamal (1985), erstaunlich Passiv sicher unter geeigneter zahlentheoretischer Annahme Wird durch Signieren aller Nachrichten authentifiziert Allerdings immer noch anfällig z.b. für Replay-Angriffe 14 / 37

Diffie-Hellman-Schlüsstelaustausch: Man-in-the-Middle (1) DH-Schlüsselaustausch anfällig für Man-in-the-Middle-Angriffe Angreifer A fängt Nachrichten von Alice & Bob ab Alice Geheimnis: x g x A g y Bob Geheimnis: y g a wähle a zufällig g a Schlüssel: g xa Schlüssel: g ya 15 / 37

Diffie-Hellman-Schlüsselaustausch: Man-in-the-Middle (2) Alice denkt, der Schlüssel ist g xa Bob denkt, der Schlüssel ist g ya A kennt sowohl g xa, als auch g ya A kann Kommunikation zwischen Alice & Bob abhören, ohne aufzufallen 16 / 37

Diffie-Hellman-Schlüsselaustausch: Man-in-the-Middle (3) Beispiel: Verschlüsselung Schlüssel wird für symm. Verschlüsselung verwendet Alice will C = Enc(g xa, M) an Bob schicken A fängt C ab, entschlüsselt M = Dec(g xa, C), sendet C = Enc(g ya, M) an Bob Bob schickt Chiffrat an Alice: Analog A kann mitlesen, fällt aber nicht auf Lösung der Problematik: Signaturen 17 / 37

Geeignete formale Modelle Geeignetes Modell für Schlüsselaustausch nichttrivial Komplexes Szenario: viele Parteien, viele Sitzungen pro Partei Angreifer passiv oder aktiv? Was darf ein aktiver Angreifer genau? In der Realität subtile Angriffe (?) möglich (später mehr) Reales Netzwerk (TCP/IP) spezifisch und komplex Wie können einzelne Sitzungen unterschieden werden (SIDs)? Zahlreiche verschiedene theoretische Modelle Deshalb hier kein abstraktes Sicherheitsmodell 18 / 37

Überblick 1 Schlüsselaustauschprotokolle Symmetrische Verfahren Asymmetrische Verfahren Transport Layer Security (TLS) 19 / 37

Motivation für TLS Problem: http, imap, smtp, ftp,... ungeschützt Interneteinkauf, Mailabholung/-transport, Dateitransfer Mögliche Lösung: auf höherer Protokollebene sichern E-Mail verschlüsseln/signieren Aufpassen: alles verschlüsseln/signieren! (Nur Kreditkartendaten verschlüsseln könnte Manipulation erlauben) Besser: Universelle Lösung auf Transportebene 20 / 37

Transport Layer Security (TLS) TLS: Protokoll für den Aufbau und Betrieb sicherer Kanäle Zuerst authentifizierter asymmetrischer Schlüsselaustausch...... danach symmetrische Verschlüsselung der Nutzdaten Renegotiation ( Neuaushandlung des Schlüssels) möglich Viele Algorithmen möglich (RSA/DH, 3DES/AES/RC4,... ) Problem: viele Kombinationen von Algorithmen/Varianten Aktuell Standard (OpenSSL/GnuTLS, https, imaps,... ) 21 / 37

TLS Handshake (Schlüsselaustauschprotokoll) (Quelle: wikipedia.org) 22 / 37

TLS Handshake (Schlüsselaustauschprotokoll) 23 / 37

TLS Handshake (Schlüsselaustauschprotokoll) 24 / 37

Geschichte von TLS Vorläufer SSL von TLS: SSL 1.0 (1994) von Netscape für Mosaic-Browser SSL 3.0 (1996) komplette Überarbeitung TLS aus SSL hervorgegangen: TLS 1.0 (1999) SSL 3.0, erstmals in Windows 98 (SE) TLS 1.1 (2006) und TLS 1.2 (2008) noch nicht gut unterstützt (< 20% aller Browser unterstützen TLS > 1.0, aber > 98% TLS 1.0) Geschichtliche Einordnung (erfolgreiche Musik/Kinofilme): 1994: Hyper Hyper (Scooter), Pulp Fiction 1996: Wannabe (Spice Girls), Independence Day 1999: Baby One More Time (Britney Spears), Star Wars I Am häufigsten benutzte SSL/TLS-Versionen sehr alt 25 / 37

Demo: Browserunterstützung Demo: https://cc.dcsec.uni-hannover.de/ (Welche TLS-Version unterstützt mein Browser?) 26 / 37

Sicherheit von TLS Viele Patches (im Hinblick auf Angriffe) für konkrete Implementierungen Nach heutiger Kenntnis (in neuester Version, mit Patches, mit richtigen Parametern/Algorithmen betrieben!) sicher In idealen Modellen (ideale Verschlüsselung) sicher Bedeutet, dass TLS-Verbindung so sicher wie sicherer Kanal Allerdings: Einige Angriffe (folgend) widersprechen dem nicht Aber: Angriffe auf konkrete Varianten/Kombinationen 27 / 37

Angriffe auf TLS Einige konkrete Angriffe auf TLS(-Varianten): ChangeCipherSpec Drop (1996, auf SSL < 3.0) Angriff auf schwaches RSA-padding (1998, auf SSL) CRIME (2002/2012, bei eingeschalteter Komprimierung) TLS Renegotiation Attack (2009) BEAST (2011, auf chained IVs im CBC-Mode, TLS< 1.1) Angriff auf RC4 (2013, braucht viele Sessions) Lucky 13 (2013, Angriff auf CBC, braucht viele Sessions) Problem: TLS gibt aus, warum Dec fehlschlägt (Heartbleed kein Protokoll- sondern Implementierungsproblem) 28 / 37

Angriffe auf TLS Deshalb: Aktuelle TLS-Version (1.1/1.2, mit Patches) benutzen Kompression ausschalten RC4 nicht benutzen (d.h. als Möglichkeit entfernen) AES in nicht-cbc-modus benutzen (z.b. AES-GCM) 29 / 37

Beispielangriff: ChangeCipherSpec Drop Beobachtung: Handshake-Ablauf bei SSL <3.0: 1 Client und Server tauschen unverschlüsselt Informationen aus (public keys, CipherSuite-Präferenz, Sitzungsnummer, Authentifikation) 2 Client sendet ChangeCipherSpec (mit Parametern), um auf verschlüsselte Kommunikation umzuschalten 3 Client und Server senden Finished und beenden Handshake Angenommen, Server sendet sofort danach Nutzdaten Angriff: aktiver Angreifer unterdrückt ChangeCipherSpec Konsequenz: Server sendet Nutzdaten unverschlüsselt Fix: zusätzliche Bestätigung von Client vor Nutzdaten 30 / 37

Beispielangriff auf RSA-Padding Beobachtung: von SSL zum Key Transport genutzte RSA-Variante berechnet C = Enc(pk, pad(m)) = (pad(m)) e mod N mit schlechtem (d.h. naivem) Padding (PKCS#1.5) Angriff auf schlechtes Padding seit 1998 bekannt Idee: verändere C homomorph, beobachte, ob verändertes C noch als gültig akzeptiert wird Allein aus Gültigkeit lässt sich Information über M ableiten Benötigt viele (mehrere Tausend) Versuche 31 / 37

Beispielangriff auf RSA-Padding (konkreter) Konkreteres PKCS#1.5-Padding (vereinfacht): C = pad(k) e = (0x0002 rnd 0x00 K) e mod N K wird kurz sein (und immer mit vielen Nullbits anfangen) Ziel: finde viele gültige Faktoren α i, so dass Dec(α e i C mod N) = α i (0x0002 rnd 0x00 K) mod N }{{} =:M i gültig ist (so dass M i mit 0x0002 beginnen muss) 32 / 37

Beispielangriff auf RSA-Padding (konkreter) Ziel: finde viele gültige Faktoren α i, so dass Dec(α e i C mod N) = α i (0x0002 rnd 0x00 K) mod N }{{} =:M i gültig ist (so dass M i mit 0x0002 beginnen muss) Gültigkeit wird mit Injizieren von α e i C mod N überprüft In alten SSL-Versionen sagt Server RSA-Padding falsch oder Key K zu groß, sagt also, ob Padding gültig Viele gültige M i grobes Intervall, in dem K liegt 33 / 37

Beispielangriff auf RSA-Padding (konkreter) Viele gültige M i grobes Intervall, in dem K liegt Kombination geeignet vieler Intervallbestimmungen liefern K Bricht PKCS#1.5 (auch in TLS) Gewählte Gegenmaßnahme: patche SSL/TLS (wähle K zufällig, wenn Padding ungültig), obwohl RSA-OAEP bekannt 34 / 37

Beispielangriff: CRIME (Prinzip) Annahme: Kompression in TLS eingeschaltet Übertragen wird komprimiertes comp(m) statt M TLS nutzt DEFLATE-Kompression (LZ77/Huffman-Variante) Prinzip: comp(fliegen fliegen) = Fliegen f(-8,6) Strategie: verändere vorangehenden Klartextteil, um zu sehen, ob folgender (unbekannter) Klartextteil komprimiert Beispiel: bringe Client dazu, zunächst 1234 zu senden, anschließend seine vierstellige numerische PIN ABCD Client verschlüsselt C := Enc(K, comp(1234abcd)) Länge C hängt direkt ab von Länge comp(1234abcd) Insbesondere: Chiffrat am kürzesten, wenn ABCD = 1234 35 / 37

Beispielangriff: CRIME (konkreter) Konkreter: Angreifer möchte Cookie von Client stehlen Client hat laufende Session mit Server (z.b. www.ebay.com) Client hat geheimes HTTP-Cookie ABCD, das Browser automatisch an alle Nachrichten an Server anhängt Angreifer schleust JavaScript-Code bei Client ein JavaScript-Code lässt Client WXYZABCD an Server senden Angreifer belauscht C := Enc(K, comp(wxyzabcd)), erfährt so Länge comp(wxyzabcd), und wie nahe WXYZ an ABCD ist Viele Wiederholungen/WXYZ Angreifer erfährt Cookie Wichtig: Böser JavaScript-Code kennt nur WXYZ, nicht ABCD, kann aber Client dazu bringen, WXYZABCD an Server zu senden 36 / 37

Zusammenfassung TLS TLS historisch gewachsen, Quasi-Standard, hochrelevant Viele Versionen, Einstellungsmöglichkeiten, Angriffe, Fixes Frage: warum unterstützen viele Browser nur 1999-Standard? Antwort: Angriffe aufwändig, Kompatibilität Frage: warum verwendet man nicht bessere Algorithmen? (z.b. RSA-OAEP statt schlecht gepaddetem RSA mit Hotfix) Antwort: einfacher zu fixen als zu ersetzen 37 / 37