Sujet d’étude d’approfondissement en réseau: Freenet Responsable du module: Florence Perronnin Auteurs: Audrey COLBRANT Samy SIDOTMANE
Feb 11, 2016
Sujet dtude dapprofondissement en rseau: FreenetResponsable du module: Florence Perronnin
Auteurs: Audrey COLBRANT Samy SIDOTMANE
PlanIntroduction
I. Description gnraleII. Les rseaux P2P dcentralis faiblement structurIII. Description technique de FreenetIV. Objectifs de Freenet V. Dmonstration
Conclusion
Bibliographie
IntroductionNaissance du projetAnne de cration : 1999Concepteur : Ian ClarkeLieu : Edimbourg
Fonctionnalits possibles avec Freenet 0.7Surfer sur des sites FreenetCrer et insrer des free SiteDiscussions dans des forumsEchange de fichiersRception et envoi demail
Fonctionnement globalRseau btit sur internetDiamtralement oppos aux principes du webPas de client ni de serveur / tous clients et tous serveurP2P =/= Freenet =/= Web
Espace de total libertAnonymatRsistance la censureRsistance aux attaquesCest fun
I. Description gnrale
Comment se connecter Freenet ?Installer un nud sur votre PCNud = Serveur (accs local: 127.0.0.1:8888)Patienter 24 48 heures pour que la page daccueil soit utilisable.
II. Les rseaux P2P dcentraliss faiblement structurs Le principe :P2PChaque nud est serveur et client en mme tempsLes ressources sont dcentralises
Dcentralis Recherche de ressources dcentraliseMonte en charge
StructurAnneau 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
Exemple danneau logique avec DHT 6bitsLes nuds Les cls prives associes aux ressourcesFinger Table pour le nud 8
Mais alors quest ce que le P2P dcentralis faiblement structur ?Nuds ordonns sur lanneauRessources dupliquesRessources non ordonnes sur lanneauFinger Table remplace par un cache
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
III. 1. Fonctionnement du rseau Freenet(Sinsrer dans le rseau)Jai tlcharg le logiciel Freenet et dmarr le service(nud actif)Votre OrdinateurBrowserNoeud127.0.0.1:8888Internetport : 238320107cdb705b37dbbcbbd6ec836919bebea24b3bf962a2943213c0032ef3c6afnodeId :
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau)Jai tlcharg le logiciel Freenet et dmarr le service(nud actif)Pour accder au rseau il faut connaitre quelquunVous connaissez l NodeInfo et ip dun ami (on suppose quil est dans le rseau) Votre NoeudLe Nud de votre ami toto83.203.191.2386.101.11.33Toto envoi:idVoisin le plus proche du votre
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau)Jai tlcharg le logiciel Freenet et dmarr le service(nud actif)Pour accder au rseau il faut connaitre quelquunVous connaissez lIP dun ami (on suppose quil est dans le rseau) Vous ne connaissez personne hlas (reste le DNS pas vraiment jour)Votre NoeudLe Nud retourn par le DNS83.203.191.2386.101.11.33Nud inconnu envoi:idVoisin le plus proche du votreDNS
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau)Jai tlcharg le logiciel Freenet et dmarr le service(nud actif)Pour accder au rseau il faut connaitre quelquunVous connaissez lIP dun ami (on suppose quil est dans le rseau) 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
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau)Bilan jusqu prsentN2^160-1 1N2^159Votre nudEst plac dans sa zoneN2^160-XXX123
III. 1. Fonctionnement du rseau freenet (Sinsrer dans le rseau)Jai tlcharg le logiciel Freenet et dmarr le service(nud actif)Pour accder au rseau il faut connaitre quelquunVous connaissez lIP dun ami (on suppose quil est dans le rseau) 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 connections4. ce moment notre table de routage possde quelques voisins qui eux aussi nous ont dans leur Table
III. 2. Le stockage de l'informationa - Les cls
b - Le stockage - tout est fichier - un fichier = une cl unique - fichiers coups en blocs de 32 Ko
Accs au fichier par :
http://localhost:8888/[Freenet Key]
CHK - Content Hash Keys SSK - Signed Subspace Keys USK - Updateable Subspace KeysIII. 2.a - Les cls
CHK :Permet de dsigner un fichier particulier sur le rseau (mp3, pdf...).
Compos de :1. le hash du fichier donnant un identifiant unique2. la cl de dcryptage qui permet de lire le fichier3. la mthode de cryptage
impossible de dcrypter 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
SSK :Permet de dsigner un fichier qui va changer au cours du temps (Freesite...).
Compos de :1. le hash du fichier donnant un identifiant unique2. la cl de dcryptage qui permet de lire le fichier3. mta donnes contenant notamment la mthode de cryptage4. le chemin choisi par le crateur de la donnes5. le numro de version de la donne
A quoi a ressemble ? SSK@file hash,decryption key,crypto settings/path-version
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 unique2. la cl de dcryptage qui permet de lire le fichier3. mta donnes contenant notamment la mthode de cryptage4. le chemin choisi par le crateur de la donnes5. le numro de version de la donne
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
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.
III. 3. Fonctionnement du rseau freenet (Tlcharger une ressource)Je suis un nud dj intgr qui a des voisinsJai une cl qui correspond une ressource et je dsire la rcuprer. Key CHK/SSk et HTLRessource correspondante
III. 3. Fonctionnement du rseau freenet (Echange de position -- SWAP)Demandes successives dun nud son voisin se rapportant des cls voisinesEchange de position sur lOverlay2.Echange de cache (cls associes aux nuds)
Principe complmentaire avec le systme de duplication de donnes
III. 3. Fonctionnement du rseau freenet (Insertion de ressources)On insre notre ressource dans notre nudLe Nud se charge de transformer la ressource en Freenet RessourceOn la stock dans notre store On choisit 1 voisin dans la liste (le plus proche de la ressource)et on tire alatoirement un HTLOn leur envoi la ressourceLe voisin reoit une ressource, la stock dans son store, et la diffuse en dcrmentant le HTL
III. 4. Flux Rseau et ports utiliss
FNP : port de communication choisit alatoirement pour viter les blocages de port
FCPv2: Protocole base de message le transport seffectue via TCPTypes de messages : hello Client, listPeer, listPeers etc III. 4. Flux Rseau et ports utiliss
IV. Comment Freenet atteint ses objectifs ?1 Types de connexions
2 - Anonymat
3 - Rsistance la censure
4 - Rsistance aux attaques
IV. 1 Types de connexions - OpenNet
- Darknet
- Faux darknet
- mixte
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
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
a. Harvesting
b. Location swapping
c. Attaques lgales
d. Identification d'un utilisateur + Attaque par corrlation + Attaque adaptative
IV. 4 - Rsistance aux attaques
a. Harvesting - Df : Rcuprer l'ensemble des adresses IP des noeuds pour les bloquer. Tous les logiciels de P2P sont sensibles cette attaque.
- ici : Freenet tant dcentralis, il faut faire tourner une version modifie du noeud
- Faisable uniquement par des gouvernements ou des organisations puissantes
- Solution : Darknet
b. Location swapping - Principe : Faire disparatre des donnes du rseau en dtruisant des noeuds
- ici : l'algorithme d'change des positions est vis en ciblant une zone particulire et leurs cls associes
- Solutions : + mcanisme de caching (2007)+ changement de position sur le cercle alatoire toutes les 2000 permutations = uniformisation des nuds sur le cercle
c. Attaques lgales - Blocage de ports : port alatoire pour les connexions, impossible de bloquer tous les ports
- Blocage de protocole : le trafic est crypt donc impossible de dtecter qu'il vient de Freenet
- Interdiction du cryptage : impossible depuis l'apparition du commerce en ligne
- Pnaliser l'utilisation de Freenet : Darknet subsistera. Perquisition de pc possible mais il faut un motif valable.
d. Identification d'un utilisateur+ Attaque par corrlation+ Attaque adaptative - se faire une ide de la position approximative d'une requte sur le cercle
- s'en approcher et si on arrive se connecter au noeud -> attaque par corrlation - tudes statistiques des requtes provenant des noeuds auxquels on est directement connects
- ex : pour un fichier de 4Go, il faut 270 000 requtes. Un noeud OpenNet a 20 connexions, soit 13 500 morceaux/connexion
Uniquement sur : OpenNet, mixte, faux DarkNet
V. Dmonstration...
Conclusion - Bonne ide initiale
- A donn naissance beaucoup d'autres logiciels P2P
- Problmes d'thiques
- Equilibre entre totale libert et total contrle ?
- Difficult trouver des informations cohrentes.
Bibliographiehttp://proton.inrialpes.fr/~gruber/Courses/DistributedSystems/fundamentals-part1.pdf/http://doc-fr.freenetproject.org/Description_technique#Le_stockage_de_l.27informationhttp://fr.wikipedia.org/wiki/Freenet/http://freenetproject.org/http://doc-fr.freenetproject.org/Accueilhttp://doc-fr.freenetproject.org/Accueilhttp://en.wikipedia.org/wiki/Freenethttp://linuxfr.org/2008/04/02/23924.htmlhttp://wiki.freenetproject.org
samysamysamyaudreyaudreysamysamysamysamysamysamysamysamysamysamyaudreyaudreyaudreyaudreyaudreyaudreysamysamysamysamysamyaudreyaudreyaudreyaudreyaudreyaudreyaudreyaudreyaudreyLes deuxaudrey