Fil d'Ariane
Mis à jour le mercredi 30 novembre 2016
  • 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours existe en eBook.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Le .onion, ou comment garantir des communications chiffrées de bout en bout !

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

Le réseau Tor apporte une autre fonctionnalité qui mérite d'être mentionnée : un réseau Internet entièrement chiffré, qui utilise l'extension .onion. Vous n'avez probablement pas entendu parler de cette extension, et pour cause : les sites qui l'utilisent ne sont pas accessibles sans Tor !

Les requêtes DNS

En fait, lorsque vous voulez visiter un site web, vous entrez son nom de domaine (par exemple "openclassrooms.com"). Cette adresse humainement lisible et pratique n'a pas de sens pour le réseau, qui ne comprend que les adresses IP.

Votre navigateur doit donc procéder à ce que l'on appelle une requête DNS (Domain Name Service — Service des noms de domaines), afin de connaître l'adresse IP correspondante, puis envoie un paquet à l'adresse IP concernée avec sa requête. Cela vous évite de retenir une adresse IP, un nom de domaine c'est quand même plus simple !

Si vous utilisez un proxy, il est possible de demander au proxy de faire ces requêtes DNS pour vous, par ce que l'on appelle le DNS distant. Cela vous permet d'éviter d'être pistés par celui qui fournit en temps normal le serveur DNS, qui est le plus souvent votre fournisseur d'accès à Internet. Le paramètre est présent sous forme d'une case à cocher dans les paramètres de proxy de votre navigateur.

DNS distant dans les paramètres de proxy de Firefox
DNS distant dans les paramètres de proxy de Firefox

Application à Tor

Si vous activez cette option en utilisant Tor, c'est Tor qui s'occupera des requêtes DNS. Et il reconnaîtra les requêtes DNS pour des domaines utilisant l'extension .onion, contrairement à votre serveur DNS habituel car le .onion n'est pas un nom de domaine accessible sans utiliser Tor. On peut voir ça comme un nom de domaine "virtuel", disponible uniquement pour ceux qui utilisent Tor.

Et donc le .onion, il a quelque chose en particulier ou c'est juste n'importe quel serveur, comme si j'utilisais un nom de domaine en .fr ?

Bonne question ! Je vois que vous gardez en tête l'objectif des requêtes DNS : trouver la destination de la requête. Dans le cas d'un domaine en .onion, la destination est un autre relais du réseau Tor. Ainsi, lorsque Tor voit une requête vers un domaine en .onion, au lieu de dire au relais de sortie de faire une requête DNS, il construit directement un chemin vers le relais du réseau Tor correspondant au domaine .onion demandé.

Intérêt du .onion

Alors à quoi cela peut-il bien servir, me direz-vous ? En fait, la réponse est plutôt simple : comme pour tout proxy qui se respecte, toutes les connexions dans le réseau Tor sont chiffrées. Ainsi, en faisant une requête qui reste à l'intérieur du réseau, vous pouvez être sûrs que votre requête ne sera pas lisible même si on intercepte et lit le contenu du paquet, car celui-ci sera toujours chiffré.

Un lien avec HTTPS

C'est un peu comme si vous utilisiez HTTPS. Le petit "S" qui vient s'ajouter à l'adresse que vous utilisez sur des sites sensibles (e-commerce, banque…), généralement accompagné d'un cadenas dans la barre d'adresse, signifie que votre connexion au site en question est chiffrée : même si l'on lit le contenu des paquets transitant entre votre navigateur et le site en question, il est impossible de savoir ce qu'ils contiennent. Ingénieux non ?

Le "problème" de cette technologie, c'est que pour l'utiliser, les administrateurs doivent installer sur leur serveur ce que l'on appelle un certificat SSL. Il s'agit d'un fichier qui permet au serveur de prouver qu'il est bien celui chargé d'héberger le site web de l'organisme en question. C'est pour cela que, pour obtenir un certificat SSL, il faut contacter une autorité de certification qui vérifie que vous êtes bien le propriétaire légitime du site.

Cela permet d'éviter qu'un cadenas ne s'affiche alors que le serveur qui s'occupe de votre requête n'est pas un serveur légitime (cela peut être le cas pour un site piraté). Cependant, pour s'assurer que c'est bien le propriétaire du site qui demande le certificat, les autorités de certification ont besoin d'un grand nombre de données quant au propriétaire, afin de s'assurer que c'est bien le bon. Bref, en demandant un certificat SSL, le propriétaire du site n'est pas du tout anonyme. Heureusement, le réseau Tor a trouvé un solution à ce problème d'anonymat qui semble imposé pour avoir des connexions sécurisées sur Internet !

Retour sur Tor : le chiffrage et l'anonymisation

Le réseau Tor, en chiffrant les connexions d'un bout à l'autre sans avoir besoin de certificat SSL, assure la confidentialité des échanges, sans que l'administrateur n'ait besoin de dévoiler son identité à une autorité de certification. Ainsi, l'extension de domaine .onion permet en quelque sorte à n'importe qui de créer un site dont la connexion avec l'utilisateur sera toujours sécurisée, sans avoir les inconvénients concernant l'anonymat de HTTPS. En ce qui concerne le visiteur, cela permet aussi d'être sûr que personne n'interceptera sa communication avec le site en question. C'est rassurant de savoir que l'on ne pourra vraiment pas être pisté par quelqu'un d'autre que le site, en lequel on a généralement confiance !

Et du coup, si le site est piraté, on ne peut pas le détecter, alors qu'on peut avec HTTPS, non ?

Rassurez-vous, les créateurs du réseau Tor ont tout prévu, y compris cela ! Pour s'assurer que c'est bien l'auteur du site qui est derrière l'extension en .onion demandée, il se base sur le nom de domaine en lui-même. En effet, le nom de domaine donne une indication sur le relai à utiliser, et ce de manière directe. Je m'explique : pour obtenir un nom de domaine en .onion, Tor génère un ensemble de clés cryptographiques. C'est à partir de ces clés que le nom de domaine est généré, et pas l'inverse comme c'est le cas avec HTTPS (qui s'applique à un domaine déjà choisi).

Cela peut mener à des noms de domaines un peu exotiques, étant donné que l'on ne peut par conséquent pas choisir son nom de domaine comme on veut. En fait, les noms de domaines en .onion sont souvent impossibles à retenir, mais ce n'est pas grave, il suffit de les enregistrer dans ses favoris. 

Toujours est-il que cet ensemble de clés cryptographiques permet d'identifier de manière unique tout relais du réseau Tor voulant héberger un site web avec un domaine en .onion. En effet, le nombre de possibilités pour les clés cryptographiques est énorme, et la probabilité que quelqu'un trouve les mêmes clés que celles d'un nom de domaine déjà existant est par conséquent très faible. De plus, le nombre d'essais est limité dans le temps par la complexité des calculs cryptographiques. En un mot, une attaque par force brute pour déterminer les clés d'un domaine en .onion serait bien trop longue pour être réalisable en pratique, ce qui assure aux domaines en .onion une certaine forme de vérification d'identité en plus du chiffrage de bout en bout. On retrouve là tous les avantages de HTTPS, sans le problème d'anonymat !

Exemple de certificat de réussite
Exemple de certificat de réussite