Modalità di utilizzo del modulo Piattaforma attendibile da parte di Windows

Il sistema operativo Windows offre una sicurezza basata su hardware più approfondita all'interno di molte funzionalità, ottimizzando la sicurezza della piattaforma e aumentando al tempo stesso l'usabilità. Per ottenere molti di questi miglioramenti alla sicurezza, Windows usa ampiamente il modulo TPM (Trusted Platform Module). Questo articolo offre una panoramica del TPM, descrive il funzionamento e illustra i vantaggi offerti da TPM a Windows e l'impatto cumulativo sulla sicurezza dell'esecuzione di Windows in un dispositivo con un TPM.

Panoramica di TPM

Il TPM è un modulo di crittografia che migliora la sicurezza e la privacy del computer. Le funzionalità di base associate alla sicurezza del computer sono la protezione dei dati tramite crittografia e decrittografia, la protezione di credenziali di autenticazione e la dimostrazione di quale software è in esecuzione su un sistema. Il TPM è utili con tutti questi scenari e molto altro.

Storicamente, i TPM sono stati chip discreti saldati alla scheda madre di un computer. Tali implementazioni consentono al produttore dell'apparecchiatura originale del computer (OEM) di valutare e certificare il TPM separato dal resto del sistema. Anche se le implementazioni di TPM separati sono ancora comuni, possono essere problematiche per i dispositivi integrati di piccole dimensioni o con un basso consumo energetico. Alcune implementazioni TPM più recenti integrano le funzionalità TPM nello stesso chipset di altri componenti della piattaforma, mantenendo comunque una separazione logica simile a quella dei chip TPM separati.

I TPM sono passivi: ricevono comandi e restituiscono le risposte. Per sfruttare al meglio un TPM, l'OEM deve integrare attentamente l'hardware e il firmware del sistema con il TPM per inviare comandi a quest'ultimo e reagire alle sue risposte. I TPM sono stati originariamente progettati per offrire vantaggi in termini di sicurezza e privacy al proprietario e agli utenti di una piattaforma, ma le versioni più recenti possono offrire vantaggi in termini di sicurezza e privacy all'hardware del sistema stesso. Prima che sia possibile usarlo per scenari avanzati, è necessario effettuare il provisioning di un TPM. Windows effettua automaticamente il provisioning di un TPM, ma se il sistema operativo viene reinstallato, potrebbe essere necessario ripetere il provisioning esplicito del TPM prima di poter usare tutte le funzionalità del TPM.

Trusted Computing Group (TCG) è l'organizzazione no profit che pubblica e mantiene la specifica TPM. L'obiettivo di TCG è sviluppare, definire e promuovere standard globali e indipendenti dal fornitore che supportano una radice di attendibilità hardware per piattaforme di elaborazione attendibili e interoperabili. TCG pubblica inoltre le specifiche TPM attraverso lo standard internazionale 11889 ISO/IEC, usando il processo di invio delle specifiche pubblicamente disponibili definito dal comitato tecnico congiunto 1 tra ISO (International Organization for Standardization) e IEC (International Electrotechnical Commission).

Gli OEM implementano il TPM come componente in una piattaforma di elaborazione attendibile, ad esempio un PC, un tablet o un telefono. Le piattaforme di elaborazione attendibili usano il TPM per supportare scenari di privacy e sicurezza che il solo software non può raggiungere. Ad esempio, il software da solo non può segnalare in modo affidabile se il malware è presente durante il processo di avvio del sistema. La stretta integrazione tra il TPM e la piattaforma aumenta la trasparenza del processo di avvio e supporta la valutazione dell'integrità del dispositivo, rendendo possibile un'affidabile misurazione e segnalazione del software che avvia il dispositivo. L'implementazione di un TPM come parte di una piattaforma di elaborazione attendibile fornisce una radice hardware di attendibilità, ovvero si comporta in modo attendibile. Ad esempio, se una chiave archiviata in un TPM ha proprietà che non consentono l'esportazione della chiave, tale chiave non può lasciare il TPM.

