plattform-eva / revision-politische-rechte-2021

Diskussion zu einer gemeinsamen Antwort zur eidgenössischen Vernehmlassung 2021/61: Änderung der Verordnung über die politischen Rechte (VPR) und der Verordnung der BK über die elektronische Stimmabgabe (VEleS)
Creative Commons Zero v1.0 Universal
13 stars 1 forks source link

Anhang VEleS Ziff. 2. Anforderungen an das kryptografische Protokoll für die vollständige Verifizier #37

Open dune73 opened 3 years ago

dune73 commented 3 years ago

Wortlaut der Vorlage

  1. Anforderungen an das kryptografische Protokoll für die vollständige Verifizierbarkeit (Art. 5)

2.1 Systemteilnehmende Das kryptografische Protokoll regelt die Aufgaben der folgenden abstrakten Systemteilnehmenden:

2.2 Kommunikationskanäle

Das kryptografische Protokoll kann die folgenden Kommunikationskanäle zum Austausch von Nachrichten zwischen den Systemteilnehmenden vorsehen:

2.3 Angreifer

2.3.1 Das kryptografische Protokoll muss vor einem Angreifer Schutz bieten, der versucht, missbräuchlich auf die Stimmen und das Ergebnis einzuwirken, das Stimmgeheimnis zu brechen oder Teilergebnisse vorzeitig zu erheben (Ziffern 2.5-2.8).

2.3.2 Es muss die Annahme getroffen werden, dass ein Angreifer über folgende Fähigkeiten verfügt:

2.4 Vertrauenswürdige und nicht vertrauenswürdige Systemteilnehmende und Kommunikationskanäle

2.4.1 Systemteilnehmende und Kommunikationskanäle gelten entweder als «vertrauenswürdig» oder als «nicht vertrauenswürdig». Die zulässigen Vertrauensannahmen für die einzelnen Systemteilnehmenden sind in Ziffer 2.9 geregelt.

2.4.2 Vertrauenswürdige Systemteilnehmende und Kommunikationskanäle werden als gegen Angreifer geschützt betrachtet. Für das kryptografische Protokoll darf namentlich von folgenden Annahmen ausgegangen werden:

2.5 Anforderung an das kryptografische Protokoll: individuelle Verifizierbarkeit

Die stimmberechtigte Person erhält Beweise nach Artikel 5 Absatz 2 in Verbindung mit Artikel 6 Buchstaben a und b zur Bestätigung, dass der Angreifer:

2.6 Anforderung an das kryptografische Protokoll: universelle Verifizierbarkeit

Die Prüferinnen und Prüfer erhalten Beweise nach Artikel 5 Absatz 3 Buchstabe a in Verbindung mit Artikel 6 Buchstaben a und c zur Bestätigung, dass der Angreifer:

2.7 Anforderung an das kryptografische Protokoll: Stimmgeheimnis und Fehlen vorzeitiger Teilergebnisse

2.7.1 Es muss sichergestellt sein, dass der Angreifer weder das Stimmgeheimnis brechen noch vorzeitige Teilergebnisse erheben kann, ohne zusätzlich die Stimmberechtigten oder deren Benutzerplattformen unter seine Kontrolle zu bringen.

2.7.2 Mit Ausnahme der stimmenden Person und ihrer Benutzerplattform gelten Systemteilnehmende, die über genügend Informationen verfügen, um das Stimmgeheimnis zu brechen oder vorzeitige Teilergebnisse zu erheben, nicht als gegen den Angreifer geschützt.

2.7.3 Es muss sichergestellt sein, dass der Angreifer die Benutzerplattformen nicht unbemerkt unter seine Kontrolle bringen kann, indem er die Software für die Benutzerplattformen auf dem Server manipuliert. Die stimmende Person muss die Möglichkeit haben, zu prüfen, ob ihre Benutzerplattform vom Server die korrekte Software mit den korrekten Parametern, insbesondere dem öffentlichen Schlüssel zur Verschlüsselung der Stimme, erhalten hat.

2.8 Anforderung an das kryptografische Protokoll: wirksame Authentisierung

Es muss sichergestellt sein, dass der Angreifer keine Stimme systemkonform abgeben kann, ohne die entsprechenden Stimmberechtigten unter seine Kontrolle zu bringen.

2.9 Aufzählung der vertrauenswürdigen und nicht vertrauenswürdigen Systemteilnehmenden

