Seguridad en los Sistemas Automatizados de Votación.

Caso: Smartmatic

 

El uso de los sistemas automatizados de votación ha generado en varios países numerosas denuncias de escándalos y fraudes. Es importante analizar las principales críticas hacia los sistemas automatizados de votación; las limitaciones, problemas y riesgos que representan, y de cómo todos estos inconvenientes son resueltos con la solución para automatización de elecciones SAES de la empresa Smartmatic.

 

La tecnología aplicada a los procesos electorales posee una cantidad de beneficios indiscutibles que son señalados ampliamente en múltiples artículos[1]. Países como Paraguay, Suiza, Bélgica, Brasil y Australia, entre otros, comprueban con hechos  recientes los puntos a favor de los sistemas automatizados de votación (SAV, por sus siglas en español). Sin embargo, no todas las experiencias relacionadas con el uso de tecnología electoral han sido positivas. En algunos países como Estados Unidos e Irlanda, las historias de fraudes y escándalos relacionados con las limitaciones de estos sistemas ponen seriamente en entredicho el uso de los SAV, llegando inclusive a retirar de circulación miles de máquinas de votación[2] previamente adquiridas, por haber demostrado fallas superiores al 50% durante las jornadas electorales.

 

Tales casos ponen en relieve ciertas limitaciones, en su mayoría imputable a tres factores clave: a) la cuestionada credibilidad de las instituciones electorales; b) la brecha de conocimiento existente entre la aplicación de la tecnología y el proceso electoral en sí; y, muy en particular, c) la ausencia de estándares y organismos autorizados para establecer criterios y certificar la gran cantidad de aspectos relevantes que deben ser revisados y validados en un sistema automatizado de votación. Todo esto sin mencionar aun los escándalos de corrupción que han salpicado a los gigantes mundiales en la automatización de elecciones[3].

 

Frente a este panorama general de incertidumbre y desinformación, donde los SAV conocidos hasta el momento no se adhieren adecuadamente a las normas de seguridad establecidas para el software electoral, y dada la especial importancia de los sistemas de votación para el funcionamiento de los gobiernos democráticos, la oferta de Smartmatic, a través de la solución SAES (Smartmatic Automated Election Systems), adquiere una relevancia sin precedentes en el ámbito mundial. Esta propuesta exhibe un profundo conocimiento del origen de las fallas y problemas asociados a los sistemas automatizados de votación, y más específicamente, a los sistemas de votación de Registro Electrónico Directo (DRE, por sus siglas en inglés).

 

Tal y como pretende demostrar este artículo, todos los detalles relacionados al diseño e implementación de SAES parten de un enfoque unificado y completo de las verdaderas amenazas a las que se encuentra expuesto un sistema de votación DRE. Un punto álgido de los sistemas automatizados de votación expuestos en el mundo es su extremada inclinación a los ataques e intentos de fraude, debido a la relevancia y consecuencias de la información que procesan[4].

 

Así, la Seguridad, Transparencia y Confiabilidad tan cruciales en este tipo de sistemas, son implementadas de manera robusta en cada aspecto del SAES y son garantizadas en un 100%.

 

De allí que la clave de éxito del SAES radica en:

-          Cierra consistentemente todas las brechas o puertas de acceso e impide ataques que afecten su funcionamiento parcial o totalmente.

-          Garantiza que el proceso electoral se implemente de manera correcta e íntegra.

-          Arroja resultados que corresponden fidedignamente a la información suministrada por los electores.

 

Si bien la aplicación de la tecnología a la automatización de procesos de votación, escrutinio, totalización y adjudicación es de reciente data, al presente se han reportado algunas experiencias negativas. Estos casos han constituido una fuente inagotable de información y, para evitar que se repitan, han sido analizados a fondo y considerados en su totalidad para garantizar en el SAES las tres reglas de oro: Seguridad, Transparencia y Confiabilidad.

 

