VULNERABILIDADES CRIPTOGRÁFICAS

Anuncio
VULNERABILIDADES
CRIPTOGRÁFICAS
Por Alexandre Ramilo Conde y Pablo Prol
Sobrado
Índice
1.
Cifrado Simétrico
DES
b. AES
a.
2.
Cifrado Asimétrico
RSA
b. DSA
a.
3.
Funciones Hash
MD5
b. SHA-0 y SHA-1
c. SHA-2
a.
4.
Dentro de cada uno
Vulnerabilidades y puntos débiles
b. Ataques típicos (Claves débiles y semidébiles, factorización, búsqueda y generación
de colisiones HASH...)
c. Medidas de defensa incluidas y fortalezas
a.
Cifrado Simétrico
DES
1. Vulnerabilidades y puntos débiles
El principal problema que tiene el algoritmo DES es que tiene una clave de cifrado
demasiado corta, de sólo 56 bits), hecho que según algunas fuentes, fue por culpa de la NSA,
que pidió reducir de los 128 bits iniciales a 64 y después hasta los 56 que finalmente fueron, y
que esto pudo ser debido a que en la época en la que se desarrolló este algoritmo, la NSA ya
poseía computadores capaces de romper este algoritmo. Incluso se rumorea que pueda existir
una posible puerta trasera para este organismo en el algoritmo que permita desencriptar
fácilmente los documentos.
2. Ataques típicos
Como todos los algoritmos, este es susceptible de ser atacado por fuerza bruta, ataque
que hoy en día es bastante sencillo, con un ordenador sencillo se puede romper una clave en
el orden de horas o unos pocos días, lo cuál hace que el uso de este algoritmo esté muy poco
recomendado. Posteriromente, hay varios ataques teóricos que fueron desarrollados, como el
criptoanálisis diferencial (Que necesitaría 16 rondas para romperla y 2^47 textos planos
escogidos), el criptoanálisis lineal (Que necesitaría 2^43 textos planos conocidos) y el ataque
de davies (Que es específico para DES y requeriría 2^50 textos planos conocidos, con un 51%
de probabilidad de éxito).
3. Medidas de defensa incluidas y fortalezas
En teoría fue diseñado para ser resistente al criptoanálisis diferencial. Además, destacar
que existe una variable del DES, el Triple DES (3DES), que consiste en aplicar el cifrado DES
3 veces, siendo este algoritmo más seguro que el DES original.
AES
1. Vulnerabilidades y puntos débiles
El mayor problema que presenta el AES es el número de rondas, que se considera muy
bajo para lo que debería ser un algoritmo “seguro”, con 10 rondas para claves de 128 bits, 12
rondas para claves de 192 bits y 14 rondas para claves de 256 bits).
2. Ataques típicos
Al igual que todos, podría llevarse un ataque por fuerza bruta, aunque hoy en día no es
computacionalmente factible. Ataques más trabajados son:
a. 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.
b. Posible ataque por su estructura matemática: El algoritmo AES presenta una
estructura matemática muy organizada.
c. 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, se podría realizar un ataque al
algoritmo, aunque es un ataque teórico.
d. Ataque de canal auxiliar: Ataque a las implementaciones del algoritmo. 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, por lo que no
es un ataque muy factible.
3. Medidas de defensa incluidas y fortalezas
Tiene claves de 128, 192 y 256 bits, que permiten encriptar los archivos con mayor o
menor confianza sobre su seguridad (La clave de 128 permite más rapidez, pero podría ser
más susceptible a un ataque que una de 256). Un ejemplo de ello es la NSA, cuyos archivos
SECRET se encriptan con una clave de 128 bits, mientras que los TOP SECRET han de ser
encriptados como mínimo con una de 192 bits.
Cifrado Asimétrico
RSA
1. Vulnerabilidades y puntos débiles
Aunque el algoritmo en sí es seguro, tiene una pequeña debilidad que hoy en día no
sería explotable sería utilizar la potencia de la computación cuántica. Como el algoritmo RSA
se basa en un número grande producto de dos números primos muy grandes, la potencia de la
computación cuántica permitiría en teoría realizar la descomposición de una manera sencilla,
aunque es algo que aún no se puede demostrar.
2. Ataques típicos
Uno de los más sencillos ataques es un ataque man-in-the-middle, esto es, existiendo
un tercer usuario que controle en cierto grado la transmisión de paquetes de la red y se
haga pasar por el respectivo extremo de la comunicación para los dos usuarios que habían
establecido la comunicación.
Por otro lado, un ataque posible es por descomposición de números, que es posible
según el tamaño de la clave. Por ejemplo, hoy en día, se puede romper una clave de 256
bits en un par de horas, por eso se recomienda como mínimo usar claves de 1024 bits y si es
posible, una de 2048.
3. Medidas de defensa incluidas y fortalezas
La dificultad técnica de realizar la factorización de números enteros grandes, resultado
de realizar el producto de dos números primos muy grandes (Tamaño del orden de 10^200).
También es una fortaleza que se pueda variar el tamaño de la clave, de tal manera que el
tamaño de las claves avanza según la potencia computacional (Antiguamente, los ordenadores
no eran capaces de ofrecer un tiempo asequible para romper claves de 256 bits, y hoy en día
sí, y en el futuro, es probable que los ordenadores sean capaces de romper una clave de 1024
de manera sencilla y rápida, por lo que se usarán claves más grandes).
DSA
1. Vulnerabilidades y puntos débiles
Tiene la problemática de que es un algoritmo más lento que el RSA y que, al contrario
que éste, no cifra, sino que realiza firmas.
2. Ataques típicos
Como todos los algoritmos, es susceptible a un ataque por fuerza bruta, pero con claves
de longitud grande, esto es mucho más difícil. Al igual que el RSA, se le puede realizar un
ataque man-in-the-middle, y se podría realizar la descomposición de números para realizar un
posible ataque.
3. Medidas de defensa incluidas y fortalezas
Similar al RSA, sus puntos fuertes son la factorización de números enteros grandes lo
que dificulta un posible ataque, y la capacidad de variar el tamaño de la clave.
Funciones Hash
MD5
1. Vulnerabilidades y puntos débiles
La mayor problemática que sufren las funciones hash son las colisiones de hash. Se
descubrieron las primeras de este algoritmo en el año 1996, lo cuál motivó el desarrollo de
nuevos algoritmos. Esto es algo inevitable para estos algoritmos (Ya que al dejar una cadena
de la misma longitud siempre, es factible que una cadena muy larga de lo mismo que una de
menor tamaño, por dar una posibilidad), sin embargo, es algo que es poco deseable que ocurra.
2. Ataques típicos
Al igual que todos los algoritmos, es susceptible de sufrir un ataque por fuerza bruta.
Para los casos de algoritmos de tipo de hash, surgen nuevos ataques, como:
a. Ataque de diccionario: Usar una base de datos que tenga los pares cadena hash
- texto claro, de tal manera que introduciendo la cadena hash obtengamos el
texto claro (Estos diccionarios son buenos para claves genéricas que siempre
se usan como “1234” o “pass”, pero no sirve para nada en caso de que no exista
una hash registrado para una clave (Por ejemplo, si utilizamos claves largas y
con dígitos raros, como “^¨*^SF”·$·343rdfd3*¨*Ǩ*”).
b. Ataque de cumpleaños: Por la probabilidad de que dos cadenas similares pero
con varias diferencias que generen una misma cadena hash.
c. Rainbow tables
3. Medidas de defensa incluidas y fortalezas
La longitud del hash generado es de 128 bits.
SHA-0 y SHA-1
1. Ataques típicos
Al igual que todos los algoritmos, es susceptible de sufrir un ataque por fuerza bruta.
Para los casos de algoritmos de tipo de hash, surgen nuevos ataques, como:
a. Ataque de diccionario: Similar al de MD5
b. Ataque de cumpleaños: Similar al de MD5, solo que en este caso es un ataque
más teórico debido a la longitud de cadena, lo que hace más imposible estas
colisiones.
2. Medidas de defensa incluidas y fortalezas
La longitud del hash generado es de 160 bits, lo que haría resistente en teoría al
algoritmo en 2^80 operaciones por fuerza bruta. Sin embargo, esto poco a poco se ha ido
rebajando, dejando al SHA-0 en 2^61 en 1996 y en 2^40 en 2004, y más tarde el SHA-1,
dejando en 2^69 en 2005 y en 2^52 en 2009.
SHA-2
1. Ataques típicos
c. Ataque de diccionario: Similar al de MD5 y SHA-0 y SHA-1, sólo que en este
caso los diccionarios son más reducidos y, por tanto, las posibilidades de
encontrar una coincidencia es más difícil.
d. Ataque de cumpleaños: Similar al de SHA-0 y SHA-1.
2. Medidas de defensa incluidas y fortalezas
La longitud del hash va desde los 224 bits pasando por 256 y 384 hasta los 512 bits.
estos altos tamaños han logrado que, a día de hoy, no se hayan detectado colisiones debido a
la longitud de bits. El uso de esta familia de algoritmos está recomendado por el NIST (National
Institute of Standards and Technology) a partir del 2010.
Descargar