2.9.1 Für die Stichhaltigkeit der Beweise nach Ziffer 2.5

2.9.1.1 Die folgenden Systemteilnehmenden gelten als nicht vertrauenswürdig:

2.9.1.2 Die folgenden Systemteilnehmenden dürfen als vertrauenswürdig gelten:

2.9.2 Für die Stichhaltigkeit der Beweise nach Ziffer 2.6

2.9.2.1 Die folgenden Systemteilnehmenden gelten als nicht vertrauenswürdig:

2.9.2.2 Die folgenden Systemteilnehmenden dürfen als vertrauenswürdig gelten:

2.9.3 Für die Wahrung des Stimmgeheimnisses und das Fehlen vorzeitiger Teilergebnisse nach Ziffer 2.7

2.9.3.1 Die folgenden Systemteilnehmenden gelten als nicht vertrauenswürdig:

2.9.3.2 Die folgenden Systemteilnehmenden dürfen als vertrauenswürdig gelten:

2.9.3.3 Wird eine gesamte Gruppe von Kontrollkomponenten bei einem privaten Systembetreiber eingesetzt, so gilt keine dieser Kontrollkomponenten als vertrauenswürdig.

2.9.4 Für die Wirksamkeit der Authentifizierung nach Ziffer 2.8

2.9.4.1 Die folgenden Systemteilnehmenden gelten als nicht vertrauenswürdig:

2.9.4.2 Die folgenden Systemteilnehmenden dürfen als vertrauenswürdig gelten:

2.10 Aufzählung der vertrauenswürdigen und nicht vertrauenswürdigen Kommunikationskanäle

2.10.1 Die folgenden Kommunikationskanäle gelten als nicht vertrauenswürdig:

2.10.2 Die folgenden Kommunikationskanäle dürfen als vertrauenswürdig gelten:

2.11 Zusätzliche Anforderungen an die Stichhaltigkeit der Beweise

2.11.1 Die Wahrscheinlichkeit für den Angreifer, einen Beweis nach Ziffer 2.5 fälschen zu können, wenn er eine Teilstimme verändert, eine Teilstimme unterschlägt oder in fremdem Namen eine Stimme abgibt, darf höchstens 0.1% betragen.

2.11.2 Die Wahrscheinlichkeit für den Angreifer, einen Beweis nach Ziffer 2.6 fälschen zu können, wenn er durch Verändern und Unterschlagen von systemkonform abgegebenen Stimmen sowie durch Einfügen von nicht systemkonform abgegebenen Stimmen bewirkt, dass das berechnete Ergebnis um 0.1% vom korrekten Ergebnis abweicht, darf pro Vorlage, Listenwahl oder Kandidatenwahl höchstens 1% betragen.

2.11.3 Ist die Wahrscheinlichkeit für den Angreifer, einen Beweis nach Ziffer 2.6 fälschen zu können, nicht im kryptografischen Sinn vernachlässigbar ^3, muss die Erfolgswahrscheinlichkeit durch mehrmaliges Auszählen beliebig reduziert werden können, indem die Prüferinnen und Prüfer zu jeder Auszählung einen zusätzlichen, unabhängigen Beweis nach Ziffer 2.6 erhalten.

^3 Dies entspricht etwa der Wahrscheinlichkeit, einen verschlüsselten Wert, der mit einem als sicher geltenden Algorithmus und entsprechender Parametrisierung verschlüsselt wurde, ohne Kenntnis des Schlüsselsentschlüsseln zu können.

2.12 Funktionale Anforderungen an den Prozess der Stimmabgabe mit Auswirkungen auf das kryptografische Protokoll

2.12.1 Mit den Authentisierungsmerkmalen, die einer stimmberechtigten Person zugewiesen sind, kann nur eine Stimme abgegeben werden.

2.12.2 Die stimmende Person gibt ihre Stimme in die Benutzerplattform ein.

2.12.3 Die stimmende Person kann die Stimme bis zur Willensbekundung, sie abgeben zu wollen, verändern und anhand einer Übersicht prüfen.

2.12.4 Nachdem die stimmende Person die Möglichkeit hatte, die Stimme anhand der Übersicht zu prüfen, gibt sie in die Benutzerplattform ein, dass sie die Stimme in der eingegebenen Form abgeben will.

