Visión xeral do procedemento de anonimización do sistema de votación electrónica a distancia

В publicacións anteriores Decidimos que no sistema de votación electrónica a distancia que estamos considerando, utilízase un algoritmo criptográfico de "sinatura electrónica cega" para garantir o segredo da votación e anonimizar ao elector. Neste artigo verémolo con máis detalle.

En primeiro lugar, imos pasar ao coñecido e familiar algoritmo de sinatura electrónica, que é amplamente utilizado nos sistemas de información para diversos fins. A sinatura electrónica baséase en algoritmos criptográficos de cifrado asimétrico. O cifrado asimétrico é o cifrado mediante 2 claves: unha delas úsase para cifrar, a outra para descifrar. Chámanse clave aberta (pública) e privada. A clave pública é coñecida por outros, e a clave privada só é coñecida polo propietario da sinatura electrónica e gárdase nun lugar inaccesible para outros.

Ao asinar, ocorre o seguinte: en primeiro lugar, o documento electrónico, mediante transformacións matemáticas, redúcese a unha secuencia de caracteres dun determinado tamaño, isto chámase función hash.

A secuencia de caracteres resultante (un hash do documento) é cifrada polo remitente do documento mediante unha clave privada e, xunto coa clave pública, envíase ao destinatario. O destinatario descifra a secuencia de caracteres mediante a clave pública, aplica exactamente a mesma función hash ao documento e compara o resultado da conversión co resultado do descifrado. Se todo coincide, non se realizaron cambios no documento despois de que o remitente asinase.

As accións descritas permítenche verificar que o documento non foi modificado, pero non permiten verificar que o remitente é realmente quen di ser. Polo tanto, necesitamos un terceiro no que confíe tanto o remitente como o destinatario. Para iso, antes de enviar o documento, o remitente contacta cun terceiro e pídelle que asine a súa clave pública coa súa sinatura electrónica. Agora o remitente envía ao destinatario o documento, a súa chave pública e unha sinatura de terceiros da súa chave. O destinatario verifica a sinatura do terceiro na clave pública e confía na sinatura do documento resultante.

Agora pasemos ao que é unha "sinatura cega" e como pode axudarnos coa anonimización.

Imaxinemos que no exemplo descrito anteriormente, o remitente é o elector, o documento é a papeleta e o destinatario é a comisión electoral, ou como dixemos "o compoñente de reconto de votos". Teremos o compoñente "Lista de votantes" como terceiro (validador). Neste caso, o proceso pode ocorrer do seguinte xeito.

Visión xeral do procedemento de anonimización do sistema de votación electrónica a distancia

O elector xera un par de claves no seu dispositivo: privadas e públicas. Dado que estas claves son creadas no seu dispositivo persoal no navegador, só as coñece el.

Mediante estas claves, asinará a papeleta para controlar a súa integridade. Envía a papeleta asinada e a chave pública á comisión electoral. Para que unha papeleta sexa aceptada polo compoñente Almacenamento e reconto de votos distribuídos, debe verificar que a clave pública estea asinada polo validador.

O validador (compoñente Lista de electores) só asinará a clave pública despois de verificar que o elector está na lista de electores.

Para resolver o problema de preservar o segredo da votación, ninguén debería coñecer a clave pública do elector creada no seu dispositivo. Resulta que o validador debe asinar algo que lle descoñece. A tarefa parece imposible, pero aquí os algoritmos criptográficos veñen ao rescate - neste caso, o algoritmo de "sinatura cega"

En primeiro lugar, a chave pública debe estar enmascarada no dispositivo do elector. O enmascaramento é a realización de operacións matemáticas individuais no dispositivo do usuario. Imaxina que pensaches nun número aleatorio do 1 ao 100, despois pensou nun segundo número aleatorio do 1 ao 10 e un terceiro, do 10 ao 50, elevou o número pensado inicialmente á potencia do segundo número e dividiuno sen un resto polo terceiro. O resultado foi informado a outros. Non che será difícil restaurar o número orixinal, xa que coñeces a secuencia de accións e os números que tes en mente. Pero os que te rodean non poderán facelo.

O enmascaramento (cegamento) da chave pública realízase segundo un algoritmo criptográfico especial. Como resultado, o validador asina unha chave pública enmascarada sen coñecer a clave orixinal. Pero a peculiaridade do algoritmo é que o usuario (votante), recibindo unha sinatura para unha chave enmascarada, pode realizar transformacións inversas e obter unha sinatura válida para a clave orixinal sen máscara.

O algoritmo descrito úsase amplamente nos protocolos de votación secreta. O sistema de votación electrónica a distancia usa actualmente o algoritmo RSA cunha lonxitude de clave de 4096 bits para sinaturas cegas.

En xeral, o procedemento de anonimización é o seguinte.

  1. Cando se crea unha votación, créase un par de claves "validador" separado e a chave pública rexístrase na cadea de bloques. Créase un par de claves único para cada voto.
  2. O usuario está identificado no sistema de identificación (neste caso, no ESIA), e dá permiso para transferir os seus datos de identificación desde o sistema de identificación ao DEG PTC.
  3. O compoñente "Lista de electores" do DEG PTC verifica a presenza do usuario na lista de votantes.
  4. No dispositivo do usuario créanse as súas claves persoais: privadas e públicas, coñecidas só por el.
  5. A chave pública está enmascarada no dispositivo do usuario
  6. Xunto cos datos de identificación e unha clave pública enmascarada, o usuario accede ao compoñente "Lista de votantes".
  7. O compoñente verifica unha vez máis a presenza do usuario na lista e o feito de que non recibiu unha sinatura antes
  8. Se todas as comprobacións teñen éxito, a chave está asinada
  9. O feito de asinar a chave está rexistrado na cadea de bloques
  10. O usuario do seu dispositivo elimina a máscara da chave pública e recibe unha clave privada, unha clave pública e unha sinatura na chave pública, e só el coñece todas as claves.
  11. Despois diso, o usuario transfírese a unha zona anónima: a un sitio web separado edg2020.gov.ru, onde é imposible identificalo (por exemplo, antes da transición pode conectarse a unha VPN ou cambiar o seu provedor de Internet, cambiando completamente o Enderezo IP)
  12. A aceptación da papeleta dependerá só de que se verifique a sinatura do "validador" e de se non se utilizou previamente dita clave.

A continuación, ofrecemos unha descrición do algoritmo desde o punto de vista da criptografía.
Opcións de sinatura e designación:

Visión xeral do procedemento de anonimización do sistema de votación electrónica a distancia
Visión xeral do procedemento de anonimización do sistema de votación electrónica a distancia

M – en formato de recheo FDN para a sinatura.

Fonte: www.habr.com

Engadir un comentario