Un petit billet sur la dernière avancée.

J'ai mis en place un neud anonet afin de commencer à me familiariser avec les concepts de darknet, routage BGP ...

Darknet ? quésaco ?

Un darknet est un réseau de machines, utilisant internet pour se connecter les unes aux autres et recréer un "réseau dans le réseau". Le projet TOR est un exemple très populaire de darknet. Ces réseaux un peu "obscures" son neutres, comme toutes technologies. C'est à dire que l'on peut, soit l'utiliser pour assurer la sécurité des discutions entre dissidents d'un régime totalitaire, soit pour des échanges beaucoup moins éthiques... La différence avec internet est que la sécurité et l'anonymat sur ces réseaux est d'un tout autre niveau, mettant les participants à l'abri des techniques de traçages habituelles.

Une histoire de tunnel

Dans le cas d'anonet, la première étape est d'établir une liaison VPN (ou tunnel VPN) grâce au logiciel quickTUN avec un ou plusieurs autres utilisateurs en qui l'on a confiance (car ce seront les seuls personnes aptes à révéler indirectement notre identité). Ces tunnels créent des liaisons "logiques" (en oppositions aux liens physiques comme les câbles réseaux) qui passent sur internet. Prenons en exemple un morceau d'internet simplifié comme dans le schéma ci-contre : darknet.jpeg

Nous avons six clients abonnés chez deux Fournisseurs d'Accès Internet différents. Les liens en noir représente un support physique quelconque comme le cuivre (ADSL...), la fibre optique...

Cas du SSL

Dans le cas ou le client 6 veut accéder à www.google.fr en http (non chiffré), ses données pourront être lues par tous les intermédiaires dont fai2, google, et même dans certains cas fai1. S'il accède à www.google.fr en https (chiffré), seul le serveur final sera apte à décoder les données bien que physiquement elles passent par les mêmes intermédiaires que précédemment. Il s'agit d'un tunnel SSL (SSL correspondant au "s" dans https).

Cas du VPN

Les liens rouge représentent des tunnels VPN. Dans le cas du client 1 et 4 par exemple, cela signifie qu'ils peuvent communiquer comme s'il étaient relié entre eux par un câble direct. Les intermédiaires, comme dans le cas du SSL, ne sont plus capable de savoir quels données transitent entre les utilisateurs.

Choisir la bonne route

Une fois que les utilisateurs sont ainsi relié, ils sont capable de s'échanger tout type de données directement. Le seul problème est que chaque machine ne connait que celles auxquelles elle est lié avec le VPN. Pour pouvoir échanger avec d'autres machines, anonet utilise, comme les fournisseurs d'accès internet et autres entité en charge du réseau, du routage BGP. N'étant pas suffisamment apte à l'expliquer, je vais définir le routage de façon générique.

Cas simple : client 3

Quand client 3 voudra accéder à un service proposé par n'importe quel autre machine du darknet (les machines reliés entre elles par les liens rouge), il n'aura d'autres choix que d'envoyer ses données à client 2 qui fera suivre à la machine concerné.

Cas complexe : client 2

Si client 2 veut accéder à un service, il devra choisir en fonction de qui héberge le service mais également de l'état des liens et divers paramètres (vitesse...). Dans tous les cas, les seuls IP qui pourraient conduire à connaitre l'identité d'un utilisateur ne sont connues que des clients qui y sont directement relié, soit des gens de confiance.

IRC décentralisé

Un des services que j'ai découvert sur anonet et qui me semble intéressant d'intégrer est IRC basé sur UDPMSG. En clair, au lieu que chaque utilisateur se connecte à un serveur IRC central, chaque nœud va accueillir un serveur IRC qui relayera aux autres serveurs IRC du réseau les messages qui y sont posté. Ainsi, on peut être connecté à son serveur et recevoir les messages des autres utilisateurs sans qu'il n'en soit informé, tant que l'on ne se manifeste pas directement sur le chat. Il s'agit d'un nuage de serveur IRC. Chaque utilisateur est alors anonyme et intraçable.

Gestion décentralisé des ressources avec resDB

Un autre outil avec lequel je vais devoir me familiariser est resDB : il s'agit d'une base de données contenant les principales informations techniques dont ASN, IP et noms de domaines. Chaque personne peut choisir de faire confiance à une base plus qu'a une autre. Le darknet peut ainsi "forker" très rapidement.

Et la LOLBox dans tout ça ?

Cela soulève de nouvelles questions concernant les implémentations dans la box ainsi que les choix qui seront proposés lors du déploiement d'une nouvelle box. Faut-il intégrer resDB ? A quels neuds se connecter par défaut ? Par quels neuds faire passer les données en premier si plusieurs sont disponibles ? Ces questions ne trouverons des réponses qu'après que j'ai approfondi l'utilisation de ces outils ! L'installation d'IRC UDPMSG me semble en revanche obligatoire afin d'en faire un vrai outil de communication sécurisé.