Cómo funcionan HTTPS y TLS: Guía práctica

Security2026-10-28TryQuickToolBox

Escribes https:// y ves un candado, pero ¿qué ocurre realmente entre tu navegador y el servidor? Muchos desarrolladores tratan HTTPS como una caja negra, hasta que algo falla en producción. Esta guía recorre el handshake TLS, la validación de certificados y el cifrado que protege tus datos, con pasos prácticos para depurar problemas comunes.

Por qué existe HTTPS: las tres garantías

HTTPS es HTTP sobre TLS (Transport Layer Security). Proporciona tres propiedades fundamentales:

Sin TLS, cualquiera en la ruta de red (operador de Wi‑Fi, ISP, router malicioso) puede leer o alterar el tráfico. TLS lo resuelve combinando criptografía asimétrica y simétrica.

El handshake TLS explicado de forma sencilla

Antes de enviar cualquier solicitud HTTP, el cliente y el servidor realizan un handshake para acordar claves y verificar identidades. TLS 1.3 moderno lo simplifica a un solo viaje de ida y vuelta, pero los conceptos son los mismos.

  1. Client Hello – El navegador envía las versiones de TLS y suites de cifrado compatibles, y un valor aleatorio.
  2. Server Hello – El servidor elige una suite de cifrado, envía su propio valor aleatorio y presenta su cadena de certificados.
  3. Validación del certificado – El navegador comprueba la firma, la caducidad y el nombre de dominio del certificado contra las CA raíz de confianza.
  4. Intercambio de claves – Mediante Diffie‑Hellman efímero (o similar), ambas partes derivan un secreto compartido sin transmitirlo.
  5. Finished – Ambas partes envían un MAC sobre la transcripción del handshake para confirmar la integridad.

Tras el handshake, todos los datos HTTP se cifran con claves simétricas (p. ej., AES‑GCM o ChaCha20‑Poly1305), mucho más rápidas que las operaciones asimétricas.

Simétrico vs asimétrico: ¿por qué ambos?

La criptografía asimétrica (RSA, ECDSA) se usa solo durante el handshake para autenticación e intercambio de claves. Es computacionalmente costosa. El cifrado simétrico maneja los datos masivos porque es eficiente. TLS los combina: asimétrico para establecer confianza, simétrico para proteger la sesión.

OperaciónTipoPropósito
Firma de certificadosAsimétricoDemostrar la identidad del servidor
Intercambio de clavesAsimétrico / ECDHEDerivar un secreto compartido
Cifrado de datos masivosSimétricoConfidencialidad e integridad rápidas

Validación de certificados: la cadena de confianza

Los navegadores confían en un conjunto de CA raíz preinstaladas en el sistema operativo o el navegador. Un certificado de servidor está firmado por una CA intermedia, que a su vez está firmada por una CA raíz. El navegador construye una cadena y verifica cada firma. Si falta algún eslabón o no es válido, aparece una advertencia.

Fallos de validación comunes:

Usa openssl s_client -connect example.com:443 -showcerts para inspeccionar la cadena que presenta un servidor.

Depuración práctica: inspeccionar una conexión TLS

Cuando HTTPS falla, estos comandos ayudan:

# Check certificate details and chain
openssl s_client -connect example.com:443 -servername example.com -showcerts

# Test TLS versions and ciphers
nmap --script ssl-enum-ciphers -p 443 example.com

# From the browser: open DevTools → Security tab

Busca errores como UNABLE_TO_VERIFY_LEAF_SIGNATURE (intermedio faltante) o ERR_CERT_COMMON_NAME_INVALID (discrepancia de nombre de host).

Errores comunes y buenas prácticas

HTTPS no es opcional. Los motores de búsqueda posicionan mejor los sitios seguros, y los navegadores marcan HTTP como «No seguro».

FAQ

¿Cuál es la diferencia entre TLS y SSL?

SSL es el predecesor de TLS. Los certificados «SSL» modernos en realidad usan protocolos TLS. TLS 1.2 y 1.3 son las versiones seguras; las versiones SSL están obsoletas y no deben usarse.

¿HTTPS ralentiza mi sitio?

Con TLS 1.3 y la reanudación de sesión, la sobrecarga es mínima, a menudo unos pocos milisegundos. Los beneficios de seguridad superan con creces el coste. Usa HTTP/2 o HTTP/3 para reducir aún más la latencia.

¿Cómo soluciono los errores de «cadena de certificados incompleta»?

Configura tu servidor para enviar la cadena completa, incluidos los certificados intermedios. La mayoría de los proveedores de CA suministran un archivo bundle; apunta tu servidor web (p. ej., Nginx ssl_certificate) al archivo concatenado con el certificado y los intermedios.

¿Necesitas analizar los registros del servidor en busca de errores TLS o problemas de rendimiento? Prueba nuestro Analizador de registros de Nginx para analizar y visualizar rápidamente los registros de acceso.