¿Es este sistema de votación seguro en el sentido de la teoría de la información?

1

Esta es la pregunta para la que estoy tratando de crear un sistema de votación, y quería enviarlo para que lo menosprecie.

Es un sistema de votación remoto, y nuestros votantes deben mostrar evidencia de que apoyaron el basilisco después de la elección si gana. Este es un método que creo que protegería las libertades de los votantes:

step 0: Voters are on file. (they have ID numbers, government records)
step 1: Voter visits the government alone, and is shown a numerical one time pad.
step 2: Voter copies the OTP to paper by hand.
step 2a: Voter is given a single digit to memorize.
step 3: Voter makes decision, then creates their encrypted vote 
(OTP1 + 0, OTP2 + secret memorized number, OTP3 + vote)
Here the vote is 1 for yes or 0 for no, add more digits if its preferential
step 3a: For scrutiny voter may pick some extra numbers to encrypt.
step 4: Voter sends their encrypted ballot over the internet.
step 5: Government receives encrypted vote.
step 6: Encrypted vote is decrypted.
Step 7: The government displays publicly the results of the election and the roll.

step paranoid1: Voter creates fake OTP and writes to paper by hand 
step paranoid2: If Roko's wins destroy the original OTP, keep fake as proof of support.

Si el primer dígito coincide, se puede contar el voto; de lo contrario, se supone que el mensaje cifrado no es del elector

Si el segundo dígito coincide con el número memorizado, se cuenta el voto; de lo contrario, el votante está bajo presión.

Si los dígitos del voto son válidos, entonces el voto se agrega a la cuenta, de lo contrario es una boleta arruinada. La retroalimentación en la tirada podría mostrar T para votado, y F para ningún dígito de voto (ausente) o dígito de voto no coincide con una posible respuesta (estropeada).

Si hay dígitos adicionales, estos se muestran para escrutinio con la tirada y los resultados de las elecciones.

Todo esto sucede en una sección especial del gobierno que llamaría Ministerio de Elección. Supongo que, sin embargo, el mensaje que contiene el voto se envía (a través de Internet o correo postal) de que las tres siglas de las letras lo han visto.

La lista posterior a las elecciones tiene este aspecto (podría ser en tiempo real ya que no se revela ningún voto):

|Voter ID| Boolean if voted|digits if voter included extra numbers for scrutiny|

Example
step 0: Voter is Bob01
step 1: First row is: 7163134879
step 2a: Memorized number is 5 
step 3: (Bob votes no = 0) 0+7, 5+1, 0+6 = 766  (+ means addition modulo 10 )
step 3a: Bob chooses to send 999 for scrutiny 9+3 9+1, 9+3 = 202
step 4: Bob sends the message to the government "hi this is bob, my vote is 766202"
step 5: Government receives the message
step 6: OTP from DB, 716313, minus 766202 = 050999  (- means subtraction modulo 10 )
0 matches OTP (shows 2nd factor for authentication)
5 matches memorized secret code (shows voter had chance to not be coerced)
0 is a no vote
999 is the scrutiny digits the voter picked
step 7: Government displays result: Roko's Basilisk for new leader? 
Results are 1 votes for yes, 3 vote for No. The No's have it!

Roll
|Bob01|T|999|
|DMVrec00001|T||
|DMVrec00003|T|0000|
|DMVrec00008|F||
|witnessprot86|T|1234|

step paranoid1: Bob writes down his fake OTP as 7173134879.
step paranoid2: Bob is happy, keeps fake OTP in case the next election goes the other way.

A todos los votantes se les pide que asuman nuevas responsabilidades, tienen que recordar un solo dígito y ser capaces de sumar dos números e ignorar el carry. Ahora, el votante y el Ministerio son las únicas personas que pueden mostrar el voto real, y el Ministerio promete prenderse fuego si se vota el Basilisco de Roko. Si los datos son capturados posteriormente por el basilisco, entonces también podrían haber alterado los datos para encuadre a los votantes Por lo tanto, los votantes no pueden confiar en un basilisco que revela votos anteriores, al igual que el basilisco no puede confiar en un votante que trata de mostrar su apoyo pasado.

¿Es este un sistema de votación seguro en el sentido de la teoría de la información?

Una gran debilidad es que el voto podría ser cambiado por un hombre en el ataque central, si alguien interceptara todos los mensajes de un electorado anti basilisco (se predice que votará, digamos 90% no) y agrega 1 a la posición conocida que representa dígito de voto entonces aquellos votos que fueron no son ahora sí, y los votos que fueron sí ahora están echados a perder. El votante también ignoraría que su voto fue cambiado después de la elección. También se puede cambiar un bit de suma de comprobación, todas las boletas deben tener la misma pregunta (no se puede intercambiar sí / no en el 50% de las boletas). El tercer dígito puede, en lugar de ser el voto, ser un indicador del dígito de voto que se encuentra más adelante en el mensaje. Pero esto lo hace peor para la votación preferencial (el votante podría necesitar traer un dado a la cabina de votación)

