Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Humboldt University Computer Science Department Systems Architecture Group IT-Sicherheit Grundlagen Sicherer Kanal:

Ähnliche Präsentationen


Präsentation zum Thema: "Humboldt University Computer Science Department Systems Architecture Group IT-Sicherheit Grundlagen Sicherer Kanal:"—  Präsentation transkript:

1 Humboldt University Computer Science Department Systems Architecture Group IT-Sicherheit Grundlagen Sicherer Kanal: von Alice zu Bob Blockchiffren, Stromchiffren

2 IT-Sicherheit Grundlagen Aktuell: Dr. Wolf Müller 2

3 IT-Sicherheit Grundlagen Kodierung versus Verschlüsselung Ist base64 ein symmetrisches Verschlüsselungsverfahren? Bijektive Abbildung von Nachrichtentext und kodiertem Text. Auch zwischen verschiedenen Alphabeten. Genaue Vorschrift für Encoding, Decoding. ABER: Jeder kann es, kein zusätzliches Wissen nötig! Kein Schlüssel. Dr. Wolf Müller 3

4 IT-Sicherheit Grundlagen Dr. Wolf Müller 4 Blockchiffren Verarbeitung von Eingabeblöcken fester Länge, wobei jeder Block mit der gleichen Funktion verschlüsselt wird. Typische Blockgröße 64-Bit Klartext M der Länge m wird in r Blöcke der Länge n zerlegt. Letzter Block hat Länge 1kn, wird mit Füllmuster aufgefüllt (Padding) Damit bei Entschlüsselung das Ende des originalen Klartextes im aufgefüllten Block erkennbar, muss Länge des Füllbereichs oder Länge des Klartextbereichs mit in diesen Block codiert werden. Ver- / Entschlüsselung separat für jeden Block mit gleichem Schlüssel K bzw. K, mit f(K)= K. Klartext M M1 M2 M3 Mr … M1 M2 Mr … … Schlüssel K Verschlüsselung K K … … Schlüssel K Verschlüsselung C1 C2 Cr … Schlüssel K Verschlüsselung K K Schlüssel K Verschlüsselung … …

5 IT-Sicherheit Grundlagen Dr. Wolf Müller 5 Block Operation Modes: ECB Electronic Codebook (ECB) C i =E(M i,K), M i =D(C i,K) E E K K M1M1 M1M1 C1C1 C1C1 E E K K M2M2 M2M2 C2C2 C2C2 D D K K C1C1 C1C1 M1M1 M1M1 D D K K C2C2 C2C2 M2M2 M2M2 Time Sender: Encryption Empfänger: Decryption … … … … … … … … Probleme?

6 IT-Sicherheit Grundlagen Demo #!/bin/bash CHIPHER=$1 BMP="xxx.bmp" ENC="enc-"$CHIPHER".bmp" rm -f $ENC tmp.enc #Längen LL=`ls -l $BMP | awk '{print $5}'` #Length HH=54 #Header BB=$(($LL-$HH)) #Body #Encryption openssl enc -$CHIPHER -e -in $BMP -out tmp.enc -k 0815 #BMP (Header + Encrypted Body without Padding) head -c $HH $BMP > $ENC tail -c $BB tmp.enc >> $ENC echo "$ENC written!" Dr. Wolf Müller 6

7 IT-Sicherheit Grundlagen Ergebnisse: Dr. Wolf Müller 7 xxx.bmp des-ecb aes-128-ecbaes-256-ecb des-cbc

8 IT-Sicherheit Grundlagen Dr. Wolf Müller 8 Block Operation Modes: ECB Eigenschaften ECB Jeder Block ist unabhängig von anderen Blöcken. Verschlüsselung von gleichem Plaintext wird zu gleichem Ciffretext verschlüsselt. Fehlerfortpflanzung: Wenn ein Fehler in einem Chiffreblock vorkommt, ist nur der entsprechende Plaintextblock betroffen. Synchronisation: Wenn der Empfänger die Blockgrenzen nicht synchronisieren kann, ist eine Entschlüsselung unmöglich. Blöcke können unbemerkt dupliziert, hinzugefügt, vertauscht oder entfernt werden!

