Informe eSAMCid sobre el voto electrónico

Inicio Anterior Abajo Siguiente

1. Introducción

1.1 El voto electrónico
1.2 El voto por Internet
1.3 El voto por correo
1.4 Requisitos del voto por internet
1.5 Solución básica para voto electrónico
1.6 Un ejemplo de complejidad: gestión de claves

1.1. El voto electrónico

Hace bastantes años que se utilizan sistemas de votación electrónica. Básicamente, la necesidad de facilitar el proceso del recuento de votos, o el voto a distancia, por ejemplo para residentes en el extranjero o personas con movilidad reducida (lo que puede aumentar el índice de participación), la reducción de costes a largo plazo o la capacidad de mostrar las papeletas en diferentes idiomas, han impulsado el uso de herramientas electrónicas en este campo.

En 1984, el estado de Illinois empezó a probar sistemas electrónicos de recuento de votos, y hacia el 2000 ya se habían implementado sistemas de votación electrónica en Bélgica, Brasil, Finlandia y Alemania, entre otros [10].

Quizás en España no se ha visto una gran necesidad de aplicar herramientas electrónicas en los procesos electorales ya que, en general, nuestras elecciones son sencillas y no muy frecuentes. Hemos de pensar que hay países en los que se permite votar con listas abiertas escogiendo candidatos de diferentes partidos, usando el voto preferencial y poniendo pesos a los candidatos, o se realizan votaciones para varias cuestiones a la vez, o se someten a referéndum muchas cuestiones que afectan a los ciudadanos, etc. Todo ello hace muy complejo el proceso de gestión de las papeletas así como el del recuento.

1.2. El voto por Internet

Con el nacimiento de Internet nos hemos ido convirtiendo en individuos cada vez más conectados y acostumbrados a realizar gestiones de forma remota por Internet. La mayoría de nosotros tiene presente que la flexibilidad que nos proporciona Internet (creación de múltiples identidades digitales, ubicuidad de las comunicaciones, publicación de información nuestra en diferentes ámbitos), conlleva riesgos en la red (ataques de suplantación de identidad, observación o interceptación de las comunicaciones, etc.). Sin embargo, esto no impide que queramos hacer operaciones delicadas de forma remota, como gestiones bancarias, declaraciones de renta, compra de billetes de avión, etc. Por tanto, la implantación del voto por Internet, donde los votantes pueden votar desde su casa o su trabajo, usando un ordenador, un teléfono móvil o una tableta y una conexión a Internet, surge de forma natural.

El voto por Internet, no sólo puede contribuir a aumentar los índices de participación porque los votantes pueden elegir desde donde emitir su voto, sino porque facilita la participación de algunos colectivos que no pueden desplazarse al colegio electoral el día de la votación, bien por estar fuera de su país o región (militares desplazados en una misión, pescadores embarcados) bien por tener problemas de movilidad.

1.3. El voto por correo

Es sabido que para estos colectivos existe el voto por correo: el votante, antes de las elecciones, solicita esta modalidad de voto para que le envíen las papeletas de voto a la dirección indicada, desde donde enviará al colegio electoral el sobre con la papeleta con las opciones de voto elegidas. No obstante, esta solución no siempre funciona. Las listas de candidatos han de estar definidas y cerradas tiempo antes de la elección para tener tiempo de enviar las papeletas a los votantes desplazados y que éstos tengan tiempo de reenviarlas por correo postal, pero muchas veces estos tiempos son muy ajustados: recordemos los problemas del voto postal en las elecciones del 20N [1], cuando el plazo para el voto por correo finalizaba y los votantes todavía no habían recibido las papeletas. Si pensamos en militares desplazados a zonas de conflicto, podemos imaginar que el sistema de correo postal no funcionará demasiado bien. Justamente este problema motivó las leyes relacionadas con el Uniformed and Overseas Citizens Absentee Voting Act (UOCAVA) y Military and Overseas Voter Empowerment Act (MOVE) en Estados Unidos [78], que obligan a los estados a proporcionar a militares y ciudadanos residentes fuera de Estados Unidos medios electrónicos para solicitar y recibir sus papeletas de voto. Por tanto, el voto postal no siempre puede proporcionar un servicio suficiente a los votantes ausentes.

1.4. Requisitos del voto por internet

El voto por Internet es un campo de estudio muy interesante ya que es un proceso con unos requisitos de seguridad muy fuertes que no han de impedir que el sistema sea de fácil uso, se ejecuta en un entorno que se considera inseguro y las contramedidas aplicables son limitadas.

Los requisitos de seguridad de los procesos electorales, tanto si se realizan de forma tradicional como de forma electrónica, son los siguientes:

Si nos fijamos en estos requisitos, algunos parecen contradictorios: queremos poder identificar a un votante que ha emitido un voto sin poderlos relacionar, y queremos que el votante pueda verificar su voto sin que sea posible mostrárselo a una tercera persona. Son este tipo de requisitos con exigencias contrarias los que hacen que los protocolos criptográficos enfocados a satisfacerlos no sean triviales, como se verá en las siguientes secciones.

