indiceindice 18 de septiembre de 2008eugenio soler galán

35
18 de septiembre de 2008 Eugenio Soler Galán I N D I C E

Upload: abella-tejera

Post on 27-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Page 2: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Page 3: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Aleatoriedad y pseudoaleatoriedad– Resumen

– Introducción

– ¿Dónde encontramos aleatoriedad?

– Otros conceptos relacionados con la aleatoriedad

– Criptografía y números aleatorios

– ¿Cómo conseguir números pseudoaleatorios?

– Contrastes de aleatoriedad

– Análisis de aleatoriedad

– El caos

– Conclusiones

– Agradecimientos

– Referencias

Índice

Page 4: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Resumen

Este trabajo de investigación forma parte de la asignatura del Master Oficial en Ciencia y Tecnología Informática denominada Trabajo de Investigación de Sistemas Distribuidos. Multimedia y Seguros I. En él se pretende ver el estado en el que se encuentra hoy en día la aleatoriedad, sobre todo en el campo de la aleatoriedad simulada, ya que la aleatoriedad propiamente dicha es un dilema filosófico, sobre el que muchos han estado discutiendo durante siglos, como podrá comprobarse en el informe, ...

Page 5: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Introducción (1/2)

• La aleatoriedad no es algo que tan solo tenga una aplicación técnica, desde siempre el hombre se ha preguntado si su destino está no o escrito.

