Puissance de calcul?

publicité
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
Téléchargement