DROWN: Atacando SSL/TLS (II)

1- TDA-2
CapturaThe DROWN Attack: Análisis (I)

Para que se pueda comprender (oentender“) –DROWNes de #vital# importancia conocer cómo funciona este protocolo criptográfico <SSL/TLS>. La mayoría de la gente tiene la certeza de que este protocolo se apoya encriptografía asimétrica“, de manera que el <servidor> tiene a disposición unaclaveformada por unaparte pública” (que se le muestra alclienteen forma de <certificado>) y unaparte privada-, que (de forma ideal) sólo conoce el <servidor>. Cualquier tipo de dato que haya sido <cifrado> con laclave públicadeberádescifrarsecon la <clave privada>.. y viceversa.

No obstante, lo que resulta que ya menos gente sabe, es que, los <algoritmos asimétricos> son, para dar un grado de protección parecido, sustancialmente más lentos que losalgoritmos simétricos“. Por esto, elclientey el <servidor> hacen uso (tan sólo) de la #criptografía asimétrica# paraidentificarse entre ellos e intercambiar la suficiente #información# como parageneraruna serie declaves simétricas-, que serán utilizadas (a posteriori) durante la comunicación.

2- TDA-2

A este proceso paradeterminarlasclaves simétricas e intercambiarlas de una manera segura se le conoce como <Handshake>, y dispone de la mismaestructurapara las versiones #SSLv3# y #TLS# (delprotocolo-). Se muestra únicamente con sus rasgos esenciales, es decir; de maneraexplicativa o esquemática– (en su caso más simple, en que elclienteno seautenticaa través del <certificado>, y para el intercambio declaves” #RSA#). Veamos la siguientecaptura“:

3- TDA-2

 El calculo para lasclaves simétricasse lleva a cabo a partir de <tres valores> que se intercambian durante el proceso:

– – > Un <número> “aleatorioenviado por elclienteen el mensaje <ClientHello>.

<- – Unnúmero” <aleatorio> enviado por elservidoren el mensajeServerHello“.

– – > Un <tercer código> de48 bytesconocido como #premastersecret#, generado de forma <aleatoria> por elcliente y enviado alservidoren el mensaje <ClientKeyExchange>, cifrado con laclave públicadelservidor“.

Si un <atacante> consiguiera hacerse con estostres valores-, sería capaz deobtenerlas <claves de cifrado> de la comunicación ydescifrarabsolutamente todos los datos intercambiados después entre ambos. Imaginando que dichoatacante sea capaz de <capturar el tráfico> entrecliente y servidory si tenemos en cuenta que los paquetes < ClientHello y ServerHello> son enviados sincifrar“, toda la seguridad deriva para con el #premastersecret#, que es enviado en el paquete <ClientKeyExchange>. Esto respecto a lanegociacióndeSSLv3 y TLS-.

·|¿Cómo funciona la <negociación> #SSLv2#? 

Principalmente es muysimilar-, aunque conlleva algunasdiferencias” #importantes#:

4- TDA-2

Al echar un vistazo se puede ver que faltanvarios paquetesen la negociación #SSLv2# (en verdad se manda #información# similar perocondensadaen menos mensajes). Respecto a las <claves simétricas>, en cuanto a #SSLv2#, su cálculo necesita de los siguientes datos:

<- – Unvalordenominadochallengeenviado por el <cliente> enClientHello“.

– – > El <identificador> de laconexión-, enviado por elservidoren <ServerHello>.

<- – Unvalorllamado #masterkey#, que esgeneradode <forma aleatoria> por elclientey se envía en #ClientMasterKey#. Se mandacifrado– “total o parcialmente” (veremos esto más adelante en el proceso) con la <clave pública> delservidor“.

5- TDA-2

Otra vez la situación es semejante. Usando estos tres valoresse calculan las <claves simétricas> con las que se van aencriptarel resto de los mensajes. Dos de estostres valores se mandan en claro y eltercero se envía de forma <cifrada> con laclave públicadelservidor-.

Llegados a este punto se empieza aformar la basede un <ataque> #DROWN#. Pero esto lo veremos en el <próximo artículo> (ya sabéis, para no saturar demasiado).

Salu2

funny-computer-animated-gif-11

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s