Revisió del sistema de votació electrònica a distància de la Comissió Electoral Central de la Federació Russa

El 31 d'agost de 2020, va tenir lloc una prova pública del sistema de votació electrònica remota (d'ara endavant denominat DEG) amb tecnologia blockchain, desenvolupada per ordre de la Comissió Electoral Central de la Federació Russa.

Per conèixer el nou sistema de votació electrònica i entendre quin paper hi juga la tecnologia blockchain i quins altres components s'utilitzen, iniciem una sèrie de publicacions dedicades a les principals solucions tècniques utilitzades en el sistema. Suggerim començar per ordre, amb els requisits del sistema i les funcions dels participants en el procés

Requisits del sistema

Els requisits bàsics que s'apliquen a qualsevol sistema de votació són generalment els mateixos per a la votació presencial tradicional i per a la votació electrònica a distància, i es determinen per la Llei Federal de 12.06.2002 de juny de 67 N 31.07.2020-FZ (modificada el XNUMX de juliol de XNUMX). "Sobre els drets de vot de les garanties bàsiques i el dret a participar en un referèndum de ciutadans de la Federació Russa".

  1. La votació en eleccions i referèndums és secreta, excloent la possibilitat de qualsevol control sobre la voluntat d'un ciutadà (article 7).
  2. L'oportunitat de votar només s'ha de proporcionar a les persones que tinguin dret actiu a votar per aquest vot.
  3. Un votant: un vot, no es permet el vot "doble".
  4. El procés de votació ha de ser obert i transparent per als votants i observadors.
  5. S'ha de garantir la integritat del vot emès.
  6. No hauria de ser possible calcular els resultats de la votació provisional abans de finalitzar la votació.

Així doncs, tenim tres participants: el votant, la comissió electoral i l'observador, entre els quals es determina l'ordre d'interacció. També és possible destacar un quart participant: els organismes que realitzen el registre de ciutadans al territori (principalment el Ministeri de l'Interior, així com altres autoritats executives), ja que el sufragi actiu està associat a la ciutadania i al lloc de registre.

Tots aquests participants interactuen entre ells.

Protocol d'interacció

Considerem el procés de votació en un col·legi electoral tradicional, amb urnes i paperetes. D'una forma generalment simplificada, es veu així: un elector ve al col·legi electoral i presenta un document d'identificació (passaport). Al col·legi electoral hi ha una comissió electoral de districte, el membre de la qual verifica la identitat de l'elector i la seva presència a la llista electoral que s'havia confeccionat anteriorment. Si es troba el votant, un membre de la comissió li lliura una papereta i l'elector signa per rebre la papereta. Després d'això, l'elector va a l'urna, omple la butlleta i la col·loca a l'urna. Per garantir que tots els procediments es compleixen estrictament per llei, tot això està controlat per observadors (representants de candidats, institucions públiques de seguiment). Un cop finalitzada la votació, la comissió electoral, en presència d'observadors, recompta els vots i estableix els resultats de la votació.

Les propietats necessàries per votar en un sistema de votació tradicional les proporcionen les mesures organitzatives i el procediment establert per a la interacció dels participants: la comprovació del passaport dels votants, la signatura personal de les paperetes, l'ús de cabines i urnes segellades, el procediment de recompte de vots, etc. .

Per a un sistema d'informació, que és un sistema de votació electrònica remota, aquesta ordre d'interacció s'anomena protocol. Com que totes les nostres interaccions s'estan convertint en digitals, aquest protocol es pot considerar com un algorisme que s'implementa per components individuals del sistema, i un conjunt de mesures organitzatives i tècniques realitzades pels usuaris.

La interacció digital imposa certs requisits als algorismes implementats. Vegem les actuacions que es realitzen en un lloc tradicional pel que fa als sistemes d'informació i com s'implanta això en el sistema DEG que estem considerant.

