← Tous les articles

Ils ont ouvert le projet pilote de vote par internet au public. Il s'est effondré en 48 heures.

Une équipe universitaire s'est introduite dans le projet pilote de vote par internet de Washington D.C., a modifié tous les bulletins de vote et a fait jouer une chanson de combat au serveur — et les responsables ne l'ont pas remarqué pendant des jours.

Nous sommes en septembre 2010, et quelque part sur un serveur à Washington D.C., une chanson de combat de l'Université du Michigan est en train de jouer.

Non pas parce que quelqu'un l'avait prévu. Parce qu'une équipe de chercheurs vient de prendre le contrôle d'un système de vote par internet en direct — a modifié tous les bulletins à l'intérieur, a lu chaque vote secret, et ensuite, comme preuve de leur passage, a programmé le serveur pour jouer « The Victors » après chaque soumission simulée. Ils l'ont fait en environ 48 heures. Et pendant plusieurs jours, personne au Bureau des élections du District de Columbia n'a remarqué quoi que ce soit.

C'est là que cette histoire commence. Pas avec une conspiration, pas avec un adversaire étranger, pas avec une course serrée. Avec une équipe de recherche universitaire, une invitation publique, et une vulnérabilité qui s'est effondrée en deux jours à peine.

Le projet pilote qui n'a presque pas été un test

En 2010, D.C. essayait de faire quelque chose de véritablement progressiste. Les électeurs à l'étranger et militaires faisaient face à des obstacles réels pour retourner leurs bulletins à temps. La ville a construit un système de retour de bulletins par internet pour résoudre ce problème — et avant de le déployer pour de véritables élections, les responsables ont fait quelque chose qui était presque inouï : ils l'ont ouvert au public pour des tests adversariaux.

Ils l'ont appelé un essai ouvert. Ils ont posté le serveur. Ils ont dit au monde : venez trouver ce qui ne va pas.

Une équipe dirigée par J. Alex Halderman — Scott Wolchok, Eric Wustrow, Halderman, et Deepak Prasad — s'est présentée. En environ 48 heures, ils avaient exploité une vulnérabilité logicielle et obtenu un contrôle quasi-total du serveur pilote. Ils pouvaient modifier les bulletins qui avaient déjà été votés. Ils pouvaient lire les votes qui étaient censés être secrets. Ils ont démontré cela en reprogrammant le système pour jouer la chanson de combat de l'Université du Michigan après chaque vote. L'intrusion est passée inaperçue aux yeux des responsables pendant des jours. Les conclusions ont été publiées plus tard en tant que document évalué par les pairs, « Attacking the Washington, D.C. Internet Voting System », à Financial Cryptography 2012.

D.C. a abandonné les plans d'utiliser le système pour des votes véritablement contraignants.

Les vulnérabilités ont été détectées précisément parce que la ville a ouvert le système aux attaques publiques avant que des bulletins réels ne soient en jeu. Les tests adversariaux publics ont transformé un désastre potentiel en défaut détecté.

C'est toute la leçon de cette histoire — mais elle nécessite un certain dépaquetage pour comprendre pourquoi il est si difficile d'agir en conséquence.

Ce que « certifié » teste réellement

Voici ce qui frappe la plupart des gens lorsqu'ils rencontrent ce cas pour la première fois : le système n'a-t-il pas été examiné avant d'être ouvert aux tests publics ? Presque certainement, oui — sous une forme ou une autre. Les systèmes électoraux subissent régulièrement des examens de sécurité, des tests de fournisseurs, et des processus de certification. Et une équipe de chercheurs au niveau des études supérieures a quand même pu franchir la porte de devant en 48 heures.

Ce n'est pas une critique des responsables qui ont construit le système de D.C. C'est une critique du concept de certification en boîte fermée comme substitut à l'examen adversarial ouvert.

