Überprüfung des elektronischen Fernwahlsystems der Zentralen Wahlkommission der Russischen Föderation

Am 31. August 2020 fand ein öffentlicher Test des im Auftrag der Zentralen Wahlkommission der Russischen Föderation entwickelten elektronischen Fernwahlsystems (im Folgenden DEG genannt) unter Verwendung der Blockchain-Technologie statt.

Um sich mit dem neuen elektronischen Abstimmungssystem vertraut zu machen und zu verstehen, welche Rolle die Blockchain-Technologie darin spielt und welche anderen Komponenten verwendet werden, starten wir eine Reihe von Veröffentlichungen, die sich den wichtigsten technischen Lösungen des Systems widmen. Wir empfehlen, der Reihe nach zu beginnen – mit den Anforderungen an das System und den Funktionen der Prozessbeteiligten

System Anforderungen

Die grundlegenden Anforderungen, die für jedes Wahlsystem gelten, sind im Allgemeinen die gleichen für die traditionelle persönliche Stimmabgabe und für die elektronische Fernwahl und werden durch das Bundesgesetz vom 12.06.2002. Juni 67 N 31.07.2020-FZ (in der Fassung vom XNUMX. Juli XNUMX) festgelegt. „Über grundlegende Garantien des Stimmrechts und des Rechts der Bürger der Russischen Föderation, an einem Referendum teilzunehmen.“

  1. Die Stimmabgabe bei Wahlen und Referenden ist geheim, eine Kontrolle über den Willen eines Bürgers ist ausgeschlossen (Artikel 7).
  2. Die Möglichkeit zur Stimmabgabe sollte nur Personen eingeräumt werden, die für diese Abstimmung ein aktives Stimmrecht haben.
  3. Ein Wähler – eine Stimme, eine „doppelte“ Stimmabgabe ist nicht zulässig.
  4. Der Abstimmungsprozess muss für Wähler und Beobachter offen und transparent sein.
  5. Die Integrität der abgegebenen Stimme muss gewährleistet sein.
  6. Eine Berechnung der Zwischenabstimmungsergebnisse vor Abschluss der Abstimmung soll nicht möglich sein.

Wir haben also drei Teilnehmer: den Wähler, die Wahlkommission und den Beobachter, zwischen denen die Reihenfolge der Interaktion festgelegt wird. Es ist auch möglich, einen vierten Teilnehmer hervorzuheben – die Stellen, die die Registrierung der Bürger auf dem Territorium durchführen (hauptsächlich das Innenministerium sowie andere Exekutivbehörden), da das aktive Wahlrecht mit der Staatsbürgerschaft und dem Ort der Registrierung verbunden ist.

Alle diese Teilnehmer interagieren miteinander.

Interaktionsprotokoll

Betrachten wir den Wahlvorgang in einem traditionellen Wahllokal mit einer Wahlurne und Stimmzetteln. In allgemein vereinfachter Form sieht das so aus: Ein Wähler kommt ins Wahllokal und legt einen Ausweis (Reisepass) vor. Im Wahllokal gibt es eine Bezirkswahlkommission, deren Mitglied die Identität des Wählers und seine Anwesenheit in der zuvor erstellten Wählerliste überprüft. Wenn der Wähler gefunden wird, gibt ein Mitglied der Kommission dem Wähler einen Stimmzettel und der Wähler unterschreibt den Erhalt des Stimmzettels. Danach geht der Wähler zur Wahlkabine, füllt den Stimmzettel aus und wirft ihn in die Wahlurne. Um sicherzustellen, dass alle Verfahren strikt den Gesetzen entsprechen, wird dies alles von Beobachtern (Vertreter der Kandidaten, öffentliche Überwachungsinstitutionen) überwacht. Nach Abschluss der Abstimmung zählt die Wahlkommission im Beisein von Beobachtern die Stimmen aus und stellt das Abstimmungsergebnis fest.

Die für die Stimmabgabe in einem traditionellen Wahlsystem notwendigen Eigenschaften werden durch organisatorische Maßnahmen und das festgelegte Verfahren für die Interaktion der Teilnehmer bereitgestellt: Überprüfung der Wählerpässe, persönliche Unterschrift bei Stimmzetteln, Nutzung von Wahlkabinen und versiegelten Wahlurnen, Verfahren zur Stimmenauszählung usw .

