Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kryptologie Klaus Becker (2002). KB Kryptologie 2 an K. Becker An: Von: Betrifft: Kontoeröffnung.

Ähnliche Präsentationen


Präsentation zum Thema: "Kryptologie Klaus Becker (2002). KB Kryptologie 2 an K. Becker An: Von: Betrifft: Kontoeröffnung."—  Präsentation transkript:

1 Kryptologie Klaus Becker (2002)

2 KB Kryptologie 2 an K. Becker An: Von: Betrifft: Kontoeröffnung Sehr geehrte Herr Becker, Sie haben mit Ihrer Mail vom ein Konto bei unserer Bank beantragt. Wir danken Ihnen für das Vertrauen in unsere Bank. Selbstverständlich können wir Ihnen ein Konto einrichten. Die Kontonummer lautet: Sie erhalten demnächst per Post eine Kreditkarte (PIN 9138). Für die Einrichtung des Kontos sind wir leider gezwungen, Ihnen einen Unkostenbetrag von 50 Euro in Rechnung zu stellen. Wir haben diesen Betrag bereits von Ihrem Konto abgebucht. Bitte zahlen Sie diesen Betrag schnellstmöglich auf Ihr Konto ein. Mit freundlichen Grüßen P. Theuerkauf (Leiter der Service-Abteilung)

3 KB Kryptologie 3 Sicherheitsprobleme Authentizität: Stammt die Nachricht wirklich von der billigen Bank, oder erlaubt sich hier jemand einen Scherz? Integrität: Hat jemand die Nachricht manipuliert (PIN geändert)? Verbindlichkeit: Die Bank behauptet, die Nachricht so nicht verschickt zu haben. Stimmt das? Vertraulichkeit: Wurde die Nachricht abgefangen und von einer unbekannten Person gelesen?

4 KB Kryptologie 4 Sicherheitsanforderungen Authentizität: Die Nachricht, die man erhält, stammt wirklich von der Person, die als Absender angegeben ist. Integrität: Die Nachricht, die man erhält, ist von keiner dritten Person manipuliert worden. Verbindlichkeit: Der Urheber kann nachträglich nicht bestreiten, die Nachricht verfasst zu haben. Vertraulichkeit: Die Nachricht kann nicht von dritten Personen gelesen werden.

5 KB Kryptologie 5 Teil 1 Verschlüsselung

6 KB Kryptologie 6 Kommunikationssituation Liebe... Angreifer Sender Empfänger Nachricht

7 KB Kryptologie 7 Chiffriersysteme x Klartext y Geheimtext Schlüssel f Verschlüsselungs- funktion x Klartext Schlüssel f* Entschlüsselungs- funktion Beachte: Chiffriersysteme dienen der Ver- und Entschlüsselung von Nachrichten. Sie sollen Vertraulichkeit gewähren.

8 KB Kryptologie 8 Sicherheit bei Chiffriersystemen Prinzip von Kerckhoff: Die Sicherheit eines Chiffriersystems darf nicht von der Geheimhaltung der Ver- und Entschlüsselungsalgorithmen abhängen. Sie darf sich nur auf die Geheimhaltung der Schlüssel gründen. D.h.: Es sollte praktisch nicht möglich sein, Schlüssel aus Klartext-Geheimtext-Paaren (x,y) zu erschließen.

9 KB Kryptologie 9 Symmetrische Chiffriersysteme x Klartext Beispiele: Caesar-Chiffriersystem Vigenere-Chiffriersystem s y Geheimtext Schlüssel f Verschlüsselungs- funktion s x Klartext Schlüssel f* Entschlüsselungs- funktion

10 KB Kryptologie 10 Symmetrische Chiffriersysteme Aufgabe: Beurteile symmetrische Chiffriersysteme hinsichtlich des Aufwands für die Erzeugung von Schlüsseln, für den Austausch von Schlüsseln. Betrachte den Fall, dass bereits n Teilnehmer sich auf das Chiffriersystem geeinigt haben und dass ein neuer Teilnehmer hinzukommt.

