Nozioni fondamentali su TPM

Si applica a

  • Windows 10
  • Windows 11
  • Windows Server 2016 e versioni successive

Questo articolo per il professionista IT fornisce una descrizione dei componenti del modulo Piattaforma attendibile (TPM 1.2 e TPM 2.0) e spiega come vengono usati per mitigare gli attacchi al dizionario.

Un modulo TPM (Trusted Platform Module) è un microchip progettato per fornire funzioni di base correlate alla sicurezza, che riguardano principalmente le chiavi di crittografia. Il TPM viene installato nella scheda madre di un computer e comunica con il resto del sistema usando un bus hardware.

I computer che incorporano un TPM possono creare chiavi di crittografia e crittografarle in modo che possano essere decrittografate solo dal TPM. Questo processo, spesso denominato wrapping o associazione di una chiave, consente di proteggere la chiave dalla divulgazione. Ogni TPM ha una chiave master di wrapping, denominata chiave radice di archiviazione, archiviata all'interno del TPM stesso. La parte privata di una chiave radice di archiviazione o di una chiave di verifica dell'autenticità creata in un TPM non viene mai esposta ad altri componenti, software, processi o utenti.

È possibile specificare se è possibile eseguire o meno la migrazione delle chiavi di crittografia create dal TPM. Se si specifica che è possibile eseguirne la migrazione, le parti pubbliche e private della chiave possono essere esposte ad altri componenti, software, processi o utenti. Se si specifica che non è possibile eseguire la migrazione delle chiavi di crittografia, la parte privata della chiave non viene mai esposta all'esterno del TPM.

I computer che incorporano un TPM possono anche creare una chiave incapsulata e associata a determinate misurazioni della piattaforma. Questo tipo di chiave può essere annullato solo quando le misurazioni della piattaforma hanno gli stessi valori che avevano al momento della creazione della chiave. Questo processo viene definito "sealing della chiave al TPM". La decrittografia della chiave è denominata unsealing. Il TPM può anche sigillare e rimuovere i dati generati all'esterno del TPM. Con questa chiave e questo software sealed, ad esempio Crittografia unità BitLocker, è possibile bloccare i dati fino a quando non vengono soddisfatte condizioni hardware o software specifiche.

