¿La teoría del caos tiene alguna aplicación práctica en seguridad informática?

5

Después de haber aprendido sobre la teoría del caos en la universidad hace algunos años, he tenido curiosidad por saber si ha encontrado algún uso práctico en la informática.

Déjame explicarte dónde imagino que podría usarse ...

El caos, en el sentido matemático, es un comportamiento estocástico ("aleatorio") en un sistema determinista ("no aleatorio"). Los sistemas caóticos tienen tres propiedades clave:

  • están limitados
  • son no repetitivas
  • son sensibles a las condiciones iniciales

Por ejemplo, tome la función de mapa iterativo caótico f (x) = 2x 2 - 1 . Para entradas entre -1 y +1 (excluyendo -1, -0.5, 0, 0.5 y 1), la iteración de esta función produce resultados caóticos. Por ejemplo:

    x     |    f(x)
----------+-----------
0.700000  | -0.020000
-0.020000 | -0.999200
-0.999200 | 0.996801
0.996801  | 0.987226
0.987226  | 0.949229
0.949229  | 0.802070
0.802070  | 0.286633
0.286633  | -0.835683
-0.835683 | 0.396731

Los resultados están limitados (la salida siempre es mayor que -1.0, menor que 1.0) y no se repite (intente iterar unos cuantos miles de veces; ganó No veo ningún patrón emergente). Si varía el primer valor de x en una cantidad muy pequeña (por ejemplo, use 0.700001) comenzará a ver los resultados divergiendo considerablemente de los anteriores después de unas pocas iteraciones. En otras palabras, esta función también es sensible a las condiciones iniciales .

Podría imaginar esto teniendo varias aplicaciones en computación como un generador predecible de números pseudoaleatorios. Por ejemplo, podría usar algo como la función anterior como la base para uno de esos llaveros seguros utilizados para "algo que tener contigo "autenticación. Imagine que usa f (x) = 2x 2 - 1 en dicho dispositivo. Siempre que el dispositivo y el servidor se hayan sembrado con exactamente la misma entrada inicial, seguirán estando sincronizados para siempre (lo que permite problemas de tiempo), ya que la función es completamente determinista. Digamos que utilizó los primeros seis dígitos después del punto decimal como la clave mostrada al usuario y validada por el servidor. Si alguien miró por encima de su hombro, vio el valor actual y lo introdujo en la misma función, aún así no podrían predecir los valores futuros del dispositivo gracias a la sensibilidad de la función a las condiciones iniciales: solo valer la entrada con seis cifras decimales.

Entonces, ¿es correcta mi intuición? ¿El caos ha encontrado tal uso en la seguridad informática?

    
pregunta Simon Whitaker 16.02.2013 - 13:36
fuente

2 respuestas

7

El caos no es suficiente . Un PRNG criptográficamente seguro debe producir un resultado impredecible : no debe ser suficiente para que alguien lo observe. El flujo largo de valores producido por el PRNG, pero sin conocer su estado interno, predice el siguiente bit con una probabilidad de éxito sustancialmente distinta de 0,5 (es decir, las predicciones no deberían funcionar mejor que la suerte). En el caso de f (x) = 2x 2 - 1 , basta observar un valor de salida para calcular el estado interno (si f (x) = y luego x = ± sqrt ((y + 1) / 2) y, por lo tanto, predice el comportamiento futuro del generador. Esto generaría un PRNG extremadamente débil.

Un PRNG seguro produce una salida que no se puede distinguir de la aleatoriedad; como tal, se ve caótico . Ser caótico es necesario para un PRNG seguro, pero no es suficiente, como muestra el ejemplo anterior.

La teoría del caos fascina a algunas personas porque trata con el comportamiento caótico que surge de las funciones físicas "normales", lo cual es sorprendente porque la física "mundana" nos ha acostumbrado a esperar un comportamiento moderado y lineal de cantidades físicas ( termodinámica es el principal ejemplo de eso) . Sin embargo, la seguridad informática funciona en computadoras que ya viven en un mundo discreto, por lo tanto no lineal (todo es ceros y unos). En las computadoras, el comportamiento caótico es la norma; Para la criptografía, debemos ir mucho más allá de eso.

La teoría del caos sería relevante si tuviera que construir un PRNG sin usar una computadora , pero en cambio confíe en algunas herramientas de la física macroscópica. En ese caso, el caos sería todo con lo que tendrías que trabajar. La teoría del caos es la herramienta correcta para explicar por qué una máquina de lotería es un buen RNG. Pero esto no se aplica a las computadoras en las que precisión completa es la norma: no puede medir una cantidad física con más de una docena de dígitos o precisión, y el valor que obtiene es siempre aproximado en cierta medida, como si el mundo mantuviera la precisión extra bajo su manga metafórica; pero puedes obtener mil bits exactamente, y no hay nada más en una computadora.

    
respondido por el Thomas Pornin 16.02.2013 - 19:02
fuente
-1

Básicamente estás describiendo HMAC y TOTP algoritmos.

    
respondido por el mricon 16.02.2013 - 14:56
fuente

Lea otras preguntas en las etiquetas