Demostración de cómo la seguridad a través de la oscuridad no funciona

3

Necesito demostrar que la seguridad a través de la oscuridad falla dos veces en el siguiente escenario.

Tengo una clave secreta.

El usuario A recibe MessageX = SecretTransformation (KEY, SecretValue1);

El usuario B recibe MessageY = SecretTransformation (KEY, SecretValue2);

SecretTransformation () no es una función criptográfica estándar.

Ahora, la seguridad a través de la oscuridad está en contraste con el principio de diseño abierto y la máxima de Shannon. También sabemos que esta seguridad fallará tan pronto como un atacante logre recuperar uno de los "secretos"

lo que además se puede demostrar, es que:

si un atacante logra recuperar, MessageX y MessageY sin conocer ningún secreto, puede realizar un ataque de criptoanálisis y recuperar la CLAVE o comprender el funcionamiento de la Transferencia Secreta.

Se supone que esto es cierto y se fortalece con la cantidad de mensajes que el atacante puede recopilar. mensajeX mensajeY ... mensajeN Espero haberme explicado que necesito que me indiquen un ejemplo como el pad de una vez, donde si hace XOR con la tecla más de un mensaje, puede XOR recuperar y recuperar el secreto.

aquí hay una imagen para el esquema sugerido enlace

¡Gracias!

    
pregunta NoobTom 29.03.2012 - 14:07
fuente

4 respuestas

7

No existe tal ley. Mencionas que crees que un montón de cosas son ciertas, pero no creo que esas cosas sean realmente ciertas, así que creo que necesitas volver a examinar tus premisas.

"Seguridad a través de la oscuridad" no significa que un sistema sea necesariamente inseguro. Es una mala estrategia y una mala idea para la seguridad de su sistema confiar en el secreto de su sistema. Históricamente, la mayoría de los sistemas que se han basado en la seguridad a través de la oscuridad han demostrado proporcionar una seguridad deficiente.

Pero ocultar los detalles del sistema no transforma mágicamente de algún modo un sistema seguro en un sistema inseguro. Si usted cifra con PGP, pero simplemente no le dice a nadie que lo está haciendo, esto no hace que PGP sea inseguro. No hay ninguna ley que diga que todos los sistemas que no divulgan sus detalles son necesariamente inseguros.

    
respondido por el D.W. 29.03.2012 - 21:34
fuente
2

Miraría el caso del Enigma (Enigma naval en particular) en la Segunda Guerra Mundial para una demostración de cómo un sistema criptográficamente inseguro se rompió en gran parte porque los atacantes pudieron obtener una gran cantidad de mensajes cifrados y explotar los bits no aleatorios de esos mensajes para averiguar cómo funciona el sistema.

Durante la Segunda Guerra Mundial, Alemania usó una máquina llamada Enigma para cifrar mensajes a submarinos y tropas en el campo usando lo que era esencialmente un cifrado de sustitución exquisitamente complicado. Los Aliados, que trabajaban en Bletchley Park, pudieron interceptar la mayoría de estos mensajes desde que se emitieron por radio. A lo largo de los años, pudieron explotar el hecho de que tenían un corpus bastante grande de mensajes encriptados para buscar patrones en la salida que podrían usarse para trabajar otros bits del algoritmo hasta que finalmente pudieran romper el cifrar. Con solo computadoras muy básicas, este fue un proceso minucioso: hay un desglose decente de cómo se rompió Enigma en pasos en una conferencia de Tony Sale Bigrams, Trigrams y Naval Enigma .

La historia de Enigma también señala el peligro de confiar en la seguridad a través de la oscuridad de otras maneras. Durante la guerra, los Aliados pudieron robar un puñado de máquinas Enigma de submarinos alemanes antes de que se hundieran, lo que simplificó enormemente el trabajo que hacían los que rompían los códigos. De la misma manera, cuando los sistemas reales confían en que el atacante no sepa cómo funciona el sistema, un atacante determinado siempre podrá obtener la información que necesite para completar el ataque a través de otros canales (ingeniería social y fuga de información general cuando las personas dejan un empresa por ejemplo).

    
respondido por el Justin Cave 30.03.2012 - 01:39
fuente
2