9 IT-Sicherheit Grundlagen Dr. Wolf Müller 9 Block Operation Modes: CBC Cipher Block Chaining (CBC) C i =E(M i C i-1,K), M i =D(C i,K) C i-1, C 0 =IV Initialisierungsvektor E E k k M1M1 M1M1 C1C1 C1C1 IV=C 0 E E k k M2M2 M2M2 C2C2 C2C2 Sender: Encryption C1C1 C1C1 D D k k M1M1 M1M1 IV C2C2 C2C2 D D k k M2M2 M2M2 Empfänger: Decryption … … … … … … … …

10 IT-Sicherheit Grundlagen Dr. Wolf Müller 10 Block Operation Modes: CBC Eigenschaften von CBC Initialisierungsvektor IV muss angegeben werden. IV muss nicht geheim sein. Chiffreblock hängt ab von IV und allen Plaintextblöcken vor ihm. Identische Plaintextblöcke werden in verschiedene Chiffetextblöcke verschlüsselt. Reihenfolge der Blöcke ist signifikant. Wird sie verändert, ändert sich die Chiffrierung. Identische Plaintext-Sequenzen (am Anfang) werden zu identischen Chiffre-Sequenzen verschlüsselt, es sollten also unterschiedliche Initialisierungsvektoren verwendet werden. Fehlerfortpflanzung: Wenn ein Fehler in einem Chiffreblock auftritt, kann dieser und der nächste Plaintextblock nicht entschlüsselt werden. Synchronisation: Wenn Synchronisation bei diesem Chiffreblock wiedergewonnen wird, können dieser und der nächste Plaintextblock nicht entschlüsselt werden.

11 IT-Sicherheit Grundlagen Dr. Wolf Müller 11 Block Operation Modes: CFB Cipher Feedback (CFB) C i =E(C i-1,K) M i, M i =D(C i-1,K) C i, C 0 =IV C i-1 E E k k CiCi CiCi MiMi MiMi D D k k MiMi MiMi CiCi CiCi Sender: Encryption Empfänger: Decryption Gleiche Eigenschaften, wie CBC. Nachrichten kürzerer als Blockgröße sind möglich.

12 IT-Sicherheit Grundlagen Dr. Wolf Müller 12 Block operation modes: OFB Output Feedback (OFB) z i =E(z i-1,K), C i =z i M i, M i =z i C i, z 0 =IV z i-1 E E k k CiCi CiCi MiMi MiMi D D k k MiMi MiMi CiCi CiCi Sender: Encryption Empfänger: Decryption Nachrichten kürzer als Blockgröße sind möglich.

13 IT-Sicherheit Grundlagen Dr. Wolf Müller 13 Block operation modes: OFB OFB Eigenschaften Zustandssequenz z i ist unabhängig vom Plaintext. (Vorausberechnung möglich) Entspricht Verschlüsselung mit Pseudozufallszahlengenerator mit nichtlinearem Feedback. Fehlerfortpflanzung: keine. Synchronisation: Wenn Grenzsynchronisation verloren ist, muss das ganze System neu synchronisiert werden.

14 IT-Sicherheit Grundlagen Dr. Wolf Müller 14 Block operation modes: Weiteres Übersicht: Standard/Praxis: Recommendation for Block Cipher Modes of Operation (NIST) Interessant: Counter CTR-Mode: vorberechenbar paralellisierbar Ggf. für Dateisysteme

15 IT-Sicherheit Grundlagen Dr. Wolf Müller 15 Block operation modes: CTR Counter (CTR) z i =E(nonce | i, K), C i =z i M i, M i =z i C i, nonce | i E E k k CiCi CiCi MiMi MiMi Sender: Encryption Empfänger: Decryption Nachrichten kürzer als Blockgröße sind möglich. nonce | i E E k k MiMi MiMi CiCi CiCi

16 IT-Sicherheit Grundlagen Blockchiffre Algorithmen: DES 3DES AES Dr. Wolf Müller 16

17 IT-Sicherheit Grundlagen Dr. Wolf Müller 17 DES: Historie Data Encryption Standard (kurz: DES) DES Geschichte: Entwickelt durch IBM 1974 publiziert 1977 Anerkennung von DES als Standard durch National Bureau of Standards, heute NIST 1981 Anerkennung von DES als Standard durch American National Standards Institute (ANSI X3.92)