Los tres anteriores son indicadores inequívocos de la robustez de un sistema de votación automatizado, el cual puede verse afectado por la aparición de fallas y desperfectos. A continuación, se presentan las limitaciones más comunes que se han detectado en los SAV implementados alrededor del mundo, a la vez que se demuestra cómo la solución SAES hace frente a cada uno de estos problemas relacionados a la automatización de elecciones.

 

SEGURIDAD

La Seguridad es el resultado del conjunto de medidas de precaución implementadas para evitar cualquier causa externa de malfuncionamiento parcial o total del sistema.

 

En esencia, el funcionamiento de un sistema de votación es relativamente sencillo: sólo debe registrar y totalizar votos. Sin embargo, investigaciones recientes[5] alertan sobre la gran cantidad de fallas presentes en los SAV tipo DRE de ciertos fabricantes y las repercusiones que éstas implican.

 

Las fallas de seguridad en un SAV son numerosas y de diversa naturaleza. Sin embargo, el origen de la gran mayoría de los problemas de seguridad radica en el concepto inicial de los SAV, tal y como veremos en las siguientes secciones.

 

---

Problema 1: fallas profusas y generalizadas de seguridad en los SAV.

 

Origen: paradigma erróneo de conceptualización, diseño, uso de metodologías de desarrollo, implementación y pruebas de software de votación / enfoque de desarrollo de software en lugar de desarrollar software de seguridad / desconocimiento de las verdaderas amenazas a las que se encuentra expuesto el sistema

 

Consecuencias: sistemas extremadamente vulnerables a cualquier tipo de ataque externo, sin mecanismos adecuados de recuperación.

 

Correctivos: enfocar el SAV como software de seguridad para su diseño e implementación.

 

A diferencia de cualquier otro tipo de desarrollo, para el software de seguridad se aplican metodologías estrictas y específicas de diseño e implementación. Incluso, el modelo de amenazas de las que debe defenderse el sistema se define claramente desde un principio, lo cual facilita crear un diseño apropiado para contrarrestar cada una de ellas. Un sistema robusto en su esquema de seguridad debe garantizar el resguardo exitoso de todos los puntos vulnerables. Las pruebas de Aseguramiento de Calidad que se hacen sobre un software de seguridad están orientadas a revisar los casos en los que el sistema puede fallar, a diferencia de las pruebas de Aseguramiento de Calidad aplicadas a un software común, orientadas generalmente a probar los casos en que funciona el sistema.

 

Al concebir un SAV bajo un enfoque de seguridad, varían tanto el diseño como la metodología de desarrollo del sistema, evitando los negativos resultados que pusieron contra la pared a fabricantes como Diebold[6].

 

Los ataques más frecuentes a la seguridad de un SAV son:

- Accesos ilegales al funcionamiento del sistema

- Accesos ilegales a la información del sistema

- Accesos ilegales a la configuración del sistema

- Accesos ilegales a los votos almacenados

 

---

Problema 2: acceso ilegal al funcionamiento del sistema.

 

Origen: control deficiente de privilegios de acceso / la información de las claves de acceso no se encuentra encriptada / los algoritmos de encriptamiento aplicados sobre las claves de acceso están mal implementados o mal utilizados / uso de lenguajes de programación no seguros.

 

Consecuencias: activación arbitraria de las máquinas de votación / apertura arbitraria del proceso de votación en las máquinas / cierre prematuro del proceso de votación en las máquinas / registro fraudulento de múltiples votos por persona.

 

Correctivos: utilización de lectores biométricos / manejo avanzado de encriptamiento sobre las claves de acceso / utilizar mecanismos de bloqueo automático de las máquinas al registrar un voto / mecanismos especiales para garantizar los procesos de inicio y término de votaciones en las máquinas / control de votos sobre cada máquina.

 

