Copy Link
Add to Bookmark
Report

SET 018 0x0f

  

-[ 0x0F ]--------------------------------------------------------------------
-[ CRIPTOANALISIS ]----------------------------------------------------------
-[ by Hendrix ]------------------------------------------------------SET-18-

CRIPTOANALISIS
**************
por Hendrix


A) INTRODUCCION:

Habreis oido muchas veces que la Criptografia Moderna es muy segura, pero
¨Como se pueden desencriptar los mensajes? Las tecnicas para desencriptar
mensajes ajenos se llama Criptoanalisis y seguro que os interesa.

¨Quien se atreve a desencriptar PGP?

---------------------------------------------------------------------------
B) TIPOS DE ATAQUES:

1. Ataque basado en Texto Cifrado conocido

Este es el ataque mas evidente, se supone que el criptoanalista ha
interceptado un mensaje cifrado y pretende descifrarlo. Si el mensaje
ha sido correctamente cifrado con algoritmos "robustos", el criptoanalista
lo tiene muy complicado, por no decir imposible.

2. Ataque basado en Texto en Claro conocido

En este caso el criptoanalista tiene acceso tanto al texto cifrado como al
original y el objetivo es tratar de descifrar la Clave que se ha utilizado.
Aunque parezca un tipo de ataque extraño, es el mas comun:
Normalmente los mensajes que se van a cifrar tienen cierta estructura, lo
que permite al criptoanalista conocer a priori gran parte del Texto en Claro
aunque solo cuente con el Texto Cifrado.

3. Ataque basado en Texto en Claro seleccionado

Este metodo es mas bien academico y sirve para probar la fortaleza de los
algoritmos, en la practica su uso es muy extra¤o. Aqui el Criptoanalista
lo tiene todo:
Puede elejir una serie de textos (a veces hasta miles o millones de textos),
y obtener el texto cifrado correspondiente. El objetivo sigue siendo el mismo,
encontrar la Clave de cifrado. A pesar de todas estas ventajas un buen
algoritmo de cifrado debe resistir este tipo de ataques.

--------------------------------------------------------------------------

C) METODOS:

Vamos a por lo que os importa. ¨Que metodos existen para descifrar un
mensaje encriptado?, la verdad es que se trata de una tarea muy dificil.
De todas formas explicare todos los metodos que conozco y al final
utilizaremos todo lo hemos aprendido para intentar descifrar un mensaje PGP.


1. FUERZA BRUTA ----------------------------------------------------------

a) Algorimos simetricos

En principio este deberia ser el unico metodo para desencriptar un mensaje
de clave simetrica como DES, RC5, IDEA o Blowfish. El metodo es evidente,
probar todas las posibles Claves hasta encontrar la correcta.
Aqui tenemos dos problemas:
El numero de Claves es igual a 2 elevado al numero de bits de la Clave. Lo
que significa que para 64 bits es una bestialidad de claves (Si todavia no
estas convencido, echale un vistazo al proyecto Bovine y veras el esfuerzo
necesario para desencriptar una unica palabra cifrada con RC5-64bits).
Pero aun asi sigues teniendo otro problema ¨Como sabes que la Clave que has
probado es la correcta? Si solo conoces el texto cifrado podria ser que
dos textos diferentes cifrados con claves diferentes dieran el mismo
resultado despues de cifrarlos!!

b) Algoritmos asimetricos

Por su parte los algoritmos de Clave asimetrica se basan en la imposibilidad
de resolver un problema matematico concreto. Asi,

RSA se basa en la dificultad de factorizar un numero muy grande que sea el
resultado de la multiplicacion de 2 numeros primos grandes

Diffie-Hellman se basa en la dificultad de encontrar el logaritmo entero de
un numero muy grande.

Ultimamente se esta investigando en un nuevo campo, las Curvas Elipticas que
parece ser todavia mas dificil que los anteriores.

Por ultimo quisiera comentar el dilema Memoria/Procesamiento. Hay que tener
en cuenta que las claves se pueden procesar previamente y guardarla en algun
sitio. ¨Alguien ha intentado crear alguna vez un CD con passwords
desencriptadas de UNIX?, podria ser una buena idea.


2. MATEMATICOS -------------------------------------------------------------

Los metodos matematicos se utilizan generalmente para probar la fortaleza
de un algoritmo, evidentemente un buen algoritmo sera aquel que pueda superar
este tipo de ataques.

a) Reducir el espacio de Claves

La mayoria de ataques a un Criptosistema se basan este metodo: intentar
descartar Claves hasta llegar a reducir la cantidad de Claves a un numero
suficientemente peque¤o como para poder aplicar un ataque por Fuerza Bruta.
Con 2 elevado a 30 claves posibles, cualquiera puede intentar un ataque por
Fuerza Bruta en un periodo de tiempo razonable.
DESCraker utiliza este metodo para desencriptar DES.