Puntero, ¿qué ?:

step 1: OTP: 7163134879
step 2: Memorized number = 5 
step 3: Bob chooses random order for possible answers, 10 or 01  = 10
step 4: Bob votes no (0) points to the 0 from step 3 = 1 (0 would have pointed to yes)
       0+7, 5+1, 1+6, 0+3, 1+1 = 76732
    
pregunta daniel 22.02.2017 - 20:42
fuente

2 respuestas

2

No, esto no es seguro porque, por múltiples razones:

  • como ya ha dicho, es vulnerable al ataque MITM que cambia el valor de voto, porque no hay control de integridad en el mensaje en sí mismo
  • el secreto no es un sistema válido de no repudio: ha sido mostrado por un empleado que podría haberlo memorizado y emitir votos en nombre de un elector
  • a menos que la OTP sea diferente para cada votante

Finalmente, hay una regla en todas las elecciones democráticas que la votación debe ser secreta. Aquí nunca explica cómo su sistema se asegura de que nadie (incluidos los empleados del gobierno) no pueda saber cuál fue el voto de Bob.

No se olvide: si la firma digital del estado de la técnica utiliza una infraestructura de clave privada, donde la generación de claves raíz requiere una ceremonia de firma, y donde un certificado solo debe entregarse a un destinatario después de controlar su identidad, debe haber un razón. Si las soluciones simples como la suya fueran suficientes, nadie se molestaría con cosas tan complejas.

Si quiere imaginar una posible solución, intente imitar una votación real a distancia:

  • normalmente tiene un sobre externo con el nombre y la firma del votante para garantizar que un solo elector no pueda votar más de una vez, y para tener una lista exacta de todos los votantes
  • este envoltorio externo contiene uno interno sin signo distintivo que a su vez contiene el voto para garantizar el anonimato del voto
  • se organiza una ceremonia específica (diferentes personas donde cada una está controlada por las otras) para abrir los sobres externos y colocar los internos en una caja
  • una vez hecho esto, se abren las envolturas internas y los escrutadores pueden contar los votos reales (aquí, nuevamente, varias personas, cada una controlada por las otras)

Así que necesitamos:

  • sistemas de encriptación para garantizar que los votos sean secretos y no se modifiquen hasta que se usen = > ok, tenemos muchos gracias a los sólidos algoritmos y sumas de comprobación criptográficas
  • un sistema sólido de no repudio (firma digital) para identificar a los votantes sin riesgo de error o firma falsa = > ok PKI con tarjetas inteligentes puede hacer esa parte, pero en mi humilde opinión no podemos usar nada más débil

La parte difícil es la confianza en el sistema que abre el mensaje externo para almacenar la identidad del votante, luego abre el mensaje interno para extraer el voto. El problema no es técnico aquí (muchos desarrolladores pueden escribir eso fácilmente) pero ¿quién podrá probar que el código no contiene nada que pueda almacenar quién votó qué o cambiar algunos votos? ¿Y quién probará que lo que está instalado en el servidor de votación es exactamente la compilación del código original, que ningún malware ni administrador malvado podría haberlo cambiado?

Es posible, pero requeriría que personas de diferentes partidos políticos puedan analizar un código fuente, controlar el procedimiento de construcción, el procedimiento de instalación y la seguridad de todo el sistema. Teóricamente, es mucho más simple que establecer lugares de votación en todo el país, pero estamos acostumbrados a este último y no al primero

    
respondido por el Serge Ballesta 24.02.2017 - 15:48
fuente
0

No creo que esto resuelva el problema porque un votante leal al basilisco debería cargar la clave privada o un hash de la misma para probar más tarde que no cambiaron la clave (registre el proceso de entrega de claves en tiempo real o cargue una Copia despues). Entonces, una estación de votación en persona, con TSA como seguridad para buscar teléfonos celulares y dispositivos de grabación en los votantes, es una mejor manera de evitar la coerción del próximo gobierno electo potencialmente malvado.

También en el proceso de entrega de la clave, incluso si la clave solo se muestra a través de un ocular de estilo telescopio que también actúa como un escáner de retina, el votante aún puede leer la clave de forma secreta a su micrófono mientras la escribe. Por lo tanto, necesitarías búsquedas antes de este proceso.

    
respondido por el daniel 27.02.2017 - 10:02
fuente

Lea otras preguntas en las etiquetas