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

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

Feb 11, 2016

Download

Documents

Connor Tullis

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

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

Plan

Introduction

I. Description généraleII. Les réseaux P2P décentralisé faiblement structuréIII. Description technique de FreenetIV. Objectifs de Freenet V. Démonstration

Conclusion

Bibliographie

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

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

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

• 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

I. Description générale

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

• 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.

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

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

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

Exemple d’anneau logiqueavec DHT à 6bits

Les nœuds

Les clés privées associées aux ressources

Clé Nœud8+1=9 N14

8+2=10 N14

8+4=12 N14

8+8=16 N21

8+16=24 N32

8+32=40 N42

Finger Table pour le nœud 8

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

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

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

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

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

III. 1. Fonctionnement du réseau Freenet(S’insérer dans le réseau)

1. J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)

Votre Ordinateur

BrowserNoeud127.0.0.1:8888

Internet

port : 2383

20107cdb705b37dbbcbbd6ec836919bebea24b3bf962a2943213c0032ef3c6afnodeId :

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

III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)

1. J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)2. Pour accéder au réseau il faut connaitre quelqu’un

A. Vous connaissez l’ NodeInfo et ip d’un ami (on suppose qu’il est dans le réseau)

Votre NoeudLe Nœud de

votre ami toto 83.203.191.2386.101.11.33

Toto envoi:idVoisin le plus proche du votre

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

III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)

1. J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)2. Pour accéder au réseau il faut connaitre quelqu’un

A. Vous connaissez l’IP d’un ami (on suppose qu’il est dans le réseau) B. Vous ne connaissez personne hélas (reste le DNS – pas vraiment à jour)

Votre NoeudLe Nœud

retourné par le DNS 83.203.191.2386.101.11.33

Nœud inconnu envoi:idVoisin le plus proche du votre

DNS

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

III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)

1. J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)

2. Pour accéder au réseau il faut connaitre quelqu’unA. Vous connaissez l’IP d’un ami (on suppose qu’il est dans le réseau) B. 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

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

III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)

Bilan jusqu’à présent

N2^160-1 1

N2^159

Votre nœudEst placé dans sa zone

N2^160-XXX

1

2

3

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

III. 1. Fonctionnement du réseau freenet (S’insérer dans le réseau)

1. J’ai téléchargé le logiciel Freenet et démarré le service(nœud actif)

2. Pour accéder au réseau il faut connaitre quelqu’unA. Vous connaissez l’IP d’un ami (on suppose qu’il est dans le réseau) B. 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

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

III. 2. Le stockage de l'information

a - Les clés

b - Le stockage

- tout est fichier - un fichier = une clé unique - fichiers coupés en blocs de 32 Ko

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

Accès au fichier par :

http://localhost:8888/[Freenet Key]

CHK - Content Hash Keys SSK - Signed Subspace Keys USK - Updateable Subspace Keys

III. 2.a - Les clés

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

CHK :

Permet de désigner un fichier particulier sur le réseau (mp3, pdf...).

Composé de :1. le hash du fichier donnant un identifiant unique2. la clé de décryptage qui permet de lire le fichier3. 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

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

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 unique2. la clé de décryptage qui permet de lire le fichier3. méta données contenant notamment la méthode de cryptage4. le chemin choisi par le créateur de la données5. le numéro de version de la donnée

A quoi ça ressemble ? SSK@file hash,decryption key,crypto settings/path-version

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

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 unique2. la clé de décryptage qui permet de lire le fichier3. méta données contenant notamment la méthode de

cryptage4. le chemin choisi par le créateur de la données5. 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

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

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.

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

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

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

III. 3. Fonctionnement du réseau freenet (Echange de position -- SWAP)

1. Demandes successives d’un nœud à son voisin se rapportant à des clés voisines

Echange de position sur l’Overlay2. Echange de cache (clés associées aux nœuds)

Principe complémentaire avec le système de duplication de données

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

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

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

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

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

• 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 …

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

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

IV. Comment Freenet atteint ses objectifs ?

1 – Types de connexions

2 - Anonymat

3 - Résistance à la censure

4 - Résistance aux attaques

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

IV. 1 – Types de connexions

- OpenNet

- Darknet

- Faux darknet

- mixte

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

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

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

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

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

a. Harvesting

b. Location swapping

c. Attaques légales

d. Identification d'un utilisateur + Attaque par corrélation + Attaque adaptative

IV. 4 - Résistance aux attaques

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

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

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

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

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

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.

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

d. Identification d'un utilisateur

+ Attaque par corrélation

+ 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

- é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

Uniquement sur : OpenNet, mixte, faux DarkNet

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

V. Démonstration

...

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

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.

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

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