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
49
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
57
Serverless
alocquet
0
25
Other Decks in Programming
See All in Programming
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
Arm移行タイムアタック
qnighy
0
310
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
Better Code Design in PHP
afilina
PRO
0
120
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
110
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.7k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Featured
See All Featured
Navigating Team Friction
lara
183
14k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
What's new in Ruby 2.0
geeforr
343
31k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Why Our Code Smells
bkeepers
PRO
334
57k
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