ES2556681B1 - 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
ES2556681B1
ES2556681B1 ES201430923A ES201430923A ES2556681B1 ES 2556681 B1 ES2556681 B1 ES 2556681B1 ES 201430923 A ES201430923 A ES 201430923A ES 201430923 A ES201430923 A ES 201430923A ES 2556681 B1 ES2556681 B1 ES 2556681B1
Authority
ES
Spain
Prior art keywords
voting
agent
virtual
agents
ballots
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
ES201430923A
Other languages
English (en)
Other versions
ES2556681A2 (es
ES2556681R2 (es
Inventor
Juan José BERMÚDEZ PÉREZ
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 ES201430923A priority Critical patent/ES2556681B1/es
Priority to PCT/ES2015/070430 priority patent/WO2015193524A1/es
Priority to GB1603315.1A priority patent/GB2533067A/en
Priority to US15/300,308 priority patent/US20170186260A1/en
Publication of ES2556681A2 publication Critical patent/ES2556681A2/es
Publication of ES2556681R2 publication Critical patent/ES2556681R2/es
Application granted granted Critical
Publication of ES2556681B1 publication Critical patent/ES2556681B1/es
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • 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

5
10
15
20
25
30
DESCRIPCION
Sistema de voto electronico anonimo y seguro en redes abiertas ANTECEDENTES
El estado de la tecnica actual en lo que se refiere a sistemas de votacion electronica a traves 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 participates en dicha votacion 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. SI 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 implantacion de infraestructuras muy caras, que necesitan ademas ser administradas por personal de confianza y ser auditadas por entidades independientes. En la practica esto se traduce en que frecuentemente las elecciones organizadas por organismos publicos no permitan el voto a traves de Internet.
El problema de garantizar el secreto de voto ha sido resuelto si se excluye de dicha garantla a la o las autoridades de confianza que recopilan los resultados de la votacion o participan en alguna de las etapas del sistema de voto electronico. Ademas, alguna invencion consigue garantizar en teorla dicho secreto tambien respecto a dichas autoridades si se parte de la base de que estas no cooperaran 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 A1, [Fujioka, A., Okamoto, T. y Ohta, K. A practical secret voting schemefor large scale elections. Proc. of Auscrypt '92, LNCS 718, pp. 244-251, 1992] , [Park, C, Itoh, K. y Kurosawa, K. Efficient anonymous channel and all/nothing election scheme. Proc. of Eurocrypt '93, LNCS 765, pp. 248-259, 1993], US 6,317,833). Algunas de dichas invenciones (por ejemplo WO 2003050771 A1) requieren ademas que haya varios programas informaticos de los que se garantice su correcto funcionamiento e imposibilidad de acceso no controlado. Un fallo de seguridad en el acceso a los mismos podrla resultar catastrofico.
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 ingles) 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 si. Es decir, actuan simultaneamente como clientes y servidores respecto a
5
10
15
20
25
30
los demas nodos de la red. Las redes P2P permiten el intercambio directo de information, en cualquier formato, entre los ordenadores interconectados.
BREVE DESCRIPCION DE LA INVENCION
La presente invention tiene por objeto un sistema de voto electronico distribuido, anonimo y seguro.
El sistema consta de un terminal, entendiendo en la presente invencion bajo el concepto de terminal cualquier dispositivo capaz de mostrar en unos medios de visualization el contenido de una pagina web o contenido digital, incluyendo en consecuencia ordenadores, moviles, ordenadores de mano, portatiles, relojes inteligentes, gafas inteligentes, televisiones digitales, etc. En caso de que el votante no fuese una persona sino un circuito electronico o un computador, se puede omitir dicho terminal.
Un Agente de Votacion (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 modulo incluye operativas de comunicacion con otros terminales, operativas de encriptacion y certification de informacion y operativas de detection de errores o ataques maliciosos contra el proceso de election. En caso de que el votante sea un circuito electronico o computador, dicho Agente de Votacion 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 mas) Servidor de Recuento central que recopila la informacion suministrada por los terminales, o (b) un conjunto de nodos interconectados mediante una red P2P, que recopilan la informacion, y la almacenan de forma distribuida y cooperativa.
Optativamente puede haber un (o mas) Servidor de Autentificacion de votantes (que puede coincidir con cualquier otro servidor de esta invencion).
Optativamente puede haber un (o mas) Servidor de Certificacion (que puede coincidir con cualquier otro servidor de esta invencion)
Optativamente puede haber un (o mas) Servidor de Control de Clusteres (que puede coincidir con cualquier otro servidor de esta invencion)
Optativamente puede haber un (o mas) Servidor de Publicacion de resultados (que puede coincidir con cualquiera de los servidores anteriores)
Las caracterlsticas de la invencion 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
3
5
10
15
20
25
30
autoridades ni en los integrantes de las mismas. En algunas de las opciones de implantacion de la presente invention intervienen autoridades de confianza que en teorla pueden tener un comportamiento indebido, pero con consecuencias menos graves que en invenciones anteriores. La information, 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 alteration de los datos puede ser detectada y corregida simplemente recopilando de nuevo la informacion. En algunas de las opciones de implementation de la presente invencion incluso no se requiere la existencia de autoridades de confianza que participen en el proceso de verification de la votacion.
BREVE DESCRIPCION DE LOS DIBUJOS
La figura 1a representa un diagrama de bloques que ilustra un posible flujo de datos desarrollado durante la fase de conexion de la presente invencion 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 description en detalle de la invencion:
- el Votante 1, por medio del Agente 1 (flecha 1), hace una petition de conexion (flecha 2) a la red P2P, la cual le responde (flecha 3) indicando los datos para conectarse a un cluster.
- El Agente 1 entonces hace la peticion de conexion al cluster (flecha 4) y obtiene la lista de participates en el cluster.
- El Agente 1 entonces verifica la identidad de los participates por medio de un Servidor de Autentificacion (flecha 5).
La figura 1b representa un diagrama de bloques que ilustra un posible flujo de datos desarrollado durante la fase de conexion de la presente invencion entre las partes que integran el sistema, cuando hay una autoridad central que proporciona los datos de conexion a los clusteres de votacion. Corresponde a la fase 1 de la descripcion en detalle de la invencion:
- el Votante 1, por medio del Agente 1 (flecha 1), hace una peticion de conexion (flecha 2) al servidor de Control de Clusteres, el cual le responde (flecha 3) indicando los datos para conectarse a un cluster.
- El Agente 1 entonces hace la peticion de conexion al cluster (flecha 4) y obtiene la lista de participates en el cluster.
5
10
15
20
25
30
- El Agente 1 entonces verifica la identidad de los participantes por medio de un Servidor de Autentificacion (flecha 5).
La figura 2 ilustra un caso de realization practica en que el sistema de la invention es utilizado para contabilizar el voto de 4 usuarios, representando una simplification del caso mas general de utilization de la invencion. Corresponde a la fase 2 de la description detallada de la invencion:
- 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 numero de ronda. Las siguientes cuatro columnas son las elecciones realizadas por cada agente en cada ronda. La ultima columna muestra las papeletas restantes al final de cada ronda.
- En la parte inferior se muestra un grafo que describe paso a paso que papeleta elige cada agente en cada momento. Dicha papeleta se muestra encima de cada clrculo. Cada clrculo representa una election de un agente (el indicado en el interior del clrculo). La entrada a cada clrculo indica las papeletas que recibe el agente y la salida las papeletas restantes tras haber seleccionado la papeleta indicada. Cada agente repite esta operation 3 veces, tal como se describe en la tabla superior. La primera flecha de entrada contiene todas las papeletas generadas inicialmente y la ultima flecha de salida indica las papeletas virtuales que quedan al final del proceso. El valor de dichas papeletas permite deducir el resultado de la votacion, tal como se describe en la explication detallada.
La figura 3 muestra una tabla de verification de la votacion mostrada en la figura 2. Se ha implementado, para este ejemplo, un esquema de validation en que cada Agente pregunta al resto de Agentes de Votacion un unico identificador de option 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 (verificacion) de la descripcion detallada de la presente invencion.
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 opcion N. El Agente B podia haber devuelto el identificador N3 o el N6, ya que en la primera ronda eligio 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 el 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
5
10
15
20
25
30
Agente C un identificador correspondiente a la opcion R y este devuelve el identificador R5 que habla elegido en la tercera ronda.
EXPLICACION DETALLADA DE LA INVENCION
Notacion:
Urna virtual: Elemento figurado que representa un contenedor del voto de varios votantes legltimos en una votacion.
N: tamano del cluster de una urna virtual
o: numero de opciones que se puede votar
k: factor multiplicador
Los procesos y protocolos criptograficos que incluye la presente invencion requieren la realization por parte del votante de calculos matematicos complejos La complejidad de estos calculos motiva que sean realizados, en nombre del votante, por un Agente de Votacion formado por un conjunto de programas o software
Supuestos previos:
- Cada votante dispone de un identificador unico de la votacion en que quiere participar y los datos de conexion a una lista de servidores proporcionados por una o varias autoridades de confianza.
- Cada votante dispone de un par de claves asimetricas otorgadas, o no, por una autoridad de confianza (habitualmente un organismo publico). En Espana podrla ser por ejemplo un certificado CERES o el DNI electronico.
- Se ha establecido un censo que incluye las personas o entidades legitimadas a participar en la votacion. Dicho censo puede haber sido realizado por una autoridad de confianza o por cualquier otro medio acordado por las partes involucradas en la votacion.
- Opcionalmente, cada votante puede disponer de un identificador privado, proporcionado por una autoridad de confianza, que identifica al votante en la votacion de forma unica, pero que solo permite conocer la identidad real del votante a dicha autoridad de confianza.
Fase 1: Crear urna virtual.
Paso 1 (fig. 1a y 1b). El votante comunica al Agente de Votacion su voto para una determinada election en curso. Este paso no ha de realizarse obligatoriamente en primer lugar: puede
5
10
15
20
25
30
realizarse en cualquier momento antes de que el Agente de Votacion extraiga ninguna papeleta virtual. Incluso podria implementarse de forma que el voto se elija con posterioridad sin que ello modifique el funcionamiento basico del proceso.
Paso 2 (fig. 1a y 1b). El Agente de Votacion conecta a un Servidor de Control de Clusteres o a una red P2P y hace una solicitud de participation en la election.
Paso 3 (fig. 1a y 1b). El Agente de Votacion recibe los datos para conectarse a un cluster. Si no hay ninguno disponible se le comunica que ha de crear uno y esperar conexiones.
Paso 4 (fig. 1a y 1b). El Agente de Votacion crea el cluster o se conecta al cluster indicado. Las comunicaciones entre los nodos del cluster se realizaran de forma segura por medio de cualquier protocolo disponible en el estado de la tecnica o cualquier otro ideado expresamente para dicha comunicacion. No forma parte de esta invention el protocolo seguro de comunicacion entre los nodos.
Paso 5 (fig. 1a y 1b). El Agente de Votacion verifica que los miembros del cluster esten legitimados para participar en la votacion. Esta comprobacion se puede hacer contra un Servidor de Autentificacion de una autoridad de verification o por cualquier otro medio. No forma parte de esta invencion el protocolo de verificacion de legitimidad para participar en la votacion. El resto de miembros del cluster verifican a su vez la legitimidad del nuevo Agente para participar en la votacion.
En el caso de usar una red P2P para almacenar de forma distribuida los resultados electorales, se podra consultar igualmente si el usuario ya ha votado, o bien confiar en una autoridad verificadora, o bien confiar en la opinion de los nodos actualmente conectados a la red P2P, o bien saltarse esta verificacion.
Si el cluster llega al numero de Agentes conectados pactado (N) o a uno suficiente para iniciar la votacion, y todos los agentes estan de acuerdo en la legitimidad del cluster, se procede a la fase de votacion.
Fase 2: Votacion (figura 2)
Paso 1. El cluster crea un mmimo de N*(k+1) papeletas virtuales por cada option de voto. Cada papeleta virtual tiene un identificador unico asociado a la opcion de voto que representa. Todos los agentes votantes en el cluster tienen la lista inicial de papeletas virtuales y conocen el voto que representa cada una. No forma parte de esta invencion el protocolo para realizar
5
10
15
20
25
30
este paso. Se usara cualquier protocolo disponible en el estado de la tecnica o cualquiera disenado especlficamente para este proposito.
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 invencion el protocolo para establecer el orden entre los agentes votantes.
Hacer o*k+1 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 el). El ultimo 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+1 vueltas a la lista, cada agente debe tener al menos k papeletas correspondientes a cada opcion de voto disponible, mas una papeleta adicional que decanta su voto hacia la opcion a que esta asociada.
- Si se detecta alguna inconsistencia (por ejemplo que no queden papeletas de una opcion), declarara invalida la urna virtual. Si un Agente declara invalida la urna virtual, el cluster se disuelve, y cada agente vuelve a buscar una urna virtual en la que incluirse. El voto de un solo agente puede disolver el cluster ya que el certificado no es valido si no esta firmado por los N votantes.
Paso 5. El ultimo 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 (significarla que algun agente ha alterado los datos).
Fase 3 Validacion (figura 3)
Paso 1. Cada Agente pide a una serie de Agentes un (o mas) identificador de papeleta virtual asociado a una determinada opcion de voto. Estos responden de forma privada al Agente que pregunta (ningun otro nodo del cluster conoce la respuesta). El Agente que pregunta verifica que no haya datos incoherentes. Se puede elegir cualquier algoritmo para seleccionar que
Agentes preguntan, a quien preguntan, cuantas opciones de voto preguntan a cada Agente,
8
5
10
15
20
25
30
como eligen la (o las) opcion de voto de la que se debe presentar papeleta virtual para cada Agente al que preguntan, y como determinan si los datos son incoherentes. Una posible realization serla que 20 agentes elegidos al azar preguntan al resto de agentes aleatoriamente por una opcion, y se detecta una incoherencia si alguien repite un identificador de papeleta virtual o el identificador de la papeleta virtual esta en la lista de identificadores sobrantes tras la votacion. Si se detecta alguna incoherencia se invalida toda la votacion. El objetivo es que la probabilidad de que alguien haga trampa y no sea detectado sea muy pequena y que al mismo tiempo la probabilidad de que algun agente votante averigue el voto de algun otro agente sea nula o muy pequena. No forma parte de esta invention ningun protocolo concreto para realizar este paso sino solo las caracterlsticas generales, explicitadas en este punto, que debera tener dicho protocolo.
Paso 2. Si todos los agentes estan de acuerdo en que no ha habido ningun error se genera un certificado digital firmado con la clave privada de cada votante. El certificado incluye (al menos) el resultado de la votacion, el cual se deduce de las papeletas que han sobrado, y un identificador de cada votante. El identificador asociado a cada votante puede ser publico (permite a cualquiera conocer la identidad del votante) o conocido unicamente por una autoridad de confianza coordinada con la autoridad de confianza encargada del recuento de votos (pueden ser ambas la misma).
Fase 4: Certificacion de votacion
Paso 1 (opcional)
Se envla el certificado a un (o mas) Servidor de Certificacion, el cual firma el certificado con su clave privada y lo devuelve a cada uno de los Agentes de Votacion para que estos sustituyan el certificado original por el firmado por la autoridad. Opcionalmente dicho Servidor de Certificacion puede verificar diferentes parametros de la votacion, como pueda ser que no se haya superado el numero 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 traves de servidor de Recuento), esta lo almacena hasta finalizar la election. Opcionalmente dicho Servidor de Recuento podrla verificar diferentes parametros de la votacion, como pueda ser que no se haya superado el numero de votos permitidos por votante. Opcionalmente, cada Agente podra entregar el resultado a mas 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 esta para verificar la votacion.
Fase 5: Recuento y consults de resultados de la eleccion
5 Una vez finalizado el periodo de votacion:
Si se ha establecido una autoridad de confianza para el recuento, esta suma los resultados de todas las urnas virtuales. La suma corresponde al resultado general de la eleccion. A continuation transmite al Servidor de Publication el resultado, y una lista con el identificador de cada urna virtual y el resultado de la votacion en dicha urna, para que todos los 10 usuarios puedan verificar que se ha contabilizado su voto y ver los resultados. Opcionalmente puede publicarse tambien el identificador (publico o privado) de cada votante.
Si se ha usado una red P2P, esta almacena la lista de resultados en cada urna virtual. Cualquier usuario puede sumar los resultados parciales y comprobar cual es el resultado de la votacion, asl como comprobar que su voto esta incluido. Opcionalmente puede haber 15 Servidores de Publicacion que recopilan dicha information y los votantes pueden consultar de dichos servidores el resultado.
En una de las variantes de implementation, la red P2P almacena los resultados de la votacion encriptados mediante una clave generada por una autoridad central, y al finalizar el proceso electoral, dicha autoridad hace publica la clave que permite descifrar los datos. De esta manera 20 no se conocen los resultados parciales de la votacion hasta que esta no ha concluido, y por lo tanto se evita que los resultados parciales puedan influir a algunos votantes. No forma parte de esta invention el protocolo para encriptar los votos. Una posible implementacion de dicho protocolo consistirla en usar un par de claves asimetricas. La clave publica servirla para codificar el resultado de las Urnas Virtuales y la clave privada se harla publica al finalizar la 25 votacion.

