Les réseaux anonymes de l’internet : 2e partie, Freenet

Dans le web “normal”, les serveurs (web, vidéos…) sont souvent hébergés par des entreprises spécialisées. Sur le darknet freenet, chaque utilisateur est en fait un serveur en stockant une partie des données du réseau sur son disque dur. Sur Freenet, on devient donc client et serveur, c’est ce qu’on appelle le Peer 2 Peer. Cette architecture distribuée améliore la robustesse du réseau. En effet, sur le web, il suffit d’attaquer un serveur bien identifié pour que le site associé ne soit plus accessible. Pour reprendre l’exemple de l’affaire Wikileaks, on a vu ce type d’attaque ce produire sur les serveurs d’Amazon ou de Visa. Sur Freenet, les sites sont hébergés sur plusieurs serveurs non identifiables. Les données ne peuvent donc être localisées et il devient donc très difficile de les rendre inaccessibles.

1. Utilisation de Freenet

Freenet offre un surfe libre et en tout anonymat. Les « freesites », remplacent les sites web de l’Internet et sont publiable par tous. Les forums sont aussi présents sur le réseaux mais le but principal reste l’échange de fichiers.

2. Architecture générale

Freenet est un réseau Peer 2 Peer de nœuds interconnectés. Chaque nœud à son propre espace de stockage qu’il rend disponible en lecture/écriture pour les autres nœuds : le datastore. Il contient les adresses des nœuds auxquels il est connecté, ainsi que les clés pour déchiffrer les données.Le datastore est découpé en deux parties de taille égale : le cache et le store. Le cache stocke les clés qu’il voit transiter. Le store stocke les clés les plus proches de lui. Lorsque le datastore atteint une taille trop grande, les clés non requêtées depuis longtemps sont supprimées. Plus il y a de nœuds dans le réseau, plus il y a d’espace de stockage et plus l’adressage et les transferts sont rapides.

3. Chiffrement et type de clé utilisées

Il y a deux principaux types de clés :

  • Content Hash Key (CHK) : utilisée pour le stockage des données et générée avec le résultat retourné par le hash du fichier stocké. Elles sont non modifiables. Un fichier inséré plusieurs fois aura toujours la même CHK.
  • Signed Subspace Key (SSK) : générée à partir d’une clé publique et d’une information liée au fichier stocké. Elles authentifient l’émetteur qui les signe avec sa clé privée.

4. Connexions et communications

On distingue deux modes de connexions : mode darknet et mode openet. Avec le mode darknet, on peut renseigner manuellement des nœuds de confiance pour créer manuellement ses interconnexions. Dans le mode openet, un nœud se connecte sans préférence aux autres. Le mode darknet est préférable pour l’anonymat mais nécessite la connaissance des ID des nœuds de confiances (amis).
Par rebond, n’importe quel nœud, peut contacter tous les autres. Les communications sont chiffrées pour une recherche d’information de proche en proche.

Dans l’exemple ci-dessus, un utilisateur envoie une requête depuis le nœud A. Pour traiter une requête, un nœud déroule l’algorithme suivant :

– Vérification de son propre espace de stockage.
– S’il possède l’information, transmission au nœud source puis fin de l’algorithme.
– Sinon, vérification de sa table de routage de clés, et recherche de la clé la plus proche de celle demandées puis relayage de la requête au nœud correspondant et ainsi de suite jusqu’au nœud demandé qui répondra au demandeur.
– A la réception :

  • mise en cache du fichier dans l’espace de stockage,
  • création d’une entrée dans la table de routage correspondant à la clé demandée,
  • enregistrement des données dans le store.

5. Flux réseau et port utilisés

Le port de communication FNP (FreeNet Protocole) est choisi aléatoirement à l’installation. Il est différent pour chaque nœud afin d’éviter le blocage du réseau en bloquant un port précis sur les routeurs des opérateurs.

6. Pistes d’améliorations

Aujourd’hui, la principale faiblesse du réseau est sa lenteur. Comme le routage de l’information n’est pas optimiser, des améliorations dans ce sens pourraient considérablement réduire les temps de latences. Chaque nœud pourrait par exemple, ajouter des informations statistiques dans sa table de routage (temps de réponse, succès des réponses…) pour améliorer les décisions de routage. Cependant, si le réseau connaissait une forte croissance, les latences seraient aussi diminuer.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s