WO2015193524A1 - Sistema de voto electrónico anónimo y seguro en redes abiertas - Google Patents

Sistema de voto electrónico anónimo y seguro en redes abiertas Download PDF

Info

Publication number
WO2015193524A1
WO2015193524A1 PCT/ES2015/070430 ES2015070430W WO2015193524A1 WO 2015193524 A1 WO2015193524 A1 WO 2015193524A1 ES 2015070430 W ES2015070430 W ES 2015070430W WO 2015193524 A1 WO2015193524 A1 WO 2015193524A1
Authority
WO
WIPO (PCT)
Prior art keywords
voting
agent
virtual
agents
list
Prior art date
Application number
PCT/ES2015/070430
Other languages
English (en)
French (fr)
Inventor
Juan José BERMÚDEZ PÉREZ
Original Assignee
Bermúdez Pérez Juan José
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 Bermúdez Pérez Juan José filed Critical Bermúdez Pérez Juan José
Priority to GB1603315.1A priority Critical patent/GB2533067A/en
Priority to US15/300,308 priority patent/US20170186260A1/en
Publication of WO2015193524A1 publication Critical patent/WO2015193524A1/es

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Definitions

  • P2P Network A peer-to-peer network, peer network, peer network, peer network or point-to-point network
  • P2P for its acronym in English
  • P2P networks they allow the direct exchange of information, in any format, between interconnected computers.
  • the present invention aims at a distributed, anonymous and secure electronic voting system.
  • the system consists of a terminal, understood in the present invention under the concept of terminal any device capable of displaying the content of a web page or digital content in a visualization means, including accordingly computers, mobiles, handheld computers, laptops, smart watches, smart glasses, digital televisions, etc.
  • a Voting Agent (downloadable or pre-installed in the terminal) that incorporates the operations necessary for the user's vote to be processed and accounted for by the system.
  • This module includes communication operations with other terminals, information encryption and certification operations, and error detection or malicious attacks against the election process.
  • said Voting Agent may be integrated into the same circuit, be part of the computer software, or be part of an independent device connected to the circuit or computer.
  • Certification Server which may coincide with any other server of this invention.
  • Cluster Control Server which can match any other server of this invention.
  • Results Publishing Server which can match any of the previous servers.
  • the characteristics of the invention mean that, in order to guarantee the secrecy and inalterability of the vote, voters should not place their trust in the goodwill of one or more authorities or their members.
  • trusted authorities intervene that in theory may have improper behavior, but with less serious consequences than in previous inventions.
  • the information, even using servers of trusted authorities, is always replicated and certified against modifications and it is impossible for these authorities to know with certainty the individual vote of a voter. Any improper behavior that seeks to modify the meaning of the vote or the privacy of the vote can be detected by the voters.
  • Any alteration of the data can be detected and corrected simply by collecting the information again.
  • even the existence of trusted authorities that participate in the voting verification process is not required.
  • the figure is a block diagram illustrating a possible data flow developed during the connection phase of the present invention between the parts that make up the system, when one of the integral parts is a P2P network that stores the results collaboratively . It corresponds to phase 1 of the detailed description of the invention: Voter 1, through Agent 1 (arrow 1), makes a request for connection (arrow 2) to the P2P network, which responds (arrow 3) indicating the data to connect to a cluster.
  • Agent 1 then makes the request to connect to the cluster (arrow 4) and obtains the list of participants in the cluster. - Agent 1 then verifies the identity of the participants through a Server of
  • Figure Ib represents a block diagram illustrating a possible data flow developed during the connection phase of the present invention between the parts that make up the system, when there is a central authority that provides the connection data to the voting clusters. It corresponds to phase 1 of the detailed description of the invention: Voter 1, through Agent 1 (arrow 1), makes a connection request (arrow 2) to the Cluster Control server, which responds (arrow 3) indicating the data to connect to a cluster.
  • Agent 1 then makes the request to connect to the cluster (arrow 4) and obtains the list of participants in the cluster. Agent 1 then verifies the identity of the participants through an Authentication Server (arrow 5).
  • Figure 2 illustrates a case of practical embodiment in which the system of the invention is used to count the vote of 4 users, representing a simplification of the more general use case of the invention. It corresponds to phase 2 of the detailed description of the invention:
  • a table describing the virtual ballot that each agent selects in each round is shown at the top. Each row represents a round. The first column is the round number. The next four columns are the choices made by each agent in each round. The last column shows the remaining ballots at the end of each round. - At the bottom, a graph is shown that describes step by step which ballot paper each agent chooses at each moment.
  • This ballot is shown above each circle. Each circle represents a choice of an agent (the one indicated inside the circle). The entrance to each circle indicates the ballots that the agent receives and the output the remaining ballots after having selected the indicated ballot. Each agent repeats this operation 3 times, as described in the table above.
  • the first input arrow contains all initially generated ballots and the last output arrow indicates the virtual ballots that remain at the end of the process. The value of these ballots allows to deduce the result of the vote, as described in the detailed explanation.
  • Figure 3 shows a voting verification table shown in Figure 2. It has been
  • Each box in the table indicates the value that the agent in the column passes to the agent in the row.
  • This figure illustrates the steps taken in phase 3 (verification) of the detailed description of the present invention.
  • the box corresponding to Agent B column, Agent A row has the identifier N3.
  • Agent A has asked Agent B to pass an identifier corresponding to option N.
  • Agent B could have returned the identifier N3 or N6, since in the first round he chose the N3 and in the third the N6 .
  • Agent A when he receives the N3 identifier, verifies that said identifier is not one of those he has chosen or one of those that have been left on the list of remaining ballots.
  • Agent C column Agent A row, Agent A now asks Agent C for an identifier corresponding to the option and he returns the identifier R5 he had chosen in the third round.
  • Virtual ballot box Figurative element that represents a voting container of several legitimate voters in a vote.
  • N cluster size of a virtual urn
  • Each voter has a unique identifier of the vote in which they want to participate and the connection data to a list of servers provided by one or more trusted authorities.
  • Each voter has a pair of asymmetric keys granted, or not, by a trusted authority (usually a public body). In Spain it could be for example an CE ES certificate or the electronic ID.
  • a census has been established that includes persons or entities entitled to participate in the vote. Said census may have been conducted by a trusted authority or by any other means agreed by the parties involved in the vote.
  • each voter may have a private identifier, provided by a trusted authority, that uniquely identifies the voter in the vote, but only allows the real identity of the voter to be known to said trusted authority.
  • Step 1 (fig. La and Ib).
  • the voter communicates to the Voting Agent his vote for a certain election in progress. This step does not necessarily have to be done first: it can be done at any time before the Voting Agent removes any virtual ballot paper. It could even be implemented so that the vote is chosen later without changing the basic operation of the process.
  • Step 2 (fig. La and Ib).
  • the Voting Agent connects to a Cluster Control Server or to a P2P network ⁇ makes a request to participate in the election.
  • Step 3 (fig. La and Ib).
  • the Voting Agent receives the data to connect to a cluster. If none is available, you are informed that you must create one and wait for connections.
  • Step 4 (fig. La and Ib).
  • the Voting Agent creates the cluster or connects to the indicated cluster. Communications between the nodes of the cluster will be made securely by means of any protocol available in the state of the art or any other expressly devised for such communication. The secure communication protocol between the nodes is not part of this invention.
  • Step 5 (fig. La and Ib).
  • the Voting Agent verifies that the cluster members are entitled to participate in the vote. This verification can be done against an Authentication Server of a verification authority or by any other means.
  • the legitimacy verification protocol to participate in the vote is not part of this invention.
  • the rest of the members of the cluster verify in turn the legitimacy of the new Agent to participate in the vote.
  • the voting phase proceeds.
  • Step 1 The cluster creates a minimum of N * (k + 1) virtual ballots for each voting option. Each virtual ballot has a unique identifier associated with the voting option it represents. All voting agents in the cluster have the initial list of virtual ballots and know the vote each one represents.
  • the protocol for performing this step is not part of this invention. Any protocol available in the state of the art or any specifically designed for this purpose will be used.
  • Step 2 An order is established among the voting agents (optionally the order can be re-established every turn of Loop 1).
  • the protocol for establishing order among voting agents is not part of this invention.
  • each agent (Loop 2):
  • Step 3 Receive from the previous agent in the list, a list of virtual ballots that remain to be chosen.
  • Step 4 Extract a virtual ballot from the list and pass the list of remaining ballots available to the next one on the list (only to it). The last of the list, passes the list of remaining virtual ballots to the first of the list.
  • the virtual ballot box will be declared invalid. If an Agent declares the virtual urn invalid, the cluster dissolves, and each agent searches again for a virtual urn to be included. The vote of a single agent can dissolve the cluster since the certificate is not valid if it is not signed by the N voters.
  • Step 5 The last agent to choose announces to the rest the list of ballots that have been left over.
  • Step 6 Each Agent makes the relevant checks, such as verifying that none of the remaining ballots correspond to any of the ones he has chosen (it would mean that some agent has altered the data).
  • Step 1 Each Agent asks a series of Agents for one (or more) virtual ballot identifier associated with a specific voting option. These respond privately to the Agent that asks (no other node in the cluster knows the answer). The Agent that asks verifies that there is no inconsistent data. Any algorithm can be chosen to select which Agents ask, who they ask, how many voting options they ask each Agent, how they choose the voting option (or) from which virtual ballot must be submitted for each Agent they ask, and how they determine if the data is inconsistent. One possible embodiment would be that 20 randomly chosen agents ask the rest of the agents randomly for an option, and an inconsistency is detected if someone repeats a virtual ballot identifier or the virtual ballot identifier is in the list of identifiers leftovers after the vote.
  • Step 2 If all agents agree that there has been no error, a digital certificate signed with each voter's private key is generated.
  • the certificate includes (at least) the result of the vote, which is deducted from the remaining ballots, and an identifier of each voter.
  • the identifier associated with each voter can be public (allows anyone to know the identity of the voter) or known only by a trusted authority coordinated with the trusted authority in charge of counting votes (they can both be the same).
  • the certificate is sent to one (or more) Certification Server, which signs the certificate with its private key and returns it to each of the Voting Agents so that they replace the original certificate with the one signed by the authority.
  • said Certification Server can verify different voting parameters, such as the number of votes allowed per voter has not been exceeded.
  • Step 2 The certificate is delivered to a trusted authority responsible for counting or to the P2P network.
  • each Agent may deliver the result to more trusted authorities or independent entities that oversee the process.
  • the nodes of that network retransmit the certificate to the entire network according to the collaborative algorithm they use. Once the certificate has been incorporated into the P2P network, anyone can obtain data from it to verify voting.
  • a trusted authority If a trusted authority has been established for counting, it adds the results of all virtual polls. The sum corresponds to the general result of the election. It then transmits the result to the Publication Server, and a list with the identifier of each virtual ballot box and the result of the voting in that ballot box, so that all users can verify that their vote has been counted and see the results.
  • the identifier public or private
  • a P2P network If a P2P network has been used, it stores the list of results in each virtual urn. Any user can add the partial results and check the result of the vote, as well as verify that their vote is included. Optionally there may be Publication Servers that collect such information and voters can check the results of said servers.
  • the P2P network stores the encrypted voting results by means of a key generated by a central authority, and at the end of the electoral process, said authority makes public the key that allows data to be decrypted. In this way the partial results of the voting are not known until it has been concluded, and therefore it is avoided that the partial results can influence some voters.
  • the protocol for encrypting votes is not part of this invention. One possible implementation of this protocol would be to use an asymmetric key pair. The public key would be used to encode the result of the Virtual Urns and the private key would be made public at the end of the vote.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

