Depuis quelques années déjà, on entend parler de protection de la vie privée sur internet. Si ces problématiques semblaient n'interesser personne au départ, les révélations d'Edward Snowden et les actions de la quadrature du net tendent à les rendre plus compréhensibles pour le grand public. Les gens sont de plus en plus sensibles à la protection de leur vie privée sur le net. Les mentalités commencent à changer, et l'idée que même ceux qui n'ont "rien à cacher" sont concernés se répand. C'est très bien, mais les techniques permettant l'espionnage de nos activités sur le web sont de plus en plus perfectionnées, et les récents évènements ont encore renforcé la volonté des gouvernements d'avoir accès à toutes nos communications. Ainsi, même avec beaucoup de bonne volonté, il devient difficile de préserver un jardin secret lorsqu'on utilise internet. Pour faire face, une solution :
Mais non, pas un oignon! Le réseau TOR! The Onion Router est un système décentralisé conçu en 2002 pour garantir l'anonymat du trafic internet. Il repose sur le principe du routage en oignon, développé au milieu des années 90 par les services de renseignement américain pour protéger les échanges sensibles. Mais le routage en oignon, qu'est-ce que c'est?
Comme son nom l'indique, il s'agit d'une architecture en couches. Ces couches,formées par des chiffrements successifs, sont "pelées" par les noeuds de routage les uns après les autres. Dans la pratique, pour envoyer un paquet (par exemple une requête HTTP), le client calcule un circuit aléatoire à travers le réseau TOR (routage à la source), puis chiffre son paquet une première fois avec la clé du dernier noeud traversé, puis avec celle de l'avant dernier...etc... Pour des raisons d'efficacité, lors de l'établissement du circuit, le client négocie une clé privée avec chaque noeud à traverser: Cela permet d'éviter d'avoir recours à la cryptographie symétrique (beaucoup plus lourde) à chaque échange. Le circuit est utilisé pendant une durée limitée pour limiter les risques de briser l'anonymat.
De cette façon, le premier noeud du chemin calculé peut déchiffrer la première couche de chiffrement, ce qui lui permet d'obtenir juste assez d'informations pour connaître le noeud suivant vers lequel il doit acheminer le paquet. Chaque circuit possède un identifiant unique généré avec lui afin de permettre aux paquets réponse de suivre le chemin inverse, sans donner d'information sur l'identité du destinataire. Le réseau garantit ainsi que quel que soit le noeud sur lequel se trouve un paquet, il ne connaît que son prédécesseur et son successeur, mais en aucun cas l'origine ou la destination du paquet! Voila comment cet étrange oignon violet peut garantir votre anonymat sur le net!
En plus de préserver l'anonymat sur le web "classique", le réseau TOR permet d'accéder à tout un "Darknet", un internet invisible. Grâce au mécanisme de "service caché", il est possible de créer de façon anonyme une ressource web, dotée d'une adresse en .onion, accessible uniquement via le réseau TOR. Pour cela, un service caché nouvellement crée doit générer des circuits (de la même façon que vu précédemment) vers plusieurs autres noeuds qui seront des points d'introduction, et à qui il fournit sa clé publique. Il doit ensuite générer un descripteur, composé de la liste de ses points d'introduction et de sa clé publique, le tout signé avec sa clé secrète afin d'en garantir l'authenticité. A ce moment là, une adresse .onion est générée. Un utilisateur voulant accéder au service doit connaître cette adresse .onion, grâce à laquelle il peut interroger une table de hachage distribuée pour obtenir le descripteur du service. Connaissant maintenant les points d'introduction, il peut en choisir un vers lequel il établit un circuit, et qui servira de point de rendez vous. Après la mise en place d'un secret commun, le point de rendez vous est prêt. Le client peut donc passer par l'un des points d'introduction pour transmettre un message d'introduction contenant l'identifiant du point de rendez vous et le secret commun, au service. Ce dernier peut alors envoyer un message de rendez vous contenant le secret partage au point de rendez vous. Une fois toutes ces étapes terminées, le client et le service ont chacun un circuit vers le point de rendez vous, qui relayera leurs messages. Puisqu'ils partagent une clé secrète, les échanges sont chiffrés de bout en bout!
Eh bien rien de plus simple! Il suffit de télécharger TOR Browser ici! C'est une implémentation de Mozilla Firefox entièrement pré configurée pour utiliser le réseau TOR. Il n'y a donc plus besoin de configurer à la main les proxies ou de traiter le problème des requêtes DNS. Il est également possible (et recommandé!) de soutenir le réseau en installant un relais sur sa machine. Un guide pas à pas est disponible ici
Si, malgré tous ses avantages, tout le monde n'utilise pas TOR, il y a plusieurs raisons. La première, ce sont les préjugés : Tor, pour un non initié, ça peut avoir l'air d'une technologie obscure pour geeks barbus. Pourtant, maintenant, son utilisation est on ne peut plus simple : il suffit d'installer un bundle prêt à l'usage! Mais bien que moins compliqué qu'auparavant, TOR a pour le grand public une réputation sulfureuse, entre autre liée à l'affaire silkroad. Ce service caché permettait à des particuliers d'échanger toutes sortes de biens et de services, des armes à la drogue en passant par des services de piratage. Lorsque le FBI a fermé ce site, beaucoup de gens ont découvert le réseau TOR, qui a ainsi été présenté comme une zone de non droit. De plus, de par l'anonymité qui y règne, toutes sortes d'activités répréhensibles et criminelles s'y déroulent en toute impunité. Ainsi, le détournement de ce formidable outil à des fins criminelles a beaucoup nui à sa réputation. Certains sites refusent donc purement et simplement les requêtes émanant de noeuds TOR connus : C'est par exemple le cas de wikipedia qui interdit la modification de ses pages aux utilisateurs de TOR.
En plus de sa réputation qui le rend peu attrayant pour le grand public, TOR souffre de quelques contraintes techniques liées à sa nature même. En effet, les surcouts importants liés à l'anonymation rendent le trafic plus lent. En particulier, dans le cas de services cachés, il est très difficile de mettre en place de l'interractivité au vu de la lenteur des échanges. De plus, TOR ne supporte pas UDP mais uniquement TCP. Enfin, dans le cas d'une navigation sur le web classique, le dernier noeud du circuit a accès à la requête en clair, puisqu'il doit la transmettre au serveur web destinataire. On ne peut donc pas totalement compter sur TOR pour sécuriser les échanges : son rôle est de les rendre anonymes. Son utilisation ne dispense donc pas des précautions habituelles comme l'utilisation d'HTTPS. Attention cependant : Moxie Marlinspike a présenté, à la black hat 2009, un outil permettant au noeud de sortie d'intercepter les connections https dans certains cas (SSL hijacking, plus d'infos ici)! Il est donc recommandé de ne pas utiliser TOR pour se connecter à sa boite mail ou sa banque, par exemple.
En théorie, oui! Seulement, les choses ne sont pas si simples... De toute évidence, les gouvernements font beaucoup d'efforts pour compromettre TOR et avoir accès à ce qui s'y passe. Il est par exemple de notoriété publique que la NSA s'intéresse de très près au réseau TOR : elle surveille notamment plusieurs noeuds centraux du réseau en permanence. Rien n'indique cependant qu'elle ait été capable de "casser" TOR à l'heure actuelle. Il convient pourtant de respecter certaines règles de bon sens pour ne pas en dévoiler trop sur son identité. En effet, la plus grande faiblesse de ce réseau est le facteur humain. Par exemple, même en étant protégé par TOR, vous serez facilement identifiable si vous postez des messages sous un pseudonyme que vous employez aussi en temps normal. Il faut aussi evidemment faire attention à ne pas essayer d'acceder à un service tor (en .onion) depuis un navigateur ou TOR n'est pas activé! Même en dehors d'erreurs évidentes comme celles ci, il est très probable que des informations sur l'identité des utilisateurs de TOR puissent être inférées à partir de leur façon de s'exprimer sur des forums ou d'autres comportements. Par exemple, une personne hébergeant un service caché sur sa machine donne accès à des informations telles que la version du server web utilisé, mais aussi les heures auxquelles le service est disponible, qui peuvent indiquer les heures ou la machine qui l'héberge est allumée, et donc par exemple un fuseau horaire probable(heures de jour/nuit). De manière générale, TOR protège l'anonymat : Les failles résident plutôt dans le comportement des utilisateurs.