Et si le public, et non un fournisseur, était propriétaire du logiciel qui compte vos votes ?
Le comté de Los Angeles a construit le premier système de dépouillement des votes détenu par le public et en source ouverte certifié en Californie — et il ne résout toujours pas le problème le plus difficile. Voici ce qu'il prouve et ce qu'il ne prouve pas.
Nous sommes le 21 août 2018, et le bureau du secrétaire d'État de Californie vient de certifier quelque chose qui n'a jamais existé avant dans l'histoire de l'État : un système de dépouillement des votes qu'aucune entreprise privée ne possède.
Le logiciel qui comptera les bulletins pour environ 5,7 millions d'électeurs inscrits dans le comté de Los Angeles — la plus grande juridiction électorale des États-Unis — appartient au public. Son code source n'est pas un secret commercial enfermé dans le serveur d'un fournisseur. En principe, n'importe quel ingénieur qualifié peut le lire, l'inspecter et vous dire ce qu'il fait.
C'est un moment véritablement significatif. C'est aussi le début d'une conversation plus difficile.
Le problème qui a rendu VSAP nécessaire
Pour comprendre pourquoi la propriété publique des logiciels de vote est importante, vous devez comprendre ce que la propriété privée a produit.
En 2006, les chercheurs de Princeton Ariel Feldman, J. Alex Halderman et Edward Felten ont obtenu un Diebold AccuVote-TS — l'une des machines à voter par écran tactile les plus largement déployées en Amérique — et y ont passé environ une minute. Cela a suffi. Ils ont démontré qu'un attaquant ayant un accès physique de courte durée pouvait installer un code malveillant qui volait les votes tout en modifiant chaque journal et compteur interne pour qu'ils semblent normaux. Ils ont même créé une version qui s'est propagée automatiquement d'une machine à l'autre. Le logiciel qui faisait fonctionner cette machine était propriétaire. Personne en dehors de Diebold ne pouvait l'inspecter. Lorsque les chercheurs ont finalement mis la main sur l'une de ces machines, les résultats n'ont pas été rassurants.
Le modèle propriétaire crée un problème structurel : vous ne pouvez pas vérifier indépendamment ce que vous ne pouvez pas voir. L'affirmation d'un fournisseur selon laquelle son code est sécurisé n'est pas la preuve qu'il est sécurisé. Une certification gouvernementale fondée sur la propre documentation du fournisseur n'est pas un audit indépendant. Un responsable disant « nous l'avons testé » n'est pas la même chose que le public pouvant le tester.
En 2005, le Bureau de la responsabilité gouvernementale des États-Unis a examiné la sécurité et la fiabilité des systèmes de vote électronique et a constaté que des activités clés restaient inachevées — notamment l'établissement de procédures de certification appropriées et de référentiels pour les logiciels certifiés. C'était des années après que le Congrès ait adopté le Help America Vote Act et ait financé une agence entière pour superviser ces systèmes. L'appareil pour vérifier que les machines à voter fonctionnaient comme prévu était toujours en cours de mise en place.
« Nous utilisons des systèmes certifiés » est une affirmation. Ce n'est pas une vérification.
Ce que le comté de Los Angeles a réellement construit
Le programme Voting Solutions for All People — VSAP — est né de la frustration face à cette même dynamique. Les anciennes machines à voter par écran tactile Sequoia AVC Edge du comté de Los Angeles approchaient de la fin de leur vie, et le marché des systèmes de remplacement était dominé par une poignée de fournisseurs privés dont le logiciel était protégé comme propriétaire. Le comté a décidé de construire le sien.
Le résultat, certifié par le secrétaire d'État de Californie le 21 août 2018, était VSAP Tally Version 1.0 — le premier système électoral certifié en Californie à utiliser la technologie open source et, selon l'État lui-même, « le premier système de dépouillement électoral en source ouverte et détenu par le public certifié conformément aux normes californiennes des systèmes de vote ».
Le comté a également établi un groupe de travail open source destiné à permettre à d'autres juridictions de s'appuyer sur la base de code détenue par le public. La vision était un bien commun : un logiciel de vote qui appartient au processus démocratique lui-même, et non au bilan d'une entreprise.
C'est architecturalement différent de tout ce qui l'a précédé en Californie. Cela supprime une couche d'opacité que les systèmes propriétaires rendent inévitable. Et cela compte.
Mais il vaut la peine d'être précis sur ce que cela change réellement — et sur ce qu'il ne fait pas.
La source ouverte supprime un problème. Elle ne supprime pas le problème.
Voici ce que le logiciel de vote open source réalise véritablement : cela signifie que le logiciel qui compte votre vote peut être lu, analysé et critiqué par n'importe qui ayant les compétences pour le faire. Les chercheurs en sécurité, les universitaires, les fournisseurs rivaux, les gouvernements étrangers, les citoyens curieux — tous peuvent, en principe, inspecter le code et vous dire s'il y a un problème.
Ce n'est pas une petite chose. C'est exactement comment la Suisse a découvert une faille dévastatrice dans son système de vote électronique par courrier en 2019. Lorsque Swiss Post a publié le code source du système de vote par internet construit par Scytl avant son utilisation prévue dans des votes contraignants, les chercheurs indépendants Sarah Jamie Lewis, Olivier Pereira et Vanessa Teague l'ont analysé et ont découvert une trappe cryptographique : une faille dans la preuve de mélange qui permettrait à une autorité de générer une transcription qui semblait mathématiquement valide tout en ayant silencieusement modifié les votes. Le système prétendait être universellement vérifiable. Ce n'était pas le cas. Swiss Post a retiré le système. La faille a été découverte parce que la source était publique.
Un système fermé ne peut pas être découvert de cette manière. La trappe reste cachée jusqu'à ce que quelqu'un ayant un accès interne choisisse — ou soit payé — pour la révéler.
Mais la source ouverte est une condition de départ, pas la ligne d'arrivée.
Considérez ce qui doit toujours être vrai pour qu'un système de vote open source soit digne de confiance :
D'abord, le code qui s'exécute le jour des élections doit réellement être le code qui a été publié. Le logiciel open source est inspectable. Le fichier binaire compilé s'exécutant sur une machine spécifique une nuit spécifique est un artefact différent. Si vous ne pouvez pas vérifier que la source publiée et le programme en cours d'exécution sont identiques — par le biais de hachages cryptographiques vérifiés par rapport au code publié, scellés avant le déploiement et vérifiés après — alors publier la source est un geste de transparence, pas une garantie.
Deuxièmement, la chaîne de contrôle physique gouverne toujours ce que le logiciel compte. Un bulletin de vote qui est échangé, perdu ou dupliqué avant d'atteindre le scanner ne se soucie pas de la nature ouverte du logiciel de dépouillement. Lorsque la Cour constitutionnelle autrichienne a annulé une élection présidentielle en 2016, ce n'était pas parce que le logiciel était mauvais — c'était parce qu'environ 77 000 bulletins de vote par courrier avaient été manipulés avant que la loi ne le permette, par des personnes non autorisées, sans les témoins requis. Environ 30 000 votes séparaient les candidats. Le logiciel aurait pu être parfait et le résultat aurait toujours été non vérifiable, parce que la chaîne physique était brisée. Aucune quantité de code open source ne peut réparer un sac scellé ouvert dans la mauvaise pièce à la mauvaise heure par les mauvaises personnes.
Troisièmement, l'audit de la production nécessite toujours un registre physique que le logiciel ne peut pas contrefaire. Un système de dépouillement open source qui produit seulement un nombre numérique — pas de trace papier vérifiée par l'électeur, pas d'artefact indépendamment vérifiable — vous oblige toujours à faire confiance à la production de la machine. La Cour constitutionnelle fédérale allemande a capturé cela dans son jugement décisif de 2009 : une élection n'est légitime que lorsque « les étapes essentielles du vote et de la détermination du résultat peuvent être examinées par le citoyen de manière fiable et sans aucune connaissance spécialisée ». Lire le code source nécessite une connaissance spécialisée. Compter des bulletins de vote papier ne le fait pas.
L'audit doit quand même avoir lieu — et il porte toujours une erreur
La source ouverte rend le système inspectable avant l'élection. Les audits rendent la production vérifiable après.
Les deux comptent. Aucun des deux seul ne suffit.
Le dépouillement manuel complet de la Géorgie en 2020 d'environ cinq millions de bulletins de vote a confirmé le résultat du dépouillement par machine à environ un dixième de un pour cent — une démonstration puissante de ce que le papier marqué par les électeurs plus un processus d'audit sérieux peut réaliser. Le Colorado est devenu le premier État à compléter un audit limitant les risques à l'échelle de l'État en 2017, en y incorporant la rigueur statistique que les vérifications ponctuelles à pourcentage fixe ne peuvent pas offrir.
Mais les audits ont des limites qui sont rarement discutées honnêtement.
Dans le comté d'Antrim, Michigan, en 2020, un dépouillement manuel destiné à vérifier les résultats des machines corrigés a différé du total des machines d'environ une douzaine de votes sur environ 15 700 dépouillés. Non pas à cause de fraude. Non pas à cause du logiciel. Parce que le dépouillement manuel est effectué par des humains à 2 h du matin sous des lumières fluorescentes, lisant des marques qui sont parfois ambiguës, appliquant des jugements qui varient de table en table. Le dépouillement manuel est l'étalon-or — et l'étalon-or est toujours décalé d'une douzaine de votes dans un petit comté.
Dans une course décidée par moins de votes que cela, « le dépouillement manuel l'a confirmé » est une assurance. Ce n'est pas une preuve.
À Windham, New Hampshire, un audit judiciaire ordonné par l'État a retracé un comptage important à des plis à travers les cases de vote des bulletins — une machine de pliage qui a créé des plis dans les bulletins de vote par courrier sur les cases ovales, que les scanners optiques ont lus comme des votes marqués. Pas de malware. Pas de fraude. Une interaction mécanique entre une machine de pliage en location et le système optique d'un scanner de bulletins de vote, produisant des erreurs par centaines. Détecté seulement parce que le papier existait et qu'un dépouillement manuel pouvait retrouver l'intention de l'électeur.
La leçon n'est pas « le papier échoue ». La leçon est que chaque méthode — machine, dépouillement manuel ou scanner optique — porte une erreur irréductible, et le seul système honnête est celui où ces erreurs peuvent être indépendamment détectées et mesurées, et non simplement rassurées par les responsables.
Ce que « détenu par le public » ne peut toujours pas vous dire
Voici la question que les architectes de VSAP ne pouvaient pas entièrement répondre simplement en rendant le code public : qui le vérifie, à quelle fréquence, et avec quelle indépendance ?
Publier le code source est nécessaire. Ce n'est pas suffisant à moins que quelqu'un ne le lise réellement — de manière adversariale, dans le but de trouver ce qui est mauvais plutôt que de confirmer ce qui semble correct. La Cour électorale supérieure du Brésil invite le public à attaquer ses machines à voter lors d'un test de sécurité officiel annuel, avec des testeurs externes qualifiés soumettant des plans de test approuvés et les conclusions utilisées pour améliorer les systèmes avant chaque élection. C'est un examen adversarial institutionnalisé — pas une certification, un défi permanent. C'est un modèle où « faites-nous confiance » est remplacé par « essayez de le casser ».
Washington D.C. a découvert quelque chose de similaire, de la façon difficile, en 2010 : quand le District a ouvert un projet pilote de retour de bulletin par internet aux tests publics avant le déploiement, une équipe de l'Université du Michigan a obtenu un contrôle quasi complet du serveur en environ 48 heures, a changé tous les bulletins qui avaient été dépouillés, et n'a pas été détectée pendant des jours. Les vulnérabilités ont été découvertes parce que les tests étaient ouverts et réels. Le système n'a jamais été utilisé pour un vrai vote. Le test adversarial public — pas la certification privée — est ce qui a protégé les électeurs de D.C.
Le groupe de travail open source de VSAP et le référentiel de code public sont des étapes dans cette direction. Mais un référentiel de code n'est pas la même chose qu'un programme de test adversarial institutionnalisé avec des résultats publics, une remédiation obligatoire et une confirmation indépendante.
La question qui vaut la peine d'être posée : la version en cours d'exécution de VSAP Tally a-t-elle été testée indépendamment et de manière adversariale par des parties sans relation financière avec le comté ou aucun fournisseur ? Tous les plans de test et ses résultats ont-ils été rendus publics ? Pas le code — le fichier binaire spécifique qui a exécuté la dernière élection, les journaux de la chaîne de contrôle pour chaque carte mémoire, les valeurs de hachage publiées avant que les scrutins ouvrent.
Ce ne sont pas des questions rhétoriques. C'est la liste de contrôle qui sépare « source ouverte » de « indépendamment vérifiable ».
Le fil conducteur de 2000 à aujourd'hui
Le Help America Vote Act a été adopté en 2002 en réponse fédérale à l'élection de 2000, dans laquelle la Cour suprême a constaté que des bulletins de vote de poinçonnage identiques étaient évalués différemment par des dépouillants différents dans des comtés différents — les poinçons estompés comptés ici, rejetés là — sans norme uniforme et pré-publiée pour lire l'intention de l'électeur. Le problème n'était pas la fraude. C'était l'ambiguïté intégrée au système, résolue par jugement humain appliqué de manière incohérente, produisant un résultat qui dépendait de qui faisait le dépouillement dans quelle pièce.
HAVA a financé de nouveaux équipements et créé la Commission d'assistance électorale. Il a orienté les exigences des systèmes de vote vers une ligne de base fédérale. Ce qu'il ne l'a pas fait — et ce que l'GAO a documenté trois ans plus tard — était de construire l'appareil complet pour la vérification indépendante. Les normes et la certification ne sont aussi fortes que l'institution qui les applique, et cette institution était toujours en cours de mise en place.
VSAP est une approche différente. Elle dit : au lieu de vous demander de faire confiance au fournisseur, nous vous demandons de lire le code. C'est du progrès. Ce n'est pas la destination.
La destination est un système dont la justesse n'importe quel citoyen peut vérifier — non pas en étant un ingénieur logiciel, mais parce que la chaîne de preuves du bulletin au résultat est évidemment manipulée, lisible par machine, et publiée au niveau du bureau de vote au moment où le dépouillement se termine.
Le logiciel de dépouillement open source est une brique dans ce mur. Les registres papier vérifiés par l'électeur sont une autre. Les audits routiniers, indépendants et adversariaux — pas les vérifications internes — en sont une troisième. Les engagements cryptographiques qui prouvent que le code publié est le code en cours d'exécution en sont une quatrième. Les résultats en temps réel, au niveau du bureau de vote, lisibles par machine, que n'importe qui peut télécharger et concilier indépendamment en sont une cinquième.
Le comté de Los Angeles a construit quelque chose de véritablement important. Il a aussi construit quelque chose qui peut toujours être obscurci par une pièce scellée, une chaîne de contrôle brisée, ou un fichier binaire compilé que personne n'a vérifié par rapport à la source publiée.
L'argument en faveur de VSAP est le même argument qui a toujours été disponible : la transparence l'emporte sur le secret. L'ouvert l'emporte sur le fermé. L'inspectable l'emporte sur la confiance aveugle. Ce que ce n'est pas, c'est complet. Et « complet » est le seul standard qui permet au public — pas un fournisseur, pas un secrétaire d'État, pas un juge — de confirmer que le dépouillement est correct.
Ce qui ne peut toujours pas être vérifié indépendamment : si les fichiers binaires compilés spécifiques qui ont s'exécutés sur les machines VSAP dans n'importe quelle nuit électorale ont été cryptographiquement vérifiés par rapport au code open source publié avant que les scrutins ouvrent, et si ces registres de vérification sont disponibles publiquement sous forme lisible par machine. Ce qui le rendrait vérifiable : une exigence de publication de hachage avant l'élection obligatoire, des tests adversariaux publics avec des résultats publiés, et les résultats au niveau du bureau de vote lisibles par machine publiés au moment où le dépouillement de chaque bureau de vote est complet — pour que n'importe qui puisse les concilier.
Voir comment l'écart du code source secret se manifeste dans le monde entier →
Lisez la version de deux minutes du problème de vérifiabilité →
Explorez notre base de données complète →
Sources
- Communiqué de presse du secrétaire d'État de Californie (21 août 2018) : certification du VSAP Tally du comté de Los Angeles comme première technologie électorale open source certifiée en Californie
- Registrar-Recorder/County Clerk du comté de Los Angeles, rapport officiel du programme VSAP
- Feldman, Halderman et Felten — Analyse de sécurité de la machine à voter Diebold AccuVote-TS (USENIX/EVT)
- GAO-05-956, « Elections : Les efforts fédéraux pour améliorer la sécurité et la fiabilité des systèmes de vote électronique sont en cours, mais les activités clés doivent être complétées » (21 septembre 2005)
- Lewis, Pereira, Teague — Ceci n'est pas une preuve (engagements de trappe dans le système de vote par internet Scytl-SwissPost), 2019
- Verfassungsgerichtshof, Décision W I 6/2016-125, 1er juillet 2016 (traduction officielle en anglais)
- Bundesverfassungsgericht, Jugement du 3 mars 2009, 2 BvC 3/07 et 2 BvC 4/07 (traduction en anglais)
- Georgia Public Broadcasting — L'audit limitant les risques confirme que Biden a remporté la Géorgie
- Secrétaire d'État du Colorado — Un nouveau type d'audit électoral : le Colorado est le premier à le compléter
- Département d'État du Michigan — Les chiffres finaux de l'audit du comté d'Antrim confirment la précision des résultats électoraux
- Rapport d'audit judiciaire du New Hampshire SB 43 (juillet 2021), Hursti, Lindeman et Stark (Département de la justice du New Hampshire) (via Internet Archive)
- Tribunal Superior Eleitoral (Brésil) — Teste Público de Segurança dos Sistemas Eleitorais (page officielle du programme)
- Wolchok, Wustrow, Halderman, Prasad — Attaquer le système de vote par internet de Washington D.C., Financial Cryptography 2012
- Bush c. Gore, 531 U.S. 98 (2000), opinion per curiam (Institut d'information juridique de Cornell)
- Help America Vote Act de 2002, Pub. L. 107-252 (GovInfo)