« Certifié » signifie que le système a passé un test une fois. Cela ne veut pas dire qu'il est sûr aujourd'hui.
Un audit de sécurité a approuvé le système. Puis des chercheurs externes ont découvert la faille — alors que 280 000 personnes votaient déjà. Le mot « certifié » n'a pas empêché que cela se produise.
Nous sommes à la troisième semaine de mars 2015, et l'élection de l'État de Nouvelle-Galles du Sud est en cours. Des centaines de milliers d'électeurs ont déjà voté en ligne par un système appelé iVote. L'autorité électorale a effectué ses vérifications de sécurité. Le système a été examiné. Personne n'a levé d'alarme.
Puis deux chercheurs — J. Alex Halderman de l'Université du Michigan et Vanessa Teague en Australie — pointent un navigateur sur le système en direct et actif.
Ils ne sont pas des fonctionnaires électoraux. Ils n'ont pas d'accès privilégié. Ils travaillent de l'extérieur, examinant ce que tout adversaire capable de se connecter au réseau pourrait atteindre.
Ce qu'ils découvrent n'est pas une vulnérabilité théorique cachée dans un protocole obscur. C'est un vecteur d'attaque fonctionnel. Le système iVote chargeait du code à partir d'un serveur d'analyse externe via une connexion vulnérable aux faiblesses TLS connues de l'époque — la classe d'attaque connue sous le nom de FREAK et Logjam. Un attaquant placé en réseau aurait pu utiliser ce canal pour manipuler les votes et compromettre la confidentialité des bulletins. Et le service de vérification téléphonique conçu spécifiquement pour que les électeurs puissent confirmer que leur vote avait été correctement enregistré ? Il était lui-même susceptible de manipulation, ce qui signifie que la vérification ne vérifiait rien.
L'audit de sécurité pré-électoral n'avait rien détecté de tout cela.
Au moment où les chercheurs ont signalé leurs conclusions, environ 280 000 votes avaient déjà été exprimés.
Le mot « certifié » fait un énorme travail ici — et ne le mérite pas
Voici ce que « certifié » signifie réellement dans les contextes de technologie électorale.
Cela signifie qu'à un moment défini — avant le déploiement, dans un environnement de laboratoire contrôlé — un système a été testé selon une spécification écrite, a réussi ces tests, et a reçu un document le confirmant.
Ce document ne se met pas à jour tout seul. Il ne réexécute pas les tests lorsqu'une dépendance change. Il ne sait pas qu'un script d'analyse tiers a été ajouté à la pile web après l'audit. Il ne sait pas que la version de la bibliothèque TLS en production diffère de celle examinée par les auditeurs. Il ne sait rien de ce qui s'est passé après le moment où le sceau a été apposé.
La certification est un instantané. Le système continue de fonctionner dans un monde qui ne reste pas immobile.
Ce n'est pas un défaut particulier à la Nouvelle-Galles du Sud. C'est structurel à tout régime de certification qui fonctionne en vérifiant un système une fois, puis en faisant confiance au résultat. L'instantané est gelé. L'environnement des menaces ne l'est pas.
Ce que Halderman et Teague ont découvert n'était pas le résultat d'un audit pré-électoral bâclé ou incompétent. C'était le résultat de l'examen d'un système qui a continué à exister et à se modifier. Le serveur d'analyse externe à partir duquel le code était chargé — cette dépendance faisait partie de la surface d'attaque, et les surfaces d'attaque ne sont pas statiques.
La leçon n'est pas « mener un meilleur audit pré-électoral ». La leçon est que une vérification unique ne peut pas remplacer la vérifiabilité continue, indépendante et externe. Et la particularité amère d'iVote est que le mécanisme de vérification — l'appel téléphonique de confirmation — était lui-même compromis. La propre preuve de correction du système aurait pu être manipulée.
Une serrure que vous ne pouvez pas vérifier n'est pas une serrure. C'est un accessoire.
Une cour fédérale a fait la même découverte — à propos d'un bulletin de papier que vous pouvez tenir dans votre main
Cinq ans plus tard, dans un contexte très différent, une cour fédérale américaine à Atlanta lisait un témoignage d'expert sur un système qui produit bel et bien un artefact physique. Les appareilsde marquage de bulletins Dominion de la Géorgie impriment un bulletin de papier. Vous pouvez le tenir. Vous pouvez le montrer à un agent de vote. Vous pouvez, en théorie, l'inspecter.
Sauf qu'il y a un problème.
L'appareil de marquage de bulletin imprime deux choses : un texte lisible par l'humain montrant vos choix, et un code QR. C'est le code QR que le scanner lit lorsqu'il dépouille les votes. Et un code QR n'est pas lisible par un humain. Vous ne pouvez pas le regarder et confirmer qu'il dit ce que dit le texte.
Dans son avis d'octobre 2020 dans Curling c. Raffensperger, la Cour de district des États-Unis pour le district nord de la Géorgie a examiné un témoignage d'expert incluant le Dr Halderman — le même chercheur qui avait examiné iVote — sur ce qu'une cyberattaque pourrait faire. La cour a constaté que le système « ne fournit pas un dossier de bulletin vérifiable et auditable car il s'appuie sur le code QR pour le dépouillement des votes et ce code lui-même ne peut pas être lu et vérifié par l'électeur. »
La cour a également cité directement la conclusion 2018 des Académies nationales : aucun mécanisme technique n'existe actuellement pour garantir qu'une application de comptage de votes produit des résultats précis, et les tests seuls ne peuvent garantir que les systèmes n'ont pas été compromis.
Relisez cette phrase. Les tests seuls ne peuvent garantir que les systèmes n'ont pas été compromis.
Ce n'est pas une affirmation marginale d'un chercheur. C'est une cour fédérale citant les Académies nationales, dans un avis juridique publié. Les tests — ce qu'est fondamentalement la certification — ne peuvent pas garantir l'intégrité de ce qui fonctionne réellement.
La cour de Géorgie, confrontée à une véritable élection dans quelques semaines, a refusé d'ordonner un passage en urgence aux bulletins marqués à la main sur papier. Elle a pesé la perturbation contre le risque et a choisi la continuité. C'est un appel pragmatique défendable. Mais cela ne résout pas le problème sous-jacent : l'artefact que les électeurs pouvaient inspecter n'était pas l'artefact en cours de dépouille.
La certification avait approuvé le système. L'écart de vérifiabilité du système persistait.
Le motif derrière les deux cas : le problème de l'instantané par rapport au direct
iVote de Nouvelle-Galles du Sud et Curling semblent superficiellement différents. L'un implique un système de vote en ligne fonctionnant sur des serveurs en réseau. L'autre implique un bulletin de papier produit dans un isoloir.
Mais ils partagent le même défaut structurel.
Dans les deux cas, ce qui a été certifié et ce qui fonctionnait réellement n'étaient pas évidemment la même chose — et il n'y avait aucun mécanisme disponible au public, ou aux électeurs individuellement, pour combler cet écart en temps réel.
Dans le cas d'iVote, l'écart était entre le système tel qu'examiné et le système tel que déployé, qui avait une dépendance directe d'un serveur externe qu'aucun auditeur n'avait évalué. La fonction de vérification censée détecter les problèmes avait elle-même été compromise.
Dans le cas de la Géorgie, l'écart était entre ce que l'électeur pouvait voir (texte lisible par l'humain) et ce que la machine comptait réellement (un code-barres que l'électeur ne peut pas décoder). Le bulletin de papier qui était censé permettre l'audit encode des informations que l'auditeur — l'électeur — ne peut pas lire. Un recomptage manuel de ces bulletins de papier audite la sortie du code-barres, pas l'intention de l'électeur. Comme l'a noté la cour, si le code-barres encode quelque chose de différent de ce que dit le texte, le recomptage manuel du papier confirme la manipulation, pas le choix de l'électeur.
La certification a approuvé les deux systèmes.
Aucun écart n'était détectable en regardant un document de certification.
Qu'est-ce qui fermerait réellement cet écart ?
La certification n'est pas inutile. Un système qui n'a jamais été testé par personne est pire qu'un système qui a été testé une fois. Le problème est de la traiter comme suffisante — comme la conclusion plutôt que le début d'un processus de vérification.
Qu'est-ce qui la rendrait suffisante ?
Trois choses qui sont techniquement réalisables et actuellement rares.
D'abord : l'attestation de ce qui fonctionne réellement, pas seulement de ce qui a été examiné. Un système qui peut cryptographiquement prouver à un observateur externe que le code exécutant les votes aujourd'hui est le même code qui a été testé — pas une version ultérieure, pas une dépendance corrigée, pas un module remplacé — comble l'écart d'instantané. Ce n'est pas de la science-fiction. C'est un problème résolu en génie logiciel. C'est simplement pas requis dans la plupart des régimes de certification de technologie électorale.
Deuxièmement : la vérifiabilité externe indépendante qui ne dépend pas du fournisseur ou de l'autorité. La leçon d'iVote est que le propre mécanisme de vérification du système peut être attaqué. Une vérification que le système lui-même administre n'est pas une vérification indépendante. La vérifiabilité signifie que quelqu'un d'extérieur — un chercheur, un parti politique, un citoyen avec un ordinateur portable — peut confirmer le comportement du système par rapport à un dossier inviolable qu'il n'a pas reçu du système en cours de vérification. La Cour constitutionnelle fédérale allemande a compris cela en 2009 quand elle a tenu que les électeurs doivent pouvoir vérifier les étapes essentielles d'une élection « sans aucune connaissance spécialisée ». La norme n'est pas « les experts peuvent l'examiner ». C'est « les gens ordinaires peuvent le vérifier ».
Troisièmement : l'artefact en cours de dépouillement doit être l'artefact que l'électeur peut inspecter. Un code QR qu'aucun électeur ne peut lire échoue à cela. Un bulletin de papier marqué à la main par l'électeur, que le scanner lit optiquement, s'en rapproche beaucoup — car un être humain regardant le même papier peut évaluer la même marque que celle évaluée par la machine. La commission néerlandaise qui a recommandé le retour au papier en 2007 a appelé ce principe controleerbaarheid — vérifiabilité — et l'a traité comme non négociable : « il n'y a pas de secrets dans le processus électoral et les questions doivent être posables et les réponses vérifiables et contrôlables. » Ce n'est pas une description d'un bulletin à code QR.
Les audits peuvent encore laisser la question ouverte
L'objection que vous formez probablement déjà : qu'en est-il des audits post-électoraux ? Qu'en est-il des recomptages manuels ?
Cela aide. Un audit limitant les risques qui échantillonne les bulletins de papier par rapport aux totaux des machines, comme le Colorado l'a lancé en 2017, fournit des preuves statistiques réelles que le comptage des machines reflète le dossier papier. Le recomptage intégral de la Géorgie de près de 5 millions de bulletins présidentiels en novembre 2020 a confirmé le résultat de la machine à environ un dixième de pour cent près.
Mais les audits de la sortie des appareils de marquage de bulletins à code QR auditent l'interprétation du code QR, pas l'intention de l'électeur — à moins que l'auditeur ne vérifie séparément que le texte lisible par l'humain et le code-barres correspondent. Cette étape n'est pas standard.
Et les audits se font après coup. Dans le cas d'iVote, l'élection était en direct avant que la faille ne soit découverte. Un audit post-électoral d'un système de vote en ligne ne peut pas récupérer les votes qui ont été silencieusement modifiés en transit, car il n'y a pas de copie indépendante de ce qui a été exprimé pour vérifier. Toute l'architecture du vote par internet rend le modèle « le papier comme vérité fondamentale » indisponible.
Il y a aussi la question irréductible sur les recomptages manuels eux-mêmes. Le comté d'Antrim, au Michigan, a effectué un recomptage manuel complet d'environ 15 700 bulletins présidentiels en décembre 2020 — et le recomptage manuel différait encore du dépouillement automatisé d'environ une douzaine de votes. Dans une course décidée par des centaines de votes, une douzaine de divergences inexpliquées entre le recomptage « étalon » et le dépouillement automatisé ne résolvent pas la question ; elles l'étendent. L'audit a confirmé que la méthode n'est pas parfaite. « L'audit a confirmé » est une réassurance, pas une preuve, quand la méthode d'audit elle-même porte une erreur irréductible.
La réponse n'est pas d'abandonner les audits. La réponse est de construire des systèmes où la vérité fondamentale est protégée cryptographiquement, visiblement au public, et indépendamment vérifiable — de sorte que « l'audit a confirmé » signifie quelque chose de falsifiable.
Ce que vous ne pouvez toujours pas vérifier — et ce qui le rendrait vérifiable
Voici ce qui reste opaque en ce moment dans la plupart des juridictions exploitant des systèmes de vote certifiés.
Vous ne pouvez pas vérifier que le code en fonctionnement le jour de l'élection est le code qui a été certifié. Aucun mécanisme d'attestation publique n'existe pour la plupart des systèmes déployés.
Vous ne pouvez pas vérifier, en tant qu'électeur, qu'un bulletin à code QR encode correctement vos choix. Aucun outil de décodage indépendant n'est fourni dans l'isoloir.
Vous ne pouvez pas vérifier que les dépendances directes d'un système de vote par internet correspondent au système qui a été examiné. La dépendance du serveur d'analyse d'iVote n'était pas dans la portée de l'audit.
Vous ne pouvez pas vérifier qu'un audit de sécurité pré-électoral a couvert la surface d'attaque telle qu'elle existait le jour de l'élection, car cette surface change.
Qu'est-ce qui rendrait ces choses vérifiables — indépendamment, sans faire confiance au fournisseur ou à l'organisme de certification ?
Les compilations de logiciels publiées et versionnées avec des hachages cryptographiques, vérifiées par des tiers au moment du déploiement. Des dossiers de bulletin vérifiables par l'électeur où ce que l'électeur marque est ce que le scanner lit et ce que tout auditeur peut évaluer. La publication des résultats au niveau des bureaux de vote en temps réel, lisible par machine, que n'importe qui peut télécharger et recouper. Et les tests adversariaux publics — pas un audit pré-électoral unique, mais une invitation ouverte et continue pour que les chercheurs externes trouvent des problèmes, comme la cour électorale du Brésil l'a institutionnalisée avec son programme de tests de sécurité publique.
« Certifié » est une déclaration sur le passé. Ce dont les élections ont besoin est une déclaration sur maintenant — qu'on peut indépendamment confirmer n'importe quel membre du public, sans prendre la parole de personne.
Les chercheurs de Nouvelle-Galles du Sud ont découvert la faille d'iVote de l'extérieur, sans accès spécial, pendant une élection en direct. C'est à la fois l'avertissement et le modèle. L'avertissement : l'examen fermé, unique, laisse des lacunes. Le modèle : les chercheurs externes ayant accès à un système en fonctionnement peuvent trouver ce que les initiés manquent.
La différence entre un désastre et une quasi-catastrophe est de savoir si l'architecture du système permet aux observateurs externes de le vérifier — avant que les votes ne soient exprimés, pendant qu'ils sont exprimés, et après qu'ils soient dépouillés.
La certification dit que le système a été vérifié.
La vérifiabilité dit qu'il peut être vérifié.
Ce ne sont pas la même chose, et aucune assurance d'autorité électorale, même sincère, ne peut combler l'écart entre elles.
Voyez à quel point cet écart de vérification est courant à travers le monde →
Lisez la version de deux minutes →
Explorez la base de données complète des cas →
Sources
- Halderman, Teague — The New South Wales iVote System: Security Failures and Verification Flaws in a Live Online Election (arXiv:1504.05646)
- Curling v. Raffensperger, No. 1:17-cv-2989-AT, Opinion and Order (N.D. Ga. Oct. 11, 2020) (Justia)
- Bundesverfassungsgericht, Judgment of 3 March 2009, 2 BvC 3/07 and 2 BvC 4/07 (English translation)
- Adviescommissie inrichting verkiezingsproces (Commissie Korthals Altes), 'Stemmen met vertrouwen', 27 September 2007
- Colorado Secretary of State — A new kind of election audit: Colorado is first to complete it
- Michigan Department of State — Final numbers from Antrim County audit affirm accuracy of election results
- Tribunal Superior Eleitoral (Brazil) — Teste Público de Segurança dos Sistemas Eleitorais