03.12.2015 Schulung BS Datenverschlüsselung als Herausforderung in der digitalen Forensik Maurizio Tuccillo Frank Hauser
Agenda Grundlagen Codierungen Entropie Verschlüsselung Verfahren Schlüsselmanagement Kryptoanalyse Verschlüsselung auf allen Ebenen Angriffsvektoren Systematik
Grundlagen Codierungen Entropie
Zurück auf Feld 1 Das ABC (Alphabet)
Alphabete Rohmaterial der Informationsspeicherung Zur Ablage und Übermittlung von Information wird diese in Zeichen umgesetzt (Codierung) Buchstaben der Schriftsprache Laute der gesprochenen Sprache Farbpunkte eines Bildes Die zur Verfügung stehenden, unterscheidbaren Zeichen (Zeichensatz) bilden das Alphabet der Codierung Lateinisches Alphabet der geschriebenen deutschen Sprache Satz von Grundlauten für (synthetische) gesprochene Sprache Farbpalette für Bilddarstellungen (RGB 16.8 Mio. Farben) Kombinationen von Zeichen bilden Zeichenketten oder Wörter Anzahl möglicher Kombinationen abhängig von Zeichensatz und Länge: K = A L (K Kombinationen, A Zeichen, L Länge Zeichenkette)
Decodierung Rückholung der Information Codierung ist umkehrbare Umsetzungsvorschrift Decodierung stellt Information aus Zeichen wieder her Codierungen lassen sich in andere Codierungen überführen Beispiel Deutsche Sprache Lateinisches Alphabet ca. 100 Zeichen Blindenschrift (Braille) 42 Zeichen Computerdaten 2 Zeichen (0 und 1) K ä s e 01001011 10000100 01110011 01100101
Ordnung muss sein Merkmale und Muster Information weist spezifische Merkmale auf Sprache kennt Rechtschreibung, Syntax, Grammatik Codierung weist charakteristische Muster auf Wiederholende Abfolgen von Zeichen (Regelmässigkeiten) Relative Häufigkeit von Buchstaben: E 17.4%, G 3.01%, Q 0.02% Zeichen haben unterschiedlichen Informationsgehalt Erwartungswert: Ein E schliesst nur 82.6% der andern Zeichen aus, ein Q hingegen 99.98%! Paarungen: nach einem Q folgt zwingend ein U, nach SC folgt immer ein H Ordnung bedeutet Redundanz Gibt es ein Mass für die Ordnung / Redundanz? Kann man Information mit weniger Zeichen speichern?
Einfaches Rechenbeispiel zur Illustration Die deutsche Sprache kennt 5.3 Mio. Wörter Das lateinische Alphabet kennt 26 Buchstaben Mit welcher minimalen Wortlänge im lateinischen Alphabet (nur Grossbuchstaben!) könnten sämtliche Wörter der deutschen Sprache abgedeckt werden? K = A L = 26 L = 5300000 L = 4.75 5 Guinness-Buch der Rekorde: Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbe amtengesellschaft ist längstes deutsches Wort Wobei: es gibt in der deutschen Sprache kein längstes Wort! Gegenbeispiel: -sgründungsurkunde
Entropie ein Mass für die Ordnung Definition (Wikipedia): Entropie ist ein Maß für den mittleren Informationsgehalt oder auch Informationsdichte einer Nachricht Verhältnis zwischen vorkommenden und möglichen Zeichenketten Tiefe Entropie Kleine Informationsdichte Viel Ordnung, viel Redundanz Grosse Kompressionsfähigkeit Hohe Entropie Grosse Informationsdichte Wenig Ordnung, wenig Redundanz Kleine Kompressionsfähigkeit
Datenkompression die Platz sparende Codierung Weglassen von redundanter Information Maximale Informationsdichte minimale Dateigrösse Die Entropie der codierten Daten soll möglichst gross sein!
Verschlüsselung eine «geheime» Codierung Verschlüsselung ist eine Codierung Verlustfrei umkehrbare Form der Informationsspeicherung Effiziente Codierung (geringer Aufwand) Mit Geheimnis effiziente Decodierung Ohne Geheimnis schwierige (optimal: unmögliche) Decodierung Simples Beispiel zur Illustration (mit Primzahlen) Information I = 170063 (1. Primzahl) Geheimnis G = 1270037 (2. Primzahl) Codierung C = I * G = 215986302331 (Produkt) Dekodierung mit Geheimnis I = C / G = 170063 Dekodierung ohne Geheimnis? Faktorisierung: Möglichkeiten durchprobieren Zwei Lösungen möglich
Wann ist ein Problem schwierig? Ein Problem ist schwierig, wenn die Lösung nicht innert nützlicher Frist gefunden werden kann Abhängig von Lösungsstrategie Abhängig von verfügbaren Mitteln Beispiel Faktorzerlegung von C = 215986302331 Papier und Bleistift: Jahre Taschenrechner: Monate Computer: Sekunden Beispiel Faktorzerlegung von C (1000-stellige Zahl) Heutiger Computer: Mia. Jahre Zukünftiger Computer:? Clevere Lösungsstrategie wenn Mittel nicht reichen
Lösungsstrategie Verräterische Ordnung Scrambling Gmäeß eneir Sutide eneir elgnihcesn Uvinisterät ist es nchit witihcg, in wlecehr Rneflogheie die Bstachuebn in eneim Wrot snid, das ezniige was wcthiig ist, ist, dass der estre und der leztte Bstabchue an der ritihcegn Pstoiion snid. Klartext Gemäß einer Studie einer englischen Universität ist es nicht wichtig, in welcher Reihenfolge die Buchstaben in einem Wort sind, das einzige was wichtig ist, ist, dass der erste und der letzte Buchstabe an der richtigen Position sind. Symbolersetzung va e Fghqv va e atyvfpu a av efvg g vfg f avpug jvpugvt, va j ypu e E vu asbyt qv Ohpufgno a va va Jbeg fvaq, qnf vamvt jnf jvpugvt vfg, vfg, qnff q e efg haq q e y gmg Ohpufgno na q e evpugvt a Cbfvgvba fvaq. Entropie der drei Texte ist gleich!
Starke Verschlüsselung möglichst wenig Ordnung Decodierung soll sich nicht aus Codierung ableiten lassen In den codierten Daten sollen möglichst wenige (optimal: keine) Merkmale der ursprünglichen Information erkennbar sein Die Entropie der codierten Daten soll möglichst gross sein! Verschlüsselung und Kompression haben vergleichbare Zielsetzung!
Zusammenfassung Codierungen Umsetzungsvorschrift von Informationen in Daten Daten sind Ansammlungen von Zeichen Alle verfügbaren Zeichen bilden das Alphabet einer Codierung Codierungen müssen verlustfrei umkehrbar sein (Decodierung) Entropie Mass für die Ordnung resp. die Informationsdichte von Daten Komprimierte Daten weisen hohe Entropiewerte aus (Stark) Verschlüsselte Daten weisen hohe Entropiewerte aus Kleine Datei hohe Entropie: Eher komprimierter Inhalt Grosse Datei hohe Entropie: Eher verschlüsselter Inhalt
Verschlüsselung Verfahren Schlüsselmanagement
Gesetzliche Regelung In Deutschland, Österreich und der Schweiz gibt es zur Zeit keine Regelung über die Verwendung von (starker) Kryptografie
Verschlüsselung Verschlüsselung (auch: Chiffrierung) ist die von einem Schlüssel abhängige Umwandlung von Klartext genannten Daten in einen Geheimtext (auch: Chiffrat ), so dass der Klartext aus dem Geheimtext nur unter Verwendung eines geheimen Schlüssels wiedergewonnen werden kann. Sie dient zur Geheimhaltung von Nachrichten, beispielsweise um Daten gegenüber unbefugtem Zugriff zu schützen oder um Nachrichten vertraulich übermitteln zu können (Wikipedia, 15.10.2015)
Nicht nur auf Texte anwendbar! Klartext Die mittels einer öffentlich bekannten Codierung abgelegte Information Geheimtext (Chiffrat) Durch ein Geheimnis verändert abgelegte Information
Warum verschlüsseln? Codierungen sind verlustfrei umkehrbar Die in den Daten abgelegte Information ist für jeden zugänglich, der das Verfahren zur Decodierung kennt Schutz der Privatsphäre Information nur ausgewählten Personen zugänglich machen Nachweis der Echtheit Information stammt von behaupteter Quelle
Gestatten: Alice und Bob (und Eve) In der Kryptologie verwendete Charaktere zur Illustration von Verschlüsselungsvorgängen Alice und Bob wollen miteinander kommunizieren Eve ist an den ausgetauschten Inhalten interessiert Alice und Bob treffen (kryptographische) Massnahmen, um das Abhören durch Eve zu verhindern
1. Möglichkeit Geheimes Verfahren o. Schlüssel (1) Verfahren zur Codierung/Decodierung nur ausgewählten Personen bekannt Beispiel: Voynich-Manuskript (um 1500 n. Chr.) Beispiel: Rot-x, x = Position des Zeichens in Zeichenkette Klartext 1: Dies ist mein Geheimnis Klartext 2: Dies ist dein Geheimnis Geheimtext 1: Ekhw ozb wpua Vuywbgiep Geheimtext 2: Ekhw ozb npua Vuywbgiep
1. Möglichkeit Geheimes Verfahren o. Schlüssel (2) Austausch zwischen Partnern beschränkt sich auf (einmalige) Festlegung des Verfahrens Kein Austausch von Schlüsselmaterial Kann sehr sicher gemacht werden Bei Bekanntwerden des Verfahrens alle Nachrichten gefährdet Separate Verfahren pro Partner Begriff Security by Obscurity gilt fast schon als Schimpfwort Heute selten eingesetzt (Spezialanwendungen, Nachrichtendienste)
2. Möglichkeit Öffentliches Verfahren m. Schlüssel Verfahren von Codierung/Decodierung öffentlich, Schlüssel nur ausgewählten Personen bekannt Beispiel: Rot-x, vereinbartes x Alle kennen Rot-x, aber nur ausgewählte Personen kennen x Klartext: Dies ist mein Geheimnis Geheimtext (x = 3): Glhv lvw phlq Jhkhlpqlv Geheimtext (x = 13): Qvrf vfg zrva Trurvzavf Schlüssel pro Nachricht / pro Partner wählbar Bekanntwerden eines Schlüssels betrifft nur einzelne Nachrichten Austausch zwischen Partnern umfasst Schlüssel zu Nachricht Heute häufigste Implementation
Anforderungen an Verschlüsselungsverfahren Das Verschlüsselungsverfahren soll eine effiziente, mit Schlüssel versehene Codierung darstellen Das entstehende Chiffrat soll möglichst wenige Merkmale des ursprünglichen Klartext aufweisen (maximale Entropie) Die Umkehrung (Decodierung) soll mit Schlüssel effizient und verlustfrei erfolgen können Die Umkehrung (Decodierung) ohne Schlüssel soll ein schwieriges (optimal: unlösbares) Problem darstellen
Verschlüsselung im Computerbereich Verschlüsselung: Umwandlung eines interpretierbaren Datenstroms mithilfe eines kryptografischen Verfahrens (Vorschrift, plus Geheimelement) in einen nichtinterpretierbaren Datenstrom Entschlüsselung: Umwandlung eines verschlüsselten Datenstroms mithilfe eines kryptografischen Verfahrens (Vorschrift, plus Geheimelement) in einen interpretierbaren Datenstrom
Symmetrische Verfahren (1) Ein einziges Schlüsselelement dient sowohl der Verschlüsselung als auch der Entschlüsselung Sehr effiziente, schnelle Verfahren Eignen sich besonders zur Verarbeitung grosser Datenmengen Verwaltung/Austausch der Schlüssel ist problematisch Eignen sich nur für Verschlüsselung
Symmetrische Verfahren (2) Prinzip: Was mit dem Schlüssel verschlüsselt wurde kann nur mit diesem wieder entschlüsselt werden Aktuelle Beispiele: 3DES, IDEA, AES, u.v.m. Sicherheit gewährleistet ab Schlüssellänge 128 bit (besser 256 bit) Anwendungen Datenträger-/Containerverschlüsselung (BitLocker, TrueCrypt, ZIP) Kommunikationsverschlüsselung (IPsec, VPN) Dokumentenverschlüsselung (Office)
Symmetrische Verfahren (3) Problematische Schlüsselverwaltung Pro Session / Partner ein Schlüssel Anzahl Schlüssel wächst quadratisch: A = n * (n -1) / 2 2 Partner = 1 Schlüssel 3 Partner = 3 Schlüssel 4 Partner = 6 Schlüssel 10 Partner = 45 Schlüssel 100 Partner = 4950 Schlüssel Austausch über zweiten, unabhängigen oder verschlüsselten Kanal Austausch von mehreren Schlüsseln im Vorfeld, Einigung bei Bedarf Austausch von Information, welche zum Schlüssel führt (Bingo-Karte)
Asymmetrische Verfahren (1) Verwendung eines zusammengehörigen Schlüsselpaars zur Ver- und Entschlüsselung Verwaltung/Austausch der Schlüssel ist einfach Eignen sich für Verschlüsselung und Signatur Komplexe, langsame Verfahren Ungeeignet für grosse Datenmengen
Asymmetrische Verfahren (2) Prinzip: Was mit dem einen Schlüssel des Paares verschlüsselt wurde kann nur mit dem zweiten passenden Schlüssel wieder entschlüsselt werden (und umgekehrt!) Aktuelle Beispiele: RSA, PGP Schlüssellängen ab 1024 bit (besser 2048 bit) Anwendungen E-Mail-Verkehr (OpenPGP, S/MIME) Zertifikate / Signaturen Schlüsselverwaltung ist problemlos Reduktion auf 1 Schlüsselpaar unabhängig von Anzahl Partner Öffentlicher Schlüssel kann überall verteilt werden (kein Schutzbedarf) Privater Schlüssel wird nie herausgegeben (höchster Schutzbedarf)
Asymmetrische Verfahren Verschlüsselung (1) Bob will eine verschlüsselte Nachricht an Alice senden Alice besorgt sich ein zusammengehörendes Schlüsselpaar Sie bestimmt einen Schlüssel als public und veröffentlicht diesen Den zweiten Schlüssel private bewahrt sie gut geschützt bei sich auf Bob besorgt sich öffentlichen Schlüssel von Alice Er verschlüsselt damit die Nachricht und sendet diese unbesorgt an Alice
Asymmetrische Verfahren Verschlüsselung (2) Alice will Nachricht von Bob entschlüsseln Alice holt ihren privaten Schlüssel aus dem Tresor Nur sie verfügt über den passenden Schlüssel, um die Nachricht zu entschlüsseln
Asymmetrische Verfahren Signatur (1) Alice will ein Dokument / eine Nachricht für Bob signieren Alice verwendet wiederum ihr zusammengehörendes Schlüsselpaar Alice verfasst das Dokument / die Nachricht und berechnet den Hashwert über den Inhalt (Message Digest) Alice verschlüsselt den Message Digest mit ihrem privaten Schlüssel und erhält so eine digitale Signatur Diese hängt sie an das Dokument / die Nachricht und verschickt alles an Bob
Asymmetrische Verfahren Signatur (2) Bob will die Signatur des Dokuments / der Nachricht von Alice überprüfen Bob erhält von Alice das Dokument / die Nachricht mit Signatur Bob berechnet seinerseits den Hashwert (Message Digest) über das Dokument / die Nachricht Bob besorgt sich öffentlichen Schlüssel von Alice, entschlüsselt damit die digitale Signatur und erhält den signierten Message Digest des Dokuments / der Nachricht Bob vergleicht die beiden: Bei Übereinstimmung ist das Dokument / die Nachricht unverändert und nur Alice kann die Signatur erstellt haben
Hybride Verfahren (1) Verwendung eines symmetrischen Verfahrens zur Ver- und Entschlüsselung der Massendaten Sehr effiziente, schnelle Verfahren zur Verarbeitung grosser Datenmengen Verwendung eines zusammengehörigen Schlüsselpaars zur Ver- und Entschlüsselung des symmetrischen Schlüssels Verwaltung/Austausch der Schlüssel ist einfach Geeignet für den Austausch des symmetrischen Schlüssels
Hybride Verfahren (2) Prinzip: Kombination eines symmetrischen Verfahrens für effiziente Massendatenverarbeitung, mit einem asymmetrischen Verfahren für den Schlüsselaustausch Aktuelle Beispiele: EFS, VPN Schlüssellängen ab 128 bit symmetrisch / 1024 bit asymmetrisch
Hybride Verfahren Sichere Übertragung (1) Verschlüsselung durch Absender
Hybride Verfahren Sichere Übertragung (2) Entschlüsselung beim Empfänger
Problemfeld Schlüsselverwaltung Wie wird ein sicherer Schlüssel gewählt? Sollte eine genügende Länge und Komplexität besitzen Sollte nicht erraten oder abgeleitet werden können Wo wird er aufbewahrt? Muss selber geschützt werden Darf nur berechtigten Personen zugänglich sein Muss zur Hand sein, wenn er benötigt wird Wie kann er sicher ausgetauscht werden? Muss sicher übermittelt werden können (zweiter Kanal, Verschlüsselung, )
Ansätze Schlüsselmaterial wird von System erstellt Über Zufallsverfahren oder aus Benutzereingabe generiert Schlüsselmaterial wird nie offen (Klartext) oder ungeschützt abgelegt Eingabe von Passwort oder PIN Schlüsselmaterial wird bei Gebrauch aus Benutzereingabe erzeugt z.b. Hash von Passwort oder Passphrase Schlüsselmaterial wird (wenn überhaupt nötig) nur über sichere Kanäle ausgetauscht z.b. mtan über SMS z.b. Passphrase über Telefon
Zusammenfassung Verfahren Symmetrische Verfahren verwenden gleichen Schlüssel für Verschlüsselung und Entschlüsselung (üblich 128/256 Bit) Symmetrische Verfahren sind effizient für grosse Datenmengen Asymmetrische Verfahren verwenden Schlüsselpaare für Verschlüsselung und Entschlüsselung (üblich 1024/2048 Bit) Asymmetrische Verfahren eignen sich nur für kleinere Datenmengen Heute übliche Verfahren gelten als sehr sicher (keine Angriffsvektoren) Schlüsselverwaltung Aufbewahrung und Austausch von Schlüsselmaterial sind heikle Phasen Mögliche Angriffsvektoren: Auffinden von Schlüsselmaterial, Umgehung von Schutzmassnahmen (Guessing, Cracking, Brute Forcing)
Kryptoanalyse Verschlüsselung auf allen Ebenen Angriffsvektoren Systematik
Quizfrage Was ist wichtiger: Der verschlüsselte Inhalt oder die Kenntnis des Zugangspassworts? Im Allgemeinen interessiert der verschlüsselte Inhalt mehr Aus forensischer Sicht kann das Passwort jedoch einen starken Hinweis auf die Authentizität der Daten liefern
Verschlüsselung auf Applikationsebene Applikation bietet verschlüsselte Ablage von Daten an Office-/PDF-Dokument oder Container (ZIP, RAR, TrueCrypt) Verfahren Meist symmetrische Verschlüsselung (DES/AES) Schlüssel bei Gebrauch aus Passphrase erzeugt (proprietärer Vorgang) Schlüssel wird für Dauer des Gebrauchs im RAM gespeichert Angriffsvektoren Schlüsselsuche in RAM (Dump), hiberfil.sys oder pagefile.sys Liefert nur Zugang zu Inhalten Index Attack oder Brute Force Attack auf Passphrase langsam Liefert Passphrase und Zugang zu Inhalten
Verschlüsselung auf Ebene Dateisystem Dateisystem bietet (transparente) Verschlüsselung von Daten an NTFS EFS Verfahren Symmetrische Verschlüsselung, pro Datei ein Schlüssel (AES-128) Schlüssel mit Public Key der berechtigten Benutzer verschlüsselt und an Datei angeheftet Schlüssel wird für Dauer des Gebrauchs mit Private Key des Benutzers entschlüsselt und im RAM gespeichert Private Key mit Passwort des Benutzers geschützt Angriffsvektoren Nur auf Passwort des Benutzers möglich Liefert Zugang zu Private Key und allen Inhalten
Verschlüsselung auf Ebene Partition (Volume) Betriebssystem oder Applikation bietet (transparente) Verschlüsselung ganzer Partitionen (Volumes) an BitLocker, FileVault, Apple Disk Image, TrueCrypt, DriveCrypt Verfahren Symmetrische Verschlüsselung, pro Volume ein Schlüssel (AES-128) Schlüssel in TPM / externem Datenträger / Datei abgelegt oder bei Gebrauch aus Passphrase erzeugt Schlüssel wird für Dauer des Gebrauchs im RAM gespeichert Angriffsvektoren Schlüsselsuche in RAM (Dump), hiberfil.sys, pagefile.sys oder externen Ablagen (Recovery) Liefert nur Zugang zu Inhalten Suche nach Passphrase in externen Ablagen
Verschlüsselung auf Ebene Datenträger Datenträger bietet (transparente) Verschlüsselung von Daten an USB-Sticks oder externe Festplatten mit Cryptocontroller (WD MyBook) Verfahren Symmetrische Verschlüsselung, pro Datenträger ein Schlüssel Schlüssel bei Gebrauch aus Passphrase im Controller erzeugt Schlüssel wird für Dauer des Gebrauchs im RAM des Controllers gespeichert Angriffsvektoren Suche nach Passphrase in externen Ablagen Liefert Zugang zu Private Key und allen Inhalten
Überblick Typ Ebene Verfahren Schlüsselablage Offline Schutz Schlüsselgenerierung / Schlüsselrecovery Schlüsselablage Online Mögliche Angriffsvektoren BitLocker Boot Partition AES TPM ext. Datenträger TrueCrypt DriveCrypt User Partition ext. Datenträger VHD Boot Partition Symmetrisch AES u.a. HW / PIN - - - BitLocker PW BitLocker Recovery Key BitLocker Recovery Key RAM RAM Dump Pagefile hiberfil RAM RAM Dump Pagefile hiberfil BitLocker PW - - PW RAM RAM Dump Pagefile hiberfil TrueCrypt PW User Partition - - PW (mehrere) Key File Container - - PW (mehrere) Key File RAM RAM RAM Dump Pagefile hiberfil TrueCrypt PW RAM Dump Pagefile hiberfil TrueCrypt PW FileVault Disk AES WipeKey.plist User PW Recovery Key RAM RAM Dump User PW Apple Disk Image VHD AES - - PW RAM PW EFS Dateisystem DES / AES RSA Passwort Alternate Datastream Certificate Store SAM RSA Zertifikat Passwort Hash / Syskey EFS Recovery Agent - - RAM RAM - User PW ZIP / RAR Container Symmetrisch DES / AES - - PW RAM PW Office PDF Dokument Symmetrisch DES / AES - - PW RAM PW
Verfahren selbst nicht angreifbar! Heutige Verfahren gelten als sicher und erprobt Veröffentlichte Verfahren kein Versteck für Hintertüren Wettbewerb Verfahren müssen sich gegen Konkurrenz durchsetzen Breite Überprüfung Geheimdienste und Hacker suchen Schwächen Austausch bei Auftauchen einer Schwäche schnell ersetzt Angriff für uns chancenlos Fokus auf Finden von Schlüsselmaterial!
Oberstes Ziel: Schlüsselmaterial orten! Bei laufenden Systemen (und offenen Verschlüsselungen) RAM sichern Pagefile.sys und Hiberfil.sys sichern Schlüsselmaterial (Recovery Keys) auf externen Datenträgern USB-Sticks, Dongles, Recovery Boot Medien Datensicherungen, Datenarchive Printouts Passwortablagen (Hash) System-Caches Passwort-DB lokal oder auf Zweit-Devices (Smartphone) Papiernotizen
Angriff auf symmetrischen Schlüssel Symmetrische Verschlüsselungsverfahren Sehr effizient, sehr schnell, für grosse Datenmengen geeignet Schlüssel durchprobieren möglich Entschlüsselungsraten mit GPU: 10 9 pps aber unrealistisch Anzahl Schlüssel: 2 128 10 38 (AES-128) oder 2 256 10 77 (AES-256) Benötigte Zeit: 10 29 s 10 21 y (AES-128) Schlüsselgenerierung aus PW Entschlüsselungsraten mit GPU: 10 3 pps Anzahl PW (8-stellig): 100 8 = 10 16 Benötigte Zeit: 10 13 s 10 5 y
Angriff auf Passwort-Hash NTLM, SHA-1, MD5 Berechnungsraten mit GPU: 10 9 pps Lexikalische Attacke (mit Modifikationen) Lexikon: Standard oder User spezifisch Modifikation: Gross-/Kleinschreibung, Textumkehrung Modifikation: Präfix und/oder Suffix Kombination: mehrere Einträge Brute Force Attacke Anzahl PW (8-stellig): 100 8 = 10 16 Benötigte Zeit: 10 7 s 10 2 d Rainbow Tables Wie Brute Force aber Beschleunigung durch Vorleistung
Rainbow Tables (1) Idee: Liste mit PW und zugehörigen Hashwerten erstellen Hashwerte aus PW im voraus berechnen und in Liste ablegen Liste nach Hashwerten sortieren und im Bedarfsfall PW nachschlagen Problem: Liste mit Einträgen wird zu lang (8-stellig 10 16 Einträge) Unkomprimiert: 10 16 Einträge zu 100 Byte = 10 18 Byte = 1 Mio. TB! Lösung: Kompression durch Weglassung Bildung von langen Ketten (z.b. 100 Mio. Einträge): PW 1 1 Hash 1 1 PW 1 2 Hash 1 2 PW 1 X Hash 1 X PW 2 1 Hash 2 1 PW 2 2 Hash 2 2 PW 2 X Hash 2 X PW X 1 Hash X 1 PW X 2 Hash X 2 PW X X Hash X X Ablage jeweils nur von erstem und letztem Element jeder Kette
Rainbow Tables (2) Anwendung: Identifikation der richtigen Kette und Nachberechnung Vergleich gesuchter Hashwert MyHash1 mit allen Kettenenden Hash Y X Treffer in Kette Y richtige Kette identifiziert mit PW Y 1 einsteigen und rechnen bis Kettenende (100 Mio. Schritte) Kein Treffer Hashwert MyHash1 befindet sich im Innern einer Kette ein Zyklus rechnen (MyHash1 MyPW1 MyHash2) und Vergleich mit MyHash2 neu starten
Zusammenfassung Angriffsvektoren Entschlüsselung ohne Schlüssel nicht möglich Durchprobieren aller Schlüssel nicht realistisch Suche nach Schlüssel in RAM (RAM Dump, pagefile, hiberfil) Generierung von Schlüssel aus Schlüsselmaterial (PW, Passphrasen) Extraktion von Schlüssel aus Ablagen und Sicherungen
Empfehlenswerte Literatur Singh, Simon: Geheime Botschaften. Die Kunst der Verschlüsselung von der Antike bis in die Zeiten des Internet. Deutscher Taschenbuch Verlag (1. Dezember 2001) Schmeh, Klaus: Kryptografie. Verfahren Protokolle Infrastrukturen. dpunkt.verlag GmbH; Auflage: 5., aktualisierte Auflage (27. Februar 2013) Freiermuth, Karin et al.: Einführung in die Kryptologie. Lehrbuch für Unterricht und Selbststudium. Springer Vieweg; Auflage: 2 (13. Oktober 2014)
Fragen