paint-brush
Cómo el cifrado puede proteger la votación en líneaby@nerv
587
587

Cómo el cifrado puede proteger la votación en línea

El mayor desafío del voto electrónico remoto es lograr un alto nivel de seguridad en un entorno incontrolado y una plataforma insegura. Ya están establecidas las propiedades del voto electrónico y muchas clasificaciones diferentes que marcan los requisitos mínimos. El objetivo es siempre conciliar dos propiedades aparentemente mutuamente excluyentes: verificabilidad y privacidad.
featured image - Cómo el cifrado puede proteger la votación en línea
Network Emergency Response Volunteers HackerNoon profile picture


Nota: Parte de la información presentada aquí está intencionalmente simplificada. Los detalles particulares dependen de la implementación real, ya que existen numerosas formas y técnicas criptográficas alternativas que logran los mismos objetivos.


"El mayor desafío del voto electrónico remoto es lograr un alto nivel de seguridad en un entorno no controlado y una plataforma insegura. Las propiedades del voto electrónico y muchas clasificaciones diferentes que establecen los requisitos mínimos ya están establecidas. Algunas de estas clasificaciones son exactamente las mismas. El mayor desafío del voto electrónico a distancia es lograr un alto nivel de seguridad en un entorno incontrolado y en una plataforma insegura. Las propiedades del voto electrónico y muchas clasificaciones diferentes que establecen los requisitos mínimos ya están establecidas. El objetivo es siempre conciliar dos propiedades aparentemente excluyentes entre sí. : verificabilidad y privacidad.propiedades bajo diferentes nombres como: confidencialidad, integridad, privacidad, democracia, universalidad, verificabilidad, etc. De todos modos, el objetivo es siempre conciliar dos propiedades aparentemente mutuamente excluyentes: verificabilidad y privacidad.


La idea fundamental detrás de la votación en línea es la verificabilidad en el sentido de que los votos deben cifrarse y hacerse públicos, convenciendo a los votantes sin ningún margen de duda de que todo el procedimiento se llevó a cabo con regularidad. Profundicemos en cómo se puede lograr esto, pero antes de leer el resto del artículo, sugerimos ver la presentación de esta idea por parte de Ron Rivest[ 1 ] hasta el minuto 5:07.


Entonces, consideremos:


Tabla pública de votos de solo anexar después de que se lleve a cabo la encuesta cibersegura, tal como se publica en una cadena de bloques.


Los electores conocen de forma única la entrada correspondiente a su voto.


la identificación del votante está encriptada

Aquí, v es el voto que solo se puede descifrar completamente mediante el uso de una clave privada y E(v) es la criptografía agregada.


Y ahora aquí está la magia matemática...


Al utilizar cifrado homomórfico en E(v1), E(v2), E(v3) y E(v4), podemos demostrar que E(v1)+ E(v2) + E(v3) + E(v4) = E( v1+v2+v3+v4)!


El recuento final es, por tanto, D(E(v1+v2+v3+v4) ) donde D es la función de descifrado que cualquiera puede calcular una vez que finaliza la encuesta sin la necesidad de acceder a v individualmente: D(E(v1) ), D(E(v2) ) etc., que sólo se pueden descifrar haciendo uso de las claves privadas...


posesión de clave privada


¡Sólo los propios votantes pueden descifrar v individualmente y comprobar que su propio voto esté registrado correctamente! En conclusión, ¡los votantes pueden verificar tanto sus votos como el recuento final con privacidad y precisión!


Cifrado homomórfico


¡Guau! ¡Puedo verificar que mi voto es correcto! Pero, ¿cómo puedo estar seguro de que los votos emitidos por otros también son legales sin utilizar sus claves privadas?


