236 liens privés
5.1 Points de rendez-vous dans Tor
Les étapes suivantes sont réalisées au nom d'Alice et de Bob par leurs OP locaux ; l'intégration des applications est décrite plus en détail ci-dessous.
- Bob génère une paire de clés publiques à long terme pour identifier son service.
- Bob choisit quelques points d'introduction et les annonce sur le service de recherche, en signant l'annonce avec sa clé publique. Il peut en ajouter d'autres ultérieurement.
- Bob construit un circuit vers chacun de ses points d'introduction et leur demande d'attendre les demandes.
- Alice apprend l'existence du service de Bob par la bande (peut-être que Bob le lui a dit, ou qu'elle l'a trouvé sur un site web). Elle récupère les détails du service de Bob auprès du service de recherche. Si Alice souhaite accéder au service de Bob de manière anonyme, elle doit se connecter au service de recherche via Tor.
- Alice choisit un OU comme point de rendez-vous (PR) pour sa connexion au service de Bob. Elle construit un circuit vers le point de rendez-vous et lui donne un "cookie de rendez-vous" choisi au hasard pour reconnaître Bob.
- Alice ouvre un flux anonyme vers l'un des points d'introduction de Bob et lui transmet un message (chiffré à l'aide de la clé publique de Bob) dans lequel elle se présente, indique son RP et son cookie de rendez-vous, ainsi que le début d'une poignée de main DH. Le point d'introduction envoie le message à Bob.
- Si Bob veut parler à Alice, il établit un circuit vers le RP d'Alice et envoie le cookie de rendez-vous, la seconde moitié de la poignée de main DH et un hachage de la clé de session qu'ils partagent désormais. Selon le même raisonnement que dans la section 4.2, Alice sait qu'elle ne partage la clé qu'avec Bob.
- Le RP relie le circuit d'Alice à celui de Bob. Notez que le RP ne peut reconnaître ni Alice, ni Bob, ni les données qu'ils transmettent.
- Alice envoie une cellule relais begin le long du circuit. Elle arrive au PO de Bob, qui se connecte au serveur web de Bob.
- Un flux anonyme a été établi et Alice et Bob communiquent normalement.
Lors de l'établissement d'un point d'introduction, Bob fournit au routeur en oignon la clé publique identifiant son service. Bob signe ses messages, de sorte que d'autres ne puissent pas usurper son point d'introduction à l'avenir. Il utilise la même clé publique pour établir les autres points d'introduction de son service et actualise périodiquement son entrée dans le service de recherche.
Le message qu'Alice transmet au point d'introduction comprend un hachage de la clé publique de Bob et un jeton d'autorisation initial facultatif (le point d'introduction peut effectuer une présélection, par exemple pour bloquer les rediffusions). Le message qu'elle envoie à Bob peut inclure un jeton d'autorisation de bout en bout afin que Bob puisse choisir de répondre ou non. Les jetons d'autorisation peuvent être utilisés pour fournir un accès sélectif : les utilisateurs importants peuvent bénéficier d'un accès ininterrompu. Dans des situations normales, le service de Bob peut simplement être offert directement par les miroirs, tandis que Bob distribue des jetons aux utilisateurs prioritaires. Si les miroirs sont détruits, ces utilisateurs peuvent accéder au service de Bob via le système de rendez-vous Tor.
Les points d'introduction de Bob sont eux-mêmes sujets à des attaques par déni de service - il doit ouvrir de nombreux points d'introduction pour ne pas risquer une telle attaque. Il peut fournir à des utilisateurs sélectionnés une liste actuelle ou un calendrier futur des points d'introduction non annoncés ; cette solution est plus pratique s'il existe un groupe stable et important de points d'introduction. Bob peut également fournir des clés publiques secrètes pour la consultation du service de recherche. Toutes ces approches limitent l'exposition, même lorsque certains utilisateurs sélectionnés sont de connivence avec le service de recherche.
Le présent article présente un système conjoint de coordonnées et de routage (CORONA) qui peut être déployé dynamiquement sur un nano-réseau ad-hoc 2D. Les nœuds sélectionnés par l'utilisateur sont utilisés
comme points d'ancrage lors de la phase d'installation.
Tous les nœuds mesurent ensuite leur distance, en nombre de sauts, par rapport à ces points d'ancrage,
obtenant ainsi une sorte de géolocalisation. Lors de la phase d'exploitation, le routage utilise le sous-ensemble approprié de points d'ancrage, sélectionnés par l'expéditeur d'un paquet.
CORONA nécessite une configuration d'installation minimale et de simples calculs basés sur des nombres entiers, imposant des exigences limitées pour un fonctionnement fiable.
Une fois déployé, il fonctionne efficacement, avec un très faible taux de retransmission et de perte de paquets, ce qui favorise l'efficacité énergétique et la multiplicité des supports.