Método EVoto Voto por correo electrónico Sistema basado en claves asimétricas, PGP y apoyado en LDAP

Sergio Avila Jiménez
EVoto Team
http://evoto.es/

versión v1.1 rev-0

Septiembre de 2002

La presente documentación expone un método o forma de llevar a cabo el acto de votar por médio del correo electrónico o e-mail, utilizando para ello una combinación de software Open Source. Basándose en el Proceso Electoral Español, según Ley Orgánica 5/1985, intenta llevar al terreno digital algunas de las fases de dicho proceso. Unas en su totalidad y otras parcialmente. Según el senador Gonzalo Quiroga: "La legislación española contempla el uso de firmas y certificados digitales, por lo que un sistema de este tipo sería completamente válido y legal." (Extraido del Diario de Sesiones número 0035, el cual recomiendo su lectura).


Copyright (C) 2002 Sergio Avila Jiménez. Permitida la redistribución ilimitada de copias literales y la traducción del texto a otros idiomas, siempre y cuando se mantenga esta autorización y la nota de copyright.

Introducción

Se ha escrito mucho sobre las ventajas de la democracia digital en lo referente a sufragios tanto públicos como privados, así como de sus defectos e inconvenientes en sistemas productivos. Las dudas que mas resaltan ante sistemas de voto digitales son las de fiabilidad, transparencia, garantía de anonimato, seguridad, revocación del voto emitido y posibilidad de comprobación del resultado en la emisión del voto, entre otras.

El método que aquí presento, no pretende ser la solución definitiva a todas estas incógnitas, pero sí pretende ser un punto de partida alternativo a una democracia digital inminente.

La forma en que se lleva a cabo, intenta ser lo mas respetuosa posible con la legislación actual, e intenta al mismo tiempo probocar el menor impacto posible sobre las leyes que afectan al actual Proceso Electoral Español.

También he de añadir que, el presente método, no está influenciado por ningún software desarrollado o en desarrollo y que solo se ha tenido en cuenta las espectativas de deseo promulgadas por la Cámara del Senado en la sesión del 6 Marzo de 2001, ya que no existe ningún informe oficial al respecto. (Ver expedientes número 662/000099 y número 543/000014)

De igual modo he de comentar, que las pruebas realizadas en la fase de desarrollo de la aplicación han sido llevadas a cabo sobre servidores LDAP públicos para poder evaluar el rendimiento de un servicio de este tipo en comparación con consultas realizadas a una base de datos.

1. - Ciudadano modelo frente a la tecnología del método

Dentro del universo de votantes, en un sufragio universal, encontramos ciudadanos de todas las categorías posibles definidas en la sociedad actual. Depende solo de la normativa vigente en cada democracia, la exclusión de algunos de estos grupos sociales. Todos los demás tienen el derecho a poder votar.

1.1 - Sencillez dentro de la complejidad

Un método de voto electrónico ha de ser sencillo hacia el usuario final, cualquiera ha de poder utilizarlo hacia su propio beneficio. El envío de mensajes de correo electrónico es una práctica cada vez mas habitual en todos los estatus de la sociedad. Un mensaje de correo electrónico es sencillo de crear y de manejar.

Método EVoto lleva a la práctica la sencillez del correo electrónico en beneficio del sufragio universal. Un simple mensaje firmado y con el voto objeto en su interior es suficiente para hacer efectivo el derecho al voto.

1.2 - Eliminando barreras

Un buen método digital ha de contemplar todas y cada una de las posibles vías de encauzamiento de un voto hacia su destino final, el escrutinio de ese voto. En España existen dos vías posibles de emitir un voto; presentarse en un colegio electoral depositando directamente la papeleta en la urna o remitiendo ese voto por correo tradicional.

Método EVoto amplía la vía del voto por correo llevándolo al terreno digital pero sin incrementar la necesidad de conocimientos especiales ante ciudadanos sin experiencia.

La integración paulatina de un proceso alternativo a los actuales era uno de los requisitos que buscaba a la hora de desarrollar Método EVoto. Ésto solo se podía conseguir si complementaba al sistema actual, por lo que resultaba imprescindible mantener una estricta compatibilidad sin excluir ninguno de los procedimientos actuales.

El acto del voto realizado es afirmado por medio de los controles de votación de las mesas electorales. Esta forma de control sí que sería necesario actualizar por el simple hecho de la necesidad de integración de dos mundos distintos, el material y el digital. Mediante un terminal en la mesa electoral se podrá registrar o comprobar el acto del voto.

1.3 - En espera del nuevo DNI electrónico

La FNMT en España facilita, a quien lo requiera, un modelo de tarjeta inteligente que proporciona los datos necesarios en la identificación inequívoca de un individuo acreditando su identidad. El contenido de esta tarjeta suele ser de un par de claves asimétricas certificadas por la FNMT.