Le Bureau de la responsabilité gouvernementale des États-Unis a documenté dès 2005 que les efforts fédéraux pour améliorer la sécurité et la fiabilité du vote électronique étaient « en cours mais que des activités clés restaient inachevées » — des années après que la loi Help America Vote Act ait mandaté la création d'une infrastructure de certification. Les cadres de certification aident. Mais une certification est une évaluation menée à un moment précis, par un ensemble défini d'examinateurs, contre un modèle de menace défini. Internet ne respecte pas ce modèle. Il envoie chaque attaquant du monde — simultanément, continuellement — contre votre système dès qu'il est accessible.

Le cas de D.C. est la preuve de l'écart. Non pas parce que D.C. était irresponsable, mais parce que l'équipe qui s'est introduite n'était pas un service de renseignement étranger. C'étaient des universitaires avec quelques jours et un budget de recherche. Si une équipe universitaire peut prendre le contrôle et échanger tous les bulletins en 48 heures, un attaquant au niveau d'un État avec des mois de préparation et un personnel dédié n'auraient pas besoin d'une chanson de combat pour annoncer leur présence. Il n'en laisserait aucune.

La leçon de la Nouvelle-Galles du Sud : approuvé ne signifie pas propre

La grâce salvatrice de D.C. était que les tests ont eu lieu avant que des bulletins réels ne soient à l'intérieur du système. Pas toutes les juridictions ont eu cette chance.

En mars 2015, la Nouvelle-Galles du Sud a exploité son système de vote en ligne iVote lors d'une véritable élection d'État. Au moment où les chercheurs indépendants J. Alex Halderman et Vanessa Teague ont publié leur analyse, environ 280 000 votes avaient déjà été exprimés. Leurs conclusions : iVote a chargé du code à partir d'un serveur d'analyse externe via une connexion vulnérable aux faiblesses TLS alors connues, ce qui signifie qu'un attaquant du réseau aurait pu manipuler les votes et compromettre la confidentialité des bulletins. Le service de vérification téléphonique que les électeurs pouvaient utiliser pour confirmer leur vote était lui-même susceptible de manipulation — déjouant son objectif en tant que contrôle. Un examen de sécurité fermé antérieur avait approuvé le système. Les chercheurs ont trouvé les problèmes de toute façon, de l'extérieur, pendant une élection en direct. Des correctifs ont été déployés alors que le vote était toujours en cours. Mais 280 000 personnes avaient déjà voté sur un système dont l'intégrité ne pouvait pas être confirmée indépendamment au moment où ils ont voté.

Lisez l'analyse des chercheurs ici.

C'est la différence entre le modèle de D.C. et l'alternative. Un système s'est avéré défectueux et a été détecté avant que cela ne compte. Un autre s'est avéré défectueux et a été découvert en vol.

Le problème de la cryptographie : même « vérifiable » peut être contrefait

Peut-être pensez-vous : la solution est la cryptographie vérifiable de bout en bout. Construire un système où les électeurs peuvent vérifier leurs propres bulletins, et des mathématiciens indépendants peuvent confirmer le dépouillement sans voir le vote de quiconque. C'est la bonne direction — mais la cryptographie doit être correcte.

En 2019, avant l'utilisation prévue dans les votes contraignants suisses, Swiss Post et son fournisseur Scytl ont publié le code source de leur système de vote par internet pour l'examen public. Les chercheurs indépendants Sarah Jamie Lewis, Olivier Pereira, et Vanessa Teague ont découvert quelque chose d'extraordinaire : la preuve de mélange du mixnet s'appuyait sur un schéma d'engagement à trappe. Une autorité connaissant les valeurs de trappe pouvait générer une preuve qui semblait mathématiquement correcte — qui passerait la vérification — alors qu'en réalité elle avait échangé les votes en dessous. Les chercheurs ont appelé leur rapport « Ceci n'est pas une preuve. » Swiss Post et Scytl ont reconnu la découverte. La Suisse a suspendu le système en attente de correction.

Lisez les conclusions des chercheurs ici.

Le défaut était invisible dans une boîte noire certifiée. Il est devenu détectable au moment où le code source et les preuves cryptographiques ont été publiés pour l'examen indépendant. Une affirmation de vérifiabilité n'est significative que si des experts extérieurs peuvent l'inspecter et la confirmer — ou la réfuter. Au moment où l'inspectabilité est supprimée, l'affirmation devient un article de foi.