b) Estadisticos

Se basa en buscar algun tipo de estadistica en el texto cifrado. Cualquier
algoritmo moderno que se precie debe superar esta prueba perfectamente,
eliminando cualquier tipo de estadistica en los resultados. De echo cualquier
algoritmo criptografico es un buen generador de numeros aleatorios.

c) Criptoanalisis Diferencial

Inventado por Adi Shamir. Se prueban unos textos en claro determinados que
presentan ciertas simetrias en el texto cifrado y con esto se puede reducir
el numero de Claves posibles. Con este metodo se han desencriptado muchos
algoritmos que parecian indescifrables.

d) Ataques a Criptosistemas asimetricos

Los Algoritmos de Clave Publica nos presentan un reto concreto: Si somos
capaces de resolver un problema matematico concreto podremos desencriptar la
Clave. Este reto esta tan bien elejido que ni con toda la potencia de calculo
imaginable seria posible resolverlo. Aun asi, en el futuro pueden aparecer
nuevos algoritmos matematicos que simplifiquen el problema, haciendo que
ciertos criptosistemas sean vulnerables.

RSA: Se basa en la factorizacion de numeros grandes. Este problema ha sido
ampliamente estudiado por multitud de matematicos. El mejor algoritmo
encontrado para resolver el problema es inviable para claves de 1024 bits o
mas.

Diffie-Hellman: Se basa en resolver logaritmos enteros, aunque es mas debil
que el RSA la solucion a este problema sigue siendo inviable para claves de
1024 bits o mas

Curvas elipticas: Resolver estos problemas son tremendamente dificiles hoy en
dia lo que permitiria utilizar claves mas cortas que con RSA, sin embargo,
al tratarse de un campo muy nuevo en Matematicas no se descarta la
posibilidad de que se den nuevos avances en un futuro proximo, lo que haria
vulnerable este tipo de algoritmos.


3. PUERTAS TRASERAS --------------------------------------------------------

a) Troyanos

Siempre que utilicemos un software de criptografia existe la posibilidad de
que el programador haya instalado un "Caballo de Troya" en el, que permita
descifrarlo sin necesidad de utilizar la Clave. Es una situacion rebuscada
pero posible.

b) Skipjack

LA NSA (Agencia de Seguridad Americana) ha propuesto un algoritmo llamado
Skipjack para encriptar las comunicaciones telefonicas. Este algoritmo
posee una puerta trasera llamada LEAF que permitiria descifrar la comunicacion
sin necesidad de conocer la clave. Para crear el LEAF proponen que una parte
de la clave la guarde el FBI y otra el Departamento de Hacienda. Si un juez
decreta que se debe "pinchar" una linea, la policia pediria las claves a
los depositarios y asi podria descifrar cualquier conversacion.

c) DES

Siempre se ha tenido la duda de si DES incorporaba una Puerta Trasera, las
dudas provenian de las S-Box, una de las partes basicas del algoritmo DES.
Estas Box estan compuestas por una serie de numeros elejidos por el creador
del algoritmo y no existe un criterio real para que se utilicen esos numeros
y no otros. De todas formas esto nunca se ha llegado a demostrar.


4. ROBO DE CLAVES ----------------------------------------------------------

EL metodo mas evidente y mas efectivo.

a) Claves privadas

Las claves privadas son la base de la criptografia moderna y su robo pone
en peligro todo el sistema. Las claves privadas mas importantes se guardan
en unos diapositivos llamados CSU de la empresa BBN, si alguien los roba e
intenta abrirlos la informacion contenida se autodestruiria.
En PGP la clave privada se guarda en el archivo "secring.skr"

b) Robo del fichero de contrase¤as

/etc/passwd (hace falta mas explicaciones?)


5. CLAVES DEBILES ----------------------------------------------------------

Aunque se robe un fichero de Claves, casi siempre estara protegido por una
contrase¤a. Y toda Contrase¤a es vulnerable.

a) Contrase¤as faciles

La mayoria de la gente utiliza contraseñas faciles, con un Crakeador de
passwords y una lista de palabras es suficiente (no sere yo quien os ense¤e
a hacer esto, demasiado facil)

b) Contrase¤as asignadas por el administrador

En muchos casos es el propio administrador del sistema el que crea una
contrase¤a fuerte y se la da al usuario. Normalmente el usuario no puede
aprendersela y la acaba escribiendo en un papel. Es peor el remedio que la
enfermedad.

c) Contrase¤as dificiles

Algunos usuarios son conscientes de que una contrase¤a debe ser dificil, asi
que se crean una del tipo: "Rt45ff2Zz". El problema es que este tipo de
contrase¤as es dificil de recordar por lo que acaban utilizandola para todo.
Piensalo:¨Cuantas contrase¤as diferentes utilizas normalmente?