La presente invención tiene por objeto un método de voto electrónico del tipo que permite realizar votaciones sobre una cuestión desde terminales remotos interconectados mediante una red de comunicaciones abierta (por ejemplo Internet). El método se caracteriza por comprender (a) una fase en que se crean papeletas virtuales, (b) una fase en que se establece un orden entre los agentes votantes, (c) una fase en que cada Agente de Votación va extrayendo sucesivamente una papeleta virtual, (d) una fase en que el último agente hace públicas las papeletas restantes, (e) una fase en que cada agente verifica la coherencia de los datos y comunica cualquier posible error, (f) una fase en que cada agente pide información adicional al resto de agentes para hacer verificaciones de seguridad adicionales.

Description

ANTECEDENTES
El estado de la técnica actual en lo que se refiere a sistemas de votación electrónica a través de una red de comunicaciones no segura (como pueda ser Internet) no ha conseguido hasta ahora eliminar la necesidad de que haya una o varias autoridades que supervisen el proceso electoral ni de que los participantes en dicha votación se vean obligados a depositar su confianza en que dichas autoridades (o elementos integrantes de las mismas) no se salten las normas en provecho propio. Sí se han resuelto problemas como el de evitar que el voto pueda ser manipulado o que cualquier otra persona pueda conocer el voto de un votante, pero generalmente mediante la implantación de infraestructuras muy caras, que necesitan además ser administradas por personal de confianza y ser auditadas por entidades independientes. En la práctica esto se traduce en que frecuentemente las elecciones organizadas por organismos públicos no permitan el voto a través de Internet.
El problema de garantizar el secreto de voto ha sido resuelto si se excluye de dicha garantía a la o las autoridades de confianza que recopilan los resultados de la votación o participan en alguna de las etapas del sistema de voto electrónico. Además, alguna invención consigue garantizar en teoría dicho secreto también respecto a dichas autoridades si se parte de la base de que éstas no cooperarán entre ellas para averiguar el voto de un ciudadano y de que no hay posibilidad de que elementos
descontrolados dentro de las estructuras de dichas autoridades cooperen con dicho fin (WO
2003050771 Al, [Fujioka, A., Okamoto, T. y Ohta, K. A practica! secret voting schemefor !arge sca!e elections. Proc. of Auscrypt '92, LNCS 718, pp. 244-251 , 1992] , [Park, C, ítoh, K. y Kurosawa, K.
Efíicient anor¡ymous channe! and ali/nothing eiection scheme. Proc. of Eurocrypt '93, LNCS 765, p. 248- 259, 1993], US 6,31 7,833). Algunas de dichas invenciones (por ejemplo WO 2003050771 Al) requieren además que haya varios programas informáticos de los que se garantice su correcto funcionamiento e imposibilidad de acceso no controlado. Un fallo de seguridad en el acceso a los mismos podría resultar catastrófico. Definiciones:
Red P2P: Una red peer-to-peer, red de pares, red entre iguales, red entre pares o red punto a punto
(P2P, por sus siglas en inglés) es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre sí. Es decir, actúan simultáneamente como clientes y servidores respecto a los demás nodos de la red. Las redes P2P permiten el intercambio directo de información, en cualquier formato, entre los ordenadores interconectados.
BREVE DESCRIPCIÓN DE LA INVENCIÓN
La presente invención tiene por objeto un sistema de voto electrónico distribuido, anónimo y seguro. El sistema consta de un terminal, entendiendo en la presente invención bajo el concepto de terminal cualquier dispositivo capaz de mostrar en unos medios de visualizacion el contenido de una página web o contenido digital, incluyendo en consecuencia ordenadores, móviles, ordenadores de mano, portátiles, relojes inteligentes, gafas inteligentes, televisiones digitales, etc. En caso de que el votante no fuese una persona sino un circuito electrónico o un computador, se puede omitir dicho terminal. Un Agente de Votación (descargable o preinstalado en el terminal) que incorpora las operativas necesarias para que el voto del usuario sea procesado y contabilizado por el sistema. Dicho módulo incluye operativas de comunicación con otros terminales, operativas de encriptación y certificación de información y operativas de detección de errores o ataques maliciosos contra el proceso de elección. En caso de que el votante sea un circuito electrónico o computador, dicho Agente de Votación puede estar integrado en el mismo circuito, formar parte del software del computador, o formar parte de un dispositivo independiente conectado al circuito o computador.
Optativamente puede haber (a) un (o más) Servidor de Recuento central que recopila la información suministrada por los terminales, o (b) un conjunto de nodos interconectados mediante una red P2P, que recopilan la información, y la almacenan de forma distribuida y cooperativa. Optativamente puede haber un (o más) Servidor de Autentificación de votantes (que puede coincidir con cualquier otro servidor de esta invención).
Optativamente puede haber un (o más) Servidor de Certificación (que puede coincidir con cualquier otro servidor de esta invención)
Optativamente puede haber un (o más) Servidor de Control de Clústeres (que puede coincidir con cualquier otro servidor de esta invención)
Optativamente puede haber un (o más) Servidor de Publicación de resultados (que puede coincidir con cualquiera de los servidores anteriores)
Las características de la invención hacen que, para garantizar el secreto y la inalterabilidad del voto, los votantes no deban depositar su confianza en la buena voluntad de una o varias autoridades ni en los integrantes de las mismas. En algunas de las opciones de implantación de la presente invención intervienen autoridades de confianza que en teoría pueden tener un comportamiento indebido, pero con consecuencias menos graves que en invenciones anteriores. La información, incluso haciendo uso de servidores de autoridades de confianza, se encuentra siempre replicada y certificada contra modificaciones y resulta imposible para dichas autoridades conocer con certeza el voto individual de un votante. Cualquier comportamiento indebido que pretenda modificar el sentido del voto o la privacidad del voto, puede ser detectado por los votantes. En caso de acceso no autorizado a los servidores de alguna autoridad de confianza, cualquier alteración de los datos puede ser detectada y corregida simplemente recopilando de nuevo la información. En algunas de las opciones de implementación de la presente invención incluso no se requiere la existencia de autoridades de confianza que participen en el proceso de verificación de la votación.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura la representa un diagrama de bloques que ilustra un posible flujo de datos desarrollado durante la fase de conexión de la presente invención entre las partes que integran el sistema, cuando una de las partes integrantes es una red P2P que almacena los resultados de forma colaborativa. Corresponde a la fase 1 de la descripción en detalle de la invención: el Votante 1, por medio del Agente 1 (flecha 1), hace una petición de conexión (flecha 2) a la red P2P, la cual le responde (flecha 3) indicando los datos para conectarse a un clúster.
El Agente 1 entonces hace la petición de conexión al clúster (flecha 4) y obtiene la lista de participantes en el clúster. - El Agente 1 entonces verifica la identidad de los participantes por medio de un Servidor de
Autentificación (flecha 5).
La figura Ib representa un diagrama de bloques que ilustra un posible flujo de datos desarrollado durante la fase de conexión de la presente invención entre las partes que integran el sistema, cuando hay una autoridad central que proporciona los datos de conexión a los clústeres de votación. Corresponde a la fase 1 de la descripción en detalle de la invención: el Votante 1, por medio del Agente 1 (flecha 1), hace una petición de conexión (flecha 2) al servidor de Control de Clústeres, el cual le responde (flecha 3) indicando los datos para conectarse a un clúster.
El Agente 1 entonces hace la petición de conexión al clúster (flecha 4) y obtiene la lista de participantes en el clúster. El Agente 1 entonces verifica la identidad de los participantes por medio de un Servidor de Autentificación (flecha 5).
La figura 2 ilustra un caso de realización práctica en que el sistema de la invención es utilizado para contabilizar el voto de 4 usuarios, representando una simplificación del caso más general de utilización de la invención. Corresponde a la fase 2 de la descripción detallada de la invención:
En la parte superior se muestra una tabla que describe la papeleta virtual que selecciona cada agente en cada ronda. Cada fila representa una ronda. La primera columna es el número de ronda. Las siguientes cuatro columnas son las elecciones realizadas por cada agente en cada ronda. La última columna muestra las papeletas restantes al final de cada ronda. - En la parte inferior se muestra un grafo que describe paso a paso qué papeleta elige cada agente en cada momento. Dicha papeleta se muestra encima de cada círculo. Cada círculo representa una elección de un agente (el indicado en el interior del círculo). La entrada a cada círculo indica las papeletas que recibe el agente y la salida las papeletas restantes tras haber seleccionado la papeleta indicada. Cada agente repite esta operación 3 veces, tal como se describe en la tabla superior. La primera flecha de entrada contiene todas las papeletas generadas inicialmente y la última flecha de salida indica las papeletas virtuales que quedan al final del proceso. El valor de dichas papeletas permite deducir el resultado de la votación, tal como se describe en la explicación detallada.
La figura 3 muestra una tabla de verificación de la votación mostrada en la figura 2. Se ha
implementado, para este ejemplo, un esquema de validación en que cada Agente pregunta al resto de Agentes de Votación un único identificador de opción de voto.
Cada casilla de la tabla indica el valor que el agente de la columna pasa al agente de la fila. Esta figura ilustra los pasos dados en la fase 3 (verificación) de la descripción detallada de la presente invención.
Por ejemplo, la casilla correspondiente a columna Agente B, fila Agente A, tiene el identificador N3. Eso indica que el Agente A ha pedido al Agente B que le pase un identificador correspondiente a la opción N. El Agente B podía haber devuelto el identificador N3 o el N6, ya que en la primera ronda eligió el N3 y en la tercera el N6. El Agente A, cuando recibe el identificador N3 comprueba que dicho identificador no sea uno de los que él ha elegido ni uno de los que han quedado en la lista de papeleteas sobrantes. En la casilla correspondiente a columna Agente C, fila Agente A, ahora el Agente A pide al Agente C un identificador correspondiente a la opción y éste devuelve el identificador R5 que había elegido en la tercera ronda. EXPLICACION DETALLADA DE LA INVENCIÓN
Urna virtual: Elemento figurado que representa un contenedor del voto de varios votantes legítimos en una votación.
N: tamaño del clúster de una urna virtual
o: número de opciones que se puede votar
k: factor multiplicador
Los procesos y protocolos criptográficos que incluye la presente invención requieren ia realización por parte del votante de cálculos matemáticos compiejos La complejidad de estos cálculos motiva que sean realizados, en nombre del votante, por un Agente de Votación formado por un conjunto de programas o software
Sw wewi'Oi' revio ;
Cada votante dispone de un identificador único de la votación en que quiere participar y los datos de conexión a una lista de servidores proporcionados por una o varias autoridades de confianza.
Cada votante dispone de un par de claves asimétricas otorgadas, o no, por una autoridad de confianza (habitualmente un organismo público). En España podría ser por ejemplo un certificado CE ES o el DNI electrónico.
- Se ha establecido un censo que incluye las personas o entidades legitimadas a participar en la votación. Dicho censo puede haber sido realizado por una autoridad de confianza o por cualquier otro medio acordado por las partes involucradas en la votación.
Opcionalmente, cada votante puede disponer de un identificador privado, proporcionado por una autoridad de confianza, que identifica al votante en la votación de forma única, pero que solo permite conocer la identidad real del votante a dicha autoridad de confianza.
1 ; Cre r urna virtual
Paso 1 (fig. la y Ib). El votante comunica al Agente de Votación su voto para una determinada elección en curso. Este paso no ha de realizarse obligatoriamente en primer lugar: puede realizarse en cualquier momento antes de que el Agente de Votación extraiga ninguna papeleta virtual. Incluso podría implementarse de forma que el voto se elija con posterioridad sin que ello modifique el funcionamiento básico del proceso. Paso 2 (fig. la y Ib). El Agente de Votación conecta a un Servidor de Control de Clústeres o a una red P2P \¡ hace una solicitud de participación en la elección.
Paso 3 (fig. la y Ib). El Agente de Votación recibe los datos para conectarse a un clúster. Si no hay ninguno disponible se le comunica que ha de crear uno y esperar conexiones. Paso 4 (fig. la y Ib). El Agente de Votación crea el clúster o se conecta al clúster indicado. Las comunicaciones entre los nodos del clúster se realizarán de forma segura por medio de cualquier protocolo disponible en el estado de la técnica o cualquier otro ideado expresamente para dicha comunicación. No forma parte de esta invención el protocolo seguro de comunicación entre los nodos.
Paso 5 (fig. la y Ib). El Agente de Votación verifica que los miembros del clúster estén legitimados para participar en la votación. Esta comprobación se puede hacer contra un Servidor de Autentificación de una autoridad de verificación o por cualquier otro medio. No forma parte de esta invención el protocolo de verificación de legitimidad para participar en la votación. El resto de miembros del clúster verifican a su vez la legitimidad del nuevo Agente para participar en la votación.
En el caso de usar una red P2P para almacenar de forma distribuida los resultados electorales, se podrá consultar igualmente si el usuario ya ha votado, o bien confiar en una autoridad verificadora, o bien confiar en la opinión de los nodos actualmente conectados a la red P2P, o bien saltarse esta verificación.
Si el clúster llega al número de Agentes conectados pactado (N) o a uno suficiente para iniciar la votación, y todos los agentes están de acuerdo en la legitimidad del clúster, se procede a la fase de votación.
Paso 1. El clúster crea un mínimo de N*(k+1) papeletas virtuales por cada opción de voto. Cada papeleta virtual tiene un identificador único asociado a la opción de voto que representa. Todos los agentes votantes en el clúster tienen la lista inicial de papeletas virtuales y conocen el voto que representa cada una. No forma parte de esta invención el protocolo para realizar este paso. Se usará cualquier protocolo disponible en el estado de la técnica o cualquiera diseñado específicamente para este propósito.
Paso 2. Se establece un orden entre los agentes votantes (opcionalmente el orden se puede volver a establecer a cada vuelta del Bucle 1). No forma parte de esta invención el protocolo para establecer el orden entre los agentes votantes. Hacer o*k+l veces (Bucle 1):
Siguiendo el orden establecido, y hasta completar una vuelta completa a la lista de agentes, cada agente (Bucle 2):
Paso 3. Recibe del agente anterior de la lista, una lista de papeletas virtuales que quedan por elegir.
Paso 4. Extrae una papeleta virtual de la lista y pasa el listado de papeletas restantes disponibles al siguiente en la lista (solo a él). El último de la lista, pasa la lista de papeletas virtuales restantes al primero de la lista.
Reglas que deben cumplir todos los agentes: - Al finalizar las o*k+l vueltas a la lista, cada agente debe tener al menos k papeletas
correspondientes a cada opción de voto disponible, más una papeleta adicional que decanta su voto hacia la opción a que está asociada.
Si se detecta alguna inconsistencia (por ejemplo que no queden papeletas de una opción), declarará inválida la urna virtual. Si un Agente declara inválida la urna virtual, el clúster se disuelve, y cada agente vuelve a buscar una urna virtual en la que incluirse. El voto de un solo agente puede disolver el clúster ya que el certificado no es válido si no está firmado por los N votantes.
Paso 5. El último agente en elegir anuncia al resto la lista de papeletas que han sobrado.
Paso 6. Cada Agente hace las comprobaciones pertinentes, como por ejemplo verificar que ninguna de las papeletas sobrantes corresponda a ninguna de las que ha elegido (significaría que algún agente ha alterado los datos).
Paso 1. Cada Agente pide a una serie de Agentes un (o más) identificador de papeleta virtual asociado a una determinada opción de voto. Éstos responden de forma privada al Agente que pregunta (ningún otro nodo del clúster conoce la respuesta). El Agente que pregunta verifica que no haya datos incoherentes. Se puede elegir cualquier algoritmo para seleccionar qué Agentes preguntan, a quién preguntan, cuántas opciones de voto preguntan a cada Agente, cómo eligen la (o las) opción de voto de la que se debe presentar papeleta virtual para cada Agente al que preguntan, y cómo determinan si los datos son incoherentes. Una posible realización sería que 20 agentes elegidos al azar preguntan al resto de agentes aleatoriamente por una opción, y se detecta una incoherencia si alguien repite un identificador de papeleta virtual o el identificador de la papeleta virtual está en la lista de identificadores sobrantes tras la votación. Si se detecta alguna incoherencia se invalida toda la votación. El objetivo es que la probabilidad de que alguien haga trampa y no sea detectado sea muy pequeña y que al mismo tiem po la probabilidad de que algún agente votante averigüe el voto de algún otro agente sea nula o muy pequeña. No forma parte de esta invención ningún protocolo concreto para realizar este paso sino solo las características generales, explicitadas en este punto, que deberá tener dicho protocolo.
Paso 2. Si todos los agentes están de acuerdo en que no ha habido ningún error se genera un certificado digital firmado con la clave privada de cada votante. El certificado incluye (al menos) el resultado de la votación, el cual se deduce de las papeletas que han sobrado, y un identificador de cada votante. El identificador asociado a cada votante puede ser público (permite a cualquiera conocer la identidad del votante) o conocido únicamente por una autoridad de confianza coordinada con la autoridad de confianza encargada del recuento de votos (pueden ser ambas la misma).
Paso 1 (opcional)
Se envía el certificado a un (o más) Servidor de Certificación, el cuál firma el certificado con su clave privada y lo devuelve a cada uno de los Agentes de Votación para que estos sustituyan el certificado original por el firmado por la autoridad. Opcionalmente dicho Servidor de Certificación puede verificar diferentes parámetros de la votación, como pueda ser que no se haya superado el número de votos permitidos por votante.
Paso 2. Se entrega el certificado a una autoridad de confianza encargada del recuento o a la red P2P.
Si se entrega a una autoridad de confianza (a través de servidor de Recuento), ésta lo almacena hasta finalizar la elección. Opcionalmente dicho Servidor de Recuento podría verificar diferentes parámetros de la votación, como pueda ser que no se haya superado el número de votos permitidos por votante. Opcionalmente, cada Agente podrá entregar el resultado a más autoridades de confianza o entidades independientes que supervisen el proceso.
Si se entrega a una red P2P, los nodos de dicha red retransmiten el certificado a toda la red de acuerdo al algoritmo colaborativo que utilicen. Una vez el certificado se ha incorporado a la red P2P, cualquiera puede obtener los datos de ésta para verificar la votación.
Una vez finalizado el periodo de votación: Si se ha establecido una autoridad de confianza para el recuento, ésta suma los resultados de todas las urnas virtuales. La suma corresponde al resultado general de la elección. A continuación transmite al Servidor de Publicación el resultado, y una lista con el identificador de cada urna virtual y el resultado de la votación en dicha urna, para que todos los usuarios puedan verificar que se ha contabilizado su voto y ver los resultados. Opcionalmente puede publicarse también el identificador (público o privado) de cada votante.
Si se ha usado una red P2P, ésta almacena la lista de resultados en cada urna virtual. Cualquier usuario puede sumar los resultados parciales y comprobar cuál es el resultado de la votación, así como comprobar que su voto está incluido. Opcionalmente puede haber Servidores de Publicación que recopilan dicha información y los votantes pueden consultar de dichos servidores el resultado.
En una de las variantes de implementación, la red P2P almacena los resultados de la votación encriptados mediante una clave generada por una autoridad central, y al finalizar el proceso electoral, dicha autoridad hace pública la clave que permite descifrar los datos. De esta manera no se conocen los resultados parciales de la votación hasta que ésta no ha concluido, y por lo tanto se evita que los resultados parciales puedan influir a algunos votantes. No forma parte de esta invención el protocolo para encriptar los votos. Una posible implementación de dicho protocolo consistiría en usar un par de claves asimétricas. La clave pública serviría para codificar el resultado de las Urnas Virtuales y la clave privada se haría pública al finalizar la votación.

Claims

EIVIND1CACIONES
1- Método para votación electrónica segura, en el que se utiliza al menos un Servidor de Control de Clusteres y un conjunto de Agentes de Votación , estando dotados cada uno de ellos de medios de computación y preferiblemente conectados entre sí, en caso de dispersión, mediante al menos una red de comunicaciones, comprendiendo unos procesos y protocolos criptográficos para que a lo largo de la ejecución del método y una vez finalizado un proceso electoral, se garanticen una serie de requisitos de seguridad específicos del proceso electoral, caracterizado por comprender las siguientes etapas: a) creación de una Urna Virtual formada por diversos Agentes de Votación que verifican mutuamente la legitimidad para votar de cada votante ; b) intercambio de mensajes entre los Agentes de Votación siguiendo los siguientes pasos:
(i) Crear papeletas virtuales
(ii) Se establece un orden entre los agentes votantes
(iii) Hacer o*k+l veces: Siguiendo el orden establecido, y hasta completar una vuelta
completa a la lista de agentes, cada agente: (iv) recibe del agente anterior de la lista, una lista de papeletas virtuales que quedan por elegir, y (v) extrae una papeleta virtual de la lista y pasa el listado de papeletas restantes al siguiente agente. Dicha elección de papeleta deberá respetar la norma de que al final del proceso (o*k+l elecciones) cada agente deberá haber elegido k papeletas de cada opción más una papeleta adicional que identifica la opción que han votado.
(vi) El último agente en elegir anuncia al resto la lista de papeletas que han sobrado.
(vii) Cada Agente de Votación hace las comprobaciones pertinentes para verificar la
coherencia de los datos c) Cada Agente de Votación pide a una serie de Agentes de Votación un (o más) identificador de papeleta virtual asociado a una determinada opción de voto. Estos responden de forma privada al Agente de Votación que pregunta (ningún otro nodo del clúster conoce la respuesta). El Agente de Votación que pregunta verifica que no haya datos incoherentes en la respuesta. d) Opcionalmente, los Agentes de Votación firman el resultado.
2- Método, según la reivindicación 1, caracterizado porque los Agentes de Votación, al terminar la fase de verificación, comunican a uno o más Servidores de Recuento el resultado de la votación, el cuál almacena los resultados de las Urnas Virtuales y puede bien (a) usarlos para calcular el resultado y enviarlo a uno o más Servidores de Publicación (el mismo Servidor de Recuento puede hacer a su vez de Servidor de Publicación); o (b) retransmitir dichos resultados a otros Servidores de Recuento.
Método, según la reivindicación 1, caracterizado porque los Agentes de Votación, al terminar la fase de verificación, comunican a una red P2P el resultado de la votación, la cuál almacena los resultados de las Urnas Virtuales en una estructura de datos distribuida y puede bien (a) usarlos para calcular el resultado y enviarlo a uno o más Servidores de Publicación o (b) retransmitir dichos resultados a otros Servidores de Recuento, o (c) permitir a cualquiera descargar los resultados y calcular el resultado.
PCT/ES2015/070430 2014-06-17 2015-06-02 Sistema de voto electrónico anónimo y seguro en redes abiertas WO2015193524A1 (es)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB1603315.1A GB2533067A (en) 2014-06-17 2015-06-02 Anonymous and secure electronic voting system for use in open networks
US15/300,308 US20170186260A1 (en) 2014-06-17 2015-06-02 Anonymous and secure electronic voting system for use in open networks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES201430923A ES2556681B1 (es) 2014-06-17 2014-06-17 Sistema de voto electrónico anónimo y seguro en redes abiertas
ESP201430923 2014-06-17

