Logo Ordinateurs–de–Vote.org Citoyens et informaticiens
pour un vote vérifié par l'électeur

Accueil du site > Technologies > Ordinateurs Nedap/France-Élection : la vérification de checksums est une (...)

Ordinateurs Nedap/France-Élection : la vérification de checksums est une duperie.

29 avril 2006

Lors de la procédure d’agrément, un seul ordinateur (ou tout au plus quelques uns), sont examinés par l’organisme d’inspection. L’agrément est accordé sur un modèle d’ordinateur, et non pas pour chaque exemplaire fabriqué de cet ordinateur.

Il est donc crucial de garantir que toutes les machines présentes dans les bureaux de vote soient identiques à celle examinée. Un point essentiel est le logiciel intégré, car l’essentiel de l’intelligence de la machine à voter y réside [1].

L’explication qui suit est un peu technique. Il est tout à fait naturel que vous ne la compreniez pas. Nous vous invitons alors à la soumettre à quelqu’un de votre entourage ayant quelques bases en informatique. Que vous ne compreniez pas est néanmoins significatif. Si vous étiez assesseur, vous auriez l’illusion d’effectuer un contrôle de l’ordinateur, mais la présence de technologie vous empêcherait d’exercer votre sens critique, et de comprendre que ce contrôle est inopérant.

France-Élection, importateur des ordinateurs Nedap, prétend contrôler l’authenticité de ce logiciel 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 soient identiques à ce qu’indique le manuel.

Cette procédure est recommandée et considérée comme efficace par le rapport du PTB (Physikalisch-Technische Bundesanstalt), organisme en charge de certifier le logiciel intégré. A l’exigence [2] "Dans le cas d’une machine à microprocesseur, toute altération du logiciel intégré par une personne non autorisée sera détectée.", le PTB répond que l’exigence est satisfaite, et se justifie ainsi :
« Les numéros de version des programmes et les checksums du logiciel intégré, pour la carte principale de contrôle [3], la carte de connexion (communication), et les cinq cartes d’affichage peuvent être affichés, et imprimés, par l’ordinateur de vote. Cela permet au personnel électoral de comparer ces numéros de version des programmes et ces checksums avec les valeurs indiquées par le fabricant dans la documentation (manuel d’utilisateur), ou par exemple inscrits sur un certificat agréé. »

Qu’est-ce qui ne va pas ? C’est déjà se tromper de technologie. Un checksum a 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. Par contre, cela ne protège pas des modifications intentionnelles  : à cet effet, on utilisera la technique du hash cryptographique [4].

Soyons charitables, et plaçons ce choix en perspective avec l’époque de conception de cet ordinateur. Parce que finalement, tout cela n’a guère d’importance : le principe même de cette vérification est inepte , quelle que soit la technique employée. En effet, on demande d’imprimer cette 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, et se contentera d’imprimer la valeur indiquée dans le manuel d’utilisateur. L’infinie flexibilité d’un logiciel fait que cela ne pose aucune difficulté de réalisation.

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.

Faire confiance à cette vérification de checksum est comme d’arrêter un inconnu dans la rue, de lui demander si il est honnête, et en cas de réponse affirmative, de le charger de faire un retrait d’argent en lui confiant notre carte bleue.

L’ineptie de cette vérification de checksum a été pointée par le rapport [5] de la Commission on Electronic Voting, commission indépendante qui a déconseillé l’utilisation des ordinateurs Nedap en Irlande.

Par quel bout que l’on prenne cette procédure de vérification de checksum, on n’en comprend pas la mise en oeuvre. En effet, 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 de vote 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 [6], sans pour autant vous demander d’aller consulter leur manuel d’utilisation. L’ordinateur Nedap utilise d’ailleurs à cet usage un troisième checksum interne.

La difficulté de contrôle de l’authenticité du logiciel intégré est générale à tous les ordinateurs de vote. Les ordinateurs concurrents Indra et ES&S iVotronic ne font pas mieux. Ils ne tentent même pas de réaliser cette vérification du logiciel intégré. On peut toutefois leur reconnaître le mérite de la franchise.

Notes

[1] Changez ce logiciel intégré, et vous pourrez faire un tout autre usage de cette machine : jeu vidéo, calculatrice, caisse enregistreuse... certes avec les limites ergonomiques du boitier et de l’écran qui ont été choisis pour une utilisation comme machine à voter.

[2] "Type testing of a voting machine for elections/referenda in Ireland in accordance with the request of 2003-03-05", page 7, exigence (4).

[3] "Carte" signifie ici "circuit imprimé", exactement comme les cartes graphiques, son, réseau, etc... que vous pouvez insérer dans la carte-mère de votre PC. La "carte principale de contrôle" est l’équivalent de la carte-mère.