El acceso ilegal al funcionamiento del sistema se refiere específicamente al uso incorrecto de funcionalidades específicas del sistema, mientras el software de votación está ejecutándose en tiempo real sobre el hardware correspondiente. El sistema contempla previamente los usuarios con los que debe interactuar y la modalidad de esta interacción. Al no establecerse mecanismos que aseguren la ejecución de las funciones administrativas del sistema por parte de los usuarios correspondientes, se corre el riesgo de que terceros no acreditados burlen el sistema y activen o desactiven procesos específicos que influyan en los resultados de las votaciones.

 

Cuando el esquema de seguridad de acceso es vulnerable, existe el riesgo de que un votante pueda obtener fácilmente las claves de acceso para realizar ilícitamente funciones administrativas, lo cual implicaría múltiples consecuencias. Una de ellas es el registro fraudulento de votos por parte de un mismo votante, para cambiar los resultados e inclinarlos a favor de algún partido o candidato en particular. Un votante con las claves de acceso a funciones administrativas también podría provocar el cierre temprano de las votaciones en la máquina, para evitar que aumente o disminuya la desventaja del candidato que lleve en su haber menos votos. En ambos casos se busca desvirtuar el buen funcionamiento del sistema para realizar operaciones fraudulentas, lo cual podría ser llevado a cabo tanto por votantes como por el propio personal de mesa.

 

En el SAES existe un perfil específico para cada usuario de la máquina de votación, distinguiéndose principalmente el votante, el personal de mesa y el personal técnico. A cada uno de estos perfiles se les autoriza únicamente las funciones que le son pertinentes: el votante sólo está autorizado para registrar un único voto; el personal técnico realiza únicamente operaciones de diagnóstico y mantenimiento sobre la máquina; el personal de mesa es el único autorizado para realizar la apertura y cierre de las votaciones y de emitir los documentos oficiales correspondientes.

 

Cada uno de los perfiles tiene claves distintas de acceso. A su vez, cada máquina de votación tiene claves de acceso distintas para cada perfil. Estas claves se almacenan de manera encriptada utilizando algoritmos de 128 bits o más. Las claves de acceso no están registradas en archivos planos ni en variables estáticas en la máquina.

 

Todas las máquinas SAES3000 poseen un mecanismo de bloqueo automático para garantizar que cada votante sólo pueda registrar un voto. Se utilizan señales auditivas al finalizar el registro del voto, y se implementan instrucciones que bloquean todos los dispositivos de interacción para imposibilitar el ingreso de información alguna después de registrado el voto. La activación de las máquinas para introducir un voto está a cargo del personal de mesa directamente. Además, cada máquina posee un límite de votos que pueden ser ingresados en función de los votantes de la circunscripción cubierta por la máquina.

 

El código fuente está implementado de forma que ninguna de las variables pueda ser modificada o accedida en tiempo de ejecución. Además, el software de la solución está desarrollado utilizando un lenguaje de programación de tipos seguros (Java), para garantizar la ausencia de fallas por overflow o similares.

 

En el SAES sólo el personal de mesa cuenta con la capacidad de iniciar las votaciones en las máquinas, dando constancia de que las máquinas no tienen votos registrados previamente, a través de las llamadas “actas cero”, es decir, actas que certifican que los contadores se encuentran en cero al inicio de las votaciones.

 

El proceso de cierre de las votaciones está implementado en el SAES y sólo el personal de mesa puede ejecutarlo. Para tal efecto, aplican las restricciones antes mencionadas acerca del manejo de claves de seguridad.

 

---

Problema 3: acceso ilegal a la información de configuración del sistema.

 

Origen: archivos planos con la información de configuración del sistema.

 

Consecuencias: alteración de los archivos de registro del sistema / modificado o borrado de los archivos de registro de eventos / modificación de las boletas que aparecen en pantalla ­/ extracción de las claves de acceso para funcionalidades administrativas.

 

Correctivos: encriptamiento de la información de configuración de las boletas electrónicas con algoritmos de 128-bits o superior / encriptamiento de la información de configuración del sistema con algoritmos de 128-bits  o superior.

 