2.12.5 Die Beweise für die korrekte Stimmabgabe nach Ziffer 2.5 müssen sich in mindestens zwei sequenzielle Teilbeweise gliedern. Jede als Teilbeweis dargestellte Anzeige muss einen echten Beitrag an die Stichhaltigkeit des Beweises nach Ziffer 2.5 bilden.

2.12.6 Die Benutzerplattform zeigt der stimmenden Person den ersten Teilbeweis an, nachdem diese in die Benutzerplattform eingegeben hat, dass sie die Stimme abgeben will.

2.12.7 Die Benutzerplattform zeigt der stimmenden Person den nachfolgenden Teilbeweis erst dann an, wenn diese die Korrektheit des vorherigen Teilbeweises durch eine Eingabe in die Benutzerplattform bestätigt hat.

2.12.8 Indem die stimmende Person die Korrektheit des vorletzten Teilbeweises bestätigt, bekundet sie den Willen, die Stimme definitiv abgeben zu wollen.

2.12.9 Die Gruppe von Kontrollkomponenten registriert die Stimme als systemkonform abgegeben, wenn sie die Bestätigung, die Stimme definitiv abgeben zu wollen, erhalten hat.

2.12.10 Hat die stimmende Person den letzten Teilbeweis mit positivem Ergebnis geprüft, so ist die Stimmabgabe abgeschlossen. Der letzte Teilbeweis soll besonders leicht zu prüfen sein, indem sich die Prüfung möglichst auf die korrekte Anzeige eines einzigen Codes oder einer anderen einfachen Anzeige beschränkt.

2.12.11 Werden Stimmdaten importiert, so ist eine Setup-Komponente oder eine Druckkomponente ab jenem Zeitpunkt nicht mehr als vertrauenswürdig zu betrachten.

2.12.12 Werden in der Vorbereitung des Urnengangs vertrauliche Daten in ein Hilfsmittel der Prüferinnen und Prüfer importiert, so gelten für dieses dieselben Bestimmungen wie für Setup-Komponenten nach Ziffern 2 und 3.

2.13 Anforderungen an die Definition und die Beschreibung des kryptografischen Protokolls

2.13.1 Wo möglich werden Bausteine verwendet, die weltweit verbreitet sind und vertieft durch kompetente Personen geprüft wurden. Als Massgabe können Standards, Referenzprojekte sowie wissenschaftliche Publikationen beigezogen werden. Abweichungen und Zweifelsfälle müssen im Rahmen der Risikobeurteilung nach Artikel 4 gesondert behandelt werden.

2.13.2 Handlungsanweisungen dürfen nicht unterspezifiziert sein. Die einzelnen Handlungsanweisungen müssen die Umsetzungsmöglichkeiten so weit eingrenzen, dass jede Umsetzung, die die Anweisung zulässt, auch mit der Erfüllung der Anforderungen an das kryptografische Protokoll konform ist.

2.14 Beweise über die Erfüllung der Anforderungen an das kryptografische Protokoll

2.14.1 Ein symbolischer und ein kryptografischer Beweis müssen belegen, dass das kryptografische Protokoll die Anforderungen in Ziffern 2.1-2.12 erfüllt.

2.14.2 Die Beweise müssen direkt auf die Protokollbeschreibung Bezug nehmen, die als Grundlage für die Systementwicklung dient.

2.14.3 Die Beweise dürfen bezüglich kryptografischer Grundkomponenten unter allgemein akzeptierten Sicherheitsannahmen geführt werden (beispielsweise «random oracle model», «decisional Diffie-Hellman assumption», «Fiat-Shamir heuristic»).

Referenzen

Ziff. 2 Anforderungen an das kryptografische Protokoll für die vollständige Verifizierbarkeit (Art. 5)

Elektronische Stimmen reisen von der Abgabe bis zur Auszählung von den Benutzerplattformen durch das Internet und über zahlreiche Server des Systemanbieters zum Kanton. Die einzelnen Elemente der genutzten Infrastruktur sind zahlreich und lassen sich nur schwer kontrollieren. Kryptografische Protokolle erlauben es, die Zahl der Elemente, die ein Angreifer unter Kontrolle bringen müsste, um unbemerkt Stimmen zu verändern oder das Stimmgeheimnis zu brechen, auf ein Minimum zu reduzieren. Massnahmen zur Verhinderung, dass ein Angreifer ein Element unter seine Kontrolle bringen kann, können damit zielgerichtet auf jene beschränkte Zahl von Elementen fokussiert werden. Bei diesen Elementen handelt es sich demnach um besonders schützenswerte Elemente, die sich, im Idealfall, auch besonders gut und überzeugend schützen lassen.

