Demande de certificats avec des clés basées sur ML-DSA via le service d'enregistrement des périphériques réseau (NDES)

Avec la mise à jour de sécurité de mai 2026, Microsoft a ajouté la prise en charge de l'algorithme ML-DSA dans les services de certificats Active Directory.

Dans son documentaire Ils précisent certes que NDES n'est pas compatible avec ML-DSA:

Vous pouvez enregistrer les certificats ML-DSA à l'aide du composant logiciel enfichable « Certificats » de la console MMC (Microsoft Management Console) et certreq.exe. L'inscription via le service d'inscription des périphériques réseau (NDES) n'est actuellement pas disponible.

Mais ce n'est pas tout à fait vrai…

NDES est connu pour ses certificats d'autorité d'enregistrement, qui absolument un Fournisseur de services cryptographiques (CSP) sont limités à l'algorithme RSA. Cela ne signifie toutefois pas qu'il soit impossible d'utiliser des algorithmes modernes pour demander des certificats via le NDES. C'était déjà le cas avec les courbes elliptiques ou AES pour le message CMS interne Si cela fonctionne, pourquoi pas aussi via ML-DSA ?

L'environnement de test

Pour l'environnement de test, j'ai mis en place une hiérarchie d'autorités de certification qui utilise elle-même des clés basées sur ML-DSA. Afin que le processus soit reproductible, j'ai Scripts de déploiement ADCS pour inclure la prise en charge de ML-DSA.

J'ai configuré le serveur NDES sans administrateur Enterprise- Droits installés sur un serveur Windows Server 2025 avec le niveau de correctifs de mai 2026.

Pour pouvoir générer des demandes de certificats SCEP avec ML-DSA, j'ai Module PowerShell PSCertificateEnrollment élargi en conséquence.

Conclusions

Certificat NDESConstat
Certificat de serveur webDoit être délivré par une hiérarchie classique (RSA ou ECC). La pile TLS de Windows semble encore rencontrer des problèmes lorsqu'un certificat de la chaîne utilise ML-DSA..
Agent d'inscription NDESIl peut provenir d'une hiérarchie purement ML-DSA, mais doit lui-même utiliser une clé RSA en raison des restrictions imposées par le CSP. Il doit être émis par la même autorité de certification que celle qui émettra les certificats de périphériques.
Chiffrement NDES CEPIl peut provenir d'une hiérarchie purement ML-DSA, mais doit lui-même utiliser une clé RSA en raison des restrictions imposées par le CSP. Il doit être émis par la même autorité de certification que celle qui émettra les certificats de périphériques.
Certificat d'homologation des appareils NDESIl est possible d'utiliser ML-DSA tout au long de la chaîne.

Le résultat

Le résultat est alors presque banal : ça fonctionne, tout simplement. Il semble que NDES se moque bien de la nature des données transmises.

$otp = Get-NDESOTP -ComputerName "ndes01.intra.pqclabor.de"
Get-SCEPCertificate `
-ComputerName "ndes01.intra.pqclabor.de" `
-ChallengePassword $otp `
-Subject "CN=test" `
-KeyAlgorithm ML-DSA:44

Zur Sinnhaftigkeit

Auch wenn es funktioniert stellt sich die Frage nach der Sinnhaftigkeit.

  • Kein Mobile Device Management (MDM)-Hersteller dieser Welt hat derzeit eine Implementierung für Postquanten-Kryptoalgorithmen, um diese dann mit SCEP zu nutzen.
  • Microsoft selbst sagt aus, dass die diese Kombination nicht unterstützen.
  • Die ganze PQC-Implementierung in Windows scheint noch nicht Produktionsreif zu sein. Beispielsweise wurde sie im Juli 2026 Patch gleich wieder kaputtgemacht.

Die Übung hat dennoch ihren Zweck erreicht. So kann ermittelt werden, was mit PQC bereits realisierbar ist und was nicht. Und so interpretiere ich den derzeitigen Stand der Implementierung in Windows: Als ein frühes Testfeld, um Erfahrungen zu gewinnen und sich auf den produktiven Einsatz vorzubereiten.

Eine Sache noch

Natürlich wird das Module de politique de TameMyCerts für die Active Directory Certificate Services in der nächsten Version auch ML-DSA unterstützen, sodass es wie gewohnt mit NDES und anderen Use Cases kombiniert werden kann.

Liens complémentaires :

Sources externes

fr_FRFrançais