Claims (1)

  1. 5
    10
    15
    20
    25
    30
    35
    REIVINDICACIONES
    1- Metodo para votacion electronica segura, en el que se utiliza al menos un Servidor de Control de Clusteres y un conjunto de Agentes de Votacion , estando dotados cada uno de ellos de medios de computation y preferiblemente conectados entre si, en caso de dispersion, mediante al menos una red de comunicaciones, comprendiendo unos procesos y protocolos criptograficos para que a lo largo de la ejecucion del metodo y una vez finalizado un proceso electoral, se garanticen una serie de requisitos de seguridad especlficos del proceso electoral, caracterizado por comprender las siguientes etapas: a) creation de una Urna Virtual formada por diversos Agentes de Votacion que verifican mutuamente la legitimidad para votar de cada votante ; b) intercambio de mensajes entre los Agentes de Votacion siguiendo los siguientes pasos:
    (i) Crear papeletas virtuales
    (ii) Se establece un orden entre los agentes votantes
    (iii) Hacer o*k+1 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 election de papeleta debera respetar la norma de que al final del proceso (o*k+1 elecciones) cada agente debera haber elegido k papeletas de cada option mas una papeleta adicional que identifica la opcion que han votado.
    (vi) El ultimo agente en elegir anuncia al resto la lista de papeletas que han sobrado.
    (vii) Cada Agente de Votacion hace las comprobaciones pertinentes para verificar la coherencia de los datos
    c) Cada Agente de Votacion pide a una serie de Agentes de Votacion un (o mas) identificador de papeleta virtual asociado a una determinada opcion de voto. Estos responden de forma privada al Agente de Votacion que pregunta (ningun otro nodo del cluster conoce la respuesta). El Agente de Votacion que pregunta verifica que no haya datos incoherentes en la respuesta.
    d) Opcionalmente, los Agentes de Votacion firman el resultado.
    2- Metodo, segun la revindication 1, caracterizado porque los Agentes de Votacion, al terminar la fase de verification, comunican a uno o mas Servidores de Recuento el resultado de la votacion, el cual almacena los resultados de las Urnas Virtuales y puede bien (a) usarlos para calcular el resultado y enviarlo a uno o mas Servidores de Publication (el mismo Servidor de Recuento puede hacer a su vez de Servidor de
    Publication); o (b) retransmitir dichos resultados a otros Servidores de Recuento.
    11
    3- Metodo, segun la reivindicacion 1, caracterizado porque los Agentes de Votacion, al terminar la fase de verification, comunican a una red P2P el resultado de la votacion, la cual 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 mas 5 Servidores de Publication o (b) retransmitir dichos resultados a otros Servidores de
    Recuento, o (c) permitir a cualquiera descargar los resultados y calcular el resultado.
