Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Protocoles sûrs : TLS, SSH et tunnels

Après cette leçon: Je peux choisir un protocole qui protège le trafic et dire pourquoi.

Leçon de 60 min4 commandesLab WireGuard : construire un tunnel VPN entre deux sites dans le navigateur

Qui peut lire le trafic du Wi-Fi ?

Un protocole sûr chiffre les échanges et prouve qui se trouve au bout de la ligne. Le choix du protocole décide si un voisin du même Wi-Fi peut lire vos données.

Un étudiant se connecte au Wi-Fi d'une gare pour payer un abonnement de transport. Si la page utilise un protocole en clair, son mot de passe voyage lisible. Cette leçon apprend à choisir mieux.

À la fin de cette leçon

Remarque

Je peux choisir un protocole qui protège le trafic et dire pourquoi.

Mots clés

MotCe que ça veut dire
Chiffrementrendre un message illisible pour qui n'a pas la clé
Intégritéla preuve qu'un message n'a pas été modifié
Authentificationla preuve de l'identité de l'autre côté
TLSle protocole qui protège le web chiffré et bien d'autres échanges
Tunnelune liaison chiffrée qui transporte le trafic d'un réseau à un autre

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un protocole en clair montre tout

Un protocole en clair envoie les données telles quelles. Quiconque peut regarder le trafic, par exemple sur un Wi-Fi partagé, lit les mots de passe et les messages.

Presque chaque protocole en clair a un cousin sûr, qui fait le même travail avec du chiffrement.

Exemple : des protocoles en clair et leur remplaçant

En clairPortVersion sûrePort
HTTP (web)80HTTPS (web chiffré)443
Telnet (accès à distance)23SSH22
FTP (transfert de fichiers)21SFTP, par SSH22
DNS (noms de sites)53DNS chiffré (DoT, DoH)853 ou 443

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un protocole sûr donne trois garanties

Le chiffrement protège le contenu : un voisin voit des octets sans sens. L'intégrité détecte une modification en route. L'authentification prouve que le serveur est bien celui qu'on voulait joindre.

Il suffit qu'une garantie manque pour qu'une attaque reste possible. Un message chiffré mais envoyé au mauvais serveur est livré à l'attaquant.

Calculer l'empreinte d'un message

Commande
printf 'virement 100 euros' | sha256sum

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Changer un seul caractère

Commande
printf 'virement 900 euros' | sha256sum

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une empreinte change si le message change

Chaque commande affiche une empreinte de 64 caractères. La première commence par 27e0bba9, la seconde par ecd0246e.

Un seul chiffre change dans le message, et l'empreinte n'a plus rien de commun. C'est ainsi qu'un protocole détecte qu'un virement a été modifié en route.

TLS prouve le serveur avant de chiffrer

Avant d'envoyer la moindre donnée, le navigateur reçoit un certificat : la carte d'identité du serveur, signée par une autorité de confiance. Il la vérifie, puis les deux côtés s'accordent sur une clé secrète.

Les anciennes versions de TLS ont des failles connues. On n'accepte aujourd'hui que les versions 1.2 et 1.3.

Un tunnel protège toute une liaison

SSH et TLS protègent un échange précis. Un tunnel protège tout le trafic entre deux réseaux. Les paquets d'un site entier entrent chiffrés d'un côté, traversent Internet et ressortent de l'autre.

Un réseau privé virtuel (VPN) relie ainsi deux campus par Internet, sans qu'un intermédiaire lise le contenu.

Rencontrer les deux sites du labo

Commande
wglab status

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Deux sites séparés par Internet

La commande liste quatre machines : les hôtes a1 et b1, et les passerelles gwA et gwB, avec leurs adresses. Pour l'instant, rien ne protège le lien entre les deux passerelles.

Une fois le tunnel monté, vous verrez aussi des lignes sur les pairs et le dernier échange de clés.

Mesurer la taille d'une clé WireGuard

Commande
wg genkey | wc -c

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une clé de 32 octets

La commande affiche 45. Une clé WireGuard fait 32 octets, écrits en 44 caractères, et le 45e est la fin de ligne. La clé est tirée au hasard puis jetée : rien n'est gardé.

Une clé privée reste secrète. On ne partage que la clé publique qui en découle.

Le DNS en clair révèle les sites visités

Avant chaque visite, le navigateur demande au DNS l'adresse du site. Par défaut, cette demande est en clair : le réseau lit la liste de vos sites, même si la page est chiffrée.

Elle peut aussi être falsifiée, et l'utilisateur arrive alors sur un faux site. Le DNS chiffré cache les demandes, et des signatures vérifient les réponses.

Une erreur fréquente

Attention

On croit souvent que le cadenas veut dire que le site est honnête. Il montre seulement que l'échange est chiffré et que le nom du site est bien celui du certificat. Un faux site peut avoir lui aussi un cadenas.

À propos de ce labo et de sa source: Lab WireGuard : construire un tunnel VPN entre deux sites dans le navigateur

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.