El handshake tiene una estructura diferente, y más rápida en comparación con las versiones anteriores. En este caso las etapas que se producen son:
1. El cliente genera la clave para el intercambio
3. El servidor genera las claves para el intercambio.
El cliente calcula la clave secreta compartida (de la misma forma que el servidor en el paso anterior)
7. El servidor envía el certificado.
8. El servidor envía una verificación del certificado en la que se enlaza la clave usada en el intercambio de claves, para confirmar su integridad.
9. El servidor termina comprobando que el proceso no se ha visto alterado, de forma que realiza un hash SHA256 resultante de todos los mensajes que forman el handshake (desde el paso 2 hasta el paso 8).
En este paso se realizan una serie de operaciones de las que resultan las claves de la aplicación para el cliente y el servidor.
11. El cliente realiza las mismas operaciones que el servidor en el paso anterior (obteniendo, por supuesto, los mismos valores para las claves).
12. El cliente da por terminado el handshake, y realiza el hash SHA256 resultante de todos los mensajes que forman el handshake (desde el paso 2 hasta el paso 8).
13. El cliente manda el mensaje “ping” al servidor
14. El servidor crea las claves de sesión para cifrar la conexión.
15. El servidor manda el mensaje “pong” al cliente.
De forma esquematizada, podemos visualizar este proceso en el siguiente esquema:
Para un mayor nivel de detalle del handshake, podéis consultar el siguiente enlace: https://tls13.ulfheim.net/
Esperamos que hayáis descubierto algunas de las curiosidades con las que ha venido esta nueva versión de TLS.
Muchos maullidos!
M
No hay comentarios:
Publicar un comentario