22
IT-Sicherheit: Kryptographie Asymmetrische Kryptographie

IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

IT-Sicherheit:

Kryptographie

Asymmetrische Kryptographie

Page 2: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

2

Fragen zur Übung 5

C oder Java? Ja (gerne auch Python); Tips waren allerdings nur für C

Wie ist das mit der nonce? Genau!

(Die Erkennung und geeignete Lösung des Problems ist Teil derAufgabe.)

Wie dokumentieren? Im Programm, außerhalb des Programms – Hauptsache, es steht

drin, wie die Probleme gelöst (und welche Entscheidungen dabeigefällt) wurden

Deutsch, Englisch sind als Abgabesprachen stets OK

Page 3: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

3

Motivation: AsymmetrischeKryptographie

Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel K

zur Ver- und Entschlüsselung. K ist in der Regel nur den beiden Partnern bekannt.

Symmetrische Verschlüsselung setzt einen vertraulichenInformationskanal zur Übertragung des Schlüssels K voraus!(Problem des Schlüsselaustauschs bzw. Schlüsselvereinbarung)

Weiteres Problem: Bei n Kommunikationsteilnehmern benötigt manbis zu n×(n−1)/2 Schlüssel. n=10.000 ⇒ ungefähr 50.000.000 Schlüssel

Wie kann man den Schlüsselaustausch (und die Schlüsselverwaltung)vereinfachen?

Page 4: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

4

Asymmetrische (Public Key-)Verschlüsselung

Diffie, Hellmann (1976) Ein Schlüsselpaar (KE ,KD) pro Kommunikationspartner. Schlüsselpaar: ein privater und ein öffentlicher Schlüssel Verschlüsselung einer Nachricht durch öffentlichen Schlüssel. Entschlüsselung durch privaten Schlüssel.

Alice Bob

VerschlüsselteNachricht

E

KE Bob

M D

KD Bob

M

Page 5: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

5

Einweg-Funktionen

Basis für asymmetrische Kryptographie sind Einweg-Funktionen (one-way)f: X → YEigenschaften von Einweg-Funktionen:1) ∀x ∈ X gilt: f(x) ist effizient berechenbar; und2) für fast alle y ∈ Y gilt, dass es nicht effizient möglich ist,das Urbild zu y zu berechnen, also x ∈ X zu berechnen, mit y = f(x)

Bis heute nicht bewiesen, ob überhaupt Einwegfunktionenexistieren.

Bewiesen ist: Sie existieren gdw. P != NP.

Page 6: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

6

Einweg-Funktionen

Gute Kandidaten:1) Faktorisierung: gegeben n=pq, berechne p,q2) Diskreter Logarithmus (Detail später)

Einweg-Funktionen mit Falltür (trapdoor one-way): mit Zusatzinformation sind Urbilder effizient berechenbar

Beispiele für asymmetrische Verfahren: RSA („Quasi-Standard“), EIGamal-Verfahren,

Schlüsselaustausch nach Diffie und Hellman

Page 7: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

7

Allgemeine Eigenschaftenasymmetrischer Verfahren

Die Schlüsselpaare (KE, KD ) müssen folgende Eigenschafterfüllen:Für alle Nachrichten M: D (E (M, KE ), KD ) = M,

KE sei der öffentliche, KD der geheime Schlüssel:Solche Schlüsselpaare müssen leicht zu erzeugen sein.

Ver- und Entschlüsselungen (E und D) sind effizient durchführbar KD ist aus KE nicht mit vertretbarem Aufwand berechenbar⇒ Einsatz von Einweg-Funktionen mit Falltür

Page 8: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

8

Diskreter Logarithmus:Primitivwurzel

Vorausgesetzte Begrifflichkeit:Primitivwurzel (Generator) mod p erzeugt alle von 0verschiedenen Zahlen mod p.

Beispiel: p=7. Dann ist g=5 eine Primitivwurzel mod 7. Denn:

51 = 5 mod 752= 25 = 4 mod 753= 4x5 = 6 mod 754= 6x5 = 2 mod 755= 2x5 = 3 mod 756= 3x5 = 1 mod 7

Page 9: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

9

Problem des diskretenLogarithmus

Gegeben p Primzahl, g ≤ p−1, und y.Bestimme die eindeutige Zahl k (1 ≤ k ≤ p−1) so, dassy = gk mod p.

Diskreter Logarithmus als Umkehrung der Potenzierung, ganzzahligesProblem („diskret“).

Potenzierung (auch für große p) effizient durchführbar Bestimmung des diskreten Logarithmus aber nicht (nur Inspektion),

Problem aus NP f: x → gx (mod p) ist eine Einweg-Funktion mit Falltür

Page 10: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

10

Schlüsselvereinbarung nachDiffie und Hellman (1)

Ziel: Vereinbarung eines gemeinsamen geheimenSchlüssels, ohne diesen auszutauschen(z.B. für eine symmetrische Verschlüsselung)

Achtung: Diffie-Hellman allein liefert keineVerschlüsselung, keine Authentisierung der Partner! Einsatz u.a. in SSL/TLS, Kerberos, IPsec-Protokollen basiert auf dem Problem des diskreten Logarithmus (EIGamal-Verfahren basiert auf der gleichen Idee)

Page 11: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

11

Schlüsselvereinbarung nachDiffie und Hellman (2)

Funktionsweise Wähle große Primzahl p (allen Teilnehmern bekannt); Wähle einen allen Teilnehmern bekannten Wert g, der primitive

Wurzel von p ist.Es gilt also:{g1, ..., gp-2, gp-1}={1, 2, ..., p-2, p-1}.

