Vote électronique vérifiable Michel de Rougemont University Paris II & Liafa CNRS
Plan Vote électronique et Vote vérifiable Rôle du hasard TWIN (R. Rivest) SCANTEGRITY II (D. Chaum) 2 2
1. Vote électronique Vote: Electronique Plurality Approval voting Borda voting Condorcet systems Range Voting Electronique Internet, accès général avant le vote Machines à voter Vérification 3 3
Contraintes, Motivations Secret du vote Vérification: chaque vote est pris en compte Motivations: Calculs sur le Cloud Comment se convaincre, que le résultat est correct ? Vote: vérification de l’addition 4 4
Tous les bulletins sont sur le Web. http://www.ump.fr Vérification Tous les bulletins sont sur le Web. http://www.ump.fr C:101 F:102 ID: 884()&$0x@!~ C:12 F:11 C: 89 F: 91 C:2 F:1 C:10 F:10 Bulletin Cope X Fillon 874()&$0*@!~ Bulletin Cope X Fillon 884()&$0x@!~ Bulletin Cope Fillon X 984()&$0x@!~ Comment contester? 5 5
Problèmes Secret du vote: Questions: On peut convaincre quelqu’un de son vote (les votes peuvent s’acheter) Pas de secret si on vote librement sur le Web Donner un reçu Questions: Peut-on vérifier et maintenir le secret? Recherches actuelles (situation Diffie-Hellman en 1975 sur le chiffrement) 6 6
Le marché du vote électronique: Suisse et USA La Suisse (1er marché en %) 瑞士的象征 Eveline Widmer-Schlumpf 7 7
Le marché Suisse du vote électronique Genève: votation de Mars 2012 Electeurs suisses de l’étranger de toutes les communes, Electeurs des communes: Aire-la-Ville, Anières, Avusy, Bernex, Chêne-Bougeries, ChêneBourg, Collonge-Bellerive, Cologny, Grand-Saconnex, Onex, Perly-Certoux, Planles-Ouates et Vandœuvres 7 cantons sur 26. Vote direct sur Internet. Vérification: une commission des usagers a accès au programme et au serveur. Programme C qui gère les échanges et « l’addition » est public pour la commission. 8 8
Marché US du vote électronique USA Ronald RIVEST R de R.S.A Prof. M.I.T Advisor to the Election Assistance Commission Technical Guidelines Development Committee (TGDC) Recommandation: “Not safe enough” 9 9
2. Hasard et calcul Hasard Pile : Face : Rand() Rand(1,100) Applications Calcul d’une fonction f(x)=y Sondages Correction de calculs Qbit 10 10
Correction arithmétique Fonction arithmétique: Opérateurs: +, . , / buggés à 30% Comment calculer f ? Exemple: 11 11
3. Twin (R. Rivest) Vote classique: ID du bulletin inconnue, ID révélée dans l’urne, Reçu: bulletin aléatoire de l’urne. Bulletin Cope Fillon X 674()&$0*@!~ Bulletin Cope Fillon X 674()&$0*@!~ Bulletin Cope X Fillon xxxxxxxxxxxx Bulletin Cope X Fillon 974()&$0*@!~ reçu Bulletin Cope X Fillon 874()&$0*@!~ http://static.usenix.org/event/evt07/tech/full_papers/rivest/rivest_html 12 12
Tous les bulletins sont sur le Web. http://www.ump.fr Vérification Tous les bulletins sont sur le Web. http://www.ump.fr C:101 F:102 ID: 884()&$0x@!~ C:12 F:11 C: 89 F: 91 C:2 F:1 C:10 F:10 Bulletin Cope X Fillon 874()&$0*@!~ Bulletin Cope X Fillon 884()&$0x@!~ Bulletin Cope Fillon X 674()&$0x@!~ On vérifie un bulletin aléatoire 13 13
Twin-Threeballot (R. Rivest) Vote classique à 3 bulletins: Vote Copé: 2 voix pour Copé, 1 voix pour Fillon Bulletin Cope X Fillon 874()&$0*@!~ Bulletin Cope Fillon X 674()&$0*@!~ Bulletin Cope X Fillon 174()&$0*@!~ Bulletin Cope X Fillon 974()&$0*@!~ Bulletin Cope X Fillon 874()&$0*@!~ Bulletin Cope Fillon 374()&$0*@!~ Reçu aléatoire 1/3 14 14
Tous les bulletins sont sur le Web. http://www.ump.fr Vérification Tous les bulletins sont sur le Web. http://www.ump.fr C:101 F:102 ID: 884()&$0x@!~ C:12 F:11 C: 89 F: 91 C:2 F:1 C:10 F:10 9 Bulletins: total: 5 Copé, 4 Fillon Bulletin Cope X Fillon 174()&$0x@!~ Bulletin Cope X Fillon 874()&$0*@!~ Bulletin Cope X Fillon 884()&$0x@!~ Bulletin Cope Fillon X 674()&$0x@!~ On vérifie un seul de ses 3 bulletins 15 15
4. Scantegrity II Un pas vers le vote vérifiable pratique: D. Chaum, R. Rivest,….. http://static.usenix.org/event/evt08/tech/full_papers/chaum/chaum_html/ Expérimentation dans une élection locale. 16 16
Scantegrity II Table P secrète Tables Q, R, and S will be public for the verification. Q is a permutation of P’s rows. Vote for Carl on ballot 0002 code J3K (0002,1) in table Q (0002,1) in table R points to position (4,3) in table S. Position (4,3) in table S corresponds to a vote for Carl, since it is in column 3. 17 17
Scantegrity II Votes: 0001,0003 for Alice, 0002 for Carl, 0005 for Bob, 0004 for audit Suppress the invisible codes in Q In table R, suppress randomly: either the Q-pointer or the the S-pointer Flag the S table (from the secret P) and the R table 18 18
Scantegrity II Verification: 0001,0003 for Alice, 0002 for Carl, 0005 for Bob, 0004 for audit Check lines of table R: Flags must be coherent with Q and R Case 1: no Q-pointer Coherence Q-R Case 2: no R-pointer Coherence S-R 19 19
Conclusion Vote électronique et Vote vérifiable TWIN (R. Rivest) SCANTEGRITY II (D. Chaum) Calculs fiables sur le Cloud 20 20