Método EVoto basa la acreditación del individuo en el principio de claves asimétricas, mas concretamente, utiliza PGP en su versión libre, GnuPG. La utilización de certificados X.509 es totalmente posible gracias al API gpgme.

Palabras como huella digital, par asimétrico o Autoridad Certificadora no tienen por qué sonarle a un ciudadano que no domine el medio, pero sí que debería de saber por medio de la Autoridad Competente, de la existencia de estas tarjetas inteligentes que a modo de DNI les posibilitaría el uso de las nuevas tecnologías que requieran acreditación.

Un terminal adaptado con un lector de estas tarjetas y un software de envío y recepción de correo de sencillo manejo, a modo de cajero automático, sería suficiente para emular una cabina electoral situada en cualquier lugar público (hospitales, aeropuertos, etc.).

1.4 - La problemática de un censo electoral

La base principal de todo referéndum es la de poder garantizar la unicidad del voto. En el sistema actual, esta característica se consigue por medio de listas de censo electoral. Mensualmente, los ayuntamientos comunican a su Delegación Provincial los cambios en su censo de población.

La realización de un censo, generalmente, requiere de requisitos legales que garanticen total seguridad e integridad sobre los datos que contienen las bases de datos, regulado por la LOPDat.

Método EVoto, al no almacenar ningún dato privado, resulta ideal para garantizar la privacidad de los electores, además, basa la elaboración del censo en base a datos almacenados en servidores LDAP.

Estos servidores LDAP no forman parte directa del método presentado, sino que Método EVoto se vale de la gerarquía del directorio para establecer las bases del censo electoral. Método Evoto solo almacena una referencia a las cabeceras de las ramificaciones declaradas como censo en la fase de creación del referéndum.

Datos como el nombre, dirección de e-mail o el identificador de clave pública, son los datos que Método EVoto necesita para localizar a un posible elector dentro del servicio de directorio. Pero sólo con la inclusión de la clave pública en la base de datos PGP del servidor, se le permitirá a este realizar el voto por correo electrónico.

2. - Detectando virus

La necesidad de la eliminación de virus informáticos lo mas cerca posible del foco principal es lo que ha provocado que se diseñen mecanismos, para el tratamiento de mensajes electrónicos, activos antes de la llegada del mensaje a su destino final, el usuario. En sendmail, desde su versión 8.10, este mecanismo es proporcionado por un API denominado Milter.

2.1 - Nadie mas lo sabe

La facilidad que un sistema informático tiene a la hora de relacionar datos con su origen, es uno de los inconvenientes mas notables al intentar garantizar el anonimato en un referéndum manejado electrónicamente.

Un documento firmado digitalmente tiene una validez legal aceptable. El inconveniente; no es posible un posterior repudio hacia el mismo.

Método Evoto resuelve de una forma muy personal este gran inconveniente.

2.1.1 - Mezclando filtros y criptografía

La forma que Método EVoto tiene de saber la identidad del votante es contrastando la firma del mensaje con su base de datos de claves públicas. Esta acción identifica al votante en el sistema inequivocamente y evita la manipulación por terceras partes del contenido del mensaje.

Si además, el mensaje hubiese sido encriptado, previamente lo desencriptaría utilizando la clave privada que se hubiese generado a la creación del referéndum, con lo que garantizaría una privacidad absoluta entre votante y sistema.

El proceso interno de desencriptado (si se da el caso) y verificación de firma, elimina totalmente la armadura criptográfica del mensaje, quedando sólamente al descubierto el contenido que pudiese alojar (en un proceso normal, sería la papeleta electoral, o Voto Objeto en el caso de EVoto) para su tratamiento posterior. De esta forma pasaríamos de tener un documento del cual no era posible evitar su repudio, a un documento de autoría anónima.

Todo este proceso interno es manejado mediante el API gpgme, que va deshojando el cuerpo del mensaje función tras función. El resultado es un mensaje que solo contiene el valor de la papeleta. Este mensaje resultante puede ser tratado por milter, casi al final del filtrado, de distintas formas:

  • Generando un mensaje de error (SMFIS_TEMPFAIL).

  • Aceptarlo pero sin llegar a destino (SMFIS_DISCARD).

  • Aceptarlo (SMFIS_ACCEPT).

En el caso SMFIS_TEMPFAIL, el mensaje, una vez procesado y contabilizado, sería devuelto a su origen sin llegar a destino. En el caso SMFIS_DISCARD, el mensaje es procesado y contabilizado pero nunca llegaría a destino. Y en el caso SMFIS_ACCEPT, el mensaje es procesado, contabilizado y depositado en el buzón del referéndum portando en el cuerpo del mensaje el valor de la papeleta para permitir su recuento.

2.2 - Las respuestas a la pregunta

