12/11/2012: Communales 2012 : Rapport du Collège des experts pour la Région de Bruxelles-Capitale
Élections communales du 14 octobre 2012
Voici une version texte du document PDF disponible sur le site du Parlement Bruxellois et en copie locale sur notre site.
PARLEMENT DE LA REGION DE BRUXELLES-CAPITALE
SESSION ORDINAIRE 2012-2013
24 OCTOBRE 2012
RAPPORT du Collège d’experts chargés du contrôle du système de vote et de dépouillement automatisés pour les élections communales de la Région de Bruxelles-Capitale
Elections communales du 14 octobre 2012
1. Avertissement
Étant donné la nature de la mission du Collège, le présent rapport est par endroit assez technique et s’adresse donc à un public averti. Néanmoins, le Collège a essayé lorsque c’était possible de vulgariser ces propos tout en veillant à rester précis.
2. 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 élections du 14 octobre 2012 des membres des conseils communaux en Région de Bruxelles-Capitale, les experts dont les noms suivent :
Effectifs :
- Monsieur Bruno De Nys
- Madame Sophie Jonckheere
- Monsieur Jean-Marc Paul
- Monsieur Emmanuel Willems
Suppléants :
- Monsieur Jérôme Dossogne
- Monsieur Olivier Markowitch
- Monsieur Nicolas Pettiaux
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. Emmanuel Willems et comme secrétaire Monsieur Jean-Marc Paul.
Malgré ces distinctions formelles entre effectifs et suppléants, le Collège a fonctionné comme une entité dont les membres ne se distinguaient pas les uns des autres.
3. Mission
La mission du Collège d’experts 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é ultérieurement.
Rappelons entre autres le § 6 qui décrit la mission du Collège :
« § 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 de 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 40ème 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. »
4. Description des systèmes de vote automatisé
Deux systèmes différents sont déployés dans le cadre de ces élections. Dix-sept communes utilisent le système Jites-Digivote, et deux communes (Saint-Gilles et Woluwe-Saint-Pierre) utilisent le nouveau système développé par la société SmartMatic.
4.1. Le vote automatisé sans preuve papier (Jites / Digivote)
Le Collège invite le lecteur à consulter le rapport du Collège d’experts publié suite aux élections communales du 8 octobre 2006 pour une description détaillée du système Jites-Digivote. Les différences entre la version 2006 et 2012 concernent essentiellement la machine de totalisation qui a été entièrement changée. En effet, les anciennes machines de totalisation faisaient usage de supports mémoire qui ne sont plus disponibles. Le Collège ne s’est pas attardé à cette nouvelle totalisatrice, étant donné qu’il allait procéder à une totalisation indépendante et comparer les résultats. Pour la machine du président du bureau de vote, les différences ne concernaient que l’ajout d’un compteur au démarrage de l’urne.
4.2. Le vote automatisé avec preuve papier (SmartMatic)
4.2.1. Les systèmes
La machine à voter SmartMatic est un ordinateur standard (quant à ses composants) avec un boîtier particulier muni d’un écran tactile, d’un lecteur de cartes à puce (ou smartcard) et d’une imprimante intégrée. L’interrupteur, la prise pour le raccordement au réseau électrique, la prise pour le clavier, les connecteurs USB, le connecteur pour l’alarme sont situés sur la face arrière. Les seuls composants de l’ordinateur auquel l’électeur a accès sont le lecteur de carte à puce et l’imprimante qui sont sur la face avant. Une machine à voter n’a ni clavier ni disque dur.
La machine du président est constituée d’un ordinateur de type « portable » auquel sont connectés un hub USB muni de deux clés USB identiques, une urne électronique et un lecteur-enregistreur de cartes à puces. Les clés USB contiennent tous les logiciels du bureau de vote (machine du président et machines à voter) et du bureau principal (totalisation). L’urne est composée d’un réservoir destiné à collecter les votes imprimés par les machines à voter et est surplombé par un scanner de QR-codes.
La totalisation se passe dans le bureau principal sur un ordinateur standard sans système d’exploitation. Il est démarré via une clé USB identique à celle utilisée dans les bureaux de vote. Comme la même clé USB contient tous les logiciels, le logiciel de totalisation est exécuté si, au démarrage, le matériel détecté, n’est ni celui d’une machine à voter, ni celui d’une machine de président de bureau de vote.
La machine de totalisation lit toutes les clés USB provenant des bureaux de vote, et génère une clé USB contenant les résultats de l’élection ainsi qu’un rapport papier.
Le calcul de la répartition des sièges et l’envoi des résultats au site web des élections s’effectuent sur un ordinateur séparé après introduction des résultats présents sur la clé USB en provenance de la machine de totalisation.
4.2.2. La procédure électorale avec preuve papier
4.2.2.1 L’ouverture du bureau de vote avec preuve papier
La première opération consiste à démarrer la machine du président à l’aide des deux clés USB identiques qui lui ont été fournies en même temps que ses mots de passe.
Le président et son bureau vérifient le bon raccordement des différents éléments et démarrent la machine du président. Ils suivent pour cela la procédure qui demande une identification du bureau. Ensuite vient une phase de diagnostic de la machine du président et des périphériques (clés USB, urne, valideuse de carte à puce, clavier, souris, ...) raccordés. Un rapport de diagnostic, une carte à puce dite « de secours » et une carte à puce dite « de démarrage » sont générés.
La machine du président demande ensuite de démarrer les machines à voter. La carte à puce « de démarrage » ainsi qu’une des clés USB sont nécessaires pour démarrer les machines à voter. Lorsque toutes les machines à voter sont prêtes, les clés USB sont réintroduites dans la machine du président.
Des cartes à puce de « votes de référence » sont alors créées par le lecteur-enregistreur de cartes à puce Les votes de référence sont émis sur les machines à voter et retranscrits au procès-verbal. Ces votes servent à vérifier que les machines à voter transcrivent correctement les votes, et que l’urne les lit correctement. Ces votes ne sont pas comptabilisés.
Les opérations de vote peuvent ensuite commencer. Les cartes à puces sont initialisées l’une après l’autre en mode « vote réel » pour permettre aux électeurs de voter une fois.
4.2.2.2. Le déroulement du vote
Le vote est réalisé sur la machine à voter qui se trouve dans l’isoloir. La machine à voter imprime une preuve papier reprenant le vote ainsi que sa représentation sous forme de QR-code.
Chaque électeur reçoit une carte à puce initialisée en mode « vote réel ». Il l’emporte dans l’isoloir et l’introduit dans la machine à voter. Toute carte mal initialisée, non initialisée ou déjà utilisé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 sur l’écran tactile, il doit le confirmer. À partir de ce moment, le vote est définitif. Tant qu’il n’est pas confirmé, l’électeur peut annuler son vote et recommencer.
Après confirmation du vote, la machine à voter imprime le vote sous forme textuelle ainsi que sous la forme d’un QR-code sur un bulletin « preuve papier » et invite l’électeur à retirer la carte à puce. Optionnellement, dans un isoloir prévu à cet effet, l’électeur peut scanner le QR-code de sa preuve papier au moyen d’un scanner portable. Le contenu du QR-code est alors affiché à l’écran et l’électeur peut vérifier son vote.
Après avoir exprimé son vote dans l’isoloir, l’électeur scanne le QR-code de sa preuve papier au moyen du scanner qui se trouve au-dessus de l’urne. Après confirmation que le QR-code a bien été lu et enregistré par l’ordinateur du président, l’électeur introduit sa preuve papier dans l’urne.
4.2.2.3. La clôture du bureau de vote
A l’issue du scrutin, le bureau de vote est clôturé et un procès-verbal est imprimé. L’urne est ouverte et les bulletins « preuves papiers » sont transférés dans un sac qui est scellé. Le procès-verbal, les clés USB du bureau et le sac scellé contenant les preuves papiers sont emmenées au bureau principal.
5. Contrôles et constatations
5.1. Contrôles effectués avant le jour des élections
5.1.1. Confection des supports mémoires
Le 8 octobre 2012, le Collège a visité les locaux où tous les supports informatiques utilisés pour les élections ont été confectionnés tant pour les systèmes SmartMatic que Jites. Dans le cas du système Jites il s’agit des disquettes et des enveloppes contenant les mots de passe. Dans le cas du système SmartMatic, il s’agit des clés USB et des enveloppes contenant les mots de passe. Ce local est fermé à clé, raisonnablement sécurisé et uniquement accessible aux personnes autorisées.
5.1.2. Les rapports de l’organisme d’avis
5.1.2.1. Pour le système SmartMatic
Les experts étaient présents le 17 septembre 2012 lors de la remise du rapport de l’organisme d’avis. Le cadre de la mission de l’organisme d’avis est explicité dans l’ordonnance du 12 juillet 2012 : adéquation des systèmes, secret des votes, conformité à la loi, répétabilité.
Au terme de son analyse, l’organisme d’avis certifie le système de vote avec quelques observations non bloquantes de 2 types :
- observations qui peuvent être corrigées manuellement ou via l’adaptation des procédures
- observations qui peuvent attendre la prochaine élection
Le Collège d’experts s’étonne que certains problèmes potentiels décrits plus loin dans le rapport n’aient pas éte soulevés par l’organisme d’avis. Il s’agit notamment du temps de latence entre deux affichages sur les machines à voter et du non-enregistrement des votes en fonction de l’écran affiché sur l’ordinateur du président de bureau.
5.1.2.2. Pour le système Jites
Une copie du rapport de certification pour le système Jites est remise au Collège le 24 septembre 2012. Il n’est fait état que de quelques remarques au niveau du système de préparation, jugées mineures par l’organisme d’avis.
5.1.3. Authenticité des codes sources
Le Collège estime important d’assurer l’authenticité des codes sources. Afin de garantir la correspondance entre les programmes exécutés le jour des élections et les codes sources publiés après les élections (comme le prévoit la loi), le Collège procède à une compilation sur ses propres systèmes informatiques sur base des instructions fournies par les concepteurs de ces logiciels.
5.1.3.1. Codes sources SmartMatic
Le 17 septembre 2012, le Collège d’experts a reçu des mains de l’organisme d’avis un DVD reprenant l’ensemble des sources des logiciels du système SmartMatic.
Au moment du dépôt des sources, quatre copies du DVD master sont effectuées :
- une pour le Ministère de la Région de Bruxelles-Capitale (pour être mis au coffre);
- une pour le Collège (qui prend directement une copie sur ordinateur);
- une pour SmartMatic;
- une pour l’organisme d’avis.
À l’occasion de la recompilation du code source du système SmartMatic (machine à voter, machine de président et machine de totalisation), le Collège a pu se rendre compte que le code source repris sur le DVD fourni par l’organisme d’avis n’était pas celui qui avait servi pour générer les exécutables des machines de totalisation. Le DVD a été produit à partir d’un ordinateur de compilation mis à disposition de l’organisme d’avis par SmartMatic. Cet ordinateur de compilation contient différentes versions du code source, et c’est suite à une erreur de manipulation que d’anciennes sources se sont retrouvées sur le DVD de référence. Le Collège a pu avoir accès à l’ordinateur de compilation et aux bonnes sources. Il a ainsi pu recompiler les applications des machines de préparation et de totalisation.
Le Collège ignore quelles sont finalement les sources qui ont été analysées par l’organisme d’avis.
Pour le code source des machines de vote et des machines de président de bureau de vote, la compilation s’est faite sur les sources présentes sur le DVD. L’exécutable obtenu est identique à l’exécutable de référence utilisé le jour des élections.
5.1.3.2. Codes sources Jites
Le 24 septembre 2012, le Collège a reçu de l’organisme d’avis une copie du CD contenant les sources et exécutables Jites, lequel s’est avéré illisible. Le 3 octobre 2012, le Collège a pu prendre copie du contenu du CD de l’organisme d’avis et a effectué en conséquence une compilation de référence sur l’ordinateur d’un membre du Collège.
Les experts ont pu constater que les exécutables ainsi générés étaient identiques au niveau binaire à ceux présents sur le CD.
Les codes sources sont comparés à ceux des élections de 2006. Des modifications mineures sont constatées et commentées par les représentants de la société Stésud.
5.1.4. Test du système de vote
Le Collège a réalisé les tests suivants sur un bureau de vote Jites et sur un bureau de vote SmartMatic :
- ouverture d’un bureau de vote (démarrage du PC-urne président);
- démarrage d’un ordinateur de vote;
- émission de votes et revisualisation des votes sur l’ordinateur de vote;
- revisualisation des votes sur l’ordinateur d’un expert au moyen d’un lecteur de carte magnétique et d’un logiciel de l’expert.
5.1.4.1. Système SmartMatic – problème de l’avertissement sonore de l’urne
Dans le cas du système SmartMatic, différents avertissements sonores sont utilisés pour confirmer la bonne lecture du QR-code d’un bulletin de vote et son enregistrement par l’ordinateur du président.
Au cours de ses tests, le Collège a découvert que si l’écran de validation des cartes à puce n’est pas affiché et qu’un bulletin de vote est scanné, celui-ci est correctement reconnu par le scanner de l’urne, mais il n’est pas enregistré par la machine du président. De plus, l’avertissement sonore de l’urne (plus audible que celui du PC) est identique que le vote soit enregistré ou non. L’avertissement sonore de l’ordinateur est lui différent selon le cas.
Le Collège a fait part de son inquiétude au Ministère de la Région de Bruxelles-Capitale qu’un tel comportement du logiciel rendait possible le non-enregistrement d’un vote, alors qu’un avertissement sonore de bonne lecture par l’urne retentissait. Le Ministère de la Région de Bruxelles-Capitale a alors fait procéder à la désactivation de l’avertisseur sonore de l’urne. Seul le signal sonore émis par l’ordinateur du président subsiste ce qui permet de lever l’ambiguïté quant à l’enregistrement ou non du vote.
5.1.4.2. Système Jites
Pas d’observation particulière : le système fonctionne comme celui de 2006.
5.1.5. Analyse des codes sources
5.1.5.1. Système Jites
Vu les modifications mineures au code de 2012, le Collège invite le lecteur à consulter le rapport du Collège d’experts publié suite aux élections communales du 8 octobre 2006 pour l’analyse du code source du système Jites.
5.1.5.2. Système SmartMatic
Le Collège d’experts a réalisé une analyse fragmentaire des codes sources du système SmartMatic.
Il a été constaté que les sources transmises au Collège présentent une structure complexe nuisant à une analyse aisée (duplication des codes sources, intégration de l’historique des sources du logiciel). Les sources ont été aussi analysées au moyen de modules d’analyses pour Eclipse (PMD, Sonar, ...); la compilation et l’édition des liens des sources reçues ne fonctionnant pas sans l’aide de SmartMatic, cette analyse a été rendue difficile et n’a pu être réalisée que très partiellement.
Sur cette base ainsi que sur la base de la documentation technique fournie par SmartMatic, il apparaît que la qualité des codes sources n’est pas suffisante ce qui nuit à leur auditabilité.
De plus :
- le code source fourni au Collège ne contient aucun test unitaire (élément pourtant indispensable au développement d’une telle application et servant également de documentation pour les autres développeurs et auditeurs);
- la documentation technique n’est pas suffisamment précise et certains détails omis se sont révélés d’importance capitale pour permettre au Collège de développer lui-même un logiciel de décryptage des contenus des clés USB;
- la plupart des diagrammes apparaissant dans la documentation se sont révélés trop superficiels pour être réellement utiles. En conséquence, le Collège n’a pas eu l’occasion de tester et d’analyser les codes sources de la manière dont il l’avait envisagée.
5.1.6. Participation aux séances de formations des présidents de bureaux de vote
5.1.6.1. Woluwe-Saint-Pierre, 9 et 11 octobre 2012
Des membres du Collège d’experts ont assisté aux formations des présidents de bureau de vote le mardi 9 et le jeudi 11 octobre 2012 à Woluwe-Saint-Pierre. Étaient présents lors de ces formations : le président du bureau principal, la responsable population, le responsable informatique de la commune ainsi que plusieurs présidents et secrétaires des bureaux de vote.
L’essentiel des explications concernait le système de pointage des électeurs Stésud et le système de vote SmartMatic.
L’explication du système de pointage des électeurs est courte. Elle ne fait pas l’objet de ce rapport.
Comme support à la formation, Woluwe-Saint-Pierre utilise un manuel rédigé par les responsables de la commune. Ce manuel est beaucoup plus court (3 pages) que celui venant du Ministère de la Région de Bruxelles-Capitale (entre 70 et 80 pages), mais n’est pas toujours complet. Les instructions données oralement aux présidents sont parfois différentes de celles fournies par le Ministère de la Région de Bruxelles-Capitale.
Exemple d’information incomplète ou différente :
- Selon les instructions de la commune, la carte de secours doit être placée durant les opérations de vote dans une enveloppe spécifique (et non pas dans l’urne comme demandé par le Ministère de la Région de Bruxelles-Capitale). Lors de la clôture de l’urne, les preuves papier doivent aller dans le sac scellé, mais les cartes à puce de secours ne sont pas mentionnées dans ces instructions, ce qui est susceptible de poser un problème en cas de re-totalisation.
- Si le nombre de votes enregistrés ne correspond pas à ceux indiqués par la pointeuse de présence, les présidents doivent laisser tel quel tout le système informatique, y compris la machine de président (sans redémarrage avec la carte de secours) et ouvrir l’urne (scellée). Ensuite ils doivent relire une à une les preuves papier jusqu’à ce que le vote manquant soit enregistré.
5.1.6.2. Saint-Gilles
Un membre du Collège est présent lors de la formation des présidents de bureaux de vote le 5 octobre 2012.
Deux systèmes sont présentés : le système de pointage développé par Stésud et le système de vote SmartMatic.
Une démonstration du système SmartMatic est présentée sur grand écran depuis sa mise en route jusqu’à la fermeture. Etant donné le nombre de personnes présentes, des tests de démarrage ou d’utilisation du matériel ne sont pas envisageables. Les informations concernant les écrans secondaires sont très sommaires, à charge des présidents de se reporter au manuel.
Les instructions suivantes s’éloignent de celles du Ministère de la Région de Bruxelles-Capitale :
- l’ouverture des enveloppes scellées avec les mots de passe se fait avant constitution du bureau;
- la carte de secours est conservée hors de l’urne (il est précisé qu’on peut la placer dans l’urne).
5.2. Constatations le jour des élections
5.2.1. Contrôles dans les bureaux de vote
Le jour des élections les membres du Collège ont effectués des contrôles dans les communes bruxelloises.
Dans tous les bureaux de vote contrôlés, des votes de référence ont été émis et consignés en présence de témoins désignés par les présidents des bureaux de vote.
Dans le cas du système Jites, des cartes magnétiques contenant les votes de référence ont été emportées pour vérification ultérieure. Dans certains bureaux, des copies des disquettes utilisées ont été prises.
Dans le cas du système SmartMatic, les preuves papier contenant les votes émis par l’expert ont été emportées.
Un rapport a été établi par l’expert avec la collaboration du président du bureau de vote : outre les votes de référence et les réponses à un questionnaire-type, les incidents éventuels de la journée ont été consignés. Ce rapport a été emporté par l’expert. Des copies ont plusieurs fois été laissées aux présidents des bureaux de vote.
BUREAUX DE VOTE CONTRÔLÉS
Les bureaux de vote qui ont été contrôlés sont :
Commune | Numéros des bureaux visités |
Anderlecht | 51 |
Auderghem | 2, 21, 24, 25 |
Berchem-Ste-Agathe | 2 (ouverture), 12 |
Bruxelles | 11, 12 (deux fois), 13, 21, 22, 23, 37 |
Etterbeek | 28 |
Evere | 17 |
Forest | 20, 21, 24, 27 |
Ganshoren | 14 |
Ixelles | 1, 13, 14, 26, 27 |
Jette | 4 |
Koekelberg | 1 |
Molenbeek-Saint-Jean | 14, 32, 34 |
Schaerbeek | 13 |
Saint-Gilles | 22, 23, 25 (ouverture), 26 (ouverture) |
Saint-Josse-ten-Noode | – |
Uccle | 7, 30, 32, 45, 47 |
Watermael-Boitsfort | 8, 13, 14 |
Woluwe-Saint-Lambert | 27 |
Woluwe-Saint-Pierre | 1, 3, 6, 15 (ouverture), 22, 25 |
5.2.2. Incidents dans les bureaux de vote
5.2.2.1. Utilisation de votes de référence comme votes réels
DESCRIPTION
Les premiers électeurs ont reçu des cartes d’activation pour des votes de référence. Ils ont introduit leur vote dans l’urne.
LIEU Saint-Gilles 22, Woluwe-Saint-Pierre 19.
CONSÉQUENCE
- les votes test n’ont pas été comptabilisés alors que les électeurs ont cru émettre des votes réels;
- ces votes ont pu être visualisés par les membres du bureau qui se trouvaient derrière l’ordinateur du président.
SOLUTION
- Saint-Gilles 22 : à la fin des opérations de vote et avant la clôture du bureau de vote, les votes de référence ont été extraits de l’urne sous la supervision du président du bureau principal. Les vrais votes de référence ayant été repris au procès-verbal ont été identifiés. Les votes réels émis sous forme de vote de référence ont également été identifiés et des votes identiques ont été émis et placés dans l’urne. Les votes émis par les électeurs sont correctement repris dans l’urne après cette correction.
- Woluwe-Saint-Pierre 19 : Les votes de référence émis comme vote réel, se limitaient aux votes émis par les membres du bureau de vote. Les membres du bureau de vote ont revoté, et ensuite le public a été admis dans le bureau de vote.
5.2.2.2. Ouverture des enveloppes avant la constitution du bureau
DESCRIPTION
La procédure exige que les enveloppes contenant les mots de passe soient ouvertes devant le bureau constitué. De nombreux bureaux ne respectent pas cette procédure. La raison invoquée est la durée importante du démarrage des machines.
LIEU
Saint-Gilles 25, Saint-Gilles 26, Woluwe-Saint-Pierre 15, Bruxelles 22 et 23.
CONSÉQUENCE
Une des garanties de sécurité est potentiellement compromise. Cependant, dans tous les cas répertoriés, les présidents avaient reçu leurs enveloppes dans l’enceinte du bureau de vote le matin des élections. Les enveloppes avaient été ouvertes par les présidents dans leur bureau de vote.
5.2.2.3. Carte à puce d’accès rendue inutilisable
DESCRIPTION
Si la carte à puce d’accès qui sert à l’initialisation de la machine à voter reste trop longtemps dans la machine lors du démarrage, elle devient inutilisable pour démarrer les machines à voter suivantes.
LIEU Woluwe-Saint-Pierre 15.
CONSÉQUENCE
Retard lors du démarrage du bureau.
SOLUTION
Il existe une procédure peu connue qui consiste à repartir en arrière sur la machine du président et à recréer une carte à puce d’accès.
5.2.2.4. Utilisation de votes réels comme votes de référence
DESCRIPTION
Le système de vote de type SmartMatic était déjà en mode de fonctionnement normal au moment de prendre les votes de référence. Le président du bureau de vote ne s’en est rendu compte qu’après avoir scanné le bulletin et placé celui-ci dans l’urne. Il a pris note de son vote afin de pouvoir le soustraire plus tard.
LIEU
Saint-Gilles 26.
CONSÉQUENCE
Un vote supplémentaire est comptabilisé dans l’urne.
SOLUTION
Il est impossible de retirer un vote scanné de l’urne électronique. Il faut donc indiquer le vote à supprimer dans le procès-verbal afin de permettre la soustraction au bureau principal.
5.2.2.5. Blocage de l’imprimante du président au démarrage du bureau de vote
DESCRIPTION
Lors du démarrage de la machine du président, la communication entre la machine du président et son imprimante semble s’être bloquée. Le processus de démarrage du bureau de vote a été stoppé sans qu’un message ne soit apparu. Après avoir relancé l’imprimante, le démarrage du bureau s’est poursuivi normalement. Cependant, la page des mots de passe associés au bureau de vote n’a pas été imprimée, sans que quiconque ne s’en aperçoive car ces mots de passe ne sont utiles que plus tard en cas de problèmes.
LIEU
Saint-Gilles 26.
CONSÉQUENCE
Chaque machine à voter qui se bloque ne peut être débloquée qu’à l’aide du mot de passe associé au bureau de vote. Or, il suffit qu’un électeur laisse sa carte à puce d’activation trop longtemps dans la machine à voter pour que celle-ci se bloque. Dans le cas de ce bureau, il n’a fallu que 25 minutes pour que toutes les machines à voter soient bloquées. Et une heure et demie supplémentaire pour pouvoir reprendre les opérations de vote.
SOLUTION
Il semble impossible de réimprimer cette page sans redémarrer le bureau. Il a fallu plus d’une heure pour que le helpdesk puisse fournir la procédure à suivre pour redémarrer avec les mêmes clés, ceci étant exigé pour que l’urne reste compatible avec les nouveaux votes.
5.2.2.6. Blocage des imprimantes des machines à voter
DESCRIPTION
Les imprimantes intégrées aux machines à voter SmartMatic se bloquent régulièrement. Le papier s’imprime mais s’enroule à l’intérieur de la machine.
LIEUX
Saint-Gilles 22, Saint-Gilles 25, Saint-Gilles 26, Woluwe-Saint-Pierre 1, Woluwe-Saint-Pierre 6, Woluwe-Saint-Pierre 19, Woluwe-Saint-Pierre 23, Woluwe-Saint-Pierre 25.
CONSÉQUENCE
Le vote bloqué est visible par celui qui ouvre et répare l’imprimante.
SOLUTION
Il faut ouvrir le couvercle de l’imprimante et remettre le papier dans son système d’entraînement. Le ou les votes qui sont restés dans la machine doivent être découpés à la main. L’électeur reçoit une nouvelle carte d’activation.
5.2.2.7. Sélection non intentionnelle d’une liste ou d’un candidat
DESCRIPTION
Au moment où l’électeur confirme sa langue de travail, l’écran reste figé pendant un certain temps, ce qui peut amener l’électeur à pousser une seconde fois, pensant que son choix n’a pas été enregistré. Il peut arriver que la seconde pression soit enregistrée sur l’écran suivant (sélection de la liste). La liste qui se trouve sous le bouton de confirmation de la langue est alors sélectionnée de manière non intentionnelle.
Le même problème peut se produire lors de la sélection de la liste : le candidat qui se trouve au même endroit sur l’écran que sa liste pourrait être sélectionné non intentionnellement.
Ceci a été explicitement relevé par le président du bureau 6 mais est susceptible d’avoir été effectué à d’autres endroits.
LIEU
Woluwe-Saint-Pierre 6.
CONSÉQUENCE
Une liste (ou un candidat) non nécessairement souhaitée est présentée à l’électeur.
SOLUTION
L’électeur a plusieurs possibilités : revenir à l’écran précédent, demander de l’aide ou terminer son vote puis le faire annuler pour recommencer.
5.2.2.8. Procédure de redémarrage de secours non suivie
DESCRIPTION
Lors du redémarrage du bureau de vote suite au remplacement de l’urne, la procédure de démarrage de secours n’a pas été suivie et la carte de secours du bureau initial a été réécrite avec les informations du nouveau bureau. Les votes scannés jusque-là dans le bureau de vote sont devenus illisibles puisque liés aux paramètres du bureau initial. Les électeurs votent alors sur les machines à voter démarrées avec les nouveaux paramètres. Quatre-vingt votes sont émis. Dans le courant de la journée, l’intervention d’un technicien permet de redémarrer le bureau initial. Les opérations de vote continuent sur l’urne du bureau initial contenant plus de votes que la deuxième urne. Pour pouvoir comptabiliser les 80 votes émis dans la deuxième urne, deux assesseurs, en présence d’un membre du Collège réencodent sur une machine à voter les 80 votes de la seconde urne, pour les scanner dans l’urne initiale.
LIEU
Woluwe-Saint-Pierre 23.
CONSÉQUENCE
Pas de conséquences sur le résultat des votes.
SOLUTION
Deux assesseurs en présence d’un membre du Collège ont retranscrit les votes émis dans l’urne la moins pleine vers le système avec l’urne la plus pleine, pour que tous les votes soient comptabilisés.
5.2.2.9. Lecture par erreur dans l’urne de 3 votes annulés
DESCRIPTION
Des bulletins de vote annulés ont été scannés. La présidente a eu la présence d’esprit de garder ces votes et de ne pas les mettre dans l’urne.
LIEU
Woluwe-Saint-Pierre 23.
CONSÉQUENCE
Les résultats du bureau de vote sont incorrects au moment de la clôture, mais la différence est connue et inscrite au procès-verbal du bureau de vote.
SOLUTION
Les votes encodés par erreur doivent être corrigés dans le bureau de totalisation.
5.2.3. Contrôles dans les bureaux de totalisation
Les membres du Collège se sont rendus dans les bureaux suivants le soir des élections :
– Saint-Gilles – Woluwe-Saint-Pierre – Bruxelles
5.2.4. Incidents dans les bureaux de totalisation
5.2.4.1. Saint-Gilles
5.2.4.1.1. PROBLÈME LORS DU TRANSFERT VERS CODI DES RÉSULTATS DE TOTALISATION
Au terme de la phase de totalisation, les résultats écrits par la machine de totalisation sur la clé USB n’ont pu être relus par le logiciel CODI.
En effet, la machine de totalisation fonctionne sous Linux et sauve par défaut les résultats sur la clé USB de démarrage qui dispose d’un système de fichiers du type ext3. Par contre, la machine de calcul des sièges et de transfert vers le Ministère de la Région de Bruxelles-Capitale fonctionne sous MS-Windows. MS-Windows n’est pas capable de lire des systèmes de fichiers ext3.
Il s’est donc avéré impossible de poursuivre les opérations (à savoir importer les résultats de la totalisation dans le programme CODI). Aucun des intervenants n’ayant de solution à proposer, le Collège d’experts, à la demande du président du bureau principal, a transféré les données du support ext3 vers un support FAT32, lisible sous MS-Windows. Les opérations ont pu ensuite reprendre normalement.
5.2.4.1.2. VOTE DE RÉFÉRENCE DANS L’URNE 26
Au démarrage du bureau de vote, un vote réel a été placé erronément dans l’urne. Ce vote aurait dû être décompté lors de la totalisation. Ce décompte n’a pas eu lieu.
5.2.4.2. Woluwe-Saint-Pierre
Suite aux problèmes rencontrés dans les bureaux de vote 3 et 23, un redémarrage de ces bureaux a été nécessaire dans le bureau principal. Les procédures suivies sont décrites ci-dessous.
5.2.4.2.1. WOLUWE-SAINT-PIERRE 3
Le bureau 3 a été mal clôturé suite à des incidents techniques. Dans le bureau de totalisation, le système du président et l’urne ont dû être redémarrés. Les 194 votes présents dans l’urne ont été scannés pour vérification. Tous ont été reconnus comme votes déjà enregistrés (un code unique empêche le double enregistrement d’un vote).
L’urne a été clôturée et les clés USB ont été transmises à la machine de totalisation.
5.2.4.2.2. WOLUWE-SAINT-PIERRE 23
Dans ce bureau de vote, 3 votes annulés ont été scannés par erreur. Ces votes sont identifiés car ils n’ont pas été placés dans l’urne.
Dans le bureau principal, il a été déclaré qu’il était impossible de retirer ces votes manuellement des résultats globaux des élections. Comme la clé de secours de cette urne avait été écrasée suite à un autre problème survenu dans le même bureau, il n’a pas été possible de redémarrer l’urne et de scanner les 254 votes présents dans l’urne. Si cette opération avait été possible, elle aurait permis de reproduire l’urne sans les votes annulés indûment scannés et de procéder ensuite à la clôture correcte du bureau de vote.
Pour pouvoir obtenir une urne avec les votes corrects, il a été décidé de redémarrer un bureau de vote 23, de manuellement émettre les 254 votes présents dans l’urne originelle et de les scanner dans la nouvelle urne.
Pour cela trois assesseurs du bureau principal ont copié ces votes en utilisant 3 machines à voter. Chaque vote a ensuite été vérifié par un des 2 membres du Collège d’experts présents sur place. Ces votes ont été agrafés à l’ancien vote. Ce résultat a ensuite été encore revérifié par le président du bureau principal.
Au terme de cette opération, 254 bulletins doubles se trouvaient dans l’urne, comprenant le nouveau bulletin de vote agrafé au vote émis par l’électeur.
L’urne a été clôturée et les clés USB ont été transmises à la machine de totalisation.
5.2.4.2.3. EXPORTATION DES RÉSULTATS VERS CODI
Pour contourner le problème d’incompatibilité détecté à Saint-Gilles entre la sortie standard de la totalisatrice SmartMatic (format ext3) et la machine MS-Windows (format FAT32) servant aux opérations suivantes, les résultats de la totalisatrice ont été copiés directement sur une clé USB en format FAT32 prêtée par le technicien de Stésud. Cette clé a ensuite été introduite dans le programme CODI pour poursuivre les opérations de répartition des sièges, de production des procès-verbaux et de transfert vers le site web des élections.
5.2.4.3. Bruxelles
Un expert qui contrôlait le bureau n° 13 de Bruxelles a pu constater que les votes de référence émis dans ce bureau, avaient été introduits dans l’urne du système Jites utilisé dans cette commune.
Bien qu’il en soit fait mention dans le procès-verbal de ce bureau de vote, ces voix supplémentaires n’ont pas été décomptées des résultats finaux pour cette commune.
5.3. Contrôles effectués après le jour des élections
5.3.1. Recomptage d’une urne cartes magnétiques
Le Collège a procédé à titre d’exemple au recomptage d’une urne de Berchem-Sainte-Agathe au moyen de son logiciel et de ses lecteurs de cartes.
A l’occasion de ce recomptage, le Collège a constaté que certaines cartes magnétiques de votes étaient marquées et étaient donc identifiables. Après audition d’un membre du bureau de vote concerné, il apparaît que des cartes étaient marquées avant le jour des élections. En effet, plusieurs communes à Bruxelles ont reçu du Ministère de la Région de Bruxelles-Capitale des cartes magnétiques utilisées à l’occasion d’élections précédentes à Anvers. Certaines de ces cartes étaient marquées et celles-ci n’avaient pas été éliminées des lots fournis aux bureaux de vote. Les assesseurs du bureau de vote ne les ont pas toutes éliminées non plus et elles ont même été données à des électeurs afin qu’ils expriment leur vote. Il s’agit une fois de plus d’un non-respect des procédures au niveau du bureau de vote.
Le Collège a pu constater que les résultats du recomptage au moyen de son logiciel et de son matériel sont strictement identiques à ceux repris sur la disquette du bureau de vote en question.
5.3.2. Recomptage d’urnes preuve papier
5.3.2.1. Motivation
Le Collège d’experts procède depuis plusieurs élections à des recomptages d’urnes pour en vérifier le bon fonctionnement. Pour des raisons matérielles, il n’a été procédé au dépouillement que d’une seule urne par commune. Le déchiffrement des clés USB de ces bureaux au moyen d’un logiciel spécifique fourni par SmartMatic devait donner le même résultat que celui obtenu par le dépouillement manuel.
5.3.2.2. Recomptage des urnes
La firme Stésud a mis gracieusement à la disposition du Collège deux systèmes DEPASS (DEPouillement ASSisté), systèmes destinés à faciliter le dépouillement papier utilisés en région wallonne.
5.3.2.2.1. DÉPOUILLEMENT DU BUREAU 12 DE WOLUWE-SAINT-PIERRE
L’urne du bureau 12 de Woluwe-Saint-Pierre a été ouverte en présence de quatre témoins de partis. Huit agents du Ministère de la Région de Bruxelles-Capitale se sont relayés pour dépouiller l’urne à l’aide du système DEPASS.
Au terme de 3 heures de travail, 850 votes ont été dépouillés. Le procès-verbal de l’urne automatique n’avait comptabilisé que 849 votes. La différence indique qu’un bulletin avait été introduit dans l’urne sans être scanné par la tête d’urne. Sans connaître le contenu de l’urne électronique, il est évidemment impossible d’identifier le bulletin non comptabilisé. Le fichier de totalisation a été copié et fourni au Collège à des fins d’analyse.
Au moyen d’un logiciel fourni par SmartMatic et vérifié par le Collège, le Collège a pu par la suite décrypter les votes contenus sur la clé USB du bureau 12 de Woluwe-Saint-Pierre. Il a ainsi pu constater que le dépouillement manuel et le comptage des bulletins tels que scannés par l’urne donnaient le même résultat, à un vote près (le 850ème vote, qui s’est avéré par différence être un vote blanc).
5.3.2.2.2. DÉPOUILLEMENT DU BUREAU 8 DE SAINT-GILLES
L’urne du bureau 8 de Saint-Gilles a été ouverte en présence de trois témoins de partis. Six agents du Ministère de la Région de Bruxelles-Capitale se sont relayés pour dépouiller l’urne à l’aide du système DEPASS. Au terme de 3 heures de travail, 753 votes ont été dépouillés. Ce nombre correspond au procès-verbal de l’urne automatique. Le fichier de totalisation a été copié et fourni au Collège à des fins d’analyse.
Au moyen du logiciel fourni par SmartMatic, celui-ci a pu décrypter plus tard les votes contenus sur la clé USB du bureau 8 de Saint-Gilles. Il a ainsi pu constater que le dépouillement manuel et le comptage des bulletins tels que scannés par l’urne donnaient bien le même résultat.
5.3.3. Vérification des votes de référence
Les experts ont vérifié les votes de référence récoltés dans les bureaux de vote Jites contrôlés le jour des élections. Tous les votes de références se sont révélés corrects.
5.3.4. Vérification des totalisations
5.3.4.1. Communes utilisant le système Jites
Le Collège a pris une copie des disquettes en provenance des bureaux de vote des communes utilisant le logiciel Jites.
Le Collège a procédé à deux contrôles :
- les programmes se trouvant sur les disquettes ont été comparés aux programmes de référence;
- au moyen de son propre logiciel, le Collège a totalisé les résultats des disquettes par commune et les a comparés aux résultats officiels.
Pour le premier contrôle, les programmes trouvés sur les disquettes se sont avérés identiques aux programmes de référence.
Pour le second contrôle, le Collège a 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 et ceux publiés sur le site web 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.
Le Collège en déduit que le logiciel de totalisation utilisé le soir des élections a correctement fonctionné.
5.3.4.2. Communes utilisant le système SmartMatic
Le Collège a pris une copie des clés USB en provenance des bureaux de vote des communes utilisant le logiciel SmartMatic et a procédé deux contrôles :
- les programmes se trouvant sur les clés USB ont été comparés aux programmes de référence résultant de la recompilation;
- au moyen d’un logiciel fourni par SmartMatic, le Collège a pu décrypter les votes contenus sur les clés USB.
Au moyen du programme fourni par SmartMatic permettant de déchiffrer l’ensemble des votes stockés sur les clés USB et de totaliser une urne, les votes déchiffrés ont été additionnés pour chaque commune. Les résultats publiés correspondent, pour toutes les listes et pour tous les candidats, aux résultats obtenus en décryptant et en comptant les votes contenus sur les clés USB.
Le Collège en déduit que le logiciel de totalisation utilisé le soir des élections a correctement fonctionné.
Note : à l’occasion de la prise de copies des clés USB, le Collège a constaté dans un cas que certains fichiers contenant les votes étaient corrompus. Tous les fichiers de la seconde clé USB étaient cependant corrects.
Le Collège s’étonne que malgré la procédure de réplication des votes entre les clés USB, ce problème ait pu se produire.
5.3.5. Temps de passage d’un écran à l’autre sur la machine à voter de SmartMatic
Le Collège a procédé à des tests de la machine à voter SmartMatic pour évaluer les erreurs possibles dues à une pression prolongée ou à une double pression sur l’écran.
5.3.5.1. Passage d’un écran au suivant
Pour passer d’un écran au suivant, une pression continue ou une pression courte produisent le même résultat et déclenchent uniquement le passage à l’écran suivant.
5.3.5.2. Temps de passage d’un écran à l’autre
Il est apparu que le délai de passage d’un écran au suivant peut paraître long. C’est notamment le cas du passage de l’écran de confirmation de la langue à celui des listes, ou du passage du choix de la liste à celui des candidats. L’électeur pressé (ou habitué à un matériel plus réactif), peut être amené à appuyer une seconde fois au même endroit. Cette seconde pression est dans certains cas mémorisée et appliquée à l’écran suivant quand il apparaît.
Même si l’électeur peut évidemment faire marche arrière, ce comportement du logiciel est problématique puisqu’il peut induire une certaine confusion dans le chef des électeurs, a fortiori chez ceux peu habitués à l’outil informatique.
5.4. Diffusion du code source
Le Collège constate que, bien que les codes sources des principaux logiciels aient été publiés sur le site web des élections, les codes sources de plusieurs librairies, routines et utilitaires n’ont pas été publiées. Bien que conscient du volume que représente l’intégralité du code source (en particulier pour le système SmartMatic), le Collège regrette cette publication limitée et renvoie le lecteur aux recommandations faites à ce sujet au § 6.
5.4.1. Code source des logiciels Jites
Le code source des logiciels Jites de la machine à voter et de l’urne a été publié sur le site des élections le 23 octobre 2012.
Le Collège a comparé ces sources avec celles utilisées lors de la compilation de référence. Les sources correspondent.
5.4.2. Code source des logiciels SmartMatic
Le code source des logiciels SmartMatic a été publié sur le site des élections le 23 octobre 2012 (logiciel de la machine à voter, logiciel de la machine du président du bureau de vote, logiciel de la machine de préparation, logiciel de la machine de totalisation).
Le Collège a comparé ces sources avec celles utilisées lors de la compilation de référence. Les sources correspondent. Les sources du logiciel des machines de vote, de président de bureau de vote et de préparation sont celles présentes sur le DVD remis par l’organisme d’avis. Les sources du logiciel de la machine de totalisation sont celles présentes sur l’ordinateur de compilation et absentes du DVD remis par l’organisme d’avis.
6. Recommandations
6.1. Recommandations concernant la conception des systèmes
[#2012-BXL.1 Structure des clés USB]
La structure des clés USB est extrêmement complexe (2 systèmes de fichiers, 3 noyaux Linux, un chargement du système d’exploitation fondamentalement différent pour une machine à voter, une machine de président ou une totalisatrice). De plus, les systèmes de fichiers Linux contiennent un système Linux complet, avec une foule d’exécutables, de librairies et de fichiers de configuration qui sont tout à fait inutiles dans le cadre des élections. Le Collège recommande qu’il soit produit une clé USB par fonction (machine à voter, machine du président et machine à totaliser) et que chaque clé ne contienne que les outils, modules et pilotes absolument nécessaires au fonctionnement du système. Par ailleurs, les fonctions de clés de démarrage des systèmes et clés d’enregistrement des votes devraient être scindées, les clés de démarrage devant être inaltérables.
[#2012-BXL.2 Simplification]
Les procédures du système SmartMatic sont trop complexes et trop longues. Le Collège recommande que les procédures soient fondamentalement simplifiées et que le logiciel soit conçu de manière à guider les utilisateurs et à mieux empêcher les situations à risques et les erreurs.
6.1.1. Concernant la machine du président
[#2012-BXL.3 Votes de référence]
Le Collège a constaté que si le logiciel de la machine du président reste en mode «votes de référence» alors que les premiers électeurs expriment déjà leur vote (qui sont alors scannés et insérés dans l’urne), ces votes ne sont pas enregistrés (de telles situations ont été observées le jour des élections). Le Collège recommande que le mode «votes de référence» soit plus clairement indiqué tant sur l’écran de la machine à voter que sur celui du président. De plus, pour éviter toute confusion, les «preuves papier» d’un vote de référence doivent être nettement différentes de celles des votes réels.
[#2012-BXL.4 Enregistrement des votes en permanence]
Une fois l’élection démarrée, la machine du président ne doit pouvoir quitter le mode d’enregistrement des votes et ce jusqu’à la clôture du scrutin.
[#2012-BXL.5 Avertissements sonores]
Le Collège d’experts recommande que le système soit plus cohérent au niveau de ses avertissements sonores (vote enregistré, vote rejeté, vote de référence en dehors de la procédure des votes de références, etc.).
[#2012-BXL.6 Urne traditionnelle à la place de l’urne électronique]
Tous les éléments sont présents dans le système SmartMatic pour se passer de l’urne électronique dans les bureaux de vote. Ceci éliminerait une source potentielle de problèmes techniques et de procédures et garantirait mieux le secret du vote. Les « preuves papier » pourraient être simplement déposées dans une urne conventionnelle et le « scanning » pourrait alors se faire à la clôture du scrutin ou dans le bureau de totalisation. Le Collège suggère d’envisager cette approche dans un souci de simplification du système et de plus de transparence.
Alternativement, le Collège suggère que le système de vote soit conçu de manière à ce que la lecture du vote et l’insertion du vote dans l’urne soit réalisée en une seule opération. Une situation où un vote pourrait être enregistré alors que le bulletin de vote ne soit pas mis dans l’urne est à éviter.
[#2012-BXL.7 Comptage des électeurs]
Le procès-verbal produit par le système SmartMatic déduit le nombre d’électeurs du nombre de votes scannés et enregistrés. Il faut néanmoins que le président puisse aussi indiquer le nombre d’électeurs comptés à partir du système de pointage. Ainsi, si une différence entre ces deux nombres est notée, un comptage manuel doit être envisagé.
6.1.2. Concernant la machine à voter
[#2012-BXL.8 Ergonomie des interfaces utilisateurs des machines à voter]
Le Collège recommande de soigner l’ergonomie des interfaces utilisateurs des machines à voter, en particulier d’éviter le problème du temps de latence du passage d’un écran à l’autre. Il serait aussi utile que l’interface utilisateur soit telle que lorsqu’un bouton est sélectionné, l’affichage indique que cette sélection est enregistrée.
[#2012-BXL.9 Terminologie]
La terminologie affichée dans les écrans des machines de président et les machines à voter doit être revue et clarifiée (expression «président député», bouton «recommencer» plutôt que «annuler le vote», etc.)
[#2012-BXL.10 Impression des textes sur les preuves papier]
La qualité des impressions des textes sur les preuves papier et la taille des polices de caractères, pour rendre le texte effectivement lisible sans effort, pourraient être améliorées.
6.2. Recommandations concernant les procédures
[#2012-BXL.11 Publication des spécifications des systèmes]
Le Collège d’experts recommande que les spécifications techniques du système de vote soient publiées de telle sorte qu’il soit possible de recréer de manière indépendante un logiciel de lecture des votes avant et après enregistrement ainsi qu’un logiciel de totalisation.
[#2012-BXL.12 Audit des procédures]
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.
[#2012-BXL.13 Respect des procédures]
Les communes doivent veiller à respecter et à faire respecter les procédures officielles.
[#2012-BXL.14 Sécurité des mots de passe]
Pour renforcer la sécurité, il serait opportun de séparer le mot de passe des supports informatiques (clés USB ou disquettes) jusqu’au moment du démarrage des bureaux de vote.
[#2012-BXL.15 Enveloppes scellées]
Lors de la mise sous enveloppe des disquettes (à destination finale des présidents de bureau 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).
[#2012-BXL.16 Recomptage d’urne]
Dans un souci de transparence, le Collège recommande qu’il soit prévu que quelques urnes sélectionnées au hasard à la fin des opérations de vote soient recomptées manuellement par des citoyens sur base de la «preuve papier» et que le résultat soit comparé à celui du dépouillement sur base du QR-code.
[#2012-BXL.17 Scanner indépendant]
Le Collège d’experts recommande qu’un scanner de QR-code soit développé par une entité tierce et qu’il soit rendu effectivement disponible dans chaque bureau de vote.
[#2012-BXL.18 Identités des membres du Collège]
Contrairement aux élections précédentes, les identités des experts n’ont pas été communiquées aux présidents de bureaux de vote. De surcroît, les présidents des bureaux de vote n’étaient pas toujours informés de l’existence et du rôle du Collège d’experts, ce qui a parfois compliqué la mission de contrôle du Collège. Le Collège recommande donc que les présidents des bureaux de vote soient informés du rôle et de la composition du Collège lors des formations.
[#2012-BXL.19 Rapports des Collèges précédents]
Etant donné le nouveau système, le Collège recommande que tous les rapports des Collèges précédents soient passés en revue et que les recommandations pertinentes soient prises en considération.
6.3. Recommandations concernant les codes sources
[#2012-BXL.20 Environnement de développement standard]
Le Collège d’experts recommande que le développement du logiciel du système de vote automatisé se fasse au moyen d’outils de développement standard, dans un code clair, lisible et pertinemment commenté. Toutes les procédures et spécifications permettant de produire les exécutables doivent être clairement décrites et pouvoir être aisément reproduites. Tout l’environnement de développement doit être rendu disponible (sous forme d’une machine virtuelle par exemple).
Le Collège suggère que le logiciel soit développé sur une plate-forme ouverte, accessible en permanence, pour permettre un suivi du développement.
[#2012-BXL.21 Machines virtuelles]
Idéalement, deux machines virtuelles devraient être publiées et signées numériquement (les signatures devant être vérifiables). Ces machines virtuelles contiendraient respectivement la copie de l’environnement de développement et de compilation. Celle-ci doit contenir tous les codes sources, tous les outils et leurs codes sources permettant de reconstituer la deuxième machine virtuelle, à savoir la copie virtuelle des machines de vote, de président et de totalisation. Ceci remplacerait avantageusement la publication des codes sources.
[#2012-BXL.22 Qualité des codes sources]
Les codes sources devraient satisfaire aux exigences et critères de qualité de l’état de l’art en développement et génie logiciel. Ceci inclut mais n’est pas limité à l’usage de méthodologie de développement de types « Test Driven Development », « Design by contract », à éviter tout copier/ coller dans le code, à équilibrer correctement le couplage et la cohésion, à adopter des conventions (telles que conventions de nommage) aidant à la lisibilité, à éviter de «hard coder» les valeurs, à commenter correctement le code, à n’importer que les classes, les définitions et les modules requis, à utiliser les patrons d’architecture (« design patterns ») adéquats, à limiter la portée, la visibilité et l’accessibilité aux zones mémoires et au code exécutable tant que possible, à faire usage approprié du mécanisme des exceptions, à n’offrir pas la moindre ligne de code mort ou inutilisé, à établir de la documentation claire, complète et structurée via les langages appropriés (diagrammes de classes UML complets, ...) et à utiliser à bonne fin les outils d’analyse et de mesure de code source afin de détecter les bugs et d’en améliorer la lisibilité.
De surcroît, le Collège recommande vivement de fournir les codes sources de façon telle qu’il soit possible d’identifier aisément quels sont les fichiers en faisant partie, à quelle application ceux-ci sont destinés (machine du président, totalisatrice, ...) et sans redondance.
7. Conclusions
La mission de contrôle du Collège d’experts à l’occasion des élections communales de 2012 fut particulièrement ardue en raison de l’introduction dans deux communes-tests du nouveau système SmartMatic. Le contrôle de deux systèmes complètement différents que ce soit au niveau des langages de programmation utilisés, des matériels ou des procédures a pris beaucoup de temps, en particulier pour un système aussi complexe que le système SmartMatic.
Le système SmartMatic, utilisé pour la première fois à Bruxelles dans les communes de Saint-Gilles et de Woluwe-Saint-Pierre, dispose de très nombreuses fonctionnalités destinées à améliorer l’automatisation du fonctionnement du bureau de vote (gestion de différents cas de figure au niveau de la procédure, confection assistée par ordinateur du procès-verbal du bureau de vote, etc.) en plus d’un matériel informatique moderne (clés USB, écran tactile, lecteur de carte à puce, etc.). De plus, la sécurisation des informations (données des élections) et un système d’exploitation basé sur Linux en font un système qui offre un potentiel certain.
Si l’ancien système a encore connu ses problèmes habituels (problèmes de disquettes, nouveau système de totalisation rendu indispensable vu l’impossibilité de se procurer les supports mémoires requis par les anciennes totalisatrices, vétusté générale du matériel, etc.), il a néanmoins une fois de plus rempli son rôle et a globalement bien fonctionné. Le problème récurrent des procédures parallèles mises en place par les communes (et parfois en contradiction avec les procédures en provenance du pouvoir organisateur) est une fois de plus à dénoncer, surtout pour le nouveau système.
Ce nouveau système a quant à lui connu d’inévitables problèmes de jeunesse. Si beaucoup de problèmes résultent en fait de non-respect de procédures (tout comme pour l’ancien système), d’autres problèmes survenus le jour des élections sont le résultat direct de lacunes au niveau de la conception du logiciel et de la complexité inhérente à un système qui dispose de trop de fonctionnalités pour un utilisateur occasionnel. En effet, la formation au nouveau système s’adressait souvent seulement au président du bureau de vote, qui en plus de toutes les procédures purement administratives des élections (témoins, assesseurs, procès-verbal, procurations, etc.), devait également se familiariser rapidement avec un système plutôt complexe. Si les problèmes techniques et matériels ont été résolus par du remplacement de matériel, des problèmes de non-respect de procédures ont dû faire l’objet de solution ad-hoc et souvent improvisées (comme par exemple suite au problème des électeurs ayant voté alors que le système était encore en mode « votes de référence »).
L’analyse de ce nouveau système de vote avant et après les élections a mis en lumière des choix d’implémentation critiquables tant au niveau de la machine du président (logiciel complexe), de l’urne (le même avertissement sonore que le vote soit enregistré ou non) que de la machine à voter (temps de changement d’écran trop long après l’enregistrement du choix de l’utilisateur). Tous ces problèmes doivent impérativement être corrigés.
Le nouveau système a cependant tout le potentiel (entre autre en prenant en compte les recommandations du Collège) pour devenir un système de vote automatisé convivial et ouvert tant pour l’électeur que pour le bureau de vote et le bureau de totalisation. Le Collège est d’avis que la suppression de l’urne électronique (remplacée par une urne traditionnelle) et un scanning des « preuves papier » à la fin des opérations de vote est souhaitable pour simplifier les procédures, éviter qu’un bulletin soit mis dans l’urne sans être compté et augmenter la transparence du processus de totalisation.
Le Collège se doit enfin de remercier tous les intervenants avec qui il a travaillé pendant sa mission de contrôle pour leur disponibilité, leur serviabilité et leur excellente coopération : les représentants du Ministère de la Région de Bruxelles-Capitale, le Collège juridictionnel, les membres des bureaux de vote et de canton. Le Collège remercie en particulier les représentants des sociétés Stésud et SmartMatic, qui ont mis beaucoup de moyens et de temps à disposition du Collège pour qu’il puisse mener à bien sa mission.
Ainsi, grâce aux matériels et logiciels mis à sa disposition, aux informations fournies, aux codes-sources et aux logiciels et procédures qu’il a développés (recomptage d’urnes et totalisation indépendante), le Collège a pu vérifier que les systèmes de vote ont permis l’émission, la visualisation, l’enregistrement et le comptage des votes selon les dispositions légales.
Bruxelles, le 24 octobre 2012.
8. Annexe : analyse du code du système SmartMatic
8.1. Approches analytiques possibles
Afin d’évaluer le code source d’un système informatique, au moins deux approches complémentaires peuvent-être envisagées (Ryan, PYA : The computer ate my vote, Newcastle upon Tyne, NE1 7RU, England (2006)).
Approche macroscopique
La première approche, macroscopique, consiste à évaluer le système tel une boite noire. Cette boite noire sera évaluée au travers des informations fournies en entrée (par exemple, des votes) et des informations produites en sortie (par exemple, la totalisation). Le bon fonctionnement du système peut alors être évalué au moyen d’une batterie de tests et de comparaisons entre les résultats produits et ceux attendus. Bien qu’une telle approche puisse être considérée comme particulièrement efficace pour valider l’exactitude des résultats fournis en sortie (i.e. s’assurer que le résultat des élections correspond bien aux votes émis par la population), elle ne permet pas nécessairement de s’assurer du bon fonctionnement du système dans son intégralité. En effet, seules les entrées et sorties du système sont évaluées. Ainsi, cette approche ne permet que difficilement d’évaluer certaines propriétés telles que la confidentialité du vote. Par exemple, il est possible de tester qu’un système chiffrant un bulletin «b» pour obtenir le message «c» puis déchiffrant «c» reproduit bien le même «b» initialement fourni. Cependant, cela ne prouvera en aucun cas qu’il soit difficile pour un attaquant d’obtenir «b» à partir de «c» sans faire usage du système.
Approche microscopique
La deuxième approche, microscopique, consiste à étudier les rouages atomiques, i.e. indivisibles, du système et à s’assurer que l’assemblage de ces rouages donne bien lieu au système souhaité. Cette approche requiert généralement plus de compétences techniques et variées afin de pouvoir analyser ces différents types de rouages. Elle requiert également la mise à disposition de tous les « plans de construction » (code source des logiciels, etc.), des schémas (diagrammes UML complets, …), etc. qui devront être étudié. De surcroît, afin que cette analyse soit faisable avec un temps et des ressources limitées, il est essentiel que tous ces éléments soient le plus lisibles, compréhensibles, clairs, simples, … possible.
8.2. Démarches du Collège d’experts
Le Collège d’experts a entrepris les démarches afin d’évaluer le système selon les approches macroscopiques et microscopiques.
8.2.1. Outils utilisés
Afin de mener à bien sa mission, le Collège s’est doté, entre autres, des outils d’analyse suivants :
- le système d’exploitation Linux Mint Debian Edition XFCE (LMDE XFCE http://www.linuxmint.com);
- le système d’exploitation Ubuntu GNU/linux 12.04;
- l’interface de développement Eclipse (http://www.eclipse.org);
- les modules d’analyse de code sources suivants :
- Metrics (http://metrics.sourceforge.net/);
- findbugs (http://findbugs.sourceforge.net/);
- checkStyle (http://eclipse-cs.sourceforge.net/);
- eclipse-metrics (http://eclipse-metrics.sourceforge.net/);
- PMD (http://pmd.sourceforge.net/);
- Sonar (http ://docs.codehaus.org/display/SONAR/Using+Sonar+in+Eclipse).
8.2.2. Procédure prévue
- Importation des codes sources dans l’environnement de développement.
- Analyse des sources par les différents modules d’analyse (PMD, Sonar, …).
- Utilisation des rapports d’analyse des modules et de la documentation (tests unitaires, diagrammes UML, documentation techniques, …) fournis par SmartMatic afin de guider l’analyse approfondie du code. Ceci comprend, entre autres, la lecture d’une partie significative (si pas intégrale) du code de SmartMatic, l’évaluation des librairies externes dont ce code dépend (en particulier des librairies afférentes aux fonctionnalités liées à la confidentialité des votes), l’application d’une batterie de tests sur le code en vue d’en tester les limites et le bon fonctionnement, …).
- Comparaison entre ces sources, le programme exécutable produit sur base de ces sources et les codes mis au coffre, ceux analysés par l’organisme d’avis et ceux utilisés lors des élections.
- Rédaction des conclusions.
8.2.3. Procédure exécutée
Après installation et configuration des outils en vue de l’analyse, le Collège d’experts a réalisé les étapes suivantes:
- Découverte du contenu des archives.
- Nettoyage du contenu des archives.
- Sélection d’une des sources disponibles dans les archives.
- Importation de ces sources dans Eclipse.
- Application des outils d’analyse sur le code source.
- Analyse des rapports des outils, de la documentation fournie par SmartMatic et de certaines sections du code source.
- Contact avec SmartMatic pour complément d’informations.
- Recherche des codes sources correspondant au contenu mis au coffre, au contenu analysé par l’organisme d’avis et au contenu utilisé lors des élections.
- Application de méthodologie d’ingénierie inversée en vue de produire du code exécutable permettant d’une part de déchiffrer le contenu chiffré des clefs USB des élections et d’autres part d’effectuer la totalisation sur base de ce contenu déchiffré.
- Contact avec SmartMatic pour complément d’informations et de code source.
- Analyse du code source fournit par SmartMatic effectuant les opérations de déchiffrement et de totalisation décrites ci-dessus.
- Rédaction des conclusions.
8.2.4. Constatations du Collège d’experts
8.2.4.1. Importation des codes sources dans l’environnement de développement.
L’organisation du contenu des archives transmises au Collège d’experts ne permit pas de s’assurer du contenu à analyser. Plusieurs ensembles de sources y était en effet disponibles. L’importation fut possible pour la plupart d’entre elles, outre de nombreuses erreurs rapportées par l’outil Eclipse. Les archives contenaient de surcroît de très nombreuses informations superfl ues (telles que des bases de données subversion, …), augmentant ainsi artificiellement et significativement la quantité d’information à examiner.
8.2.4.2. Analyse des sources par les différents modules d’analyses (PMD, Sonar, …)
L’analyse ne fut possible qu’avec un sous-ensemble des outils signalés. En effet, certains d’entre eux requièrent que le projet soit « assemblable », afin de produire des résultats. Malheureusement, quelles que soient les sources trouvées dans les archives fournies, aucune n’était immédiatement assemblable.
8.2.4.3. Utilisation des rapports d’analyses des modules et de la documentation (tests unitaires, diagrammes UML, documentation techniques, …) fournies par SmartMatic afin de guider l’analyse approfondie du code
Les résultats des outils ayant pu s’appliquer sur les codes sources sont unanimes. La qualité du code serait estimée comme particulièrement basse. Ceci impacte largement l’auditabilité des sources puisque cette dernière dépend de la quantité de code à analyser, de sa lisibilité, … Facteurs qui furent, de part le niveau de qualité, largement impactés.
Le code source ne contient pas le moindre test unitaire, élément pourtant indispensable au développement d’une telle application et servant également de documentation pour les autres développeurs et/ou auditeurs.
La documentation technique n’était pas suffisamment précise, certains détails omis se sont révélés d’importance capitale au bon déroulement de la mission du Collège. De surcroît, la plupart des diagrammes se sont révélés trop superficiels et donc inutiles de par le manque de précisions (nom des relations, cardinalités, etc.).
Le Collège n’a ainsi pas pu modifier ou tester le code source tel que prévu. Le Collège n’a pas pu non plus, au vu des ressources (incluant le temps) à sa disposition, recréer de lui même intégralement et à partir de zéro un programme qui déchiffrerait les votes chiffrés contenu sur la clef USB du président d’un bureau de vote et effectuerait la totalisation correspondante. Fort heureusement, une telle tâche a pu être effectuée en collaboration avec SmartMatic.