Revisión del sistema de votación electrónica a distancia de la Comisión Electoral Central de la Federación de Rusia

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

Para familiarizarse 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. Sugerimos 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 para el voto tradicional en persona y para el voto electrónico a distancia, y están determinados por la Ley Federal del 12.06.2002 de junio de 67 N 31.07.2020-FZ (modificada el XNUMX de julio de XNUMX). "Sobre las garantías básicas del derecho de voto y el derecho a participar en un referéndum de los ciudadanos de la Federación de Rusia".

  1. La votación en elecciones y referendos es secreta, lo que excluye la posibilidad de cualquier control sobre la voluntad de un ciudadano (artículo 7).
  2. La oportunidad de votar debe brindarse únicamente a las personas que tengan un derecho activo a votar para esta votación.
  3. Un votante, un voto, no se permite la votación “doble”.
  4. El proceso de votación debe ser abierto y transparente para los votantes y observadores.
  5. Debe garantizarse la integridad del voto emitido.
  6. No debería ser posible calcular los resultados de la votación provisional antes de que finalice la votación.

Entonces, tenemos tres participantes: el votante, la comisión electoral y el observador, entre quienes se determina el orden de interacción. También se puede destacar un cuarto participante: los organismos que registran a los ciudadanos en el territorio (principalmente el Ministerio del Interior, así como otros órganos ejecutivos), 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

Consideremos el proceso de votación en un colegio electoral tradicional, con urnas y papeletas de papel. En una forma generalmente simplificada, se ve así: un votante llega al colegio electoral y presenta un documento de identificación (pasaporte). En el colegio electoral existe una comisión electoral de distrito, cuyos miembros verifican la identidad del elector y su presencia en la lista de votantes elaborada anteriormente. Si se encuentra al votante, un miembro de la comisión le entrega una boleta y el votante firma para recibirla. Después de esto, el elector se dirige a la cabina de votación, llena la papeleta y la coloca en la urna. Para garantizar que todos los procedimientos se respeten estrictamente por la ley, todo esto es supervisado por observadores (representantes de los candidatos, instituciones públicas de seguimiento). Una vez finalizada la votación, la comisión electoral, en presencia de observadores, cuenta los votos y establece los resultados de la votación.

Las propiedades necesarias para votar en un sistema de votación tradicional las proporcionan las medidas organizativas y el procedimiento establecido para la interacción de los participantes: verificar los pasaportes de los votantes, firmar personalmente las papeletas, utilizar cabinas de votación y urnas selladas, el procedimiento para contar los votos, etc. .

Para un sistema de información, que es un sistema de votación electrónica remota, este orden de interacción se denomina protocolo. Dado que todas nuestras interacciones se están volviendo digitales, este protocolo puede considerarse como un algoritmo 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 implementados. Veamos las acciones que se realizan en un sitio tradicional en términos de sistemas de información y cómo se implementa en el sistema DEG que estamos considerando.

Digamos de inmediato que la tecnología blockchain no es una “solución milagrosa” que resuelva 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 único 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, STC), que combina un conjunto de componentes para asegurar la interacción entre los participantes en el proceso electoral en un entorno de información unificado.

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

Revisión del sistema de votación electrónica a distancia de la Comisión Electoral Central de la Federación de Rusia
Pulsable

Proceso de votación remota

Ahora consideraremos 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.

Según el Procedimiento para el voto electrónico a distancia, para ser incluido en la lista de participantes en el voto electrónico a distancia, el elector debe presentar una solicitud en el portal de Servicios del Estado. Al mismo tiempo, sólo aquellos usuarios que tengan una cuenta confirmada y hayan sido comparados exitosamente con el registro de votantes, los participantes en el referéndum del sistema "Elecciones" del Sistema Automatizado Estatal pueden presentar dicha solicitud. Después de recibir la solicitud, la Comisión Electoral Central de Rusia vuelve a comprobar los datos del votante y los carga en Componente de lista de votantes Grado PTC. El proceso de descarga 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 para ver la lista mediante una estación de trabajo automatizada especial ubicada en las instalaciones de la comisión electoral.

