Tải bản đầy đủ (.pdf) (50 trang)

Agrégation fiable de données d’activité sur l’internet préservant l’anonymat

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.88 MB, 50 trang )

Mémoire de stage de fin d’études

DistriNet
Agrégation fiable de données d’activité sur
l’internet préservant l’anonymat
Etudiant :

LE Bao Anh

Superviseur :

Martin RAJMAN - Maître d'enseignement et de recherche
Artificial Intelligence Laboratory - LIA,
Ecole Polytechnique Fédérale de Lausanne - EPFL

09


DistriNet 2009

Table des matières
Liste des figures ........................................................................................................................ 4
Remerciements .......................................................................................................................... 5
Résumé...................................................................................................................................... 6
Abstract ..................................................................................................................................... 7
I.

Introduction ....................................................................................................................... 8
1.
2.
3.


4.
5.

Problématique ................................................................................................................ 8
Etat de l‟art ..................................................................................................................... 9
Context ......................................................................................................................... 10
Objectives du projet DistriNet ..................................................................................... 10
Présenter précisément mon sujet de stage .................................................................... 11

II. Solution............................................................................................................................ 13
1.

Métaphore du vote ....................................................................................................... 13
A.

Inscription ............................................................................................................. 14

B.

Validation du votant ............................................................................................. 14

C.

Vote ...................................................................................................................... 15

2.
3.

Modélisation de la procédure de vote .......................................................................... 15
Description détaillée des solutions choisies ................................................................. 17

A.

Procédure d‟inscription......................................................................................... 17

B.

Procédure d‟accès ................................................................................................. 18

C.

Procédure de vote ................................................................................................. 19

III. Implémentation ................................................................................................................ 22
1.
2.

Architecture.................................................................................................................. 22
Diverses techniques spécifiques appliquées dans le projet .......................................... 23

IV. Test & Résultats............................................................................................................... 25
Test fonctionnel (Mode d‟emploi) ............................................................................... 25

1.

A.

Screenshot de Contact Peer .................................................................................. 25

B.


Screenshot de Master Peer .................................................................................... 26

C.

Mail de confirmation de DistriNet........................................................................ 27

D.

Screenshot d‟Access Peer ..................................................................................... 28

E. Screenshot de l‟interface de Vote............................................................................. 29
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
2


DistriNet 2009
2.

Validation ..................................................................................................................... 29
A.

Préservation de l‟anonymat .................................................................................. 29

B.

Non manupulabilité .............................................................................................. 35
Exemple d‟exploitation des données agrégées (Google Maps) ................................... 35


3.

V. Conclusions & Perspectives ............................................................................................ 37
1.
2.

Conclusions .................................................................................................................. 37
Perspectives.................................................................................................................. 37

VI. Annexe ............................................................................................................................. 39
1.
2.
3.

Code des messages ....................................................................................................... 39
Paramètre du Système .................................................................................................. 40
Les fichiers de log ........................................................................................................ 43
A.

MP (128.178.155.80) ............................................................................................ 43

B.

P1 (128.178.155.105) ........................................................................................... 45

C.

P2 (128.178.155.38) ............................................................................................. 45

D.


P3 (128.178.155.100) ........................................................................................... 45

E. BV(S) (128.178.155.92) ........................................................................................... 46
Introduction de déploiement d‟un pair institutionnel................................................... 47

4.

A.

Installation des plate-formes ................................................................................. 47

B.

Déploiement d‟un pair institutionnel .................................................................... 48

C.

Configuration d‟un pair institutionnel .................................................................. 49

D.

Lancer le système DistriNet ................................................................................. 49

Références ............................................................................................................................... 50

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
3



DistriNet 2009

