Vulnerabilidades Criptográficas Pablo Prol Sobrado Alexandre Ramilo Conde Índice 1. Cifrado Simétrico (DES, AES) 2. Cifrado Asimétrico (RSA, DSA) 3. Funciones Hash (MD5, SHA-0, SHA-1, SHA2) Dentro de cada uno: a. Vulnerabilidades y puntos débiles b. Ataques típicos (Claves débiles y semi-débiles, factorización, búsqueda y generación de colisiones HASH...) c. Medidas de defensa incluidas y fortalezas 1. Cifrado Simétrico: DES a. Vulnerabilidades y puntos débiles i. Clave de cifrado demasiado corta ii. Elementos de diseño clasificado (Al principio) iii. Posible puerta trasera para la NSA (Rumor) b. Ataques típicos i. Por fuerza bruta (Clave de 56 bits, la NSA insistió en ello, se rumorea de que en los 70 ya tenían capacidad de romperla) 1. Cifrado Simétrico: DES ii. Criptoanálisis Diferencial (Teórica: Para romperla 16 rondas, hacían falta 2^47 textos planos escogidos) iii. Criptoanálisis Lineal (Teórica: 2^43 textos planos conocidos) iv. Ataque de Davies (Teórica: Específica para DES, 2^50 textos planos conocidos, 51% de probabilidad de éxito) d. Medidas de defensa incluidas y fortalezas 1. Diseñado para ser resistente al CD 2. Triple DES 1. Cifrado Simétrico: AES a. Vulnerabilidades y puntos débiles i. Número de rondas bajo (10 para claves de 128 bits, 12 para claves de 192 bits y 14 para claves de 256 bits) b. Ataques típicos i. Ataques sobre versiones del cifrador con un número menor de rondas (7 para claves de 128 bits, 8 para claves de 192 bits y 9 para claves de 256 bits) ii. Posible ataque por su estructura matemática (Muy ordenada) 1. Cifrado Simétrico: AES iii. Ataque XSL ("Expresando el algoritmo completo como polinomios cuadráticos multivariados, y utilizando una técnica innovadora para tratar los términos de estos polinomios como variables individuales"): Teórico, nunca implementado iv. Ataque de canal auxiliar: Ataque a las implementaciones (En el 2005, se atacó a un servidor preparado para dar la máxima información posible, pero requería cerca de 200 millones de ficheros de texto en claro) d. Medidas de defensa incluidas y fortalezas 1. Claves de 128, 192 y 256 (La NSA usa las de 128 para categoría SECRET y 192 y 256 para TOP SECRET) 2. Cifrado Asimétrico: RSA a. Vulnerabilidades y puntos débiles i. Computación cuántica (Descomponer un número grande en producto de primos) b. Ataques típicos i. Ataque de replay (Introducirse en el medio) ii. Por descomposición de números (Posible según tamaño de la clave, hoy en día se puede romper una clave de 256 bits en un par de horas) c. Medidas de defensa incluidas y fortalezas i. Factorización de números enteros (Producto de 2 número primos grandes de tamaño del orden de 10^200) ii. Se puede variar el tamaño de la clave, hoy en día se recomienda usar de 2048 bits. 2. Cifrado Asimétrico: DSA a. Vulnerabilidades y puntos débiles i. Más lento que RSA ii. No cifra, firma b. Ataques típicos i. Ataque de replay (Introducirse en el medio) ii. Por descomposición de números (Posible según tamaño de la clave, hoy en día se puede romper una clave de 256 bits en un par de horas) iii. Claves débiles (Matemáticamente, hay ciertos casos en los que el algoritmo deja el mensaje tal cual) c. Medidas de defensa incluidas y fortalezas i. Factorización de números enteros ii. Se puede variar el tamaño de la clave 3. Funciones Hash: MD5 (1991) a. Vulnerabilidades y puntos débiles i. Colisiones de hash: Descubierto en 1996 b. Ataques típicos i. Fuerza bruta ii. Diccionario iii. Ataque de cumpleaños (Colisión de hash) iv. Rainbow tables c. Medidas de defensa incluidas y fortalezas i. Longitud de hash: 128 bits 3. Funciones Hash: SHA-0 y SHA-1 (1993/1995) a. Ataques típicos i. Fuerza bruta ii. Diccionario iii. Ataque de cumpleaños (Teórico) b. Medidas de defensa incluidas y fortalezas i. Longitud de hash: 160 bits ii. Resistente en teoría hasta 2^80 operaciones por fuerza bruta iii. SHA-0: 1996 -> 2^61, 2004 -> 2^40 iv. SHA-1: 2005 -> 2^69, 2009 -> 2^52 3. Funciones Hash: SHA-2 (2001) (SHA-224, SHA-256, SHA-384 y SHA-512) a. Ataques típicos i. Fuerza bruta ii. Diccionario iii. Ataque meet-in-the-middle: 42 rondas, complejidad 2^251 (SHA-256), 2^502 (SHA-512) b. Medidas de defensa incluidas y fortalezas i. Longitud de hash: 224, 256, 384 y 512 bits ii. No se han detectado colisiones debido a la longitud de bits iii. Recomendado su uso por el NIST (National Institute of Standards and Technology) a partir del 2010 Vulnerabilidades Criptográficas Pablo Prol Sobrado Alexandre Ramilo Conde ¡Gracias por vuestra atención! ¿Preguntas?