TCG ha progettato il TPM come una soluzione di sicurezza a basso costo e per il mercato di massa, in grado di soddisfare i requisiti di diversi segmenti di clienti. Esistono variazioni nelle proprietà di sicurezza delle diverse implementazioni del TPM, proprio come esistono variazioni nei requisiti dei clienti e normativi per i diversi settori. Negli appalti pubblici, ad esempio, alcuni governi hanno chiaramente definito i requisiti di sicurezza per i TPM, mentre altri no.

I programmi di certificazione per tPM e tecnologia in generale continuano a evolversi man mano che aumenta la velocità dell'innovazione. Anche se avere un TPM è chiaramente meglio che non avere un TPM, il miglior consiglio di Microsoft consiste nel determinare le esigenze di sicurezza dell'organizzazione e cercare eventuali requisiti normativi associati all'approvvigionamento per il settore. Il risultato è un equilibrio tra scenari utilizzati, livello di garanzia, costi, convenienza e disponibilità.

TPM in Windows

Le funzionalità di sicurezza di Windows combinate con i vantaggi di un TPM offrono vantaggi pratici per la sicurezza e la privacy. Le sezioni seguenti iniziano con le principali funzionalità di sicurezza correlate a TPM in Windows e illustrano come le tecnologie chiave usano il TPM per abilitare o aumentare la sicurezza.

Provider di crittografia della piattaforma

Windows include un framework di crittografia denominato API di crittografia: Next Generation (CNG), il suo approccio di base consiste nell'implementare gli algoritmi di crittografia in modi diversi, ma con una comune API (Application Programming Interface). Le applicazioni che utilizzano la crittografia possono usare l'API comune senza conoscere i dettagli di come un algoritmo viene implementato, tanto meno l'algoritmo stesso.

Sebbene CNG sembri un punto di partenza ordinario, vengono illustrati alcuni dei vantaggi offerti da un TPM. Sotto l'interfaccia CNG, Windows o terze parti forniscono un provider di crittografia (ovvero un'implementazione di un algoritmo) implementato come librerie software da solo o in una combinazione di software e hardware di sistema disponibile o hardware non Microsoft. Se implementato tramite l'hardware, il provider di crittografia comunica con l'hardware dietro l'interfaccia del software di CNG.

Il provider di crittografia della piattaforma, introdotto nel Windows 8, espone le proprietà speciali TPM seguenti, che i provider CNG solo software non possono offrire o non possono offrire con la stessa efficacia:

  • Protezione delle chiavi. Il provider di crittografia della piattaforma può creare chiavi nel TPM con limitazioni relative all'utilizzo. Il sistema operativo può caricare e usare le chiavi nel TPM senza copiare le chiavi nella memoria di sistema, dove sono vulnerabili al malware. Il provider di crittografia della piattaforma può anche configurare le chiavi protette da un TPM in modo che non siano rimovibili. Se un TPM crea una chiave, la chiave è univoca e si trova solo in quel TPM specifico. Se il TPM importa una chiave, il provider di crittografia della piattaforma può usare la chiave in tale TPM, ma tale TPM non è un'origine per creare più copie della chiave o per abilitare l'uso di copie altrove. In netto contrasto, le soluzioni software che proteggono le chiavi da copie sono soggette ad attacchi di ingegneria inversa (reverse engineering), in cui un utente malintenzionato individua la soluzione che archivia le chiavi o crea copie delle chiavi, mentre sono in memoria durante l'utilizzo.

  • Protezione da attacchi di dizionario. Le chiavi protette da un TPM possono richiedere un valore di autorizzazione, ad esempio un PIN. Grazie alla protezione dagli attacchi con dizionario, il TPM può impedire gli attacchi che provano un numero elevato di tentativi per determinare il PIN. Dopo un numero eccessivo di tentativi, il TPM restituisce semplicemente un errore che indica che non sono più consentiti tentativi per un determinato periodo di tempo. Le soluzioni software possono fornire funzionalità simili, ma non possono fornire lo stesso livello di protezione, soprattutto se il sistema viene riavviato, l'orologio di sistema cambia o vengono ripristinati i file sul disco rigido che contano le ipotesi non riuscite. Inoltre, grazie alla protezione dagli attacchi con dizionario, i valori di autorizzazione, ad esempio i PIN possono essere più brevi e facili da ricordare benché il livello di protezione sia lo stesso di valori più complessi come quando si utilizzano soluzioni software.

