Hola y bienvenidos a este vÃ­deo titulado Clave transitoria y temporal de WPA
GeneraciÃ³n. AsÃ­ que, una vez mÃ¡s, antes de entrar en los detalles mecÃ¡nicos de cÃ³mo funcionan estas...
Se derivan varias claves; me gustarÃ­a empezar dÃ¡ndote la mÃ¡s alta.
Nivel de informaciÃ³n crÃ­tica.
AsÃ­ que, una vez mÃ¡s, si simplemente estÃ¡s viendo este curso porque...
Si quieres aprobar un examen sencillo, ya sabes, de tecnologÃ­a inalÃ¡mbrica, puede que no necesites
el nivel de detalle que voy a abordar aquÃ­.
Â¿CuÃ¡l es, pues, la conclusiÃ³n principal?
La conclusiÃ³n es esta.
Antes de que se produzca el intercambio EAP Overland de cuatro vÃ­as, el maestro de pares
La clave ya ha sido desarrollada.
Ahora nos centraremos exclusivamente en WPA3 SAE, asÃ­ como en WPA2 personal.
En ambos casos, la clave maestra por pares debe derivarse incluso antes de la
Se produce el primer mensaje del intercambio de claves EAP Overland.
El primer mensaje que se produce es que el punto de acceso enviarÃ¡
El primer mensaje clave de EAP Overland para el cliente.
Una vez que el cliente recibe eso, tiene todo lo que necesita para crear
su clave transitoria por pares.
A partir de la clave transitoria por pares, puede dividirla en tres.
piezas, la clave temporal, la clave de cifrado de claves y la confirmaciÃ³n de la clave
La llave. El cliente tiene todo lo que necesita justo despuÃ©s de recibir la primera.
mensaje. DespuÃ©s de que el cliente envÃ­e el mensaje EAP Overland nÃºmero dos al
punto de acceso, el punto de acceso tiene todo lo necesario para crear todo
Esas claves. Eso es todo a grandes rasgos.
Ahora vamos a analizar en detalle cÃ³mo funciona esto a un nivel mÃ¡s bajo.
para que puedas entender quÃ© estÃ¡ pasando internamente.
Bien, entonces aquÃ­ comenzamos donde, debido al intercambio SAE, tanto la estaciÃ³n
y el punto de acceso han derivado su clave maestra compartida por pares para
Esta sesiÃ³n, solo para estas dos personas.
Entonces dicen, bueno, lo siguiente que debemos hacer en la cadena de
El evento consiste en derivar nuestra clave transitoria por pares.
Lo primero que va a suceder es que ese punto de acceso se va a desconectar.
para enviar un mensaje clave EAP Overland, el primero de todos, asÃ­ que lo llamamos esto
mensaje uno o M uno.
Y en ese mensaje clave de EAP Overland, va a enviar algo llamado
y A-nots. Ahora, en la siguiente diapositiva, voy a hablar sobre quÃ© sustantivos
lo son, pero eso va a ser algo crucial que vamos a ver en
Un momento. El cliente va a enviar el mensaje nÃºmero dos de forma ascendente.
al punto de acceso, que tendrÃ¡ sus propios nudos de red llamados
Nudos en forma de S. Los nudos en forma de A en la nariz se refieren a nudos de autenticaciÃ³n.
S-nots es para nudos suplicantes, porque incluso cuando estÃ¡s haciendo algo personal,
La estaciÃ³n aÃºn se considera una solicitante y el punto de acceso aÃºn lo es.
se considera el autenticador, incluso si no estÃ¡s usando 802.1x.
Y luego se intercambian otros dos mensajes para completar nuestros cuatro
Intercambio de formas. Bien, si nunca antes habÃ­as oÃ­do hablar de este tÃ©rmino, nudos,
Â¿QuÃ© es eso? Un anuncio simplemente significa un nÃºmero usado una vez, un nÃºmero usado
una vez. Y hemos visto que se intercambian en los dos primeros EAP Overland.
mensajes clave. Y se crean de nuevo cada vez que un cliente se asocia.
o se vuelve a asociar con un punto de acceso.
Y este es un punto clave aquÃ­ porque, para obtener un nuevo conjunto de
Tenemos claves que son Ãºnicas respecto a cualquier sesiÃ³n anterior que haya tenido.
para tener un nuevo conjunto de sustantivos, asÃ­ como una nueva clave maestra de pares
Esto tambiÃ©n nos permite derivar nuevas claves por pares.
Muy bien, entonces estos nÃºmeros aleatorios, nÃºmeros usados una sola vez, se usan como sustantivos
como una de varias entradas en una funciÃ³n de derivaciÃ³n clave, una KDF.
Esa es la fÃ³rmula para obtener varias claves.
Te mostraremos cÃ³mo funciona, junto con las direcciones MAC y el emparejamiento.
llave maestra. Ahora bien, si eres como yo, te estarÃ¡s preguntando, bueno, cÃ³mo
Â¿Acaso generan estos nÃºmeros aleatorios llamados "nÃºmero de un solo uso"?
Â¿CÃ³mo llega a esa conclusiÃ³n el suplicante?
Â¿CÃ³mo lo obtiene el punto de acceso?
Bueno, los sustantivos se producen mediante un generador de nÃºmeros pseudoaleatorios criptogrÃ¡ficamente seguro.
Generador de nÃºmeros, tambiÃ©n conocido como CSPRNG, resorte C.
Y lo que ven aquÃ­ es un ejemplo de esto en un cliente basado en Linux,
Por ejemplo, en un MacBook con sistema operativo Linux, podrÃ¡s ver...
En lo mÃ¡s profundo de todo esto, en el slash dev slash you slash dev, hay
una carpeta aleatoria tuya.
Y asÃ­, "random" es en realidad un pseudoaleatorio criptogrÃ¡ficamente seguro.
Generador de nÃºmeros que un sistema basado en Linux utilizarÃ¡ para crear nÃºmeros aleatorios
nÃºmeros, por ejemplo, para este propÃ³sito crear sus nudos.
Y los puntos de acceso tambiÃ©n tendrÃ¡n sus propios muelles en C que podrÃ¡n utilizar.
para crear nÃºmeros aleatorios.
Bien, volvamos a esto.
AsÃ­ pues, el punto de acceso ha enviado ya su mensaje Epos por tierra nÃºmero uno.
que contiene nudos A aleatorios, como en este caso, 12345.
TambiÃ©n disponemos de la direcciÃ³n MAC de los puntos de acceso.
Ahora este cliente tiene toda esta informaciÃ³n.
Vale, entonces conoce la clave maestra de pares, conoce la direcciÃ³n MAC de
Ãl mismo. Obviamente, la direcciÃ³n MAC del punto de acceso, conoce el acceso
puntos, nudos, los nudos A, tambiÃ©n conoce los nudos S ahora que no los ha enviado
Los nudos S aÃºn no, pero ya estÃ¡ calculado.
Podemos verlo aquÃ­ mismo, 33456.
AsÃ­ que, con toda esa informaciÃ³n, el cliente dice que ahora puedo ponerla en
una fÃ³rmula y calcular mi clave maestra por pares.
Veamos entonces cÃ³mo sucede eso en realidad.
AquÃ­ mismo, esto es WPA2, no WPA3, pero el proceso es muy
De forma similar. Voy a mostrarte cÃ³mo lo hace WPA2.
Y luego voy a compararlo con WPA3.
Y recuerden, esta es la versiÃ³n personal.
Bueno, en realidad no, esto tambiÃ©n es asunto de la empresa, tanto a nivel personal como empresarial.
Tienes que realizar el apretÃ³n de manos de cuatro vÃ­as y la derivaciÃ³n del par.
La clave transitoria y todo lo demÃ¡s es igual, ya sea para uso empresarial o personal.
Vale, entonces el cliente recibe el mensaje EPUR de tierras nÃºmero uno, lo tiene todo.
Ese tipo de cosas. AsÃ­ que va a invocar algo llamado funciÃ³n pseudoaleatoria.
512, funciÃ³n pseudoaleatoria 512.
Â¿QuÃ© significa eso?
La idea aquÃ­ es que queremos crear una clave transitoria por pares.
Y segÃºn las especificaciones, la clave transitoria por pares tiene que
tener una longitud de 512 bits.
Por eso tenemos PRF 512.
Esta funciÃ³n va a tomar varios datos como
entrada. Y eso es lo que esto te estÃ¡ mostrando aquÃ­ mismo.
Analicemos entonces cada uno de estos puntos.
AsÃ­ que la funciÃ³n pseudoaleatoria tomarÃ¡ lo que sea que coincida con el maestro por pares.
La clave es... Eso estÃ¡ justo aquÃ­.
AsÃ­ que lo tomarÃ¡ como entrada.
Se va a utilizar esta cadena llamada expansiÃ³n de clave por pares, que en realidad es...
Ese serÃ¡ el texto que aparecerÃ¡ ahÃ­.
Y luego examinarÃ¡ la direcciÃ³n MAC del cliente, la MAC
La direcciÃ³n del punto de acceso, y te dirÃ¡ cuÃ¡l es mÃ¡s pequeÃ±o.
Lo siguiente que harÃ© serÃ¡ alinear todos estos valores de izquierda a derecha.
Por lo tanto, el mÃ­nimo de las direcciones MAC.
Y justo despuÃ©s tendrÃ¡ la direcciÃ³n MAC mÃ¡s grande de esos.
dos. Luego va a echar un vistazo al nonce a y al nonce S y
Dime cuÃ¡l de ellos es mÃ¡s pequeÃ±o.
Yo lo incluirÃ©.
Y luego pondrÃ© el mÃ¡s grande de los pederastas.
Y por Ãºltimo, insertarÃ¡ un contador.
AsÃ­ que imagina una larga cadena de bits; ahora se crea 1010110 a partir de
Todos estos valores estÃ¡n aquÃ­.
Â¿Y ahora quÃ© hacemos con eso?
Ahora conectamos eso.
AquÃ­ tenÃ©is un ejemplo, Â¿verdad?
XX Y Y ese es nuestro PMK.
AquÃ­ estÃ¡ la expansiÃ³n de claves por pares de cadenas.
AquÃ­ estÃ¡ el valor.
Esta es la direcciÃ³n MAC mÃ¡s pequeÃ±a.
AsÃ­ pues, entre la direcciÃ³n MAC del cliente y el punto de acceso, el cliente tenÃ­a
El MAC mÃ¡s pequeÃ±o.
Eso fue lo primero.
Los puntos de acceso, MAC quedÃ³ en segundo lugar porque era mÃ¡s grande.
Y luego los puntos de acceso, los nudos eran mÃ¡s pequeÃ±os que los clientes o los
suplementos, no.
AsÃ­ pues, los nudos de los puntos de acceso entraron, luego los nudos de los suplicantes los siguieron.
junto al contador. Y todo eso se introduce en una funciÃ³n H MAC Shaw.
Ahora bien, ten en cuenta que esto es WPA2.
Por lo tanto, el resultado de una funciÃ³n H MAC Shaw es crear un nÃºmero que
Tiene una longitud de 160 bits.
Bueno, esto es un poco problemÃ¡tico, Â¿no?
Porque necesitamos una clave transitoria por pares de 512 bits de longitud, y esto
No es lo suficientemente largo.
Â¿Y saben quÃ©? Vamos a tomar esa decisiÃ³n en cuenta.
Vamos a dejar todas estas entradas iguales excepto el contador.
Y vamos a incrementar ese contador de uno a dos.
Y ahora vamos a pasar todo eso de nuevo por el procesador H MAC Shaw.
y llegamos a un valor diferente.
TodavÃ­a no llega a 512.
AsÃ­ que incrementamos el contador de nuevo, volvemos a aplicar la fÃ³rmula, y listo.
Con otro valor de 160 bits, incremente el contador una cuarta vez.
Y ahora, despuÃ©s de cuatro iteraciones de esto, si sumamos todas esas, eso
nos da 640 bits de material.
AsÃ­ que simplemente eliminamos los Ãºltimos 128 bits, recortamos eso, lo que nos deja con
-da nuestra clave transitoria de pares de 512 bits.
Todo sucediÃ³ tan rÃ¡pido en el momento en que el cliente recibiÃ³ el
Mensaje uno de la LAN EPUVRA.
Bien, entonces vamos a volver a cÃ³mo lo hace WP3 en
Un momento, pero solo a modo de resumen.
Sabemos entonces que la clave maestra por pares se origina en la pre
clave compartida o en resultados WPA3 SAE.
Se deriva a travÃ©s de muchas fÃ³rmulas diferentes que utilizan mÃ©todos como la caza y el picoteo.
hash a elemento, utilizando un elemento de contraseÃ±a, etc.
O si se trata de 802.1x, el servidor de autenticaciÃ³n simplemente envÃ­a
Tienes esta gran y larguÃ­sima clave maestra de sesiÃ³n y simplemente la tomas
La primera mitad de eso y esa es tu clave maestra por pares.
En cualquier caso, eso ya estÃ¡ hecho.
Luego recibimos el primer mensaje del punto de acceso al cliente.
Y ahora el cliente tiene todo lo que necesita para crear su transitorio por pares.
clave. Luego, el mensaje nÃºmero dos va del cliente al punto de acceso.
Y veremos que, con eso, el punto de acceso tiene todo lo necesario para derivar
la misma clave transitoria por pares.
AsÃ­, con un intercambio uno a dos, ambas partes han derivado el transitorio por pares.
llaves. Ahora hablaremos de quÃ© es el mick y todo lo demÃ¡s aquÃ­ en solo
un segundo. Y luego, en el mensaje nÃºmero tres, desde el punto de acceso al
cliente, ahÃ­ es donde el punto de acceso dice, oye, cliente, por cierto, yo
TenÃ­a por aquÃ­ esta clave temporal de grupo que usaba.
para cifrar todos mis mensajes de difusiÃ³n y multidifusiÃ³n.
DÃ©jame enviÃ¡rtelo tambiÃ©n para que lo tengas.
Y por Ãºltimo, en el mensaje nÃºmero cuatro, del cliente al acceso
En ese momento, dice el cliente, estamos bien, podemos seguir adelante.
Comencemos a cifrar algunos datos reales para poder acceder a mis sitios web.
y demÃ¡s. Bien, esta diapositiva se va a ver muy parecida a...
la diapositiva anterior, pero fÃ­jese en la parte superior, dice wp-8-3.
AsÃ­ que ahora volvemos a wp-3.
Lo mismo ocurre en epos overland, mensaje nÃºmero uno.
De acuerdo, al final el cliente se entera de todo.
Ahora observe que aquÃ­ va a invocar una funciÃ³n prf-256.
Recuerda, volvamos aquÃ­ wp-2.
Y wp-2 es una funciÃ³n prf-512.
Por lo tanto, la funciÃ³n es un poco diferente con wp-3.
Puede que veas una soluciÃ³n en un segundo.
Â¿No se supone que debemos generar una clave transitoria por pares de 512 bits?
SÃ­, lo somos, pero mira, esto es en realidad mÃ¡s eficiente.
AsÃ­ que vamos a utilizar exactamente los mismos datos de entrada.
AsÃ­ que esto no es diferente de wp-2.
Los mismos datos, en el mismo orden.
AhÃ­ estÃ¡n.
Pero ahora los estamos procesando mediante un algoritmo h-mac 256, un algoritmo de hash.
Â¿Y sabes quÃ©? Cuando procesÃ³ todo esto, el resultado no es un 160.
-Algo parecido a lo que tenÃ­a wp-2.
Es un nÃºmero de 256 bits.
AsÃ­ que solo tiene que hacerlo dos veces.
AsÃ­ que incrementa el contador por segunda vez, lo ejecuta y ahora estÃ¡
Tiene todo lo que necesita.
Oye, no sÃ© por quÃ© estÃ¡ ese 4 ahÃ­.
Â¡Listo! Bien, entonces ha incrementado el contador dos veces, de 0x01 a
0x02. Eso ha creado ahora dos salidas de resumen hash, ambas de 256 bits.
largo. Todo lo que tiene que hacer es sumar esas dos cosas y Â¡listo!
Ãl ya tiene su llave transitoria por pares.
Como puedes ver, la mecÃ¡nica de esto para wp-3 es prÃ¡cticamente la misma que
para wp-2. La Ãºnica diferencia es que el algoritmo de hash produce valores mayores.
salida. Por lo tanto, no tiene que pasar por tantas iteraciones como wp-2.
Bien, ahora tenemos la clave transitoria por pares.
AsÃ­ que aquÃ­ estamos. Bien, volvemos al punto en el que el cliente tiene
Mensaje recibido nÃºmero 1.
Y da igual si estaba haciendo wp-2 o wp-3.
Al final del juego, despuÃ©s de recibir el mensaje nÃºmero 1, ha derivado
su clave transitoria por pares de 512 bits.
AsÃ­ que, antes incluso de que cree el mensaje nÃºmero 2 para enviarlo al punto de acceso,
Ãl va a hacer algo primero.
Una vez desarrollada la clave transitoria por pares de 512 bits, Ã©l va a
divÃ­delo en tres, en realidad cuatro partes.
La primera pieza, como esta en rojo, va a decir: "Me voy".
Ahora la llamarÃ© mi clave de confirmaciÃ³n.
Â¿QuÃ© hace con eso?
Â¿CuÃ¡l es el propÃ³sito de eso?
Bueno, ahora que tiene la clave de confirmaciÃ³n, puede enviar un mensaje.
nÃºmero 2 al punto de acceso.
Â¿CuÃ¡l es la diferencia entre el mensaje 2 y el mensaje 1?
Bueno, un par de cosas.
El nÃºmero 1, mensaje 1 contenÃ­a las A-nots.
El nÃºmero de puntos de acceso se usÃ³ una vez, las A-nots.
AquÃ­, en el mensaje nÃºmero 2, estÃ¡ enviando sus propias notas, las S-nots, desde
el cliente. Y Ã©l estÃ¡ tomando todo el mensaje, y luego lo estÃ¡ poniendo
al final de Ã©l un cÃ³digo de integridad del mensaje, un cÃ³digo de integridad del mensaje, que
Es bÃ¡sicamente una forma de comprobar la integridad del mensaje.
Ãl dice: mira, voy a tomar todas las partes de mi mensaje nÃºmero 2,
AplÃ­cales esta fÃ³rmula de Mick, que aÃ±adirÃ¡ la confirmaciÃ³n clave.
clave, y utilizando los bits del mensaje mÃ¡s la clave de confirmaciÃ³n.
Y recuerda, Â¿de dÃ³nde proviene esta clave de confirmaciÃ³n?
Es parte de la clave transitoria por pares.
AsÃ­ que, utilizando el mensaje y la clave de confirmaciÃ³n, voy a calcular
Agregue un cÃ³digo de integridad del mensaje y colÃ³quelo al final del mensaje.
Ahora bien, Â¿por quÃ© hace eso?
Bueno, esto es para beneficio del punto de acceso.
VerÃ¡s, una vez que el punto de acceso recibe el mensaje nÃºmero 2, ahora lo tiene todo.
la misma informaciÃ³n que el cliente tenÃ­a al principio, y el acceso
Este punto puede crear la misma clave transitoria por pares, este gran nÃºmero largo.
AquÃ­. Â¿Y sabes quÃ©?
AdemÃ¡s, tiene la ventaja de que una vez que crea la clave transitoria por pares,
Ãl tambiÃ©n va a tener exactamente la misma clave de confirmaciÃ³n.
AsÃ­ que ahora puede echar un vistazo a este mensaje nÃºmero 2 y decir, bueno,
Voy a aplicarle exactamente la misma fÃ³rmula.
Voy a usar la clave de confirmaciÃ³n que he creado.
Y si el mick que se me ocurre es exactamente el mismo que el mick del mensaje
NÃºmero 2, tengo la seguridad de que el cliente tiene exactamente el mismo PTK que
yo. AsÃ­ que sin intercambiar el PTK por cable, o mejor dicho, por
Ahora, el punto de acceso inalÃ¡mbrico puede validar que el cliente tiene la conexiÃ³n inalÃ¡mbrica.
Es el mismo PTK. Sin embargo, el cliente aÃºn no lo ha hecho, Â¿verdad?
El cliente, aunque sabe que tiene un PTK, no tiene
Sin embargo, la agradable sensaciÃ³n de que el punto de acceso obtenga el mismo nÃºmero.
AsÃ­ que lo veremos aquÃ­, en el mensaje nÃºmero 3, desde el punto de acceso,
El punto de acceso tambiÃ©n va a aplicar un mick.
Y asÃ­ es como el cliente sabrÃ¡, ah, bien.
Debes tener la misma clave de confirmaciÃ³n que yo.
Estamos bien. Lo veremos aquÃ­ dentro de un segundo.
Ahora, la segunda parte de la clave transitoria por pares se utiliza como clave.
Clave de cifrado. Â¿Para quÃ© sirve?
De acuerdo. Entonces, ahora el punto de acceso va a decir: "Oye, necesito enviar un mensaje".
nÃºmero 3 de vuelta al cliente, de vuelta al cliente.
Y en el mensaje nÃºmero 3, le voy a dar la clave temporal del grupo.
Ya sabes, la clave que voy a usar para cifrar la difusiÃ³n y la multidifusiÃ³n.
mensajes. Y obviamente necesita tener eso para poder descifrar cualquier transmisiÃ³n.
o mensajes de multidifusiÃ³n que yo envÃ­o.
Y dice: necesito enviar esa clave temporal de grupo de forma segura a
El cliente. Mmm.
Â¿CÃ³mo hago eso?
Bueno, Â¿por quÃ© no tomo la clave de cifrado y la cifro?
Para eso se utiliza la clave de cifrado.
Su Ãºnico propÃ³sito es que el punto de acceso cifre la informaciÃ³n temporal del grupo.
Introduzca la clave nÃºmero 3 en este mensaje para que el cliente pueda descifrarlo.
Y observe que el punto de acceso tambiÃ©n estÃ¡ utilizando esa clave de confirmaciÃ³n.
para calcular el valor de mick de este mensaje.
Y por Ãºltimo, tenemos el mensaje nÃºmero 4, donde el cliente bÃ¡sicamente
dice, estamos bien.
Tenemos los mismos valores.
Y asÃ­, la Ãºltima pieza de aquÃ­ en verde, esa es nuestra clave temporal.
Esa es la clave ahora que el punto de acceso y el cliente estÃ¡n funcionando.
para usar para cifrar y descifrar nuestros datos unicast, ya sabes, la gran mayorÃ­a
de los datos que envÃ­as desde y hacia el punto de acceso.
Y quizÃ¡s te estÃ©s preguntando, bueno, Â¿quÃ© es esa Ãºltima pieza pequeÃ±a que 987
Â¿ABC? Â¿Para quÃ© se va a usar esa pieza pequeÃ±a?
Esa es la clave del material de la mÃ¡quina para las llaves Mick opcionales si usted es
usando T-cap, lo cual no harÃ­as en WPA3, pero sÃ­ en WPA2.
PodrÃ­a ser Ãºtil si intentas mantener la retrocompatibilidad con dispositivos WPA antiguos.
Esa es la mecÃ¡nica mediante la cual se generan e intercambian todas esas claves.
Muchas gracias por ver este video, y espero que les haya sido Ãºtil.