Liste des figures
Figure 1: Exemples d’activités sur l’Internet ............................................................................. 8
Figure 2: Métaphore du vote - Etape 1 : Inscription ............................................................... 14
Figure 3: Métaphore du vote - Etape 2 : Validation du votant ............................................... 14
Figure 4: Métaphore du vote - Etape 3 : Vote......................................................................... 15
Figure 5: Architecture générale du système DistriNet ............................................................ 16
Figure 6 : Procédure d’insciption............................................................................................. 17
Figure 7 : Procédure d’accès ................................................................................................... 18
Figure 8 : Procédure de vote – Etape 1 ................................................................................... 19
Figure 9: Procédure de vote – Etape 2 .................................................................................... 20
Figure 10: Architecture d'un pair institutionnel ...................................................................... 22
Figure 11 : Screenshot de Contact Peer .................................................................................. 25
Figure 12 : Screenshot de Master Peer ................................................................................... 26
Figure 13 : Screenshot de mail de confirmation du réseau DistriNet ..................................... 27
Figure 14 : Screenshot d’Access Peer ...................................................................................... 28
Figure 15 : Screenshot de l’interface de Vote ......................................................................... 29
Figure 16: Exemple d’un fichier de log .................................................................................... 30
Figure 17: Nouvelle architecture prévue ................................................................................. 38
Figure 18 : Le trafic des messages d’une procédure de vote .................................................. 40
Figure 19 : Interface de configuration .................................................................................... 40

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
4



DistriNet 2009

Remerciements
Je tiens particulièrement à remercier professeur Martin RAJMAN, mon responsable de stage,
pour l‟encadrement, l‟aide, les conseils utiles et l‟environnement de travail très sérieux qu‟il
m‟a donné pendant toute la durée du stage.
Je tiens également à remercier M.Trần Hữu Đức, pour sa collaboration très utiles et ses
nouveaux concepts, ses aides, ses commentaires et ses discussions qui ont fait progresser
mon travail.
Je voudrais remercier tout le personnel de l‟équipe DistriNet de laboratoire LIA de l‟EPFL,
M. Pascal Felber, M. Etienne Rivière, M. Lozenzo Leonini de l‟université Neuchâtel Institut
d‟informatique, Nathalie Perin et son équipe de l‟école des Beaux-Arts à Genève ainsi que
Patrizio Dazzi, Matteo Mordacchini mes collègues de High Performance Computing
Laboratoire ISTI-CNR Pisa, Italy pour leurs aides, conseils et encouragements.
J‟adresse mes sincères remerciements à tous les professeurs d‟informatique ainsi que de
français de l‟IFI, qui sont quelquefois très sévères, pour m‟avoir enseigné et me donné les
cours intéressants pendant mes études au niveau master. Je profite de cette occasion pour dire
remercier à tous les personnels de l‟IFI qui m‟ont apporté de l‟aide.
Je remercie chaleureusement mes camarades de la promotion 13 pour leur amitié. Je leur
souhaite bonne chance pour la soutenance.
Finalement, je voudrais remercier ma famille, mes parents et mes amis qui sont toujours près
de moi et m‟ont apporté le courage dans les moments difficiles.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
5



DistriNet 2009

