Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kryptogragire für Java-Entwickler
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
53
Kryptographie für Einsteiger
shempel
0
850
Jobs as Code - Jenkins Pipeline Jobs
shempel
0
870
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
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
JIS keyboard support in Omarchy
lef237
0
110
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
270
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Railsバージョンを4倍にした話
optim
0
350
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Ethics towards AI in product and experience design
skipperchong
2
430
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Git: the NoSQL Database
bkeepers
PRO
433
67k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Documentation Writing (for coders)
carmenintech
77
5.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Building AI with AI
inesmontani
PRO
1
1.3k
How GitHub (no longer) Works
holman
316
150k
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