Attestazione di integrità del dispositivo

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Introdotto nella versione 1507 di Windows 10, il servizio Attestazione dell'integrità del dispositivo (DHA, Device Health Attestation) include quanto segue:

  • Si integra con il framework di gestione dei dispositivi mobili (MDM) di Windows 10 ed è allineato agli standard OMA (Open Mobile Alliance).

  • Supporta i dispositivi con modulo TPM (Trusted Platform Module) di cui è stato eseguito il provisioning in formato firmware o discreto.

  • Consente alle aziende di aumentare il livello di sicurezza della propria organizzazione grazie a una protezione monitorata e garantita dell'hardware, con un impatto minimo o addirittura pari a zero sui costi di esercizio.

A partire da Windows Server 2016, è ora possibile eseguire il servizio DHA come un ruolo del server all'interno dell'organizzazione. Usare questo articolo per ottenere informazioni su come installare e configurare il ruolo del server Attestazione dell'integrità dei dispositivi.

Panoramica

È possibile usare DHA per valutare l'integrità dei dispositivi per:

  • Dispositivi Windows 10 e Windows 10 Mobile che supportano TPM 1.2 o 2.0.
  • Dispositivi locali gestiti con Active Directory con accesso a Internet, dispositivi gestiti con Active Directory senza accesso a Internet, dispositivi gestiti da Microsoft Entra ID o una distribuzione ibrida con Active Directory e Microsoft Entra ID.

Servizio DHA

Il servizio DHA convalida i registri TPM e PCR per un dispositivo e quindi genera un report DHA. Microsoft offre il servizio DHA in tre modi:

  • Servizio DHA cloud. Un servizio DHA gestito da Microsoft gratuito, con bilanciamento del carico tra più sedi e ottimizzato per l'accesso da diverse aree del mondo.

  • Servizio DHA locale. Un nuovo ruolo del server introdotto in Windows Server 2016. È disponibile gratuitamente per i clienti che hanno una licenza di Windows Server 2016.

  • Servizio DHA cloud di Azure. Un host virtuale in Microsoft Azure. A tale scopo, sono necessari un host virtuale e le licenze per il servizio DHA locale.

Il servizio DHA si integra con le soluzioni MDM e offre quanto segue:

  • Combinazione delle informazioni ricevute dai dispositivi, attraverso i canali di comunicazione esistenti nella gestione dei dispositivi, con il report DHA
  • Possibilità di prendere decisioni più efficaci e attendibili riguardo alla sicurezza, in base a dati controllati e protetti dall'hardware

Di seguito è riportato un esempio che illustra come è possibile usare DHA per aumentare il livello di protezione di protezione delle risorse dell'organizzazione.

  1. Creare un criterio che controlla la configurazione e gli attributi di avvio riportati di seguito:
    • Avvio protetto
    • BitLocker
    • ELAM
  2. La soluzione MDM applica questo criterio e attiva un'azione correttiva in base ai dati del report DHA. Ad esempio, può verificare quanto segue:
    • L'avvio protetto è stato abilitato, il dispositivo ha caricato codice attendibile e autenticato e il caricatore d'avvio di Windows non è stato manomesso.
    • L'avvio sicuro ha verificato correttamente la firma digitale del kernel di Windows e i componenti che sono stati caricati durante l'avvio al dispositivo.
    • L'avvio con misurazioni ha creato un itinerario di controllo protetto da TPM che può essere verificato in modalità remota.
    • BitLocker è stato attivato e ha protetto i dati quando il dispositivo è stato spento.
    • La funzionalità ELAM è stata attivata nelle prime fasi di avvio e sta monitorando il runtime.

Servizio DHA cloud

Il servizio DHA basato su cloud offre i seguenti vantaggi:

  • Esamina i registri di avvio dispositivo TCG e PCR che riceve da un dispositivo registrato con una soluzione MDM.
  • Crea un report DHA che offre resistenza alle e visibilità delle manomissioni e descrive il modo in cui il dispositivo è stato avviato in base ai dati raccolti e protetti da un chip TPM del dispositivo.
  • Invia il report DHA al server MDM che ha richiesto il report in un canale di comunicazione protetto.