Résumé
L'impact économique de l'Internet se développe chaque jour. La plupart des applications de
Web existant à grande échelle et systèmes commerciaux existants sont actuellement
centralisées et nécessitent une grande quantité de ressources matérielles et logicielles. En
outre, ils soulèvent régulièrement le problème de respecter “privacy” de diverses pièces
d'information fournis par les utilisateurs pour les applications sur Internet. Réseau P2P
représentent un axe de recherche intéressant pour résoudre ces deux problèmes.
Le but du projet est de construire un prototype de P2P basé sur l'environnement Splay
( de l'Université de Neuchâtel, et visant à fournir contrôle de
pertinence mesuré pour des communautés d'utilisateurs. Splay est un environnement pour le
prototypage et le déploiement d‟applications distribuées de grande taille. Ce système contient
déjà une partie de réseau P2P, ainsi que des mécanismes spécifiques pour garantir la
robustesse du système. Splay est développée par le langage de programmation LUA
( />La génération de contrôle de pertinence s'appuiera sur les recherches exécutées par l'EPFL et
l'Université de Neuchâtel dans le cadre du projet CoFeed. L'idée de base est de suivre
l'activité de requêtes des utilisateurs, et de suivre les documents qu'ils sélectionnent dans les
pages de résultats récupérées par les requêtes soumises, et de stocker ces pages dans le
système P2P.
Parmi les questions importantes à étudier, nous pouvons citer l'anonymat de contrôle de
pertinence fourni par les utilisateurs, et la non manipulabilité de ces informations.
L‟anonymat est nécessaire pour assurer la confidentialité des informations transmises et
cacher l'expéditeur de ces informations. Non manipulabilité est nécessairee pour éviter que
les pairs peuvent envoyer de manière répétitive les mêmes informations dans le but de
biaiser les statistiques maintenues par le système. Des solutions efficaces pour les deux
questions seront dévelopées en LUA.
Mots-clés :
Réseau pair-à-pair, anonymat, non manipulabilité.


Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
6


DistriNet 2009

Abstract
The economic impact of the Internet is growing every day. Most of the existing large-scale
web-based applications and existing commercial systems are currently centralized and
require a substantial amount of hardware and software resources. In addition, they regularly
raise the problem of enforcing the privacy of the various pieces of information provided by
the users to such Internet applications. P2P network represent an interesting research
direction to solve both of these problems.
The purpose of this project is to build a P2P prototype based on the Splay environment
( of the University of Neuchâtel, and aiming at providing
relevance feedback information tailored for various user communities. The Splay
environment is a system that simplifies the prototyping and development of distributed
applications deployed on overlay networks. This system already contains a part of the
targeted P2P framework, as well as specific mechanisms for guaranteeing the robustness of
the system. Splay is developed in the LUA programming language
( />The generation of the relevance feedback information will rely on the research carried out by
EPFL and UniNE in the framework of the CoFeed project. The basic idea is to monitor the
querying activity of the users, and to track the documents they select in the result pages
retrieved by the submitted queries, and to store these pages in the P2P system.
Among the important issues to study, one can cite the anonymity of the relevance feedback
information provided by the users, and the non manipulability of such information.
Anonymity will require to ensure the privacy of transmitted information and hide the sender
of these informations. Non manipulability will require to avoid that peers can repetitively

submit the same information to bias the statistic maintained by the system. Effective
solutions for both issues will be developed in LUA.
Key words:
Peer-to-Peer network, anonymity, non manipulability.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
7


DistriNet 2009

I.

Introduction

1. Problématique
Sur l‟Internet aujourd‟hui, nous avons beaucoup d‟activités. Dans le cadre de notre projet, les
activités sur l’Internet peuvent être définies comme les visites des sites Web, les
soumissions des requêtes sur un moteur de recherche...
Si nous pouvons agréger ces activités et les stocker de façon efficace pour traiter et exploiter,
cela donnera des résultats intéressants pour les utilisateurs. Il s‟agit d‟une notion de suivi de
l’activité sur l’internet, cela veut dire intercepter l‟activité effectuée par des groupes
d‟utilisateurs et l‟agréger en une activité moyenne. Par exemple, pour le cas des visites de
sites web, cela revient à calculer le nombre moyen de visites reçues par un site au cours du
temps.

Figure 1: Exemples d’activités sur l’Internet
En observant les exemples ci-dessus, nous trouvons qu‟il y a quelques grandes questions

posées:
?) Les différentes données agrégées fournies (e.g. fréquences de visites ou votes) sont-elle
fiables ?
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
8


DistriNet 2009
?) Peut-on les manipuler ?
?) L‟anonymat des contributions individuelles est-il préservé ?
...
Notre recherche sert à résoudre complètement ce problème. La solution efficace de ce
problème est très importante car si l‟on peut avoir confiance en ces données, à partir de cela,
on peut construire un grand nombre des systèmes (en particulier, des applications) de types
différents qui rendre des choses très utiles pour les grands publiques sur l‟Internet.
Un autre aspect difficile du problème est que ces systèmes de suivi doivent être acceptables
pour les utilisateurs. Pour cela, l‟activité de suivi doit essentiellement :
Préserver l'anonymat (i.e. qu'il ne soit pas possible de reconstruire les activités
individuelles à partir des informations échangees et stockées dans le système).
Donner des résultats raisonnablement fiables, en particulier qu'il ne soit pas trop
facile de biaiser les résultats produits en générant artificellement de l'activité (par
exemple en visitant un site que l'on veut favoriser plusieurs fois). L'idee dans le projet
pour éviter de telles manipulations est d'utiliser la notion d'authentification,
permettant de garantir qu'une activité n'est prise en compte qu'une seule fois par
utilisateur.
Un exemple simple de ces systèmes est de traiter ces données brutes et de les visualiser (sur
une carte). A la fin de mon projet du stage, j‟ai implémenté un tel système qui accumule tous
les “votes” (une nouvelle conception sera définie dans deuxième chapitre) des utilisateurs sur

