====== Votación electrónica con Belenios: ejemplo de procedimiento de voto ====== El sistema de voto electrónico que estamos empleando es [[http://belenios.gforge.inria.fr/|Belenios]] y fue desarrollado por el [[https://www.inria.fr/|INRIA]] en Francia. En este tutorial presentamos un ejemplo simple de cómo se realiza un voto empleando el sistema de votación electrónica Belenios. Lamentablemente el software no tiene aún soporte para múltiples idiomas, sólo está en inglés, por lo que tanto los correos electrónicos que se reciban como los contenidos en la página web de votación estarán todos en ese idioma. Como el proceso de votación es muy sencillo, confiamos en que este tutorial servirá de ayuda y guía para entender cómo es el proceso. Al menos desde el punto de vista del votante. Todo votante debe recibir, en correos electrónicos separados, dos datos que debe emplear en el proceso de votación: - Una **credencial** - Un **usuario** y su correspondiente **clave** La **credencial** es realidad una llave criptografica, que se usa para encriptar la hoja de votación en el momento de votar. El **usuario** y la **clave** los va a usar, luego de encriptado el voto en su navegador, para enviar el voto al servidor de votación. Mediante ese mecanismo se preserva el contenido de la hoja de votación al mismo tiempo que se registra que el usuario correspondiente ha emitido un voto. Así es posible saber si un usuario votó, pero no es posible saber qué votó. Vamos a ilustrar el proceso de votación con un ejemplo imaginario. Supongamos que existe una elección que se está llevando a cabo, que llamaremos "Tutorial" en la que Nadia Dieste debe votar. Ella recibió en su cuenta nadie@fq.edu.uy dos correos electrónicos. En uno figura la **credencial** (credential) marcada en amarillo en la siguiente figura: {{ :tutoriales:belenios_email_credential.png?500 | Credencial de votación }} En el otro recibió su usuario (username), que es la propia cuenta de correo electrónico y una clave (password) de acceso al servidor de votación, también marcados en amarillo: {{ :tutoriales:belenios_email_user_passwd.png?500 |Usuario y clave}} En ambos casos, al pie del mensaje, figura la dirección web donde debe votar. Esa dirección web cambia de una elección a otra. Lo que identifica a cada elección es el código que figura al final, en este caso: ''d17c9672-8bf8-4b2d-9045-3cb6bb12a405'' Lo primero que Nadia debe hacer es verificar que recibió ambos correos electrónicos y en lo posible debe guardarlos y asegurarse que no se pierdan. Para iniciar el proceso de votación debe hacer click con el ratón sobre la dirección web del servidor de votación. En su navegador va a aparecer una imagen similar a la siguiente: {{ :tutoriales:belenios_voto_start.png?600 |Comienzo de votación}} Allí debe presionar el botón marcado **Start** Lo primero que pide el servidor es que el usuario ingrese su credencial: {{ :tutoriales:belenios_voto_step_1.png?600 |Step 1}} Allí debe presionar el botón **here** que habilita una pequeña ventana donde va a copiar y pegar su credencial, como aparece en la siguiente figura: {{ :tutoriales:belenios_voto_step_1_credencial.png |ingreso de credencial}} Recién después de presionar el botón **OK** aparece la hoja de votación propiamente dicha: {{ :tutoriales:belenios_voto_hoja_de_votacion.png?600 |hoja de votación}} Una votación puede consistir en una o más hojas de votación en las que se puede llegar a marcar cero, una o más opciones. Eso dependerá de cómo haya sido confeccionada cada hoja de votación. En este caso aparecen 3 opciones y la hoja fue configurada de manera tal que se debe votar una y sólo una de ellas. Encima de las opciones de votación aparece el número mínimo y máximo de opciones que está permitido elegir, en este caso dice **select between 1 and 1 answer(s)**. Nadia elige a Fulano y luego presiona el botón **Next** lo que la lleva a la siguiente pantalla: {{ :tutoriales:belenios_voto_revision_y_encriptado.png?600 |Revisión y encriptado}} En este momento el voto todavía no fue emitido. Aún está en el navegador de Nadia donde el voto fue encriptado con la **credencial** que ingresó al principio. Aquí debe decidir si: * presiona el botón **Continue** para emitir su voto * se arrepiente y presiona **Restart** para reempezar el proceso de votación Supongamos que Nadia está segura de su voto y decide continuar, recién ahora va a ingresar al servidor para emitir el voto que permanece encriptado en su navegador: {{ :tutoriales:belenios_user_login.png?600 |login al servidor}} En donde dice **username** pone su **usuario** (que es su correo electrónico) y debajo, donde dice **password** copia y pega la **clave** que le enviaron por email. Ojo: no confindir la **clave** del usuario, que recibió en un correo, con la **credencial** que recibió en otro correo. Para ingresar al servidor, presiona el botón **Login**. Allí aparece la siguiente pantalla: {{ :tutoriales:belenios_emitir_voto.png?600 |Emitir el voto}} Para confirmar el voto en el servidor, debe presionar el botón **I cast my vote** En la siguiente pantalla el servidor confirma la emisión del voto: {{ :tutoriales:belenios_voto_tirilla.png?600 |código de confirmación}} donde aparece el equivalente a nuestra tirilla: **zxeqwWA+nj+wLqQe5CGFAfmyLO+sml2+cwsJbzkpYjk**, que es el comprobante de que emitimos el voto y es lo que podemos usar para confirmar que el voto fue incluido en la votación. Nadia también recibe por email una confirmación del voto, como se ve en la siguiente figura: {{ :tutoriales:belenios_confirmacion_email.png?500 |confirmación por email}} Vemos que allí aparece el código de verificación de voto emitido, junto con la dirección web donde se puede confirmar la presencia del voto y debajo la dirección web donde eventualmente aparecerá el resultado de la votación.