Publications (1)

Publication Number Publication Date
WO2015193524A1 true WO2015193524A1 (es) 2015-12-23

Family

ID=54934901

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2015/070430 WO2015193524A1 (es) 2014-06-17 2015-06-02 Sistema de voto electrónico anónimo y seguro en redes abiertas

Country Status (4)

Country Link
US (1) US20170186260A1 (es)
ES (1) ES2556681B1 (es)
GB (1) GB2533067A (es)
WO (1) WO2015193524A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111010431B (zh) * 2019-12-05 2022-09-02 全链通有限公司 基于区块链的电子投票方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050190924A1 (en) * 2004-02-27 2005-09-01 International Business Machines Corporation System, method and program product for anonymous transfer of messages
US20140106799A1 (en) * 2011-06-23 2014-04-17 Geert Michel Maria Audenaert Communication Platform for Iterative Multiparty Convergence Towards a Microdecision

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640181B2 (en) * 2000-02-17 2009-12-29 Hart Intercivic, Inc. Distributed network voting system
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US20090307065A1 (en) * 2008-06-05 2009-12-10 Ian Kincaid Direct democracy framework

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050190924A1 (en) * 2004-02-27 2005-09-01 International Business Machines Corporation System, method and program product for anonymous transfer of messages
US20140106799A1 (en) * 2011-06-23 2014-04-17 Geert Michel Maria Audenaert Communication Platform for Iterative Multiparty Convergence Towards a Microdecision

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ENGLERT BURKHARD ET AL.: "Multivalued and Deterministic Peer-to-Peer Polling in Social Networks with Reputation Conscious Participants.", 2013 12TH IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS, 16 July 2013 (2013-07-16), pages 895 - 902, XP032529609 *
RACHID GUERRAOUI ET AL.: "Decentralized polling with respectable participants.", JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, vol. 72, no. 1, AMSTERDAM, NL, pages 13 - 26, XP028334764, ISSN: 0743-7315 *