Solche Elemente – sie befinden sich unter den in Ziffern 2.1 und 2.2 aufgeführten Systemteilnehmenden und Kommunikationskanälen – werden als «vertrauenswürdig» bezeichnet. Das mag auf den ersten Blick erstaunen: Warum wird ein Element, das besonders schützenswert ist, ausgerechnet als «vertrauenswürdig» bezeichnet? Der Ursprung liegt darin, dass kryptografische Protokolle sich nicht auf den Schutz jener Elemente richten. Die Bezeichnung als «vertrauenswürdig» signalisiert Autorinnen und Autoren so wie Leserinnen und Lesern des Dokuments, in dem das kryptografische Protokoll spezifiziert ist, dass sie sich keine Gedanken über mögliche Angriffe machen müssen, bei denen ein Angreifer diese Elemente unter Kontrolle bringt. Indem Systemteilnehmende vertrauenswürdig sind, weigern sie sich, mit einem Angreifer zusammenzuarbeiten. Das Protokoll muss so definiert sein, dass – solange sich die vertrauenswürdigen Systemteilnehmenden an das Protokoll halten – der Angreifer auch dann keinen Erfolg haben, wenn er die übrigen, nicht vertrauenswürdigen Systemteilnehmenden unter Kontrolle bringt. Die Verwendung des Begriffs stützt sich auf die Fachliteratur.

Das kryptografische Protokoll besteht aus abstrakten, in mathematischer Sprache abgefassten Anweisungen an alle Systemteilnehmenden, welche Berechnungen sie beim Erhalt welcher Nachrichten vornehmen, welche Daten sie abspeichern und welche Nachrichten sie über welche Kanäle verschicken müssen. Das Protokoll ist dann konform mit der VEleS, wenn der Angreifer nach Ziffer 2.3 trotz seiner Kontrolle über die nicht vertrauenswürdigen Systemteilnehmenden und Kommunikationskanäle nach Ziffern 2.1, 2.2 und 2.9 die Ziele in Ziffern 2.5-2.8 unter den Bedingungen in Ziffern 2.11 und 2.12 nicht erreichen kann. Dabei müssen nach Ziffer 2.13 sichere kryptografische Bausteine (beispielsweise Verschlüsselungsalgorithmen) eingesetzt werden und die Handlungsanweisungen an die Systemteilnehmenden müssen klar und dürfen nicht unterspezifiziert sein. Nach Ziffer 2.14 werden mathematische Beweise über die Konformität des Protokolls gefordert, wie dies in der wissenschaftlichen Praxis üblich ist.

Das kryptografische Protokoll ist die Grundlage für die Systementwicklung. Es kann nur dann seine Wirkung entfalten, wenn die Handlungsanweisungen der vertrauenswürdigen Elemente als Software korrekt umgesetzt werden und die Komponenten, auf denen die Software läuft, hinreichend geschützt sind. Die VEleS enthält entsprechende Anforderungen. Vgl. dazu auch die Erläuterungen zu Ziffern 2.3 und 2.4.

Ziff. 2.1:

Ziff. 2.2: bericht-BK-S23

Ziff. 2.3: Für die Anforderungen an das kryptografische Protokoll wird nicht zwischen Angreifern mit unterschiedlichen Ressourcen oder Fachkenntnissen unterschieden: Ob ein Angreifer Systemteilnehmende via Drohung, Hacking oder Social Engineering unter Kontrolle bringt, ist für die Definition des kryptografischen Protokolls unerheblich. Vielmehr gehört es zur Voraussetzung, dass der Angreifer die nicht vertrauenswürdigen Systemteilnehmenden und Kommunikationskanäle unter seine Kontrolle gebracht hat. Das kryptografische Protokoll muss so definiert werden, dass der Angreifer trotz der erfolgreichen Angriffe auf solche Systemteilnehmende und Kommunikationskanäle keinen Schaden hervorrufen kann. Eine implizite Voraussetzung dazu bildet die Annahme, dass der Angreifer nicht fähig ist, die kryptografischen Bausteine und deren Implementierung im Quellcode zu brechen. Die Anforderungen in Ziffer 2.13 und 2.14 sowie Anforderungen zugunsten der Qualität bei der Softwareentwicklung nach Ziffern 24 und 25 sind auf dieses Ziel gerichtet.

