← Tous les articles

Pourquoi voter en ligne est beaucoup plus difficile que faire des opérations bancaires en ligne

Votre banque vous laisse vérifier chaque transaction. Votre vote disparaît par conception — et au moment où quelqu'un essaie de corriger cela, il remet aux acheteurs de votes le reçu qu'ils ont toujours voulu.

Nous sommes en mars 2019, et quelque part dans les bureaux de la Poste suisse à Berne, une décision est prise qui ressemble à un triomphe de la transparence démocratique. L'autorité postale fédérale suisse et son fournisseur espagnol, Scytl, sont sur le point de publier le code source complet de leur système de vote par Internet — celui prévu pour les référendums nationaux contraignants. Tout le monde peut le lire. Le public peut le vérifier. Les ingénieurs en sont fiers.

Six semaines plus tard, trois chercheurs indépendants — Sarah Jamie Lewis, Olivier Pereira et Vanessa Teague — publient un article dont le titre est emprunté à Magritte : Ceci n'est pas une preuve.

Ils avaient découvert une trappe cachée dans le mélange cryptographique du système. Les mathématiques généraient une « preuve » que tous les votes avaient été comptabilisés correctement. La preuve se vérifiait. Elle passait tous les contrôles. Et elle était un mensonge — parce que quiconque connaîtrait les valeurs de la trappe pourrait générer une preuve parfaitement valide pour un mélange qui avait modifié les votes en secret. Le but de la revendication de « vérifiabilité universelle » du système était que vous n'aviez besoin de faire confiance à personne. Cette revendication était fausse.

La Poste suisse et Scytl ont reconnu le problème. Le système a été suspendu.

C'est la version la plus aigüe du problème. Mais ce n'est pas la seule. Et ce n'est même pas la plus difficile. Le problème le plus profond du vote par Internet n'a rien à voir avec la cryptographie. Il a à voir avec une contrainte de conception qui précède les ordinateurs de 170 ans.


Pourquoi votre banque et votre urne sont construites différemment

Quand vous vérifiez le solde de votre compte, vous lisez un nombre que votre banque est heureuse de vous montrer. Quand vous contestez une transaction, votre banque produit un enregistrement — horodaté, attribuable à vous — et vous pouvez vérifier qu'il correspond. Vous pouvez appeler votre banque. Vous pouvez montrer l'enregistrement à un avocat. Tout le système est conçu autour d'une supposition : la transaction est traçable jusqu'à vous.

C'est exactement ce qu'un bulletin de vote ne peut pas être.

Le scrutin secret — inventé en Australie dans les années 1850 et adopté dans les démocraties au cours du siècle suivant — n'était pas une courtoisie de confidentialité. C'était un système de sécurité. La Commission électorale australienne énonce la logique clairement : parce que les gens votaient publiquement, ils étaient vulnérables à l'intimidation et à la coercition. La solution était un bulletin uniforme imprimé par l'État, marqué en privé, sans lien entre le papier et la personne qui l'avait marqué. La Grande-Bretagne a formalisé le même principe dans la Ballot Act de 1872, mettant fin à l'ère du vote public précisément pour écraser le marché des acheteurs de votes. Un tribunal fédéral américain l'a dit en langage moderne clair dans Rideout v. Gardner (2016) : les réformes du scrutin secret ont été adoptées pour « combattre l'achat massif de votes et l'intimidation d'électeurs » — parce qu'un acheteur ne peut pas faire respecter un achat qu'il ne peut pas vérifier.

Voici la collision structurelle : un reçu bancaire rend une transaction prouvable ; un reçu de vote rend un vote achetable.

Si vous pouviez photographier votre bulletin marqué et l'envoyer à quelqu'un pour prouver comment vous avez voté, vous auriez donné à chaque employeur, chef politique, autorité religieuse ou agent de trafic exactement le mécanisme d'application dont ils ont besoin. Le tribunal dans Rideout a rejeté une interdiction des « selfies » de vote pour des raisons du Premier Amendement — mais il a explicitement reconnu le mécanisme. La photographie restaure la preuve d'achat.

Alors quand quelqu'un propose le vote par Internet et dit « nous allons donner aux électeurs un reçu pour vérifier que leur vote a été comptabilisé », il propose, dans le même souffle, une infrastructure d'achat de votes. Et quand il dit « nous allons le rendre anonyme pour que personne ne puisse prouver son vote à un tiers », il propose un système où l'électeur ne peut pas confirmer indépendamment que son choix a été enregistré du tout. Vous ne pouvez pas avoir les deux. La physique ne le permet pas.

