Tor (comme tous les systèmes actuels d'anonymat à faible latence) échoue lorsque l'attaquant peut voir les deux extrémités du canal de communication.
Par exemple, supposons que l'attaquant contrôle ou surveille le relais Tor que vous choisissez pour entrer sur le réseau, et contrôle ou surveille également le site web que vous visitez.
Dans ce cas, la communauté des chercheurs ne connaît aucune conception pratique à faible latence qui puisse empêcher de manière fiable l'attaquant de corréler les informations de volume et de temps des deux côtés.
Alors, que devrions-nous faire ?
Supposons que l'attaquant contrôle, ou peut observer, le relais C.
Supposons qu'il y ait un nombre total de N relais.
Si vous sélectionnez de nouveaux relais d'entrée et de sortie chaque fois que vous utilisez le réseau, l'attaquant sera en mesure de corréler tout le trafic que vous envoyez avec une probabilité de l'ordre de (c/n)2.
Mais le profilage est, pour la plupart des utilisateurs, aussi mauvais que le fait d'être tracé en permanence : ils veulent faire quelque chose souvent sans que l'attaquant s'en aperçoive, et l'attaquant qui s'en aperçoit une fois est aussi dangereux que celui qui s'en aperçoit plus souvent.
Ainsi, en choisissant de nombreuses entrées et sorties aléatoires, l'utilisateur n'a aucune chance d'échapper au profilage par ce type d'attaquant.
La solution est celle des "gardes d'entrée" : chaque client Tor sélectionne quelques relais au hasard pour les utiliser comme points d'entrée, et utilise seulement ces relais pour leur premier passage.
Si ces relais ne sont pas contrôlés ou observés, l'attaquant ne peut pas réussir, et l'utilisateur est en sécurité.
Si ces relais sont observés ou contrôlés par l'attaquant, ce dernier voit une plus grande partie du trafic de l'utilisateur, mais l'utilisateur n'est pas plus identifié qu'avant.
Ainsi, l'utilisateur a une certaine chance (de l'ordre de (n-c)/n) d'éviter le profilage, alors qu'il n'en avait aucune précédemment.
Pour en savoir plus, consultez les sites Analyse de la dégradation des protocoles anonymes, Défense des communications anonymes contre les attaques de journalisation passive et surtout Localisation des serveurs cachés.
Restreindre vos nœuds d'entrée peut également aider contre les attaquants qui veulent faire tourner quelques nœuds Tor et énumérer facilement toutes les adresses IP des utilisateurs de Tor.
(Même s'ils ne peuvent pas savoir votre destinations, ils peuvent toujours faire de mauvaises choses avec juste une liste d'utilisateurs.)
Toutefois, cette fonctionnalité ne sera pas vraiment utile tant que nous n'aurons pas adopté une conception de type "garde-répertoire".