Cuando un elector visita un colegio electoral, es autenticado (comparado con los datos del pasaporte) e identificado en la lista de electores, además de comprobar que este elector no haya recibido previamente una papeleta. Un punto importante aquí es que es imposible establecer si el elector depositó la papeleta recibida en la urna o no, sólo el hecho de que la papeleta ya fue emitida antes. En el caso de PTC DEG, la visita de un votante representa la solicitud de un usuario para Portal DEG es un sitio web ubicado en vybory.gov.ru Al igual que un colegio electoral tradicional, el sitio web contiene materiales informativos sobre las campañas electorales en curso, información sobre los candidatos y otra información. Para realizar la identificación y autenticación se utiliza el ESIA del Portal de Servicios del Estado. De esta forma, se mantiene el esquema general de identificación tanto a la hora de postularse como de votar.

Después comienza el procedimiento de anonimización: al elector se le entrega una papeleta que no contiene ninguna marca de identificación: no tiene número y no tiene ninguna conexión con el elector a quien se le entregó. Es interesante considerar la opción cuando el colegio electoral está equipado con complejos de votación electrónica; en este caso, la anonimización se realiza de la siguiente manera: en lugar de una boleta de papel, se pide al elector que elija de una pila cualquier tarjeta con un código de barras con la que se acercará al dispositivo de votación. No hay información sobre el elector en la tarjeta, solo un código que determina qué boleta debe proporcionar el dispositivo al presentar dicha tarjeta. En una interacción completamente digital, la tarea principal es implementar un algoritmo de anonimización tal que, por un lado, sea imposible establecer ningún dato de identificación del usuario y, por otro, brindar la posibilidad de votar solo a aquellos usuarios que fueron identificados previamente en la lista. Para solucionar este problema, DEG PTK utiliza un algoritmo criptográfico, conocido en el entorno profesional como “firma electrónica ciega”. Hablaremos de esto en detalle en las siguientes publicaciones y también publicaremos el código fuente; también puede recopilar información adicional de publicaciones en Internet utilizando palabras clave: "protocolos criptográficos de votación secreta" o "firma ciega".

Luego, el elector llena la boleta en un lugar donde es imposible ver la elección realizada (una cabina cerrada); si en nuestro sistema de información el elector vota de forma remota, entonces el único lugar de ese tipo es el dispositivo personal del usuario. Para hacer esto, primero se transfiere al usuario a otro dominio: a la zona anónima. Antes de cambiar, puede aumentar su conexión VPN y cambiar su dirección IP. Es en este dominio donde se muestra la papeleta y se procesa la elección del usuario. El código fuente que se ejecuta en el dispositivo del usuario está inicialmente abierto y se puede ver en el navegador.

Una vez realizada la elección, la boleta se cifra en el dispositivo del usuario mediante un esquema de cifrado especial, se envía y se registra en componente “Almacenamiento distribuido y recuento de votos”, construido sobre la 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 colegio electoral tradicional, esto se garantiza sellando las urnas y supervisando a los observadores. En las interacciones digitales, la mejor solución es cifrar la elección del votante. El algoritmo de cifrado utilizado evita que los resultados se revelen antes de que se complete la votación. Para ello se utiliza un esquema con dos claves: una clave (pública), conocida por todos los participantes, se utiliza para cifrar la voz. No se puede descifrar con la misma clave; se necesita una segunda clave (privada). La clave privada se divide entre los participantes en el proceso electoral (miembros de las comisiones electorales, la cámara pública, operadores de servidores de conteo, etc.) de tal manera que cada parte individual de la clave es inútil. Puede comenzar a descifrar sólo después de que se haya recopilado la clave privada. En el sistema considerado, el procedimiento de separación de claves incluye varias etapas: separación de parte de la clave dentro del sistema, separación de la clave fuera del sistema y generación de una clave pública común. Mostraremos en detalle el proceso de cifrado y el trabajo con claves criptográficas en futuras publicaciones.

Una vez recopilada y descargada la clave, comienza el cálculo de los resultados para su posterior registro en la cadena de bloques y su posterior anuncio. Una característica del sistema considerado es el uso de tecnología de cifrado homomórfico. Describiremos este algoritmo en detalle en publicaciones futuras y hablaremos de por qué esta tecnología se usa ampliamente para crear sistemas de votación. Ahora observemos su característica principal: las papeletas cifradas registradas en el sistema de contabilidad se pueden combinar sin descifrar de tal manera que el resultado de descifrar dicho texto cifrado combinado será el valor sumado de cada opción en las papeletas. Al mismo tiempo, el sistema, por supuesto, implementa pruebas matemáticas de la exactitud de dicho cálculo, que también se registran en el sistema contable y pueden ser verificadas por los observadores.

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