18 IT-Sicherheit Grundlagen Dr. Wolf Müller 18 DES Symmetrischer Algorithmus Blockchiffre: Message blocks von 64 Bits. Verschlüsselung in Chiffreblocks von 64 Bits. Schlüssel von 64 Bits. Signifikante Schlüssellänge 56 Bits, mit 8 Paritätsbits |K|=2 56 DES Key K 64(56) bits 64 bits M i 64 bits C i DES bits M i 64 bits C i Encryption Decryption

19 IT-Sicherheit Grundlagen Dr. Wolf Müller 19 DES: Blockchiffre Seine Entstehungsgeschichte gab wegen der Beteiligung der NSA am Design des Algorithmus immer wieder Anlass zu Spekulationen über seine Sicherheit. Verschlüsselungstechniken: –Bitpermutationen (Transpositionen) –Substitutionen –bitweise Addition modulo 2 Schlüssellänge für heutigen Stand der Technik unzureichend, durch AES abgelöst. Jedoch noch in viele kommerzielle Produkte integriert.

20 IT-Sicherheit Grundlagen Dr. Wolf Müller 20 Blockchiffre: Triple DES (3DES) DES Algorithmus ist kryptografisch stark, Wunsch, Schlüssellänge zu erhöhen. Lösung: Mehrfachverschlüsselung des Klartexts mit verschiedenen Schlüsseln DES-Verschlüsselungen bilden keine Gruppe, Verwendung verschiedener Schlüssel kann auf Vergrößerung des Schlüsselraumes führen. Aber: Zweifach Verschlüsselung liefert nicht Schlüsselraum von Mit Meet-in-the-middle Angriff werden nur 2 57 Ciffrier- und Dechiffriervorgänge gebraucht, um Schlüssel zu brechen. Fortschritte durch Triple-DES (3 Schlüssel K 1, K 2, K 3 ): –Verschlüsselung: DES (DES -1 (DES (X,K 1 ), K 2 ), K 3 ) –Entschlüsselung: DES -1 (DES (DES -1 (X,K 3 ), K 2 ), K 1 ) Effektive Schlüssellänge anstelle von 168 Bit nur 108 Bit, Schlüsselraum 2 108, länger, aber auf lange Sicht nicht ausreichend! 3fache Verschlüsselung recht ineffizient

21 IT-Sicherheit Grundlagen AES-Wettbewerb Januar 1997: Wettbewerb für neue Verschlüsselungstechnik durch Nationales Institut für Standards und Technologie der USA (NIST) ausgerufen AES soll ein Federal Information Processing Standard (FIPS) werden Evaluierung von Sicherheit und Effizienz nicht durch NIST selbst, sondern offen. Anforderungen: –symmetrischer Blockchiffre –Blockgröße:128 Bit –Schlüssellängen: 128, 192 und 256 Bit –Resistenz gegen alle Methoden der Kryptoanalyse –sehr effizient in Software und Hardware (auch auf 8 Bit-Prozessoren (Chipcards)) –einfach implementierbar 21

22 IT-Sicherheit Grundlagen AES-Wettbewerb: Finalisten MARS –Sehr langsam in HW, für einfache Chipkarten ungeeignet. RC6 –Langsam in HW, für billige Chipkarten ungeeignet. Serpent –Schnell in HW, langsam in SW Twofish –Relativ schnell in HW. Schnell in SW. Rijndael –Schnell in HW & SW –Einfaches, elegantes Design. Dr. Wolf Müller 22

23 IT-Sicherheit Grundlagen AES: The Winner is? Rijndael Oktober 2002 : Rijndael Autoren: Joan Daemen, Vincent Rijmen (Belgien) –Algorithmus hat sehr gute Performance in Hardware und Software –Algorithmus ist sehr einfach –Rijndael verschlüsselt mit 8 und 32 Bit Operationen 8 Bit = 1 Byte und 32 Bit = 4 Byte = 1 Wort –Blockgröße nicht zwingend 128 Bit (AES), sondern jedes Vielfache von 32 zwischen 128 und 256 Bit möglich. 23 * 1970 * 1965

