32
Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptographie Wie funktioniert Electronic Banking?

  • Upload
    varsha

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

Kryptographie Wie funktioniert Electronic Banking?. Kurt Mehlhorn Adrian Neumann Max-Planck- Institut für Informatik. Übersicht. Zwecke der Kryptographie Techniken Symmetrische Verschlüsselung( One -time Pad, Caesar, moderne Blockchiffres ) - PowerPoint PPT Presentation

Citation preview

Page 1: Kryptographie Wie funktioniert  Electronic Banking?

KryptographieWie funktioniert Electronic

Banking?

Kurt MehlhornAdrian Neumann

Max-Planck-Institut für Informatik

Page 2: Kryptographie Wie funktioniert  Electronic Banking?

Übersicht

• Zwecke der Kryptographie • Techniken

– Symmetrische Verschlüsselung( One-time Pad, Caesar, moderne Blockchiffres)

– Asymmetrische Verschlüsselung, Public-Key Kryptographie (1978)

– Digitale Unterschriften• Anwendungen: Electronic Banking,

Sicherheitsinfrastrukturen

Page 3: Kryptographie Wie funktioniert  Electronic Banking?

Kryptographie (geheim-schreiben)Hauptziele (nach Wolfgang Ertel)

Vertraulichkeit / Zugriffsschutz: Nur dazu berechtigte Personen sollen in der Lage sein, die Daten oder die Nachricht zu lesen (auch teilweise).Integrität / Änderungsschutz: Die Daten müssen nachweislich vollständig und unverändert sein.Authentizität, Verbindlichkeit / Fälschungsschutz, Nichtabstreitbarkeit: Der Urheber der Daten oder der Absender der Nachricht soll eindeutig identifizierbar sein, und seine Urheberschaft sollte nachprüfbar und nicht abstreitbar sein.

Page 4: Kryptographie Wie funktioniert  Electronic Banking?

Ver- und Entschlüsselung

• Alphabet, a … z, A … Z 0 .. 9 ! ? … • Nachricht, Klartext, message, Länge • Für jeden Nutzer X gibt es ein Paar ,(Worte der

Länge ) nach mit – für alle – und sind durch Programme realisiert. Sei eine beliebig e Nachricht und Ohne Kenntnis des

Programms für kann niemand aus das bestimmen. (zumindest nicht in fünf Minuten, einem Jahr, 100 Jahren)

– ist One-Way Function– E = encode D = decode

Page 5: Kryptographie Wie funktioniert  Electronic Banking?

Ver- und Entschlüsselung

Für jeden Nutzer X gibt es ein Paar ,nach mit – für alle – Die Programme für und erhält man aus generischen

