ES2283205B2 - TELEMATIC VOTING SYSTEM THROUGH THE INTERNET. - Google Patents

TELEMATIC VOTING SYSTEM THROUGH THE INTERNET. Download PDF

Info

Publication number
ES2283205B2
ES2283205B2 ES200503260A ES200503260A ES2283205B2 ES 2283205 B2 ES2283205 B2 ES 2283205B2 ES 200503260 A ES200503260 A ES 200503260A ES 200503260 A ES200503260 A ES 200503260A ES 2283205 B2 ES2283205 B2 ES 2283205B2
Authority
ES
Spain
Prior art keywords
voting
vote
voters
voter
identity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
ES200503260A
Other languages
Spanish (es)
Other versions
ES2283205A1 (en
Inventor
Ignacio Fernandez Moreno
Pablo J. Gonzalez Granados
Luis Marful Fernandez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to ES200503260A priority Critical patent/ES2283205B2/en
Publication of ES2283205A1 publication Critical patent/ES2283205A1/en
Application granted granted Critical
Publication of ES2283205B2 publication Critical patent/ES2283205B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • H04L9/3281

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Sistema de votación telemática a través de Internet, realizado en un escenario de comunicación en el que intervienen un conjunto de sistemas automáticos que funcionan bajo unos programas predeterminados de sistema operativo, gestores de bases de datos, aplicaciones web y seguridad en Internet, constituido en su arquitectura básica por una Autoridad de Certificación, un Sistema de Anonimato, un Sistema de Voto, un Sistema de Recuento, un Sistema Verificador, una base de datos Relación Usuario-Identidad, una base de datos Universo de Votantes, y una base de datos Urna electrónica, además de las interconexiones y flujos de datos entre estos elementos. El sistema crea un proceso de votación totalmente electrónico y a distancia, aplicable de forma independientemente del lugar físico donde se encuentre el votante, rápido y de fácil utilización.Telematic voting system through the Internet, carried out in a communication scenario involving a set of automatic systems that operate under predetermined operating system programs, database managers, web applications and Internet security, constituted in its basic architecture by a Certification Authority, an Anonymity System, a Voting System, a Counting System, a Verifying System, a User-Identity Relationship database, a Universe Database of Voters, and an Urn database electronics, in addition to the interconnections and data flows between these elements. The system creates a totally electronic and remote voting process, applicable independently of the physical location where the voter is, fast and easy to use.

Description

Sistema de votación telemática a través de Internet.Telematic voting system through Internet.

La presente invención se refiere a un sistema de votación telemática a través de Internet, es decir, un sistema de votación que emplea Internet como forma más universal de comunicación electrónica para conectar a los votantes, previamente autentificados, con un registro de opciones de voto y con una urna electrónica remota.The present invention relates to a system of  telematic voting via the Internet, that is, a system of vote that uses the Internet as a more universal form of electronic communication to connect voters, previously authenticated, with a register of voting options and with an urn remote electronics

El sistema crea un proceso electoral totalmente electrónico y seguro en base a Internet, desde el lugar de la votación, un terminal de un ordenador personal, teléfono móvil u otro aparato electrónico que tenga acceso a la Red, hasta los dispositivos que acreditan la identidad de los votantes, con códigos de seguridad y autoridades de autentificación de fe pública, pasando por los sistemas de urna electrónica, de recuento y de verificación de votos, lo cual permite proporcionar un servicio de votación que es independiente del lugar físico donde se encuentre el votante, rápido y de fácil manejo, compatible con el sistema de votación tradicional en elecciones administrativas, pero a la vez, con capacidad de adaptación a cualquier normativa que rija un proceso electoral particular, entre otras muchas ventajas.The system creates an electoral process totally electronic and secure based on the Internet, from the place of the voting, a terminal of a personal computer, mobile phone or other electronic device that has access to the Network, up to devices that prove the identity of voters, with security codes and public faith authentication authorities, going through electronic urn systems, counting and vote verification, which allows to provide a service of voting that is independent of the physical place where you are the voter, fast and easy to use, compatible with the system of traditional voting in administrative elections, but at the same time, capable of adapting to any regulation that governs a particular electoral process, among many other advantages.

Esta invención, que se encuadrada en el campo técnico de la ingeniería y arquitecturas telemáticas, desarrolla un sistema de votación telemática que no se basa en un tipo de software específico, sino que simplemente se especifican las capacidades, funcionalidades y mecanismos de seguridad que debe tener el sistema, y en qué lugar y de qué modo debe utilizarse. Por tanto, puede que para una empresa pequeña, o incluso un colegio o reuniones de ciertas comunidades se pueda utilizar software de código abierto en la implementación, dado que es gratuito y, aunque no ofrece garantías, suele estar muy bien terminado en la mayoría de los casos, y para una gran empresa u organismo público se pueda realizar un sistema con los programas más caros y sofisticados.This invention, which is framed in the field engineering technician and telematic architectures, develops a  telematic voting system that is not based on a type of specific software, but simply specify the capabilities, functionalities and security mechanisms that you must have the system, and in what place and in what way it should be used. By so, maybe for a small business, or even a school or meetings of certain communities you can use software from open source in the implementation, since it is free and, although It does not offer guarantees, it is usually very well finished in most of cases, and for a large company or public body you can make a system with the most expensive and sophisticated programs.

Estado de la técnicaState of the art

Se entiende por "voto electrónico" todos aquellos escenarios que basándose en los métodos clásicos de votación, sustituyen alguno de los elementos físicos y procedimientos manuales por algún tipo de sistema o procedimiento electrónico."Electronic voting" means all those scenarios that based on the classic methods of vote, replace some of the physical elements and manual procedures by some type of system or procedure electronic.

Los procesos a automatizar son los que se realizan comúnmente en el colegio electoral, pudiéndose sintetizar en tres: la autenticación del votante, el proceso de la emisión del voto, y el procesado del contenido de la urna electoral. Todos los componentes electrónicos utilizados en estos escenarios tratan de automatizar alguno de estos procesos, entrando en esta catalogación los sistemas que utilizan alguno o varios de los siguientes elementos: tarjetas magnéticas (para autenticar al votante o incluso para emitir el voto), urna electrónica (para la recepción y recuento de los votos), pantalla o tablero de votación (para seleccionar la opción de voto elegida), cabina electrónica (para garantizar la privacidad) y software de distintos tipos (para el proceso de escrutinio).The processes to automate are those that commonly performed at the polling station, being able to synthesize in three: voter authentication, the process of issuing the vote, and the processing of the content of the ballot box. All the electronic components used in these scenarios try to automate any of these processes, entering this cataloging the systems that use one or more of the following elements: magnetic cards (to authenticate the voter or even to cast the vote), electronic ballot box (for the reception and  vote count), screen or voting board (for select the chosen voting option), electronic booth (for guarantee privacy) and software of different types (for the scrutiny process).

Sistemas basados en votaciones electrónicas del comentado tipo, es decir, realizadas en colegios electorales en los que algunos elementos físicos del procedimiento de votación tradicional es sustituido por algún tipo de proceso electrónico, están ampliamente desarrollados. De hecho, existe una gran variedad de patentes sobre esta cuestión, en las que incluso se reivindican los aparatos y dispositivos electrónicos para su puesta en práctica. Así, por ejemplo, patentes de este tipo con efectos en España son las nacionales con número de publicación ES2230994A1 "Sistema de votación electrónica", y ES2165289B1 "Sistema de votación electrónico y correspondiente papeleta evaluable opto-electrónicamente", o la patente europea con números de publicación ES2103730T3 "Nuevo proceso de voto y medios para su puesta en obra".Systems based on electronic voting commented type, that is, conducted in polling stations in the that some physical elements of the voting procedure Traditional is replaced by some kind of electronic process, They are widely developed. In fact, there is a great variety of patents on this issue, in which they are even claimed electronic devices and devices to be put into practice. Thus, for example, patents of this type with effects on Spain are nationals with publication number ES2230994A1 "Electronic voting system", and ES2165289B1 "System of electronic voting and corresponding evaluable ballot opto-electronically ", or the European patent with Publication numbers ES2103730T3 "New voting process and means for its implementation ".

Algunas de las patentes se centran exclusivamente en los aparatos o dispositivos integrantes de un sistema de votación electrónica, como es el caso de las patentes nacionales ES2174753B1 "Urna electrónica" y ES8706988 "Perfeccionamientos en los aparatos electrónicos para la gestión automatizada de colegios electorales", o de los modelos de utilidad ES1053026U, "Urna rodante para sistemas de votación electrónica", y ES1050757U "Papeleta para sistemas de votación electrónico".Some of the patents focus exclusively on devices or devices that are part of a electronic voting system, as is the case with patents National ES2174753B1 "Electronic urn" and ES8706988 "Improvements in electronic devices for management automated polling stations ", or the models of utility ES1053026U, "Rolling ballot box for voting systems electronics ", and ES1050757U" Ballot for voting systems electronic".

En un nivel más avanzado de sistema de voto electrónico se busca la realización del proceso de votación mediante el uso de las redes telemáticas, entrándose entonces en el denominado sistema de "Voto Telemático". En este caso, la urna no se encuentra a la vista del votante, lo que ocurre con el voto electrónico convencional antes citado, sino que es un agente telemático ubicado físicamente en un lugar remoto, al igual que el resto de los agentes que intervienen en la supervisión y realización del sistema.On a more advanced level of voting system electronic the completion of the voting process is sought through the use of telematic networks, then entering the called the "Telematic Vote" system. In this case, the urn it is not in sight of the voter, what happens with the vote conventional electronic cited above, but it is an agent telematic physically located in a remote place, just like the rest of the agents involved in the supervision and System realization.

Dentro del sistema de voto telemático se pueden distinguir a su vez dos subgrupos. El primero es el compuesto por aquellos sistemas que utilizan redes telemáticas para la interconexión de los distintos colegios electorales, efectuando el elector el voto desde el mismo colegio electoral o centro equivalente, lo que permite una recolección, recuento y publicación de los resultados casi inmediata, dejando al organismo encargado de la supervisión final la misión de identificar y autenticar a los votantes. El segundo subgrupo lo constituyen aquellos sistemas en los que la votación se realiza de modo remoto, típicamente a través de Internet, siendo más atractivo de cara a los votantes y permitiendo a priori una drástica reducción de costes, pero con la necesidad de establecer mecanismos de seguridad, identificación y autenticación mucho mayores.Within the telematic voting system, two subgroups can be distinguished. The first is composed of those systems that use telematic networks for the interconnection of the different polling stations, with the voter voting from the same polling station or equivalent center, which allows almost immediate collection, recount and publication of the results, leaving the agency responsible for final supervision the mission of identifying and authenticating voters. The second subgroup is constituted by those systems in which voting takes place remotely, typically through the Internet, being more attractive for voters and allowing a drastic reduction of costs a priori , but with the need to establish mechanisms for security, identification and authentication much greater.

Si bien dentro del primer subgrupo de sistemas de votación telemática, el realizado en colegios electorales a través de redes de ordenadores públicas de interconexión de centros, han sido publicados varios trabajos, entre los que cabe destacar el proyecto VOTESCRIPT de la Universidad Politécnica de Madrid, o algunos otros que han sido protegidos por patente en España, caso de la patente nacional número P200450051 "Método para la votación electrónica segura y protocolos criptográficos empleados", o las patentes europeas con número de traducción ES2158241T3 "Método y aparato para la transmisión segura de mensajes anónimos y votación electrónica segura" y ES2156594T3 "Método y aparato para votación electrónica segura", no se sabe de ningún proyecto publicado en relación con un sistema de votación telemática realizado en modo remoto, a través de Internet, es decir, sin necesidad de la presencia física del votante en el centro electoral en el momento de la votación.While within the first subset of systems telematic voting, the one carried out in polling stations to through interconnection public computer networks of centers, several works have been published, including highlight the VOTESCRIPT project of the Polytechnic University of Madrid, or some others that have been protected by patent in Spain, case of national patent number P200450051 "Method for secure electronic voting and cryptographic protocols employees ", or European patents with translation number ES2158241T3 "Method and apparatus for the safe transmission of anonymous messages and secure electronic voting "and ES2156594T3 "Method and apparatus for secure electronic voting", I do not know knows of any project published in relation to a system of telematic voting conducted in remote mode, via the Internet, that is, without the need for the physical presence of the voter in the electoral center at the time of voting.

Considerando que, en teoría, los componentes para el desarrollo de un sistema de voto telemático por Internet son bastantes sencillos: un registro de votantes, un registro de opciones de voto, y un sistema de contadores o urna electrónica, todo ello conectado a través de Internet, el que no exista hasta ahora un proyecto para su implantación práctica es seguramente debido a los exigentes mecanismos de seguridad que este sistema debe llevar
asociado.
Whereas, in theory, the components for the development of a telematic voting system on the Internet are quite simple: a voter registration, a voting options registry, and an electronic counting system or ballot box, all connected through Internet, the one that does not exist until now a project for its practical implementation is surely due to the demanding security mechanisms that this system must carry
associated.

Téngase en cuenta, que para la implementación de un sistema de votación por Internet en el que los votantes puedan emitir su voto a distancia mediante, por ejemplo, un teléfono móvil, se requiere de mecanismos de seguridad, identificación y autenticación que afronten los siguientes problemas:Keep in mind, that for the implementation of an internet voting system in which voters can cast your vote remotely using, for example, a telephone mobile, security mechanisms, identification and authentication facing the following problems:

Definición del universo de votantes.- Uno de los primeros problemas es definir quién tiene derecho a voto y quién no. El sistema no sería admisible si tras la votación hubiese más votos que votantes.Definition of the universe of voters.- One of the first problems is to define who has the right to vote and who no. The system would not be admissible if after the vote there were more votes than voters.

Identificación unívoca de cada votante.- Una vez establecido el rango de votantes, hay que asegurar que cada usuario del sistema tiene una representación única en el mismo, de modo que no pueda haber suplantaciones de personalidad.Unique identification of each voter.- Once  established the rank of voters, we must ensure that each system user has a unique representation in it, of so there can be no personality impersonations.

Autentificación del votante.- Este problema ya ha sido resuelto en el mundo del comercio electrónico.Voter authentication - This problem is already It has been resolved in the world of electronic commerce.

Anonimato del votante.- El sistema no debe vincular un voto con el emisor del mismo, es decir, que no se pueda saber de ningún modo qué voto ha emitido un usuario determinado. Para ello se necesitan mecanismos de secreto en las comunicaciones, en la contabilidad y en la información de datos parciales.Anonymity of the voter.- The system must not link a vote with the issuer of the vote, that is, that it cannot be  know in any way what vote a given user has cast. This requires secrecy mechanisms in communications, in accounting and partial data information.

Seguridad del sistema.- El sistema debe ser capaz de protegerse ante ataques externos, caídas y fallos en el software o en el equipo, etcétera.System security.- The system must be able to protect against external attacks, falls and failures in the software or on the computer, etc.

Queda claro, pues, que el principal problema del voto telemático a través de Internet es a nivel de seguridad, más que a nivel de implementación del mismo.It is clear, then, that the main problem of Telematic voting via the Internet is at the security level, more that at the level of its implementation.

Teniendo en cuenta este estricto marco de seguridad que debe rodear a un sistema de votación telemática a través de Internet, con el presente proyecto se presenta un modelo innovador que responde de la mejor manera posible a cada uno de los problemas planteados.Given this strict framework of security that must surround a telematic voting system to through the Internet, with the present project a model is presented innovative that responds in the best possible way to each of the issues raised.

En su desarrollo se han tenido en cuenta todos los requisitos que debe cumplir un sistema de votación de estas características, relacionados con el universo de votantes, el proceso de votación, la seguridad del sistema y el recuento final de los votos, los cuales se relacionan a continuación.In its development all have been taken into account the requirements that a voting system of these must meet characteristics, related to the universe of voters, the Voting process, system security and final count of the votes, which are listed below.

a) Universo de votantes.- i) Definición del universo de votantes por la autoridad que solicite el proceso de votación, como fase previa al proceso de votación; ii) fragmentación de los datos, de modo que los datos del votante no queden incluidos en un mismo sistema; iii) una vez iniciado el proceso de votación, el universo de votantes no podrá ser alterado, sino sólo consultado; iv) los datos definidos en el universo de votantes podrá ser opcionalmente consultados por parte del usuario, siendo sólo posible la modificación de los mismos previamente al inicio del proceso de votación, a través de las autoridades competentes y según un proceso externo a la votación.a) Voter universe.- i) Definition of universe of voters by the authority requesting the process of voting, as a pre-voting phase; ii) data fragmentation, so that voter data does not are included in the same system; iii) once the voting process, the universe of voters cannot be altered, but only consulted; iv) the data defined in the universe of voters may be optionally consulted by the user, being only possible to modify them before Beginning of the voting process, through the authorities competent and according to an external voting process.

