Überblick über das elektronische Fernwahlsystem der KEK der Russischen Föderation

Am 31. August 2020 fand ein öffentlicher Test des elektronischen Fernwahlsystems (im Folgenden als DEG bezeichnet) unter Verwendung der Blockchain-Technologie statt, das im Auftrag der Zentralen Wahlkommission der Russischen Föderation entwickelt wurde.



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 mit den wichtigsten technischen Lösungen des Systems befassen. Wir schlagen vor, in der richtigen Reihenfolge zu beginnen - mit den Anforderungen an das System und den Funktionen der Teilnehmer am Prozess



System Anforderungen



Die grundlegenden Anforderungen, die für jedes Abstimmungssystem gelten, sind im Allgemeinen für die traditionelle persönliche Abstimmung und die elektronische Fernabstimmung gleich und werden durch das Bundesgesetz Nr. 67-FZ vom 12.06.2002 (in der Fassung vom 31.07.2020) „Über grundlegende Garantien“ definiert Wahlrechte und das Recht, an einem Referendum der Bürger der Russischen Föderation teilzunehmen “.



  1. Die Abstimmung bei Wahlen und Referenden ist geheim, mit Ausnahme der Möglichkeit einer Kontrolle über den Ausdruck des Willens eines Bürgers (Artikel 7).
  2. Die Möglichkeit der Abstimmung sollte nur Personen gewährt werden, die bei dieser Abstimmung ein aktives Wahlrecht haben.
  3. Ein Wähler - eine Stimme, "doppelte" Stimme ist nicht erlaubt.
  4. Der Abstimmungsprozess sollte für Wähler und Beobachter offen und transparent sein.
  5. Die Konsistenz der abgegebenen Stimmen muss gewährleistet sein.
  6. Es sollte nicht möglich sein, die Zwischensummen der Abstimmung vor deren Abschluss zu berechnen.


