Descripción general del sistema de votación electrónica remota de la CCA de la Federación de Rusia

El 31 de agosto de 2020, se llevó a cabo una prueba pública del sistema de votación electrónica remota (en adelante DEG) utilizando tecnología blockchain, desarrollada por orden de la Comisión Electoral Central de la Federación de Rusia.



Para familiarizarnos con el nuevo sistema de votación electrónica y comprender qué papel juega en él la tecnología blockchain y qué otros componentes se utilizan, estamos iniciando una serie de publicaciones dedicadas a las principales soluciones técnicas utilizadas en el sistema. Proponemos comenzar en orden, con los requisitos del sistema y las funciones de los participantes en el proceso.



Requisitos del sistema



Los requisitos básicos que se aplican a cualquier sistema de votación son generalmente los mismos tanto para la votación tradicional cara a cara como para la votación electrónica remota, y están definidos por la Ley Federal No. 67-FZ de 12.06.2002 (modificada el 31.07.2020) “Sobre Garantías Básicas derechos electorales y derecho a participar en un referéndum de ciudadanos de la Federación de Rusia ”.



  1. La votación en elecciones y referéndums es secreta, excluyendo la posibilidad de cualquier control sobre la expresión de la voluntad de un ciudadano (artículo 7).
  2. La posibilidad de votar debe brindarse únicamente a las personas que tengan sufragio activo en esa votación.
  3. Un votante - un voto, no se permite el voto "doble".
  4. El proceso de votación debe ser abierto y transparente para los votantes y observadores.
  5. Debe garantizarse la coherencia del voto emitido.
  6. No debería ser posible calcular los subtotales de la votación antes de su finalización.


Entonces, tenemos tres participantes: un votante, una comisión electoral y un observador, entre quienes se ha determinado el orden de interacción. También es posible destacar al cuarto participante: los organismos que llevan a cabo el registro de ciudadanos en el territorio (en primer lugar, el Ministerio del Interior, así como otras autoridades ejecutivas), ya que el sufragio activo está asociado con la ciudadanía y el lugar de registro.



Todos estos participantes interactúan entre sí.



Protocolo de interacción



Considere el proceso de votación en una mesa de votación tradicional, con urnas y papeletas. En general, de forma simplificada, se ve así: un votante llega a la mesa de votación y presenta un documento de identidad (pasaporte). Una comisión electoral de precinto trabaja en el precinto, un miembro de la cual verifica la identidad del votante y su presencia en la lista de votantes, que se compiló anteriormente. Si se encuentra un votante, el miembro de la comisión emite una boleta al votante y el votante firma para recibir la boleta. Después de eso, el votante va a la cabina de votación, llena la papeleta y la coloca en la urna. Para garantizar que todos los procedimientos se observen estrictamente de acuerdo con la ley, los observadores (representantes de los candidatos, instituciones públicas de observación) están monitoreando todo.Una vez terminada la votación, la comisión electoral, en presencia de observadores, contará los votos y establecerá los resultados de la votación.



Las propiedades necesarias para la votación en el sistema de votación tradicional las proporcionan las medidas organizativas y el procedimiento establecido para la interacción de los participantes: verificación de pasaportes electorales, firma personal de boletas, uso de casillas y urnas selladas, procedimiento de cómputo de votos, etc.



Para un sistema de información, que es un sistema de votación electrónica remota, este procedimiento de interacción se denomina protocolo. Dado que toda interacción con nosotros se está volviendo digital, este protocolo puede considerarse como un algoritmo que es implementado por componentes individuales del sistema, y ​​un conjunto de medidas organizativas y técnicas realizadas por los usuarios.



La interacción digital impone ciertos requisitos a los algoritmos que se implementan. Veamos las acciones realizadas en el sitio tradicional en términos de sistemas de información y cómo esto se implementa en el sistema DEG que estamos considerando.



Digamos de inmediato que la tecnología blockchain no es una "solución milagrosa" que resuelve todos los problemas. Para crear un sistema de este tipo, fue necesario desarrollar una gran cantidad de componentes de software y hardware responsables de diferentes tareas y conectarlos con un solo proceso y protocolo. Pero al mismo tiempo, todos estos componentes interactúan con la plataforma blockchain.



Componentes del sistema



Desde un punto de vista técnico, el sistema DEG es un complejo de software y hardware (en adelante PTC), que combina un conjunto de componentes para asegurar la interacción de los participantes en el proceso electoral en un único entorno de información.



El esquema de interacción de los componentes y participantes del sistema DEG PTC se muestra en la siguiente figura. Clickable









Proceso de votación remota



