1 / 38

Sujet d’étude d’approfondissement en réseau: Freenet

Sujet d’étude d’approfondissement en réseau: Freenet. Responsable du module: Florence Perronnin Auteurs: Audrey COLBRANT Samy SIDOTMANE. Plan. Introduction I. Description générale II. Les réseaux P2P décentralisé faiblement structuré III. Description technique de Freenet

connor
Download Presentation

Sujet d’étude d’approfondissement en réseau: Freenet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sujet d’étude d’approfondissement en réseau:Freenet Responsable du module: Florence Perronnin Auteurs: Audrey COLBRANT Samy SIDOTMANE

  2. Plan Introduction I. Description générale II. Les réseaux P2P décentralisé faiblement structuré III. Description technique de Freenet IV. Objectifs de Freenet V. Démonstration Conclusion Bibliographie

  3. Introduction • Naissance du projet • Année de création : 1999 • Concepteur : Ian Clarke • Lieu : Edimbourg • Fonctionnalités possibles avec Freenet 0.7 • Surfer sur des sites Freenet • Créer et insérer des free Site • Discussions dans des forums • Echange de fichiers • Réception et envoi d’email

  4. I. Description générale • Fonctionnement global • Réseau bâtit sur internet • Diamétralement opposé aux principes du web • Pas de client ni de serveur / tous clients et tous serveur • P2P =/= Freenet =/= Web • Espace de total liberté • Anonymat • Résistance à la censure • Résistance aux attaques • C’est fun

  5. Comment se connecter à Freenet ? • Installer un nœud sur votre PC • Nœud = Serveur (accès local: 127.0.0.1:8888)‏ • Patienter 24 à 48 heures pour que la page d’accueil soit utilisable.

  6. II. Les réseaux P2P décentralisés faiblement structurés • Le principe : • P2P • Chaque nœud est serveur et client en même temps • Les ressources sont décentralisées • Décentralisé • Recherche de ressources décentralisée • Montée en charge • Structuré • Anneau logique où l’on ordonne les nœuds et les clés de décryptage des données. • Une Finger Table sur chaque nœud pour repérer les clés lors des recherches

  7. Clé Nœud 8+1=9 N14 8+2=10 N14 8+4=12 N14 8+8=16 N21 8+16=24 N32 8+32=40 N42 Exemple d’anneau logiqueavec DHT à 6bits Les nœuds Les clés privées associées aux ressources Finger Table pour le nœud 8

  8. Mais alors qu’est ce que le P2P décentralisé faiblement structuré ? • Nœuds ordonnés sur l’anneau • Ressources dupliquées • Ressources non ordonnées sur l’anneau • Finger Table remplacée par un cache

  9. III. Description technique de Freenet 1. S’insérer dans le réseau 2. Stockage de l’information 3. Les principaux protocoles de routage 4. Flux réseau et ports utilisés

  10. III. 1. Fonctionnement du réseau Freenet (S’insérer dans le réseau) J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)‏ Votre Ordinateur Internet Noeud Browser 127.0.0.1:8888 port : 2383 nodeId : 20107cdb705b37dbbcbbd6ec836919bebea24b3bf962a2943213c0032ef3c6af

  11. III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)‏ • J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)‏ • Pour accéder au réseau il faut connaitre quelqu’un • Vous connaissez l’ NodeInfo et ip d’un ami (on suppose qu’il est dans le réseau) Le Nœud de votre ami toto Votre Noeud Toto envoi: idVoisin le plus proche du votre 83.203.191.23 86.101.11.33

  12. III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)‏ • J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)‏ • Pour accéder au réseau il faut connaitre quelqu’un • Vous connaissez l’IP d’un ami (on suppose qu’il est dans le réseau) • Vous ne connaissez personne hélas (reste le DNS – pas vraiment à jour)‏ DNS Le Nœud retourné par le DNS Votre Noeud Nœud inconnu envoi: idVoisin le plus proche du votre 83.203.191.23 86.101.11.33

  13. III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)‏ • J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)‏ • Pour accéder au réseau il faut connaitre quelqu’un • Vous connaissez l’IP d’un ami (on suppose qu’il est dans le réseau) • Vous ne connaissez personne hélas (reste le DNS – pas vraiment à jour)‏ Dans les deux cas vous avez un NodeId auquel vous connecter • 3. Se connecter au voisin que l’on vous a retourné, à son tour il vous redirigera jusqu’à ce que vous ayez au moins 3 connections et au plus 20 connections

  14. III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)‏ Bilan jusqu’à présent Votre nœud Est placé dans sa zone N2^160-1 1 3 1 N2^160-XXX 2 N2^159

  15. III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)‏ • J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)‏ • Pour accéder au réseau il faut connaitre quelqu’un • Vous connaissez l’IP d’un ami (on suppose qu’il est dans le réseau) • Vous ne connaissez personne hélas (reste le DNS – pas vraiment à jour) • 3. Se connecter au voisin que l’on vous a retourné, à son tour il vous redirigera jusqu’à ce que vous ayez au moins 3 connections et au plus 20 connections • 4. À ce moment notre table de routage possède quelques voisins qui eux aussi nous ont dans leur Table

  16. III. 2. Le stockage de l'information - tout est fichier - un fichier = une clé unique - fichiers coupés en blocs de 32 Ko a - Les clés b - Le stockage

  17. III. 2.a - Les clés Accès au fichier par : http://localhost:8888/[Freenet Key] • CHK - Content Hash Keys • SSK - Signed Subspace Keys • USK - Updateable Subspace Keys

  18. CHK : Permet de désigner un fichier particulier sur le réseau (mp3, pdf...). Composé de : 1. le hash du fichier donnant un identifiant unique 2. la clé de décryptage qui permet de lire le fichier 3. la méthode de cryptage impossible de décrypter le fichier sans la CHK A quoi ça ressemble ? CHK@file hash,decryption key,crypto settings Par exemple : CHK@SVbD9~HM5nzf3AX4yFCBc-A4dhNUF5DPJZLL5NX5Brs, bA7qLNJR7IXRKn6uS5PAySjIM6azPFvK~18kSi6bbNQ,AAEA--8

  19. SSK : Permet de désigner un fichier qui va changer au cours du temps (Freesite...). Composé de : 1. le hash du fichier donnant un identifiant unique 2. la clé de décryptage qui permet de lire le fichier 3. méta données contenant notamment la méthode de cryptage 4. le chemin choisi par le créateur de la données 5. le numéro de version de la donnée A quoi ça ressemble ? SSK@file hash,decryption key,crypto settings/path-version

  20. USK : Permet de charger la dernière version d'un site, mécanisme de recherche de last update sur un SSK. Composé de : 1. le hash du fichier donnant un identifiant unique 2. la clé de décryptage qui permet de lire le fichier 3. méta données contenant notamment la méthode de cryptage 4. le chemin choisi par le créateur de la données 5. le numéro de version de la donnée On construit une clé USK à partir d'une SSK ainsi : SSK@file hash,decryption key,crypto settings/path-version => USK@file hash,decryption key,crypto settings/path/version

  21. III. 2. b - Le stockage - Dossier download - Datastore divisé en deux parties égales : * Le cache : stockage des clés qui passent par le noeud map de : noeud source, clé, fréquence de passage -> explique le délai pour que le nœud soit opérationnel * Le store : stockage des données cryptées qui ont été rapatriées sur le noeud Mécanisme de flush de la mémoire utilisée.

  22. III. 3. Fonctionnement du réseau freenet (Télécharger une ressource)‏ Je suis un nœud déjà intégré qui a des voisins • J’ai une clé qui correspond à une ressource et je désire la récupérer. Key CHK/SSk et HTL Ressource correspondante

  23. III. 3. Fonctionnement du réseau freenet (Echange de position -- SWAP)‏ • Demandes successives d’un nœud à son voisin se rapportant à des clés voisines Echange de position sur l’Overlay • 2. Echange de cache (clés associées aux nœuds)‏ Principe complémentaire avec le système de duplication de données

  24. III. 3. Fonctionnement du réseau freenet (Insertion de ressources)‏ • On insère notre ressource dans notre nœud • Le Nœud se charge de transformer la ressource en Freenet Ressource • On la stock dans notre store • On choisit 1 voisin dans la liste (le plus proche de la ressource)et on tire aléatoirement un HTL • On leur envoi la ressource • Le voisin reçoit une ressource, la stock dans son store, et la diffuse en décrémentant le HTL

  25. III. 4. Flux Réseau et ports utilisés

  26. III. 4. Flux Réseau et ports utilisés • FNP : port de communication choisit aléatoirement pour éviter les blocages de port • FCPv2: • Protocole à base de message • le transport s’effectue via TCP • Types de messages : hello Client, listPeer, listPeers etc …

  27. IV. Comment Freenet atteint ses objectifs ? 1 – Types de connexions 2 - Anonymat 3 - Résistance à la censure 4 - Résistance aux attaques

  28. IV. 1 – Types de connexions - OpenNet - Darknet - Faux darknet - mixte

  29. IV. 2 - Anonymat - On voit les requêtes comme si on était une passerelle (pas de connaissance de la source ou de la destination)‏ - Données en version chiffrées sur l'ordinateur - Déni plausible par impossibilité de lecture du contenu

  30. IV. 3 - Résistance à la censure - Censurer une info = la trouver et éteindre tous les noeuds qui l'ont - Trouver une info = faire des requêtes la concernant - Faire des requêtes sur une info = la multiplier => impossible de censurer quoi que ce soit => analyse du trafic pour identifier les nœuds seulement par des gouvernements ou de puissantes organisations

  31. IV. 4 - Résistance aux attaques a. Harvesting b. Location swapping c. Attaques légales d. Identification d'un utilisateur + Attaque par corrélation + Attaque adaptative

  32. a. Harvesting - Déf : Récupérer l'ensemble des adresses IP des noeuds pour les bloquer. Tous les logiciels de P2P sont sensibles à cette attaque. - ici : Freenet étant décentralisé, il faut faire tourner une version modifiée du noeud - Faisable uniquement par des gouvernements ou des organisations puissantes - Solution : Darknet

  33. b. Location swapping - Principe : Faire disparaître des données du réseau en détruisant des noeuds - ici : l'algorithme d'échange des positions est visé en ciblant une zone particulière et leurs clés associées - Solutions : + mécanisme de caching (2007) + changement de position sur le cercle aléatoire toutes les 2000 permutations = uniformisation des nœuds sur le cercle

  34. c. Attaques légales - Blocage de ports : port aléatoire pour les connexions, impossible de bloquer tous les ports - Blocage de protocole : le trafic est crypté donc impossible de détecter qu'il vient de Freenet - Interdiction du cryptage : impossible depuis l'apparition du commerce en ligne - Pénaliser l'utilisation de Freenet : Darknet subsistera. Perquisition de pc possible mais il faut un motif valable.

  35. d. Identification d'un utilisateur Uniquement sur : OpenNet, mixte, faux DarkNet + Attaque par corrélation - études statistiques des requêtes provenant des noeuds auxquels on est directement connectés - ex : pour un fichier de 4Go, il faut 270 000 requêtes. Un noeud OpenNet a 20 connexions, soit 13 500 morceaux/connexion + Attaque adaptative - se faire une idée de la position approximative d'une requête sur le cercle - s'en approcher et si on arrive à se connecter au noeud -> attaque par corrélation

  36. V. Démonstration ...

  37. Conclusion - Bonne idée initiale - A donné naissance à beaucoup d'autres logiciels P2P - Problèmes d'éthiques - Equilibre entre totale liberté et total contrôle ? - Difficulté à trouver des informations cohérentes.

  38. Bibliographie http://proton.inrialpes.fr/~gruber/Courses/DistributedSystems/fundamentals-part1.pdf/ http://doc-fr.freenetproject.org/Description_technique#Le_stockage_de_l.27information http://fr.wikipedia.org/wiki/Freenet/ http://freenetproject.org/ http://doc-fr.freenetproject.org/Accueil http://doc-fr.freenetproject.org/Accueil http://en.wikipedia.org/wiki/Freenet http://linuxfr.org/2008/04/02/23924.html http://wiki.freenetproject.org

More Related