La información de configuración del sistema incide directamente sobre la manera en que se procesan los votos. Al modificar esta información, es posible afectar el registro normal de los votos sobre las máquinas, atentando así contra la integridad y veracidad de los resultados. La dirección IP, login y password de los terminales de votación o la configuración de las boletas electrónicas son un ejemplo de información de configuración que puede ser alterada.

 

En oportunidades se ha reportado[7] que al ingresar a los datos de identificación de red de la máquina de votación, éstos pueden ser modificados o copiados para simular los datos de conexión de la máquina de votación desde un PC cualquiera y transmitir data adulterada. Este tipo de fraude requiere además que la máquina esté permanentemente en línea para su funcionamiento, o por lo menos durante el tiempo suficiente para que la información pueda ser interceptada durante la transmisión y se realice la sustitución. Además, si los archivos de eventos son planos, la información referente a los usuarios y transacciones realizadas por el sistema pueden ser borradas o modificadas fácilmente.

 

Una característica común de los SAV previos al SAES, es que el votante no puede ver ni tocar la boleta como tal sino que sólo puede interactuar con una representación de la misma en la pantalla de la máquina. Esto abre la puerta a un tipo de fraude que consiste en alterar la información de configuración de las boletas electrónicas, de modo que el votante marque en la pantalla de la máquina una opción específica,  pero el voto es sumado a un candidato diferente. Esto sucede cuando la información de las boletas está almacenada en bases de datos o archivos que carecen de cualquier tipo de protección.

 

Como solución a esta situación, todos los archivos del SAES en los que se almacena la información de las boletas permanecen encriptados después de su instalación en la máquina, tanto en la memoria fija como en el dispositivo de memoria removible. Adicionalmente, es imposible modificar tales archivos mientras el programa se encuentra en tiempo de ejecución.

 

Tal y como se ha previsto en el SAES, absolutamente ninguna información (claves de acceso, información de configuración del sistema, configuración de las boletas electrónicas) se manipula o transmite en el sistema sin estar debidamente encriptada[8], evitando así cualquier riesgo que comprometa la seguridad del sistema.

 

Para reducir el riesgo a un mínimo técnicamente improbable, las máquinas SAES3000 funcionan en modalidad Fuera de Línea a lo largo de toda la jornada de votación. Sólo al cierre oficial del día electoral se conectan a través de la red pública, utilizando un esquema clave pública-clave privada[9] para comunicarse con los sistemas de totalización a través de un canal seguro sobre la red pública. Además, los tiempos de transmisión de datos desde las máquinas SAES3000 hasta los sistemas de totalización son menores a un minuto. Al reducir el tiempo de conexión se reduce la exposición de las máquinas y la información a ataques externos a través de la red que pretendan modificar ilegalmente cualquier información de configuración de las máquinas o los servidores.

 

---

Problema 4: acceso ilegal a los votos.

 

Origen: almacenamiento plano de los votos / almacenamiento secuencial de los votos ­/ uso de contadores para totalizar en lugar de almacenar cada voto por separado / ausencia de validaciones estrictas en los sistemas de totalización / almacenamiento de los votos únicamente sobre dispositivos de memoria externa.

 

Consecuencias: alteración de los resultados reales debido al borrado, modificación o adición de votos / ruptura del secreto del voto / imposibilidad de recuento de votos / modificación de los contadores de totalización de votos.

 

Correctivos: almacenamiento encriptado de cada voto por separado / almacenamiento en orden aleatorio de los votos / uso de fuentes de alta entropía u otro método confiable para la generación de seriales aleatorios / encriptamiento de los contadores.

 

Los votos –data que otorga legitimidad a las autoridades electas- son el blanco principal de ataques y fraudes. Así, de toda la información que maneja un SAV, la referente a los votos se considera como la más crítica. Por esto, recibe todas las protecciones y restricciones de acceso necesarios para garantizar su integridad.

 

