Alerte importante : Google et Yahoo exigeront DMARC à partir d'avril 2024.
PowerDMARC

Qu'est-ce qu'un Handshake TLS ?

Qu'est-ce qu'une poignée de main TLS ?

Qu'est-ce qu'une poignée de main TLS ?

Temps de lecture : 4 min

Le cryptage TLS et d'authentification qui protège les communications Internet. La poignée de main TLS est un processus qui sécurise une connexion avec un serveur en utilisant la cryptographie asymétrique. Les sites Web utilisant un certificat TLS peuvent utiliser le protocole HTTPS pour se connecter en toute sécurité au serveur. Ce blog explique en détail la poignée de main TLS, y compris les étapes de la poignée de main TLS, la méthodologie de travail, etc.

Qu'est-ce qu'un Handshake TLS ?

Comme la poignée de main que nous faisons dans la vie réelle, la poignée de main TLS est une introduction. Elle indique une communication sûre entre deux serveurs où des messages sont échangés pour s'accuser réception, se vérifier mutuellement, établir des codes cryptographiques et convenir de clés de session. 

Le processus de poignée de main TLS commence par le "Bonjour" initial et se poursuit jusqu'au stade où un client et un serveur peuvent se parler via une connexion sécurisée. 

Comment fonctionne la poignée de main TLS ?

Maintenant que vous savez ce qu'est une poignée de main TLS, voyons comment elle fonctionne.

Ainsi, le processus de poignée de main TLS ne fonctionne que lorsqu'un certificat TLS est configuré sur le serveur pour un site web ou une application. Ce certificat comprend des détails importants sur le propriétaire du domaine et la clé publique du serveur pour confirmer l'identité du serveur. Ce processus séquentiel permet d'établir une connexion TLS. Ainsi, lorsqu'un utilisateur demande à accéder à un site web compatible TLS, la poignée de main TLS entre son appareil et le navigateur web commence et échange l'ensemble des détails suivants : 

La poignée de main TLS établit une suite de chiffrement pour toutes les communications. La suite de chiffrement est décrite comme un ensemble d'algorithmes utilisés pour établir une connexion de communication sécurisée. Un rôle important de la poignée de main TLS est de déterminer la suite de chiffrement qui sera utilisée. TLS établit des clés de session correspondantes sur un canal non crypté en utilisant la cryptographie à clé publique. 

Le Handshake vérifie également l'authenticité de l'expéditeur en contrôlant le serveur à l'aide de clés publiques. Les clés publiques sont des clés de chiffrement à sens unique, ce qui signifie que personne, à l'exception de l'expéditeur initial, ne peut déchiffrer les données chiffrées. L'expéditeur original utilise sa clé privée pour décrypter les données. 

L'échec de la poignée de main TLS signifie que la connexion est interrompue et que le client reçoit le message d'erreur "503 Service Unavailable". 

Handshake TLS vs SSL

SSL signifie Secure Sockets Layer, le protocole de sécurité original produit pour HTTP. SSL a été remplacé par TLS et les poignées de main SSL sont désormais appelées poignées de main TSL.

Quand se produit une prise de contact TLS ?

Le navigateur interroge le serveur d'origine du site web chaque fois qu'un utilisateur demande à naviguer sur un site web via une connexion sécurisée. Cela se produit également lorsque tout autre canal de communication utilise HTTPS. Cela inclut les appels API et le DNS sur un réseau sécurisé.

Étapes d'une poignée de main TLS

Les étapes de la poignée de main TLS consistent en une série de datagrammes, ou messages, transférés entre le client et le serveur. Les étapes précises diffèrent en fonction du type d'algorithme d'échange de clés utilisé et des suites de chiffrement prises en charge par les deux parties. Voici ce à quoi vous pouvez vous attendre.

Étape 1 : Le message "Bonjour client".

