Certificados de clave pública X.509

La criptografía de clave pública se basa en un par de claves pública y privada para cifrar y descifrar el contenido. Las claves están relacionadas matemáticamente y el contenido cifrado mediante una de las claves solo se puede descifrar mediante el otro. La clave privada se mantiene secreta. La clave pública se inserta normalmente en un certificado binario y el certificado se publica en una base de datos a la que pueden acceder todos los usuarios autorizados.

El estándar de infraestructura de clave pública (PKI) X.509 identifica los requisitos para certificados de clave pública sólidos. Un certificado es una estructura de datos firmada que enlaza una clave pública a una persona, equipo u organización. Las entidades de certificación (CA) emiten certificados. Todos los usuarios que forman parte de las comunicaciones seguras que usan una clave pública dependen de la ENTIDAD de certificación para comprobar adecuadamente las identidades de las personas, los sistemas o las entidades a las que emite certificados. El nivel de comprobación normalmente depende del nivel de seguridad necesario para la transacción. Si la ENTIDAD de certificación puede comprobar correctamente la identidad del solicitante, firma (cifra), codifica y emite el certificado.

Un certificado es una estructura de datos firmada que enlaza una clave pública a una entidad. La sintaxis abstracta Notation One (ASN.1) para el certificado X.509 de la versión 3 se muestra en el ejemplo siguiente.

-- X.509 signed certificate 

SignedContent ::= SEQUENCE 
{
  certificate         CertificateToBeSigned,
  algorithm           Object Identifier,
  signature           BITSTRING
}
 
-- X.509 certificate to be signed

CertificateToBeSigned ::= SEQUENCE 
{
  version                 [0] CertificateVersion DEFAULT v1,
  serialNumber            CertificateSerialNumber,
  signature               AlgorithmIdentifier,
  issuer                  Name
  validity                Validity,
  subject                 Name
  subjectPublicKeyInfo    SubjectPublicKeyInfo,
  issuerUniqueIdentifier  [1] IMPLICIT UniqueIdentifier OPTIONAL,
  subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
  extensions              [3] Extensions OPTIONAL
}

Desde su creación en 1998, han evolucionado tres versiones del estándar de certificado de clave pública X.509. Como se muestra en la ilustración siguiente, cada versión sucesiva de la estructura de datos ha conservado los campos que existían en las versiones anteriores y ha agregado más.

Certificados x.509 versiones 1, 2 y 3

En los temas siguientes se describen los campos disponibles con más detalle:

Infraestructura de clave pública