Diguem de seguida que la tecnologia blockchain no és una "bala de plata" que resol tots els problemes. Per crear aquest sistema, calia desenvolupar un gran nombre de components de programari i maquinari responsables de diferents tasques, i connectar-los amb un únic procés i protocol. Però al mateix temps, tots aquests components interactuen amb la plataforma blockchain.

Components del sistema

Des del punt de vista tècnic, el sistema DEG és un complex de programari i maquinari (en endavant STC), que combina un conjunt de components per garantir la interacció entre els participants en el procés electoral en un entorn informatiu unificat.

El diagrama d'interacció dels components i participants del sistema DEG PTC es mostra a la figura següent.

Revisió del sistema de votació electrònica a distància de la Comissió Electoral Central de la Federació Russa
Es pot fer clic

Procés de votació a distància

Ara considerarem en detall el procés de votació electrònica remota i la seva implementació per part dels components del complex de programari i maquinari DEG.

Segons el Procediment de votació electrònica a distància, per ser inclòs a la llista de participants en el vot electrònic a distància, l'elector ha de presentar una sol·licitud al portal de Serveis de l'Estat. Al mateix temps, només els usuaris que tinguin un compte confirmat i s'hagin comparat amb èxit amb el registre d'electors, els participants al referèndum del sistema "Eleccions" del sistema automatitzat estatal poden presentar aquesta sol·licitud. Després de rebre la sol·licitud, la Comissió Electoral Central de Rússia torna a comprovar les dades del votant i les carrega a Component de la llista de votants PTC DEG. El procés de descàrrega va acompanyat de l'enregistrament d'identificadors únics a la cadena de blocs. Els membres de la comissió electoral i els observadors tenen accés a la visualització de la llista mitjançant una estació de treball automatitzada especial situada a les instal·lacions de la comissió electoral.

Quan un elector visita un col·legi electoral, s'autentica (en comparació amb les dades del passaport) i s'identifica a la llista de votants, a més de comprovar que aquest elector no ha rebut prèviament una papereta. Un punt important aquí és que és impossible establir si el votant va posar la papereta rebuda a l'urna o no, només el fet que la papereta ja s'havia emès abans. En el cas de PTC DEG, la visita d'un votant representa la sol·licitud d'un usuari Portal DEG és un lloc web ubicat a vybory.gov.ru Com un col·legi electoral tradicional, el lloc web conté material informatiu sobre les campanyes electorals en curs, informació sobre candidats i altra informació. Per dur a terme la identificació i autenticació s'utilitza l'ESIA del Portal de Serveis de l'Estat. Així, es manté l'esquema general d'identificació tant en la sol·licitud com en la votació.

Després d'això, s'inicia el procediment d'anonimització: al votant se li lliura una papereta que no conté cap marca d'identificació: no té un número, no està de cap manera relacionada amb l'elector a qui se li va emetre. És interessant considerar l'opció quan el col·legi electoral està equipat amb complexos de votació electrònica; en aquest cas, l'anonimat es realitza de la següent manera: en comptes d'una papereta, es demana al votant que triï d'una pila qualsevol targeta amb un codi de barres amb la qual s'acostarà al dispositiu de votació. No hi ha informació sobre el votant a la targeta, només un codi que determina quina papereta ha de proporcionar el dispositiu en presentar una targeta d'aquest tipus. Amb una interacció totalment digital, la tasca principal és implementar un algorisme d'anonimització de manera que, d'una banda, sigui impossible establir cap dada d'identificació de l'usuari, i d'altra banda, proporcionar la possibilitat de votar només a aquells usuaris que s'han identificat prèviament a la llista. Per resoldre aquest problema, el DEG PTK utilitza un algorisme criptogràfic, conegut en l'entorn professional com a "signatura electrònica cega". En parlarem amb detall a les publicacions següents i també publicarem el codi font; també podeu recollir informació addicional de publicacions a Internet mitjançant paraules clau: "protocols de vot secret criptogràfic" o "signatura cega".