24 IT-Sicherheit Grundlagen Rijndael GF(2) | 8 Byte b 7 …b 0 als Koeffizienten eines Polynoms darstellbar: b(x) = b 7 x 7 + b 6 x 6 + … + b 2 x 2 + b 1 x + b 0 –Beispiel: x 6 + x 4 + x + 1 b(x) repräsentiert Elemente des endlichen Körpers GF(2)| 8 Alle möglichen Bytes sind genau die Elemente von GF(2)| 8 Endlicher Körper : – und sind abelsche Gruppen – und sind distributiv – ist Addition der Komponenten modulo 2, auf Byte-Ebene entspricht der Operation XOR – ist Multiplikation von Bytes modulo m(x)= x 8 + x 4 + x 3 + x + 1 (irreduzibles Polynom, 8ten Grades) –Multiplikation von Worten: wie mit Bytes, mit irreduziblem Polynom m(x) = x

25 IT-Sicherheit Grundlagen Dr. Wolf Müller 25 AES Verschlüsselungs-Runde Datablock d i-1 : 128 Bits/16 Bytes Transformationen basierend auf Byte-Operationen - Substitution - Permutation - Intermix Transformationen basierend auf Byte-Operationen - Substitution - Permutation - Intermix Data block d i : 128 bits/16 bytes AES Key: 128/192/256 Bit Rundenschlüssel abgeleitet vom AES Key 10/12/14 mal, abhängig von Schlüsselgröße Rundenschlüssel abgeleitet vom AES Key 10/12/14 mal, abhängig von Schlüsselgröße Keine Transformationsbox in Anfangsrunde Kein Intermix in letzter Runde

26 IT-Sicherheit Grundlagen Dr. Wolf Müller 26 AES Verschlüsselungs-Runde (2) Transformationen: Substitution –Jedes Byte durch sein multiplikativ-inversen Wert ersetzt. –Bytes werden verwendet, um Polynome von einem Grad kleiner 8 darzustellen, wegen der Reduktion auf irreduzible Polynome modulo 8 –Bytes werden als Elemente eines endlichen Körpers interpretiert. Addition und Multiplikation sind definiert, unterscheiden sich aber von der von normalen Zahlen. Permutation –Positionstausch der Bytes Intermix –Matrix Multiplikation der Bytes in dem internen Zustand

27 IT-Sicherheit Grundlagen Dr. Wolf Müller 27 AES Verschlüsselungs-Runde (3) Schlüsselableitung: Mit Schlüssellänge 128 Bit, jede Runde erfordert 128 Bit. Schlüssel wird in 4 Worte zu je Byte aufgeteilt. w0w0 w0w0 w1w1 w1w1 w2w2 w2w2 w3w3 w3w3 w4w4 w4w4 w5w5 w5w5 w6w6 w6w6 w7w7 w7w7 AES Key =Schlüssel für Runde 0 Schlüssel für Runde 1 KT … w i =w i-1 XOR w i-4 Wenn i mod 4=0, wird Schlüsseltransformation (KT) angewendet. KT beinhaltet Byte- Verschiebungen, Substitutionen und die Addition einer Runden- konstanten, Quadrierung im Raum der irreduziblen Polynome in GF(2 8 ).

28 IT-Sicherheit Grundlagen Rijndael: Kryptoanalyse & Verwendung resistent gegen lineare und differenzielle Kryptoanalyse saturation attack –chosen-plaintext + Ausnutzung der byte-orientierten Struktur (bisher) nur für rundenreduzierte (7 Runden) Version möglich Angriffe auf Implementierung: –timing attack –power analysis Verwendung: WPA2, Truecrypt, SSH, IPsec Skype, 7-Zip,PGP 28

29 IT-Sicherheit Grundlagen Demo in Crypttool Dr. Wolf Müller 29

30 IT-Sicherheit Grundlagen Dr. Wolf Müller 30 Stromchiffren Initialwert Schlüssel- zeichen Klartext Chiffretext Schlüssel- zeichen Klartext Chiffretext Pseudozufalls- zahlengenerator Pseudozufalls- zahlengenerator Sender Sicherer Austausch unsicherer Kanal Initialwert Schlüssel- zeichen Chiffretext Klartext Schlüssel- zeichen Chiffretext Klartext Pseudozufalls- zahlengenerator Pseudozufalls- zahlengenerator Empfänger

