Contenu principal
Cours : Sécurité sur Internet > Chapitre 1
Leçon 11: Protocoles Internet sécurisésLe 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.
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.
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.
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.
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.
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é.
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.
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.
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 ?
- Que signifient TCP, SSL, IP?(1 vote)
- Bonjour,
Le protocole TLS a remplacé l'ancien protocole SSL. Il signifie Secure Sockets Layer.
Le protocole TCP signifie Transmission Control Protocol et c'est un protocole de transport de données.(1 vote)