Programmen E und D durch Wahl eines Schlüsselpaars (.

– Jeder Nutzer hat sein eigenes Paar– Dann (,und analog für .

– E ist injektiv und damit bijektiv, D ist surjektiv und damit bijektiv

– Oft auch noch für alle nützlich für digitale Unterschriften

Page 6: Kryptographie Wie funktioniert  Electronic Banking?

Ver- und Entschlüsselung

Alice Eve Bob

Eve = Eavesdropper

E Dm𝑐

m

𝑘𝑑

Page 7: Kryptographie Wie funktioniert  Electronic Banking?

Symmetrische Verfahren

• Sender (Alice) und Empfänger (Bob) benutzen den gleichen Schlüssel

• Dieser Schlüssel muss geheim bleiben• Wie einigt man sich auf einen Schlüssel?

– Früher: physisches Treffen zum Schlüsselaustausch oder Bote

– Heute: asymmetrisches Verfahren zum Schlüsselaustausch

• Beispiele: One-Time Pad, Caesar, …

Page 8: Kryptographie Wie funktioniert  Electronic Banking?

Symmetrische Krypthographie Eine Analogie

• Alice und Bob kaufen sich eine Kiste und ein Vorhängeschloss mit zwei identischen Schlüsseln. Jeder bekommt einen Schlüssel.

• Nachrichten kommen in die Kiste, die Kiste wird verschlossen, …

• Braucht ein Treffen oder einen vertrauenswürdigen Boten

Page 9: Kryptographie Wie funktioniert  Electronic Banking?

One-Time Pad (Rotes Telefon)

• ist Folge von Großbuchstabe + ZR• ist zufällige Folge über diesem Alphabet• , jeweilige -te Buchstaben

• Beispiel: 5 + 24 mod 27 = 2• Decoding: • Absolut sicher, aber Schlüssel muss genauso

lang wie Nachricht sein, rotes Telefon

Page 10: Kryptographie Wie funktioniert  Electronic Banking?

Caesar

• ist Folge von Großbuchstaben + ZR• ist Zahl zwischen 0 und 26• Kodierung: Jeder Buchstabe von m wird

ersetzt durch Buchstaben, der k später im Alphabet kommt

• Dekodierung: k früher• Sehr unsicher, aber einfach• und kurzer Schlüssel

Page 11: Kryptographie Wie funktioniert  Electronic Banking?

Blockchiffrierung

• Nachricht wird in Blöcke der Länge b zerlegt. Jeder Block wird getrennt kodiert.

• Alle mit dem gleichen Schlüssel. • Typisch Blocklänge 64, 128, 256 Bits• Schlüssellänge ähnlich• Populäre Verfahren: DES (Data-

Encryption-Standard), AES (Nachfolger)• Sicherheit: nicht gebrochen, aber …

Page 12: Kryptographie Wie funktioniert  Electronic Banking?

Blockchiffrierung: Prinzip der Vorgehensweise

• Kodierung eines Blocks der Länge b• Verknüpfe mit dem Schlüssel (wie im One-

Time Pad)• Wende invertierbare Substitution auf

Paare benachbarter Buchstaben an• Permutiere die Positionen• Wiederhole 16 Mal.

Page 13: Kryptographie Wie funktioniert  Electronic Banking?

Angriffe

• Caesar: Buchstabenhäufigkeit• DES 56: brute-force mit Spezialhardware• ENIGMA: Alan Turing und einer der ersten

Computer • Siehe Wikipedia: Cryptanalysis für weitere

Beispiele• AES 128 gilt als sicher für die nächsten 10

Jahre

Page 14: Kryptographie Wie funktioniert  Electronic Banking?

Asymmetrisches VerfahrenEine Analogie

• Bob möchte, dass man ihm geheime Nachrichten schicken kann.

• Er kauft sich ein Bügelschloss und hinterlegt das offene Bügelschloss an einem öffentlichen Ort

• Alice tut ihre Nachricht in eine Kiste, verschließt die Kiste mit dem Bügelschloss und schickt die Kiste an Bob

• Nur Bob kann die Kiste öffnen• Vorteil: kein Treffen nötig• Problem: aufwendiger, Authentifizierung, woher weiß

Alice, dass das Schloss zu Bob gehört.

Page 15: Kryptographie Wie funktioniert  Electronic Banking?

Asymmetrische Verfahren (seit 78)

• Sender (Alice) und Empfänger (Bob) benutzen verschiedene Schlüssel

• Bob erzeugt Schlüssel und , hält geheim, veröffentlicht

• Alice benutzt zum Verschlüsseln• Aus kann man nach heutiger

mathematischer Kenntnis nicht in wenigen Jahren berechnen

Page 16: Kryptographie Wie funktioniert  Electronic Banking?

Sicherheit

• RSA (Rivest-Shamir-Adleman, Turing Award), Rabin (Turing Award) : Faktorisierung von Zahlen mit 2000 Ziffern braucht nach Stand der Kunst Jahrzehnte (unter Nutzung aller Rechner)

• El Gamal: das gleiche gilt für diskreten Logarithmus bezüglich 2000 stelliger Primzahl

• Elliptische Kurven

Page 17: Kryptographie Wie funktioniert  Electronic Banking?

Baby-Version von ElGamal

• Folge Bongartz/Unger (Alg der Woche)• Annahme: Wir können multiplizieren und

addieren, aber dividieren ist sehr sehr schwer, also

• Aus und kann man berechnen, aber niemand kann aus

und das berechnen

Page 18: Kryptographie Wie funktioniert  Electronic Banking?

Baby-Version von ElGamal

• Empfänger wählt und veröffentlicht und ; bleibt geheim

• Sender möchte schicken, • Wählt eine zufällige Zahl und schickt

öffentlich und Er hält geheim.• Eve kann nicht berechnen und weiß nur

Page 19: Kryptographie Wie funktioniert  Electronic Banking?

Baby-Version von ElGamal

• Empfänger wählt und und veröffentlicht und

• Sender möchte schicken, • Wählt eine Zahl und schickt öffentlich und • Empfänger berechnet

und dann

Page 20: Kryptographie Wie funktioniert  Electronic Banking?

Die Details von ElGamal

• Die Details von ElGamal werde ich in der Vorlesung nicht behandeln, die Folien sind zum Nachlesen

Page 21: Kryptographie Wie funktioniert  Electronic Banking?

Rechnen mod n

• Grundmenge = , etwa • Addition, Subtraktion, Multiplikation mod Bringe Ergebnis durch Restbildung wieder in die Grundmenge

• prim, dann gibt es zu jedem ein so dass und es gibt ein so dass

Page 22: Kryptographie Wie funktioniert  Electronic Banking?

ElGamal

• Empfänger wählt Primzahl Erzeuger und und veröffentlicht mod

• Berechnung von ausist leicht, aber von aus ist praktisch unmöglich

• Sender möchte schicken, wählt und schickt mod p)

Page 23: Kryptographie Wie funktioniert  Electronic Banking?

ElGamal

• Empfänger wählt Primzahl Erzeuger und und veröffentlicht mod

• Sender möchte senden, wählt sendetmod p)• Eve kann nicht berechnen und weiß nur

