¿Puede decir que dado que el cifrado de una sola vez es irrompible, es el mejor si se usa correctamente?

30

Actualmente estoy leyendo sobre el cifrado de una vez, y tengo una pregunta. Dicen que el cifrado OTP es irrompible, y esto se puede probar matemáticamente. Esto se proporciona siempre que la clave utilizada sea verdaderamente aleatoria y se use solo una vez, ¿verdad? ¿Qué sucede si vengo con un sistema completo (puede ser software o hardware o una combinación de ambos) para forzar estas dos condiciones? ¿Tendré el mejor & ¿Solución de encriptación ideal?

Digamos, por ejemplo, que las dos partes que están dispuestas a intercambiar información obtienen las claves al conectarse a un servidor que está en línea todo el tiempo. El servidor se asegurará de que las claves generadas sean aleatorias y se asegurará de que una clave nunca se vuelva a utilizar. Los usuarios de cada lado solo deberán tener una conexión a Internet y un mecanismo para intercambiar información. La información viajará a través de Internet encriptada utilizando la tecla de una sola vez generada aleatoriamente por el servidor.

¿Estoy haciendo algún sentido aquí? Acabo de empezar a leer sobre un pad de tiempo, y comencé a preguntarme sobre esto. Hay muchos sitios web que te dirán que un pad de tiempo no es práctico en absoluto, porque realmente no puedes obtener un número realmente aleatorio o algo así.

Adición:

¿Estos chicos ofrecen algo especial en la distribución de claves? Dicen que han perfeccionado la implementación de OTP a lo largo del tiempo.

enlace

    
pregunta Saoud 11.02.2015 - 20:37
fuente

7 respuestas

84

La distribución de claves es el problema.

En su escenario, utiliza un servidor para comunicar los pads de una sola vez a los usuarios. Pero, ¿cómo se protege la comunicación que ? No por una sola vez, o no sería necesario. Digamos que es SSL con AES 128. Entonces, wham, su sistema de cifrado es tan seguro como SSL con AES 128: bastante seguro, pero no tan seguro como un pad de una sola vez.

Los chicos de las mils a las que hace referencia parecen estar ofreciendo dispositivos físicos en los que usted carga una secuencia de teclas de una sola vez (y puede usarla). Una vez más, la distribución de claves es un problema. Puedes comprar dos discos duros, cargar terabytes de keystream en ellos y enviar uno a tu amigo ... ¿cómo? ¿Confías en USPS? Fedex? ¿Mensajero? ¿Bolsa diplomática? Todos estos pueden ser comprometidos. La única forma perfectamente encriptada de enviarlos sería cifrarlos con una sola vez ... mierda, sucedió nuevamente.

    
respondido por el gowenfawr 11.02.2015 - 20:44
fuente
31

No, porque malinterpretas el significado de "mejor" en un contexto de seguridad. Contrariamente a la opinión popular, "más seguro" y "mejor" no son sinónimos, más bien, la seguridad se trata de equilibrar la usabilidad y la seguridad. Se trata de la gestión de riesgos.

El disco más seguro del planeta es escribir a DevNull (el cubo de bits) en el fondo del océano en una caja cerrada en una pila de concreto, en una jaula de Faraday, hundida en lava sin cables ni cables. . Absolutamente nadie obtendrá ningún dato, pero los usuarios legítimos tampoco obtendrán ningún dato.

Las almohadillas de una sola vez tienen el lujo de ser demostrablemente imposibles de romper si se usan correctamente, sin embargo son difíciles de usar. Si fueran la "mejor opción", ninguno de los otros sistemas que conocemos hoy en día existirían, ya que casi todos surgieron después de la idea de la única almohadilla de tiempo (que es un concepto verdaderamente antiguo).