C'est la tension fondamentale. Tout le reste est une variation sur ce thème.


L'expérience de 48 heures qui a tué un projet pilote

En septembre 2010, la Commission électorale du District de Columbia a décidé de mettre en place un système de retour de bulletins par Internet pour les électeurs expatriés et militaires. Avant de le déployer pour de vrais bulletins, elle l'a ouvert aux tests publics. Bon instinct.

Une équipe de l'Université du Michigan dirigée par J. Alex Halderman a trouvé une vulnérabilité logicielle et a obtenu un contrôle quasi total du serveur pilote en environ 48 heures. Ils pouvaient modifier chaque bulletin qui avait été émis. Ils pouvaient voir les bulletins secrets. En guise de démonstration, ils ont programmé le système pour jouer le chant de ralliement de l'Université du Michigan après chaque vote simulé. L'intrusion est restée inaperçue des responsables pendant des jours.

Washington a abandonné le plan. L'article examiné par des pairs a été publié à Financial Cryptography 2012.

La leçon que les responsables ont tirée était : le vote par Internet a échoué à un test de sécurité. La leçon plus profonde est ce que ce test a prouvé être possible : quand la sécurité d'un système repose sur des logiciels cachés à l'examen par les adversaires, la seule façon de savoir s'il fonctionne est de laisser les adversaires essayer de le casser. Washington a bien fait d'ouvrir le projet pilote. Le résultat a été un défaut détecté plutôt qu'une élection volée.

La plupart des déploiements ne sont pas testés de cette façon. La plupart sont simplement mis en service.


280 000 votes déjà comptabilisés avant que quelqu'un ne remarque le problème

Mars 2015. La Nouvelle-Galles du Sud est en pleine élection. Le système de vote en ligne iVote de l'État a déjà collecté environ 280 000 votes quand J. Alex Halderman et Vanessa Teague s'assoient pour analyser le système en fonctionnement de l'extérieur.

Ils découvrent qu'iVote charge du code à partir d'un serveur d'analyse externe sur une connexion vulnérable aux faiblesses TLS alors connues — le type de failles exploitées activement cette année-là sous des noms comme FREAK et Logjam. Un attaquant réseau positionné entre un électeur et le serveur aurait pu manipuler les votes et compromettre la confidentialité du scrutin. Ils découvrent également que le service de vérification des votes par téléphone d'iVote — la fonctionnalité conçue pour permettre aux électeurs de confirmer leur bulletin — est lui-même susceptible de manipulation.

L'examen de sécurité pré-électoral des autorités avait autorisé le système. Les chercheurs ont découvert ces problèmes pendant une élection en direct, après qu'un quart de million de votes soit déjà enregistré. Un correctif a été déployé alors que le vote était encore en cours.

L'analyse examinée par des pairs a été publiée à E-Vote-ID 2015. La Commission électorale de Nouvelle-Galles du Sud a contesté l'ampleur du risque, comme les autorités ont tendance à le faire.

Remarquez ce qu'était réellement le mécanisme de vérification : un service téléphonique qui pouvait lui-même être manipulé. C'est le problème du reçu sous sa forme la plus concrète. Vous ne pouvez pas vérifier que votre vote a été enregistré correctement en interrogeant le même système qui aurait pu l'altérer. Tout reçu généré par un système compromis est un reçu du mensonge, pas de la vérité. La seule vérification significative est celle menée par une partie indépendante qui peut inspecter le mécanisme — pas la sortie du mécanisme lui-même.


La trappe dans la preuve

Revenons en Suisse en 2019. Ce qui rend ce cas si clarificateur n'est pas que le système était cassé de manière évidente. Il était cassé d'une manière mathématiquement indiscernable du correct.

Les chercheurs — Lewis, Pereira et Teague — ont découvert que le mixnet du système utilisait un schéma d'engagement avec trappe pour sa preuve de mélange. Un mixnet est la façon dont les systèmes de vote par Internet tentent de préserver l'anonymat : les votes sont mélangés à travers plusieurs étapes pour que l'entrée et la sortie ne puissent pas être liées. Le système génère ensuite une preuve cryptographique que le mélange a été effectué honnêtement et qu'aucun vote n'a été altéré.

La preuve s'est vérifiée. Les mathématiques se sont vérifiées. Et la trappe signifiait qu'un initié qui connaissait les valeurs de la trappe pouvait générer une preuve parfaitement valide pour un mélange qui avait changé les votes.

