Helios Voting es un sistema de votación electrónica de código abierto basado en la web . Los usuarios pueden votar en las elecciones y también pueden crearlas. Cualquier persona puede emitir un voto; sin embargo, para que el voto final sea válido, se debe verificar la identidad del votante. Helios utiliza cifrado homomórfico para garantizar la confidencialidad del voto . [ 3 ]
Fue creado por Ben Adida, un ingeniero de software involucrado en otros proyectos como Creative Commons y Mozilla Persona . [ 4 ] [ 5 ] [ 6 ]
Característica
Helios permite a los usuarios registrados crear elecciones. Cada cuenta requiere una dirección de correo electrónico, un nombre y una contraseña. El usuario registrado puede crear una elección especificando un nombre y un período de tiempo. El usuario que crea la elección se conoce como el administrador de la misma. [ 7 ] Una vez creada la elección, Helios proporciona una clave pública al administrador. El administrador prepara la papeleta y crea el padrón electoral, que puede editarse en cualquier momento antes de que comience la votación. El administrador bloquea la elección cuando está lista para que los votantes emitan su voto. Cuando la elección está bloqueada, no se pueden realizar cambios en la papeleta, el padrón electoral ni el período de tiempo de la elección. [ 7 ]
Código fuente
El código del navegador de la interfaz está escrito en JavaScript y HTML , mientras que el código del servidor de la parte posterior está escrito en Python . [ 8 ] El Sistema de Preparación de la Boleta (BPS) guía a los votantes a través de la boleta y registra sus elecciones. [ 7 ] [ 9 ] El proceso para crear la boleta y procesar los votos se basa en el Protocolo de Votación Verificable Simple de Benaloh. [ 10 ] [ 7 ]
Tanto el frontend como el backend son software libre . El backend se publica bajo la licencia Apache 2.0 . [ 11 ] El frontend se publica bajo la licencia GNU GPL v3+ . [ 12 ]
Proceso de votación
Un votante, del padrón electoral creado por el administrador, recibe un correo electrónico con su nombre de usuario, una contraseña aleatoria para esa elección específica, una URL a la cabina de votación y un hash SHA-1 de los parámetros de la elección. El votante sigue el enlace del correo electrónico y comienza el proceso de votación. Una vez que el votante termina y revisa la papeleta, la sella, lo que activa Helios para cifrarla y mostrar un texto cifrado . [ 7 ]
En este punto, el votante puede auditar o emitir su voto. Auditar el voto le permite verificar que el texto cifrado sea correcto. Una vez finalizada la auditoría, el voto se descarta (para brindar cierta protección contra la compra de votos y la coacción) y se genera uno nuevo. Cuando el votante está listo para emitir su voto, debe proporcionar su información de inicio de sesión. [ 7 ] [ 13 ] Helios autentica la identidad del votante y se emite el voto. Todos los votos se publican en un tablón de anuncios público en línea que muestra el nombre o el número de identificación del votante junto con el voto cifrado. [ 7 ]
Proceso de recuento
Tras finalizar las elecciones, el sistema Helios 1.0 barajaba las papeletas, descifraba todos los votos y hacía que el resultado fuera accesible públicamente para que las partes interesadas pudieran auditarlo. [ 4 ] La auditoría permitía a cualquiera verificar que el barajado era correcto. Una vez transcurrido un tiempo razonable para la auditoría, Helios descifraba las papeletas y contabilizaba los votos. Cualquiera podía descargar los datos electorales para verificar que el barajado, el descifrado y el recuento eran correctos. [ 7 ] Helios 2.0, diseñado en 2008 y actualmente en uso, abandonó el barajado y adoptó un esquema de cifrado homomórfico propuesto por Cramer, Gennaro y Schoenmakers. [ 14 ]
Limitaciones del sistema
La plataforma Helios está diseñada para ser utilizada en entornos de baja coerción y a pequeña escala, como los consejos estudiantiles universitarios. Se conocen las siguientes limitaciones.
Privacidad
- Se debe confiar en que el servidor centralizado no violará el secreto del voto, [ 7 ] esta limitación se puede mitigar distribuyendo la confianza entre varias partes interesadas.
- La coacción y la compra de votos solo se garantizan cuando el material utilizado para construir las papeletas (más precisamente, los nonces) es desconocido para los votantes, por ejemplo, cuando se utilizan dispositivos de confianza para construir las papeletas. [ 7 ] [ 15 ]
Verificabilidad
- Se debe confiar en el dispositivo de auditoría/reconstrucción de boletas para garantizar una auditoría exitosa de las boletas (también conocida como verificabilidad de emisión según la intención), [ 7 ] [ 16 ] esta limitación se puede mitigar distribuyendo los controles de auditoría entre varios dispositivos, de los cuales solo uno debe ser confiable.
Seguridad
- En 2010, los investigadores identificaron una vulnerabilidad en el secreto del voto. [ 17 ]
- En 2011 y 2016, los investigadores identificaron vulnerabilidades de secuencias de comandos entre sitios (XSS) . La primera ponía en peligro las sesiones de los administradores y se corrigió rápidamente. [ 17 ] En cuanto a la segunda, si el atacante lograba que un votante hiciera clic en un enlace especialmente diseñado, este accedería a una página HELIOS modificada que podía violar el secreto del voto o manipular los votos. [ 4 ] Sin embargo, hasta 2021, no se había podido recrear la vulnerabilidad. [ 18 ]
Historia
Adopción
Desde 2009, la Universidad Católica de Lovaina utilizó Helios para elegir a su rector (de unos 25 000 votantes elegibles, unos 5000 se registraron y 4000 votaron). [ 17 ] Ese mismo año, la Universidad de Princeton también lo adoptó para elegir a sus representantes estudiantiles.
Desde 2010, la Asociación Internacional para la Investigación Criptográfica ha utilizado Helios anualmente para elegir a los miembros de su junta directiva. [ 19 ] [ 20 ] Sin embargo, en 2025, un miembro del consejo perdió su clave privada durante la elección, lo que imposibilitó el descifrado de los resultados. La IACR anuló la elección e implementó medidas de seguridad adicionales, incluido un mecanismo de umbral de clave de 2 de 3. [ 21 ]
En 2014, la Asociación para la Maquinaria Informática utilizó Helios para sus elecciones generales. [ 22 ]
Durante las medidas de contención de la COVID-19 en Malasia (2020-2022), la Sociedad de la Lengua Tamil y la Sociedad Hindú de la Universidad de Malaya llevaron a cabo las elecciones de su Consejo Ejecutivo a través de Helios.
Véase también
- VotingWorks : una organización de votación de código abierto fundada por Ben Adida
Referencias
- ↑ "Sistema Electoral Helios" . 22 de octubre de 2021 – vía GitHub.
- ↑ "benadida/helios-booth" . 23 de julio de 2021. Archivado del original el 11 de junio de 2018. Recuperado el 25 de septiembre de 2018 a través de GitHub.
- ↑ Cortier, Veronique ; Smyth, Ben. "Ataque y solución de problemas a Helios: Un análisis del secreto del voto" . Consultado el 15 de marzo de 2018 .
- 1 2 3 Kwon, Soonhak; Yun, Aaram (2016-03-09). Seguridad de la información y criptología - ICISC 2015: 18.ª Conferencia Internacional, Seúl, Corea del Sur, 25-27 de noviembre de 2015, Artículos seleccionados revisados . Springer. págs. 195, 199. ISBN 9783319308401Archivado del original el 22/10/2021 . Consultado el 22/10/2021 .
- ↑ Hao, Feng; Ryan, Peter YA (30 de noviembre de 2016). Votación electrónica en el mundo real: diseño, análisis e implementación . CRC Press. pág. 355. ISBN 9781498714716Archivado del original el 22/10/2021 . Consultado el 22/10/2021 .
- ↑ "Spread Persona" . Archivado del original el 26 de febrero de 2021. Consultado el 18 de mayo de 2020 .
- 1 2 3 4 5 6 7 8 9 10 11 Adida, Ben. "Helios: Votación de auditoría abierta basada en la web" (PDF) . Archivado (PDF) del original el 13 de agosto de 2017. Recuperado el 15 de marzo de 2018 .
- ↑ Backes, Michael; Hammer, Christian; Pfaff, David; Skoruppa, Malte (2016). «Análisis a nivel de implementación del cliente de votación JavaScript Helios» . Actas del 31.er Simposio Anual de la ACM sobre Computación Aplicada . págs. 2071–2078 . doi : 10.1145/2851613.2851800 . ISBN 9781450337397. S2CID 6234446 . Archivado del original el 22-10-2021 . Recuperado el 15-03-2018 .
- ↑ Thomson, Iain (16 de junio de 2017). "¿Preocupado por el hackeo de las elecciones? Hay una solución tecnológica: Helios" . The Register . Archivado del original el 26 de abril de 2018. Recuperado el 25 de abril de 2018 .
- ↑ Karayumak, Faith; Kauer, Michaela; Olembo, Maina M.; Volk, Tobias; Volkamer, Melanie (2011). «Estudio de usuario de las interfaces mejoradas del sistema de votación Helios». 2011 1st Workshop on Socio-Technical Aspects in Security and Trust (STAST) . pp. 37–44 . doi : 10.1109/STAST.2011.6059254 . ISBN 978-1-4577-1183-1. S2CID 14652825 .
- ↑ "helios-server/LICENSE" . GitHub . Archivado del original el 22/10/2021 . Consultado el 18/05/2021 .
- ↑ "benadida/helios-booth: la cabina de votación independiente para Helios" . GitHub .
- ↑ Greenberg, Andy. "Para las próximas elecciones, no reconten los votos. Encifíquenlos" . WIRED . Consultado el 25 de abril de 2018 .
- ↑ Cramer, Ronald; Gennaro, Rosario; Schoenmakers, Berry (1997). «Un esquema de elección de múltiples autoridades seguro y óptimamente eficiente». En Fumy, Walter (ed.). Avances en criptología — EUROCRYPT '97 . Notas de clase en ciencias de la computación. Vol. 1233. Berlín, Heidelberg: Springer. págs. 103–118 . doi : 10.1007/3-540-69053-0_9 . ISBN 978-3-540-69053-5.
- ↑ Smyth, Ben. "Ballot secrecy: Security definition, enough conditions, and analysis of Helios" . Archivado del original el 22 de octubre de 2021. Consultado el 6 de noviembre de 2019 .
- ↑ Adida, Ben. "Documentación de Helios: Ataques y defensas" . Archivado del original el 6 de noviembre de 2019. Consultado el 6 de noviembre de 2019 .
- 1 2 3 Adida, Ben; Marneffe, Olivier de; Pereira, Olivier; Quisquater, Jean-Jacques. "Elección de un presidente universitario mediante votación de auditoría abierta: análisis del uso real de Helios" (PDF) . Archivado (PDF) del original el 13 de agosto de 2017. Recuperado el 15 de marzo de 2018 .
- ↑ "Corrección de XSS descrita en Backes 2016 #300" . GitHub . Consultado el 25 de septiembre de 2022 .
- ↑ "Informe final del Comité de votación electrónica de la IACR" . Archivado del original el 6 de noviembre de 2019. Consultado el 6 de noviembre de 2019 .
- ↑ "Demostración de votación electrónica de Helios para la IACR" (PDF) . Archivado (PDF) del original el 24/02/2021 . Consultado el 06/11/2019 .
- ↑ "Noticia de la IACR: 21 de noviembre de 2025" . www.iacr.org . Consultado el 23 de noviembre de 2025 .
- ↑ "Elecciones generales de la ACM de 2014: Aproveche esta oportunidad para votar" . Communications of the ACM . 57 (5): 9– 17. doi : 10.1145/2597769 .
- Software que utiliza la licencia Apache.
- Métodos de votación electrónica
- Software libre programado en JavaScript
- Software libre programado en Python