Queste funzionalità del TPM offrono vantaggi distinti del provider di crittografia della piattaforma rispetto alle soluzioni basate su software. Un modo pratico per vedere questi vantaggi in azione è quando si usano i certificati in un dispositivo Windows. Su piattaforme che includono un TPM, Windows può utilizzare il provider di crittografia della piattaforma per fornire l'archiviazione dei certificati. I modelli di certificato possono specificare che un TPM utilizza il provider di crittografia della piattaforma per proteggere la chiave associata a un certificato. Negli ambienti misti, in cui alcuni computer potrebbero non avere un TPM, il modello di certificato potrebbe preferire il provider di crittografia della piattaforma rispetto al provider di software Windows standard. Se un certificato è configurato come non in grado di essere esportato, la chiave privata per il certificato è limitata e non può essere esportata dal TPM. Se il certificato richiede un PIN, il PIN ottiene automaticamente la protezione dagli attacchi del dizionario del TPM.

Smart card virtuale

Warning

Windows Hello for Business e le chiavi di sicurezza FIDO2 sono metodi moderni di autenticazione a due fattori per Windows. I clienti che usano smart card virtuali sono invitati a passare a Windows Hello for Business o FIDO2. Per le nuove installazioni di Windows, è consigliabile Windows Hello for Business o le chiavi di sicurezza FIDO2.

Le smart card sono dispositivi fisici che in genere archiviano un singolo certificato e la chiave privata corrispondente. Gli utenti inseriscono una smart card in un lettore di card incorporato oppure in uno USB e immettono un PIN per sbloccarla. Windows può quindi accedere al certificato della scheda e usare la chiave privata per l'autenticazione o per sbloccare i volumi di dati protetti da BitLocker. Le smart card sono diffuse poiché forniscono l'autenticazione a due fattori che richiede sia che l'utente disponga di qualcosa (ovvero la smart card), sia che l'utente conosca qualcosa (ad esempio, il PIN della smart card). Tuttavia, le smart card possono essere costose perché richiedono l'acquisto e la distribuzione di smart card e lettori di smart card.

In Windows, la funzionalità di smart card virtuale consente al TPM di simulare una smart card inserita in modo permanente. Il TPM diventa qualcosa che l'utente ha , ma richiede comunque un PIN. Mentre le smart card fisiche limitano il numero di tentativi di PIN prima di bloccare la scheda e richiedere una reimpostazione, una smart card virtuale si basa sulla protezione dagli attacchi del dizionario del TPM per evitare troppe ipotesi di PIN.

Per le smart card virtuali basate su TPM, il TPM protegge l'uso e l'archiviazione della chiave privata del certificato, in modo che non possa essere copiata quando è in uso o archiviata e usata altrove. L'uso di un componente che fa parte del sistema anziché di una smart card fisica separata può ridurre il costo totale di proprietà. La scheda o la schedasmarrita non sono applicabili e i vantaggi dell'autenticazione a più fattori basata su smart card vengono mantenuti. Per gli utenti, le smart card virtuali sono semplici da usare poiché richiedono solo un PIN per sbloccarle. Le smart card virtuali supportano gli stessi scenari supportati da quelle fisiche, inclusi l'accesso a Windows o l'autenticazione per accedere alle risorse.

Windows Hello for Business

Windows Hello for Business fornisce metodi di autenticazione sviluppati per sostituire le password, che possono essere difficili da ricordare e facilmente compromesse. Inoltre, le soluzioni nome utente/password per l'autenticazione spesso riutilizzano le stesse combinazioni di credenziali in più dispositivi e servizi. Se tali credenziali vengono compromesse, vengono compromesse in più posizioni. Windows Hello for Business combina le informazioni di cui è stato effettuato il provisioning in ogni dispositivo (ad esempio, la chiave di crittografia) con informazioni aggiuntive per autenticare gli utenti. In un sistema dotato di TPM, il TPM può proteggere la chiave. Se un sistema non dispone di un TPM, le tecniche basate su software proteggono la chiave. Le informazioni aggiuntive fornite dell'utente possono essere un valore PIN oppure, se il sistema dispone dell'hardware necessario, le informazioni biometriche, come il riconoscimento delle impronte digitali o facciale. Per proteggere la privacy, le informazioni biometriche vengono utilizzate solo sul dispositivo su cui è stato eseguito il provisioning per accedere alla chiave su cui è stato eseguito il provisioning: non vengono condivise tra i dispositivi.

