Was bisher geschah Sicherheitsziele: Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung) von Information beim Speichern und Übertragen Sicherheitsrisiken: menschliche Schwächen (z.b. Nutzer, Admin) technische Schwächen (z.b. Sicherheitslücken, Server, Schadsoftware) Sicherheitsmaßnahmen 21
Motivation Schutz von Informationen beim Übertragen über unsichere Kanäle Eve Spionage Nachricht m Nachricht m Alice Übertragungskanal Bob Beispiele für zu schützende Informationen: Geheimzahlen (Geldkarten, Mobiltelefon) Zugriffsdaten (Login-Daten, Passwörter) persönliche Daten (juristisch, medizinisch) Geheiminformationen in Wirtschaft, Militär Übertragung über unsichere Kanäle Internet, Intranet, WLAN Telefon Speichermedien Schutz vor Abhören Veränderung, Fälschung 22
Ziele Garantie von Authentizität (Beweis der Identität des Senders) Integrität (Schutz von Veränderung während der Übermittlung) Verbindlichkeit (Empfänger kann beweisen, dass die Nachricht gesendet wurde) Geheimhaltung (Lesen der Information durch Unbeteiligte unmöglich) der übertragenen Informationen 23
Nachrichtenaustausch über abhörbare Kanäle Sender (Alice) und Empfänger (Bob) vereinbaren 1. ein Verschlüsselungsverfahren 2. geheime Schlüssel k A, k B zur Verschlüsselung der Nachricht m von A an B Eve Alice (k A, m) c c Übertragungskanal (unsicher) c (k B, c) m Bob Verfahren: 1. A verschlüsselt die Nachricht m mit ihrem Schlüssel k A 2. A sendet verschlüsselte Nachricht c an B 3. B entschlüsselt die verschlüsselte Nachricht mit seinem Schlüssel k B (Wiederherstellung der ursprünglichen Nachricht) Ziel: Spion (Eve) kann verschlüsselte Nachricht zwar abhören, aber nicht (bzw. nur sehr schwierig) entschlüsseln. 24
Beispiel: Verschiebechiffren Caesar-Code a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 1. Verfahren: Verschlüsselung: Ersetzung jedes Buchstabens durch den Buchstaben, der k Positionen später im Alphabet vorkommt. Entschlüsselung: Ersetzung jedes Buchstabens durch den Buchstaben, der k Positionen früher im Alphabet vorkommt. 2. geheimer Schlüssel: k = 3 Beispiel für Nachricht m =streng geheim 1. A verschlüsselt m = streng geheim zu c =VWUHQJ JHKHLP 2. A sendet c = VWUHQJ JHKHLP an B 3. B entschlüsselt c = VWUHQJ JHKHLP zu m =streng geheim 25
Brechen von Verschiebe-Chiffren bekannt: unbekannt: Verfahren (k-verschiebung) Schlüssel k Brute Force: Ausprobieren aller 26 möglichen Schlüssel durch Nachdenken: Analyse der Häufigkeiten von Buchstaben und Buchstabengruppen Schlüsselberechnung aus einem bekannten Paar (Klartext, Geheimtext) einfach Beispiele: Klartext: caesar Geheimtext: XVZNVM Schlüssel:? Geheimtext: YRXO CSMROBROSD SCD UOSXO PBOSROSD Schlüssel:? Klartext:? 26
Kryptosysteme Kryptosystem (M, C, K, E, D) mit Menge M von Klartexten (Klartextraum) Menge C von Schlüsseltexten (Chiffretextraum) Menge K von Schlüsseln (Schlüsselraum) Menge von Verschlüsselungsfunktionen E = {e : K M C k K } Menge von Entschlüsselungsfunktionen D = {d : K C M k K } und der Eigenschaft: Zu jeder Verschlüsselungsfunktion und jedem Schlüssel k existiert eine passende Entschlüsselungsfunktion und ein Schlüssel k, so dass für jeden Klartext m M gilt: d(k, e(k, m)) = m 27
Kryptosystem für Verschiebe-Chiffre 26 Buchstaben {a,..., z} Kryptosystem (M, C, K, E, D) mit M = {a,..., z} C = {A,..., Z } K = {0,..., 25} E = {e : K M C k K und e(k, m 1 m n ) = e(k, m 1 ) e(k, m n )} wobei für alle Klartextsymbole m i der Wert e(k, m i ) aus der Tabelle für k abgelesen wird (oben nach unten) D = {d : K C M k K und d(k, c 1 c n ) = d(k, c 1 ) d(k, c n )} wobei für alle Chiffresymbole c i der Wert d(k, c i ) aus der Tabelle abgelesen wird (unten nach oben) Caesar-Code: Verschiebe-Chiffre mit k = 3 Tabelle für k = 3: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 28
Symmetrische und asymmetrische Verfahren Private-Key-Verfahren: gleicher Schlüssel zum Ver- und Entschlüsseln (symmetrisches Verahren) Partner müssen einen gemeinsamen geheimen Schlüssel vor der Übertragung vereinbaren Public-Key-Verfahren: verschiedene Schlüssel zum Ver- und Entschlüsseln (asymmetrisches Verfahren) Empfänger hat zwei Schlüssel (öffentlich, geheim) Sender verschlüsselt mit öffentlichem Schlüssel des Empfängers Empfänger entschlüsselt mit seinem eigenen geheimen Schlüssel 29
Verschlüsselung Kryptologie zwei Teilgebiete Kryptographie Sicherung von Information durch Verschlüsseln (macht Information für Dritte unverständlich) Kryptanalyse Brechen von Verschlüsselungen Steganographie Sicherung von Information durch Verstecken (z.b. Geheimtinte, Schielbilder, Wasserzeichen) 30
Kryptanalyse: Voraussetzungen Voraussetzungen für technische Angriffe: Ciphertext-Only Kryptanalytiker kennt nur ein Stück vom verschlüsselten Text c = e(k, m) Known-Plaintext Kryptanalytiker kennt ein Paar (m, e(k, m)) Chosen-Plaintext Kryptanalytiker kann zu beliebigem Klartext m den verschlüsselten Text e(m) bestimmen (Zugriff auf die Verschlüsselungsfunktion) Chosen-Ciphertext Kryptanalytiker kann zu verschlüsseltem Text c den Klartext m = d(k, c) bestimmen (Zugriff auf die Entschlüsselungsfunktion) 31
Kryptanalyse: Methoden Ciphertext-Only-Angriffe: Brute-force Testen aller möglichen Schlüssel bricht in ausreichender Zeit fast alle Kryptosysteme bei hinreichend langen Schlüsseln ist Erfolg wenig wahrscheinlich Häufigkeitsanalyse Häufigkeiten von Buchstaben und Buchstabenkombinationen in der Klartext-Sprache http://www.staff.uni-mainz.de/ pommeren/kryptologie/klassisch/1_ Monoalph/deutsch.html statistische Eigenschaften (z.b. Trennsymbole, Struktur von Adressen, Länge und typische Muster in Zeitangaben) Schwachstelle jedes kryptographischen Verfahrens: Geheimnisträger (angreifbar z.b. durch Gewalt, Bestechung, psychologische Tricks) 32
Qualität kryptographischer Verfahren Aufwand eines (erfolgreichen) Angriffes: Rechenzeit (abhängig von Schlüssellänge) Speicherplatzbedarf Datenkomplexität (Größe der benötigten Datenmenge) Kryptographisches Verfahren heißt sicher, falls gilt: Aufwand eines Angriffes übersteigt den Wert der zu schützenden Information. Rechenzeit erfolgreicher Angriffe ist größer als Zeit des notwendigen Schutzes der Information. Zu verschlüsselnde Datenmenge ist kleiner als die für einen erfolgreichen Angriff benötigte. zusätzliche Qualitätskriterien: Kryptographisches System heißt schwach nur sicher, solange Schlüssel und Verfahren geheim sind. stark sicher, solange der Schlüssel geheim ist, Verfahren allgemein bekannt 33
Klassische symmetrische Verfahren Substitutionschiffren Ersetzung jedes Klartextsymboles durch ein Chiffretextsymbol monoalphabetisch: Abbildung eines Klartextsymboles auf eindeutiges Symbol Beispiele: Permutations-Chiffren polyalphabetisch: Abbildung eines Klartextsymboles auf mehrere Symbole (erschwert Häufigkeitsanalyse) Beispiel: Vigenère-Chiffre Transpositionschiffren Vertauschung der Positionen der Klartextbuchstaben Beispiele: Würfel 34
Rechnen mit Restklassen ( mod n) Für zwei Zahlen a, b Z heißt a genau dann Teiler von b, wenn eine Zahl x Z existiert, so dass ax = b gilt. Notation: a b Beispiele: Gilt 2 3, 2 4, 4 4, 1 0, 2 0, 0 0, 0 2? a und b genau dann kongruent modulo n N, wenn n ein Teiler von a b ist (also n (a b) gilt). Notation: a n b Beispiele: Gilt 2 5 27, 2 0 27, 5 2 27, 2 3 27, 2 1 0? Rest von a modulo b (Notation: a mod b) ist die kleinste Zahl r 0 mit r b a Beispiele: 2 mod 27 = 1, 27 mod 7 = 6, 27 mod 3, 2 mod 0, 2 mod 1, 1 mod 2? 35
Kryptosystem für allgemeine Verschiebe-Chiffren allgemein: Symbolbereich {0,..., n 1} Menge {0,..., n 1} aller endlichen Wörter mit Symbolen aus {0,..., n 1} Kryptosystem (M, C, K, E, D) mit M = C = {0,..., n 1}, K = {0,..., n 1} E = {e : K {0,..., n 1} {0,..., n 1} e(k, m 1 m l ) = e(k, m 1 ) e(k, m l ) wobei e(k, m i ) = (m i + k) mod n} D = {d : K {0,..., n 1} {0,..., n 1} d(k, c 1 c l ) = d(k, c 1 ) d(k, c l ) wobei d(k, c i ) = (c i k) mod n} ist ein Kryptosystem, weil für jedes Symbol s {0,..., n 1} gilt d(k, e(k, s))) = d(k, (s + k) mod n) = (((s + k) mod n) k) mod n = (s + k k) mod n = s und deshalb für jedes Wort m = m 1 m l M gilt: d(k, e(k, m)) = d(k, e(k, m 1 m l )) = d(k, e(k, m 1 ) e(k, m l )) = d(k, e(k, m 1 )) d(k, e(k, m l ))) = m 1 m l = m 36