Siguiente: Conclusiones Superior: Voto Electrónico y Software Anterior: Igual y Secreto |
Lo primero que hay que hacer constar es que no existe en la actualidad ningún software, tanto libre como propietario, que cumpla con todos los requerimientos explicitados en este ensayo para ser considerado como un sistema completo de voto electrónico. Podemos clasificar los sistemas existentes en diversas categorías:
Existen multitud de soluciones propietarias para el problema de la toma de decisiones. En general, estas soluciones, son módulos adicionales a programas de videoconferencia, trabajo cooperativo, etc
Del mismo modo existen sistemas electrónicos para el proceso de conteo de resultados. Detallaremos por su "fama" dos de ellos:
Es muy corriente en el Software Libre la existencia de programas de consulta. Portales, como Slashdot, BarraPunto, Technocrat, etc son foros de discusión donde se proponen diversos temas de actualidad, noticias, etc. Incluyen además sistemas de encuestas, donde los participantes en los foros manifiestan su opinion sobre un tema propuesto por los editores
Una nueva categoría constituyen los programas de voto propiamente dicho
El primer caso son aquellos sistemas simples, sin posibilidad de reconfiguración: un ejemplo lo tenemos en MyPools desarrollado por Josh Levine (josh@levinenet.com), basado en PHP y MySQL. En este programa, el administrador edita un fichero de configuración, donde se define la consulta y las opciones. Mediante cookies, se guardan las votaciones y sus resultados.
En general este y otros programas similares están orientados a una única votación sobre un tema concreto. El administrador es quien define los datos de la encuesta, teniendo que proceder manualmente a la mayor parte de las operaciones. El usuario no tiene ningún sistema de realimentación para recepción de claves
Una empresa alemana, E-Vote, ofrece diversos servicios de toma de decisiones distribuída. Para ello alquila una aplicación que actúa como cliente de sistemas Windows, y que permite conectarse a un servidor de toma de decisiones.
Dicha aplicación tiene todas las características que se esperan de un sistema de voto:
La empresa alquila el servidor a las diversas organizaciones que quieren utilizar sus herramientas de decisión. El servidor en sí mismo no se vende: solo la aplicación cliente
Se utilizan mecanismos especiales para identificar unívocamente a los usuarios, y garantizar la unicidad y secreto del voto, así como para cumplir la reglamentación europea sobre tratamiento de datos personales.
Realmente, más que un sistema de voto es un sistema de toma de decisiones, orientado a entornos de telereunión y teletrabajo.
En vista de la carencia en el mundo del software libre de este tipo de programas, el autor ha desarrollado uno que, sin tener una validez plena a efectos legales, cubre la mayor parte de los requisitos de los sistemas de voto electrónico. se trata de Free-Vote
Free-Vote ha sido diseñado para servir y dar soporte a sistemas de votación electrónica con un nivel razonable de seguridad y fiabilidad. Las características principales de Free-Vote son:
Se pueden realizar y monitorizar simultáneamente varias consultas
Cada consulta tiene diversos parámetros, definibles por el organizador de la consulta:
Cada votante recibe al realizar la acreditación una tarjeta de voto, válida una única vez
El sistema sólo registra si el usuario ha votado o no, nunca el valor de su voto
En consultas privadas sólo tienen derecho a voto aquellos votantes definidos por el organizador.
El papel del administrador, aunque importante, es secundario: existen diversas categorías de usuarios, cada uno con un nivel de privilegios definible, que permiten una administración distribuída del sistema: alta y baja de usuarios, de consultas, acceso al sistema, etc. Además, punto funtamental en cuanto a seguridad: no hacen falta privilegios de root para su instalación y ejecución
Se proporciona una documentación completa en formato SGML, así como diversos scripts de instalación y configuración. Dicha documentación y scripts, han sido escritos de manera que sean conformes a los reglamentos de aplicación de la LORTAD
El usuario empieza por registrarse en el sistema, obteniendo una clave de acceso. Posteriormente, puede seleccionar las diversas consultas disponibles, y en función de su autorización o no puede emitir voto en aquellas en las que esté autorizado. Para ello debe solicitar una tarjeta de voto, que añade a sus datos de registro una clave adicional para proceder al voto en una votación concreta. La tarjeta de voto es única por cada usuario y cada consulta
Si su nivel de privilegio lo permite, un usuario puede crear y definir consultas, e insertarlas en el sistema. En función del privilegio asignado podrá dar de alta usuarios, autorizar consultas, etc. El máximo nivel de privilegio otorga acceso vía Web a la consola SQL de la base de datos, lo que permite actuar de Administrador
Free-Vote Está basado en PHP-3.0 y PostgreSQL-7.0. Para la elaboración de las páginas web se utiliza en aras de la compatibilidad HTML-3.0 sin extensiones adicionales. Una copia de la última versión del código fuente está disponible vía web en http://drake.dit.upm.es/~jantonio/e-vote/evote.tgz . Se distribuye bajo Licencia GPL.
El mundo del Software Libre ofrece muchas más posibilidades que el web a la hora de poder realizar aplicaciones de voto electrónico. Vamos a estudiar ahora un sistema de voto basado en el uso del correo: Vote-Debian
Vote Debian es un sistema enteramente basado en el correo electónico, y enteramente integrado en la filosofía de desarrollo de debian. El proceso de toma de decisión consta de las siguientes fases:
Debian Vote es un sistema de toma de decisiones orientado a decidir el funcionamiento interno del grupo de desarrolladores de Debian. Desde este punto de vista es completamente funcional, si bien, desde los aspectos tratados en este artículo tiene estas particularidades:
Las páginas web de Debian Vote se encuentran en http://vote.debian.org
En general, podemos observar que cualquier sistema electónico que sirva para la comunicación multipunto puede ser empleado para realizar tareas de toma de decisión. Vamos a describir someramente un posible ejemplo de realización a través del Internet Relay Chat (IRC o Chat)
La idea básica del voto a través de IRC consiste en la existencia de un bot, un usuario automático que supervisa todas las actividades relacionadas con el proceso de votación. Los bots son ampliamente utilizados en los sistemas de IRC para muchas aplicaciones. El voto electrónico no es es sino otra aplicación más
La organización es como sigue:
Por lo general, este bot está asociado a una base de datos, al estilo de un sistema vía web
El principal problema de este sistema es el de la autentificación del usuario: IRC está basado en aliases y "nicks", de manera que son necesarios mecanismos adicionales de identificación
Como hemos comentado el mundo del voto electónico no acaba aquí cualquier sistema que permita comunicación multipunto podría ser utilizado para consultas y votaciones. Citemos algunos ejemplos:
En general cualquier sistema que tenga una estructura cliente-servidor puede servir. No estamos restringidos en absoluto a los sistemas basados en equipos informáticos. No obstante hay que tener en cuenta una serie de consideraciones:
Con la tecnología actual el principal problema reside en la autentificación del votante. Un ejemplo sencillo: en un sistema de voto basado en mensajes de móviles, no hay garantia de que quien envíe el mensaje sea el propietario del teléfono...
No obstante, y debido a la necesidad que en éste y otros aspectos existe sobre el tema identificación, se están desarrollando diversas técnicas de autentificación: reconocimiento de voz, identificación de huellas, etc. Si bien el principal objetivo es el econónico ( piénsese en la telecompra por teléfono móvil ) el ámbito de actuación de estas técnicas incluye -por supuesto- el voto
Otro problema asociado a la tecnología es el de la universalidad: Cualquiera que sea el sistema de voto escogido, se debe poder garantizar el que todo aquel que esté interesado tenga posibilidades de participar. Es preciso un acceso universal a las tecnologías asociadas a la toma de decisiones. No puede tolerarse el que existan "no-ciudadanos" por causa de analfabetismo tecnológico, o carencia de medios o recursos económicos
El Software Libre ofrece a nuestra sociedad una vía para la universalización de las tecnologías de la información: Por sus características y licencias de uso, es accesible para todo el mundo a un coste casi nulo.
Las diversas ilustraciones que acompañan a este ensayo muestran ejemplos de los sistemas citados, y de alguna de las herramientas utilizadas
Básicamente, podemos descomponer el programa en diversas subestructuras:
Cualquier sistema de voto deberá tener al menos las siguientes tablas de datos:
Dichas tablas se organizan según un sistema de dependencias. La figura ilustra las dependencias entre tablas que utiliza Free-Vote
Deberemos tener programas para realizar las siguientes tareas:
Es muy común la existencia de foros de debate asociados a cada consulta. En ellos, los usuarios manifiestan las diversas opiniones sobre las consultas y sus resultados:
No sólo sistemas de foros son posibles. Algunos entornos incluyen sistemas de chat o de videoconferencia. Dependiendo del grado de interactividad que se pretenda, y de la complejidad del servidor, estos sistemas estarán o no presentes
Hemos tratado anteriormente, cómo el correo electrónico debería ser el medio principal de comunicación entre el servidor y el usuario. Lo utilizaremos para:
Dependiendo del sistema, el grado de verbosidad será mayor o menor: Algunos sistemas envín información sobre consultas de manera automática; en otros es responsabilidad del organizador notificar a los interesados la existencia o incidencias relacionadas con alguna consulta.
Dependiendo de la complejidad del sistema, las tareas de administración serán más o menos compleja. Lo normal es que el o los administradores tengan acceso directo al servidor, y puedan realizar directamente sobre el sistema las tareas de administración
En ocasiones esto puede ser o no conveniente, por lo que algunos sistemas incorporan mecanismos de administración remota. Esto permite además definir niveles de privilegios. Podemos identificar diversas tareas de administración:
Por supuesto, al margen de estos sistemas, siempre existen los sistemas de gestión local, tanto automáticos como manuales.
Es necesario controlar estrictamente los recursos de administración: el responsable del sistema tiene acceso directo a las bases de datos y a su integridad y contenido. Al responsable del sistema se le asume integridad, pero nunca está de más una ayudita electrónica... chequeos, controles de integridad, registros automáticos de eventos, etc
El recurso básico de un sistema libre de voto electónico es el Web: Recordemos que el principio de libertad, nos obliga a huír de soluciones que liguen a un determinado software o sistema operativo. Si bien en el servidor no es tanto problema, es una razón sine qua non en el cliente de voto. El uso del web y del lenguaje html es una garantía de portabilidad
Por el mismo motivo huiremos de soluciones web propietarias o no extendidas: plug-ins, javascript, applets java. No podemos olvidar que cualquiera, con independencia de su sistema y recursos debe poder participar En resumen, el cliente será cualquier navegador web que soporte HTML-3.2, sin extensiones
Aunque en el lado del servidor se dispone de más libertad, vamos a evaluar las herramientas necesarias y su disponibilidad como software libre
El lector puede analizar los ejemplos de software libre sobre voto electrónico que se ofrecen.
En resumen: para realizar un servidor de voto electrónico de calidad no es preciso recurrir a ningún tipo de solución propietaria: El software libre ofrece recursos más que suficientes