L'adozione della nuova tecnologia di autenticazione richiede che i provider di identità e le organizzazioni distribuiscano e utilizzino tale tecnologia. Windows Hello for Business consente agli utenti di eseguire l'autenticazione con l'account Microsoft esistente, un account Active Directory, un account Microsoft Entra o anche servizi di relying party o servizi di relying party non Microsoft che supportano l'autenticazione Fast ID Online V2.0.

I provider di identità sono dotati di flessibilità nel modo in cui effettuano il provisioning delle credenziali sui dispositivi client. Ad esempio, un'organizzazione potrebbe effettuare il provisioning solo dei dispositivi che dispongono di un TPM in modo che l'organizzazione sappia che un TPM protegge le credenziali. La possibilità di distinguere un TPM dal malware che agisce come un TPM richiede le seguenti funzionalità del TPM (vedere la figura 1):

  • Chiave di verifica dell'autenticità. Il produttore del TPM può creare una chiave speciale nel TPM denominata una chiave di verifica dell'autenticità. Un certificato della chiave di verifica, firmato dal produttore, indica che la chiave di verifica dell'autenticità è presente in un TPM creato dal produttore. Le soluzioni possono usare il certificato con il TPM contenente la chiave di verifica dell'autenticità per confermare che uno scenario prevede effettivamente un TPM di un produttore TPM specifico (anziché malware che agisce come un TPM).

  • Chiave di identità di attestazione. Per proteggere la privacy, la maggior parte degli scenari del TPM non utilizzano direttamente una chiave di verifica dell'autenticità effettiva. Al contrario, utilizzano le chiavi di identità dell'attestazione, e un'autorità di certificazione (CA) di identità usa la chiave di verifica dell'autenticità e i suoi certificati per dimostrare che una o più chiavi di identità dell'attestazione esistono in un TPM reale. L'autorità di certificazione di identità emette certificati di chiavi di identità dell'attestazione. In genere più di un'autorità di certificazione di identità visualizzerà lo stesso certificato di chiave di verifica dell'autenticità che consente di identificare in modo univoco il TPM, ma è possibile creare un numero qualsiasi di certificati di chiave di identità dell'attestazione per limitare le informazioni condivise in altri scenari.

Funzionalità TPM.Figura 1: Gestione delle chiavi crittografiche TPM

Per Windows Hello for Business, Microsoft può ricoprire il ruolo dell'autorità di certificazione di identità. I servizi Microsoft possono emettere un certificato di chiave di identità dell'attestazione per ogni dispositivo, identificare il provider per assicurare la protezione della privacy e aiutare i provider di identità a verificare che i requisiti del TPM siano soddisfatti prima che venga effettuato il provisioning delle credenziali di Windows Hello for Business.

Crittografia unità BitLocker

BitLocker fornisce la crittografia dell'intero volume per proteggere i dati inattivi. La configurazione dei dispositivi più comune divide il disco rigido in volumi diversi. Il sistema operativo e i dati utente risiedono in un volume che contiene informazioni riservate, mentre altri volumi contengono informazioni pubbliche, ad esempio componenti di avvio, informazioni sul sistema e strumenti per il ripristino. Questi altri volumi vengono usati raramente in modo da non dover essere visibili agli utenti. Senza più protezioni, se il volume contenente il sistema operativo e i dati utente non è crittografato, qualcuno può avviare un altro sistema operativo e ignorare facilmente l'imposizione delle autorizzazioni di file da parte del sistema operativo previsto per leggere i dati utente.