"Seguridad a través de la oscuridad" es un término poco cargado que significa mucho menos de lo que parece. En cierto sentido, casi toda la seguridad se obtiene a través de la oscuridad. Por ejemplo, su contraseña solo es segura en la medida en que no se conoce públicamente. La clave para una seguridad real, sin embargo, es hacer que sus secretos sean fáciles de proteger.

Ciertamente, usted podría hacer que su contraseña de cifrado sea pública y el algoritmo en secreto, y puede disfrutar de cierta cantidad de seguridad por algún tiempo. Sin embargo, los algoritmos son notablemente fáciles de aplicar ingeniería inversa. Se pueden confundir con trucos de compilación y tácticas inteligentes, pero un pirata informático decente con una cantidad moderada de cafeína por lo general puede enfrentar cualquier desafío en un solo día; dos si se distrae.

En contraste, los buenos algoritmos de cifrado se crean no solo para proteger la carga útil, sino también la clave, incluso en condiciones extremadamente adversas, como los ataques de "texto simple conocido" o "texto simple elegido", y con frecuencia incluso toman medidas específicas para Proteger contra ataques de canal lateral. Todas estas medidas están destinadas a proteger una clase específica de secreto y tienen un historial comprobado de hacerlo.

Ahora, ciertamente no hay daño en mantener tu algoritmo en secreto. Puede que no cuente con seguridad adicional, pero tampoco dañará a su seguridad. Y no tiene sentido divulgar más información de la necesaria. Pero hay una gran diferencia entre mantener el algoritmo en secreto porque usted puede , y mantenerlo en secreto porque su seguridad depende de ello . De todos los secretos que podría guardar, este es uno de los más fáciles de obtener para un atacante. Por lo tanto, sería prudente planificar su seguridad en consecuencia.

    
respondido por el tylerl 30.03.2012 - 05:03
fuente
1

Considere un sistema criptográfico y sus vulnerabilidades

Cuando tenga los siguientes componentes secretos del sistema:

  • CLAVES secretas (generalmente una por usuario / uso del sistema).
  • SecretTransformation (solo un secreto de singleton compartido con todos los puntos finales).

Compara estos dos escenarios

  1. Seguridad de una clave secreta compartida solo con las partes interesadas.

  2. Seguridad de la Transformación Secreta. Implementado en TODAS las partes, usuarios, instaladores, contratistas, ISV, impresoras de DVD, desarrolladores, revisores, vendedores, piratas informáticos que acceden a todos los sistemas / copias de seguridad donde el código ha pasado / presente / futuro.

Luego compare lo que sucede si se compromete cada uno de los anteriores.

  1. Una clave secreta se vuelve a generar y se comparte con las partes interesadas.

  2. El sistema criptográfico completo debe volver a desarrollarse y desplegarse a través de todos los mismos puntos débiles.

Tan sucintamente:

  1. Un Cryptosystem con solo la clave secreta que es secreta tiene un número mínimo de puntos de vulnerabilidad igual al número de lugares con la clave. Todas las partes tienen un buen entendimiento y responsabilidad para asegurar las claves secretas. El alcance de cada clave está limitado por el diseño.
  2. Un criptosistema con un SecretTransformation que es secreto tiene literalmente miles de puntos débiles potenciales, cualquiera de los cuales requiere una gran cantidad de trabajo para recuperarse.

Entonces, ¿por qué elegirías para desarrollar un sistema con tantos puntos débiles?

Un sistema de cifrado con un SecretTransformation PUEDE estar bien hasta que se rompa, pero un algoritmo abierto SIEMPRE será mejor.

    
respondido por el Andrew Russell 16.04.2014 - 07:58
fuente

Lea otras preguntas en las etiquetas