Qui si confondono due tecnologie.
In primo luogo, c'è UEFI e la sua funzione Secure Boot. Secure Boot può essere usato per assicurare che il tuo boot loader e il tuo kernel del sistema operativo non vengano manomessi. Per fare ciò, il tuo boot loader e il kernel devono essere firmati digitalmente e la tua configurazione UEFI deve contenere i certificati / le firme necessarie per verificare le firme. Windows 8 su piattaforme ARM utilizza UEFI per impedire efficacemente l'installazione di altri sistemi operativi. UEFI, tuttavia, non offre alcuna protezione reale contro gli attacchi a livello di firmware.
Ora per il TPM: il TPM è un chip hardware passivo che è (tra le altre cose) utilizzato per memorizzare misure (valori hash) di ad es. software in modo resistente alla manomissione e rendere disponibili tali misurazioni per la segnalazione.
Le schede madre fornite con un TPM hanno requisiti speciali per il loro firmware. Innanzitutto, hanno un piccolo pezzo di firmware speciale chiamato Core Root of Trust for Measurement (CRTM). Il CRTM viene eseguito per primo durante l'avvio e memorizza le misurazioni di se stesso e del prossimo pezzo di firmware (BIOS o UEFI) prima di passare il controllo ad esso. Il prossimo pezzo di firmware misurerebbe in genere il boot loader che a sua volta misurerebbe il kernel del sistema operativo e così via fino al livello di applicazione (in dettaglio il processo di misurazione è più complicato, ovviamente). La maggior parte dei boot loader e dei sistemi operativi, tuttavia, non utilizza il TPM in questo modo. Ad ogni modo, se hai un TPM sulla tua scheda madre, puoi essere certo che misuri il firmware.
Che cosa puoi fare con queste misurazioni? BitLocker, ad es. utilizza Sealing per associare le chiavi necessarie per decrittografare il tuo HD a quelle misure. Ciò significa che i tuoi codici HD non possono essere utilizzati se il malware danneggia il tuo firmware. Quindi, su Windows è possibile utilizzare BitLocker per proteggere dalla manomissione del firmware. Non sono a conoscenza di qualcosa di simile per Linux (anche se potrebbe esistere qualcosa). Tuttavia, è possibile utilizzare un server Radius abilitato TNC (Trusted Network Connect) e un wpasupplicant abilitato per TNC per verificare le misurazioni da remoto.