Für ein Informationssystem, bei dem es sich um ein elektronisches Fernabstimmungssystem handelt, wird diese Interaktionsreihenfolge als Protokoll bezeichnet. Da alle unsere Interaktionen digital werden, kann dieses Protokoll als ein Algorithmus betrachtet werden, der von einzelnen Komponenten des Systems implementiert wird, und als eine Reihe organisatorischer und technischer Maßnahmen, die von Benutzern durchgeführt werden.

Die digitale Interaktion stellt bestimmte Anforderungen an die implementierten Algorithmen. Schauen wir uns die Aktionen an, die auf einem herkömmlichen Standort im Hinblick auf Informationssysteme durchgeführt werden, und wie diese in dem von uns in Betracht gezogenen DEG-System umgesetzt werden.

Sagen wir gleich, dass die Blockchain-Technologie keine „Wunderwaffe“ ist, die alle Probleme löst. Um ein solches System zu schaffen, war es notwendig, eine große Anzahl von Software- und Hardwarekomponenten zu entwickeln, die für unterschiedliche Aufgaben verantwortlich sind, und sie mit einem einzigen Prozess und Protokoll zu verbinden. Aber gleichzeitig interagieren alle diese Komponenten mit der Blockchain-Plattform.

Systemkomponenten

Aus technischer Sicht handelt es sich beim DEG-System um einen Software- und Hardwarekomplex (im Folgenden STC genannt), der eine Reihe von Komponenten kombiniert, um die Interaktion zwischen den Teilnehmern des Wahlprozesses in einer einheitlichen Informationsumgebung sicherzustellen.

Das Interaktionsdiagramm der Komponenten und Teilnehmer des DEG-PTC-Systems ist in der folgenden Abbildung dargestellt.

Überprüfung des elektronischen Fernwahlsystems der Zentralen Wahlkommission der Russischen Föderation
Anklickbar

Fernabstimmungsprozess

Nun werden wir den Prozess der elektronischen Fernabstimmung und seine Umsetzung durch die Komponenten des DEG-Software- und Hardwarekomplexes im Detail betrachten.

Gemäß dem Verfahren für die elektronische Fernwahl muss ein Wähler einen Antrag auf dem Portal der Staatsdienste stellen, um in die Liste der Teilnehmer der elektronischen Fernwahl aufgenommen zu werden. Gleichzeitig können nur diejenigen Benutzer einen solchen Antrag stellen, die über ein bestätigtes Konto verfügen und erfolgreich mit dem Wählerverzeichnis abgeglichen wurden, Referendumsteilnehmer des staatlichen automatisierten Systems „Wahlen“. Nach Eingang des Antrags werden die Daten des Wählers noch einmal von der Zentralen Wahlkommission Russlands überprüft und hochgeladen Komponente „Wählerliste“. PTC GRAD. Der Downloadvorgang geht mit der Aufzeichnung eindeutiger Identifikatoren in der Blockchain einher. Mitglieder der Wahlkommission und Beobachter haben Zugang zur Einsicht in die Liste über einen speziellen automatisierten Arbeitsplatz, der sich in den Räumlichkeiten der Wahlkommission befindet.

Wenn ein Wähler ein Wahllokal aufsucht, wird er authentifiziert (abgeglichen mit den Passdaten) und in der Wählerliste identifiziert, außerdem wird überprüft, ob dieser Wähler zuvor keinen Stimmzettel erhalten hat. Ein wichtiger Punkt hierbei ist, dass nicht festgestellt werden kann, ob der Wähler den erhaltenen Stimmzettel in die Wahlurne geworfen hat oder nicht, sondern nur die Tatsache, dass der Stimmzettel bereits früher ausgegeben wurde. Im Fall von PTC DEG stellt der Besuch eines Wählers den Wunsch eines Benutzers dar DEG-Portal ist eine Website unter vybory.gov.ru. Wie ein traditionelles Wahllokal enthält die Website Informationsmaterialien über laufende Wahlkämpfe, Informationen über Kandidaten und andere Informationen. Zur Identifizierung und Authentifizierung wird die ESIA des State Services Portal verwendet. Somit bleibt das allgemeine Identifikationsschema sowohl bei der Bewerbung als auch bei der Abstimmung erhalten.

