Sujet dtude dapprofondissement en rseau: Freenet Responsable du module: Florence Perronnin Auteurs: Audrey COLBRANT Samy SIDOTMANE
Page 3
Plan Introduction I. Description gnrale II. Les rseaux P2P dcentralis faiblement structur III. Description technique de Freenet IV. Objectifs de Freenet V. Dmonstration Conclusion Bibliographie
Page 4
Introduction Naissance du projet Anne de cration : 1999 Concepteur : Ian Clarke Lieu : Edimbourg Fonctionnalits possibles avec Freenet 0.7 Surfer sur des sites Freenet Crer et insrer des free Site Discussions dans des forums Echange de fichiers Rception et envoi demail
Page 5
Fonctionnement global Rseau btit sur internet Diamtralement oppos aux principes du web Pas de client ni de serveur / tous clients et tous serveur P2P =/= Freenet =/= Web Espace de total libert Anonymat Rsistance la censure Rsistance aux attaques Cest fun I. Description gnrale
Page 6
Comment se connecter Freenet ? Installer un nud sur votre PC Nud = Serveur (accs local: 127.0.0.1:8888) Patienter 24 48 heures pour que la page daccueil soit utilisable.
Page 7
II. Les rseaux P2P dcentraliss faiblement structurs Le principe : P2P Chaque nud est serveur et client en mme temps Les ressources sont dcentralises Dcentralis Recherche de ressources dcentralise Monte en charge Structur Anneau logique o lon ordonne les nuds et les cls de dcryptage des donnes. Une Finger Table sur chaque nud pour reprer les cls lors des recherches
Page 8
Exemple danneau logique avec DHT 6bits Les nuds Les cls prives associes aux ressources ClNud 8+1=9N14 8+2=10N14 8+4=12N14 8+8=16N21 8+16=24N32 8+32=40N42 Finger Table pour le nud 8
Page 9
Mais alors quest ce que le P2P dcentralis faiblement structur ? Nuds ordonns sur lanneau Ressources dupliques Ressources non ordonnes sur lanneau Finger Table remplace par un cache
Page 10
III. Description technique de Freenet 1. Sinsrer dans le rseau 2. Stockage de linformation 3. Les principaux protocoles de routage 4. Flux rseau et ports utiliss
Page 11
III. 1. Fonctionnement du rseau Freenet (Sinsrer dans le rseau) 1.Jai tlcharg le logiciel Freenet et dmarr le service(nud actif) Votre Ordinateur Browser Noeud 127.0.0.1:8888 Internet port : 2383 20107cdb705b37dbbcbbd6ec836919bebea24b3bf962a2943213c0032ef3c6afnodeId :
Page 12
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau) 1.Jai tlcharg le logiciel Freenet et dmarr le service(nud actif) 2.Pour accder au rseau il faut connaitre quelquun A.Vous connaissez l NodeInfo et ip dun ami (on suppose quil est dans le rseau) Votre Noeud Le Nud de votre ami toto 83.203.191.23 86.101.11.33 Toto envoi: idVoisin le plus proche du votre
Page 13
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau) 1.Jai tlcharg le logiciel Freenet et dmarr le service(nud actif) 2.Pour accder au rseau il faut connaitre quelquun A.Vous connaissez lIP dun ami (on suppose quil est dans le rseau) B.Vous ne connaissez personne hlas (reste le DNS pas vraiment jour) Votre Noeud Le Nud retourn par le DNS 83.203.191.23 86.101.11.33 Nud inconnu envoi: idVoisin le plus proche du votre DNS
Page 14
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau) 1.Jai tlcharg le logiciel Freenet et dmarr le service(nud actif) 2.Pour accder au rseau il faut connaitre quelquun A.Vous connaissez lIP dun ami (on suppose quil est dans le rseau) B.Vous ne connaissez personne hlas (reste le DNS pas vraiment jour) Dans les deux cas vous avez un NodeId auquel vous connecter 3.Se connecter au voisin que lon vous a retourn, son tour il vous redirigera jusqu ce que vous ayez au moins 3 connections et au plus 20 connections
Page 15
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau) Bilan jusqu prsent N2^160-1 1 N2^159 Votre nud Est plac dans sa zone N2^160-XXX 1 2 3
Page 16
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau) 1.Jai tlcharg le logiciel Freenet et dmarr le service(nud actif) 2.Pour accder au rseau il faut connaitre quelquun A.Vous connaissez lIP dun ami (on suppose quil est dans le rseau) B.Vous ne connaissez personne hlas (reste le DNS pas vraiment jour) 3.Se connecter au voisin que lon 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 possde quelques voisins qui eux aussi nous ont dans leur Table
Page 17
III. 2. Le stockage de l'information a - Les cls b - Le stockage - tout est fichier - un fichier = une cl unique - fichiers coups en blocs de 32 Ko
Page 18
Accs au fichier par : http://localhost:8888/[Freenet Key] CHK - Content Hash Keys SSK - Signed Subspace Keys USK - Updateable Subspace Keys III. 2.a - Les cls
Page 19
CHK : Permet de dsigner un fichier particulier sur le rseau (mp3, pdf...). Compos de : 1. le hash du fichier donnant un identifiant unique 2. la cl de dcryptage qui permet de lire le fichier 3. la mthode de cryptage impossible de dcrypter le fichier sans la CHK A quoi a ressemble ? [email protected] hash,decryption key,crypto settings Par exemple : [email protected]~HM5nzf3AX4yFCBc-A4dhNUF5DPJZLL5NX5Brs, bA7qLNJR7IXRKn6uS5PAySjIM6azPFvK~18kSi6bbNQ,AAEA--8
Page 20
SSK : Permet de dsigner 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 dcryptage qui permet de lire le fichier 3. mta donnes contenant notamment la mthode de cryptage 4. le chemin choisi par le crateur de la donnes 5. le numro de version de la donne A quoi a ressemble ? [email protected] hash,decryption key,crypto settings/path-version
Page 21
USK : Permet de charger la dernire version d'un site, mcanisme de recherche de last update sur un SSK. Compos de : 1. le hash du fichier donnant un identifiant unique 2. la cl de dcryptage qui permet de lire le fichier 3. mta donnes contenant notamment la mthode de cryptage 4. le chemin choisi par le crateur de la donnes 5. le numro de version de la donne On construit une cl USK partir d'une SSK ainsi : [email protected] hash,decryption key,crypto settings/path-version => [email protected] hash,decryption key,crypto settings/path/version
Page 22
III. 2. b - Le stockage - Dossier download - Datastore divis en deux parties gales : * Le cache : stockage des cls qui passent par le noeud map de : noeud source, cl, frquence de passage -> explique le dlai pour que le nud soit oprationnel * Le store : stockage des donnes cryptes qui ont t rapatries sur le noeud Mcanisme de flush de la mmoire utilise.
Page 23
III. 3. Fonctionnement du rseau freenet (Tlcharger une ressource) Je suis un nud dj intgr qui a des voisins Jai une cl qui correspond une ressource et je dsire la rcuprer. Key CHK/SSk et HTL Ressource correspondante
Page 24
III. 3. Fonctionnement du rseau freenet (Echange de position -- SWAP) 1.Demandes successives dun nud son voisin se rapportant des cls voisines Echange de position sur lOverlay 2.Echange de cache (cls associes aux nuds) Principe complmentaire avec le systme de duplication de donnes
Page 25
III. 3. Fonctionnement du rseau freenet (Insertion de ressources) On insre notre ressource dans notre nud Le Nud 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 alatoirement un HTL On leur envoi la ressource Le voisin reoit une ressource, la stock dans son store, et la diffuse en dcrmentant le HTL
Page 26
III. 4. Flux Rseau et ports utiliss
Page 27
FNP : port de communication choisit alatoirement pour viter les blocages de port FCPv2: Protocole base de message le transport seffectue via TCP Types de messages : hello Client, listPeer, listPeers etc III. 4. Flux Rseau et ports utiliss
Page 28
IV. Comment Freenet atteint ses objectifs ? 1 Types de connexions 2 - Anonymat 3 - Rsistance la censure 4 - Rsistance aux attaques
Page 29
IV. 1 Types de connexions - OpenNet - Darknet - Faux darknet - mixte
Page 30
IV. 2 - Anonymat - On voit les requtes comme si on tait une passerelle (pas de connaissance de la source ou de la destination) - Donnes en version chiffres sur l'ordinateur - Dni plausible par impossibilit de lecture du contenu
Page 31
IV. 3 - Rsistance la censure - Censurer une info = la trouver et teindre tous les noeuds qui l'ont - Trouver une info = faire des requtes la concernant - Faire des requtes sur une info = la multiplier => impossible de censurer quoi que ce soit => analyse du trafic pour identifier les nuds seulement par des gouvernements ou de puissantes organisations
Page 32
a. Harvesting b. Location swapping c. Attaques lgales d. Identification d'un utilisateur + Attaque par corrlation + Attaque adaptative IV. 4 - Rsistance aux attaques
Page 33
a. Harvesting - Df : Rcuprer l'ensemble des adresses IP des noeuds pour les bloquer. Tous les logiciels de P2P sont sensibles