Consideremos ahora en detalle el proceso de votación electrónica remota y su implementación por parte de los componentes del complejo de software y hardware DEG.



De acuerdo con el Procedimiento de Voto Electrónico a Distancia, para ser incluido en la lista de participantes en Voto Electrónico a Distancia, el elector debe presentar una solicitud en el portal de Servicios del Estado. Al mismo tiempo, dicha solicitud solo puede ser presentada por aquellos usuarios que tienen una cuenta confirmada y han sido emparejados con éxito con el registro de votantes, participantes en el referéndum del sistema "Vybory" de GAS. Después de recibir la solicitud, la CCA de Rusia verifica nuevamente los datos de los votantes y los carga en el componente "Lista de votantes".PTK DEG. El proceso de carga va acompañado del registro de identificadores únicos en la cadena de bloques. Los miembros de la comisión electoral y los observadores tienen acceso a ver la lista utilizando un AWP especial ubicado en las instalaciones de la comisión electoral.



Cuando un elector visita una mesa de votación, se realiza su autenticación (comparación con los datos del pasaporte) e identificación en la lista de electores, así como una verificación de que este elector no ha recibido la boleta antes. Aquí hay un punto importante: es imposible establecer si el votante dejó caer la boleta recibida en la urna o no, solo el hecho de que la boleta ya se emitió antes. En el caso de PTK DEG, la visita de un votante es una apelación del usuario al Portal DEG- este es un sitio ubicado en vybory.gov.ru Como en el precinto tradicional, el sitio contiene materiales de información sobre las campañas electorales en curso, información sobre candidatos y otra información. Para realizar la identificación y autenticación se utiliza la EIAS del Portal de Servicios del Estado. Así, el esquema de identificación general se conserva tanto al presentar una solicitud como al participar en una votación.



Después de eso, comienza el procedimiento de anonimización: el votante recibe una papeleta que no contiene ninguna marca de identificación: no tiene número, no tiene nada que ver con el votante para quien se emitió. Es interesante considerar la opción cuando la mesa de votación está equipada con complejos de votación electrónica; en este caso, el anonimato se realiza de la siguiente manera: en lugar de una boleta de papel, se le pide al votante que elija de la pila cualquier tarjeta con un código de barras, con el que se acercará al dispositivo de votación. La tarjeta no contiene ninguna información sobre el votante, solo un código que determina qué papeleta debe proporcionar el dispositivo al presentar dicha tarjeta. Con una interacción totalmente digital, la tarea principal es implementar tal algoritmo de anonimización para que, por un lado,fue imposible establecer ningún dato de identificación de usuario y, por otro lado, brindar la oportunidad de votar solo al usuario que estaba previamente identificado en la lista. Para solucionarlo, el complejo de software y hardware DEG utiliza un algoritmo criptográfico, conocido en el ámbito profesional como "firma electrónica ciega". Lo describiremos en detalle en las siguientes publicaciones, además de publicar el código fuente, también puede recopilar información adicional de publicaciones en Internet utilizando palabras clave: "protocolos criptográficos de voto secreto" o "firma ciega"Lo describiremos en detalle en las siguientes publicaciones, además de publicar el código fuente, también puede recopilar información adicional de publicaciones en Internet por palabras clave - "protocolos criptográficos de voto secreto" o "firma ciega"Lo describiremos en detalle en las siguientes publicaciones, además de publicar el código fuente, también puede recopilar información adicional de publicaciones en Internet utilizando palabras clave: "protocolos criptográficos de voto secreto" o "firma ciega"



Luego, el votante llena la boleta en un lugar donde es imposible ver la elección hecha (cabina cerrada) - si en nuestro sistema de información el votante vota de forma remota, entonces el único lugar es el dispositivo personal del usuario. Para hacer esto, el usuario se transfiere primero a otro dominio, a la zona anónima . Antes de continuar, puede abrir la conexión VPN y cambiar la dirección IP. Este dominio es donde se muestra el boletín y se procesa la elección del usuario. El código fuente que se ejecuta en el dispositivo del usuario está inicialmente abierto; puede verlo en el navegador.



Una vez realizada la elección, la papeleta se cifra en el dispositivo del usuario mediante un esquema de cifrado especial, se envía y registra en el componente "Almacenamiento distribuido y recuento de votos".construido sobre una plataforma blockchain.



