Vorlesung Sicherheit



Ähnliche Dokumente
Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

9 Schlüsseleinigung, Schlüsselaustausch

IT-Sicherheit Kapitel 11 SSL/TLS

Erste Vorlesung Kryptographie

Informatik für Ökonomen II HS 09

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

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

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

Verteilte Systeme Unsicherheit in Verteilten Systemen

Beweisbar sichere Verschlüsselung

11. Das RSA Verfahren und andere Verfahren

Programmiertechnik II

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

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Stammtisch Zertifikate

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

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

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

FL1 Hosting Technische Informationen

Cryptoparty: Einführung

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Reale Nutzung kryptographischer Verfahren in TLS/SSL

ElGamal Verschlüsselungsverfahren (1984)

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Datenempfang von crossinx

Authentikation und digitale Signatur

Verschlüsselung. Chiffrat. Eve

FTP-Leitfaden RZ. Benutzerleitfaden

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

10. Kryptographie. Was ist Kryptographie?

-Verschlüsselung

Comtarsia SignOn Familie

Installation des Zertifikats am Beispiel eines Exchang -Servers. Voraussetzungen. Zertifikate importieren. Outlook-Webaccess

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

Multicast Security Group Key Management Architecture (MSEC GKMArch)

10. Public-Key Kryptographie

Nachrichten- Verschlüsselung Mit S/MIME

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

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

Elliptische Kurven in der Kryptographie

Secure Socket Layer V.3.0

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

OpenChaos-Reihe Digitale VerhütungTeil 2: Sichere Kommunikation

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Ist das so mit HTTPS wirklich eine gute Lösung?

Electronic Systems GmbH & Co. KG

Verschlüsselte s: Wie sicher ist sicher?

-Verschlüsselung mit GPG. Von der Key-Erzeugung zur verschlüsselten . Chemnitzer Linux-Tage März 2010 Vortrag

Sichere s. Kundeninformation zur Verschlüsselung von s in der L-Bank

Fragen und Antworten zu Secure

TIA - Rechenzentrum. Systemvoraussetzungen

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Einrichten eines E- Mail Kontos mit Mail (Mac OSX)

PKI (public key infrastructure)

Anlegen eines DLRG Accounts

ESecur Die einfache verschlüsselung

OUTLOOK Was ist sigmail.de? 2 Warum sigmail.de? UP ESUO

Anleitung Thunderbird Verschlu sselung

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Rechneranmeldung mit Smartcard oder USB-Token

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Einrichtung eines -Zugangs mit Mozilla Thunderbird

-Verschlüsselung mit S/MIME

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Step by Step Webserver unter Windows Server von Christian Bartl

FTP-Leitfaden Inhouse. Benutzerleitfaden

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Sicher kommunizieren dank Secure der Suva

Sicherheit von hybrider Verschlüsselung

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13.

Secure Socket Layer v. 3.0

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

SSL/TLS: Ein Überblick

estos UCServer Multiline TAPI Driver

Zur Sicherheit von RSA

Professionelle Seminare im Bereich MS-Office

Anleitung zur Installation von Thunderbird

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Nationale Initiative für Internet- und Informations-Sicherheit

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

Einrichten von Outlook Express

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

POP3 über Outlook einrichten

Primzahlen und RSA-Verschlüsselung

Workshop: IPSec. 20. Chaos Communication Congress

Transkript:

Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 05.06.2014 1 / 35

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

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

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 4 / 35

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 5 / 35

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 6 / 35

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 (Quelle: wikipedia.org) 7 / 35

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 (Quelle: wikipedia.org) 7 / 35

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 (Quelle: wikipedia.org) 7 / 35

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 (Quelle: wikipedia.org) 7 / 35

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

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? 9 / 35

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) 10 / 35

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 11 / 35

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 12 / 35

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 13 / 35

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 14 / 35

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

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 16 / 35

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,... ) 17 / 35

TLS Handshake (Schlüsselaustauschprotokoll) (Quelle: wikipedia.org) 18 / 35

TLS Handshake (Schlüsselaustauschprotokoll) 19 / 35

TLS Handshake (Schlüsselaustauschprotokoll) 20 / 35

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 21 / 35

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

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 23 / 35

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) 24 / 35

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) 25 / 35

Transport Layer Security (TLS) (Quelle: wikipedia.org) 26 / 35

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 27 / 35

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 28 / 35

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) 29 / 35

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 αi e 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 30 / 35

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 31 / 35

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 32 / 35

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 33 / 35

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 34 / 35

Zusammenfassung TLS (Quelle: wikipedia.org) 35 / 35