b) Proceso de votación.- i) El sistema deberá garantizar la libertad del voto, esto implica que el usuario deberá poder ejercer su derecho a voto desde cualquier terminal, independientemente del sistema operativo y del navegador, debe poder conocer a priori cualquier cuestión acerca de las elecciones, los candidatos, la metodología de voto, y los presupuestos e implicaciones de cada opción posible en una consulta dada, además el usuario deberá ser libre a la hora de votar o a la omisión del mismo, no es aceptable que se tomen votos por defecto; ii) el sistema deberá identificar unívocamente a los usuarios; iii) el sistema deberá garantizar la unicidad del voto, la imposibilidad de coacción de los votantes y el anonimato de los mismos; iv) el votante no podrá cambiar su voto una vez emitido el mismo; v) el sistema debe ser capaz de funcionar en condiciones adversas y ante posibles fallos; vi) la aplicación de cara al usuario debe ser transparente, accesible, amigable, intuitiva y fácil de usar.b) Voting process.- i) The system must guarantee the freedom of voting, this implies that the user must be able to exercise their right to vote from any terminal, regardless of the operating system and the browser, must be able to know a priori any question about of the elections, the candidates, the voting methodology, and the budgets and implications of each possible option in a given consultation, in addition the user must be free at the time of voting or the omission of the same, it is not acceptable for votes to be taken default; ii) the system must uniquely identify users; iii) the system must guarantee the uniqueness of the vote, the impossibility of coercion of the voters and their anonymity; iv) the voter may not change his or her vote once it has been cast; v) the system must be able to operate in adverse conditions and in case of possible failures; vi) the application for the user must be transparent, accessible, friendly, intuitive and easy to use.

c) Seguridad.- i) El sistema deberá tener mecanismos de autentificación, que garanticen la autentificación y certificación tanto de la máquina desde la que opera el votante como del servidor o servidores del sistema de votación, además de la verificación del sistema de voto; ii) se garantiza que el sistema funciona solamente como se prevé que va a funcionar, sin puertas traseras ni trampas ocultas que modifiquen los resultados; iii) el sistema debe proporcionar mecanismos de seguridad específicos; iv) el sistema deberá proporcionar mecanismos de control de acceso al sistema, de modo de que sólo puedan acceder los usuarios autorizados en los momentos establecidos, v) el sistema deberá proporcionar a las autoridades competentes transparencia, es decir, se deberá: tener acceso al código fuente y a los registros de funcionamiento, obtener certificados de autenticidad por parte de terceros, presentar procedimientos de log que permitan resolver dudas e impugnaciones, manteniendo el carácter de secreto del voto; vi) se deberá definir una estrategia de seguridad que abarque los siguientes puntos: el plan de seguridad deberá tener una estrategia pro-activa, deberán realizarse inspecciones o auditorías legales para la certificación del sistema, políticas de seguridad explícitas (contra ataques externos e internos).c) Security.- i) The system must have authentication mechanisms, which guarantee authentication and certification of both the machine from which the voter operates as of the server or servers of the voting system, in addition to the verification of the voting system; ii) it is guaranteed that the system works only as expected to work, without rear doors or hidden traps that modify the results; iii) the system must provide security mechanisms specific; iv) the system must provide mechanisms for access control to the system, so that only the authorized users at the established times, v) the system must provide transparency to the competent authorities, it is that is, it should: access the source code and records of operation, obtain certificates of authenticity from from third parties, submit log procedures to resolve doubts and challenges, maintaining the secret character of vote; vi) a security strategy should be defined that covers the following points: the security plan must have a proactive strategy, should be carried out inspections or legal audits for the certification of system, explicit security policies (against external attacks and internal).

d) Recuento.- El sistema deberá tener mecanismos de recuento fiable que garanticen: i) la exactitud, es decir, que el número de votantes sea igual al número de votos; ii) la independencia, con respecto al proceso de votación; iii) la verificación global de los datos.d) Count.- The system must have mechanisms of reliable count that guarantee: i) the accuracy, that is, the number of voters is equal to the number of votes; ii) the independence, with respect to the voting process; iii) the Global verification of the data.

Compendio de la invenciónCompendium of the invention

La solución propuesta para que el sistema de votación telemática en Internet concebido cumpla con todas las anteriores exigencias y, por tanto, para que en la práctica pueda llevarse a cabo, pasa por una arquitectura formada por un conjunto de sistemas automáticos que funcionan bajo unos programas predeterminados de sistema operativo, gestores de bases de datos, aplicaciones web y seguridad en Internet.The proposed solution for the system to Internet telematic voting conceived to comply with all previous requirements and, therefore, so that in practice you can be carried out, goes through an architecture formed by a set of automatic systems that work under programs operating system defaults, database managers, Web applications and Internet security.

Este conjunto de sistemas lo forman los siguientes elementos principales que más abajo se describen en detalle: a) Una Autoridad de Certificación en Internet, encargada de cifrar las comunicaciones y autentificar tanto al votante como al sistema de votación, b) un Sistema de Anonimato, encargado de presentar a los candidatos, controlar el acceso, garantizar el anonimato de los votantes y seguimiento de los mismos durante el proceso, c) un Sistema de Voto, encargado de recibir, gestionar y almacenar los votos emitidos de un determinado departamento, d) un Sistema de Recuento, encargado de contabilizar el número de votos, e) un Sistema Verificador, encargado de validar los comicios electorales, f) una base de datos Relación Usuario-Identidad, encargada de almacenar los datos del usuario, su identidad en el sistema y el estado de los votantes, g) una base de datos Universo de Votantes, encargada de establecer un rango de votantes del sistema, y h) una base de datos Urna electrónica, encargada de almacenar los votos emitidos por los votantes, además de las interconexiones y flujos de datos entre los anteriores elementos.This set of systems is formed by following main elements described below in detail: a) An Internet Certification Authority, in charge to encrypt communications and authenticate both the voter and to the voting system, b) an Anonymity System, in charge of introduce candidates, control access, guarantee anonymity of the voters and their follow-up during the process, c) a Vote System, in charge of receiving, managing and store the votes cast of a specific department, d) a Counting System, responsible for counting the number of votes, e) a Verifier System, responsible for validating the elections electoral, f) a database Relationship User-Identity, responsible for storing data of the user, their identity in the system and the status of the voters, g) a Universo de Votantes database, in charge of establish a range of system voters, and h) a database Electronic ballot box, responsible for storing the votes cast by voters, in addition to interconnections and data flows between previous elements.

I. Elementos del sistemaI. System elements a) Autoridad de Certificación (AC)a) Certification Authority (CA)

El sistema Autoridad de Certificación es el ente externo encargado de autenticar a través de Internet tanto al votante, mediante la asignación on-line de una clave personal para cada votante, como a las máquinas implicadas en el sistema de votación, mediante un proceso previo a la votación, además de mantener la confidencialidad e integridad de los datos gracias a la encriptación de las comunicaciones. Con ello, se puede garantizar que los extremos en las comunicaciones son quien dicen que son.The Certification Authority system is the entity  external responsible for authenticating through the Internet both voter, by assigning a password online  personnel for each voter, such as the machines involved in the voting system, through a pre-voting process, In addition to maintaining the confidentiality and integrity of the data thanks to the encryption of communications. With that, you can ensure that the extremes in communications are who they say What are they.

En la actualidad hay diferentes Autoridades de Certificación (VeriSign, Radius, Thawte, etc.) que implementan por defecto el cifrado SSL (Secure Socket Layer), que es el protocolo estándar mundial de la seguridad Web, diseñado y propuesto por Netscape Communications Corporation. Este proporciona sus servicios de seguridad cifrando los datos intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico y cifrando la clave de sesión mediante un algoritmo de cifrado de clave pública. La clave de sesión es la que se utiliza para cifrar los datos que vienen del y van al servidor seguro. Se genera una clave de sesión distinta para cada transacción, lo cual permite que aunque sea reventada por un atacante en una transacción dada, no sirva para descifrar futuras
transacciones.
Currently there are different Certification Authorities (VeriSign, Radius, Thawte, etc.) that implement by default the SSL (Secure Socket Layer) encryption, which is the worldwide standard Web security protocol, designed and proposed by Netscape Communications Corporation. It provides its security services by encrypting the data exchanged between the server and the client with a symmetric encryption algorithm and encrypting the session key using a public key encryption algorithm. The session key is the one used to encrypt the data that comes from and goes to the secure server. A different session key is generated for each transaction, which allows even if it is burst by an attacker in a given transaction, it does not serve to decipher future
transactions

En el presente caso se ha diseñado el sistema en base a Autoridades de Certificación de fe pública que utilicen el cifrado SSL, como empresas dedicadas a la emisión y comprobación de los certificados con contrastada capacidad para impedir la suplantación, dejando abierta la posibilidad de la utilización de certificados emitidos por la Administración Pública, ahora mismo en desarrollo, como ente de máxima confianza. Se debe tener en cuenta siempre que este tipo de Autoridades deben ser ajenas al sistema de votación y proporcionar un servicio con la suficiente profesionalidad, dependiendo de las necesidades de la implementación en cada caso.In the present case the system has been designed in based on Public Faith Certification Authorities that use the SSL encryption, as companies dedicated to the issuance and verification of certificates with proven ability to prevent impersonation, leaving open the possibility of using certificates issued by the Public Administration, right now in development, as an entity of maximum trust. Should consider provided that this type of Authorities must be outside the system of  vote and provide a service with enough professionalism, depending on the needs of the implementation in each case.

Hay que dejar claro que este tipo de sistemas, pese a ser relativamente modernos, han dado muy buenos resultados a la hora de asegurar algo tan importante como las transacciones de dinero a través de la red, no solo en sitios de comercio electrónico, sino también en entidades bancarias de reconocido prestigio.You have to make it clear that these types of systems, despite being relatively modern, they have given very good results when it comes to ensuring something as important as the transactions of money through the network, not only on trading sites electronic, but also in recognized banking entities prestige.

b) Sistema de Anonimatob) Anonymity System

En la proyección telemática del escenario de votación convencional, el sistema anonimato ha de garantizar que solamente depositan su voto en la "urna" las personas autorizadas para ello y que sólo votan una vez y por una sola opción.In the telematic projection of the scenario of conventional voting, the anonymity system must ensure that only cast their vote in the "urn" people authorized to do so and that only vote once and only once option.

       \newpage\ newpage
    

En el proyecto abordado el Sistema Anonimato utiliza las siguientes tecnologías para la presentación de la información:In the project addressed the Anonymity System uses the following technologies for the presentation of the information:

- Base XML (eXtensible Markup Language), con capacidad para empaquetar los datos en un formato que pueda validarse, como XML Schemas.- XML Base ( eXtensible Markup Language ), with the ability to package data in a format that can be validated, such as XML Schemas.

- Lenguaje XSLT (Extensible Stylesheet Language Transformations), que permite presentar la información contenida en los ficheros .XML en el lenguaje de programación que requiera el usuario (Html, C-Html, Wml), según a su dispositivo (PC, móvil i-mode, móvil-Wap).- XSLT Language ( Extensible Stylesheet Language Transformations ), which allows you to present the information contained in the .XML files in the programming language required by the user (Html, C-Html, Wml), according to your device (PC, mobile i- mode, mobile-Wap).

Los módulos que componen el Sistema Anonimato son:The modules that make up the Anonymity System They are:

- Gestión de Sesión, encargado de personalizar la presentación de cara al usuario y crear un perfil (que se destruirá cuando el votante cierre la sesión) volátil del mismo, una vez validado en la base de datos Universo de Votantes, al inicio de la sesión, conteniendo los datos personales del mismo, pudiendo cambiar éstos por la Identidad en el Sistema cuando ésta se le asigne al usuario. También realiza la jerarquización de los usuarios, es decir, da más peso a unos votos que otros en función del perfil del usuario, si así se desea la entidad que solicita la votación.- Session Management , responsible for customizing the presentation for the user and creating a profile (which will be destroyed when the voter closes the session) volatile, once validated in the Universo de Votantes database, at the beginning of the session , containing the personal data of the same, being able to change these for the Identity in the System when this is assigned to the user. It also performs the ranking of users, that is, it gives more weight to some votes than others based on the user's profile, if the entity requesting the vote is desired.

- Check Status, encargado de comprobar el estado del votante en el sistema mediante dos verificaciones: primero, si se le ha otorgado una Identidad en el Sistema, y segundo si ha votado. Gracias a este módulo, en el caso de que haya un fallo en las comunicaciones, en una segunda conexión por parte del votante, una vez validada la sesión, se le dirigirá al punto en donde se quedó.- Check Status , responsible for checking the status of the voter in the system through two verifications: first, if an Identity has been granted in the System, and second if it has voted. Thanks to this module, in the event that there is a failure in communications, in a second connection by the voter, once the session is validated, you will be directed to the point where you stayed.

- Check Universo de Votantes, encargado de verificar que el usuario que se conecta al sistema pertenece al rango de votantes definido por la autoridad que solicita el proceso electoral. En caso afirmativo se creará la sesión, en otro caso se le denegará el acceso.- Check Universo de Votantes , responsible for verifying that the user who connects to the system belongs to the range of voters defined by the authority requesting the electoral process. If so, the session will be created, otherwise access will be denied.

- Generador de Identidades, encargado de generar Identidades en el sistema, para preservar el anonimato de los Votantes. Estas identidades son números aleatorios, de tal modo que sea inviable poder establecer algún tipo de relación entre el votante y la identidad en el sistema. Para ello el generador utilizado será un Generador congruencial estándar, que debidamente ajustado por diferentes contrastes (X^2 Pearson, Rachas, Permutaciones y Huecos) se aproximará a una Distribución Uniforme.- Identity Generator , responsible for generating Identities in the system, to preserve the anonymity of Voters. These identities are random numbers, so that it is unfeasible to be able to establish some kind of relationship between the voter and the identity in the system. For this, the generator used will be a standard congruent generator, which duly adjusted for different contrasts (X ^ 2 Pearson, Streaks, Permutations and Gaps) will approximate a Uniform Distribution.

- Inserción de Identidad, encargado de registrar en el sistema la asignación de una identidad a un votante. Esto lo consigue introduciendo en la base de datos Relación Usuario-Identidad, la clave unívoca que le identifica (el número aleatorio). Esta funcionalidad es esencial para que el módulo Check Status, pueda realizar de manera satisfactoria la primera verificación.- Identity Insertion , responsible for registering in the system the assignment of an identity to a voter. This is achieved by entering in the User-Identity Relationship database, the unique key that identifies you (the random number). This functionality is essential so that the Check Status module can perform the first verification satisfactorily.

- Alta Ideas Candidato, encargado de recoger la presentación y vínculos personales de los candidatos, una vez se hayan validado en el Universo de Votantes, dándolas de alta en una página Web accesible por todos los usuarios.- High Ideas Candidate , in charge of collecting the presentation and personal links of the candidates, once they have been validated in the Universe of Voters, registering them on a Web page accessible by all users.

Todos los datos son gestionados en el sistema anonimato con tecnologías LDAP y SGBD:All data is managed in the system Anonymity with LDAP and DBMS technologies:

- LDAP (Lighweight Directory Access Protocol) es el protocolo (OpenLdap) utilizado para acceder a los diferentes recursos e información de la red creada, actúa como middleware entre la capa de procesamiento y los diferentes Sistemas de Gestión de Base de Datos. Por lo tanto es encargado de proporcionar la posibilidad de asignación de permiso, portabilidad a diferente plataformas, autentificación entre los diferentes servidores, y encriptado de las comunicaciones a nivel de transporte y aplicación.- LDAP ( Lighweight Directory Access Protocol ) is the protocol (OpenLdap) used to access the different resources and information of the network created, acts as a middleware between the processing layer and the different Database Management Systems. Therefore it is responsible for providing the possibility of assigning permission, portability to different platforms, authentication between different servers, and encryption of communications at the transport and application level.

- SGBD (Sistema de Gestión de Base de Datos) es el encargado de proporcionar acceso a la base de datos, de una manera consistente y manteniendo la integridad, con un nivel de seguridad en las bases de datos, al poder establecer grupos y perfiles de usuario, limitando el acceso a los datos sensibles y su manipulación. Será este módulo quien interaccione con el Servidor LDAP y le proporcione los datos que solicite.- DBMS ( Database Management System ) is responsible for providing access to the database, in a consistent manner and maintaining integrity, with a level of security in the databases, to establish groups and profiles of user, limiting access to sensitive data and its manipulation. It will be this module that interacts with the LDAP Server and provides you with the data you request.

c) Sistema de Votoc) Vote System

Las diferentes tecnologías mencionadas para la presentación de la información en el sistema anonimato (XML, XSLT, XML Schemas) no difieren en cuanto a su funcionalidad se refiere de las del Sistema de Voto, salvo que ahora la interacción con el votante será menor, ya que la presentación se limitará a notificar al votante la finalización correcta del proceso, o en caso contrario comunicarle el error (por ejemplo un fallo en las comunicaciones).The different technologies mentioned for the presentation of the information in the anonymity system (XML, XSLT, XML Schemas) do not differ in terms of their functionality refers to those of the Voting System, except that now the interaction with the Voter will be less, since the presentation will be limited to notify to the voter the correct completion of the process, or in case otherwise communicate the error (for example a failure in the communications).