No hay votación sin pregunta y pregunta sin respuestas. En el sistema actual, las respuestas posibles a la pregunta se declaran mediante distintas papeletas que el votante usa para ratificar su opinión. Estas papeletas, en papel, inundan los buzones de los ciudadanos junto a todo el grafismo que una campaña electoral conlleva.

Método EVoto utiliza voto objetos como modelos de respuestas a la pregunta sustituyendo a la actual papeleta y utilizando claves asimétricas en la verificación de su autenticidad.

Una forma límpia y ecológica que ahorraría cantidades enormes de papel. Los voto objetos son solamente datos que además se pueden reciclar, es decir, la misma papeleta, en este caso, Voto Objeto, puede servir para mas de un referéndum.

En este momento, el sistema solo admite voto objetos simples. En una nueva revisión se incorporarán los voto objetos múltiples que ayudarán a crear listas dentro de una papeleta electoral.

2.2.1 - Solo una respuesta

Una persona, un voto. En sistemas con varias vías disponibles, esto se consigue priorizando canales. Con el proceso actual, los votos emitidos por correo son escrutados en última instancia.

Método EVoto deshabilita el canal no usado haciéndolo saber a través de un terminal dispuesto expresamente para su consulta y registro.

Siguiendo el desarrollo de votación actual, un elector ha de acreditarse ante la Mesa Electoral, esta comprueba la inclusión del elector en la lista censal y verifica la coincidencia del número de D.N.I. para permitir o denegar la votación (validez del D.N.I., dirección del elector, etc. serían posibles datos a contrastar).

La utilización de Método EVoto, implicaría algunos cambios en la forma de contrastar estos datos ante la Mesa. En el supuesto caso de que todos los electores estén registrados en el servidor LDAP censal pero el elector eligiese la vía tradicional, el proceso sería el siguiente:

  • el posible elector se identifica ante la Mesa Electoral mediante su D.N.I.

  • la persona encargada de la verificación introduce el D.N.I. del elector en el terminal.

  • el sistema pregunta por el Identificador de Clave que corresponda con el D.N.I. al servidor LDAP censal.

  • obtenido el Identificador de Clave, el sistema realizaría una consulta a la Base de Datos sobre el estado de votación de dicha clave para el referéndum en curso.

  • Si el sistema permite la votación, el componente de la Mesa actualizaría a VOTÓ después de la introducción del sobre en la urna.

En la Base de Datos solo es almacenado el Identificador de Clave conjuntamente con un campo booleano y la referencia del referéndum.

La utilización de Método Evoto vía correo electrónico es similar, salvo que la identificación se lleva a cabo extrayendo el Identificador de Clave de la firma digital impresa en el mensaje.

De esta forma, un elector podría usar cualquiera de las vías disponibles para la emisión del voto. Si en una primera instancia su intención era usar el medio de voto electrónico y cambia de opinión, se prodría dirigir perfectamente a la mesa electoral y emitir su voto de la forma tradicional. En el terminal se registraría su acción y en el caso que probase la emisión del voto por correo electrónico posteriormente, el sistema verificaría que su voto ya fue emitido y no permitiría una nueva acción por la vía electrónica.

2.2.2 - Superando lo tradicional

Actualmente no es posible que un ciudadano sepa que es lo que ha pasado con su voto durante el escrutinio. Si un elector marca o modifica una papeleta, durante el recuento por parte de los integrantes de la mesa electoral, este voto debería ser tomado como voto nulo. Pero cabe la posibilidad del error humano y que ese voto nulo a todos los efectos, sea tomado como voto válido.

Método EVoto puede informar del resultado de la votación en el mismo acto.

El sistema devuelve al elector inmediatamente después de las verificaciones de su envío, un mensaje o un código de error con el resultado de estas:

  • Mediante el código de error informaría al cliente SMTP sobre el rechazo del envío, por ejemplo, en caso que el elector haya usado la vía tradicional y hubiese intentado utilizar también la via electrónica o que hubiese enviado un mail con cualquier cosa dentro que no sea un voto objeto o incluso que no hubiese firmado el envío así como cualquier posible eventualidad del sistema.

  • Mediante un mensaje informaría realmente del resultado o como el sistema ha procesado su acción ofreciendo varias posibles respuestas:

    • VOTO ESCRUTADO.

    • VOTO ESCRUTADO (NULO).

    • VOTO ESCRUTADO (EN BLANCO).

2.2.3 - En el caso de error

Todo el sistema de captación de mensajes, verificaciónes correspondientes, incremento de los contadores de votos, envio de resultados, etc. etc. etc. está inmerso dentro del código de la aplicación del filtro, adoptando todas las ventajas que proporciona Milter. ¿Qué quiere decir esto?, esto quiere decir que toda la seguridad está basada en la que proporciona el própio protocolo de transporte de mensajes o SMTP y que no se considera un mensaje como ACEPTADO hasta que no pasa por todos los controles dentro del filtro.

Resumiendo: Ante cualquier error el mensaje es devuelto a su remitente.