1 / 37

Sicherer Kanal: von Alice zu Bob

Sicherer Kanal: von Alice zu Bob. Integritätsschutz ( Hash&MAC ). Testfragen:. Unterschied zwischen: Kodierung und Verschlüsselung? Symmetrischer und asymmetrischer Verschlüsselung? Stromchiffre und Blockchiffre? ECB, CBC, und CTR-Modus ? Stromchiffre und „ one time pad “?

tannar
Download Presentation

Sicherer Kanal: von Alice zu Bob

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sicherer Kanal: von Alice zu Bob Integritätsschutz (Hash&MAC)

  2. Testfragen: Unterschied zwischen: • Kodierung und Verschlüsselung? • Symmetrischer und asymmetrischer Verschlüsselung? • Stromchiffre und Blockchiffre? • ECB, CBC, und CTR-Modus? • Stromchiffre und „one time pad“? • RNG und PRNG? Dr. Wolf Müller

  3. Lab2 Dr. Wolf Müller

  4. Hashfunktionen: Verwendung • Wichtige Bestandteile heutiger Verschlüsselungsverfahren • Eindeutige Hashwerte von Datenobjekten können berechnet, versandt, gespeichert werden. • Ermöglichen Integritätsprüfung von Objekten. • Modifikationen können erkannt werden. • Authentizität des Datenursprungs: Message Authentication Codes (MAC) Dr. Wolf Müller

  5. Hashfunktion: Arbeitsweise • Hashfunktionen in Informatik oft eingesetzt: • Effizienter Zugriff auf Objekte • Schnelle Suche / Zugriff z.B. Datenbanken • Adressierungsfunktionen in Betriebssystemen • Oft einfache Funktionen z.B. Modulo Primzahl • Hashfunktion definiert endlichen Bildbereich (Adressbereich) wesentlich kleiner als Urbildbereich (Universum) • Hashfunktion ist nicht injektiveAbbildung eines Objekts des Universums auf eine Hashadresse. Dr. Wolf Müller

  6. Hashfunktionen: Kollisionen • Kollisionen: Unterschiedliche Objekte u1≠u2 des Universums werden auf gleichen Hashwert h(u1)=h(u2) abgebildet. • Bei o.g. Anwendungen kein Problem, Techniken zur Kollisionsauflösung (Kollisionslisten, mehrfaches Hashing). • Problem: Eindeutigkeit (Überprüfung der Integrität von Daten) • Ziel muss Vermeidung von Kollisionen sein • Genauer: Verringerung der Wahrscheinlichkeit von Auftreten von Kollisionen oder deren Vorhersagbarkeit Dr. Wolf Müller

  7. Hashfunktionen: Kollisionen Was ist eine Kollision? 1 2 010011 010011 Nachricht Prüfsumme Nachricht Prüfsumme 2 verschiedene Nachrichten, aber identische Prüfsummen! Dr. Wolf Müller

  8. Hash: Angriffe Substitutionsattacke Gegeben: Angreifer A hat eine signierte Bestellung von Opfer B abgefangen. Ziel: Eine Nachricht mit gleichem Hashwert erstellen. Dr. Wolf Müller

  9. Hash: Angriffe Brute-Force-Angriff Durchprobieren aller denkbaren Nachrichten und Algorithmen Beispiel: Dictionary-Attack Gefundener Hashwert: o094t2456u2 Dr. Wolf Müller

  10. Einwegfunktion (onewayfunction) ►Injektive Funktion f: X ! Y mit: • 8x 2X der Funktionswert f(x) effizient berechenbar ist und • es gibt kein effizientes Verfahren um aus dem Bild y = f(x) das Urbild xzu berechnen. • Einwegeigenschaft beruht im Wesentlichen auf Aussagen zur Effizienz bekannter Algorithmen zur Berechnung der Funktionswerte der Umkehrabbildung. • Letztlich unbewiesen, es sind lediglich keine effektiven (in polynomieller Zeit durchführbaren) Verfahren zur Umkehr bekannt. • Faktorisierungsproblem (großer Zahlen) • Diskreter Logarithmus Dr. Wolf Müller

  11. Schwache Hashfunktion Gegeben seien zwei endliche Alphabete A1, A2. Schwache Hashfunktion ist eine nicht injektive Funktion H: A1*  A2k mit: • H besitzt Eigenschaften einer Einweg-Funktion. • Der Hashwert H(M)=h, mit |h|=kist bei gegebener Eingabe Mleicht zu berechnen. • Bei gegebenem Hashwert h =H(M) für ein M A1* ist es praktisch unmöglich, eine dazu passende Nachricht M‘≠ M, M‘ A1* zu bestimmen, die den selben Hashwert liefert, also H(M‘) =h=H(M). Dr. Wolf Müller

  12. Schwache Hashfunktion: Bemerkungen • Für digitale Daten kann von binären Zeichenvorräten A1=A2={0,1} ausgegangen werden. • Eigenschaft 3 schließt Kollisionen nicht völlig aus, es können Paare gefunden werden, deren Hashwerte kollidieren. • Wichtig: Wie hoch ist Wahrscheinlichkeit dafür? • Einsatz für digitale Signaturen • Urheberschaft von Dokumenten soll bewiesen werden. • Kann Angreifer kollidierendes Nachrichtenpaar konstruieren. • Zwei Versionen eines Kaufvertrags mit identischem Hash? • Beispiel: Geburtstags-Paradoxon Dr. Wolf Müller

  13. Geburtstags-Paradoxon • Wie viele Personen n müssen in einem Raum sein, damit mit mehr als 50% Wahrscheinlichkeit mindestens 2 am gleichen Tag (1. Januar) Geburtstag haben? • Wie viele für beliebigen Tag? • Alle Geburtstagskombinationen: • Davon nur unterschiedliche Geburtstage: • Wahrscheinlichkeit, dass alle an unter-schiedlichen Tagen Geburtstag haben:  Dr. Wolf Müller

  14. Geburtstags-Paradoxon (2) Dr. Wolf Müller

  15. Geburtstags-Paradoxon: Hashfunktionen • n: Anzahl der Eingaben (Personen), also Worte w{0,1}* • k : mögliche Ausgaben der Hashfunktion (Geburtstage) • Falls: so ist Wahrscheinlichkeit, dass zwei Eingaben gleichen Hashwert besitzen größer als 0.5. Berechnet man mehr als Hashwerte, so wird mit Wahrscheinlichkeit größer als 0.5 Kollision gefunden. • Reduzierung der Komplexität des Angriffs: • Für 64 Bit-Hashwert nur Aufwand in der Größenordnung von 232 statt 264 nötig für Finden einer Kollision. Dr. Wolf Müller

  16. Starke Hashfunktion Gegeben sei eine Hashfunktion H: A1*  A2k. H heißt starke Hashfunktion, wenn • H schwache Hashfunktion ist und • es praktisch nicht möglich ist, ein Paar verschiedener Eingabewerte M und M‘, M,M‘A1*zu finden, deren Hashwerte übereinstimmen, also H(M‘) =h=H(M). • Werden kollisionsresistent (manchmal kollisionsfrei) genannt. • Aktuell werden k=128 bisk=160 Bit als hinreichend stark angesehen. • Für schwache Hashfunktionen: 64-Bit Hashwerte ausreichend Dr. Wolf Müller

  17. Hashfunktionen: Einsatz • Kontrolle der Integrität von über unsicheres Medium übertragener Daten • Ablauf: • Urheber der Nachricht M berechnet Hashwert h=H(M), hinterlegt diesen zusammen mit M. (Bei Übertragung werden sowohl die Nachricht M, als auch der Hashwert h übertragen). • Kontrolle der Integrität eines Dokuments M‘: Berechnung des Hashwerts h‘=H(M‘) und Vergleich mit dem assoziierten Hashwert h. • Falls: h=h‘, wird wegen der Kollisionseigenschaften kryptografisch sicherer Hashfunktionen davon ausgegangen, dass M=M‘gilt, M‘ das unmodifizierte Originaldokument ist. Dr. Wolf Müller

  18. Signierter Hash • In Praxis werden Hashfunktionen häufig mit Signaturverfahren kombiniert. (Prüfung der Integrität + Urheberschaft) • Berechnung des Hashwerte des Dokuments. • Anschließende Signierung des Hashwerts. • Vorteil: • Nur relativ kleiner Hashwert zu signieren, während Dokument beliebig* groß sein kann: • Geringerer Berechnungsaufwand gerade bei asymmetrischen Verfahren. • Für Signaturverfahren werden starke Hashfunktionen verwendet. • Schwache Hashfunktionen nur, wenn zu signierendes Dokument vor Signaturvorgang noch verändert wird. (Voranstellen eines Präfixes) Dr. Wolf Müller

  19. Signierter Hash (2) Dr. Wolf Müller

  20. Konstruktion sicherer Hashfunktionen H • Bestehen in der Regel aus Folge gleichartiger Kompressionsfunktionen G, die Mblockweise zu Hashwert verarbeitet. • Eingaben variabler Länge durch Iteration behandelt. • Start mit festgelegtem Initialisierungswert IV (Bestandteil der Spezifikation des Hash-Algorithmus) M1 M2 Mn+ Padding Initial- wert G G G … Hashwert Dr. Wolf Müller

  21. Hashfunktionen auf Basis symmetrischer Blockchiffren Verwendung einfach, da Verschlüsselungsverfahren in vielen Anwendungsumgebungen bereits präsent sind. Dezidierte Hashfunktionen Effizient berechenbar Keine Exportbeschränkungen, Kryptoregulierungen Konstruktion sicherer Hashfunktionen (2) Kompressionsfunktion G Dr. Wolf Müller

  22. Blockchiffren-basierte Hashfunktionen DES • Aufteilung der Nachricht M in 56-Bit Blöcke • Benutzung dieser als DES-Schlüssel im jeweiligen Berechnungsschritt • 64-Bit Hashwert wird aus vorgegebenenIV und den n Eingabeblöcken errechnet, Ausgabe der i-ten DES-Verschlüsselung XOR-verknüpft in die (i+1)-te Verschlüsselung einfließt. • Hier: schwache Hashfunktion • Starke Hashfunktion auch realisierbar, Hashwert sollte mindestens doppelte Blockgröße haben, oft aufwendig • Padding: Unterschiedliche Nachrichten müssen sich auch nach Padding noch unterscheiden. Dr. Wolf Müller

  23. Dezidierte Hashfunktionen: Überblick • Veraltet: • Message Digest Algorithm 2 • 1989 von Ronald L. Rivest • MD4 Message-Digest 4 • 1990 von Ronald L. Rivest • besonders schnell auf 32 Bit-Rechnern, • einfach in der Implementierung einfach • Hashwert 128 Bit. • Prominent: • MD5 • Weiterentwicklung von MD4 • Hashwert 128 Bit, 512-Bit Eingabeblöcke • SHA-1 (SHA-0) (SecureHash Algorithmus) • NIST (National Institute of Standards and Technology), NSA (National Security Agency) • 160 Bit-Hashwert, • Für Nachrichten bis zu 264 Bit. • Empfohlen: • SHA-256, SHA-384, SHA-512 Dr. Wolf Müller

  24. Hashfunktion: MD5 md5("Franz jagt im komplett verwahrlosten Taxi quer durch Bayern") = a3cca2b2aa1e3b5b3b5aad99a8529074 md5("franz jagt im komplett verwahrlosten Taxi quer durch Bayern") = 4679e94e07f9a61f42b3d7f50cae0aef md5("") = D41d8cd98f00b204e9800998ecf8427e • Breiter Einsatz: • PGP • Zertifikate • Software • rpm • Kommandos: md5sum (Unix, Windows) Dr. Wolf Müller

  25. Padding: Einzelnes Bit, 1, an das Ende der Nachricht angehängt. So viele Nullen wie nötig, um die Nachricht auf eine Länge von 64 Bits weniger als dem nächsten Vielfachen von 512 zu bringen. Übrigen Bits werden mit einer 64-Bit-Integerzahl = Länge der ursprünglichen Nachricht Wenn Platz kleiner als 64 Bits, ein zusätzlicher Block Hauptalgorithmus von MD5 mit 128-Bit-Puffer, = 32-Bit-Wörter A, B, C, D A, B, C, D mit Konstanten initialisiert. Komprimierungsfunktion mit dem ersten 512-Bit-Block als Schlüsselparameter aufgerufen. 4 Runden Jede Runde ist aus 16 auf einer nichtlinearen Funktion "F mit modularer Addition und Linksrotation 4 mögliche "F"-Funktionen, in jeder Runde eine andere: Eine MD5-Operation MD5 besteht aus 64 dieser Operationen (4 Runden mit jeweils 16 Operationen), F nichtlineare Funktion, die in der jeweiligen Runde benutzt wird Mi32-Bit Block Message Ki32-bit Konstante, verschieden für jede Operation Hashfunktion: MD5, Algorithmus Dr. Wolf Müller

  26. MD5: Sicherheitsproblem • MD5 weit verbreitet, ursprünglich als kryptografisch sicher angesehen. • IV zur Verarbeitung des ersten Eingabeblocks ist bekannt. • Angreifer: erschöpfende Suche (exhaustive search) Kollision ermitteln • Suche kann parallel durchgeführt werden • 1996 Dobbertin: Kollision in der Kompressionsfunktion von MD5. • Zwar kein Angriff auf die vollständige MD5-Funktion, dennoch Empfehlung für Umstieg auf Algorithmen wie SHA-1 oder RIPEMD-160 • August 2004: chinesische Forscher Kollisionen für die vollständige MD5-Funktion. • MD5 stellt keine starke Hashfunktion mehr da, man sollte SHA-1, besser SHA-256 verwenden, bzw. MD5 als HMAC Dr. Wolf Müller

  27. http://eprint.iacr.org/2004/199.pdf • IBM P690-Cluster benötigte ihr erster Angriff eine Stunde • Weitere Kollisionen innerhalb von maximal fünf Minuten • Angriff der chinesischen Forscher basiert auf Analysen. • Kollisionen: M (Text) und ein M'(Kollision) frei wählbar , so dass hash(M) = hash(M'). • (Noch) keine akute Gefahr für Passwörter, die als MD5-Hash gespeichert wurden, • eher eine Gefahr für digitale Signaturen. Dr. Wolf Müller

  28. Angriffe auf MD5 http://www.mathstat.dal.ca/~selinger/md5collision/ • Magnus Daum, Stefan Lucks zwei PostScript-Dateienmitidentischem MD5-HASH • Eduardo Diaz zweiProgramme in zweiArchivenmitselbem MD5-HASH (good / evil) • Didier Stevens verwendete “evilize program” zurErzeugung von “two different programs with the same Authenticode digital signature”. Authenticode ist Microsoft's code signing mechanism, default ist SHA1 aberunterstütztnoch MD5. (Jan 17, 2009). • http://blog.didierstevens.com/2009/01/17/playing-with-authenticode-and-md5-collisions/ • http://www.mathstat.dal.ca/~selinger/md5collision/evilize-0.1.tar.gz • http://www.win.tue.nl/hashclash/SoftIntCodeSign/ MD5 nichtmehrverwenden! Dr. Wolf Müller

  29. Secure Hash Algorithm (SHA-0,1) • Gruppe standardisierter kryptografischer Hashfunktionen. Das • NIST, NSA • Zum Signieren gedachte sichere Hashfunktion für den Digital Signature Standard (DSS). • Zunächst in zwei Varianten, SHA-0 und SHA-1 (Unterschiede der durchlaufenen Runden bei der Generierung des Hashwertes) • Längeren Hashwert von 160 Bit, widerstandsfähiger gegen Brute-Force-Angriffe und Kollisionen. • Design-Fehler im 1993 veröffentlichten Algorithmus wurde im heute gebräuchlichen, 1995 veröffentlichten SHA-1 Algorithmus korrigiert. • Für SHA-1 waren bis Anfang 2005 keine wirkungsvollen kryptografischen Angriffe bekannt. • Durch den Einsatz einer fünften Variablen ist SHA-1 auch im Vergleich zu MD5 resistenter gegen Kollisionen. Dr. Wolf Müller

  30. Schwächen: SHA-1 • 15. Februar 2005: Bruce Schneier meldet in seinem Blog:http://www.schneier.com/blog/archives/2005/08/new_cryptanalyt.html • Gruppe von chinesischen Wissenschaftlern an der Shandong University hat erfolgreich SHA-1 und SHA-0 gebrochen. • Aufwand zur Kollisionsberechnung von 280 auf 269. • Noch ein erheblicher Rechenaufwand, deshalb (derzeit) ohne praktischen Auswirkungen • Außerdem wurde diese Berechnung der Kollision mit einem leicht modifizierten Algorithmus (ohne Padding) durchgeführt. • Erweiterungen: • NIST hat im August 2002 drei weitere Varianten vorgestellt • SHA-256, SHA-384 und SHA-512 • SHA-384 und SHA-512: Dateien bis zu einer Größe von 2128 Bit • Februar 2004 eine weitere Version, • SHA-224 Dr. Wolf Müller

  31. Empfehlung: BSI -Technische Richtlinie 02102 • https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102_V1_0_pdf.pdf SHA-224, SHA-256, SHA-384, SHA-512 Dr. Wolf Müller

  32. HASH in Zukunft SHA-3 NIST: cryptographichashAlgorithmCompetition 3. Runde http://csrc.nist.gov/groups/ST/hash/ Dr. Wolf Müller

  33. Message Authentification Code (MAC) Gegeben Familie {HK | K K } von Hashfunktionen, wobei K ein Schlüsselraum, HKeine starke bzw. schwache Hashfunktion ist. Die durch diese Familie definierte, parametrisierte Hashfunktion heißt Message Authentification Code (MAC) • Leistet Integrität und Authentizität. • Ist Hashfunktion mit Einwegeigenschaften, die zusätzlich noch geheimen Schlüssel K verwendet. • MAC = keyedone-wayfunction • K … MAC-Geheimnis • MAC keine Aussage über Authentizität der Daten an sich, oder Funktionalität von Code, sondern über Authentizität des Urhebers der Daten. Dr. Wolf Müller

  34. MAC: Einsatz Kommunikation zwischen Alice und Bob • Alice berechnet MAC mac eines DokumentsM, mit vorab vereinbartem geheimen Schlüssel KA,B. MAC(M, KA,B)=mac • Alice sendet Dokument M und mac an Bob. • Bob überprüft MAC der empfangenen NachrichtM‘unter Verwendung des ihm bekannten Schlüssels KA,B. Dokument ist authentisch, wenn MAC(M‘, KA,B)=mac‘ ?= mac =MAC(M, KA,B) • Realisierung mit Blockchiffren oder dezidierten Hashfunktionen möglich. Dr. Wolf Müller

  35. MD5-MAC • Häufig eingesetzt (SSL, IP-Sec) • Ergänzung um Schlüssel, Schlüssel als Bestandteil der zu hashenden Daten: M‘=M| KA,B • MD5-MAC=MD5(M‘) • KA,B sollte stets ans Ende des DokumentsM angefügt, nicht vorangestellt werden! • Sonst kann Angreifer Nachrichten konstruieren, die korrekten MAC ergeben, ohne den geheimen Schlüssel zu kennen. • Sicherheitsprobleme von MD5 bleiben, Einsatz von MD5 nur als HMAC. Dr. Wolf Müller

  36. HMAC • Idee: • Schlüssel wird benutzt, um Initialwert für Kompressionsfunktion festzulegen. • Hashfunktion wird als Black Box angesehen. • Gegeben: • Kryptografische HashfunktionH, die Eingabeblöcke der Länge rBytes verarbeitet • Schlüssel K, ebenfalls Länge r Bytes, wird erreicht durch: • |K|<r : Auffüllen mit Nullsequenz • |K|>r: Berechnung von H(K)=h, falls dann |h|<rwie unter 1. • Spezielle Strings ipad, opad (inner/outerPadding) • ipad = r-maligeKonkatenation von (36)16 =(00110110)2 • opad = r-maligeKonkatenation von (5C)16=(01011100)2 • HMAC: • HMAC(M,K)=H( K  opad, H( K  ipad,M )) RFC 2104 und RFC 6151 Dr. Wolf Müller

  37. HMAC (2) • Durchführung von Geburtstagsangriff auf HMAC, z.B. HMAC-MD5 erfordert, dass Angreifer mindestens 264 Blöcke unter der HMAC-Funktion komprimiert, um Kollisionswahrscheinlichkeit signifikant zu steigern. • Etwa 250000 Jahre Rechenzeit. Dr. Wolf Müller

More Related