Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kryptogragire für Java-Entwickler
Search
Sebastian Hempel
September 05, 2018
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kryptogragire für Java-Entwickler
Sebastian Hempel
September 05, 2018
More Decks by Sebastian Hempel
See All by Sebastian Hempel
Wer spricht denn da? - Logging in Java (JCON 2022)
shempel
0
46
Kryptographie für Einsteiger
shempel
0
850
Jobs as Code - Jenkins Pipeline Jobs
shempel
0
860
Integration von MicroServices
shempel
0
1.6k
Dokumentation schreiben kann Spaß machen! (2017)
shempel
0
1.1k
Minifliegen im Schwarm
shempel
0
1.3k
Puppenspielerein
shempel
0
1.2k
Puppet für Entwickler
shempel
0
2k
Dokumentation schreiben kann Spaß machen!
shempel
0
2.1k
Other Decks in Programming
See All in Programming
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
500
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
320
今さら聞けない .NET CLI
htkym
0
210
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
490
ソフトウェアラスタライザ
fadis
1
640
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
230
Dockerfile CMD for Node.js
grazie1999
0
120
Cloudflare is Agents
chimame
0
180
MySQLとPostgreSQLって何が違うの?
akagami
0
130
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
150
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
380
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Done Done
chrislema
186
16k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
Designing for Timeless Needs
cassininazir
1
450
ラッコキーワード サービス紹介資料
rakko
1
4.5M
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
500
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Transcript
KRYPTOGRAFIE FÜR (JAVA-)ENTWICKLER Grundlagen der Verschlüsselung Sebastian Hempel 1
Sebastian Hempel IT-Consulting Hempel @ithempel
[email protected]
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