logo
Accueil » Documents officiels » Rapports des experts » Communales 2006 : Rapport du Collège des experts pour la Région de (...)

18/10/2006: Communales 2006 : Rapport du Collège des experts pour la Région de Bruxelles-Capitale

chargés du contrôle du système de vote et de dépouillement automatisés pour les élections communales en Région de Bruxelles-Capitale - Elections communales du 8 octobre 2006


x  français    o  Nederlands   

“Le rapport du Collège des experts concernant le vote automatisé lors des élections communales du 8 octobre 2006 à été transmis au Parlement de la Région de Bruxelles-Capitale en date du 18 octobre 2006. Le dépôt de ce rapport a été annoncé lors de la séance plénière du 19 octobre 2006 et il a été décidé de le renvoyer en commission des Affaires intérieures, chargée des pouvoirs locaux et des compétances d’agglomération.

Le rapport du Collège des experts sera publié sous la forme d’un document parlementaire (document A-306/1 - 2006/2007) et pourra être consulté à partir du 30 octobre 2006. (Pour une consultation en ligne, voir le site internet du Parlement de la Région de Bruxelles-Capitale : http://www.parlbruparl.irisnet.be/ rubrique "travail législatif" - documents parlementaires)”

1. Composition du collège

En application de l’article 5bis, § 5, de l’ordonnance du 29 juin 2006 modifiant la loi du 11 avril 1994 organisant le vote automatisé, ont été désignés pour contrôler l’utilisation et le bon fonctionnement des systèmes de vote et de totalisation automatisés lors des prochaines élections des membres des conseils communaux en Région de Bruxelles-Capitale, les experts dont les noms suivent :

  • Effectifs :
    • Monsieur Jean-Marc Paul
    • Monsieur Geert Bryon
    • Monsieur Freddy Tomicki
    • Monsieur Theo D’Hondt
  • Suppléants :
    • Madame Sophie Jonckheere
    • Monsieur Emmanuel Willems
    • Monsieur Johan Fabry
    • Monsieur Olivier Markowitch

Ces experts forment le collège d’experts.

En application de l’alinéa 3 du même article 5bis, § 5, ont été désignés comme président M. Jean-Marc Paul et comme secrétaire Mme Sophie Jonckheere.

2. La mission

2.1. L’ordonnance

Cette mission est réglée par l’article 5bis de l’ordonnance du 29 juin 2006 modifiant la loi du 11 avril 1994 organisant le vote automatisé, remplacé par la loi du 12 août 2000 et modifié par la loi du 11 mars 2003.

Les parties concernant l’actuelle mission sont indiquées en caractères gras.

« 
Art. 5bis.

§ 1er. Lors de l’Election des membres de la Chambre des représentants et du Sénat, du Parlement européen et des conseils de Région et de Communauté ainsi que des conseils et de l’aide sociale.
1. La Chambre des représentants, le Sénat et le Conseil de la Région de Bruxelles-Capitale peuvent désigner chacun deux experts effectifs et deux experts suppléants ;
2. le Conseil régional wallon, le Conseil flamand et le Conseil de la Communauté germanophone peuvent désigner chacun un expert effectif et un expert suppléant.

Ces désignations peuvent être effectuées tant lors du renouvellement complet de chaque assemblée que lors d’une nouvelle élection organisée suite à l’annulation d’un scrutin, ainsi que lors d’une élection suite à une vacance à laquelle il ne peut être pourvu par l’installation d’un suppléant.

Les personnes visées au premier alinéa forment le collège d’experts. Ils désignent en leur sein un président et un secrétaire.

§ 2. Ces experts contrôlent lors des élections l’utilisation et le bon fonctionnement de l’ensemble de systèmes de vote et de dépouillement automatisés ainsi que les procédures concernant la confection, la distribution et l’utilisation des appareils, des logiciels et des supports d’information électroniques. Les experts reçoivent du ministère de l’Intérieur le matériel ainsi que l’ensemble des données, renseignements et informations utiles pour exercer un contrôle sur les systèmes de vote et de dépouillement automatisés.

Ils peuvent notamment vérifier la fiabilité des logiciels des machines à voter, la transcription exacte des votes émis sur la carte magnétique, la transcription exacte pour l’urne électronique des suffrages exprimés sur le support de mémoire du bureau de vote, l’enregistrement exact du support de mémoire provenant du bureau de vote sur le support de mémoire destiné à la totalisation des votes, la totalisation des suffrages exprimés, la lecture optique des votes exprimés et le système de contrôle du vote automatisé par impression des suffrages émis sur support papier. Ils effectuent ce contrôle à partir du 40e jour précédent l’élection, le jour de l’élection et après celle-ci, jusqu’au dépôt du rapport visé au § 3.

§ 3. Au plus tard quinze jours après la clôture des scrutins et en tout état de cause avant la validation des élections pour ce qui concerne la Chambre des représentants et le Sénat, les conseils régionaux et communautaires et le Parlement européen, les experts remettent un rapport au ministre de l’Intérieur ainsi qu’aux assemblées législatives fédérales, régionales et communautaires. Au plus tard dix jours après la clôture des scrutins et en tout état de cause avant la validation des élections pour ce qui concerne les conseils de l’aide sociale, ils remettent un rapport au ministre de l’Intérieur et aux assemblées législatives fédérales.

Leur rapport peut notamment comprendre des recommandations relatives au matériel et aux logiciels utilisés.

§ 4. Les experts sont tenus au secret. Toute violation de ce secret sera sanctionnée conformément à l’article 458 du Code pénal.

§ 5. Lors de l’élection des membres des conseils communaux en Région de Bruxelles-Capitale, le Parlement de la Région de Bruxelles-Capitale désigne quatre experts effectifs et quatre experts suppléants.

Ces désignations peuvent être effectuées tant lors du renouvellement complet des conseils communaux que lors d’une nouvelle élection organisée suite à l’annulation d’un scrutin, ainsi que lors d’une élection suite à une vacance à laquelle il ne peut être pourvu par l’installation d’un suppléant.

Les personnes visées au premier alinéa forment le collège d’experts pour les élections communales.

Les experts suppléants apportent leur assistance aux membres effectifs dans l’exécution des missions mentionnées au § 6 ou les remplacent en cas d’empêchement. Ce collège désigne en son sein un président et un secrétaire.

§ 6. Ces experts contrôlent lors des élections l’utilisation et le bon fonctionnement de l’ensemble de systèmes de vote et de dépouillement automatisés ainsi que les procédures concernant la confection, la distribution et l’utilisation des appareils, des logiciels et des supports d’information électroniques. Les experts reçoivent du ministère de la Région dze Bruxelles-Capitale le matériel ainsi que l’ensemble des données, renseignements et informations utiles pour exercer un contrôle sur les systèmes de vote et de dépouillement automatisés.

Ils peuvent notamment vérifier la fiabilité des logiciels des machines à voter, la transcription exacte des votes émis sur la carte magnétique, la transcription exacte pour l’urne électronique des suffrages exprimés sur le support de mémoire du bureau de vote, l’enregistrement exact du support de mémoire provenant du bureau de vote sur le support de mémoire destiné à la totalisation des votes, la totalisation des suffrages exprimés, la lecture optique des votes exprimés et le système de contrôle du vote automatisé par impression des suffrages émis sur support papier.

Ils effectuent ce contrôle à partir du 40e jour précédant l’élection, le jour de l’élection et après celle-ci, jusqu’au dépôt du rapport visé au § 7.

§ 7. Au plus tard dix jours après la clôture des scrutins et en tout état de cause avant la validation des élections, les experts désignés en vertu du § 5 doivent remettre un rapport au Gouvernement et au Parlement de la Région de Bruxelles-Capitale. Ce rapport peut comprendre des recommandations relatives au matériel et aux logiciels utilisés.

§ 8. Les experts sont tenus au secret. Toute violation de ce secret sera sanctionnée conformément à l’article 458 du Code pénal.
 »

2.2. Rôle des experts

Bien que le collège d’experts ait soulevé ce point à l’occasion du contrôle effectué lors des précédentes élections, le rôle des membres suppléant prévus par l’article 5bis, § 5, n’est toujours pas clairement défini. La dernière phrase de ce paragraphe dispose que les experts suppléants apportent leur assistance aux membres effectifs dans l’exécution des missions. Le collège a, à nouveau, opté pour l’interprétation la plus large et considère les membres suppléants comme membres de plein droit du collège, avec les meme pouvoirs de contrôle.

3. Principes de fonctionnement du vote automatisé

Un système de vote automatisé se compose de différents éléments dont la machine à voter dans l’isoloir, qui est la partie la plus visible pour l’électeur, ne constitue qu’un élément. En effet, il y a plusieurs phases dans le processus électoral et à chaque phase correspond un sous-système bien déterminé du système de vote automatisé. Il y a d’abord la préparation pendant les semaines qui précèdent les élections, au cours de laquelle le constructeur du système de vote automatisé et le MRBC (Ministère de la Région de Bruxelles-Capitale) jouent un rôle. Le jour des élections, il y a la procédure dans le bureaux de vote. Le soir des élections enfin, on assiste à une troisième phase du vote automatisé dans le bureaux principaux où les votes sont totalisés. Il n’y a pas de bureau de dépouillement.

La procédure dans le bureau de vote et la partie du système qui correspond à cette procédure déterminant dans une large mesure le déroulement des première et troisième phases (c’est-à-dire la préparation et la totalisation). Nous commençons dès lors cet aperçu dans le bureau de vote même. Nous abordons ensuite la totalisation au niveau de la commune, et enfin la préparation des élections au MRBC.

Il existe en fait deux systèmes de vote : le système Digivote et le système Jites, comme lors des élections précédentes.

Les différences se situent essentiellement au niveau du matériel utilisé et aux interfaces présentées aux utilisateurs (l’électeur ou le président du bureau de vote ou de totalisation).

Contrairement aux élections précédentes où chaque matériel disposait de son propre logiciel, il n’y a, pour les élections communales de 2006 à Bruxelles, qu’un seul logiciel qui tient compte des différences entre les deux types de matériels. Ce logiciel a été développé par la société Stesud (qui a conçu la système Jites) après adjudication du marché suite à l’appel d’offre lancé en commun par la Région bruxelloise et la Région wallonne.

3.1. Le bureau de vote

3.1.1. La procédure

Lors d’un vote automatisé, la procédure dans le bureau de vote est fort semblable à celle du vote traditionnel. Mais dans les bureaux de vote automatisé, il n’y a plus de bulletins de vote. Les bulletins de vote sont remplacés par ces cartes magnétiques. Chaque isoloir d’un bureau de vote est pourvu d’une machine à voter. Chaque machine à voter est équipée d’un écran de visualisation, d’un lecteur-enregistreur de cartes magnétiques et d’un crayon optique. L’urne traditionnelle est aussi remplacée par une urne électronique.

Par comparaison avec le vote sur papier, l’urne-PC délivre électroniquement les bulletins de vote et les stocks.

3.1.1.1. Ouverture du bureau de vote

Le président du bureau de vote reçoit dans les jours précédant les élections une enveloppe scellée avec les disquettes (une disquette maîtresse et plusieurs disquettes de sauvegarde qui reprennent la tâche de la première en cas de défectuosité) qui servent à activer les machines de vote et l’urne, et une enveloppe scellée distincte contenant le mot de passe pour utiliser ces disquettes. Le mot de passe diffère pour chaque bureau de vote. Les enveloppes scellées ne peuvent être ouvertes que le jour des élections en présence des membres du bureau. Les machines à voter mêmes et l’urne électronique sont installées par la commune la semaine qui précède les élections. Sans les disquettes mentionnées (qui contiennent le logiciel du système de vote), il est impossible d’activer ces machines.

Lors de l’ouverture du bureau de vote, le président contrôle que le bac de l’urne est vide, après quoi l’urne est fermée et scellée. Ensuite, il active l’urne électronique et les machines à voter à l’aide de la disquette maîtresse et du mot de passe fournis. La disquette maîtresse reste dans l’urne pour le déroulement ultérieur du vote et set à l’enregistrement des votes.

3.1.1.2. Le déroulement du vote

Un électeur se présente et remet sa convocation et sa carte d’identité au président. Le président prend une nouvelle carte magnétique, l’initialise et la remet à l’électeur. Chaque carte magnétique ne peut être utilisée qu’une seule fois pour l’opération de vote. Avant le vote, chaque carte magnétique doit en effet être initialisée (rendue opérationnelle) afin de ne pouvoir être utilisée que pour le vote dans le bureau. L’initialisation se fait dans l’urne-PC au moyen d’un lecteur de carte magnétique.

L’électeur emporte la carte magnétique initialisée dans l’isoloir et l’introduit dans la fente de la machine à voter.

Toute carte mal initialisée ou non initialisée est refusée.

L’écran affiche des indications pendant toute l’opération de vote. Il est demandé à l’électeur d’exprimer son vote (vote blanc, vote en tête de liste, un ou plusieurs candidats de la même liste). Lorsque l’électeur a exprimé son vote avec le crayon optique, il doit le confirmer. A partir de ce moment, le vote est définitif. Tant qu’il n’est pas confirmé, l’électeur peut annuler son vote et recommencer. S’il remet sa carte sans avoir voté, sa voix est considérée comme un vote blanc (abstention). Le système ne permet pas de voter nul en « panachant ».

Après confirmation du vote, la machine à voter éjecte la carte. L’électeur peut alors réintroduire sa carte dans la machine à voter, et celle-ci détecte alors qu’un vote est présent sur la carte. Elle propose alors à l’électeur de visualiser le vote enregistré sur la carte.

Après avoir voté, l’électeur remet sa carte magnétique au président qui vérifie que la carte ne comporte aucune marque visible. La carte est introduite dans la fente de l’urne électronique (qui comporte également un lecteur de cartes magnétiques) et le vote est enregistré.

Dans le cas du matériel Digivote, le vote est enregistré sur disquette et en mémoire (ramdisk). Dans le cas du matériel Jites, le vote est enregistré dans une EEPROM et en mémoire (ramdisk).

3.1.1.3. Fermeture du bureau de vote

A la fin du vote, le président clôt les opérations de vote.

A partir de cet instant, l’urne électronique ne peut plus enregistrer aucun vote. Toutes les machines sont éteintes. La disquette avec les résultats (et deux copies de sauvegarde) sont mises dans une enveloppe scellée et sont amenées par le président au bureau principal pour la totalisation. Les cartes magnétiques restent dans l’urne électronique scellée jusqu’à la validation des élections, à moins d’une demande de recomptage du bureau principal.

3.1.2. Le matériel

3.1.2.1. Les machines à voter

3.1.2.1.1. La machine à voter Digivote

La machine à voter est l’appareil installé dans l’isoloir.

Le matériel d’une machine à voter Digivote est constitué d’un PC standard (type x86) avec 2 ports sériels, 1 port parallèle, 1 lecteur de disquette 3.5’’ 1.44 MB, un crayon optique, un lecteur-enregistreur de cartes magnétiques et un écran.

Une boîte d’alarme (que le président peut voir) est fixée à l’arrière du PC avec un voyant rouge et un voyant vert ainsi qu’un bouton de remise à zéro.

L’écran est un écran 14’’ utilisé en mode monochrome, mais le fonctionnement du système de vote est indépendant du type d’écran.

L’électeur a uniquement accès au lecteur de cartes magnétiques, au crayon optique et à l’écran. Le lecteur de disquette, le commutateur de l’alimentation électrique et le bouton de remise à zéro se trouvent derrière une petite porte fermée. Le boîtier d’alarme se trouve hors de l’isoloir.

Une machine à voter n’a ni clavier ni, normalement, de disque dur. Les administrations communales, qui sont propriétaires du système, peuvent néanmoins décider d’utiliser, entre les élections, les machines à voter comme PC de bureautique. Il faut alors modifier la configuration du matériel standard, à savoir en ajoutant un disque dur. Lorsque l’appareil est utilisé comme machine à voter, il faut toutefois désactiver le disque dur. Il existe à cet effet une disquette de test qui vérifie la veille des élections, après l’installation du système, que la machine a été configurée correctement.

Dans des configurations de bureautique, le disque dur se trouve alors désactivé au niveau BIOS.

3.1.2.1.2. La machine à voter Jites

La machine à voter Jites est un PC standard (quant à ses composants) avec un boîtier particulier. Tous les périphériques et prises sont situés sur la face arrière (prise pour le raccordement au réseau électrique, prise pour le clavier, prise pour le crayon optique, un port parallèle, deux ports sériels, prise pour écran, lecteur de disquette, lumières d’alarme, bouton d’éjection de la carte magnétique). Seul le lecteur de carte magnétique est disponible sur la face avant et est donc le seul composant du PC auquel l’électeur a accès.

La machine à voter est dotée d’une architecture de type PC, c’est-à-dire qu’elle est dotée d’une carte-mère équipée d’un processeur de type x86. Le seul périphérique de stockage est le lecteur de disquette : il n’y a ni disque dur, ni lecteur de CD. L’écran est un écran 14’’ utilisé en mode monochrome.

3.1.2.2. Les urnes

3.1.2.2.1. L’urne Digivote

L’urne-PC est l’appareil réservé au président du bureau de vote. C’est la seule machine, dans le bureau de vote, qui dispose d’un clavier. C’est également à cette machine qu’est reliée l’urne électronique. Il n’y a qu’une seule urne-PC par bureau de vote.

Il s’agit aussi d’un PC standard équipé d’un lecteur-enregistreur de cartes magnétiques, sans crayon optique mais avec clavier. Le PC est relié par un câble série à un bac à cartes magnétiques (l’urne). Le bac à cartes magnétiques se compose d’un bac en métal avec un couvercle avec un lecteur de cartes magnétiques et une alimentation électrique.

Comme le matériel d’une machine à voter ressemble à celui de l’urne-PC, il est possible, en cas de panne de l’urne-PC, de transformer une machine à voter en urne-PC en enlevant le crayon optique de la machine à voter et en y fixant un bac à cartes magnétiques et une clavier.

En cas de problèmes techniques, le président peut toujours faire appel à l’assistance technique organisée par le fournisseur de l’appareil.

3.1.2.2.2. L’urne Jites

L’urne est un appareil tout à fait différent de celle du système Digivote. Il s’agit d’une grande boîte métallique qui est scellée lors des élections et dont le couvercle renferme un PC qui sert à la gestion de l’urne. Cette boîte métallique est dotée d’un lecteur intégré de cartes magnétiques qui sera utilisé pour le dépôt des cartes dans l’urne et d’un lecteur externe qui sera utilisé pour l’utilisation des cartes magnétiques.

Le PC comprend une carte-mère dotée d’un processeur de type x86, d’un lecteur de disquettes, d’un clavier sous la forme d’un pavé numérique (style clavier Bancontact), d’un écran à cristaux liquides de 2 lignes de 20 caractères, de lampes de contrôle, d’un compartiment pour batteries, d’un graveur d’EEPROM (c’est-à-dire mémoire permanente), d’une prise pour l’alimentation électrique, d’une prise pour le raccordement d’un écran externe et d’une prise pour le raccordement du lecteur de cartes magnétiques externe.

3.1.3. Fonctionnement des systèmes

3.1.3.1. La machine à voter

Une machine à voter offre les fonctions de base suivantes :

  • elle lit la carte magnétique de l’électeur
  • elle guide l’électeur par des messages affichés à l’écran
  • elle affiche le bulletin de vote électronique
  • elle accepte et valide le vote émis par l’électeur
  • elle transcrit le vote sur la carte magnétique
  • elle permet à l’électeur de revisualiser le vote qu’il a émis.

La disquette maîtresse contenue dans l’enveloppe scellée que le président peut ouvrir le jour des élections est une disquette d’initialisation (DOS amorçable) utilisée pour faire démarrer les machines à voter. C’est la même disquette qui a été utilisée au préalable pour activer l’urne-PC (voir plus loin). En effet, le logiciel détecte automatiquement s’il s’agit d’une machine à voter ou d’une urne-PC et
de quel type (Digivote ou Jites).

Après son démarrage, la machine à voter affiche un pavé numérique à l’écran et invite le président à introduire son mot de passe. La machine à voter est alors opérationnelle.

Pour une machine à voter, un vote débute par l’insertion d’une carte magnétique validée. Le programme de vote contrôle si :

  • la carte a été insérée correctement dans le lecteur, faute de quoi cette erreur est signalée à l’utilisateur ;
  • le contenu de la carte est lisible, sans quoi il est demandé à l’électeur d’en informer le président ;
  • la carte a été validée pour ce bureau de vote sans quoi il est demandé à l’électeur d’en informer le président.

Lorsque la carte a été insérée correctement, l’électeur peut émettre son vote au moyen d’un crayon optique. Pour sélectionner un élément, il y a lieu de poser le crayon optique perpendiculairement à l’écran sur la zone choisie et d’appuyer sur l’écran. En dehors de ces zones actives, lesystème ne tient pas compte des pressions sur le crayon.

Après le vote, la machine à voter enregistre sur la carte magnétique les données pour chaque élection pour laquelle l’électeur a émis un vote.

En outre, elle transcrit un bit de test qui indique que cette carte a effectivement servi à émettre un vote et un nombre de contrôle qui doit garantir l’intégrité du vote. Ce nombre de contrôle permettra à l’urne électronique de vérifier que le vote enregistré sur la carte magnétique est effectivement un vote correct émis avec une machine à voter du bureau de vote le jour des élections.

3.1.3.2. L’urne-PC

Avec l’urne-PC, le président est chargé :

  • d’ouvrir et de fermer le bureau de vote ;
  • d’initialiser les cartes magnétiques vierges pour les électeurs ;
  • d’accepter la carte magnétique avec le vote émis par l’électeur ;
  • d’enregistrer le vote émis ;
  • de suivre le déroulement du vote ;
  • à la clôture, d’écrire les résultats des votes sur les disquettes qui serviront à la totalisation.
    La disquette maîtresse contenue dans l’enveloppe scellée sert à faire démarrer l’urne-PC. Pendant la phase de démarrage, le bon fonctionnement du système est contrôlé.

Après la phase de démarrage, il faut introduire le mot de passe pour lancer le logiciel. Ensuite, la disquette maîtresse est retirée de l’urne-PC et est utilisée comme disquette d’amorçage pour les machines à voter avec le même mot de passe. Dans les cas du matériel Digivote, lorsque toutes les machines à voter ont démarré, la disquette maîtresse est remise dans le lecteur de disquettes de l’urne. Elle restera dans l’urne pendant toutes les opérations de vote et servira à enregistrer les votes contenus sur les cartes magnétiques déposées dans l’urne-PC.

L’initialisation des cartes magnétiques pour les électeurs au moyen de l’urne-PC constitue un élément important dans la sécurité du vote automatique. Lorsqu’un électeur se présente, le président prend une carte magnétique et l’introduit dans la valideuse de cartes magnétiques de l’urne-PC (à ne pas confondre avec le lecteur de cartes magnétiques du couvercle de l’urne fixé à l’urne-PC). Lors de cette opération s’inscrivent, sur la carte magnétique de l’électeur, un vote blanc ainsi que le nombre de contrôle. L’inscription du vote blanc pendant l’initialisation est nécessaire parce que l’électeur n’est pas tenu d’insérer sa carte magnétique dans la machine à voter. En effet, il peut déposer immédiatement sa carte magnétique dans l’urne. Une carte non initialisée sera refusée, tant par la machine à voter que par l’urne.

Bien entendu, la fonction principale de l’urne-PC est d’accepter les cartes magnétiques contenant les votes émis.

L’électeur insère sa carte, après un contrôle visuel du président, dans le lecteur de cartes magnétiques du couvercle de l’urne-PC. L’urne lit la carte magnétique et vérifie si celle-ci est valable, sans quoi elle l’expulse. Cette vérification repose sur le nombre de contrôle qui est à chaque fois transcrit, tant lors de l’initialisation que lors du vote même.

Le nombre de contrôle est calculé sur la base du contenu du vote de l’électeur. Lors de la lecture de la carte magnétique, l’urne recalcule ce nombre de contrôle. Si ce nombre de contrôle recalculé diffère du nombre de contrôle sur la carte magnétique, cela indique soit que le vote a été modifié après l’enregistrement du vote par une machine à voter, soit que le nombre de contrôle a été calculé avec une autre clef de chiffrement que celle du bureau de vote. Dans la pratique, cette dernière hypothèse indique la plupart du temps que la carte magnétique n’a pas été validée, qu’elle vient d’un autre bureau ou qu’elle est défectueuse.

Une carte magnétique valable, c’est-à-dire une carte où les deux nombres de contrôle correspondent, est détectée comme telle. Après enregistrement du vote, elle tombe dans le bac de réception.

Chaque vote est enregistré dans un fichier sur la disquette contenue dans l’urne-PC pour les systèmes Digivote et sur l’EEPROM pour les systèmes Jites. L’endroit où aboutit le vote dans ce fichier est arbitraire. Dès lors, il ne dépend pas de l’ordre dans lequel les électeurs votent. On peur ainsi garantir le secret du vote. En outre, chaque vote dans ce fichier est crypté.

Si la disquette est endommagée pendant les opérations de vote, l’urne peut encore travailler en mode dit « dégradé ». Il reste alors possible de continuer à initialiser des cartes et à les déposer dans l’urne. Toutefois, il n’y a plus d’enregistrement.

Dans ce cas, on est obligé, après la fermeture du bureau de vote, de recompter les cartes magnétiques dans le bureau principal de commune en faisant relire une à une, par un lecteur de cartes magnétiques, toutes les cartes qui se trouvent dans l’urne électronique.

Pendant les élections, l’urne-PC affiche un compteur à l’écran avec le nombre de cartes déposées dans l’urne électronique.

Lors de la fermeture du bureau de vote, l’urne-PC totalise déjà les votes pour chaque liste et pour chaque candidat.

Ces informations ne sont cependant pas visibles ; elles sont disponibles sous une forme codée sur la disquette maîtresse et sur les disquettes de sauvegarde. En effet, ces informations sont utilisées lors de la phase suivante au bureau principal où intervient la totalisation des différents bureaux de vote.

Le fonctionnement de l’urne Jites et de l’urne Digivote sont identiques sauf en ce qui concerne la récupération d’informations après une panne pendant la journée de l’élection.

3.2. Le bureau de totalisation

3.2.1. La procédure

Immédiatement après la réception des disquettes du bureau de vote, le président du bureau principal lit la disquette maîtresse pour les disquettes. S’il s’avère impossible de lire la disquette maîtresse, le président du bureau principal recommence l’opération de lecture avec les disquettes de sauvegarde du même bureau de vote. Si l’opération s’avère aussi impossible, le président du bureau principal requiert l’urne électronique correspondante.

Dans le cas du matériel Digivote, il procède au recomptage des cartes magnétiques contenues dans l’urne. Les votes recomptés sont enregistrés sur disquette. Après le recomptage, l’urne est rescellée et renvoyée à la commune.

Ensuite, le président enregistre la disquette nouvellement fabriquée sur la machine de totalisation.

Dans le cas du matériel Jites, une nouvelle disquette de résultats peut être obtenue en récupérant les données dans l’EEPROM de l’urne. Si l’EEPROM s’avère défectueuse il est procédé comme dans le cas du matériel Digivote.

Une commune dispose d’une machine de totalisation « intermédiaire » par série de 30 bureaux de vote. Le résultat de chaque bureau est enregistré sur une machine de totalisation intermédiaire déterminée, jamais sur plusieurs simultanément afin d’éviter les doubles comptages. Une fois tous les bureaux de vote enregistrés, la machine de totalisation « faîtière » de la commune totalisera tous les résultats intermédiaires (par série de 30 bureaux de vote) afin d’obtenir le résultat global de la commune. S’il y a moins de 30 bureaux de vote dans une commune, il n’y a alors qu’une seule machine de totalisation et la distinction entre niveau de totalisation intermédiaire et faîtier disparaît.

Le président du bureau principal peut proclamer des résultats électoraux partiels après enregistrement d’au moins 10 bureaux et par la suite par série de 10 bureaux de vote supplémentaires, ceci pour garantir le secret du vote.

Après enregistrement de tous les bureaux de vote, le système imprime le procès-verbal et les tableaux de recensement des votes. Ce procès-verbal en plusieurs exemplaires et les différents tableaux de recensement des votes, signés par le président du bureau principal, les membres du bureau et les témoins, sont mis dans des enveloppes scellées.

Jusqu’à la validation des élections, les enveloppes contenant les cartes magnétiques et les disquettes restent sous la surveillance du président du bureau principal. Les urnes contenant les cartes magnétiques restent aussi scellées jusqu’à la validation des élections.

3.2.2. Le système de totalisation : matériel

Le matériel d’une machine de totalisation se compose d’un PC standard avec disque dur (disque Zip) ou fixe. Le démarrage doit se faire à partir d’une disquette et d’un mot

de passe spécifique à chaque PC de totalisation. Le logiciel et les données de totalisation se trouvent sur le disque dur.

3.2.3. Le système de totalisation : fonctionnement

Par essence, le système de totalisation ne fait rien d’autre
qu’enregistrer une à une les disquettes des bureaux de vote
et compter les voix pour chaque liste et pour chaque candidat.

Un système de totalisation se compose d’un support d’information magnétique sur lequel figurent les programmes et les données nécessaires pour pouvoir effectuer aux différents niveaux les fonctions de totalisation pour les élections. Les données figurent sur le système sous la forme d’une base de données. Les informations contenues dans cette base de données comprennent :

  • la liste des bureaux de vote qui doivent être totalisés par ce système de totalisation ; le système doit en effet pouvoir contrôler si aucun bureau de vote n’a été oublié ou compté deux fois ;
  • les clefs de chiffrement des disquettes des bureaux de vote à enregistrer ; en effet, les informations sur les disquettes maîtresses et de sauvegarde sont codées. Pour pouvoir lire ces informations, le système de totalisation doit disposer des clefs de chiffrement des bureaux de vote. La base de données avec les clefs de chiffrement est codée à son tour avec le mot de passe du système de totalisation.

Toutes les données, y compris les totaux calculés, sont protégées par des nombres de contrôle.

4. Contrôle

4.1. Contrôles effectués avant le jour des élections

4.1.1. Réception et description des logiciels électoraux

4.1.1.1. Réception des logiciel électoraux

Le 13 septembre 2006, le Bureau van Dijk, organisme d’avis reconnu par la MRBC (Ministère de la Région de Bruxelles-Capitale), a présenté son rapport sur la version définitive des logiciels électoraux développés pour les élections du 8 octobre 2006 par la firme Stésud. Ce rapport a été commenté en présence de représentants du MRBC, de la firme Stésud, fournisseur des logiciels et de membres du collège.

Après la présentations, le matériel de référence a été déposé au coffre du MRBC à la banque Dexia en présence de représentants de tous les organismes présents :

  • une copie des sources des programmes ;
  • une version de démonstration des disquettes utilisées pour les élections et leur préparation.

Une copie des logiciels de référence a été reprise pour analyse par le collège.

Le 26 septembre 2006, le collège a reçu les sources et une version exécutable de la disquette de diagnostic des mains de la firme Stéria, fournisseur des machines de type Digivote, système utilisé dans 15 des 19 communes de la Région bruxelloise.

4.1.1.2. Description des logiciels électoraux

Contrairement aux élections précédentes, il n’y a qu’un seul fournisseur pour les logiciels de vote et de totalisation pour les deux plate-formes matérielles (Digivote et Jites).

Selon les phases de la procédure, différents logiciels sont utilisés. Dans la période qui précède les élections, les disquettes pour les bureaux de vote et de totalisation sont préparées avec le « logiciel de préparation » et les machines à voter et les urnes sont contrôlées et initialisées à l’aide d’un « logiciel de diagnostic » ; le jour des élections, les votes sont émis grâce au « logiciel de vote » et rassemblés dans l’urne à l’aide du « logiciel urne ». Dans les bureaux principaux, les votes sont totalisés à l’aide du « logiciel de totalisation ».

4.1.2. Intervention du Bureau van Dijk

L’article 2, § 2, de la loi du 11 avril 1994 organisant le vote automatisé dispose que tous les systèmes de vote et de dépouillement électronique ainsi que tout logiciel utilisé pour le comptage et la totalisation des résultats doit être agréé par le ministre de l’Intérieur.

Conformément à cet article, le 25 septembre 2002, le SPF Intérieur lançait un appel à candidatures en vue de désigner les organismes chargés de remettre un avis au ministre de l’Intérieur sur les fournisseurs de ces systèmes.

La société Bureau van Dijk, retenue lors de cette procédure, a été désignée comme organisme d’avis pour les élections communales de 2006 à Bruxelles.

Selon l’appel à candidatures paru au Moniteur belge du 8 octobre 2002, les tâches de l’organisme d’avis sont de :

  • vérifier que le système fonctionne correctement, tant au niveau des composantes matérielles que logicielles ;
  • vérifier que le système est rigoureusement conforme à la législation électorale et linguistique actuelle ;
  • vérifier que le système tient compte du délai prévu par la loi pour la confection des disquettes de vote destinées aux bureaux de vote et aux bureaux principaux de canton ;
  • vérifier que le système ne prend pas trop de temps au démarrage dans les bureaux de vote et dans le bureaux principaux de canton ;
  • vérifier que le système est convivial pour les électeurs ;
  • vérifier que le système est accompagné d’une documentation complète et d’un manuel d’utilisation pratique ;
  • tester la réception et le contrôle du logiciel de base avec les codes sources, la conservation du logiciel, la préparation du scrutin, le contrôle du système de vote (hardware et software) dans le bureau de vote et dans le bureau principal de canton pour la totalisation des votes ;
  • tester le fonctionnement du système de vote au long des étapes successives de la chaîne électorale ;
  • tester le fonctionnement et la solution envisagée en cas d’erreur de manipulation du matériel de vote lors de la confection des disquettes de vote, lors du vote et lors de la totalisation des voix, ainsi qu’en cas de panne de courant survenant dans un bureau de vote.

L’article 2, § 2, de la loi du 11 avril 1994 précise qu’un système de vote doit garantir en tout cas la fiabilité et la sécurité des systèmes, ainsi que le secret du vote.

Le MRBC a agréé le système de vote et de dépouillement électronique sur la base de l’avis émis par le Bureau van Dijk.

Le collège a assisté à la remise de ces avis au MRBC en présence des délégués du Bureau van Dijk et du fournisseur.

Le collège a reçu une copie de cet avis.

Le collège estime que cette procédure d’agrément ne peut qu’augmenter la fiabilité des systèmes de vote et de dépouillement.

Le lien commercial qui lie le fournisseur de logiciel et l’organisme d’avis lors de la mission de celui-ci n’est pas de nature à garantir le caractère d’indépendance indispensable à cette mission. Le collège est par ailleurs d’avis que ce lien commercial ne peut être déduit ni de la loi, ni de l’appel à candidatures pour l’organisme d’avis. Il recommande dès lors qu’il soit revu.

Si de nombreux tests fonctionnels ont été réalisés sur le matériel et les logiciels des élections, le collège constate que seule une analyse partielle du code des logiciels des élections a été réalisée.

Les autorités en charge des élections devraient faire procéder à un audit sur la qualité et la pertinence du code source des logiciels des élections. Pour ce faire, le code définitif des logiciels devrait être finalisé plusieurs mois avant le jour des élections.

Les autorités devraient également faire procéder à un audit de toutes les procédures intervenant dans la préparation des élections et de opérations de vote et de totalisation.

4.1.3. Analyse du contenu des disquettes

L’objectif de cette analyse est de vérifier que les programmes présents sur les disquettes utilisées pour les élections et leur préparation correspondent exactement aux sources remises au collège.

Le collège a, à cette fin, effectué une compilation de référence indépendante.

Le jour des élections, les experts ont pris des copies des disquettes utilisées dans les bureaux de vote. Le soir des élections, dans certains bureaux de totalisation, ils ont également pris des copies des disquettes provenant des bureaux de vote et utilisées pour la totalisation. Enfin, dans les jours qui ont suivi les élections, les experts ont également pris des copies des disquettes utilisées pour la totalisation dans toutes les communes.

Les exécutables de la compilation de référence ont été comparés avec les copies récoltées et se sont révélés identiques.

4.1.3.1. Environnement de référence

Un PC a été préparé par le collège pour la recompilation du logiciel de diagnostic et des logiciels de vote. La version d’origine du compilateur Borland C++ 3.1 pour DOS a été installée sur ce PC « vierge », contrôlé contre les virus et placé en dehors d’un réseau.

4.1.3.2. Disquette de diagnostic

La disquette de diagnostic pour le matériel de type Digivote contient un logiciel développé par le fournisseur des systèmes Digivote qui identifie les éventuelles pannes hardware et prépare les machines pour le jour des élections. Les périphériques inutiles pour les élections sont désactivés (disques durs, CD-rom, .) par le programme. En plus de ce logiciel, la disquette contient le système d’exploitation et des drivers spécifiques développés par les fabricants des périphériques : crayon optique, lecteurs de carte, lecture/écriture dans le BIOS. Le collège ne dispose que des sources développées par le fournisseur de hardware (Stéria).

Après recompilation et compression des exécutables, la comparaison binaire indique que les exécutables présents sur la disquette de diagnostic sont identiques à ceux obtenus par le collège.

4.1.3.3. Disquette pour les bureaux de vote

Le logiciel des bureaux de vote est identique pour tous les bureaux de vote. Ce logiciel est indépendant du type de matériel (Jites ou Digivote) et de la fonction du PC (machine à voter ou urne). Au démarrage de la machine, le type de matériel et la fonction du PC sont déterminés automatiquement et, soit le logiciel de vote, soit celui de l’urne, est démarré.

Le collège dispose des sources de quatre des cinq exécutables présents sur la disquette. Après recompilation du code source dans l’environnement de référence, il apparaît que les programmes exécutables obtenus sont identiques à ceux livrés par le fournisseur.

La disquette des bureaux de vote contient, en plus des programmes développés par le fournisseur, le driver du crayon optique (le cinquième programme) et le système d’exploitation (Microsoft DOS 6.20).

Contenu des disquettes pour les bureaux de vote

Fichiers système DOS 6.20 CONFIG.SYS, HIMEM.SYS, INIT.EXE, I.SYS, KEYB.COM, KEYBOARD.SYS, MSDOS.SYS, RAMDRIVE.SYS, COMMAND.COM
Drivers du crayon optique DZINE.COM, LPCAL.DAT, PXL_BIOS.COM, PXLBIOS1.DTA,
PXLBIOS2.DTA, TEST.EXE
Fichiers de paramètres, spécifiques à chaque bureau de vote BE.2, FLOPPY.BE, MACHVOTC.TBL, MACHVOTL.TBL, MACHVOTS.IND, MACHVOTS.TBL, URNE.IND, URNE.TBL, X.DSK
Programme de vote et programme urne AUTOEXEC.BAT, BLANC.EXE, DRV.EXE, HARDDETC.EXE, MAV.BAT, MAVDIGIT.BAT, MAVJITES.BAT, RUNMAV.BAT, RUNURN.BAT, URNE.EXE

4.1.4. Analyse des procédures

Le collège a examiné différents aspects liés à la sécurité des procédures du vote automatisé. Si aucun risque majeur n’a été identifié au cours de ces vérifications, le collège a entre autres considéré les diverses situations potentiellement à risque suivantes :

  • Dans sa version actuelle, pour des raisons de sécurité, les sources des logiciels des élections ne peuvent être rendues publiques avant le jour des élections. Néanmoins, la publication de ces sources avant le jour des élections est une manière de renforcer le sentiment de confiance que peuvent ressentir les électeurs en regard du système de vote automatisé. La publication des sources des logiciels nécessite d’en soustraire les quatre caractères propres à l’élection en cours qui y apparaissent.
  • Les quatre caractères associés univoquement à une élection ne devraient pas faire partie tels quels des sources des logiciels des élections. Les sources des logiciels des élections devraient être publiées avant le jour des élections.
  • Il est nécessaire de s’assurer que les disquettes utilisées pour démarrer les différentes machines d’un bureau de vote ne sont pas contaminées par des virus informatiques (et autres logiciels malveillants). Une procédure garantit la non-infection des disquettes et des logiciels. Il faudrait aussi s’assurer que ces disquettes ne sont pas infectées entre le moment de l’ouverture des enveloppes qui les contiennent et le moment où les disquettes sont utilisées pour la totalisation.
  • Une politique de sécurité décrivant, entre autres, l’ensemble des mesures mises en place pour protéger les logiciels et les supports utilisés contre les programmes malveillants devrait être rédigée. Une telle politique de sécurité détaillerait aussi les règles imposées quant à la conception des logiciels, la transmission des logiciels, la transmission des données, la compilation des logiciels, la création des disquettes et la transmission de ces disquettes.
  • Lors de la mise sous enveloppe des disquettes (à destination finale des présidents de bureaux de vote), ces enveloppes devraient être scellées d’une manière sécurisée (un sceau brisé ne pouvant être reconstitué, remplacé ou falsifié aisément). Les procédures devraient prévoir que tous les membres d’un bureau de vote vérifient et attestent, au moyen d’un document à signer, que l’enveloppe contenant les disquettes reçue par le président du bureau est bien toujours scellée à la constitution du bureau de vote.
  • En dehors des ordinateurs nécessaires aux procédures de votes, l’introduction dans un bureau de vote d’un ordinateur tiers devrait être interdite (à l’exception des ordinateurs qui seraient nécessaires aux techniciens du helpdesk ou de ceux des experts chargés du contrôle du vote automatisé).
  • Etant donné l’âge du matériel utilisé, la protection des paramètres des BIOS des différentes machines par un mot de passe pourrait être contournée. Des périphériques pourraient ainsi être rajoutés ou désactivés.
  • Tout comme les lecteurs de disquettes, les connecteurs, qui se trouvent à l’arrière des différentes machines, devraient être rendus physiquement inaccessibles.
  • Dans une prochaine mouture du vote automatisé, il serait souhaitable de donner plus de garantie à l’électeur quant à la correspondance entre le vote qu’il a émis et le contenu de la carte magnétique. Le support utilisé (carte magnétique ou autre) pour le vote automatisé devrait donc permettre d’enregistrer le vote tant de manière informatique que directement visible pour l’électeur (par exemple impression sous forme de texte sur la carte).

4.1.5. Analyse du code source

Bien que la disponibilité du code source permette d’analyser le logiciel de façon approfondie, le court délai et les moyens du collège n’ont pas permis une relecture intégrale du code source. Le collège s’est attaché à analyser les parties les plus critiques du logiciel.

4.1.5.1. Langages et outils de développement utilisés

Le « Logiciel de préparation » a été développé en GUPTA (outil de développement 4GL). Le « logiciel de diagnostic » a été écrit en C++ et en Assembler. Les programmes pour les machines à voter et les urnes ont été écrits en C++ et C (routines d’encryptage/décryptage) et ont été compilés dans l’environnement de développement Borland C/C++ (version 3.1. pour DOS). Les programmes pour la totalisation ont été rédigés en Clipper.

4.1.5.2. Logiciel de diagnostic

A deux reprises avant les élections, un programme de diagnostic est exécuté sur les machines à voter et les machines des présidents (urnes). Ce programme vérifie le bon fonctionnement de tous les composants des machines et, dans le cas des systèmes Digivote, désactive les périphériques inutiles pour l’élection.

Il faut noter que ce type de test n’est pas dans faille : il permet seulement de constater l’opérationnalité des machines au moment du test, sans autre garantie pour le jour des élections. Ainsi, quelques bureaux de vote n’ont pu démarrer bien qu’ayant été testés avec succès la veille.

4.1.5.2.1. Diagnostic pour les systèmes Digivote

Le code source du logiciel de diagnostic de Digivote (version 6.1) a été présenté au collège par le constructeur le 26 septembre 2006.

Une rapide analyse du code source indique que le programme effectue les opérations suivantes :

  • La détection de la génération du matériel : Digivote I, II, IIb ou Iic.
  • La détection du numéro de série de la machine.
  • Le sauvetage des données du bios de la machine sur la disquette.
  • Le contrôle du bon fonctionnement de tous les composants des machines à voter et des machines des présidents de bureau de vote, y compris l’urne et le crayon optique. Un contrôle intensif est effectué sur les lecteurs de cartes magnétiques. Le calibrage du crayon optique est également effectué à ce moment.
  • La désactivation des composants inutiles.
  • Le sauvetage sur la disquette du résultat des tests.
  • L’affichage des résultats à l’écran.

Utilisé avec certains paramètres, le programme peut être exécuté en mode « wizard » pour tenter d’identifier d’éventuelles pannes le jour de l’élection.

4.1.5.2.2. Diagnostic pour le système Jites

Le système Jites n’a pas de logiciel spécifique pour les diagnostics. S’agissant de machines construites pour les opérations électorales exclusivement et ne pouvant donc être modifiées, les test effectués le sont à partir d’un programme de démonstration, identique à celui qui tourne le jour de l’élection mais avec des listes fictives. L’analyse de ce programme se trouve plus bas dans le texte.

4.1.5.3. Logiciel de préparation

Le logiciel de préparation n’a pas été analysé par le collège. La fonction de ce logiciel est de créer les disquettes et les mots de passe correspondants pour chaque bureau de vote et de totalisation. Seul le résultat de cette préparation a été étudié par le collège.

4.1.5.4. Logiciel de vote

Deux types de matériel différents sont utilisés selon les communes : le système Jites (4 communes) et le système Digivote (15 communes). Dans les deux cas, les votes émis sont conservés en mémoire RAM (volatile) et sur un support non volatile. Dans le cas de Jites, il s’agit d’une EEPROM, dans celui de Digivote, de la disquette de programme.

Les trois disquettes du bureau de vote (1 master - disquette maîtresse -, 2 backups) sont placées dans une enveloppe scellée. Le mot de passe du bureau de vote est placé dans une autre enveloppe scellée. Les deux enveloppes sont remises au président dans les jours qui précèdent l’élection.

La disquette des programmes est signée à l’aide d’un mot de passe unique et spécifique au bureau de vote. La machine du président et les machines à voter ne peuvent être démarrées qu’avec ce mot de passe.

Pour renforcer la sécurité, il serait opportun de séparer le mot de passe des disquettes jusqu’au moment du démarrage des bureaux de vote.

4.1.5.4.1. Démarrage de la machine du président

Après démarrage du PC, le programme vérifie, à partir du contenu des fichiers de la disquette et/ou de l’EEPROM, que l’urne n’a pas encore été utilisée. Si l’urne n’a pas encore été utilisée, le système démarre normalement. Si l’urne est clôturée, le système le signale et ne démarre pas. Si l’urne a été utilisée mais n’a pas encore été clôturée (cas de coupure de courant par exemple) et que des votes se trouvent déjà dans le fichier urne, le système vérifie que l’urne correspond bien au bureau de vote et à l’élection en cours. Si c’est le cas, le système demande s’il faut conserver les votes enregistrés (dans l’urne) ou s’il faut la réinitialiser. Dans le premier cas, les fichiers présents sur disquette ou dans l’EEPROM sont récupérés et replacés en RAM. Dans le second, les fichiers urne en RAM et sur la disquette (Digivote) ou sur l’EEPROM (Jites) sont initialisés.

Les opérations de vote peuvent commencer : la valideuse de carte est prête pour initialiser les cartes et l’urne est prête à recevoir les votes émis.

4.1.5.4.2. Initialisation des cartes à voter

La lecture des codes sources permet de constater les éléments suivants :

Les cartes à voter doivent être initialisées pour être utilisables dans les machines à voter. Un jeton spécifique au bureau de vote est écrit sur la carte introduite dans la valideuse. Si au moment de son introduction dans la valideuse, la carte n’est pas vierge, la valideuse la rejette et émet un signal sonore (sauf si les données correspondent à une ancienne élection - auquel cas elle est initialisée).

4.1.5.4.3. Logiciel des machines à voter

La lecture des codes sources permet de constater les éléments suivants :

  • La machine à voter ne peut être démarrée qu’à l’aide du mot de passe du président du bureau de vote.
  • Seules les cartes magnétiques initialisées sur le PC du président peuvent être utilisées sur les machines à voter d’un bureau de vote.
  • Après avoir voté, l’électeur peut vérifier son vote en réintroduisant sa carte dans n’importe quelle machine à voter du bureau de vote. Il ne peut plus modifier le vote. Cette vérification ne laisse aucune trace sur la carte. Elle peut être donc répétée autant de fois que souhaité.
  • Le vote est supprimé de la mémoire de la machine à voter (remis à zéro) après l’éjection de la carte magnétique. Seule la carte magnétique contient le vote après que la carte ait été retirée de la machine à voter et avant son introduction dans l’urne.
  • La carte magnétique contient un CRC (code de contrôle) en plus du vote émis pour permettre à l’urne de vérifier la validité de la piste magnétique. Le vote n’est pas encrypté par manque de place sur la piste.

4.1.5.4.4. Introduction d’une carte à voter dans l’urne

Lorsqu’une carte à voter est introduite dans l’urne, les contrôles suivants sont effectués par le logiciel de l’urne :

  • la carte doit avoir été initialisée sur le PC du président du bureau de vote ;
  • le CRC de la carte est recalculé et doit être égal à celui calculé par la machine à voter ;
  • le vote doit être soit non émis (carte non introduite dans une machine à voter), soit blanc, soit correspondre aux listes et candidats valables pour le bureau de vote.

Si ces conditions sont remplies, le vote émis sur la carte est enregistré dans un fichier en RAM et sur la disquette (Digivote ou Jites en mode dégradé) ou sur l’EEPROM (Jites). La position d’enregistrement du vote est aléatoire et non reproductible : elle dépend du moment du démarrage de l’urne et du moment de l’introduction dans l’urne de tous les votes précédents. Le vote est crypté par une combinaison de trois clés indépendantes avant son sauvetage.

Différents contrôles sont effectués à chaque enregistrement d’un vote par l’urne :

  • Plusieurs compteurs sont triplés en mémoire et sont systématiquement comparés.
  • Une comparaison entre le contenu des votes en mémoire et sur l’EEPROM (Jites) ou la disquette (Digivote) est effectuée. En cas de discordance, le contenu de la mémoire prévaut.

Si un des problèmes énoncés ci-dessus se produit ou si un problème d’enregistrement des votes survient, l’urne passe dans un mode dit « dégradé » : elle continue à vérifier et à accepter les votes valables mais ne mémorise plus les votes (sauf le cas des systèmes Jites). Les votes devront alors être réintroduits dans une nouvelle urne après la fermeture du bureau de vote.

Il a été constaté que la durée d’introduction d’une carte dans les urnes Digivote peut atteindre 8 secondes, ce qui devrait être amélioré.

En cas de discordance entre la version des votes RAM et sur l’EEPROM ou sur la disquette, le programme considère le fichier en RAM comme correct. Il remplace alors le fichier sur la disquette par celui en RAM. Nous estimons que cette manière de procéder est téméraire car il n’y a aucune garantie que l’erreur ne se situe pas en mémoire. Le passage en mode dégradé nous semble dans ce cas plus adéquat.

4.1.5.4.5. Clôture de l’urne et des opérations de vote

Lorsque les opérations de votes sont terminées et toutes les cartes introduites dans l’urne, il est procédé à la clôture de l’urne. Le même mot de passe que celui utilisé à l’initialisation du bureau de vote doit être introduit pour pouvoir commencer la clôture.

Les fichiers contenant tous les votes cryptés en mémoire et sur l’EEPROM (Jites) ou sur la disquette (Digivote) sont alors comparés. En cas de différence, le système ne clôture pas, affiche un message et se met en boucle.

Si les deux fichiers sont identiques, la totalisation est effectuée dans un fichier en RAM. Ce fichier de résultat et le fichier des votes sont alors cryptés par l’algorithme Rijndael et copiés sur la disquette. La disquette est alors signée de façon digitale. Le programme demande d’introduire la deuxième puis la troisième disquette sur lesquelles sont également écrits les fichiers de votes et de résultats cryptés. Ces disquettes sont également signées.

Le fichier d’origine contenant les votes cryptés est détruit logiquement mais pas physiquement. Il est donc possible de récupérer ce fichier d’origine au moyen d’un logiciel adapté (undelete).

De manière générale, il est recommandé de procéder à la destruction physique des fichiers effacés.

4.1.5.5. Logiciel de totalisation

Le code source a été survolé et il n’y a pas de remarques particulières.

Le collège a préféré effectuer une totalisation parallèle à celle des communes. Cette retotalisation a été effectuée à l’aide d’un programme développé par le collège.

4.1.5.6. Sécurité : Considérations liées au code des logiciels

L’outil principal sur lequel se base toute la sécurité des logiciels est l’algorithme Rijndael, que ce soit pour les opérations de chiffrement ou pour la réalisation de fonctions de hachage paramétrées par des clés (Message Authentication Code). Si une certaines modularité apparaît dans la manière dont le code a été écrit, il serait utile de s’assurer que, en cas de nécessité, l’algorithme Rijndael puisse être remplacé le plus facilement possible par un autre algorithme.

Les logiciels devraient être écrits de manière à permettre le remplacement des algorithmes de chiffrement et de hachage le plus aisément et le plus rapidement possible. Il devrait aussi être possible de pouvoir aisément mettre en place des algorithmes distincts pour chiffrer ou pour « authentifier » les messages (dans la version actuelle des logiciels, ces deux opérations dépendent finalement du même algorithme Rijndael).

Un code correcteur d’erreur est utilisé sur les cartes magnétiques afin de garantir l’intégrité des votes qui y sont inscrits. Pour ce faire, la fonction « clacul_crc » réalise le calcul d’un MAC (message authentication code), qui est une opération cryptographiquement robuste. Cette valeur est par la suite réduite à deux octets par la réalisation itérative d’un « ou exclusif » sur les différents octets du MAC initialement calculé. Les deux octets ainsi obtenus ne présentent plus la même robustesse que le MAC original, le risque de collisions (à savoir que deux votes distincts produisent les mêmes deux octets) y est sensiblement plus important. Une telle procédure semble être rendue nécessaire par le peu d’espace disponible sur les cartes magnétiques.

Différentes opérations cryptographiques réalisées par les logiciels nécessitent des nombres aléatoires. Le niveau de sécurité offert pas ces opérations cryptographiques dépend aussi de la qualité des nombres aléatoires produits (l’usage d’une séquence de nombres qui serait prédictible ou dont la taille de la séquence serait trop courte induirait un risque sécuritaire). Le logiciel de préparation des disquettes de bureaux de vote crée et utilise de tels nombres aléatoires afin de produire des clés de chiffrement, les clés pour les MAC ainsi que les valeurs initiales (IV, « initial value ») utilisées. La sécurité des primitives cryptographiques sous-jacentes (chiffrement et MAC) dépend donc directement de la qualité des valeurs aléatoires utilisées pour créer ces clés. Au sein des logiciels des élections, les nombres (pseudo-)aléatoire sont générés par une fonction du langage « SQLWindows » nommée « SalNumberRandom ».

Une analyse quant à la manière de générer les nombres aléatoires nécessaires à la création des clés cryptographiques et des valeurs initiales devrait être réalisée.

Lors de l’introduction dans l’urne d’une carte magnétique contenant le vote d’un électeur, le vote est écrit sur disquette et en mémoire (ramdrive) dans le fichier FE_DSK.

Le vote y est chiffré au moyen de la fonction « encrypt_decrypt » du fichier « VARIABLE.C ». Cette procédure de chiffrement consiste en la réalisation d’un « ou » exclusif entre le vote et une clé composée à partir du mot de passe du président, des quatre caractères propres à l’élection et de la position à laquelle le vote est inséré dans la mémoire. A la clôture du bureau, le fichier FE_DSK est chiffré au moyen de l’algorithme de chiffrement Rijndael ; la version du fichier avant son chiffrement est effacée.

Le chiffrement utilisé pour chiffrer les votes individuels sur FE_DSK peut ne pas être robuste (il nous semble inspiré du schéma de Vernam mais sans garantie quant à la qualité du caractère aléatoire de la clé utilisée). Il est recommandé de s’assurer de la robustesse de la méthode de chiffrement des votes individuels. Il est aussi nécessaire, afin d’éviter de pouvoir construire un « faux » fichier FE_DSK de ne pas concentrer dans les mains des présidents de bureaux de vote, trop longtemps avant le jour des élections, à la fois son mot de passe et les logiciels des élections. Pour ce faire, le mot de passe ne devrait pas être fourni aux présidents de bureaux de vote en même temps que les disquettes contenant les logiciels des élections.

4.1.5.7. Qualité du code source

Le software qui est utilisé est un mélange entre autres de C et de C++ et ce code ne répond pas toujours de manière stricte aux standards de ce langage. Ceci empêche l’utilisation de la plupart des outils d’analyse automatique de code source. L’analyse du code a pu être effectuée à l’aide du programme « flawfinder » qui permet de révéler d’éventuels problèmes de sécurité. Le résultat de cette analyse montre qu’il existe à de nombreux endroits des risques potentiels de sécurité liés aux « buffer overflows ». Vu le type de logiciel et de système, à savoir un système monotâche avec des inputs parfaitement connus et limités, cela ne constitue pas un problème réel.

De façon générale le code est de pauvre qualité en ce
qui concerne la lisibilité et la facilité de maintenance. Une
liste non exhaustive des faiblesses suit :

  • Il est fait usage abusif des variables globales comme paramètres de fonctions.
  • Le code contient trop peu de commentaires, et quand il y en a, ils n’apportent généralement pas d’information ou sont obsolètes.
  • Il est fait usage de copy-paste de fonctions à travers différents fichiers avec adaptation des paramètres.
  • Le logiciel d’urne à des paramètres de démarrage qui sont sans objet.
  • A la lecture des différents programmes, il apparaît que des fichiers de codes portant un même nom apparaissent à plusieurs endroits alors que ces fichiers ont en fait des contenus qui peuvent différer. Par exemple, on retrouve un fichier nommé « API-FST.C », entre autres, dans le logiciel der urnes et dans le logiciel des machines à voter ; des différences apparaissent dans le contenu de ces fichiers alors qu’ils indiquent touts la même mention « version 2.91 (septembre 2001) ». De la même manière, on note des différences parfois importantes entre deus occurrences d’un fichier de code nommé « RIJN2.C » ainsi qu’entre différentes occurrences d’un fichier de code nommé « FLOPPY.C ».

De façon générale le code est difficilement compréhensible, ce qui a compliqué considérablement le travail du collège concernant l’étude du code.

Des règles méthodologiques et de bonnes pratiques pour l’écriture et la conception du code des logiciels devraient être imposées.

4.1.6. Simulation des deux types de bureaux de vote

Le 28 septembre 2006, deux bureaux type ont été installés pour permettre aux experts de tester en conditions réelles la version définitive du logiciel. Le MRBC a généré à cette fin le jeu de disquettes pour le bureau 2 de Koekelberg. Il va de soi que le MRBC a généré une version neuve de ce bureau après les tests.

L’objectif est de s’assurer que :

  • le vote est bien transcrit sur la carte magnétique ;
  • le passage de la carte magnétique dans l’urne ne l’altère pas ;
  • la totalisation de l’urne est correcte ;
  • le logiciel fonctionne de la même manière indépendamment du matériel.

4.1.6.1. Digivote

Un bureau Digivote a d’abord été testé.

La disquette de diagnostic a tout d’abord été étudiée.

Une copie de cette disquette a été prise et comparée avant et après les tests. Trois fichiers ont été écrits sur la disquette avec les résultats des tests effectués. Lors du diagnostic des machines à voter, il a fallu à chaque fois connecter une urne à la machine à voter.

Après le diagnostic, un bureau de vote (une machine du président et une machine à voter) a été démarré. Plusieurs tests ont été effectués et la réaction du PC a été constatée. Le collège a émis une vingtaine de votes. Après clôture de l’urne, les résultats ont été décryptés et ils ont été comparés à ceux d’une totalisation manuelle. Les résultats correspondaient.

4.1.6.2. Jites

Le même jour, un bureau de vote Jites a été démarré avec le même set de disquettes (urne et machine à voter). A nouveau les deux ont réagi conformément aux attentes.

4.1.7. Manuels et formation des présidents des bureaux de vote

Quelques jours seulement avant les élections, le MRBC a fourni aux communes la version définitive et complète du « manuel bureau de vote » destiné aux présidents des bureaux de vote. La formation des présidents de bureaux a quant à elle été assurée par les services des communes dans les semaines précédant les élections, donc avant la parution de la version définitive du manuel officiel.

De façon générale, le manuel, bien que complet, est assez ardu. Il présente également certaines erreurs mineures. La remise tardive du manuel par le MRBC a eu pour conséquence que certaines communes ont fourni leur propre manuel aux présidents des bureaux de vote, manuel qui ne contenait ni les informations de dernière minute, ni certaines informations concernant les procédures de sécurité.

En particulier, le MRBC a ajouté la photo des experts du collège pour des raisons de sécurité. Ce document n’est pas parvenu à tous les présidents de bureau de vote. De même, le manuel indiquait (trop sommairement) le rôle du collège et invitait les présidents à répondre aux demandes des experts du collège. En l’absence de ces information, l’accès ou le contrôle dans certains bureaux a posé problème.

Par ailleurs, il semble que certaines communes avaient décidé d’emblée d’imposer leurs propres instructions aux bureaux de vote et ce en violation des procédures régissant le vote automatisé.

Un plus grand soin devrait être apporté à la rédaction du manuel des présidents de bureau de vote. Celui-ci devrait être terminé au moins deux mois avant les élections de façon à ce que tous les présidents disposent des même informations.

De plus, les communes doivent veiller à respecter et à faire respecter les procédures officielles.

4.1.8. Diagnostic et installation du matériel dans les communes

La veille de l’élection, le collège a assisté à l’installation et aux tests de bon fonctionnement de quelques bureaux de vote : Bruxelles, bureaux 14, 15, 16, 17 et 23, Ixelles, bureaux 13, 20 à 24 et 48, Woluwe-Saint-Pierre bureau 19 et Schaerbeek, bureaux 10 et 13.

Des copies des disquettes de diagnostic ont été prises à des fins de contrôle. La comparaison entre les disquettes de diagnostic et le programme analysé et recompilé de façon indépendante (voir § 4.1.3.2.) par le collège montre qu’il s’agit du même code.

Il convient de rappeler que la sécurité physique des machines revêt une importance réelle pour garantir le bon fonctionnement des opérations le jour des élections. Les constatations du collège dans certaines communes montrent que cet aspect est négligé et devrait être amélioré.

4.2. Constatations le jour des élections

4.2.1. Contrôles dans les bureaux de vote

Des contrôles ont été effectués dans les dix-neuf communes de la Région. Dans chaque bureau contrôlé, une copie de la disquette en cours d’utilisation a été prise. Ces copies ont été emportées pour être analysées. Il s’est avéré que les programmes exécutés le jour des élections étaient identiques à ceux générés lors de la compilation de référence (voir § 4.1.3.3.) et dont le code source avait été analysé par le collège des experts.

Dans tous les bureaux contrôlés, les experts ont également émis un vote de référence en présence d’un assesseur et vérifié son contenu sur une autre machine à voter. Dans tous les cas, les votes de référence se sont avérés corrects.

Liste des bureaux contrôlés

Commune Bureau Nombre de votes Système
Anderlecht 23 1 OK Digivote
28 1 OK Digivote
57 1 OK Digivote
Oudergem/Auderghem 11 1 OK Digivote
13 2 OK Digivote
18 1 OK Digivote
20 2 OK Digivote
Sint-Agatha-Berchem/Berchem-Ste-Agathe 2 2 OK Digivote
3 2 OK Digivote
9 2 OK Digivote
11 1 OK Digivote
Brussel/Bruxelles 21 1 OK Digivote
22 1 OK Digivote
23 2 OK Digivote
Etterbeek 13 1 OK Jites
14 1 OK Jites
15 1 OK Jites
16 2 OK Jites
26 1 OK Jites
27 1 OK Jites
Evere 2 1 OK Digivote
5 2 OK Digivote
10 1 OK Digivote
11 1 OK Digivote
12 1 OK Digivote
13 1 OK Digivote
Vorst/Forest 4 2 OK Digivote
5 2 OK Digivote
Ganshoren 10 1 OK Digivote
15 1 OK Digivote
Elsene/Ixelles 1 1 OK Digivote
12 1 OK Digivote
Jette 18 2 OK Digivote
19 2 OK Digivote
20 2 OK Digivote
21 2 OK Digivote
22 2 OK Digivote
23 2 OK Digivote
Koekelberg 1 1 OK Digivote
2 2 OK Digivote
6 2 OK Digivote
7 2 OK Digivote
Molenbeek 26 1 OK Digivote
32 1 OK Digivote
48 1 OK Digivote
Schaarbeek/Schaerbeek 8 2 OK Digivote
9 2 OK Digivote
St-Gillis/St-Gilles 2 1 OK Digivote
3 1 OK Digivote
4 1 OK Digivote
5 1 OK Digivote
6 1 OK Digivote
19 1 OK Digivote
Sint-Joost-ten-Node/Saint-Josse-ten-Noode 9 1 OK Jites
10 1 OK Jites
Ukkel/Uccle 17 3 OK Digivote
18 2 OK Digivote
Watermaal-Bosvoorde/Watermael-Boitsfort 1 1 OK Digivote
3 1 OK Digivote
23 1 OK Digivote
24 1 OK Digivote
Sint-Lambrechts-Woluwe/Woluwe-Saint-Lambert 8 2 OK Jites
9 2 OK Jites
10 2 OK Jites
Sint-Pieters-Woluwe/Woluwe-Saint-Pierre 8 2 OK Jites
9 2 OK Jites
22 2 OK Jites
25 2 OK Jites

Cela fait au total 68 bureaux et 99 votes de référence.

4.2.2. Contrôles dans les bureaux de totalisation

Les membres du collège se sont rendus dans les bureaux
suivants le soir des élections :

  • Woluwe-Saint-Pierre
  • Auderghem
  • Schaerbeek
  • Saint-Josse-tenNoode
  • Anderlecht
    Les experts ont pris copie des disquettes de ces bureaux pour analyse ultérieure.
    A Schaerbeek, les experts ont assisté au recomptage d’une urne.
    Aucun incident particulier n’a été constaté.

4.2.3. Organisation des bureaux de vote et instruction aux président de ces bureaux . Constatations dans les bureaux de vote

Le jour des élections, les experts ont constaté que dans l’ensemble, l’organisation des bureaux était bonne. Certains bureaux moins bien organisés ont démarré avec du retard.

D’autres retards plus importants (de 1h30 à 2h00) sont à imputer à la lenteur de l’intervention des techniciens du helpdesk suite à des pannes matérielles.

Il est également apparu que certains président et responsables des communes semblaient mal informés sur les procédures :

  • Lors de l’ouverture de certains bureaux de vote, il a été constaté que les directives de sécurité n’étaient pas respectées : des machines à voter et des machines de présidents ont été démarrées par le président seul, avant la constitution du bureau. Ceci est en contradiction avec les règles de sécurité pourtant clairement édictées dans le manuel : rien ne permet d’assurer que les enveloppes scellées n’ont pas été ouvertes par le président avant le jour de l’élection. De plus, malgré les instructions explicites dans la dernière version du manuel du MRBC, plusieurs présidents de bureaux de vote ont encore émis systématiquement des votes blancs comme votes de référence. Cette façon de procéder enlève toute utilité à ces votes de référence en cas de suspicion de fraude pendant le scrutin.
  • Les présidents des bureaux de vote et les responsables communaux étaient très mal informés sur le rôle et l’objectif des contrôles effectués par les experts. Ceci est en grande partie dû à l’absence et/ou au retard de diffusion de la dernière version du manuel du MRBC. Par ailleurs, il n’y a toujours pas dans le PV d’emplacement permettant de noter le passage d’un expert et ses opérations de contrôle (votes de référence, cartes emportées, copies de disquettes) ; ceci malgré les demandes répétées du collège depuis les élections de 1999 (année du premier contrôle du vote automatisé).
  • La récolte des disquettes de tous les bureaux de vote a permis de constater également que tous les présidents n’avaient pas compris la procédure de clôture : plusieurs disquettes n’ont pas été correctement clôturées.

Une check-list simplifiée pourrait améliorer le suivi des procédure.

4.3. Contrôles effectués après le jour des élections

4.3.1. Vérification des votes de référence

Le 9 octobre 2006, les experts ont revisualisé les votes de référence récoltés dans les bureaux de vote contrôlés le 8 octobre. Les 99 votes de référence se sont révélés corrects.

4.3.2. Vérification des totalisations

Dès l’ouverture des bureaux de totalisations le soir des élections, ainsi que dans les jours qui ont suivi le scrutin, les experts se sont rendus dans toutes les communes de la Région bruxelloise afin de prendre une copie des disquettes en provenance de tous les bureaux de vote et ayant servi à la totalisation. Le collège a également reçu une copie des PV de totalisation ainsi qu’une copie du fichier informatique contenant les résultats.

Au moyen de son propre logiciel, le collège a totalisé tous les résultats des disquettes et les a comparés aux résultats officiels.

Le collège a ainsi pu constater que pour toutes les communes, pour toutes les listes et pour tous les candidats, il arrive, avec un logiciel différent, aux mêmes résultats que le logiciel de totalisation utilisé le soir des élections.

Le collège en déduit que le logiciel de totalisation utilisé le soir des élections n’a commis aucune erreur en totalisant les différentes disquettes en provenance des différents bureaux de vote.

4.3.3. Vérification des exécutables présents sur les disquettes

4.3.3.1. Disquettes copiées dans les bureaux de vote le jour des élections

A titre de coup de sonde, les experts ont pris copie des disquettes master et/ou backup dans les bureaux de vote contrôlés le jour des élections (voir § 4.2.1.). Les fichiers exécutables et le système d’exploitation ont été comparés avec ceux de référence (voir § 4.1.3.3.). Tous les fichiers se sont révélés identiques.

Commune Bureaux de vote
Anderlecht 23, 28, 57
Auderghem 11, 13, 18, 20
Berchem-Sainte-Agathe 2, 3, 9, 11
Bruxelles 21, 22, 23
Etterbeek 13, 14, 15, 16, 26, 27
Evere 2, 5, 10, 11, 12, 13
Forest 4, 5
Ganshoren 10, 15
Ixelles 1, 12
Jette 18, 19, 20, 21, 22, 23
Koekelberg 1, 2, 6, 7
Molenbeek 26, 32, 48
Schaerbeek 8, 9
Saint-Gilles 2, 3, 4, 5, 6, 19
Saint-Josse-ten-Noode 9, 10
Uccle 17, 18
Watermael-Boitsfort 1, 3, 23, 24
Woluwe-Saint-Lambert 8, 9, 10
Woluwe-Saint-Pierre 8, 9, 22, 25

4.3.3.2. Disquettes copiées pour la totalisation après les Élections

Une copie de toutes les disquettes ayant servi à la totalisation a été prise dans les bureaux principaux. Les programmes exécutables se trouvant sur ces disquettes se sont avérés identiques à ceux de l’environnement de référence du collège.

Commune Nombre de bureaux de vote
Woluwe-Saint-Lambert 33
Uccle 51
Jette 29
Evere 26
Bruxelles 95
Molenbeek 51
Forest 40
Etterbeek 29
Anderlecht 61
Schaerbeek 70
Woluwe-Saint-Pierre 26
Watermael-Boitsfort 24
Ixelles 52
Saint-Josse-ten-Noode 12
Saint-Gilles 26
Koekelberg 12
Ganshoren 15
Berchem-Sainte-Agathe 16
Auderghem 26

4.4. Diffusion du code source

Le collège constate et regrette qu’au moment de la remise de son rapport, le code source des logiciels utilisés pour ces élections n’ait pas encore été diffusé. Les réticences émises par les responsables de l’organisation des élections pour ne pas diffuser le code source font état de possibles recours introduits et donc d’un risque de devoir procéder à un nouveau scrutin dans certaines communes.

Le collège estime que ces réticences ne se justifient nullement sur le plan technique et est d’avis que les codes sources pourraient être publiés dès à présent, moyennant la suppression d’un code de 4 caractères unique à l’élection et intervenant dans les clés de chiffrement. Le collège est par ailleurs d’avis que la longueur actuelle de ce code (4 caractères) devrait être accrue pour renforcer la sécurité.

Le collège s’engage, dès la publication du code source, à remettre un avenant au présent rapport, reprenant les résultats de l’analyse de la conformité du code source publié avec celui utilisé lors de la compilation de référence (voir § 4.1.3.).

5. Comparaison avec la procédure de vote automatisé dans d’autres pays

5.1. Etats-Unis

Aux Etats-Unis, depuis un certain temps déjà, un débat est en cours au sujet de la fiabilité des machines à voter électroniques utilisées. Nous rapportons ici un certain nombre de constatations concernant la sécurité informatique publiées par les experts de l’université de Princeton : Ariel J. Feldman, J. Alex Halderman et Edward W. Felten, sous le titre « Security Analysis of the Diebold AccuVote-TS Voting Machine » en date du 13 septembre 2006.

5.1.1. Le matériel

La machine à voter qui est l’objet du débat est l’appareil AccuVote-TS qui est utilisée par 10 % des électeurs aux Etats-Unis. Cette machine est du type Recording Electronic direct (DRE). Les votes émis sont, contrairement à ce qui se fait en Belgique., enregistrés sous forme cryptée dans la mémoire de la machine à voter elle-même. Cette mémoire conserve également les données aussi bien dans le cas où la machine est éteinte que dans le cas d’une coupure de courant.

L’électeur, comme en Belgique, reçoit une carte à voter, mais celle-ci sert uniquement à autoriser l’émission d’un vote par l’électeur. Le vote n’est pas enregistré sur la carte utilisée par l’électeur, mais est stocké dans la mémoire de la machine. Lors de la clôture du bureau de vote, chaque machine à voter délivre, via une imprimante incorporée, un formulaire papier qui rend compte de ses résultats. En outre, chaque machine est dotée d’une carte mémoire détachable qui contient aussi une copie des votes émis sous forme cryptée. Cette carte est protégée contre le retrait par des personnes non autorisées au moyen d’une serrure.

Dans cette discussion, le point important concerne la manière dont le logiciel est mis à jour sur la machine. La mémoire interne de l’appareil à voter contient en effet, en plus des votes émis, le logiciel de vote lui-même. Pour installer une nouvelle version du logiciel, celle-ci est copiée sur la carte mémoire détachable, qui est insérée dans la machine, et la machine redémarre. Lors du démarrage de la machine, celle-ci vérifie si un logiciel est présent sur la carte détachable, et, si c’est le cas, ce dernier est installé, l’ancien logiciel étant écrasé.

5.1.2 L’attaque

Les chercheurs mentionnés précédemment ont réussi à écrire un nouveau logiciel frauduleux pour la machine à voter et à l’installer sur celle-ci. Ce logiciel se comporte, du point de vue de l’électeur et des membres du bureau de vote et de totalisation, exactement comme le vrai logiciel.

La différence est toutefois que ce logiciel, pendant les opérations de vote, vole les voix d’un partie ou candidat au profit d’un autre parti ou candidat. Ceci est rendu possible, du fait que tous les votes déjà émis sont enregistrés dans la mémoire de la machine. Le fait que les résultats soient sauvegardés de manière cryptée tant dans la mémoire de la machine que sur la carte de mémoire détachable ne présente pas de problème digne d’être mentionné selon les chercheurs. Lorsque l’élection est clôturée, la liste imprimée et la carte de mémoire contiendront des données trafiquées. En outre, après la fin des élections, il est impossible de constater qu’un logiciel frauduleux a été utilisé.

Lors de la clôture du bureau de vote, le logiciel frauduleux efface toute preuve de son passage et il n’est donc plus possible d’en retrouver la trace.

Le point crucial de l’attaque, une fois le logiciel frauduleux écrit, réside dans l’installation de ce logiciel sur les machines de vote. Il semble que la possibilité de mettre à jour le logiciel peut être facilement utilisée de manière détournée pour ce faire. La carte mémoire détachable utilisée par la machine de vote est un composant d’ordinateur standard qui peut être obtenu librement dans le commerce.

Le logiciel peut donc être installé sur cette carte, comme si c’était une mise à jour du logiciel. Si cette carte est échangée avec la carte présente dans la machine, et si celle-ci est redémarrée, le logiciel frauduleux s’installera de lui-même.

Pour passer inaperçu, il y a deux obstacles à franchir : en premier lieu, la carte de mémoire présente dans la machine est protégée par une serrure, et en second lieu, la machine émet un bip très sonore quand elle redémarre. Le premier obstacle est facile à contourner : il apparaît que les clés utilisées dans les machines de vote sont très communes (elles sont utilisées entre autres pour les mini bars dans des hôtels), qu’elles sont disponibles dans le commerce et en plus faciles à copier. Et encore, même sans clé, les serrures sont faciles à ouvrir, rapportent les chercheurs. Le deuxième obstacle, le bip sonore, est encore plus facile à contourner : le raccordement d’un écouteur sur la sortie casque de la machine de voix désactive le haut-parleur, comme c’est le cas pour tout ordinateur portable moderne.

Dès lors, une fois le logiciel installé, la carte d’origine « X » peut être remplacée par la carte originale, et la carte détachable d’origine « X » peut servir à attaquer une autre machine.

L’opération de remplacement du logiciel par le logiciel frauduleux demande, selon les chercheurs, moins d’une minute, et peut être effectuée par quiconque a accès aux ordinateurs. En d’autres termes, ceci peut donc même s’exécuter le jour des élections, et ceci entièrement de manière inaperçue.

Selon les chercheurs, le problème fondamental sous-jacent qui rend cette attaque possible, est la technique DRE, et cette attaque peut être reproduite facilement avec d’autres machines utilisant cette même technique. Cette affirmation est confirmée par les événements récents qui se sont déroulés aux Pays-Bas et sur lesquels nous revenons plus en détail dans la suite du rapport. Les chercheurs argumentent ensuite que la meilleure solution pour éviter ce type d’attaque est ce qu’on peut appeler un « Voter-Verifiable Paper Trail (VVPAT) » en combinaison avec des audits aléatoires. Dans le cas du « VVPAT », un journal papier est fabriqué, dans lequel l’électeur peut visualiser son vote. Ceci peut se réaliser par exemple, en imprimant son vote également sur la carte magnétique qu’il utilise.

Les audits aléatoires sont alors effectués par un organisme indépendant, où les résultats électroniques sont comparés avec les papiers résultats.

Une information plus détaillée, incluant une vidéo qui montre la procédure dans sa totalité est consultable sur le site Internet de l’université de Princeton, « center for Information Technology Policy », à l’adresse http://itpolicy.princeton.edu/voting.

5.1.3 La comparaison avec le système belge

L’attaque de la machine à voter décrite ci dessus est basée sur le fait que les votes émis sont enregistrés dans la mémoire de la machine de vote. Dans le système belge, ce n’est pas le cas : les votes y sont enregistrés sur l’ordinateur du président ou dans l’urne, selon le système utilisé (le terme « urne » est par la suite utilisé pour les 2 systèmes).

Pour lancer une attaque analogue, c’est donc cette urne qui doit être la cible.

La question est donc à reformuler comme suit : comment peut-on remplacer le logiciel d’urne par un logiciel frauduleux ? Qu’un électeur puisse le faire sans que cela soit détecté est clairement exclu, étant donné que le redémarrage d’une urne ne peut pas passer inaperçu.

L’alternative consiste à démarrer l’urne avec le logiciel frauduleux. La procédure pour le démarrage d’un bureau de vote, si elle est suivie correctement., rend toutefois ceci très difficile. La procédure à laquelle s’ajoutent les contrôles du logiciel utilisé dans l’urne, contrôles réalisés par le collège des experts dans des bureaux choisis au hasard, rend extrêmement improbable la réalisation dissimulée de cette forme de fraude.

5.2. Pays-Bas

Le 4 octobre une discussion similaire à celle ayant eu lieu aux Etats-Unis a surgi au sujet des machines à voter qui sont utilisées pour émettre 90 % des voix. Un groupe indépendant d’experts, la fondation « wij vertrouwen stemcomputers niet » (littéralement « nous n’avons pas confiance dans les ordinateurs à voter » . à partir de maintenant nous parlerons de « de stichting ») a procédé à une analyse de cet ordinateur. « De stichting » qui possède un de ces ordinateurs a réussi à reprogrammer celui-ci de telle façon qu’il fraude au niveau des voix, d’une façon similaire au vol de voix programmé par les chercheurs de Princeton.

5.2.1. Le matériel

La machine en question est un Nedap ES3B et est utilisée dans la majorité des communes néerlandaises. Cette machine fonctionne de façon assez analogue à la machine Diebold décrite ci-dessus. Le total des voix émises est sauvegardé sur un module de mémoire détachable qui est protégé tout comme aux Etats-Unis avec une clé. Une première différence est que lors de la fermeture du bureau de vote, ce module est retiré, et est relu sur une machine séparée pour la totalisation. Une deuxième différence avec le système aux Etats-Unis est que le module de mémoire ne contient pas le logiciel. Dans le cas de Pays-Bas le logiciel est stocké sur deux puces qui se trouvent dans la machine.

5.2.2. L’attaque

Le première partie de l’attaque se concentre sur l’utilisation des clés. La loi néerlandaise exige entre autres la présence d’une clé dans la machine à voter afin de pouvoir voter, mais n’a pas d’exigences concernant la qualité de la serrure. « De stichting » affirme que toutes les machines à voter aux Pays-Bas peuvent être desservies avec une même clé, et en outre que cette clé se trouve facilement dans le commerce et ne coûte que 1 EUR. Ce qui leur fait conclure que cette protection est sans valeur, ce qui mène à une situation analogue à celle aux Etats-Unis.

La deuxième partie de l’attaque consiste à remplacer le logiciel de machine à voter par un logiciel frauduleux. Bien que le logiciel soit stocké à l’intérieur de l’ordinateur, il apparaît qu’il est très simple de remplacer ces deux puces par d’autres sur lequel se trouve le logiciel frauduleux. Ces puces sont des parties standard d’ordinateur et se trouvent librement dans le commerce. Selon « de stichting » cette opération ne demande qu’un tournevis et prend moins de 5 minutes. « De stichting » a elle-même écrit un logiciel frauduleux afin de prouver qu’il est possible de frauder. Ce logiciel est appelé Nedap PowerFraud. Tout comme le logiciel écrit par les chercheurs aux Etats-Unis, ce logiciel vole des voix de façon imperceptible.

L’unique façon de découvrir qu’il a été fraudé lors de l’élection est démonter ces machines après les élections et d’analyser les puces contentant les logiciels. Si celles-ci contiennent un autre logiciel que le logiciel officiel, il y a indication de fraude.

Des informations plus détaillées, avec des liens vers des reportages télévisuels en rapport avec ce sujet se trouvent sur le site web de « De stichting » : http://www.wijvertrouwenstemcomputersniet.nl.

5.2.3. La comparaison avec le système belge

Étant donné que l’attaque est analogue à l’attaque sur les
machines à voter des Etats-Unis, la comparaison avec le
système belge est également analogue. Le logiciel de l’urne
doit être remplacé par un logiciel frauduleux. Les contrôles
effectués par le collège ainsi que les procédures . si elles
sont suivies correctement . rendent l’éventualité d’une
fraude peu probable.

6. Recommandations

6.1. Rôle du MRBC dans l’organisation

Les autorités en charge des élections devraient faire procéder à un audit sur la qualité et la pertinence du code source des logiciels des élections. Pour ce faire, le code définitif des logiciels devrait être finalisé plusieurs mois avant le jour des élections.

Les autorités devraient également faire procéder à un audit de toutes les procédures intervenant dans la préparation des élections et dans les opérations de vote et de totalisation. Une analyse quant à la manière de générer les nombres aléatoires nécessaires à la création des clés cryptographiques et des valeurs initiales devrait être réalisée.

Un plus grand soin devrait être apporté à la rédaction du manuel des présidents de bureau de vote. Celui-ci devrait être terminé au moins deux mois avant les élections de façon à ce que tous les présidents disposent des mêmes informations.

De plus, les communes doivent veiller à respecter et à faire respecter les procédures officielles.

6.2. Sécurité globale

Les quatre caractères associés univoquement à une élection ne devraient pas faire partie tels quels des sources des logiciels des élections.

Une politique de sécurité décrivant, entre autres, l’ensemble des mesures mises en place pour protéger les logiciels et les supports utilisés contre des programmes malveillants devrait être rédigée. Une telle politique de sécurité détaillerait aussi les règles imposées quant à la conception des logiciels, la transmission des logiciels, la transmission des données, la compilation des logiciels, la création des disquettes et la transmission de ces disquettes.

Lors de la mise sous enveloppe des disquettes (à destination finale des présidents de bureaux de vote), ces enveloppes devraient être scellées d’une manière sécurisée (un sceau brisé ne pouvant être reconstitué, remplacé ou falsifié aisément). Les procédures devraient prévoir que tous les membres d’un bureau de vote vérifient et attestent, au moyen d’un document à signer, que l’enveloppe contenant les disquettes reçue par le président du bureau est bien toujours scellée à la constitution du bureau de vote.

Pour renforcer la sécurité, il serait opportun de séparer le mot de passe des disquettes jusqu’au moment du démarrage des bureaux de vote.

6.3. Sécurité dans les bureau de vote

En dehors des ordinateurs nécessaires aux procédures de votes, l’introduction dans un bureau de vote d’un ordinateur tiers devrait être interdite (à l’exception des ordinateurs qui seraient nécessaires aux techniciens du helpdesk ou de ceux des expertes chargés du contrôle du vote automatisé).

Tout comme les lecteurs de disquettes, les connecteurs, qui se trouvent à l’arrière des différentes machines, devraient être rendus physiquement inaccessibles.

Il convient de rappeler que la sécurité physique des machines revêt une importance réelle pour garantir le bon fonctionnement des opérations le jour des élections. Les constatations du collège dans certaines communes montrent que cet aspect est négligé et devrait être amélioré.

6.4. Fonctionnement des systèmes et codes source

Les sources des logiciels des élections devraient être publiées avant le jour des élections.

Dans une prochaine mouture du vote automatisé, il serait souhaitable de donner plus de garantie à l’électeur quant à la correspondance entre le vote qu’il a émis et le contenu de la carte magnétique. Le support utilisé (carte magnétique ou autre) pour le vote automatisé devrait donc permettre d’enregistrer le vote tant de manière informatique que directement visible pour l’électeur (par exemple impression sous forme de texte sur la carte).

Il a été constaté que la durée d’introduction d’une carte dans les urnes Digivote peut atteindre 8 secondes, ce qui devrait être amélioré.

Il est aussi nécessaire de ne pas concentrer dans les mains des présidents de bureaux de vote, trop longtemps avant les élections, à la fois leur mot de passe et les logiciels des élections.

Par ailleurs, quant à l’écriture des programmes, le collège suggère :

  • De manière générale, de procéder à la destruction physique des fichiers effacés : toutes les informations doivent être effectivement écrasées.
  • De s’assurer de la robustesse de la méthode de chiffrement des votes individuels.
  • D’imposer des règles méthodologiques et de bonnes pratiques pour l’écriture et la conception du code des logiciels.

7. Conclusions

Dans les limites de la mission, des moyens et du temps disponibles, le collège conclut ce qui suit.

Sur la base de la vérification des logiciels limitée par le temps, des tests et simulations effectuées, des tests par échantillonnage et des contrôles effectués après le vote, le collègue n’a pas constaté de dysfonctionnement au niveau technique dans les systèmes de vote, d’erreurs ou de tentatives de fraude susceptibles d’entraver l’utilisation et le bon fonctionnement des systèmes de votes lors des élections du 8 octobre 2006.

La totalisation indépendante à laquelle le collège s’est livrée permet par ailleurs d’affirmer que la totalisation à partir des disquettes en provenance des bureaux de vote n’a engendré aucune erreur.

L’objectif visé, à savoir émettre les votes, les enregistrer et les compter selon les dispositions légales, a été atteint.

Le collège tient à insister sur l’importance du respect des procédures, garantie d’une sécurité optimale. Des instructions parallèles ou tardivement transmises ne peuvent que créer un terrain propice aux incidents.

Par ailleurs, le collège recommande que les relations entre l’organisme d’avis et le fournisseur du logiciel des systèmes de vote automatisé soient revues de façon à renforcer la position d’indépendance de l’organisme d’avis.

Le collège s’engage, dès la publication du code source, à remettre un avenant au présent rapport, reprenant les résultats de l’analyse de la conformité du code source publié avec celui utilisé lors de la compilation de référence.

Enfin, le collège remercie les fonctionnaires du MRBC, les représentants des firmes et de l’organisme d’avis, les présidents, assesseurs et témoins des bureaux de vote et de totalisation ainsi que les responsables communaux pour leur bonne collaboration et pour leur coopération.

Président : Jean-Marc Paul

Secrétaire : Sophie Jonckheere

Geert Bryon

Freddy Tomicki

Theo D’Hondt

Emmanuel Willems

Johan Fabry

Olivier Markowitch

lien vers le rapport sur le site du Parlement de la Région de Bruxelles-Capitale