Kryptographie und Komplexität



Ähnliche Dokumente
Authentikation und digitale Signatur

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Effizienten MAC-Konstruktion aus der Praxis: NMAC Idee von NMAC:

Voll homomorpe Verschlüsselung

Kryptographie und Fehlertoleranz für Digitale Magazine

Wiederholung: Informationssicherheit Ziele

11. Das RSA Verfahren und andere Verfahren

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

Kryptographische Hashfunktionen

2. Realisierung von Integrität und Authentizität

Informatik für Ökonomen II HS 09

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

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

Vorlesung Sicherheit

10. Kryptographie. Was ist Kryptographie?

Digitale Signaturen. Sven Tabbert

Beweisbar sichere Verschlüsselung

10. Public-Key Kryptographie

Einfache kryptographische Verfahren

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

Kryptographie oder Verschlüsselungstechniken

Algorithmische Kryptographie

Erste Vorlesung Kryptographie

Hashfunktionen und MACs

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Grundlagen der Verschlüsselung und Authentifizierung (2)

Sicherheitslösung SMS-Code

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen

Primzahlen und RSA-Verschlüsselung

Verschlüsselung. Chiffrat. Eve

Sicherheit von PDF-Dateien

Theoretische Grundlagen der Informatik WS 09/10

Beweisbar sichere Verschlüsselung

6.2 Perfekte Sicherheit

8. Von den Grundbausteinen zu sicheren Systemen

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

Nachrichten- Verschlüsselung Mit S/MIME

Zur Sicherheit von RSA

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

9 Schlüsseleinigung, Schlüsselaustausch

Thunderbird Portable + GPG/Enigmail

RSA Full Domain Hash (RSA-FDH) Signaturen

Fachgruppe Elektronik und EDV im BVS Frühjahrstagung 2004, Alte Leipziger Versicherung AG, Oberursel

MAC Message Authentication Codes

Konstruktion von MACs. Message Authentication Codes. Sicherheitsmodell CBC-MAC

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

Anleitung Thunderbird Verschlu sselung

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Kryptographie und Komplexität

SSL-Zertifikate. ausgestellt bzw. bezogen von den Informatikdiensten. Dieter Hennig. 25. November ETH Zürich. SSL-Zertifikate.

Kundenleitfaden zur Sicheren per WebMail

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

Message Authentication Codes. Konstruktion von MACs. Hash-then-Encrypt. Sicherheitsmodell

Kapitel 3: Etwas Informationstheorie

Kreissparkasse Heinsberg. versenden - aber sicher! Sichere . Anwendungsleitfaden für Kunden

Erstellen einer digitalen Signatur für Adobe-Formulare

Modul Diskrete Mathematik WiSe 2011/12

Kryptographie mit elliptischen Kurven

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

iterative Hashfunktionen

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

Verteilte Systeme Unsicherheit in Verteilten Systemen

5. Signaturen und Zertifikate

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

Merkblatt: Sichere -Kommunikation zur datenschutz cert GmbH

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

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Sicherer Datenaustausch mit EurOwiG AG

Sicherer Datenaustausch mit Sticky Password 8

Algorithmische Kryptographie

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

Professionelle Seminare im Bereich MS-Office

Kundeninformationen zur Sicheren

Import des persönlichen Zertifikats in Outlook 2003

Homomorphe Verschlüsselung

Web Interface für Anwender

Mail encryption Gateway

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

RSA Full Domain Hash (RSA-FDH) Signaturen

Netzwerkeinstellungen unter Mac OS X

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

Sicher kommunizieren dank Secure der Suva

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Zeichen bei Zahlen entschlüsseln

Import des persönlichen Zertifikats in Outlook2007

Sichere Kommunikation mit Ihrer Sparkasse

Linux User Group Tübingen

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.

Netzwerksicherheit Musterlösung Übungsblatt 11: TOR und Websicherheit

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

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Leichte-Sprache-Bilder

Grundlagen der Kryptographie

Krypto-Begriffe U23 Krypto-Mission

