Curious TechieDev Toolbox
Todas las Guías/Criptografía9 min read

¿Qué es SSL/TLS y cómo funcionan los certificados HTTPS?

Guía técnica sobre TLS 1.3, intercambios asimétricos de claves, cadenas de certificados X.509 y registros de Transparencia de Certificados.

Puntos Clave
  • TLS (Transport Layer Security) es el sucesor criptográfico moderno de SSL que protege el tráfico web en HTTPS.
  • Garantiza tres propiedades esenciales: Privacidad (cifrado simétrico), Integridad (MAC) y Autenticidad (certificados X.509).
  • TLS 1.3 (RFC 8446) reduce la latencia del handshake a un solo viaje de ida y vuelta (1-RTT) y descarta algoritmos inseguros.
  • La infraestructura PKI se basa en cadenas de confianza ancladas en Autoridades de Certificación (CA) raíz preinstaladas.
  • La Transparencia de Certificados (CT, RFC 6962) exige registrar todos los certificados en árboles de Merkle públicos.

1. Diferencias entre SSL y TLS

Aunque el término SSL se sigue empleando popularmente, fue revocado formalmente hace décadas tras sufrir fallas estructurales.

El cifrado moderno de la web recae en TLS (Transport Layer Security 1.3, RFC 8446), blindando paquetes TCP y encapsulando todas las comunicaciones HTTP.

2. El Handshake TLS 1.3 (1-RTT)

TLS 1.3 reduce el acuerdo de claves a un único viaje de ida y vuelta (1-RTT) mediante ECDHE:

1. Client Hello: El cliente anuncia suites criptográficas y parámetros ECDHE.
2. Server Hello: El servidor escoge el cifrado y devuelve sus parámetros, Certificado X.509 y firma.
3. Clave Secreta Derivada: Ambos extremos calculan la clave de sesión simétrica.
4. Tráfico Cifrado: Comienza el flujo protegido de solicitudes y respuestas HTTP.

3. Certificados X.509 y Cadena de CAs

La legitimidad del sitio se verifica mediante una cadena jerárquica de firmas digitales:

  • CA Raíz: Certificado autofirmado presente en los almacenes de confianza de navegadores y SO.
  • CA Intermedia: Entidad delegada para emisión habitual preservando la clave privada de la raíz.
  • Certificado Hoja: Documento digital que asocia el nombre de dominio a la clave pública del servidor.

4. Registros Certificate Transparency (CT)

Conforme a la RFC 6962, cada certificado público emitido debe registrarse en árboles Merkle auditables para detectar emisiones no autorizadas.

Los navegadores deniegan la conexión si el certificado no incluye marcas de tiempo SCT verificables.

5. Lista de Verificación para Hardening TLS

1. Forzar únicamente TLS 1.3 / 1.2: Deshabilita protocolos antiguos (TLS 1.0, 1.1) y suites inseguras.
2. Desplegar HSTS con Preload: Incluye Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.
3. Renovación automática con ACME: Emplea agentes automatizados (Let’s Encrypt) para sustituir certificados cada 60 días.