Nella configurazione più comune, BitLocker crittografa il volume del sistema operativo in modo che se il computer o il disco rigido vengono persi o rubati, quando vengono spenti, i dati nel volume rimangono riservati. Quando il computer viene acceso, si avvia normalmente e continua con il prompt di accesso di Windows, il solo percorso in avanti consiste per l'utente nell'accesso con le proprie credenziali, consentendo al sistema operativo di applicare le autorizzazioni file normali. Se cambia qualcosa sul processo di avvio, tuttavia, ad esempio, viene avviato un sistema operativo diverso da un dispositivo USB. Il volume del sistema operativo e i dati utente non possono essere letti e non sono accessibili. Il TPM e il firmware di sistema collaborano per registrare le misurazioni della modalità di avvio del sistema, inclusi i dettagli del software caricato e della configurazione, ad esempio se si è verificato l'avvio dal disco rigido o da un dispositivo USB. BitLocker si basa sul TPM per consentire l'utilizzo di una chiave solo quando l'avvio si verifica come previsto. Il firmware di sistema e il TPM sono progettati con attenzione per collaborare per fornire le seguenti funzionalità:

  • Radice hardware dell'attendibilità per la misurazione. Un TPM consente al software di inviare i comandi che registrano le misurazioni del software o le informazioni di configurazione. Queste informazioni possono essere calcolate mediante un algoritmo hash che essenzialmente trasforma una grande quantità di dati in un valore hash di piccole dimensioni e statisticamente univoco. Il firmware di sistema è dotato di un componente denominato CRTM (Core Root of Trust for Measurement) che è ritenuto attendibile in modo implicito. Il CRTM in modo incondizionato esegue l'hashing del componente software successivo e registra il valore di misurazione inviando un comando al TPM. I componenti successivi, indipendentemente dal fatto che si tratti di caricatori del firmware di sistema o del sistema operativo, continuano il processo misurando qualsiasi componente software caricato prima di essere eseguito. Poiché la misurazione di ogni componente viene inviata al TPM prima dell'esecuzione, un componente non può cancellare la misurazione dal TPM. (Tuttavia, le misurazioni vengono cancellate quando il sistema viene riavviato). Il risultato è che a ogni passaggio del processo di avvio del sistema, il TPM contiene le misurazioni del software di avvio e della configurazione. Qualsiasi modifica del software di avvio o di configurazione ottiene misurazioni del TPM diverse a livello di quel passaggio e di passaggi successivi. Poiché il firmware di sistema incondizionatamente inizia la catena di misurazioni, fornisce una radice di attendibilità hardware per le misurazioni del TPM. A un certo punto del processo di avvio, il valore di registrazione di tutte le informazioni del software caricato e della configurazione si riduce e la catena di misurazioni si arresta. Il TPM consente la creazione di chiavi che possono essere utilizzate solo quando i registri di configurazione della piattaforma contenenti le misurazioni dispongono di valori specifici.

  • Chiave usata solo quando le misurazioni di avvio sono accurate. BitLocker crea una chiave nel TPM che può essere utilizzata solo quando le misurazioni di avvio corrispondono a un valore previsto. Il valore previsto viene calcolato per il passaggio nel processo di avvio quando Windows Boot Manager viene eseguito dal volume del sistema operativo nel disco rigido del sistema. Windows Boot Manager, che viene archiviato non crittografato nel volume di avvio, deve utilizzare la chiave TPM, in modo che possa decrittografare i dati letti nella memoria dal volume del sistema operativo e l'avvio possa continuare utilizzando il volume del sistema operativo crittografato. Se viene avviato un sistema operativo diverso o la configurazione viene modificata, i valori di misurazione nel TPM saranno diversi, il TPM non consentirà a Windows Boot Manager di usare la chiave e il processo di avvio non può continuare normalmente perché i dati nel sistema operativo non possono essere decrittografati. Se un utente malintenzionato tenta di avviare il sistema con un sistema operativo diverso o con un altro dispositivo, le misurazioni del software o della configurazione nel TPM saranno errate e il TPM non consentirà l'utilizzo della chiave necessaria per decrittografare il volume del sistema operativo. Come misura di salvaguardia, se i valori di misurazione cambiano in modo imprevisto, l'utente può sempre usare la chiave di ripristino di BitLocker per accedere ai dati del volume. Le organizzazioni possono configurare BitLocker per archiviare la chiave di ripristino Active Directory Domain Services (AD DS).

