Visió general del procediment d'anonimització del sistema de vot electrònic a distància

В publicacions anteriors Hem decidit que en el sistema de votació electrònica remota que estem considerant, s'utilitza un algorisme criptogràfic de "signatura electrònica cega" per garantir el secret de la votació i anonimitzar el votant. En aquest article ho veurem amb més detall.

En primer lloc, passem al conegut i familiar algorisme de signatura electrònica, que s'utilitza àmpliament en sistemes d'informació amb diversos propòsits. La signatura electrònica es basa en algorismes criptogràfics de xifratge asimètric. El xifrat asimètric és el xifratge mitjançant 2 claus: una d'elles s'utilitza per a xifrar, l'altra per al desxifrat. S'anomenen clau oberta (pública) i privada. La clau pública és coneguda pels altres, i la clau privada només la coneix el propietari de la signatura electrònica i s'emmagatzema en un lloc inaccessible per a altres.

En signar, succeeix el següent: primer, el document electrònic, mitjançant transformacions matemàtiques, es redueix a una seqüència de caràcters d'una mida determinada: això s'anomena funció hash.

La seqüència de caràcters resultant (un hash del document) és xifrada pel remitent del document mitjançant una clau privada i, juntament amb la clau pública, s'envia al destinatari. El destinatari desxifra la seqüència de caràcters mitjançant la clau pública, aplica exactament la mateixa funció hash al document i compara el resultat de la conversió amb el resultat del desxifrat. Si tot coincideix, no s'han fet canvis al document després de signar-lo pel remitent.

Les accions descrites us permeten verificar que el document no s'ha modificat, però no us permeten verificar que el remitent és realment qui diu ser. Per tant, necessitem un tercer en el qual confiï tant l'emissor com el destinatari. Per fer-ho, abans d'enviar el document, el remitent es posa en contacte amb un tercer i li demana que signi la seva clau pública amb la seva signatura electrònica. Ara el remitent envia al destinatari el document, la seva clau pública i una signatura de tercers de la seva clau. El destinatari verifica la signatura del tercer a la clau pública i confia en la signatura del document resultant.

Ara passem a què és una "signatura cega" i com ens pot ajudar amb l'anonimat.

Imaginem que en l'exemple descrit anteriorment, el remitent és l'elector, el document és la papereta i el destinatari és la comissió electoral, o com dèiem "el component de recompte de vots". Tindrem el component “Llista de votants” com a tercer (validador). En aquest cas, el procés es pot produir de la següent manera.

Visió general del procediment d'anonimització del sistema de vot electrònic a distància

El votant genera un parell de claus al seu dispositiu: privades i públiques. Com que aquestes claus es creen al seu dispositiu personal al navegador, només les coneix.

Amb aquestes claus, signarà la papereta per controlar-ne la integritat. Envia la papereta signada i la clau pública a la comissió electoral. Perquè una papereta sigui acceptada pel component d'emmagatzematge i recompte de vots distribuïts, ha de verificar que la clau pública està signada pel validador.

El validador (component Llista de votants) signarà la clau pública només després de verificar que el votant està a la llista de votants.

Per resoldre el problema de preservar el secret de la votació, la clau pública del votant creada al seu dispositiu no hauria de ser coneguda per ningú. Resulta que el validador ha de signar quelcom que li desconeix. La tasca sembla impossible, però aquí els algorismes criptogràfics vénen al rescat; en aquest cas, l'algoritme de "signatura a cega".

En primer lloc, la clau pública s'ha d'emmascarar al dispositiu del votant. L'emmascarament és la realització d'operacions matemàtiques individuals al dispositiu de l'usuari. Imagineu que heu pensat en un nombre aleatori de l'1 al 100, després heu pensat en un segon nombre aleatori de l'1 al 10 i un tercer, del 10 al 50, va elevar el nombre pensat inicialment a la potència del segon nombre i el va dividir sense una resta per la tercera. El resultat es va comunicar a altres persones. No us serà difícil restaurar el número original, ja que coneixeu la seqüència d'accions i els números que teniu al cap. Però els que t'envolten no ho podran fer.

L'emmascarament (cegament) de la clau pública es realitza segons un algorisme criptogràfic especial. Com a resultat, el validador signa una clau pública emmascarada sense conèixer la clau original. Però la peculiaritat de l'algorisme és que l'usuari (votant), després d'haver rebut una signatura per a una clau emmascarada, pot fer transformacions inverses i obtenir una signatura vàlida per a la clau original sense emmascarar.

L'algorisme descrit s'utilitza àmpliament en els protocols de votació secreta. Actualment, el sistema de votació electrònica remota utilitza l'algorisme RSA amb una longitud de clau de 4096 bits per a signatures a cegues.

En general, el procediment d'anonimització és el següent.

  1. Quan es crea un vot, es crea un parell de claus "validador" separat i la clau pública es registra a la cadena de blocs. Es crea un parell de claus únic per a cada vot.
  2. L'usuari s'identifica al sistema d'identificació (en aquest cas, a l'ESIA), i dóna permís per transferir les seves dades d'identificació des del sistema d'identificació al DEG PTC.
  3. El component "Llista de votants" del DEG PTC verifica la presència de l'usuari a la llista de votants.
  4. Al dispositiu de l'usuari, es creen les seves claus personals: privades i públiques, només conegudes per ell.
  5. La clau pública està emmascarada al dispositiu de l'usuari
  6. Juntament amb les dades d'identificació i una clau pública emmascarada, l'usuari accedeix al component "Llista de votants".
  7. El component torna a comprovar la presència de l'usuari a la llista i el fet que no hagi rebut cap signatura abans
  8. Si totes les comprovacions tenen èxit, la clau està signada
  9. El fet de signar la clau queda registrat a la cadena de blocs
  10. L'usuari del seu dispositiu elimina la màscara de la clau pública i rep una clau privada, una clau pública i una signatura a la clau pública, i totes les claus només les coneixen ell.
  11. Després d'això, l'usuari es trasllada a una zona anònima: a un lloc web separat edg2020.gov.ru, on és impossible identificar-lo (per exemple, abans de la transició pot connectar una VPN o canviar el seu proveïdor d'Internet, canviant completament el Adreça IP)
  12. L'acceptació de la papereta només dependrà de si es verifica la signatura del "validador" i de si aquesta clau no s'ha utilitzat prèviament.

A continuació, oferim una descripció de l'algorisme des del punt de vista de la criptografia.
Opcions de signatura i designació:

Visió general del procediment d'anonimització del sistema de vot electrònic a distància
Visió general del procediment d'anonimització del sistema de vot electrònic a distància

M – en format de farciment FDN per a la signatura.

Font: www.habr.com

Afegeix comentari