A continuació, el votant omple la butlleta en un lloc on és impossible veure l'elecció feta (una cabina tancada) - si al nostre sistema d'informació el votant vota de forma remota, l'únic lloc d'aquest tipus és el dispositiu personal de l'usuari. Per fer-ho, primer es transfereix l'usuari a un altre domini − a la zona anònima. Abans de canviar, podeu augmentar la vostra connexió VPN i canviar la vostra adreça IP. És en aquest domini on es mostra la papereta i es processa l'elecció de l'usuari. El codi font que s'executa al dispositiu de l'usuari està obert inicialment; es pot veure al navegador.

Un cop feta l'elecció, la papereta es xifra al dispositiu de l'usuari mitjançant un esquema de xifratge especial, enviat i gravat en component "Emmagatzematge distribuït i recompte de vots", construït a la plataforma blockchain.

Una de les característiques més importants del protocol és la impossibilitat de conèixer els resultats de la votació abans de finalitzar-la. En un col·legi electoral tradicional, això s'assegura mitjançant el segellat de les urnes i el seguiment per part dels observadors. En les interaccions digitals, la millor solució és xifrar l'elecció del votant. L'algoritme de xifratge utilitzat evita que els resultats es revelin abans de completar la votació. Per a això, s'utilitza un esquema amb dues claus: una clau (pública), que és coneguda per tots els participants, s'utilitza per xifrar la veu. No es pot desxifrar amb la mateixa clau; cal una segona clau (privada). La clau privada es divideix entre els participants en el procés electoral (membres de comissions electorals, cambra pública, operadors de servidors de recompte, etc.) de manera que cada part individual de la clau és inútil. Només podeu començar el desxifrat després que s'hagi recollit la clau privada. En el sistema considerat, el procediment de separació de claus inclou diverses etapes: separació d'una part de la clau dins del sistema, separació de la clau fora del sistema i generació d'una clau pública comuna. Mostrarem amb detall el procés d'encriptació i treball amb claus criptogràfiques en futures publicacions.

Un cop recopilada i baixada la clau, comença el càlcul dels resultats per a la seva posterior gravació a la cadena de blocs i l'anunci posterior. Una característica del sistema a considerar és l'ús de tecnologia de xifratge homomòrfic. Descriurem aquest algorisme amb detall en futures publicacions i parlarem de per què aquesta tecnologia s'utilitza àmpliament per crear sistemes de votació. Fixem-nos ara en la seva característica principal: les paperetes xifrades registrades al sistema de comptabilitat es poden combinar sense desxifrar de manera que el resultat de desxifrar aquest text xifrat combinat serà el valor sumat per a cada opció a les paperetes. Al mateix temps, el sistema, per descomptat, implementa proves matemàtiques de la correcció d'aquest càlcul, que també es registren al sistema de comptabilitat i poden ser verificades pels observadors.

A continuació es mostra un esquema del procés de votació.

Revisió del sistema de votació electrònica a distància de la Comissió Electoral Central de la Federació Russa
Es pot fer clic

Plataforma Blockchain

Ara que hem examinat les principals característiques de la implementació d'un sistema de vot electrònic remot, responem a la pregunta amb la qual vam començar: quin paper juga la tecnologia blockchain en això i quins problemes permet resoldre?

En el sistema de votació remot implementat, la tecnologia blockchain resol una sèrie de problemes.

  • La tasca bàsica és vetllar per la integritat de la informació en el marc de la votació, i, en primer lloc, de les votacions.
  • Garantir la transparència de l'execució i la immutabilitat del codi del programa implementat en forma de contractes intel·ligents.
  • Garantir la protecció i la immutabilitat de les dades utilitzades en el procés de votació: la llista d'electors, les claus utilitzades per xifrar les paperetes en les diferents etapes del protocol criptogràfic, etc.
  • Proporcionar emmagatzematge descentralitzat de dades, amb cada participant amb una còpia absolutament idèntica, confirmada per les propietats de consens a la xarxa.
  • La capacitat de veure transaccions i fer un seguiment del progrés de la votació, que es reflecteix plenament en la cadena de blocs, des del seu inici fins a l'enregistrament dels resultats calculats.

