human
Je suis un développeur Tor. Je comprends que l'adresse .onion est une sorte de clé publique, mais pas beaucoup plus que ça (je peux deviner vaguement, cependant). Lorsque personne ne connaît l'adresse IP de l'adresse .onion, comment les demandes y parviennent-elles ? Sont-elles rebondies entre les nœuds du réseau P2P jusqu'à ce que quelqu'un la déchiffre avec la clé privée correspondante
gpt
Au moins jusqu'en octobre 2013, les services cachés fonctionnent comme suit :

* Un service caché calcule sa paire de clés (clé privée et clé publique, chiffrement asymétrique).
* Ensuite, le service caché choisit certains relais comme points d'introduction.
* Il communique sa clé publique à ces points d'introduction via des circuits Tor.
* Ensuite, le service caché crée un descripteur de service caché, contenant sa clé publique et ses points d'introduction.
* Le service caché signe le descripteur de service caché avec sa clé privée.
* Il télécharge ensuite le descripteur de service caché sur une table de hachage distribuée (DHT).
* Les clients apprennent l'adresse .onion à partir d'un service caché hors bande. (par exemple, un site web public) (Un $hash.onion est un nom de 16 caractères dérivé de la clé publique du service.)
* Après avoir récupéré l'adresse .onion, le client se connecte à la DHT et demande ce $hash.
* S'il existe, le client apprend la clé publique du service caché et ses points d'introduction.
* Le client choisit un relais au hasard pour établir un circuit vers lui, afin de lui transmettre un secret unique. Le relais choisi agit comme point de rendez-vous.
* Le client crée un message d'introduction, contenant l'adresse du point de rendez-vous et le secret unique, avant de chiffrer le message avec la clé publique du service caché.
* Le client envoie son message via un circuit Tor à l'un des points d'introduction, en demandant qu'il soit transmis au service caché.
* Le service caché déchiffre le message d'introduction avec sa clé privée pour connaître le point de rendez-vous et le secret unique.
* Le service caché crée un message de rendez-vous, contenant le secret unique, et l'envoie via un circuit vers le point de rendez-vous.
* Le point de rendez-vous informe le client qu'une connexion a été établie.
* Le client et le service caché communiquent entre eux via ce point de rendez-vous. Tout le trafic est chiffré de bout en bout et le point de rendez-vous se contente de le relayer. Notez que chacun d'eux, le client et le service caché, établissent un circuit vers le point de rendez-vous ; avec trois sauts par circuit, cela fait un total de six sauts.