Wikileaks - Comment assurer son anonymat?
Tor
Présentation
The Onion Router (Tor), est un logiciel et un réseau décentralisé de niveau mondial qui permet, grâce à une technique de routage en oignon, d’anonymiser les paquets TCP envoyés à travers le réseau.
Ce programme est un logiciel libre et est distribué sous licence BSD. Le principal intérêt d’utiliser ce réseau est le fait d’être totalement anonyme lors de communication sur internet.
Le réseau Tor est composé de noeuds. Ils peuvent être de plusieurs types:
- Les Onions Routers (OR) représentent le coeur fonctionnel du réseau. Ils routent les paquets au travers du réseau.
- Les noeuds clients ou Onion Proxies (OP) sont de simples utilisateurs.
- Les Directory Servers (serveurs d'annuaire), référencent les ORs connus. La liste des ORs est inscrit en dur dans le code source.
Fonctionnement
Il se base sur le principe du proxy et en améliore le principe. Le proxy est remplacé par un ensemble de noeuds, des machines chargées de router la connexion. Pour accéder au serveur qui l’intéresse, l’ordinateur va donc choisir aléatoirement plusieurs noeuds, qui vont conduire sa connexion jusqu’au serveur demandé. Évidemment, à chaque noeud traversé, l’adresse IP utilisée devient différente, et plus le nombre de noeuds est important, plus il devient difficile de remonter jusqu’à la machine qui a émis la requête initialement. Le réseau est d’ailleurs construit de telle manière qu’à l’intérieur même du circuit, il n’est pas possible de connaître l’adresse d’un ordinateur particulier, simplement du noeud précédent par lequel la requête est passée. Enfin, au bout d’un certain temps, le circuit utilisé est abandonné et l’ordinateur en choisit un nouveau, toujours aléatoirement.
Alice veut accéder à un site web (Bob) de manière anonyme. Alice lance Tor, qui est installé sur son ordinateur. Tor consulte la liste des relais disponibles sur un des annuaires disponibles (Dave).

Le client TOR sélectionne de manière aléatoire des noeuds pour acheminer ses paquets. La construction du circuit est réalisée bond par bond.
Ainsi Alice bâtit un tunnel crypté jusqu’au premier noeud TOR et recupère la clé publique de celui-ci. De là un autre tunnel crypté sera établi jusqu’au nœud suivant ainsi de suite jusqu'à ce que Bob soit atteint. Le chiffrement mis en place ne doit pas permettre à un élément du circuit de déchiffrer le message transmis. Chaque nœud a la propriété de connaître son prédécesseur et son successeur. Ainsi seul le premier nœud du circuit connaîtra l’adresse IP d’Alice. Puis dès le deuxième nœud, la négociation se fera 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.
Alice doit chiffrer son paquet de nombreuses fois pour acheminer le paquet à Bob (le serveur) :
- 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.
À ce stade, nous nous appercevons que toutes les couches de l’oignon enferment le paquet TCP. 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.
- le dernier serveur déchiffre ce paquet avec sa propre clef privée n et obtient le paquet original.

Tor utilise le même circuit pour des connexions qui sont effectués dans un intervalle de dix minutes. Si après dix minutes, Alice souhaite consulter un autre site, le chemin par lequel vont transiter ses données aura été modifié afin de brouiller un peu plus les pistes.

Exemple
Pour montrer que Tor dissimule mon adresse IP, je me suis connecté à un site web qui permet de connaitre son adresse IP et sa géolocalisation. Tout d'abord, je me suis connecté sans utiliserTor.

Puis je me suis connecté en utilisant Tor.

Nous pouvons nous appercevoir que mon adresse IP a été localisé aux Pays-Bas au lieu de l'Île-de-France
Services cachés
Tor permet aux clients et aux relais d'offrir des services cachés. Les services sont de différents types de services tels que la publication de site web ou un serveur SSH sans avoir à révéler votre adresse IP aux utilisateurs.
Quelques exemples de services:
- Canal IRC
- Site web
Inconvénients
Tor n'est pas parfait, il y a quelques inconvénients.
Le principal inconvénient est la lenteur pour accès aux pages d'un site web. La cause de cette lenteur est le chiffrement du message avant chaque envoi et le déchiffrement des routeurs.
De plus, il n'y a pas de protection pour les paquets UDP car ces requêtes ne passent pas par le réseaux. Cependant les requêtes DNS peuvent être router à travers le réseau.
Il est également possible de récupérer l'adresse IP du client grâce aux cookies. Le cookie sauvegarde des caractéristiques de l'utilisateur pour un site visité.
En HTTP, la communication entre le dernier relai et le serveur n'est pas crypté Les personnes écoutant sur cette partie du réseau pour voir en clair les données circulées. C'est pour cela qu'il faut utiliser le plus souvent que possible du HTTPS.
Attaques possibles
Il y a plusieurs attaques qui sont possibles, je vous en cite que deux:
Attaques actives
Il est possible d'installé un OR hostile. Il peut créer des circuits vers lui-même, et/ou modifier le trafic qu'il est censé router. Mais il ne comprend pas l'anonymat de l'utilisateur si il ne se trouve pas directement connecté à celui-ci.
Hack of the year
En novembre 2007, un pirate suédois a divulgué de nombreux mots de passe appartenant à de nombreux ministères et agences gouvernementales. Le pirate avait installé des noeuds Tor dans le monde entier et écoutait leur trafic en sortie.