ES201430923A 2014-06-17 2014-06-17 Sistema de voto electrónico anónimo y seguro en redes abiertas Expired - Fee Related ES2556681B1 (es)

Priority Applications (4)

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
PCT/ES2015/070430 WO2015193524A1 (es) 2014-06-17 2015-06-02 Sistema de voto electrónico anónimo y seguro en redes abiertas
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 (1)

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

Publications (3)

Publication Number Publication Date
ES2556681A2 ES2556681A2 (es) 2016-01-19
ES2556681R2 ES2556681R2 (es) 2016-04-12
ES2556681B1 true ES2556681B1 (es) 2017-01-25

Family

ID=54934901

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201430923A Expired - Fee Related ES2556681B1 (es) 2014-06-17 2014-06-17 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 全链通有限公司 基于区块链的电子投票方法、设备及存储介质

Family Cites Families (5)

* 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
DE602005007526D1 (de) * 2004-02-27 2008-07-31 Ibm System zum Erreichen einer anonymen Kommunikation einer Nachricht unter Verwendung einer Geheimschlüsselkryptographie
US20090307065A1 (en) * 2008-06-05 2009-12-10 Ian Kincaid Direct democracy framework
EP2538375A1 (en) * 2011-06-23 2012-12-26 NV Mobicage A communication platform for iterative multiparty convergence towards a microdecision