Con un TPM, le parti private delle coppie di chiavi vengono mantenute separate dalla memoria controllata dal sistema operativo. Le chiavi possono essere sealed al TPM e alcune garanzie sullo stato di un sistema (garanzie che definiscono l'affidabilità di un sistema) possono essere effettuate prima che le chiavi vengano sbloccate e rilasciate per l'uso. Il TPM usa il proprio firmware interno e i circuiti logici per elaborare le istruzioni. Di conseguenza, non si basa sul sistema operativo e non è esposto a vulnerabilità che potrebbero esistere nel sistema operativo o nel software dell'applicazione.

Per informazioni sulle versioni di Windows che supportano le versioni del TPM, vedi Panoramica della tecnologia Trusted Platform Module.For info about which versions of Windows support which versions of the TPM, see Trusted Platform Module technology overview. Le funzionalità disponibili nelle versioni sono definite nelle specifiche dal Trusted Computing Group (TCG). Per altre info, vedi la pagina Trusted Platform Module (Modulo piattaforma attendibile) nel sito Web Trusted Computing Group: Trusted Platform Module( Modulo piattaforma attendibile).

Le sezioni seguenti offrono una panoramica delle tecnologie che supportano il TPM:

L'argomento seguente descrive i servizi TPM che possono essere controllati centralmente usando le impostazioni di Criteri di gruppo: TPM Criteri di gruppo Settings.

Avvio misurato con supporto per l'attestazione

La funzionalità Avvio misurato fornisce software antimalware con un log attendibile (resistente allo spoofing e alla manomissione) di tutti i componenti di avvio. Il software antimalware può usare il log per determinare se i componenti eseguiti prima che siano attendibili rispetto a quelli infettati da malware. Può anche inviare i log di avvio misurato a un server remoto per la valutazione. Il server remoto può avviare azioni di correzione interagendo con il software nel client o tramite meccanismi fuori banda, a seconda delle esigenze.

Smart card virtuale basata su TPM

La smart card virtuale emula le funzionalità delle smart card tradizionali. Le smart card virtuali usano il chip TPM disponibile nei computer di un'organizzazione, anziché usare una smart card fisica e un lettore separati. Ciò riduce notevolmente il costo di gestione e distribuzione delle smart card in un'azienda. Per l'utente finale, la smart card virtuale è sempre disponibile nel computer. Se un utente deve usare più di un computer, è necessario rilasciare una smart card virtuale all'utente per ogni computer. Un computer condiviso tra più utenti può ospitare più smart card virtuali, una per ogni utente.

Archiviazione certificati basata su TPM

Il TPM protegge i certificati e le chiavi RSA. Il provider di archiviazione chiavi TPM (KSP) offre un uso semplice e pratico del TPM per proteggere fortemente le chiavi private. Il KSP TPM genera chiavi quando un'organizzazione si registra per i certificati. Il provider di servizi KSP viene gestito dai modelli nell'interfaccia utente. Il TPM protegge anche i certificati importati da un'origine esterna. I certificati basati su TPM sono certificati standard. Il certificato non può mai lasciare il TPM da cui vengono generate le chiavi. Il TPM può ora essere usato per le operazioni di crittografia tramite l'API di crittografia: CNG (Next Generation). Per altre info, vedi API di crittografia: nuova generazione.

Cmdlet TPM

È possibile gestire il TPM usando Windows PowerShell. Per informazioni dettagliate, vedere Cmdlet TPM in Windows PowerShell.

Interfaccia di presenza fisica

Per TPM 1.2, le specifiche TCG per i TPM richiedono la presenza fisica (in genere premendo un tasto) per attivare il TPM, disattivarlo o cancellarlo. Queste azioni in genere non possono essere automatizzate con script o altri strumenti di automazione, a meno che il singolo OEM non le fornisca.

Stati TPM 1.2 e inizializzazione

TPM 1.2 ha più stati possibili. Windows inizializza automaticamente il TPM, che lo porta a uno stato abilitato, attivato e di proprietà.

Chiavi di verifica dell'autenticità

Un'applicazione attendibile può usare TPM solo se il TPM contiene una chiave di verifica dell'autenticità, ovvero una coppia di chiavi RSA. La metà privata della coppia di chiavi viene mantenuta all'interno del TPM e non viene mai rivelata o accessibile all'esterno del TPM.

Attestazione chiave

L'attestazione della chiave TPM consente a un'autorità di certificazione di verificare che una chiave privata sia protetta da un TPM e che il TPM sia attendibile per l'autorità di certificazione. Le chiavi di verifica dell'autenticità dimostrate valide vengono usate per associare l'identità utente a un dispositivo. Il certificato utente con una chiave attestata TPM offre una maggiore garanzia di sicurezza, supportata dalla non esportabilità, dall'anti-martellamento e dall'isolamento delle chiavi fornite da un TPM.

Anti-martellamento

Quando un TPM elabora un comando, lo fa in un ambiente protetto, ad esempio un microcontroller dedicato in un chip discreto o una modalità speciale protetta dall'hardware nella CPU principale. Un TPM viene usato per creare una chiave di crittografia che non viene divulgata all'esterno del TPM. Viene usato nel TPM dopo aver fornito il valore di autorizzazione corretto.

I TPM hanno una protezione anti-martellamento progettata per impedire attacchi di forza bruta, o attacchi dizionario più complessi, che tentano di determinare i valori di autorizzazione per l'uso di una chiave. L'approccio di base consiste nel consentire al TPM di consentire solo un numero limitato di errori di autorizzazione prima di impedire altri tentativi di usare chiavi e blocchi. Fornire un numero di errori per le singole chiavi non è tecnicamente pratico, quindi i TPM hanno un blocco globale quando si verificano troppi errori di autorizzazione.

Poiché molte entità possono usare il TPM, un singolo esito positivo dell'autorizzazione non può reimpostare la protezione anti-martellamento del TPM. Ciò impedisce a un utente malintenzionato di creare una chiave con un valore di autorizzazione noto e quindi di usarla per reimpostare la protezione del TPM. I TPM sono progettati per dimenticare gli errori di autorizzazione dopo un periodo di tempo, in modo che il TPM non immetta inutilmente uno stato di blocco. È possibile usare una password del proprietario del TPM per reimpostare la logica di blocco del TPM.

Anti-martellamento TPM 2.0

TPM 2.0 ha un comportamento anti-martellamento ben definito. Ciò è in contrasto con il TPM 1.2 per il quale la protezione anti-martellamento è stata implementata dal produttore e la logica varia ampiamente in tutto il settore.

Per i sistemi con TPM 2.0, il TPM viene configurato da Windows per il blocco dopo 32 errori di autorizzazione e per dimenticare un errore di autorizzazione ogni 10 minuti. Ciò significa che un utente potrebbe tentare rapidamente di usare una chiave con il valore di autorizzazione errato 32 volte. Per ognuno dei 32 tentativi, il TPM registra se il valore di autorizzazione è corretto o meno. Questo inavvertitamente fa sì che il TPM entri in uno stato bloccato dopo 32 tentativi non riusciti.

I tentativi di usare una chiave con un valore di autorizzazione per i successivi 10 minuti non restituiscono esito positivo o negativo; la risposta indica invece che il TPM è bloccato. Dopo 10 minuti, un errore di autorizzazione viene dimenticato e il numero di errori di autorizzazione memorizzati dal TPM scende a 31, quindi il TPM lascia lo stato bloccato e torna al normale funzionamento. Con il valore di autorizzazione corretto, le chiavi potrebbero essere usate normalmente se non si verificano errori di autorizzazione nei successivi 10 minuti. Se trascorrono 320 minuti senza errori di autorizzazione, il TPM non memorizza errori di autorizzazione e potrebbero verificarsi di nuovo 32 tentativi non riusciti.

Windows 8 La certificazione non richiede che i sistemi TPM 2.0 dimentichino gli errori di autorizzazione quando il sistema è completamente spento o quando il sistema è in stato di ibernazione. Windows richiede che gli errori di autorizzazione vengano dimenticati quando il sistema è in esecuzione normalmente, in modalità sospensione o in stati a basso consumo energetico diversi da off. Se un sistema Windows con TPM 2.0 è bloccato, il TPM lascia la modalità di blocco se il sistema rimane attivo per 10 minuti.

La protezione anti-martellamento per TPM 2.0 può essere reimpostata completamente immediatamente inviando un comando di blocco di reimpostazione al TPM e fornendo la password del proprietario del TPM. Per impostazione predefinita, Windows effettua automaticamente il provisioning di TPM 2.0 e archivia la password del proprietario del TPM per l'uso da parte degli amministratori di sistema.

In alcune situazioni aziendali, il valore di autorizzazione proprietario TPM è configurato per essere archiviato centralmente in Active Directory e non viene archiviato nel sistema locale. Un amministratore può avviare il MMC TPM e scegliere di reimpostare l'ora di blocco del TPM. Se la password del proprietario del TPM viene archiviata in locale, viene usata per reimpostare l'ora di blocco. Se la password del proprietario del TPM non è disponibile nel sistema locale, l'amministratore deve fornirla. Se un amministratore tenta di reimpostare lo stato di blocco TPM con la password del proprietario TPM errata, il TPM non consente un altro tentativo di reimpostare lo stato di blocco per 24 ore.

TPM 2.0 consente di creare alcune chiavi senza un valore di autorizzazione associato. Queste chiavi possono essere usate quando il TPM è bloccato. Ad esempio, BitLocker con una configurazione predefinita solo TPM è in grado di usare una chiave nel TPM per avviare Windows, anche quando il TPM è bloccato.

Logica dietro le impostazioni predefinite

In origine, BitLocker consentiva da 4 a 20 caratteri per un PIN. Windows Hello ha il proprio PIN per l'accesso, che può essere da 4 a 127 caratteri. Sia BitLocker che Windows Hello usano il TPM per evitare attacchi di forza bruta del PIN.

Windows 10, versione 1607 e precedenti usavano parametri di prevenzione degli attacchi del dizionario. I parametri di prevenzione degli attacchi del dizionario consentono di bilanciare le esigenze di sicurezza con l'usabilità. Ad esempio, quando BitLocker viene usato con una configurazione TPM + PIN, il numero di ipotesi di PIN è limitato nel tempo. È possibile configurare un TPM 2.0 in questo esempio in modo da consentire immediatamente solo 32 ipotesi di PIN e quindi solo un'altra ipotesi ogni due ore. Questo totale è di circa 4415 ipotesi all'anno. Se il PIN è di 4 cifre, tutte le 9999 combinazioni di PIN possibili potrebbero essere tentate in poco più di due anni.

A partire da Windows 10 versione 1703, la lunghezza minima per il PIN BitLocker è stata aumentata a 6 caratteri per allinearsi meglio ad altre funzionalità di Windows che sfruttano TPM 2.0, tra cui Windows Hello. L'aumento della lunghezza del PIN richiede un numero maggiore di ipotesi per un utente malintenzionato. Di conseguenza, la durata del blocco tra ogni ipotesi è stata abbreviata per consentire agli utenti legittimi di ritentare un tentativo non riuscito prima mantenendo un livello di protezione simile. Se è necessario usare i parametri legacy per la soglia di blocco e il tempo di ripristino, assicurarsi che l'oggetto Criteri di gruppo sia abilitato e configurare il sistema per l'uso dell'impostazione Dei parametri di prevenzione degli attacchi del dizionario legacy per TPM 2.0.

Smart card basate su TPM

La smart card basata su TPM di Windows, che è una smart card virtuale, può essere configurata per consentire l'accesso al sistema. A differenza delle smart card fisiche, il processo di accesso usa una chiave basata su TPM con un valore di autorizzazione. L'elenco seguente mostra i vantaggi delle smart card virtuali:

  • Le smart card fisiche possono applicare il blocco solo per il PIN della smart card fisica e possono reimpostare il blocco dopo l'immissione del PIN corretto. Con una smart card virtuale, la protezione anti-martellamento del TPM non viene reimpostata dopo un'autenticazione riuscita. Il numero consentito di errori di autorizzazione prima che il TPM entri in blocco include molti fattori.

  • I produttori di hardware e gli sviluppatori di software hanno la possibilità di usare le funzionalità di sicurezza del TPM per soddisfare i propri requisiti.

  • L'intento di selezionare 32 errori come soglia di blocco è che gli utenti bloccano raramente il TPM (anche quando imparano a digitare nuove password o se bloccano e sbloccano spesso i computer). Se gli utenti bloccano il TPM, devono attendere 10 minuti o usare altre credenziali per accedere, ad esempio un nome utente e una password.