Ziff. 2.4: Wenn der Angreifer alle Systemteilnehmenden kontrollieren könnte, wäre niemand mehr übrig, der sich dafür interessieren würde, ob Manipulationen stattgefunden haben. Es liegt in der Natur von Wahlen und Abstimmungen, dass ein grosser Anteil der Stimmberechtigten sich dafür interessiert, ob ihre Stimme richtig angekommen ist. Diese Stimmberechtigten können nicht vom Angreifer kontrolliert werden. Sie werden deshalb als vertrauenswürdig bezeichnet. Ähnlich dürfen einzelne Prüferinnen und Prüfer als vertrauenswürdig gelten. Auch sie kann der Angreifer nicht unter seine Kontrolle bringen. Da Stimmberechtigte sowie Prüferinnen und Prüfer mit technischen Hilfsmitteln arbeiten, müssen auch einige dieser technischen Hilfsmittel als vertrauenswürdig gelten dürfen – ansonsten könnte der Angreifer die vertrauenswürdigen Personen leicht in die Irre führen, indem er alle Hilfsmittel unter Kontrolle bringt, namentlich auch jene, die die Prüferinnen und Prüfer für ihre Arbeit verwenden. Indem lediglich technische Hilfsmittel, die sich in der Praxis besonders effektiv schützen lassen, als vertrauenswürdige Systemteilnehmende zugelassen werden, hat es ein Angreifer besonders schwer, unbemerkt Manipulationen vorzunehmen oder das Stimmgeheimnis zu brechen. Besonders effektiv schützen lassen sich technische 23Hilfsmittel, die nicht mit einem Netzwerk verbunden sein müssen. Zudem lässt es sich vermeiden, einzelnen technischen Hilfsmitteln vertrauen zu müssen, indem ihre Funktion durch mehrere technische Hilfsmittel wahrgenommen werden. Um dadurch einen Mehrwert zu erhalten, muss das kryptografische Protokoll so definiert sein, dass der Angreifer keinen Schaden anrichten kann, solange er eines dieser Hilfsmittel nicht unter Kontrolle bringen kann. Dies lehnt sich an die Logik an, dass nicht alle Prüferinnen und Prüfer vertrauenswürdig sein müssen; es reicht, wenn ein Prüfer oder eine Prüferin auf einen entdeckten Mangel hinweist. Die entsprechende Aufteilung von Verantwortungen lässt sich in den Gruppen von Kontrollkomponenten erkennen: Ein Angreifer müsste alle Kontrollkomponenten unter seine Kontrolle bringen, um einen Schaden anrichten zu können. Dies ist aber besonders schwierig, wenn sich die Kontrollkomponenten punkto Software und Betriebsmodalitäten unterscheiden.

Die zulässigen Annahmen über die Vertrauenswürdigkeit der einzelnen Systemteilnehmenden und Kommunikationskanäle sind in Ziffer 2.9 aufgeführt.

Die Anforderungen an den Betrieb von vertrauenswürdigen Komponenten sind in Ziffer 3 wiedergegeben.

Eine Nachricht wird an dieser Stelle als authentisch bezeichnet, wenn der Nachrichtenempfänger darauf vertrauen darf, dass die Absenderin oder der Absender jenem Systemteilnehmenden entspricht, der durch die Definition des Kanals vorgegeben ist.

Ziff. 2.5: Die Beweise können ihre Wirksamkeit nur dann entfalten, wenn die Stimmenden die Beweise tatsächlich prüfen und sie sich im Zweifelsfall an die zuständige Behörde wenden. In welchem Umfang sie dies tun und welche Massnahmen dazu beitragen könnten, dass Stimmende die Beweise gemäss den Instruktionen prüfen, könnte Gegenstand der Forschung und der wissenschaftlichen Begleitung bilden. Einige Anforderungen der VEleS könnten dazu beitragen, dass sich die Beweise als wirksames Instrument erweisen: So soll die Aufteilung der Beweise in Teilbeweise nach Ziffern 2.12.5-2.12.10 es den Stimmenden erlauben, die Stimmabgabe vorzeitig abzubrechen und die Stimme brieflich oder persönlich abzugeben, wenn sie bei der Prüfung Schwierigkeiten haben. Im Gegensatz zu den vorgängigen Teilbeweisen muss die Prüfung des Teilbeweises, der die definitive Stimmabgabe bestätigt, besonders leicht durchzuführen sein. Die Anforderung in Ziffer 8.10 soll Social-Engineering-Angriffe erschweren, die zum Ziel haben, die Stimmenden von der korrekten Durchführung der Prüfung der Beweise abzuhalten. Darüber hinaus gelten mit Ziffer 8 weitere Anforderungen für die Information und Hilfestellungen an die Adresse der Stimmberechtigten. Social-Engineering-Angriffe müssen bei der Risikobeurteilung nach Ziffer 13 beurteilt werden.

