X.509: Qué es y cómo funcionan los certificados digitales y la PKI
Descubre X.509: cómo funcionan los certificados digitales, la PKI, revocación y validación para asegurar web, correo y comunicaciones críticas.
En criptografía, X.509 es una PKI (infraestructura de clave pública) común utilizada para gestionar los certificados digitales y el cifrado de clave pública y una parte clave del protocolo de seguridad de la capa de transporte utilizado para asegurar la comunicación web y el correo electrónico. X.509 especifica la forma en que se formatean los certificados de clave pública, las listas de revocación de certificados, los certificados de atributos y los algoritmos de validación de la ruta de certificación.
¿Qué es un certificado X.509?
Un certificado X.509 es un documento digital que vincula una clave pública con la identidad de su propietario (persona, organización, servidor). Está firmado por una autoridad certificadora (CA) que afirma, mediante su firma, que la relación clave–identidad es válida.
- Campos típicos: versión, número de serie, algoritmo de firma, emisor (issuer), periodo de validez (notBefore / notAfter), sujeto (subject), clave pública del sujeto, extensiones y firma del emisor.
- Extensiones comunes: keyUsage, extendedKeyUsage, subjectAltName (DNS, direcciones IP, correos), basicConstraints (indica si un certificado puede actuar como CA), CRL Distribution Points, Authority Information Access (OCSP).
- Formatos: DER (binario), PEM (Base64 con encabezados -----BEGIN CERTIFICATE-----), y PKCS#12 / .pfx (contiene también clave privada y certificados en un solo archivo).
Cómo funciona la PKI y la cadena de confianza
La PKI se basa en una cadena de confianza (o ruta de certificación) desde un trust anchor (generalmente un certificado raíz de una CA que los sistemas confían de forma implícita) hasta el certificado final del servicio o usuario:
- Certificado raíz: firma sus propios certificados (self-signed) y se instala como raíz de confianza en navegadores o sistemas operativos.
- Intermedios: CAs intermedias emiten certificados para servicios finales; permiten limitar exposición del certificado raíz y aplicar políticas.
- Certificado final: asignado al servidor/usuario; el cliente valida la firma, las fechas, las extensiones requeridas y comprueba la revocación para aceptar la conexión.
Emisión y solicitudes
Para obtener un certificado, el solicitante genera un par de claves (privada y pública) y crea una CSR (Certificate Signing Request) que contiene la clave pública y la identidad solicitada. La CA verifica la identidad según su política y, si todo es correcto, firma y emite el certificado.
Revocación y comprobación del estado
Cuando una clave se compromete, la identidad cambia o un certificado ya no debe ser considerado válido, debe revocarse. Los mecanismos principales son:
- CRL (Certificate Revocation List): lista periódica firmada por la CA que contiene los números de serie revocados.
- OCSP (Online Certificate Status Protocol): consulta en tiempo real a un servidor OCSP que responde sobre el estado del certificado.
- OCSP stapling: el servidor TLS adjunta (staples) una respuesta OCSP fresc de la CA al handshake para evitar que el cliente haga la consulta directa y mejorar privacidad/latencia.
Usos prácticos de X.509
- TLS/HTTPS: autenticación del servidor (y a veces del cliente) en conexiones web seguras.
- S/MIME: cifrado y firma de correos electrónicos.
- Code signing: firmas de software para garantizar integridad y procedencia.
- VPN, autenticación de clientes, y dispositivos IoT: identificación mutua basada en certificados.
Algoritmos y seguridad
X.509 no impone una sola técnica de cifrado; admite distintos algoritmos para firma y para claves públicas. Prácticas actuales recomendadas:
- Evitar SHA-1 para firmas (vulnerable); usar SHA-256 o superiores.
- Prefiera claves RSA de 2048 bits o mayores, o alternativas de curva elíptica (ECDSA) con curvas seguras (p. ej. secp256r1 / P-256).
- Usar ciclos de vida cortos de certificados y rotación frecuente de claves.
Limitaciones y riesgos
- Confianza centralizada: si una CA confiable es comprometida o emite certificados incorrectos, pueden generarse certificados válidos para dominios ajenos (posibles ataques MitM).
- Revocación imperfecta: CRL y OCSP no siempre protegen inmediatamente contra certificados comprometidos (latencias, clientes que no comprueban estado, fallas de red).
- Errores de configuración: certificados con SAN incorrectos, fechas mal configuradas o uso de algoritmos obsoletos pueden invalidar la seguridad.
- Visibilidad: mecanismos como Certificate Transparency (CT) se han creado para detectar emisión errónea publicando certificados en logs auditables.
Buenas prácticas
- Generar y proteger la clave privada (HSM o almacenamiento seguro) y minimizar su exposición.
- Usar certificados de corta duración y automatizar renovación (por ejemplo con ACME/Let’s Encrypt).
- Configurar OCSP stapling, habilitar TLS modernos y deshabilitar algoritmos obsoletos (SSLv3, RC4, SHA-1).
- Monitorear CT logs y crear alertas ante emisión inesperada de certificados para tus dominios.
- Aplicar políticas de CAA (Certification Authority Authorization) en DNS para limitar qué CAs pueden emitir certificados para tu dominio.
Conclusión
X.509 y la PKI son la columna vertebral de gran parte de la seguridad en Internet. Comprender cómo se estructura un certificado, cómo funciona la cadena de confianza, los métodos de revocación y las mejores prácticas operativas ayuda a crear sistemas más seguros y resistentes a ataques relacionados con certificados digitales.
Buscar dentro de la enciclopedia