Sicherer Kanal: von Alice zu Bob

Slides:



Advertisements
Ähnliche Präsentationen
Eine Einführung in das RSA-Verfahren an Beispielen
Advertisements

Mündliche Fachprüfung
Fast Fourier Transformation
Präsentation Der Gruppe: Boll, Barbosa, Blädel Klasse: WG 05 a.
Kryptographie - ein Exkurs Kodieren/Dekodieren, Verschlüsseln/Entschlüsseln, Chiffrieren/Dechiffrieren zum Zweck der Geheimhaltung, zur Authentifizierung,
Asymmetrische Kryptographie
Symmetrische Kryptographie
HANDYGMA - kein Geheimnis -
Seminar: Sicherheit in vernetzten Systemen.
Verschlüsselungsverfahren Gruppe 3/ Judith Neu / Stephanie Czichon
Proseminar : Allgegenwärtiges Rechnen
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Symmetrische und Asymmetrische Verschlüsselung Habilitationsvortrag
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Blockchiffren Projektarbeit zum Thema Kryptographie
Diskrete Mathematik I Vorlesung Arrays-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Betreuerin: Kathleen Jerchel
Ein Public Key Kryptosystem mit perfekten Codes in Graphen.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Symmetrische Verschlüsselung
Hashverfahren und digitale Signaturen
Kryptologie Entwicklung und Bewertung von Verschlüsselungsverfahren
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Überblick über die Kryptographie
Einwegfunktionen mit und ohne „Falltür“
KRYPTOGRAFIE.
Kryptographie Wie funktioniert Electronic Banking?
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
Kryptografie & Kryptoanalyse
präsentiert von Ulli, Nina& Kerstin
Sicherheit in Computernetzen
Kryptograhie Wie funktioniert Electronic Banking?
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Die Finalisten für den Advanced Encryption Standard Advanced Encryption Standard Herbert Frohner Sebastian Hegenbart Joachim Kerschbaumer.
Was ist Kryptographie? Alice Bob Maloy (Spion)
Hashfunktionen SHA-1 (Secure Hash Algorithm)
Sicherer Kanal: von Alice zu Bob
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation
Polynome und schnelle Fourier-Transformation
IEEE WEP: Sicherheit von WLAN, Funktion und Designschwächen
Institut für Theoretische Informatik
AES – Advanced Encryption Standard
Symmetrische Kryptografie
Symmetrische Blockchiffren DES – der Data Encryption Standard
Kurzvortrag für die Lehrerfortbildung
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Algorithmen und Datenstrukturen Übungsmodul 11
ENDLICHE KÖRPER RSA – VERFAHREN.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Christian Schindelhauer Sommersemester Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Systeme II Christian Schindelhauer Sommersemester 2007
IT-Sicherheit Kapitel 2 - Symmetrische Kryptographie
Pretty Good Privacy Public Encryption for the Masses
Diskrete Mathematik Angelika Steger Institut für Theoretische Informatik TexPoint fonts used in EMF. Read the TexPoint manual before.
Projekt Crypt Einfache kryptografische Verfahren
Data Encrypton Standart (Abkürzung: DES). Grundlegende Informationen: DES ist ein weit verbreiteter symmetrischer (das heißt zur Ver- und Entschlüsselung.
Motivation Schutz ausgetauschter Informationen
Anfänge und Entwicklung der Kryptographie Seminararbeit von Andreas Rudolf.
© 2013 TravelTainment Kryptographie in der IT Kryptographische Verfahren und ihre Anwendung in der IT.
Aufgabenteil (mit Hilfsmittel)
Symmetrische Verschlüsselung
Kryptographie - Abbildungen -.
 Präsentation transkript:

Sicherer Kanal: von Alice zu Bob Blockchiffren, Stromchiffren

Aktuell: http://heise.de/-1573945 Dr. Wolf Müller

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

Blockchiffren Klartext M 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 1≤k≤n, 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. http://de.wikipedia.org/wiki/Padding Ver- / Entschlüsselung separat für jeden Block mit gleichem Schlüssel K bzw. K‘, mit f(K)= K‘. M1 M2 M3 … Mr Schlüssel K K Schlüssel K Verschlüsselung Verschlüsselung … Verschlüsselung … C1 C2 Cr Schlüssel K‘ K‘ Schlüssel K‘ Verschlüsselung Verschlüsselung … Verschlüsselung … M1 M2 Mr Klartext M Dr. Wolf Müller

Block Operation Modes: ECB Electronic Codebook (ECB) Ci=E(Mi,K), Mi=D(Ci,K) Sender: Encryption Empfänger: Decryption E K M1 C1 E K M2 C2 … D K C1 M1 D K C2 M2 … … … Time Probleme? Dr. Wolf Müller

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

Ergebnisse: xxx.bmp des-cbc des-ecb aes-128-ecb aes-256-ecb Dr. Wolf Müller

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! Dr. Wolf Müller

Block Operation Modes: CBC Cipher Block Chaining (CBC) Ci=E(MiCi-1,K), Mi=D(Ci,K)Ci-1, C0=IV Initialisierungsvektor Sender: Encryption Empfänger: Decryption M1 M2 … C1 C2 … IV=C0 D D k k E E k k IV C1 C2 … M1 M2 … Dr. Wolf Müller

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. Dr. Wolf Müller

Block Operation Modes: CFB Cipher Feedback (CFB) Ci=E(Ci-1,K)Mi, Mi=D(Ci-1,K)Ci, C0=IV Sender: Encryption Empfänger: Decryption Ci-1 Ci-1 D k E k Ci Mi Mi Ci Gleiche Eigenschaften, wie CBC. Nachrichten kürzerer als Blockgröße sind möglich. Dr. Wolf Müller

Block operation modes: OFB Output Feedback (OFB) zi=E(zi-1,K), Ci=ziMi, Mi=ziCi, z0=IV Sender: Encryption Empfänger: Decryption zi-1 Mi zi-1 Ci E k D k Ci Mi Nachrichten kürzer als Blockgröße sind möglich. Dr. Wolf Müller

Block operation modes: OFB OFB Eigenschaften Zustandssequenz zi 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. Dr. Wolf Müller

Block operation modes: Weiteres Übersicht: http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation Standard/Praxis: Recommendation for Block Cipher Modes of Operation (NIST) http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf Interessant: Counter CTR-Mode: vorberechenbar paralellisierbar Ggf. für Dateisysteme Dr. Wolf Müller

Block operation modes: CTR Counter (CTR) zi=E(nonce | i , K), Ci=ziMi, Mi=ziCi, Sender: Encryption Empfänger: Decryption nonce | i Mi nonce | i Ci E k E k Ci Mi Nachrichten kürzer als Blockgröße sind möglich. Dr. Wolf Müller

Blockchiffre Algorithmen: DES 3DES AES Dr. Wolf Müller

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) Dr. Wolf Müller

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|=256 64 bits Mi 64 bits Mi DES Key K 64(56) bits DES-1 Encryption Decryption 64 bits Ci 64 bits Ci Dr. Wolf Müller

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. Dr. Wolf Müller

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 2112. Mit Meet-in-the-middle Angriff werden nur 257 Ciffrier- und Dechiffriervorgänge gebraucht, um Schlüssel zu brechen. Fortschritte durch Triple-DES (3 Schlüssel K1, K2, K3): Verschlüsselung: DES (DES-1(DES (X,K1), K2), K3) Entschlüsselung: DES-1(DES (DES-1 (X,K3), K2), K1) Effektive Schlüssellänge anstelle von 168 Bit nur 108 Bit, Schlüsselraum 2108, länger, aber auf lange Sicht nicht ausreichend! 3fache Verschlüsselung recht ineffizient Dr. Wolf Müller

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

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

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. * 1970 * 1965 In puncto Sicherheit gab es auch einige Kandidaten, welche Rijndael gleichwertig waren