Ein korrekter Beweis bestätigt den Stimmenden, dass mindestens die Kontrollkomponente, die nach Ziffer 2.9.1 als vertrauenswürdig gelten darf, die Stimme als systemkonform abgegeben registriert hat. Die Prüferinnen und Prüfer stellen durch die Prüfung des Beweises nach Ziffer 2.6 fest, dass die Stimme auch korrekt und damit im Sinne des Beweises nach Ziffer 2.5, der den Stimmenden angezeigt worden war, gezählt wurde. Als Bedingung für die erfolgreiche Prüfung des Beweises nach Ziffer 2.6 müssen alle Kontrollkomponenten dieselben Stimmen als systemkonform abgegeben registriert haben. Fälle, wo die Kontrollkomponenten diesbezüglich Inkonsistenzen aufweisen, müssen nach Ziffer 11.11 antizipiert und das Vorgehen vorgängig festgelegt werden.

Die Bestimmung schreibt nicht vor, wie Fälle zu interpretieren sind, wo ein Beweis falsch oder gar nicht angezeigt wird. Namentlich wäre es nicht unzulässig, wenn die Gruppe von Kontrollkomponenten eine Stimme als systemkonform registriert, obwohl sie nicht systemkonform abgegeben wurde. Allerdings folgt aus Ziffer 2.6, dass solche Stimmen später aussortiert werden müssen, damit die Prüferinnen und Prüfer feststellen können, dass der Angreifer keine nicht systemkonform abgegebenen Stimmen eingefügt hat. Darüber hinaus muss das NV-System (nicht zwingend die Gruppe von Kontrollkomponenten) nach Ziffer 10 solche Stimmen noch bei der Stimmabgabe entdecken und darf sie nicht als systemkonform abgegebene Stimmen behandeln.

Zu «...der Angreifer nicht im Namen der stimmberechtigten Person missbräuchlich eine Stimme abgegeben hat, die in der Folge als systemkonform abgegebene Stimme registriert und gezählt worden ist»: Ein solcher Beweis wäre während dem Urnengang nur bedingt nützlich, da der Angreifer weiterhin Zeit hätte, eine Stimme abzugeben. Deshalb reicht es, wenn Stimmberechtigte diesen Beweis nach dem Urnengang anfordern können. Aus Effizienzgründen reicht es, wenn die zuständige Stelle beim Kanton der stimmberechtigten Person bestätigt, dass keine Stimme in deren Namen abgegeben wurde. Für die Prüfung durch die zuständige Stelle gelten die Vertrauensannahmen nach Ziffer 2.9.1, wobei das Hilfsmittel der Prüferinnen und Prüfer ebenfalls als vertrauenswürdig gelten darf. Ferner: Die Anforderung sprengt das Vertrauensmodell, insofern als der Angreifer überhaupt nicht auf die clientseitigen Authentisierungsmerkmale herankommen können darf. Mit Blick auf die vorliegende Anforderung muss die Annahme getroffen werden, dass der Angreifer Zugriff auf die clientseitigen Authentifizierungsmerkmale einzelner Stimmberechtigter hat.

