Kryptographische Grundlagen

2.293 Aufrufe

Veröffentlicht am

Alte Vorlesung, neue Slides: Grundlagen der Kryptographie, ohne Mathematik. Auf der Basis eines Kurses, den ich 2004 bei web.de gehalten habe, auf die heutige Situation aktualisiert und redesigned.

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.293
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
19
Aktionen
Geteilt
0
Downloads
15
Kommentare
0
Gefällt mir
3
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Kryptographische Grundlagen

  1. 1. Kryptographische Grundlagen Kristian Köhntopp Alter Sack SysEleven GmbH
  2. 2. Agenda • Schutzziele, Angriffe • Eigenschaften von Verfahren • Kerckhoffs-Prinzip • Symmetrische • Asymmetrische • Hybride • Hashes • Digitale Signatur • PKI • CRLs • PKCS • SigG 2
  3. 3. Vorsicht, Mathematik! Keine Mathematik • Mathematik der Kryptographie ist gut untersucht. • Wenn wir sie auslassen, müssen wir einige Sachen glauben: • Es gibt Algorithmen, die in eine Richtung 
 "leicht" und in die andere Richtung 
 aufwendig zu rechnen sind. • Beispiel: Multiplikation vs. Faktorisierung. 3
  4. 4. Keine Mathematik • Was ist 3*4? • Welche Primzahlen muß man multiplizieren, damit man 35 bekommt? 
 • Was ist 378874676373468736 * 34976337963793? • Welche Primzahlen muß man multiplizieren, damit man 13251648726761141335314585475648 bekommt? 4
  5. 5. Grundszenario • Andreas will Birgit eine Nachricht senden • Notation • M: Message • K: (symmetrischer) Key • K(M): Mit K verschlüsselte Nachricht • P, Q: Public/Private Key-Paar 5
  6. 6. Transport- vs. Speicherverschlüsselung • „Transportverschlüsselung“ - "TLS" • Vollständige Klartextkopie verbleibt zu jedem Zeitpunkt beim Sender oder Empfänger • Ciphertext fällt nicht an • Key Recovery ist unerwünscht
 • Aber „Bedarfsträger“ wollen mitschneiden 6
  7. 7. Transport- vs. Speicherverschlüsselung • „Speicherverschlüsselung“ - "PGP" • Klartextkopie existiert nicht zwingend, aber der
 Klartext ist für die Firma wertvoll. • Der Ciphertext ist wertlos. ➡ Management von Ciphertext und Keys notwendig. • Key Recovery Strategie zwingend • Speicherverschlüsselung ohne Recovery Key ist verboten. 7
  8. 8. Bedrohungen • Angreifer: Insider, Außenstehender • Passive Angriffe: Abhören, Elektromagnetische Abstrahlung • Aktive Angriffe: Veränderung, Einfügen/Löschen, Wiedereinspielen („Replay“), Umschlüsseln („MITM“), „Denial of Service“ 8
  9. 9. Schutzziele • Verfügbarkeit • vs. Integrität • Integrität • Vertraulichkeit • Authentizität • vs. Unbeobachtbarkeit 9
  10. 10. Kerckhoffs Prinzip • Kerckhoffs-Prinzip:„Der Angreifer hat Kenntnis des verwendeten Kryptosystems“ • „Security by Obscurity funktioniert nicht“ • Brute Force: Durchsuchen des K-Raumes • Klartext Brute-Force: Durchsuchen des M-Raumes 10
  11. 11. "Unsicher" vs. "Gebrochen" • „Gebrochen“: Ein Verfahren besser als Brute Force existiert zum Auffinden des Schlüssels • „Unsicher“: Brute Force ist in küzerer Zeit schaffbar, als für die Sicherheit notwendig • Beispiele: • DES unsicher, aber ungebrochen • AES sicher, aber gebrochen 11
  12. 12. Andere Angriffe: Replay • Wiederholen alter Nachrichten: • verschlüsselte Nachricht: "Zahle an den Absender dieser Nachricht 100 Euro." • Verhinderung durch Einfügen einer „Number Used Once“ (Nonce) • Folgenummer, Zufallszahl, Challenge-Response 12
  13. 13. Andere Angriffe: Man-in-the-Middle • Folge fehlender Authentizität: Angreifer C • spielt gegenüber Andreas die Rolle von Birgit • gegenüber Birgit die Rolle von Andreas • A <-> “B“ = C = „A“ <-> B • „umschlüsseln“ 13
  14. 14. Symmetrische, asymmetrische und hybride Verschlüsselung
  15. 15. Symmetrische Verfahren15 Andreas Birgit M M K(M) K K? Symmetrie: Nachricht mit demselben Key entschlüsseln, mit dem sie verschlüsselt wird. K(K(M)) = M
  16. 16. Symmetrische Verfahren16 Verfahren Bits DES 56 3DES 112 IDEA 128 AES 256
  17. 17. Asymmetrische Verfahren17 Andreas Birgit M M PB(M) PB QB PB
  18. 18. Asymmetrische Verfahren • Birgit generiert P und Q • P(Q(M) = Q(P(M)) = M "Was P verschlüsselt ist, kann Q entschlüsseln und umgekehrt." • P wird publiziert, Q ist geheim: Birgit publiziert PB • n User: n PQ Paare, 1024-4096 Bit RSA, DHE. • 10-20 mal langsamer; Ist PB der Key von Birgit? 18
  19. 19. Hybride Verfahren19 Andreas Birgit M M PB(K) QA PB PB K K(M)
  20. 20. Hybride Verfahren • Andreas wählt zufälliges "Einmal-K" (Session Key) • Andreas sendet PB(K) (asymmetrische Komponente) • Andreas sendet K(M) (symmetrische Komponente)
 • Mehr als ein Empfänger: • PA(K) PB(K) PX(K) K(M)… 
 Session Key mehrfach, Nachricht einfach senden. 20
  21. 21. Hybride Verfahren • Schnell wie ein symmetrisches Verfahren (K ist klein). • Schlüsselhandling wie bei asymmetrischen Verfahren • Asymmetrisches Verfahren stellt den fehlenden sicheren Kanal her. • Mehrere Empfänger. • Stream-Fähig (neuer Session-Key im Strom). 21
  22. 22. Verbleibende Probleme • Man-in-the-Middle • Gehört PB(K) wirklich Birgit oder hat uns den jemand untergeschoben? • Replay • Ist K(M) frisch oder eine abgespielte Aufzeichnung? • Forward Secrecy • Neuen Key haben, ohne ihn zu nennen + "alter Ciphertext + neuer Key nützen nix" 22
  23. 23. Cipher Modi
  24. 24. Cipher Modi • Verschlüsselungsverfahren arbeiten mit Blöcken • Klartext ist eine Serie von Blöcken: • M -> M0 M1 M2 M3 … Mi … • Schlüssel: K, oder von K abgeleitete Schlüssel Ki 24
  25. 25. Cipher Modi • i - Blocknummer • Mi - i-ter Klartextblock • Ci - i-ter Ciphertextblock • Ki - i-ter Schlüssel
 • Verfahren ohne Blockverkettung: • Mi unabhängig von Mi-1, Ci-1 • sicher gegen Blockverlust • parallel berechenbar 25
  26. 26. ECB "Electronic Codebook" • Block Mode, "naive Anwendung des Verfahrens", "kaputt" • Ci = K(Mi) • parallelisierbar, wiederaufsetzbar, permutierbar • Klartext scheint durch • Niemals verwenden. 26
  27. 27. Cipher Modi27
  28. 28. CBC "Cipher Block Chaining" • Streaming Mode, auch kaputt • Ci = K(Mi v Mi-1); M0 = IV • "Verschlüssele das XOR-Produkt des aktuellen Blocks und des vorhergehenden Blocks" • 2 Blöcke lang Nullbits: Klartext scheint durch. • Außerdem nicht parallel, nicht wiederaufsetzbar, nicht permutierbar. 28
  29. 29. CFB "Cipher Feedback Mode" • Ci = Mi ∨ K(Ci-1) C0 = IV • "Verschlüssele den vorhergehenden Ciphertext noch einmal und ver-xor-e das Resultat mit dem aktuellen Klartextblock (Klartext scheint nicht durch) 29
  30. 30. OFB "Output Feedback Mode" • Ci = Mi ∨ Ki, Ki = K(Ki-1) K0 = IV • „Verschlüssele den vorhergehenden Schlüssel noch einmal und ver-xor-e das Resultat mit dem aktuellen Klartextblock“ • Wiederaufsetzbar, Schlüssel positionsabhängig 30
  31. 31. CM "Counter Mode" • Ci = Mi ∨ K(IV+i-1) • „Verschlüssele eine laufende Nummer, und ver-xor-e das Resultat mit dem aktuellen Klartextblock“ • Wiederaufsetzbar, Schlüssel positionsabhängig und parallelisierbar. 31
  32. 32. Hashes - kryptographische Prüfsummen
  33. 33. Hashes • h = Hash(M): feste Länge, sehr empfindlich gegenüber Änderungen in M • M ist nicht konstruierbar: • Gegeben ein h, finde ein M mit h = Hash(m) ist ideal gleichbedeutend mit einer Brute-Force-Suche durch M. 33
  34. 34. Hashes • Einsatz: • Speicherung von Passwörtern, mit Salt • Vergleich von Geheimnisssen • ohne das Geheimnis senden zu müssen (Challenge- Response-Authentication) • Digitale Signatur 34
  35. 35. Signatur I35 QB PB Andreas Birgit M M M QA PA PA QA(Hash(M))
  36. 36. Signatur I • M Klartext, Hash(M) berechenbar • Birgit kann den verschlüsselten Hash QA(Hash(M)) mit PA auspacken, • Übereinstimmung? Dann ist die Nachricht authentisch. • "Der Absender hat QA gekannt." • Warum senden wir nicht QA(M), sondern QA(Hash(M)) M? 36
  37. 37. Signatur II37 Andreas Birgit M M QA PA PA K( )MQA(H(M)) QB PB PB PB(K)
  38. 38. Signatur II • Lesbar mit QB: Nur Birgit kann die Nachricht lesen. • Birgit kann mit PA den Hash prüfen: Nachricht ist "von Andreas". • Nachricht ist symmetrisch verschlüsselt: • Schnell für große M, mehrere Empfänger. 38
  39. 39. Public Key Infrastructure PKI
  40. 40. Vorbemerkungen • Zertifikate enthalten: • Den öffentlichen Schlüssel P. • Die Identitätsdaten zum Schlüsselinhaber. • Den Verwendungszweck des Schlüssels. • Eine Laufzeit (von, bis) • Name und Signatur der CA. 40
  41. 41. Vorbemerkungen • Öffentlicher Schlüssel P: Erlaubt Prüfung von Signaturen des Inhabers. • Inhaberdaten: Immer eine natürliche Person (ggf. über eine Rolle an eine juristische Person gebunden). • Zweck, Laufzeit: Katastrophenvorbeuge. • Name und Signatur der CA: Das "Siegel" zur Beglaubigung der Daten. 41
  42. 42. Public Key Infrastructure • Wie kann Andreas sicher sein, daß PB von Birgit stammt? • Ansatz: • Alle Teilnehmer kennen einen PCA ("Notar") • Birgit verteilt QCA(H(PB)) PB über unsichere Netze 42
  43. 43. Aufgabe der CA • QCA(H(PB)) PB • Prüfe, ob Birgit berechtigt ist, PB zu führen. • Merke: • CA braucht QB nicht zu kennen. • Das Zertifikat ist nur so gut, wie die Prüfung, die die CA durchführt. • QCA muß strikt bewacht werden. 43
  44. 44. Public Key Infrastructure • Birgit kann ihren Key mehrfach durch verschiedene CA zertifizieren lassen. • QCB(H(PB))QCA(H(PB)) PB • "Gültig, wenn mindestens n aus m Zertifikaten gültig sind", Sonderfälle 1 und m • Schutz vor schlampigen CAs 44
  45. 45. Public Key Infrastructure • Andreas braucht PCA nicht zu kennen. • Andreas holt PCA, dies ist mit übergeordneter Signatur versehen. • Rekursive Prüfung, Certificate Chaining -> Längenlimit
 • Beispiel für beides: PGP 45
  46. 46. Public Key Infrastructure • Andreas Zertifikat gilt noch ein Jahr. Andreas verbummelt QA. • In einem Jahr löst sich das Problem von selbst. Bis dahin: • Rückziehliste (CRL), jede Verwendung von PA erfordert ein Lookup in der CRL. 46
  47. 47. Public Key Infrastructure • Jedes Cert muß die URL der CRL enthalten. • CRL ist endlich (Einträge können nach Ablauf der Gültigkeit des Cert gelöscht werden). • skaliert dennoch nicht. • Offline-Anwendungen können schon zurückgezogene Certs irrtümlich akzeptieren. 47
  48. 48. Normen und Gesetze
  49. 49. X.509 • X.509 V3, Codierung ASN.1 + Encoding Rules • OIDs zur Feldkennzeichnung • OID-Listen nicht komplett zentral verfügbar (Vendor- Prefixe, Private Extensions) • X.509 schlecht geschrieben • PKCS (numeriert wie RFC) als Präzisierungen 49
  50. 50. Signaturgesetz • "Formvorschrift für Willenserklärungen" • Schriftform, gewillkürte Schriftform und Formfreiheit • Ohne SigG: Elektronische Willenserklärung ok? • Formfreiheit: Ja!, Schriftform: Nein! • "Freie Beweiswürdigung": Der Kläger hat die Beweislast. 50
  51. 51. Signaturgesetz • Situation 2015: • EU-Verordnung 910/2014 EG SigRL "Signaturrichtlinie" (bis Mitte 2016), D SigG "Signaturgesetz" und SigV "Durchführungsverordnung". • Gesetz zur Anpassung der Formvorschriften des Privatrechts (Formanpassungsgesetz),"Drittes Gesetz zur Änderung verwaltungsverfahrensrechtlicher Vorschriften" (3. VwVfÄndG), 1. Gesetz zur Änderung des Signaturgesetzes (1. SigÄndG) 51
  52. 52. Signaturgesetz • "Einfache elektronische Signatur" • „beigefügte oder verknüpfte Daten zur Authentifizierung“ • From: Kristian Köhntopp <kris@syseleven.de> • „freie Beweiswürdigung“ 52
  53. 53. Signaturgesetz • Fortgeschrittene elektronische Signatur • Ausschließliche Zuordnung zum Signierer: „Eine Person“ • Signierer wird identifiziert: „Name“ • Signaturbildung mit Mitteln, die der Signierer unter alleiniger Kontrolle halten kann:„Paßwort“ • Verknüpfung mit Daten, sodaß nachträgliche Änderungen erkennbar sind:„Hash und Signatur“ • „freie Beweiswürdigung“ 53
  54. 54. Signaturgesetz • Qualifizierte elektronische Signatur • Basierend auf qualifiziertem Zertifikat:„abgenommenes Verfahren“ • Verwendung einer sicheren Signaturerstellungseinheit: „Chipkarte“, „Leser mit Anzeige“ • Gleichgestellt mit handschriftlicher Unterschrift: Außer wo im Gesetz ausdrücklich anders gefordert • „Anscheinsbeweis“ 54
  55. 55. • Twitter: @SwiftOnSecurity @theGrugq • http://www.cl.cam.ac.uk/~rja14/book.html
 »Security Engineering«, Ross Anderson • https://crypto.stanford.edu/~dabo/cryptobook/
 Stanford Applied Cryptography Class • https://www.youtube.com/watch?v=3QnD2c4Xovk
 Diffie Hellmann Key Exchange • http://www.unixwiz.net/techtips/iguide-crypto-hashes.html
 Illustrated Guide to cryptographic hashes 56

×