Digamos que atribuimos el valor de 0 a un rechazo de una determinada propuesta de política que se está encuestando y 1 a que está en concordancia, formando un conjunto de posibles respuestas {0,1}. Un verificador, que podría ser cualquiera, puede querer asegurarse de que todas las entradas publicadas en la tabla de solo anexos correspondan a un elemento válido en el conjunto de posibles respuestas y nada más, como lo que sería una entrada con valor 100. Las pruebas de conocimiento cero permiten precisamente esto. Para entender cómo, puede ser útil primero entender qué son realmente las ZKP. "En criptografía, una prueba de conocimiento cero o un protocolo de conocimiento cero es un método mediante el cual una parte (el probador) puede demostrarle a otra parte (el verificador) que una determinada afirmación es verdadera mientras el probador evita transmitir cualquier información adicional aparte de el hecho de que la afirmación es realmente cierta."[ 2 ]


pruebas de conocimiento cero


Puede parecer contradictorio, pero con el ZKP cualquier elector puede demostrar de forma inequívoca la validez de su voto. Una vez más, un voto no es más que una representación de un elemento entre un conjunto de opciones posibles. Para comprender cómo se deben aplicar las ZKP a la votación, sugerimos echar un vistazo a los siguientes artículos [ 3 ], [ 4 ], ya que abordan esta cuestión con más detalle.


Verificación ZKP


Luego, esta técnica se puede ampliar para incluir conjuntos mayores que {0,1} y al mismo tiempo preservar las propiedades matemáticas tanto del cifrado homomórfico como de los ZKP, lo que permite encuestas más complejas que las simples respuestas de sí, no/de acuerdo, en desacuerdo. Esto genera casos de uso interesantes, como elecciones de múltiples candidatos, referendos que podrían tener diferentes propuestas de solución para un mismo tema determinado, cuestionarios en investigación de mercado...


¡Acabamos de discutir cómo cualquiera puede verificar el recuento final, que su voto es el previsto y cómo todos los demás votos fueron legales! ¡Todo ello preservando la privacidad de los votantes! La forma en que se combinan estos algoritmos, preservando las propiedades tanto del cifrado homomórfico como del ZKP, es compleja y requiere un conocimiento profundo de la criptografía, cuya veracidad se puede demostrar matemáticamente.[ 5 ]


¡Cualquier votante puede realizar estas verificaciones por sí mismo sin depender de un tercero! En aplicaciones adecuadas de voto electrónico remoto, ¡los votantes son los auditores de las votaciones!


Existen otros detalles y técnicas criptográficas sobre la votación en línea cibersegura, como ocurre con el uso de direcciones sigilosas[ 6 ], al menos en cadenas de bloques que mantienen públicas todas las transacciones, como Ethereum. Se utilizan para evitar vincular a los votantes y sus billeteras. Pero consideramos que esto es un detalle técnico, que sólo preocupa a los desarrolladores de software y no es algo que todos los usuarios de votación en línea deban conocer, a diferencia del cifrado homomórfico y los ZKP, cuyo conocimiento ayuda a generar confianza en el sistema.


¿Cómo se generan y entregan estas claves privadas al votante sin comprometer la seguridad?


En última instancia, las claves privadas deben estar vinculadas a la verdadera identidad del usuario para evitar el doble gasto. Un enfoque es utilizar PKI proporcionadas por autoridades confiables, como una identificación electrónica emitida por el estado integrada en tarjetas inteligentes de identidad nacionales... Porque seguramente, las instituciones públicas han pensado en sus propios mecanismos para mantener seguras estas claves, ¿verdad?


En cualquier caso se trata de una cuestión más relacionada con la propia identidad digital que analizaremos en un próximo artículo para ahorrarle al lector demasiados detalles y mantener la información mejor organizada. Basta decir que si bien la identidad digital en sí misma es una cuestión compleja, hay formas de garantizar con relativa confianza que cada persona digital sea única al facultar a múltiples entidades confiables con la tarea de dar fe de la identidad de una persona. Una cita de Bob Marley describe con precisión lo que argumentaremos:


“Puedes engañar a algunas personas algunas veces, pero no puedes engañar a todas todo el tiempo”