Ziff. 2.6: Eine Stimme gilt nur dann als systemkonform abgegeben, wenn das dazu verwendete clientseitige Authentisierungsmerkmal einem serverseitigen Authentisierungsmerkmal entspricht, das in der Vorbereitungsphase des Urnengangs festgelegt und einem Stimmberechtigten «zugewiesen» wurde. Der Beweis muss daher die Bestätigung beinhalten, dass keine unzugewiesenen Authentisierungsmerkmale zum Abgeben von Stimmen erstellt wurden. Dazu müssen während der Vorbereitung des Urnengangs den Kontrollkomponenten oder den Prüferinnen und Prüfern entsprechende Daten als Vergleichsbasis übergeben worden sein. Die Prüferinnen und Prüfer müssen feststellen, dass die Anzahl der Authentisierungsmerkmale der (offiziellen) Anzahl der zugelassenen Stimmberechtigten entspricht. In diesem Fall dürfen die Authentisierungsmerkmale als einem Stimmberechtigten «zugewiesen» gelten. Dadurch ist zwar noch nicht sichergestellt, dass clientseitige Authentisierungsmerkmale vertrauenswürdiger Stimmberechtigter nicht missbräuchlich zur Abgabe einer systemkonformen Stimme verwendet wurden. Nach Ziffer 2.5 müssen die Stimmberechtigten dies allerdings feststellen können.

Ziff. 2.7.3: Es darf die Annahme gelten, dass die Manipulation an der serverseitigen Software keine Auswirkung auf die Vertrauenswürdigkeit der Benutzerplattform bei der Prüfung hat.

Die Möglichkeiten, die Benutzerplattformen vor Missbrauch zu schützen, sind viel schwächer als bei Komponenten in einer geschützten Umgebung. Allerdings ist es ein bewusster Entscheid, das Stimmgeheimnis und das Fehlen vorzeitiger Teilergebnisse nicht mittels dem kryptografischen Protokoll zu gewährleisten. Damit wird der Benutzerfreundlichkeit Rechnung getragen. Das Protokoll soll aber dort Schutz bieten, wo die Stimmen zentral aufbewahrt werden. Die Bezeichnung der Benutzerplattform als «vertrauenswürdig» signalisiert, dass bei der Entwicklung und der Analyse des kryptografischen Protokolls keine Angriffe auf die Benutzerplattform berücksichtigt werden müssen (vgl. einleitende Erläuterungen zu Ziffer 2).

Ziff. 2.9.3: Eine Implikation besteht darin, dass der Schlüssel, der zur Entschlüsselung der Stimmen nötig ist, auf vier verschiedene Kontrollkomponenten aufgeteilt werden muss. Mindestens eine dieser Kontrollkomponenten muss beim Kanton betrieben werden (explizit in Ziff. 3.1).

Ein signifikanter Anteil der Stimmberechtigten muss als nicht vertrauenswürdig zählen, damit das NV-System den Inhalt einer abgegebenen Stimme in Zusammenarbeit mit einem nicht vertrauenswürdigen Stimmberechtigten lernen kann. Dazu muss sichergestellt werden, dass dieser eine abgegebene verschlüsselte Stimme auch nicht nach äusserlichem Anpassen als seine eigene abgeben kann mit dem Ziel, durch den Beweis, den er im Rahmen der Prüfung des Beweises nach Ziffer 2.5 erhält, den Inhalt der Stimme zu lernen.

Ein Angreifer könnte versuchen, mithilfe der nicht vertrauenswürdigen Systemteilnehmenden vor der Auszählung Stimmen zu markieren und nachträglich anhand der entschlüsselten Stimmen das Stimmgeheimnis zu brechen. Die Prüferinnen und Prüfer könnten nach der Auszählung feststellen, dass die Stimmen nicht im Sinn ihrer Registrierung, sondern in markierter Form verarbeitet wurden. Zu diesem Zeitpunkt wäre das Stimmgeheimnis aber bereits gebrochen. Dies muss verhindert werden, indem vertrauenswürdige Komponenten vor der Auszählung sicherstellen, dass keine markierten Stimmen verarbeitet werden. Mit Blick auf diese Zielsetzung darf auch ein technisches Hilfsmittel der Prüferinnen und Prüfer als vertrauenswürdig gelten.

Zur Bezeichnung der Benutzerplattform als «vertrauenswürdig» siehe Erläuterung zu Ziffer 2.7 (zweiter Abschnitt).

