# Tor (réseau)

Tor est un réseau informatique superposé mondial et décentralisé. Il se compose de serveurs, appelés nœuds du réseau et dont la liste est publique. Ce réseau permet d'anonymiser l'origine de connexions TCP. Cela peut entre autres servir à anonymiser la source d'une session de navigation Web ou de messagerie instantanée. Cependant, l'anonymisation du flux n'est pas totale, car l'application peut transmettre des informations annexes permettant d'identifier la personne, c'est pourquoi le projet Tor développe également un navigateur Web fondé sur Firefox, Tor Browser, ainsi que d'autres applications spécialement modifiées pour préserver l'anonymat de leurs usagers. L'implémentation de référence du protocole s'appelle « tor », c'est un logiciel libre sous licence BSD révisée.
Le projet Tor reçoit le prix du logiciel libre 2010, dans la catégorie « projet d’intérêt social ». Le nom « Tor » est à l’origine un acronyme pour « The Onion Router »$^,$, littéralement « le routeur oignon », qui s’est lexicalisé comme nom propre.

## Usage

Tor est utilisé pour se protéger contre la surveillance sur Internet par analyse de trafic. Celle-ci est utilisée pour déterminer qui communique avec qui sur un réseau public. Connaître la source et la destination du trafic d'un utilisateur peut permettre à des analystes de traquer son comportement et ses intérêts.
Tor est aussi un outil de contournement de la censure sur Internet. Il permet aux personnes l'utilisant d'accéder à des sites, contenus ou services bloqués dans certaines zones du monde. Tor fait circuler le trafic des personnes utilisatrices à travers une série de relais. Ce procédé permet de ne pas être suivi par les sites web consultés, d'accéder à des services, contenus ou sites bloqués par un FAI. Il est aussi possible pour chaque personne utilisatrice de publier des contenus au moyen des services « onion » de Tor, sans en révéler la position.
Ces avantages peuvent être utiles pour chaque personne utilisatrice qui souhaite maîtriser ses traces laissées en ligne. Ils sont notamment mis en œuvre dans les échanges entre personnes lanceuses d'alerte, journalistes, avocats, dissidents politiques, représentants d'organisations non gouvernementales, ou pour échanger en maîtrisant la sécurité de leurs données, de leur connexion, de leurs destinataires et de leur position. Il peut aussi servir à des personnes ou organisations malveillantes voire criminelles en permettant un certain anonymat (voir le paragraphe « Polémiques »).
Le navigateur Tor permet aussi à ses utilisateurs de pénétrer dans ce qu'on appelle parfois le Dark Web, dans une discrétion absolue et sans le besoin d'utiliser un VPN ou un Proxy.

## Histoire

Le principe de Tor, le « routage en oignon », est développé au milieu des années 1990 par les employés de l'United States Naval Research Laboratory, le mathématicien Paul Syverson et les informaticiens Michael G. Reed et David Goldschlag, dans le but de protéger les communications des écoutes et analyses de trafic. Le routage en oignon est également développé par la Defense Advanced Research Projects Agency (DARPA) en 1997$^,$$^,$$^,$.
La version alpha de Tor, développée par les informaticiens Roger Dingledine et Nick Mathewson, puis appelée The Onion Routing, ou projet TOR, est lancée le 20 septembre 2002$^,$. Le 13 août 2004, Syverson, Dingledine et Mathewson présentent Tor: The Second-Generation Onion Router au 13e Usenix Security Symposium. En 2004, le Naval Research Laboratory publie Tor sous licence libre, et l'Electronic Frontier Foundation (EFF) attribue une aide financière à Dingledine et Mathewson pour poursuivre son développement.
En décembre 2006, Dingledine, Mathewson et cinq autres personnes fondent The Tor Project, une organisation à but non lucratif située dans le Massachusetts, responsable du maintien de Tor. L'Electronic Frontier Foundation, l'International Broadcasting Bureau, Internews, Human Rights Watch, l'université de Cambridge, Google et la stichting NLnet (nl) contribuent au financement du projet à ses débuts$^,$$^,$$^,$$^,$. En 2017, l'organisation est notamment financée par des donateurs individuels et des organismes publics ou parapublics américains : Open Technology Fund, National Science Foundation, Bureau of Democracy, Human Rights, and Labor du département d'État des États-Unis (depuis 2013). Le soutien du projet s'organise également autour d'individus et d'associations (comme Nos oignons et Torservers) qui déploient des nœuds supplémentaires sur le réseau Tor, collectent des financements et travaillent à la sensibilisation du public.