31 IT-Sicherheit Grundlagen (Pseudo) Zufallsgeneratoren Zufallsgeneratoren: Nichtdeterministisch –Physikalisch (thermisches Rauschen, radioaktiver Zerfall …) Wichtig: äußere Einflussnahme ausschließen –Ggf. Nutzung spezieller Hardware –Quasizufällige Ereignisse (/dev/random) Pseudozufallsgeneratoren: (PRNG) Deterministisch –Startwert / Initialisierung –Dann abgeleitet über deterministischen Algorithmus aus innerem Zustand –Periodisch, wenn endlicher Zustand! Sqrt(n) ist i.A. nicht periodisch, Zustand des Rechners aber endlich. Hybrid möglich: –Startwert von echtem RNG, dann PRNG periodisch (wenn keine Neuinitialisierung) Dr. Wolf Müller 31

32 IT-Sicherheit Grundlagen PRNG Besondere Anforderungen an kryptografische PRNG –Statistische Verteilung sehr ähnlich zu echtem Zufall Gleichverteilung für einzelne Ausgaben Normalverteilung für Mehrfachausgaben … Tests –BSI-TR Kryptografische Verfahren: Empfehlungen und Schlüssellängen (siehe Zufallszahlengeneratoren) Praktisch unmöglich, zu bekannter Zufallszahlenfolge Vorgänger oder Nachfolger dieser Teilfolge oder inneren Zustand zu berechnen. Praktisch unmöglich, aus Kenntnis eines inneren Zustandes Vorgänger der Teilfolge oder Vorgängerzustände zu berechnen. Entropie des Seed mindestens 100 Bit Dr. Wolf Müller 32

33 IT-Sicherheit Grundlagen RC von Ronald L. Rivest für RSA Data Security Inc. entwickelt. Anfänglich (7 Jahre) geheim. RC4 (Ronald's Code 4) Variable Schlüssellänge bis 2048 Bit 1 Byte pro Schritt generiert/verschlüsselt –S-Box, Permutation, Substitution Sehr effizient, einfach zu Implementieren Schwächen: –Initialisierung der S-Box (in praktischer Umsetzung) –Bei zufällig gewählter S-Box, auch gegenwertig kaum zu knacken Dr. Wolf Müller 33

34 IT-Sicherheit Grundlagen RC4 Dr. Wolf Müller i i k k S[i]+S[k] i i k k S[i] S[k] S[i]+S[k] K K i := 0 k := 0 while GeneratingOutput: i := (i + 1) mod 256 k := (k + S[i]) mod 256 swap values of S[i] and S[k] K := S[(S[i] + S[k]) mod 256] output K endwhile i := 0 k := 0 while GeneratingOutput: i := (i + 1) mod 256 k := (k + S[i]) mod 256 swap values of S[i] and S[k] K := S[(S[i] + S[k]) mod 256] output K endwhile S

35 IT-Sicherheit Grundlagen RC4: Schlüsselinitialisierung Dr. Wolf Müller 35 for i from 0 to 255 S[i] := i endfor j := 0 for i from 0 to 255 j := (j + S[i] + key[i mod keylength]) mod 256 swap values of S[i] and S[j] endfor for i from 0 to 255 S[i] := i endfor j := 0 for i from 0 to 255 j := (j + S[i] + key[i mod keylength]) mod 256 swap values of S[i] and S[j] endfor

36 IT-Sicherheit Grundlagen Stromchiffren: Bemerkungen RC4 braucht gute Initialisierung. Gute Blockchiffren können in entsprechenden Modi (OFB, CTR) wie Stromchiffren genutzt werden. eSTREAM: the ECRYPT Stream Cipher Project Starke schnelle Stromchiffren gesucht: Dr. Wolf Müller 36

37 IT-Sicherheit Grundlagen 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 37


Herunterladen ppt "Humboldt University Computer Science Department Systems Architecture Group IT-Sicherheit Grundlagen Sicherer Kanal:"

Ähnliche Präsentationen


Google-Anzeigen