Configurare un'autorità di certificazione per l'uso di ML-DSA

Questo articolo descrive come configurare le autorità di certificazione (CA) di Active Directory Certificate Services (AD CS) per utilizzare Module-Lattice-Based Digital Signature Algorithm (ML-DSA) per la crittografia post-quantistica (PQC). ML-DSA è un algoritmo di firma digitale standardizzato dal National Institute of Standards and Technology (NIST), progettato per resistere agli attacchi di calcolo quantistico.

Completando i passaggi descritti in questo articolo, si configura una gerarchia a due livelli di infrastruttura a chiave pubblica (PKI) con una CA radice e una CA subordinata, sia usando ML-DSA come algoritmo di firma.

Prerequisiti

Prima di iniziare, assicurarsi di soddisfare i requisiti seguenti:

  • Un controller di dominio che esegue la versione Windows Server più recente. è consigliabile Windows Server 2025 o versione successiva.

  • Due server che eseguono Windows Server 2025 con l'aggiornamento della sicurezza 2026-05 (KB5087539) o versione successiva installata per la CA radice e la CA subordinata.

    • Il server CA subordinato deve essere aggiunto a un dominio.

    • Il server Autorità di certificazione radice può essere aggiunto al dominio (Autorità di certificazione radice aziendale) oppure non aggiunto al dominio (Autorità di certificazione radice autonoma). Vedere la nota seguente.

    Note

    Questo articolo illustra sia le configurazioni dell'autorità di certificazione radice aziendale che quella autonoma. Per gli ambienti di produzione, una CA radice autonoma che viene portata offline dopo l'emissione del certificato CA subordinato è la procedura consigliata. Per linee guida generali sull'architettura PKI a due livelli, vedere Distribuzione della gerarchia PKI a due livelli di AD CS e Guida alla progettazione di AD CS.

  • Un account con autorizzazioni per installare e configurare il ruolo Servizi certificati in ogni server della CA.

  • Il ruolo Servizi certificati Active Directory (AD CS) e il servizio ruolo Autorità di certificazione sono installati nel server CA radice. Per i passaggi dettagliati, vedere Installare servizi certificati Active Directory usando Server Manager.

Scegliere un set di parametri ML-DSA

Prima di configurare le ca, scegliere un set di parametri ML-DSA. ML-DSA fornisce tre set di parametri, ognuno dei quali offre un livello di sicurezza NIST diverso. Ogni set di parametri ha dimensioni di chiave pubblica e privata fisse che non è possibile modificare. È possibile usare qualsiasi set di parametri per ca radice, ca subordinate o certificati di entità finale.

Set di parametri Dimensione della chiave pubblica Lunghezza della chiave privata Dimensione della firma Livello di sicurezza NIST
ML-DSA-44 1.312 byte 2.560 byte 2.420 byte Livello 2
ML-DSA-65 1.952 byte 4.032 byte 3.309 byte Livello 3
ML-DSA-87 2.592 byte 4.896 byte 4.627 byte Livello 5

Quando si seleziona un provider di ML-DSA durante la configurazione della CA, per impostazione predefinita l'algoritmo hash è NoHash. A differenza degli algoritmi tradizionali, ad esempio RSA, in cui la firma implica un passaggio di pre-hash come SHA-256, ML-DSA gestisce l'hashing dei messaggi internamente come parte dell'operazione di firma. ML-DSA non richiede un algoritmo hash esterno.

Configurare la CA radice

Dopo aver installato il ruolo Servizi certificati Active Directory e il servizio ruolo Autorità di certificazione, il passaggio successivo consiste nel configurare la CA con un provider di crittografia ML-DSA. Il processo di configurazione prevede la selezione del tipo di CA (CA radice), la scelta di creare una nuova chiave privata e quindi la selezione del provider di ML-DSA desiderato che corrisponde al set di parametri scelto.

Configurare la CA radice con ML-DSA

Dopo l'installazione del ruolo, configurare la CA radice con un provider di crittografia ML-DSA.

  1. Dopo l'installazione, selezionare il collegamento Configura Servizi certificati di Active Directory in Gestione server.

  2. Nella pagina Tipo di installazione selezionare una delle opzioni seguenti:

    • Enterprise: se il server è aggiunto a un dominio. Adatto per ambienti lab e test.

    • Indipendente: se il server non è unito a un dominio. Consigliato per la produzione.

  3. Nella pagina Tipo CA, selezionare CA radice.

  4. Nella pagina Chiave privata selezionare Crea una nuova chiave privata.

  5. Nella pagina Crittografia per CA selezionare uno dei provider di crittografia ML-DSA seguenti:

    • ML-DSA:44#Microsoft Software Key Storage Provider

    • ML-DSA:65#Microsoft Software Key Storage Provider

    • ML-DSA:87#Microsoft Software Key Storage Provider

    Il campo Lunghezza chiave visualizza le dimensioni della chiave pubblica in bit per il set di parametri selezionato. Per impostazione predefinita, l'algoritmo hash è NoHash.

    Schermata della pagina Crittografia di AD CS per l'autorità di certificazione (CA) con il provider ML-DSA-87 selezionato, che mostra una lunghezza della chiave di 20736 e NoHash come algoritmo di hash.

  6. Completare le pagine rimanenti usando le impostazioni predefinite e quindi selezionare Configura per completare l'installazione.

