En criptografía , los protocolos de votación secreta son protocolos de intercambio de datos para implementar votaciones electrónicas secretas seguras a través de Internet utilizando computadoras, teléfonos u otras computadoras especiales [1] . Esta dirección de la criptografía aún se está desarrollando, pero ya se está utilizando en la práctica.
Muchos países del mundo [2] [3] , incluida Rusia [4][ no en la fuente ] ya están introduciendo el voto electrónico a nivel municipal y superior. Para garantizar la exactitud, confiabilidad y confidencialidad de dichas elecciones, utilizan protocolos de seguridad probados que se basan en sistemas criptográficos probados, como el cifrado asimétrico y la firma electrónica . Además, necesitan un material listo para usar y una base legal. La confluencia de todos estos factores constituye el instrumento directo de la e-democracia .
En relación con el rápido desarrollo de las redes informáticas, hay una "digitalización" natural de varias áreas de la vida, por ejemplo, la aparición de monedas electrónicas . Del mismo modo, ha surgido el voto digital , la principal herramienta de la e-democracia . Durante mucho tiempo, los medios mecánicos sirvieron como sustituto de las papeletas ordinarias en la votación, o se encargaron únicamente del conteo automático de las papeletas. El trabajo principal de verificación de votantes y registro de votos fue realizado por otras personas. Con tal sistema, no hubo necesidad de los protocolos que se describen a continuación. Sin embargo, en los últimos años, gracias al desarrollo de Internet, la votación se ha automatizado por completo . El voto a distancia tiene muchas ventajas. Se supone que son más convenientes para los usuarios finales, porque las personas pueden votar sin salir de sus casas, esto aumenta la actividad de los votantes. Mantener el voto electrónico es más económico: en lugar de imprimir papeletas constantemente, basta con desarrollar un sistema una vez [5] [6] . Además, del supuesto de que nadie puede interferir con el programa del dispositivo de votación, se deduce que la votación electrónica es menos susceptible a la corrupción, la presión administrativa y los factores humanos [5] [7] [8] .
Sin embargo, esto plantea una serie de problemas específicos que dificultan la integridad de las elecciones. Por ejemplo, durante las elecciones electrónicas en Holanda y Francia surgieron dudas sobre la veracidad de los resultados obtenidos con la ayuda de máquinas [3] . De forma remota, es mucho más difícil autorizar a un votante o asegurarse de que nadie influyó en el proceso de votación. Por otro lado, Internet brinda más oportunidades para que los votantes comunes verifiquen si el voto se cuenta correctamente. Actualmente, el voto electrónico es totalmente legal o parcialmente aplicable en muchos países del mundo [9] . A medida que más y más personas están involucradas en ellos, existe una necesidad creciente de métodos más seguros y eficientes para realizarlos, para lo cual se llaman protocolos criptográficos especiales.
Un elemento clave de la regulación del voto electrónico es la consolidación de su posibilidad en la constitución del Estado. Dichos artículos tienen las constituciones de los EE. UU., Suiza, Estonia, Gran Bretaña y algunos otros países [10] . Hay un grupo de países, que incluyen, por ejemplo, Finlandia, Alemania y Rusia [11] , que tienen experiencia en la celebración de este tipo de elecciones, pero aún no han introducido su regulación completa en la legislación. Por supuesto, este no es el único obstáculo burocrático. También se requieren especificaciones sobre la técnica mediante la cual se lleva a cabo la votación, métodos para verificar la honestidad de los resultados, protocolos en caso de interrupción de la votación y la creación de la propia base técnica. Con base en estos parámetros, es posible calcular el índice de preparación del país para la introducción del voto digital (y su protocolo específico) [12] .
Estonia [13] fue el primer país en implementar elecciones nacionales legales a través de Internet, seguida por los Países Bajos y Suiza. En Rusia, los protocolos secretos de voto electrónico hasta ahora se han utilizado solo a nivel experimental (por ejemplo, en el foro Seliger-2009 ), pero la CEC tomó la iniciativa de desarrollar el voto electrónico, en particular, en interés de Rusia. ciudadanos en el extranjero [14] .
Sea como fuere, el protocolo de votación en sí no está fijado en ninguna legislación. Esto se hace por muchas razones, que van desde la falta de confianza que aún persiste en los métodos de votación electrónica, hasta una transición más fácil del método actual de conducción a uno más eficiente. Los avances en la tecnología hicieron posible pensar en votar a través de Internet hace solo unos 20 años [ aclarar ] , por lo que esta sección de la criptografía aún está en desarrollo. No hay libros generalmente aceptados sobre el tema, y ningún protocolo ha recibido todavía un apoyo abrumador de los especialistas [5] . El problema se ve agravado por el hecho de que las organizaciones con experiencia en la implementación de estos sistemas prefieren no publicar informes detallados que describan el sistema y los problemas que surgieron durante su implementación.
Ahora, para encuestas simples o votaciones dentro de grupos pequeños, se usa un algoritmo trivial . En el caso de que el agente de escrutinio no tenga motivos particulares para hacer trampa, este protocolo es la mejor opción. En las elecciones a nivel estatal, las modificaciones del protocolo Fujioka-Okamoto-Ota son las más comunes [13] [15] . Fue él quien mostró los mejores resultados en las elecciones experimentales y creó un precedente internacional positivo para la realización confiable de elecciones a través de Internet. Para él y algunas de sus modificaciones, existen programas y medios electrónicos de votación disponibles para uso de los particulares [16] . Además, muchos artículos científicos que describen nuevos protocolos de voto secreto lo toman como base. Tal vez, debido al desarrollo de la tecnología y la reducción del precio de los sistemas de alto rendimiento, en un futuro próximo aparecerán precedentes para el uso del protocolo He-Su [17] . Aunque ya tiene sus modificaciones, en la práctica este protocolo se aplicó únicamente en elecciones experimentales estudiantiles [18] . Lo mismo puede decirse del protocolo ANDOS . Aunque los autores de muchos artículos afirman que puede implementarse de manera efectiva, solo existen precedentes de su uso en elecciones locales [19] . Los protocolos restantes se presentan como transicionales de simples a complejos o posibles modificaciones para lograr objetivos adicionales.
Deseable:
El asunto se complica no solo por el hecho de que los participantes en la votación y la agencia que la lleva a cabo tienen motivos para no confiar entre sí, sino también por el hecho de que el proceso de votación en sí mismo debe protegerse de interferencias externas. Si hacemos una analogía con las elecciones presidenciales, entonces los votantes deben protegerse del relleno de boletas por parte del comité electoral, la CEC está obligada a garantizar que los votos no puedan ser vendidos por los ciudadanos y juntos deben evitar la interferencia de agentes de otros países [20]. ] .
Algunos requisitos entran en conflicto entre sí. Por ejemplo, la capacidad de verificar cómo votó un votante en particular (incluso él mismo) brinda la oportunidad de vender votos, y las capas adicionales de protección reducen la tolerancia a fallas y la rentabilidad. En general, se supone que la protección contra el fraude por parte de una agencia electoral tiene prioridad sobre la prevención de la venta de votos. En primer lugar, causa mucho más daño y, en segundo lugar, incluso si el protocolo garantiza la imposibilidad de demostrar a un extraño por quién se emitió el voto, el votante puede encontrar soluciones alternativas. Por ejemplo, simplemente vote justo en frente del comprador. Sin embargo, la protección contra interferencias externas tiene prioridad sobre cualquier otra cosa [24] .
Un algoritmo simple de votación electrónica es esencialmente una correspondencia con firmas electrónicas entre un comité electoral y una pluralidad de votantes. Deje aquí y abajo: A - una agencia que realiza la votación electrónica ( ing. agencia ), E - un votante, un votante legítimo ( ing. elector ), B - una boleta digital . B puede contener un número, el nombre del candidato, un texto extenso o cualquier otro dato que indique la elección de E , que la verifique o que sea necesario para reforzar la seguridad del protocolo [20] . El proceso de votación se ve así:
Los pasos 1-3 son obligatorios. El objetivo principal es determinar y anunciar el número de participantes activos n . Aunque es posible que algunos de ellos no participen, y algunos ni siquiera existan ("almas muertas" introducidas maliciosamente por A ), la capacidad de manipular el voto de A se reduce notablemente. En el futuro, estos pasos se considerarán como un solo paso “para aprobar las listas”.
Paso 4. A crea una clave pública y privada y la hace pública . Cualquiera puede cifrar un mensaje con , pero solo A puede descifrarlo . Paso 5EEste protocolo es extremadamente simple, pero es suficiente para proteger contra la interferencia externa, la falsificación de votos y el descrédito de los votantes legítimos. Sin embargo, los votantes tienen que confiar absolutamente en A , porque su trabajo no está controlado por nadie. Por un lado, E puede proporcionarle al atacante que compra votos una prueba de cómo votó, pero por otro lado, no puede verificar que A contabilizó correctamente o incluso recibió su boleta. Por lo tanto, el método trivial es aplicable solo en comunidades donde todos confían entre sí y en la agencia encargada de contar los votos [20] .
También es el Protocolo Nurmi- Salomaa -Santina [25] . La idea básica es reemplazar una agencia electoral por dos, para que se controlen entre sí. Aquí y abajo, sea V un registrador ( eng. validator ), cuyas funciones incluyen la preparación de listas, así como la admisión o no admisión de un participante a la votación. La secuencia de acciones se ve así:
Al compartir el archivo recibido en el paso 3, A no puede negar posteriormente que recibió un mensaje de E . Con la ayuda de un par de boletas cifradas, cada votante puede verificar si su voto se contó correctamente, lo que elimina el problema de la falta de control sobre A. Sin embargo, este enfoque solo resuelve parcialmente el problema de la necesidad de confianza absoluta en la agencia. En caso de que A y V logren llegar a un acuerdo, A puede manipular el voto. Si la agencia sabe quién se esconde bajo qué etiqueta de identidad, es posible que deliberadamente no acepte mensajes de algunos votantes. Además, está el problema de las "almas muertas". Si V enumera votantes obviamente inexistentes, entonces A podrá falsificar las boletas de ellos [26] .
En los protocolos con dos mandatarios no es necesario que el elector esté autorizado tanto por el registrador como por la comisión electoral. Si el votante demuestra su identidad al registrador, el registrador puede firmar la boleta o la clave del votante. Es ella quien desempeñará el papel de acceso al voto en el futuro [25] . Además, no es necesario utilizar etiquetas para la autorización de usuarios. Por estas razones, en algoritmos posteriores, se omitirá el método específico de identificación del usuario.
El esquema Fujioka-Okamoto-Ota, desarrollado en 1992, se basa en un protocolo bi-agencia y una firma criptográfica ciega [27] . Al complicar un poco el protocolo, este esquema resuelve parcialmente el problema de la colusión entre las dos agencias. Para que el protocolo funcione, se requiere un método preseleccionado de cifrado de enmascaramiento, según el cual el votante envía una boleta al registrador. El cifrado ciego (enmascaramiento) es un tipo especial de cifrado que le permite asegurarse de que el documento es genuino y está firmado por un usuario autorizado, pero no le permite averiguar los datos que contiene. El cifrado de máscara debe ser conmutativo con una firma electrónica, es decir, .
Lorrie Cranor y Ron Citron ( Ing. Lorrie Faith Cranor, Ron K. Cytron ) en 1996 propusieron una modificación del protocolo Fujioka-Okamoto-Ota llamado Sensus [28] . La diferencia radica en los pasos 5-6. Después de que A recibe el mensaje encriptado de E , no solo lo agrega a la lista publicada, sino que también envía la boleta firmada al votante como recibo. De esta manera, E no tiene que esperar a que todos los demás voten y puede terminar de votar en una sesión. Esto no solo es conveniente para el usuario final, sino que también proporciona evidencia adicional de que E participó en la elección. Además, Sensus regula módulos auxiliares adicionales que simplifican y automatizan el proceso de votación.
Ahora, incluso si las agencias logran llegar a un acuerdo, A no podrá identificar a los votantes antes de obtener la clave. Si bien todavía tiene la capacidad de rechazar mensajes, ya no tiene la capacidad de ignorar mensajes específicamente de votantes "indeseables". Solo queda el problema de emitir votos para los votantes que no acudieron a las urnas. Además, para permitir que el votante vuelva a votar, incluso debido a un error técnico, se necesita un módulo adicional.
Actualmente, el protocolo Fujioka-Okamoto-Ota (así como sus modificaciones, incluida Sensus) es uno de los protocolos de votación electrónica a distancia más probados. Fue su variación la que se usó en las elecciones electrónicas en Estonia [13] [15] . Se utilizó otra modificación del protocolo Fujioka-Okamoto-Ota para realizar elecciones de autogobierno entre los estudiantes de la Universidad de Princeton [29] . Los módulos Sensus fueron escritos bajo el sistema UNIX utilizando la librería criptográfica RSAREF [30] para que cualquiera pueda utilizarlos.
En 1998, Qi He y Zhongmin Su (Qi He, Zhongmin Su) presentaron un protocolo de votación aún más avanzado que Sensus [17] . Este algoritmo satisface la mayoría de los requisitos para un protocolo de votación digital seguro. Al igual que Sensus, el protocolo Hae-Su utiliza la idea de una firma ciega, pero no es la papeleta del votante la que se firma, sino la clave del votante. Esto permite que los votantes cambien de opinión antes del final de la votación y limita aún más las opciones del registrador y la agencia electoral en caso de colusión. Este protocolo requiere un método predeterminado de cifrado ciego y una función hash . Al igual que en el protocolo Fujioka-Okamoto-Ota, el cifrado de enmascaramiento debe ser conmutativo con la firma electrónica V : así como .
El esquema He-Su satisface casi todos los requisitos para un protocolo de voto secreto. Todo lo que queda es un mayor incentivo para comprar/vender votos [17] . A y V ahora no tienen oportunidad de hacer trampa, ya que ahora se publican todas las listas: posibles votantes, claves registradas y autorizadas. En consecuencia, es imposible traer votantes inexistentes, o votar por los existentes que no vinieron. Al mismo tiempo, durante la compilación de estas listas, ni la agencia electoral ni el registrador reciben información adicional [31] . Los votantes tienen la opción de cambiar su voto. La principal desventaja del protocolo He-Su es su complejidad comparativa. Dado que el mantenimiento del protocolo requiere una gran cantidad de recursos, es vulnerable a los ataques DoS .
Se toma como base el protocolo ANDOS [32] ( All or Nothing Disclosure Of Secrets ) . La idea es aumentar la fuerza del protocolo reemplazando el cifrado preseleccionado con una clave secreta con hashing con una función personalizada. El núcleo del algoritmo se describe a continuación. Por brevedad, las precauciones y las precauciones de seguridad se han omitido de la descripción. Si es necesario, puede aplicar los métodos de criptografía sobre claves públicas y firma electrónica . Se supone que para protegerse contra la interferencia del exterior, los votantes también pueden interferir con la información entre ellos, pero luego un votante malintencionado puede interferir con la votación, por lo que también se omite este paso.
Una versión simplificada de los pasos 2 a 4 podría ser que E envíe un par directamente a A. Sin embargo, en este caso será imposible para E verificar si el voto se ha contado correctamente y volver a votar en una etapa posterior. Esto puede funcionar, porque si A publica el identificador en la lista de los que siguieron la estrategia , entonces E sabrá con certeza que su voto fue contado correctamente, pero luego alguien podrá disfrazarse de tener el identificador y cambiar el vota para complacerlo. Por otro lado, si A publica solo el número de participantes que siguen una determinada estrategia , entonces los participantes no pueden verificar nada y A puede publicar cualquier resultado electoral. Las funciones hash se utilizan para evitar que los atacantes determinen el número de votos con una determinada estrategia (esta información resulta útil), ya que la tarea de encontrar los valores iniciales es computacionalmente difícil, teniendo en cuenta el tiempo característico de la votación. .
Paso 5. Al finalizar la votación, A anuncia los resultados intermedios, publicando listas de estrategias (candidatos) con números correspondientes a los participantes que votaron por . Paso 6. Si el participante E nota que su voto está en la lista equivocada, envía a A una queja en forma de triple , que muestra claramente la corrección o el error del resultado.Después de un tiempo, puede iniciar el procedimiento para cambiar las voces (consulte el paso final). Se puede usar una opción más simple (Paso 7) para realizar una sola ronda de votación repetida.
Paso 7. El participante E , que quiere cambiar su elección, envía a A un triple , donde está la nueva estrategia. Cuando llega el final de la ronda de cambio de votos, A publica los resultados modificados. Luego se repite la validación. Paso 7'. Igual que el paso 7, pero ahora la parte E envía un par , donde está la nueva función hash elegida por E. A certifica la recepción del mensaje mediante la publicación , después de lo cual E envía un par a A. Ahora A conoce la relación entre y . Al resumir los resultados nuevamente, se elimina de la lista correspondiente y se agrega a la lista con . El competidor E puede impugnar el resultado como antes.En comparación con el paso 7, el paso 7' tiene la ventaja de que los participantes que no sean E solo pueden observar que algo ha desaparecido de la lista , pero no sabrán que se ha movido a la lista .
En el protocolo ANDOS, es posible que dos votantes elijan la misma i , obteniendo así el mismo identificador . Posibles soluciones a este problema [32] :
El protocolo ANDOS es bastante caro, pero no requiere un registrador V independiente . Los votantes deben elegir y enviar no solo identificadores, sino también funciones hash, lo que puede ser difícil o llevar mucho tiempo [32] . A todavía puede hacer trampa, distribuyendo los votos de aquellos que declararon su intención de participar en la votación, pero no hicieron su elección, y E tiene un mayor incentivo para comprar/vender votos, ya que puede estar seguro del resultado de la votación. transacción.
Hay muchos otros protocolos y primitivas criptográficas con varias propiedades específicas [33] . No son tan ampliamente conocidas y aplicadas para hacer frente a las limitaciones ambientales en particular o lograr objetivos adicionales.
Por ejemplo, el protocolo de dos agencias podría extenderse a los centros de votación que representan diferentes facciones que se oponen pero están interesadas en elecciones justas. En este caso, la distribución de votos solo puede ser falsificada si todos los centros se ponen de acuerdo, lo que por convención no tiene sentido. Dicho algoritmo utiliza algún esquema de intercambio de secretos no interactivo verificado públicamente [ 34] ( NIVSS - Intercambio de secretos verificables no interactivos ). Dependiendo del método elegido para compartir secretos (quién votó por quién), el protocolo puede tener diferente resistencia a diferentes ataques y diferente velocidad de procesamiento de datos. Se muestra un buen resultado, por ejemplo, al usar el problema del logaritmo discreto para garantizar la ocultación de datos [35] .
La principal desventaja del sistema es que si bien solo todos los centros de votación juntos pueden falsificar los resultados, cualquiera de ellos por sí solo puede perturbar la elección. La solución al dilema es otra modificación del algoritmo, cuando la distribución de votos puede restaurar los centros. Pero entonces los centros conspiradores podrán falsificar los resultados , y desbaratar las elecciones- . El esquema podría mejorarse para permitir votaciones de opción múltiple, así como votaciones escalonadas o paralelas. Una ventaja adicional: bajo tal sistema, el votante no puede probar exactamente por quién votó, lo que hace que sea extremadamente difícil comprar/vender votos [36] .
Para que este protocolo funcione, se requiere una primitiva de tablón de anuncios: un área de datos que todos pueden leer en su totalidad, y cada uno puede escribir solo en su propia parte. En esencia, esta es un área de memoria compartida con acceso a la red y algunas restricciones criptográficas. Si los centros de votación y los votantes participan en las elecciones , entonces el número de bits necesarios para el tablero de boletas es , donde hay una variable de fuerza criptográfica proporcional al número de bits clave.
Entre otras primitivas criptográficas especiales, se puede destacar un "recolector" ( encuestador en inglés ), una interfaz conveniente entre el usuario y el sistema. La idea es que un votante humano pueda entregar la boleta al recolector, quien hará todo el trabajo por él para cifrar e intercambiar datos con otras partes. El votante debe confiar plenamente en este módulo. Esta es una condición fuerte, pero es relativamente fácil de implementar porque el recopilador se ejecuta en la máquina del votante.