Partager via


Certificats de clé publique X.509

Le chiffrement à clé publique s’appuie sur une paire de clés publiques et privées pour chiffrer et déchiffrer le contenu. Les clés sont mathématiquement liées et le contenu chiffré à l’aide de l’une des clés ne peut être déchiffré qu’à l’aide de l’autre. La clé privée est gardée secrète. La clé publique est généralement incorporée dans un certificat binaire et le certificat est publié dans une base de données accessible par tous les utilisateurs autorisés.

La norme X.509 d’infrastructure à clé publique (PKI) identifie les exigences pour les certificats de clé publique robustes. Un certificat est une structure de données signée qui lie une clé publique à une personne, un ordinateur ou un organization. Les certificats sont émis par les autorités de certification (CA). Tous ceux qui sont parties à la sécurisation des communications qui utilisent une clé publique s’appuient sur l’autorité de certification pour vérifier adéquatement les identités des personnes, des systèmes ou des entités auxquels elle émet des certificats. Le niveau de vérification dépend généralement du niveau de sécurité requis pour la transaction. Si l’autorité de certification peut vérifier correctement l’identité du demandeur, elle signe (chiffre), code et émet le certificat.

Un certificat est une structure de données signée qui lie une clé publique à une entité. La syntaxe ASN.1 ( Abstract Syntax Notation One ) pour le certificat X.509 version 3 est illustrée dans l’exemple suivant.

-- 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
}

Depuis sa création en 1998, trois versions de la norme de certificat de clé publique X.509 ont évolué. Comme le montre l’illustration suivante, chaque version successive de la structure de données a conservé les champs qui existaient dans les versions précédentes et en a ajouté d’autres.

certificats x.509 versions 1, 2 et 3

Les rubriques suivantes décrivent plus en détail les champs disponibles :

Infrastructure à clé publique (PKI)