Ce n'est pas une faiblesse théorique. C'est ce à quoi ressemblait la « vérifiabilité universelle » dans un système prévu pour les référendums nationaux contraignants. L'analyse publiée a forcé la Poste suisse et Scytl à reconnaître le défaut et à suspendre le système.

L'épisode vous donne la version la plus difficile du problème du reçu. Parce que même si nous laissons de côté l'achat de votes — même si nous imaginons un monde où un reçu ne serait pas utilisé pour contraindre quelqu'un — le reçu lui-même pourrait être une preuve d'un compte qui n'a jamais eu lieu, et il n'y a aucun moyen pour l'électeur de le savoir. La « preuve cryptographique que vous pouvez vérifier vous-même » s'est avérée nécessiter un doctorat en mathématiques pour être reconnue comme fausse.

La Cour constitutionnelle fédérale allemande a articulé la norme en 2009 quand elle a interdit les ordinateurs de vote électronique dont seuls les experts pouvaient évaluer le fonctionnement interne : les étapes essentielles du vote et de la détermination du résultat doivent être examinables par les citoyens ordinaires, sans connaissances spécialisées. Une preuve cryptographique qui passe la vérification tout en cachant les votes altérés est exactement ce que cette norme est conçue pour exclure.


L'Estonie : le système auquel fait confiance une nation, et ce que les chercheurs ont réellement découvert

L'Estonie est le pays le plus souvent cité comme preuve que le vote par Internet fonctionne. Elle a un système de vote électronique national depuis 2005. Des millions d'Estoniens l'ont utilisé. C'est véritablement avant-gardiste.

En 2014, une équipe de recherche indépendante — Springall, Finkbeiner, Durumeric, Kitcat, Hursti, MacAlpine et Halderman — a observé le fonctionnement du système pendant les élections municipales d'octobre 2013 et examiné le logiciel client publié et la configuration du serveur. Ils ont découvert de graves faiblesses de sécurité opérationnelle et procédurale : des pratiques laxistes capturées dans des vidéos officielles, des lacunes dans l'architecture du logiciel, et une conclusion qu'un attaquant bien doté en ressources — ou un initié malhonnête — pourrait plausiblement compromettre l'intégrité des votes ou la confidentialité des électeurs sans détection.

Leur article ACM CCS 2014 a recommandé que l'Estonie abandonne le système. Les autorités électorales estoniennes ont contesté les conclusions. Le système est toujours en fonctionnement.

Ce différend en soi est le point. Deux parties accrédités avec accès au même système sont arrivées à des conclusions opposées quant à savoir s'il était sûr. Dans les systèmes de bulletins papier, cet argument peut être résolu : ouvrez les boîtes scellées, recomptez les bulletins, comparez. Dans un système de vote par Internet avec de fortes propriétés d'anonymat, l'étape « recomptez-les » n'existe pas. Il n'y a pas de pile de bulletins à recompter. Il n'y a que la sortie du logiciel, et la question de savoir si vous lui faites confiance.

La Norvège a essayé le vote par Internet en 2011 et 2013. Les essais ont été interrompus en 2014 après avoir constaté que le taux de participation n'a pas augmenté et que la confiance dans le fait que les votes ne sont pas modifiés ne pouvait pas être assurée. L'argument de commodité — la raison principale pour laquelle quelqu'un propose le vote par Internet — ne s'est pas avéré empiriquement. Et l'argument de vérifiabilité s'est effondré pour la même raison qu'il le fait toujours : vous ne pouvez pas auditer indépendamment ce qui n'existe pas.


La vraie asymétrie

Votre banque tient un livre de comptes. Le livre de comptes est traçable jusqu'à vous. Si quelque chose tourne mal, vous pouvez comparer vos dossiers aux dossiers de la banque aux dossiers d'un arbitre. La chaîne de responsabilité va directement de la transaction à votre nom.

Un système de dépouillement des votes fonctionne exactement dans la direction opposée. Le bulletin doit être séparé de manière permanente de l'identité de l'électeur avant d'être compté. La chaîne de responsabilité va de l'urne scellée au total, avec le nom de l'électeur nulle part dans le bureau de dépouillement.

Ces deux exigences — vérification indépendante de ce qui a été compté et intraçabilité permanente de qui a voté quoi — s'opposent avec une force qu'aucune architecture logicielle n'a encore dissolvée.

