Come verificare i certificati X.509 dell'autorità di certificazione nel servizio Device Provisioning

Un certificato dell'autorità di certificazione X.509 verificato è un certificato ca caricato e registrato nel servizio di provisioning e quindi verificato, automaticamente o tramite prova di possesso con il servizio.

I certificati verificati svolgono un ruolo importante nell'uso dei gruppi di registrazione. La verifica della proprietà dei certificati costituisce un livello di sicurezza aggiuntivo che garantisce che l'autore del caricamento del certificato è in possesso della chiave privata del certificato stesso. La verifica impedisce a un attore malintenzionato di effettuare l'hijack dei dispositivi intercettando il traffico tramite l'estrazione di un certificato intermedio e usando tale certificato per creare un gruppo di registrazione nel proprio servizio di provisioning. Dimostrando la proprietà della radice o di un certificato intermedio in una catena di certificati, si dimostra di avere l'autorizzazione a generare certificati foglia per i dispositivi che verranno registrati come appartenenti a tale gruppo di registrazione. Per questo motivo, la radice o il certificato intermedio configurato in un gruppo di registrazione deve essere un certificato verificato oppure deve fare riferimento a un certificato verificato nella catena di certificati presentata da un dispositivo quando esegue l'autenticazione con il servizio. Per altre informazioni sull'attestazione del certificato X.509, vedere Certificati X.509.

Prerequisiti

Prima di iniziare i passaggi descritti in questo articolo, sono stati preparati i prerequisiti seguenti:

  • Istanza del servizio Device Provisioning creata nella sottoscrizione di Azure.
  • Un file di certificato con estensione pem o .cer.

verifica automatica dell'autorità di certificazione intermedia o radice tramite l'attestazione automatica

Se si usa una CA intermedia o radice attendibile e si conosce la proprietà completa del certificato, è possibile attestare automaticamente che il certificato è stato verificato.

Per aggiungere un certificato verificato automaticamente, seguire questa procedura:

  1. Nella portale di Azure passare al servizio di provisioning e selezionare Certificati dal menu a sinistra.

  2. Selezionare Aggiungi per aggiungere un nuovo certificato.

  3. Immettere un nome visualizzato descrittivo per il certificato.

  4. Individuare il file con estensione cer o pem che rappresenta la parte pubblica del certificato X.509. Fare clic su Carica.

  5. Selezionare la casella accanto a Imposta stato certificato da verificare al caricamento.

    Screenshot che mostra il caricamento di un certificato e lo stato dell'impostazione per la verifica.

  6. Seleziona Salva.

  7. Il certificato viene visualizzato nella scheda certificato con stato Verificato.

    Screenshot che mostra il certificato verificato dopo il caricamento.

verifica manuale della CA intermedia o radice

La verifica automatica è consigliata quando si caricano nuovi certificati CA intermedi o radice nel servizio Device Provisioning. Tuttavia, è comunque possibile eseguire la verifica del possesso se è utile per lo scenario IoT.

La verifica del possesso prevede i passaggi seguenti:

  1. Ottenere un codice di verifica univoco generato dal servizio di provisioning per il certificato della CA X.509. Questa operazione può essere eseguita dal portale di Azure.
  2. Creare un certificato di verifica X.509 con il codice di verifica come oggetto e firmare il certificato con la chiave privata associata al certificato della CA X.509 stesso.
  3. Caricare il certificato di verifica firmato nel servizio. Il servizio convalida il certificato di verifica usando la parte pubblica del certificato della CA da verificare, dimostrando quindi che l'utente è in possesso della chiave privata del certificato.

Registrare la parte pubblica di un certificato X.509 e ottenere un codice di verifica

Per registrare un certificato della CA con il servizio di provisioning e ottenere un codice di verifica utilizzabile durante la verifica del possesso, seguire questa procedura.

  1. Nel portale di Azure passare al servizio di provisioning e aprire Certificati dal menu a sinistra.

  2. Selezionare Aggiungi per aggiungere un nuovo certificato.

  3. Immettere un nome visualizzato descrittivo per il certificato nel campo Nome certificato.

  4. Selezionare l'icona della cartella, quindi passare al file .cer o pem che rappresenta la parte pubblica del certificato X.509. Selezionare Apri.

  5. Dopo aver visualizzato una notifica che informa che il certificato è stato caricato correttamente, selezionare Salva.

    Screenshot che mostra il caricamento di un certificato senza verifica automatica.

    Il certificato verrà visualizzato nell'elenco Esplora certificati. Si noti che lo stato di questo certificato è Non verificato.

  6. Selezionare il certificato aggiunto nel passaggio precedente per aprirlo.

  7. Nei dettagli del certificato si noti che è presente un campo codice di verifica vuoto. Selezionare il pulsante Genera codice di verifica.

    Screenshot che mostra la generazione di un codice di verifica per la verifica del possesso.

  8. Il servizio di provisioning crea un codice di verifica che è possibile usare per convalidare la proprietà del certificato. Copiare il codice negli Appunti.

Firmare digitalmente il codice di verifica per creare un certificato di verifica

A questo punto, è necessario firmare il codice di verifica da DPS con la chiave privata associata al certificato della CA X.509, che genera una firma. Questo passaggio è noto come prova di possesso e genera un certificato di verifica firmato.

Microsoft offre strumenti ed esempi che facilitano la creazione di un certificato di verifica firmato:

  • Azure IoT Hub C SDK fornisce script PowerShell (Windows) e Bash (Linux) che consentono di creare più facilmente certificati della CA e foglia per lo sviluppo e per l'esecuzione della verifica del possesso tramite un codice di verifica. È possibile scaricare i file pertinenti al sistema in uso in una cartella di lavoro e seguire le istruzioni nel file Leggimi Managing CA certificates (Gestione di certificati della CA) per eseguire la verifica del possesso per un certificato della CA.
  • L'SDK C# di hub IoT di Azure contiene l'esempio di verifica del certificato di gruppo, che è possibile usare per eseguire la verifica del possesso.

Gli script di PowerShell e Bash forniti nella documentazione e negli SDK si basano su OpenSSL. È anche possibile usare OpenSSL o altri strumenti di terze parti che consentono di eseguire la verifica del possesso. Per un esempio di uso degli strumenti forniti con gli SDK, vedere Creare una catena di certificati X.509.

Caricare il certificato di verifica firmato

Caricare la firma risultante come certificato di verifica nel servizio di provisioning nel portale di Azure.

  1. Nei dettagli del certificato nel portale di Azure, da cui è stato copiato il codice di verifica, selezionare l'icona della cartella accanto al campo File di certificato di verifica con estensione pem o .cer. Passare al certificato di verifica firmato dal sistema e selezionare Apri.

  2. Dopo aver caricato correttamente il certificato, selezionare Verifica. Lo stato del certificato cambia in Verificato nell'elenco Certificati . Selezionare Aggiorna se non viene aggiornato automaticamente.

Passaggi successivi