C'est pourquoi D.C. faire un test public ouvert était le bon instinct, même si le résultat était douloureux. C'est pourquoi la Suisse publier son code source était le bon instinct, même si le résultat était une trappe détectée. Le bon modèle fait mal quand il fonctionne — parce qu'il trouve ce que les modèles fermés manquent.

Ce que l'Estonie nous a appris sur « personne n'a rien trouvé »

L'Estonie effectue des scrutins nationaux contraignants par internet depuis 2005. Son système est souvent cité comme l'étalon-or du vote par internet : participation élevée, techniquement sophistiqué, accessible à tous les citoyens ayant une carte d'identité électronique. L'autorité électorale estonienne l'a continuellement défendu.

En 2014, une équipe de recherche indépendante — Springall, Finkbeiner, Durumeric, Kitcat, Hursti, MacAlpine, et Halderman — a observé le fonctionnement du système lors des élections municipales d'octobre 2013 et a examiné le logiciel client publié et la configuration du serveur. Ils ont trouvé des faiblesses sérieuses de sécurité opérationnelle et procédurale, y compris des pratiques de sécurité laxistes captées dans les vidéos officielles de l'autorité elle-même. Leur conclusion évaluée par les pairs, publiée à ACM CCS 2014 : un attaquant bien doté en ressources — ou un initié malhonnête — pourrait plausiblement compromettre l'intégrité des votes sans détection. Ils ont recommandé à l'Estonie d'abandonner le système. Les autorités estoniennes ont contesté les conclusions.

Lisez l'analyse complète ici.

Voici le point critique : les chercheurs ne pouvaient faire cette analyse que parce que le code et les procédures du système étaient au moins partiellement publics. Si le système avait été une boîte propriétaire entièrement fermée, il n'y aurait eu rien à analyser. L'absence de découverte dans ce cas aurait signifié : nous ne pouvions pas regarder, pas il n'y a rien là.

« Personne n'a rien trouvé » et « nous avons empêché quiconque de regarder » ne sont pas la même affirmation. Elles produisent des communiqués de presse officiels identiques.

Pourquoi la Norvège s'est retirée sans scandale

La Norvège a mené des projets pilotes de vote par internet en 2011 et 2013, dans dix et puis douze municipalités, en complément du vote papier. Les essais n'ont pas entraîné d'augmentation de la participation. En 2014, le ministère des Administrations locales et de la Modernisation a décidé d'interrompre d'autres projets pilotes. Le gouvernement a conclu que, en l'absence d'un large soutien politique pour le vote par internet complet, dépenser davantage de temps et d'argent sur des projets pilotes n'était pas approprié — et a cité des préoccupations de confiance non résolues aux côtés des données de participation.

La déclaration officielle du ministère se trouve ici.

La décision de la Norvège attire moins d'attention que la chanson de combat de D.C. ou la trappe de la Suisse. Il n'y a pas eu de violation dramatique. Il y a eu simplement une comptabilité honnête : nous ne pouvions pas sécuriser la confiance que les votes n'étaient pas altérés, la participation n'a pas augmenté, et le coût de continuer sans résoudre la question de confiance n'en valait pas la peine.

C'est une réponse institutionnelle mature. C'est aussi un modèle qui est presque jamais suivi, parce que les politiciens qui ont défendu une technologie ne veulent rarement être ceux qui l'arrêtent.

Le modèle de test adversarial : ce que le Brésil a bien fait

Il existe un meilleur modèle que la certification fermée, et le Brésil le pratique depuis 2009.

La Cour électorale supérieure du Brésil (Tribunal Superior Eleitoral) effectue un Test public de sécurité officiel — le Teste Público de Segurança dos Sistemas Eleitorais — réglementé par la Résolution TSE 23.444/2015 et tenu l'année avant les élections générales. Tout citoyen admissible dont le plan de test est approuvé peut tester la machine à voter électronique et les systèmes connexes pour détecter les faiblesses. Les systèmes ouverts aux tests couvrent l'ensemble du cycle électoral : génération de supports de bulletins, vote, dépouillement, transmission de fichiers et systèmes d'audit. Les conclusions sont utilisées pour améliorer les systèmes, et les corrections sont revérifiées avant l'élection.