Bajo estas circunstancias, se considera de muy alto riesgo almacenar los votos en archivos planos, al ser éstos extremadamente propensos a alteraciones por parte de atacantes externos que logren franquear las barreras de seguridad del sistema y tengan acceso a tales archivos. Mayor es el riesgo cuando los votos deben incorporarse al sistema de totalización y ser transmitidos a través de la red o bien almacenados en una memoria removible para luego descargarlos directamente en el sistema de totalización: en ambos casos, el uso de archivos planos incrementa el riesgo de que los datos sean interceptados por atacantes que conozcan el funcionamiento del sistema y el formato de los archivos, con la intención de alterar los resultados electorales. Si, además, el sistema de totalización no realiza validaciones acerca de los votos que recibe e incluye, cualquier ataque que modifique la data tiene altas probabilidades de resultar exitoso.

 

En lugar de almacenar los votos por separado, en algunos SAV se efectúan únicamente operaciones de incremento de contadores, lo cual impide la revisión de los votos registrados en caso de ser necesario un recuento. Se han reportado casos donde las variables o contadores de totalización están desprovistos de cualquier tipo de seguridad[10], haciéndolos vulnerables a los ataques de cualquier extraño que pueda acceder al código para modificarlo.

 

Algunos SAV utilizan archivos de texto para almacenar los votos de manera sucesiva y ordenada; esto atenta directamente contra el secreto del sufragio, ya que la secuencia de los votos podría ser reconstruida (los votos son insertados en el archivo en el mismo orden en que fueron registrados por los ciudadanos) y comparada contra los registros de identificación de votantes, para hacer el enlace entre la identidad del votante y la opción seleccionada.

 

En el SAES, cada voto es almacenado por separado en archivos encriptados, asociándole a cada uno un identificador digital aleatorio generado con métodos de última tecnología. De esta manera se garantiza la total seguridad y confidencialidad de los electores.

 

Cabe destacar que en el SAES cada voto está registrado en siete (7) instancias distintas, las cuales son:

-          voto físico

-          voto almacenado en la memoria removible

-          voto almacenado en la memoria interna

-          voto sumado en el acta de escrutinio de la mesa de votación

-          voto electrónico transmitido al sistema de totalización

-          voto incluido en las actas de escrutinio electrónicas transmitidas al sistema de totalización y

-          voto en las actas de totalización

 

De este modo se garantiza la integridad de la información, puesto que son siete tipos distintos de registro que, en caso de auditorías, permiten comparar nuevamente los votos contabilizados en cada una de las instancias.

 

Por último, la información de los votos sólo puede ser procesada por las máquinas y los sistemas de totalización, sin ningún tipo de interacción humana. De esta manera, SAES imposibilita el acceso a los votos, cualquiera sea la etapa del proceso de votación.

 

Trabajo de investigación distribuido durante la III Reunión Interamericana de Tecnología Electoral en Colombia.

 

 



[1] Caso Australiano: http://wired.com/news/print/0,1294,61405,00.html; Caso Canadiense: http://www.elections.ca

[2] Caso del Estado de California, USA: http://www.ss.ca.gov/elections/ks_dre_papers/decert1.pdf

[3] http://www.blackboxvoting.org

[4] Reporte Compuware del estado de Ohio, USA: http://www.sos.state.oh.us/sos/hava/files/compuware.pdf

[5] Reporte Rubin: http://avirubin.com/vote.pdf; Reporte RABA: http://www.raba.com/press/TA_Report_AccuVote.pdf ;

[6] Reporte Rubin, pág. 9.

[7] Reporte Rubin, pág. 14

[8] Ver arriba Sección anterior

[9] Esquema de transmisión y recepción encriptada de datos en el que varios emisores poseen las claves para enviar información, la cual sólo puede ser desencriptada por el poseedor de la clave, permitiendo la transmisión de información a través de redes públicas (telefónicas, inalámbricas, etc.)

[10] Reporte Rubin, pág. 13