If you're seeing this message, it means we're having trouble loading external resources on our website.

Si vous avez un filtre web, veuillez vous assurer que les domaines *. kastatic.org et *. kasandbox.org sont autorisés.

Contenu principal

Le protocole TLS (Transport Layer Security)

Les ordinateurs envoient des paquets de données sur Internet. Ces paquets sont comme des lettres dans une enveloppe : une personne curieuse pourrait facilement lire les données qui se trouvent à l'intérieur. Si ces données sont des informations publiques (ex. : un article d'actualité), ce n'est pas très grave. Mais s'il s'agit plutôt d'un mot de passe, d'un numéro de carte de crédit, ou d'e-mails confidentiels, il est alors risqué de laisser quelqu'un les voir.
Le protocole TLS (Transport Layer Security) ajoute une couche de sécurité aux protocoles de transport TCP/IP. Le protocole TLS utilise le chiffrement symétrique et le chiffrement à clé publique pour envoyer des données privées de manière sécurisée, et propose également des dispositifs de sécurité supplémentaires, comme l'authentification et la détection de messages frauduleux.
Le protocole TLS ajoute de nouvelles étapes au processus d'envoi des données par rapport aux protocoles TCP/IP, et augmente donc la
des communications Internet. Toutefois, les avantages que le TLS apporte en matière de sécurité valent la peine de supporter ce délai de transit un peu plus long.
(Notez que le TLS a remplacé l'ancien protocole SSL, et que les termes TLS et SSL sont donc souvent utilisés de manière interchangeable.)

Du début jusqu'à la fin

Intéressons-nous au processus permettant d'envoyer des données de manière sécurisée d'un ordinateur vers un autre grâce au protocole TLS. L'ordinateur de l'expéditeur sera appelé client, tandis que l'ordinateur du destinataire sera appelé serveur.

Liaison TCP à trois voies

Puisque le protocole TLS s'ajoute au TCP/IP, le client et le serveur doivent d'abord passer par la liaison TCP à trois voies.
Schéma montrant deux ordinateurs reliés par trois flèches. L'ordinateur de gauche est ouvert sur l'écran de connexion de Khan Academy, et on peut voir un champ de saisie contenant un mot de passe. L'ordinateur de droite est un serveur qui contient l'adresse IP de fr.khanacademy.org.
  • Une flèche va de l'ordinateur au serveur et est étiquetée "SYN".
  • Une flèche va du serveur à l'ordinateur portable et est étiquetée "ACK SYN".
  • Une flèche va de l'ordinateur au serveur et est étiquetée "ACK".

Lancement du protocole TLS

Le client doit d'abord informer le serveur de son souhait d'utiliser une connexion TLS au lieu de la connexion standard non sécurisée. Il envoie donc un message expliquant quelle version du protocole TLS et quelles techniques de chiffrement il aimerait utiliser.
Schéma montrant deux ordinateurs reliés par une flèche. L'ordinateur de gauche est ouvert sur l'écran de connexion de Khan Academy. L'ordinateur de droite est un serveur qui contient l'adresse IP de fr.khanacademy.org. Une flèche va de l'ordinateur au serveur et est accompagnée d'un cadre contenant le texte suivant : "ClientBonjour, Version du protocole : TLS 1.3, Suite de chiffrement : TLS_RSA_WITH_RC4_128_SHA".

Confirmation du protocole par le serveur

Si le serveur n'est pas capable de supporter les technologies requises par le client, il interrompt la connexion. Cela peut arriver si un client essaye de communiquer avec un serveur plus ancien.
Si le serveur est en mesure de prendre en charge la version du protocole TLS et les autres options requises, il envoie une confirmation au client, ainsi qu'un certificat numérique qui contient sa clé publique.
Schéma montrant deux ordinateurs reliés par une flèche. L'ordinateur de gauche est ouvert sur l'écran de connexion de Khan Academy. L'ordinateur de droite est un serveur qui contient l'adresse IP de fr.khanacademy.org. Une flèche va du serveur à l'ordinateur et est accompagnée d'un cadre contenant le texte suivant : "ServeurBonjour, Version du protocole : TLS 1.3, Suite de chiffrement : TLS_RSA_WITH_RC4_128_SHA, Certificat, ServeurBonjourTerminé".

Vérification du certificat

Le certificat numérique émis par le serveur est sa façon de dire : "Oui, je suis vraiment qui je prétends être". Si le client juge que le certificat n'est pas authentique, il interrompt la connexion, puisqu'il ne veut pas que ses données privées soient envoyées à un imposteur.
En revanche, si le client est sûr que le certificat est authentique, il passe à l'étape suivante.
Schéma illustrant la vérification effectuée par le client. On peut voir un ordinateur portable, duquel part une bulle de pensée disant "Certificat = fr.khanacademy.org ?".

Génération d'une clé partagée

Le client connaît maintenant la clé publique du serveur : il peut donc théoriquement utiliser le chiffrement à clé publique pour chiffrer les données, que le serveur peut ensuite déchiffrer avec sa clé privée correspondante.
Toutefois, le chiffrement à clé publique prend bien plus de temps que le chiffrement symétrique, en raison des opérations mathématiques plus complexes qu'il implique. Lorsque c'est possible, les ordinateurs préfèrent donc utiliser le chiffrement symétrique pour gagner du temps.
Et heureusement, c'est possible ! Les ordinateurs peuvent d'abord utiliser le chiffrement à clé publique (ou asymétrique) pour générer une clé partagée de manière confidentielle, et peuvent ensuite utiliser le chiffrement symétrique, et cette clé, pour envoyer de futurs messages.
Le client lance le processus en envoyant au serveur un message contenant une clé de session, chiffrée avec la clé publique du serveur. Le client détermine ensuite la clé partagée à partir de cette clé de session (ce qui est plus sûr que d'envoyer la vraie clé partagée) et la stocke dans sa mémoire locale.
Le client envoie également un message "Terminé", dont le contenu est chiffré avec la clé partagée.
Schéma montrant deux ordinateurs reliés par une flèche. L'ordinateur de gauche est ouvert sur l'écran de connexion de Khan Academy. L'ordinateur de droite est un serveur qui contient l'adresse IP de fr.khanacademy.org. Une flèche va de l'ordinateur au serveur et est accompagnée d'un cadre contenant le texte suivant : "ÉchangeCléClient (Clé de session : c3ac534f4d919a0e92b966795e), ModificationSpécChiffrement, Terminé (21c124d28a548559f0f8abd4b)".

Confirmation de la clé partagée par le serveur

Le serveur peut maintenant déterminer la clé partagée à partir de la clé de session, et tenter de déchiffrer le message "Terminé" envoyé avec cette clé. S'il n'y parvient pas, la connexion est interrompue.
Si le serveur parvient à déchiffrer le message du client avec la clé partagée, il envoie une confirmation accompagnée de son propre message "Terminé", dont le contenu est chiffré.
Schéma montrant deux ordinateurs reliés par une flèche. L'ordinateur de gauche est ouvert sur l'écran de connexion de Khan Academy. L'ordinateur de droite est un serveur qui contient l'adresse IP de fr.khanacademy.org. Une flèche va du serveur à l'ordinateur et est accompagnée d'un cadre contenant le texte suivant : "ModificationSpécChiffrement, Terminé (c49fe482d338760807c3c278f)".

Envoi de données sécurisées

Pour finir, le client envoie de façon sécurisée les données privées vers le serveur, en utilisant le chiffrement symétrique et la clé partagée.
Schéma montrant deux ordinateurs reliés par une flèche. L'ordinateur de gauche est ouvert sur l'écran de connexion de Khan Academy. L'ordinateur de droite est un serveur qui contient l'adresse IP de fr.khanacademy.org. Une flèche va de l'ordinateur au serveur et est accompagnée d'un cadre contenant une chaîne de données chiffrées.
Il arrive souvent qu'un même client ait besoin d'envoyer plusieurs fois des données à un serveur, par exemple lorsqu'un utilisateur remplit des formulaires sur plusieurs pages d'un site web. Dans ce cas, les ordinateurs peuvent utiliser un processus simplifié pour mettre en place la session sécurisée.
Vérifiez votre compréhension
Comme vous avez pu le voir, les deux ordinateurs qui souhaitent échanger des données doivent passer par plusieurs étapes pour établir une communication sécurisée avec le protocole TLS.
Complétez la liste de ces étapes ci-dessous :
  1. Le client et le serveur effectuent la liaison TCP à trois voies.
  2. Le client envoie des données chiffrées à l'aide de la clé partagée.

Le TLS est partout

Le protocole TLS est utilisé dans de nombreuses formes de communication sécurisée sur Internet, comme l'envoi d'e-mails ou le téléchargement de fichiers. Mais on le connaît surtout parce qu'il est employé pour assurer une navigation sécurisée sur les sites Internet (HTTPS).
Le TLS fournit une couche sécurisée en plus du protocole TCP/IP, notamment parce qu'il utilise à la fois le chiffrement symétrique et le chiffrement asymétrique. Ce protocole devient de plus en plus nécessaire pour sécuriser les données privées qui circulent sur Internet.

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Vous avez des questions sur ce sujet ? Nous vous répondrons volontiers ! Posez simplement votre question dans l'espace ci-dessous !

Vous souhaitez rejoindre la discussion ?

Vous comprenez l'anglais ? Cliquez ici pour participer à d'autres discussions sur Khan Academy en anglais.