Transkript:

Kryptographie und Komplexität Einheit 6 Kryptographie und Sicherheit 1. Kryptographische Hashfunktionen 2. Passwörter und Identifikation 3. Digitale Signaturen 4. Secret Sharing 5. Anwendungen und Ausblick

Sicherheit hat viele Aspekte Vertraulichkeit von Information Unbefugte sollen Nachrichten nicht lesen können Haupteinsatzgebiet kryptographischer Verschlusselungsverfahren Datenintegrität Fälschung/Manipulation übermittelter Nachricht soll unmöglich sein Kryptographische Hashfunktionen offenbaren nachträgliche Veränderung Authentizität der Kommunikationsteilnehmer Identität eines Benutzers darf nicht von anderen angenommen werden Möglich durch Verwendung von Passwörtern und Identitätszertifikaten Verbindlichkeit digitaler Dokumente Absender darf Urheberschaft nicht nachträglich leugnen können Digitale Signaturen binden Nachricht an ihren Absender Verwaltung von Hochsicherheitsgeheimnissen Geheimnis soll sicher gegen Verrat durch einzelne Berechtigte sein Secret Sharing verteilt Geheimnis auf mehrere Personen Kryptographie und Komplexität 6 1 Kryptographie und Sicherheit

Kryptographie und Komplexität Einheit 6.1 Datenintegrität: Kryptographische Hashfunktionen 1. Kompressions- und Hashfunktionen 2. Konstruktion sicherer Hashfunktionen 3. Message Authentication Codes

Datenintegrität und -authenizität Sicherheit gegenüber aktiven Angriffen Angreifer könnte Nachrichten abfangen und modifiziert weiterleiten Integrität: Inhalt empfangener Nachrichten ist so wie verschickt Authenizität: Nachricht stammt wirklich vom angegebenen Absender Verschlüsselung schützt nur gegen passive Angriffe Kennt der Angreifer die Art eines Textfragmentes (z.b. Zahl), so kann er die Nachricht durch Änderung einzelner Schlüsseltextbits manipulieren Empfänger kann nicht feststellen, daß Nachricht angegriffen wurde (bestenfalls erkennt er, daß Inhalt nicht richtig sein kann) Schutz durch separate Kontrollinformation Hashfunktionen erzeugen Checksum, Message Digest, Fingerprint Absender ergänzt Kontrollinformation zur Nachricht Empfänger berechnet Hashwert aus Nachricht und vergleicht Werte stimmen nur überein, wenn Nachricht unverändert Kryptographie und Komplexität 6.1 1 Datenintegrität:Kryptographische Hashfunktionen

Hash- und Kompressionsfunktionen Hashfunktion h:σ Σ n Abbildung beliebig langer Strings auf Strings fester Länge z.b. Paritätsfunktion h(b 1...b k ) = b 1 b 2... b k Kryptographische Hashfunktionen müssen effizient berechenbar sein Kompressionsfunktion h:σ m Σ n Abbildung von Datenblöcken auf Datenblöcke z.b. h(b 1...b 7 ) = b 1 b 2... b 7 als Paritätswert in jedem Datenbyte Hashfunktionen sind oft aus Kompressionsfunktionen zusammengesetzt Kompressionsfunktionen werden oft als Hashfunktionen bezeichnet Sichere Hashfunktionen Angreifer darf nicht in der Lage sein, eine Nachricht zu manipulieren ohne daß sich ihr Hashwert ändert oder den Hashwert konsistent zu der Manipulation der Nachricht zu verändern Kryptographie und Komplexität 6.1 2 Datenintegrität:Kryptographische Hashfunktionen