Servizio DHA locale

Il servizio DHA locale offrono tutte le funzionalità offerte dal servizio DHA nel cloud. Consente inoltre ai clienti di:

  • Ottimizzare le prestazioni eseguendo il servizio DHA nel proprio data center
  • Assicurarsi che il report DHA non lasci la rete

Servizio DHA cloud di Azure

Questo servizio offre la stessa funzionalità del servizio DHA locale, ad eccezione del fatto che il servizio DHA nel cloud di Azure viene eseguito come host virtuale in Microsoft Azure.

Modalità di convalida DHA

È possibile impostare il servizio DHA locale per l'esecuzione in modalità di convalida EKCert o AIKCert. Quando il servizio DHA genera un report, indica se è stato rilasciato in modalità di convalida AIKCert o EKCert. Le modalità di convalida EKCert e AIKCert offrono la stessa garanzia di sicurezza, purché la catena di certificati EKCert sia sempre aggiornata.

Modalità di convalida EKCert

La modalità di convalida EKCert è ottimizzata per i dispositivi nelle organizzazioni che non sono connesse a Internet. I dispositivi che si connettono a un servizio DHA in esecuzione in modalità di convalida EKCert non hanno accesso diretto a Internet.

Quando DHA è in esecuzione in modalità di convalida EKCert, si basa su una catena di certificati a gestione aziendale che deve essere periodicamente aggiornata (circa 5 - 10 volte all'anno).

Microsoft pubblica pacchetti aggregati di radici attendibili e CA intermedie per i produttori di TPM approvati (quando diventano disponibili) in un archivio accessibile pubblicamente nell'archivio CAB. È necessario scaricare il feed, convalidarne l'integrità e installarlo nel server che esegue il servizio DHA.

Un archivio di esempio è https://go.microsoft.com/fwlink/?linkid=2097925.

Modalità di convalida AIKCert

La modalità di convalida AIKCert è ottimizzata per ambienti operativi che hanno accesso a Internet. I dispositivi che si connettono a un servizio DHA eseguito in modalità di convalida AIKCert devono avere accesso diretto a Internet e sono in grado di ottenere un certificato AIK da Microsoft.

Installare e configurare il servizio DHA in Windows Server 2016

Usare le sezioni seguenti per installare e configurare il servizio DHA in Windows Server 2016.

Prerequisiti

Per configurare e verificare un servizio DHA locale, è necessario quanto segue:

  • Un server con Windows Server 2016.
  • Uno o più dispositivi client Windows 10 con un modulo TPM (1.2 o 2.0) in stato clear/ready che esegue la build più recente di Windows Insider.
  • Decidere se si vuole eseguire il servizio in modalità di convalida EKCert o AIKCert.
  • I certificati seguenti:
    • Certificato SSL DHA. Certificato x. 509 SSL concatenato a una radice aziendale attendibile con una chiave privata esportabile. Questo certificato consente di proteggere le comunicazioni di dati DHA in transito tra server e server (servizio DHA e server MDM) e tra server e client (servizio DHA e un dispositivo Windows 10).
    • Certificato di firma DHA. Certificato x. 509 concatenato a una radice aziendale attendibile con una chiave privata esportabile. Il servizio DHA usa questo certificato per la firma digitale.
    • Certificato di crittografia DHA. Certificato x. 509 concatenato a una radice aziendale attendibile con una chiave privata esportabile. Il servizio DHA usa questo certificato anche per la crittografia.

Installare Windows Server 2016

Installare Windows Server 2016 usando il metodo di installazione preferito, ad esempio Servizi di distribuzione Windows, o eseguendo il programma di installazione da un supporto di avvio, un'unità USB o il file system locale. Se è la prima volta che si configura il servizio DHA locale, è necessario installare Windows Server 2016 usando l'opzione di installazione Esperienza desktop.

Aggiungere il ruolo del server Attestazione dell'integrità del dispositivo

È possibile installare il ruolo del server Attestazione dell'integrità del dispositivo e le relative dipendenze usando Server Manager.

Dopo aver installato Windows Server 2016, il dispositivo viene riavviato e apre Server Manager. Se Server Manager non si avvia automaticamente, fare clic su Start e quindi su Server Manager.

  1. Fare clic su Aggiungi ruoli e funzionalità.
  2. Nella pagina Prima di iniziare fare clic su Avanti.
  3. Nella pagina Selezione tipo di installazione selezionare Installazione basata su ruoli o basata su funzionalitàe quindi fare clic su Avanti.
  4. Nella pagina Selezione server di destinazione fare clic su Selezionare un server dal pool di server, selezionare il server e quindi fare clic su Avanti.
  5. Nella pagina Selezione ruoli server selezionare la casella di controllo Attestazione dell'integrità del dispositivo.
  6. Fare clic su Aggiungi funzionalità per installare altri servizi e funzionalità per il ruolo.
  7. Fare clic su Avanti.
  8. Nella pagina Selezione funzionalitàfare clic su Avanti.
  9. Nella pagina Ruolo Server Web (IIS) fare clic su Avanti.
  10. Nella pagina Selezione servizi ruolo fare clic su Avanti.
  11. Nella pagina Servizio di attestazione dell'integrità del dispositivo fare clic su Avanti.
  12. Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
  13. Al termine dell'installazione fare clic su Chiudi.

Installare i certificati di firma e crittografia

Usare il seguente script di Windows PowerShell per installare i certificati di firma e crittografia. Per altre informazioni sull'identificazione personale, vedere Procedura: Recuperare l'identificazione personale di un certificato.

$key = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -like "<thumbprint>"}
$keyname = $key.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keypath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\" + $keyname
icacls $keypath /grant <username>`:R

#<thumbprint>: Certificate thumbprint for encryption certificate or signing certificate
#<username>: Username for web service app pool, by default IIS_IUSRS

Installare il pacchetto di certificati per radici TPM attendibili

Per installare il pacchetto di certificati per radici TPM attendibili, è necessario estrarlo, rimuovere eventuali catene attendibili che non sono ritenute attendibili dall'organizzazione e quindi eseguire setup.cmd.

Scaricare il pacchetto di certificati per radici TPM attendibili

Prima di installare il pacchetto di certificati, è possibile scaricare l'elenco più recente di radici TPM attendibili da https://go.microsoft.com/fwlink/?linkid=2097925.

Importante: prima di installare il pacchetto, verificare che sia firmato digitalmente da Microsoft.

Estrarre il pacchetto di certificati attendibili

Per estrarre il pacchetto di certificati attendibili eseguire i comandi seguenti.

mkdir .\TrustedTpm
expand -F:* .\TrustedTpm.cab .\TrustedTpm

Rimuovere le catene di certificati per i fornitori TPM che non sono ritenuti attendibili dall'organizzazione (facoltativo)

Eliminare le cartelle per eventuali catene di certificati dei fornitori TPM non considerati attendibili dall'organizzazione.

Nota: se usa la modalità di certificazione AIK, la cartella Microsoft è necessaria per convalidare i certificati AIK rilasciati da Microsoft.

Installare il pacchetto di certificati attendibili

Per installare il pacchetto di certificati attendibili eseguire lo script di installazione dal file CAB.

.\setup.cmd

Configurare il servizio Attestazione dell'integrità del dispositivo

È possibile usare Windows PowerShell per configurare il servizio DHA locale.

Install-DeviceHealthAttestation -EncryptionCertificateThumbprint <encryption> -SigningCertificateThumbprint <signing> -SslCertificateStoreName My -SslCertificateThumbprint <ssl> -SupportedAuthenticationSchema "<schema>"

#<encryption>: Thumbprint of the encryption certificate
#<signing>: Thumbprint of the signing certificate
#<ssl>: Thumbprint of the SSL certificate
#<schema>: Comma-delimited list of supported schemas including AikCertificate, EkCertificate, and AikPub

Configurare i criteri della catena di certificati

Configurare i criteri della catena di certificati eseguendo lo script di Windows PowerShell seguente:

$policy = Get-DHASCertificateChainPolicy
$policy.RevocationMode = "NoCheck"
Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy

Comandi di gestione DHA

Di seguito sono riportati alcuni esempi di Windows PowerShell che consentono di gestire il servizio DHA.

Configurare il servizio DHA per la prima volta

Install-DeviceHealthAttestation -SigningCertificateThumbprint "<HEX>" -EncryptionCertificateThumbprint "<HEX>" -SslCertificateThumbprint "<HEX>" -Force

Rimuovere la configurazione del servizio DHA

Uninstall-DeviceHealthAttestation -RemoveSslBinding -Force

Ottenere il certificato di firma attivo

Get-DHASActiveSigningCertificate

Impostare il certificato di firma attivo

Set-DHASActiveSigningCertificate -Thumbprint "<hex>" -Force

Nota: questo certificato deve essere distribuito nel server che esegue il servizio DHA nell'archivio certificati LocalMachine\My. Quando il certificato di firma attivo è impostato, il certificato di firma già esistente viene spostato nell'elenco dei certificati di firma non attivi.

Indicare i certificati di firma non attivi

Get-DHASInactiveSigningCertificate

Rimuovere eventuali certificati di firma non attivi

Remove-DHASInactiveSigningCertificate -Force
Remove-DHASInactiveSigningCertificate  -Thumbprint "<hex>" -Force

Nota: può esistere nel servizio solo un certificato non attivo (di qualsiasi tipo) alla volta. I certificati devono essere rimossi dall'elenco dei certificati non attivi quando non sono più necessari.

Ottenere il certificato di crittografia attivo

Get-DHASActiveEncryptionCertificate

Impostare il certificato di crittografia attivo

Set-DHASActiveEncryptionCertificate -Thumbprint "<hex>" -Force

Il certificato deve essere distribuito nel dispositivo nell'archivio certificati LocalMachine\My.

Quando il certificato di crittografia attivo è impostato, il certificato di crittografia già esistente viene spostato nell'elenco dei certificati di crittografia non attivi.

Indicare i certificati di crittografia non attivi

Get-DHASInactiveEncryptionCertificate

Rimuovere eventuali certificati di crittografia non attivi

Remove-DHASInactiveEncryptionCertificate -Force
Remove-DHASInactiveEncryptionCertificate -Thumbprint "<hex>" -Force

Ottenere la configurazione di X509ChainPolicy

Get-DHASCertificateChainPolicy

Modificare la configurazione di X509ChainPolicy

$certificateChainPolicy = Get-DHASInactiveEncryptionCertificate
$certificateChainPolicy.RevocationFlag = <X509RevocationFlag>
$certificateChainPolicy.RevocationMode = <X509RevocationMode>
$certificateChainPolicy.VerificationFlags = <X509VerificationFlags>
$certificateChainPolicy.UrlRetrievalTimeout = <TimeSpan>
Set-DHASCertificateChainPolicy = $certificateChainPolicy

Report del servizio DHA

Di seguito è riportato un elenco di messaggi che vengono inviati dal servizio DHA alla soluzione MDM:

  • 200 HTTP OK. Il certificato viene restituito.
  • 400 Richiesta non valida. Formato della richiesta non valido, certificato di integrità non valido, firma del certificato non corrispondente, BLOB di attestazione di integrità non valido o BLOB di stato integrità non valido. La risposta contiene anche un messaggio, come descritto nello schema di risposta, con un codice di errore e un messaggio di errore che possono essere usati per la diagnostica.
  • 500 Errore interno del server. Questa situazione può verificarsi se sono presenti problemi che impediscono l'emissione dei certificati da parte del servizio.
  • 503 A causa di una limitazione vengono rifiutate richieste per impedire il sovraccarico del server.