Principes de base : l'extension du certificat Key Usage

Les extensions de certificat ont été introduites avec la version 3 de la norme X.509. L'extension Key Usage est une extension de certificat optionnelle qui peut être utilisée dans le RFC 5280 et sert à limiter les utilisations autorisées d'une clé.

Il s'agit d'un simple masque de bits.

KeyUsage ::= BIT STRING {
  digitalSignature (0), 
  nonRepudiation (1), 
  keyEncipherment (2), 
  dataEncipherment (3), 
  keyAgreement (4), 
  keyCertSign (5),
  cRLSign (6), 
  encipherOnly (7), 
  decipherOnly (8)
}

Toutefois, la représentation du masque de bits se fait généralement sous forme hexadécimale.

BitHexDescriptionLabel
80x0decipherOnlyDécrypter uniquement, en combinaison avec keyAgreement
70x1encipherOnlyCrypter uniquement, en combinaison avec keyAgreement
60x2cRLSignSigner des listes de blocage
50x4keyCertSignSigner des certificats
40x8keyAgreementUtilisé par exemple pour le cryptage de données avec la méthode Diffie-Hellman
30x10dataEnciphermentCryptage des données, directement avec la clé contenue dans le certificat
20x20keyEnciphermentle chiffrement par clé, c'est-à-dire lorsqu'une clé symétrique est utilisée pour le chiffrement des données et qu'elle est chiffrée avec la clé contenue dans le certificat
10x40nonRepudiationNon-répudiation
00x80digitalSignatureSignature numérique

Exemples typiques d'applications courantes pour les certificats

Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.

Certificats d'autorité de certification

Les certificats d'autorité de certification doivent posséder une extension d'utilisation de clé conformément au RRC 5280. Celle-ci doit être marquée comme critique. L'extension comprendra typiquement keyCertSign et keyCrlSign. Microsoft Active Directory Certificate Services ajoutera également digitalSignature, ce qui ne devrait pas être fait selon la RFC 5280.

Il est possible de configurer différemment l'extension Key Usage lors de l'installation d'une autorité de certification.

Certificats de serveur web TLS

Sur Certificats de serveur web TLS cela dépend du type de clé utilisé (voir RFC 5246 et RFC 4492).

Algorithme cléValeur
RSASignature et cryptage
ECDSASignature
ECDHSignature et cryptage

Certificats S/MIME

Avec les Secure/Multipurpose Internet Mail Extensions (S/MIME), deux opérations sont en principe possibles en ce qui concerne les messages électroniques :

  • Signer les messages envoyés ou vérifier les signatures des messages reçus
  • crypter les messages envoyés ou décrypter les messages reçus

Lors de la configuration des certificats, on peut choisir d'utiliser un certificat hybride (qui supporte les deux opérations) ou des certificats séparés pour les deux opérations.

Type de certificatExtension de l'utilisation des clés
cryptage/décryptage uniquementkeyEncipherment (0x20)
Signer/vérifier uniquementdigitalSignature (0x80)
les deux opérations (certificat hybride)digitalSignature, keyEncipherment (0xA0)

Calculer avec l'extension Key Usage

Une manière très simple de calculer un key use est possible avec Windows PowerShell.

Un exemple : digitalSignature (0x80) et keyEncipherment (0x20) donnent ensemble 0xA0.

"{0:x}" -f (0x80 -bor 0x20)

Liens complémentaires

Sources externes

Les commentaires sont fermés.

fr_FRFrançais