Vorlesung Sicherheit



Ähnliche Dokumente
Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

Vorlesung Sicherheit

IT-Sicherheit Kapitel 11 SSL/TLS

9 Schlüsseleinigung, Schlüsselaustausch

ElGamal Verschlüsselungsverfahren (1984)

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

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

Erste Vorlesung Kryptographie

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

Informatik für Ökonomen II HS 09

Verteilte Systeme Unsicherheit in Verteilten Systemen

Beweisbar sichere Verschlüsselung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Verschlüsselung und Authentifizierung (2)

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

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

Primzahlen und RSA-Verschlüsselung

Electronic Systems GmbH & Co. KG

Sichere mit OpenPGP und S/MIME

11. Das RSA Verfahren und andere Verfahren

Transport Layer Security Nachtrag Angriffe

Informationsblatt Induktionsbeweis

Kryptographie eine erste Ubersicht

-Zertifikatsverwaltung

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

FL1 Hosting Technische Informationen

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

Professionelle Seminare im Bereich MS-Office

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Beweisbar sichere Verschlüsselung

Hardware - Software - Net zwerke

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Homomorphe Verschlüsselung

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

INHALT. Troubleshooting Netzwerkinstallation

Zertifikate an der RWTH

Verein zur Förderung der privaten Internet Nutzung e.v. Sicher bewegen im Internet

Stammtisch Zertifikate

PING e.v. Heimvernetzung und Sicherheit im Internet. HobbyTronic Nächster Vortrag: 12:15 Uhr. PING e.v. Weiterbildung -

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

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

Secure Socket Layer V.3.0

NTCS WIEDERHOLFAKTURA & SAMMELRECHNUNG 10/04/13. BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Abwesenheitsnotiz im Exchange Server 2010

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

10. Public-Key Kryptographie

Zwischenablage (Bilder, Texte,...)

MH3 D2/3 DB/4. Name: Matr.-Nr. Seite: 3. Aufgabe 1. (6 Punkte) a) Gegeben sei eine kryptographische Hashfunktion h^o,!}* mit Hashwert h^mo) = 4.

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

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Verschlüsselung. Chiffrat. Eve

Web of Trust, PGP, GnuPG

NetMan Desktop Manager Vorbereitung und Konfiguration des Terminalservers

Anleitung über den Umgang mit Schildern

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

Merkblatt: Sichere -Kommunikation zur datenschutz cert GmbH

STRATO Mail Einrichtung Mozilla Thunderbird

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Public-Key-Infrastrukturen

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Gruppenrichtlinien und Softwareverteilung

Konfigurieren mit Outlook Express (Windows XP) oder Windows Mail (Windows Vista / Windows 7)

Wärmebildkamera. Arbeitszeit: 15 Minuten

Erstellen von x-y-diagrammen in OpenOffice.calc

Informationen zum neuen Studmail häufige Fragen

Reale Nutzung kryptographischer Verfahren in TLS/SSL

Speicher in der Cloud

Technische Informationen zum Webmail, bereitgestellt durch den Landesverband der Freiwilligen Feuerwehren Südtirols.

Grundlagen, Geschichte, Anwendung

Lizenzierung von SharePoint Server 2013

Sicherheit in Ihren Online Meetings. Kontrollmöglichkeiten und Sicherheitsmechanismen.

Nutzung dieser Internetseite

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Kryptographische Anonymisierung bei Verkehrsflussanalysen

6.2 Scan-Konvertierung (Scan Conversion)

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

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

TeleTrusT-Informationstag "IT-Sicherheit im Smart Grid"

Der Vollstreckungsbescheid. 12 Fragen und Antworten

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

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

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

Grundbegriffe der Informatik

E Mail Versand mit der Schild NRW Formularverwaltung

Transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TLS Handshake (Schlüsselaustauschprotokoll) 19 / 33

TLS Handshake (Schlüsselaustauschprotokoll) 20 / 33

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

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

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

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

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

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

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

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) 28 / 33

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

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

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

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

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