Sicherheit kryptographischer Hashfunktionen Einwegfunktion Hashfunktion h, für die Urbilder nicht effizient zu bestimmen sind Für jedes x muß y = h(x) effizient zu berechnen sein Für fast alle y darf kein x mit y = h(x) effizient zu finden sein z.b. h 1 (x) := x e mod p oder h 2 (x) := g x mod p für ein g Z p Kollision Paar (x,x ) mit x x aber h(x)=h(x ) Bei Byteparität z.b. 0011011 und 1001110 Schwache Kollisionsresistenz Für gegebenes x kann keine Kollision (x, x ) effizient berechnet werden Gut für Prüfung der Übereinstimmung von Daten mit einem Original z.b. zeitliche Änderungen von Daten, Exaktheit von Kopien, etc. Starke Kollisionsresistenz Es ist nicht möglich, irgendeine Kollision (x,x ) effizient zu bestimmen Schützt digitale Unterschriftensysteme gegen beliebige Fälschungen Kryptographie und Komplexität 6.1 3 Datenintegrität:Kryptographische Hashfunktionen

Vergleich der Sicherheitskriterien Jede stark kollisionsresistente Hashfunktion h ist auch schwach kollisionsresistent Wenn h nicht schwach kollisionsresistent wäre, dann könnte man eine beliebige Kollision (x,x ) effizient bestimmen, indem man ein festes x wählt und dazu eine Kollision berechnet Jede nicht injektive stark kollisionsresistente Hashfunktion h ist auch eine Einwegfunktion Wenn h keine Einwegfunktion wäre, dann könnte man eine beliebige Kollision (x,x ) effizient bestimmen, indem man ein festes x wählt, h(x) berechnet und dazu ein Urbild x berechnet x ist mit Wahrscheinlichkeit größer als 1/2 verschieden von x, wenn der Definitionsbereich Σ m von h mindestens doppelt so groß wie der Bildbereich Σ n von h ist Stark kollisionsresistente injektive Hashfunktionen sind nicht notwendigerweise Einwegfunktionen Kryptographie und Komplexität 6.1 4 Datenintegrität:Kryptographische Hashfunktionen

Berechnungsaufwand für Attacken auf h:σ m Σ n Kollisionen sind leichter zu finden als Urbilder Brute-Force Attacke auf Einwegfunktionen Um zu einem gegebenen y mit Wahrscheinlichkeit ǫ 1/2 ein Urbild x zu finden, muß ein Angreifer Σ n zufällige Kandidaten aus Σ m prüfen 2 Geburtstagsattacke auf starke Kollisionsresistenz Um zu mit Wahrscheinlichkeit ǫ 1/2 eine Kollision (x,x ) zu finden, muß ein Angreifer 1.2 Σ n/2 Kandidatenpaare prüfen Anzahl ergibt sich aus Geburtstagsparadox (siehe 2.3): Die Chance eine Kollision von Hashwerten zu finden entspricht der Chance eine Kollision von Geburtstagen zu finden Starke Kollisionsresistenz liefert mehr Sicherheit als Einwegfunktionen Das leichtere Problem (Kollisionen finden) wird unlösbar gemacht Um Geburtstagsattacken zu verhindern, muß Blockgröße n 128 sein Kryptographie und Komplexität 6.1 5 Datenintegrität:Kryptographische Hashfunktionen

Konstruktion sicherer Kompressionsfunktionen Gibt es echte Kollisionsresistenz? P N P ist eine notwendige Voraussetzung Zeige, daß Berechnung von h in P liegt Zeige, daß Finden von Urbildern oder Kollisionen N P-vollständig ist N P-Vollständigkeit alleine reicht nicht Komplexitätsklassen beruhen auf Worst-Case Analysen Sicherheitsbeweise verlangen Average-Case oder Best-Case Analysen Praktische Anwendungen müssen Hashfunktionen verwenden, deren Kollisionsresistenz bisher nicht widerlegt ist Verwende kryptographische Funktionen Einfache Möglichkeit parametrisierte Hashfunktionen zu erzeugen Konstruiere h:{0, 1} n {0, 1} n {0, 1} n aus e K :{0, 1} n {0, 1} n, K {0, 1} n h(k, x) = e z.b. K (x) x h(k, x) = e K (x) x K h(k, x) = e K (x K) x h(k, x) = e K (x K) x K... Hashfunktion scheint sicher wenn Verschlüsselungsfunktion sicher ist Nur Verschlüsselungsfunktionen mit Blockgröße n 128 geeignet Kryptographie und Komplexität 6.1 6 Datenintegrität:Kryptographische Hashfunktionen