Le serveur du client lance le processus de poignée de main TLS en envoyant un message "hello" au serveur principal du site web. Ce message contient des informations importantes, comme la version de TLS et les suites de chiffrement prises en charge, ainsi que quelques octets aléatoires appelés "aléatoire client".

Étape 2 : Le message "Server Hello".

Le serveur répond au message d'accueil du client en envoyant une réponse contenant un certificat SSL, la suite de chiffres choisie par le serveur et la chaîne "server random" générée par le serveur. 

Étape 3 : Authentification

Lors de cette étape de poignée de main TLS, le client confirme le certificat SSL du serveur auprès de l'autorité émettrice. Cela permet de vérifier que le serveur est authentique et que le client communique avec le propriétaire du domaine.

Étape 4 : Le secret de Premaster

Le secret Premaster, qui est une autre chaîne aléatoire d'octets, est envoyé par le client. Il est crypté avec une clé publique et peut être décrypté à l'aide d'une clé privée par le serveur. 

Étape 5 : Clé privée utilisée

Le secret du prémaître est décrypté par le serveur.

Étape 6 : Création des clés de session

Le client et le serveur créent des clés de session à partir de l'aléatoire du client, de l'aléatoire du serveur et du secret du prémaître. Le résultat des trois devrait être le même.

Étape 7 : Le client est prêt

Le client envoie un message "terminé" crypté avec une clé de session.

Étape 8 : Le serveur est prêt

Le serveur envoie un message "terminé" crypté avec une clé de session. 

Étape 9 : Réalisation d'un chiffrement symétrique sécurisé 

Il s'agit de la dernière étape de la poignée de main TLS. Après son achèvement, la communication se poursuit en utilisant les clés de session.

Handshake TLS 1.3 - Quelle est la différence ?

TLS 1.3 ne prend pas en charge RSA ; les étapes sont donc légèrement différentes.

Bonjour client

Le client envoie le message "Client Hello" qui comprend la version du protocole, le hasard du client et une liste de suites de chiffrement. Le nombre de suites de chiffrement diminue car il n'y a pas de support pour les suites de chiffrement dans la version TLS 1.3. 

Ce message contient également des paramètres utilisés pour évaluer le secret du prémaître. Cela réduit la longueur de la poignée de main, ce qui constitue la principale différence entre les poignées de main TLS 1.3 et les poignées de main TLS 1.0, 1.1 et 1.2. 

Le serveur crée le secret principal

Au cours de cette étape, le serveur reçoit l'aléatoire du client et les paramètres et suites de chiffrement du client. En produisant son propre aléatoire de serveur, il génère le secret maître.

Bonjour et fin du serveur

Server hello contient le certificat du serveur, la signature cryptographique, le hasard du serveur et la suite de chiffrement choisie. Il envoie également un message "terminé" car il possède le secret principal. 

Étapes finales et client terminé

Le client vérifie la signature et le certificat, génère le secret principal et envoie le message "Finished".

Réalisation d'un chiffrement symétrique sécurisé

Une fois la poignée de main TLS terminée, la communication se poursuit en utilisant les clés de session.

Comment lire les rapports TLS ?

Les rapports TLS peuvent fournir des informations précieuses sur les échanges TLS mal alignés pendant l'authentification MTA-STS, ainsi que sur les problèmes de délivrabilité. La fonction TLS-RPT de PowerDMARC offre des rapports dans un format lisible par l'homme qui est analysé à partir des fichiers JSON originaux.

Pour lire les rapports TLS dès aujourd'hui, commencez votre essai gratuit avec nous !

Pourquoi les applications commerciales et Web devraient-elles utiliser le Handshake TLS ?

La poignée de main TLS protège les applications Web des infractions et autres cyberattaques, car HTTPS est la version sécurisée de l'extension HTTP. Les sites web possédant un certificat TLS peuvent utiliser le protocole HTTPS pour se connecter en toute sécurité aux utilisateurs. Son objectif est de protéger les informations sensibles telles que les données personnelles, les données financières, les identifiants de connexion, etc.

Quitter la version mobile