[4] Une modification accidentelle peut être détectée avec un taux de succès de presque 100%. Pourquoi presque ? Parce qu’il existe plusieurs combinaisons de 0 et de 1 produisant le même checksum : c’est inévitable car le checksum est un nombre calculé à partir de quelques milliers de nombres. Toutefois, il est hautement improbable qu’une mémoire défaille en se transformant précisément en une autre de ces combinaisons donnant le même checksum. Par contre, modifier intentionnellement cette mémoire dans ce but est possible : à partir d’un checksum, on peut calculer les diverses combinaisons de 0 et de 1 qui le produisent. Un hash cryptographique s’utilise de la même façon, mais sa méthode de calcul est conçue de façon à rendre très difficile de deviner ces multiples combinaisons à partir du résultat. Par très difficile, on entend impossible en pratique, quel que soit l’algorithme utilisé, et avec la puissance actuelle des ordinateurs. Le terme "algorithme" signifie méthode de calcul. Cela peut évoluer avec les avancées scientifiques. Ainsi, l’algorithme MD5 n’est plus considéré comme sûr depuis que la démonstration en a été faite en 2004. Le Brésil, dont les ordinateurs de vote utilisent ce MD5, se pose la question de l’abandonner pour un autre algorithme.

[5] « Le programme intégré à l’ordinateur de vote pourrait être modifié pour altérer les votes. Le programme a un checksum, qui le protège contre des modifications accidentelles, mais qui ne protège pas contre des manipulations délibérées. » En V.O. « The controlling program inside the voting machine could be modified to affect the vote. The program has a “checksum” which protects it against accidental changes, but does not protect against deliberate tampering. » Michael Scott (Dublin City University), rapport de la CEV, app. 2B, page 139.

[6] Pour être précis, il s’agit de vérifier la mémoire vive (RAM, mémoire de travail contenant des données), et non pas la mémoire morte (ROM ou EPROM, mémoire contenant un logiciel qui manipule les données placées en RAM). Dans le cas d’un PC, le logiciel intégré s’appelle BIOS, et ne fait qu’une toute petite partie du travail, l’essentiel étant fait par Windows (ou Linux) et les logiciels que vous lancez vous-même. En revanche, le logiciel intégré à l’ordinateur de vote fait la totalité du travail. Sur certains PC, surtout les anciens, cette procédure de vérification de la mémoire affiche un nombre qui change à toute vitesse, quelques secondes après la mise sous tension.

©© ordinateurs-de-vote.org - dernière modification : mercredi 17 octobre 2018.

5 Messages de forum

  • Je réagis au point [4] et aux remarques sur le hash cryptographique.

    Effectivement, il est possible de produire un code binaire différent aboutissant au même hash, d’ou la fameuse attaque sur MD5.
    Cela est théorique, et on ne sait pas le faire encore en claquant des doigts, mais seulement avec un supercalculateur.
    Par contre, pour que le code binaire soit valide, ait le comportement escompté, et aie toujours le même md5 ou hash, la c’est encore plus improbable. C’est donc pour cela que MD5 n’est à ce titre pas encore considéré comme affaibli.

    Répondre à ce message

  • Je pense que vous négligez dans votre analyse l’objet essentiel de cette procédure de contrôle : rassurer les assesseurs.

    En effet, mis en présence de machines obscures et incontrôlables, et pourtant légalement sommés de vérifier la régularité du scrutin, ces assesseurs ne pourraient ne pas commencer à ressentir un malaise compréhensible, voir même mettre leur utilité, voir donc la validité du scrutin...

    En ajoutant cette procédure techniquement inepte, on donne un travail aux assesseurs, qui pendant qu’ils s’occupent à vérifier le numéro que donne le bidule, à le comparer avec la feuille imprimée, oublient qu’ils ne comprennent rien au machin, et rasséréné peuvent en toute bonne conscience signer avoir constaté la légitimité du scrutin.

    Évidemment que la procédure est absurde : en 5mn je fais afficher les bon chiffres à mon ordinateur personnel, qui sera fier d’être reconnu conforme ;)

    Yannick

    Répondre à ce message

  • C’est affligeant, si les valeurs de checksum sont connues alors rien d’empêche de faire une puce piratée qui donnera systématiquement les valeurs attendues. Et ce ne sont pas des étiquettes de scellés que tous les techniciens en maintenance savent décoller qui protègeront la machine.

    Voir en ligne : http://florian.developpez.com

    Répondre à ce message

    • Les fabricants prennent vraiment leurs clients (les mairies) et les électeurs pour des c....

      Toute la difficulté consistera maintenant à trouver un moyen élégant d’ouvrir les yeux des mairies qui croient encore dur comme fer aux discours commerciaux des fabricants.

      En explicant à un maximum d’électeurs que les fabricants ont menti à leurs mairies pour leur vendre des machines à voter à 4000 € l’unité, on finira, je l’espère, à mobiliser suffisamment de personnes pour relayer notre point de vue dans les mairies.

      J’encourage toutes les personnes qui ont compris le problème à en parler autour d’elles.

      Personnellement, quand je vois quelqu’un qui attend quelque chose ou quelqu’un et qui n’a pas l’air occupé, j’en profite pour l’aborder et lui demander s’il a entendu parler des machines à voter. J’explique un peu le problème et donne toujours oralement l’adresse www.recul-democratique.org en précisant la plupart du temps qu’elle renvoie vers www.ordinateurs-de-vote.org.

      Répondre à ce message

Répondre à cet article


Suivre la vie du site Syndication/fil RSS 2.0 (explications) | Plan du site | Espace privé | SPIP