Le caratteristiche hardware del dispositivo sono importanti per BitLocker e per la capacità di proteggere i dati. Una delle considerazioni è se il dispositivo fornisce vettori di attacco quando il sistema è nella schermata di accesso. Ad esempio, se il dispositivo Windows ha una porta che consente l'accesso diretto alla memoria in modo che qualcuno possa collegare l'hardware e leggere la memoria, un utente malintenzionato può leggere la chiave di decrittografia del volume del sistema operativo dalla memoria mentre si è nella schermata di accesso a Windows. Per limitare questo rischio, le organizzazioni possono configurare BitLocker in modo tale che la chiave del TPM richieda sia le misurazioni del software corrette, sia un valore di autorizzazione. Il processo di avvio del sistema si arresta in corrispondenza di Windows Boot Manager e all'utente viene richiesto di immettere il valore di autorizzazione per la chiave del TPM oppure di inserire un dispositivo USB con il valore. Questo processo arresta il caricamento automatico della chiave nella memoria da parte di BitLocker, dove potrebbe essere vulnerabile, ma offre un'esperienza utente meno consigliata.

L'hardware più recente e Windows interagiscono meglio per disabilitare l'accesso diretto alla memoria tramite porte e ridurre i vettori di attacco. Il risultato è che le organizzazioni possono distribuire più sistemi senza richiedere agli utenti di immettere informazioni aggiuntive sulle autorizzazioni durante il processo di avvio. L'hardware corretto consente l'uso di BitLocker con la configurazione "solo TPM" che offre agli utenti un'esperienza di accesso Single Sign-On senza dover immettere un PIN o una chiave USB durante l'avvio.

Crittografia dispositivo

La crittografia dispositivo è la versione consumer di BitLocker e utilizza la stessa tecnologia sottostante. Come funziona se un cliente accede con un account Microsoft e il sistema soddisfa i requisiti hardware di Standby moderno, Crittografia unità BitLocker viene abilitato automaticamente in Windows. Viene eseguito il backup della chiave di ripristino in Microsoft Cloud ed è accessibile all'utente mediante il proprio account Microsoft. I requisiti hardware di Standby moderno informano Windows che l'hardware è appropriato per la distribuzione di Crittografia dispositivi e consente l'uso della configurazione "solo TPM" per una semplice esperienza utente. Inoltre, l'hardware di standby moderno è progettato per ridurre la probabilità che i valori di misurazione vengano modificati e richiedano al cliente la chiave di ripristino.

Per le misurazioni del software, la crittografia dispositivo si basa sulle misurazioni dell'autorità che fornisce componenti software (basata sulla firma del codice dai produttori, ad esempio gli OEM o Microsoft) invece degli hash precisi degli stessi componenti software. Ciò consente la manutenzione dei componenti senza modificare i valori di misurazione risultanti. Per le misurazioni di configurazione, i valori utilizzati si basano sui criteri di protezione di avvio, invece delle molte altre impostazioni di configurazione registrate durante l'avvio. Inoltre questi valori vengono modificati meno frequentemente. Il risultato è che la crittografia dispositivo è stata abilitata sull'hardware appropriato in un modo descrittivo proteggendo anche i dati.

Avvio con misurazioni

Windows 8 ha introdotto l'avvio con misurazioni come un modo per il sistema operativo per registrare la catena di misurazioni dei componenti software e le informazioni di configurazione nel TPM mediante l'inizializzazione del sistema operativo Windows. Nelle versioni precedenti di Windows, la catena di misurazioni è stata interrotta in corrispondenza del componente Windows Boot Manager e le misurazioni nel TPM non erano utili per comprendere lo stato iniziale di Windows.

Il processo di avvio di Windows avviene in fasi e spesso prevede driver non Microsoft per comunicare con hardware specifico del fornitore o implementare soluzioni antimalware. Per il software, l'avvio con misurazioni registra misurazioni del kernel di Windows, driver antimalware ad esecuzione anticipata e driver di avvio nel TPM. Per le impostazioni di configurazione, l'avvio con misurazioni registra informazioni pertinenti per la sicurezza, come i dati relativi alle firme utilizzate dai driver antimalware e i dati di configurazione sulle funzionalità di sicurezza di Windows (ad esempio, se BitLocker è abilitato o disabilitato).