Los módulos que componen el Sistema de Voto son:The modules that make up the Vote System They are:

- Gestión de Sesión, muy parecida a su análoga en el Sistema de Anonimato, salvo que no se creará ninguna sesión, sino que la recibirá del Sistema de Anonimato. Esto implica nuevamente que en caso de una conexión remota al sistema de votación, al verificar la validez de la sesión de dicha conexión, quedará de manifiesto que es un acceso fraudulento, por lo que será redirigido al Sistema de anonimato, es decir, no se podrá alterar el flujo de la aplicación.- Session Management , very similar to its analogue in the Anonymity System, except that no session will be created, but will receive it from the Anonymity System. This implies again that in case of a remote connection to the voting system, when verifying the validity of the session of said connection, it will be shown that it is a fraudulent access, so it will be redirected to the Anonymity System, that is, it will not be You can alter the flow of the application.

- Inserción de voto, encargado de almacenar el voto emitido por el usuario y la identidad en el sistema que le representa. Este voto se introduce en una base de datos diferente a la de autentificación de los usuarios, preservando así (junto con un buena política de administración de base de datos), el anonimato.- Insertion of vote , responsible for storing the vote cast by the user and identity in the system that represents him. This vote is introduced in a database different from that of user authentication, thus preserving (along with a good database administration policy), anonymity.

- Fragmentación del voto, encargado de fragmentar el voto mediante un algoritmo de alto consumo de procesamiento.- Fragmentation of the vote , responsible for fragmenting the vote through a high processing algorithm.

- Generador de informes, encargado de generar unos informes de cara al votante en el que le confirme la validez de su voto, o si hay algún contratiempo, como un fallo en las comunicaciones o denegación del servicio, dárselo a conocer.- Report generator , responsible for generating reports for the voter confirming the validity of their vote, or if there is any mishap, such as a failure in communications or denial of service, let them know.

- Inserción de bloqueo de voto, encargado de validar el voto, reflejándolo en el sistema insertando un "1" donde antes había un "0", en la base de datos Relación Usuario-Identidad Sistema. Este módulo es muy parecido al de "Inserción de Identidad", del Sistema de Anonimato, y al igual que el mismo es muy importante para que el módulo "Check Status" realice de forma satisfactoria la segunda verificación.- Insertion of vote blocking , responsible for validating the vote, reflecting it in the system by inserting a "1" where there was previously a "0", in the User-Identity System Relationship database. This module is very similar to the "Identity Insertion" of the Anonymity System, and like it is very important for the "Check Status" module to successfully complete the second verification.

Los datos son gestionados en el Sistema de Voto con las mismas tecnologías LDAP y SGBD utilizadas para el Sistema Anonimato, que no difieren respecto a este primer sistema en cuanto a su funcionalidad.The data is managed in the Vote System with the same LDAP and DBMS technologies used for the System Anonymity, which does not differ with respect to this first system in terms of to its functionality.

d) Sistema de Recuentod) Counting System

Las diferentes tecnologías mencionadas para la presentación de la información en el Sistema Anonimato (XML, XSLT, XML Schemas) tampoco difieren en cuanto a su funcionalidad de las del Sistema de Recuento, salvo que esta presentación no es para interaccionar con el sistema, sino para presentar los resultados de los comicios electorales, dejando abierta la posibilidad de publicarlos en un servidor Web, en cuyo caso se recomienda la tecnología GUI (Graphical User Interface), que proporciona al usuario un entorno amigable e intuitivo para interaccionar con el sistema.The different technologies mentioned for the presentation of the information in the Anonymity System (XML, XSLT, XML Schemas) also do not differ in their functionality from those of the Counting System, except that this presentation is not to interact with the system, but to present the election election results, leaving open the possibility of publishing them on a Web server, in which case GUI ( Graphical User Interface ) technology is recommended, which provides the user with a friendly and intuitive environment to interact with the system.

Los módulos que componen el Sistema de Recuento son:The modules that make up the Counting System They are:

- Control de Acceso, encargado de filtrar el acceso al sistema, dejando libre transito sólo a aquél usuario que esté registrado. El conjunto de usuarios que pude utilizarlo es reducido, por lo que se encuentran especificados en un fichero "Ldif" suministrado por Ldap.- Access Control , responsible for filtering access to the system, leaving free transit only to the user who is registered. The set of users that could use it is reduced, so they are specified in a "Ldif" file supplied by Ldap.

- Contador de Votos, encargado de leer el informe presentado por el Sistema Verificador. En caso de que todo sea correcto se accederá a la base de datos Urna electrónica y se contabilizarán los votos, mediante un algoritmo de desfragmentación de votos, en el apartado "Diseño lógico del Sistema". En otro caso, es decir, si se detecten irregularidades en el proceso electoral, no se contabilizarán los votos, pasando directamente al módulo Generador de Informes Votos-Verificación.- Voting Counter , in charge of reading the report presented by the Verifier System. If everything is correct, the electronic Urn database will be accessed and the votes will be counted, using a vote defragmentation algorithm, in the "Logical System Design" section. In another case, that is, if irregularities are detected in the electoral process, the votes will not be counted, going directly to the Voting-Verification Report Generator module.

- Generador de Informes Votos-Verificación, encargado de presentar un informe de los comicios electorales (en caso de que el sistema de Verificación no detectara ningún tipo de fraude), o la de generar un informe con los resultados del Sistema Verificador.- Voting-Verification Report Generator , in charge of presenting a report of the electoral elections (in case the Verification system does not detect any type of fraud), or generating a report with the results of the Verification System.

Los datos son gestionados en el Sistema de Voto con las mismas tecnologías LDAP y SGBD utilizadas para el Sistema Anonimato, que tampoco difieren respecto a este primer sistema en cuanto a su funcionalidad. Cabe destacar en este caso que el servidor Ldap no solo proporciona el acceso seguro a las bases de datos, sino que además proporciona los perfiles y grupos de usuarios que pueden. utilizar el Sistema de Recuento, actuando el mismo como repositorio de los datos de usuarios.The data is managed in the Vote System with the same LDAP and DBMS technologies used for the System Anonymity, which also does not differ with respect to this first system in As for its functionality. It should be noted in this case that the Ldap server not only provides secure access to the bases of data, but also provides profiles and groups of users who can. use the Counting System, acting on same as repository of user data.

e) Sistema de Verificacióne) Verification System

En este caso la tecnología XML (eXtensible Markup Language) se utiliza como archivo de configuración de los diferentes parámetros de la aplicación. Entre ellos cabe destacar la hora del cierre electoral, que será el arranque de dicha entidad.In this case, the XML ( eXtensible Markup Language ) technology is used as a configuration file for the different application parameters. Among them, it is worth mentioning the time of the electoral closure, which will be the start of said entity.

Módulos que componen el Sistema de Verificación:Modules that make up the System Check:

- Verificación Parcial y Total, encargado de realizar la doble comprobación de que el número de votos es igual o inferior al número de votantes locales (comprobación parcial) y de que el número de votantes del sistema es igual o menor al número de votantes globales (comprobación total), es decir, que no hay más votantes en el Sistema que votantes censados en el universo de votantes.- Partial and Total Verification , responsible for double checking that the number of votes is equal to or less than the number of local voters (partial verification) and that the number of voters in the system is equal to or less than the number of global voters ( total check), that is, there are no more voters in the System than registered voters in the voter universe.

- Peso de los Votos, encargado de determinar el debido cumplimiento de las reglas establecidas por la entidad que solicitó el proceso electoral. Para ello se consulta el departamento o región del voto y su peso, verificando así su validez.- Weight of the Votes , responsible for determining due compliance with the rules established by the entity that requested the electoral process. For this, the department or region of the vote and its weight are consulted, thus verifying its validity.

       \newpage\ newpage
    

- Envío de Informes, encargado de recoger los resultados obtenidos, darles un determinado formato y enviárselos al Sistema de Recuento.- Sending Reports , in charge of collecting the results obtained, giving them a certain format and sending them to the Counting System.

Los datos son gestionados en el Sistema de Verificación con las mismas tecnologías LDAP y SGBD utilizadas en los sistemas anteriores, como el Sistema Anonimato.The data is managed in the System of Verification with the same LDAP and DBMS technologies used in the previous systems, such as the Anonymity System.

f) Base de datos Relación Usuario-Identidadf) Database Relationship User-Identity

Es la encargada de almacenar los datos del usuario, la identidad en el sistema (fragmentada) y el estado de los votantes (caso "se ha identificado, pero no ha votado", incidencias, etc.).It is responsible for storing the data of the user, the identity in the system (fragmented) and the status of voters (case "has been identified, but has not voted", incidents, etc.).

g) Base de datos Universo de Votantesg) Voter Universe Database

Es la encargada de establecer un rango de votantes del sistema (censo), que será emitido por la autoridad que solicite el proceso electoral.It is responsible for establishing a range of voters of the system (census), which will be issued by the authority that Request the electoral process.

h) Base de datos Urna electrónicah) Electronic Urn Database

Es la encargada de almacenar los votos emitidos por los votantes.It is responsible for storing the votes cast by the voters.

II. Flujos de datos entre los elementos del sistemaII. Data flows between system elements

Entre los elementos que constituyen la arquitectura básica del sistema (Sistema Anonimato, Sistema Voto, Sistema Recuento, Sistema Verificación, Base de datos Urna Electrónica, Base de Datos Universo de Votantes y Base de Datos Relación Usuario-Identidad) se producen las siguientes doce interconexiones o flujos de datos:Among the elements that constitute the basic system architecture (Anonymous System, Voting System, Count System, Verification System, Urn Database Electronics, Universe Database of Voters and Database User-Identity Relationship) the following twelve interconnections or data flows:

1) Clave Pública-Certificado.- El sistema Autoridad de Certificación envía al votante las claves públicas certificando las mismas.1) Public Key-Certificate.- The Certification Authority system sends the keys to the voter public certifying them.

2) Identidad Usuario.- El votante envía al Sistema de Anonimato los datos personales, y la clave asignada para su autentificación. Esto se hace por medio de claves de seguridad y un firewall.2) User Identity.- The voter sends the Anonymity System personal data, and the key assigned to your authentication This is done through security keys and a firewall

3) Datos Usuario.- El Sistema de Anonimato, a través del módulo Check Universo de Votantes, lee de la base de datos Universo de Votantes datos unívocos de cada usuario para la autentificación en el sistema, además del número total de votantes.3) User Data.- The Anonymity System, through the Universe of Voters module, reads from the Universe database of Voters unique data of each user for authentication in the system, in addition to the total number of voters.

4) Identidad en el sistema.- El Sistema de Anonimato re-direcciona al Sistema de Voto la identidad del votante en el sistema sin fragmentar.4) Identity in the system.- The System of Anonymity redirects to the Vote System the voter identity in the system without fragmenting.

5) Identidad en el sistema-voto.- El votante entrega al Sistema de Voto su voto, junto con la identidad sin fragmentar que le proporciona el Sistema de Anonimato.5) Identity in the voting system.- The voter delivers to the voting system your vote, along with the un fragmented identity provided by the Anonymity system.

6) Voto id-sistema.- El Sistema de Voto, a través del módulo Inserción de Voto, envía estos datos a la base de datos Urna electrónica y la actualiza con el voto y la identidad en el sistema sin fragmentar.6) Vote id-system.- The Vote System, through the Vote Insertion module, sends this data to the electronic Urn database and updates it with the vote and identity in the system without fragmenting.

7) Nº de votos totales-Peso Voto.- El Sistema Verificador, a través del módulo Verificación Parcial y Total, consulta a la base de datos Urna electrónica, en la que se da el total de los votos contabilizados. Por otro lado, se consulta el peso cuantitativo de cada voto en el caso de que se trate de accionistas, esto lo hace a través del módulo Peso de los Votos.7) Number of total votes-Voting Weight.- The Verifier System, through the Partial and Total Verification module, consults the electronic Urn database, in which the total number of votes counted is given. On the other hand, the quantitative weight of each vote is consulted in the case of shareholders, this is done through the Weight of Votes module.

8) Nº de votantes. El Sistema Verificador, a través del módulo Verificación Parcial y Total, consulta a la base de datos Relación Usuario-Identidad, en la que se da el número de votantes parciales que han hecho uso del sistema, y el de totales censados.8) Number of voters. The Verifier System, through the Partial and Total Verification module, consults the User-Identity Relationship database, in which the number of partial voters who have made use of the system, and that of censored totals.

9) Cod.bloq.Id-usuario (bidireccional).- El Sistema de Anonimato, a través módulo Check Status, comprueba en la base de datos Relación Usuario-Identidad que el votante se ha autentificado. Por otro lado, el Sistema de Anonimato, a través del módulo Inserción de Identidad, actualiza la base de datos local, en donde se introducen los datos personales y la identidad del votante en el sistema (fragmentada).9) ID-user lock code (bidirectional) .- The Anonymity System, through the Check Status module, checks in the User-Identity Relationship database that the voter has authenticated. On the other hand, the Anonymity System, through the Identity Insertion module, updates the local database, where personal data and voter identity are entered into the system (fragmented).

10) Cod.Bloq.voto.- El Sistema de Voto, a través del módulo Inserción de Bloqueo Voto, valida el voto del votante en la base de datos Relación Usuario-Identidad generando un bloqueo para que no vote una segunda vez. El Sistema de Anonimato, a través del módulo Check Status, consulta en la base de datos Relación Usuario-Identidad, que el votante ha votado.10) Cod.Bloq.voto.- The Voting System, through the Voting Block Insertion module , validates the voter's vote in the User-Identity Relationship database, generating a block to not vote a second time. The Anonymity System, through the Check Status module, queries the User-Identity Relationship database, which the voter has voted.

11) Test.- El Sistema Verificador, a través del módulo Envío de Informes, le envía al módulo Contador de votos del Sistema de Recuento, el informe de verificación de los comicios electorales, para que lo lea.11) Test.- The Verification System, through the module of Send Reports , sends to the module Counter of votes of the System of Count, the report of verification of the electoral elections, so that it reads it.

       \newpage\ newpage
    

12) Nº de Votos. El Sistema de Recuento, a través del, módulo Contador de votos, accede a la base de datos Urna. electrónica y contabiliza los votos almacenados, mediante un algoritmo de desfragmentación de votos.12) Number of Votes. The Counting System, through the module, Counter of votes , accesses the Urn database. electronic and counts stored votes, using a vote defragmentation algorithm.

El siguiente cuadro refleja cómo acceden los distintos sistemas a cada base de datos, que puede ser en modo lectura (LEC) o en modo escritura (ESC). El número indica el flujo de datos que corresponde a cada caso:The following chart reflects how they access different systems to each database, which can be in mode reading (LEC) or in writing mode (ESC). The number indicates the flow of data corresponding to each case:

1one

Obsérvese que el Sistema Anonimato accede a la base de datos Universo de Votantes en modo lectura, a través del flujo Datos usuario (3), y a la base de datos Relación Usuario-Identidad en modo lectura, a través del flujo Cod.Bloq.voto (10), y en modo escritura, a través del flujo Cod.Bloq.Id-Usuario (9). El sistema de Voto accede a la base de datos Relación Usuario-Identidad en modo escritura, a través del flujo Cod.Bloq.voto (10), y a la base de datos Urna electrónica también en modo escritura, a través del flujo Voto id-sistema (6). El Sistema Recuento únicamente tiene acceso a la Urna electrónica en modo escritura, a través del flujo Nº de Votos, mientras que el sistema de Verificación lo tiene a la base de daros Relación Usuario-Identidad y a la Urna electrónica, ambos en modo lectura, a través de los respectivos flujos nº de votantes (8) y Nº de votos totales-Peso Voto (7).Note that the Anonymity System accesses the Voter Universe database in read mode, through the User data flow (3), and to the Relationship database User-Identity in reading mode, through the Flow Cod.Bloq.voto (10), and in write mode, through the flow Cod.Bloq.Id-User (9). The voting system accesses the User-Identity Relationship database in mode writing, through the Cod.Bloq.voto (10) flow, and to the base of electronic urn data also in write mode, through the Voting system id flow (6). The Counting System you only have access to the electronic urn in writing mode, to through the flow Nº of Votes, while the system of Verification has it on the basis of data Relationship User-Identity and the Electronic Urn, both in reading mode, through the respective number of voters flows (8) and Total number of votes-Voting Weight (7).

III. SeguridadIII. Security a) Seguridad inherente a la votacióna) Security inherent in voting

Es la seguridad del sistema de votación telemática en su conjunto, consecuencia de sus componentes y funcionalidades ya descritas anteriormente.It is the security of the voting system telematics as a whole, consequence of its components and functionalities already described above.

Esta seguridad inherente al sistema es garantía de los siguientes requisitos que deben darse en todo proceso de votación:This security inherent in the system is a guarantee of the following requirements that must be met in any process of vote:

La autentificación del Votante.- Gracias a la intervención de una Autoridad de Certificación (que autentifica tanto a las maquinas implicadas como al votante, mediante la asignación de una clave personal para cada votante, se puede garantizar que los extremos en las comunicaciones son quien dicen que son.Voter authentication.- Thanks to the intervention of a Certification Authority (which authenticates both the machines involved and the voter, through the assignment of a personal key for each voter, you can ensure that the extremes in communications are who they say What are they.

El anonimato.- Para garantizar el anonimato del votante el sistema divide el proceso de votación en dos: la autentificación, donde el votante se le desarraiga de su identidad (proporcionándole otra para el sistema) y la votación. De este modo se sabe que un usuario "a" vota, pero no qué es lo que ha votado.Anonymity.- To guarantee the anonymity of Voter the system divides the voting process into two: the authentication, where the voter is uprooted from their identity (providing another for the system) and voting. In this way it is known that a user "a" votes, but not what has voted.

La imposibilidad de Coacción.- Al no poderse garantizar que un votante "V" ha votado a un candidato "C", por la resolución del punto anterior, no es viable la posibilidad de coaccionar a un votante ya que no habrá ninguna garantía de que lo haga.The impossibility of coercion.- Not being able to ensure that a voter "V" has voted for a candidate "C", due to the resolution of the previous point, the possibility of coercing a voter since there will be no guarantee that it does.

La identificación unívoca de los Votantes.- Esto se consigue con una especificación off-line por parte de la entidad que solicita las elecciones, en la definición del universo de votantes, unido además a la intervención de una Autoridad de Certificación, y las medidas de cifrado que se citan en el punto referente a "la seguridad en la comunicaciones", evitándose así cualquier posibilidad de que un votante sea suplantado y se vea privado de su derecho a voto.The unique identification of the Voters.- This is achieved with an off-line specification by part of the entity requesting the elections, in the definition of the universe of voters, together with the intervention of a Certification Authority, and the encryption measures cited in the point referring to "security in communications", thus avoiding any possibility of a voter being impersonated and be deprived of your right to vote.

La unicidad de Voto.- Tras la resolución del punto anterior y la funcionalidad del sistema de anonimato (Gestión de sesión y Check status) se puede controlar que cada votante sólo vota una vez, al quedar registrado su voto en el sistema.The uniqueness of Voting.- After the resolution of the previous point and the functionality of the anonymity system ( Session Management and Check status ) it can be controlled that each voter only votes once, when their vote is registered in the system.

El control de acceso.- Esto se consigue gracias a una clave personal transmitida junto con los certificados antes de la votación y el módulo de Gestión de sesión de los diferentes sistemas. Cabe destacar que si bien el sistema de voto no crea ninguna sesión sino que le viene dada, no admite ningún acceso que no haya pasado previamente por el Sistema de anonimato, quien sí verifica la existencia del usuario en el universo de votantes.Access control.- This is achieved thanks to a personal key transmitted along with the certificates before of the voting and session management module of the different systems. It should be noted that although the voting system does not create no session but it is given, does not support any access that has not previously gone through the Anonymity System, who has verify the existence of the user in the universe of voters.

El control de flujo.- En una arquitectura distribuida en dos Sistemas (en lo referente a los votantes) es importante controlar que no se pueda acceder remotamente a uno de ellos sin pasar previamente por el anterior. Para ello se gestiona la sesión, es decir, el sistema de Anonimato crea una sesión cuando se verifica que es un votante valido. Esta sesión contiene unos atributos específicos, que adquieren un valor determinado, y una vez obtenida la identidad en el sistema es redirigido al sistema de voto. Si un votante accediese remotamente al sistema de voto, este lo primero que comprobará es su sesión, verificando que no tiene la misma y por consiguiente que no ha pasado por el sistema de anonimato, redirigiéndole al mismo, para que siga un procedimiento habitual.Flow control.- In an architecture distributed in two systems (in relation to voters) is important to control that one of them without previously going through the previous one. This is managed the session, that is, the anonymity system creates a session when It is verified that you are a valid voter. This session contains some specific attributes, which acquire a certain value, and a Once the identity in the system is obtained, it is redirected to the system vote. If a voter accessed the voting system remotely, this The first thing you will check is your session, verifying that you do not have the same and therefore that has not gone through the system of anonymity, redirecting it, to follow a procedure habitual.

b) Seguridad antes de la votaciónb) Security before the vote

Es un proceso previo a la votación para controlar que las comunicaciones serán seguras; se relaciona con la seguridad del elemento Autoridad de Certificación.It is a pre-voting process to control that communications will be secure; It relates to the security of the Certification Authority element.

Para el autenticado y el cifrado de las comunicaciones el sistema utiliza una Autoridad de Certificación, lo que se conoce como notaria electrónica, que devolverá la CSR firmada por correo electrónico, y lo que es más importante, el Sistema de Voto enviará las claves personales y el certificado por correo electrónico.For the authentication and encryption of communications the system uses a Certification Authority, what is known as electronic notary, which will return the CSR signed by email, and more importantly, the Voting System will send personal keys and certificate by email.

El problema es que hoy en día hay numerosas herramientas que facilitan capturar, el tráfico de la red, y por consiguiente "espiar" los correos de los usuarios (bastaría con un Sniffer). Por ello, para proteger la integridad y la confidencialidad de los datos se acude a la criptografía, que ofrece diferentes herramientas para el envío de correos electrónicos certificados. No obstante, lo más importante es que ofrezcan un potente cifrado SSL y que sean transparentes de cara al Sistema.The problem is that today there are numerous tools that facilitate capture, network traffic, and by consequently "spy" users emails (it would suffice with a sniffer). Therefore, to protect integrity and Confidentiality of the data goes to cryptography, which offers different tools for sending emails certified electronics. However, the most important thing is that offer powerful SSL encryption and are transparent in the face of System.

c) Seguridad en las comunicacionesc) Communications security

Es sinónimo de seguridad en los flujos de datos.It stands for security in the flows of data.

Comunicaciones con el votante.- Para asegurar la comunicación entre el votante y el Sistema se utilizan certificados autenticados, a través de la Autoridad de Certificación, que ofrecen un cifrado de clave pública que garantizan la confidencialidad, la integridad y la accesibilidad.Communications with the voter.- To ensure the  communication between the voter and the System are used authenticated certificates, through the Authority of Certification, which offer a public key encryption that guarantee confidentiality, integrity and accessibility.

Las tecnologías empleadas a este efecto son: Emisión de Certificados Autenticados (por una AC) basados en el estándar X.509, por parte del Servidor y del cliente, y Protocolo SSL (Secure Socket Layer), que es un estándar mundial de la seguridad Web que en este caso se utiliza para el cifrado del canal de las comunicaciones.The technologies used for this purpose are: Issuance of Authenticated Certificates (by an CA) based on the X.509 standard, by Server and client, and Protocol SSL (Secure Socket Layer), which is a worldwide standard for Web security used in this case for channel encryption of communications

Los requisitos mínimos exigibles a las distintas Autoridades de Certificación candidatas para la implantación de este soporte tecnológico, son dos: Ofrecer un cifrado SSL no inferior a 128 bits, e implementar el protocolo SGC (Server Gated Cryptography).The minimum requirements for different  Certification Authorities candidates for the implementation of This technological support are two: Offer SSL encryption not less than 128 bits, and implement the SGC protocol (Server Gated Cryptography).

Comunicaciones entre los elementos del sistema.- El estándar de comunicación entre los distintos recursos de la aplicación (servidores, bases de datos, impresoras, etc.) es LDAPv3 (Lightweight Directory Access Protocol), que proporciona el control y la seguridad que este sistema requiere. En concreto se emplea OpenLDAP, debido a su transparencia absoluta (Open Source) ya que es compatible con todos los módulos.Communications between system elements.- The communication standard between the different resources of the application (servers, databases, printers, etc.) is LDAPv3 ( Lightweight Directory Access Protocol ), which provides the control and security that this system requires Specifically, OpenLDAP is used , due to its absolute transparency (Open Source) since it is compatible with all modules.

Algunas características interesantes de cara al sistema de LDAPv3 son: i) Poseer un soporte de autentificación fuerte gracias al uso de SASL (Simple Authentication and Security Layer), para ello hay que hacer uso del software Cyrus Sasl, ii) ofrecer mecanismos de protección de confidencialidad e integridad gracias al uso de TSL (o SSL), para ello hay que hacer uso del software OpenSSL, iii) control topológico, es decir, ofrecer la posibilidad de configurar el servicio (Slapd) para restringir el acceso a la capa de socket en base a la información topológica de la red, iv) mecanismos de control de acceso a los recursos del sistema, mediante creación de grupos y perfiles de usuarios, restricción de IPs, nombres. de dominio, etc., v) elección de Backend para las bases de datos, vi) posibilidad de levantar muchas instancias a diferentes (o iguales) bases de datos al mismo tiempo, vii) uso de hilos de ejecución para obtener un alto rendimiento, viii) altamente configurable.Some interesting features for the LDAPv3 system are: i) To have strong authentication support thanks to the use of SASL ( Simple Authentication and Security Layer ), for this we must make use of the Cyrus Sasl software, ii) offer protection mechanisms for confidentiality and integrity thanks to the use of TSL (or SSL), for this we must use OpenSSL software, iii) topological control, that is, offer the possibility of configuring the service (Slapd) to restrict access to the socket layer based on the topological information of the network, iv) mechanisms to control access to system resources, through the creation of groups and user profiles, IP restrictions, names. domain, etc., v) Backend choice for databases, vi) possibility of raising many instances to different (or equal) databases at the same time, vii) use of threads to obtain high performance, viii) highly configurable.

Transmisión en los canales de comunicación.- Hay tres posibilidades: Unir los equipos implicados con tarjetas de red aparte y un cable cruzado; criptografía; certificación y Autenticación de las máquinas implicadas. La elección dependerá del grado de seguridad que se pretenda adquirir, la opción 1 es la más básica y la tres la más segura (ya que incluye el cifrado). También se puede optar por combinaciones de ellas.Transmission in the communication channels.- There are Three possibilities: Join the teams involved with cards separate network and a crossover cable; cryptography; certification and Authentication of the machines involved. The choice will depend on degree of security that is intended to be acquired, option 1 is the most basic and three the most secure (since it includes encryption). Too you can choose combinations of them.

d) Seguridad Administrativad) Administrative Security Seguridad en el acceso a los servidores webSecurity in accessing web servers

Los servidores web dependerán del presupuesto de la autoridad que solicite las elecciones, pero en todo caso deberán tener los siguientes parámetros mínimos de configuración para que se establezca la seguridad deseada en el sistema, los cuales deberán ser verificados por el Administrador:Web servers will depend on the budget of the authority requesting the elections, but in any case they must have the following minimum configuration parameters to establish the desired security in the system, the which must be verified by the Administrator:

- ServerType: Indica al Servidor cómo debe manipular internamente las peticiones de los navegantes. El valor que deberá tener es Inetd, al dar prioridad a la seguridad, que al rendimiento del sistema (consumo de recursos, standa-
lone).
- ServerType: Tells the Server how to internally handle the requests of navigators. The value that it must have is Inetd, when giving priority to security, than to system performance (resource consumption, standa-
lone)

- ServerRoot: Indica donde se sitúan los archivos de configuración, errores, y registros. Es muy útil en seguridad administrativa en combinación con DocumentRoot.- ServerRoot: Indicates where the configuration files, errors, and logs. It is very useful in administrative security in combination with DocumentRoot.

- TimeOut: Indica el número de segundos antes de enviar un timeout. Este parámetro es muy importante para optimizar el rendimiento del sistema, más con la configuración del ServerType con Inetd. Imagínese que por cualquier motivo entra el servidor en un bucle infinito, esto consumiría muchos recursos (memoria, micro, una instancia en el sistema...), por lo tanto este parámetro tiene que estar muy ajustado para obtener un alto rendimiento.- TimeOut: Indicates the number of seconds before  Send a timeout. This parameter is very important to optimize system performance, more with the ServerType configuration with Inetd. Imagine that for any reason the server enters an infinite loop, this would consume many resources (memory, micro, an instance in the system ...), therefore this parameter has You have to be very tight to get a high performance.

- Port: Permite determinar el puerto de servicio de la aplicación. En principio, el puerto 8080 (el más corriente) será el puerto de acceso, pero el resto de puertos deben ser controlados por el Firewall del Sistema con el objetivo de evitar la obtención de información que pueda ser utilizada en contra.- Port: Determine the service port of the application. In principle, port 8080 (the most common) it will be the access port, but the rest of the ports must be controlled by the System Firewall in order to avoid obtaining information that can be used against.

- ServerAdmin: Ofrece la posibilidad de incluir la dirección de correo electrónico del Administrador con el objetivo de que si sucede algún error, informarle del mismo.- ServerAdmin: Offers the possibility of including the email address of the Administrator with the aim that if an error happens, inform him of it.

- ServerName: Parámetro para modificar la IP o el nombre del dominio puesta durante la instalación del Servidor.- ServerName: Parameter to modify the IP or the domain name set during the installation of the Server.

- DocumenRoot: Este parámetro, también llamado root virtual, indica al servidor dónde puede obtener las paginas Web solicitadas, es decir, le indica que ha de considerar el directorio especificado como el path del nivel superior. La elección de este directorio es muy importante, por ejemplo si el valor del DocumenRoot fuese "./" o "c:/", podría acceder a todo el disco duro, (obviamente no tendría permisos de directorios).- DocumenRoot: This parameter, also called virtual root, tells the server where it can obtain the requested Web pages, that is, it indicates that it must consider the specified directory as the path of the upper level. The choice of this directory is very important , for example if the value of the DocumenRoot were "./" or "c: /", you could access the entire hard disk, (obviously you would not have directory permissions).

Si fuera preciso aumentar la seguridad, se podría, para un mayor orden y seguridad-administrativa, separar en dos discos duros los archivos del sistema operativo, junto con la instalación del Servidor, y en el otro disco, las páginas Web.If it were necessary to increase security, could, for greater order and security-administrative, separate into two disks Hard operating system files, along with installation from the Server, and on the other disk, the Web pages.

Para acceder a los diferentes recursos e información web del sistema se utiliza un protocolo OpenLdap. Los servidores de directorio LDAP (Lighweight Directory Access Protocol) almacenan sus datos jerárquicamente, de una forma muy parecida a la forma en que un Sistema Unix estructura sus directorios. Esta estructura jerárquica es beneficiosa por varias razones: Primero, porque permite establecer unos determinados privilegios a un grupo de individuos basándose en el árbol de directorios, segundo, porque permite realizar búsquedas de recursos o información de una manera más eficiente, y, tercero, porque también permite el control de acceso a determinados recursos por determinados usuarios, definiendo cómo trabajan con ellos (lectura, escritura o ambas).To access the different resources and System web information uses an OpenLdap protocol. The LDAP directory servers (Lighweight Directory Access Protocol) stores your data hierarchically, in a very similar to the way a Unix System structures its directories This hierarchical structure is beneficial by several Reasons: First, because it allows to establish certain privileges to a group of individuals based on the tree of directories, second, because it allows you to search for resources or information in a more efficient way, and, third, because it also allows access control to certain resources by certain users, defining how they work with them (reading,  writing or both).

LDAP proporciona un complejo control de instancias o ACIs, que permite definir cómo se almacena o recupera la información, en base a los perfiles de los usuarios y éstos deben ser administrados.LDAP provides a complex control of instances or ACIs, which allows you to define how it is stored or retrieved the information, based on user profiles and these They must be administered.

Seguridad en el acceso a las bases de datosSecurity in access to databases

El administrador de la base de datos deberá definir los perfiles de usuario de todos los clientes que puedan acceder a los almacenes de datos, especificando la manera de acceder a los mismos (lectura, escritura o ambas) y a qué datos pueden o no acceder. Esto depende de la implementación de las bases de datos, y éstas a su vez pueden variar atendiendo a la entidad que solicite las elecciones.The database administrator must Define the user profiles of all customers who can access data stores, specifying the way to access them (read, write or both) and what data They may or may not access. This depends on the implementation of the bases of data, and these in turn may vary according to the entity To request the elections.

El modelo conceptual que se implemente para el acceso a los almacenes de datos es independiente de la forma (lectura/escritura) en que los distintos sistemas de la arquitectura acceden a las bases de datos mediante las correspondientes interconexiones o flujos de datos (ver última tabla).The conceptual model that is implemented for the access to data stores is independent of the way (reading / writing) in which the different systems of the architecture access the databases through the corresponding interconnections or data flows (see last table).

Seguridad en la gestión de los Logs del SistemaSecurity in the management of the System Logs

Los ficheros logs y los registros de incidencias son esenciales para una posible reclamación individual del voto.Log files and incident logs are essential for a possible individual claim of the vote.

Los ficheros tipo log son archivos, generalmente de texto, que crea el propio ordenador para almacenar o registrar todos los eventos que ocurren en el sistema.Log files are files, usually of text, which creates the computer itself to store or register All events that occur in the system.