l‟Internet et les visualise dans une carte du monde (Google Maps).
D‟autre type de système sera prochainement implémenté à partir de ces données est un
système de recommandation (un tel système sera effectué à l‟EPFL par Tran Huu Duc). En
basant sur les fréquences séparées de sites web visties ou les fréquences des co-occurence des
sites web visités (visité pendant une période donnée), ce système donne aux utilisateurs des
suggestions intéressantes et utiles.

2. Etat de l’art
Il existe maintenant des systèmes de presque même fonctionnalité que nous espérons, parmi
entre eux on peut citer comme Tor or FreeNet. Ces deux systèmes nous permettent de
garantir l‟anonymat de la navigation par changer automatiquement et continuellement
“proxy” et la sécurité des données échangées/stockées par cryptage.
Tor (le routage en oignon) est un réseau modial décentralisé de routeurs, organisés en
couches, appelés noeuds de l‟oignon, dont la tâche est de transmettre de manière anonyme
des paquets TCP.
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
9


DistriNet 2009
Site Web officiel du projet : />FreeNet est un autre projet dans ce domain dont l‟idée est de contruire un réseau
informatique anonyme et décentralisé sur l‟internet. Il vise à permettre une liberté
d‟expression et d‟information totale fondée sur la sécurité de l‟anonymat, et permet donc à
chacun de lire comme de publier du contenu. Il offre la plupart des services actuels d‟internet
(courriel, téléchargement, web, etc.)
Site Web officiel du projet : />Mais notre but dans le projet DistriNet est différent que celui de Tor et de FreeNet. Notre but
essentiel est de rendre grands publiques des données agrégées sur l’activité sur l’Internet
en tout garantissant des caractéristiques:

La capacité de raisonner de façon fiable à partir de ces données agrégées. Autrement
dit, le système doit garantir le non manipulabilité.
L‟anonymat des contributions individuelles utilisées pour produire les données
agrégées.

3. Context
Dans le cadre du projet DistriNet, on cherche à résoudre plusieurs questions différentes
posées comme abordé ci-dessus et à construire un système réel sur l‟Internet. Il s‟agit d‟un
très grand projet à long terme et besoin beaucoup de contributions de toute l‟équipe. Après
des discussions sérieuses avec mon supervieur. Nous nous concentrons d‟abord sur deux
grands points: préservation de l’anonimat et non manipulabilité. Ce sont deux points
cruciaux et difficiles à résoudre et sont aussi mon sujet de stage.
Ce projet est effectué en collabaration entre l‟Ecole Polytechnique Fédérale de Lausanne –
EPFL et les partenaires de l‟Université de Neuchatel et de l‟ISTI Pisa.
Je travaille plein temps dans laboratoire LIA (Artificial Intelligence Laboratory) à l‟EPFL.
C‟est une de deux grandes écoles polytechniques prestigieuses de la Suisse. Ca me donne un
environnement de travail très sérieux et du niveau international.

4. Objectives du projet DistriNet
Nous allons construire un système ayant les caratéristiques comme suivant :
1. Permettant de produire des données agrégées d’activité sur l’Internet librement
accessibles (système ouvert).
C‟est parce que la plupart des systèmes existants aujourd‟hui n‟est pas gratuite et
assez fermée pour les grands publiques. Grâce à ce système ouvert, tout le monde

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
10



DistriNet 2009

2.

3.

4.

5.

peut construire pour soi-même des applications libre qui exploitent les données
agrégées et servent aux différents buts.
Garantissant l’anonymat des contributions individuelles.
Cette caractéristique est pour but de garantir que personne hors d‟utilisateur puisse
savoir ces contributions individuelles ce qui, quelques fois est trop importants dans
certains systèmes statistiques informatiques.
Garantissant une fiabilité raisonnable pour les données agrégées fournies
Cette caractéristique nous permet de traiter les données pour extraire les informations
nécessaires dans les différents buts.
Stockant les données dans un réseau P2P (pas de serveur centralisé nécessaire)
Nous choisissons le réseau P2P pour stocker les données agrégées parce que deux
raisons principales.
Premièrement, nous voulons que toutes les données soient distribuées dans tout le
réseau et tous les pairs dans le réseau jouent le même rôle que les autres. Autrement
dit, aucun pair peut contrôler soi-même tout ou bien la plupart des données agrégées
dans le réseau.
Deuxièmement, ces données stockées sont énormes, si elles sont stockées de façon
centralisée, nous deviendrons résoudre au problème du coût de la resource (la
resource matérielle demandée).

