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 q...
Search
Arnaud
March 21, 2019
Programming
0
60
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
80
Serverless
alocquet
0
32
Other Decks in Programming
See All in Programming
AI時代の認知負荷との向き合い方
optfit
0
170
MUSUBIXとは
nahisaho
0
140
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
230
Package Management Learnings from Homebrew
mikemcquaid
0
230
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
CSC307 Lecture 04
javiergs
PRO
0
660
dchart: charts from deck markup
ajstarks
3
1k
Python’s True Superpower
hynek
0
110
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
240
CSC307 Lecture 02
javiergs
PRO
1
780
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Being A Developer After 40
akosma
91
590k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
KATA
mclloyd
PRO
34
15k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Raft: Consensus for Rubyists
vanstee
141
7.3k
A Tale of Four Properties
chriscoyier
162
24k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
55
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
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