Comment Ballot protège vos votes
Le chiffrement utilisé par Ballot, expliqué simplement — et ce qu'il apporte face aux exigences de sécurité formulées par la CNIL pour le vote électronique.
Un vote électronique doit garantir deux choses qui semblent contradictoires : que personne ne puisse savoir ce que vous avez voté, et que tout le monde puisse être certain que le résultat est le bon. Ballot s'appuie sur ElectionGuard, un protocole de chiffrement ouvert et documenté publiquement, plutôt que sur une solution maison.
Votre choix est chiffré avant même de quitter votre appareil
Dès que vous cliquez sur une réponse, votre navigateur la transforme en une suite de nombres illisible (un chiffrement mathématique) avant de l'envoyer à Ballot. Le serveur ne reçoit jamais votre choix en clair — seulement ce résultat déjà chiffré.
Aucune personne seule ne peut lire les votes
La clé qui permettrait de déchiffrer les résultats n'existe nulle part en entier. Elle est fractionnée entre plusieurs personnes de confiance (les « garants ») désignées pour le scrutin — par exemple un membre des RH et un représentant du personnel. Un nombre minimum d'entre eux (le « quorum ») doit se réunir pour déchiffrer le résultat final. Ballot lui-même ne peut jamais le faire seul.
Additionner les votes sans jamais ouvrir un bulletin
Les votes chiffrés peuvent être additionnés entre eux tout en restant chiffrés — comme si l'on pouvait connaître le contenu d'une urne sans ouvrir aucune enveloppe. Seul le total final est déchiffré par les garants ; aucun bulletin individuel n'est jamais ouvert, ni par Ballot, ni par personne d'autre.
Une preuve mathématique, sans révéler le choix
Chaque bulletin chiffré est accompagné d'une preuve mathématique garantissant qu'il correspond bien à un choix valide — et non, par exemple, à une tentative de voter deux fois pour la même réponse — sans jamais révéler quel choix a été fait. Cette preuve peut être vérifiée par n'importe qui, sans avoir besoin de connaître le vote.
Un journal infalsifiable
Chaque action importante (création du référendum, ouverture, clôture...) est enregistrée dans un journal où chaque entrée est liée mathématiquement à la précédente : modifier ou supprimer une entrée ancienne casserait la chaîne et serait immédiatement détectable. Ce journal ne contient jamais le contenu d'un vote, seulement le fait qu'un vote a eu lieu.
Une connexion sans mot de passe, mais pas sans vérification
Que ce soit pour voter ou pour administrer un scrutin, personne ne se connecte avec un mot de passe : un lien à usage unique ou un code temporaire (envoyé par email ou SMS selon la méthode choisie) est nécessaire à chaque fois. Une tentative de deviner un code s'épuise vite : après 3 codes invalides, toute nouvelle tentative est bloquée pendant 15 minutes.
Une preuve de participation, sans révéler le choix
Après avoir voté, chaque salarié reçoit un récépissé (par email et en téléchargement) attestant qu'il a bien participé au scrutin — sans jamais indiquer pour quoi il a voté. C'est la même logique que dans un bureau de vote physique : on peut prouver qu'on a voté, jamais ce qu'on a choisi.
Ce que cela apporte face aux exigences de la CNIL
La CNIL a publié une recommandation détaillant les garanties de sécurité attendues d'un système de vote électronique. Voici comment le fonctionnement décrit ci-dessus y répond concrètement :
Secret du scrutin. Le chiffrement démarre sur votre propre appareil : à aucun moment le contenu de votre vote ne circule ou n'est visible en clair, même brièvement, sur les serveurs de Ballot.
Intégrité des suffrages. Chaque bulletin est accompagné d'une preuve mathématique vérifiable, et le journal d'audit scellé rend toute altération détectable.
Répartition du secret de dépouillement. Aucune personne seule — pas même Ballot — ne détient la clé complète de déchiffrement : elle est répartie entre plusieurs garants, avec un seuil minimum requis pour l'utiliser.
Pas de dépouillement partiel. Les résultats ne peuvent être calculés qu'une fois le scrutin clôturé, sur l'ensemble des votes reçus — jamais bulletin par bulletin, ni pendant que le vote est encore ouvert.
Cette page décrit le fonctionnement du protocole cryptographique de Ballot. La recommandation de la CNIL couvre aussi des aspects organisationnels — information des votants, accessibilité, durée de conservation des données, expertise indépendante — qui dépendent de la mise en œuvre propre à chaque référendum et ne sont pas couverts par cette page.
Questions de confiance
Références externes
Ballot ne réinvente pas de cryptographie maison. ElectionGuard est un protocole ouvert, publié par Microsoft Research, et le mécanisme de chiffrement à seuil qu'il utilise s'appuie sur des travaux académiques publiés et évalués par des pairs depuis les années 1980.
- ElectionGuard — site officiel ↗
- ElectionGuard — spécification technique complète ↗
- ElectionGuard — code source (GitHub, Microsoft) ↗
Quatre publications académiques, à l'origine directe des mécanismes décrits sur cette page :
- J. Benaloh, M. Naehrig, O. Pereira, D. S. Wallach, « ElectionGuard: a Cryptographic Toolkit to Enable Verifiable Elections », USENIX Security Symposium, 2024. ↗
L'article de référence décrivant ElectionGuard lui-même, coécrit par ses auteurs (Microsoft Research) avec des chercheurs de l'UCLouvain (Belgique) et de Rice University (États-Unis).
- J. C. Benaloh, M. J. Fischer, « A Robust and Verifiable Cryptographically Secure Election Scheme », 26th Annual Symposium on Foundations of Computer Science (FOCS), 1985, p. 372-382. ↗
Le premier schéma de vote électronique vérifiable de l'histoire, publié par l'auteur qui créera ElectionGuard trois décennies plus tard.
- T. P. Pedersen, « A Threshold Cryptosystem without a Trusted Party », EUROCRYPT, 1991, LNCS vol. 547, p. 522-526. ↗
Le fondement académique du chiffrement à seuil : comment répartir une clé de déchiffrement entre plusieurs garants sans qu'aucun tiers ne détienne jamais la clé complète.
- D. Chaum, T. P. Pedersen, « Wallet Databases with Observers », CRYPTO, 1992, LNCS vol. 740, p. 89-105. ↗
L'origine des preuves à divulgation nulle de connaissance (« preuves de Chaum-Pedersen ») qu'ElectionGuard utilise pour prouver qu'un bulletin est valide sans jamais révéler le choix qu'il contient.