¿Es realmente inseguro usar una estación de números para transmitir un teclado de una sola vez como clave?

0

Todos conocemos los dos problemas más importantes relacionados con un "teclado de una sola vez" :

  1. El pad de una sola vez debe ser verdaderamente aleatorio (lo que creo que es lógica, ya que los generadores seudo aleatorios son rápidos pero predecibles).

  2. La posibilidad de poder transmitir el número de claves de forma segura al receptor.

Cuando solo tengo una estación de números disponible para transmitir las claves al receptor, mi sentido común dice que la seguridad está prácticamente representada near to void porque las claves se transmiten a whoever-listenes-to-the-numbers-station .

Cuando alguien tiene acceso a mensajes encriptados y puede escuchar / interceptar la transmisión pública por la estación de números, ¿no es inseguro usar una estación de números para transmitir un teclado de una sola vez? Y, si estoy en lo cierto, es inseguro, ¿existe alguna forma de solucionar este problema de seguridad en las condiciones descritas?

    
pregunta e-sushi 19.07.2013 - 15:03
fuente

3 respuestas

7

"Los generadores seudoaleatorios son rápidos pero predecibles": bueno, eso es cierto solo en un sentido etéreo y matemático. En la práctica, si su PRNG es criptográficamente seguro y sembrado con una aleatoriedad inicial de suficiente entropía suficiente (128 bits son suficientes), entonces no será predecible. Sin embargo, si se trata de un PRNG, esto no es cierto "One-Time Pad" sino un simple "cifrado de flujo".

OTP es un buen juguete teórico, pero no tiene ninguna ventaja práctica sobre un cifrado de flujo utilizado correctamente. Por alguna razón, muchas personas tienen fantasías de que la OTP es la respuesta definitiva para el mundo real, y esto lleva a muchos diseños equivocados.

El principal problema práctico de OTP es que la clave debe ser tan grande como el mensaje, lo cual es un inconveniente: por lo general, utilizamos la criptografía para reducir problemas: aplicamos el cifrado para reducir el problema de asegurar la confidencialidad de un archivo de 10 GB frente al problema de garantizar la confidencialidad de una clave de 16 bytes, que puede gestionarse mucho más fácilmente (incluso puede ser recordado y escrito por un humano). Si la clave es tan grande como los datos, entonces no se ha producido ninguna reducción. En el mejor de los casos, OTP puede aportar una ventaja basada en el tiempo: intercambie la clave de antemano , cuando las condiciones lo permitan, lo que permitirá una transmisión segura más adelante. Así es como funcionó el teléfono rojo : cintas llenas de bits aleatorios intercambiados semanalmente (por especial planos), para que la comunicación segura inmediata se pueda realizar en cualquier momento sin latencia.

Por supuesto, OTP confía en que el flujo de claves sea secreto . No tiene sentido usar datos públicos como flujo clave. Toda la seguridad de OTP se basa en el secreto de la clave.

Sin embargo, hay un un protocolo de intercambio de claves genérico que funciona con un público Fuente de datos similar a sus "estaciones numéricas".

Funciona así:

  1. Alice y Bob escuchan las estaciones numéricas y escriben, a intervalos aleatorios, algunos de los números y el "índice" de estos números. Por ejemplo, Alice recuerda "el número 171 era 40; el número 236 era 91; el número 406 era 38; ...", mientras que Bob hace lo mismo con otros números elegidos al azar en la secuencia pública.
  2. Al final del día, Alice le envía a Bob la lista de índices que recordaba ("Tengo los números 171, 236, 406 ...") y Bob responde con su propia lista de índices. Con alta probabilidad, tienen algunos índices en común, por lo que usarán los números correspondientes como clave compartida.

Sin embargo, un oyente oculto tendría que recordar todos , o al menos la mayoría de los números, para recordar también los mismos números. Si la "estación numérica es lo suficientemente alta (por ejemplo, genera un valor de 1 terabyte de datos por segundo, y Alice y Bob reúnen números seleccionados al azar durante un día entero), entonces el requisito de almacenamiento para el atacante puede volverse prohibitivo.

El protocolo Cachin-Maurer es un buen ejemplo de un algoritmo criptográfico teóricamente seguro pero sumamente impráctico. Al igual que OTP.

    
respondido por el Tom Leek 19.07.2013 - 15:49
fuente
3

Sí, es muy inseguro. Es seguro, como poner un letrero de neón brillante en su jardín que dice "Mi escondite está debajo del buzón en la roca blanca, y $ 100,000 de joyas están ocultas debajo de la televisión. Venga y eche un vistazo. Nadie está en casa de 1 pm a 3 pm. Que tengas un maravilloso día ".

Para que una almohadilla de una sola vez sea segura, debe entregarse de manera segura y libre de escuchas ilegales (es decir, normalmente por un mensajero de confianza). Si bien técnicamente podría transmitir un pad de una sola vez de manera segura con un pad de una sola vez, usaría la mayor cantidad del pad anterior que ganó, por lo que no tendría ningún beneficio.

Si cualquier parte de una almohadilla se vuelve públicamente visible, esa parte de la almohadilla es ineficaz porque ha sido divulgada. Todo el punto de una almohadilla de una vez es que hace que todos los datos estén bien y realmente sean aleatorios, pero si la clave se comparte, entonces ya no es aleatoria.

    
respondido por el AJ Henderson 19.07.2013 - 15:25
fuente
3

Las almohadillas de una sola vez son seguras solo si el material clave se mantiene en secreto para las personas que deberían poder descifrar mensajes. Difundir un pad de una sola vez sería exactamente tan malo como emitir públicamente una clave simétrica secreta o una clave privada secreta en cualquier otro sistema criptográfico.

Sin embargo, puede usar una estación de números para transmitir mensajes cifrados secretos, cuando la clave es ya conocida por el destinatario. En ese caso, confía en la fuerza del sistema criptográfico para asegurarse de que otros destinatarios del mensaje cifrado (que no tienen la clave) no puedan descifrarlo.

Dicho mensaje encriptado podría incluir más material clave. Sin embargo, no puede utilizar un pad de una sola vez para transmitir datos adicionales de un solo pad, ya que consume un bit de la clave de un solo uso compartida para transmitir un bit de una nueva clave de un solo uso. Usted podría transmitir un teclado cifrado de una sola vez utilizando un sistema criptográfico diferente, por ejemplo, un teclado único cifrado con una clave AES compartida, pero luego el problema de descifrar sus mensajes cifrados con el nuevo -el teclado temporal (que debería ser una imposibilidad teórica) reduce el problema de romper el cifrado AES en la transmisión de una sola vez (lo cual es muy difícil, pero no es una imposibilidad teórica).

    
respondido por el apsillers 19.07.2013 - 15:31
fuente

Lea otras preguntas en las etiquetas