Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kryptographie für Einsteiger

Kryptographie für Einsteiger

Wissen über die Grundlagen der Kryptographie werden immer wichtiger. Kaum ein Projekt, in dem nicht Verschlüsselungstechniken eingesetzt werden. Durch die Nutzung verteilter Architekturen wie z.B. Microservices wird die Absicherung der Kommunikation immer wichtiger. Neben der Absicherung der Kommunikation zwischen Systemen werden damit unter anderem Kennwörter sicher gespeichert. Immer wichtiger wird die Nutzung von Kryptographie zur Authentifizierung der Kommunikationspartner. Die meisten Konfiguration und Abläufe benötigen kaum detailliertes Wissen. Kommt es jedoch zu Problemen hilft einem grundlegendes Wissen der zugrundeliegenden Technik bei der Lösung. Der Vortrag führt praxisorientiert in die Grundlagen der Verschlüsselung ein. - Was ist symmetrische / asymmetrische Verschlüsselung? - Welche Verschlüsselungsverfahren gibt es? - Was ist eine Cipher Suite? - Was sind Hashes? - Private Key, Public Key und Zertifikat - Was ist eine CA?

Sebastian Hempel

October 05, 2021
Tweet

More Decks by Sebastian Hempel

Other Decks in Programming

Transcript

  1. KRYPTOGRAPHIE
    FÜR EINSTEIGER
    Sebastian Hempel
    1

    View full-size slide

  2. Sebastian Hempel
    IT-Consulting Hempel
    @ithempel
    [email protected]
    2

    View full-size slide

  3. WARUM KRYPTOGRAFIE?
    3 . 1

    View full-size slide

  4. VERTRAULICHKEIT
    - ( )
    Max Braun Whisper CC BY-SA 2.0
    3 . 2

    View full-size slide

  5. IDENTIFIKATION
    - ( )
    _dChris Imitation Game CC BY 2.0
    3 . 3

    View full-size slide

  6. GESCHICHTE DER
    KRYPTOGRAPHIE
    5 . 1

    View full-size slide

  7. HANDVERSCHLÜSSELUNG
    3. Jahrtausend vor Christus in Ägypten
    Skytale Verschlüsselungsstab der Griechen
    5 . 2

    View full-size slide

  8. - ( )
    Wikimedia Commons Skytale CC BY-SA 3.0
    5 . 3

    View full-size slide

  9. MASCHINEN
    Sebastian Hempel - Enigma ( )
    CC BY-SA 4.0
    5 . 4

    View full-size slide

  10. COMPUTER
    Pretty Good Privacy
    - ( )
    Matt Crypto PRZ closeup CC BY-SA 3.0
    5 . 5

    View full-size slide

  11. BAUSTEINE DER MODERNE
    KRYPTOGRAFIEN
    6 . 1

    View full-size slide

  12. ZUFALL
    Wichtiges Element der Kryptografie
    Schlüssel basieren auf Zufallszahlen
    6 . 2

    View full-size slide

  13. ,
    ( )
    Bananenfalter Orange_blue_public_private_keygeneration_de
    CC0
    6 . 3

    View full-size slide

  14. SYMMETRISCHE
    VERSCHLÜSSELUNG
    , , ( )
    Bananenfalter Eigenes Werk CC0
    6 . 4

    View full-size slide

  15. SYMMETRISCHE VERFAHREN
    DES (1977)
    AES (2000)
    6 . 5

    View full-size slide

  16. ASYMMETRISCHE
    VERSCHLÜSSELUNG
    , ( )
    Bananenfalter Eigenes Werk CC0
    6 . 6

    View full-size slide

  17. ASYMMETRISCHE VERFAHREN
    RSA (1977)
    Elliptische Kurven / ECC (Mitte der 1980er)
    6 . 7

    View full-size slide

  18. HASHFUNKTIONEN
    hash
    function
    keys
    John Smith
    Lisa Smith
    Sam Doe
    Sandra Dee
    hashes
    00
    01
    02
    03
    04
    05
    :
    15
    , ( )
    Jorge Stolfi Eigenes Werk Gemeinfrei
    6 . 8

    View full-size slide

  19. KRYPTOGRAPHISCHE
    HASHFUNKTION
    MD5 (1992)
    SHA (1993)
    6 . 9

    View full-size slide

  20. EINSATZ DER BAUSTEINE
    7 . 1

    View full-size slide

  21. ALICE UND BOB
    , ( )
    Didia Own work CC BY-SA 4.0
    http://cryptocouple.com/
    7 . 2

    View full-size slide

  22. VERSCHLÜSSELN
    , ( )
    Bananenfalter Eigenes Werk CC0
    7 . 3

    View full-size slide

  23. SIGNIEREN
    Alice (Absender)
    Dokument
    Hashwert
    priv. Schlüssel
    von Alice
    verschlüsselter
    Hashwert
    Hashwert
    verschlüsselter
    Hashwert
    öffentl. Schlüssel
    von Alice
    entschlüsselter
    Hashwert
    Vergleich der
    Hashwerte
    Dokument
    Bob (Empfänger)
    , ( )
    Priwo Schemaskizze Elektronische Signatur CC BY-SA 3.0
    7 . 4

    View full-size slide

  24. KRYPTOGRAFIE IN DER PRAXIS
    8 . 1

    View full-size slide

  25. UMFANG
    Transport Verschlüsselung
    Ende-zu-Ende Verschlüsselung
    8 . 2

    View full-size slide

  26. TRANSPORT VERSCHLÜSSELUNG
    Schutz der Daten bei der Übetragung
    HTTPS
    TLS
    SSH
    8 . 3

    View full-size slide

  27. ENDE-ZU-ENDE
    VERSCHLÜSSELUNG
    Schutz bis zur endgültigen Verarbeitung
    S/MIME
    GnuPG
    WS-Security
    8 . 4

    View full-size slide

  28. , (
    )
    Santeri Viinamäki HTTPS and Padlock in Website Address Bar CC
    BY-SA 4.0
    9 . 1

    View full-size slide

  29. SCHLÜSSEL-MATERIAL
    ( )
    keys-2114366 CC0 Creative Commons
    9 . 2

    View full-size slide

  30. PRIVATE KEY
    ( )
    key-2114293 CC0 Creative Commons
    9 . 3

    View full-size slide

  31. ZERTIFIKAT
    ( )
    key-2114047 CC0 Creative Commons
    9 . 4

    View full-size slide

  32. ZERTIFIKATE
    Beglaubigter Public-Key
    self-signed
    eigene CA
    öffentliche CA
    9 . 5

    View full-size slide

  33. Vertrauenswürdige Ausgabestelle von Zertifikaten
    ( )
    approved-1966719 CC0 Creative Commons
    9 . 6

    View full-size slide

  34. TRUSTSTORE
    Zertifikate vertrauenswürdiger CAs
    ( )
    key-2148476 CC0 Creative Commons
    9 . 7

    View full-size slide

  35. VERBINDUNGSAUFBAU
    Validierung des Zertifikat
    Aushandlung der Verschlüsselung
    9 . 8

    View full-size slide

  36. VALIDIERUNG - SUBJECT
    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number:
    04:67:72:5c:40:75:72:c0:44:03:03:7b:a1:2c:ff:f8:70
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: C=US, O=Let's Encrypt, CN=R3
    Validity
    Not Before: Jul 26 14:34:16 2021 GMT
    Not After : Oct 24 14:34:14 2021 GMT
    Subject: CN=jcon.one
    X509v3 extensions:
    X509v3 Subject Alternative Name:
    DNS:jcon.one, DNS:www.jcon.one
    9 . 9

    View full-size slide

  37. VALIDIERUNG - GÜLTIGKEIT
    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number:
    04:67:72:5c:40:75:72:c0:44:03:03:7b:a1:2c:ff:f8:70
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: C=US, O=Let's Encrypt, CN=R3
    Validity
    Not Before: Jul 26 14:34:16 2021 GMT
    Not After : Oct 24 14:34:14 2021 GMT
    Subject: CN=jcon.one
    9 . 10

    View full-size slide

  38. VALIDIERUNG - CHAIN
    CONNECTED(00000003)
    depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
    verify return:1
    depth=1 C = US, O = Let's Encrypt, CN = R3
    verify return:1
    depth=0 CN = jcon.one
    verify return:1
    ---
    Certificate chain
    0 s:/CN=jcon.one
    i:/C=US/O=Let's Encrypt/CN=R3
    1 s:/C=US/O=Let's Encrypt/CN=R3
    i:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
    2 s:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
    i:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
    9 . 11

    View full-size slide

  39. AUSHANDLUNG DER
    VERSCHLÜSSELUNG
    Wie wird der Session-Key übertragen? - DHE
    Wie wird der Server Authentifiziert? - RSA
    Wie wird verschlüsselt? - AES256
    Wie wird Integrität geprü ? - AES256
    DHE-RSA-AES256-AES256
    9 . 12

    View full-size slide

  40. DATEIFORMATE
    PEM (OpenSSL)
    PKCS12
    Java Keystore
    9 . 13

    View full-size slide

  41. FEHLERQUELLEN
    10 . 1

    View full-size slide

  42. Subject passt nicht zum Server
    , (
    )
    Bruno Pedro Facebook invalid SSL certificate error message CC
    BY-SA 2.0
    10 . 2

    View full-size slide

  43. FEHLERHAFTES ZERTIFIKAT
    Certificate:
    Signature Algorithm: sha256WithRSAEncryption
    Subject: CN=jcon.one
    X509v3 extensions:
    X509v3 Subject Alternative Name:
    DNS:jcon.one, DNS:www.jcon.one
    10 . 3

    View full-size slide

  44. Zertifikat ist abgelaufen
    , ( )
    medithIT Telecom HTTPS insicura CC BY 2.0
    10 . 4

    View full-size slide

  45. FEHLERHAFTES ZERTIFIKAT
    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number:
    04:67:72:5c:40:75:72:c0:44:03:03:7b:a1:2c:ff:f8:70
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: C=US, O=Let's Encrypt, CN=R3
    Validity
    Not Before: Jul 26 14:34:16 2021 GMT
    Not After : Oct 24 14:34:14 2021 GMT
    Subject: CN=jcon.one
    10 . 5

    View full-size slide

  46. Kein Vertrauen zum Zertifikat
    , ( )
    Joakim Jardenberg SSL Error CC BY 2.0
    10 . 6

    View full-size slide

  47. FEHLERHAFTE CHAIN
    CONNECTED(00000003)
    depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
    verify return:1
    depth=1 C = US, O = Let's Encrypt, CN = R3
    verify return:1
    depth=0 CN = jcon.one
    verify return:1
    ---
    Certificate chain
    0 s:/CN=jcon.one
    i:/C=US/O=Let's Encrypt/CN=R3
    1 s:/C=US/O=Let's Encrypt/CN=R3
    i:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
    2 s:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
    i:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
    10 . 7

    View full-size slide

  48. Keine gemeinsamen Ciphers
    , ( )
    Marin Gattelier FF-handshake-error CC BY-SA 2.0
    10 . 8

    View full-size slide

  49. FRAGEN?
    , ( )
    Matthias Ripp any questions? CC-BY
    11

    View full-size slide