Revisión del sistema de votación electrónica a distancia de la Comisión Electoral Central de la Federación de Rusia
Pulsable

Plataforma de cadena de bloques

Ahora que hemos examinado las características principales de la implementación de un sistema de votación electrónica remota, respondamos la pregunta con la que comenzamos: ¿qué papel juega la tecnología blockchain en esto y qué problemas permite resolver?

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

  • La tarea básica es garantizar la integridad de la información en el marco de la votación y, en primer lugar, de la votación.
  • Garantizar la transparencia de ejecución y la inmutabilidad del código del programa implementado en forma de contratos inteligentes.
  • Garantizar la protección y la inmutabilidad de los datos utilizados en el proceso de votación: la lista de votantes, las claves utilizadas para cifrar las papeletas en las distintas etapas del protocolo criptográfico, etc.
  • Proporcionar almacenamiento de datos descentralizado, donde cada participante tiene una copia absolutamente idéntica, confirmada por las propiedades del consenso en la red.
  • La capacidad de ver transacciones y rastrear el progreso de la votación, que se refleja completamente en la cadena de bloques, desde su inicio hasta el registro de los resultados calculados.

Así, vemos que sin utilizar esta tecnología es casi 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 cifradas para verificar la autenticidad de las firmas electrónicas y "ciegas", y también realizan controles básicos sobre la exactitud del llenado de la boleta cifrada.

Además, en el sistema de votación electrónica a distancia considerado, el componente "Almacenamiento distribuido y recuento de votos" no se limita únicamente a los nodos de blockchain. Para cada nodo, se puede implementar un servidor separado que implementa las principales funciones criptográficas del protocolo de votación: servidores de conteo.

Contando servidores

Se trata de componentes descentralizados que proporcionan el procedimiento para la generación distribuida de una clave de cifrado de boletas, así como el descifrado y el cálculo de los resultados de la votación. Sus tareas incluyen:

  • Garantizar la generación distribuida de parte de la clave de cifrado de la boleta. El procedimiento de generación de claves se analizará en los siguientes artículos;
  • Comprobar la exactitud de la boleta cifrada (sin descifrarla);
  • Procesar boletas en forma cifrada para generar el texto cifrado final;
  • Decodificación distribuida de resultados finales.

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

Para dotar al sistema de 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 elector;
  • Esquema de cifrado de curva elíptica ElGamal;
  • Pruebas de conocimiento cero;
  • protocolo Pedersen 91 DKG (generación de claves distribuidas);
  • Protocolo de intercambio de claves privadas utilizando el esquema de Shamir.

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

resultados

Resumamos algunos resultados intermedios de la consideración del sistema de voto electrónico a distancia. Hemos descrito brevemente el proceso y los principales componentes que lo implementan, y también hemos identificado los medios para lograr las propiedades necesarias para cualquier sistema de votación:

  • Verificabilidad de los votantes. El sistema sólo acepta votos de votantes verificados. Esta propiedad se garantiza mediante la identificación y autenticación de los votantes, así como el registro de la lista de votantes y el hecho de proporcionar acceso a la boleta en la cadena de bloques.
  • Anonimato. El sistema garantiza el secreto del voto, consagrado en la legislación de la Federación de Rusia; la identidad del elector no puede determinarse a partir de una papeleta cifrada. Implementado mediante un algoritmo de “firma ciega” y una zona anónima para el llenado y envío de la boleta.
  • Confidencialidad de los votos. Los organizadores y otros participantes en la votación no pueden conocer el resultado de la votación hasta que finalice, se cuenten los votos y se descifren los resultados finales. La confidencialidad se logra cifrando las papeletas y haciendo imposible descifrarlas hasta después de la votación.
  • Inmutabilidad de datos. Los datos de los votantes no se pueden cambiar ni eliminar. La plataforma blockchain proporciona almacenamiento de datos inmutable.
  • Verificabilidad. El observador puede verificar que los votos fueron contados correctamente.
  • Confiabilidad. La arquitectura del sistema se basa en los principios de descentralización, asegurando la ausencia de un único "punto de falla".

Fuente: habr.com

Añadir un comentario