Permettant le développement d’applications utiles exploitant les données
disponibles (par exemple des applications de visualisation)
Notre système est ouvert, c‟est la raison pour laquelle que le système doit permettre
aux gens (les développeurs) d‟exploiter les données pour sa diversité de buts.

5. Présenter précisément mon sujet de stage
Comme abordé tout d‟abord, dans mon cas, je dois résoudre deux problèmes principaux:
l'anonymat et non-manipulabilité. Pour chaque problème, je dois chercher les techniques
disponibles ainsi que concevoir les techniques spéciales pour atteindre les buts posés.
Pour comprendre exactement ce que je dois faire, je les définis comme suivant:
Préservation de l’anonymat des contributions individuelles:
Le mécanisme de construction des données agrégées ne doit pas permettre de reconstruire
l‟identité des utilisateurs fournissant les données indiviuelles.
Non manipulabilité:
Les données agrégées doivent être raisonnablement fiables:
Les contributions individuelles ne doivent pas pouvoir être dupliquées
Les contributions individuelles doivent pouvoir être authentifiées
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
11


DistriNet 2009
Dans la partie “Test & Résultats” je vais prouver ces points en utilisant et en expliquant que
mon système fonctionne correctement comme ces définitions.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI

12


DistriNet 2009

II.

Solution

1. Métaphore du vote
Théoriquement, un vote de notre sens est défini comme:
Les contributions individuelles sont modélisées comme des votes.
Et
La procédure d’agrégation est modélisée comme une votation (système de vote)
On utilise une image de vote normal existe dans la vie courante pour facilement comprendre
les conceptions utilisées dans ce projet. Un vote, en général, c‟est-à-dire une activité sur
l‟internet comme un utilisateur appuie sur un lien d‟Internet, compléter un sondage ou bien
soumettre une requête de recherche avec des mots-clés sur une machine de recherche...
On peut imaginer une activité mentionnée comme un vote dans la vie courante (après ceci,
appellé “vote”). Ici, nous vous donnons une comparaison étape par étape les correspondances
entre un vote dans la vie courante et un vote dans notre sens: (3 étapes). Mais il faut d‟abord
comprendre les concepts essentiels utilisés dans le système:
Vote : recensement d‟une activité d‟un utilisateur sur l‟Internet (ex : la visite d‟un site
web, le click sur un lien URL après une recherche); on s‟intéresse prioritairement à
des activités pour lesquelles il existe un historique (historique de navigation, de
recherche, bookmarks, ...).
Votant : utilisateur inscrit dans le système DistriNet.
Bulletin de vote : mécanisme d‟authentification des votes, appellé aussi jeton de
vote.
Bureau de vote : machine connectée au réseau DistriNet chargée de prendre en

compte (i.e. agréger, compter) les votes pour un type d‟activité donné (e.g. les visites
d‟un site Web).
Je distingue concrètement les 3 étapes :

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
13


DistriNet 2009
A. Inscription
Vote réel

DistriNet

Figure 2: Métaphore du vote - Etape 1 : Inscription
Dans cette étape, un utilisateur doit s‟inscrire auprès d‟un “Master Peer” (un pair
institutionnel dans le réseau DistriNet et son explication détaillée sera abordée plus tard) pour
avoir le droit de voter. Le fait n‟est exécuté qu‟une fois (la première fois d‟accès au réseau).
Le système demandera aux utilisateurs une identité, dans notre système c‟est une adresse
email valide.
La technique de filtrage spécique captcha est utilisée pour éviter les inscriptions
automatiques par robots. La version utilisée dans le système est recaptcha, une version
gratuite, populaire et destiné spécifiquement pour les logicielles source ouvert.
Après cette étape, l‟utilisateur peut obtenir un login/password, cela est considéré comme
“carte d’électure” pour voter dans les fois suivantes.
Afin d‟éviter les gens qui veulent tricher le système, un email de confirmation sera envoyé à
cette adresse email dans le but de validation.


