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
53
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
64
Serverless
alocquet
0
27
Other Decks in Programming
See All in Programming
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
750
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
250
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
41
16k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
390
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
220
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
240
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
170
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
280
AWS Step Functions は CDK で書こう!
konokenj
4
620
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
BBQ
matthewcrist
87
9.5k
Fireside Chat
paigeccino
35
3.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
It's Worth the Effort
3n
184
28k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Speed Design
sergeychernyshev
27
810
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Rails Girls Zürich Keynote
gr2m
94
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
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