Die Weiterentwicklung des Online-Wahlsystems von POLYAS folgt stets den Ansprüchen der Wissenschaft und der Praxis. Der Schwerpunkt in der aktuellen Forschung liegt derzeit auf dem Ausbau der Öffentlichkeit und Transparenz von POLYAS Online-Wahlen für den Wähler.

Insbesondere durch das Wahlcomputer-Urteil des Bundesverfassungsgerichts aus dem Jahr 2009 kommt den Kriterien „Öffentlichkeit“ und „Nachvollziehbarkeit“ bei elektronischen Wahlen eine besonders große Bedeutung zu.

Dies ist eine Zusammenfassung des wissenschaftlichen Artikels „Cast-as-intended-Verifikation für das POLYAS-Internetwahlsystem“ von Stephan Neumann, Melanie Volkamer, Moritz Strube, Achim Brelle und Wolfgang Jung. Erschienen im Magazin „Datenschutz und Datensicherheit“, Ausgabe 11/2015 erschienen im Springer Gabler Wissenschaftsverlag, ISSN: 1614-0702.

Die Verifikation der Online-Stimmabgabe: End-to-End-Verification in drei Stufen

Um die korrekte Stimmauszählung in der elektronischen Wahlurne nachvollziehen zu können, muss die Stimmabgabe verifizierbar sein für den Wähler. Aus technischer Sicht wird die Verifizierbarkeit in drei Schritte unterteilt: „cast-as-intended“, „stored-as-cast“ und „tallied-as-stored“.

  1. Cast-as-intended: Die Wähler überprüfen die korrekte Übermittlung ihrer Stimme an die zentralen Wahlsystemkomponenten.
  2. Stored-as-cast: Die Wähler überprüfen, dass ihre Stimme unverändert zwischengespeichert wird und korrekt in die Auszählung geht.
  3. Tallied-as-stored: Der Wahlleiter kontrolliert die korrekte Auszählung aller übermittelten Stimmen; unabhängig von einzelnen Wählern.

Verifikationsmöglichkeiten im POLYAS Wahlsystem

Bereits im Jahr 2011 implementierte POLYAS in Zusammenarbeit mit universitären Wissenschaftlern eine Erweiterung des POLYAS Online-Wahlsystems, die den Wählern die dritte Stufe der Verifizierbarkeit ermöglicht (tallied-as-stored). Hiermit kann die Auszählung in einem unabhängigen Tool erneut durchgeführt werden und damit die Korrektheit des Ergebnisses des POLYAS-Wahlsystems überprüft werden.
Mehr zur tallied-as-stored-Verifikation bei POLYAS

Nun wurde die erste Stufe der Verifizierbarkeit für das POLYAS-Onlinewahlsystem entwickelt, der insbesondere im Hinblick auf die weite Verbreitung von Schadsoftware eine besondere Bedeutung zukommt.
Zur Umsetzung der Cast-as-intended-Verifizierung stehen verschiedene Möglichkeiten zur Verfügung. Sie kann beispielsweise in Form einer iterativen cut-and-choose-Prüfung, über logisch getrennte Geräte oder über Bestätigungscodes erreicht werden.

Geringe Veränderung des Wahlprozesses aus Wählersicht

Bei der Implementierung der Cast-as-intended-Verifizierung des POLYAS Online-Wahlsystems war zu berücksichtigen, dass das Gesamtsystem für die laufende Zertifizierung nach Common Criteria durch das Bundesamt für Sicherheit in der Informationstechnik (BSI) so geringfügig wie nötig verändert wird. Daher wurde für POLYAS eine Verifizierung mit Hilfe von Bestätigungscodes entwickelt. Die Grundidee dieses Ansatzes ist es, jedem Wähler vorab und unabhängig von seinem Endgerät eine Liste mit Codes zur Verfügung zu stellen, die einen eindeutigen Bezug zwischen seiner Wahlpräferenz und den Codes herstellen. Die Verifizierung mit Hilfe eines Bestätigungscodes hat gegenüber den beiden anderen Alternativen den Vorteil, dass weder zusätzliche Hardware erforderlich ist, noch umfangreiche Änderungen am bestehenden Wahlsystem vorgenommen werden müssen.

Implementierung der Cast-as-intended-Verifikation bei POLYAS

In der Vorbereitungsphase einer Wahl erzeugt das elektronische Wählerverzeichnis des POLYAS Wahlsystems für jeden Wähler eine geordnete Liste zufälliger Codes. Dabei wird jeder Wahloption ein eindeutiger Bestätigungscode zugeordnet. Weiterhin erzeugt das Wählerverzeichnis für jeden Stimmberechtigten einen Authentifizierungscode, der mit einem Rubbelfeld versehen ist. Sowohl die Authentifizierungsunterlagen, als auch die Code-Liste werden den Stimmberechtigten postalisch übermittelt.