B. Validation du votant
Vote réel

DistriNet

Figure 3: Métaphore du vote - Etape 2 : Validation du votant
Chaque fois un votant veut voter, il doit présenter l‟identité (email dans ce cas-là). L‟étape
correspondante dans notre système est de faire un login avec l‟identification d‟utilisateur et le
mot de passe reçus de l‟étape précedante.
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
14


DistriNet 2009
C. Vote
Vote réel

DistriNet

Figure 4: Métaphore du vote - Etape 3 : Vote
Au lieu de mettre le bulletin de vote dans une boîte, l‟utilisateur clique sur un lien URL ou
bien envoie une requête de recherche dans le réseau DistriNet. Ces données sont stockées
dans le réseau.

2. Modélisation de la procédure de vote
Une architecture générale du système DistriNet fonctionne comme dans la figure suivante :

Lê Bảo Anh


| Institut de la Francophonie pour l‟Informatique - IFI
15


DistriNet 2009

Figure 5: Architecture générale du système DistriNet
Avec :


Volatile Peer (VP) : un utilisateur de l‟Internet (en fait, un plug-in dans le navigateur
Web qu‟il utilise)



Contact Peer (CP) : une machine dans le réseau DistriNet (i.e. un pair institutionnel)
qui permet aux utilisateurs d‟accéder au réseau



Access Peer (AP) : un pair institutionnel (aléatoirement choisi par le Contact Peer)
qui permet aux utilisateurs d‟accéder aux réssources du réseau DistriNet



Master Peer (MP) : le pair institutionnel (aléatoirement choisi par le Contact Peer)
qui permet a un nouvel utilisateur de s‟inscrire dans le réseau, gère son information
spécifique (adresse mail, login/password), lui fournit des jetons de vote et authentifie
ses votes


Un Volatile Peer sur l‟Internet ne connait que Contact Peer. Autrement dit, Contact Peer est
un seul pair institutionnel connu pour les utilisateurs dans le réseau. Après avoir bien
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
16


DistriNet 2009
contacté, Contact Peer va choisir aléatoirement un autre pair institutionnel (c‟est Master Peer
si Volatile Peer veut s‟inscrire dans le réseau DistriNet, et Access Peer dans le cas d‟accéder
au réseau DistriNet). C‟est aussi une façon de garantir l‟équilibrage de charge pour le réseau
Pair-à-Pair.

3. Description détaillée des solutions choisies
A. Procédure d’inscription

Figure 6 : Procédure d’insciption
Tout d‟abord, Volatile Peer contacte avec Contact Peer pour recevoir l‟IP de Master Peer
choisi aléatoirement par ce Contact Peer. En suite, Volatile Peer transfère directement à ce
Master Peer reçu: email, password, recaptcha pour l‟inscription et Master Peer confirmera
l‟utilisateur par email donné.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
17



DistriNet 2009
B. Procédure d’accès

Figure 7 : Procédure d’accès
1) D‟abord, Volatile Peer contacte Contact Peer et reçoit IP(AP) comme la procédure
présentée plus tôt.
2) Dès que la réception de l‟IP de Access Peer, Volatile Peer submittera son userID et
password à Access Peer.
3) L‟IP de Master Peer de cet utilisateur sera extrait à partir d‟userID, Access Peer
utilise IP(MP) afin de transmettre les informations de l‟utilisateur à Master Peer pour
les authentifier et attendre la réponse de Master Peer.
4) La réponse de Master Peer sur l‟authentification d‟accès de Volatile Peer.
5) Access Peer permet à Volatile Peer d‟accéder au réseau DistriNet.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
18


DistriNet 2009
C. Procédure de vote
Cette procédure contient deux étapes principales :
Etape 1 :

Figure 8 : Procédure de vote – Etape 1
1) Volatile Peer contacte avec Contact Peer, et puis Contact Peer génère aléatoirement
un pair institutionnel et répond à Volatile Peer l‟adresse IP d‟Access Peer pour que
Volatile Peer puisse accéder au réseau auprès cet Access Peer.
2) Il s‟agit d‟une procédure d‟accès au réseau DistriNet comme expliqué ci-dessus dans