Los ficheros de log es una opción del sistema que proporciona las trazas de ejecución de una determinada instancia. Estos ficheros se reparten entre los diferentes sistemas de modo que una persona que quisiese reconstruir una instancia determinada (de un votante), debería tener los permisos y el acceso en todos los sistemas implicados.Log files is a system option which provides the execution traces of a given instance. These files are distributed among the different systems so that a person who wanted to rebuild an instance determined (from a voter), you should have the permissions and access in all the systems involved.

Los registros de incidencias se diferencian del los ficheros de log, en que se centran más en la interacción con el sistema que en los datos que entran y salen de los diferentes sistemas. Por otra parte, éstos se almacenan en las diferentes bases de datos, mientras que los ficheros de log se almacenan en los distintos servidores.Incident records differ from log files, which focus more on the interaction with the system that in the data entering and leaving the different systems. Moreover, these are stored in the different databases, while log files are stored in The different servers.

En el sistema de voto telemático en cuestión los ficheros logs tienen la función de registrar los eventos que ocurren en el Sistema (operativo), aplicaciones incluidas. Por lo tanto son de gran importancia para monitorizar el sistema antes, durante y después del proceso de votación, para garantizar la ausencia manipulación alguna, o, si la hay, determinar donde y quien ha sido.In the telematic voting system in question the  Log files have the function of recording the events that occur in the System (operational), applications included. For the both are of great importance to monitor the system before, during and after the voting process, to ensure the Absence any manipulation, or, if any, determine where and who has been

Muchos de los ficheros de logs son en texto plano y, por lo tanto, su edición y manipulación es relativamente sencilla (una vez adquiridos los permisos), por lo que se han establecido mecanismos de logs distribuidos o remotos (seguros) y administrados por personal distinto.Many of the log files are in text flat and therefore its editing and manipulation is relatively simple (once the permits have been acquired), so they have established distributed or remote (secure) log mechanisms and managed by different personnel.

La información mínima a recabar en los logs, es la siguiente:The minimum information to collect in the logs is The next:

--
Todas las autentificaciones, buenas o fallidas.All Authentication, good or failed.

--
Los mensajes provenientes del Kernel.The messages from the kernel.

--
Los mensajes de arranque del sistema.The system boot messages.

--
Un registro de logins fallidos cuando supera un número de errores determinado.A logins failed when it exceeds a number of errors determined.

--
Un registro con la información sobre las ejecuciones de la orden "su".A record with information about the executions of the order "its".

--
Un fichero de log que almacene todos los log por defecto, y así sirve para comprobar posibles modificaciones en un fichero de log determinado.A log file that stores all the log by default, and so it works to check possible modifications to a log file determined.

Para logear toda esta información hay que configurar correctamente el fichero /etc/syslog.conf, lo que será tarea del Administrador de sistema. Sin embargo, esto crea varios interrogantes, derivados de que el Administrador del sistema podría tener algún fallo o podría llegar a ser capcioso. Por ello, se ha previsto que no sea un único Administrador del sistema el encargado de configurar el fichero /etc/syslog.conf, sino que por cada sistema principal del Sistema VT (de anonimato, de Voto, de recuento y de verificación), existan tres administradores del sistema que diseñen conjuntamente el fichero syslog.conf, y que posteriormente cada uno de ellos monitorice los ficheros de log en tres máquinas diferentes, es decir, que los log no se registren de manera local en la maquina en cuestión sino en tres computadoras diferentes y aisladas del mundo exterior (sin conexión a Internet, sólo a su Sistema).To log all this information you have to correctly configure the file /etc/syslog.conf, which will be System Administrator task. However, this creates several questions, derived from which the System Administrator could have a fault or could become tricky. Therefore, it has provided that it is not a single System Administrator in charge to configure the file /etc/syslog.conf, but for each main system of the VT System (of anonymity, of voting, of count and verification), there are three administrators of the system that jointly design the syslog.conf file, and that subsequently each of them monitor the log files in three different machines, that is, that the logs do not register local way on the machine in question but on three computers different and isolated from the outside world (no internet connection, only to your system).

Este sistema de logs distribuidos tiene varias ventajas: En primer lugar, es difícil de atacar, ya que el atacante deberá no sólo poner en cuestión al sistema "padre" sino también a cada "hijo", en caso contrario quedaría al descubierto y peligraría su integridad en el sistema. Por otro lado, como está previsto que la información de los tres sistemas "hijos" sea la misma, se consigue una mayor consistencia, y menor posibilidad de manipulación de datos por parte de un administrador capcioso. Y al estar previsto también que estos sistemas "hijos", de logeo, estén dedicados exclusivamente a su función, el número de procesos contenidos el sistema es muy reducido, y por lo tanto fácil de proteger.This distributed log system has several Advantages: First, it is difficult to attack, since the attacker should not only question the "father" system but also to each "son", otherwise it would remain at discovered and would jeopardize its integrity in the system. For another side, as it is planned that the information of the three systems "children" be the same, you get more consistency, and less possibility of data manipulation by a Tricky administrator And also being provided that these systems "children", of logeo, are dedicated exclusively to their  function, the number of processes contained in the system is very reduced, and therefore easy to protect.

En este caso el Firewall es una entidad fundamental, ya que la transmisión de los logs es por el puerto 514 UDP, y por tanto nos asegurar el tener controlados los diferentes puertos e ips.In this case the Firewall is an entity fundamental, since the transmission of the logs is through port 514 UDP, and therefore ensure that we have controlled the different ports and ips.

e) Seguridad de los datose) Data security

Es la seguridad de los datos almacenados en los elementos bases de datos, al margen de las restricciones de uso que se puedan hacer de ellas según el sistema del que se trate.It is the security of the data stored in the database elements, regardless of the restrictions of use that they can be made according to the system in question.

Los datos referentes a los Votantes y al proceso de votación se almacenan en bases de datos. Desde el punto de vista del almacenamiento físico los datos están contenidos en uno o varios ficheros, atendiendo al sistema de gestión de base de datos que se utilice. Por ejemplo, en Mysgl, los datos son contenidos en ficheros .txt, legibles por cualquier usuario que tenga permisos de lectura, y editable, por cualquiera que tenga permisos de lectura, escritura. En Oracle, la información de una tabla se distribuye en diferentes ficheros, que unido a la codificación de su contenido (no es legible, sino es por medio del SGBD), nos da una mayor seguridad.Data referring to Voters and the process Voting are stored in databases. From the point of view of the physical storage the data is contained in one or several files, according to the database management system to be used For example, in Mysgl, the data is contained in .txt files, readable by any user who has permission to reading, and editable, by anyone who has read permissions, writing. In Oracle, the information in a table is distributed in different files, which together with the coding of their content (It is not readable, but it is through the DBMS), it gives us greater security.

En cualquier caso, para garantizar la integridad y la confidencialidad de los datos siempre se puede recurrir a un cifrado de claves simétricas del contenido de la, información sensible de la base de datos (los mismos SGBD, los proveen), por lo que es lógico pensar que un supuesto atacante lo hará a través del SGBD (Sistema de Gestión de Base de Datos), y no directamente sobre los ficheros donde físicamente están contenidos los datos. Atendiendo a esta hipótesis, el usuario fraudulento debería suplantar a un usuario del sistema, a un administrador, o incluso a un super-administrador. Esto podría llegar a suceder, bien por la pericia del atacante o bien porque sea el propio administrador o super-administrador (más probable).In any case, to ensure integrity and the confidentiality of the data can always be resorted to a Symmetric key encryption of the content of the information sensitive database (the same DBMS, provide them), so which is logical to think that an alleged attacker will do it through the DBMS (Database Management System), and not directly on the files where the data is physically contained. In response to this hypothesis, the fraudulent user should impersonate a system user, an administrator, or even A super administrator. This could reach happen, either because of the skill of the attacker or because it is the own administrator or super-administrator (more probable).

Las medidas lógicas a establecer para evitar este posible ataque, son las siguientes:The logical measures to establish to avoid This possible attack, are the following:

Log del sistema de gestión de base de datos.- Todo sistema gestor de base de datos que se precie como tal tiene herramientas de log que permiten registrar, desde quien abre una instancia en el sistema, hasta posibles errores en el inicio, transcurso y parada. De este modo se puede establecer quién manipuló ilícitamente el contenido de la base de datos.Log of the database management system.- Every database management system that boasts as such has log tools that allow you to register, from whom you open a instance in the system, until possible errors at startup, course and stop. This way you can establish who unlawfully manipulated the content of the database.

Administración de la base de datos.- Restringir el acceso a determinas tablas o columnas atendiendo al usuario suplantado (o al que pertenezca el atacante, en caso de fraude interno).Database administration.- Restrict access to certain tables or columns serving the user supplanted (or to which the attacker belongs, in case of fraud internal).

Diseño lógico del Sistema.- Diseñar las bases de datos de tal modo que la información sensible que contenga cada tabla necesite de un procesamiento para tener sentido. Para ello, tanto los usuarios (la identidad en el Sistema), como el voto, y lo votado, serán números, y estos estarán en la base de datos fragmentados, necesitando así de diversos algoritmos contenidos en los diferentes sistemas para unificarse en un sólo número y así tener
sentido.
Logical Design of the System.- Design the databases in such a way that the sensitive information contained in each table needs processing to make sense. For this, both users (the identity in the System), as well as the vote, and the vote, will be numbers, and these will be in the fragmented database, thus needing various algorithms contained in the different systems to unify in a single number and so have
sense.

Cabe destacar que el diseño de fragmentación y desfragmentación es de caja abierta, es decir, no obligamos a que sea un algoritmo en concreto sino que se deja abierta la puerta a una implementación libre atendiendo al tipo de respuestas esperadas. Para la implementación del sistema se exige la elección de un algoritmo que sea inviable la resolución manual aun conociendo el mismo, por ejemplo un sistema de n ecuaciones con n incógnitas siendo n > 50. O un algoritmo exponencial tal que si no se programa de una forma adecuada, se produzca un desbordamiento de la memoria.It should be noted that the fragmentation design and defragmentation is open box, that is, we do not force that be a specific algorithm but the door is left open to a free implementation according to the type of expected responses. For the implementation of the system, the choice of a algorithm that is unfeasible manual resolution even knowing the same, for example a system of n equations with n unknowns being n> 50. Or an exponential algorithm such that if it is not program in an appropriate way, there is an overflow of the memory.

En consecuencia, se buscan algoritmos de elevado coste de procesamiento. Además estos algoritmos se ubican en dos partes diferentes del Sistema: la fragmentación del voto, se encuentra en los diversos Sistemas de Voto, mientras que la desfragmentación se encuentra en el sistema de Recuento.Consequently, high algorithms are sought processing cost In addition these algorithms are located in two different parts of the System: the fragmentation of the vote, it found in the various voting systems, while the Defragmentation is in the Counting system.

El Sistema de Voto, en cuanto a carga de procesamiento, es leve, debido a que es un sistema distribuido entre los diferentes departamentos o regiones (reducido grupo de usuarios), encargándose de recibir los voto de los votantes y devolver la validación de la votación. Toda la anterior interacción con los votantes recae sobre el Sistema de Anonimato.The Vote System, in terms of load of processing is mild, because it is a distributed system between different departments or regions (small group of users), in charge of receiving voter votes and return the validation of the vote. All the previous interaction with the voters it falls on the Anonymity System.

En cuanto al Sistema de Recuento, su carga de procesamiento es justo esa, contabilizar los votos, que puede llegar a ser grande atendiendo al algoritmo de desfragmentación, aunque la característica de ser un proceso off-line, es decir, que entra en funcionamiento cuando los votantes ya han emitido sus votos, juega a su favor.As for the Counting System, its burden of processing is just that, count the votes, which can become large in response to the defragmentation algorithm, although the characteristic of being a process off-line, that is, it comes into operation When the voters have already cast their votes, they play in their favor.

Esta división de algoritmos (Sistema de Voto, fragmenta los votos, y Sistema de recuento los vuelve a unificar) proporciona una capa más de seguridad (sobretodo ante ataques internos), al repartir la responsabilidad entre diferentes partes del Sistema y por consiguiente se necesita la cooperación y permisos de los mismos.This division of algorithms (Vote System, fragments the votes, and recount system unifies them again) provides a layer of security (especially against attacks internal), by distributing responsibility among different parties of the System and therefore cooperation and permission of the same.

f) Seguridad del Sistema de Verificaciónf) Verification System Security

La seguridad del sistema de verificación queda ya definida por las funciones propias de este elemento de la arquitectura básica, el cual favorece la transparencia de los comicios, así como la imposibilidad de fraude electoral por parte de terceros.The security of the verification system is already defined by the functions of this element of the basic architecture, which favors the transparency of elections, as well as the impossibility of electoral fraud by third parties.

Verificación global.- Realizada por el propio Sistema de Verificación, quien se encarga de hacer tres verificaciones: 1) Que el número de votantes es igual o inferior al número de votos; 2) que el número de votantes es igual o inferior al Universo de Votantes; y 3) que el peso de los votos es el correcto, para cada voto.Global verification.- Performed by the own Verification System, who is responsible for making three Verifications: 1) That the number of voters is equal to or less than number of votes; 2) that the number of voters is equal or lower to the Universe of Voters; and 3) that the weight of the votes is the correct, for each vote.

Verificación Individual.- Esta posibilidad técnicamente es factible. Su objetivo es que cada votante pueda comprobar durante un periodo de tiempo su voto, sin perder el anonimato. Sin embargo, en caso de una reclamación, se levantaría la instancia en cuestión en sentido inverso (adquiriendo previamente todos los privilegios en los diferentes Sistemas), perdiendo así el anonimato, y por consiguiente vulnerando la ley, por lo que en este proyecto no ha sido contemplada.Individual Verification.- This possibility It is technically feasible. Your goal is that each voter can check your vote for a period of time, without losing the anonymity. However, in case of a claim, it would rise the instance in question in the opposite direction (previously acquiring all privileges in the different Systems), thus losing the  anonymity, and therefore violating the law, so in This project has not been contemplated.

En definitiva, el sistema de la presente invención no se limita a introducir un sistema de voto telemático en los sistemas de voto actuales, sino que propone una reestructuración de los procesos electorales en sí mismos, lo que supone una auténtica innovación, ya sean procesos públicos o privados.In short, the system of this invention is not limited to introducing a telematic voting system in current voting systems, but proposes a restructuring of the electoral processes themselves, which It is a real innovation, whether public processes or private.

Esta reestructuración se da porque se crea un proceso de votación totalmente electrónico, con todas las fases informatizadas, pudiéndose aplicar independientemente del lugar donde se encuentre el votante, a diferencia de todos los sistemas de voto electrónico desarrollados e implementados hasta la fecha, que necesitan de la presencia física del votante en el momento de la votación.This restructuring occurs because it creates a Fully electronic voting process, with all phases computerized, being able to apply independently of the place where the voter is located, unlike all systems of electronic voting developed and implemented to date, who need the physical presence of the voter at the time of the vote

Pero además de dicha ventaja fundamental de poder votar por Internet, el sistema introduce otras ventajas importantes, algunas de las cuales consecuencia directa de la misma, que a continuación se comentan.But in addition to that fundamental advantage of to vote online, the system introduces other advantages important, some of which direct consequence of the same, which are discussed below.

Informatización y centralización del proceso.- El sistema guarda la información sobre el voto, así como la información sobre quién ha votado, en bases de datos centrales, aunque independientes entre sí. Esto mejora el sistema tradicional en el que los encargados de la mesa electoral tenían información sobre quien votaba y quién no lo hacía, vulnerando así la premisa de la identidad del votante en cualquier caso, no solo en el de voto.Computerization and centralization of the process.- The system saves information about the vote, as well as the information on who has voted, in central databases, although independent of each other. This improves the traditional system in which those in charge of the polling station had information on who voted and who did not, thus violating the premise of the voter's identity in any case, not only in that of vote.

Disminución de la posibilidad de coacción.- Debido a que no es necesaria la presencia física en el lugar de la votación, pudiendo hacerlo desde casa, queda anulada cualquier posibilidad de coacción en el momento del voto, quedando reducida a la misma seguridad y privacidad que puede tener uno en su propio hogar.Decrease in the possibility of coercion.- Because physical presence is not necessary in the place of voting, being able to do it from home, any possibility of coercion at the time of the vote, being reduced to the same security and privacy that one can have on their own home.

       \newpage\ newpage
    

Capacidad de adaptación.- Se ha diseñado un sistema con capacidad modular, es decir, cualquiera de sus elementos puede ser modificado para adaptarse a la normativa que tenga el proceso de voto en cuestión. Se podría, por ejemplo, permitir más de un voto por persona, votos no anónimos, o el uso de porcentajes de decisión por voto.Adaptability.- A design has been designed system with modular capacity, that is, any of its elements can be modified to adapt to the regulations that Have the voting process in question. It could, for example, allow more than one vote per person, non-anonymous votes, or the use of Percentages of decision by vote.

