Lors de la visite d'un site via HTTPS (HTTP avec TLS), le protocole TLS empêche les données en transit d'être lues ou manipulées par des attaques man-in-the-middle, et un certificat x.509 obtenu auprès d'une autorité de certification (AC) valide que l'utilisateur se connecte effectivement à un serveur représentant le nom de domaine figurant dans la barre d'adresse du navigateur.
Les navigateurs modernes indiquent qu'une connexion n'est pas sécurisée si TLS n'est pas utilisé, et requièrent qu'une connexion TLS soit authentifié par un certificat x.509 générée par une AC.
Lors de la visite d'un site via le protocole Onion Services, le protocole Tor empêche les données en transit d'être lues ou manipulées par des attaques de l'homme du milieu, et le protocole Onion Service valide que l'utilisateur est connecté au nom de domaine figurant dans la barre d'adresse du navigateur.
Aucune autorité de certification n'est requise pour cette preuve, car le nom du service est la clé publique réellement utilisée pour authentifier la connexion sous-jacente.
Comme ".onion" est un nom de domaine spécial de premier niveau, la plupart des autorités de certification ne sont pas en mesure de délivrer des certificats X.509 pour les sites onion.
Actuellement, les certificats HTTPS sont seulement fournis par :
- DigiCert avec un certificat TLS Extended Validation (EV), ce qui représente un coût considérable pour une organisation.
- HARICA avec des certificats TLS de validation de domaine (DV).
Cela dit, il existe des cas spécifiques dans lesquels il est nécessaire ou souhaitable de disposer d'une connexion HTTPS pour le site onion.
Nous avons compilé quelques sujets et arguments, afin que vous puissiez analyser ce qui est le mieux pour votre site onion :
Comme n'importe qui peut générer une adresse onion et ses 56 caractères alphanumériques aléatoires, certains administrateurs d'entreprise pensent qu'associer leur site onion à un certificat HTTPS pourrait être une solution pour annoncer leur service aux utilisateurs.
Les utilisateurs devraient cliquer et procéder à une vérification manuelle, ce qui montrerait qu'ils visitent le site "onion" auquel ils s'attendent.
Les sites web peuvent également proposer d'autres moyens de vérifier leur adresse onion en utilisant HTTPS, par exemple en liant l'adresse de leur site onion à partir d'une page authentifiée par HTTPS ou en utilisant Onion-Location.
Un autre sujet de discussion est celui des attentes des utilisateurs et des navigateurs modernes.
Bien que le protocole HTTPS et le modèle de confiance de l'autorité de certification fassent l'objet de nombreuses critiques, la communauté de la sécurité de l'information a appris aux utilisateurs à rechercher le protocole HTTPS lorsqu'ils visitent un site web, synonyme de connexion sécurisée, et à éviter les connexions HTTP.
Les développeurs de Tor et l'équipe UX ont travaillé ensemble pour apporter une nouvelle expérience aux utilisateurs du navigateur Tor, de sorte que lorsqu'un utilisateur visite un site onion en utilisant HTTP, le navigateur Tor n'affiche pas de message d'avertissement ou d'erreur.
L'un des risques liés à l'utilisation d'un certificat délivré par une autorité de certification est que les noms .onion
peuvent involontairement faire l'objet d'une fuite si les propriétaires du service en oignon utilisent HTTPS en raison de la transparence des certificats.
Il existe une proposition ouverte pour permettre au navigateur Tor de vérifier les certificats HTTPS qu'il a lui-même créés.
Si cette proposition est mise en œuvre, un opérateur de service onion pourrait créer sa propre chaîne de certificats HTTPS à l'aide d'une clé onion pour la signer.
Le navigateur Tor saurait comment vérifier une telle chaîne auto-créée.
Cela signifie que vous n'avez pas besoin d'impliquer un tiers dans la fabrication de votre onion, et qu'aucun tiers ne saura que votre onion existe.
Certains sites web ont une configuration complexe et diffusent du contenu HTTP et HTTPS.
Dans ce cas, le simple fait d'utiliser les services onion sur HTTP pourrait entraîner une fuite de cookies sécurisés.
Nous avons écrit sur les attentes en matière de sécurité du navigateur Tor, et sur la façon dont nous travaillons sur la convivialité et l'adoption des services onion.
Il existe quelques solutions de rechange que vous pouvez essayer pour résoudre ce problème :
- Pour éviter d'utiliser un certificat HTTPS pour votre onion, la réponse la plus simple est d'écrire tout votre contenu en utilisant uniquement des liens relatifs.
Ainsi, le contenu fonctionnera sans problème, quel que soit le nom du site web à partir duquel il est diffusé.
- Une autre option consiste à utiliser les règles du serveur web pour réécrire les liens absolus à la volée.
- Ou utiliser un proxy inverse au milieu (plus précisément EOTK avec un certificat HTTPS).
En relation avec le point précédent, certains protocoles, cadres et infrastructures utilisent SSL comme une exigence technique ; ils ne fonctionneront pas s'ils ne voient pas un lien "https://".
Dans ce cas, votre service onion devra utiliser un certificat HTTPS pour fonctionner.
En fait, HTTPS vous offre un peu plus que les services onion.
Par exemple, dans le cas où le serveur web n'est pas situé au même endroit que le programme Tor, vous devrez utiliser un certificat HTTPS pour éviter d'exposer le trafic non chiffré au réseau entre les deux.
Rappelez-vous qu'il n'est pas nécessaire que le serveur web et le processus Tor soient sur la même machine.
Ce qui vient ensuite
Récemment, en 2020, le Certificate Authority/Browser Forum a voté et approuvé la version 3 des certificats onion, de sorte que les autorités de certification sont désormais autorisées à émettre des certificats de validation de domaine (DV) et de validation d'organisation (OV) contenant des adresses onion de Tor.
Dans un avenir proche, nous espérons que l'autorité de certification de Let's Encrypt pourra commencer à délivrer gratuitement des certificats onion v3.
En savoir plus