Comprueba tú mismo el secreto del voto | METIS Italia Ir al contenido

Seguridad del voto

Compruébalo tú mismo

No te pedimos que confíes en nosotros. Aquí tienes lo que puedes comprobar tú, o hacer comprobar a un técnico, para estar seguro de que el sistema no sabe ni puede saber qué has votado.

El núcleo del voto

El secreto del voto depende solo de 5 archivos. Sus huellas (SHA-256) se calculan ahora, sobre los archivos que usa el servidor. Si cambia un solo carácter, la huella cambia por completo.

Versión 1.1 del 09/11/2026 Peritaje independiente en curso: la versión está publicada pero aún no la ha verificado un tercero. Voter first and last name encrypted with the election key: the "About you" box decrypts them before showing them. Blind signature, ballot box and receipt unchanged.
ArchivoHuella SHA-256
js/AN05_blind.js8ecfe8d8b1d51c1aaba7b1021baa9a360bda79e4c8df58161d82e648318dab26
js/AN05_voto.jsbe40074f8abe90e0fe86334a5a5a77fd0dbd4b0527f8bc45f9d52cd65016b370
AN05_voto_firma.php7ff0bd7c0bba21594360530605e40906b8c0cc3f633e8b675f449ffd30ae2650
AN05_voto_urna.phpa4e98db625c2aa44c78b3f8dae273ec08e96ecaa635a419fe78c3ddedc876531
includes/AN05_blind.phpf8350ed80e3e1f10017c7f027235dabb79681ff14f02d4c7893c54c10dc04679
Huella del núcleo2c002f34578595611a3fa2339eed4dc61fe71b369307630917c5bd8f7b077c51

Se obtiene con: sha256sum js/AN05_blind.js js/AN05_voto.js AN05_voto_firma.php AN05_voto_urna.php includes/AN05_blind.php | sha256sum

Registro público de versiones (fuera de nuestro sitio)

Un sitio puede mentir sobre sus propias huellas: por eso la misma lista se publica también en un archivo externo y en el peritaje. Compara las huellas de arriba con las del registro.

https://github.com/marcoterzolo/metisitalia-nucleo-voto

El archivo en tu navegador

El trabajo que protege el secreto (poner la "máscara" a tu voto) lo hace tu navegador, con dos archivos que puedes descargar y comprobar.

  1. Abre estas dos direcciones y guarda los archivos (clic derecho, "Guardar como"): https://www.metisitalia.it/js/AN05_blind.js y https://www.metisitalia.it/js/AN05_voto.js.
  2. Calcula la huella de cada archivo. Windows: abre el Símbolo del sistema y escribe certutil -hashfile AN05_blind.js SHA256 . Mac: Terminal, shasum -a 256 AN05_blind.js . Linux: sha256sum AN05_blind.js .
  3. Compara el resultado con la huella de la misma fila de arriba y con la del registro público. Deben ser idénticas.
  4. Durante el voto puedes repetirlo desde la papeleta: herramientas de desarrollo (F12), pestaña "Fuentes" o "Red", los mismos dos archivos.

Qué sale del navegador

Abre la papeleta, pulsa F12, elige la pestaña "Red" (Network) y vota. Verás dos peticiones al servidor, con unos segundos de diferencia.

1. AN05_voto_firma.php

Contiene tu enlace personal y un número largo e ilegible (el sobre cerrado). Tus elecciones NO están. El servidor firma el número sin poder leerlo.

2. AN05_voto_urna.php

Contiene las elecciones, la ficha y la firma. NO contiene tu enlace ni cookies (comprueba la cabecera "Cookie": no está). Sale tras una espera aleatoria de 5-20 segundos, para que no se pueda emparejar con la primera.

Entre las dos peticiones no hay nada en común que el servidor pueda relacionar: el número de la primera está "enmascarado" con un valor que solo queda en tu navegador.

Cómo es la urna

Estas son las columnas reales de las dos tablas donde acaban las papeletas, leídas ahora de la base de datos (solo la estructura, ningún dato). No hay ninguna columna con nombre, email, enlace, hora o dirección IP.

op11_schede
ColumnaTipoPara qué sirve
op11_idchar(32)clave aleatoria de la papeleta (no un número correlativo: el orden no revela nada)
op11_an05_idbigintvotación
op11_ricevuta_hashchar(64)huella del código de recibo (para la comprobación)
op11_sceltevarchar(500)las elecciones
op11_datadatesolo el día, sin hora
op12_gettoni_spesi
ColumnaTipoPara qué sirve
op12_hashchar(64)huella de la ficha ya usada (impide votar dos veces)
op12_an05_idintvotación

La misma clave para todos

Un truco posible sería dar a cada elector una clave distinta, para reconocerlo por la firma. Para descartarlo, con el recibo tu navegador calcula la huella de la clave que ha usado de verdad. La misma huella aparece en la página de resultados y en el acta: si todos ven la misma, nadie recibió una clave "personal".

Lo que no podemos demostrar

  • El servidor web (Aruba) registra la dirección IP y la hora de cada petición, como todos los sitios. La espera aleatoria y la petición anónima hacen muy difícil relacionar las dos peticiones, pero con muy pocos votantes y acceso a esos registros no es imposible en teoría.
  • Las huellas de los archivos PHP solo puede comprobarlas quien tiene acceso al servidor: por eso hacen falta el registro externo y el peritaje independiente.
  • Las votaciones creadas antes de la firma ciega siguen usando el sistema antiguo: esta página vale para las que tienen firma ciega (todas las nuevas).

Explicación completa de la firma ciega

Para los peritos

Si tienes que certificar el sistema para un cliente, podemos darte: el código del núcleo (también en el registro público), la descripción del protocolo, la lista de pruebas ya hechas y cómo repetirlas, un entorno de pruebas y la estructura completa de la base de datos (sin datos). Escríbenos desde la página de Contacto.

Contáctanos