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 Mozilla 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 » Annonce officielle de la FSF, consulté le 17 juin 2015.. Le nom « Tor » est à l’origine un acronyme pour « » Tor Project FAQ, consulté le 17 juin 2015. A Look at The Onion Router (Tor) lwn.net, (consulté le 17 juin 2015., 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.
vignette|Cartogramme de l'usage de Tor dans le monde en 2014. 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 , 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 ... Le , Syverson, Dingledine et Mathewson présentent au 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 , 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 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.
En 2013, un document publié par Edward Snowden révèle que la National Security Agency (NSA) a tenté à plusieurs reprises de désanonymiser l'utilisation du réseau Tor, bien qu'il ait été initialement promu et financé par le gouvernement des États-Unis. Elle a en particulier réussi à infecter et prendre le contrôle à distance de clients à travers Firefox, le navigateur utilisé par Tor Browser, sans réussir à identifier automatiquement ses clients..
Principe de fonctionnement Le principe de Tor est le . 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 thumb|En « + » vert les ordinateurs Tor, en rouge le chemin en clair et en vert un chemin chiffré. Après un certain temps le circuit change aléatoirement.
La première étape consiste à récupérer une liste de nœuds Tor depuis un serveur Tor: Overview — Overview sur torproject.org. 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.
Conflux Depuis la version 0.4.8.4. Tor implémente la proposition 329. présentant le système Conflux. Ce système permet d'utiliser plusieurs circuits entre le client et le nœud de sortie et de les utiliser simultanément pour envoyer et recevoir des données. Cette fonctionnalité a pour effet d'augmenter les performances de la communication entre le client et le nœud de sortie.
É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
alt=Évolution chronologique du temps de chargement d'un fichier de via Tor (données metrics.torproject.org consultées le 11/04/2016).|vignette|Évolution chronologique du temps de chargement d'un fichier de via Tor (données metrics.torproject.org consultées le 11/04/2016). 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 et ce qui peut être considéré comme 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