TLS/SSL
Lectura de aproximadamente 4 minutos
Última actualización: 2026-03-08
Qué es TLS/SSL
TLS (Transport Layer Security) es un protocolo que cifra las comunicaciones en internet. SSL (Secure Sockets Layer) es su predecesor, actualmente obsoleto por sus vulnerabilidades, pero por costumbre se sigue llamando "SSL" o "SSL/TLS".
El icono de candado y HTTPS que aparecen en la barra de direcciones del navegador indican que se está realizando una comunicación cifrada mediante TLS. TLS es la tecnología fundamental que sustenta la seguridad de todas las comunicaciones de internet, incluyendo banca en línea, sitios de comercio electrónico, correo electrónico y chat.
Funcionamiento de TLS - El handshake
La comunicación TLS comienza con un procedimiento llamado "handshake".
- Client Hello: El cliente envía al servidor la lista de versiones TLS y conjuntos de cifrado compatibles
- Server Hello: El servidor selecciona el conjunto de cifrado a utilizar y envía el certificado digital
- Intercambio de claves: Se comparte de forma segura una clave común utilizando criptografía de clave pública
- Inicio de la comunicación cifrada: Se cifra la comunicación posterior con la clave común compartida
En TLS 1.3, el handshake se redujo a 1-RTT (1 viaje de ida y vuelta), una mejora significativa en velocidad respecto a los 2-RTT de TLS 1.2.
Qué cambió con TLS 1.3
TLS 1.3 (RFC 8446, establecido en 2018) no fue una simple actualización menor, sino una revisión fundamental del diseño del protocolo.
Tipos de certificados y cómo elegir
- DV (Domain Validation): Solo verifica la propiedad del dominio. Se puede obtener gratuitamente con Let's Encrypt. Adecuado para sitios personales y blogs. La emisión se completa en minutos.
- OV (Organization Validation): También verifica la existencia de la organización. Común en sitios web corporativos. La emisión tarda varios días y requiere verificación de registro y confirmación telefónica.
- EV (Extended Validation): Se emite tras la auditoría más estricta. Anteriormente, el nombre de la organización se mostraba en verde en la barra de direcciones, pero los principales navegadores actuales han eliminado esta visualización.
No hay diferencia en la fortaleza del cifrado según el tipo de certificado. La diferencia está en el nivel de verificación de "quién opera ese dominio". Para sitios personales y servicios de pequeña y mediana escala, un certificado DV es suficiente, y el efecto que justifique el coste de un certificado EV (de decenas de miles a cientos de miles de yenes anuales) ha disminuido.
Let's Encrypt y gestión automatizada de certificados
Let's Encrypt es una autoridad de certificación gratuita que inició su servicio oficial en 2016, logrando la emisión y renovación automatizada de certificados mediante el protocolo ACME (Automatic Certificate Management Environment). Actualmente, aproximadamente el 30% de los certificados TLS en la web son emitidos por Let's Encrypt.
En el protocolo ACME, la propiedad del dominio se verifica automáticamente mediante el desafío HTTP-01 (colocar un archivo de token en una ruta especificada) o el desafío DNS-01 (establecer un token en un registro DNS TXT). Con herramientas cliente como Certbot o acme.sh, se puede automatizar completamente desde la obtención del certificado hasta la configuración en el servidor web y la renovación automática cada 90 días.
En entornos AWS, ACM (AWS Certificate Manager) proporciona una gestión automatizada similar, y los certificados configurados en CloudFront o ALB se renuevan automáticamente.
Métodos de verificación de la configuración TLS
La seguridad de la configuración TLS del servidor se puede verificar con las siguientes herramientas.
- SSL Labs (ssllabs.com): Prueba gratuita en línea proporcionada por Qualys. Evalúa con calificaciones de A+ a F, verificando exhaustivamente los protocolos compatibles, conjuntos de cifrado, cadena de certificados y vulnerabilidades conocidas (BEAST, POODLE, Heartbleed, etc.). Ideal para verificaciones periódicas de servidores de producción.
- testssl.sh: Herramienta de código abierto que funciona en línea de comandos. Útil para probar servidores internos o entornos de staging que no son accesibles desde el exterior. Se ejecuta con
./testssl.sh example.com.
Los errores de configuración comunes incluyen dejar habilitados TLS 1.0/1.1, mantener conjuntos de cifrado débiles (RC4, 3DES), falta de certificados intermedios en la cadena de certificados y no configurar el encabezado HSTS. Si SSL Labs da una calificación de B o inferior, se debe revisar la configuración urgentemente.
Conceptos erróneos comunes
- SSL y TLS son tecnologías diferentes
- TLS es el protocolo sucesor de SSL. Después de SSL 3.0 se estableció TLS 1.0, y actualmente se utilizan TLS 1.2/1.3. El término "certificado SSL" es una denominación por costumbre; en realidad son certificados TLS.
- Si es HTTPS, es absolutamente seguro
- HTTPS garantiza el cifrado de la vía de comunicación, pero si el sitio de destino es seguro o no es otra cuestión. Los sitios de phishing también utilizan HTTPS, por lo que no se debe confiar solo por el icono de candado.
Comparación entre TLS 1.2 y TLS 1.3
TLS 1.2
Establecido en 2008. Handshake de 2-RTT. Soporta numerosos conjuntos de cifrado (algunos con baja seguridad). El secreto perfecto hacia adelante es opcional.
TLS 1.3
Establecido en 2018. Handshake de 1-RTT. Limitado solo a conjuntos de cifrado seguros. El secreto perfecto hacia adelante es obligatorio. Soporta reconexión 0-RTT.