Wir haben also drei Teilnehmer: einen Wähler, eine Wahlkommission und einen Beobachter, zwischen denen die Reihenfolge der Interaktion festgelegt wird. Es ist auch möglich, den vierten Teilnehmer herauszusuchen - die Stellen, die die Registrierung der Bürger auf dem Hoheitsgebiet durchführen (vor allem 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 Sie den Abstimmungsprozess in einem traditionellen Wahllokal mit Wahlurne und Papierstimmen. Im Allgemeinen sieht es in vereinfachter Form so aus: Ein Wähler kommt zum Wahllokal und legt einen Ausweis (Reisepass) vor. Im Bezirk arbeitet eine Wahlkommission des Bezirks, deren Mitglied die Identität des Wählers und seine Anwesenheit in der zuvor erstellten Wählerliste überprüft. Wenn ein Wähler gefunden wird, gibt ein Mitglied der Kommission dem Wähler einen Stimmzettel aus, und der Wähler unterschreibt, um den Stimmzettel zu erhalten. Danach geht der Wähler zur Wahlkabine, füllt den Stimmzettel aus und legt ihn in die Wahlurne. Um sicherzustellen, dass alle Verfahren strikt in Übereinstimmung mit dem Gesetz eingehalten werden, beobachten Beobachter (Vertreter von Kandidaten, öffentliche Beobachtungsinstitutionen) dies alles.Nach Abschluss der Abstimmung zählt die Wahlkommission in Anwesenheit von Beobachtern die Stimmen und legt die Abstimmungsergebnisse fest.



Die Eigenschaften, die für die Abstimmung in einem traditionellen Abstimmungssystem erforderlich sind, werden durch organisatorische Maßnahmen und das etablierte Verfahren für die Interaktion der Teilnehmer bereitgestellt: Überprüfung der Wählerpässe, persönliche Unterschrift für Stimmzettel, Verwendung von Wahlkabinen und versiegelten Wahlurnen, Verfahren zur Auszählung von Stimmen usw.



Für ein Informationssystem, bei dem es sich um ein entferntes elektronisches Abstimmungssystem handelt, wird dieses Interaktionsverfahren als Protokoll bezeichnet. Da jede Interaktion mit uns digital wird, kann dieses Protokoll als ein Algorithmus betrachtet werden, der von einzelnen Komponenten des Systems implementiert wird, und als eine Reihe von organisatorischen und technischen 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 der traditionellen Website in Bezug auf Informationssysteme ausgeführt werden, und wie dies in dem von uns in Betracht gezogenen DEG-System implementiert wird.



Nehmen wir gleich an, dass die Blockchain-Technologie hier keine "Silberkugel" ist, die alle Probleme löst. Um ein solches System zu erstellen, musste eine große Anzahl von Software- und Hardwarekomponenten entwickelt werden, die für verschiedene Aufgaben verantwortlich sind, und diese mit einem einzigen Prozess und Protokoll verbunden werden. Gleichzeitig interagieren alle diese Komponenten mit der Blockchain-Plattform.



Systemkomponenten



Aus technischer Sicht ist das DEG-System ein Software- und Hardwarekomplex (im Folgenden: PTC), der eine Reihe von Komponenten kombiniert, um die Interaktion der Teilnehmer am Wahlprozess in einer einzigen Informationsumgebung sicherzustellen.



Das Interaktionsschema der Komponenten und Teilnehmer des DEG-PTC-Systems ist in der folgenden Abbildung dargestellt Klickbar









Remote-Abstimmungsprozess



Lassen Sie uns nun den Prozess der elektronischen Fernabstimmung und seine Implementierung durch die Komponenten des DEG-Software- und Hardwarekomplexes im Detail betrachten.



Gemäß dem Verfahren für die elektronische Fernabstimmung muss ein Wähler einen Antrag auf dem Portal der staatlichen Dienste einreichen, um in die Liste der Teilnehmer an der elektronischen Fernabstimmung aufgenommen zu werden. Gleichzeitig kann ein solcher Antrag nur von Benutzern eingereicht werden, die über ein bestätigtes Konto verfügen und erfolgreich mit dem Wählerregister abgeglichen wurden, das am Referendum des GAS-Systems "Vybory" teilnimmt. Nach Eingang des Antrags werden die Wählerdaten erneut von der KEK Russlands geprüft und in die Komponente "Wählerliste" hochgeladenPTK DEG. Der Upload-Vorgang wird von der Aufzeichnung eindeutiger Kennungen in der Blockchain begleitet. Mitglieder der Wahlkommission und Beobachter können die Liste mit einem speziellen AWP in den Räumlichkeiten der Wahlkommission einsehen.



Wenn ein Wähler ein Wahllokal besucht, erfolgt seine Authentifizierung (Vergleich mit Passdaten) und Identifizierung in der Wählerliste sowie eine Überprüfung, ob dieser Wähler den Stimmzettel noch nicht erhalten hat. Hier ist ein wichtiger Punkt - es ist unmöglich festzustellen, ob der Wähler den erhaltenen Stimmzettel in die Wahlurne fallen ließ oder nicht, nur die Tatsache, dass der Stimmzettel bereits früher ausgestellt wurde. Bei der PTK DEG ist der Besuch eines Wählers ein Aufruf des Nutzers an das DEG-Portal- Dies ist eine Website unter vybory.gov.ru. Wie im traditionellen Bezirk enthält die Website Informationsmaterial zu den laufenden Wahlkämpfen, Informationen zu Kandidaten und andere Informationen. Zur Identifizierung und Authentifizierung wird die ESIA des State Services Portal verwendet. Somit bleibt das allgemeine Identifikationsschema sowohl bei der Einreichung eines Antrags als auch bei der Teilnahme an einer Abstimmung erhalten.



Danach beginnt das Anonymisierungsverfahren - der Wähler erhält einen Stimmzettel, der keine Kennzeichen enthält: Er hat keine Nummer, er hat nichts mit dem Wähler zu tun, an den er ausgestellt wurde. Es ist interessant, die Option in Betracht zu ziehen, wenn das Wahllokal mit elektronischen Abstimmungskomplexen ausgestattet ist. In diesem Fall erfolgt die Anonymisierung wie folgt: Anstelle einer Papierabstimmung wird der Wähler gebeten, aus dem Stapel eine Karte mit einem Barcode auszuwählen, mit der er sich dem Abstimmungsgerät nähert. Die Karte enthält keine Informationen über den Wähler, sondern nur einen Code, der festlegt, welcher Stimmzettel vom Gerät bei Vorlage einer solchen Karte bereitgestellt werden soll. Bei einer vollständig digitalen Interaktion besteht die Hauptaufgabe darin, einen solchen Anonymisierungsalgorithmus so zu implementieren, dass einerseitsEs war unmöglich, Benutzeridentifikationsdaten zu ermitteln und andererseits die Möglichkeit zu bieten, nur für den Benutzer zu stimmen, der zuvor in der Liste identifiziert wurde. Um dies zu lösen, verwendet der DEG-Software- und Hardwarekomplex einen kryptografischen Algorithmus, der im professionellen Umfeld als "blinde elektronische Signatur" bekannt ist. Wir werden es in den folgenden Veröffentlichungen ausführlich beschreiben und den Quellcode veröffentlichen. Sie können auch zusätzliche Informationen aus Veröffentlichungen im Internet mit Schlüsselwörtern sammeln - "kryptografische Protokolle der geheimen Abstimmung" oder "blinde Signatur".Wir werden es in den folgenden Veröffentlichungen ausführlich beschreiben und den Quellcode veröffentlichen. Sie können auch zusätzliche Informationen aus Veröffentlichungen im Internet mit Schlüsselwörtern sammeln - "kryptografische Protokolle der geheimen Abstimmung" oder "blinde Signatur".Wir werden es in den folgenden Veröffentlichungen ausführlich beschreiben und den Quellcode veröffentlichen. Sie können auch zusätzliche Informationen aus Veröffentlichungen im Internet mit Schlüsselwörtern sammeln - "kryptografische Protokolle der geheimen Abstimmung" oder "blinde Signatur".



Dann füllt der Wähler den Stimmzettel an einer Stelle aus, an der es unmöglich ist, die getroffene Wahl zu sehen (geschlossener Stand). Wenn der Wähler in unserem Informationssystem aus der Ferne abstimmt, ist der einzige Ort dieser Art das persönliche Gerät des Benutzers. Dazu wird der Benutzer zunächst auf eine andere Domain übertragen - in die anonyme Zone . Bevor Sie fortfahren, können Sie die VPN-Verbindung herstellen und die IP-Adresse ändern. In dieser Domain wird der Newsletter angezeigt und die Auswahl des Benutzers verarbeitet. Der Quellcode, der auf dem Gerät des Benutzers ausgeführt wird, ist zunächst geöffnet - Sie können ihn im Browser sehen.



Nachdem die Auswahl getroffen wurde, wird der Stimmzettel auf dem Gerät des Benutzers mit einem speziellen Verschlüsselungsschema verschlüsselt, das in der Komponente "Verteilte Speicherung und Stimmenzählung" gesendet und aufgezeichnet wirdgebaut auf einer Blockchain-Plattform.



Eines der wichtigsten Merkmale des Protokolls ist die Unfähigkeit, die Abstimmungsergebnisse vor dessen Abschluss herauszufinden. In einem traditionellen Bezirk wird dies durch Versiegeln der Wahlurne und Überwachung durch Beobachter sichergestellt. In der digitalen Kommunikation besteht die beste Lösung darin, die Wahl des Wählers zu verschlüsseln. Der verwendete Verschlüsselungsalgorithmus schließt die Möglichkeit aus, die Ergebnisse vor Abschluss der Abstimmung offenzulegen. Hierzu wird ein Schema mit zwei Schlüsseln verwendet: 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, Sie benötigen einen zweiten (privaten) Schlüssel. Der private Schlüssel wird hingegen zwischen den Wahlteilnehmern (Mitgliedern von Wahlkommissionen, öffentlichen Kammern, Zählserverbetreibern usw.) so geteilt, dass jeder einzelne Teil des Schlüssels unbrauchbar ist.Sie können die Entschlüsselung erst starten, nachdem der private Schlüssel erfasst wurde. In dem betrachteten System umfasst das Schlüsselfreigabeverfahren mehrere Phasen: Teilen eines Teils eines Schlüssels innerhalb des Systems, Teilen eines Schlüssels außerhalb des Systems und Generieren eines gemeinsamen öffentlichen Schlüssels. In den folgenden Veröffentlichungen werden wir den Prozess der Verschlüsselung und der Arbeit mit kryptografischen Schlüsseln detailliert zeigen.



Nachdem der Schlüssel gesammelt und geladen wurde, werden die Summen für ihre weitere Fixierung in der Blockchain und die anschließende Ankündigung berechnet. Ein Merkmal des betrachteten Systems ist die Verwendung einer homomorphen 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. Und jetzt werden wir sein Hauptmerkmal bemerken: verschlüsselte Stimmzettel, die im Abrechnungssystem aufgezeichnet sind, können ohne Entschlüsselung so kombiniert werden, dass das Ergebnis der Entschlüsselung eines solchen kombinierten Chiffretextes der summierte Wert für jede Auswahl in den Stimmzetteln ist. In diesem Fall implementiert das System natürlich mathematische Beweise für die Richtigkeit einer solchen Berechnung, die ebenfalls im Abrechnungssystem erfasst werden und von Beobachtern überprüft werden können.



Unten sehen Sie ein Diagramm des Abstimmungsprozesses. Klickbar









Blockchain-Plattform



Nachdem wir die Hauptmerkmale der Implementierung des elektronischen Fernabstimmungssystems analysiert haben, werden wir die Frage beantworten, mit der wir begonnen haben: Welche Rolle spielt die Blockchain-Technologie dabei und welche Aufgaben löst sie?



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



  • Die Grundaufgabe besteht darin, die Unveränderlichkeit von Informationen im Rahmen der Abstimmung und vor allem der Stimmen der Wähler sicherzustellen.
  • Gewährleistung der Transparenz der Ausführung und der Unveränderlichkeit des in Form von intelligenten Verträgen implementierten Programmcodes.
  • , : , , , .
  • , , .
  • , , .


Wir sehen also, dass es ohne den Einsatz dieser Technologie praktisch unmöglich ist, die notwendigen Eigenschaften im Abstimmungssystem zu erreichen und darauf zu vertrauen.



Die Funktionalität der verwendeten Blockchain-Plattform wird durch den Einsatz intelligenter Verträge erweitert. Intelligente Verträge überprüfen jede Transaktion mit verschlüsselten Stimmzetteln auf die Echtheit elektronischer und "blinder" Unterschriften und führen grundlegende Überprüfungen der Richtigkeit des Ausfüllens eines verschlüsselten Stimmzettels durch.



Gleichzeitig ist in dem betrachteten System der elektronischen Fernabstimmung die Komponente "Verteiltes Speichern und Zählen von Stimmen" nicht nur auf Blockchain-Knoten beschränkt. Für jeden Knoten kann ein separater Server bereitgestellt werden, der die grundlegenden kryptografischen Funktionen des Abstimmungsprotokolls implementiert - Zählserver.



Server zählen



Hierbei handelt es sich um dezentrale Komponenten, die ein Verfahren zur verteilten Generierung eines Stimmzettelverschlüsselungsschlüssels sowie zur Entschlüsselung und Zählung der Abstimmungsergebnisse bereitstellen. Ihre Aufgaben umfassen:



  • Bereitstellung einer verteilten Generierung eines Teils des Stimmzettelverschlüsselungsschlüssels. Das Verfahren zur Schlüsselgenerierung wird in den folgenden Artikeln erläutert.
  • Überprüfung der Richtigkeit eines verschlüsselten Stimmzettels (ohne ihn zu entschlüsseln);
  • Verarbeitung von Stimmzetteln in verschlüsselter Form zum endgültigen Chiffretext;
  • Verteilte Entschlüsselung der Endergebnisse.


Jede Stufe der Ausführung 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 erforderlichen Eigenschaften zu verleihen, werden die folgenden kryptografischen Algorithmen verwendet:



  • Elektronische Unterschrift;
  • Blinde Unterschrift des öffentlichen Schlüssels des Wählers;
  • El Gamal-Verschlüsselungsschema für elliptische Kurven;
  • Kein Wissensnachweis;
  • DKG-Protokoll (Distributed Key Generation) Pedersen 91;
  • Shamirs Protokoll zur gemeinsamen Nutzung privater Schlüssel.


Der kryptografische Dienst wird in den folgenden Artikeln ausführlicher erläutert.



Ergebnis



Lassen Sie uns ein Zwischenergebnis der Betrachtung des elektronischen Fernabstimmungssystems zusammenfassen. Wir haben den Prozess und die Hauptkomponenten, die ihn implementieren, kurz beschrieben und auch die Mittel identifiziert, um die für jedes Abstimmungssystem erforderlichen Eigenschaften zu erreichen:



  • . . , .
  • . , , . « » .
  • . , . .
  • . . -.
  • . , .
  • . , « ».



All Articles