¿Qué pasa si un elector detecta fraude o si es obligado físicamente a votar de determinada manera?


La primera medida a tomar es habilitar un canal donde las personas puedan denunciar estas situaciones para que estos hechos sean tomados en consideración. Si son marginales, representando el 0,01% del total de votos, por ejemplo, esto no sería realmente una situación problemática a menos que estemos debatiendo un referéndum muy delicado que requiera el respeto de los valores democráticos y donde el recuento final se acerque al equivalente a una situación 50/50. Esto se puede mitigar exigiendo que el consenso mayoritario sea mayor, como 55/45, para que una encuesta se considere válida.


En el caso de que alguien vea que su voto se registró incorrectamente, considerando que todo el aparato está respaldado por blockchain y, por lo tanto, no está bajo el control de un administrador de sistema en particular que proporciona el servicio, el enfoque más razonable es asumir que la máquina de votación en sí está comprometida. y no toda la cadena de bloques en sí. Las medidas de protección más directas que se tomarían entonces serían que el votante cambiara la máquina y/o el sistema operativo. Este problema está más relacionado con amenazas a la ciberseguridad, como la ingeniería social y el malware. Se recomienda utilizar hardware y software de código abierto, así como utilizar un sistema operativo amnésico [ 7 ]. El software Amnesic siempre regresa a su estado de configuración inicial, por lo que incluso si los votantes instalan malware haciendo clic y ejecutando involuntariamente un virus, al reiniciar la máquina se revierte el software a una configuración inalterada, mitigando efectivamente estos sucesos.


Otra situación que se puede querer tener en cuenta es aquella en la que se obliga al votante a votar de cierta manera, ya sea físicamente o mediante chantaje. El único enfoque para defenderse de la coerción, aparte de vivir en una sociedad decente, es permitir que se vuelva a votar en la misma encuesta. Hay investigaciones[ 8 ] en esta área, aunque, hasta donde sabemos, todavía no se han implementado formas de fusionar esta técnica con todas las demás mencionadas anteriormente. Seguramente hay una manera. En cualquier caso, reabrir la fase electoral siempre es una posibilidad. Cabe señalar también que impedir la coerción también impediría la venta de votos, por razones obvias.


No defendemos un abandono total del voto en papel porque, al menos en presencia, el voto en papel es una excelente oportunidad para poner a prueba la identidad (real o digital), pero, sin embargo, nos sentimos firmemente a favor de su adopción en la política como herramienta complementaria capaz de generar consensos más rápidamente y al mismo tiempo ser una fuente secundaria que confirma los resultados de la votación en papel.

¿Ya llegamos?

Como dijo elocuentemente el científico informático Jeffrey Dean:


“La fuerza impulsora detrás de los cifrados informáticos modernos no es la seguridad, sino la eficiencia. La pregunta no es si se puede crear un cifrado seguro. Puede. La pregunta es si se puede crear uno que funcione eficientemente con grandes conjuntos de datos o con hardware muy limitado”.


El desafío de la tecnología blockchain es precisamente su capacidad de escalar a medida que crece la base de usuarios y la demanda de computación. Las implementaciones actuales de algoritmos criptográficos en la votación en línea respaldada por blockchain estiman los costos en alrededor de $10 por voto tal como se implementa en Ethereum.[ 14 ] En Brightgov creemos que se pueden realizar mejoras para reducir este valor a menos de $1 haciendo uso de una cadena de bloques más rápida, además de ajustar los algoritmos matemáticos subyacentes.


A lo largo de la historia, la criptografía ha desempeñado un papel importante a la hora de cambiar el curso de los acontecimientos. El cifrado César, una de las criptografías más sencillas, es famoso por haber sido utilizado por el emperador romano hace dos milenios. La capacidad de los aliados para interceptar y descifrar mensajes cifrados por la máquina de cifrado japonesa Purple y la alemana Enigma fue crucial para proporcionar la ventaja clave necesaria para poner fin a la Segunda Guerra Mundial.