11 KB Kryptologie 11 Asymmetrische Chiffriersysteme cBcB ff* dBdB x x y Klartext Verschlüsselungs- funktion Entschlüsselungs- funktion KlartextGeheimtext c: öffentlicher Schlüssel d: privater Schlüssel BA Jeder Teilnehmer verfügt über zwei Schlüssel:

12 KB Kryptologie 12 Asymmetrische Chiffriersysteme cBcB ff* dBdB x x y Klartext Geheimtext BA Kommunikationsprotokoll: A verschlüsselt x mit dem öffentlichen Schlüssel von B: y = f(c B,x). A sendet y an B. B entschlüsselt y mit seinem privaten Schlüssel: x = f*(d B,y).

13 KB Kryptologie 13 Asymmetrische Chiffriersysteme (c,d)(c,d) A: d A A: c A Die Schlüssel werden von einer Schlüsselvergabestelle erzeugt. Die öffentlichen Schlüssel werden in einer öffentlichen Datenbank bereitgestellt. Die Übermittlung des privaten Schlüssels an den Teilnehmer muss sicher sein. Die privaten Schlüssel werden von den Teilnehmern geheim gehalten. B: c B... dAdA A

14 KB Kryptologie 14 Asymmetrische Chiffriersysteme Sicherheitsanforderungen: Es ist praktisch unmöglich, aus dem öffentlichen Schlüssel c T den privaten Schlüssel d T zu erschließen. Es ist praktisch unmöglich, den privaten Schlüssel d T aus Klartext-Geheimtextpaaren (x,y) zu erschließen.

15 KB Kryptologie 15 RSA-Verfahren RSA: Rivest, Shamir, Adleman (1977) Schlüsselerzeugung: Wähle zwei Primzahlen p und q. Bsp.: p = 7; q = 11 Berechne n = p q und = (p-1) (q-1). Bsp.: n = 77; = 60 Bestimme c < mit ggT(c, ) = 1. Günstig: c Primzahl mit p,q < c < Bsp.: c = 13 Bestimme d mit mod(c d, ) = 1. Bsp.: d = 37 (13 37 = 481 = ) Öffentl. Schlüssel: (c,n)Bsp.: (13,77) Privater Schlüssel: (d,n)Bsp.: (37,77)

16 KB Kryptologie 16 RSA-Verfahren Schlüssel: Öffentl. Schlüssel: (c,n)Bsp.: (13,77) Privater Schlüssel: (d,n)Bsp.: (37,77) Verschlüsselung: y = mod(x c,n)Bsp.: x = 6; y = mod(6 13,77) = 62 Entschlüsselung: x = mod(y d,n)Bsp.: y = 62; x = mod(62 37,77) = 6 Bedingung: x < p,q

17 KB Kryptologie 17 RSA - mathematische Grundlagen Mathematische Grundlage: Satz von Euler Für zwei teilerfremde natürliche Zahlen a und m gilt: a (m) mod m = 1 bzw. mod(a (m), m) = 1 Eulersche -Funktion: (m): Anzahl der zu m teilerfremden Zahlen, die < m sind Bsp. für die Aussage des Satzes von Euler: m = 5: (5) = 4, da 1, 2, 3, 4 zu 5 teilerfremd sind. mögliche Werte für a: 1, 2, 3, 4, 6,... (alle teilerfremd zu m = 5) Satz liefert: 1 4 mod 5 = 1 bzw. 5 | mod 5 = 1 bzw. 5 | mod 5 = 1 bzw. 5 | mod 5 = 1 bzw. 5 | mod 5 = 1 bzw. 5 | mod 5 = 1 bzw. 5 |

18 KB Kryptologie 18 RSA - Korrektheit Zu zeigen: mod(mod(x c,n) d,n) = x bzw. mod(x c ) d,n) = x Es gilt: x und n sind teilerfremd, da x < p, q und n = p q. Setze: = (p-1) (q-1). Dann ist = (n). Satz von Euler liefert: mod(x, n) = 1 (*) Konstruktion von c und d liefert: mod(c d, ) = 1 Also: Es gibt k mit c d = k + 1 Folglich: (x c ) d = x c d = x k + 1 = x x k Mit (*) gilt: mod(x c ) d,n) = mod(x (x ) k,n) = mod(x,n) = x

