Víctor Morales Rocha cuenta con el grado de doctorado y labora en el Instituto de Ingeniería y Tecnología de la Universidad Autónoma de Ciudad Juárez (UACJ). Coordinador del Laboratorio Nacional de Tecnologías de Información, sede UACJ.
Oscar Ruiz Hernández es estudiante de la Maestría en Cómputo Aplicado de la Universidad Autónoma de Ciudad Juárez.
Luis Felipe Fernández Martínez cuenta con el grado de maestría y labora en el Instituto de Ingeniería y Tecnología de la Universidad Autónoma de Ciudad Juárez. Coordinador de la Unidad de Ingeniería del Conocimiento e Ingeniería de Software, de la UACJ.
Los sistemas de voto electrónico son propensos a fallas, errores y ataques intencionales. Un riesgo de estos sistemas es la adición o eliminación de votos directamente en el medio de almacenamiento, usualmente una base de datos. Existen diversos mecanismos diseñados para prevenir, detectar o mitigar las amenazas que pudieran atentar contra la integridad de los resultados de una elección que hace uso de medios electrónicos. Este trabajo presenta una revisión de los diversos mecanismos de auditoría para sistemas de voto electrónico. Además, se presenta una propuesta de generación y protección de logs en sistemas de voto electrónico remoto, con el fin de detectar manipulaciones en los votos almacenados.
Electronic voting systems are prone to faults, errors and intentional attacks. One risk is the addition of fake votes (stuffing) that can be carried out by an external or internal entity. There are several audit mechanisms intended to prevent, detect and / or mitigate any threats that could undermine the election results. This paper presents a review and evaluation of the different mechanisms used to conduct an election auditfor electronic voting systems. Also, an audit mechanism to detect ballot stuffing or any other manipulation on votes is presented.
Un sistema de voto electrónico consiste en el uso de medios digitales en alguna de las fases de una elección, especialmente para la emisión del voto. El uso de los sistemas de voto electrónico, aunque lento va en aumento, debido principalmente a las ventajas que ofrece como la rapidez en el escrutinio, la accesibilidad para personas con discapacidades visuales y de otro tipo, la prevención de errores, entre otras. A pesar de esas ventajas un sistema de voto electrónico también presenta desafíos considerables, especialmente en cuanto a seguridad se refiere, lo cual puede causar desconfianza a votantes y demás participantes de una elección.
Se han propuesto mecanismos que permiten al votante comprobar que su voto se incluyó en el escrutinio, véase por ejemplo
Por otro lado, si un atacante logra acceso a la base de datos donde se almacenan los votos podría añadir votos ilegítimos, sin que los mecanismos de verificación individual puedan detectarlo. Ejemplo de ello ocurrió en las elecciones del estado de Florida (Estados Unidos de América) en el año 2012,cuando se agregaron más de 2500 votos ilegítimos en poco tiempo.
De acuerdo con
Es entonces necesario implementar mecanismos de auditoría que faciliten la detección de prácticas fraudulentas en los sistemas de votos electrónicos, más allá de la verificación individual. En las siguientes secciones se describen y analizan las diversas técnicas y mecanismos de auditoría que se utilizan al concluir un proceso de elección, las cuales están diseñadas para detectar prácticas que podrían alterar el resultado; se hace especial énfasis en los mecanismos de protección de logs. Posteriormente, se describe una propuesta de auditoría para la detección de manipulación de votos en sistemas de voto electrónico.
Una auditoría posterior a la elección pretende verificar o validar el resultado de la elección, así como detectar si hubo cualquier tipo de error o manipulación que pudieran haber alterado dicho resultado. En esta sección se describen y analizan diversos mecanismos de auditoría.
No es de extrañar que, en el voto tradicional donde se utilizan boletas de papel, se presenten errores en el conteo, pues los votos son contados por humanos. Debido a eso, si se lleva un recuento total existe una probabilidad alta de que se encuentren diferencias entre el conteo original y el recuento. En sistemas de voto electrónico el escrutinio de votos se realiza de manera automática, un recuento total de votos arrojará el mismo resultado que el original, asumiendo que el sistema de conteo automatizado no presenta errores en su programación. Por tanto, un recuento total de votos en el entorno del voto en papel dista mucho de ser fiable, y un recuento total en un sistema de voto electrónico no ofrecerá alguna pista de posibles manipulaciones previas al conteo.
Si nos enfocamos en sistemas de voto electrónico presencial, una auditoría se puede realizar a través de un método de verificación independiente
Un recuento a través de un medio independiente presenta, sin embargo, una desventaja considerable. Si del recuento da diferentes resultados a los originales surge el problema de decidir cuál de los dos resultados es más fiable, cualquiera de los dos pudo haber sido manipulado. Por tanto, este tipo de sistemas de auditoría presenta el desafío de escoger el registro (generado por el sistema de votación o el registro independiente), el cual será considerado válido en caso de que existan diferencias. Más allá de lo tecnológico es, quizás, un tema de legislación electoral que anticipe tales situaciones.
Los recuentos parciales de votos son un método de auditoría frecuentemente utilizado en los sistemas electorales de voto en papel. Se toman como unidades sujetas a auditoría los recintos de votación, o bien, una unidad electoral más grande como puede ser un distrito. Por su parte, en los sistemas de voto electrónico presencial la unidad mínima sujeta a auditoría suele ser una máquina de votación, o en algunos casos donde el sistema de votación imprime un respaldo en papel la unidad mínima de auditoría puede ser el recinto donde se localizan varias máquinas devotación.
En la mayoría de los países o estados la decisión de realizar un recuento total o parcial dependerá de una legislación o reglamento de procedimientoselectorales, así como de la situaciónespecífica que requiera de una auditoría, por ejemplo, la razón de una auditoría puede ser que la diferencia entre los votos a favor de un candidato y de otro sea mínima, o bien debido a un proceso de impugnación de parte de uno o más de los partidos o candidatos participantes.En algunos estadosde los Estados Unidos de Américase deberealizar un recuento parcial como procedimiento estándar después de una elección. Por ejemplo, en Colorado se debe auditar 5% de las máquinas utilizadas; en Maryland se debe auditar al menos 10% de los recintos de votación. Para más ejemplos de parámetros y procedimientos de auditorías se puede consultar (
Las ventajas de un recuento parcial frente a un recuento total son evidentes. Por un lado, el costo de recursos y/o tiempo para realizar la auditoría es considerablemente menor, además de los inconvenientes presentados en los recuentos totales, como ya se explicó previamente. A través de un recuento parcial donde se seleccionan apropiadamente los parámetros para determinar la muestra a auditar se puede identificar con una precisión alta si ha existido alguna manipulación.
Para determinar una muestra fiable se hace uso de modelos estadísticos y probabilísticos que determinan el porcentaje o cantidad de votos, máquinas de votación o recintos de votación o de cualquier otra unidad que se determine, la cual debería ser auditada a fin de detectar, con un nivel de confianza alto, si han existido manipulaciones que impactan en los resultados de la elección. Entre estos trabajospodemos encontrarlos de
Se debe tener en cuenta que los recuentos de votos, ya sea parciales o totales, solamente detectarán manipulaciones o errores cometidos en el conteo inicial. Sin embargo, si se han alterado o eliminado los votos en sí (ya sea en papel o registros digitales) es difícil detectar dichas manipulaciones con este tipo de auditorías. Por otro lado, en sistemas de voto electrónico remoto, es decir, aquellos en los cuales se utiliza Internet como medio de transmisión de los votos no es factible realizar recuentos parciales, pues el registro de votos se realiza en una base de datos centralizada, o en algunos casos, en unas cuantas bases de datos distribuidas en diferentes puntos físicos; no hay una gran cantidad de unidades sujetas a auditar. Por otro lado, como ya se comentó previamente un recuento a través del mismo medio automatizado, como es el caso de un sistema de votación electrónico remoto, ofrecerá el mismo resultado del conteo original.
Un mecanismo para realizar auditorías en sistemas de voto electrónico, tanto presencial como remoto, es la auditoría a nivel de logs. Un log es un registro de un evento que sucede en un entorno digital a manera de bitácora, asociando el evento a una fecha y hora, usuario o proceso que lo realizó, entre otras características que interese registrar. Los sistemas operativos generalmente llevan un registro de logs, es decir, de todos los eventos que suceden en un equipo de cómputo. Además, los sistemas de información o aplicaciones que tienen funciones críticas tales como accesos a bases de datos, actualización de información, etcétera, también suelen llevar un registro de los eventos específicos de ese sistema, precisamente con fines de auditoría.
En los sistemas de voto electrónico es sumamente importante tener un registro de los eventos, a fin de contar con las evidencias de las acciones realizadas especialmente para los casos donde se sospeche que ha habido manipulaciones. En una sesión de voto, por ejemplo, se puede generar el registro de la autenticación del votante, el evento de la selección del o de los candidatos, el cierre de la sesión, etcétera. Asimismo, es importante tener el registro de eventos a nivel base de datos, es decir, cada una de las transacciones que se realizan directamente en la base de datos sin tener que utilizar el sistema de información.
A pesar de las ventajas que ofrece la generación de logs no cubre por completo la necesidad de tener un mecanismo certero para auditoría,pues un atacante que ha manipulado una elección, suponiendo que sea un usuario con privilegios de acceso, también podría manipular los logsa fin de eliminar cualquier prueba dela manipulación. Se han propuesto técnicas que permiten detectar, en cierto grado, las manipulaciones realizadas en los logs de un sistema. A continuación, se describen los trabajos más relevantes para la protección de logs.
En el trabajo descrito por
La seguridad de este mecanismo se fundamenta en el hecho que es computacionalmente inviable que un atacante sin conocer la clave privada altere el mensaje, y que aun así al comparar el resultado de aplicar la función MAC resulte el mismo valor. A fin de evitar que un atacante con acceso a la clave privada en un momento dado manipule los logs generados hasta ese momento, la clave privada puede cambiar a través del tiempo. La clave privada ki en un tiempo ti se obtiene aplicando una función hash a la clave ki-1 que pertenece a un tiempo previo ti-1, y una vez iniciado el tiempo ti esa clave ki-1 es eliminada. De manera que si el atacante obtiene una clave privada ki no podrá conocer o deducir una clave privada kj para j < i. De esta manera, los logs generados antes de comprometer la clave privada no pueden ser modificados sin detección.
El principal inconvenientede este mecanismo es la administración de las claves privadas, lo cual se vuelve más complejo a medida que aumenta la cantidad de claves. Para verificar la integridad de los logs se deben usar todas las claves privadas que fueron generadas para la protección. Además, solo se contemplan los ataques de modificación delogs,mas no la eliminación de estos.
Otras propuestas de protección de logs, principalmente orientadas a sistemas de voto electrónico, son las descritaspor
Donde l es un logy L es el resultado del valor hash de la concatenación de l con el L previo. Cada vez que se forma un bloque bi se lleva a cabo la firma digital de dicho bloque:
Donde Sk es la clave privada del equipo de cómputo o servidor que firma los logs. A fin verificar la integridad de dichos logs se utiliza la clave pública correspondiente. La idea de componer una cadena de integridad entre los logs es que en caso de que un atacante modifique los logs esto será detectado al realizar la verificación de las firmas. Asimismo, si un log es eliminado esto también sería detectado al realizar la verificación del bloque al cual pertenecía.
Es importante resaltar que cuando la cantidad de eventos es muy grande resulta sumamente complejo llevar a cabo un análisis de los registros de logs, lo cual deriva en la dificultad de detectar manipulaciones. Para realizar un análisis de logs, especialmente cuando hablamos de grandes cantidades de registros, se requiere de herramientas que automaticen dicho análisis.
Al haber realizado un análisis de los mecanismos previamente descritos para realizar auditorías en los sistemas de voto electrónico remoto se puede notar que estos esquemas basan la detección de las manipulaciones, principalmente, en el análisis de los logs generados. De acuerdo con los esquemas descritos, la dificultad radica no solo en la protección de los logs, sino en la verificación de la integridad, lo cual es una tarea que deben realizar los auditores y que sin la ayuda de herramientas de análisis de logs dicha tarea es prácticamente imposible de desarrollar.
En la propuesta descrita en
La técnica permite generar bloques o lotes de los votos para respaldo en tiempo real, es decir, a medida que estos son recibidos en un servidor se define el tamaño que debe tener cada lote, la cantidad de votos que lo deben componer, de manera que cuando se completa uno los votos se concatenan y se firman digitalmente por una autoridad o por un conjunto de autoridades que poseenuna clave Sk, de la siguiente manera:
Cada uno de los lotes de votos se almacenan en un servidor de respaldo o en algún medio de almacenamiento extraíble, a fin de mantenerlos en un lugar seguro. A través de la firma digital se pueden detectar manipulaciones en cualquiera de los lotes. Además, a fin de contrarrestar un posible ataque en el cual se pudieran añadir lotes ilegítimos e incluso firmarlos si se diera el caso de que el atacante posea la clave privada, se forma una cadena de integridad de los lotes a medida que estos se van generando. Para realizar la cadena de integridad se calcula un valor un hash de la concatenación del lote previo, ya firmado con el lote actual también firmado de esta manera:
Para fines de auditoríase cuenta con un identificador único de voto, de manera que se pueda relacionar los votos contenidos en los lotes con los votos almacenados enla base de datos. La generación del identificador único de voto se realiza durante una sesión de voto autenticada. De tal manera que si se agregan votos ilegítimos en la base de datos, lo cual se haría sin una sesión de votante válida, esos votos no tendrán un identificador válido.Para realizar una auditoría se realiza una serie de validaciones comparando los votos incluidos en el escrutinio con los votos contenidos en los lotes de respaldo.
En las validaciones realizadas en la auditoría se realiza lo siguiente:
Verificación de la integridad de los lotes. Se revisa la cadena de integridad de los lotes y la firma digital de cada uno de ellos. Verificación de la cantidad de votos. Se realiza la comparación de la cantidad de votos incluidos en el escrutinio con el número de votos contenidos en los lotes de respaldo. Si la cantidad de votos que se incluyeron en el escrutinio es mayor que el de votos contenidos en los lotes se puede saber que se han añadido votos ilegítimos. Aun así se debe realizar el siguiente paso para detectar cuáles son los votos ilegítimos. Verificación del identificador de voto. Se valida que cada voto incluido en el escrutinio se encuentra también en alguno de los lotes, lo cual se logra verificando los identificadores únicos de los votos. Los votos del escrutinio, cuyo identificador no coincida con alguno de los votos registrados en los lotes de respaldo, se pueden clasificar como votos ilegítimos.
Después de realizar estas validaciones en el proceso de auditoría se puede detectar si se han añadido votos o si se han manipulado los votos almacenados en la base de datos original. Este mecanismo también permite detectar cuáles han sido los votos manipulados.
Con base en lodescrito en
Al igual que la propuesta anterior se generan lotes de respaldo de los votos a medida que estos son recibidos por el servidor de votación. Un lote de votos se conforma de cierta cantidad de votos recibidos que se van concatenando, se les aplica una función hash y son firmados por una autoridad o conjunto de autoridades con la clave Sk como se muestra a continuación:
Por ejemplo, si se determina que los lotes deben contener 100 votos estarían conformados de la siguiente manera:
Los lotes de votos firmados se almacenan en un servidor o medio diferente al servidor de votación. Con la implementación de la firma digital se asegura que, en caso de presentarse alguna manipulación en los lotes, esta pueda ser detectada. Aunque existe la posibilidad de que si el atacante se apodera de la clave privada pueda agregar y eliminar lotes sin ser detectados. Si los ataques son perpetrados al realizar una auditoría los votos contabilizados originalmente no concordarían con los votos respaldados en lotes.
Para prevenir estos ataques se forma una cadena de integridad entre los votos y lotes a medida que se generan. Esta cadena de integridad se realiza calculando un hash de la concatenación del lote anterior firmado con el primer voto del lote actual, y entre los votos se realiza calculando un hash a la concatenación del voto previo con el voto actual:
- es el lote que contiene votos, hashes y firma correspondiente del lote anterior.
- es un log individual.
- es el resultado de calcular un valor hash a la concatenación del voto actual con el voto o lote previo, es decir Vi con Vi-1.
Como ya se mencionó, una mejora incluida en Medusa es que para formar la cadena de integridad no se hace uso de la concatenación de la firma. En cambio, se hace uso del cálculo de un hash de la concatenación del primer voto y el lote anterior. Al implementar esto se obtienen las siguientes ventajas:
Se requiere de menor poder computacional para la creación y comprobación de la cadena de integridad, ya que se le aplica una función hash a la concatenación en lugar de aplicar una firma digital que requiere más procesamiento. No es necesario calcular la firma digital de cada lote para comprobar su integridad, ya que solo será calculada en aquellos lotes donde se rompe la cadena de integridad. Por ejemplo, si se tiene L1, L2, L3, L4 y L5, si la cadena de integridad se rompe en L3 solo es necesario comprobar la integridad mediante firma digital de L2 y L3 para tratar de indagar si se realizó alguna modificación o se eliminó algún lote.
También este mecanismo propuesto considera la posibilidad de detectar cuando el último lote o lotes son eliminados. Por ejemplo, si se tienen cinco lotes L1, L2, L3, L4 y L5y se elimina L5, la cadena de integridad no se rompe y no podría ser detectada la eliminación. Otro caso que se podría presentar es si se desea eliminar L3 sin dejar rastro simplemente se elimina L3, L4 y L5,y esto no podría ser detectado.
Entonces para tratar de mitigar este riesgo se propone identificar el último lote, ofreciendo así la posibilidad de detectar si fue eliminado o no. Para la identificación del último lote se propone realizar una firma extra, es decir, además de aquella que se realiza para asegurar la integridad del lote se hace una firma adicional para comprobar que es el último. Es decir, se firma la concatenación del penúltimo lote con el último de la siguiente manera:
Donde Sk es la clave privada de una autoridad o de un conjunto de autoridades de la elección a cargo de firmar digitalmente los lotes. La clave pública correspondiente será usada para verificar la integridad y asegurarse que exista el último lote donde es almacenado. También se debe de asegurar que solo el último lote esté marcado, así que cuando este se identificaes necesario quitar la marca al penúltimo de los lotes para evitar confusiones.
Al igual que el mecanismo propuesto en
El identificador único también puede servir para integrar los lotes de respaldo de acuerdo a la unidad electoral a la cual pertenecen, por ejemplo, a un municipio, distrito electoral, estado, etcétera. Por ejemplo, si a un distrito electoral se le asigna el identificador “001”, los votos emitidos por los votantes de dicho distrito podrían ser identificados con “001” además deotro conjunto de caracteres únicos. Esto serviría para detectar manipulaciones dirigidas a un área geográfica específica, a fin de favorecer a un candidato particular.
Al igual que el mecanismo anterior solo hasta que el votante ha sido autenticado puede llevarse acabo la generación de un identificador de voto durante una sesión de votación. Al implementar lo anterior se puede contar con la certeza de quesi se agregaran votos no válidos en la base de datos, estos no contarán con un identificador válido; asimismo, si hay votos que son eliminados se podría identificar cuáles fueron. En ambos casos los votos podrían identificarse al realizar un cruce entre los lotes de respaldo y la base de datos.
Se debe tener en cuenta que un atacante puede añadir votos ilegítimos en tres fases del proceso de elección: antes de iniciar el proceso de votos, durante la fase de votación o, una vez concluida esta. En cambio, la eliminación de votos legítimos se puede presentar solo en dos períodos: en la fase de votación y una vez que ha terminado esa fase. La adición de votos antes de iniciar el proceso de votación puede ser detectada de forma relativamente fácil, por medio de verificaciones. Por ejemplo, se verifican que la base de datos donde serán almacenados los votos se encuentra en blanco antes de iniciar la votación. La adición y eliminación de votos en la propia fase de votación e incluso cuando esta ha terminado, se puede detectar con el mecanismo de auditoría propuesto como se puede observar en las siguientes líneas.
Si una vez que se concluye el conteo de votos es necesario llevar acabo una auditoría de los resultados de la votación se pueden realizar algunas validaciones al comparar los votos incluidos en el conteo original con los votos almacenados en los lotes de respaldo, los cuales se encuentran protegidos contra manipulaciones. La auditoría hace uso del mecanismo propuesto, y se lleva a cabo realizando los siguientes pasos:
Al igual que el mecanismo anterior se verifica la integridad de los lotes. En la Si el primer lote o un conjunto de los primeros lotes fueron eliminados: si la cadena de integridad se rompe en el primer lote y se comprueba mediante la firma digital que el primer lote no ha sufrido modificaciones se puede determinar que ha sido eliminado un lote o un conjunto de lotes del inicio. Si el último lote o un conjunto de los lotes finales fueron eliminados: debido a que se identifica el último lote se puede calcular la firma digital para corroborar que existe y no ha sido modificado. Si un lote o conjunto de lotes intermediarios fueron eliminados: en el punto de quiebre de la cadena de integridad si se comprueba que el lote anterior y actual no sufrieron modificaciones mediante la firma digital se puede determinar que algún lote o conjunto de lotes fueron eliminados. Si un voto fue modificado o eliminado: cuando la cadena de integridad se rompe y se comprueba que un lote fue modificado mediante la firma digital se puede encontrar que un voto fue modificado o eliminado calculando el hash de la concatenación del voto actual con el voto anterior. Se puede precisar en cuáles lotes se rompe la cadena de integridad: al calcularse el hash de la concatenación del primer voto con el lote anterior para comprobar si se conserva o se ha roto la cadena de integridad y así determinar en qué punto o puntos se rompe. Se puede precisar en cuáles votos se rompe la cadena de integridad de cada lote: se calcula el hash de la concatenación del voto actual con el voto anterior para comprobar si se conserva o se ha roto la cadena de integridad y así determinar en qué punto o puntos se rompe.
Se compara el número de votos obtenidos del escrutinio con el número de votos en los lotes de respaldo. Si el número de votos del escrutinio es diferente al de los votos contenidos en los lotes se puede deducir que se han añadido votos ilegítimos, o se han eliminado votos legítimos. Se debe de realizar el siguiente paso pasa saber cuáles votos fueron añadidos o eliminados. Gracias a que todos los votos cuentan con un identificador se puede verificar que cada voto incluido en el escrutinio se encuentra también en alguno de los lotes. Los votos que no se encuentren en los lotes de respaldo se clasifican como votos ilegítimos. Los votos del escrutinio, cuyo identificador no se encuentre en alguno de los lotes de respaldo se catalogan como votos eliminados.
A través de estas validaciones se puede obtener evidencia de si han sido añadidos votos ilegítimos y/o eliminado votos legítimos en la base de datos original, e incluso pueden ser identificados dichos votos falsos. De ser necesario puede ser llevado a cabo un nuevo escrutinio de los votos.
Al llevar a cabo una auditoría pueden ser detectadas algunas evidencias que sugieren que ha habido algunas manipulaciones, y que posiblemente requieran un análisis más profundo que el proporcionado por el mecanismo propuesto. Si ese fuera el caso, entonces se puede implementar alguno de los mecanismos que permiten realizar un análisis de logs, tal como ha sido explicado anteriormente.
El mecanismo propuesto está enfocado a la detección de adición y/o eliminación de votos ilegítimos, sin embargo, puede funcionar igualmente para la protección y detección de manipulaciones en los logs que generan algunos sistemas de información que manejan información sensible. En el Laboratorio Nacional de Tecnologías de Información de la Universidad Autónoma de Ciudad Juárez se desarrolló un prototipo, basado en el mecanismo Medusa, para la generación y protección de logs, así como la verificación de la integridad de estos.
El prototipo formó parte del proyecto ERRS (Elections Results Reliable Sampling), orientado a la verificación de resultados electorales. Este prototipo fue desarrollado en JavaScript y se usó Node.js como entorno de ejecución. El prototipo se realizó como se explica a continuación:
Al generar un nuevo log también es generado un archivo de texto por cada minuto de funcionamiento del sistema, por ejemplo “201708170212.txt”, donde serán almacenados los logs-ver
Cuando se crea un nuevo archivo se firma el archivo anterior mediante un algoritmo de firma digital para asegurar la integridad de estos durante su almacenamiento y trayecto, pues son enviados a un servidor externo para su respaldo y aseguramiento. Además de asegurar la integridad de cada archivo también entre los archivos se forma una cadena de integridad mediante el cálculo de un hash de la concatenación del primer log con el archivo de logs anterior. La cadena de integridad se implementa con el propósito de detectar el punto de quiebre, es decir, donde se presentaron modificaciones. Además de la firma para proteger la integridad del archivo se aplica una segunda firma para marcar el archivo como el último. La estructura de un archivo firmado se muestra en la Una vez que el archivo es firmado se envía a otro servidor para su respaldo. El servidor de respaldo en todo momento está en la espera de recibir los archivos de logs. Al recibirlos verifica si el archivo no ha sufrido alguna modificación durante su trayecto. Esta validación se realiza mediante la verificación de la firma digital, ver
Una vez recibido los archivos de logs se puede verificar su integridad en cualquier momento. La verificación consiste en la verificación de la cadena de integridad que se forma entre cada archivo de logs si la cadena se conserva se muestra un mensaje, indicando que los archivos no han sufrido modificaciones y se conserva la cadena de integridad, ver
El prototipo del mecanismo Medusa, tal como se ha explicado, tiene una serie de verificaciones que permite descubrir manipulaciones en los logs. De la misma forma en la que se protegen los logs como se ha visto en este ejemplo de implementación se pueden proteger unidades más grandes de información digital, tal como votos o cualquier otra información sensible.
En este trabajo se han analizado los métodos, técnicas y mecanismos de auditoría que pueden aplicarse a los diversos sistemas de votación, iniciando con los métodos clásicos de recuentos totales y recuentos parciales a través de la selección de una muestra. También se ha descrito cómo los sistemas de verificación independiente aplicados al voto electrónicofacilitan la auditoría, sin embargo, solamente para los sistemasde voto electrónico presencial.
Existen por su parte técnicas más adecuadas para realizar auditorías de sistemas de voto electrónico remoto. Algunas de ellas se basan en el análisis de logs o registros de eventos que se generan durante el proceso de votación. Sin embargo, la gestión y el análisis de logs presenta algunos retos importantes, debido a la gran cantidad de logs que se pueden generar en un sistema.Herramientas de análisis automático de logs, tal como querifier, facilitan la tarea del auditor para encontrar posibles manipulaciones.
En este trabajo se ha descrito un mecanismo que permite, a través de una auditoria, la detección de votos añadidos de manera ilegítima, así como la eliminación o manipulación de estos. A través de este mecanismo es posible detectar con una precisión alta en qué parte de la cadena de logs se ha realizado alguna manipulación, lo cual da evidenciano solo de que ha habido una manipulación, sino que se puede deducir en qué sentido se han realizado las manipulaciones detectadas. Por tanto, esta propuesta contribuye en el área de auditorías de sistemas de voto electrónico remoto, sin embargo, el mismo mecanismo puede aplicarse a otro tipo de sistemas tal como se muestra en el ejemplo de implementación del mecanismo Medusa, donde se protegen los logs de un sistema de información de resultados electorales.
Los autores reconocen el apoyo del CONACYT, pues este trabajo está soportado en parte por los proyectos: Laboratorio Nacional de Tecnologías de Información – LANTI sede UACJ, y Elections Results Reliable Sample (ERRS).
Estos se clasifican como sistemas de verificación directa, sistemas de procesos separados, sistemas de testigos, o sistemas de verificación de cifrado extremo a extremo.
La verificación individual se refiere a la posibilidad que tiene cada votante de verificar que su voto se registró correctamente.