L'avvio con misurazioni assicura che le misurazioni del TPM riflettano completamente lo stato iniziale delle impostazioni del software Windows e della configurazione. Se le impostazioni di sicurezza e le altre protezioni sono state configurate correttamente, possono essere considerate attendibili per mantenere la sicurezza del sistema operativo in esecuzione in seguito. Altri scenari possono usare lo stato iniziale del sistema operativo per determinare se il sistema operativo in esecuzione deve essere considerato attendibile.

Le misurazioni del TPM sono progettate per evitare la registrazione di tutte le informazioni sensibili della privacy come una misurazione. Come una protezione aggiuntiva della privacy, l'avvio con misurazioni arresta la catena di misurazioni in corrispondenza dello stato iniziale di Windows. Di conseguenza, la serie di misurazioni non include dettagli sulle applicazioni in uso oppure sulle modalità con cui Windows viene utilizzato. Le informazioni sulle misurazioni possono essere condivise con entità esterne per mostrare che il dispositivo applica criteri di sicurezza adeguati e che non è stato avviato con un malware.

Il TPM offre il seguente modo per gli scenari per utilizzare le misurazioni registrate nel TPM durante l'avvio:

  • Attestazione remota. Utilizzando una chiave di identità dell'attestazione, il TPM può generare e firmare a livello crittografico un'istruzione (oofferta) delle misurazioni correnti nel TPM. Windows può creare chiavi di identità di attestazione univoche per vari scenari per impedire a valutatori separati di collaborare per tenere traccia dello stesso dispositivo. Le informazioni aggiuntive nell'offerta sono state crittografate per limitare la condivisione delle informazioni e per una migliore protezione della privacy. Inviando l'offerta a un'entità remota, un dispositivo può attestare quali software e impostazioni di configurazione sono stati utilizzati per avviare il dispositivo e inizializzare il sistema operativo. Un certificato della chiave di identità dell'attestazione può fornire un'ulteriore garanzia che l'offerta proviene da un TPM reale. L'attestazione remota è il processo delle misurazioni di registrazione nel TPM, che genera un'offerta e invia le informazioni dell'offerta a un altro sistema che valuta le misure per stabilire l'attendibilità in un dispositivo. La figura 2 illustra questo processo.

Quando vengono aggiunte nuove funzionalità di sicurezza a Windows, l'avvio con misurazioni aggiunge informazioni sulla configurazione pertinenti per la sicurezza alle misurazioni registrate nel TPM. L'avvio con misurazioni abilita gli scenari di attestazione remota che riflettono il firmware di sistema e lo stato di inizializzazione di Windows.

Processo per creare prove del software di avvio e della configurazione tramite TPM.Figura 2: Processo usato per creare prove del software di avvio e della configurazione usando un TPM

Attestazione dell'integrità

Alcuni miglioramenti di Windows consentono alle soluzioni di sicurezza di implementare scenari di attestazione remota. Microsoft fornisce un servizio di attestazione dell'integrità, che può creare certificati della chiave di identità dell'attestazione per i TPM da produttori diversi, nonché analizzare informazioni sull'avvio con misurazioni per estrarre semplici asserzioni di sicurezza, ad esempio se BitLocker è abilitato o disabilitato. Le semplici asserzioni di sicurezza possono essere utilizzate per valutare l'integrità del dispositivo.

Le soluzioni di gestione di dispositivi mobili (MDM) possono ricevere semplici asserzioni di sicurezza dal servizio di attestazione dell'integrità Microsoft per un client senza dover gestire la complessità dell'offerta o delle misurazioni dettagliate del TPM. Le soluzioni MDM possono agire sulle informazioni sulla sicurezza mettendo in quarantena i dispositivi non integri oppure bloccando l'accesso ai servizi cloud come Microsoft Office 365.

Credential Guard

Credential Guard è una nuova funzionalità di Windows che consente di proteggere le credenziali di Windows nelle organizzazioni che hanno distribuito Active Directory Domain Services. In passato, le credenziali di un utente ,ad esempio una password di accesso, venivano hash per generare un token di autorizzazione. L'utente utilizzava il token per accedere alle risorse che era autorizzato a usare. Una debolezza del modello di token è che il malware che aveva accesso al kernel del sistema operativo potrebbe esaminare la memoria del computer e raccogliere tutti i token di accesso attualmente in uso. Quindi l'autore dell'attacco potrebbe utilizzare i token raccolti per accedere ad altri computer e raccogliere ulteriori credenziali. Questo tipo di attacco è chiamato attacco "pass the hash", una tecnica di malware che infetta un computer per infettare molti computer in un'organizzazione.

