Helios Voting es un sistema de votación electrónica de código abierto basado en la web . Los usuarios pueden votar en elecciones y pueden crear elecciones. Cualquiera puede emitir su voto; sin embargo, para que se cuente el voto final, se debe verificar la identidad del votante. Helios utiliza cifrado homomórfico para garantizar el secreto 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 creó la elección se conoce como el administrador de la elección. [7] Una vez que se crea una elección, Helios proporciona una clave pública al administrador. El administrador prepara la boleta y crea un padrón electoral; estos se pueden editar en cualquier momento antes de que comience la votación. El administrador congela la elección cuando está lista para que los votantes emitan sus votos. Cuando la elección está congelada, no se pueden realizar cambios en la boleta, el padrón electoral o el período de tiempo de la elección. [7]
Código fuente
El código del navegador front-end está escrito en JavaScript y HTML , mientras que el código del servidor back-end está escrito en Python . [8] El Sistema de preparación de boletas (BPS) guía a los votantes a través de la boleta y registra sus opciones. [7] [9] El proceso para crear la boleta y procesar los votos se basa en el Protocolo de votación simple y verificable 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 ha revisado la papeleta, la sella, lo que hace que Helios la encripte y muestre un texto cifrado . [7]
En este punto, el votante puede auditar o emitir su voto. La auditoría de la papeleta permite al votante verificar que el texto cifrado es correcto. Una vez que se completa la auditoría de la papeleta, se descarta esa papeleta (para brindar cierta protección contra la compra de votos y la coerción) y se construye una nueva papeleta. 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 del votante o un número de identificación del votante junto con el voto cifrado. [7]
Proceso de recuento
Después de que terminaba una elección, el sistema Helios 1.0 barajaba las papeletas, [ dudoso – discutir ] descifraba todos los votos y hacía que la mezcla fuera accesible al público para que las partes interesadas pudieran auditarla. [4] La auditoría permitía que cualquiera pudiera verificar que la mezcla era correcta. Una vez que había pasado un tiempo razonable para la auditoría, Helios descifraba las papeletas y contaba los votos. Cualquiera podía descargar los datos electorales para verificar que la mezcla, las descifraciones y el recuento eran correctos. [7] Helios 2.0, diseñado en 2008 y actualmente en uso, abandonó la mezcla y cambió a un esquema de cifrado homomórfico propuesto por Cramer, Gennaro y Schoenmakers. [14]
Limitaciones del sistema
La plataforma Helios está pensada para utilizarse en entornos de pequeña escala y con poca coerción, como los gobiernos 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 coerción y la compra de votos sólo están garantizadas cuando los materiales utilizados para construir las papeletas (más precisamente, los nonces) son desconocidos para los votantes, por ejemplo, cuando se utilizan dispositivos confiables para construir las papeletas. [7] [15]
Verificabilidad
- El dispositivo de auditoría/reconstrucción de votos debe ser confiable para garantizar una auditoría exitosa de los votos (también conocida como verificabilidad de emisión según lo previsto), [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. La primera pone en peligro las sesiones de los administradores y se solucionó rápidamente. [17] En el caso de la segunda, si el atacante logra que un votante haga clic en un enlace especialmente diseñado, este accederá a una página HELIOS modificada que puede violar el secreto electoral o manipular los votos. [4] Sin embargo, a fecha de 2021, la vulnerabilidad no se pudo recrear. [18]
Historia
Adopción
Desde 2009, la Universidad Católica de Lovaina utiliza Helios para elegir a su presidente universitario (de unos 25.000 electores habilitados, unos 5.000 se registraron y 4.000 votaron). [17] Ese mismo año, la Universidad de Princeton también lo adoptó para elegir a los gobiernos estudiantiles. [ cita requerida ]
Desde 2010, la Asociación Internacional de Investigación Criptográfica ha utilizado Helios anualmente para elegir a los miembros de su junta directiva. [19] [20]
En 2014, la Asociación de Maquinaria Computacional utilizó Helios para sus elecciones generales. [21]
Durante las medidas de contención de Covid-19 en Malasia (2020-2022), la Sociedad de Lengua Tamil y la Sociedad Hindú de la Universidad de Malaya llevaron a cabo sus elecciones del Consejo Ejecutivo a través de Helios. [ cita requerida ]
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 desde el original el 11 de junio de 2018. Consultado el 25 de septiembre de 2018 – vía GitHub.
- ^ Cortier, Veronique ; Smyth, Ben. "Atacar y arreglar Helios: un análisis del secreto del voto" . Consultado el 15 de marzo de 2018 .
- ^ abc Kwon, Soonhak; Yun, Aaram (9 de marzo de 2016). Seguridad de la información y criptología - ICISC 2015: 18.ª conferencia internacional, Seúl, Corea del Sur, 25-27 de noviembre de 2015, Documentos seleccionados revisados. Springer. pp. 195, 199. ISBN 9783319308401Archivado del original el 22 de octubre de 2021. Consultado el 22 de octubre de 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 de octubre de 2021. Consultado el 22 de octubre de 2021 .
- ^ "Spread Persona". Archivado desde el original el 26 de febrero de 2021. Consultado el 18 de mayo de 2020 .
- ^ abcdefghijk Adida, Ben. "Helios: Web-based Open-Audit Voting" (PDF) . Archivado (PDF) desde el original el 2017-08-13 . Consultado el 2018-03-15 .
- ^ Backes, Michael; Hammer, Christian; Pfaff, David; Skoruppa, Malte (2016). "Análisis a nivel de implementación del cliente de votación Helios de JavaScript". Actas del 31.º Simposio Anual de la ACM sobre Informática Aplicada . págs. 2071–2078. doi :10.1145/2851613.2851800. ISBN . 9781450337397. S2CID 6234446. Archivado desde el original el 22 de octubre de 2021. Consultado el 15 de marzo de 2018 .
- ^ Thomson, Iain (16 de junio de 2017). "¿Le preocupa el hackeo electoral? Hay una solución tecnológica: Helios". The Register . Archivado desde el original el 26 de abril de 2018. Consultado 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 1er Taller sobre Aspectos Sociotécnicos en Seguridad y Confianza (STAST) . pp. 37–44. doi :10.1109/STAST.2011.6059254. ISBN 978-1-4577-1183-1.S2CID14652825 .
- ^ "helios-server/LICENCIA". GitHub . Archivado desde el original el 22 de octubre de 2021 . Consultado el 18 de mayo de 2021 .
- ^ "benadida/helios-booth: la cabina de votación independiente para Helios". GitHub .
- ^ Greenberg, Andy. "Para las próximas elecciones, no vuelvan a contar los votos. Encripten los votos". 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 . Apuntes de clase en informática. 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. «Secreto electoral: definición de seguridad, condiciones suficientes y análisis de Helios». Archivado desde el original el 22 de octubre de 2021. Consultado el 6 de noviembre de 2019 .
- ^ Adida, Ben. "Documentación de Helios: ataques y defensas". Archivado desde el original el 6 de noviembre de 2019. Consultado el 6 de noviembre de 2019 .
- ^ abc 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) desde el original el 2017-08-13 . Consultado el 2018-03-15 .
- ^ "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 desde el original el 6 de noviembre de 2019. Consultado el 6 de noviembre de 2019 .
- ^ "La demostración de votación electrónica de Helios para la IACR" (PDF) . Archivado (PDF) del original el 24 de febrero de 2021 . Consultado el 6 de noviembre de 2019 .
- ^ "Elecciones generales de 2014 de la ACM: aproveche esta oportunidad para votar". Comunicaciones de la ACM . 57 (5): 9–17. doi : 10.1145/2597769 .