Vote par Internet
Cet article met à jour la première version publiée en janvier 2013.
Les machines à voter sont désormais utilisées dans de nombreux pays, en phase de tests ou à grande échelle. Aux États-Unis, cette façon de voter est devenue la plus courante, que ce soit avec des bulletins papier qui sont scannés ou par une interaction directe sur un écran tactile. Le manque de transparence de ces machines a créé une polémique. Plusieurs pays, comme les Pays-Bas, l’Irlande ou l’Allemagne, ont décidé d’interdire leur utilisation pour revenir à un scrutin purement papier. À l’inverse, certains pays vont plus loin et mettent en place le vote à distance, par Internet. Contrairement aux machines installées dans les bureaux de vote, le vote à distance permet de voter de n’importe où, du moment que l’on dispose d’une connexion à Internet.
En matière de vote par Internet, l’Estonie est l’un des pays pionniers. Dès 2005, la possibilité y a été offerte de voter par Internet lors d’élections municipales. En 2007, tous les électeurs ont eu le droit d’utiliser ce mode de scrutin pour des élections parlementaires et, en 2011, cette pratique a gagné en popularité avec 24,3 % des votes par Internet. D’autres pays se lancent dans le vote à distance pour des élections politiques. Des projets pilotes ont par exemple été expérimentés à l’occasion d’élections municipales et régionales en Norvège (expérimentations finalement arrêtées). En Suisse, après des périodes de tests, les cantons de Genève et de Neuchâtel proposent le vote électronique depuis 2015. Lors des élections parlementaires en 2015 de l’état de New South Wales en Australie, les électeurs avaient la possibilité de voter à distance par Internet. Cette élection constitue probablement la plus grande élection par Internet à ce jour. Pour la France également, lors des élections législatives de 2012, les Français de l’étranger ont eu la possibilité de voter par Internet pour élire 11 députés. Cependant en mars 2017, le ministère des Affaires étrangères a annoncé que pour les législatives de 2017, les Français de l’étranger devront voter de manière traditionelle et non électronique, évoquant un risque élevé de cyberattaques et les suspicions sur les élections présidentielles américaines de 2016.
Propriétés essentielles
Le vote par Internet présente des avantages dans certaines circonstances, par exemple lorsque le vote avec urne occasionne de longs déplacements. Ainsi, le vote des Français de l’étranger a lieu traditionnellement dans les ambassades, parfois très éloignées. C’est également le cas pour certains pays comme l’Australie qui ont une faible densité de population. Le vote par Internet permet également une consultation plus fréquente des électeurs et c’est une des raisons pour lesquelles la Suisse cherche à développer le vote électronique.
Cependant, le vote par Internet pose évidemment des problèmes potentiels de sécurité. Ceci est principalement dû à trois raisons. D’une part, les électeurs ne disposent plus d’un bureau de vote avec un isoloir. Il est donc difficile de vérifier l’identité de l’électeur et de s’assurer que cette personne vote librement, sans contraintes. D’autre part, les ordinateurs personnels utilisent de nombreux logiciels peu contrôlables et potentiellement malveillants. Enfin, les électeurs n’ont pas de contrôle sur le système de vote choisi et n’ont pas la capacité de s’assurer que l’urne n’est pas manipulée par des acteurs malveillants, voire par les autorités de l’élection elles-mêmes. De ces constats se dégagent deux types de propriétés de sécurité essentielles pour le vote : l’anonymat et la correction.
L’anonymat
Pour la plupart des élections, l’anonymat du vote est requis. Cela veut dire qu’il doit être impossible de savoir comment un votant particulier a voté, à moins que ce ne soit révélé par le résultat (par exemple si le vote est unanime). Selon l’enjeu des élections, l’anonymat peut ne pas être suffisant. Afin d’éviter la coercition et l’achat de vote, il est également nécessaire que le protocole soit résistant à la coercition : il doit être impossible d’enregistrer des informations qui pourraient convaincre une tierce personne de la valeur du vote.
La garantie de correction
Il est bien sûr essentiel que le résultat proclamé corresponde aux intentions de vote des électeurs. Pour les scrutins classiques, des observateurs, comme les votants eux-mêmes, peuvent surveiller l’urne et le processus de dépouillement, afin de garantir la correction, c’est-à-dire la sincérité du scrutin. Lors d’un vote par Internet, garantir la correction du résultat est plus compliqué. Par exemple, comment savoir si le programme exécuté sur l’ordinateur personnel de l’électeur est le bon ? Il se peut en effet que le système soit victime de bugs ou encore qu’un programme différent soit exécuté à cause d’un virus ou malware. Comment s’assurer que les bulletins, stockés sur le serveur de l’élection, n’ont subi aucune manipulation ? Aussi, des propriétés plus fortes, de vérifiabilité, sont souhaitables : le protocole doit fournir des preuves mathématiques démontrant la correction du résultat. Un votant doit pouvoir contrôler que son bulletin est présent dans l’urne : on parle alors de vérifiabilité individuelle. La vérifiabilité universelle, quant à elle, assure que le résultat de l’élection a été correctement calculé à partir des votes individuels, d’une manière vérifiable par n’importe quel observateur. Enfin, il faut pouvoir s’assurer que les bulletins ne proviennent que d’électeurs légitimes, pour parer à tout bourrage d’urne éventuel. On parle alors de la vérifiabilité de l’éligibilité. Ces vérifications sont indépendantes du logiciel ayant été utilisé pour voter et dépouiller. Elles permettent ainsi de contourner les problèmes dus à des bugs et malwares.
Mettre au point un système de vote électronique sûr est un exercice délicat. En particulier, la vérifiabilité et la résistance à la coercition sont des propriétés antagonistes : il faut à la fois démontrer qu’un certain vote a été inclus dans le résultat et ne pas montrer à un tiers comment on a voté. Peu de protocoles ont pu être construits de manière à satisfaire ces deux propriétés, avec un recours important à la cryptographie. Ainsi, le système Civitas implémente l’un des seuls protocoles qui visent à la fois la vérifiabilité et la résistance à la coercition. Sa mise en œuvre est cependant délicate. Les systèmes Helios, Belenios, vVote, sElect et « Pretty Good Democracy » assurent la vérifiabilité et l’anonymat. Contrairement à Civitas, ils ne garantissent plus la résistance à la coercition, mais ils sont plus faciles à utiliser. Comme le fonctionnement de Belenios est simple à exposer, c’est ce système qui est ici présenté plus en détail.
Un exemple de système de vote : Belenios
Belenios est un protocole de vote développé sous licence libre par des chercheurs du Loria (Véronique Cortier, Pierrick Gaudry et Stéphane Glondu). Il s’agit d’une évolution du protocole Helios utilisé par l’association internationale des chercheurs en cryptologie (IACR) pour élire ses membres. Belenios a été utilisé pour élire des représentants du personnel au sein de conseils de laboratoire (par exemple à l’Irisa) ou dans des comités de centre Inria. Il a également été retenu pour choisir le responsable de groupes de travail scientifiques ou au sein de sociétés savantes. La plateforme de vote permet de mettre en place simplement et gratuitement une élection.
Il s’agit d’un protocole en deux phases, comme le système de vote papier classique : la phase de vote à proprement parler et la phase de dépouillement. Pour simplifier les explications, le cas présenté ci-dessous est l’exemple d’un référendum où chaque électeur peut voter 0 (pour non) ou 1 (pour oui).
Phase de vote
À chaque élection est associée une clé publique (notée pub(E) dans la figure ci-dessus). Le chiffrement à clé publique est un système de chiffrement dit asymétrique : la clé de chiffrement est publique — tout le monde peut chiffrer — alors que la clé de déchiffrement est privée — seules les personnes ayant la clé de déchiffrement peuvent déchiffrer. Pour voter, chaque électeur, au travers de son navigateur, chiffre son choix (0 ou 1) avec la clé publique de l’élection. Il fournit également la preuve qu’il a bien chiffré l’une des deux valeurs 0 ou 1 et non une autre valeur. Cela est possible grâce aux preuves à divulgation nulle qui prouvent que le contenu d’un chiffré vérifie une certaine propriété, sans fournir aucune autre indication sur le contenu du chiffré. Cette preuve (à divulgation nulle) de bonne formation empêche un votant malhonnête de chiffrer autre chose que 0 ou 1 : il est donc impossible de construire un bulletin valide chiffrant par exemple la valeur 100 qui aurait permis d’ajouter 99 votes « oui ». Enfin, l’électeur signe l’ensemble à l’aide d’un jeton de vote, reçu par un canal supposé sûr (par exemple par courrier ou mail). Cette signature empêche l’ajout illégitime de bulletins dans l’urne : chaque bulletin correspond à un bulletin de vote distinct.
Le vote chiffré, accompagné de la preuve de validité, forme le bulletin qui est envoyé à une urne. Une des caractéristiques clés de Belenios est que l’urne affiche sur une page web publique tous les bulletins reçus. Ainsi, chaque électeur peut bien vérifier que son bulletin est présent dans l’urne.
Phase de dépouillement
L’explication de la phase de dépouillement nécessite de détailler un peu plus le fonctionnement de l’algorithme de chiffrement. Le chiffrement employé dans Belenios est le système de chiffrement El Gamal. Il a une propriété essentielle ici : il s’agit d’un chiffrement dit homomorphe. En particulier, multiplier les chiffrés des votes permet d’obtenir le chiffrement de la somme des votes.
Grâce à cette propriété, il est facile pour tous de calculer le résultat de l’élection, mais sous une forme chiffrée. En multipliant tous les bulletins présents dans l’urne virtuelle, on obtient une valeur {n}pub(E) qui correspond au chiffrement de n par la clé publique de l’élection, où n est le nombre d’électeurs ayant voté 1 (oui).
Il reste ensuite à déchiffrer la valeur obtenue {n}pub(E) pour connaître le résultat en clair. Il serait dangereux de confier la clé de déchiffrement à une autorité unique. En effet, une telle autorité serait alors en mesure de déchiffrer chacun des bulletins présents dans l’urne et donc de connaître le vote de chaque électeur. La clé privée est en fait un assemblage de plusieurs (en général de 2 à 4) « petites » clés, chacune de ces petites clés étant détenue par une autorité de déchiffrement indépendante (parti, bureau de vote, association…). Toutes les autorités de déchiffrement contribuent alors au déchiffrement du résultat chiffré, ce qui permet à la fin du processus d’obtenir le résultat exact du vote, qui peut être proclamé. Il est à noter que les autorités de déchiffrement produisent également une preuve (à divulgation nulle) qu’elles ont correctement déchiffré le résultat chiffré {n}pub(E), ce qui permet à tout un chacun de vérifier que le résultat proclamé n correspond au chiffré {n}pub(E), sans posséder la clé de déchiffrement.
Avantages et inconvénients de Belenios
Belenios est un système de vote relativement simple. Il est facile à mettre en œuvre et il s’agit d’un logiciel libre, dont les sources sont disponibles. Belenios assure bien sûr la confidentialité des votes. Mais son principal avantage est d’être entièrement vérifiable et par tous : tout électeur peut suivre son bulletin dans l’urne, calculer le résultat de l’élection sous une forme chiffrée et vérifier les calculs effectués par les autorités de déchiffrement. Il s’agit d’une différence fondamentale par rapport à la plupart des solutions commerciales actuellement déployées : même si les entreprises développant ces solutions font un effort pour que leurs systèmes soient auditables par des experts habilités, leur fonctionnement est secret et elles ne permettent pas à tout un chacun de vérifier que le résultat proclamé est conforme. D’autre part, leur sécurité repose sur l’intégrité du serveur de vote : un attaquant prenant pied sur le serveur peut par exemple détruire des bulletins sans que les électeurs ne s’en aperçoivent. De telles attaques deviennent détectables avec des solutions telles que Belenios.
Des systèmes ouverts et vérifiables comme Belenios représentent une avancée pour les élections qui ont lieu à distance. Cependant, nous tenons à souligner que Belenios, comme tout système de vote en ligne, ne nous semble pas adapté à des élections à forts enjeux, comme des élections politiques (présidentielles, législatives…). Par exemple, un ordinateur compromis pourrait transmettre la valeur du vote d’un électeur à une tierce personne, à l’insu de l’électeur, et ainsi compromettre le secret du vote. Il pourrait également voter pour une autre personne. Ces faiblesses ne sont pas intrinsèques au système Belenios, mais au fait qu’on ne peut tout simplement pas avoir une totale confiance dans la sécurité d’un ordinateur personnel.
Quelles sont les difficultés du vote par Internet ?
De manière générale, certains problèmes de sécurité sont inhérents au vote par Internet. Ainsi, des logiciels malveillants comme des virus ou keyloggers peuvent enregistrer et divulguer les votes, brisant ainsi l’anonymat. D’autres logiciels peuvent non seulement divulguer les votes mais également changer leur valeur, sans être détectés. Lors des élections législatives en 2012 des Français de l’étranger, Laurent Grégoire, ingénieur français travaillant aux Pays-Bas, en a fait la démonstration en mettant au point un logiciel capable de remplacer le choix de l’électeur pour un parti pirate, au moment où l’électeur votait. En 2007, en Estonie, un étudiant en informatique, Paavo Pihelgas, a également construit un logiciel pour produire des bulletins valides, pour le candidat de son choix. Dans les deux cas, il s’agissait de systèmes de vote dont le fonctionnement et le code source n’étaient pas connus. Ceci démontre que le secret du fonctionnement du système ne garantit pas la sécurité. Au contraire, il est souhaitable que la description du système et le code source soient ouverts pour permettre à un maximum de personnes de procéder à une analyse de sécurité.
Même pour les systèmes les plus sûrs et les plus vérifiables, les mécanismes de vérification font appel à des théories mathématiques complexes dont la compréhension détaillée est réservée à des experts. Les autres utilisateurs doivent faire confiance à ces experts, contrairement au vote papier où les procédures sont comprises par une vaste majorité des citoyens.
Une autre difficulté importante du vote électronique est l’authentification de l’électeur. Lors d’un vote à l’urne, l’électeur s’identifie au moyen de sa carte d’électeur ou d’une pièce d’identité. Lors d’un vote électronique, l’électeur reçoit en général des identifiants par mail, courrier postal ou SMS. Toute personne ayant accès à ces identifiants peut voter en lieu et place de l’électeur. Il faut donc contrôler toute la chaine d’envoi de ces identifiants : prestataire chargé de la fabrication des identifiants, opérateurs téléphoniques en cas d’envoi de SMS, opérateurs de messagerie en cas d’envoi de mail. D’autre part, ces identifiants sont faciles à transmettre et peuvent être vendus par un électeur indélicat.
Pour toutes ces raisons, il semble prématuré d’utiliser le vote par Internet pour des élections à forts enjeux comme des élections politiques importantes. Par contre, il serait réducteur de penser que le vote par Internet est plus dangereux que les autres systèmes de vote en général. Ainsi, le vote par Internet est souvent utilisé pour remplacer le vote par correspondance, qui lui-même n’est pas un système totalement sûr. Contrairement au vote dans un bureau de vote, le processus du vote par correspondance ne peut être observé que par quelques personnes et les électeurs doivent faire pleinement confiance aux organisateurs de l’élection. De plus, le vote par correspondance peut être sujet au bourrage d’urne, comme l’ont montré certaines attaques. En conclusion, le choix d’utiliser un système de vote électronique dépend très fortement du système déjà en place, du type d’élection et des enjeux de sécurité associés.
Pour en savoir plus, nous vous proposons de lire la documentation sur Belenios (en anglais), quelques articles de vulgarisation scientifique ainsi que quelques références scientifiques.
- Vote électronique. Véronique Cortier. In 1024 — Bulletin de la société informatique de France, numéro 9, novembre 2016.
- Vote électronique : un scrutin à sécuriser. Véronique Cortier. La Recherche, 504:70–73, Octobre 2015.
- Attaque à l’italienne. Véronique Cortier. In Blog Binaire, Le Monde, août 2015.
- Les bonnes propriétés d’un système de vote électronique – exemple d’Helios. Véronique Cortier et Steve Kremer. In Blog Binaire, Le Monde, mars 2015.
- Le vote papier est-il réellement plus sûr que l’électronique ?. Véronique Cortier. In Blog Binaire, Le Monde, janvier 2015.
- Qu’est-ce qu’un bon système de vote ?. Véronique Cortier. In Blog Binaire, Le Monde, janvier 2015.
- Ari Juels, Dario Catalano, and Marku Jakobsson. Coercion-resistant Electronic Elections. In Proc. of the 2005 ACM Workshop on Privacy in the Electronic Society, 2005
- Josh Benaloh. Simple verifiable elections. In EVT ’06, Proceedings of the 1st Usenix/ACCURATE Electronic Voting Technology Workshop, 2006.
- Ben Adida. Helios: Web-based Open-Audit Voting. In USENIX Security Symposium, 2008.
- Peter Y. A. Ryan and Vanessa Teague. Pretty good democracy. In 15th European Symposium on Research in Computer Security (ESORICS’10), 2010.
- Véronique Cortier, David Galindo, Stéphane Glondu, and Malika Izabachene. Election Verifiability for Helios under Weaker Trust Assumptions. In Proc. of the 19th European Symposium on Research in Computer Security (ESORICS’14), 2014.
- Ralf Küsters, Johannes Müller, Enrico Scapin, and Tomasz Truderung. sElect: A Lightweight Verifiable Remote Voting System. In IEEE 29th Computer Security Foundations Symposium (CSF 2016), 2016.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !