Spelling suggestions: "subject:"réseaux pairar"" "subject:"réseaux pair.tai""
1 |
Autorité de certification distribuée pour des réseaux pair-à-pair structurés : modèle, mise en oeuvre et exemples d'applicationsLesueur, François 27 November 2009 (has links) (PDF)
Les systèmes pair-à-pair permettent de concevoir des systèmes de très grande taille à forte disponibilité, tout cela à faible coût. Au contraire des clients dans un système client-serveur, les pairs d'un réseau pair-à-pair jouent un rôle actif dans le fonctionnement du réseau et fournissent leur bande passante, leur puissance de calcul et leur capacité de stockage : la présence de pairs malveillants ou ne se conformant pas au comportement attendu peut rompre le service proposé. L'obtention de propriétés de sécurité dans un réseau pair-à-pair pose de nouveaux problèmes car, au contraire des systèmes actuels dans lesquels, le plus souvent, une autorité ponctuelle autorise ou non les opérations demandées, aucun pair ne doit avoir un rôle critique pour le système entier. La contribution principale de cette thèse est une autorité de certification distribuée qui permet la signature distribuée de certificats. Au contraire des autorités de certification centralisées actuellement utilisées, y compris dans des réseaux pair-à-pair, l'autorité que nous proposons est entièrement distribuée dans le réseau pair-à-pair et ce sont les pairs eux-mêmes qui prennent les décisions, par l'accord d'un pourcentage fixé d'entre eux. Nous présentons dans ce mémoire les mécanismes cryptographiques mis en œuvre ainsi que deux applications de cette autorité permettant de limiter l'attaque sybile et de nommer les utilisateurs de manière sécurisée.
|
2 |
A Machine-Checked Proof of Correctness of Pastry / Une preuve certifiée par la machine de la correction du protocole PastryAzmy, Noran 24 November 2016 (has links)
Les réseaux pair-à-pair (P2P) constituent un modèle de plus en plus populaire pour la programmation d’applications Internet car ils favorisent la décentralisation, le passage à l’échelle, la tolérance aux pannes et l’auto-organisation. à la différence du modèle traditionnel client-serveur, un réseau P2P est un système réparti décentralisé dans lequel tous les nœuds interagissent directement entre eux et jouent à la fois les rôles de fournisseur et d’utilisateur de services et de ressources. Une table de hachage distribuée (DHT) est réalisée par un réseauP2P et offre les mêmes services qu’une table de hachage classique, hormis le fait que les différents couples (clef, valeur) sont stockés dans différents nœuds du réseau. La fonction principale d’une DHT est la recherche d’une valeur associée à une clef donnée. Parmi les protocoles réalisant une DHT on peut nommer Chord, Pastry, Kademlia et Tapestry. Ces protocoles promettent de garantir certaines propriétés de correction et de performance ; or, les tentatives de démontrer formellement de telles propriétés se heurtent invariablement à des cas limites dans lesquels certaines propriétés sont violées. Tian-xiang Lu a ainsi décrit des problèmes de correction dans des versions publiées de Pastry. Il a conçu un modèle, appelé LuPastry, pour lequel il a fourni une preuve partielle, mécanisée dans l’assistant à la preuve TLA+ Proof System, démontrant que les messages de recherche de clef sont acheminés au bon nœud du réseau dans le cas sans départ de nœuds. En analysant la preuve de Lu j’ai découvert qu’elle contenait beaucoup d’hypothèses pour lesquelles aucune preuve n’avait été fournie, et j’ai pu trouver des contre-exemples à plusieurs de ces hypothèses. La présente thèse apporte trois contributions. Premièrement, je présente LuPastry+, une spécification TLA+ revue de LuPastry. Au-delà des corrections nécessaires d’erreurs, LuPastry+ améliore LuPastry en introduisant de nouveaux opérateurs et définitions, conduisant à une spécification plus modulaire et isolant la complexité de raisonnement à des parties circonscrites de la preuve, contribuant ainsi à automatiser davantage la preuve. Deuxièmement, je présente une preuve TLA+ complète de l’acheminement correct dans LuPastry+. Enfin, je démontre que l’étape finale du processus d’intégration de nœuds dans LuPastry (et LuPastry+) n’est pas nécessaire pour garantir la cohérence du protocole. Concrètement, j’exhibe une nouvelle spécification avec un processus simplifié d’intégration de nœuds, que j’appelle Simplified LuPastry+, et je démontre qu’elle garantit le bon acheminement de messages de recherche de clefs. La preuve de correction pour Simplified LuPastry+ est obtenue en réutilisant la preuve pour LuPastry+, et ceci représente un bon succès pour la réutilisation de preuves, en particulier considérant la taille de ces preuves. Chacune des deux preuves requiert plus de 30000 étapes interactives ; à ma connaissance, ces preuves constituent les preuves les plus longues écrites dans le langage TLA+ à ce jour, et les seuls exemples d’application de preuves mécanisées de théorèmes pour la vérification de protocoles DHT / A distributed hash table (DHT) is a peer-to-peer network that offers the function of a classic hash table, but where different key-value pairs are stored at different nodes on the network. Like a classic hash table, the main function provided by a DHT is key lookup, which retrieves the value stored at a given key. Examples of DHT protocols include Chord, Pastry, Kademlia and Tapestry. Such DHT protocols certain correctness and performance guarantees, but formal verification typically discovers border cases that violate those guarantees. In his PhD thesis, Tianxiang Lu reported correctness problems in published versions of Pastry and developed a model called {\LP}, for which he provided a partial proof of correct delivery of lookup messages assuming no node failure, mechanized in the {\TLA} Proof System. In analyzing Lu's proof, I discovered that it contained unproven assumptions, and found counterexamples to several of these assumptions. The contribution of this thesis is threefold. First, I present {\LPP}, a revised {\TLA} specification of {\LP}. Aside from needed bug fixes, {\LPP} contains new definitions that make the specification more modular and significantly improve proof automation. Second, I present a complete {\TLA} proof of correct delivery for {\LPP}. Third, I prove that the final step of the node join process of {\LP}/{\LPP} is not necessary to achieve consistency. In particular, I develop a new specification with a simpler node join process, which I denote by {\SLP}, and prove correct delivery of lookup messages for this new specification. The proof of correctness of {\SLP} is written by reusing the proof for {\LPP}, which represents a success story in proof reuse, especially for proofs of this size. Each of the two proofs amounts to over 32,000 proof steps; to my knowledge, they are currently the largest proofs written in the {\TLA} language, and---together with Lu's proof---the only examples of applying full theorem proving for the verification of DHT protocols
|
3 |
Chemical computing for distributed systems : algorithms and implementation / Programmation chimique pour les systèmes répartis : algorithmes et implémentationObrovac, Marko 28 March 2013 (has links)
Avec l’émergence de plates-formes distribuées très hétérogènes, dynamiques et à large-échelle, la nécessité d’un moyen de les programmer efficacement et de les gérer a surgi. Le concept de l’informatique autonomique propose de créer des systèmes autogérables — des systèmes qui sont conscients de leurs composants et de leur environnement, et peuvent se configurer, s’optimiser, se guérir et se protéger. Dans le cadre de la réalisation de tels systèmes, la programmation déclarative, dont l’objectif est de faciliter la tâche du programmeur en séparant le contrôle de la logique du calcul, a retrouvé beaucoup d’intérêt ce dernier temps. En particulier, la programmation à base de des règles est considérée comme un modèle prometteur dans cette quête pour des abstractions de programmation adéquates pour ces plates-formes. Cependant, bien que ces modèles gagnent beaucoup d’attention, ils créent une demande pour des outils génériques capables de les exécuter à large échelle. Le modèle de programmation chimique, qui a été conçu suite à la métaphore chimique, est un modéle de programmation à bas de règles et d’ordre supérieur, avec une exécution non-déterministe modèle, où les règles sont appliquées simultanément sur un multi-ensemble de données. Dans cette thèse, nous proposons la conception, le développement et l’expérimentation d’un intergiciel distribué pour l’exécution de programmes chimique sur des plates-formes à large échelle et génériques. L’architecture proposée combine une couche de communication pair-à-pair avec un protocole de capture atomique d’objets sur lesquels les règles doivent être appliquées, et un système efficace de détection de terminaison. Nous décrivons le prototype d’intergiciel mettant en œuvre cette architecture. Basé sur son déploiement dans un banc d’essai réel, nous présentons les résultats de performance, qui confirment les complexités analytiques obtenues et montrons expérimentalement la viabilité d’un tel modèle de programmation. / With the emergence of highly heterogeneous, dynamic and large distributed platforms, the need for a way to efficiently program and manage them has arisen. The concept of autonomic computing proposes to create self-manageable systems — systems which are aware of their components and their environment, and can configure, optimise, heal and protect themselves. In the context of realisation of such systems, declarative programming, whose goal is to ease the programmer’s task by separating the control from the logic of a computation, has regained a lot of interest recently. In particular, rule-based programming is regarded as a promising model in this quest for adequate programming abstractions for these platforms. However, while these models are gaining a lot of attention, there is a demand for generic tools able to run such models at large scale. The chemical programming model, which was designed following the chemical metaphor, is a higher-order, rule-based programming model, with a non-deterministic execution model, where rules are applied concurrently on a multiset of data. In this thesis, we propose the design, development, and experimentation of a distributed chemical runtime for generic, largely-distributed platforms. The architecture proposed combines a peer-to-peer communication layer with an adaptive protocol for atomically capturing objects on which rules should be applied, and an efficient termination-detection scheme. We describe the software prototype implementing this architecture. Based on its deployment over a real-world test-bed, we present its performance results, which confirm analytically obtained complexities, and experimentally show the sustainability of such a programming model.
|
4 |
L'Exploitation de Codes Fontaines pour un Stockage Persistant des Données dans les Réseaux d'Overlay StructurésBorba Ribeiro, Heverson 12 October 2012 (has links) (PDF)
L'importante augmentation de la quantité d'informations sur Internet a contribué à une forte demande pour un stockage persistant des données. Les architectures centralisées de stockage de données sont financièrement onéreuses, faiblement évolutives et vulnérables aux attaques car elles constituent un point unique de défaillance du système. Ces dernières années, les architectures pair-à-pair ont mergé comme une alternative pour la mise en place d'une architecture de stockage persistant des données. Les systèmes pair-à-pair sont fondamentalement évolutifs et moins chers que les modèles client-serveur. Cependant, pour construire des systèmes de stockage persistant en utilisant le modèle pair-à-pair, deux défis fondamentaux doivent être abordés. i) Faire face à la dynamique des pairs, en raison de leur connectivité transitoire. ii) Réduire l'impact du comportement malicieux des pairs. La réplication est une technique régulièrement utilisée pour faire face à la connectivité transitoire des systèmes de stockage pair-à-pair. Toutefois, selon le ratio d'arrivées et de départs des pairs dans le système, cette technique présente un impact négatif en termes de stockage et de bande passante. Les réseaux pair-à-pair qui offrent la tolérance aux fautes byzantins, font généralement l'hypothèse que seulement une fraction limitée des pairs dans le système sont des pairs de comportements malveillants. Toutefois, l'estimation de la proportion de pairs malveillants dans un système pair-à-pair est une opération peu fiable. Ainsi, créer une architecture qui fournit le stockage persistant de données fiables et qui permet de faire face à tous ces problèmes est une contribution souhaitable. Dans cette thèse, nous proposons Datacube. Datacube est une architecture pair-à-pair de stockage de données scalable et efficace qui fournit un stockage persistant en utilisant un schéma de redondance hybride sur un réseau overlay structuré basée sur des clusters. Le schéma de redondance hybride proposé par Datacube assure la persistance et l'intégrité des données garantissant une forte résilience aux arrivées et départs de pairs même en présence de pairs malveillants. Datacube repose sur les propriétés des codes fontaines pour mettre en place son schéma de redondance hybride. Les valuations analytiques ont montré que Datacube est notamment performant en termes de disponibilité, de surcharge de stockage et de bande passante. Nous avons aussi effectué des évaluations pratiques concernant les performances de deux types de codes fontaines dans le contexte de systèmes de stockage pair-à-pair. Ces évaluations ont aidé à comprendre l'impact des paramètres de codage sur les performances de Datacube. À notre connaissance, ceci est la première étude complète qui permet aux développeurs d'applications de trouver les valeurs des paramètres de codage adaptés au contexte des réseaux pair-à-pair.
|
5 |
Chemical Computing for Distributed Systems: Algorithms and ImplementationObrovac, Marko 28 March 2013 (has links) (PDF)
Avec l'émergence de plates-formes distribuées très hétérogènes, dynamiques et à large échelle, la nécessité d'un moyen de les programmer efficacement et de les gérer est apparu. Le concept de l'informatique autonomique propose de créer des systèmes auto-gérés c'est-à-dire des systèmes qui sont conscients de leurs composants et de leur environnement, et peuvent se configurer, s'optimiser, se réparer et se protéger. Dans le cadre de la réalisation de tels systèmes, la programmation déclarative, dont l'objectif est de faciliter la tâche du programmeur en séparant le contrôle de la logique du calcul, a retrouvé beaucoup d'intérêt ces derniers temps. En particulier, la programmation à base de des règles est considérée comme un modèle prometteur dans cette quête d'abstractions de programmation adéquates pour ces plates-formes. Cependant, bien que ces modèles gagnent beaucoup d'attention, ils créent une demande pour des outils génériques capables de les exécuter à large échelle. Le modèle de programmation chimique, qui a été conçu suivant la métaphore chimique, est un modèle de programmation à bas de règles et d'ordre supérieur, avec une exécution non-déterministe, où les règles sont appliquées de façon concurrente sur un multi ensemble de données. Dans cette thèse, nous proposons la conception, le développement et l'expérimentation d'un intergiciel distribué pour l'exécution de programmes chimique sur des plates-formes à large échelle et génériques. L'architecture proposée combine une couche de communication pair-à-pair avec un protocole de capture atomique d'objets sur lesquels les règles doivent être appliquées, et un système efficace de détection de terminaison. Nous décrivons le prototype d'intergiciel mettant en oeuvre cette architecture. En s'appuyant sur son déploiement sur une plate-forme expérimentale à large échelle, nous présentons les résultats de performance, qui confirment les complexités analytiques obtenues et montrons expérimentalement la viabilité d'un tel modèle de programmation.
|
6 |
Vers une plateforme holistique de protection de la vie privée dans les services géodépendantsSahnoune, Zakaria 04 1900 (has links)
No description available.
|
Page generated in 0.0371 seconds