DU TLS
SAVADOGO Tidiane
Introduction
LE
FONCTIONNEMEN
T.
TLS .
LES ETAPES
ILLUSTRATION.
CONCLUSION
2
INTRODUCTION
3
Introduction
Le TLS (Transport Layer Security), successeur du SSL (Secure
Sockets Layer). Tous deux sont des protocoles de sécurisation
de communication. Ils permettent ainsi l’authentification du
serveur et du client (TLS Handshake qui veut dire ‘poignée de
main’), la confidentialité des données ainsi que l’intégrité des
données échangés. Ce protocole est extrêmement utilisé. On
l’utilise quasiment partout, par exemple, le HTTPS est une
utilisation de ce protocole.
Introductio
l'authentification du serveur ; n
la confidentialité des données échangées (ou session chiffrée) ;
l'intégrité des données échangées ;
de manière optionnelle, l'authentification ou l'authentification forte du
client avec l'utilisation d'un certificat numérique ;
la spontanéité, c'est-à-dire qu'un client peut se connecter de façon
transparente à un serveur auquel il se connecte pour la première fois ;
la transparence, qui a contribué certainement à sa popularité : les
protocoles de la couche d'application n'ont pas à être modifiés pour utiliser
une connexion sécurisée par TLS. Par exemple, le protocole HTTP est
identique, que l'on se connecte à un schème http ou https
Introductio
n
Dans la pile de protocole TCP/IP, SSL se situe
entre la couche application (comme HTTP, FTP,
SMTP, etc.) et la couche transport TCP.
FONCTIONNEMENT
7
FONCTIONNEM
ENT
Etudiant Campusfaso.bf
LES ETAPES
9
ETAPE 1: Établissement de la
connexion
Le client initie la communication avec le serveur en
envoyant un message SYN (Synchronize). Le serveur
accepte la communication en envoyant un message
SYN-ACK (synchronize-acknowledgment). Enfin, le
client informe le serveur de la bonne réception du
message reçu en envoyant un ACK (acknowledgment)
ETAPE 2:Négociation
Le client envoie le message HELLO_CLIENT en clair au serveur contenant:
•La version de TLS (la plus récente que peut utiliser le client)
•Un message aléatoire pour la signature des données
•Un identifiant de session
•La liste des suites d’algorithmes cryptographiques supportés par le client par
ordre décroissant de préférence.
Le serveur répond au client avec un message HELLO_SERVER contenant la
version de TLS du client, le message aléatoire envoyé par le client, l’identifiant
de session et la plus forte suite d’algorithme commune entre le client et le
serveur. Si la version TLS ou la suite d’algorithmes proposés par le client ne
sont pas disponibles côté serveur, la communication s’interrompt.
ETAPE 3: Authentification du serveur
Une fois les algorithmes négociés, le serveur s’authentifie auprès du
client en envoyant son certificat X.509 (message Certificate). En
option, le serveur envoie également sa clé publique (différente de la
clé publique du certificat serveur) au client pour chiffrer la clé de
session (Server Key Exchange). En fonction de la configuration du
serveur, il envoie le message Client Certificate Request afin de
demander au client son propre certificat. Le client vérifie le format
du certificat, sa date d’expiration, son statut révoqué ou non et si le
certificat est de confiance. Si au moins une de ces vérifications
échoue, la transaction est abandonnée. Enfin, le serveur envoie le
message Server Hello Done pour indiquer qu’il a terminé.
ETAPE 4: Authentification du client
Le client envoie son propre certificat au serveur (Client Certificate), si
demandé. Le serveur procède aux mêmes vérifications que celles faites par le
client (voir point 3) sur le certificat serveur. Le client produit un secret pré-
maître (pre-master key) qu’il chiffre avec la clé publique du certificat serveur.
Si le serveur a envoyé Server Key Exchange, cette clé chiffrée est chiffrée à
nouveau avec la clé publique du serveur. Le message Client Key Exchange
envoie le résultat au serveur. Ce secret permet par la suite au client et au
serveur de générer des clés de sessions non échangées. Si le client a envoyé
son certificat, il envoie aussi le message Certificate Verify, contenant
l’empreinte de tous les messages précédents signée avec la clé privée du
client. Ce message permet de prouver que le client possède bien la clé privée
associée à son certificat.
ETAPE 3: Fin du Handshake TLS
Le client envoie deux messages Change Cipher Spec et Finished
chiffrés et signés avec les clés vues précédemment pour indiquer
que le tunnel TLS s’est établi. Le serveur fait de même, c’est la fin du
Handshake. A partir de ce moment, le client et le serveur
communiquent en suivant les spécifications des protocoles Record,
en garantissant la confidentialité et l’intégrité de tous les messages
échangés.
CONCLUSION
15
CONCLUSION
Le protocole TLS permet de créer un tunnel entre un ordinateur et
un serveur. Ce tunnel sécurisé permet un échange d'informations en
contournant les dispositifs de sécurité installés pour un serveur ou un
ordinateur. Passant outre les systèmes de protection il est alors
possible que des actions malveillantes soient menées au travers du
point d'entrée du tunnel. Afin de limiter les risques, il est
techniquement possible de filtrer les contenus d'un tunnel TLS par la
mise en place d'un dispositif qui authentifie le client et le serveur.
Deux tunnels sont alors mis en place, un depuis le client vers le
dispositif d'authentification et le second du dispositif vers le serveur.
Ce système permet alors une analyse et une sécurisation
transparente des contenus transférés par le tunnel TLS.