Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
2,88 MB
Nội dung
Mộmoire de stage de fin dộtudes DistriNet Agrộgation fiable de donnộes dactivitộ sur linternet prộservant lanonymat 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 Remerciements Rộsumộ Abstract I Introduction Problộmatique Etat de lart Context 10 Objectives du projet DistriNet 10 Prộsenter prộcisộment mon sujet de stage 11 II Solution 13 Mộtaphore du vote 13 A Inscription 14 B Validation du votant 14 C Vote 15 Modộlisation de la procộdure de vote 15 Description dộtaillộe des solutions choisies 17 A Procộdure dinscription 17 B Procộdure daccốs 18 C Procộdure de vote 19 III Implộmentation 22 Architecture 22 Diverses techniques spộcifiques appliquộes dans le projet 23 IV Test & Rộsultats 25 Test fonctionnel (Mode demploi) 25 A Screenshot de Contact Peer 25 B Screenshot de Master Peer 26 C Mail de confirmation de DistriNet 27 D Screenshot dAccess Peer 28 E Screenshot de linterface de Vote 29 Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI DistriNet 2009 Validation 29 A Prộservation de lanonymat 29 B Non manupulabilitộ 35 Exemple dexploitation des donnộes agrộgộes (Google Maps) 35 V Conclusions & Perspectives 37 Conclusions 37 Perspectives 37 VI Annexe 39 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 dun pair institutionnel 47 A Installation des plate-formes 47 B Dộploiement dun pair institutionnel 48 C Configuration dun pair institutionnel 49 D Lancer le systốme DistriNet 49 Rộfộrences 50 Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI DistriNet 2009 Liste des figures Figure 1: Exemples dactivitộs sur lInternet Figure 2: Mộtaphore du vote - Etape : Inscription 14 Figure 3: Mộtaphore du vote - Etape : Validation du votant 14 Figure 4: Mộtaphore du vote - Etape : Vote 15 Figure 5: Architecture gộnộrale du systốme DistriNet 16 Figure : Procộdure dinsciption 17 Figure : Procộdure daccốs 18 Figure : Procộdure de vote Etape 19 Figure 9: Procộdure de vote Etape 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 dAccess Peer 28 Figure 15 : Screenshot de linterface de Vote 29 Figure 16: Exemple dun fichier de log 30 Figure 17: Nouvelle architecture prộvue 38 Figure 18 : Le trafic des messages dune procộdure de vote 40 Figure 19 : Interface de configuration 40 Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI DistriNet 2009 Remerciements Je tiens particuliốrement remercier professeur Martin RAJMAN, mon responsable de stage, pour lencadrement, laide, les conseils utiles et lenvironnement de travail trốs sộrieux quil ma donnộ pendant toute la durộe du stage Je tiens ộgalement remercier M.Trn Hu 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 lEPFL, M Pascal Felber, M Etienne Riviốre, M Lozenzo Leonini de luniversitộ Neuchõtel Institut dinformatique, 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 Jadresse mes sincốres remerciements tous les professeurs dinformatique ainsi que de franỗais de lIFI, qui sont quelquefois trốs sộvốres, pour mavoir 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 lIFI qui mont apportộ de laide 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 mont apportộ le courage dans les moments difficiles Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 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 (http://www.splay-project.org/) 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 dapplications 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 (http://www.lua.org/home.html) 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 Lanonymat 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ờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 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 (http://www.splay-project.org/) 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 (http://www.lua.org/home.html) 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ờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI DistriNet 2009 I Introduction Problộmatique Sur lInternet aujourdhui, nous avons beaucoup dactivitộs Dans le cadre de notre projet, les activitộs sur lInternet 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 sagit dune notion de suivi de lactivitộ sur linternet, cela veut dire intercepter lactivitộ effectuộe par des groupes dutilisateurs et lagrộ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 dactivitộs sur lInternet En observant les exemples ci-dessus, nous trouvons quil 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ờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI DistriNet 2009 ?) Peut-on les manipuler ? ?) Lanonymat 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 lon 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 lInternet Un autre aspect difficile du problốme est que ces systốmes de suivi doivent ờtre acceptables pour les utilisateurs Pour cela, lactivitộ 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, jai implộmentộ un tel systốme qui accumule tous les votes (une nouvelle conception sera dộfinie dans deuxiốme chapitre) des utilisateurs sur lInternet et les visualise dans une carte du monde (Google Maps) Dautre 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ộ lEPFL 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 Etat de lart 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 lanonymat 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 loignon, dont la tõche est de transmettre de maniốre anonyme des paquets TCP Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI DistriNet 2009 Site Web officiel du projet : http://www.torproject.org/index.html.fr FreeNet est un autre projet dans ce domain dont lidộe est de contruire un rộseau informatique anonyme et dộcentralisộ sur linternet Il vise permettre une libertộ dexpression et dinformation totale fondộe sur la sộcuritộ de lanonymat, et permet donc chacun de lire comme de publier du contenu Il offre la plupart des services actuels dinternet (courriel, tộlộchargement, web, etc.) Site Web officiel du projet : http://freenetproject.org/index.html 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 lactivitộ sur lInternet 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ộ Lanonymat des contributions individuelles utilisộes pour produire les donnộes agrộgộes 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 lInternet Il sagit dun 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 dabord sur deux grands points: prộservation de lanonimat 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 lEcole Polytechnique Fộdộrale de Lausanne EPFL et les partenaires de lUniversitộ de Neuchatel et de lISTI Pisa Je travaille plein temps dans laboratoire LIA (Artificial Intelligence Laboratory) lEPFL Cest 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 Objectives du projet DistriNet Nous allons construire un systốme ayant les caratộristiques comme suivant : Permettant de produire des donnộes agrộgộes dactivitộ sur lInternet librement accessibles (systốme ouvert) Cest parce que la plupart des systốmes existants aujourdhui nest pas gratuite et assez fermộe pour les grands publiques Grõce ce systốme ouvert, tout le monde Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 10 DistriNet 2009 Sur ce site on peut voir tous les urls votộs par les Volatile Peers dans le rộseau DistriNet Un tableau tout simple liste les sites web et son nombre de votes, grõce une bibliothốque spộciale, on peut gộnộrer les ips de ces urls et puis on utilise une autre bibliothốque pour gộnộrer les autres informations concernant ces ips comme: la longitude, la latitude, la location gộographique afin de visualiser dans la carte de Google Maps Sur la carte, vous voyez bien gộographiquement les sites web votộs et son nombre de votes Grõce notre systốme DistriNet, il sagit des rộsultats anonymes et non manipulables De plus, sur le tableau vous pouvez ordonner (trier) les sites web et ne visualiser que les sites dộj triộs (en choisissant les checkbox) Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 36 DistriNet 2009 V Conclusions & Perspectives Conclusions +) Un prototype pleinement opộrationnel permettant de stocker des donnộes dactivitộ agrộgộes (plus prộcisộment, les frộquences de visite de site Web ou de sộlection dune URL dans la liste de rộsultats produits par un moteur de recherche) a ộtộ produit +) Les mộcanismes implộmentộs garantissent de faỗon raisonnable lanonymat des contributions individuelles et la non-manipulabilitộ des donnộes stockộes -) Larchitecture actuelle est trop monolithique (ensemble du prototype ộcrit en LUA) ce qui a posộ de nombreux problốmes techniques -) Au dộbut, larchitecture du systốme nest pas clairement distinguộe entre les modules De plus, cause que le serveur Web Xavante ne soit pas trốs suffisament fort Nous avons donc rencontrộ assez des difficultộs Perspectives Grõce au travail en collaboration avec Tran Huu Duc (ancien ộtudiant de lIFI, mon collốgue maintenant dans le projet DistriNet) Une architecture amộliorộe a ộtộ conỗue et le systốme est en cours de rộimplộmentation Dans les premier temps du projet, larchitecture et les techniques ne sont pas trốs claires Mais larchitechture a ộtộ maintenant dộterminộe (comme limage dans la page suivante) Cette architerture contient trois parties distinguộes : - - Tout ce qui concerne la fonctionalitộ dun rộseau P2P (le protocole de routage, lộquilibrage de charge, le stockage des donnộes agrộgộes fournies dans le rộseau P2P) appartiendra au cụtộ de Neuchõtel Le dộveloppement des applications pour exploiter les donnộes stockộes dans la base des donnộes du rộseau est le travail cụtộ de lEPFL Des plug-ins/add-ons qui tournent sur le navigateur pour collecter les activitộs des utilisateurs vont ờtre effộtuộ par lEPFL Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 37 DistriNet 2009 Figure 17: Nouvelle architecture prộvue La connection effective au rộseau P2P va ờtre intộgrộe dans la nouvelle version du systốme Des techniques de gestion automatique de confiance entre pairs institutionnels vont ờtre dộveloppộes (collaboration prộvue avec lIFI en 2010) Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 38 DistriNet 2009 VI Annexe Code des messages GET_IPS : message qui demande lAccess Peer les ips des pairs institutionnels existants dans le rộseau DistriNet CHANGE_PASSWORD : message qui demande au Master Peer de changer le mot de passe UNREGISTRATION : message qui demande au Master Peer de supprimer un utilisateur existant dans le rộseau DistriNet LOGOUT : Demander de dộconnecter du systốme DistriNet EXPIREDSESSION : le message envoyộ par Access Peer qui informe Master Peer les sessions expirộes CHECK_ACCESS: demander au Master Peer de vộrifier lidentification dutilisateur et le mot de passe CREATE_TOKEN: demander au Master Peer de crộer les nouveaux jetons TOKENS : demander au Master Peer tous les jetons encore valable TRANSFER_VOTE: Message envoyộ par Volatile Peer aux deux pairs intermộdiaires P1 & P2 SEND_VOTE: Message envoyộ par les pairs intermộdiaires P1 & P2 au bureau de vote BV(S) TRANSFER_TO_INTERMEDIATE: Message envoyộ au pair intermộdiaire P3 par le bureau de Vote BV(S) ou bien par Volatile Peer ANSWER_TRANSFER_TO_INTERMEDIATE: le pair intermộdiaire P3 rộpond au bureau de vote BV(S) REQUEST_VERIFICATION_TO_MP : Demander Master Peer de vộrifier le jeton de vote Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 39 DistriNet 2009 Figure 18 : Le trafic des messages dune procộdure de vote Paramốtre du Systốme Figure 19 : Interface de configuration Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 40 DistriNet 2009 Il y a une interface spộciale pour configurer les paramốtres du systốme accộdộe seulement par ladministrateur du systốme (en gộnộral la personne qui dộploie le pair institutionnel) Nous fournissons deux possibilitộs de configuration des paramốtres du systốme : modifier sauvegarder (modify save), restaurer (reset) les paramốtres par dộfaut Ces paramốtres sont stockộs dans la base des donnộes Dans la mờme interface, nous pouvons aussi initialiser la base des donnộes (initialize database) Les paramốtres sont divisộs en groupes diffộrents Ce sont : Token TOKEN_TIME_OUT (s) : time out de jeton de vote, aprốs cette pộriode de temps, le jeton sera expirộ Autrement dit, nous ne pouvons plus utiliser ce jeton pour voter Dộfaut : 600(s) TOKEN_GET_PERIOD (s) : unitộ de temps pour demander de nouveaux jetons Dộfaut : 60(s) TOKEN_GET_NUMBER : le nombre de jetons gộnộrộs pour une fois demandộe Dộfaut : Serveur Web WEB_PORT : le port du serveur web Dộfaut : 9999 WEB_SESSION_DIR : le chemin du rộpertoire qui contient les informations concernantes les sessions contrụlộes par le serveur web Dộfaut : /tmp/luasession/ WEB_SESSION_TIME_OUT : aprốs cette pộriode de temps, sil ny avait aucune action de lutilisateur, la session serait fermộe Dộfaut : 1200(s) Serveur MYSQL MYSQL_DATABASE : le nom de la base des donnộes Dộfaut : distrinet MYSQL_USER : le nom de lutilisateur qui a crộộ et est accessible la base des donnộes distrinet dans MYSQL Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 41 DistriNet 2009 Dộfaut : distrinet MYSQL_PASSWORD : le mot de passe de lutilisateur ci-dessus Dộfaut : distrinet MYSQL_HOSTID : le nom de seuveur MYSQL Dộfaut : localhost MYSQL_PORT : le port de serveur MYSQL Dộfaut : 3306 Serveur SMTP : SMTP_SERVER_NAME : le nom de serveur SMTP Dộfaut : mail.epfl.ch SMTP_SERVER_PORT : le port de serveur SMTP Dộfaut : 25 SMTP_USER : lemail utilisộ pour envoyer le message de confirmation du systốme DistriNet Dộfaut : huuduc.tran@epfl.ch SMTP_PASSWORD : le mot de passe de lutilisateur Dộfaut : pas besoin Recaptcha RECAPTCHA_PUBLIC_KEY : la clộ publique utilisộe dans le cryptage du challenge entre le systốme DistriNet et le serveur de Recaptcha Dộfaut : 6Ld5QwcAAAAAAAUWGG53Jkk3WZ3Ji8PjV8crXZmd RECAPTCHA_PRIVATE_KEY : la clộ privộe utilisộe dans le cryptage du challenge entre le systốme DistriNet et le serveur de Recaptcha Dộfaut : 6Ld5QwcAAAAAADIPTofkjda8wa67A961l9dAGzz8 Google GOOGLE_MAP_KEY : la clộ servit utiliser le service de Google Maps Dộfaut : ABQIAAAAtQgjkzML9HvC0NJ3Y6lEehRr65xaCOqEfdnEVKzW7YqQaV_5KBQapvyLCtFCBwQKq6SBwf6EQa4lnA Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 42 DistriNet 2009 Splay SPLAY_PORT : le port pour communiquer avec Splay de chaque pair institutionnel Dộfaut : 60000 Others VOTE_PEER_IP : lIP du pair institutionnel qui fournit le service de vote abordộ dans la rubrique IV.4 (Exploitation des donnộes agrộgộes) Dộfaut : 128.178.155.92 Les fichiers de log A MP (128.178.155.80) [14:22:14:4239]: INSTITUTIONAL PEER : 128.178.155.80 Start log [14:26:17:9301]: MESSAGE CODE : GET_IPS [14:26:17:9304]: from: 128.178.155.80 [14:26:17:9305]: (s) ip: 128.178.155.80 [14:26:17:9306]: (s) ip: 128.178.155.38 [14:26:17:9309]: (s) ip: 128.178.155.92 [14:26:17:9311]: (s) ip: 128.178.155.100 [14:26:17:9313]: (s) ip: 128.178.155.105 [14:27:47:4036]: MESSAGE CODE : CHECK_ACCESS [14:27:47:4038]: from: 128.178.155.80 [14:27:47:404]: (r) userID: 632167955 [14:27:47:404]: (r) password: ****** [14:27:47:4077]: (s) msg: AUTHORISED [14:27:47:408]: (s) msg: OK_CHECK_ACCESS [14:27:47:408]: (s) email: huuduc.tran@epfl.ch [14:27:47:4482]: (r) IPAP: 128.178.155.80 [14:27:47:4503]: (r) sessionID: 862281406 [14:27:47:4593]: MESSAGE CODE : TOKENS [14:27:47:4594]: from: 128.178.155.80 [14:27:47:4604]: (s) userID: 632167955 [14:27:47:4615]: (s) msg: FINISH&FINISH Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 43 DistriNet 2009 [14:27:50:1424]: MESSAGE CODE : GET_IPS [14:27:50:1428]: from: 128.178.155.80 [14:27:50:1429]: (s) ip: 128.178.155.80 [14:27:50:143]: (s) ip: 128.178.155.38 [14:27:50:1433]: (s) ip: 128.178.155.92 [14:27:50:1435]: (s) ip: 128.178.155.100 [14:27:50:1437]: (s) ip: 128.178.155.105 [14:28:18:1896]: MESSAGE CODE : GET_IPS [14:28:18:1899]: from: 128.178.155.80 [14:28:18:19]: (s) ip: 128.178.155.80 [14:28:18:1902]: (s) ip: 128.178.155.38 [14:28:18:1904]: (s) ip: 128.178.155.92 [14:28:18:1906]: (s) ip: 128.178.155.100 [14:28:18:1908]: (s) ip: 128.178.155.105 [14:30:18:5724]: MESSAGE CODE : CREATE_TOKEN [14:30:18:5726]: from: 128.178.155.80 [14:30:18:5727]: (r) userID: 632167955 [14:30:18:5981]: (s) msg: CREATED_NEW_TOKENS [14:30:18:726]: MESSAGE CODE : TOKENS [14:30:18:7262]: from: 128.178.155.80 [14:30:18:7276]: (s) userID: 632167955 [14:30:18:7292]: (s) tokenID: 2ea14eac-d2b4-11de-80d7-00301baef1b2&1258378218 [14:30:18:7295]: (s) tokenID: 2ea17a12-d2b4-11de-80d7-00301baef1b2&1258378218 [14:30:18:7296]: (s) msg: FINISH&FINISH [14:31:49:6161]: MESSAGE CODE : GET_IPS [14:31:49:6164]: from: 128.178.155.80 [14:31:49:6165]: (s) ip: 128.178.155.80 [14:31:49:6167]: (s) ip: 128.178.155.38 [14:31:49:6169]: (s) ip: 128.178.155.92 [14:31:49:6171]: (s) ip: 128.178.155.100 [14:31:49:6173]: (s) ip: 128.178.155.105 [14:31:49:8034]: MESSAGE CODE : REQUEST_VERIFICATION_TO_MP Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 44 DistriNet 2009 [14:31:49:8036]: from: 128.178.155.100 [14:31:49:8037]: (r) c1: #$2ea17a12-d2b4-11de$# [14:31:49:8037]: (r) c2: #$-80d7-00301baef1b2$# [14:31:49:8063]: (s) msg: OK_VOTE_SESSION_ID B P1 (128.178.155.105) [14:22:14:4022]: INSTITUTIONAL PEER : 128.178.155.105 Start log [14:31:49:6558]: MESSAGE CODE : TRANSFER_VOTE [14:31:49:6561]: from: 128.178.155.80 [14:31:49:7258]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:7261]: (r) code: #$2ea17a12-d2b4-11de$# [14:31:49:7263]: (r) messageCrypt: Salted 2dfỡĩòúầặĩễvĐĂUJễẫằ/DÔứmặ\3 ô-Ôv [14:31:49:7346]: (s:128.178.155.92) MESSAGE CODE: SEND_VOTE [14:31:49:7349]: (s:128.178.155.92) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:735]: (s:128.178.155.92) code: #$2ea17a12-d2b4-11de$# [14:31:49:7353]: (s:128.178.155.92) messageCrypt: Salted 2dfỡĩòúầặĩễvĐĂUJễẫằ/DÔứmặ\3 ô-Ôv C P2 (128.178.155.38) [14:22:14:8528]: INSTITUTIONAL PEER : 128.178.155.38 Start log [14:31:49:7545]: MESSAGE CODE : TRANSFER_VOTE [14:31:49:7547]: from: 128.178.155.80 [14:31:49:7958]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:7959]: (r) code: #$-80d7-00301baef1b2$# [14:31:49:796]: (r) messageCrypt: Salted ộửéWa\è k !Lsa Ô [14:31:49:798]: (s:128.178.155.92) MESSAGE CODE: SEND_VOTE [14:31:49:7981]: (s:128.178.155.92) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:7982]: (s:128.178.155.92) code: #$-80d7-00301baef1b2$# [14:31:49:7983]: (s:128.178.155.92) messageCrypt: Salted ộửéWa\è k !Lsa Ô D P3 (128.178.155.100) [14:22:14:5539]: INSTITUTIONAL PEER : 128.178.155.100 Start log Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 45 DistriNet 2009 [14:31:50:1696]: MESSAGE CODE : TRANSFER_TO_INTERMEDIATE [14:31:50:1697]: from: 128.178.155.80 [14:31:50:1699]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:50:17]: (r) code: #$2ea17a12-d2b4-11de$# [14:31:50:1707]: (r+p) c1: #$2ea17a12-d2b4-11de$# [14:31:50:1708]: (r+p) c2: [14:31:50:1709]: (r+p) IPMP: 128.178.155.80 [14:31:50:2624]: MESSAGE CODE : TRANSFER_TO_INTERMEDIATE [14:31:50:2626]: from: 128.178.155.92 [14:31:50:2627]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:50:2628]: (r) code: #$2ea17a12-d2b4-11de$# [14:31:50:2635]: (r+p) c1: #$2ea17a12-d2b4-11de$# [14:31:50:2636]: (r+p) c2: #$-80d7-00301baef1b2$# [14:31:50:2637]: (r+p) IPMP: 128.178.155.80 [14:31:50:2734]: (s:128.178.155.80) MESSAGE CODE: REQUEST_VERIFICATION_TO_MP [14:31:50:2736]: (s:128.178.155.80) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:50:2737]: (s:128.178.155.80) c1: #$2ea17a12-d2b4-11de$# [14:31:50:2738]: (s:128.178.155.80) c2: #$-80d7-00301baef1b2$# [14:31:50:2739]: (r:128.178.155.80) answerFromMP: OK_VOTE_SESSION_ID [14:31:50:2762]: (s:128.178.155.92) MESSAGE CODE: ANSWER_TRANSFER_TO_INTERMEDIATE [14:31:50:2763]: (s:128.178.155.92) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:50:2764]: (s:128.178.155.92) answerFromMP: OK_VOTE_SESSION_ID E BV(S) (128.178.155.92) [14:22:14:8054]: INSTITUTIONAL PEER : 128.178.155.92 Start log [14:31:49:634]: MESSAGE CODE : SEND_VOTE [14:31:49:6341]: from: 128.178.155.105 [14:31:49:6342]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:6343]: (r) code: #$2ea17a12-d2b4-11de$# [14:31:49:6344]: (r) messageCrypt: Salted 2dfỡĩòúầặĩễvĐĂUJễẫằ/DÔứmặ\3 ô-Ôv [14:31:49:6998]: MESSAGE CODE : SEND_VOTE [14:31:49:7]: from: 128.178.155.38 [14:31:49:7001]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 46 DistriNet 2009 [14:31:49:7001]: (r) code: #$-80d7-00301baef1b2$# [14:31:49:7002]: (r) messageCrypt: Salted ộửéWa\è k !Lsa Ô [14:31:49:7868]: (p) p3: 128.178.155.100 [14:31:49:7869]: (p) url: url-url: www.epfl.ch www.mmaline.org 10 [14:31:49:787]: (p) c1: #$2ea17a12-d2b4-11de$# [14:31:49:7871]: (p) c2: #$-80d7-00301baef1b2$# [14:31:49:7953]: (s:128.178.155.100) MESSAGE CODE: TRANSFER_TO_INTERMEDIATE [14:31:49:7954]: (s:128.178.155.100) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:7955]: (s:128.178.155.100) c1: #$2ea17a12-d2b4-11de$# [14:31:49:7956]: (s:128.178.155.100) c2: #$-80d7-00301baef1b2$# [14:31:49:8178]: MESSAGE CODE : ANSWER_TRANSFER_TO_INTERMEDIATE [14:31:49:8179]: from: 128.178.155.100 [14:31:49:818]: (r) voteSessionID: 64e60d36-d2b4-11de-8f9c-000c29d0bd46 [14:31:49:8181]: (r) answerFromMP: OK_VOTE_SESSION_ID Introduction de dộploiement dun pair institutionnel Voici les ộtapes essentielles et nộcessaires pour dộployer et configurer le systốme DistriNet: A Installation des plate-formes Les parquets essentiels o build-essential OpenSSL libraries o libssl-dev o libssl0.9.8 Rộfộrencer: http://www.openssl.org/docs/ LUA : on choisit la version 5.1 et installe les parquets suivants : o lua5.1 o liblua5.1-0 o liblua5.1-0-dev Rộfộrencer : http://www.lua.org/ Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 47 DistriNet 2009 LuaSocket 2.x shared library o liblua5.1-socket2 o liblua5.1-socket-dev Rộfộrencer : http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/ LuaSec 0.2+ shared library o luasec-0.3.3.tar.gz (tộlộcharger, faire la compilation et l'installation manuellement) Attention : modifier les paths appropriộs LUAPATH, CPATH et INCDIR (le rộpertoire contient le fichier lua.h, peut-ờtre localisộ par la commande locate lua.h aprốs avoir fait lupdate par la comande : updatedb) Rộfộrencer : http://www.inf.puc-rio.br/~brunoos/luasec/ SPLAY Rộfộrencer: http://www.splay-project.org/index.php?page=download CONTROLLER (seulement pour le pair qui veut jouer le rụle) Rộfộrencer: http://www.splay-project.org/index.php?page=download KEPLER (rocks, xavante) o Faire attention d'installer d'abord : libreadline-dev Rộfộrencer : http://www.keplerproject.org/en/UNIX_Installation RECAPTCHA Rộfộrencer : http://spu.tnik.org/lib/recaptcha/ MYSQL o mysql-server-5.0 ou bien plus Rộfộrencer : http://www.mysql.com/ LuaSQL (luasql.mysql) o liblua5.1-sql-mysql-2 o liblua5.1-sql-mysql-dev Rộfộrencer : http://www.keplerproject.org/luasql/ B Dộploiement dun pair institutionnel Aller au rộpertoire racine de SPLAY Ouvrir le fichier setting.lua et modifier les paramốtres comme suivant: splayd.settings.key = "votre clộ personnelle" Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 48 DistriNet 2009 splayd.settings.name = "votre nom personnel" splayd.settings.controller.ip = "rộfộrencer le controller dộfaute sur le side web de DistriNet: http://code.google.com/p/distrinet/" Aller au rộpertoire racine de Serveur Web Tộlộcharger ou bien faire le check-out le code source sur : http://code.google.com/p/distrinet/ pour le pair institutionnel et le copier au rộpertoire racine de serveur de web Accộder MYSQL et exộcuter les commandes: create database distrinet; GRANT ALL PRIVILEGES ON distrinet.* TO 'distrinet'@'localhost' IDENTIFIED BY 'distrinet' WITH GRANT OPTION; C Configuration dun pair institutionnel Aller au rộpertoire racine du serveur web et puis exộcuter la commande: lua init_config.lua D Lancer le systốme DistriNet Afin d'ờtre un pair institutionnel dans le rộseau, on doit lancer la fois tous les deux : Splayd et serveur de web Xavante Aller au rộpertoire racine de SPLAY et lancer en saisissant la commande: /splayd Lancer en tant que root le serveur web : sudo xavante Pour le pair joue le rụle de contrụller, il faut aller au rộpertoire racine de contrụler et lancer comme suivant : /controller.rb Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 49 DistriNet 2009 Rộfộrences [1] Lorenzo Leonini, Etienne Riviốre, Pascal Felber SPLAY: Distributed System Evaluation Make Simple (or how to turn ideas into live systems in a breeze) To appear in Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI'09), Boston, MA, April, 2009 [2] Patrizio Dazzi, Pascal Felber, Le Bao Anh, Lorenzo Leonini, Matteo Mordacchini, Raffaele Perego, Martin Rajman, Etienne Riviốre Peer-to-Peer clustering of Webbrowsing users Workshop LSDS-IS 2009 Boston [3] Roberto Ierusalimschy PUC-Rio, Brazil, Programming in Lua, lua.org, 2nd edition, Rio de Janeiro, 2006 [4] Site web du projet Splay : http://www.splay-project.org/ [5] Site web du projet Kepler : http://www.keplerproject.org/ [6] Site web du projet Tor : http://www.torproject.org/index.html.fr [7] Site web du projet FreeNet : http://freenetproject.org/index.html Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 50 [...]... frộquences des sites web votộs Nous proposons deux critốres pour garantir non manipulabilitộ: Tout vote doit ờtre authentifiộ par un jeton de vote valide (unicitộ des jetons de votes) Tout utilisateur ne peut obtenir quun nombre limite de jetons de vote par unitộ de temps (unicitộ de lidentitộ) 3 Exemple dexploitation des donnộes agrộgộes (Google Maps) Voici un exemple dapplication de visualisation des informations... 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)... contenant seulement lIP de Master Peer pour validation du vote 2) Dans cette ộtape, les deux pairs intermộdiares P1 & P2 ne font quune 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)... que la rộception de lIP de Access Peer, Volatile Peer submittera son userID et password Access Peer 3) LIP de Master Peer de cet utilisateur sera extrait partir duserID, Access Peer utilise IP(MP) afin de transmettre les informations de lutilisateur Master Peer pour les authentifier et attendre la rộponse de Master Peer 4) La rộponse de Master Peer sur lauthentification daccốs de Volatile Peer 5)... 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 dutilisateur, les donnộes dactivitộ 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... puis choisit un jeton de vote disponible dans la liste Faire attention que un vote est valide si et seulement si ờtre accompagnộ par un jeton de vote validộ o On peut alternativement demander les nouveaux jetons en cliquant sur le bouton Get New Token 2 Validation A Prộservation de lanonymat Nous donnons une faỗon pour valider le fonctionnement, cest un systốme de log (un fichier de log) qui rộcupộre... 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 lindộpendance entre C1 et C2 Dans notre cas, nous avons choisi de couper en deux parties de tokenID (la moitiộ... utilisateur sur lInternet (ex : la visite dun site web, le click sur un lien URL aprốs une recherche); on sintộ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 dauthentification des votes, appellộ aussi jeton de vote Bureau de vote : machine... qui nous permet daccộder au rộseau DistriNet en authentifiant login/password fourni Lờ Bo Anh | Institut de la Francophonie pour lInformatique - IFI 28 DistriNet 2009 E Screenshot de linterface de Vote Figure 15 : Screenshot de linterface de Vote Une fois accộdộe dans le rộseau DistriNet, on peut : Changer le mot de passe Logout Voir le table de vote (expliquộ dans la partie 4 de ce chapitre) Voter... code source et configurộ par ladminitrateur de ce serveur (pair institutionnel) Les descriptions de dộploiment et de configuration se trouvent dans la partie dannexe 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 dannexe Tout le code