Les systèmes papier gèrent une trêve imparfaite : le bulletin physique est le dossier vérifié par l'électeur, marqué en privé, déposé anonymement, stocké dans une urne scellée, et comptable par quiconque peut regarder une feuille de papier. La Commission Korthals Altes du gouvernement néerlandais en 2007 a appelé cela « voter avec confiance » — et a ensuite recommandé de revenir, depuis les systèmes électroniques, au papier parce que le papier est vraiment ce que la transparence et la vérifiabilité ressemblent en pratique. Les Pays-Bas utilisent le dépouillement manuel des bulletins papier depuis lors.

Les systèmes de vote par Internet n'ont pas trouvé la trêve. Le reçu qui prouve que votre vote a été compté est aussi le reçu qui prouve comment vous avez voté. La preuve qu'aucun vote n'a été altéré soit s'appuie sur la cryptographie que la plupart des électeurs ne peuvent pas évaluer — soit, comme la Suisse l'a découvert, peut être falsifiée par un initié avec des connaissances mathématiques que l'électeur n'aura jamais.

Le méchant ici n'est pas un fournisseur, un parti ou un gouvernement. Le méchant est la demande impossible : prouver le compte sans prouver l'électeur. C'est le problème qu'aucun logiciel n'a résolu, et c'est pourquoi l'analogie bancaire échoue à la base.


Ce qui rendrait réellement ceci vérifiable

Ce n'est pas un argument que le vote par Internet ne peut jamais être amélioré. C'est un argument sur ce que « amélioré » devrait signifier.

Le cas suisse montre que la publication du code source est nécessaire mais pas suffisante — le code était public, et le défaut a nécessité trois cryptographes pour le trouver. Le cas de Nouvelle-Galles du Sud montre que la certification pré-électorale n'est pas suffisante — le défaut a été découvert pendant l'élection par des étrangers que le processus de certification n'avait pas inclus. Le cas de Washington D.C. montre que les tests adversariaux ouverts fonctionnent, mais seulement si le test est lancé avant que des vrais votes ne soient en jeu, et seulement si les juridictions sont disposées à tuer un système quand le test échoue.

Le cas de l'Estonie montre que même l'opinion d'experts contestée ne peut être résolue de la façon qu'un recompte papier peut. Et le cas de la Suisse montre qu'une preuve « vérifiable » peut être une preuve d'une fiction.

Ce qui rendrait le vote par Internet vérifiable — véritablement vérifiable par quelqu'un d'autre que le fournisseur, l'autorité ou un cryptographe à ses frais — nécessiterait au minimum : du code source publié soumis à un examen adversarial continu ; des reçus cryptographiques qui prouvent l'inclusion sans prouver le choix, vérifiés par un tableau d'affichage public que tout électeur peut interroger ; et un mécanisme d'audit indépendant qui ne dépend pas du même système qu'il audite. Les chercheurs travaillent sur ces propriétés. Aucune d'elles n'existe dans un système national déployé aujourd'hui qui a survécu à l'examen adverse sans découvrir un défaut critique.

Jusqu'à ce qu'ils le fassent, la comparaison bancaire est instructive pour exactement la mauvaise raison. Votre banque peut vous donner un reçu parce que votre transaction n'a jamais été censée être secrète. Votre vote l'était. C'est une fonctionnalité, pas un bug — et c'est la raison pour laquelle le vote par Internet est beaucoup plus difficile qu'il n'y paraît.


Ce qui n'est toujours pas indépendamment vérifiable : si un système de vote par Internet en production actuellement peut résister à une attaque d'initié bien dotée en ressources sans détection. Les systèmes qui ont été analysés par des chercheurs indépendants — Estonie, Nouvelle-Galles du Sud, Washington D.C., Suisse — ont chacun produit des conclusions que les autorités ont contestées ou corrigées. Aucun système de vote par Internet national n'a été soumis au type de test adversarial continu et ouvert qui permettrait à un citoyen ordinaire — pas un cryptographe, pas un responsable gouvernemental — de confirmer que le compte était correct.

Ce qui le rendrait vérifiable : la publication obligatoire du code source public, les tableaux d'affichage publics gérés indépendamment, l'accès continu aux tests adversariaux, et les procédures d'audit qui ne passent pas par le système audité. Ce sont les normes qui méritent d'être exigées.

Voyez comment les lacunes de vérifiabilité apparaissent dans les différents systèmes et pays →

Lisez la version deux minutes du problème du vote par Internet →


Sources