Les services onion sont des services auxquels on ne peut accéder que par Tor. Mettre en place un service onion donne à vos utilisateurs toute la sécurité de HTTPS avec, en plus, les avantages du Navigateur Tor pour la vie privée.

Pourquoi des services onion ?

Les services onion offrent divers avantages en matière de vie privée et de sécurité à leurs utilisateurs.

Cacher la localisation

L’adresse IP d’un service onion est protégée. Les services onion sont une surcouche réseau au-dessus de TCP/IP. Dans un certain sens, les adresses IP n’ont même pas de signification pour les services onion : elles ne sont même pas utilisées dans le protocole.

Authentification de bout en bout

Quand un utilisateur visite un onion particulier, il sait que le contenu qu’il voit ne peut venir que de cet onion particulier. Aucune usurpation d’identité n’est possible, ce qui n’est généralement pas le cas. En général, atteindre un site web ne signifie pas qu’une attaque de l’homme du milieu n’a pas réacheminé votre connexion vers un autre emplacement (par exemple, des attaques DNS).

Chiffrement de bout en bout

Le trafic des services onions est chiffré du client jusqu’à l’hôte onion. C’est comme obtenir un HTTPS/SSL fort gratuitement.

Traversée du NAT

Est-ce que votre réseau est filtré et vous ne pouvez pas ouvrir des ports sur votre pare-feu ? Cela peut arriver si vous êtes sur un campus universitaire, un bureau, un aéroport ou potentiellement n’importe où. Les services onion n’ont pas besoin de port ouvert parce qu’ils traversent le NAT. Ils établissent uniquement des connexions sortantes.

Le protocole de service onion : vue d’ensemble

La question devient maintenant quel type de protocole est nécessaire pour obtenir toutes ces propriétés ? Habituellement, les personnes se connectent à une adresse IP et c’est tout, mais comment se connecter à quelque chose qui n’a pas d’adresse IP ?

En particulier, l’adresse d’un service onion ressemble à ceci : vww6ybal4bd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion

Cela semble étrange et aléatoire parce que c’est la clé publique d’identité du service onion. C’est une des raisons pour lesquelles nous pouvons atteindre les propriétés de sécurité ci-dessus.

Le protocole des services onion utilise le réseau Tor pour que le client puisse se présenter au service, puis établir un point de rendez-vous avec le service à travers le réseau Tor. Voici en détail comment cela se passe :

Acte 1 : quand le service onion met en place ses points d’introduction

Imaginons que votre journal local décide de mettre en place un service onion (en utilisant SecureDrop) pour recevoir des contributions anonymes. La première étape du protocole consiste pour le service onion à contacter un certain nombre de relais Tor et à leur demander d’agir comme ses points d’introduction en établissant des circuits à long terme avec eux. Ces circuits sont des circuits anonymisés, de sorte que le serveur ne révèle pas l’emplacement du service aux points d’introduction.

Le service onion se cache et se protège derrière le réseau Tor en n’autorisant l’accès qu’à travers trois points d’introduction auxquels il se connecte par le biais d’un circuit Tor à trois sauts.

Services onion : Étape 1

Acte 2 : quand le service onion publie ses descripteurs

Maintenant que les points d’introduction sont en place, nous avons besoin de créer un moyen pour que les clients puissent les trouver.

Pour cette raison, le service onion assemble un descripteur de service onion, contenant une liste de ses points de présentation (et des « clés d’authentification »), et signe ce descripteur avec la clé privée d’identité du service onion. La clé privée d’identité utilisée ici est la partie privée de la clé publique encodée dans l’adresse du service onion.

Le service onion téléverse ce descripteur signé dans une table de hachage distribuée, qui fait partie du réseau Tor, afin que les clients puissent aussi l’obtenir. Il utilise un circuit Tor anonymisé pour effectuer ce téléversement, afin de ne pas révéler son emplacement.

Services onion : Étape 2

Acte 3 : quand un client veut visiter le service onion

Imaginons que vous vouliez envoyer anonymement des données sur une fraude fiscale à votre journal local via son SecureDrop. Vous trouvez l’adresse onion du SecureDrop du journal sur un site web public ou via une connaissance.

Services onion : Étape 3

Acte 4 : quand le client se présente au service onion

Toutes les étapes précédentes ont été mises en place pour que le service onion soit atteignable par des clients. Maintenant passons rapidement au moment où un client veut visiter le service.

Dans ce cas, le client possède l’adresse onion de SecureDrop et veut la visiter, alors il se connecte au service avec le Navigateur Tor. L’étape suivante consiste pour le client à accéder à la table de hachage distribuée de l’étape 2 et à demander le descripteur signé du service onion de SecureDrop.

Services onion : Étape 4

Acte 5 : quand le client vérifie la signature de l’adresse onion

Quand le client reçoit le descripteur signé, il vérifie la signature du descripteur en utilisant la clé publique encodée dans l’adresse onion. Cela procure la propriété de sécurité d’authentification de bout en bout, puisque nous sommes maintenant certains que ce descripteur n’a pu être produit que par ce service onion et par personne d’autre.

À l’intérieur du descripteur se trouvent les points de présentation qui permettent au client de se présenter au service onion de SecureDrop.

Services onion : Étape 5

Acte 6 : quand le client établit un point de rendez-vous

Avant que l’introduction n’ait lieu, le client (en l’occurrence, vous) choisit un relais Tor et établit un circuit vers lui. Le client demande au relais de devenir son point de rendez-vous et lui donne un « secret à usage unique » qui sera utilisé dans le cadre de la procédure de rendez-vous.

Services onion : Étape 6

Acte 7 : le rendez-vous entre le service onion et le client

Le point d’introduction transmet vos informations (le secret et l’adresse de rendez-vous) au service onion, qui lance de multiples processus de vérification pour décider si vous êtes digne de confiance ou non.

Services onion : Étape 7

Acte 8 : quand le point de rendez-vous vérifie le secret du client

Le service onion se connecte au point de rendez-vous (via un circuit anonymisé) et lui envoie le « secret à usage unique ». Le point de rendez-vous effectue une dernière vérification de la correspondance entre votre secret et celui du service (ce dernier vient aussi de vous, mais a été relayé par le service).

Le point de rendez-vous relaie simplement les messages (chiffrés de bout en bout) du client vers le service et vice versa.

Services onion : Étape 8

Acte 9 : le rendez-vous entre le service onion et le client

En général, la connexion entre le client et le service onion est constituée de 6 relais : 3 d’entre eux choisis par le client, le troisième étant le point de rendez-vous, et 3 autres choisis par le service onion. Cela permet de cacher la localisation de cette connexion.

Finalement, en utilisant le point de rendez-vous, un circuit Tor est établi entre vous et le service onion SecureDrop de votre journal.

Services onion : Étape 9

Autres sources d’information

Ce n’était qu’un aperçu général du protocole des services onion de Tor. Vous trouverez ici plus de ressources si vous voulez en savoir plus :