Page 24: Kryptographie Wie funktioniert  Electronic Banking?

ElGamal

• Empfänger wählt Primzahl Erzeuger und und veröffentlicht mod

• Sender möchte senden, wählt sendetmod p)• Empfänger berechnet und dann mod p.

Page 25: Kryptographie Wie funktioniert  Electronic Banking?

Electronic Banking

• Kunde kennt öffentlichen Schlüssel der Bank• Kunde erfindet geheimen Schlüssel (256 Bit

Zufallszahl) für symmetrisches Verf.• Kunde verschlüsselt mit und schickt den

verschlüsselten Schlüssel an die Bank• Bank entschlüsselt mit Hilfe ihres privaten Schlüssels • Nun symmetrisches Verfahren mit

• Problem: woher kenne ich zuverlässig den öffentlichen Schlüssel meiner Bank?

Page 26: Kryptographie Wie funktioniert  Electronic Banking?

Unterschriften

• Eigenschaft: Unterschreiber kann sie nicht abstreiten

• Zweck: Verbindlichkeit• Wie : alles was nur der Unterschreiber kann:

– Traditionnell: handschriftliche Unterschrift, Fingerabdruck,

– Nun: Die Funktion kann nur die Person X ausführen, weil nur sie den geheimen Schlüssel der Person X kennt

Page 27: Kryptographie Wie funktioniert  Electronic Banking?

Digitale Signaturen

• Seien nd die Funktionen von X und gelte ür alle x.

• Um zu signieren, erzeugt X den String (m) • Das Paar (m,s) ist das unterschriebene m• Vertragspartner überprüft dass gilt• Da man nach Annahme aus ohne Kenntnis des

Programms für (also ohne Kenntnis von ) nicht berechnen kann, kann nur der Besitzer von den Text erzeugen. Also kann X die Unterschrift nicht abstreiten.

Page 28: Kryptographie Wie funktioniert  Electronic Banking?

Digitale SignaturenSignatur = etwas, das nur ich kann

Alice Eve Bob

Eve = Eavesdropper Signatur von

E Dm𝑠

, öffentlich

m

, privat

Page 29: Kryptographie Wie funktioniert  Electronic Banking?

Electronic Banking, Schritt 1

• Bank hinterlegt ihren öffentlichen Schlüssel bei einem Trustcenter

• Kunde kennt (fest eingebaut im Browser) den öffentlichen Schlüssel des TC und fragt nach Schlüssel der Bank

• TC signiert und schickt an Kunden• Kunde verifiziert und benutzt dann

Page 30: Kryptographie Wie funktioniert  Electronic Banking?

Zusammenfassung

• Electronic Banking, Einkaufen im Netz nutzt symmetrische und asymmetrische Kryptographie

• Kommunikation mit der Bank ist damit geschützt https://my.hypovereinsbank.de/

• Aber Vorsicht: für die Qualität ihrer PIN und Passwörter sind sie selbst verantwortlich

Page 31: Kryptographie Wie funktioniert  Electronic Banking?

Kryptographie (geheim-schreiben)Hauptziele (nach Wolfgang Ertel)

Vertraulichkeit / Zugriffsschutz: Nur dazu berechtigte Personen sollen in der Lage sein, die Daten oder die Nachricht zu lesen (auch teilweise).Nachricht/Daten verschlüsselnIntegrität / Änderungsschutz: Die Daten müssen nachweislich vollständig und unverändert sein.Nachricht/Daten verschlüsseln oder signierenAuthentizität, Verbindlichkeit / Fälschungsschutz, Nichtabstreitbarkeit: Der Urheber der Daten oder der Absender der Nachricht soll eindeutig identifizierbar sein, und seine Urheberschaft sollte nachprüfbar und nicht abstreitbar sein.Nachricht/Daten signieren

Page 32: Kryptographie Wie funktioniert  Electronic Banking?

Speicherung von Passwörtern

• One-Way Funktion, z.B. Blockcypher• Sei c = h(Passwort von KM)• Speichere ungeschützt das Paar (KM, c)• KM beweist seine Authentizität durch die Fähigkeit c

erzeugen zu können• Angriffe: brute-force, da Passworte oft kurz. • Abhilfe

– Maschine für h geht nach 3 inkorrekten Auswertungen kaputt– Oder automatische Verlängerung durch Zufallsstring speichere (KM, zufälliges s, h(Passwort von KM + s))