Una de las características más importantes del protocolo es la imposibilidad de conocer los resultados de la votación antes de su finalización. En un recinto tradicional, esto se asegura sellando las urnas y supervisando a los observadores. En la comunicación digital, la mejor solución es cifrar la elección del votante. El algoritmo de encriptación utilizado excluye la posibilidad de divulgar los resultados antes de que finalice la votación. Para ello, se utiliza un esquema con dos claves: una clave (pública), que es conocida por todos los participantes, se utiliza para cifrar la voz. No se puede descifrar con la misma clave, necesita una segunda clave (privada). La clave privada, por otro lado, se comparte entre los participantes electorales (miembros de comisiones electorales, cámaras públicas, operadores de servidores de conteo, etc.) de tal manera que cada parte separada de la clave es inútil.Puede iniciar el descifrado solo después de que se haya recopilado la clave privada. En el sistema considerado, el procedimiento de intercambio de claves incluye varias etapas: compartir una parte de una clave dentro del sistema, compartir una clave fuera del sistema y generar una clave pública común. Mostraremos en detalle el proceso de cifrado y trabajo con claves criptográficas en las siguientes publicaciones.



Una vez recopilada y cargada la clave, los totales se calculan para su posterior fijación en la cadena de bloques y el anuncio posterior. Una característica del sistema en consideración es el uso de tecnología de encriptación homomórfica. Describiremos este algoritmo en detalle en futuras publicaciones y hablaremos de por qué esta tecnología se usa ampliamente para crear sistemas de votación. Y ahora observemos su característica principal: las papeletas encriptadas registradas en el sistema de contabilidad se pueden combinar sin descifrar de tal manera que el resultado de descifrar tal texto cifrado combinado será el valor sumado para cada elección en las papeletas. En este caso, el sistema, por supuesto, implementa pruebas matemáticas de la exactitud de dicho cálculo, que también se registran en el sistema de contabilidad y pueden ser verificadas por observadores.



A continuación se muestra un diagrama del proceso de votación. Clickable









Plataforma blockchain



Ahora que hemos analizado las principales características de la implementación del sistema de votación electrónica remota, responderemos a la pregunta de la que partimos: ¿qué papel juega la tecnología blockchain en esto y qué tareas resuelve?



En el sistema de votación remota implementado, la tecnología blockchain resuelve una cierta gama de problemas.



  • La tarea básica es asegurar la invariabilidad de la información en el marco de la votación y, en primer lugar, los votos de los votantes.
  • Garantizar la transparencia de ejecución y la inmutabilidad del código del programa implementado en forma de contratos inteligentes.
  • , : , , , .
  • , , .
  • , , .


Así, vemos que sin el uso de esta tecnología, es prácticamente imposible lograr las propiedades necesarias en el sistema de votación, así como la confianza en él.



La funcionalidad de la plataforma blockchain utilizada se enriquece con el uso de contratos inteligentes. Los contratos inteligentes verifican cada transacción con boletas encriptadas para verificar la autenticidad de las firmas electrónicas y "ciegas", así como también realizan verificaciones básicas sobre la exactitud del llenado de una boleta encriptada.



Al mismo tiempo, en el sistema considerado de votación electrónica remota, el componente "Almacenamiento distribuido y conteo de votos" no se limita solo a los nodos de blockchain. Para cada nodo, se puede implementar un servidor separado que implemente las funciones criptográficas básicas del protocolo de votación: servidores de conteo.



Contando servidores



Estos son componentes descentralizados que proporcionan un procedimiento para la generación distribuida de una clave de cifrado de boleta, así como el descifrado y recuento de los resultados de la votación. Sus tareas incluyen:



  • Proporcionar generación distribuida de una parte de la clave de cifrado de la boleta. El procedimiento de generación de claves se discutirá en los siguientes artículos;
  • Verificar la exactitud de una boleta encriptada (sin desencriptarla);
  • Procesamiento de papeletas en forma cifrada para formar el texto cifrado final;
  • Descifrado distribuido de resultados finales.


Cada etapa de la ejecución del protocolo criptográfico se registra en la plataforma blockchain y los observadores pueden verificar su exactitud.



Para darle al sistema las propiedades necesarias en las distintas etapas del proceso de votación, se utilizan los siguientes algoritmos criptográficos:



  • Firma electronica;
  • Firma ciega de la clave pública del votante;
  • Esquema de encriptación El Gamal en curvas elípticas;
  • Prueba de conocimiento cero;
  • DKG (Generación de claves distribuidas) Pedersen 91;
  • Protocolo de intercambio de claves privadas de Shamir.


El servicio criptográfico se discutirá con más detalle en los siguientes artículos.



Salir



Resumamos algún resultado intermedio de la consideración del sistema de votación electrónica remota. Describimos brevemente el proceso y los principales componentes que lo implementan, y también identificamos los medios para lograr las propiedades necesarias para cualquier sistema de votación:



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



All Articles