En relación con el entorno de ejecución de este proceso, suponemos que trabajamos con el siguiente esquema (ver figura 1): el votante usa un ordenador o un dispositivo con capacidad criptográfica (hoy en día ya podemos hablar de tabletas o teléfonos inteligentes) para emitir su voto, que se envía a través de Internet a un servidor de voto remoto donde se almacena. Al final de la elección se procede al recuento de los votos recibidos y almacenados en el servidor de voto para obtener el resultado.


Figura 1: Escenario típico de voto electrónico remoto y puntos de riesgo.

De cara a las medidas necesarias para cumplir con los requisitos de seguridad, se supone lo siguiente:

Ben Adida, en su tesis [10], explica que buena parte de la opinión pública compara el voto electrónico con otros sistemas más complejos, como puede ser el control de aviones o el procesado de transacciones bancarias. En un primer momento parece cierto que si somos capaces de diseñar sistemas electrónicos para realizar estas tareas, no tendría que haber impedimento para utilizar medios electrónicos en los procesos electorales. Según explica, estas analogías cometen tres errores muy notables: Primero, los interesados en manipular una elección pueden ser mucho más poderosos de lo que a menudo imaginamos. Segundo, el modelo de seguridad para aviones y bancos es menos exigente que para el voto electrónico, principalmente por esos requisitos aparentemente contradictorios que exponíamos anteriormente. Tercero, la detección de fallos y la capacidad de recuperación son cosas bien definidas en el caso de aviones y bancos. En el caso de los procesos electorales no está claro si todas las cosas que pueden ir mal son detectables, y la recuperación suele ser imposible (habría que repetir las elecciones). Así pues, el voto electrónico está considerado un campo de aplicación de la seguridad con un escenario muy complejo.

Intuitivamente, muchas de las medidas que pueden aplicarse para resolver todos los problemas que conlleva el proceso de votación electrónica están relacionadas con la criptografía. Herramientas criptográficas como el cifrado o la firma digital permiten proteger la privacidad del votante, o asegurar la integridad del voto emitido. No obstante, estas medidas no bastan, va a ser necesario considerar protocolos criptográficos más avanzados, de los cuales hay diversas propuestas, aunque aún no se ha encontrado la gran solución que satisfaga todos los requisitos de una manera conveniente, como se verá a lo largo de este documento. Es por ello que esta problemática recibe tanto interés por parte de los investigadores en criptografía y seguridad.

1.5. Solución básica para voto electrónico

Como ya se ha dicho, cifrar un voto y firmarlo no basta para cumplir los requisitos de seguridad de los procesos de voto. Imaginemos el siguiente esquema (ver figura 2):


Figura 2: Solución básica con cifrado y firma de voto antes de enviar.

El votante utiliza un cliente de voto, que es un software que se ejecuta en su ordenador o terminal de voto (por ejemplo, un teléfono inteligente) para escoger las opciones de voto, que se cifran y firman digitalmente antes de enviarse a un servidor de votación remoto, donde se verifica que la firma ha sido realizada por un votante válido y se almacenan. Una vez acabada la elección, se separan los votos de sus firmas, la mesa electoral descifra los votos, se calculan los resultados de la elección y se publican.

La firma digital de los votos cifrados permite la verificación de la integridad del voto una vez es recibido en el servidor de voto, para comprobar que no ha sido manipulado durante su transmisión. También permite verificar la validez del votante en esa elección (es decir si la persona está autorizada para votar en la elección), ya que la firma suele ir ligada a algún tipo de certificado digital que indica la identidad del firmante. Antes de descifrar los votos, éstos se separan de sus firmas, para evitar la relación entre el contenido de un voto en claro y la identidad del votante que lo ha emitido. Este método es muy parecido al del voto por correo, donde el votante envía el voto dentro de un sobre (análogo al cifrado) y pone éste dentro de un sobre firmado. Una vez comprobada la firma comparándola con un registro previo, el sobre interior (ya anónimo) se pone en una urna con más sobres, que se abrirán (análogo al descifrado) en el momento del recuento.

Aunque este esquema parezca suficientemente seguro para proteger el secreto de voto, si alguien es capaz de observar el orden en que los votos cifrados y firmados se reciben en el servidor y el orden en que son descifrados, la privacidad del votante quedaría comprometida, relacionando el contenido de un voto con un votante específico. Además, este sistema no permite verificar que los votos no se modifican una vez recibidos y almacenados en el servidor de voto (que hace de urna) hasta que se descifran. Así pues, las medidas de firmar y cifrar no bastan por sí solas.

1.6. Un ejemplo de complejidad: gestión de claves

Un aspecto de gran relevancia es el impacto que tienen las medidas criptográficas en la complejidad del sistema. Utilizaremos como ejemplo la gestión de claves. Aunque el esquema es muy sencillo necesita unos ciertos procesos de gestión de claves debido a las herramientas criptográficas que usa, además de la configuración del proceso electoral en sí mismo:

Primero, notemos que hemos de utilizar un algoritmo de clave pública para cifrar los votos. En caso de utilizar uno de clave privada, o bien cada votante usa una clave diferente compartida con la mesa electoral para poder cifrar su voto, con lo que la gestión de todas esas claves sería insostenible, o todos los votantes usan la misma clave, con lo que un votante que interceptara el voto cifrado de otro votante podría descifrarlo. Entonces, será necesario, en algún momento previo al inicio de la fase de votación, generar una pareja de claves pública-privada de la elección, donde la clave pública será la que usen los votantes para cifrar sus votos.

Una práctica habitual para proteger la clave privada hasta el final del proceso, de manera que no se puedan descifrar los votos antes de que acabe la elección, consiste en partir la clave privada en trozos o shares, mediante un esquema de compartición de secretos [62] y repartirla entre los miembros de la mesa electoral. Una vez finalizada la fase de votación, los miembros de la mesa electoral dan sus fragmentos para reconstruir la clave privada y poder descifrar los votos. Con el objetivo de prevenir que la ausencia de un miembro de la mesa (o que se niegue a participar en el proceso) impida la reconstrucción de la clave, normalmente se usa un esquema de compartición de secretos de umbral [62] donde se requiere la participación de un determinado número de miembros de la mesa electoral (por ejemplo la mayoría), para reconstruir el secreto.

En un esquema clásico de compartición de secretos, el secreto existe en un primer momento y luego se reparte en fragmentos, por tanto todavía existe el peligro de que alguien intercepte el secreto antes de ser repartido. Existen técnicas [131724253032] que permiten que cada miembro de la mesa genere por su cuenta un secreto que será su fragmento de la clave privada y muestre a los demás su parte correspondiente de la clave pública, la clave pública de la elección se forma a partir de esos fragmentos de clave pública de cada miembro de la mesa y la clave privada completa no existe en ningún momento. Este proceso es, generalmente, más costoso que el anterior, especialmente cuando el algoritmo para el que se están generando las claves es RSA [24758]. Esto es debido a que hay que ejecutar varias rondas del protocolo para encontrar un módulo RSA que sea producto de dos primos (habrá que ejecutar test de primalidad sobre estos números que forman parte de la clave privada) y ha de ser posible generar claves de manera segura aun en presencia de participantes maliciosos en el protocolo. Ivan Damgaard [26] entre otros, ha estado trabajando en los últimos años en procesos que permitan acelerar este proceso. En [29] se propone una modificación de [30] para mejorar la eficiencia. En la mejora propuesta, el protocolo se ejecuta suponiendo que todo el mundo actúa de forma honesta, y en caso de encontrar un módulo producto de dos primos se hace una ronda de verificación para comprobar que los participantes no han mentido. De esta manera las rondas donde no se encuentra un módulo válido son mucho más rápidas y sólo cuando se encuentra una válida se comprueba si todo ha sido realizado de forma correcta siguiendo un protocolo más costoso.

Segundo, el votante ha de tener un par de claves propias para poder firmar digitalmente su voto. La firma digital del voto permite asegurar su integridad durante el envío del mismo al servidor de votación y hasta el momento del descifrado y recuento, pero también permite contar un solo voto por votante y asegurar que todos los votos contabilizados han sido emitidos por votantes que están en el censo electoral: la clave pública que se encuentra en el certificado digital, permite relacionar la firma con la identidad real de un votante. En nuestro país tenemos el eDNI que nos proporciona capacidades de autenticación y firma digital, pero hay otros países donde los votantes no tienen medios para realizar firmas digitales y tendrá que ser la plataforma de voto la que se encargue de proporcionar, de forma segura, estas claves de firma a los votantes, después de que éstos se hayan identificado. Por ejemplo, utilizando técnicas de key roaming: las claves de firma de los votantes están almacenadas en un servidor remoto (por ejemplo, el mismo servidor de voto o un servicio de autenticación). Cada clave está protegida mediante un algoritmo de cifrado, por ejemplo simétrico o del tipo Password-Based Encryption (definición en PKCS5 y PKCS12 [34]), con una clave secreta o password que conoce el votante, pero no el servicio que las almacena. De esta forma, después de identificarse como votante de la elección, el servicio proporciona al votante sus claves de firma, cifradas, que sólo el votante podrá abrir ya que es el único que conoce el valor secreto para descifrarlas.

Así pues, hemos visto que un esquema muy simple, que ni tan solo llega a cumplir los requisitos de seguridad de un proceso electoral, necesita de un proceso de gestión de claves que mantenga la seguridad del esquema y no penalice su eficiencia. Se puede deducir que, a medida que el esquema gane en complejidad, esta gestión de claves se hará más complicada si no se tiene en cuenta durante el diseño.

Inicio Anterior Arriba Siguiente