Facilidad de manejo.- Otra ventaja a destacar es la facilidad de manejo de cara al votante, para él todo ocurre en tres pantallas diferentes, una última que le informa de que su voto ha sido contabilizado correctamente.Ease of handling.- Another advantage to highlight is ease of handling for the voter, for him everything happens in three different screens, one last that informs you that your vote It has been counted correctly.

Eliminación del voto por correo garantizando la posibilidad de ejercer el derecho a voto en cualquier caso.- Con este sistema los usuarios que se encuentren fuera de España o no puedan desplazarse hasta los colegios electorales podrán votar desde su propia casa, como todos los demás.Elimination of the vote by mail guaranteeing possibility of exercising the right to vote in any case.- With this system users who are outside of Spain or not they can travel to the polling stations they can vote from his own house, like everyone else.

Compatibilidad con el proceso electoral actual.- El sistema de la presente invención se ha diseñado de tal manera que fuese compatible con el proceso tradicional. Para una implantación híbrida del proceso de voto estatal más cercana a los votantes solo sería necesario contar con listas centralizadas donde los vocales pudiesen informar de que esa persona ha votado por el sistema tradicional.Compatibility with the current electoral process.- The system of the present invention has been designed in such a way That was compatible with the traditional process. For one hybrid implementation of the state voting process closest to the voters would only need to have centralized lists where the members could report that this person has voted for the traditional system

Publicidad gratuita a las ideas de todas las candidaturas.- Este sistema ofrece las mismas oportunidades a todos los participantes, independientemente de su ideología o afiliación política. Por ello, durante el proceso de alta de candidatos se ha incluido un módulo con el cual todos los candidatos poseen un espacio en el servidor para exponer sus ideas, así como para incluir vínculos externos a sus propias páginas.Free advertising to the ideas of all applications.- This system offers the same opportunities to all the participants, regardless of their ideology or affiliation politics. Therefore, during the process of registering candidates including a module with which all candidates have a server space to expose your ideas as well as to Include external links to your own pages.

Generación automática e instantánea de los resultados.- Dado que este proceso de voto se basa en sistemas informáticos por completo se dispone de todas las características y facilidades que éstos ofrecen: permite que las urnas electorales se abran y cierren exactamente a unas horas prefijadas, el recuento de votos, que normalmente tarda algunas horas, podría ser prácticamente instantáneo, pudiendo ser los resultados publicados en Internet.Automatic and instant generation of Results.- Since this voting process is based on systems Full computer features all the features and facilities they offer: allows the polls to be open and close exactly at a predetermined time, the count of votes, which normally takes a few hours, could be practically instantaneous, the results may be published In Internet.

Aplicación con un flujo robusto.- Otra cuestión que se ha tenido en cuenta en el diseño es que el proceso de votación debe darse en una serie de pasos concretos y seguidos, de manera que ningún usuario malicioso pueda tomar un camino alternativo. Por ello se han introducido las sesiones volátiles, aumentando la seguridad puesto que ningún usuario puede saltarse ningún paso del proceso. Además, esto permite tener en cuenta ciertas particularidades para cada usuario. Hay que destacar que el uso de este tipo de sesiones volátiles no permite más de un voto por persona, aunque haya comenzado veinte sesiones volátiles desde el inicio de la votación solo podrá votar una vez y no podrá iniciar ninguna después.Application with a robust flow.- Another issue that has been taken into account in the design is that the process of Voting must be taken in a series of concrete steps followed by so that no malicious user can take a path alternative. This is why volatile sessions have been introduced, increasing security since no user can skip No process step. In addition, this allows to take into account certain peculiarities for each user. It should be noted that the  Use of this type of volatile sessions does not allow more than one vote per person, even if you have started twenty volatile sessions since the beginning of the vote may only vote once and may not Start any later.

Verificación automática de los resultados.- Una ventaja más que presenta el presente sistema de votación telemática es la verificación automática de los resultados.. Esto no se puede permitir, pero si ocurriera deben existir m Este sistema presenta mecanismos que detectan y notifican a las autoridades pertinentes si se ha intentado modificar los resultados por intereses particulares.Automatic verification of the results.- One advantage more than this telematic voting system presents is the automatic verification of the results .. This cannot be done allow, but if it should occur they must exist m This system presents mechanisms that detect and notify the relevant authorities if you have tried to modify the interest results private individuals

Seguridad del sistema.- Como es un sistema en el que todos los procesos dependen solo de máquinas, el error y la maldad humana no son aplicables. Como se ha explicado, cada máquina utilizada es una caja cerrada inaccesible con una cierta lógica interna. Éstas máquinas estarán supervisadas por distintos actores humanos, con diferentes intereses en los resultados, por lo que se garantiza que no se creará un complot a gran escala. Además, los códigos con la lógica interna de las máquinas serán hechos públicos. La seguridad del proceso y de los datos estará garantizada aunque los códigos sean públicos por lo que se puede ofrecer un sistema de seguridad robusto a la vez que una lógica de actuación transparente.System security.- How is a system in the that all processes depend only on machines, error and Human evil are not applicable. As explained, each machine used is an inaccessible closed box with a certain logic internal These machines will be supervised by different actors humans, with different interests in the results, so that guarantees that a large-scale plot will not be created. In addition, the codes with the internal logic of the machines will be made public The process and data security will be guaranteed even if the codes are public so you can offer a robust security system while a logic of transparent performance.

Algunas ventajas de estos mecanismos son: i) generación de identidades aleatorias, los datos del usuario nunca se asocian al voto emitido por éste directamente; ii) fragmentación de la información, esto quiere decir que para recuperarla es necesario resolver ciertos algoritmos diferentes repartidos entre varios sistemas: iii) control de acceso mediante claves personales emitidas de forma segura por la Autoridad que gestiona el proceso electoral; iv) restricción del acceso administrativo para garantizar que solo puede acceder físicamente a cada máquina el administrador acreditado; v) registro de prácticamente todas las acciones que realiza el sistema, y solo la autoridad competente podrá, tras el proceso de votación y de forma excepcional, consultarlos en caso de reclamaciones; vi) utilización de certificados digitales, emitidos por Autoridades de Certificación de fe pública, que deben ser ajenas al sistema de votación y proporcionar un servicio con la suficiente profesionalidad, dependiendo de las necesidades de la implementación en cada caso; vii) mecanismos de seguridad informáticos, a parte de los mecanismos de seguridad especificados más arriba existen muchos otros pero que están más relacionados con la informática propiamente dicha que con el presente diseño. Este tipo de mecanismos van desde cortafuegos informáticos, que impiden los ataques externos, hasta el uso de software inmune a virus, que impide ataques de tipo troyano.Some advantages of these mechanisms are: i) random identity generation, user data never they are associated with the vote cast by it directly; ii) fragmentation of information, this means that to retrieve it is it is necessary to solve certain different algorithms spread among several systems: iii) access control through personal keys issued safely by the Authority that manages the process electoral; iv) restriction of administrative access for ensure that only each machine can physically access the accredited administrator; v) registration of virtually all actions performed by the system, and only the competent authority may, after the voting process and exceptionally, consult them in case of claims; vi) use of digital certificates, issued by Certification Authorities of public faith, which must be outside the voting system and provide a service with sufficient professionalism, depending on the needs of the implementation in each case; vii) computer security mechanisms, apart from security mechanisms specified above there are many others but that are more related to computer science proper that with the present design. This type of mechanisms range from computer firewalls, which prevent external attacks, even the use of virus-immune software, which prevents Trojan attacks.

Para una mejor comprensión del sistema de votación cuya patente se reivindica, y especialmente con vistas a la explicación que a más abajo se realiza sobre la forma en que en la práctica se lleva a cabo, se acompaña a esta memoria descriptiva dos dibujos ilustrativos: El dibujo de la Figura 1 es un esquema del proceso global de votación, con los ocho elementos principales del sistema y los doce flujos de datos que entre ellos tienen lugar, mientras que la Figura 2 es una recreación del caso práctico de implementación del proceso de votación que se comenta al final de la descripción.For a better understanding of the system vote whose patent is claimed, and especially with a view to the explanation below is made about the way in which the practice is carried out, it is accompanied by this descriptive report Two illustrative drawings: The drawing in Figure 1 is an outline of the global voting process, with the eight main elements of the system and the twelve data flows between them place, while Figure 2 is a recreation of the case study of implementation of the voting process discussed at the end of the description.

Modo de ejecuciónExecution mode

Tomando como referencia el esquema global del proceso de votación telemática ilustrado en la Figura 1, pasamos a continuación a hacer una exposición detallada de su forma de implantación en la vida real.Taking as a reference the global scheme of telematic voting process illustrated in Figure 1, we turn to then make a detailed presentation of your way of Real life implantation.

Para ello es necesario previamente establecer los perfiles de las personas que intervienen en el proceso, al margen de los propios votantes, para luego describir las diferentes fases de la implantación. La exposición se cierra con un caso práctico puesto como ejemplo.For this it is necessary to establish the profiles of the people involved in the process, by margin of the voters themselves, then describe the different phases of implantation. The exhibition closes with a case practical as an example.

I. Personas que intervienen en el procesoI. People involved in the process

En la puesta en práctica del sistema de votación telemática a través de Internet desarrollado intervienen, como mínimo, los agentes siguientes:In the implementation of the voting system  telematics through the developed Internet intervene, such as minimum, the following agents:

Entidad que solicita las elecciones.- Deberá facilitar un listado de los votantes, así como el peso de voto de cada uno, y acondicionar, en caso de que así se acuerde, las salas necesarias para la instalación y uso de los equipos informáticos. Además se encarga de elegir la Autoridad de Certificación, en función del presupuesto que tenga y las ofertas que reciba, siempre que cumplan los requisitos mínimos: ofrecer un cifrado SSL no inferior a 128 bits e implementar el protocolo SGC (Server Gated Cryptography).Entity requesting the elections.- You must provide a list of the voters, as well as the voting weight of each one, and prepare, in case it is agreed, the rooms necessary for the installation and use of the computer equipment. It is also responsible for choosing the Certification Authority, depending on the budget you have and the offers you receive, provided that they meet the minimum requirements: offer SSL encryption not less than 128 bits and implement the SGC ( Server Gated Cryptography ) protocol.

Administrador.- Sus funciones o tareas serán: i) verificar que el servidor web cumple los requisitos mínimos; ii) crear y gestionar a los diferentes usuarios y grupos de usuarios del Sistema; iii) configurar de manera correcta el demonio Slapd, donde se especifica las interfaces por donde se escucha, contenidas en la variable, Slapd Services. El protocolo de comunicación que se deberá especificar es el ldaps; iv) configurar de manera correcta los ficheros .ldap .conf, donde está definida la configuración global de los clientes Ldap; v) configuración y gestión correcta del OpenSSL, para los certificados, renovación de claves, etcétera; vi) configurar correctamente el fichero /etc/syslog.conf.Administrator.- Its functions or tasks will be: i)  verify that the web server meets the minimum requirements; ii) create and manage different users and user groups of the system; iii) configure the Slapd daemon correctly, where you specify the interfaces where you listen, contained in the variable, Slapd Services. The communication protocol that you must specify is the ldaps; iv) set up correctly the .ldap .conf files, where the configuration is defined global customers Ldap; v) correct configuration and management OpenSSL, for certificates, key renewal, etc.; vi) correctly configure the file /etc/syslog.conf.

Técnicos informáticos.- Forman parte de la seguridad activa del proceso, su función es controlar que todos los parámetros de seguridad del sistema permanecen estables.Computer technicians.- They are part of the active safety of the process, its function is to control that all  System security parameters remain stable.

II. Forma de realizaciónII. Embodiment

Antes de la votación, el sistema ya tiene una base de datos de los votantes (Universo de Votantes), facilitada por la entidad que solicita la votación, con algún dato personal, por ejemplo un email, y con el peso del voto de cada votante, si hubiera diferencias.Before the vote, the system already has a database of voters (Universe of Voters), provided by the entity requesting the vote, with some personal information, for example an email, and with the weight of each voter's vote, if there would be differences.

El sistema Autoridad de Certificación envía al votante las claves públicas certificando las mismas, este paso se corresponde con el flujo de datos llamado Clave pública-Certificado.The Certification Authority system sends to voter public keys certifying them, this step is corresponds to the data stream called key Public-Certificate.

El votante va a la web oficial de votación, donde se le abre una ventana que le pide ese o esos datos. El usuario los introduce, este paso se corresponde con el flujo de datos llamado Identidad Usuario. El votante en la web oficial de votación puede ver unos enlaces a los distintos candidatos realizados por el módulo Alta Ideas Candidato del Sistema de Anonimato. El módulo Gestión de sesión del Sistema de Anonimato es el que se encarga de personalizar la presentación de cara al usuario y crear un perfil.The voter goes to the official voting website, where a window that asks for that or that information is opened. The user enters them, this step corresponds to the data flow called User Identity. The voter on the official voting website can see links to the different candidates made by the High Ideas Candidate module of the Anonymity System. The Session Management module of the Anonymity System is responsible for customizing the presentation for the user and creating a profile.

Al Sistema de Anonimato le llega esta información, y verifica en la base de datos Universo de Votantes, a través del módulo Check Universo de Votantes, que el usuario que se conecta al sistema pertenece al rango de votantes. Esta consulta se corresponde con el flujo de datos llamado Datos Usuario. En caso afirmativo, se genera una CRS (solicitud de certificado), que debidamente autorizada por la Autoridad de Certificación será enviada junto con una clave personal al votante.The Anonymity System receives this information, and verifies in the Voter Universe database, through the Check Universe Voters module, that the user who connects to the system belongs to the range of voters. This query corresponds to the data flow called User Data. If so, a CRS (certificate request) is generated, which duly authorized by the Certification Authority will be sent along with a personal password to the voter.

El votante, siguiendo las instrucciones de pantalla, abre su correo donde estará su clave personal y el certificado emitido por la Autoridad de Certificación. Después de descargarlos, ejecuta el auto-instalable de certificación.The voter, following the instructions of screen, open your email where your personal key will be and the certificate issued by the Certification Authority. After download them, run the auto-installable of certification

El ejecutable le dice al votante la dirección web de la aplicación. Una vez en ella el votante puede ver las páginas de los candidatos (para eso no hace falta identificarse) o identificarse en el sistema con la clave personal. Entonces el votante, para identificarse, introduce su clave personal cifrada con la clave pública del servidor.The executable tells the voter the address application web. Once in it the voter can see the Candidate pages (for that you don't need to identify yourself) or Identify in the system with the personal password. So he Voter, to identify yourself, enter your encrypted personal key with the public key of the server.

El Sistema de Anonimato comprueba la validez de la clave personal. En caso afirmativo se creará la sesión, en otro caso se le denegará el acceso. A partir de este momento las comunicaciones son seguras entre el votante y el
sistema.
The Anonymity System checks the validity of the personal password. If so, the session will be created, otherwise access will be denied. From this moment the communications are secure between the voter and the
system.

El Sistema de Anonimato entonces, a través del módulo Check Status, comprueba el estado del votante mediante dos verificaciones: primero, si el votante tiene una identidad ya asignada en el sistema, en caso afirmativo se le envía al paso 10 (para mayor anonimato el votante tiene un nombre aleatorio en el sistema a la hora de votar); 2) si ha votado (en caso afirmativo, se le deniega la continuidad en el sistema). Este paso se corresponde con el flujo de datos llamado Cod.Bloq.Voto.The Anonymity System then, through the Check Status module , checks the voter's status through two verifications: first, if the voter has an identity already assigned in the system, if so, it is sent to step 10 (for greater anonymity the voter has a random name in the system at the time of voting); 2) if you have voted (if yes, you are denied continuity in the system). This step corresponds to the data stream called Cod.Bloq.Voto.

El módulo Generador de Identidades del Sistema de Anonimato genera una identidad para el votante, chequeando dicha operación en la base de datos Relación Usuario-Identidad. Esto es esencial para que el módulo Check Status pueda realizar de manera satisfactoria la primera verificación. Por otro lado se actualiza la base de datos local, donde se introducen los datos personales y la identidad del sistema de manera fragmentada, es decir, no se relaciona identidad en el sistema con un determinado votante. Este paso se corresponde con el flujo de datos llamado Cod.Bloq.Id-Usuario.The Identity Generator module of the Anonymity System generates an identity for the voter, checking said operation in the User-Identity Relationship database. This is essential so that the Check Status module can successfully perform the first verification. On the other hand, the local database is updated, where personal data and system identity are introduced in a fragmented way, that is, identity in the system is not related to a specific voter. This step corresponds to the data flow called Cod.Bloq.Id-User.

Entonces el módulo Gestión de Sesión del Sistema de Voto, recibe la sesión del votante con su identidad en el sistema, comprobando la validez de la misma, y en caso afirmativo se le muestra al votante la solicitud de voto.Then the Session Management module of the Voting System, receives the session of the voter with his identity in the system, verifying the validity of the same, and if so, the voter is shown the request for vote.

