Les machines à voter électroniques en débat…
Ce texte a été élaboré à partir des documents de Chantal Enguehard, « Le vote électronique en France : opaque & invérifiable », et Pierre Muller, « Qui contrôle le vote électronique ? », avec son aimable autorisation.
Le code électoral français fixe dès 1969 le cadre légal du vote à l’aide d’ordinateurs de vote. Réservé aux communes de plus de 3500 habitants, le vote électronique doit se dérouler sur un ordinateur d’un modèle agréé par arrêté du ministre de l’Intérieur et doit vérifier un certain nombre de critères (le vote doit se dérouler dans un isoloir, doit être possible pour les personnes handicapées, doit permettre le vote blanc, etc.).
En France, les opérations de vote sont régies par le décret n°64-1086 du 27 octobre 1964, modifié par plusieurs lois, notamment n° 88-1262 du 30 décembre 1988 articles 3, 4 et 5, n°2004-1343 du 9 décembre 2004 art. 14, et enfin n° 2005-102 du 11 février 2005 art. 72.
L’utilisation de « machines à voter » y a été introduite par l’article 6 de la loi n° 69-419 du 10 mai 1969.
Quatre modèles d’ordinateurs de vote ont été agréés par le Ministère de l’Intérieur : la version 2.07 de l’ordinateur de vote de la société NEDAP (néerlandais), le modèle « iVotronic » de la société ES&S4 Datamatique (américain) et les modèles « Point & Vote » et « Point & Vote Plus » de la société Indra Sistemas SA (espagnol).
Le vote électronique désigne également le vote par Internet et les kiosques électroniques. Mais ces procédures ne sont pas mises en place pour les élections majeures en France, du moins pour l’instant.
Le vote par Internet a pour objectif d’autoriser le vote à l’aide de n’importe quel ordinateur connecté à Internet. La procédure comprend l’authentification de l’électeur, le vote lui-même, et l’émargement.
Les kiosques électroniques sont des terminaux placés dans les bureaux de vote et reliés à un ordinateur central (ou serveur). Ils se chargent de l’authentification, de l’émargement et du vote, les choix des électeurs sont transmis au serveur pour enregistrement. C’est le serveur qui se charge du dépouillement.
En pratique, le citoyen entre dans l’isoloir, consulte les choix présentés sur l’écran de la machine, choisit son candidat en pressant un bouton (ou bien à l’aide d’un crayon optique), son choix est alors affiché sur l’écran et l’électeur peut confirmer son vote avant de sortir de l’isoloir pour émarger.
Lors du dépouillement, le président du bureau de vote (en présence d’assesseurs) appuie sur un bouton, l’ordinateur donne les résultats sous la forme d’un ticket imprimé qui est agrafé au procès-verbal et dont les résultats sont recopiés sur ce même procès-verbal. Ces résultats sont également inscrits dans la carte mémoire de l’ordinateur de vote, qui peut être éventuellement transmise à la mairie pour totalisation (mais c’est le procès-verbal qui fait foi).
Un tel procédé présente certes des avantages en comparaison de la procédure traditionnelle par bulletin papier. Le premier est l’obtention rapide des résultats à l’issue du scrutin. L’économie du comptage manuel des bulletins papier entraîne également une diminution du nombre de scrutateurs volontaires (responsables du dépouillement) de plus en plus difficiles à trouver. Le deuxième avantage est lié aux coûts, grâce à l’économie de papier réalisée et à la possibilité pour les « petits » candidats de se dispenser d’une telle dépense. Enfin, les arguments en faveur de ces machines mettent en avant une réduction possible du nombre de bureaux de vote, une réduction attendue de l’abstention, ou encore une meilleure accessibilité aux handicapés.
Ces arguments sont dans l’ensemble recevables, mais ils ne sont, au fond, basés que sur des critères extrinsèques ne possédant qu’une valeur économique ou commerciale : gain de temps et d’argent notamment. Or, pour les électeurs et les citoyens que nous sommes, il s’avère important de mesurer plutôt les avantages et inconvénients des machines à voter sur des critères intrinsèques, et donc inhérents à une élection et à l’acte de voter lui-même.
Autrement dit, la procédure de vote via une machine à voter respecte-t-elle correctement les critères énoncés par notre code électoral ?
Cinq critères à respecter
Le code électoral français énonce cinq critères que doit respecter une élection : confidentialité, anonymat, transparence, sincérité, unicité.
Que le vote soit effectué par des bulletins papier ou des machines à voter, on peut aisément en conclure que les critères de confidentialité et d’anonymat sont dans les deux cas respectés : pour le premier, l’électeur dispose d’un isoloir et pour le second, l’émargement n’étant pas automatisé (en France tout au moins), il est dissocié du choix de l’électeur.
Penchons-nous maintenant sur les trois autres critères. Dans le cas des bulletins papier, la transparence est obtenue car le déroulement du scrutin et du dépouillement est public et vérifiable ; la sincérité, car le bulletin déposé dans l’urne correspond bien à celui que le votant a choisi ; enfin l’unicité, car il n’y a qu’un seul bulletin par votant.
C’est là où les choses sont beaucoup moins évidentes pour le vote électronique. Après avoir validé son choix en pressant sur un bouton, le votant n’a en effet aucun moyen de vérifier que le vote enregistré par la machine est bien effectivement celui de son choix. Il doit donc faire reposer son exigence de sincérité (et d’unicité aussi) uniquement sur la confiance qu’il attribue à la machine.
De même que, lors du dépouillement, les scrutateurs et les citoyens ne peuvent pas exercer leur pouvoir de contrôle, puisque l’ordinateur calcule automatiquement les résultats, et qu’en l’absence de bulletins papier, il n’est de toute façon pas possible de les vérifier ou de procéder à un recomptage en cas de désaccord sur les résultats. L’exigence de transparence repose donc elle aussi uniquement sur la confiance dans la machine à voter.
Dans ces conditions, pouvons-nous faire confiance à ces machines à voter ? En d’autres termes, certains enjeux de notre démocratie peuvent-ils ne reposer que sur la confiance attribuée, presque aveuglement, à des machines ?
Oui, répondent les fabricants de ces machines, car ce sont de « simples objets électroniques ». Non, répondent des informaticiens, car ce sont de véritables ordinateurs. Quelles que soient les différences entre les modèles proposés, ces machines sont bien toutes des ordinateurs dotés d’un boîtier, d’une mémoire, d’un écran et d’un logiciel.
Or en matière d’informatique, nous ne sommes pas tous conscients de la fragilité de comportement d’un ordinateur. Cette fragilité des systèmes informatiques d’une manière générale est largement admise dans la communauté des informaticiens professionnels, qu’il s’agisse d’une fragilité due à des erreurs involontaires ou à des intentions malveillantes.
Des erreurs involontaires ou des intentions malveillantes
Dans le premier cas, l’ordinateur peut simplement dysfonctionner à cause d’une erreur dans son programme ou d’une panne matérielle. En aérospatiale par exemple, les programmes sont parmi les plus sûrs du monde car des vies humaines et des sommes considérables d’argent dépendent de leur bon fonctionnement. Les ingénieurs utilisent des techniques très avancées pour s’assurer que leurs programmes comportent aussi peu d’erreurs que possible, des techniques de vérification et de preuve peuvent être mises en œuvre pour les détecter et les corriger. Mais ils savent également qu’il en subsiste souvent. Lorsqu’un programme pilote une fusée, celle-ci atteindra son objectif, ou bien déviera de sa route et explosera, comme ce fut le cas pour Ariane 5.
Dans le deuxième cas, les informaticiens savent qu’il est facile de modifier un programme avec une intention malveillante par l’insertion d’un cheval de Troie, ou d’une porte dérobée. Ces mécanismes sont particulièrement discrets et quasi-impossibles à détecter car ils ne sont pas forcément statiques. Ils peuvent être générés par le programme et n’apparaître que pendant de brefs instants pour rester totalement invisibles le reste du temps. La présence d’un mécanisme de super-utilisateur peut aussi faciliter la corruption du système.
Si l’ordinateur modifie les votes, qui s’en apercevra ?
Seuls les résultats manifestement erronés parce qu’invraisemblables peuvent être détectés : si un candidat obtient davantage de voix qu’il n’y a d’électeurs, il est évident qu’il s’est passé quelque chose d’anormal. Or, en l’absence de support physique (impression d’un ticket papier confirmant le choix de l’électeur et conservé dans une urne) aucun recomptage manuel n’est possible. Le problème peut d’ailleurs être plus discret et n’affecter qu’un faible pourcentage des votes, cependant suffisant pour faire basculer le résultat, ou bien échanger les suffrages obtenus entre deux candidats.
Pour s’en convaincre, une équipe de l’université de Princeton a testé en septembre 2006 le piratage d’une de ces machines. Deux minutes ont leur ont suffi pour ouvrir la machine et en modifier la mémoire. La trappe de protection du terminal est d’abord crochetée à l’aide d’un trombone et une carte mémoire qui charge le logiciel pirate est insérée dans la machine. La carte est ensuite retirée. Un vote factice oppose ensuite George Washington à Benedict Arnold. Le premier devrait être élu par 3 voix contre 1. Abusé par le logiciel, le terminal fournit un résultat erroné, mais préservant le nombre de votes : 3 voix pour Benedict Arnold, 1 pour George Washington.
Quelques semaines plus tard aux Pays-Bas, Rop Gonggrij, pirate hollandais chevronné, parvient à installer sur une machine (différente de celle de Princeton) un code capable de détourner un nombre de votes déterminés vers un candidat choisi.
Cette même équipe a récemment démontré qu’il est possible de connaître le choix d’un électeur en analysant les ondes électromagnétiques émises par les machines jusqu’à une portée de 25 mètres, ce qui remettrait aussi en cause la confidentialité du vote.
Scénario de polar peu probable diriez-vous ? Pas si fictif que ça !
De nombreux autres pays utilisent ces ordinateurs depuis plus longtemps que nous. Les États-Unis, par exemple, utilisent des ordinateurs de vote depuis les années 1990. La Belgique a démarré les expériences de vote électronique en 1991 et cela concerne actuellement 44 % des électeurs. Au Québec, les élections municipales du 6 novembre 2005 se sont déroulées à 95 % à l’aide d’ordinateurs. Même si ces ordinateurs de vote diffèrent d’un pays à l’autre (par exemple, quelques-uns impriment un bulletin papier), néanmoins ce sont tous des systèmes informatiques et ils effectuent tous un dépouillement automatique.
L’expérience de ces pays montre qu’ils ont tous vécu de nombreux incidents : de la simple panne d’ordinateurs (décalant de plusieurs heures l’ouverture des bureaux de vote), au constat de résultats aberrants (plus de voix que de votants, votants non-enregistrés). Bien entendu, seules les situations de dysfonctionnements manifestes ont pu être détectées. Il est fort possible que des dysfonctionnements soient passés inaperçus car les résultats énoncés par l’ordinateur n’étaient pas aberrants. Une inversion du nombre de suffrages obtenus par deux candidats est par exemple indétectable (car le résultat n’est pas aberrant) et invérifiable… les conséquences en sont pourtant très lourdes sur le plan démocratique.
Le pays qui a la plus longue expérience et qui comptabilise le plus d’incidents relatés est sans conteste les États-Unis. En voici quelques exemples.
En novembre 2003, dans le comté de Boone (Indiana), un ordinateur de vote a enregistré plus de 144 000 votes alors qu’il n’y avait que 19 000 électeurs.
En mars 2002, dans la ville de Wellington, une élection visant à départager deux candidats se déroulait sur des ordinateurs de vote. Les résultats ont été de 1263 voix pour un candidat contre 1259 voix pour l’autre, mais 78 voix n’ont pas été enregistrées alors que les électeurs avaient émargé. La directrice des élections a conclu que ces personnes n’avaient simplement pas voté lorsqu’ils étaient en présence de l’ordinateur, ce qui n’est pas prouvé. Il est possible aussi que ces votes n’aient pas été enregistrés par l’ordinateur. Des incidents similaires ont eu lieu à Palm Beach et Miami.
Le 10 septembre 2002, les ordinateurs ont présenté des délais de démarrage particulièrement longs le jour des élections : entre 10 et 23 minutes au lieu des 2 minutes annoncées par le constructeur. Ces systèmes avaient pourtant été préalablement examinés et jugés corrects par les observateurs de l’État et des agences de contrôle.
Bruce Schneier rapporte aussi un incident plus récent, lors des élections au Congrès de novembre 2006, dans la 13e circonscription de Floride. La Démocrate Christine Jennings a perdu contre son adversaire Républicain Vern Buchanan de 373 voix seulement sur un total de 237 861. Or les machines à voter électroniques n’ont pas compté dans les calculs finaux plus de 18 000 électeurs du comté de Sarasota, c’est-à-dire 13 pour cent de ceux qui se sont rendus dans les bureaux de vote, et il n’existe aucun fichier de sauvegarde qui puisse servir pour la vérification. La responsable des élections dans ce comté a déclaré ne pas avoir d’explications concernant cet écart.
À la suite de ces incidents, le gouvernement de Floride a sollicité le laboratoire Security and Assurance in Information Technology pour étudier les ordinateurs de vote iVotronix d’ES&S qu’il utilisait. Les conclusions rendues publiques le 23 février 2007 font état de failles de sécurité si accablantes que le gouvernement décidait, une semaine après, de jeter toutes ses machines.
Contrôler l’intégrité et la sûreté des ordinateurs de vote
Que ces dysfonctionnements soient dus à des erreurs involontaires ou à des intentions malveillantes, la possibilité de les détecter et les éviter repose pour l’essentiel sur le contrôle de l’intégrité et de la sûreté des ordinateurs de vote. Le système (matériel, logiciel, paramètres), une fois certifié, ne doit pas être modifié, et ne doit pas pouvoir être modifié. C’est en tout cas ce que défendent des chercheurs en informatique qui se sont, très tôt, intéressés à l’ordinateur de vote et préconisent des critères inspirés de ceux en vigueur en sécurité informatique.
Outre le contrôle de son intégrité (pas de modification possible), le système (matériel, programmes, circuits intégrés supplémentaires, documentation) doit être ouvert. Il doit pouvoir être inspecté à n’importe quel moment, même s’il est protégé par le secret industriel, car les systèmes propriétaires (au code source gardé secret) que l’on ne peut pas vérifier sont fortement suspects.
L’essentiel de l’intelligence d’un système informatique est dans son logiciel (en anglais : software). Celui-ci existe sous deux formes :
- le « code source » : écrit et lisible par des humains, programmeurs ou développeurs. C’est la description méthodique, dans les moindres détails, de tout ce que fait le logiciel. Cette description est écrite comme on écrirait une lettre, mais au lieu du français, dans un langage informatique. Il en existe des centaines, les plus connus ont pour nom : C, C++, Pascal, Basic, Java… Ces langages ont comme particularité de ne permettre aucune ambiguïté, contrairement aux langages naturels où un mot peut avoir plusieurs sens.
- le « code binaire » ou « exécutable », formé de 0 et de 1, uniquement exploitable par l’ordinateur. Il est produit automatiquement à partir du « code source » au moyen d’une moulinette appelée compilateur. Il va faire s’animer l’ordinateur, au départ simple assemblage de matériel électronique inerte (en anglais : hardware).
À l’exception notable des logiciels libres, vous n’achetez qu’un droit d’utilisation de l’exécutable. Le code source reste secret et propriété de son concepteur. Sans lui, vous ne pourrez qu’observer le comportement apparent de l’exécutable. Des fonctionnalités cachées (œuf de Pâques, cheat codes, portes dérobées (backdoors)…) ne se révéleront pas si on ne connaît pas l’astuce pour les déclencher.
Le système doit être disponible, doit pouvoir être utilisé à n’importe quel moment et protégé contre toute tentative, frauduleuse ou non, de corruption de son fonctionnement.
La méthode de développement du système (architecture, implémentation, maintenance, etc.) doit minimiser les erreurs (bugs) et l’insertion malveillante de lignes de programme ayant pour intention d’en corrompre le fonctionnement. Il existe différentes techniques visant à accroître la sûreté d’un système, mais aucune de ces méthodes n’est infaillible. Tester un programme avec succès ne prouve en rien sa fiabilité : la moindre inversion de la valeur d’un bit peut provoquer une erreur de une, 1024 ou encore 65 536 voix.
Les mémoires sur lesquelles sont inscrits le programme et les paramètres ne doivent être accessibles qu’en lecture pour éviter toute modification ultérieure, tandis que les mémoires recueillant les votes doivent être non réinscriptibles (once-writable memories).
L’architecture du système, son implémentation, les pratiques de développement, les procédures à suivre pour l’utiliser et les procédures de tests doivent être suffisamment documentées. La documentation doit également décrire quelles mesures de sécurité ont été prises concernant chacune de ces étapes.
L’intégrité de toutes les personnes impliquées dans le développement, l’utilisation, l’administration ou le stockage d’ordinateurs de vote doit être vérifiée.
Enfin, il doit être possible de recompter les votes manuellement par l’impression d’un bulletin ou ticket papier validé en isoloir par l’électeur, ou tout autre moyen garantissant l’anonymat du vote.
Une procédure légale insuffisante
Or, aujourd’hui, la procédure mise en place par les pouvoirs publics ne permet pas de garantir le respect de ces critères. Le ministère de l’Intérieur, à l’origine du cadre de fonctionnement de ces ordinateurs, délivre les agréments aux constructeurs en se basant entièrement sur le rapport rendu par l’organisme d’inspection (Bureau Veritas ou Ceten-Apave). Celui-ci examine UN ordinateur à un moment donné et non TOUS les ordinateurs fabriqués. En fait, cet organisme doit simplement vérifier la conformité du modèle de la machine à un cahier des charges qui semble plutôt répondre à des besoins fonctionnels (fiabilité de l’électronique, longévité, facilité d’utilisation) qu’à de réelles contraintes de sécurité. Il n’y a aucune obligation d’examen approfondi du programme ou des documents et aucune vérification de l’intégrité des personnes intervenant sur ces ordinateurs. Il n’est pas clair de savoir si l’organisme a la possibilité d’examiner le code source du logiciel de la machine, car celui-ci est protégé par le secret industriel et commercial. Cela dit, examiner le code source ne garantirait pas de détecter une fraude bien réalisée. Et des modifications dites « mineures » concernant l’entretien ou la correction de bugs ne font l’objet d’aucun examen complémentaire.
Il n’y a pas non plus de procédure particulière de scellement ou de surveillance des ordinateurs entre les scrutins. Lorsque les ordinateurs sont loués, la responsabilité du stockage revient au prestataire de services (souvent la société importatrice des ordinateurs). Aucune procédure spéciale n’est exigée pour garantir avant utilisation l’intégrité des ordinateurs « certifiés ».
Les municipalités utilisatrices, quant à elles, doivent simplement se fier à l’agrément du ministère. Lors d’une élection, l’ordinateur imprime à l’ouverture du scrutin un ticket indiquant un checksum (somme de contrôle) : deux séries de 8 chiffres ou lettres (c’est-à-dire deux nombres 32 bits exprimés en hexadécimal). Les assesseurs vérifient qu’ils sont identiques à ce qu’indique le manuel d’utilisation, mais n’ont en réalité qu’une illusion d’avoir vérifié quelque chose, puisque ce cheksum est imprimé à partir du logiciel de la machine qu’il est censé garantir.
La difficulté de contrôle de l’authenticité du logiciel intégré est générale à tous les ordinateurs de vote. Certains modèles sont censés permettre ce contrôle au moyen de la vérification des checksums. De quoi s’agit-il ? L’ordinateur de vote sait calculer un nombre appelé checksum (en français : somme de contrôle) à partir de tous les 0 et 1 qui constituent son logiciel intégré. Si le moindre de ces 0 ou 1 est modifié, ce checksum va changer de valeur. En pratique, deux checksums sont calculés, chacun concernant la moitié de la mémoire. Leur valeur est indiquée dans le manuel d’utilisation de l’ordinateur. Le matin de l’élection, les assesseurs doivent donc demander à l’ordinateur d’imprimer ces checksums et vérifier qu’ils sont identiques à ce qu’indique le manuel.
Si vous étiez assesseur, vous auriez ainsi l’impression d’effectuer un contrôle de l’ordinateur, alors qu’en fait, ce contrôle est inopérant. Qu’est-ce qui ne va pas ? Un checksum a seulement pour vocation de détecter des modifications accidentelles : par exemple si l’un des 0 ou 1 s’est modifié à cause d’une défaillance physique de la puce électronique qui le stocke.
Mais il ne protège en rien des modifications intentionnelles. En effet, on demande d’imprimer ce checksum au logiciel que l’on cherche à contrôler. L’alternative se présente ainsi : soit il est authentique, et il va réellement le calculer et le résultat sera conforme, sauf défaillance de l’électronique ; soit il a été modifié frauduleusement, et il se gardera de faire le moindre calcul, mais se contentera d’imprimer la valeur indiquée dans le manuel d’utilisation. Cela ne pose guère de difficulté de réalisation.
Si l’objectif se réduisait à vérifier le bon fonctionnement de l’électronique, une procédure bien plus simple suffirait : si tout va bien, l’ordinateur démarre sans rien dire, sinon il s’arrête en affichant un message d’erreur. Tous les PC du monde vérifient ainsi leur mémoire lorsqu’on les allume, sans pour autant vous demander d’aller consulter leur manuel d’utilisation.
Dans le cadre d’une expertise judiciaire d’un ordinateur, on ne l’allume surtout pas. On le démonte pour en extraire ses mémoires (en général son disque dur), et on les place dans un autre ordinateur que l’on considère comme sûr.
Malgré la forte opposition de scientifiques spécialistes de la sécurité informatique et la mobilisation croissante des citoyens, il apparaît extrêmement difficile de remettre en cause l’utilisation des ordinateurs de vote, que le pouvoir politique continue à soutenir. Nous constatons qu’après plus d’une décennie d’errements, certains Etats ont quand même commencé à prendre conscience des problèmes posés par ces ordinateurs : l’État de Californie a décidé de rendre obligatoire l’impression d’un bulletin papier vérifié par l’électeur à partir de juillet 2006 ; en Irlande, à cause des protestations de la population et des spécialistes en informatique de la Irish Computer Society, la commission indépendante nommée par le gouvernement a déclaré en décembre 2004 être incapable de recommander l’utilisation des ordinateurs de vote pour les prochaines élections (il s’agissait d’élections locales, européennes et d’un référendum) et a finalement conclu en juillet 2006 que la mise en œuvre de mesures supplémentaires conditionnerait l’utilisation de ces machines (notamment le cryptage des votes, un examen indépendant, des tests rigoureux…).
Il serait douloureux que les mêmes erreurs soient commises en France, alors même que des élections majeures (présidentielles et législatives) vont avoir lieu en 2007, d’autant plus que la remise en cause a posteriori du bon déroulement de ces votes de première importance pourrait menacer la stabilité politique de ce pays.
Enfin, il est regrettable que la mise en œuvre d’ordinateurs de vote ait eu lieu sans qu’une commission indépendante à la fois du pouvoir politique et des fabricants n’ait été mise en place.
L’utilisation de l’informatique peut contribuer à améliorer le fonctionnement de la démocratie. Par un meilleur accès des personnes handicapées peut-être, par la dispense de bulletins pour les « petits candidats » sans doute. À condition que la mise en œuvre de ces systèmes ne dégrade pas la qualité de la procédure de vote dans son ensemble et ne remette pas en question tout un système démocratique instauré (non sans mal) depuis longtemps.
Ordinateurs-de-vote.org Citoyens et informaticiens pour un vote vérifié par l’électeur.
Le vote électronique en France : opaque & invérifiable, par Chantal Enguehard, téléchargeable en PDF.
Crypto-Gram, lettre d’information de Bruce Schneier, novembre 2006 ; traduction en français téléchargeable en PDF.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !
Isabelle Maugis