Community-Programm Die wichtigsten Punkte im Überblick
2019 hat die Post den Quellcode einer früheren Version ihres E-Voting-Systems mit vollständiger Verifizierbarkeit offengelegt. Seither entwickeln wir das System weiter und verbessern die Dokumentation und Auditierbarkeit. Die Rückmeldungen der Beteiligten waren für uns eine wichtige Basis für die Ausgestaltung des laufenden Programms, insbesondere was die Möglichkeiten zur Zusammenarbeit mit Interessierten betrifft. Die Offenlegung des Systems erfolgt fortwährend und nachvollziehbar. Der Austausch mit Fachleuten ist ein zentraler Bestandteil des E-Voting-Community-Programms. Auch nach der Erteilung der Grundbewilligung wird die Post das System weiterentwickeln und dabei auch künftig die Expertise von Fachleuten aus der ganzen Welt nutzen.
Die Post hat im Laufe von 2021 alle relevanten Komponenten und Dokumente ihres zukünftigen E-Voting-Systems veröffentlicht. Diese liegen dauerhaft für die öffentliche Überprüfung bereit. Nachstehend sind die Objekte aufgeführt und beschrieben. Auf GitLabTarget not accessible sind sie ohne Anmeldung einsehbar.
Prüfbereiche E-Voting-System
Spezifikation System
Die Spezifikation entspricht einer detaillierten Beschreibung des kryptografischen Protokolls. Es beschreibt den Ablauf von der Konfiguration des elektronischen Urnengangs, über die Phase der Stimmabgabe bis zur Auszählung. Es enthält sogenannte Pseudo-Codes, die zur Veranschaulichung von Algorithmen dienen. Die Spezifikation beschreibt die allgemeineren Algorithmen und einige der ihnen zugrunden liegenden Bausteine.
Spezifikation auf GitLab einsehen
Architekturdokumentation
Die Architekturdokumentation beschreibt das Gesamtgefüge des E-Voting-Systems: angefangen mit den rechtlichen Rahmenbedingungen, über die eigentliche E-Voting-Lösung mit ihren verschiedenen Komponenten und Schnittstellen sowie Architektur-Grundsätze und -Entscheide bis hin zu den Qualitätsanforderungen, die an das System gestellt werden.
Architekturdokumentation auf GitLab einsehen
Quellcode System
Unter einem Quellcode versteht man einen Text, der in einer bestimmten Programmiersprache verfasst ist. Dieser nennt die genauen Regeln und Vorgaben, aus der eine Software entsteht. Der Quellcode des E-Voting-Systems enthält die Bausteine der gesamten Software, mit denen die Vorgaben des kryptografischen Protokolls umgesetzt werden.
Der veröffentlichte Quellcode des E-Voting-Systems ist so aufbereitet, dass er sich einfach kompilieren, testen und simulieren lässt.
(technisches Hilfsmittel für Wahlprüferinnen und -prüfer)
Das neue E-Voting-System der Schweizerischen Post verfügt über vollständige Verifizierbarkeit. Eine kantonale Wahlbehörde kann mit diesem System nach der Schliessung der Urne alle elektronisch abgegebenen Stimmen überprüfen und sämtliche Unregelmässigkeiten feststellen. Für diese Überprüfung steht der Behörde eine Verifizierungssoftware zur Verfügung. Diese vom System unabhängige, mit keinem Netzwerk verbundene Software weist nach, ob die erzeugten kryptografischen Beweise korrekt registriert wurden. Sind alle Beweise korrekt, belegt dies die Unverfälschtheit aller elektronisch abgegebenen Stimmen und deren Auszählung. Die Software erkennt u.a., wenn der Server des Anbieters, auf denen das System läuft, unterwandert wurde.
Die Post veröffentlicht die Verifikationssoftware unter einer freizügigen Open-Source-Lizenz.
Auf dieser Basis können Dritte mit oder ohne kommerzielle Absichten die Software prüfen sowie neuentwickeln und als eigenständiges Produkt auf den Markt zu bringen. Die Absicht der Post ist damit, den Einsatz einer Verifikationssoftware von Dritten zu ermöglichen.
Kryptografisches Protokoll
Dieses wissenschaftliche Dokument beschreibt in einer mathematischen Form das E-Voting-System der Post. Es zeigt auf, dass die kryptografischen Elemente die Wahrung des Stimmgeheimnisses sowie die individuelle und universelle Verifizierbarkeit gewährleisten.
Die Neuerungen am kryptografischen Protokoll seit 2019 sind in einer Begleitdokumentation beschrieben, die ebenfalls auf GitLab verfügbar ist.
Kryptografisches Protokoll auf GitLab einsehen
Symbolische Analyse
Die symbolische Analyse ist eine Ergänzung zu den kryptografischen Beweisen, um die Wahrung des Stimmgeheimnisses sowie die Einhaltung der individuellen und universellen Verifizierbarkeit des E-Voting-Systems der Post nachzuweisen. Die symbolische Analyse ist in der Programmiersprache Proverif verfasst und kann mithilfe einer geeigneten Software maschinell auf ihre Korrektheit überprüft werden.
Die von der Post bereitgestellte Library enthält zentrale kryptografische Algorithmen, sogenannte Crypto-Primitives. Diese werden sowohl im E-Voting-System als auch in der separaten Verifizierungssoftware benutzt. Ein wichtiger Bestandteil der aktuell verfügbaren Crypto-Primitives sind die Algorithmen, die im Mischnetzwerk verwendet werden. Weitere Algorithmen werden in späteren Offenlegungsetappen integriert.
Die Spezifikationen zu den Crypto-Primitives sind ebenfalls verfügbar.
Vom 17. Juni bis am 3. Juli 2024 hat die Post einen öffentlichen Intrusionstest durchgeführt, bei dem ethische Hackerinnen und Hacker versuchen konnten, in die E-Voting-Infrastruktur einzudringen. Der Intrusionstest ist eine wiederkehrende Massnahme im Rahmen der Überprüfung des E-Voting-Systems und eine rechtliche Anforderung des Bundes. Es besteht damit neben der statischen (Dokumentanalyse) und der dynamischen (Ausführen des Systems auf dem eigenen Computer) eine dritte Testmöglichkeit. Die Post wird auch zukünftig öffentliche Intrusionstests durchführen.
Systemdokumentation («Infrastructure Whitepaper»)
Das Infrastruktur-Whitepaper beschreibt die E-Voting-Infrastruktur mit allen umgesetzten Sicherheitsaspekten. Dazu gehören Informationen zu den Rechenzentren sowie der Aufbau und Einsatz der Infrastruktur und Datenbanken. Weiter sind die verschiedenen Sicherheitsmassnahmen beschrieben.
Systemdokumentation auf GitLab einsehen
Operation Whitepaper
Das Operation Whitepaper beschreibt die E-Voting-Betriebsabläufe mit allen implementierten Sicherheitsaspekten. Dazu gehören Informationen zur Betriebsorganisation, Support-Bestimmungen, Änderung und Wartung sowie Prozesse für Backup und Wiederherstellung.
Operations Whitepaper auf GitLab einsehenTarget not accessible
Beschreibung Entwicklungsprozess
Die Post entwickelt das E-Voting-System in agiler Projektführung. Dieses Dokument beschreibt die Softwareentwicklung, gibt einen Überblick über die eingesetzten Tools und zeigt auf, wie die zahlreichen Qualitätsvorgaben bei der Entwicklung eingehalten und wie diese überprüft werden. Zudem ist das Vorgehen zur regelmässigen Offenlegung des Quellcodes beschrieben.
Beschreibung Entwicklungsprozess auf GitLab einsehen
Trusted Build
Der Trusted Build ist eine zuverlässige und überprüfbare Software-Kompilierung, um sicherzustellen, dass der ausführbare Release aus geprüften Komponenten erstellt wird. Es werden verfahrenstechnische und organisatorische Massnahmen zur Erfüllung der Anforderungen des VEleS durchgeführt.
Trusted Build auf GitLab einsehenTarget not accessible
Testkonzept
Zur Entwicklung des E-Voting-Systems gehören Tests auf verschiedenen Ebenen. Die Software wird auf die Konformität mit den Anforderungen der Verordnung der Bundeskanzlei über die elektronische Stimmabgabe (VEleS) sowie auf internen Vorgaben der Post CH AG gemäss Standard ISO 25010 überprüft. Das Testkonzept beschreibt das gesamte Vorgehen mit den Testobjekten, der verwendeten Infrastruktur, dem Reporting und der Testorganisation.
Was Sie erwartet
Was erwartet Sie, wenn Sie am E-Voting-Community-Programm teilnehmen? Nachstehend finden Sie die wichtigsten Punkte im Überblick:
E-Voting-System 2019
2019 hat die Post den Quellcode einer früheren Version ihres E-Voting-Systems mit vollständiger Verifizierbarkeit offengelegt. Diese Dokumente sind auch auf GitLab verfügbar.