Attestazione di integrità del dispositivo
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.
- Creare un criterio che controlla la configurazione e gli attributi di avvio riportati di seguito:
- Avvio protetto
- BitLocker
- ELAM
- 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 TPM (1.2 o 2.0) in uno stato chiaro/pronto che esegue la build più recente di Windows Server 2025.
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.
- Fare clic su Aggiungi ruoli e funzionalità.
- Nella pagina Prima di iniziare fare clic su Avanti.
- Nella pagina Selezione tipo di installazione selezionare Installazione basata su ruoli o basata su funzionalitàe quindi fare clic su Avanti.
- 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.
- Nella pagina Selezione ruoli server selezionare la casella di controllo Attestazione dell'integrità del dispositivo.
- Fare clic su Aggiungi funzionalità per installare altri servizi e funzionalità per il ruolo.
- Fare clic su Avanti.
- Nella pagina Selezione funzionalitàfare clic su Avanti.
- Nella pagina Ruolo Server Web (IIS) fare clic su Avanti.
- Nella pagina Selezione servizi ruolo fare clic su Avanti.
- Nella pagina Servizio di attestazione dell'integrità del dispositivo fare clic su Avanti.
- Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
- 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.