El votante ve en su pantalla que seleccione al candidato que desee y presione el botón "Votar". Con este gesto, el votante le da al Sistema de Voto, su voto junto con la identidad sin fragmentar que le proporciona el sistema, este paso se corresponde con el flujo de datos llamado Identidad en el sistema-voto, que lo almacena el módulo Inserción de voto en una base de datos diferente a la de autentificación de los usuarios, preservando así el anonimato.The voter sees on their screen that they select the candidate they want and press the "Vote" button. With this gesture, the voter gives the Voting System, their vote together with the identity without fragmentation provided by the system, this step corresponds to the flow of data called Identity in the voting system, which is stored by the Insertion module of voting in a database different from that of user authentication, thus preserving anonymity.

El Sistema de Voto recibe el voto, que será registrado en la BD Urna electrónica y la actualiza con el voto y la identidad en el sistema sin fragmentar. Este paso se corresponde con el flujo de datos llamado Voto id-sistema.The Vote System receives the vote, which will be registered in the electronic ballot box BD and updates it with the vote and Identity in the system without fragmenting. This step is corresponds to the data stream called Vote system id.

El Sistema de Voto actualiza la BD Relación Usuario-Identidad estableciendo que ese votante ha votado, generando un bloqueo ante un segundo intento de votación por parte del votante. Este paso se corresponde con el flujo de datos llamado Cod.Bloq.Voto.The Vote System updates the BD Relationship User-Identity establishing that voter has voted, generating a blockade before a second voting attempt by the voter. This step corresponds to the flow of data called Cod.Bloq.Voto.

El Sistema de Voto, mediante el módulo Generador de informes, confirma al votante que la votación ha sido registrada, y éste lo ve por pantalla.The Voting System, by means of the Report Generator module , confirms to the voter that the voting has been registered, and the voter sees it on the screen.

Por otro lado, un usuario autorizado por la entidad que convoca las elecciones, accede localmente al Sistema de Recuento, que comprueba que este usuario es el autorizado mediante el módulo Control de Acceso.On the other hand, a user authorized by the entity that calls the elections, locally accesses the Counting System, which verifies that this user is the authorized one through the Access Control module .

Una vez activado el recuento, se llamará remotamente al Sistema Verificador, que le atenderá en caso de haber terminado el periodo de votación, de lo contrario rechaza la petición.Once the count is activated, it will be called remotely to the Verifier System, which will assist you in case of having finished the voting period, otherwise reject the petition.

El Sistema Verificador accede a las bases de datos Urna electrónica (este paso se corresponde con el flujo de datos llamado Nº de votantes) y Relación Usuario-Identidad.The Verifier System accesses the bases of Electronic urn data (this step corresponds to the flow of data called No. of voters) and Relationship User-Identity

El Sistema Verificador, a través del módulo Verificación Parcial y Total, el número de votos es igual o inferior al número de votantes locales, y de que el número de votantes del sistema es igual o menor al número de votantes globales. Por otro lado, a través del módulo Peso de los Votos, verifica además de que el peso de los votos es correcto. Este paso se corresponde con el flujo de datos llamado Nº de votos totales-Peso voto.The Verifier System, through the Partial and Total Verification module , the number of votes is equal to or less than the number of local voters, and that the number of voters in the system is equal to or less than the number of global voters. On the other hand, through the module Weight of Votes , also verify that the weight of the votes is correct. This step corresponds to the data flow called Number of total votes-Weight vote.

En el caso de que el Sistema Verificador devuelva un resultado contradictorio, se acabará el recuento informando de los errores. En caso de que el Sistema Verificador devuelva un resultado satisfactorio, el módulo Envío de Informes recoge los resultados obtenidos, les da un determinado formato y los envía al Sistema de Recuento. Este paso se corresponde con el flujo de datos llamado Test.In the event that the Verifying System returns a contradictory result, the counting will be terminated reporting the errors. If the Verification System returns a satisfactory result, the Report Submission module collects the results obtained, gives them a certain format and sends them to the Counting System. This step corresponds to the data flow called Test.

El Sistema de Recuento leer el informe presentado por; el Sistema Verificador y si todo es correcto se conecta a: la base de datos Urna electrónica, y recuenta los votos., Este paso se corresponde con el flujo de datos llamado Nº' de Votos. En otro caso, es decir, no se contabilizarán los votos, pasando directamente al módulo Generador de Informes Votos-Verificación. The Count System read the report submitted by; the Verifier System and if everything is correct it connects to: the electronic Urn database, and counts the votes., This step corresponds to the data flow called Nº 'of Votes. In another case, that is, the votes will not be counted, going directly to the Voting-Verification Report Generator module.

Por último, el módulo Generador de Informes Votos-Verificación del Sistema de Recuento genera un informe de los comicios electorales, los cuales podrán ser publicados y consultados en la web.Finally, the Voting Report-Verification System of the Counting System module generates a report of the electoral elections, which can be published and consulted on the web.

III. Caso prácticoIII. Case study

Sea una empresa que ha contratado los servicios de este sistema de votación telemática pues desea realizar una junta general para votar una ampliación de capital. Esta empresa se divide en mil acciones que, para simplificar la explicación, estarán repartidas entre cien personas a partes iguales. Las posibilidades de voto serán SI, NO y
ABSTENCION.
Be a company that has contracted the services of this telematic voting system as it wishes to hold a general meeting to vote on a capital increase. This company is divided into a thousand shares that, to simplify the explanation, will be distributed among one hundred people in equal parts. The voting possibilities will be YES, NO and
ABSTENTION.

Como la empresa desea tomar una decisión equitativa e imparcial, se ha decidido que el voto será secreto, evitando así la coacción, que solo se emitirá un voto por accionista y que se desea una seguridad total de que el proceso se ha llevado a cabo perfectamente. La duración de la votación será de seis horas.How the company wants to make a decision equitable and impartial, it has been decided that the vote will be secret, thus avoiding coercion, that only one vote will be cast for shareholder and that total security is desired that the process be It has performed perfectly. The duration of the vote will be six hours.

Como sus accionistas, representados en la Figura 2 como un icono con un sobre, no viven en la ciudad en la que se encuentra la sede de la empresa, también se ha impuesto la premisa de que la votación se pueda realizar desde cualquier parte del mundo y con cualquier tecnología de; acceso Internet disponible.As its shareholders, represented in the Figure 2 as an icon with an envelope, they don't live in the city where they Find the headquarters of the company, the premise has also been imposed that voting can be done from any part of the world and with any technology of; internet access available.

       \newpage\ newpage
    

A la empresa se le dio la opción de que todo el proceso se llevase a cabo remotamente, sin embargo, la empresa prefirió que las máquinas se colocasen en su propio edificio.The company was given the option that all the process was carried out remotely, however, the company He preferred that the machines be placed in his own building.

Para una implementación sencilla se cuenta con cuatro ordenadores como servidores base, que darían cabida a los sistemas ya especificados anteriormente: anonimato, votación, recuento y verificación.For a simple implementation you have four computers as base servers, which would accommodate the systems already specified above: anonymity, voting, count and verification.

Además son necesarios otros tres ordenadores donde se instalan las diferentes bases de datos y un equipo de firewall, para aislar los equipos del resto de la Red de Área Local de la empresa.In addition, three other computers are necessary where different databases are installed and a team of firewall, to isolate the computers from the rest of the Local Area Network of the company.

Para la importante labor de supervisión se utilizan cuatro equipos conectados a los diferentes servidores ampliando así la seguridad con la que se realiza esta tarea.For the important supervisory work, they use four computers connected to the different servers thus extending the security with which this task is performed.

Por último, son necesarias tres salas vacías, donde dos de ellas serían de baja seguridad, y la otra de alta seguridad, en parte proporcionada por la propia empresa.Finally, three empty rooms are necessary, where two of them would be low security, and the other high security, partly provided by the company itself.

La implantación del sistema trataría de hacerse de la manera más limpia y menos perjudicial para las actividades de la empresa. Dado que ésta ha comentado que posee una sala especializada para la colocación de servidores, la colocación de los sistemas y de las bases de datos que contengan el Universo de Votantes y la relación de Identidades y usuarios, se llevaría a cabo en ella (Sala 1 en Figura 2).The implementation of the system would try to be done in the cleanest and least harmful way for activities of the company. Since it has commented that it has a room specialized for server placement, placement of the systems and databases that contain the Universe of Voters and the relationship of Identities and users, would be carried out in it (Room 1 in Figure 2).

El resto de los sistemas y bases de datos se ubicarían en una de las otras dos salas acondicionadas (Sala 2 en Figura 2). En la última sala libre se colocarían los sistemas de supervisión, así como los informáticos encargados de su uso y el coordinador (Sala 3 en Figura 2).The rest of the systems and databases are they would place in one of the other two conditioned rooms (Room 2 in Figure 2). In the last free room the systems of supervision, as well as the computer technicians in charge of its use and the coordinator (Room 3 in Figure 2).

Para la configuración elegida por la empresa se elige un software apropiado, con la configuración mínima para funcionar, evitando complicaciones de uso. Dado que la instalación de las máquinas debe ser rápida, pero limpia y transparente, se ha tomado la decisión de llevar los ordenadores en blanco, y una vez conectados se procedería a la instalación de una imagen mediante la inserción de un CD de datos. Estas imágenes contendrían todas las funcionalidades necesarias para cada sistema, así como scripts de carga previa de bases de datos si fuese necesario.For the configuration chosen by the company, choose an appropriate software, with the minimum configuration for function, avoiding complications of use. Since the installation of the machines must be fast, but clean and transparent, it has made the decision to carry blank computers, and once connected would proceed to the installation of an image through the Insertion of a data CD. These images would contain all functionalities needed for each system, as well as scripts preload of databases if necessary.

El personal necesario para este tipo de eventos difiere mucho según la implementación. En este caso se estima que sería necesario un equipo de siete técnicos informáticos (representados en la Figura 2 como un icono con una llave inglesa) durante el día de la votación. Cinco se encargarían de la supervisión del funcionamiento, donde cuatro de ellos llevarían a cabo la propia supervisión y otro realizaría la tarea de coordinador (representados en la Figura 2 como un icono con una llave). Los otros dos informáticos estarían cerca de las salas de los servidores por si se produjese alguna incidencia.The necessary personnel for this type of events It differs greatly depending on the implementation. In this case it is estimated that a team of seven computer technicians would be necessary (represented in Figure 2 as an icon with a spanner) during voting day Five would handle the operation monitoring, where four of them would lead to out the supervision itself and another would perform the task of coordinator (represented in Figure 2 as an icon with a key). The other two computer scientists would be near the halls of the servers in case there is an incident.

Para la propia seguridad de las salas sería preciso contratar a una empresa de seguridad que enviase tres agentes de seguridad, uno por cada sala a vigilar. En la Figura 2 aparecen representados por un icono con un candado.For the security of the rooms would be you need to hire a security company to send three security agents, one for each room to watch. In Figure 2 They are represented by an icon with a lock.

Como ejemplo de transparencia y limpieza en las elecciones se precisaría la contratación de un notario, que verificase y firmase los resultados de la votación antes de ser publicados.As an example of transparency and cleanliness in elections would require the hiring of a notary, who verify and sign the voting results before being published.

Por último, aunque no entra exactamente en la definición de personal, se requeriría la emisión de cien correos físicos certificados para hacer llegar las bases de la votación y las claves de acceso a los votantes.Finally, although it does not exactly enter the definition of personnel, the issuance of one hundred emails would be required certified physicists to convey the basis of voting and the keys to access voters.

Todos los equipos se inicializarán seis horas antes del comienzo de la votación y se comprobará su buen funcionamiento mediante una serie de comandos preparados para ello. Inmediatamente después todo el personal abandonará las salas de los servidores, impidiéndose cualquier tipo de entrada no autorizada por el coordinador, y comenzará la monitorización desde la sala remota. La función de los Informáticos será la de controlar que todos los parámetros de seguridad del sistema permanecen estables. Se ha de poner de manifiesto que el seguimiento de los parámetros de seguridad solo será en sentido lectura, impidiendo cualquier tipo de manipulación.All teams will be initialized six hours before the start of the vote and your good will be checked operation through a series of commands prepared for it. Immediately after all the staff will leave the rooms of the servers, preventing any type of unauthorized entry by the coordinator, and monitoring will begin from the room remote The function of the Informatics will be to control that All system security parameters remain stable. It should be noted that the monitoring of the parameters of security will only be in reading sense, preventing any type of manipulation

Los servidores comenzarán y finalizarán el proceso de votación a las horas establecidas de forma automática. Si se produjese un cambio de estos parámetros el coordinador sería informado de inmediato, ya que es el único con poder de decisión sobre la actuación del resto del personal, para que se realice lo que se estime más pertinente.The servers will start and end on Voting process at set times automatically. If there is a change in these parameters, the coordinator would be informed immediately, as it is the only one with decision power on the performance of the rest of the staff, so that the That is deemed more relevant.

Una vez acabado el proceso de votación se procederá automáticamente a la verificación y recuento de los votos emitidos. Justo después se permitirá el acceso al notario a la sala de recuento, acompañado de un agente de seguridad, que comprobará la veracidad de los resultados y la certificará, procediendo después a la publicación de los mismos en una página web, así como a su envío a todos los participantes mediante correo electrónico.Once the voting process is over, will automatically verify and count the votes  issued. The notary will be allowed access to the Counting room, accompanied by a security agent, who check the accuracy of the results and certify it, then publishing them on a page web, as well as to send to all participants by mail electronic.

Claims (16)