Más bien, la mejor opción es la que mitiga sus riesgos a niveles aceptables y, al mismo tiempo, mantiene un nivel aceptable de usabilidad. En muchos casos, la mejor seguridad puede no ser la seguridad. Por ejemplo, no me importa si conoce mis recetas de galletas, por lo que poner cualquier esfuerzo para protegerlas reduciría la usabilidad innecesariamente. Me importa si mis recetas de cocina se pierden, así que es posible que desee almacenar varias copias y hacer copias de seguridad en algún lugar, pero no accedería a controlarlas, ya que sería una pérdida de tiempo.

El mismo proceso de pensamiento no es menos cierto para situaciones de alta seguridad que para mis recetas de cocina. Se trata de analizar el riesgo que se aplica a mí (a Oreo puede importarle más proteger su receta) y luego decidir cuál es mi mejor opción. Es diferente para todos y para cada situación y no hay una respuesta universal.

    
respondido por el AJ Henderson 12.02.2015 - 00:27
fuente
29

No. No solo un pad de una vez sufre problemas de distribución de claves seguras que Mike y gowenfawr mencionaron en sus respuestas, sino también:

Incluso si si tuviera un mecanismo para distribuir las claves de forma segura, el teclado único (por sí mismo) no tiene ningún mecanismo para garantizar la integridad. El texto cifrado es lo que llamamos "maleable", lo que significa que puede ser manipulado por un atacante para modificar el mensaje de texto sin formato de manera predecible e indetectable.

Por lo tanto, , aunque el teclado de una sola vez ofrece información secreta teórica de la información, no es, en sí mismo, un cifrado seguro, y en el mundo real, sistemas cifrados autenticados fáciles de usar con un tamaño razonable Claves como AES-CTR-HMAC o AES-GCM son claramente mejores.

    
respondido por el Xander 11.02.2015 - 20:55
fuente
8

Está tratando de comparar un Criptográfico primitivo y compararlo con Sistema criptográfico . Esto es realmente comparando manzanas y naranjas.

Principios criptográficos se unen para crear un Sistema criptográfico , y solo puede evaluar la seguridad de un sistema una vez que comprenda los Casos de uso y el entorno en el que opera el sistema. en, incluyendo atacantes, usuarios, protocolos en la red, mecanismos de almacenamiento, vías de compromiso, requisitos de disponibilidad, número de usuarios, nodos, redes entre servicios dependientes, etc.

Entonces, a tu pregunta:

Por lo tanto, fuera del contexto de la primitiva One Time Pad, el sistema probablemente debería introducir otras técnicas / primitivas para admitir los siguientes requisitos.

  • Integridad del mensaje (sumas de comprobación, firma)
  • Asegurar la sincronización para evitar DOS. (Un atacante podría introducir un mensaje falso para desincronizar la comunicación entre las partes).
  • Impedir que Man in the Middle cambie un solo bit en tránsito (podría cambiar el significado de un texto plano parcialmente conocido al voltear un bit. Es decir, "LaunchMissiles = 0" frente a "LaunchMissiles = 1"
  • Detener los ataques de repetición ("Attack at Dawn" repetido tres días después)

Y otros requisitos opcionales

  • Verificación del remitente (firma)
  • Verificación del receptor (certificados)

Por lo tanto, solo podría intentar evaluar la seguridad de un sistema de cifrado una vez que esté razonablemente articulado.

    
respondido por el Andrew Russell 13.02.2015 - 03:29
fuente
5

El problema con un pad de una sola vez es distribuirlo a ambas partes. No puede simplemente colocarlo en un servidor para que ambos lo descarguen, porque si tuviera un canal seguro para hacerlo, las dos partes podrían usar ese canal seguro para comunicarse de todos modos. Es casi necesario que ambas partes estén juntas físicamente, lo que obviamente es muy limitante.

    
respondido por el Mike Scott 11.02.2015 - 20:42
fuente
5

Un problema persistente con todo el cifrado es confianza . Debe confiar en que la persona a la que está enviando un mensaje está de su lado y no entregará el mensaje o la clave a alguien que no debería recibirlo. Debe confiar en que las personas que inventaron el esquema de cifrado que está utilizando no incluyen una puerta trasera o una falla en el accidente. Con OTP, tiene el problema de la confianza con el destinatario, pero si no puede entregarle la clave al destinatario físicamente, ahora debe confiar en una entidad de terceros que puede entregar la clave a el recipiente. Este problema todavía existe hoy en día con el cifrado moderno y la autenticación.

Si fuera un usuario potencial, nunca confiaría en un tercero que generaría una clave y la transmitiría a través de una conexión de red. Tampoco hay forma de que un usuario se asegure de que está generando claves verdaderamente aleatorias o si ha sido comprometido. Definitivamente no es un uso adecuado de OTP, ya que el cifrado es tan fuerte como su peor debilidad. Si está enviando la clave a través de Internet, ha perdido cualquier beneficio que la OTP real puede proporcionar y también puede utilizar AES-256.

Creo que es seguro decir que OTP es técnicamente el mejor cifrado de transporte, la palabra "mejor" se refiere a la seguridad. Esto no significa que sea "lo mejor" para la mayoría de los casos de uso, y la OTP tiene algunos aspectos negativos serios. La clave debe almacenarse en algún lugar, y esto significa que la clave puede caer en las manos equivocadas. Los cifrados de bloque modernos usualmente tienen claves más cortas que un ser humano puede memorizar, lo que hace que sea más difícil para un tercero extraerlos. También es muy difícil implementar pobremente algo como AES dado el software correcto.

Con lo que se puede contar más que con la seguridad de la Fiscalía es la pereza de los seres humanos; naturalmente nos impulsa a hacer lo que es más fácil, y esto ha llevado históricamente a que las personas tomen decisiones realmente sensatas que les cuestan la seguridad de su canal de comunicación. A veces los humanos perezosos deciden reutilizar las claves una vez que su clave o libro de códigos se ha agotado y no tienen los medios para generar & transporte uno nuevo. El resultado de esto puede ser mucho peor que cesar la comunicación por completo.

Defina mejor y la respuesta puede ser sí o no.

    
respondido por el user10800 13.02.2015 - 00:34
fuente
0

¡El principal problema es el intercambio seguro de claves! Si de alguna manera puede conectarse a un servidor siempre en línea y puede comunicarse con este servidor al 100% seguro, ¿por qué no simplemente transmite su mensaje a través de ese servidor?

Un escenario perfectamente válido es el siguiente: te encuentras con alguien en persona e intercambias OTP con él. Después de eso, puede comunicarse de manera segura con él mientras duren las OTP. Para garantizar la integridad de los mensajes, usted agregará N bytes aleatorios a su texto sin formato y luego los procesará todo antes de cifrarlos con la OTP (por lo general, también comprimiré el texto sin formato antes del cifrado para garantizar un tamaño menor y una mayor densidad de información). Esto asegurará la autenticación y el cifrado a la vez. Porque la autenticación es, en esencia, solo verificar que la otra parte sepa algún secreto, que solo él puede conocer. Pero con las claves secretas simétricas, la clave ya es un secreto que solo ustedes dos saben, por lo tanto, si un mensaje se desencripta con la clave secreta compartida y sigue intacto (descomprimir + comprobar hash), se verificará la integridad y la autenticación.

Pero si desea usar OTP contra los enfoques de fuerza bruta, también puede usar un cifrado simétrico lo suficientemente grande (como AES) que también es bastante imposible de romper. La parte interesante de crypto es el intercambio de claves. ¿Cómo puedo hacer todo este cifrado / autenticación sin reunirme con todas las personas en persona con las que quiero comunicarme de manera segura? Por eso existe el cifrado asimétrico.

Así que OTP resuelve un problema bastante bueno que ya está suficientemente resuelto (encriptación simétrica) pero no resuelve en absoluto los problemas reales, ¡que son la razón de la encriptación asimétrica!

    
respondido por el Falco 12.02.2015 - 11:27
fuente

Lea otras preguntas en las etiquetas