La page de programme officielle du TSE se trouve ici.

Le Brésil ne prétend pas que ses machines sont impénétrables. Il prétend quelque chose de plus crédible : venez essayer de les casser, et nous réparerons ce que vous trouvez. C'est une version institutionnalisée de exactement ce que D.C. a fait une fois, sauf que D.C. l'a fait une fois et le Brésil le fait comme pratique standard avant chaque cycle électoral.

La Cour constitutionnelle fédérale allemande a articulé le principe sous-jacent en 2009 lorsqu'elle a interdit l'utilisation d'ordinateurs de vote dont le fonctionnement ne pouvait pas être examiné « par le citoyen de manière fiable et sans aucune connaissance spécialisée. » Le standard de la cour n'était pas « un expert l'a certifié. » C'était : un citoyen ordinaire doit pouvoir vérifier les étapes essentielles. Lisez le jugement ici. C'est une barre plus élevée que celle qu'aucune certification unique ne peut atteindre — et une barre plus basse que celle que le vote par internet franchit actuellement.

Ce qui n'était pas vérifiable à D.C. — et ne l'est toujours pas dans la plupart des endroits

L'essai ouvert de Washington D.C. a fait tout correctement et a quand même presque produit une violation catastrophique d'une vraie élection. La chanson de combat l'a sauvé — non pas parce qu'elle a prouvé que le système a échoué, mais parce qu'elle était assez bruyante pour que les responsables remarquent finalement. Un vrai attaquant change les bulletins silencieusement. Un vrai attaquant ne s'annonce pas.

Le cas de D.C. n'est pas une assurance. « Nous l'avons testé publiquement et avons trouvé une flaw critique avant qu'il ne s'exécute » est le meilleur résultat possible des tests adversariaux publics — et ce meilleur résultat possible est quand même : le système était défectueux. La leçon n'est pas que les tests ouverts garantissent un système sûr. La leçon est que sans tests ouverts, vous ne pouvez pas savoir si le système est défectueux jusqu'à ce qu'une vraie élection s'y soit déjà exécutée.

Le problème plus profond reste ouvert partout où le vote par internet est déployé ou proposé : qui a vérifié le code ? Qui a essayé de casser le serveur ? Qui a vérifié les preuves cryptographiques ? Et pouvez-vous — pas un fournisseur, pas un responsable, pas un laboratoire certifié — vérifier tout cela indépendamment ?

Quand la réponse est non, « le système a réussi son examen de sécurité » et « le secrétaire d'État dit que c'est bon » sont la même assurance dans des polices différentes.

Un résultat électoral ne devrait pas dépendre de faire confiance au fournisseur, aux responsables ou à l'organisme de certification. Il devrait dépendre d'une chaîne de preuves publiée, indépendamment vérifiable, que toute personne ayant les bonnes compétences peut vérifier — et que quiconque trouvant une flaw peut prouver publiquement, comme l'équipe de Halderman l'a fait en 2010, comme Lewis, Pereira, et Teague l'ont fait en 2019, comme chaque test adversarial ouvert est conçu pour l'activer.

Ce n'est pas une barre impossiblement élevée. C'est la barre que D.C. a accidentellement fixée quand il a invité le public. La chanson de combat était le son de cette barre fonctionnant.

Une vulnérabilité détectée dans des tests publics est un défaut corrigé. Une vulnérabilité jamais testée est une vulnérabilité silencieuse — et le silence n'est pas la même chose que la sécurité.

Voyez à quel point cet écart de transparence est courant dans différents systèmes et pays →

Lisez la version de 2 minutes de ce qui rend une élection vérifiable →

Explorez les lacunes documentées dans la vérifiabilité électorale →


Sources