Le réseau est composé de nœuds inter-connectés et sécurisés, à travers lesquels les données sont transportées selon un chemin aléatoire reliant la source à la destination.
Parmi ces nœuds, certains font office de passerelle entre le réseau tor et l’internet global.
L’implantation pratique permet des solutions innovantes, tor construit un véritable réseau virtuel anonyme et crypté sur le réseau physique internet.
Il est donc possible d’y permettre la circulation des sites et services totalement anonyme (hidden services)
Le trafic est encapsulé dans des couches cryptographiques successives (comme la peau d’un oignon) : lors de l’envoi, la source choisit les nœuds (en se connectant à un serveur d’annuaires) par lesquels les données vont transiter et les crypte de manière à ce que chaque intermédiaire ne puisse connaître que le prochain maillon de la chaîne.
Le plus intéressant dans cet algorithme est que le parcours est créé de manière incrémentielle : une fois un nœud atteint, le suivant est sélectionné aléatoirement, ainsi chaque demande sur le web utilise un parcours différent du précédent (par défaut le chemin change toutes les 30s) ?
Aucun nœud ne connaît à lui tout seul le chemin complet emprunté par un paquet de données.
shéma
Ainsi, seul le dernier nœud voit en clair le message et la destination internet du paquet.
De plus, aucun intermédiaire ne peut savoir si un message qu’il reçoit provient directement du nœud précédent ou s’il se contentait uniquement de le router.
Pour les réponses, le chemin de retour est également crypté sur différentes couches de la même manière : le destinataire ne peut donc pas connaître non plus l’origine du message qu’il relaye vers l’internet.
Plusieurs types d’attaques permettent de fragiliser l’anonymat assuré théoriquement par tor, notamment au niveau des protocoles, en utilisant des analyses temporelles.
Cependant, ces attaques ne sont possibles que si l’intrus contrôle un certain nombre de nœuds du réseau.
Par conséquent, la sécurité de chaque serveur tor qui constitue le réseau est relativement déterminante pour la sécurité du tout.
L’unique information sensible d’un serveur tor est sa clé privée, stockée dans /var/lib/tor/keys, qui ne doit être lisible que par l’utilisateur.
Des informations permettant de la compromettre ou de la reconstituer peuvent se retrouver en mémoire, notamment dans la swap.
Minimiser la rétention des données
La mise en place d’une plateforme d’anonymat nécessite d’accorder une attention toute particulière aux logs.
Ils pourraient en effet contenir des informations permettant de connaître par recoupement diverses informations nuisibles à l’anonymat des utilisateurs du serveur.
Il faut étudier dans les détails la configuration de votre système de log, afin de ne retenir que le minimum nécessaire au fonctionnement de votre infrastructure.
Il est possible, notamment de configurer la rotation de vos fichiers de log pour qu’ils soient effacés périodiquement.
Tor dans un environnement restreint
Il est conseillé de faire tourner tor dans un environnement restreint, par soucis de cloisonnement, amis aussi pour tout autre service accessible depuis l’extérieur, afin d’éviter qu’une éventuelle faille dans celui-ci ne permette de compromettre tout le système.
Tor dans un chroot
Le chroot est la technique de cloisonnement de base, disponible sur beaucoup de systèmes de type unix.