Danach beginnt das Anonymisierungsverfahren – der Wähler erhält einen Stimmzettel, der keine Identifikationsmerkmale enthält: Er hat keine Nummer und steht in keiner Verbindung zu dem Wähler, an den er ausgegeben wurde. Es ist interessant, die Option in Betracht zu ziehen, wenn das Wahllokal mit elektronischen Wahlkomplexen ausgestattet ist. In diesem Fall erfolgt die Anonymisierung wie folgt: Anstelle eines Papierstimmzettels wird der Wähler aufgefordert, aus einem Stapel eine beliebige Karte mit einem Barcode auszuwählen, mit der er wird sich dem Abstimmungsgerät nähern. Auf der Karte stehen keine Informationen über den Wähler, sondern lediglich ein Code, der festlegt, welchen Stimmzettel das Gerät bei Vorlage einer solchen Karte bereitstellen soll. Bei einer vollständig digitalen Interaktion besteht die Hauptaufgabe darin, einen Anonymisierungsalgorithmus so zu implementieren, dass es einerseits unmöglich ist, Benutzeridentifikationsdaten zu ermitteln, und andererseits nur denjenigen Benutzern die Möglichkeit zu geben, abzustimmen wurden zuvor in der Liste identifiziert. Um dieses Problem zu lösen, nutzt die DEG PTK einen kryptografischen Algorithmus, der in der Fachwelt als „blinde elektronische Signatur“ bezeichnet wird. Wir werden in den folgenden Veröffentlichungen ausführlich darüber sprechen und auch den Quellcode veröffentlichen. Sie können auch zusätzliche Informationen aus Veröffentlichungen im Internet mithilfe von Schlüsselwörtern sammeln – „kryptografische geheime Abstimmungsprotokolle“ oder „Blindsignatur“.

Dann füllt der Wähler den Stimmzettel an einem Ort aus, an dem es unmöglich ist, die getroffene Wahl zu sehen (in einer geschlossenen Kabine). Wenn der Wähler in unserem Informationssystem aus der Ferne abstimmt, ist der einzige Ort dieser Art das persönliche Gerät des Benutzers. Hierzu wird der Nutzer zunächst in eine andere Domain transferiert − in die anonyme Zone. Vor dem Wechsel können Sie Ihre VPN-Verbindung aufbauen und Ihre IP-Adresse ändern. Auf dieser Domain wird der Stimmzettel angezeigt und die Wahl des Benutzers verarbeitet. Der Quellcode, der auf dem Gerät des Nutzers läuft, ist zunächst geöffnet – er ist im Browser sichtbar.

Sobald die Wahl getroffen ist, wird der Stimmzettel mithilfe eines speziellen Verschlüsselungsschemas auf dem Gerät des Benutzers verschlüsselt, gesendet und aufgezeichnet Komponente „Verteilte Speicherung und Auszählung von Stimmen“, basierend auf der Blockchain-Plattform.

Eines der wichtigsten Merkmale des Protokolls ist die Unmöglichkeit, die Abstimmungsergebnisse vor seiner Fertigstellung zu kennen. In einem herkömmlichen Wahllokal wird dies durch die Versiegelung der Wahlurne und die Überwachung durch Beobachter sichergestellt. Bei digitalen Interaktionen besteht die beste Lösung darin, die Wahl des Wählers zu verschlüsseln. Der verwendete Verschlüsselungsalgorithmus verhindert, dass die Ergebnisse vor Abschluss der Abstimmung bekannt gegeben werden. Dabei kommt ein Schema mit zwei Schlüsseln zum Einsatz: Ein (öffentlicher) Schlüssel, der allen Teilnehmern bekannt ist, dient zur Verschlüsselung der Stimme. Es kann nicht mit demselben Schlüssel entschlüsselt werden; es ist ein zweiter (privater) Schlüssel erforderlich. Der private Schlüssel wird zwischen den Teilnehmern des Wahlprozesses (Mitglieder von Wahlkommissionen, der öffentlichen Kammer, Betreibern von Auszählungsservern usw.) so aufgeteilt, dass jeder einzelne Teil des Schlüssels unbrauchbar ist. Sie können mit der Entschlüsselung erst beginnen, nachdem der private Schlüssel erfasst wurde. Im betrachteten System umfasst das Schlüsseltrennungsverfahren mehrere Schritte: Trennung eines Teils des Schlüssels innerhalb des Systems, Trennung des Schlüssels außerhalb des Systems und Erzeugung eines gemeinsamen öffentlichen Schlüssels. Wir werden den Prozess der Verschlüsselung und die Arbeit mit kryptografischen Schlüsseln in zukünftigen Veröffentlichungen ausführlich zeigen.