d) Claves de sesion debiles

Al crear una clave de sesion, esta debe ser totalmente aleatoria. Esto no
siempre ocurre y puede que el generador no sea lo bastante aleatorio. Un
criptoanalista podria analizar el algoritmo de creacion de claves y reducir
asi el espacio de claves posibles (metodo 2a)


6. MAN-IN-THE-MIDDLE--------------------------------------------------------

Se trata de un ataque muy complejo pero que puede descifrar rapidamente
cualquier criptosistema, incluso PGP.
La tecnica consiste en interponerse entre el emisor y el receptor impidiendo
cualquier comunicacion entre ambos sin pasar por el Criptoanalista.
Para explicar este metodo utilizare un cuento, es mas facil de entender:

"Ana quiere mandar un mail a Paco encriptado con PGP, para ello necesita su
clave publica. Un Pirata ha modificado la Clave Publica de Paco de tal manera
que cuando Ana cree tener la clave publica de Paco en realidad lo que tiene
es la clave publica del Pirata. Ana encripta el mensaje, el Pirata lo
intercepta y lo desencripta con su clave privada. Despues lo vuelve a
encriptar con la clave de Paco y se lo manda. Paco recibe el mensaje y lo
descifra sin sospechar nada. Ahora el Pirata debe repetir la operacion con
Paco.
El resultado final es que aunque Ana y Paco creen tener una comunicacion
segura hay un Man-In-The-Middle que esta interceptando todos los mensajes."

Con el uso de Certificados Digitales se puede impedir este ataque.


7. PLAY-BACK ---------------------------------------------------------------

La tecnica consiste en intentar acceder a un sistema repitiendo los mensajes
que otro usuario ha enviado y que el Criptoanalista ha interceptado y
guardado. En cualquier protocolo de seguridad moderno se incluyen datos
aleatorios llamados "Nonce o Fresh" que son diferentes cada vez que se
inicia un protocolo, el objetivo es evitar este tipo de ataques.


8. ATAQUE DEL CUMPLEAÑOS ---------------------------------------------------

Es un curioso metodo de ataque contra una funcion Hash. Es muy largo de
explicar, tan solo dire que funciona con Hash de menos de 100 bits. Los
algoritmos mas tipicos: MD5 (128 bits) y SHA (168 bits) estan libres de
este ataque


9. CERTIFICADOS REVOCADOS --------------------------------------------------

Algunos protocolos modernos como SET admiten la creacion de listas de
certificados no validos (para el caso de robos de claves), si un
criptoanalista ha robado una clave y el propietario de la clave se entera,
debe asegurarse ademas que su victima no reciba la lista de certificados
revocados (CRL) sino la clave robada no servira de nada.


10. OTROS SISTEMAS ---------------------------------------------------------

Si se utiliza sistemas Biometricos (basados en caracteristicas fisicas de
la persona como los ojos, manos, etc..) o Tarjetas Inteligentes, el ataque
se complica todavia mas.

----------------------------------------------------------------------------

DESENCRIPTAR PGP


Por intentarlo que no quede, estan son todas las posibilidades:

a) Troyano

La version 5.0 de PGP para Windows viene sin codigo fuente por lo que podria
incluir un troyano (quien sabe), la version 2.6 viene con codigo fuente,
ideal para paranoicos.

b) Fuerza Bruta: IDEA

La primera opcion es intentar desencriptar el mensaje cifrado con IDEA por
fuerza bruta. Recuerda que es algoritmo de 128 bits. Resultado: Imposible.

c) Fuerza Bruta RSA / D-H

Tambien puedes intentar factorizar la Clave Publica para obtener la Clave
Privada. Si se utilizan Claves de 1024 bits o mas el resultado es claro:
Imposible tambien.

e) Man-in-the-middle

Si no se utilizan Certificados Digitales esta tecnica es teoricamente posible
aunque inviable a la practica.

d) Robo de Clave Privada

Este es unico metodo factible. Para empezar deberas robar la clave privada
que se encuentra en el fichero "secring.skr". Esta clave esta protegida
por una "frase de paso". Aunque se trata de una proteccion mas fuerte que
una password puedes probar con un diccionario de frases:
Refranes, frases tipicas, letras de canciones, etc...
Al fin, si consigues descifrarlo antes de que caduque la clave, habras
descifrado PGP!!!

---------------------------------------------------------------------------

CONCLUSION:

A partir de ahora, cuando algun "hAcKErK00l" te diga que PGP no es seguro y
que el puede descifrarlo cuando quiera simplemente sonrie. No te enfades
con el, estos pobres ignorantes son felices asi...


← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT