Étendre l'extension de certificat „S/MIME Capabilities“ aux algorithmes Cryptography Next Generation (CNG) dans les certificats émis.

Lorsque l'on émet des certificats S/MIME, ceux-ci contiennent généralement une extension de certificat „S/MIME Capabilities“. Cette extension de certificat est spécifiée dans la RFC 4262 et peut être utilisée par les programmes de messagerie compatibles pour spécifier les algorithmes symétriques pris en charge par le destinataire d'un message chiffré. L'expéditeur doit alors choisir l'algorithme le plus puissant pris en charge par le destinataire.

Si l'on jette un coup d'œil aux algorithmes symétriques contenus dans un tel certificat, on constatera probablement que la liste contient plutôt des algorithmes obsolètes - le plus „fort“ de ces algorithmes est le Triple DES (3DES), désormais considéré comme dépassé.

Comment les algorithmes entrent-ils dans le certificat ?

Il est important de comprendre ici que les valeurs inscrites dans le certificat dépendent du type de demande :

  • Comprend la demande de certificat pas de „S/MIME Capabilities“ extension, les valeurs par défaut de la clé de registre „DefaultSMIME“ de l'autorité de certification sont utilisées et écrites dans le certificat délivré.
  • Si la demande de certificat contient une extension „S/MIME Capabilities“, les valeurs demandées sont reprises 1:1 dans le certificat délivré.

Si la demande est générée par les moyens de Windows (Microsoft Management Console ou AutoEnrollment), les valeurs suivantes sont écrites dans la demande de certificat :

Valeurs par défaut pour un modèle de certificat avec un fournisseur de services cryptographiques (CSP)

Si un fournisseur de services cryptographiques est configuré dans le modèle de certificat, les valeurs suivantes sont toujours demandées :

[1]SMIME Capability
Object ID=1.2.840.113549.3.2
Parameters=02 02 00 80
[2]SMIME Capability
Object ID=1.2.840.113549.3.4
Parameters=02 02 00 80
[3]SMIME Capability
Object ID=1.3.14.3.2.7
[4]SMIME Capability
Object ID=1.2.840.113549.3.7

Cela correspond aux algorithmes suivants :

  • RC2 en mode CBC avec une longueur de clé de 128 bits
  • RC4 avec longueur de clé de 128 bits
  • DES avec longueur de clé de 56 bits
  • 3DES avec une longueur de clé de 168 bits

Valeurs par défaut pour un modèle de certificat avec un fournisseur de stockage de clés (Key Storage Provider, KSP)

Il est important de comprendre ici que le fait que les algorithmes modernes n'apparaissent dans le certificat que si un fournisseur de stockage de clés est utilisé n'est pas une condition technique. D'un point de vue purement technique, les algorithmes symétriques modernes peuvent également être utilisés avec un certificat basé sur un fournisseur de services cryptographiques, si la demande de certificat présente les extensions correspondantes.

Si un fournisseur de stockage de clés est configuré dans le modèle de certificat, les valeurs suivantes sont toujours demandées :

[1]SMIME Capability
Object ID=2.16.840.1.101.3.4.1.42
[2]SMIME Capability
Object ID=2.16.840.1.101.3.4.1.45
[3]SMIME Capability
Object ID=2.16.840.1.101.3.4.1.22
[4]SMIME Capability
Object ID=2.16.840.1.101.3.4.1.25
[5]SMIME Capability
Object ID=2.16.840.1.101.3.4.1.2
[6]SMIME Capability
Object ID=2.16.840.1.101.3.4.1.5
[7]SMIME Capability
Object ID=1.2.840.113549.3.7
[8]SMIME Capability
Object ID=1.3.14.3.2.7
[9]SMIME Capability
Object ID=1.2.840.113549.3.2
Parameters=02 02 00 80
[10]SMIME Capability
Object ID=1.2.840.113549.3.4
Parameters=02 02 02 00

Cela correspond aux algorithmes suivants :

  • RC2 en mode CBC avec une longueur de clé de 128 bits
  • RC4 avec longueur de clé de 128 bits
  • DES avec longueur de clé de 56 bits
  • 3DES avec une longueur de clé de 168 bits
  • AES en mode CBC avec une longueur de clé de 128 bits
  • AES en mode CBC avec une longueur de clé de 192 bits
  • AES en mode CBC avec une longueur de clé de 256 bits
  • AES en mode key wrapping avec une longueur de clé de 128 bits
  • AES en mode key wrapping avec une longueur de clé de 192 bits
  • AES en mode key wrapping avec une longueur de clé de 256 bits

Maintenir les valeurs par défaut synchronisées avec les modèles de 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.

En règle générale, les valeurs dans le registre de l'autorité de certification ne sont donc pas utilisées du tout. Ce n'est que dans le cas où une demande de certificat est établie sans l'extension „S/MIME Capabilities“ que les valeurs par défaut configurées ici sont utilisées :

HKLM:\SYSTEM\CurrentControlSet\Service\CertSvc\Configuration\{Name-der-Zertifizierungsstelle}\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy\DefaultSMIME

Pour que les valeurs par défaut saisies sous DefaultSMIME soient synchronisées avec ce qui est demandé par un modèle de certificat configuré sur un fournisseur de stockage de clés, il faudrait configurer les valeurs suivantes sur l'autorité de certification en plus du réglage par défaut :

certutil -setreg policy\defaultsmime +2.16.840.1.101.3.4.1.42
certutil -setreg policy\defaultsmime +2.16.840.1.101.3.4.1.45
certutil -setreg policy\defaultsmime +2.16.840.1.101.3.4.1.22
certutil -setreg policy\defaultsmime +2.16.840.1.101.3.4.1.25
certutil -setreg policy\defaultsmime +2.16.840.1.101.3.4.1.2
certutil -setreg policy\defaultsmime +2.16.840.1.101.3.4.1.5

Le service d'autorité de certification doit ensuite être redémarré pour que les modifications soient appliquées.

Contrôle fin des capacités S/MIME

Si l'on souhaite que les certificats ne contiennent que certaines capacités S/MIME, cela n'est possible que par le biais de demandes de certificats adaptées, mais pas par le biais des outils de bord existants, car ceux-ci saisissent toujours des valeurs par défaut.

L'erreur de raisonnement est que nous, en tant qu'exploitant de la PKI, ne faisons qu'inscrire les souhaits du demandeur dans les certificats délivrés. Mais les possibilités que le programme de messagerie du demandeur prend effectivement en charge sont logiquement aussi entre ses mains.

Demande manuelle d'un certificat S/MIME

Une création manuelle d'une demande de certificat pour un certificat S/MIME peut par exemple être effectuée via le PSCertificateEnrollment module PowerShell.

exemple :

New-CertificateRequest `
-Exportable `
-Subject "CN=Testuser,E=testuser@adcslabor.de" `
-Email "testuser@adcslabor.de" `
-EnhancedKeyUsage SecureEmail `
-KeyUsage DigitalSignature,KeyEncipherment `
-SmimeCapabilities aes128,aes192,aes256,sha256,sha384,sha512

Veuillez noter qu'un archivage centralisé de la clé privée n'est pas possible pour une telle demande. Le demandeur est lui-même responsable de la sauvegarde de sa clé privée. La clé privée doit donc être marquée comme exportable et sauvegardée lors de la demande.

Liens complémentaires :

Sources externes :

Les commentaires sont fermés.

fr_FRFrançais