Nachdem der Schlüssel gesammelt und heruntergeladen wurde, beginnt die Berechnung der Ergebnisse für deren weitere Aufzeichnung in der Blockchain und anschließende Bekanntgabe. Ein Merkmal des betrachteten Systems ist die Verwendung homomorpher Verschlüsselungstechnologie. Wir werden diesen Algorithmus in zukünftigen Veröffentlichungen ausführlich beschreiben und darüber sprechen, warum diese Technologie häufig zur Erstellung von Abstimmungssystemen verwendet wird. Beachten wir nun sein Hauptmerkmal: Im Buchhaltungssystem erfasste verschlüsselte Stimmzettel können ohne Entschlüsselung so kombiniert werden, dass das Ergebnis der Entschlüsselung eines solchen kombinierten Chiffretexts der summierte Wert für jede Wahl in den Stimmzetteln ist. Gleichzeitig führt das System natürlich auch mathematische Beweise für die Richtigkeit einer solchen Berechnung durch, die ebenfalls im Buchhaltungssystem erfasst werden und von Beobachtern überprüft werden können.

Nachfolgend finden Sie eine Übersicht über den Abstimmungsprozess.

Überprüfung des elektronischen Fernwahlsystems der Zentralen Wahlkommission der Russischen Föderation
Anklickbar

Blockchain-Plattform

Nachdem wir nun die Hauptmerkmale der Implementierung eines elektronischen Fernabstimmungssystems untersucht haben, beantworten wir die Frage, mit der wir begonnen haben: Welche Rolle spielt die Blockchain-Technologie dabei und welche Probleme können damit gelöst werden?

Im implementierten Fernabstimmungssystem löst die Blockchain-Technologie eine Reihe von Problemen.

  • Die grundlegende Aufgabe besteht darin, die Integrität der Informationen im Rahmen der Abstimmung und vor allem der Abstimmungen sicherzustellen.
  • Gewährleistung der Transparenz der Ausführung und Unveränderlichkeit des in Form von Smart Contracts implementierten Programmcodes.
  • Gewährleistung des Schutzes und der Unveränderlichkeit der im Abstimmungsprozess verwendeten Daten: Wählerliste, Schlüssel zur Verschlüsselung der Stimmzettel in verschiedenen Phasen des kryptografischen Protokolls usw.
  • Bereitstellung einer dezentralen Datenspeicherung, wobei jeder Teilnehmer über eine absolut identische Kopie verfügt, bestätigt durch die Konsenseigenschaften im Netzwerk.
  • Die Möglichkeit, Transaktionen anzuzeigen und den Abstimmungsfortschritt zu verfolgen, der sich vom Beginn bis zur Aufzeichnung der berechneten Ergebnisse vollständig in der Blockchain widerspiegelt.

Wir sehen also, dass es ohne den Einsatz dieser Technologie nahezu unmöglich ist, die erforderlichen Eigenschaften des Abstimmungssystems zu erreichen und Vertrauen in dieses zu schaffen.

Die Funktionalität der eingesetzten Blockchain-Plattform wird durch den Einsatz von Smart Contracts bereichert. Intelligente Verträge überprüfen jede Transaktion mit verschlüsselten Stimmzetteln auf die Echtheit elektronischer und „blinder“ Unterschriften und führen außerdem grundlegende Überprüfungen der Richtigkeit des Ausfüllens des verschlüsselten Stimmzettels durch.