1. Sistema de votación telemática a través de Internet, realizado en un escenario de comunicación en el que intervienen un conjunto de sistemas automáticos que funcionan bajo unos programas predeterminados de sistema operativo, gestores de bases de datos, aplicaciones web y seguridad en Internet, caracterizado porque dicho conjunto de sistemas está constituido en su arquitectura básica por una Autoridad de Certificación en Internet, encargada de cifrar las comunicaciones y autentificar tanto al votante como al sistema de votación, un Sistema de Anonimato, encargado de presentar a los candidatos, controlar el acceso, garantizar el anonimato de los votantes y seguimiento de los mismos durante el proceso, un Sistema de Voto, encargado de recibir, gestionar y almacenar los votos emitidos de un determinado departamento, un Sistema de Recuento, encargado de contabilizar el número de votos, un Sistema Verificador, encargado de validar los comicios electorales, una base de datos Relación Usuario-Identidad, encargada de almacenar los datos del usuario, su identidad en el sistema y el estado de los votantes, una base de datos Universo de Votantes, encargada de establecer un rango de votantes del sistema, y una base de datos Urna electrónica, encargada de almacenar los votos emitidos por los votantes.1. Telematic voting system via the Internet, carried out in a communication scenario involving a set of automatic systems that operate under predetermined operating system programs, database managers, web applications and Internet security, characterized because said set of systems is constituted in its basic architecture by an Internet Certification Authority, responsible for encrypting communications and authenticating both the voter and the voting system, an Anonymity System, responsible for presenting candidates, controlling access , to guarantee the anonymity of the voters and their follow-up during the process, a Voting System, in charge of receiving, managing and storing the votes cast of a specific department, a Recount System, in charge of counting the number of votes, a Verifier System, responsible for validating the electoral elections, a Rela database User-Identity, responsible for storing user data, their identity in the system and the state of the voters, a Universe Database of Voters, responsible for establishing a range of voters for the system, and an electronic Urn database , responsible for storing the votes cast by the voters. 2. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que la Autoridad de Certificación en Internet es una entidad de fe pública que utilice el cifrado SSL (Secure Socket Layer) de seguridad Web, como puede ser la propia Administración pública.2. Telematic voting system through Internet, according to claim 1, wherein the Authority of Internet Certification is a public faith entity that uses SSL (Secure Socket Layer) Web security encryption, as you can Be the Public Administration itself. 3. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el Sistema Anonimato está compuesto por los siguientes módulos: Gestión de Sesión, encargado de personalizar la presentación de cara al usuario y crear un perfil volátil del mismo, así como su jerarquización, Check Status, encargado de comprobar el estado del votante en el sistema, verificando primero si se le ha otorgado una Identidad, y segundo, si ha votado, Check Universo de Votantes, encargado de verificar que el usuario que se conecta al sistema pertenece al rango de votantes, Generador de Identidades, encargado de generar Identidades en el sistema en base a números aleatorios (algoritmos) para preservar el anonimato de los Votantes, Inserción de Identidad, encargado de registrar en el sistema la asignación de una identidad a cada votante, y Alta Ideas Candidato, encargado de recoger la presentación y vínculos personales de los candidatos3. Telematic voting system over the Internet, according to claim 1, wherein the Anonymity System is composed of the following modules: Session Management , responsible for customizing the presentation for the user and creating a volatile profile thereof, as well as its ranking, Check Status , responsible for checking the status of the voter in the system, first verifying if it has been granted an Identity, and second, if it has voted, Check Universe of Voters, responsible for verifying that the user who connects to the system belongs to the rank of voters, Identity Generator, responsible for generating Identities in the system based on random numbers (algorithms) to preserve the anonymity of Voters, Identity Insertion , responsible for registering in the system the assignment of an identity to each voter, and Alta Ideas Candidate , responsible for collecting the presentation and personal links of the candidates 4. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el Sistema de Voto está compuesto por los siguientes módulos: Gestión de Sesión, encargado de recibir la sesión del Sistema de Anonimato, Inserción de voto, encargado de almacenar el voto emitido por el usuario y la identidad en el sistema que le representa, Fragmentación del voto, encargado de fragmentar el voto, Generador de informes, encargado de generar informes de confirmación para el votante, e Inserción de bloqueo de voto, encargado de validar el voto, reflejándolo en el sistema insertando un "1" donde antes había un "0", en la base de datos Relación Usuario-Identidad Sistema.4. Telematic voting system via the Internet, according to claim 1, wherein the Voting System is composed of the following modules: Session Management , in charge of receiving the session of the Anonymity System, Voting Insertion , in charge of storing the vote cast by the user and the identity in the system that represents him, Fragmentation of the vote , responsible for fragmenting the vote, Report generator , responsible for generating confirmation reports for the voter, and Insertion of vote blocking , responsible for validating the vote, reflecting it in the system by inserting a "1" where there was previously a "0", in the User-Identity System Relationship database. 5. Sistema de votación telemática a través de Internet, según reivindicación 4, en el que el módulo Inserción de voto del Sistema de Voto almacena los votos emitidos por los usuarios en una base de datos diferente a la de autentificación de los usuarios.5. Telematic voting system through Internet according to claim 4, wherein the module Inserting Vote System vote stores the votes cast by users in a different database than the authentication of the users. 6. Sistema de votación telemática a través de Internet, según reivindicación 4, en el que el módulo Inserción de bloqueo de voto del Sistema de Voto valida los votos emitidos por los usuarios a través de la base de datos Relación Usuario-Identidad, insertando un "1" en el lugar de un "0".6. The telematic voting system via the Internet, according to claim 4, wherein the Voting Insertion module of the Voting System validates the votes cast by users through the User-Identity Relationship database, inserting a "1" in the place of a "0". 7. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el Sistema de Recuento está compuesto por los siguientes módulos: Control de Acceso, encargado de filtrar el acceso al sistema, dejando libre transito sólo al usuario que esté registrado, Contador de Votos, encargado de leer el informe presentado por el Sistema Verificador para dar acceso a la base de datos Urna electrónica y contabilizar el voto, o, si hay irregularidades, pasar directamente al siguiente módulo, Generador de Informes Votos-Verificación, encargado de presentar un informe de los comicios electorales.7. Telematic voting system over the Internet, according to claim 1, wherein the Counting System is composed of the following modules: Access Control , responsible for filtering access to the system, leaving free transit only to the user who is registered , Voting Counter , in charge of reading the report submitted by the Verifier System to give access to the electronic ballot box and counting the vote, or, if there are irregularities, go directly to the next module, Votes-Verification Report Generator, in charge to present a report of the electoral elections. 8. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el Sistema de Verificación está compuesto por los siguientes módulos: Verificación Parcial y Total, encargado de comprobar que no hay más votantes en el Sistema que votantes censados en el universo de votantes, Peso de los Votos, encargado de determinar el debido cumplimiento de las reglas preestablecidas, Envío de Informes, encargado de recoger los resultados obtenidos, darles un determinado formato y enviárselos al Sistema de Recuento.8. Telematic voting system via the Internet, according to claim 1, wherein the Verification System is composed of the following modules: Partial and Total Verification , responsible for verifying that there are no more voters in the System than voters registered in the universe of voters, Weight of Votes , responsible for determining due compliance with the pre-established rules, Sending Reports , responsible for collecting the results obtained, giving them a specific format and sending them to the Counting System. 9. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el Sistema Anonimato, Sistema de Voto, Sistema de Recuento y Sistema de Verificación utilizan tecnologías XML (eXtensible Markup Language) y XSLT (Extensible Stylesheet Language Transformations) para la presentación de la información.9. Telematic voting system over the Internet, according to claim 1, wherein the Anonymity System, Voting System, Counting System and Verification System use XML ( eXtensible Markup Language ) and XSLT ( Extensible Stylesheet Language Transformations ) technologies to The presentation of the information. 10. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el Sistema Anonimato, Sistema de Voto, Sistema de Recuento y Sistema de Verificación utilizan tecnologías LDAP (Lighweight Directory Access Protocol) y SGBD (Sistema de Gestión de Base de Datos) para el acceso y gestión de los datos.10. Telematic voting system over the Internet, according to claim 1, wherein the Anonymity System, Voting System, Counting System and Verification System use LDAP ( Lighweight Directory Access Protocol ) and SGBD ( Base Management System) technologies Data ) for access and data management. 11. Sistema de votación telemática a través de Internet, según reivindicación 1, en el que el sistema de gestión de las bases de datos (SGBD) incluye como medidas lógicas ante un posible ataque por suplantación de un usuario del sistema por otro fraudulento, un log del SGBD, la restricción del acceso a determinas tablas o columnas atendiendo al usuario suplantado, y un diseño lógico del sistema en el que los usuarios, el voto y lo votado sean números fragmentados en la base de datos que requieren de algoritmos contenidos en los diferentes sistemas para su des fragmentación.11. Telematic voting system through Internet according to claim 1, wherein the management system of  databases (DBMS) includes as logical measures before a possible attack by impersonation of one system user by another fraudulent, a log of the DBMS, the restriction of access to certain tables or columns serving the impersonated user, and a design logical of the system in which the users, the vote and the voted are  fragmented numbers in the database that require algorithms contained in the different systems for des fragmentation. 12. Sistema de votación telemática a través de Internet, según reivindicaciones anteriores, caracterizado porque entre los elementos que constituyen la arquitectura básica del sistema se producen las siguientes doce interconexiones o flujos de datos: (1) Clave Pública-Certificado, en el que el sistema Autoridad de Certificación envía al votante las claves públicas para su certificación, (2) Identidad Usuario, en el que el votante envía al Sistema de Anonimato los datos personales y la clave asignada para su autentificación, (3) Datos Usuario, en el que el Sistema de Anonimato, a través del módulo Check Universo de Votantes, lee de la base de datos Universo de Votantes el número total de votantes y los datos unívocos de cada votante para su autentificación, (4) Identidad en el sistema, en el que el Sistema de Anonimato re-direcciona al Sistema de Voto la identidad del votante en el sistema sin fragmentar, (5) Identidad en el sistema-voto, en el que el votante le da al Sistema de Voto, su voto junto con la identidad sin fragmentar que le proporciona el Sistema de Anonimato, (6) Voto id-sistema, en el que el Sistema de Voto, a través del módulo Inserción de Voto, envía estos datos a la base de datos Urna electrónica, (7) Nº de votos totales-Peso Voto, en el que el Sistema Verificador consulta a la base de datos Urna electrónica, bien a través del módulo Verificación Parcial y Total, para contabilizar el total de los votos, o bien a través del módulo Peso de los Votos, para saber, en su caso, el peso cuantitativo de cada voto, (8) Nº de votantes, en el que el Sistema Verificador, a través del módulo Verificación Parcial y Total, consulta la base de datos Relación Usuario-Identidad, donde aparece el número de votantes parciales que han hecho uso del sistema y el de votantes totales censados, (9) Cod.bloq.Id-usuario (bidireccional), en el que el Sistema de Anonimato, por un lado, a través del módulo Check Status, comprueba en la base de datos Relación Usuario-Identidad que el votante se ha autentificado, y por otro lado, a través del módulo Inserción de Identidad, actualiza la base de datos local, en donde se introducen los datos personales y la identidad del votante en el sistema (fragmentada), (10) Cod.Bloq.voto, en el que el Sistema de Voto, a través del módulo Inserción de Bloqueo Voto, valida el voto del votante en la base de datos Relación Usuario-Identidad generando un bloqueo para que no vote una segunda vez, y en el que el Sistema de Anonimato, a través del módulo Check Status, consulta en esta base de datos que el votante ha votado, (11) Test, en el que el Sistema Verificador, a través del módulo Envío de Informes, envía al módulo Contador de votos del Sistema de Recuento, el informe de verificación de los comicios electorales, y (12) Nº de Votos, en el que el Sistema de Recuento, a través del módulo Contador de votos, accederá a la base de datos Urna electrónica y contabilizará los votos almacenados mediante un algoritmo de desfragmentación de votos.12. Telematic voting system through the Internet, according to previous claims, characterized in that among the elements that constitute the basic architecture of the system there are the following twelve interconnections or data flows: (1) Public-Certified Key, in which the Certification Authority system sends the public keys for certification to the voter, (2) User Identity, in which the voter sends the Personal Data and the key assigned for authentication to the Anonymity System, (3) User Data, in which the Anonymity System, through the Check Universe of Voters module, reads from the Universe Voters database the total number of voters and the unique data of each voter for authentication, (4) Identity in the system, in which the Anonymity System redirects the voter's identity to the Voting System in the system without fragmenting, (5) Identity in the voting system, in which the voter gives the Voting System, your vote along with the un fragmented identity provided by the Anonymity System, (6) Voting system id, in which the Voting System, through the Voting Insertion module, sends this data to the base of data Electronic urn, (7) Number of total votes-Voting Weight, in which the Verifier System consults the electronic Urn database, either through the Partial and Total Verification module, to account for the total votes, or or through the Weight of Votes module, to know, where appropriate, the quantitative weight of each vote, (8) Number of voters, in which the Verifier System, through the Partial and Total Verification module, consult the base of data User-Identity Relationship, where the number of partial voters who have made use of the system and the number of censored total voters appears, (9) ID-user (bi-directional) block code, in which the Anonymity System, by on the one hand, through the Check Status module, check the Database User-Identity Relationship that the voter has authenticated, and on the other hand, through the Identity Insertion module, updates the local database, where personal data and voter identity are entered into the system ( fragmented), (10) Cod.Bloq.voto, in which the Voting System, through the Voting Block Insertion module, validates the voter's vote in the User-Identity Relationship database, generating a block to not vote a second time, and in which the Anonymity System, through the Check Status module, consults in this database that the voter has voted, (11) Test, in which the Verifier System, through the module Sending of Reports , it sends to the module Counter of votes of the System of Count, the report of verification of the electoral elections, and (12) Nº of Votes, in which the System of Count, through the module Counter of votes , will access the base Electronic urn and accounting data The votes stored by means of a vote defragmentation algorithm. 13. Sistema de votación telemática a través de Internet, según reivindicación 12, caracterizado porque para asegurar la comunicación entre el votante y el Sistema en términos de confidencialidad, integridad y accesibilidad, se utilizan certificados autenticados, a través de la Autoridad de Certificación, basados en el estándar X.509, por parte del Servidor y del cliente, y Protocolo SSL (Secure Socket Layer).13. Telematic voting system over the Internet, according to claim 12, characterized in that to ensure communication between the voter and the System in terms of confidentiality, integrity and accessibility, authenticated certificates are used, through the Certification Authority, based in the X.509 standard, by the Server and the client, and SSL Protocol ( Secure Socket Layer ). 14. Sistema de votación telemática a través de Internet, según reivindicación 12, caracterizado porque para asegurar la comunicación entre los distintos elementos del sistema y el acceso a los diferentes recursos de información web, se utilizan protocolos Ldap (Lightweight Directory Access Protocol), que para la primera finalidad es LDAPv3 y, para la segunda, OpenLdap.14. Telematic voting system over the Internet, according to claim 12, characterized in that to ensure communication between the different elements of the system and access to different web information resources, Ldap ( Lightweight Directory Access Protocol ) protocols are used, which for the first purpose is LDAPv3 and, for the second, OpenLdap. 15. Sistema de votación telemática a través de Internet, según reivindicación 12, caracterizado porque para asegurar el acceso a los servidores web del Sistema, éstos contarán con los siguientes parámetros mínimos de configuración: ServerType, en valor Inetd, ServerRoot, TimeOut, Port, ServerAdmin, ServerName y DocumenRoot.15. Telematic voting system over the Internet, according to claim 12, characterized in that to ensure access to the web servers of the System, these will have the following minimum configuration parameters: ServerType, in Inetd value, ServerRoot, TimeOut, Port, ServerAdmin, ServerName and DocumenRoot. 16. Sistema de votación telemática a través de Internet, según reivindicación 12, caracterizado porque para asegurar la gestión de los Logs del Sistema se introduce una modalidad de Logs distribuidos en la que la configuración del fichero /etc/syslog.conf es realizada conjuntamente por tres Administradores asociados a cada sistema principal del Sistema VT: sistema de anonimato, de Voto, de recuento y de verificación, quienes monitorizan los ficheros de log en tres computadoras diferentes aisladas del entorno (sin conexión a Internet u otro tipo de red de comunicación) para cada uno de esos cuatro elementos principales.16. Telematic voting system over the Internet, according to claim 12, characterized in that to ensure the management of the System Logs a modality of distributed Logs is introduced in which the configuration of the file /etc/syslog.conf is carried out jointly by three Administrators associated to each main system of the VT System: anonymity, voting, counting and verification system, who monitor the log files on three different computers isolated from the environment (without Internet connection or other type of communication network) for each of those four main elements.
ES200503260A 2005-12-30 2005-12-30 TELEMATIC VOTING SYSTEM THROUGH THE INTERNET. Expired - Fee Related ES2283205B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200503260A ES2283205B2 (en) 2005-12-30 2005-12-30 TELEMATIC VOTING SYSTEM THROUGH THE INTERNET.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200503260A ES2283205B2 (en) 2005-12-30 2005-12-30 TELEMATIC VOTING SYSTEM THROUGH THE INTERNET.

Publications (2)

Publication Number Publication Date
ES2283205A1 ES2283205A1 (en) 2007-10-16
ES2283205B2 true ES2283205B2 (en) 2008-09-01

Family

ID=38556482

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200503260A Expired - Fee Related ES2283205B2 (en) 2005-12-30 2005-12-30 TELEMATIC VOTING SYSTEM THROUGH THE INTERNET.

Country Status (1)

Country Link
ES (1) ES2283205B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001271311A1 (en) * 2000-06-15 2001-12-24 Hart Intercivic, Inc. Distributed network voting system
US20020077887A1 (en) * 2000-12-15 2002-06-20 Ibm Corporation Architecture for anonymous electronic voting using public key technologies
KR100727281B1 (en) * 2001-03-24 2007-06-13 데이트그리티 코포레이션 Verifiable secret shuffles and their application to electronic voting
ATE424593T1 (en) * 2001-12-12 2009-03-15 Scytl Secure Electronic Voting METHOD FOR SECURE ELECTRONIC VOTING AND CRYPTOGRAPHIC PROTOCOLS AND COMPUTER PROGRAMS THEREOF
US6973581B2 (en) * 2002-01-23 2005-12-06 Amerasia International Technology, Inc. Packet-based internet voting transactions with biometric authentication
DE10325491A1 (en) * 2003-06-04 2004-12-30 Sc-Info+Inno Gmbh + Co. Voting method with generation and control of voting slips from geographically distributed computers connected via e.g. Internet, and using electronic signatures

Also Published As

Publication number Publication date
ES2283205A1 (en) 2007-10-16

Similar Documents

Publication Publication Date Title
US10110584B1 (en) Elevating trust in user identity during RESTful authentication and authorization
Chadwick Federated identity management
US8984601B2 (en) Enterprise security system
Burr et al. Electronic authentication guideline
ES2255455B1 (en) METHOD FOR SAFE ELECTRONIC VOTING AND EMPLOYED CRYPTOGRAPHIC PROTOCOLS.
CA2650063C (en) Security token and method for authentication of a user with the security token
JP4668551B2 (en) Personal authentication device and system and method thereof
Mohen et al. The case for internet voting
US20050289085A1 (en) Secure domain network
US20060059548A1 (en) System and method for policy enforcement and token state monitoring
Laborde et al. A user-centric identity management framework based on the W3C verifiable credentials and the FIDO universal authentication framework
US20050021954A1 (en) Personal authentication device and system and method thereof
CN108322468A (en) Identity authorization system
Koulolias et al. STORK e-privacy and security
Fumy et al. Handbook of EID Security: Concepts, Practical Experiences, Technologies
ES2283205B2 (en) TELEMATIC VOTING SYSTEM THROUGH THE INTERNET.
Liagkou et al. Privacy preserving course evaluations in Greek higher education institutes: an e-Participation case study with the empowerment of Attribute Based Credentials
Collins Access controls
KR20000059245A (en) Biometrics Information Save System and Verification Method of Using the same
Agbede Strong Electronic Identification: Survey & Scenario Planning
Elaswad et al. Introducing E-Government in developing countries analysis of Egyptian e-Government services
US11860992B1 (en) Authentication and authorization for access to soft and hard assets
MOUKHLISS et al. A new smart cards based model for securing services
KR200241389Y1 (en) System for Management of Attendance/Absence in Cyber University
Ahmed et al. Saving Democracy By Modern Technology: Voting By Blockchain

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20071016

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2283205B2

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20180912