Sécurisation du vote électronique : des failles et des solutions
11 août 2023
À l’heure du tout numérique, la sécurisation des échanges d’informations revêt une importance capitale, surtout pour le vote électronique. Après avoir identifié des vulnérabilités dans le protocole mis en place pour les élections législatives en France de juin 2022, Alexandre Debant et Lucca Hirschi, chercheurs Inria dans l’équipe Pesto (commune à Inria et au Loria), ont proposé des solutions d’amélioration prises en compte avec succès dès le scrutin suivant.
Lire l’article original sur Inria.fr
Lors des élections législatives de 2022, les ressortissants français résidant à l’étranger ont eu recours au vote électronique à distance. Si cette solution offre de nombreux avantages en termes d’organisation et d’accessibilité, elle nécessite toutefois la mise en place d’un protocole offrant les mêmes garanties de sécurité et de confidentialité que celles d’un bureau de vote traditionnel. « Pour les législatives de 2017, il n’y avait pas eu de vote par Internet car l’ANSSI (Agence nationale de sécurité des systèmes d’information) estimait que le système proposé à l’époque n’atteignait pas un degré de sécurité suffisant », rappelle Alexandre Debant.
« L’ANSSI émet un avis consultatif qui est généralement suivi par les autorités en charge de l’organisation des scrutins, complète Lucca Hirschi. En 2022, l’enjeu était d’importance puisque, si l’on tient compte du nombre de bulletins transmis, il s’agit de la plus grosse élection par voie électronique jamais organisée à l’échelle mondiale. Cette année, l’ANSSI avait donné son feu vert après audit. »
Les deux chargés de recherche se sont donc intéressés de près à l’opération. « Nos collègues Véronique Cortier, Pierrick Gaudry et Stéphane Glondu, qui développent la plate-forme de vote Belenios, ont été chargés de mettre en place un outil de vérification “tiers de confiance” lors de ces élections, expliquent-ils. De façon indépendante, nous nous sommes spontanément saisis de la question et avons voulu étudier les limites des mécanismes de défense. Un mois avant le scrutin, un document de présentation du protocole a été publié et dès la première lecture nous avons soupçonné des failles de sécurité potentielles. L’examen du code du programme n’a fait que confirmer nos craintes de la vacuité de l’outil de vérification tiers de confiance. »
Des garanties de sincérité et de secret du vote électronique
Dans un bureau de vote classique, la présence physique de l’électeur, qui dépose lui-même son bulletin dans une urne transparente, et celle des assesseurs, qui enregistrent le vote et procèdent à l’ouverture publique des urnes, assurent la sincérité du scrutin. « On distingue en général deux types de garanties de sécurité. La première est la confidentialité du vote. Concrètement : personne ne doit savoir pour qui j’ai voté. La seconde concerne l’intégrité du résultat : le résultat proclamé doit correspondre à la somme de tous les bulletins envoyés (aucun bulletin n’a été modifié ou supprimé) et ces bulletins doivent avoir été envoyés par des votants légitimes. Avec le vote électronique, on cherche à atteindre les mêmes niveaux de sécurité que dans un vote papier grâce à la cryptographie. »
Lors de l’envoi d’un bulletin pendant les législatives de 2022, chaque votant recevait un reçu – au format PDF – composé de données cryptographiques, lui permettant de vérifier la bonne prise en compte de son vote, soit sur le site du ministère de l’Europe et des Affaires étrangères (MEAE), soit sur celui créé par le tiers de confiance mandaté par le MEAE. Quant au secret du vote, il était assuré par une clé de déchiffrement répartie entre les seize personnes constituant le bureau de vote électronique, notamment un membre du Conseil d’État, le directeur de l’ANSSI, des personnels du ministère et des membres de l’Assemblée des Français de l’étranger. C’est dans le principe de fonctionnement du protocole et dans sa conception qu’Alexandre Debant et Lucca Hirschi ont décelé des vulnérabilités menant à des attaques sur la vérifiabilité comme sur le secret du vote.
Vulnérabilités dans le protocole et le code
« En ce qui concerne la vérifiabilité du vote, nous avons décelé un problème dans l’implémentation du programme notamment dû à un bug. Au moment où le votant crée son bulletin de vote, son ordinateur le chiffre avec la clé du bureau et calcule une empreinte unique à ce bulletin. Le bulletin est transmis au serveur qui calcule de son côté un reçu devant contenir, entre autres choses, cette empreinte. »
« Ce reçu est envoyé sous plusieurs formes puis affiché au votant. La logique voudrait que l’ordinateur du votant vérifie la consistance du reçu avec l’empreinte préalablement calculée avant de l’afficher, mais quand nous avons analysé le code, nous avons constaté qu’il y avait une faille à ce stade : cette vérification n’était pas complète et il était possible de la tromper. » Une compromission du serveur rendait donc possible une modification du bulletin envoyé tout en adressant au votant un reçu qui laisserait penser à celui-ci que son vote a été enregistré conformément à son choix. La vérifiabilité est donc cassée ainsi que l’intégrité et la sincérité du scrutin.
« Pour le secret du vote, l’attaque exploite une autre faiblesse, non plus du code mais du protocole en lui-même. Sur le plan électoral, les Français de l’étranger sont répartis selon onze zones découpées elles-mêmes en circonscriptions consulaires qui correspondent chacune à un bureau de vote. Toutes ces circonscriptions ne sont pas de taille égale. À Sydney par exemple, il y a des dizaines de milliers de votants qui se sont exprimés alors qu’à Ekaterinbourg, il y en a eu moins de dix. Nous avons découvert qu’il était possible, pour un attaquant, de cibler un votant, de détourner son bulletin vers une circonscription consulaire où il y a très peu de votes, voire pas du tout, et de savoir ainsi, au dépouillement, pour qui il a voté. Cela est rendu possible par une faille dans la conception des preuves à divulgation nulle de connaissance qui accompagnent les bulletins. » Ainsi, l’autre objectif central du protocole, la confidentialité du vote, est également compromis.
Une démarche constructive
« Nous avons montré que, selon le modèle d’attaquant, il peut y avoir des attaques qui permettent à un tel attaquant de tricher. Nous ne pouvons pas dire si l’élection de 2022 a subi de telles attaques. En effet, nous avons montré qu’elles n’auraient laissé aucune trace détectable, même via une investigation a posteriori. La notion de modèle d’attaquant est très importante parce qu’elle définit la nature des attaques potentielles. Les vulnérabilités et attaques que nous avons révélées sont exploitables par un attaquant qui compromettrait soit le serveur de vote administré par le MEAE, soit le canal sécurisé transportant les communications (TLS). Dans le cadre d’une élection d’une telle ampleur, de tels scénarios doivent être pris en compte (ce que recommande d’ailleurs la CNIL, voir son niveau 3 de sécurité). En pratique, le serveur de vote pourrait être compromis suite à une négligence humaine, un acte malveillant ou un bug, et le canal sécurisé peut être compromis par une architecture défaillante ou compromise au point d’entrée (c’est-à-dire réseau professionnel) ou au point d’arrivée (serveur de vote administré par le MEAE). D’un point de vue sociétal, cela pose plus largement la question d’une élection nationale dont la sincérité repose entièrement sur la confiance d’une seule entité, qui plus est étatique (le MEAE). À l’opposé, le vote papier répartit la confiance notamment entre les différents bureaux de vote et assesseurs. D’un point de vue purement technique, on rappelle que tout l’objectif de la vérifiabilité et du reçu cryptographique est précisément d’éviter de devoir faire confiance à une telle autorité centralisée. »
Le passage de la théorie à la pratique est l’une de nos préoccupations essentielles.
Le travail d’Alexandre Debant et Lucca Hirschi ne se limite pas à pointer les faiblesses d’un système mais vise à proposer des solutions d’amélioration. Après échanges avec le ministère (MEAE), l’ANSSI et la société Voxaly Docaposte, fournisseur de l’outil de vote, ils ont fait six propositions de contre-mesures pour réparer et renforcer la sécurité du protocole établi. « L’idée est d’être toujours dans une démarche constructive. En mars et avril 2023, des élections législatives partielles ont été organisées avec succès dans des circonscriptions électorales pour lesquelles le Conseil Constitutionnel avait invalidé les résultats en 2022. Le protocole qui a alors été mis en place a intégré la majorité des correctifs que nous avions proposés. »
Les résultats de leurs recherches seront présentés au colloque Usenix Security cet été 2023, et ont par ailleurs été exposés en mars dernier à Tokyo au Real World Crypto Symposium qui réunissait acteurs académiques et industriels. « Ce genre de colloque permet de créer des liens entre les deux mondes, ce qui est très important pour nous car le passage de la théorie à la pratique est pertinent pour nos recherches. Sur le papier, certaines solutions paraissent très efficaces mais leur mise en œuvre pratique n’est pas forcément aussi simple. Le but est vraiment de permettre à chacun d’avancer, que ce soient les acteurs industriels dans le domaine de la sécurité informatique ou nous, chercheurs, dans le développement d’une recherche en adéquation avec les problématiques et contraintes d’applications de la vie réelle, comme le vote électronique. »
De l’ENS à Inria
Après des études à l’École normale supérieure de Rennes, Alexandre Debant a soutenu sa thèse à l’IRISA (Institut de recherche en informatique et systèmes aléatoires) puis, en septembre 2020, a intégré en postdoc le Centre Inria de Nancy, où il a été recruté en tant que chargé de recherche deux ans plus tard.
Originaire de Suisse romande, Lucca Hirschi a quant à lui poursuivi sa thèse à l’École normale supérieure de Cachan avant d’intégrer l’École polytechnique fédérale (ETH) de Zurich en postdoctorat et de rejoindre Inria en tant que chargé de recherche en janvier 2019.
En savoir plus…
- Alexandre Debant, Lucca Hirschi. Reversing, Breaking, and Fixing the French Legislative Election E-Voting Protocol. Cryptology ePrint Archive, Paper 2022/1653
- Site web de l’équipe PESTO