Així, veiem que sense utilitzar aquesta tecnologia és gairebé impossible aconseguir les propietats necessàries en el sistema de votació, així com confiar-hi.

La funcionalitat de la plataforma blockchain utilitzada s'enriqueix amb l'ús de contractes intel·ligents. Els contractes intel·ligents comproven cada transacció amb paperetes xifrades per a l'autenticitat de les signatures electròniques i "cegues", i també realitzen comprovacions bàsiques de la correcció d'omplir la papereta xifrada.

A més, en el considerat sistema de votació electrònica remota, el component "Emmagatzematge distribuït i recompte de vots" no es limita només als nodes blockchain. Per a cada node, es pot desplegar un servidor independent que implementi les principals funcions criptogràfiques del protocol de votació: servidors de recompte.

Recompte de servidors

Es tracta de components descentralitzats que proporcionen el procediment per a la generació distribuïda d'una clau de xifratge de la votació, així com el desxifrat i el càlcul dels resultats de la votació. Les seves tasques inclouen:

  • Garantir la generació distribuïda d'una part de la clau de xifratge de la votació. El procediment de generació de claus es tractarà als articles següents;
  • Comprovació de la correcció de la papereta xifrada (sense desxifrar-la);
  • Processar les paperetes en forma xifrada per generar el text xifrat final;
  • Descodificació distribuïda dels resultats finals.

Cada etapa d'execució del protocol criptogràfic s'enregistra a la plataforma blockchain i els observadors poden comprovar-ne la correcció.

Per donar al sistema les propietats necessàries en les diferents etapes del procés de votació, s'utilitzen els algorismes criptogràfics següents:

  • Signatura Electrònica;
  • Signatura a cegues de la clau pública del votant;
  • Esquema de xifratge de corba el·líptica ElGamal;
  • Proves de coneixement zero;
  • Protocol Pedersen 91 DKG (generació de claus distribuïdes);
  • Protocol de compartició de claus privades utilitzant l'esquema de Shamir.

El servei criptogràfic es tractarà amb més detall als articles següents.

Resultats de

Resumim alguns resultats intermedis de la consideració del sistema de vot electrònic a distància. Hem descrit breument el procés i els principals components que l'executen, i també hem identificat els mitjans per aconseguir les propietats necessàries per a qualsevol sistema de votació:

  • Verificabilitat dels votants. El sistema només accepta vots dels votants verificats. Aquesta propietat es garanteix mitjançant la identificació i autenticació dels votants, així com l'enregistrament de la llista d'electors i el fet de facilitar l'accés a la papereta a la blockchain.
  • Anonimat. El sistema garanteix el secret de la votació, consagrat a la legislació de la Federació Russa; la identitat del votant no es pot determinar a partir d'una votació xifrada. Implementat mitjançant un algorisme de "signatura cega" i una zona anònima per omplir i enviar la papereta.
  • Confidencialitat dels vots. Els organitzadors i altres participants a la votació no poden esbrinar el resultat de la votació fins que no s'hagi completat, es comptabilitzen els vots i es desxifra els resultats finals. La confidencialitat s'aconsegueix xifrant les paperetes i fent-les impossibles de desxifrar fins després de votar.
  • Immutabilitat de les dades. Les dades dels votants no es poden canviar ni esborrar. L'emmagatzematge de dades immutable el proporciona la plataforma blockchain.
  • Verificabilitat. L'observador pot comprovar que els vots s'han comptat correctament.
  • Fiabilitat. L'arquitectura del sistema es basa en els principis de descentralització, assegurant l'absència d'un únic "punt de falla".

Font: www.habr.com

Afegeix comentari