Dark Web, partie 3 : Qu'est-ce que Freenet ?
- 3 oct. 2023, 02:15
- 13 minutes
Dark Web, partie 3 : Qu'est-ce que Freenet ?
Il n'est pas possible d'accéder au Dark Web en saisissant simplement une requête dans votre navigateur. Pour accéder à Darknet, vous devez configurer un réseau spécial et entrer le nom correct de la ressource, sinon vous n'obtiendrez pas le contenu.
Cet article explique quels sont les réseaux utilisés pour entrer dans le web caché et quelles sont les ressources auxquelles on peut accéder par leur intermédiaire.
Dans un article précédent :
-
Dark Web, partie 1 : qu'est-ce que le Darknet et pourquoi l'utilise-t-on ?
-
Dark Web, partie 2 : comment fonctionnent les sites .onion
-
Dark Web, partie 3 : qu'est-ce que Freenet ? ← vous êtes ici
-
Dark Web, partie 4 : qu'est-ce que l'I2P et comment ça marche ?
-
Dark Web, partie 5 : comment accéder au Darknet via Tor, I2P et Freenet
Qu'est-ce que Freenet
Freenet est un réseau peer-to-peer anonyme et décentralisé qui fonctionne au-dessus de l'internet ordinaire. Il n'y a pas de serveurs communs et personne n'héberge de sites web. Chaque personne sur le réseau est un serveur sur le PC duquel certaines informations sont stockées.
Pour en savoir plus sur le fonctionnement des réseaux peer-to-peer, veuillez consulter l'article « Dark Web, partie 1 : qu'est-ce que le Darknet et pourquoi l'utilise-t-on ? ».
Fondamentalement, il s'agit d'un référentiel de données où les utilisateurs téléchargent leurs informations, qui sont ensuite mises à la disposition des autres personnes ayant accès à Freenet.
Freenet a été lancé en 2000 et utilisé pour diffuser des informations censurées dans le monde entier, notamment en Chine et au Moyen-Orient.
Comment fonctionne Freenet
Chaque nœud du réseau est un dépôt local d'informations à partir duquel les utilisateurs reçoivent des données pour la lecture et l'écriture, ainsi qu'une table de routage dynamique. La table contient les adresses des autres nœuds et les clés spéciales qui sont censées y être stockées. Nous parlerons des clés plus tard, à présent, parlons du modèle d'exploitation.
Le modèle de fonctionnement peut être décrit comme suit : les demandes de clés sont transmises de nœud en nœud par une chaîne de nœuds mandataires, où chaque nœud décide du nœud suivant auquel envoyer la demande.
Selon le type de clé, les itinéraires seront différents. Ils changeront également pour chaque fichier au fil du temps, afin que le participant au réseau puisse le télécharger plus rapidement. Cet ajustement du chemin est affecté par les algorithmes de routage et le fonctionnement du réseau.
Le routage est décrit comme suit : lorsqu'un utilisateur se connecte à un réseau, il télécharge les adresses des différents nœuds à partir d'un nœud secondaire, essentiellement un référentiel de nœuds. L'utilisateur crée alors une requête sur le réseau et celle-ci est envoyée aux nœuds à la recherche d'informations.
Dans ce cas, la communication entre les nœuds est cryptée et la connexion d'un nœud à un autre passe par plusieurs autres nœuds. Cela permet d'anonymiser l'expéditeur de la demande et la demande elle-même.
Et l'interaction entre les nœuds peut être comparée à une table de hachage distribuée, qui est nécessaire pour trouver certaines données utilisateur.
Une table de hachage est une structure de données spéciale permettant de stocker des paires de clés et leurs valeurs. Il s'agit en fait d'un tableau. Lorsque des données doivent être récupérées, une certaine valeur est transmise à une fonction et l'adresse de l'information requise est renvoyée en retour.
Lorsqu'un utilisateur envoie une demande à un réseau avec une clé. Cette clé est transmise à une chaîne de nœuds aléatoires jusqu'à ce qu'un nœud contenant les informations souhaitées soit trouvé.
Lorsque l'information est trouvée, le nœud l'envoie à l'utilisateur via la chaîne d'autres nœuds. Ce faisant, le nœud émetteur ne sait pas qui est le destinataire final de l'information. Et les nœuds de transit ne savent pas combien de nœuds se trouvaient dans la chaîne avant eux et ne savent pas quel est le nœud suivant : le nœud final ou le même nœud de transit. Cette route permet d'anonymiser les utilisateurs et la demande.
Nous avons négligé certains paramètres du système. L'un d'entre eux est que la demande passe d'abord par plusieurs nœuds aléatoires à la recherche du fichier souhaité. Ceux-ci, à leur tour, envoient des requêtes aux autres nœuds à partir de leurs tables de hachage distribuées. Lorsqu'un nœud possédant le bon fichier est trouvé, il envoie l'information à l'utilisateur à travers la chaîne de nœuds. Expliquons maintenant plus en détail.
Nous sommes dans le nœud « Start » et nous avons besoin d'informations provenant du nœud « Data ». Cependant, le nœud « Start » ne sait pas quels nœuds possèdent les informations requises et comment y accéder. Le nœud « Start » contacte donc le nœud A le plus proche et lui demande s'il dispose des informations requises.
Le nœud A ne dispose pas de cette information, mais il peut l'apprendre des autres nœuds. Il envoie donc une requête à un nœud aléatoire qu'il connaît. Dans notre cas, il s'agit du nœud B. En substance, il demande au nœud B s'il possède l'information demandée.
Le nœud B répond qu'il ne dispose pas de cette information et ne connaît aucun nœud auprès duquel il pourrait demander les fichiers. Le nœud A se rend donc au nœud suivant, C, et lui demande s'il possède l'information demandée.
Le nœud C dit qu'il n'a pas d'information. Mais il connaît deux nœuds susceptibles de détenir l'information et redirige les demandes vers eux.
La première demande est adressée au nœud D, mais celui-ci ne dispose pas des fichiers requis et redirige la demande vers un autre nœud susceptible de détenir l'information. Dans l'exemple du diagramme, le nœud D envoie la demande au nœud A, qui est le nœud qui a initialement demandé de l'aide pour trouver l'information. Le nœud A répond donc au nœud D qu'il recherche lui-même cette information.
Le nœud D indique au nœud C qu'il ne connaît aucun autre nœud et qu'il n'a nulle part où chercher des informations. Ensuite, le nœud C envoie une requête à un autre nœud qu'il connaît, « Data ». Le nœud « Data » donne au nœud C les informations requises et ce dernier les renvoie au nœud A et le nœud A les renvoie au nœud « Start ». En conséquence, il s'est avéré que le fichier requis a été trouvé et envoyé au nœud demandé via le chemin d'accès dans l'ordre inverse.
Comment les fichiers sont distribués sur le réseau freenet
Pendant le processus de téléchargement, les fichiers sont divisés en morceaux et stockés de manière aléatoire et cryptés sur de nombreux autres ordinateurs du réseau. En outre, chaque bloc d'un fichier fragmenté est copié sur plusieurs ordinateurs.
Ainsi, si l'un des ordinateurs contenant un morceau tombe en panne ou quitte le réseau, l'utilisateur l'obtiendra d'un autre ordinateur.
Quels types de clés sont utilisés dans freenet ?
Le réseau freenet utilise des clés cryptographiques au lieu des adresses URL habituelles. En effet, pour charger un site web ou d'autres informations, il est nécessaire de spécifier la clé elle-même dans la demande. La clé est un hachage d'un fichier ou une clé DSA.
Un hachage est une fonction qui effectue une opération mathématique ou logique sur des données. Il convertit une grande quantité d'informations en une chaîne de caractères relativement courte et sert d'identifiant pour les données. Par exemple, si deux images diffèrent ne serait-ce que d'un pixel, leur hachage sera différent.
Un DSA est un algorithme cryptographique qui utilise des clés privées et publiques pour créer une signature électronique, afin de valider l'identité de l'auteur d'un document électronique. La tâche de la clé privée est de créer la signature et la tâche de la clé publique est de vérifier la signature.
Par exemple, dans Freenet, les clés DSA lient le créateur d'un site web et la ressource elle-même. Ainsi, personne d'autre ne peut apporter de modifications à la structure du site sans ces clés DSA.
Dans cet article, nous n'aborderons pas le fonctionnement des clés DSA, car il s'agit d'un sujet long et difficile.
De plus, les fichiers ne peuvent pas être modifiés ou supprimés sans les clés. Il existe au total quatre types de clés sur Freenet :
-
CHK - clés de hachage de contenu ;
-
SSK - clés signées ;
-
USK - clés de mises à jour ;
-
KSK - Clés signées avec un mot-clé.
CHK : clés destinées aux fichiers à contenu statique, tels que les documents .mp3 ou PDF. Ce sont des hachages du contenu du fichier.
Par exemple, un CHK typique ressemble à ceci :
CHK@SVbD9~[...]X5Brs,bA7qLN[...]Si6bbNQ,AAEA--8
SSK : conçu pour les sites qui évolueront avec le temps. Par exemple, pour un site d'actualités où des communiqués de presse seront publiés. Elles fonctionnent de manière à ce que quelqu'un d'autre ne puisse pas apporter de modifications à votre site sans les clés SSK.
Une clé SSK typique ressemble à ceci :
SSK@GB3wuHmt[...]o-eHK35w,c63EzO7u[...]3YDduXDs,AQABAAE/mysite-4
USK : nécessaire pour masquer les premières versions du site et afficher uniquement la vraie. Cela fonctionne comme ceci : lorsque vous visitez le site, USK accède à la liste des versions du site, recherche la plus récente et la charge.
Exemple de l'USK :
USK@GB3wuHmt[...]o-eHK35w,c63EzO7u[...]3YDduXDs,AQABAAE/mysite/5/
KSK : aide à enregistrer des pages sur le réseau Freenet. L'adresse KSK ressemble à ceci :
KSK@myfile.txt
Sécurité de Freenet
La sécurité sur Freenet peut être assurée par plusieurs méthodes :
-
Diviser un fichier en plusieurs morceaux et le crypter au niveau des nœuds. Cela garantit que personne ne peut supprimer complètement un fichier du réseau parce qu'il est stocké sur plusieurs nœuds en même temps.
-
Aucun des nœuds ne peut voir le chemin de la requête. Il ne connaît que le nœud précédent et le nœud suivant vers lequel transférer l'information.
-
L'utilisation de tables de hachage et de clés privées, sans lesquelles il est impossible d'envoyer une demande et de recevoir une réponse. Par conséquent, les pirates ne pourront pas diriger le trafic vers eux en prétendant que leur nœud contient les informations souhaitées. Un faux nœud ne passera tout simplement pas la validation avec sa clé privée et sa table de hachage.
-
Cacher la véritable source du fichier. Parfois, un nœud aléatoire disposant de certaines informations prétend être sa véritable source, il est donc difficile de déterminer exactement lequel des nœuds du réseau a initialement téléchargé le fichier sur le réseau.
Un autre problème est la perte de l'anonymat. En effet, les nœuds qui traitent fréquemment les mêmes demandes peuvent être stockés sur le réseau de l'utilisateur. Cela signifie que la prochaine fois qu'une demande sera faite, elle sera traitée plus rapidement et que l'ordinateur de la personne stockera rapidement les informations nécessaires.
Par conséquent, si le gouvernement ou des pirates informatiques accèdent à votre PC, font une demande quelconque et que les informations sont rapidement stockées sur votre ordinateur, ils sauront que vous avez consulté à plusieurs reprises le fichier téléchargé.
Les sources qui nous ont aidés à faire connaître Freenet :
-
Site officiel du projet Freenet.
-
Document de recherche Freenet : un système distribué de stockage et de recherche d'informations anonymes.
-
Un essai sur le travail de Freenet.