• A día de hoy todo está escrito, pero el hombre tiene el poder de cambiarlo, (¿por qué alguien va a ser encarcelado por sus actos, si no puede hacer nada para evitarlo?

• algo es aleatorio, cuando no se puede volver a reproducir con los medios actuales, en un tiempo más o menos corto, en exactamente las mismas condiciones que se hizo anteriormente

Page 6: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Introducción (2/2)

• la pseudoaleatoriedad que no se plantea la existencia o no de la aleatoriedad pero que intenta imitarla. Que dicho sea de paso no existe como tal en el diccionario de la lengua castellana. pseudo aleatorio tiene simplemente el significado de falsa aleatoriedad.

• Para la Informática, y en concreto en el campo de la seguridad en redes tiene mucha importancia la aleatoriedad, ya sea en sistemas de cifrados asimétricos como en los simétricos

Page 7: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Dónde encontramos aleatoriedad? (1/2)

• En la Filosofía. Comentado anteriormente.

• En la Física. Con las nuevas teorías científicas sobre sistemas caóticos o turbulentos y con la mecánica cuántica, algunos científicos consideran que no está tan claro que el azar no forme parte del mundo. Según la interpretación estándar (o de Copenhagen) de la mecánica cuántica, en un experimento controlado hasta sus más mínimos detalles siempre hay un grado de aleatoriedad en el resultado. Muchos procesos físicos de carácter cuántico podrían ser irreductiblemente aleatorios.

Page 8: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Dónde encontramos aleatoriedad? (2/2)

• En la Matemática. Hay que cuestionarse si la Estadística y el cálculo de probabilidades es o no un cálculo meramente determinista. Las teorías del Caos.

• En la Informática. El azar interviene fundamentalmente en la seguridad de la información. Las claves son mas largas a medida que va aumentado la potencia de los ordenadores, ya que lo que era seguro hace 10 años puede que hoy no se tarde más de unos minutos o quizás segundos en descifrar (siempre utilizamos esta palabra con un significado relativo, todo depende del tiempo). Además con el paso del tiempo estos algoritmos de código abierto cada vez están más estudiados y se pueden encontrar vulnerabilidades, en definitiva, el tiempo juega en contra en el “azar” en la informática.

Page 9: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Otros conceptos relacionados con la aleatoriedad

• Número aleatorio. Es un resultado de una variable al azar especificada por una función de distribución.

• Número pseudo-aleatorio. Generado en un proceso aparentemente azaroso. Las secuencias de números no muestran ningún patrón, desde un punto de vista estadístico, a pesar de haber sido generadas por un algoritmo determinista. A mismas condiciones iniciales, tenemos siempre el mismo resultado.

• Incertidumbre. Falta de certeza respecto a la resolución de un experimento o problema

• Impredectibilidad. Imposibilidad de predecir las consecuencias de un experimento.

• Caos. Sistemas dinámicos (que evolucionan en el tiempo)

Page 10: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Criptografía y nos aleatorios (1/3)

Los algoritmos de llave pública, debido a su mayor orden de complejidad, suelen ser empleados en conjunción con algoritmos de llave privada de la siguiente forma: el mensaje primero se codifica empleando un algoritmo simétrico y la llamada clave de sesión, que será diferente cada vez. Es la clave de sesión la que se codifica empleando criptografía asimétrica. La única manera de que estas claves sean seguras es que no exista ningún tipo de dependencia entre una clave y la siguiente, esto es, que sean aleatorias. De aquí surge el interés por los números aleatorios en Criptografía.

Page 11: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Criptografía y nos aleatorios (2/3)

Secuencias estadísticamente aleatorias: Secuencias que superan los tests estadísticos de aleatoriedad. Un generador congruencial lineal cumple esta propiedad.

Secuencias criptográficamente aleatorias: debe ser impredecible (computacionalmente intratable: no se puede averiguar el siguiente número de la secuencia, teniendo total conocimiento acerca de todos los números anteriores y del algoritmo de generación empleado. Sin embargo no es suficiente, debido a que se necesita una semilla para inicializar el generador.

Secuencias aleatorias: no puede ser reproducida de manera fiable (impredecibles y no reproducibles)

Page 12: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Criptografía y nos aleatorios (3/3)

Para poder obtener secuencias a la vez impredecibles y no reproducibles, se usan generadores de secuencias criptográficamente aleatorias, en conjunción con algún mecanismo de recolección de bits aleatorios, que nos va a permitir inicializar la semilla del generador. Un esquema de este tipo será seguro siempre que se salvaguarde adecuadamente la semilla empleada.

Page 13: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Cómo conseguir números pseudoaleatorios? (1/5)

Se considera aleatoria cualquier sucesión de números que cumpliera las dos condiciones siguientes:• -Cualquier persona que desconozca cómo se ha

obtenido la sucesión debe ser incapaz de predecir el siguiente término.

• -La sucesión de números debe pasar con nota todos los tests de aleatoriedad a que sea sometida: rachas, gaps, serial, etc.

La siguiente secuencia 1001 1010 1001 0100 es más aleatoria que esta otra 0000 0000 0000 0000 . Se mide no solo la probabilidad sino tambiçen la entropía

Page 14: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Cómo conseguir números pseudoaleatorios? (2/5)

Etapa1: generar una semilla (si es através de software se debe usar: el sistema de reloj, el teclado, el ratón, el contenido de buffers de entrada y salida, una combinación de los anteriores...)Etapa2: generar una cadena de números pseudoaleatorios que provienen de una función de un sólo sentido, en la práctica se usan MD5, SHA-1, la función RSA, la función logaritmo en curvas elípticas, etc.Prueba: Para probar que un dispositivo genera números peudoaleatorios, éste debe de pasar una prueba que detecte las propiedades más conocidas de no aleatoriedad, por ejemplo la prueba de Maurer.

Page 15: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Cómo conseguir números pseudoaleatorios? (3/5)

xn+1 = (axn + c) mod m

Las constantes X0, a, c, y m, se eligen para que el periodo sea máximo con:i. c y m son primos entre síii. a–1 es múltiplo de todos los primos que dividen a miii. si m es múltiplo de 4, a–1 también lo esEl parámetro m determina el número de cifras, se suelen tomar potencias de dos.

Cuando c = 0 el generador se denomina multiplicativo. Este tipo de métodos es más rápido y, aunque se reduce un poco la longitud del ciclo, la aparición de estos no es problema si m se elige suficientemente grande.

Page 16: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Cómo conseguir números pseudoaleatorios? (4/5)

x0=2 a=3 c=2 m=16

0

2

4

6

8

10

12

x0=2 a=5 c=9 m=16

02468

10121416

Figura 1. Donde no se cumplen las condiciones y por tanto no hay apariencia de aleatoriedad.

Figura 2. Donde sí se cumplen las condiciones y por tanto sí hay apariencia de aleatoriedad.

Page 17: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

¿Cómo conseguir números pseudoaleatorios? (5/5)

Características de los números obtenidos deben ser:1 Uniformemente distribuidos. 2. Estadísticamente independientes. 3. Su media debe ser estadísticamente igual a 1/2. 4. Su varianza debe ser estadísticamente igual a 1/4. 5. Su periodo o ciclo de vida debe ser largo. 6. Deben ser generados a través de un método rápido. 7. Generados a través de un método que no requiera mucha capacidad de almacenamiento de la computadora.

Ejemplo:

Generadores de Fibonacci Ni=(Ni-r Ni-s) mod m

Page 18: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Contrastes de aleatoriedad (1/6)

La aproximación a los generadores de números aleatorios exige contrastar ciertas propiedades estadísticas de sus salidas. Algunos de los contrastes son genéricos y pueden utilizarse en la evaluación de generadores de variables aleatorias. Muchos de estos contrastes se encuentran implementados en los paquetes estadísticos comerciales más importantes. Además algunos generadores disponen de una teoría analítica que conduce a contrastes teóricos específicos.Para aumentar su potencia, los contrastes siguientes pueden repetirse N veces.

Page 19: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Contrastes de aleatoriedad (2/6)

• Contraste de rachas-1

7 3 6 7 11 23 5 23 15 4 31 22 20

3 4 5 6 7 7 11 15 20 22 23 23 31

Page 20: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Contrastes de aleatoriedad (3/6)

• Contraste de rachas-2

Si el tamaño de cualquiera de las dos muestras es mayor que 30, y consideramos una muestra de tamaño n que ha sido dividida en dos categorías (+) y (-) con n1 y n2

observaciones cada una. Se denomina racha a una sucesión de valores de la misma categoría la distribución de R se aproxima a una normal de media y varianza las siguientes:

Page 21: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Contrastes de aleatoriedad (4/6)

• Test de Wald-Wolfowitz -1

Valores muestra 1:

1 5 6 2 8    

Valores muestra 2:

2 8 6 4 2 9 3

Valores ordenados

1 2 2 2 3 4 5 6 6 8 8 9

Número de racha 1 1 2 2 2 2 3 3 4 5 6 6

Page 22: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Contrastes de aleatoriedad (5/6)

• Contraste de rachas-2

Cuando ambos tamaños muestrales son superiores a 10 la distribución de R es aproximadamente normal de parámetros:

Page 23: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Contrastes de aleatoriedad (6/6)

• Pruebas estandar que debe pasar una secuencia de bits para que esta se considere aleatoria:

- Contraste de Kolmogorov – Smirnov

- Prueba de frecuencia

- Prueba de series (prueba de los dos bits)

- Prueba de póquer

- Prueba de rachas

- Prueba de autocorrelación

Page 24: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Análisis de aleatoriedad (1/4)

Como es sabido, no se dispone de ninguna prueba matemática que asegure de forma categórica la aleatoriedad de una secuencia de bits. No obstante, si las secuencias obtenidas mediante un determinado generador superan todas las pruebas diseñadas para tal fin, entonces es aceptado como generador de secuencias aleatorias. A continuación se presentan las pruebas fundamentales de aleatoriedad para dicho análisis.

Page 25: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Análisis de aleatoriedad (2/4)

Postulados de GolombTienen un importante interés histórico puesto que fueron los primeros definidos y usados para establecer las principales condiciones necesarias para que una secuencia de bits pudiera ser considerada como aleatoria. No obstante, en la actualidad estas condiciones no se consideran suficientes, aunque si necesarias para poder aceptar como aleatoria una secuencia dada. Los postulados de aleatoriedad de Golomb son los siguientes:

Page 26: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Análisis de aleatoriedad (3/4)

  1.- En la secuencia binaria s de longitud n (sn), el número de unos debe diferir del número de ceros, como máximo, en una unidad. Puede comprobarse que se cumple este postulado mediante el test de frecuencia o monobit.

2.- En la secuencia sn, al menos la mitad de las cadenas de dígitos iguales tiene longitud uno, al menos una cuarta parte de esas cadenas tiene longitud dos, al menos una octava parte tiene longitud tres, etc. Además para cada una de las longitudes se dispone de tantas cadenas de unos como de ceros. Puede comprobarse que se cumple este postulado mediante el test de series( de los dos bits), test de rachas y el test del póquer.

Page 27: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Análisis de aleatoriedad (4/4)

  3.- La función de correlación C(t) tiene dos valores. Esto es, para algún valor K. Puede comprobarse que se cumple este postulado mediante el test de autocorrelación.

Page 28: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

El caos

• El caos aparece en situaciones muy dispares, en la frecuencia del goteo de un grifo, en el movimiento de los planetas, o inclusive, en el comportamiento de los consumidores.

• Un ejemplo clásico es el goteo de un grifo: si el caudal es muy pequeño las gotas caen de forma periódica. La frecuencia a la a que caen las gotas se dobla si abrimos un poco el grifo. Cuando lo abrimos más vuelve a doblarse hasta que llega un momento en el que las gotas caen de modo completamente caótico.

Page 29: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Conclusiones (1/3)

• Los diferentes tipos de generadores(hardware/software) de secuencias de aleatorias, con mejores o peores propiedades estadística, y más o menos costosos en su implementación, son totalmente predecibles, esto los hace “no muy bondadosos” con propósitos de seguridad, no así para otro tipo de aplicaciones como por ejemplo la simulación. Toda la secuencia depende de un valor inicial.

• Que lo que en un momento dado puede ser seguro, poco después puede dejar de serlo, así pasa por ejemplo con la longitud de las llaves que se usan en el sistema RSA, que han ido aumentado paulatinamente. Según va aumentando la velocidad de proceso disminuye el tiempo necesario para probar todas esas llaves

Page 30: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Conclusiones (2/3)

• El aumento de la velocidad de proceso, unido a técnicas de afinado que no usan todas las llaves, hacen posible que lo que antes era “incalculable”, se obtenga en pocos segundos. A día de hoy podemos poner a trabajar probando claves a miles de ordenadores con una potencia que no parecía imaginable hace 30 años.

• Para generar la semilla de un dispositivo pseudoaleatorio basado en software se deben de usar eventos que estén muy alejados de la intervención humana, por ejemplo, el reloj, el teclado, el ratón, el contenido de buffers de entrada y salida, o una combinación de los anteriores.

Page 31: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Conclusiones (3/3)

• Para generar la cadena pseudoaleatoria se debe de hacer uso de funciones de un solo sentido como las funciones Hash: MD5, SHA-1,..., la función RSA, la función logaritmo en curvas elípticas, etc

• Cualquier generador de números aleatorios tendrá que superar los tests estadísticos básicos. Considerando, por tanto, que dicho algoritmo es válido para generar secuencias que se pueden tomar como realmente aleatorias. O al menos que supera un porcentaje fijo de test, aunque haya alguno que no pase.

Page 32: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Agradecimientos

A Benjamín Ramos Álvarez, que ha sido la persona que ha permitido que este trabajo exista, a Julio Cesar Hernández Castro y a Paloma Díaz Pérez sin cuya colaboración no habría podido llegar a este momento, académicamente hablando. Todos ellos profesores del departamento de Informática de la Universidad Carlos III de Madrid.

Page 33: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Referencias (1/2)

• [Alcocer et al, 2005] Alcocer Garau, Pedro M., García Carrasco, Jose M., Hernández Encinas, L.: Revista de la asociación de Técnicos de Informática ISSN 0211-2124, nº 174, ejemplar dedicado a: IPv6. Más que un protocolo. Pp. 59-65.

• [Alvarez, 2005] Álvarez González, Francisco: Manual electrónico Métodos estadísticos aplicados a las auditorias sociolaborales. En http://www.uca.es/dpto/C146/pag_personal/f_alvarez (2005). Pp. 120-121.

• [Ariza et al., 2001 ] Ariza, F.J., Pinilla, C., López, R., Caridad, J.M.: Revista Mapping ISSN 1131-9100, nº 71, 2001. Pp. 54-75. Paper Uso de la Simulación en Cartografía: Conceptos Básicos y aplicaciones.

• [Caridad, 1987] Caridad, J.M. Métodos de Estadística no Paramétrica para investigadores. Universidad de Córdoba.

• [Ibarra, 2004] Ibarra Onofre, Julian: Ensayos volumen XXIII, núm. 1 -Caos en el Mercado cambiario mexicano. Aplicación de la teoría del caos en los tipos de cambio –pp. 31-60

Page 34: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Referencias (2/2)

• [Lucena, 2008] Lucena López, Manuel José: Libro electrónico Criptografía y seguridad en computadores (4ª edición). En Creative Commons (2008).

• [Miglietti, 2000] Miglietti, R.: Paper Gambling El azar en la ciencia. Pp. Todas.

• [Molina et al., 2007] Molina Vilchis, A., Silva Ortigoza, R., y Vega Alvarado, E..: Tercer congreso Internacional Tendencias Tecnológicas en Computación 2007, jueves-15 de noviembre de 2007 Paper Pruebas de Aleatoriedad para Secuencias Pseudos-Aleatorias. Pp. Todas.

• [Peña, 1992] Peña Sánchez de Rivera, Daniel: Estadística Modelos y Métodos –Tomo 1: Fundamentos-. En Alianza Universidad Textos, (1992), pp. 521-522. Tablas test de rachas. Pp. 360-364. Contraste x2 de Pearson. Pp.365-367. Contraste de Kolmogorov-Smirnov. Pp. 392-393. Contraste de rachas.

• [Ríos, 1997] Ríos, S., Simulación, Métodos y aplicaciones. Ed Ra-Ma.

Page 35: INDICEINDICE 18 de septiembre de 2008Eugenio Soler Galán

18 de septiembre de 2008 Eugenio Soler Galán

INDICE

Lugares WEB

• http://es.wikipedia.org/wiki/Azar• http://www.virtual.unal.edu.co/cursos/sedes/manizales/

4060015/Lecciones/Capitulo%20VI/metodos.htm• http://www.lawebdefisica.com/apuntsmat/num_aleatorios/• http://jungla.dit.upm.es/~trdt/apuntes/t1.html