## Principe de fonctionnement

Le principe de Tor est le « routage en oignon ». Le routage en oignon pallie certaines carences des systèmes existants (notamment les serveurs mandataires) qui ne suffisent pas à garantir l’anonymat. Le routage en oignon fait rebondir les échanges TCP au sein d’Internet afin de neutraliser les analyses de trafic sur une partie du réseau (notamment les analyses par attaque de l'homme du milieu). Les utilisateurs du réseau deviennent alors impossibles à identifier. Tor est la seconde génération de système de routage en oignon (la première génération contenait beaucoup de défauts et n’a donc jamais eu de vrai succès). Il a donné naissance au projet Commotion.
Dans le paragraphe suivant on prendra l'exemple de l'échange d'un paquet entre un client et un serveur.

### Construction d'un circuit

La première étape consiste à récupérer une liste de nœuds Tor depuis un serveur. Ayant accès à une liste de nœuds de Tor, chaque client choisit automatiquement un chemin aléatoire (il pourra en changer au bout d’un certain temps), puis construit un circuit au sein duquel chaque nœud a la propriété de connaître son prédécesseur et son successeur, sans en savoir plus. Le premier nœud du circuit connaît l'adresse IP. Mais dès le deuxième nœud, la négociation se fait par l’intermédiaire du circuit partiel déjà construit, de sorte que le deuxième nœud, par exemple, ne connaîtra finalement que l’adresse IP du premier nœud (et du troisième lorsqu’un troisième nœud aura été ajouté). Les paquets à acheminer sont associés à une identification du propriétaire du circuit (la personne qui l’a construit). Cette identification est un code arbitraire choisi au moment de la construction du circuit.
Cette construction fait appel au concept de cryptographie hybride. L’idée est de distribuer à chaque nœud du circuit une clef secrète chiffrée avec une clef publique dédiée à ce nœud. Après la phase de construction, chaque nœud du circuit dispose d'une clef secrète qui lui est propre et ne connaît que son prédécesseur et son successeur au sein du circuit.

### Échange de paquets

Pour acheminer un paquet au serveur, le client doit chiffrer son paquet de nombreuses fois :
* la première fois, le client chiffre son paquet TCP avec la clef publique correspondant au dernier nœud, numéroté n ;
* la deuxième fois, avec celle de l’avant-dernier nœud, numérotée n-1 ;
* la troisième fois, avec celle de n-2 ;
* la quatrième fois, avec celle de n-3, etc.
* la dernière fois, avec celle du premier nœud, numéroté 1.
À ce stade, toutes les couches de l’oignon enferment le paquet TCP. Voyons comment l’oignon est pelé lorsque le client envoie ce paquet au circuit qu’il a construit :
* le premier serveur du circuit déchiffre le paquet avec la clef 1 et l’envoie au deuxième serveur ;
* le deuxième serveur déchiffre ce paquet avec la clef 2, etc. ;
* le dernier serveur déchiffre ce paquet avec sa propre clef privée n et obtient le paquet original.
En pratique, un client du réseau Tor peut configurer son navigateur web pour utiliser un serveur mandataire personnel qui donne accès à Tor (par exemple Privoxy). Voici le déroulement d’une visite de ce client au site web Wikipédia :
* Son navigateur web envoie la requête HTTP à Privoxy ;
* Privoxy retranche l’information non anonyme, passe l’information à travers SOCKS au client Tor. Le client construit un circuit (si ce n’est déjà fait), chiffre les données à envoyer, et les passe au premier nœud ;
* Ce premier nœud déchiffre une partie de l’enveloppe et fait suivre les données jusqu’à atteindre le nœud de sortie ;
* Ce nœud de sortie envoie la requête à Wikipédia.
La même chose se passe en sens inverse. L’échange est ainsi anonyme, mais peut, selon le réseau et le circuit utilisés, être ralenti.

### Services onions

Tor propose à ses utilisateurs un ensemble de services cachés, qui ont pour but de publier des sites web ou de proposer d’autres services sur Internet en cachant l’identité du serveur qui les héberge. Ils permettent ainsi de cacher l’adresse IP, donc les coordonnées géographiques, de serveurs utilisant ce service caché. Pour la mise en place de sites web cachés, le serveur doit d’abord être configuré localement par la personne le gérant, puis Tor va pointer sur ce serveur pour que des personnes extérieures puissent y accéder. Dans ce cas, le serveur recevra de Tor une adresse en .onion et il ne pourra être accessible que par l’intermédiaire de Tor. L’accès à un service web protégé par les services cachés se fait selon un protocole défini par Tor. Ce protocole gère notamment la notion de rendez-vous entre la personne qui visite et le site, ce rendez-vous ayant lieu sur un des nœuds du réseau Tor.
La principale critique faite aux services cachés à leurs débuts était le temps qu’il fallait pour charger les pages de sites utilisant cette technologie. La longueur de la connexion pouvait ainsi excéder plusieurs minutes. En 2017, le débit et le temps de réponse général sur le réseau Tor se sont très largement améliorés, car les nœuds sont plus performants grâce à une bande passante plus importante. De plus, il est maintenant possible aux utilisateurs de créer des services cachés très efficaces de façon simple et rapide, que ce soit des pages web, de la messagerie instantanée ou même de la VoIP. En fonction du nombre de nœuds que la route Tor de l'utilisateur emprunte le temps de réponse varie entre 200 ms et 650 ms ce qui peut être considéré comme « performant » pour un réseau construit de cette façon.

## Logiciels utilisant Tor

Un certain nombre de développements logiciels sont soutenus par le projet Tor et tirent parti du réseau Tor, notamment :

### Tor Browser

    Navigateur web qui est l'un des logiciels phares du projet Tor. Il est construit sur Mozilla Firefox ESR et modifié afin de protéger au mieux ses utilisateurs. Les principales modifications portent sur des modules d'intégration au réseau Tor, la limitation des scripts Javascripts et l'utilisation priorisée ou systématique du HTTPS. Tor Browser peut être installé sur un ordinateur ou exécuté depuis des médias amovibles. Il est disponible pour GNU/Linux, Windows et Mac OS X.

### Orfox

    Navigateur web pour Android.

### TorBirdy

    Module d'extension de Thunderbird qui implémente l'utilisation du réseau Tor dans ce client de messagerie.

### Snowflake

    Module d'extension de Firefox qui implémente la possibilité d'héberger un nœud Tor temporaire.

### Incognito

    système d'exploitation créé pour assurer un anonymat maximum. Prédécesseur de Tails (voir ci-dessous).

### Tails

    The Amnesic Incognito Live System est un système d'exploitation embarqué (fonctionnant sur support amovible type clé USB/DVD) développé pour utiliser par défaut le réseau Tor et pour ne laisser aucune trace sur l'ordinateur utilisé.

### Tor2web

    Plateforme qui permet d'accéder aux services cachés du réseau Tor sans utiliser le Tor Browser.
D'autres développements, sans liens officiels connus avec le Tor Project, sont menés :

### PirateBrowser

    Également créé à partir de Mozilla Firefox, ce navigateur édité par The Pirate Bay vise le contournement de la censure mais ne prévoit pas toutes les fonctions de confidentialité du Tor Browser.

### Whonix

    Ce système d'exploitation basé sur Debian Linux systématise l'utilisation du réseau Tor pour ses communications réseau. Pour cela, il est constitué de deux parties complètement isolées : la partie interface réseau, qui gère le trafic via Tor, et la partie utilisateur qui passe par l'interface réseau pour toute communication.

### Ricochet

    Logiciel de messagerie instantanée open source et multiplateforme utilisant le réseau Tor.

### DeepOnion

    Cryptomonnaie anonyme utilisant le réseau Tor et masque les adresses IP en les transformant en .onion. Son utilisation permet d'augmenter le nombre de nœuds du réseau Tor et ainsi de renforcer son anonymisation.

## En pratique

* le trafic du navigateur est redirigé par défaut sur l'instance Tor lancée au démarrage ;
* l'historique de navigation est absent ;
* DuckDuckGo est le moteur de recherche par défaut ;
* les extensions NoScript et HTTPS Everywhere sont activées par défaut.
L'extension NoScript permet aux utilisateurs d'activer ou désactiver l'exécution de JavaScript sur les sites visités selon le niveau de confiance dans ces sites. L'extension HTTPS Everywhere permet quant à elle de consulter de manière privilégiée les sites en HTTPS (plutôt que HTTP) quand ce protocole est disponible. L'objectif en est de chiffrer le trafic qui pourrait être écouté.

## Limitations

Tor ne peut assurer la protection de paquets UDP et n’en soutient donc pas les utilisations, notamment les requêtes aux serveurs DNS. Cependant Tor offre la possibilité d'acheminer les requêtes DNS à travers son réseau, notamment en agissant en tant que proxy SOCKS à l’aide de la commande « torsocks ». C'est d'ailleurs la configuration par défaut du TorBrowser.
Malgré l'utilisation de Tor, le Javascript et d'autres extensions (comme Flash et plugins multimédias) utilisés par certains sites web peuvent révéler des informations propres au visiteur. Il est possible d'utiliser NoScript, une extension Firefox qui gère les scripts JavaScript en les activant uniquement dans les domaines de confiance par exemple.
Selon certaines sources, la NSA aurait mis en place plusieurs nœuds Tor afin de collecter des informations sur le réseau. La présentation Tor: Overview of Existing Techniques évoque les efforts de recherche du GCHQ à l'encontre du réseau Tor.

### Attaque de type time pattern

Tor permet d’empêcher un attaquant de suivre le chemin pris par une connexion. Cependant, en écoutant le réseau en amont et en aval du réseau Tor, il devient théoriquement possible de déterminer l'origine et la destination d'un flux et donc de savoir « qui parle avec qui ». Pour cela, il est nécessaire de rechercher des motifs (patterns) récurrents entre l'écoute en amont (connexion utilisateur) et l'écoute en aval du réseau (nœud de sortie). Sans avoir accès au contenu, la seule redondance de motifs dans le temps peut permettre de tracer des flux. Cependant, rendre une telle attaque possible nécessite des écoutes de très grandes ampleurs, notamment sur les milliers de nœuds de sortie que compte le réseau Tor.
Un attaquant peut d’ailleurs augmenter ses chances de réussite d'une attaque de type time pattern en donnant lui-même un motif temporel au flux qu’il cherche à suivre. C’est en effet théoriquement possible. Comme au sein d’un nœud tous les paquets sont transférés par le biais d’une machine commune et se partagent donc les ressources du système, un attaquant peut inonder un nœud de ses propres paquets pour moduler un ralentissement de la machine comme il l’entend, et ainsi créer une signature temporelle pour les flux qui traversent ce nœud précis.
Une telle attaque a été menée entre 2019 et 2021 par l'Office fédéral allemand de la police criminelle contre des utilisateurs de plateformes pédocriminelles, permettant de dé-anonymiser au moins quatre personnes$^,$.

### Failles possibles

En novembre 2014, une faille du projet aurait été exploitée lors d'une attaque appelée Opération Onymous. Un représentant d'Europol souhaite ne pas révéler les méthodes utilisées lors de l'opération : « C'est quelque chose que nous souhaitons garder pour nous. Cette façon de procéder, nous voulons la préserver pour l'utiliser encore et encore et encore. » Un article de la BBC cite un « développement de nouvelles techniques » qui aurait permis le traçage physique des serveurs. En novembre 2015, Tor accuse le FBI d’avoir payé des chercheurs de l’université Carnegie-Mellon (Pennsylvanie) pour lever l’anonymat garanti par le réseau.

### Blocage de Tor

Dans la définition du projet Tor, il est prévu pour des questions de transparence et de responsabilité que la liste des adresses IP des nœuds de sortie (derniers nœuds de la chaîne) soit diffusée sans restriction. Ainsi, le site web ou le service consulté peut identifier toute requête comme venant ou non du réseau Tor (sans pour autant pouvoir remonter jusqu'à l'IP du visiteur). Sur cette base, certains sites internet et canaux IRC bloquent l’accès aux utilisateurs venant du réseau Tor.
Par exemple, Wikipédia a la volonté d'empêcher les modifications de pages par les IP masquées par Tor. Le message affiché est le suivant :
   « Vous n'avez pas la permission de modifier cette page pour la raison suivante ; cette adresse IP a été automatiquement bloquée, car elle fait partie du réseau de proxies anonymiseurs de Tor. Pour prévenir les abus, l’édition à partir de ces ordinateurs est interdite. […] Date d’expiration du blocage : ce blocage affectera cette adresse IP tant qu’elle fera partie du réseau Tor. »
Ces blocages font l'objet d'une campagne #DontBlockTor par des défenseurs de l'utilisation du réseau Tor.

## Polémiques

Le réseau Tor étant complètement ouvert, il peut être utilisé par tous :
* les services de police ;
* des militants politiques ;
* des journalistes soucieux de préserver le secret professionnel et l'anonymat de leurs sources ;
* des personnes ayant besoin d'accéder à des informations / services censurés dans leur pays ;
* des internautes ne voulant pas exposer leurs recherches sur Internet et leur historique de navigation aux marchands de publicité.
Cependant, par nature, il peut aussi être utilisé à des fins malveillantes (diffusion de contenus illégaux, marché noir...). Ces dernières utilisations ont généré de nombreuses polémiques dans la presse autour du réseau Tor$^,$$^,$$^,$. En particulier, Tor peut servir à l'hébergement de contenu pédopornographique.
Certains auteurs avancent que les usages de Tor sont majoritairement illégaux et qu'il s'agit d'un darknet (en dépit de la définition originale), justifiant alors une régulation forte. D'autres auteurs contestent cette vision et arguent que Tor et les autres réseaux et protocoles comparables (I2P, Freenet, etc.) sont construits médiatiquement et politiquement comme des espaces de non-droit par sensationnalisme et pour justifier leur régulation. Les appellations de « deep web » ou de « dark web », amalgamées entre elles et techniquement contestables, seraient emblématiques d'une conception dépréciative de ces réseaux.
Au-delà des questions sur l'utilisation de Tor, certaines sources indiquent que le réseau Tor serait la cible de la NSA américaine et du GCHQ britannique, ce qui implique un risque concernant la confidentialité des données de ses utilisateurs$^,$.

## Dans la culture

Tor est évoqué à plusieurs reprises dans la série française d'espionnage Le Bureau des légendes. Dans le troisième épisode de la troisième saison, Sylvain Ellenstein explique à son chef Henri Duflot avoir obtenu pour lui une capsule de poison avant son départ en mission. Ce genre de procédés étant illégal pour la DGSE, il lui explique l'avoir achetée sur Tor et avoir payé en bitcoins. Dans le deuxième épisode de la cinquième saison, l'espion français surnommé Mille Sabords reçoit un lien vers une vidéo sous forme d'un lien .onion : jfmilffdzx=11kcp$$$cdsqq.onion, qui ne correspond pas à un format d'adresse utilisable.