Tor utilise une variété de clés différentes, avec trois objectifs en tête : Le chiffrement pour assurer la confidentialité des données à l'intérieur du réseau Tor, l'authentification pour que les clients sachent qu'ils parlent aux relais auxquels ils ont l'intention de parler, et les signatures pour s'assurer que tous les clients connaissent le même ensemble de relais.
Chiffrement : tout d'abord, toutes les connexions dans Tor utilisent le chiffrement des liens TLS, donc les observateurs ne peuvent pas regarder à l'intérieur pour voir à quel circuit une cellule donnée est destinée.
De plus, le client Tor établit une clé de chiffrement éphémère avec chaque relais du circuit ; ces couches supplémentaires de chiffrement signifient que seul le relais de sortie est capable de lire les cellules.
Les deux parties se débarrassent de la clé de circuit à la fin du cycle, de sorte que l'enregistrement du trafic et l'intrusion dans le relais pour découvrir la clé ne fonctionneront pas.
Authentification : Chaque relais Tor possède une clé de décryptage publique appelée "clé onion".
Chaque relais fait actualiser sa clé onion toutes les quatre semaines.
Lorsque le client Tor établit des circuits, à chaque étape il demande au relais Tor de prouver la connaissance de sa clé onion.
De cette façon, le premier nœud du chemin ne peut pas simplement usurper le reste du chemin.
Parce que le client Tor choisit le chemin, il peut s'assurer d'obtenir la propriété de "confiance distribuée" de Tor : aucun relais unique sur le chemin ne peut connaître à la fois le client et ce qu'il fait.
Coordination : Comment les clients savent-ils ce que sont les relais, et comment savent-ils qu'ils ont les bonnes clés pour eux ?
Chaque relais possède une clé de signature publique à long terme appelée "clé d'identité".
Chaque autorité d'annuaire dispose en outre d'une "clé de signature d'annuaire".
Les autorités de l'annuaire fournissent une liste signée de tous les relais connus, et cette liste contient un ensemble de certificats de chaque relais (auto-signés par leur clé d'identité) spécifiant leurs clés, leurs emplacements, leurs politiques de sortie, etc.
Donc, à moins que les ennemis puissent contrôler une majorité des autorités de répertoire (en 2022, il y a 8 autorités de répertoire), ils ne peuvent pas tromper le client Tor en utilisant d'autres relais Tor.
Comment les clients savent-ils quelles sont les autorités d'annuaire ?
Le logiciel Tor est livré avec une liste intégrée de localisation et de clé publique pour chaque autorité d'annuaire.
Ainsi, le seul moyen d'inciter les utilisateurs à utiliser un faux réseau Tor est de leur donner une version spécialement modifiée du logiciel.
Comment les utilisateurs savent-ils qu'ils ont le bon logiciel ?
Lorsque nous distribuons le code source ou un paquet, nous le signons numériquement avec GNU Privacy Guard.
Voir les instructions sur la façon de vérifier la signature du navigateur Tor.
Pour être certain qu'il est réellement signé par nous, vous devez nous avoir personnellement rencontrés et avoir obtenu une copie de l'empreinte de notre clé GPG, ou vous devez connaître quelqu'un qui l'a fait.
Si vous craignez une attaque à ce niveau, nous vous recommandons de vous impliquer dans la communauté de la sécurité et de commencer à y rencontrer des gens.