19 KB Kryptologie 19 RSA-Verfahren mit DERIVE Hilfsfunktionen: MODINV MODPOT dient zur Bestimmung von d mit mod(c d, ) = 1 Aufruf: MODINV(c, ) dient zur Bestimmung der modularen Potenz Aufrufe: mod(x c,n): MODPOT(x, c, n) mod(y d,n): MODPOT(y, d, n) c d x c n y MODPOT y d n x

20 KB Kryptologie 20 RSA-Verfahren mit DERIVE Erzeugung der Schlüssel: DERIVE-Protokoll: p := NEXT_PRIME(1000) 1009 q := NEXT_PRIME(2000) 2003 n := p·q := (p - 1)·(q - 1) c := NEXT_PRIME(2500) 2503 d := MODINV(c, ) Ergebnis: Öffentl. Schlüssel: (c,n)Bsp.: (2503, ) Privater Schlüssel: (d,n)Bsp.: ( , )

21 KB Kryptologie 21 RSA-Verfahren mit DERIVE Verschlüsselung der Nachricht HALLO: Vorbereitung: Kodierung HALLO |121|215 beachte: benutzte Zahlen < p,q DERIVE-Protokoll MODPOT(801, c, n) MODPOT(121, c, n) MODPOT(215, c, n) Ergebnis: verschlüsselte Nachricht: | | Öffentl. Schlüssel: (c,n) = (2503, ) Privater Schlüssel: (d,n) = ( , )

22 KB Kryptologie 22 RSA-Verfahren mit DERIVE Entschlüsselung: Nachbereitung: Dekodierung 801|121| HALLO DERIVE-Protokoll MODPOT(234247, d, n) 801 MODPOT( , d, n) 121 MODPOT(697452, d, n) 215 Ergebnis: entschlüsselte Nachricht: HALLO Öffentl. Schlüssel: (c,n) = (2503, ) Privater Schlüssel: (d,n) = ( , )

23 KB Kryptologie 23 Übung Erzeugen Sie sich mit Derive zunächst ein Schlüsselpaar. Verschlüsseln Sie anschließend mit Derive eine (nicht zu lange) Nachricht. Testen Sie, ob beim Entschlüsseln die ursprüngliche Nachricht wieder entsteht. (Sie können auch eine Nachricht mit ihrem Nachbarn verschlüsselt austauschen.)

24 KB Kryptologie 24 RSA-Verfahren knacken RSA knacken: 1. Mögl.: (c,n) (d,n) 2. Mögl.: (x,y), (c,n) (d,n) Strategie 1. Mögl.:Strategie 2. Mögl.: n (p,q) x = mod(y d,n) (p,q) (x,y,n) d (c, ) d Schwierigkeit: Primfaktorzerlegung von ndiskreter Logarithmus

25 KB Kryptologie 25 Einwegfunktionen Einwegfunktion: f ist eine umkehrbare Funktion mit Umkehrfunktion f*. f kann mit geringem Aufwand berechnet werden. f* kann nur mit sehr hohem Aufwand (praktisch nicht) berechnet werden. Beispiel 1: Telefonbuch f : Name Telefonnummer f*: Telefonnummer Name f f* Beispiel 2: RSA f : (p,q) n = p q Produkt von zwei Primzahlen f*: n (p,q)Primfaktorzerlegung Bed.: n hat mehr als 155 Stell. (512 Bit)

26 KB Kryptologie 26 Übung NEXT_PRIME(10^10) NEXT_PRIME(10^11) · FACTOR( ) · Untersuchen Sie mit Derive, wie lang eine Produktberechnung und die zugehörige Berechnung der Primfaktorzerlegung dauert. Gehen Sie hierzu wie im unten abgebildeten Derive- Protokoll vor. Vergrößern Sie schrittweise die benutzten Primzahlen. Was fällt auf?

27 KB Kryptologie 27 Teil 2 Digitale Signatur

28 KB Kryptologie 28 Probleme mit der Urheberschaft Nachrichtenauthentisierung: Gewährleistung der Integrität (Nachricht wurde nicht von Dritten verändert). Gewährleistung der Authentizität (Nachricht stammt vom Absender) Probleme: Empfänger ändert die Nachricht ab (z. B.: erhöht den Überweisungsbetrag). Absender streitet ab, die Nachricht verschickt zu haben (z. B.: streitet Börsentransaktion ab)

