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
TLS 1.3 arrive!!! Et si on comprenait déjà ce que fait TLS 1.2 ?
Search
Arnaud
March 21, 2019
Programming
0
45
TLS 1.3 arrive!!! Et si on comprenait déjà ce que fait TLS 1.2 ?
Arnaud
March 21, 2019
Tweet
Share
More Decks by Arnaud
See All by Arnaud
TLS 1.3 arrive!!! Et si on comprenait déjà ce que fait TLS 1.2 ?
alocquet
1
120
Rust - Ownership & Borrowing
alocquet
2
51
Serverless
alocquet
0
21
Other Decks in Programming
See All in Programming
今の SmartHR にエンジニアで入社するとどうなるの?
daisukeshinoku
5
4.6k
Git Lint
bkuhlmann
4
740
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
3.6k
コードレビューで学ぶ!Kotlinオブジェクト指向デザインパターン
akkie76
2
180
Elm Form Validation
bkuhlmann
0
500
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
18
4.8k
pixivアプリでマルチモジュールを実現するまで
gatosyocora
1
130
Designing for tomorrow's programming workflows
honnibal
PRO
2
110
Folding Cheat Sheet #3
philipschwarz
PRO
0
110
PostmanでAPIの動作確認が楽になった話
h455h1
0
120
雑に思考を整理する技術と効能
konifar
55
25k
プールにゆこう
irof
2
120
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Debugging Ruby Performance
tmm1
70
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
Atom: Resistance is Futile
akmur
258
25k
BBQ
matthewcrist
80
8.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Gamification - CAS2011
davidbonilla
76
4.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Docker and Python
trallard
33
2.7k
Transcript
@LocquetArnaud TLS 1.3 arrive!!! Et si on comprenait déjà ce
que fait TLS 1.2 ?
@LocquetArnaud Arnaud Locquet @LocquetArnaud
@LocquetArnaud Moi & TLS
@LocquetArnaud Moi & TLS
@LocquetArnaud Moi & TLS Handshake Failure
@LocquetArnaud moi & TLS
@LocquetArnaud TLS 1.2 - Handshake Protocol
@LocquetArnaud
@LocquetArnaud Historique SSL 1.0 1994 TLS 1.2 2008 TLS 1.3
2018
@LocquetArnaud Ce qu’apporte TLS • Confidentialité • Authentification du serveur
• Authentification du client • Intégrité du message
@LocquetArnaud Hachage
@LocquetArnaud Chiffrement symétrique
@LocquetArnaud
@LocquetArnaud Code de César Message Clé = 1 Clé =
3 H E L L O B R E I Z H C A M P K H O O R E U H L C K F D P S I F M M P C S F J A I D B N Q
@LocquetArnaud Chiffrement symétrique • Code césar • 3DES • AES
• ChaCha
@LocquetArnaud Chiffrement asymétrique
@LocquetArnaud Ouvert Fermé Fermé clé privée clé publique
@LocquetArnaud Ouvert Fermé clé publique Chiffrement
@LocquetArnaud Ouvert Fermé clé privée Déchiffrement
@LocquetArnaud Ouvert Fermé clé privée Signature
@LocquetArnaud Ouvert Fermé clé publique Vérification Signature
@LocquetArnaud Certificats
@LocquetArnaud Certificat • identifiant • identité • durée de validité
• émetteur • signature • clé publique
@LocquetArnaud Certificat auto signé Arnaud Locquet 29/05/1985 ID : 1010101010
@LocquetArnaud Obtention certificat serveur • Détenir un nom de domaine
• Générer une paire de clés et une CSR • Validation du CSR par l’AC et génération du certificat
@LocquetArnaud Localisation certificats / clés AC .crt
@LocquetArnaud Localisation certificats / clés AC .crt Serveur .crt signe
@LocquetArnaud Localisation certificats / clés AC .crt Client Serveur .crt
.crt vérifie signature
@LocquetArnaud Localisation certificats / clés AC .crt Client .crt signe
@LocquetArnaud Localisation certificats / clés AC 1 .crt Client .crt
Serveur .crt vérifie signature
@LocquetArnaud Configuration serveur Serveur .crt
@LocquetArnaud Configuration serveur Serveur .crt .crt
@LocquetArnaud Configuration client • TrustStore Client .crt .crt
@LocquetArnaud Configuration client • Key Store Client .crt .crt
@LocquetArnaud Validité Certificat • CRL : liste des certificats révoqués
• OCSP : endpoint HTTP qui donne l’état d’un certificat
@LocquetArnaud Ce qu’apporte TLS • Confidentialité : Chiffrement symétrique •
Authentification du serveur : Certificat + signature • Authentification du client : Certificat + signature • Intégrité du message : Hachage
@LocquetArnaud TLS : Handshake Protocol
@LocquetArnaud TLS 1.2
@LocquetArnaud ClientHello Envoi • versions de TLS supportées • cipher
suites • nombre aléatoire • SNI • ...
@LocquetArnaud Cipher Suite Exemple : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 • Algorithme d’échange de
clés
@LocquetArnaud Cipher Suite Exemple : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 • Algorithme d’échange de
clés • Algorithme d’authentification du serveur
@LocquetArnaud Cipher Suite Exemple : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 • Algorithme d’échange de
clés • Algorithme d’authentification du serveur • Algorithme de chiffrement des communications ◦ clé AES 128 ◦ mode de chiffrement par bloc GCM
@LocquetArnaud Cipher Suite Exemple : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 • Algorithme d’échange de
clés • Algorithme d’authentification du serveur • Algorithme de chiffrement des communications ◦ clé AES 128 ◦ mode de chiffrement par bloc GCM • Hachage
@LocquetArnaud ServerHello • Version TLS • Cipher suite • Nombre
aléatoire
@LocquetArnaud Certificate • Certificat du serveur Vérifié par le client
: • validité : dates, nom de domaine, ... • AC de confiance ?
@LocquetArnaud Key Exchange
@LocquetArnaud Key Exchange - RSA • ServerKeyExchange • PreMasterKey chiffrée
par la clé publique du serveur présente dans son certificat • Forward Secrety
@LocquetArnaud Key Exchange - (EC)DHE
@LocquetArnaud Key Exchange - (EC)DHE
@LocquetArnaud Key Exchange - (EC)DHE
@LocquetArnaud Key Exchange - (EC)DHE
@LocquetArnaud Key Exchange - (EC)DHE
@LocquetArnaud Je suis le Maître des clés. Êtes-vous le Cerbère
de la porte ?
@LocquetArnaud ChangeCipherSpec • Passage en mode chiffré avec la master
key
@LocquetArnaud Finished • Fin des envois du client / server
• Messages chiffrés par la master key
@LocquetArnaud • Données applicatives ◦ encapsulées ◦ chiffrée • MAC
: message authentication code permet de vérifier l’intégrité du message Application Data
@LocquetArnaud Authentification Mutuelle Objectif : Authentifier le client
@LocquetArnaud • Demande d’un certificat client ◦ types de certificat
acceptés ◦ algos de signature acceptés ◦ AC acceptées Certificate Request
@LocquetArnaud Certificat du client Certificate
@LocquetArnaud Hash basé sur les messages précédents et signé par
la clé privée du client Certificate Verify
@LocquetArnaud TLS 1.3
@LocquetArnaud TLS 1.3 150,000 top sites
@LocquetArnaud TLS 1.3
@LocquetArnaud Sécurité : • Restriction des algos : ◦ TLS_AES_256_GCM_SHA384
◦ TLS_CHACHA20_POLY1305_SHA256 ◦ TLS_AES_128_GCM_SHA256 ◦ TLS_AES_128_CCM_8_SHA256 ◦ TLS_AES_128_CCM_SHA256 • Chiffrement du certificat du client TLS 1.3
@LocquetArnaud TLS 1.3 Performance : • Diminution du nombre d’échanges
: 1 seul A/R • Possibilité de 0 A/R
@LocquetArnaud TLS 1.3 Performance : • Diminution du nombre d’échanges
: 1 seul A/R • Possibilité de 0 A/R www.keycdn.com
@LocquetArnaud Conclusion
@LocquetArnaud