5  Auditores

Cualquier persona que conozca la URL de la elección puede ejercer como auditor. La URL de una elección tiene la forma https://votar.unc.edu.ar/elections/UUID/, donde UUID es una secuencia de al menos 14 caracteres, por ejemplo 8GVH85AoSyweXG.

Un auditor se asegurará en particular de que:

La seguridad de Belenios se basa en que las verificaciones descritas a continuación sean realizadas por al menos una persona honesta.

Nota: estas verificaciones también son ejecutadas automáticamente por el servidor, el cual está configurado con un nivel máximo de seguridad (autoridad de credenciales externa y al menos dos custodios de claves externos).

Configuración. Para realizar estas pruebas, debe utilizarse cierto software. Aquí se describe cómo ejecutar las verificaciones utilizando belenios-tool, cuyas fuentes están disponibles en Gitlab Inria y que puede instalarse como paquete en Linux Debian/Ubuntu. Para detalles sobre la instalación y utilización de belenios-tool, ver Apéndice A.

Además, debe utilizarse el script monitor_elections.py, disponible tanto el Gitlab Inria como en el repositorio de la UNC https://gitlab.unc.edu.ar/belenios-unc/tools.

A continuación, debe crearse un directorio workdir donde se almacenará la información de auditoría de la elección a medida que se descargue, en forma de repositorio git.

Para verificar que los códigos HTML/Javascript utilizados por los votantes, los custodios de claves de descifrado y las autoridades de credenciales no sean modificados por un servidor corrupto, es necesario determinar el código “correcto” para cada uno de estos programas. Luego, debe asegurarse que el servidor entregue estos archivos sin corromper. Primero, debe prepararse una plantilla que puede bajarse del repositorio de la UNC https://gitlab.unc.edu.ar/belenios-unc/tools/-/blob/master/reference_template.json, y debe copiarse en el directorio workdir con el nombre hashref.

cp reference_template.json workdir/hashref

Existen varias soluciones para asegurar que los archivos servidos por el servidor sean válidos, mientras se monitoriza la elección identificada por UUID:

En todos los casos, se ejecutará regularmente un comando de monitorización denominado monitor_elections. Es posible redirigir los mensajes con la opción --logfile. Entonces, solo los comportamientos anómalos son reportados en stdout/stderr, lo que permite ejecutar el comando desde un crontab y ser advertido en caso de problema.

Fase de votación. Durante la elección, se espera que:

Nótese que el script proporcionado en belenios-tool no ofrece soporte para esto.

Después del escrutinio. Tras la elección, se espera que:

Nota: Si se utiliza la herramienta de línea de comandos belenios-tool, la confianza en las verificaciones de auditoría depende en parte de la confianza en esta herramienta. Es posible escribir software de verificación independiente siguiendo la especificación de Belenios disponible aquí.