Programme de la communauté Récapitulatif des points essentiels
En 2019, la Poste a publié le code source d’une version antérieure de son système de vote électronique avec vérifiabilité complète. Depuis lors, nous poursuivons le développement du système et améliorons la documentation et l'auditabilité. Les retours des participants nous ont fourni une base importante pour la conception du programme actuel, notamment en ce qui concerne les possibilités de collaboration avec les personnes intéressées. La publication du système s’effectue de manière permanente et vérifiable. L’échange avec des spécialistes constitue un aspect essentiel du programme Communauté Vote électronique. Même après la confirmation de l’autorisation générale, la Poste continuera de développer le système et de mettre à profit l’expertise de spécialistes du monde entier.
Dans le courant de l’année 2021, la Poste a publié tous les composants et documents pertinents de son futur système de vote électronique. Ils sont désormais disponibles de façon permanente pour le contrôle public. Les éléments sont présentés et décrits ci-dessous. Ils peuvent être consultés sans inscription sur GitLabTarget not accessible.
Domaines d’examen système de vote électronique
Spécification du système
La spécification correspond à une description détaillée du protocole cryptographique. Celui-ci décrit l’ensemble du processus, de la configuration du scrutin électronique au dépouillement, en passant par la phase de vote. Il contient ce que l’on appelle des pseudo-codes, qui servent à la description des algorithmes. La spécification décrit les algorithmes les plus généraux et quelques-uns des éléments constitutifs qui les sous-tendent.
Consulter la spécification sur GitLabTarget not accessible
Documentation d’architecture
La documentation d’architecture décrit la structure globale du système de vote électronique, du cadre juridique aux exigences de qualité posées à l’égard du système, en passant par la solution de vote électronique proprement dite, avec ses divers éléments et interfaces ainsi que ses principes et décisions en matière d’architecture.
Consulter la documentation d’architecture sur GitLabTarget not accessible
Code source du système
On entend par code source un texte rédigé dans un certain langage de programmation. Ce texte mentionne les règles et les directives précises qui permettent de développer un logiciel. Le code source du système de vote électronique comprend les composants de l’ensemble du logiciel avec lesquels les directives du protocole cryptographique sont appliquées.
Le code source publié du système de vote électronique est conçu de manière à pouvoir être compilé, testé et simulé facilement.
(aide technique pour scrutateurs)
Le nouveau système de vote électronique de la Poste dispose de la vérifiabilité complète. Ce système permet à une autorité électorale cantonale, après la fermeture de l’urne, de vérifier l’ensemble des votes comptabilisés par voie électronique et de constater toute irrégularité. Les scrutateurs disposent à cet effet du logiciel de vérification. Indépendant du système et non connecté à un réseau, ce logiciel atteste que les preuves cryptographiques générées ont été correctement enregistrées. Si toutes les preuves sont correctes, cela étaye l’authenticité de tous les votes comptabilisés par voie électronique et de leur dépouillement. Le logiciel peut par exemple détecter une intrusion dans le serveur du prestataire hébergeant le système.
La Poste publie le logiciel de vérification sous licence open source libre d’accès.
Cela permet aux tiers ayant ou non des ambitions commerciales de vérifier le logiciel et d’en concevoir un nouveau pour le commercialiser en tant que produit indépendant. La Poste veut ainsi permettre à des tiers l’utilisation d’un logiciel de vérification.
Consulter le logiciel de vérification sur GitLab.Target not accessible
Protocole cryptographique
Ce document scientifique décrit mathématiquement le système de vote électronique de la Poste. Il prouve que les éléments cryptographiques garantissent le respect du secret de vote ainsi que la vérifiabilité individuelle et universelle.
Les nouveautés apportées au protocole cryptographique depuis 2019 sont décrites dans une documentation d’accompagnement qui est également disponible sur GitLab.
Consulter le protocole cryptographique sur GitLabTarget not accessible
Analyse symbolique
Complément aux preuves cryptographiques, l’analyse symbolique vise à garantir le secret du vote et à prouver le respect de la vérifiabilité individuelle et universelle du système de vote électronique de la Poste. L’analyse symbolique est rédigée dans le langage de programmation Proverif. Il est possible d’en vérifier l’exactitude automatiquement à l’aide d’un logiciel approprié.
Consulter l’analyse symbolique sur GitLabTarget not accessible
La bibliothèque logicielle mise à disposition par la Poste contient des algorithmes cryptographiques centraux appelés «primitives cryptographiques». Ils sont utilisés à la fois dans le système de vote électronique et dans le logiciel de vérification séparé. Les algorithmes employés dans le réseau mixte constituent un élément important des primitives cryptographiques actuellement disponibles. D’autres algorithmes y seront intégrés lors des prochaines étapes de la publication.
Les spécifications relatives aux primitives cryptographiques sont également disponibles.
Du 17 juin au 3 juillet, la Poste a réalisé un test d’intrusion public au cours duquel des hackers éthiques ont pu mettre à l’épreuve l’infrastructure de vote électronique. Le test d’intrusion est une mesure régulièrement mise en place dans le cadre du contrôle du système de vote électronique et une exigence légale de la Confédération. Outre le test statique (analyse de documents) et le test dynamique (exécution du système sur le propre ordinateur), il existe un troisième type de test. À l’avenir aussi, la Poste effectuera des tests d’intrusion publics.
Documentation système («Livre blanc Infrastructure»)
Le Livre blanc Infrastructure décrit l’infrastructure de vote électronique ainsi que tous les aspects relatifs à la sécurité mis en œuvre, ce qui inclut des informations sur les centres de calcul ainsi que sur l’organisation et l’utilisation de l’infrastructure et des bases de données. Les différentes mesures de sécurité y sont également détaillées.
Consulter la documentation système sur GitLabTarget not accessible
Livre blanc Operation
Le livre blanc Operation décrit les processus d’exploitation du vote électronique avec tous les aspects relatifs à la sécurité qui ont été implémentés. Il contient notamment des informations sur l’organisation d’exploitation, la modification et l’entretien ainsi que les processus pour la sauvegarde et la restauration, mais aussi les dispositions relatives à l’assistance.
Consulter le Livre blanc Operation sur GitLabTarget not accessible
Description du processus de développement
La Poste développe le système de vote électronique dans le cadre d’un projet conduit de manière agile. Ce document détaille le développement logiciel, donne un aperçu des différents outils employés, et montre de quelle manière les nombreuses prescriptions en matière de qualité sont respectées et par quel moyen celles-ci sont contrôlées. De plus, il y est également fait état de la procédure suivant laquelle le code source est régulièrement publié.
Consulter la description du processus de développementTarget not accessible
Trusted build
Le trusted build est une compilation logicielle fiable et contrôlable qui permet de s’assurer que le release exécutable soit créé à partir de composants vérifiés. Des mesures sont mises en places sur le plan de l’organisation et de la procédure technique pour répondre aux exigences de l’OVotE.
Consulter le trusted build sur GitLabTarget not accessible
Concept de test
Le développement du système de vote électronique implique des tests à différents niveaux. Il est notamment vérifié que le logiciel est effectivement conforme aux exigences établies par l’ordonnance de la Chancellerie fédérale sur le vote électronique (OVotE) ainsi qu’aux prescriptions internes de Poste CH SA, selon la norme ISO 25010. Le concept de test décrit l’ensemble de la procédure, dont les objets des tests, l’infrastructure utilisée, le reporting ainsi que l’organisation des tests.
Consulter le concept de test sur GitLabTarget not accessible
Au programme
À quoi pouvez-vous vous attendre si vous participez au programme de la Communauté Vote électronique? Vous trouverez ci-après un aperçu des points essentiels:
Système de vote électronique 2019
En 2019, la Poste a publié le code source d’une version antérieure de son système de vote électronique avec vérifiabilité complète. Ces documents sont également disponibles sur GitLab.