¿Qué es el handshake de TLS/SSL?
A continuación se muestra el «saludo» o handshake estándar de TLS/SSL cuando se utiliza el algoritmo de intercambio de claves RSA:
- Saludo del cliente («Client Hello»): información que necesita el servidor para comunicarse con el cliente a través de SSL. Incluye el número de versión SSL, la configuración de cifrado y los datos específicos de la sesión.
- Saludo del servidor («Server Hello»): información que necesita el servidor para comunicarse con el cliente a través de SSL. Incluye el número de versión SSL, la configuración de cifrado y los datos específicos de la sesión.
- Autenticación y secreto premaestro («Pre-Master Secret»): el cliente autentica primero el certificado del servidor (por ejemplo, Nombre común / Fecha / Emisor) y luego, según el cifrado, crea el secreto premaestro para la sesión, lo cifra con la clave pública del servidor y lo envía cifrado al servidor.
- Descifrado y secreto maestro («Master Secret»): el servidor utiliza la clave privada para descifrar el secreto premaestro. Tanto el servidor como el cliente siguen pasos para generar el secreto maestro con el cifrado acordado.
- Cifrado con clave de sesión: tanto el cliente como el servidor intercambian mensajes para informar de que los futuros mensajes estarán cifrados.