Analogamente al modo in cui Microsoft Hyper-V mantiene separate tra loro le macchine virtuali, Credential Guard usa la virtualizzazione per isolare il processo che esegue l'hash delle credenziali in un'area di memoria a cui il kernel del sistema operativo non può accedere. Questa area di memoria isolata viene inizializzata e protetta durante il processo di avvio in modo che i componenti nell'ambiente del sistema operativo più grande non possano manometterla. Credential Guard utilizza il TPM per proteggere le proprie chiavi con le misurazioni del TPM, in modo che siano accessibili solo durante il processo di avvio quando l'area separata viene inizializzata. Non sono disponibili per il normale kernel del sistema operativo. Il codice di autorità della sicurezza locale nel kernel di Windows interagisce con l'area di memoria isolata passando le credenziali e ricevendo in cambio i token di autorizzazione monouso.

La soluzione risultante fornisce una difesa approfondita, perché anche se il malware viene eseguito nel kernel del sistema operativo, non può accedere ai segreti all'interno dell'area di memoria isolata che genera effettivamente token di autorizzazione. La soluzione non risolve il problema dei logger di chiavi perché le password acquisite da tali logger passano effettivamente attraverso il kernel Windows normale, ma se combinate con altre soluzioni, ad esempio le smart card per l'autenticazione, Credential Guard migliora notevolmente la protezione delle credenziali in Windows.

Conclusione

Il TPM aggiunge vantaggi di sicurezza basati su hardware a Windows. Se installata su hardware che include un TPM, Window offre vantaggi di sicurezza notevolmente migliorati. La tabella seguente riepiloga i vantaggi principali delle funzionalità principali del TPM.


Funzionalità Vantaggi se usati su un sistema con un TPM
Provider di crittografia della piattaforma - Se il computer è compromesso, la chiave privata associata al certificato non può essere copiata dal dispositivo.
- Il meccanismo di attacco del dizionario del TPM protegge i valori PIN per l'uso di un certificato.
Smart card virtuale Ottenere una sicurezza simile a quella delle smart card fisiche senza distribuire smart card fisiche o lettori di schede.
Windows Hello for Business - Le credenziali di cui è stato effettuato il provisioning in un dispositivo non possono essere copiate altrove.
- Verificare il TPM di un dispositivo prima del provisioning delle credenziali.
Crittografia unità BitLocker Sono disponibili più opzioni per le aziende per proteggere i dati inattivi, bilanciando al contempo i requisiti di sicurezza con hardware del dispositivo diverso.
Crittografia dispositivo Con un account Microsoft e l'hardware corretto, i dispositivi dei consumatori possono usufruire facilmente della protezione dei dati inattivi.
Avvio con misurazioni Una radice hardware dell'attendibilità contiene misure di avvio che consentono di rilevare malware durante l'attestazione remota.
Attestazione dell'integrità Le soluzioni MDM possono eseguire facilmente l'attestazione remota e valutare l'integrità dei client prima di concedere l'accesso alle risorse o ai servizi cloud, ad esempio Office 365.
Credential Guard La difesa in profondità aumenta in modo che anche se il malware ha diritti amministrativi su un computer, è molto più difficile compromettere altri computer in un'organizzazione.

Anche se alcune delle funzionalità di cui sopra hanno requisiti hardware aggiuntivi (ad esempio, il supporto della virtualizzazione), il TPM è un elemento fondamentale della sicurezza di Windows. Microsoft e altre parti interessate del settore continuano a migliorare gli standard globali associati al TPM e a trovare sempre più applicazioni che lo utilizzino per offrire vantaggi tangibili ai clienti. Microsoft ha incluso il supporto per la maggior parte delle funzionalità TPM nella sua versione di Windows per Internet delle cose (IoT) denominata Windows IoT Core. I dispositivi IoT che potrebbero essere distribuiti in posizioni fisiche meno sicure e connessi a servizi cloud come Hub IoT di Azure per la gestione possono utilizzare il TPM in modi innovativi per soddisfare i requisiti di sicurezza emergenti.