Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Kryptographische Grundlagen

2.726 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
  • Als Erste(r) kommentieren

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

×