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
43
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時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
800
Android CLI
fornewid
0
200
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
620
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.4k
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
210
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
180
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.6k
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
260
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
150
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
520
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
680
Accessibility Awareness
sabderemane
1
170
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
550
Prompt Engineering for Job Search
mfonobong
0
390
Being A Developer After 40
akosma
91
590k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Producing Creativity
orderedlist
PRO
348
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Navigating Team Friction
lara
192
16k
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