Page 12: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

12

Schlüsselvereinbarung nachDiffie und Hellman (3)

Wählt zufällig eine Zahl b.Berechnet β:= gb mod p.

KAB = βa mod p = (gb)a mod p = gba mod p= gab mod p = (ga)b mod p = αb mod p

Alice Bob

Wählt zufällig eine Zahl a.Berechnet α:=ga mod p.

Berechnet βamod p Berechnet αbmod p

α β

Page 13: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

13

ElGamal-Verschlüsselungsverfahren

Taher ElGamal (1985) Public-Key-Verfahren, basiert auch auf dem diskreten

Logarithmus Variante von Diffie-Hellman Wir setzen also wieder voraus: p Primzahl, g Primitivwurzel

Page 14: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

14

Funktionsweise: ElGamal-Verschlüsselung (1)

Schlüsselerzeugung von Bob: Wählt zufällig eine Zahl b und berechnet β:= gb mod p. Veröffentlicht (β, g, p) als öffentlichen Schlüssel b ist der private Schlüssel

Verschlüsselung einer Nachricht M (mit M < p): Alice schlägt (β, g, p) im Schlüsselverzeichnis nach. Alice wählt eine nonce (einmalige Zufallszahl) a und berechnet:

α:=ga mod pk:=. βa mod pc:= kM mod p

Page 15: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

15

Funktionsweise: ElGamal-Verschlüsselung (2)

Versenden der Nachricht: Alice verschickt die chiffrierteNachricht (α, c) an Bob. Der Chiffretext ist doppelt so lang wie der Klartext!

Entschlüsselung:Bob berechnet:αb mod p = (ga)b = gba mod p = (gb)a mod p = βa mod p = k,k-1 c mod p = k-1 k M mod p = 1 M mod p = M(k-1 ist das multiplikativ Inverse von k mod p)

Page 16: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

16

RSA-Algorithmus RSA (1977/1978):

Ron Rivest, Adi Shamir, Len Adleman 1983 patentiert, seit 2000 frei Ähnliches System bereits 1973 von

Clifford Cocks erfunden, aber geheimgehalten

Einsatzbereiche: Verschlüsseln, Signieren,Schlüsselaustausch

Basis: Primfaktorzerlegung

Page 17: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

17

RSA: Funktionsweise

Hier: nur skizziert;detaillierte Beschreibung: Übungen, Literatur

1) Wähle Primzahlen p, q, Modul n = pq2) Wähle d so, dass ggT((p -1)(q -1), d) = 1,3) Berechne e mit ed = 1 mod ((p -1)(q -1))

(typischer Wert: e = 65537 (= 216 + 1)) (e, n) öffentlicher Schlüssel; (d, n) geheimer Schlüssel Verschlüsselung E: E(M) = Me mod n = C Entschlüsselung D: D(C) = Cd mod n = Med mod n = M

Page 18: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

18

Hybride Verschlüsselung

Public-Key-Verfahren wesentlicher ineffizienter (Faktor 1000) alssymmetrische Verfahren (z.B. XOR, Shift, Vertauschungsoperationen)

In der Praxis deshalb häufig in hybriden Verfahren eingesetzt: Public-Key-Verfahren: Austausch des geheimen Schlüssels K symmetrisches Verfahren zur effizienten Daten-Verschlüsselung

Typische Beispiele hierfür: SSL/TLS SSH PGP

Page 19: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

19

Ablauf: Hybride Verschlüsselung

Beispiel: vertrauliche Kommunikation zwischen A und B;Schlüsselaustausch (mittels Public Key Verfahren): A: Erzeuge Sitzungsschlüssel KAB für symmetrisches

KryptoverfahrenEasym(KAB, KE

B)= Crypt_Key, Verschl. mit Public Key von B B: Dasym(Crypt_Key, KD

B) = KAB, Ents. mit Private Key von BEigentliche Verschlüsselung (mit symmetrischem Verfahren): A: Esym(M, KAB)= Crypt_Text, verschlüsselte Nachricht M B: Dsym(Crypt_Text, KAB) = M entschlüsselte Nachricht

Page 20: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

20

Man-in-the-middle-Angriff Problem: keine ausreichende Authentisierung bei Public Key-

Verfahren Woher weiß Alice, dass der gefundene Public Key wirklich zu Bob gehört?

Gefahr eines Man-in-the-Middle-Angriffs(besser: Middle-Person-Angriff): Angreifer Mallory gibt sich gegenüber Alice als Bob aus. Angreifer Mallory gibt sich gegenüber Bob als Alice aus. „Problem der Schachgroßmeister“

Lösungsansätze später in der Vorlesung

Alice BobMallory

Page 21: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

21

Einsatz von RSA fürdigitale Signaturen

Verschlüsselung: Verschlüsselung E: E(M) = Me mod n = C Entschlüsselung D: D(C) = Cd mod n = Med mod n = M

Digitale Unterschrift: Signatur D: D(M) = Md mod n = S Verifikation E: E(S) = Se mod n = Mde mod n = M

Page 22: IT-Sicherheit: Kryptographie3 Motivation: Asymmetrische Kryptographie Bislang symmetrische Verschlüsselung: Beide Kommunikationspartner besitzen einen gemeinsamen Schlüssel Kzur

22

Nächste Termine

Mo, 30.05.2005 10–12 Uhr:• Vertiefung Asymmetrische KryptographieDo, 26.05.2005 08–10 Uhr:• Authentisierung, Digitale Signatur, Zertifikate, PKI

Übungsblatt 6 bald auf Stud.IP, s.:https://elearning.uni-bremen.de