Darüber hinaus ist im betrachteten elektronischen Fernabstimmungssystem die Komponente „Verteilte Speicherung und Auszählung von Stimmen“ nicht nur auf Blockchain-Knoten beschränkt. Für jeden Knoten kann ein separater Server bereitgestellt werden, der die wichtigsten kryptografischen Funktionen des Abstimmungsprotokolls implementiert – Zählserver.

Server zählen

Hierbei handelt es sich um dezentrale Komponenten, die das Verfahren zur verteilten Generierung eines Stimmzettelverschlüsselungsschlüssels sowie zur Entschlüsselung und Berechnung der Abstimmungsergebnisse bereitstellen. Zu ihren Aufgaben gehören:

  • Sicherstellung der verteilten Generierung eines Teils des Stimmzettelverschlüsselungsschlüssels. Das Verfahren zur Schlüsselgenerierung wird in den folgenden Artikeln besprochen;
  • Überprüfung der Richtigkeit des verschlüsselten Stimmzettels (ohne ihn zu entschlüsseln);
  • Verarbeitung der Stimmzettel in verschlüsselter Form, um den endgültigen Chiffretext zu generieren;
  • Verteilte Dekodierung der Endergebnisse.

Jede Ausführungsphase des kryptografischen Protokolls wird in der Blockchain-Plattform aufgezeichnet und kann von Beobachtern auf Richtigkeit überprüft werden.

Um dem System in verschiedenen Phasen des Abstimmungsprozesses die notwendigen Eigenschaften zu verleihen, werden die folgenden kryptografischen Algorithmen verwendet:

  • Elektronische Unterschrift;
  • Blindes Signieren des öffentlichen Schlüssels des Wählers;
  • ElGamal-Verschlüsselungsschema für elliptische Kurven;
  • Wissensfreie Beweise;
  • Pedersen 91 DKG-Protokoll (Distributed Key Generation);
  • Protokoll zur gemeinsamen Nutzung privater Schlüssel unter Verwendung des Schemas von Shamir.

Auf den kryptografischen Dienst wird in den folgenden Artikeln näher eingegangen.

Ergebnisse

Fassen wir einige Zwischenergebnisse der Überlegungen zum elektronischen Fernabstimmungssystem zusammen. Wir haben den Prozess und die Hauptkomponenten, die ihn umsetzen, kurz beschrieben und auch die Mittel identifiziert, um die für jedes Abstimmungssystem erforderlichen Eigenschaften zu erreichen:

  • Überprüfbarkeit der Wähler. Das System akzeptiert nur Stimmen von verifizierten Wählern. Diese Eigenschaft wird durch die Identifizierung und Authentifizierung der Wähler sowie die Erfassung der Wählerliste und der Bereitstellung des Zugangs zum Stimmzettel in der Blockchain sichergestellt.
  • Anonymität. Das System gewährleistet das Wahlgeheimnis, das in der Gesetzgebung der Russischen Föderation verankert ist; die Identität des Wählers kann nicht anhand eines verschlüsselten Stimmzettels ermittelt werden. Umgesetzt mit einem „Blind-Signatur“-Algorithmus und einem anonymen Bereich zum Ausfüllen und Versenden des Stimmzettels.
  • Vertraulichkeit der Stimmen. Organisatoren und andere Abstimmungsteilnehmer können das Ergebnis der Abstimmung erst erfahren, wenn diese abgeschlossen ist, die Stimmen gezählt und die Endergebnisse entschlüsselt sind. Die Vertraulichkeit wird dadurch erreicht, dass die Stimmzettel verschlüsselt werden und erst nach der Abstimmung entschlüsselt werden können.
  • Datenunveränderlichkeit. Wählerdaten können nicht geändert oder gelöscht werden. Die unveränderliche Datenspeicherung erfolgt durch die Blockchain-Plattform.
  • Überprüfbarkeit. Der Beobachter kann überprüfen, ob die Stimmen korrekt gezählt wurden.
  • Zuverlässigkeit. Die Systemarchitektur basiert auf den Prinzipien der Dezentralisierung und stellt sicher, dass es keinen einzigen „Fehlerpunkt“ gibt.

Source: habr.com

Kommentar hinzufügen