29 KB Kryptologie 29 Digitale Signatur Anforderungen an eine digitale Signatur Authentizität: Nur der Urheber des Dokuments kann die Signatur erzeugen. Nichtübertragbarkeit: Die Signatur kann nicht auf andere Dokumente übertragen werden. Verbindlichkeit: Der Absender kann die Urheberschaft nicht abstreiten. Verifizierbarkeit: Der Empfänger kann die Signatur zweifelsfrei prüfen.

30 KB Kryptologie 30 Erzeugung einer digitalen Signatur dAdA ff* cAcA x x y Klartext Geheimtext BA Grundidee A verschlüsselt x mit seinem privaten Schlüssel.

31 KB Kryptologie 31 Digitale Signatur dAdA ff* cAcA x x y Klartext Geheimtext BA Zu den Anforderungen an eine digitale Signatur: Authentizität: nur A verfügt über d A. Nichtübertragbarkeit: anderes x, anderes y Verbindlichkeit: nur A kann x in y umgewandelt haben Verifizierbarkeit: B kann y nur mit c A in ein sinnv. x umwandeln

32 KB Kryptologie 32 Digitale Signatur dAdA ff* cAcA x x y Klartext Geheimtext BA Nachteile Das signierte Dok. ist erst nach dem Entschlüsseln lesbar. Es ist sehr aufwendig, das gesamte Dok. zu verschlüsseln. Ausweg Erzeugung eines digitalen Fingerabdrucks

33 KB Kryptologie 33 Digitaler Fingerabdruck Grundidee: Es wird eine geeignet komprimierte Form des Klartextes x ermittelt. Beispiel: vereinfachte XOR-Kompression Vorbereitung: binäre Kodierung gemäß ASCII-Code UTA 85 | 84 | | | = X1 | X2 | X3 XOR-Kompression: Y1 = Y2 = Y1 XOR X1 = XOR = Y3 = Y2 XOR X2 = XOR = Y4 = Y3 XOR X3 = XOR = Nachbereitung: *1+0*2+0*4+0*8+0*16+0*32+1*64+0*128 = 64 Ergebnis: 85 | 84 | 65 64

34 KB Kryptologie 34 Hash-Funktion Hash-Funktionen Funktion h, die jeder Nachricht x einen Prüfwert h(x) zuordnet (digitaler Fingerabdruck). Beispiel: x: UTA 85 | 84 | 65 h(x):64 Einweg-Hash-Funktionen Hashfunktion mit folgender Eigenschaft: Es gibt einen effizienten Algorithmus zur Berechnung von h(x) aus x, aber keinen effizienten Algorithmus zur Berechnung von x aus h(x) (d. h.: es ist praktisch unmöglich zu einem Hashwert eine passende Nachricht zu konstruieren).

35 KB Kryptologie 35 Digitale Signatur Signierprotokoll: A bestimmt zur Nachricht x den Hash-Wert h(x) mit der vereinbarten Hash-Funktion h. A erzeugt die digitale Signatur für x: u = f(d A,h(x)). A sendet (x,u) an B. B entschlüsselt u mit dem öffentlichen Schlüssel von A: v = f*(d B,u). B erzeugt den Hash-Wert h(x) und prüft, ob h(x) = v.

36 KB Kryptologie 36 Anforderungen an Hash-Funktionen Anforderungen an gute Hash-Funktionen Es ist praktisch unmöglich, aus dem Hashwert h(x) die Nachricht x zu erschließen. (Einweg-Hash-Funktion) Es ist praktisch unmöglich, eine von x verschiedene Nachricht z mit h(x) = h(z) zu erzeugen. (Kollisionsresistenz) Kollisionen Eine Einweg-Hash-Funktion heißt kollisionsresistent, wenn es keinen effizienten Algorithmus gibt, um ein Paar (x, z) mit der Eigenschaft h(x) = h(z) zu finden.

37 KB Kryptologie 37 Rechtslage Gesetz über Rahmenbedingungen für elektronische Signaturen (Signaturgesetz – SigG) ( ) Zweck des Gesetzes ist es, Rahmenbedingungen für elektronische Signaturen zu schaffen.

