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

Kryptogragire für Java-Entwickler

Kryptogragire für Java-Entwickler

142b1ffa8c40aa37f65b0d70826fa99d?s=128

Sebastian Hempel

September 05, 2018
Tweet

Transcript

  1. KRYPTOGRAFIE FÜR (JAVA-)ENTWICKLER Grundlagen der Verschlüsselung Sebastian Hempel 1

  2. Sebastian Hempel IT-Consulting Hempel @ithempel shempel@it-hempel.de 2

  3. WARUM KRYPTOGRAFIE? 3 . 1

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

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

    . 3
  6. BEGRIFFE 4

  7. GESCHICHTE DER KRYPTOGRAPHIE 5 . 1

  8. HANDVERSCHLÜSSELUNG 3. Jahrtausend vor Christus in Ägypten Skytale Verschlüsselungsstab der

    Griechen 5 . 2
  9. - ( ) Wikimedia Commons Skytale CC BY-SA 3.0 5

    . 3
  10. MASCHINEN Sebastian Hempel - Enigma ( ) CC BY-SA 4.0

    5 . 4
  11. COMPUTER Pretty Good Privacy - ( ) Matt Crypto PRZ

    closeup CC BY-SA 3.0 5 . 5
  12. BAUSTEINE DER MODERNE KRYPTOGRAFIEN 6 . 1

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

    . 2
  14. , ( ) Bananenfalter Orange_blue_public_private_keygeneration_de CC0 6 . 3

  15. SYMMETRISCHE VERSCHLÜSSELUNG , , ( ) Bananenfalter Eigenes Werk CC0

    6 . 4
  16. SYMMETRISCHE VERFAHREN DES (1977) AES (2000) 6 . 5

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

    . 6
  18. ASYMMETRISCHE VERFAHREN RSA (1977) Elliptische Kurven / ECC (Mitte der

    1980er) 6 . 7
  19. 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
  20. KRYPTOGRAPHISCHE HASHFUNKTION MD5 (1992) SHA (1993) 6 . 9

  21. EINSATZ DER BAUSTEINE 7 . 1

  22. ALICE UND BOB , ( ) Didia Own work CC

    BY-SA 4.0 http://cryptocouple.com/ 7 . 2
  23. VERSCHLÜSSELN , ( ) Bananenfalter Eigenes Werk CC0 7 .

    3
  24. 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
  25. KRYPTOGRAFIE IN DER PRAXIS 8 . 1

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

  27. TRANSPORT VERSCHLÜSSELUNG Schutz der Daten bei der Übetragung HTTPS TLS

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

    8 . 4
  29. 9 . 1

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

  31. ( ) key-2114293 CC0 Creative Commons 9 . 3

  32. ( ) key-2114047 CC0 Creative Commons 9 . 4

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

    5
  34. Vertrauenswürdige Ausgabestelle von Zertifikaten ( ) approved-1966719 CC0 Creative Commons

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

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

  37. VALIDIERUNG - SUBJECT Certificate: Data: Version: 3 (0x2) Serial Number:

    03:9a:0f:f3:96:5a:39:62:6f:7c:4e:87:ff:30:c3:42:3b:d4 Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 Validity Not Before: Aug 29 19:14:12 2018 GMT Not After : Nov 27 19:14:12 2018 GMT Subject: CN = herbstcampus.de X509v3 extensions: X509v3 Subject Alternative Name: DNS:herbstcampus.de, DNS:www.herbstcampus.de 9 . 9
  38. VALIDIERUNG - GÜLTIGKEIT Certificate: Data: Version: 3 (0x2) Serial Number:

    03:9a:0f:f3:96:5a:39:62:6f:7c:4e:87:ff:30:c3:42:3b:d4 Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 Validity Not Before: Aug 29 19:14:12 2018 GMT Not After : Nov 27 19:14:12 2018 GMT Subject: CN = herbstcampus.de 9 . 10
  39. 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 = Let's Encrypt Authority X3 verify return:1 depth=0 CN = herbstcampus.de verify return:1 --- Certificate chain 0 s:/CN=herbstcampus.de i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 i:/O=Digital Signature Trust Co./CN=DST Root CA X3 --- 9 . 11
  40. 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
  41. DATEIFORMATE PEM (OpenSSL) PKCS12 Java Keystore 9 . 13

  42. FEHLERQUELLEN 10 . 1

  43. Subject passt nicht zum Server 10 . 2

  44. FEHLERHAFTES ZERTIFIKAT Certificate: Signature Algorithm: sha256WithRSAEncryption Subject: CN = herbstcampus.de

    X509v3 extensions: X509v3 Subject Alternative Name: DNS:herbstcampus.de, DNS:www.herbstcampus.de 10 . 3
  45. Zertifikat ist abgelaufen , ( ) medithIT Telecom HTTPS insicura

    CC BY 2.0 10 . 4
  46. FEHLERHAFTES ZERTIFIKAT Certificate: Data: Version: 3 (0x2) Serial Number: 03:9a:0f:f3:96:5a:39:62:6f:7c:4e:87:ff:30:c3:42:3b:d4

    Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 Validity Not Before: Aug 29 19:14:12 2018 GMT Not After : Sep 01 19:14:12 2018 GMT Subject: CN = herbstcampus.de 10 . 5
  47. Kein Vertrauen zum Zertifikat , ( ) Joakim Jardenberg SSL

    Error CC BY 2.0 10 . 6
  48. 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 = Let's Encrypt Authority X3 verify return:1 depth=0 CN = herbstcampus.de verify return:1 --- Certificate chain 0 s:/CN=herbstcampus.de i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 i:/O=Digital Signature Trust Co./CN=DST Root CA X3 --- 10 . 7
  49. Keine gemeinsamen Ciphers , ( ) Marin Gattelier FF-handshake-error CC

    BY-SA 2.0 10 . 8
  50. FRAGEN? , ( ) Matthias Ripp any questions? CC-BY 11