Also Published As

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

Similar Documents

Publication Publication Date Title
Son et al. Design of secure authentication protocol for cloud-assisted telecare medical information system using blockchain
Wu et al. A lightweight and provably secure key agreement system for a smart grid with elliptic curve cryptography
AU2017395785B2 (en) Voting system and method
Adiputra et al. A proposal of blockchain-based electronic voting system
EP4117228B1 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network
ES2326175T3 (es) Procedimiento y sistema de votacion electronica en red de alta seguridad.
ES2255455B1 (es) Metodo para votacion electronica segura y protocolos criptograficos empleados.
US20150317481A1 (en) System and device for verifying the integrity of a system from its subcomponents
CN103563288B (zh) 基于口令的单轮密钥交换协议
Reddy et al. Provably secure pseudo-identity based device authentication for smart cities environment
JP2020528691A (ja) 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法
ES2613707T3 (es) Sistema y procedimiento para la autentificación fiable de un aparato
CN107615285A (zh) 包括物理不可克隆功能和阈值加密的认证系统和装置
WO2013150333A1 (es) Sistema y metodo para firmar y autentificar transacciones seguras a traves de una red de comunicaciones
Koch The landscape of security from physical assumptions
Kulyk et al. Electronic voting with fully distributed trust and maximized flexibility regarding ballot design
ES2307734T3 (es) Sistema de descifre de ordenes y metodo de descifre de ordenes y programa.
ES2556681B1 (es) Sistema de voto electrónico anónimo y seguro en redes abiertas
Priya et al. Disseminated and decentred blockchain secured balloting: apropos to India
CN108234504A (zh) 一种云存储中基于身份的代理数据完整性检测方法
Mao et al. Trusted authority assisted three‐factor authentication and key agreement protocol for the implantable medical system
Chen et al. A security-enhanced and ultra-lightweight communication protocol for internet of medical things
Kadam et al. Blockchain Based e-Voting System
Haghighat et al. An efficient and provably-secure coercion-resistant e-voting protocol
Kokoris Kogias Secure, confidential blockchains providing high throughput and low latency

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2556681

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20170125

FD2A Announcement of lapse in spain

Effective date: 20211004