La sicurezza informatica è oggi uno degli aspetti che desta parecchie preoccupazioni, sia in ambito aziendale che in quello privato. Attraverso ogni tipologia di dispositivo, dagli smartphone ai computer fino ai macchinari smart, l’intera rete scambia giornalmente una mole crescente di dati e informazioni. All’interno di questa considerevole quantità sono presenti anche dati riservati o sensibili, motivo per cui ogni dispositivo connesso (anche il meno importante) svolge un ruolo e ha un impatto sulla sicurezza della rete. Per questo è importante che siano predisposti sistemi di sicurezza efficaci allo scopo di garantire un ambiente sicuro. Qui entra in gioco il Trusted Platform Module (TPM) e grazie al suo utilizzo si possono criptare le informazioni salvate sui dispositivi embedded e renderle indecifrabili da chiunque non abbia le autorizzazioni per potervi accedere.
Sandro Mascetti CEO di MAS Elettronica, definisce il TPM, ne spiega le caratteristiche, richiamando l’attenzione su quanto sia fondamentale l’implementazione nei sistemi.
Che cos’è un Trusted Platform Module?
Nel tentativo di garantire un ambiente sicuro e un root of trust ad alta sicurezza vengono usati i moduli TPM. Il TPM costituito da un processore crittografico che viene installato sui dispositivi embedded ed è incaricato di svolgere operazioni come:
- Comunicare con la CPU tramite l’SPI (Serial Peripheral Interface) che è un sistema di comunicazione seriale tra un microcontrollore e altri circuiti integrati o tra più microcontrollori.
- Comunicare con la CPU attraverso l’I2C (Inter Integrated Circuit), un sistema di comunicazione seriale bifilare utilizzato tra circuiti integrati.
Questi due sistemi di comunicazione possono essere utilizzati indifferentemente per la comunicazione seriale.
Inoltre il TPM deve eseguire, come detto, operazioni e funzioni crittografiche ma anche la gestione delle chiavi, e dei certificati. Questo modulo è stato progettato per fornire una sicurezza hardware di base fondata sugli standard TCG (Trusted Computing Group) ed è compatibile con diversi sistemi operativi come ad esempio Windows e Linux.
A cosa serve un TPM?
In parole povere, lo scopo del TPM è quello di confermare che, all’interno dei dispositivi embedded, il relativo sistema operativo e il firmware abbiano sempre le condizioni normali e che non presentino manomissioni. Il TPM garantisce l’integrità ai sistemi embedded e viene generalmente implementato con la CPU in modo da essere aggiunto a qualsiasi dispositivo. Le funzioni di sicurezza hardware del TPM più comuni verificano il contenuto di ciascun elemento durante il processo di avvio del dispositivo incorporato. Durante questo processo viene eseguito il codice di avvio caricato (che è incluso nel preloader, nel bootloader e nel kernel) e che può essere utilizzato per comunicare con il TPM per verifica dell’integrità dell’elemento successivo. In pratica già nelle fasi iniziali viene verificato il corretto avvio e si evitano intrusioni illecite, per cui nel caso in cui il TPM individua un’anomalia o modifica blocca il caricamento dei dati o dei sw a rischio. Nel corso degli anni il TPM è diventato di utilizzo comune sui dispositivi embedded grazie ai suoi principali vantaggi:
- Gestione delle chiavi (Generazione, archiviazione e limitazione dell’utilizzo);
- Il TPM viene distribuito con chiave RSA masterizzata univoca per la maggior parte delle operazioni;
- Calcolo della chiave privata dell’hardware TPM.
Cosa fa il TPM
Utilizzando un modulo TPM si possono creare e archiviare chiavi crittografiche (wrapping or binding) che possono essere decifrate solo dal TPM stesso. Un modulo di questo tipo può essere utilizzato, ad esempio, per l’autenticazione a due fattori con una chiave RSA (algoritmo di crittografia asimmetrica) univoca. Il Trusted Platform Module è paragonabile a una cassaforte che può offrire una sicurezza maggiore rispetto ad un software.
Le caratteristiche dei moduli TPM
Come è logico aspettarsi anche il TPM ha subito nel corso degli anni aggiornamenti e miglioramenti. Tuttavia ogni modulo dovrà sempre garantire funzioni base come:
- generazione di numeri pseudo-casuali generati da un algoritmo deterministico che produce una certa sequenza;
- generazione e memorizzazione di chiavi crittografiche (RSA);
- cifratura e decifratura di informazioni con RSA.
Il modulo deve essere dotato di memoria non volatile per il mantenimento continuo di dati come l’identità del TPM e deve essere accessibile al proprietario del modulo, o da entità autorizzate dallo stesso, per la conservazione sicura di dati.
La versione 2.0 del TPM:
L’aggiornamento del TPM mantiene l’integrità della crittografia e offre maggiore flessibilità. Vengono supportati gli algoritmi più recenti e per questo motivo le prestazioni sono nettamente migliori. Per i nuovi algoritmi si fa sempre riferimento agli standard TCG, e restando in questo ambito il TPM 2.0 è anche conforme allo standard internazionale ISO/IEC 11889:2015.
La sicurezza dei dati contenuti nei dispositivi embedded è un aspetto che è entrato a far parte dei paradigmi dell’industria 4.0, pertanto tutte le CPU MAS sono dotate di modulo TPM 2.0.