c by Rolf Haenni (2006) Seite 1 Von der Caesar-Verschlüsselung zum Online-Banking: Einführung in die moderne Kryptographie Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science and Applied Mathematics University of Berne, Switzerland Senioren-Universität, 8. Dezember 2006
Inhalt der Vorlesung c by Rolf Haenni (2006) Seite 2 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
www.lulu.com
Einführung Caesar-Verschlüsselung c by Rolf Haenni (2006) Seite 3 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
Einführung Caesar-Verschlüsselung c by Rolf Haenni (2006) Seite 4 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 Nachricht: veni vidi vici (Klartext) Code: YHQL YLGL YLFL (Chiffretext) Schlüssel?
Einführung Caesar-Verschlüsselung c by Rolf Haenni (2006) Seite 5 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 0 1 2 3 4 5 6 7 8 9 10 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Klartext: m = [M 1 M 2 M n ], wobei M i = 0,..., 25 Chiffretext: c = [C 1 C 2 C n ], wobei C i = 0,..., 25 Schlüssel: k = 0,..., 25 Verschlüsselung: C i = E k (M i ) = M i + k mod 26 Entschlüsselung: M i = D k (C i ) = C i k mod 26
c by Rolf Haenni (2006) Seite 6 Einführung Caesar-Verschlüsselung Caesar-Verschlüsselung = monoalphabetische Substitution Substitution = die Zeichen werden einzeln durch andere ersetzt monoalphabetisch = ein bestimmtes Zeichen wird immer durch das gleiche Zeichen ersetzt Schlüssel = k
Einführung Enigma c by Rolf Haenni (2006) Seite 7 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
c by Rolf Haenni (2006) Seite 8 Einführung Enigma Enigma = deutsche Verschlüsselungsmaschine im 2. Weltkrieg entwickelt in den 1920er und 1930er Jahren durch Arthur Scherbius mehrere zehntausend Maschinen im 2. Weltkrieg im Einsatz galt lange als absolut sicher wurde von den Polen und später von den Engländern im Bletchley Park entschlüsselt Entschlüsselung war kriegsentscheidend
c by Rolf Haenni (2006) Seite 9 Einführung Enigma Enigma = polyalphabetische Substitution Substitution = die Zeichen werden einzeln durch andere ersetzt polyalphabetisch = ein bestimmtes Zeichen wird nicht immer durch das gleiche Zeichen ersetzt Schlüssel = Rotorenpositionen & Steckerbrett
Einführung Enigma c by Rolf Haenni (2006) Seite 10 Sämtliche Substitutionsverfahren (mono- oder polyalphabetisch) können mittels Häufigkeitsanalyse geknackt werden 14 12 12.7 10 9.1 8 6 8.2 6.1 7.0 6.7 7.5 6.0 6.3 4 2 0 4.3 4.0 2.8 2.8 2.2 2.0 2.4 1.9 2.4 2.0 1.5 0.8 1.0 0.2 0.1 0.2 0.1 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
Symmetrische Verschlüsselung c by Rolf Haenni (2006) Seite 11 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
Symmetrische Verschlüsselung c by Rolf Haenni (2006) Seite 12 Der geheime Schlüssel muss über einen sicheren Kanal vereinbart werden (eingeschriebener Brief, persönliches Treffen, etc.)
Symmetrische Verschlüsselung c by Rolf Haenni (2006) Seite 13 In der digitalen Welt wird Information durch Bits (0 oder 1) und Bytes (= 8 Bits) dargestellt Zahlen: 0=[00000000], 1=[00000001], 2=[00000010],..., 255=[11111111] Text: A=65=[01000001], B=66,..., Z=90,..., a=97,... SW-Bilder: als Graustufen-Pixel schwarz=0=[0000000], weiss=255, grau=128, hellgrau=192,... Farbbilder: als RGB-Pixel schwarz=(0,0,0), rot=(255,0,0), gelb=(255,255,0),... Ton: diskretisierte Schallwelle min. Amplitude=0 (lautlos), max. Amplitude=255,...
Symmetrische Verschlüsselung One-Time Pad c by Rolf Haenni (2006) Seite 14 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
Symmetrische Verschlüsselung One-Time Pad c by Rolf Haenni (2006) Seite 15 Der One-Time-Pad gilt als absolut sichere Verschlüsselung Klartext: m = [M 1 M 2 M n ], wobei M i = 0, 1 Chiffretext: c = [C 1 C 2 C n ], wobei C i = 0, 1 Schlüssel: k = [K 1 K 2 K n ], wobei K i = 0, 1 Verschlüsselung: C i = E k (M i ) = M i + K i mod 2 Entschlüsselung: M i = D k (C i ) = C i + K i mod 2 Beispiel: m = 00111001 01011001 01001011 01011000 k = 10101011 00010100 10101101 01010110 c = 10010010 01001101 11100110 00001110
c by Rolf Haenni (2006) Seite 16 Symmetrische Verschlüsselung One-Time Pad Damit der One-Time-Pad absolut sicher ist, müssen die folgenden Voraussetzungen erfüllt sein: der Schlüssel muss über einen sicheren Kanal vereinbart werden der Schlüssel ist gleich lang wie die Nachricht der Bitfolge des Schlüssels ist absolut zufällig der Schlüssel wird nur einmal benutzt One-Time Pad Beispiele aus der Praxis: das rote Telefon (Telegraph-Verbindung zwischen Moskau und Washington) GSM-Mobiltelefonie (Schlüssel sind nicht absolut zufällig)
c by Rolf Haenni (2006) Seite 17 Symmetrische Verschlüsselung DES/AES Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
c by Rolf Haenni (2006) Seite 18 Symmetrische Verschlüsselung DES/AES Die wichtigsten symmetrischen Verschlüsselungsstandards sind: DES (Data Encryption Standard) 1976 bis heute immer noch weit verbreitet Schlüssellänge = 56 Bits gilt als unsicher AES (Advanced Encryption Standard) Gewinner eines internationalen Wettbewerbes seit Oktober 2000 Schlüssellänge = 128 oder 256 Bits gilt als sehr sicher Beide Verfahren sind sogenannte Produktchiffren, bei welchen Substitutionen (Caesar) mit Transpositionen kombiniert werden
c by Rolf Haenni (2006) Seite 19 Symmetrische Verschlüsselung DES/AES Bei einer Brute-Force-Attacke werden alle Schlüssel durchprobiert: Schlüssellänge Anzahl Schlüssel 10 6 Schlüssel/s 10 6 Schlüssel/µs 16 Bits 2 16 = 65536 32.7 ms 32.7 µs 32 Bits 2 32 = 4.3 10 9 35.8 Min. 2.2 ms 56 Bits 2 56 = 7.2 10 16 1142 Jahre 10.1 Std. 64 Bits 2 64 = 1.8 10 19 292353 Jahre 107 Tage 128 Bits 2 128 = 3.4 10 38 5.4 10 24 Jahre 5.4 10 18 Jahre 256 Bits 2 256 = 1.2 10 77 3.5 10 63 Jahre 3.5 10 57 Jahre 512 Bits 2 512 = 1.3 10 154 2.1 10 142 Jahre 2.1 10 136 Jahre 1024 Bits 2 1024 = 1.7 10 308 2.7 10 296 Jahre 2.7 10 290 Jahre Bemerkung: Grössenvergleich mit dem Universum Anzahl Teilchen: 4 10 78 bis 6 10 79 Alter: 13.7 10 9 Jahre,
Asymmetrische Verschlüsselung c by Rolf Haenni (2006) Seite 20 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
Asymmetrische Verschlüsselung c by Rolf Haenni (2006) Seite 21 Der Empfänger besitzt ein Schlüsselpaar, bestehend einen privaten Schlüssel k private und einen öffentlichen Schlüssel k public : Der öffentliche Schlüssel kann über einen unsicheren Kanal verteilt werden (z.b. übers Internet)
Asymmetrische Verschlüsselung RSA c by Rolf Haenni (2006) Seite 22 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
c by Rolf Haenni (2006) Seite 23 Asymmetrische Verschlüsselung RSA RSA ist das bekannteste asymmetrische Verfahren: wurde 1978 von Rivest, Shamir und Adleman entdeckt basiert auf der mathematischen Zahlentheorie Primzahl = unteilbare Zahl z.b. 2, 3, 5, 7, 11, 13, 17, 19,... n = p q, wobei p und q Primzahlen sind öffentlicher Schlüssel: k public = (e, n), wobei 1 < e < n privater Schlüssel: k private = (d, n), wobei n = f(p, q, e) Verschlüsselung: c = m e mod n Entschlüsselung: m = c d mod n
c by Rolf Haenni (2006) Seite 24 Asymmetrische Verschlüsselung RSA Beispiel: Nachricht: m = [00000100] = 4 p = 2, q = 11 n = 2 11 = 22 e = 3, d = 7 Verschlüsselung: c = 4 3 mod 22 = 20 Entschlüsselung: m = 20 7 mod 22 = 4
Asymmetrische Verschlüsselung RSA c by Rolf Haenni (2006) Seite 25 Primfaktorzerlegung: Würde ein Angreifer die Zahlen p und q kennen, so könnte er aus der Zahl e (öffentlich) die Zahl d = f(p, q, e) berechnen Dazu müsste er die Zahl n (öffentlich) in ihre Faktoren p und q zerlegen einfach bei kleinen Zahlen schwierig bei grossen Zahlen praktisch undurchführbar bei sehr grossen Zahlen Bei RSA verwendet man deshalb sehr grosse Zahlen mit ca. 300 Dezimalstellen (= 1024 Bits) Die Schwierigkeit der Primfaktorzerlegung ist mathematisch nicht bewiesen
Asymmetrische Verschlüsselung Online-Banking c by Rolf Haenni (2006) Seite 26 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion
c by Rolf Haenni (2006) Seite 27 Asymmetrische Verschlüsselung Online-Banking Beim Online-Banking werden symmetrische und asymmetrische Verfahren kombiniert: die Bank (Web-Server) verschickt ihren öffentlichen Schlüssel an den Kunden (Web-Browser) der Kunde generiert einen geheimen Sessionsschlüssel k der Sessionsschlüssel k wird mit dem öffentlichen Schlüssel der Bank verschlüsselt (z.b. RSA) der verschlüsselte Sessionsschlüssel wird an die Bank geschickt die Bank entschlüsselt mit ihrem privaten Schlüssel den Sessionsschlüssel k Beide Parteien sind nun im Besitz des gleichen geheimen Schlüssels
Asymmetrische Verschlüsselung Online-Banking c by Rolf Haenni (2006) Seite 28 Der erfolgreiche Schlüsseltausch wird durch das geschlossene Vorhängeschloss im Web-Browser angezeigt:
Asymmetrische Verschlüsselung Online-Banking c by Rolf Haenni (2006) Seite 29 Anschliessend wird der Datenverkehr mit einem symmetrischen Verfahren (z.b. AES) verschlüsselt: der Kunde identifiziert sich gegenüber der Bank Vertragsnummer persönliches Passwort Streichlisten-Code bei erfolgreicher Identifizierung wird der Kontozugriff freigegeben ansonsten wird der Zugriff verweigert und die Session beendet Am Ende der Session (beim Abbruch, Logout oder Timeout) wird der Sessionsschlüssel weggeworfen
Fragen und Diskussion c by Rolf Haenni (2006) Seite 30 Einführung Caesar-Verschlüsselung Enigma Symmetrische Verschlüsselung One-Time Pad DES/AES Asymmetrische Verschlüsselung RSA Online-Banking Fragen und Diskussion