38 KB Kryptologie 38 Übung Eine verbesserte Hash-Funktion arbeitet wie folgt: Vorbereitung: binäre Kodierung gemäß ASCII-Code UTA 85 | 84 | | | = X1 | X2 | X3 XOR-Kompression: Y1 = Y2 = Y1 XOR X1 = XOR = Y3 = Y2 XOR X2 = XOR = Y4 = Y3 XOR X3 = XOR = Nachbereitung: = 117 Ergebnis: 85 | 84 | Erzeugen Sie analog den Hash-Wert von HALLO.

39 KB Kryptologie 39 Teil 3 Sicherheitsinfrastruktur

40 KB Kryptologie 40 PGP PGP - Pretty Good Privacy Hybridverfahren: PGP kombiniert symmetrisches Verfahren (z. B. IDEA – Intern. Data Encryption Algorithm) asymmetrisches Verfahren (z. B. RSA) Lit.:

41 KB Kryptologie 41 PGP Vorbereitung PGP erzeugt mit RSA das Schlüsselpaar (c,d) des Teilnehmes T und speichert es in einer Datei (auf Diskette) ab. Um an (c,d) heranzukommen, muss T ein vorher festgelegtes Password eingeben. T verschickt seinen öffentlichen Schlüssel an alle Personen, mit denen er korrespondieren will / legt ihn auf einen Schlüsselserver. Verschlüsselung: A will x an B schicken. PGP (von A) erzeugt einen Sessionkey s. PGP (von A) verschlüsselt die Nachricht x mit IDEA: y = g(s,x) PGP (von A) verschlüsselt den Sessionkey s mit RSA: u = f(c B,s) A sendet (y,u) an B. PGP (von B) entschlüsselt u: s = f*(d B,u) PGP (von B) entschlüsselt y: x = g*(s,y)

42 KB Kryptologie 42 Vertauen zu Schlüsseln Situation: A sendet seinen öffentlichen Schlüssel c A an B. X fängt die Nachricht ab, erzeugt ein neues Schlüsselpaar (c X, d X ), ersetzt c A durch c x und schickt die Nachricht an B. B glaubt nun, der öffentliche Schlüssel von A sei c x. Grundproblem: Wie kann gewährleistet werden, dass ein öffentlicher Schlüssel authentisch ist, also demjenigen gehört, der sich als Eigentümer ausgibt?

43 KB Kryptologie 43 Zertifizierung Zertifizierungsstelle (Trusted Third Party; kurz TTP): A erzeugt ein neues Schlüsselpaar (c A, d A ). A weist sich gegenüber TTP aus (ID-Nachweis). A hinterlegt eine Kopie seines öffentlichen Schlüssels c A bei TTP. TTP erstellt ein Zertifikat Z mit (u. a.) ID und c A. D.h.: TTP verschlüsselt (ID, c A ) mit seinem geheimen Schlüssel Z. Signieren: A signiert Nachricht mit d A und schickt sie an B. B testet, ob c A wirklich A gehört. D.h.: B entschlüsselt Z mit dem öffentl. Schlüssel von TTP / entnimmt ID und c A dem Zertifikat Z. B entschlüsselt die Signatur mit c A. B erzeugt den Hash-Wert der Nachricht und testet die Signatur.

44 KB Kryptologie 44 Literatur A. Beutelspacher: Kryptologie. Vieweg S. Singh: Codes. Hanser LOG IN 5/6 1996: Themenheft Kryptologie. R. Baumann: Digitale Unterschrift. In: LOG IN 2/99 und 3-4/99. H. Witten, I. Letzner, R.-H. Schulz: RSA & Co in der Schule. Serie in LOG IN ab 3-4/99.

45 KB Kryptologie 45 Literatur Glossar mit zentralen Begriffen der Kryptologie Initiative des Bundes Unterrichtseinheit zur Einführung asymmetrischer Verfahren...


Herunterladen ppt "Kryptologie Klaus Becker (2002). KB Kryptologie 2 an K. Becker An: Von: Betrifft: Kontoeröffnung."

Ähnliche Präsentationen


Google-Anzeigen