Also Published As

Publication number Publication date
ES2556681A2 (es) 2016-01-19
GB2533067A (en) 2016-06-08
ES2556681R2 (es) 2016-04-12
ES2556681B1 (es) 2017-01-25
US20170186260A1 (en) 2017-06-29
GB201603315D0 (en) 2016-04-13

Similar Documents

Publication Publication Date Title
AU2017395785B2 (en) Voting system and method
Li et al. A robust ECC-based provable secure authentication protocol with privacy preserving for industrial Internet of Things
EP4117228B1 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network
US9292692B2 (en) System and device for verifying the integrity of a system from its subcomponents
ES2326175T3 (es) Procedimiento y sistema de votacion electronica en red de alta seguridad.
ES2255455B1 (es) Metodo para votacion electronica segura y protocolos criptograficos empleados.
US9715590B2 (en) System and device for verifying the integrity of a system from its subcomponents
CN110249333A (zh) 联盟区块链网络的事务处理
CN103563288B (zh) 基于口令的单轮密钥交换协议
Reddy et al. Provably secure pseudo-identity based device authentication for smart cities environment
ES2659580T3 (es) Procedimiento de comprobación de la preservación de privacidad entre tres partes que se comunican entre sí
CN105871553A (zh) 一种无需用户身份的三因素的远程用户认证方法
Almuhaideb et al. A lightweight and secure anonymity preserving protocol for WBAN
CN107615285A (zh) 包括物理不可克隆功能和阈值加密的认证系统和装置
CN102088462A (zh) 一种保护用户隐私的传感器网络分布式访问控制方法
Fakroon et al. Multifactor authentication scheme using physically unclonable functions
Koch The landscape of security from physical assumptions
ES2307734T3 (es) Sistema de descifre de ordenes y metodo de descifre de ordenes y programa.
Kulyk et al. Electronic voting with fully distributed trust and maximized flexibility regarding ballot design
ES2556681B1 (es) Sistema de voto electrónico anónimo y seguro en redes abiertas
Mao et al. Trusted authority assisted three‐factor authentication and key agreement protocol for the implantable medical system
Kadam et al. Blockchain Based e-Voting System
Chen et al. A security-enhanced and ultra-lightweight communication protocol for internet of medical things
BR112020012449A2 (pt) cadeias de blocos rápidas e resilientes à partição
Haghighat et al. An efficient and provably-secure coercion-resistant e-voting protocol

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15809115

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 201603315

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20150602

WWE Wipo information: entry into national phase

Ref document number: 15300308

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15809115

Country of ref document: EP

Kind code of ref document: A1