la partie “Procédure d‟accès”.
3) Une fois accédée, Volatile Peer demandera à l‟Access Peer de générer pour lui les
trois pairs intermédiaires P1, P2, P3 pour effecturer le vote. Parmi eux, P1 et P2
jouent le rôle de transmettre les messages de vote tandis que le pair intermédiaire P3
s‟occupe de la validation de vote. Après avoir reçu les ips de trois ces pairs
intermédiaires, la procédure continuera comme dans l‟étape 2.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
19


DistriNet 2009
Etape 2 :
Dans cette étape, les messages circilants dans le réseau DistriNet sont assez compliqués, les
numéros suivants sont correspondants avec ceux dans la figure:

Figure 9: Procédure de vote – Etape 2
BV(S) : Bureau de Vote du site S
Premièrement, Volatile Peer génère les deux codes C1 et C2 à partir de tokenID pour crypter
les messages votés dans le but de cacher le contenu avec les pairs intermédiaires. Il y a
plusieurs possibilités différentes pour générer ces deux codes en garantissant l‟indépendance
entre C1 et C2. Dans notre cas, nous avons choisi de couper en deux parties de tokenID (la
moitié à gauche et celle à droite de tokenID). Ce Volatile Peer utilise ces deux codes afin
d‟envoyer des messages pour les pairs intermédiaires P1 & P2.
1) Volatile Peer envoie 3 messages pour les 3 pairs intermédiaires. Pour les P1 & P2, la
structure des messages est :

Lê Bảo Anh


| Institut de la Francophonie pour l‟Informatique - IFI
20


DistriNet 2009
a.
b.
c.
d.

Vote session ID : ID d‟une session de vote
IP(BV(S)) : Adresse Logique du Site web voté
Code
Crypt d‟un message

Note que : les messages sont cryptés de façon croisée. C‟est-à-dire que le message
envoie à P1 accompagné par C1 est crypté par C2 et vice-versa.
Les deux pairs intermédiaires font seulement une chose de transmettre des messages
au pair destinataire (le pair s‟occupe du vote ou bureau de vote).
Volatile Peer envoie en même temps pour le pair intermédiaire P3 un message
contenant seulement l‟IP de Master Peer pour validation du vote.
2) Dans cette étape, les deux pairs intermédiares P1 & P2 ne font qu‟une chose est de
transmettre les messages reçus au pair destinataire (bureau de vote, BV(S)).
3) Une fois bureau de vote reçu les deux messages, il décrypte de façon croisée les deux
messages pour savoir le contenu (décrypter le message reçu par P1 avec code reçu par
P2 et vice-versa). Après le décryptage, BV(S) sait le vote, le pair intermédiaire de
validation de vote P3 et les deux codes C1, C2. Un message contient C1 et C2 sera
envoyé à P3 pour demander la validation de ce vote.
4) P3 rejoint les deux messages reçus par BV(S) et Volatile Peer et puis contacte avec

Master Peer pour valider C1 et C2.
5) Master Peer répond à la demande de P3 : OK/NOT_OK
6) P3 attend la réponse de l‟étape 5 et la transmettre à BV(S). BV(S) reçoit la réponse et
traiter le vote (accepter si la réponse est positive ou réfuser dans le cas contraire).
Après avoir observé toutes les étapes, nous trouvons que:
Ces pairs intermédiairs P1 & P2 savent seulement l‟expéditeur et le destinataire mais ils ne
savent rien du tout le contenu des messages, c‟est-à-dire le site web voté et le pair
intermédiaire P3 (le pair intermédiaire de validation du jeton de vote).
Tandis que le pair intermédiaire P3 et Master Peer ne savent que tokenID mais pas le
contenu du vote.
C‟est évidamment que Volatile Peer et Bureau de Vote savent le contenu du vote, mais
BV(S) ne sait pas Volatile Peer.
C‟est la raison pour laquelle que cette procédure abordée préserve l‟anonymat de la
contribution individuelle.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
21


DistriNet 2009

III.

Implémentation

1. Architecture

Architecture d’un pair institutionnel


Web
serveur

Splay

Lua

Réseau Pair-à-Pair

