EN 6.3: 4 Kryptographie

586 Aufrufe

Veröffentlicht am

Lecture on IT Security and Technical Data Protection
Part 4: Cryptography
Summer term 2016

(in German: 4 Kryptographie
der Vorlesung IT-Sicherheit und Technischer Datenschutz
im Sommersemester 2016)

Veröffentlicht in: Internet
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
586
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
11
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

EN 6.3: 4 Kryptographie

  1. 1. EN 6.3: IT-Sicherheit und Technischer Datenschutz Donnerstag, den 31. März 2016 Dozent: Dr. Sven Wohlgemuth <wohlgemuth@acm.org> Themen 1. IT-Sicherheit und Datenschutz 2. IT-Compliance und IT-Sicherheitsmanagement 3. Sicherheitsmodelle 4. Kryptographie 5. Netzwerksicherheit 6. Sichere Dienste 7. IT-Risikomanagement 8. Risikoidentifizierung 9. Risikoquantifizierung 10. Benutzbare Sicherheit
  2. 2. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  3. 3. Historische Entwicklung (1/3) 400 v. Chr.: Spartaner benutzen ein Stab zur 
 Verschlüsselung der Kommunikation: Scytale – Transpositionschiffre – Scytale: Holzstab, um den ein Pergament- oder Lederstreifen versetzt gewickelt wird, auf dem die Nachricht geschrieben wird – Auf dem ausgewickelten Streifen erscheint 
 die Nachricht durcheinander – Schlüssel: die Größe der Scytale 58-51 v. Chr.: Caesar-Chiffre im Gallischen Krieg – monoalphabetische Substitution: 
 Rotation des Klartextalphabetes um k Zeichen
 
 k=3:
 Klartextalphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
 Geheimtextalphabet: DEFGHIJKLMNOPQRSTUVWXYZABC
 – Schlüssel: Angabe k der Rotation
  4. 4. Historische Entwicklung (2/3) 1586: Vigenère-Chiffre (Blaise de Vigenère) – polyalphabetische Substitution – Verwendung von bis zu 26 Alphabeten – Schlüssel: Verwendung eines Codewortes, das die Verwendung der Alphabete bestimmt 1923: Enigma – Verschlüsselungsmaschine nach dem Rotor-
 Prinzip (Arthur Scherbius) B A C D E F f e d c b a Lampen Tastatur Stecker- brett 3 Walzen Reflektor Eingabe: a Ausgabe: C
  5. 5. Historische Entwicklung (3/3) 1973-1977: Entwicklung von DES (Data Encryption Standard) 1976: Prinzip der asymmetrischen Kryptographie (W. Diffie und M. Hellman) 1978: RSA-Verfahren (R.L. Rivest, A. Shamir und A.M. Adleman) 1982: Konzeption der Quantenkryptographie (C. Bennett und G. Brassard) 1985: Einführung der elliptischen Kurven-Kryptograhie (N. Kobliz; V. Miller) 1998-2001: Entwicklung von AES (Advanced Encryption Standard) 2010: Einführung des Personalausweises mit Online-Ausweisfunktion 2016: Konflikte u.a. Apple vs. FBI, Initiativen wie Mozilla #youbeyou
  6. 6. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser Lesegerät (Terminal) Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  7. 7. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser 1. Starte eID-basierteAuthentifikation 2. Parameter 3. StarteAusweis-App 4.Aufbau eines sicheren Kanals (z.B. SSL) Lesegerät (Terminal) Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  8. 8. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser 1. Starte eID-basierteAuthentifikation 2. Parameter 3. StarteAusweis-App 4.Aufbau eines sicheren Kanals (z.B. SSL) Lesegerät (Terminal) 5. PACE Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  9. 9. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser 1. Starte eID-basierteAuthentifikation 2. Parameter 3. StarteAusweis-App 4.Aufbau eines sicheren Kanals (z.B. SSL) Lesegerät (Terminal) 5. PACE 6. EAC Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  10. 10. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser 1. Starte eID-basierteAuthentifikation 2. Parameter 3. StarteAusweis-App 4.Aufbau eines sicheren Kanals (z.B. SSL) Lesegerät (Terminal) 5. PACE 6. EAC 7. Sicherer Kanal Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  11. 11. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser 1. Starte eID-basierteAuthentifikation 2. Parameter 3. StarteAusweis-App 4.Aufbau eines sicheren Kanals (z.B. SSL) 8. eID-basierteAuthentifikation Lesegerät (Terminal) 5. PACE 6. EAC 7. Sicherer Kanal Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  12. 12. Online-Ausweisfunktion des Personalausweises Bürger Dienstanbieter Ausweis-App Web-Server eID-Server Sperrlisten- datenbank, Zertifizierungs- infrastruktur Browser 1. Starte eID-basierteAuthentifikation 2. Parameter 3. StarteAusweis-App 4.Aufbau eines sicheren Kanals (z.B. SSL) 8. eID-basierteAuthentifikation 9. Datenabgleich 10. Daten- austausch Lesegerät (Terminal) Authentifikation abgeschlossen 5. PACE 6. EAC 7. Sicherer Kanal Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI) BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015
  13. 13. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  14. 14. Erfolgsarten eines Angreifers Ziele des Angreifers – Geheimen Schlüssel berechnen (total break) – Zum Schlüssel äquivalentes Verfahren finden (universal break) – Einzelne Nachrichten entschlüsseln bzw. fälschen Verschlüsselung – Ganze Nachricht entschlüsseln – Teile einer Nachricht entschlüsseln Authentifikation – Selektive Fälschung: vor dem Angriff wird eine best. Nachricht gewählt – Existentielle Fälschung: während des Angriffes wird eine beliebige Nachricht gewählt
  15. 15. Passiver Angriff Lesen des Schlüsseltextes (Ciphertext-only) Lesen des Schlüssel- und Klartextes (Known-Plaintext) Angreifer Angreifer Ziel: Angreifer beobachtet die Kommunikation und versucht,
 den Schlüssel zur Entschlüsselung bzw. Authentifikation zu rekonstruieren.
  16. 16. Mit gewähltem Klartext (Chosen-Plaintext) Mit gewähltem Schlüsseltext (Chosen-Ciphertext) Angreifer Angreifer bei asymmetrischem Verfahren sinnlos, da pk und sk verschieden sind Ziel: Angreifer beeinflusst die Kommunikation zur Rekonstruktion 
 des Schlüssels zur Entschlüsselung. Aktive Angriffe auf Verschlüsselung
  17. 17. Angreifer lässt best. Nachrichten signieren (Chosen-Message) Angreifer wählt MAC • Angreifer erfährt nur 1 Bit bei einem Protokolldurchlauf. • Angriff ist bei digitaler Signatur sinnlos, da Testschlüssel pk öffentlich ist. Angreifer Angreifer Aktive Angriffe auf Authentifikation Ziel: Angriff auf ein Challenge-Response-Protokoll, um einen gültigen MAC zu konstruieren.
  18. 18. Kerckhoffs Prinzipien 1. Das System darf in der Praxis, falls nicht 
 mathematisch, nicht zu entschlüsseln sein. 2. Die Sicherheit des Systems darf nicht auf 
 Verschwiegenheit beruhen, d.h. auch wenn 
 das System in Besitz des Feindes gerät, 
 so darf ihm daraus kein Vorteil entstehen. 3. Der Schlüssel sollte ohne Zuhilfenahme von 
 Notizen sowohl kommuniziert und gespeichert als 
 auch ausgetauscht und verändert werden können. 4. Für telegraphische Kommunikation muss das System benutzbar sein. 5. Das System muss mobil sein, und seine Anwendung darf nicht viele Personen erfordern. 6. Das System muss einfach zu benutzen sein und weder extreme geistige Anstrengungen noch Wissen über eine Vielzahl von einzuhaltenden Regeln erfordern. Quelle: Kerckhoff 1883
  19. 19. Dolev Yao m, pkBob Alice Bob Charlie Verzeichnisdienst eIDBobeIDAlice pkBob pkBob Dolev und Yao, On the Security of Public Key Protocols, 1983
  20. 20. Dolev Yao m, pkBob Alice Bob Charlie Verzeichnisdienst eIDBobeIDAlice pkBob pkBob • Hashfunktionen sind nicht korrumpierbar • Verzeichnisdienst ist öffentlich und sicher • Alle öffentliche Schlüssel sind für jeden verfügbar • Eigentliche Kommunikation ohne dritte Partei • Der private Schlüssel ist nur dem Eigentümer bekannt Dolev und Yao, On the Security of Public Key Protocols, 1983
  21. 21. Sicherheitsgrade Informationstheoretische Sicherheit – Sicherheit ist unabhängig von den Ressourcen des Angreifers – Verschlüsselung: Angreifer kann Klartext nicht besser als 
 mit a-priori Wahrscheinlichkeit raten – Authentifikation: Angreifer kann MAC bzw. digitale Signatur nicht besser 
 als durch blindes Raten fälschen Komplexitätstheoretische Sicherheit – Sicherheit beruht auf der begrenzten Rechenfähigkeit des Angreifers – Sicherheit beruht auf Annahmen (z.B. Faktorisierungsannahme) – Angriffsmöglichkeit: Vollständige Suche (Brute Force)
  22. 22. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  23. 23. Symmetrische Verschlüsselung Ziel: Geheimhaltung der Nachricht m – Genau ein Schlüssel k zur Ver- und Entschlüsselung – Zufallsbit z zur Vermeidung von Probierangriffen – Keine Integrität: Schlüsseltext kann unbemerkt modifiziert werden gen := Schlüsselgenerierung ver := Verschlüsselungsfunktion ent := Entschlüsselungsfunktion ent l z gen k k m c m Klartext Schlüsseltext ZufallsbitsSicherheits- parameter Geheimer Bereich ver
  24. 24. Asymmetrische Verschlüsselung Ziel: Geheimhaltung der Nachricht m – Verschiedene Schlüssel für Ver- und Entschlüsselung – Empfänger benötigt ausschließlich ein Schlüsselpaar (pk, sk) für alle Sender – Schlüsselverteilung von pk muss integer sein gen := Schlüsselgenerierung pk := öffentlicher Schlüssel sk := privater Schlüssel ver := Verschlüsselungsfunktion ent := Entschlüsselungsfunktion
  25. 25. Symmetrische Authentifikation Ziel: Integrität und Authentizität der Nachricht m – Erstellung eines Prüfwertes MAC (Message Authentication Code) – Prüfung: MAC* := auth(k, m) ! MAC ?= MAC* – Geheimer und integrer Schlüsselaustausch notwendig gen := Schlüsselgenerierung auth := Authentikationsfunktion test := Prüfsfunktion MAC:= Message Authentication Code
  26. 26. Asymmetrische Authentifikation Ziel: Integrität, Authentizität und Nicht-Abstreitbarkeit einer Nachricht m – Disput vor Dritten möglich – Systeme zur digitalen Signatur – Sicherheit und Schlüsselverteilung analog zur asymmetrischen Verschlüsselung gen := Schlüsselgenerierung pk := öffentlicher Schlüssel sk := privater Schlüssel sign:= Signaturfunktion test := Testfunktion
  27. 27. Einwegfunktion Ziel: „Einfache“ Berechnung von f und „schwere“ Berechnung von f-1 – „Einfach“ und „schwer“ ist komplexitätstheoretisch zu verstehen – Partielle Informationen über f-1 können gefunden werden, 
 daher nicht zur Verschlüsselung geeignet – Beispiel: f(p,q) = pq für große Primzahlen (Annahme)
  28. 28. Hashfunktion Ziel: Verkürzung von Nachrichten – Kollisionsfrei, falls hash(m) = hash(m*) ! m = m*
  29. 29. Pseudozufallszahlengenerator Ziel: Deterministische Erzeugung von einer langen, „zufälligen“ Bitfolge – Pseudozufallszahl sollte nicht von einer Zufallszahl unterscheidbar sein – Der Startwert seed ist eine kleine Zufallszahl – Beispiel: Thermisches Rauschen als seed – Anwendung: z.B. Schlüsselgenerierung
  30. 30. Betriebsarten Blockchiffre – Ver- und Entschlüsselung für Zeichenketten fester Länge Stromchiffre – Ver- und Entschlüsselung für Zeichenketten variabler Länge • Synchron – Verschlüsselung eines Zeichens hängt von der Historie ab – Sender und Empfänger müssen immer im selben Takt sein.
 Ein Fehler wird nicht toleriert • Selbstsynchronisierend – Verschlüsselung eines Zeichens hängt nur von wenigen vorigen Schlüsseltextzeichen ab
  31. 31. Überblick zu konkreten Systemen Kryptographische Verfahren Symmetrische Verfahren One-Time-Pad DES AES Betriebsmodi Asymmetrische Verfahren RSA Diffie-Hellmann ElGamal DSA Kryptographische Prüfwerte MD-5 SHA-1 One-Time-Pad informationstheoretisch sicher
  32. 32. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  33. 33. One-Time-Pad / Vernam Chiffre Informationstheoretische sichere Verschlüsselung Schlüssel k – Zufallszahl – Schlüssellänge ist gleich Nachrichtenlänge – Darf nur einmal verwendet werden, da k sonst berechnet werden kann Schlüsselverteilung – Geheimer und integrer Austausch des Schlüssels k notwendig – Beispiel: Thermisches Rauschen als Schlüssel k und Verteilung auf CD enc(k, m) := m XOR k dec(k, c) := c XOR k m = 1 0 1 0 1 1 0 k = 0 1 1 0 1 0 1 c = 1 1 0 0 0 1 1
  34. 34. Vernam Chiffre: Informationstheoretisch sicher Schlüsseltext Schlüssel Klartext Schlüsseltext Schlüssel Klartext sichere Chiffre unsichere Chiffre Bsp.: Vernam-Chiffre mod 2 x = 00 01 00 10 + k = 10 11 01 00 S= 10 10 01 10 Subtraktion von einem Schlüsselbit mod 4 von zwei Klartextbits "Hinter jedem Schlüsseltext S kann sich jeder Klartext x gleich gut verbergen."
  35. 35. Data Encryption Standard (DES) • 1977: Standardisierung als Data Encryption Standard (DES) mit 64[56]-bit Schlüssellänge • Kombination aus Transpositions- und Substitutionschiffre • Erster kryptographischer Standard (NIST: FIPS PUB 46) • Nicht patentiert ! frei benutzbar • Heute ist die Schlüssellänge zu kurz, deshalb – 3DES mit 112 bzw. 168-bit Schlüssellänge – AES
  36. 36. DES: Gesamtstruktur • Verschlüsselung von Nachrichtenblöcken der Größe 64 Bit • Aufteilung eines Nachrichtenblocks
 in Li und Ri zu je 32 Bit • DES besteht aus 16 Runden in denen jeweils permutiert und substituiert wird • IP und IP-1 sind Ein- und Ausgangspermutationen • Rundenschlüssel Ki sind unterschiedlich: Pro Runde werden 48 Bit des 56 Bit Schlüssels gewählt
  37. 37. Transpositionschiffre • Prinzip: Anordnung der Klartextzeichen wird vertauscht • Verwendung des gleichen Alphabetes für Klar- und Schlüsseltext • Häufige Beschreibung durch Tabellen (z.B. bei DES) • Beispiel: 9 3 1 2 8 4 7 5 6 T E L E M A T I K K L T E I E T M A Klartext Schlüsseltext
  38. 38. Transpositionschiffre • Prinzip: Anordnung der Klartextzeichen wird vertauscht • Verwendung des gleichen Alphabetes für Klar- und Schlüsseltext • Häufige Beschreibung durch Tabellen (z.B. bei DES) • Beispiel: 9 3 1 2 8 4 7 5 6 T E L E M A T I K K L T E I E T M A Klartext Schlüsseltext
  39. 39. Substitutionschiffre • Prinzip: Buchstaben(-gruppen) werden durch andere Zeichen(-gruppen) ersetzt • Verwendung eines Alphabetes: Rotation des Klartextalphabetes um k Zeichen – Muster können erkannt werden und auf den Klartext rückschließen lassen • Verwendung mehrerer Alphabete: – Verschleierung von Mustern durch Verwendung unabhängiger Substitutionschiffren – Beispiel: S-Box S1 aus DES (Substitutionsvorschrift)
 Substitution: ein 6Bit Eingabe-Block wird substituiert durch einen 4Bit Ausgabeblock S1 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7 1 0 F 7 4 E 2 D 1 A 6 C B 9 5 3 8 2 4 1 E 8 D 6 2 B F C 9 7 3 A 5 0 3 F C 8 2 4 9 1 7 5 B 3 E A 0 6 D Beispiel: S1(0 0101 1) = (2) = (0010) ⎬ Spalte Zeile 210
  40. 40. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  41. 41. Asymmetrische Verfahren Verschiedene Schlüssel für Ver- und Entschlüsselung – Ein Schlüsselpaar (pk, sk) des Empfängers für alle Sender Verschiedene Schlüssel für digitale Signatur und Prüfung – Ein Schlüsselpaar (pk, sk) des Signierers für alle digitalen Signaturen und alle Empfänger Einfacherer Schlüsselaustausch 
 durch Asymmetrie – Kein geheimer Austausch 
 von pk notwendig – Schlüsselverteilung von pk 
 muss integer sein – Vertrauenswürdige Dritte 
 bestätigen die Beziehung 
 zwischen pk und dem 
 Eigentümer (s. PKI)
  42. 42. RSA • 1978 entwickelt von Ronald Rivest, Adi Shamir und Leonard Adleman • Idee: RSA als Trap-door-Einwegpermutation • Basiert auf der Faktorisierungsannahme RSA-Annahme: Das Ziehen von zufälligen e-ten Wurzeln ist genauso schwer, wie die Faktorisierung, d.h. wie große Zahlen n in ihre Primfaktoren p und q zu zerlegen.
  43. 43. Stand der Faktorisierung RSA Factoring Challenge, RSA Laboratories Inc. (Challenge ist nicht mehr aktiv) Quelle: http://www.emc.com/emc-plus/rsa-labs/ historical/the-rsa-factoring-challenge.htm Empfehlung des BSI
 (BSI Technische Richtlinie TR-02102-2 Quelle: https://www.bsi.bund.de/DE/ Publikationen/TechnischeRichtlinien/tr02102/ index_htm.html • Datensparsamkeit bei der Übertragung von Informationen mit langfristigem Schutzbedarf • Nutzung hybrider Verschlüsselung Verfahren ECIES DLIES RSA Länge l in Bits 250 2000 2000 Empfehlung für Einsatz > 2016 3000 3000
  44. 44. RSA: Schlüsselgenerierung 1. Wähle zwei Primzahlen p, q a) zufällig und unabhängig b) mit Länge l = |p|2 ≈ |q|2 c) p ≠ q Beispiel: p = 11, q = 3 2. Berechne n := p * q
 Beispiel: n = 33 3. Wähle e zufällig, so dass 
 e und (p-1)(q-1) relativ prim
 Beispiel: e = 3 4. Berechne Inverses von e dem Erweiterten Euklidischen Algorithmus: 
 d := e-1 mod (p-1)(q-1)
 Beispiel: d = 7 Öffentlicher Schlüssel: pk := (n, e) Beispiel: pk = (n = 33, e = 3) Geheimer Schlüssel: sk := (p, q, d) Beispiel: sk = (p = 11, q = 3, d = 7)
  45. 45. RSA: Verschlüsselung pk:=(n,e) sk:=(p,q,d) Verschlüsselung einer Nachricht m 1. Verschlüsselung ver(pk, m) := me mod n = c Beispiel: ver(pk, m) := 43 mod 33 = 64 mod 33 ≡ 31 2. Entschlüsselung ent(sk, c) := cd mod n = m Beispiel: ent(sk, c) := 317 mod 33 = 27.512.614.111 mod 33 ≡ 4 Beispiel: m = 4
  46. 46. RSA: Signatursystem Digitale Signatur – Digital Signieren:sign(sk, m) := md mod n = sig – Testen: test(pk, m, sig) = ok :↔ sige ≡ m mod n Bemerkung – RSA-Schlüssel können für dig. Signatur und für Verschlüsselung eingesetzt werden. – Vorsicht: Kompromittierung des Signaturschlüssels = Kompromittierung des Schlüssels zur Entschlüsselung pk:=(n,e)sk:=(p,q,d)
  47. 47. Einige Schwächen von RSA Größe des Modulus (Empfehlung des BSI) – Langfristig: min. 2000 Bit – Einsatz ab 2016: min. 3000 Bit Ausnutzung der Homomorphie-Eigenschaft von RSA • Homomorphie-Eigenschaft: (m1m2)e ≡ m1 em2 e mod n • Angriff: Digitale Signatur einer Nachricht m ohne Signaturschlüssel zu kennen
 (Chosen-Message-Angriff)
 1. Wähle sig1 und setze m1 := sig1 e 2. Sei m2 := m • m1 -1 3. Lasse m2 unterschreiben 4. Setze sig := sig1 • sig2 = m1 d * m2 d = (m1*m2)d = md m2 sig2 m, m1, m2, sig1
  48. 48. Hybride Verfahren Prinzip: Kombination kryptographischer Verfahren verschiedenen Typs Beispiele: – Symmetrische mit asymmetrischer Verschlüsselung – Hashfunktionen mit Signaturverfahren Motivation – Asymmetrische Verfahren sind langsam – Asymmetrische Kryptosysteme sind anfällig gegen Chosen-Ciphertext-Angriffe Hybride Verfahren – Erweiterung des Klartextes um Redundanz, Hashwert, Zufallszahl, … – Hybride Verschlüsselung
  49. 49. Hybride Verschlüsselung (1/2) Idee – Mischung aus symmetrischer und asymmetrischer Verschlüsselung – Symmetrischer Schlüssel wird nur einmal gebraucht Vorteile – Effizienz der symmetrischen Verschlüsselung – Einfache Schlüsselverteilung für asymmetrische Schlüsselpaare Symmetric Key EC Key RSA Key Time to Break Machines Memory 56 112 430 less than 5 minutes 105 trivial 80 160 760 600 months 4300 4 Gb 96 192 1020 3 million years 114 170 Gb 128 256 1620 1016 yrs .16 120 Tb Quelle: RSA Laboratories: Bulletin number 13, April 2000
  50. 50. Hybride Verschlüsselung (2/2)
  51. 51. Erweiterung des Klartextes Idee: Erweiterung des Klartextes um Redundanz, Hashwert, Zufallszahl, … Verschlüsselung a) Verschlüsselung des Klartextblocks m 1. Wähle Zahl z mit Länge zufällig 2. Setze m* := (m, z, h(m, z)) mit Hashfunktion h und Redundanz red = h(m, z) 3. Berechne c := ver(pk, m*) b) Entschlüsselung von c 1. m* := ent(sk, c) 2. Zerlege m* in 3 Teile: (m, z, red) 3. Prüfe, ob red = h(m, z)? Digitale Signatur Prinzip: Statt m wird m* := hash(m) signiert a) Signatur sig von m: sign(sk, m*) = sign(sk, hash(m)) b) Test: Prüfe, ob test(pk, m, sig) = hash(m)?
  52. 52. Erforderlich: Sicherer Schlüsselaustausch Informatisierte, vernetzte Gesellschaft: Spontaner Informationsaustausch • Kein persönlicher Austausch • Keine zentrale Vertrauensstelle (für das Internet) pkBob, pkCA2, pkCA1 “Man in der Mitte” Alice Bob
  53. 53. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  54. 54. Schlüsselmanagement Aufgaben: • Erstellung von Schlüsseln • Verteilung von Schlüsseln • Widerruf von Schlüsseln Eigenschaften: • Für symmetrische Verschlüsselung und Authentifikation: – geheimer und integrer Austausch des Schlüssels k • Für asymmetrische Verschlüsselung: – Integrer Austausch des öffentlichen Schlüssels • Für Signatursysteme: – Integrer und konsistenter Austausch des öffentlichen Schlüssels
  55. 55. Schlüsselverteilung: Direkter Austausch  
  56. 56. Das Zuordnungsproblem von Information Bürger(A) A fordert B’s Schlüssel an C holt B’s richtigen Schlüssel C schickt A aber eigenen Schlüssel Nachricht unwissentlich verschlüsselt für C Nachricht neu verschlüsselt für B Rathaus(B)
  57. 57. Das Zuordnungsproblem von Information Bürger(A) A fordert B’s Schlüssel an C holt B’s richtigen Schlüssel C schickt A aber eigenen Schlüssel Nachricht unwissentlich verschlüsselt für C Nachricht neu verschlüsselt für B Rathaus(B) Angreifer(C) „Man in the Middle Attack“ Frage von A: Ist der Schlüssel von B authentisch?
  58. 58. Zertifizierungsinstanz (CA) Information Identifikation Publikation Widerruf Widerrufsliste Zeitstempel engl.: Certification Authority
  59. 59. Drei Arten von Zertifizierungssystemen • Zentrale Zertifizierungsstelle 
 (Certification Authority, CA) – Eine einzige CA – Public Key der CA häufig in Anwendungs-Software integriert • Dezentrale Zertifizierungsstelle 
 (Vertrauensgeflecht, „Web of Trust“) – Jeder Inhaber eines Schlüssels kann als CA tätig sein – Bsp.: PGP (Pretty Good Privacy) • Hierarchisches Zertifizierungssystem – CAs, die wiederum von „höherer“ CA bestätigt werden – Bsp.: Infrastruktur nach Signaturgesetz
  60. 60. Austausch symmetrischer Schlüssel • Ziel: geheimer und integrer Austausch des 
 symmetrischen Schlüssels k • Möglichkeiten: – Persönliche Übergabe oder durch 
 vertrauenswürdigen Boten (Dritten) – Masterschlüssel: • Einmal übertragen • Nur für Austausch von 
 mehreren Sitzungsschlüsseln verwenden – Austausch über zentrale Stelle(n) – Hybrides Verfahren • Sitzungsschlüssel wird 
 asymmetrisch verschlüsselt • Asymmetrischer Schlüssel
 integer verteilen ent l z gen k k m c m Klartext Schlüsseltext ZufallsbitsSicherheits- parameter Geheimer Bereich ver
  61. 61. Austausch über eine dritte Stelle • Jeder Teilnehmer benötigt im Voraus ein kAZ • Zentrale Stelle kann Nachrichten des Nutzers lesen bzw. ihn authentisieren • Aufteilung eines Schlüssels auf mehrere Stellen, z.B. k = k1 + k2 + k3 • Vertrauen in zentrale Stellen notwendig • Beispiel: Kerberos k(Nachrichten) kAZ(k) kBZ(k) kAZ kBZ Schlüsselverteilzentrale
  62. 62. Austausch asymmetrischer Schlüssel • Ziel ist anwendungsabhängig – für Verschlüsselung: integrer Austausch
 des öffentlichen Schlüssels – für digitale Signatur: integrer und 
 konsistenter Austausch des öffentlichen 
 Schlüssels • Möglichkeiten: – Persönliche Übergabe des öffentlichen 
 Schlüssels – Papierverzeichnisse – Austausch über zentrale Stellen – Austausch über (mehrere) 
 Bekannte
  63. 63. Zeitlicher Ablauf eines Austausches 1. Identitätsprüfung: Zuordnung Person/Pseudonym – Schlüssel/Attribute 2. Zertifizierung: Bestätigung der Zuordnung durch Dritte und Ausstellung von Zertifikaten 3. Verteilung solcher Zertifikate 4. Prüfung eines Zertifikates durch den Empfänger (Authentizität des erhaltenen Schlüssels) Reg. Zert. Verteilung Prüfung pkA A B C
  64. 64. Identitätsprüfung Reg. Zert. Verteilung Prüfung pkA • Zuordnung: Person/Pseudonym zu Schlüssel/Attribut(e) • Prüfung ist Anker für den gesamten Verteilvorgang • Möglichkeiten: – Persönliche Übergabe von pk auf Papier oder Diskette • evtl. mit eigenhändiger Unterschrift und Vorlage des Ausweises – Schlüsselerstellung unter Beobachtung eines Dritten • Aussagen einer Zuordnung: – Zuordnung – Angabe des verwendeten Kryptographiesystems – Gültigkeitsdauer der geprüften Zuordnung – Schutz vor Schlüsseldiebstahl – Haftung
  65. 65. Zertifizierung durch vertrauenswürdigen Dritten Public Key, Name Signatur der CA Public Key, Nam e Zertifizierungsinstanz (Certification Authority - CA) Signtrust • Semantik durch PKI und Policy der CA vorgegeben (z.B. deutsches Signaturgesetz) • Privatsphäre: Nutzung von Zertifikaten hinterlässt verkettbare Spuren (Profilbildung) • Zertifikate können vom Empfänger nicht gefälscht werden
  66. 66. Zertifizierung durch vertrauenswürdigen Dritten Echtheits-
 bestätigung
 des Zertifikats Eindeutige Zertifikats
 nummer Öffentlicher
 Schlüssel
 der Person Name: Ser. Nummer: Issued by: Issue date: Expiration: Public key: Attributes: H. Acker 12345678 S-Trust 07/01/1999 07/01/2002 X a # 6 @ Usage Limits Zertifikat Digitale Signatur
 der CA Identifikation
 der Person Identifikation
 des
 Ausstellers Zusätzliche
 Angaben Public Key, Name Signatur der CA Public Key, Nam e Zertifizierungsinstanz (Certification Authority - CA) Signtrust • Semantik durch PKI und Policy der CA vorgegeben (z.B. deutsches Signaturgesetz) • Privatsphäre: Nutzung von Zertifikaten hinterlässt verkettbare Spuren (Profilbildung) • Zertifikate können vom Empfänger nicht gefälscht werden
  67. 67. Zertifikate Schlüsselzertifikate • Digitale Bestätigung von Zuordnung Person-Schlüssel Attributzertifikate (Credentials) • Digitale Bestätigung von Zuordnung Person-Eigenschaft oder Person- Recht • Privatheit: Credentials sollten nachweisbar sein, ohne Attribute und Schlüssel zu zeigen • Attribute ändern sich oft ! Widerruf von bestehenden Credentials und Verteilung neuer Credentials Zert.
  68. 68. Verteilung von Zertifikaten • Sicherheit: Zertifikate können von Sender/Verteiler und Empfänger nicht gefälscht werden • Empfänger vertraut bestimmten Sendern/Verteilern • Möglichkeiten der Verteilung: – Zertifikate als Anhang zur geschützten Nachricht verschicken – Über CA – Über Verzeichnisdienste – Über Ketten von Bekannten Verteilung Reg. Zert. pkA
  69. 69. Prüfung von Zertifikaten • Problem: Hält der Empfänger den erhaltenen öffentlichen Schlüssel für authentisch? • Prüfung: – basiert auf Vertrauen in Zertifizierer (Vertrauensinfrastrukturen) – anhand von Zertifizierungspfaden • Verbesserung des Vertrauens: Prüfung anhand von Zertifikaten unterschiedlicher Zertifizierer Zertifikat AliceCA1 CA2 CA3
  70. 70. Wann ist ein Schlüssel authentisch? • Schlüssel wurde persönlich geprüft • Zertifikat des Schlüssels ist gültig, d.h. – Signatur ist korrekt – Schlüssel der Zertifizierungsstelle ist authentisch – Vertrauen in die Zertifizierungsautorität gegeben – Datum ist im Bereich der Gültigkeitsdauer – Schlüssel ist nicht widerrufen – Kontext der Schlüsselverwendung ist korrekt – Sicherheitspolicy wird akzeptiert • Anforderungen (Sicherheitspolicy) an die Zertifizierung(spfade) sind erfüllt
  71. 71. Prüfung eines Schlüsselzertifikates Name des Inhabers SignaturÖffentlicher Schlüssel Schlüsselzertifikat Hash (z.B. MD5) Dechiffierung 
 der Signatur Hashwert HashwertTest auf 
 Gleichheit Öffentlicher Schlüssel der 
 CA
  72. 72. Widerruf von Zertifikaten • Notwendig wenn z.B. private Schlüssel kompromittiert wurden oder der Eigentümer Berechtigungen verliert (Kündigung eines Arbeitnehmers) • Publikation widerrufener Zertifikate über Certificate Revocation List (CRL) oder on- line Prüfung mit CA • In einer CRL stehen alle Zertifikate, deren Gültigkeit vorzeitig beendet wurde • Zertifikate, deren Gültigkeitsdauer abgelaufen ist, werden nicht in CRL aufgenommen • Zeitstempel einer CRL markiert den Zeitpunkt der Rücknahme • Dokumente, die vor der Rücknahme eines Schlüssels signiert wurden, bleiben gültig
  73. 73. Zeitliche Definitionslücke bei einem Widerruf t Verifier Certification Authority trequest tsignature verification Requester trevocation published Revocation only internally well-known Revocation publicly well-known trevocation list updated trevocation request approved trevocation entry created Quelle: Bertsch, Institut für Informatik und Gesellschaft, Freiburg, 2000 Gültigkeit eines Zertifikates ist vom Zeitpunkt abhängig
  74. 74. Agenda 4. Kryptographie 4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle
  75. 75. Authentifizierungsprotokolle Kommunikationsprotokolle in Verteilten Systemen in zwei Phasen 1. Initialisierungsphase mit Authentifizierung (Handshake) • Aushandlung von Verbindungsparametern • Austausch initialer Informationen – Einige sind geheim (z.B. Passwort) – Einige nicht (z.B. Benutzerkennung) 2. Kommunikationsphase • Im Weiteren nicht betrachtet (Payload) Benutzer Server Alice Bob Handshake Datenübertragung
  76. 76. Challenge-Response Authentifizierung mit Geheimnis 1. Alice sendet ihre Kennung an Bob 2. Bob sendet eine Nonce als Challenge C an Alice zurück (i.d.R. eine Zufallszahl) 3. Alice verschlüsselt/hashed Challenge mit ihrem Passwort 4. Alice weist bei korrekter Response R Kenntnis ihres Passworts nach gespeichert: 
 Alice -> PA f(PA ,C) = R ?? Alice Bob C R Alice C = Nonce f(PA ,C) = R
  77. 77. Challenge-Response Authentifizierung mit Geheimnis 1. Alice sendet ihre Kennung an Bob 2. Bob sendet eine Nonce als Challenge C an Alice zurück (i.d.R. eine Zufallszahl) 3. Alice verschlüsselt/hashed Challenge mit ihrem Passwort 4. Alice weist bei korrekter Response R Kenntnis ihres Passworts nach Probleme – Schlechte Wahl der Challenge kann zur Schwächung des Protokolls führen – Hat Angreifer Zugang zu Bobs Datenbank, kann er sich mit PA als Alice ausgeben gespeichert: 
 Alice -> PA f(PA ,C) = R ?? Alice Bob C R Alice C = Nonce f(PA ,C) = R
  78. 78. Challenge-Response: Needham-Schroeder Voraussetzungen – Symmetrische Verschlüsselung – Einsatz einer TTP T als Vermittler (KDC) • Schlüssel KA,T zwischen Alice A und TTP existiert bereits • Schlüssel KB,T zwischen Bob B und TTP existiert bereits Protokollablauf 1. A → T A, B, NA 2. T → A {NA, B, KA,B, {KA,B, A}KB,T }KA,T T erzeugt und KA,B für Alice und Bob (verschlüsselt) 3. A → B {KA,B, A}KB,T Alice leitet für Bob verschlüsselten Teil weiter 4. B → A {NB}KA,B Bob überprüft mit NB, ob auch Alice KA,B kennt 5. A → B {NB-1}KA,B Bezug zu aktueller Transaktion – Nachrichten werden mit Zeitstempeln (Timestamps) versehen – Bob kann die Aktualität der ersten Nachricht von Eve überprüfen
  79. 79. Commitments • Ziel: Manipulationssicheres und vertrauliches Festlegen auf 
 einen Wert • Beispielanwendung: Nachweis von Eigenschaften 
 (s. Benutzbare Sicherheit) • Interaktives 2-Parteienprotokoll 
 (Committer und Recipient) mit Teilprotokolle: 1. Commit: Committer legt sich auf einen Wert fest, der 
 nachträglich nicht geändert werden kann (Commitment) 2. Opening: Der festgelegte Wert wird gezeigt, d.h. das Commitment wird geöffnet • Sicherheitseigenschaften: – Bindend (binding): Der Commiter kann den Wert nach dem Commit-Teilprotokoll nicht mehr ändern – Versteckend (hiding): Der Recipient erhält während des Commit-Teilprotokolls keine Information über den betreffenden Wert – Ein Commitment-Protokoll ist entweder informationstheoretisch bindend oder versteckend, aber nicht beides zugleich
  80. 80. Protokollskizze Committer Recipient 1. Eingabe: Wert m 2. Berechne commit(m) 4. Speichert commit(m) 5. Ausgabe: ok oder error6. Ausgabe: ok oder error 8. Prüfe, ob m* in commit(m) ist 9. Ausgabe: (accept, m*) oder reject 7. m* 3. commit(m) Co m mit Op eni ng
  81. 81. Zero-Knowledge Proof • Probabilistisches Beweissystem • Interaktives Protokoll zwischen zwei Parteien (Prover und Verifier) • Eigenschaften – Kein Wissensgewinn für den Verifier bei mehreren Protokollläufen – Vollständigkeit (Completeness): Prover kann gegenüber dem Verifier korrekte Aussagen nachweisen – Korrektheit (Soundness): Ein betrügerischer Prover kann einem ehrlichen Verifier nicht von falschen Aussagen überzeugen – Weiterleitung nur mit Weitergabe des zu beweisenden Geheimnisses möglich – Erfolgswahrscheinlichkeit für einen Angreifer pro Protokolllauf: 50 % ! Mehrere Protokollläufe zur Reduzierung der Fehlerrate notwendig
  82. 82. Beispiel: Wissen über einen diskreten Logarithmus Prover Verifier pkProver := (p, q, g, h) 8. Prüfe, ob gr = ahc 1. pkProver := (p, q, g, h) 2. Nachricht m aus Zq, t zufällig aus Zq a := gt 3. a Ch alle ng e Re sp on se 7. r • n Durchläufe notwendig, da Angreifer (Prover) pro Durchlauf zu 50% richtig raten kann • One-Time Pad ist t mod q ➔ info.-theoretisch sichere Verschlüsselung a := gt 4. c zufällig aus {0,1} 5. c 6. r := t+cm mod q
  83. 83. Quellen und weiterführende Literatur • Diffie, W., Hellman, M.E. New Directions in Cryptography. IEEE Transactions on Information Theory 22(6), 1976 • Dolev, D., Yao, A.C. On the Security of Public Key Protocols. IEEE Transactions on Information Theory 29(2), 1983 • Eckert, C. IT-Sicherheit: Konzepte – Verfahren – Protokolle. 9. Auflage, De Gruyter Oldenbourg, 2014 • Menezes, A.J., van Oorschot, P.C., Vanstone, S.A. Handbook of Applied Cryptography. CRC Press, 1996 
 http://cacr.uwaterloo.ca/hac/

×