Rijndael GF(2) |8 Byte b7…b0 als Koeffizienten eines Polynoms darstellbar: b(x) = b7x7 + b6x6+ … + b2x2 + b1x + b0 Beispiel: 01010011  x6 + x4 + 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 <F, Å, Ä >: <F, Å> und <F\{0}, Ä> 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)= x8 + x4 + x3 + x + 1 (irreduzibles Polynom, 8ten Grades) Multiplikation von Worten: wie mit Bytes, mit irreduziblem Polynom m(x) = x4 +1

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

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“ Dr. Wolf Müller

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. wi=wi-1 XOR wi-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(28). KT w0 w1 w2 w3 w4 w5 w6 w7 … AES Key =Schlüssel für Runde 0 Schlüssel für Runde 1 Dr. Wolf Müller

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 Implementation attacks: man muss den Verschlüsselungsvorgang des verschlüsselnden Rechners analysieren Timing attack: von Ausführungszeit können Rückschlüsse auf Schlüssel gezogen werden Power analysis: Ressourcenverbrauch während der Verschlüsselung wird analysiert

Demo in Crypttool http://www.cryptool.de/ Dr. Wolf Müller

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

(Pseudo) 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

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-02102 „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

RC4 1987 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

S RC4 i k S[i]+S[k] 254 255 1 2 i k S[i] S[k] K S[i]+S[k] i := 0 1 2 i k S[i] S[k] K S[i]+S[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 Dr. Wolf Müller

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

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: http://www.ecrypt.eu.org/stream/ Dr. Wolf Müller

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