Zu Beginn der Wahl besucht der Wähler die Webseite des elektronischen Wählerverzeichnisses und authentifiziert sich dort mit seinen Zugangsdaten. Das Wählerverzeichnis ermittelt die Wahlberechtigung durch den Abgleich des Hash-Wertes vom Wähler-Passwort mit der internen Datenbank auf dem Validator. Ist die Wahlberechtigung vorhanden, bittet das Wählerverzeichnis den Validator um einen Token (=Sicherheitsschlüssel) für den Wähler. Ermittelt der Validator den Wähler als stimmberechtigten Eintrag in seiner Datenbank, sendet er ein Token an das Wählerverzeichnis, das diesen wiederum an den Wähler weitergibt. Mit diesem Token wird der Wähler anonymisiert an die Wahlurne weitergeleitet und kann seine Stimme abgeben. Nach der Stimmabgabe wird der Token im Validator als ungültig markiert, sodass dieser Schlüssel nicht erneut verwendet werden kann.

Für die Überprüfung seiner korrekten Stimmweitergabe innerhalb des Wahlsystems erhält der Wähler eine verschlüsselte Liste mit Bestätigungscodes. Diese Codes sind mit dem öffentlichen Schlüssel des Urnenservers verschlüsselt und werden unbearbeitet vom Wähler zusammen mit seiner Stimme an den Urnenserver übertragen.

Wie der Wähler mithilfe der Bestätigungscodes seine Stimmabgabe überprüfen kann, erfahren Sie ist im Folgenden.

Positive Verifikation

Der Urnenserver entschlüsselt die erhaltene Code-Liste, interpretiert die Wahlpräferenz des Wählers und sendet den Bestätigungscode anstelle der entsprechenden Wahloption an den Wähler zurück. Nach Erhalt des Bestätigungscodes prüft der Wähler diesen Code gegen den Bestätigungscode in der Liste, die er zusammen mit den Authentifizierungsunterlagen erhalten hat. Stimmt der Code überein, hat der Wähler die Bestätigung, dass seine Wahlpräferenz unverändert an den Urnenserver übermittelt wurde und braucht keine weiteren Aktionen vorzunehmen. Das elektronische Wählerverzeichnis und die Wahlurne verwerfen die zwischengespeicherte Relation nach einer vorgegebenen Zeit (beispielsweise eine Stunde) und die Wahlurne speichert nun die abgegebene Stimme zur Auszählung.

Negative Verifikation

Stimmt der Code nicht überein, kann der Wähler mit Hilfe seines Authentifizierungscodes den Service des Wählerverzeichnisses aufrufen und die Diskrepanz zwischen erhaltenem und erwartetem Bestätigungscode melden. Das Wählerverzeichnis identifiziert den entsprechenden Token und gibt eine Meldung an den Urnenserver, dass die zu diesem Token gehörende Stimme gelöscht werden soll. Danach wird der Wähler zur erneuten Stimmabgabe freigeschaltet.

Bedeutung der Verifizierbarkeit von Online-Wahlsystemen und Ausblick der weiteren Forschung

Die aktuellen Erweiterungen des POLYAS Online-Wahlsystems sind ein bedeutender Schritt zur Herstellung des, vom Bundesverfassungsgericht geforderten, Wahlgrundsatzes der Öffentlichkeit.

Zur Erreichung einer umfassenden End-to-End-Verifizierbarkeit arbeitet die Forschungsabteilung von POLYAS an zusätzlichen Schritten der Verifikation, sodass eine lückenlose Verfolgung des virtuellen Stimmzettels möglich wird. So entwickeln wir eine weitere Kontrollfunktion, mit deren Hilfe die Wähler überprüfen können, ob die von ihnen abgegebene Stimmen in den zentralen Komponenten des Wahlsystems korrekt zur Auszählung zwischengespeichert wird (stored-as-cast). Somit zielen wir auf eine noch höhere Transparenz sowohl für den Online-Wähler als auch für den Wahlleiter.

Das Projekt (HA-Projekt-Nr. 435/14-25) wird im Rahmen von Hessen ModellProjekte aus Mitteln der LOEWE – Landes-Offensive zur Entwicklung wissenschaftlich-ökonomischer Exzellenz, Förderlinie 3: KMU-Verbundvorhaben gefördert.