In alternativa, configurare la CA radice usando PowerShell. L'esempio seguente usa ML-DSA-87:

# KeyLength is specified in bits. For ML-DSA-87: 2592 bytes x 8 = 20736 bits  

# For Standalone Root CA (recommended for production)  
Install-AdcsCertificationAuthority `  
    -CAType StandaloneRootCA `  
    -CACommonName "<your-root-ca-name>" `  
    -KeyLength 20736 `  
    -HashAlgorithm NoHash `  
    -CryptoProviderName "ML-DSA:87#Microsoft Software Key Storage Provider"  
    
# For Enterprise Root CA (lab and test environments)  
Install-AdcsCertificationAuthority `  
    -CAType EnterpriseRootCA `  
    -CACommonName "<your-root-ca-name>" `  
    -KeyLength 20736 `  
    -HashAlgorithm NoHash `  
    -CryptoProviderName "ML-DSA:87#Microsoft Software Key Storage Provider"  

Sostituisci <your-root-ca-name> con il nome comune della CA radice.

Verificare il certificato CA radice

Verifica che il certificato della CA radice utilizzi l'algoritmo ML-DSA selezionato.

  1. Aprire la console autorità di certificazione (certsrv.msc).

  2. Fare clic con il pulsante destro del mouse sul nome della CA, scegliere Proprietà e quindi selezionare Visualizza certificato nella scheda Generale .

  3. Nella scheda Dettagli verificare i campi seguenti:

    • Algoritmo di firma: mostra il set di parametri ML-DSA, ad esempio ML-DSA-87.
    • Chiave pubblica: mostra il set di parametri ML-DSA e le dimensioni della chiave in bit.

    Poiché il certificato CA radice è autofirmato, sia l'algoritmo di firma che l'algoritmo di chiave pubblica usano lo stesso set di parametri ML-DSA.

    Schermata della scheda Dettagli del certificato della CA radice che mostra ML-DSA-87 sia come algoritmo di firma sia come algoritmo di chiave pubblica.

Il servizio CA pubblica automaticamente gli elenchi di revoche di certificati (CRL) all'avvio e li firma usando l'algoritmo di ML-DSA configurato.

Configurare la CA subordinata

Configurare la CA subordinata come CA enterprise (aggiunta al dominio) in modo che possa utilizzare Active Directory per la registrazione dei certificati e la gestione dei modelli. I passaggi di configurazione per una CA subordinata sono simili alla CA radice, con due differenze principali:

  • Selezionare CA subordinata come tipo di CA.
  • È possibile scegliere un set di parametri ML-DSA diverso dalla CA radice. Ogni CA nella gerarchia può usare una configurazione ML-DSA distinta.

Configurare la CA subordinata

Dopo aver installato il ruolo Servizi certificati Active Directory e il servizio ruolo Autorità di certificazione sul server della CA subordinata, configurarlo con un provider di servizi di crittografia ML-DSA e inviare una richiesta di certificato alla CA principale.

  1. Dopo l'installazione, selezionare il collegamento Configura Servizi certificati di Active Directory in Gestione server.

  2. Nella pagina Tipo di installazione selezionare Enterprise.

  3. Nella pagina Tipo ca selezionare CA subordinata.

  4. Selezionare Crea una nuova chiave privata.

  5. Nella pagina Crittografia per CA selezionare un provider di crittografia ML-DSA. Ad esempio, ML-DSA:65#Provider Microsoft di archiviazione delle chiavi software.

    Schermata della pagina Crittografia di AD CS per la CA subordinata con il provider ML-DSA-65 selezionato, in cui sono visualizzati una lunghezza della chiave pari a 15616 e NoHash come algoritmo di hash.

  6. Nella pagina Richiesta di certificato selezionare una delle opzioni seguenti:

    • Inviare una richiesta di certificato a una CA padre e quindi scegliere la CA radice configurata in precedenza, se la CA radice è online e raggiungibile.

    • Salvare una richiesta di certificato in un file nel computer di destinazione : se la CA radice è offline (autonoma). Inviare manualmente la richiesta alla CA radice, recuperare il certificato rilasciato e installarlo.

  7. Completare le pagine rimanenti usando le impostazioni predefinite e quindi selezionare Configura.

Verificare il certificato della CA subordinata

Verificare che il certificato ca subordinato mostri gli algoritmi di ML-DSA previsti sia per la firma che per la chiave pubblica.

  1. Apri la console Autorità di certificazione (certsrv.msc) nell'AC subordinata.

  2. Fare clic con il pulsante destro del mouse sul nome della CA, scegliere Proprietà e quindi selezionare Visualizza certificato.

  3. Nella scheda Dettagli confermare:

    • Algoritmo di firma: mostra il set di parametri ML-DSA della CA radice (ad esempio ML-DSA-87), perché la CA radice firma il certificato CA subordinato.
    • Chiave pubblica: mostra l'insieme di parametri ML-DSA della CA subordinata (ad esempio, ML-DSA-65).

    Schermata della scheda Dettagli del certificato della CA subordinata che mostra ML-DSA-87 come algoritmo di firma e ML-DSA-65 come algoritmo della chiave pubblica.

  4. Nella scheda Percorso certificazione verificare che la catena visualizzi sia i certificati CA radice che quelli subordinati.

    Screenshot della scheda Percorso certificazione che mostra una catena di certificati a due livelli con la CA radice e la CA subordinata.