¿Qué es un certificado X.509 y cómo funciona?
Un certificado X.509 es un certificado digital basado en la norma X.509 de la Unión Internacional de Telecomunicaciones (UIT), ampliamente aceptada, que define el formato de los certificados de infraestructura de clave pública (PKI). Se utilizan para gestionar la identidad y la seguridad en las comunicaciones por Internet y las redes informáticas. Son discretos y omnipresentes, y nos los encontramos todos los días al utilizar sitios web, aplicaciones móviles, documentos en línea y dispositivos conectados.
Tabla de Contenidos
Uno de los puntos fuertes estructurales del certificado X.509 es que su arquitectura utiliza un par de claves formado por una clave pública y una clave privada relacionadas. Aplicado a la criptografía, el par de claves pública y privada se utiliza para cifrar y descifrar un mensaje, garantizando tanto la identidad del remitente como la seguridad del propio mensaje. El caso de uso más común de PKI basada en X.509 es Transport Layer Security (TLS)/Secure Socket Layer (SSL), que es la base del protocolo HTTPS, que permite una navegación web segura. Pero el protocolo X.509 también se aplica a la firma de código para la seguridad de aplicaciones, firmas digitales y otros protocolos críticos de Internet.
Historia de las versiones
La primera versión de la norma X.509 se publicó en 1988. Con el objetivo de formalizar las reglas para la emisión de certificados, el Sector de Normalización de las Telecomunicaciones de la UIT (UIT-T) desarrolló un sistema jerárquico para nombres distinguidos que seguía las reglas del servicio de directorio electrónico para X.500 y se inspiraba en los sistemas utilizados para asignar números de teléfono a nivel mundial, pero aplicados a los requisitos organizativos más flexibles de Internet.
En 1996, la versión 3 de la norma supuso una importante actualización con la adición de múltiples extensiones que se siguen utilizando hoy en día para soportar la expansión y las nuevas aplicaciones del uso de Internet.
Ahora la versión 9 es la versión actual del estándar, habiendo sido definida en octubre de 2019.
Además, el grupo de trabajo de infraestructura de clave pública del Grupo de Trabajo de Ingeniería de Internet (IETF), conocido como PKIX, adaptó el estándar de certificado X.509 v3 en el desarrollo de su propio estándar de certificado de infraestructura de clave pública X .509 de Internet y perfil de lista de revocación de certificados (CRL) (RFC 5280).
Ventajas de los certificados X.509
Dado que los certificados X.509 facilitan la mensajería y la navegación web seguras, su uso tiene importantes ventajas para las organizaciones.
Establecer confianza
Los certificados digitales, también conocidos como certificados de clave pública, permiten a individuos, organizaciones e incluso dispositivos establecer confianza en el mundo digital. Como base de todas las identidades digitales, los certificados X.509 están en todas partes y son esenciales para todos los procesos conectados, desde los sitios web a las aplicaciones, pasando por los dispositivos finales y los documentos en línea. Por ejemplo, sin ellos, no podríamos confiar en que www.amazon.com es realmente el sitio web de Amazon.
Este nivel de confianza se establece tanto por cómo funcionan los certificados X.509 como por cómo se emiten. La arquitectura de uso de claves permite que los certificados verifiquen que:
- Una clave pública pertenece al nombre de host/dominio, organización o individuo contenido en el certificado.
- Ha sido firmado por una autoridad emisora de certificados (CA) de confianza pública, como Sectigo, o autofirmado.
Cuando un certificado está firmado por una CA de confianza, el usuario del certificado puede estar seguro de que el propietario del certificado o el nombre de host/dominio han sido validados, mientras que los certificados autofirmados pueden ser de menor confianza, ya que el propietario no pasa por ninguna validación adicional antes de su emisión.
Escalabilidad
Otra ventaja de este enfoque de la identidad basado en certificados es la escalabilidad. La arquitectura PKI es tan escalable que puede proteger miles de millones de mensajes que las organizaciones intercambian diariamente a través de sus propias redes y de Internet. Esto se debe a que las claves públicas pueden distribuirse amplia y abiertamente sin que agentes malintencionados puedan descubrir la clave privada necesaria para descifrar el mensaje.
¿Cómo funcionan los certificados X.509?
La norma X.509 se basa en un lenguaje de descripción de interfaces conocido como Notación de Sintaxis Abstracta Uno (ASN.1), que define estructuras de datos que pueden serializarse y deserializarse de forma multiplataforma. Aprovechando ASN, el formato de certificado X.509 utiliza un par de claves pública y privada relacionadas para cifrar y descifrar un mensaje.
La base de la infraestructura de clave pública
La clave pública consiste en una cadena de números aleatorios y puede utilizarse para cifrar un mensaje. Sólo el destinatario previsto puede descifrar y leer este mensaje cifrado y sólo puede ser descifrado y leído utilizando la clave privada asociada, que también está formada por una larga cadena de números aleatorios. Esta clave privada es secreta y sólo la conoce el destinatario. Como la clave pública se publica para que todo el mundo la vea, las claves públicas se crean utilizando un complejo algoritmo criptográfico para emparejarlas con una clave privada asociada generando combinaciones numéricas aleatorias de longitudes variables para que no puedan explotarse mediante un ataque de fuerza bruta. Los algoritmos más utilizados para generar claves públicas son:
- Rivest-Shamir-Adleman (RSA)
- Criptografía de curva elíptica (ECC)
- Algoritmo de firma digital (DSA)
El tamaño de la clave o la longitud en bits de las claves públicas determina la fuerza de la protección. Por ejemplo, las claves RSA de 2048 bits suelen emplearse en certificados SSL, firmas digitales y otros certificados digitales. Esta longitud de clave ofrece suficiente seguridad criptográfica para evitar que los hackers descifren el algoritmo. Organizaciones de normalización como el CA/Browser Forum definen los requisitos básicos para los tamaños de clave admitidos.
Campos de emisión
Los campos del certificado X.509 contienen información sobre la identidad a la que se emite el certificado, así como la identidad de la CA emisora. Los campos estándar incluyen:
- Versión - la versión X.509 que se aplica al certificado
- Número de serie: el identificador de número de serie único proporcionado por la CA que distingue el certificado de otros.
- Información del algoritmo: el algoritmo criptográfico utilizado por el emisor para firmar el certificado.
- Nombre distinguido del emisor - el nombre de la CA que emite el certificado
- Periodo de validez del certificado: fecha y hora de inicio/finalización de su validez y fiabilidad.
- Nombre distinguido del sujeto: nombre de la identidad a la que se emite el certificado.
- Información de la clave pública del sujeto: la clave pública asociada a la identidad.
Extensiones comunes de los certificados digitales
Además de sus campos de información estándar, la versión 3 de X.509 definió múltiples extensiones destinadas a dar soporte a formas ampliadas de uso de Internet por parte de las aplicaciones cliente. Dos de las extensiones de certificados X.509 más comunes en la actualidad son Subject Alternative Name (Nombre alternativo del sujeto) y Key Usage (Uso de claves).
- La extensión Subject Alternative Name permite asociar otras identidades a la clave pública de un certificado. Esto puede incluir otros dominios, nombres DNS, direcciones de correo electrónico y direcciones IP. Basándose en esta extensión, los certificados multidominio ofrecidos por las CA suelen denominarse certificados SAN.
- El uso de claves limita el uso de las claves a fines particulares, como «sólo firma».
Los certificados digitales aplican cadenas de confianza jerárquicas
Para establecer aún más la confianza de una identidad, a menudo se combinan varios certificados digitales para construir una cadena jerárquica de confianza que proporciona una serie de capas de verificación. Como ya se ha mencionado, cada uno de ellos debe estar firmado por una CA emisora como parte del proceso de verificación X.509. La CA se nombra y almacena en la raíz del certificado. En la cadena de confianza pueden incluirse certificados intermedios adicionales que deben validarse.
Por ejemplo, cuando un cliente de navegador web lee el certificado, debe ser capaz de seguir la ruta jerárquica de certificación, incluidos los certificados intermedios necesarios para la validación, que están vinculados recursivamente a la CA raíz que figura en el almacén de confianza del cliente, lo que da lugar a una cadena de confianza completa.
Listas de revocación de certificados (CRL)
El estándar X.509 también define el uso de una lista de revocación de certificados, que identifica todos los certificados digitales que han sido revocados por la CA emisora antes de la fecha de expiración programada.
Estos certificados revocados ya no son de confianza.
Las CRL ofrecen una forma sencilla de distribuir información sobre estos certificados no válidos. Sin embargo, su uso está cada vez más en desuso por parte de los navegadores y clientes web más populares en favor del Protocolo de Estado de Certificados en Línea (OCSP) y el grapado OCSP, que ofrecen funciones de revocación completas.
Codificación de certificados PKI
Un elemento notable que no se define en la norma X.509 es cómo debe codificarse el contenido del certificado para almacenarlo en archivos.
Existen dos esquemas de codificación utilizados habitualmente para almacenar certificados digitales en archivos:
- Distinguished Encoding Rules (DER) es el más común, ya que el esquema se refiere a la mayoría de los objetos de datos. Los certificados codificados mediante DER son archivos binarios y no pueden ser leídos por editores de texto, pero pueden ser procesados por navegadores web y muchas aplicaciones cliente.
- Privacy Enhanced Mail (PEM) es un esquema de codificación de correo electrónico cifrado que puede utilizarse para convertir certificados codificados mediante DER en archivos de texto.
Aplicaciones habituales de la infraestructura de clave pública X.509
Muchos protocolos de Internet se basan en X.509, y hay muchas aplicaciones de la tecnología PKI que se utilizan a diario, como la seguridad de los servidores web, las firmas digitales y la firma de documentos, y las identidades digitales.
Seguridad de servidores web con certificados SSL/TLS
La PKI es la base de los protocolos de capa de sockets seguros (SSL) y de seguridad de la capa de transporte (TLS) que constituyen la base de las conexiones seguras HTTPS de los navegadores. Sin certificados SSL o TLS para establecer conexiones seguras, los ciberdelincuentes podrían explotar Internet u otras redes IP utilizando diversos vectores de ataque, como los ataques man-in-the-middle, para interceptar mensajes y acceder a su contenido.
Firmas digitales y firma de documentos
Además de utilizarse para proteger mensajes, los certificados basados en PKI pueden emplearse para firmas digitales y firma de documentos.
Las firmas digitales son un tipo específico de firma electrónica que aprovecha la PKI para autenticar la identidad del firmante y la integridad de la firma y el documento. Las firmas digitales no pueden alterarse ni duplicarse de ninguna manera, ya que la firma se crea generando un hash, que se cifra utilizando la clave privada del remitente. Esta verificación criptográfica vincula matemáticamente la firma al mensaje original para garantizar que el remitente está autentificado y que el propio mensaje no ha sido alterado.
Firma de código
La firma de código permite a los desarrolladores de aplicaciones añadir una capa de seguridad mediante la firma digital de aplicaciones, controladores y programas de software para que los usuarios finales puedan verificar que un tercero no ha alterado o puesto en peligro el código que reciben. Para verificar que el código es seguro y fiable, estos certificados digitales incluyen la firma del desarrollador del software, el nombre de la empresa y un sello de fecha y hora.
Certificados de correo electrónico
Los certificados S/MIME validan a los remitentes de correo electrónico y cifran su contenido para protegerlo de los ataques de ingeniería social y phishing selectivo, cada vez más sofisticados. Al cifrar/descifrar los mensajes de correo electrónico y los archivos adjuntos y validar la identidad, los certificados de correo electrónico S/MIME garantizan a los usuarios que los mensajes son auténticos y no han sido modificados.
Claves SSH
Las claves SSH son una forma de certificado X.509 que proporciona una credencial de acceso seguro utilizada en el protocolo Secure Shell (SSH). Dado que el protocolo SSH se utiliza ampliamente para la comunicación en servicios en la nube, entornos de red, herramientas de transferencia de archivos y herramientas de gestión de la configuración, la mayoría de las organizaciones utilizan claves SSH para autenticar la identidad y proteger esos servicios de usos no intencionados o ataques malintencionados. Estas claves no sólo mejoran la seguridad, sino que también permiten la automatización de procesos conectados, el inicio de sesión único (SSO) y la gestión de identidades y accesos a la escala que requieren las empresas de hoy en día.
Identidades digitales
Los certificados digitales X.509 también proporcionan una autenticación de identidad digital eficaz. A medida que los datos y las aplicaciones se expanden más allá de las redes tradicionales a los dispositivos móviles, las nubes públicas, las nubes privadas y los dispositivos del Internet de las cosas, la seguridad de las identidades se vuelve más importante que nunca. Y las identidades digitales no tienen por qué limitarse a los dispositivos; también pueden utilizarse para autenticar personas, datos o aplicaciones. Los certificados de identidad digital basados en esta norma permiten a las organizaciones mejorar la seguridad sustituyendo a las contraseñas, que los atacantes son cada vez más expertos en robar.
¿Cómo se obtiene un certificado X.509?
Un componente fundamental para implantar certificados X.509 es contar con una autoridad o agente de certificación de confianza que emita certificados y publique las claves públicas asociadas a las claves privadas de las personas. Sin esta CA de confianza, sería imposible que los remitentes supieran que están utilizando la clave pública correcta asociada a la clave privada del destinatario y no la clave asociada a un actor malintencionado que pretende interceptar información sensible y utilizarla con fines nefastos.
Las CA de terceros de confianza, como Sectigo, actúan como autoridades de certificación, pero muchas empresas y proveedores de tecnología también optan por actuar como su propia CA. También pueden decidir utilizar certificados autofirmados. En cualquier caso, se debe confiar en que la autoridad de certificación compruebe y responda de la identidad de todos los remitentes cuyas claves públicas publique, se asegure de que esas claves públicas están realmente asociadas a las claves privadas de los remitentes y salvaguarde los niveles de seguridad de la información dentro de su propia organización para protegerse de ataques malintencionados.
Gestión de certificados X.509
Uno de los aspectos más críticos de los certificados x.509 es la gestión eficaz de estos certificados a escala mediante la automatización. Sin personal, procesos y tecnología de calidad, las empresas se exponen a brechas de ciberseguridad, interrupciones del servicio, daños a su marca y fallos en infraestructuras críticas.
Descubra cómo Sectigo Certificate Manager (SCM) Pro le permite gestionar fácilmente los ciclos de vida de los certificados digitales públicos y privados. También ofrecemos una solución empresarial SCM para asegurar cada identidad humana y de máquina en toda la empresa, todo desde una única plataforma.