Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Kryptogragire für Java-Entwickler
Sebastian Hempel
September 05, 2018
Programming
0
790
Kryptogragire für Java-Entwickler
Sebastian Hempel
September 05, 2018
Tweet
Share
More Decks by Sebastian Hempel
See All by Sebastian Hempel
Kryptographie für Einsteiger
shempel
0
230
Jobs as Code - Jenkins Pipeline Jobs
shempel
0
580
Integration von MicroServices
shempel
0
1.2k
Dokumentation schreiben kann Spaß machen! (2017)
shempel
0
850
Minifliegen im Schwarm
shempel
0
990
Puppenspielerein
shempel
0
930
Puppet für Entwickler
shempel
0
1.6k
Dokumentation schreiben kann Spaß machen!
shempel
0
1.7k
Redmine - Projektmanagement für Entwickler
shempel
0
960
Other Decks in Programming
See All in Programming
パスワードに関する最近の動向
kenchan0130
1
330
話題の AlloyDB は本当に凄いデータベースなのでプレビューを使い倒した #devio2022
maroon1st
0
13k
Dagger, la CI, autrement
guikingone
1
110
ベストプラクティス・ドリフト
sssssssssssshhhhhhhhhh
1
210
2022年のモダンCSS改
tonkotsuboy_com
24
16k
段階的な技術的負債の解消方法.pdf
ko2ic
2
930
Windows コンテナ Dojo 第5回 OpenShift で学ぶ Kubernetes 入門
oniak3ibm
PRO
0
180
Register-based calling convention for Go functions
cjamhe01385
0
400
ふんわり理解するcontext
rukiadia
1
180
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
turamy
1
210
WindowsコンテナDojo: 第4回 Red Hat OpenShift Localを使ってみよう
oniak3ibm
PRO
0
180
Efficient UI testing in Android
alexzhukovich
1
120
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
169
20k
Agile that works and the tools we love
rasmusluckow
319
19k
Navigating Team Friction
lara
175
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
14
3.8k
How to name files
jennybc
40
63k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
GraphQLの誤解/rethinking-graphql
sonatard
31
6.8k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Robots, Beer and Maslow
schacon
152
7.1k
Building an army of robots
kneath
298
40k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.3k
Transcript
KRYPTOGRAFIE FÜR (JAVA-)ENTWICKLER Grundlagen der Verschlüsselung Sebastian Hempel 1
Sebastian Hempel IT-Consulting Hempel @ithempel shempel@it-hempel.de 2
WARUM KRYPTOGRAFIE? 3 . 1
- ( ) Max Braun Whisper CC BY-SA 2.0 3
. 2
- ( ) _dChris Imitation Game CC BY 2.0 3
. 3
BEGRIFFE 4
GESCHICHTE DER KRYPTOGRAPHIE 5 . 1
HANDVERSCHLÜSSELUNG 3. Jahrtausend vor Christus in Ägypten Skytale Verschlüsselungsstab der
Griechen 5 . 2
- ( ) Wikimedia Commons Skytale CC BY-SA 3.0 5
. 3
MASCHINEN Sebastian Hempel - Enigma ( ) CC BY-SA 4.0
5 . 4
COMPUTER Pretty Good Privacy - ( ) Matt Crypto PRZ
closeup CC BY-SA 3.0 5 . 5
BAUSTEINE DER MODERNE KRYPTOGRAFIEN 6 . 1
ZUFALL Wichtiges Element der Kryptografie Schlüssel basieren auf Zufallszahlen 6
. 2
, ( ) Bananenfalter Orange_blue_public_private_keygeneration_de CC0 6 . 3
SYMMETRISCHE VERSCHLÜSSELUNG , , ( ) Bananenfalter Eigenes Werk CC0
6 . 4
SYMMETRISCHE VERFAHREN DES (1977) AES (2000) 6 . 5
ASYMMETRISCHE VERSCHLÜSSELUNG , ( ) Bananenfalter Eigenes Werk CC0 6
. 6
ASYMMETRISCHE VERFAHREN RSA (1977) Elliptische Kurven / ECC (Mitte der
1980er) 6 . 7
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
KRYPTOGRAPHISCHE HASHFUNKTION MD5 (1992) SHA (1993) 6 . 9
EINSATZ DER BAUSTEINE 7 . 1
ALICE UND BOB , ( ) Didia Own work CC
BY-SA 4.0 http://cryptocouple.com/ 7 . 2
VERSCHLÜSSELN , ( ) Bananenfalter Eigenes Werk CC0 7 .
3
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
KRYPTOGRAFIE IN DER PRAXIS 8 . 1
UMFANG Transport Verschlüsselung Ende-zu-Ende Verschlüsselung 8 . 2
TRANSPORT VERSCHLÜSSELUNG Schutz der Daten bei der Übetragung HTTPS TLS
SSH 8 . 3
ENDE-ZU-ENDE VERSCHLÜSSELUNG Schutz bis zur endgültigen Verarbeitung S/MIME GnuPG WS-Security
8 . 4
9 . 1
SCHLÜSSEL-MATERIAL ( ) keys-2114366 CC0 Creative Commons 9 . 2
( ) key-2114293 CC0 Creative Commons 9 . 3
( ) key-2114047 CC0 Creative Commons 9 . 4
ZERTIFIKATE Beglaubigter Public-Key self-signed eigene CA öffentliche CA 9 .
5
Vertrauenswürdige Ausgabestelle von Zertifikaten ( ) approved-1966719 CC0 Creative Commons
9 . 6
TRUSTSTORE Zertifikate vertrauenswürdiger CAs ( ) key-2148476 CC0 Creative Commons
9 . 7
VERBINDUNGSAUFBAU Validierung des Zertifikat Aushandlung der Verschlüsselung 9 . 8
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
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
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
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
DATEIFORMATE PEM (OpenSSL) PKCS12 Java Keystore 9 . 13
FEHLERQUELLEN 10 . 1
Subject passt nicht zum Server 10 . 2
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
Zertifikat ist abgelaufen , ( ) medithIT Telecom HTTPS insicura
CC BY 2.0 10 . 4
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
Kein Vertrauen zum Zertifikat , ( ) Joakim Jardenberg SSL
Error CC BY 2.0 10 . 6
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
Keine gemeinsamen Ciphers , ( ) Marin Gattelier FF-handshake-error CC
BY-SA 2.0 10 . 8
FRAGEN? , ( ) Matthias Ripp any questions? CC-BY 11