Protocoles de population: tolérance aux pannes et vie privée Carole Delporte SHAMAN 1 Réseau de capteurs Carole Delporte SHAMAN 2 Mobilité Capacité limitée Anonymat Puissance de calcul? Pannes Confidentialité Carole Delporte SHAMAN 3 Plan (1) Modèle et puissance de calcul (2) Tolérance aux pannes (3) Confidentialité Carole Delporte SHAMAN 4 La marche de l’empereur Carole Delporte SHAMAN 5 La marche de l’empereur Le groupe est menacé si un certain nombre de manchots meurent sur le chemin qui les ramènent à la mer Si un manchot commence la traversée avec une température basse il a peu de chance d’atteindre la mer Carole Delporte SHAMAN 6 Sauvons les manchots! On pose sur chaque manchot un capteur mesure sa température; déclenche une alarme si plus qu’un certain nombre de manchots (5 par exemple) ont une température basse. Carole Delporte SHAMAN 7 Chaque capteur possède un compteur fini (<6) Sa valeur initiale est 1 si le manchot a une température basse quand il commence la traversée et 0 sinon. Carole Delporte SHAMAN 8 Calcul Tous les capteurs doivent passer dans un état “alerte” si et seulement si au moins 5 d’entre eux ont 1 comme valeur initiale Carole Delporte SHAMAN 9 Algorithme ? 0 0 1 0 1 0 1 1 1 0 0 2 0 0 0 0 2 1 0 0 2 0 0 0 0 3 0 0 0 0 0 0 0 0 5 0 Carole Delporte SHAMAN 10 Algorithme Quand deux capteurs se rencontrent, l’un prend dans son compteur la somme des compteur et l’autre met son compteur à 0 Le premier capteur qui a son compteur a 5 déclenche l’alarme Carole Delporte SHAMAN 11 Que se passe t il quand un des agents tombe en panne? Un des capteurs peut tomber en panne au cours de l’exécution de l’algorithme Carole Delporte SHAMAN 12 Algorithme original 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 2 1 0 0 2 0 0 0 0 3 0 0 0 5 0 0 0 0 0 0 Carole Delporte SHAMAN 13 Algorithme fiable: 1er pas Chaque agent exécute 2 fois l’algorithme original : O1 et O2 Quand 2 agents communiquent l’un se conduit comme l’initiateur pour O1 l’autre comme l’initiateur pour O2 Carole Delporte SHAMAN 14 Algorithme fiable 0/0 0/0 1/1 0/0 1/1 0/0 1/1 1/1 1/1 0/0 0/0 1/1 0/0 1/1 0/0 0/2 2/0 1/1 0/0 0/0 2/0 0/0 0/2 0/0 0/2 3/0 0/1 0/0 0/0 0/0 0/2 0/0 0/0 3/0 0/3 0/0 0/0 0/0 0/0 0/0 0/0 3/0 0/5 Carole Delporte SHAMAN 15 Que se passe t il quand l’état d’un des agents peut être corrompu? Un des capteurs peut voir son état modifié intempestivement au cours de l’exécution de l’algorithme Panne transient Carole Delporte SHAMAN 16 0/0 0/0 0/0 0/0 0/0 1/1 1/1 0/0 0/0 0/0 0/0 0/0 5/5 0/0 0/2 2/0 0/0 Carole Delporte SHAMAN 17 Algorithme fiable Carole Delporte SHAMAN 18 1 0 1 0 0 0 1 1 1/0/1 0/0/1 1/0/1 1/0/1 1/0/1 0/0/1 Carole Delporte SHAMAN 1 0/0/1 1/0/1 1/0/1 19 1 0 1 0 0 0 1 1 1/0/1 0/0/1 1/0/1 1/0/1 1/0/1 0/0/1 Carole Delporte SHAMAN 1 0/0/1 1/0/1 1/0/1 20 1 0 1 0 0 0 1 1 1/0/0 0/0/1 2/0/1 1/0/1 1/0/1 0/0/1 Carole Delporte SHAMAN 1 0/0/1 1/0/1 1/0/1 21 1 0 1 0 0 0 1 1 5/0/0 0/0/0 0/0/0 0/5/0 0/0/0 0/0/0 Carole Delporte SHAMAN 1 0/0/0 0/0/0 0/5/0 22 1 0 1 0 0 0 1 1 5/0/0 0/0/0 0/0/0 0/0/0 1 0/0/0 0/0/0 0/0/0 Carole Delporte SHAMAN 0/5/0 23 Plus généralement (DFGR06) Théorème: Les protocoles de population calculent exactement l’arithmétique de Presburger en présence d’un nombre constant de panne. Carole Delporte SHAMAN 24 Est qu’un agent peut être malicieux? Est il possible de faire un calcul avec un agent malicieux? n’importe quelle transition Carole Delporte SHAMAN 25 Agent malicieux 0 0 0 0 0 0 0 X 0 0 0 0 a b 0 c X d Carole Delporte SHAMAN 26 Les protocoles de population ne peuvent calculer aucune fonction non triviale, en présence d’un seul agent malicieux Un prédicat est trivial si tous les agents peuvent déterminer leurs sorties à partir de leurs entrées Carole Delporte SHAMAN 27 Confidentialité Comment peut-on cacher les valeurs initiales à des agents malintentionnés? Comment peut-on calculer le résultat sans qu’aucun agent ne puisse avoir aucune information si ce n’est sa propre entrée et le résultat du calcul? Carole Delporte SHAMAN 28 Confidentialité Comment faire pour qu’un agent mal intentionné ne puisse distinguer la situation où 4 manchots ont une température basse de celle où un seul manchot à une température basse ? Carole Delporte SHAMAN 29 Algorithme 0 0 0 0 0 0 1 0 1 0 2 Carole Delporte SHAMAN 0 1 1 0 0 1 1 30 Comment assurer la confidentialité? Un agent ne peut pas utiliser la cryptographie ni même des signatures à cause de l’anonymat Carole Delporte SHAMAN 31 Obfuscation : drapeau Si 1 on génère des valeurs Si 0 on fait le calcul Carole Delporte SHAMAN 32 Obfuscation: génération 0 0 1 0 1 0 1 1 0 2 -1 1 0 1 1 1 Carole Delporte SHAMAN 33 Si 1 on génère des valeurs Si 0 on fait le calcul (v,1) (v’,1)(v+1,1) (v’-1,1) (v,0)(w,0) -> (v’,0)(w’,0) avec v w v’ w’ calcul de base Carole Delporte SHAMAN 34 Obfuscation : bascule Si 1 on génère des valeurs Si 0 on fait le calcul (*,1)(*,*) -> (*,0)(*,*) (*,0)(*,1) -> (*,1)(*,1) convergence vers (*,0)* Carole Delporte SHAMAN 35 Plus généralement (DFGR07) Théorème: les protocoles de population peuvent calculer de manière confidentielle l’arithmétique de Presburger Carole Delporte SHAMAN 36 Carole Delporte SHAMAN 37 Bibliographie [AADFP04] Dana Angluin, James Aspnes, Zoë Diamadi, Michael J. Fischer, René Peralta: Computation in networks of passively mobile finite-state sensors. PODC 2004: 290-299 [AAE06] Dana Angluin, James Aspnes, David Eisenstat: Stably computable predicates are semilinear. PODC 2006: 292-299 [AAER07] Dana Angluin, James Aspnes, David Eisenstat, Eric Ruppert: The computational power of population protocols. Distributed Computing 20(4): 279-304 (2007) Carole Delporte SHAMAN 38 [DFGR06] Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui, Eric Ruppert: When Birds Die: Making Population Protocols Fault-Tolerant. DCOSS 2006: 51-66 [DFGR07] Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui, Eric Ruppert: Secretive Birds: Privacy in Population Protocols. OPODIS 2007 Carole Delporte SHAMAN 39