Konstruktion sicherer Hashfunktionen (Merkle-Damgard) Iterierte Kompressionsfunktion g:{0, 1} m {0, 1} n Verzicht auf Parameter in Kompressionsfunktion Parameter müssten als geheime Schlssel zuvor ausgetauscht werden Verwende Initialwert/Nachrichtenteile/Zwischenhash statdessen Vorbereitung: Padding von x {0, 1} Ergänze führende Nullen, bis Länge Vielfaches von r = m n ist Ergänze Kontrolldaten am Ende, um Kollisionsresistenz zu erhalten Ein Block von r Nullen zur Abgrenzung x als Binärzahl, ergänzt um Nullen bis Länge Vielfaches von r 1 und weiter ergänzt um Einsen an jeder r 1-ten Stelle Iteration der Kompression Zerlege Gesamtstring in Wörter x 1 x 2...x k der Länge r Wähle Initialwert H 0 {0, 1} n (z.b. H 0 := 0 n ) In Schritt i k berechne H i = g(h i 1 x i ) Ergebnis ist h(x) = H k Kryptographie und Komplexität 6.1 7 Datenintegrität:Kryptographische Hashfunktionen

Sicherheit iterativer Hashfunktionen h ist kollisionsresistent wenn dies für g gilt Sei (x, x ) eine Kollision von h mit zugehörigen Folgen x 1...x k, x 1...x k und H 0...H k, H 1...H k Wir konstruieren eine Kollision für g. Wegen h(x) = h(x ) muß H k = H k gelten Gilt H k j 1 H k j 1 aber H k j = H k j für ein j t dann ist (H k j 1 x k j, H k j 1 x k j) eine Kollision von g Wenn nicht gilt, dann muß H k j =H k j für alle j t gelten Andererseits muß wegen x x auch x k i x k i für ein i gelten Es folgt H k i 1 x k i H k i 1 x k i und somit H k i = g(h k i 1 x k i ) = H k i = g(h k i 1 x k i) Damit ist (H k i 1 x k i, H k i 1 x k i) eine Kollision von g Also ist die Bestimmung von Kollisionen für g genauso leicht wie für h Kryptographie und Komplexität 6.1 8 Datenintegrität:Kryptographische Hashfunktionen

Spezielle Hashalgorithmen Integration effizienter Binäroperationen Verknüpfungen mit speziellen Strings, Rotationen, Shifts Effizienter als Einbau kryptographischer Funktionen Message-Digest Familie (MD4/MD5) MD4: 3 Runden mit je 16 Schritten, zu brechen mit 2 20 Aufrufen MD5: Verstärkte Version von MD4 mit 128-Bit Kompression Nur angreifbar, wenn Angreifer Initialwerte festlegen darf Secure Hash Familie (SHA-1, SHA-256) SHA-1: 4 Runden mit je 20 komplexen Schritten, 160-Bit Kompression meist verwendeter Algorithmus in der Praxis, sehr effizient Das NIST empfiehlt ab 2010 die Verwendung der Variante SHA-256 RIPEMD Familie (RIPEMD-128, RIPEMD-160) RIPEMD-160: 5 Runden mit je 16 parallel ausführbaren Schritten 160-Bit Kompression, schnellster akzeptierer Algorithmus 128-Bit Variante (RIPEMD-128) wurde erfolgreich angegriffen Kryptographie und Komplexität 6.1 9 Datenintegrität:Kryptographische Hashfunktionen