Figure 10: Architecture d'un pair institutionnel
Dans le réseau DistriNet, tous les pairs institutionnels ont la même fonction (il joue le rôle
comme Master Peer, Access Peer ou peut-être Contact Peer dans certains cas). C‟est
pourquoi tous les pairs institutionnels ont la même architecture (détaillée dans la figure 10).
Toutes les fonctions de base sont développées en Lua. Lua est un langage de programmation
de script libre, réflexif, impératif et fonctionnel. Mais Lua se pose certaines difficultés
rencontrées pendant l‟implémentation du projet notamment les difficultés du développement
de web.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
22


DistriNet 2009
Une de deux parties principales de cette architecture est un “job” Splay. Splay est un
environnement pour le prototypage et le déploiment d’applications distribuées de grande
taille.
Plus précisément, ce “job” Splay qui tourne tout le temps (temps réel) afin de traiter les

données reçues, traiter les messages (transmettre, crypter, décrypter)... Il est déployé
automatiquement à partir d‟un pair institutionnel unique dans le réseau (qui joue le rôle
contrôller dans le réseau) pour tous les pairs institutionnels dans le réseau DistriNet.
La partie de web serveur permet au système d‟interagir avec les utilisateurs.
Dans tout le développement, nous nous appuyons sur plusieurs projets et bibliothèques
supportées Lua dans les domains de web, base de données, cryptage, recaptcha... La plupart
de ces modules se trouve dans le projet Kepler :
/>Il s‟agit d‟une plate-forme open source pour le développement d‟applications web en LUA.
La partie de web qui tourne de manière séparée et indépendante sur chaque pair institutionnel
dans le réseau DistriNet. Pour chaque pair institutionnel, cette partie doit être déployé
manuellement à partir du code source et configuré par l‟adminitrateur de ce serveur (pair
institutionnel). Les descriptions de déploiment et de configuration se trouvent dans la partie
d‟annexe IV.
Nous listons tous les codes des messages transmis pour que tous les pairs institutionnels
puissent se connecter, ainsi que toutes les informations techniques concernant la mise en
oeuvre du sysème dans la partie d‟annexe.
Tout le code source et ainsi que les modifications du projet se trouvent sur l‟Internet sur le
lien : />
2. Diverses techniques spécifiques appliquées dans le projet
Le protocole de transmission des messages dans le réseau DistriNet maintenant est TCP/IP
(Transmission Control Protocol/Internet Protocol). A cause que la manque du protocol de
routage dans le réseau pair-à-pair (La connection effective au réseau P2P va être intégrée
dans la nouvelle version du système). Nous devons donc utiliser le protocole TCP/IP pour
transmettre les messages.
Tout le cryptage des données a été appliqué pour transmettre les messages dans notre
système est l‟algorithme DES (Data Encryption Standard) en utilisant la bibliothèque
openssl (la spécification détaillée de cette technique peut être trouvé sur
/>
Lê Bảo Anh


| Institut de la Francophonie pour l‟Informatique - IFI
23


DistriNet 2009
Le système de gestion de base de données MYSQL a été utilisé afin de gérer les informations
de chaque pair institutionnel comme les informations d‟utilisateur, les données d‟activité
agrégées fiables, les paramètres de configuation du système.
Le serveur web Xavante est utilisé pour être mieux compatible avec le langage de
progammation LUA selon les suggessions des auteurs de LUA. Xavante fait partie du projet
Kepler : />
Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
24


DistriNet 2009

IV.

Test & Résultats

1. Test fonctionnel (Mode d’emploi)
Dans cette partie, nous vous présentons quelques principaux screenshots et ses explications
de notre système.

A. Screenshot de Contact Peer

Figure 11 : Screenshot de Contact Peer

La première connection avec le réseau DistriNet est l‟interface de Contact Peer.
Une petite fenêtre qui liste les pairs institutionnels existants dans le réseau.
On peut choisir les fonctions :
Register (s‟inscrire) : si un utilisateur appuie sur ce bouton, Contact Peer va choisir
aléatoirement un pair institutionnel et y aller (redirect). Ce pair institutionnel
deviendra Master Peer de cet utilisateur.

Lê Bảo Anh

| Institut de la Francophonie pour l‟Informatique - IFI
25


×