Para aquellos que saben programar y están interesados en aprender más, sugerimos leer nuestro artículo de investigación.[ 15 ] También puedes jugar con CryptoBallot para familiarizarte con este tipo de software.[ 16 ]


En conclusión, las encuestas en línea ciberseguras no sólo son posibles sino muy necesarias. Su adopción en el espacio político tiene el potencial de ser uno de los eventos más disruptivos de nuestras vidas... Todo lo que necesita hacer es confiar en los algoritmos que se ejecutan en su computadora y en la cadena de bloques y, si no lo hace, siempre puede hacerlo. las matemáticas con lápiz y papel usted mismo.


Referencias:


[1] "¿ Se contó TU voto? (con cifrado homomórfico) " por el profesor Ron Rivest, Numberphile, en YouTube, 2016. https://www.youtube.com/watch?v=BYRTvoZ3Rho


[2] Entrada de prueba de conocimiento cero en Wikipedia, https://en.wikipedia.org/wiki/Zero-knowledge_proof


[3] " Cómo utilizar ZKP para demostrar la pertenencia a un conjunto sin exponer el conjunto o el miembro" por Anders Borch, blog del autor, 2019. https://blog.cyborch.com/how-to-use-cryptographic-accumulators-to -probar-la-pertenencia-al-conjunto-sin-exponer-el-conjunto-o-el-miembro/


[4] " Pruebas de conocimiento cero para la membresía establecida " por Dario Fiore, sobre ZKProof Standards, 2020. https://zkproof.org/2020/02/27/zkp-set-membership/


[5] " Conocimiento cero no interactivo a partir del cifrado homomórfico " por Ivan Damg ̊ard et al., Conferencia sobre teoría de la criptografía, 2006. https://cs.nyu.edu/\~nicolosi/papers/NonIntSi.pdf


[6] " Dirección sigilosa (criptomoneda) " por Jake Frankenfield, Investopedia, 2022. https://www.investopedia.com/terms/s/stealth-address-cryptocurrency.asp


[7] Entrada de Tails (sistema operativo) en Wikipedia, https://en.wikipedia.org/wiki/Tails_(operating_system)


[8] " VoteAgain: Un sistema de votación escalable y resistente a la coerción " por Wouter Lueks et al., Spring Labs, Universidad Carlos III de Madrid, 2020. https://arxiv.org/pdf/2005.11189.pdf


[9] Fundación del Patrimonio , https://www.heritage.org/


[10] Entrada " Ainda mais indícios de fraude nas Legislativas 2022? " en YouTube, en portugués, 2022. https://www.youtube.com/watch?v=L8fA9aOuR9k


[11] Entrada " AnaKarina denuncia "FRAUDE ELEITORAL" por parte da CNE " en YouTube, en portugués, Angola, 2022. https://www.youtube.com/watch?v=hLm8ocLgXCU


[12] " Preguntas frecuentes: fraude electoral ", https://www.voteaustralia.org.au/faq_voter_fraud


[13] Informe " Índice de democracia 2020: ¿En la enfermedad y en la salud? " de The Economist Intelligence Unit, 2020. https://www.eiu.com/n/campaigns/democracy-index-2020/


[14] " ethVote: Hacia una votación segura con libros de contabilidad distribuidos " por Johannes Mols et Emmanouil Vasilomanolakis, Universidad de Aalborg, Dinamarca, 2020. https://www.researchgate.net/publication/341000573_ethVote_Towards_secure_voting_with_distributed_ledgers


[15] " Resumen del voto electrónico remoto " de NERV, un artículo presentado a la 14.ª Conferencia ICEGOV en 2021, https://ia601401.us.archive.org/33/items/remote-e-voting-overview/Remote e -resumen de la votación.pdf


[16] CriptoBallot , https://github.com/cryptoballot/cryptoballot


También aparece aquí .