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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
42
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
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.3k
Oxcを導入して開発体験が向上した話
yug1224
4
310
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
130
RTSPクライアントを自作してみた話
simotin13
0
600
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
7
4.4k
CSC307 Lecture 17
javiergs
PRO
0
320
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
120
net-httpのHTTP/2対応について
naruse
0
480
さぁV100、メモリをお食べ・・・
nilpe
0
140
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
170
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
400
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
230
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
190
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Building the Perfect Custom Keyboard
takai
2
790
My Coaching Mixtape
mlcsv
0
150
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
GraphQLとの向き合い方2022年版
quramy
50
15k
Facilitating Awesome Meetings
lara
57
7k
Building Adaptive Systems
keathley
44
3.1k
Everyday Curiosity
cassininazir
0
230
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