Message Authentication Codes Prüfung von Integrität und Identität Koppelung von Schlüssel und Fingerprint MAC wird aus Nachricht und geheimem Schlüssel bestimmt Nur Sender und Empfänger kennen den Schlüssel K MAC ist kurzer Datensatz, Länge unabhängig von Nachrichtengröße Hilfsmittel: Parametrisierte Hashfunktion Familie von Hashfunktionen h K :Σ Σ n für Schlüssel K K Authentifizierungsverfahren Sender und Empfänger tauschen geheimen Schlüssel K aus Sender berechnet MAC=h K (x) für Nachricht x und schickt x MAC Empfänger empfängt x MAC und vergleicht MAC mit h K (x ) Im Erfolgsfall ist Nachricht unverfälscht und Absender authentisch Wichtige Annahme: Angreifer kann ohne Kenntnis von K zu keiner Nachricht einen gültigen MAC bestimmen Kryptographie und Komplexität 6.1 10 Datenintegrität:Kryptographische Hashfunktionen

Angriffe auf Message Authentication Codes No message attack Angreifer kennt Hashfamilie aber nicht den konkreten Sclüssel Angreifer versucht ein gültiges Paar x MAC zu bestimmen Known message attack Angreifer kennt gültige Paare (x 1, MAC 1 ),.., (x q, MAC q ) Angreifer versucht ein neues gültiges Paar zu erzeugen Replay Attacke: Angreifer schickt eines der abgefangenen Paare Nur mit zusätzlichen Techniken erkennba Chosen message attack Angreifer kann MACs für selbstgewählte x 1,,..,x q bestimmen ohne K (ǫ, q) forgery: Angreifer versucht mit Wahrscheinlichkeit ǫ>0 ein neues gültiges Paar zu erzeugen Ein MAC ist sicher, wenn keine chosen message attack effizient ist Kryptographie und Komplexität 6.1 11 Datenintegrität:Kryptographische Hashfunktionen

Konstruktion von MACs aus Blockchiffren CBC-MAC: Iterative Konstruktion Verwende Kryptosystem mit e K :{0, 1} m {0, 1} m Zerlege Bitstring (nach Padding) in Wörter x 1 x 2...x t der Länge m Wähle Initialwert y 0 {0, 1} m (z.b. y 0 := 0 m ) In Schritt i k berechne y i = e K (y i 1 x i ) Ergebnis ist MAC(K, x) = y t XOR-MAC: Parallele Bearbeitung Zerlege Bitstring in Wörter x 1 x 2...x t der Länge m t 1 Wähle Initialwert IV {0, 1} m 1 und berechne y 0 = e K (0 IV ) Für alle i t berechne y i = e K (1 i x i ) (Zahl i in Binärdarstellung) Ergebnis ist MAC(K, x) = y 0 y 1... y t Chiffrierung von Initialwert und Blocknummer erhöht Sicherheit bei gleichartigen Teilblöcken Sicherheit Bester bekannter Angriff (Geburtstagsattacke) liefert ( 1 2, 2m/2 ) forgery Kryptographie und Komplexität 6.1 12 Datenintegrität:Kryptographische Hashfunktionen

HMAC: Konstruktion aus Hashfunktionen Einbau von Verschlüsselung in Hashfunktion Verwende parameterfreie Hashfunktion h:{0, 1} {0, 1} n Konstruiere h K (x) = h(k opad h(k opad x)) wobei K K und ipad, opad verschiedene Konstanten Addition der Konstanten erzeugt aus K zwei verschiedene Schlüssel zur Erhöhung der Sicherheit Verwendung in der Praxis Konstruktion des MAC mit MD5 oder SHA-1 und 512 Bit Schlüsseln sowie festen Byte-Konstanten ipad = 3636...36, opad = 5C5C...5C Einsatz beim Aufbau sicherer Kanäle (1) Berechne den MAC der verschlüsselten Nachricht IPSEC (2) Berechne den MAC vor Verschlüsselung der Nachricht SSH (3) Verschlüssele Klartext und MAC SSL (2) und (3) sind (im Prinzip) angreifbar, (1) ist nachweislich sicher Kryptographie und Komplexität 6.1 13 Datenintegrität:Kryptographische Hashfunktionen