Ziff. 2.11.1: Eine Implikation dieser Bestimmung besteht darin, dass ein Beweis mindestens 1000 verschiedene Werte annehmen können muss (bei einem numerischen Code beispielsweise alle Werte zwischen 000 und 999). Damit wäre die Wahrscheinlichkeit für den Angreifer, einen Beweis korrekt zu erraten, genau 0.1 Prozent. Indem er über die nicht vertrauenswürdigen Systemteilnehmenden und Kommunikationskanäle Informationen sammelt, könnte er sich einen Vorteil verschaffen, sodass er den Code nicht mehr ganz blind erraten müsste, wodurch die Wahrscheinlichkeit höher ausfallen würde. Mit Blick auf solche Fälle muss ein Code a priori genügend Werte annehmen können, damit die Wahrscheinlichkeit 0.1 Prozent nicht überschreitet.

Ziff. 2.11.3: Als Beispiel wird angenommen, dass die Wahrscheinlichkeit für den Angreifer 1 Prozent beträgt. In diesem Fall müssen die Schritte bei der Auszählung soweit wiederholt werden können, dass die Wahrscheinlichkeit nach der Wiederholung tiefer als 1 Prozent liegt. Durch weitere Wiederholungen soll die Wahrscheinlichkeit so weit wie nötig reduziert werden können.

Ziff. 2.12.4: Mit dieser Erklärung wird die Stimme noch nicht definitiv abgegeben. Zunächst muss die stimmende Person die Möglichkeit haben, die korrekte Übermittlung anhand eines ersten Teilbeweises zu prüfen. Danach muss die stimmende Person die Möglichkeit haben, die Stimmabgabe abzubrechen und die Stimme über einen konventionellen Kanal abzugeben.

Ziff. 2.12.5: Es ist nicht zulässig, die Stimmenden aus rein psychologischen Gründen eine Prüfung vornehmen zu lassen, wenn das Ergebnis der Prüfung für die Beurteilung, ob die Stimme manipuliert wurde, keine Bedeutung hat.

Ziff. 2.12.8: Im Fall, dass zur Erfüllung von Ziffer 2.5 zwei Teilbeweise eingesetzt werden, ist der vorletzte Teilbeweis mit dem ersten Teilbeweis gleichbedeutend. Ferner lässt sich aus Ziffer 2.8 ableiten, dass die Stimmenden zusammen mit ihrer Willensbekundung nach Ziffer 2.12.8 ein Geheimelement eingeben müssen, das noch nicht in die Benutzerplattform eingegeben wurde. Das Geheimelement kann gleichzeitig als clientseitiges Authentisierungsmerkmal verstanden werden.

Ziff. 2.12.11: Setup-Komponenten und Druckkomponenten sind grundsätzlich für den Einsatz in der Vorbereitung des Urnengangs vorgesehen. Der Einsatz zu einem späteren Zeitpunkt beispielsweise wird an dieser Stelle nicht untersagt. Allerdings soll die Verarbeitung von Stimmen oder anderen Daten, die erst während dem Urnengang anfallen, nicht unter der Annahme erfolgen können, dass diese Komponenten vertrauenswürdig sind. Werden die Komponenten für die Verarbeitung solcher Daten verwendet, dann dürfen sie nicht als vertrauenswürdig gelten.

christiankiller commented 3 years ago

In 2.7.3 wird ein Verifizierungsmechanismus für die Webapplikationen formuliert. Ich finde das etwas widersprüchlich mit der Annahme dass die Benutzerplattform als vertrauenswürdig angesehen wird. Wenn die Verifizierung der Webapplikation also über die vertraute Plattform gemacht wird, wieso überhaupt verifizieren? Klar, es wird erläutert dass man explizit aufgrund der Usability auf zusätzliche Mechanismen verzichtet, finde das aber etwas schade.

melchl commented 3 years ago

Gute Frage. Man kann natürlich auf die Stimmunterlagen den Fingerprint des öffentlichen Schlüssels und einen Hash des vorgesehenen clientseitigen Codes drucken. Da diese Werte für einen Angreifer vorhersagbar sind, kann er sie fälschen, wenn er die Benutzerplattform kontrolliert. Man will mit dieser Vorgabe erreichen, dass eine Kompromittierung des Webservers nicht automatisch dazu führt, dass alle Benutzerplattformen unbemerkt kompromittierten Code ausführen. Man nimmt also an, dass zumindest ein Teil der Benutzerplattformen vertrauenswürdig sind. Das Szenario, dass der kompromittierte Webserver die Benutzerplattformen über einen Exploit ebenfalls kompromittiert, wird als Restrisiko akzeptiert. Was bemerkenswert ist, da solch ein Angriff skalieren könnte und Schwachstellen in Webbrowsern nicht eben selten sind.