En TLS 1.3, el cliente envía un ClientHello con el nombre del sitio (SNI), los cifrados que admite y un key share. El servidor responde con su elección, su certificado y una firma, y el cliente comprueba la cadena de certificados, el nombre y las fechas. Eso lleva un viaje de ida y vuelta; TLS 1.2 necesita dos.
El handshake es una parte propia del tiempo de respuesta: aproximadamente un viaje de ida y vuelta de latencia más el trabajo del servidor. Las conexiones reutilizadas y la reanudación de sesión se saltan casi todo, por eso un monitor que abre una conexión nueva en cada comprobación ve más tiempo de TLS que un navegador en su segunda página.
Los handshakes fallan por varias razones: un certificado caducado o incorrecto, un certificado intermedio que falta, ningún certificado para el nombre solicitado, un servidor que solo ofrece versiones antiguas (TLS 1.0 y 1.1 están obsoletos según el RFC 8996) o un puerto que responde en HTTP sin cifrar. Los navegadores los muestran como errores de seguridad; para la monitorización, son inactividad.
Fórmula
Tiempo de TLS ≈ viajes de ida y vuelta × tiempo de ida y vuelta + procesamiento del servidor
Ejemplo:
Con 30 ms hasta el servidor, un handshake TLS 1.3 tarda unos 30 ms más el trabajo del servidor, y un handshake TLS 1.2, unos 60 ms.