Garantire facilmente la sicurezza di Internet delle cose con le chiavi PUF basate su SRAM e l'isolamento con la tecnologia TrustZone

Di Majeed Ahmad

Contributo di Editori nordamericani di DigiKey

I progetti realizzati intorno a Internet delle cose (IoT) sono sempre più complessi e richiedono soluzioni più avanzate per garantire la sicurezza del sistema e per controllare i continui attacchi locali e remoti. Tuttavia, l'adozione della sicurezza su dispositivi IoT con risorse limitate è stata lenta e limitata ad aggiornamenti correttivi del software poco solidi o a chip estremamente sofisticati e costosi costruiti su complessi algoritmi crittografici. Se vogliono adottare e implementare più rapidamente la sicurezza, agli sviluppatori serve una soluzione più completa ma più facile da usare.

Per soddisfare le esigenze di sicurezza degli sviluppatori di sistemi embedded e IoT, sono state create e sviluppate tecnologie come le chiavi non clonabili PUF basate su memoria ad accesso casuale (SRAM) e la tecnologia TrustZone di Arm. Questo articolo presenta le tecnologie PUF e TrustZone e come possono essere applicate utilizzando soluzioni di NXP Semiconductors, Microchip Technology e Maxim Integrated.

Tecnologia SRAM PUF

SRAM PUF, una tecnologia di autenticazione "leggera" alternativa alla tradizionale crittografia, viene attualmente integrata nei chip incentrati sulla sicurezza come quelli della famiglia LPC55S6x di NXP, dove aggiunge una root-of-trust (RoT) e il provisioning (Figura 1).

Diagramma a blocchi della famiglia di MCU LPC55S6x di NXPFigura 1: II diagramma a blocchi della famiglia di MCU LPC55S6x mostra l'integrazione di componenti costitutivi di sicurezza come la tecnologia PUF basata su SRAM. (Immagine per gentile concessione di NXP)

La tecnologia PUF si differenzia dal tradizionale metodo di memorizzazione delle chiavi nella memoria non volatile, dove gli OEM iniettano le chiavi di sicurezza tramite la collaudata metodologia basata su registri "fuse" o la tecnica della memoria programmabile una sola volta (OTP). Diversamente, la tecnologia PUF prende le variazioni elettriche naturali e casuali intrinseche delle celle di bit della SRAM e trasforma quell'impronta digitale esclusiva in una chiave crittografica segreta che serve come base di un sottosistema di sicurezza. Questa chiave sicura e di alta qualità può essere ricostruita sempre e in ogni circostanza come avviene per la chiave crittografica. Si tratta di un approccio che offre una serie di vantaggi:

  • Elimina la necessità di gestire chiavi di terze parti in ambienti potenzialmente non sicuri.
  • Il sistema di memorizzazione e provisioning delle chiavi non deve essere caricato al momento della produzione dei chip.
  • Può essere installato in una fase successiva della supply chain o addirittura in un secondo tempo sui dispositivi implementati.
  • Senza l'accesso fisico a uno specifico chip di SRAM, decifrare queste chiavi di sicurezza diventa quasi impossibile.
  • Le chiavi vengono generate solo quando necessario e non vengono conservate nel sistema.
  • Il fatto che non siano memorizzate in modo permanente e non siano presenti quando il dispositivo non è attivo rende molto difficile per un pirata informatico tentare fisicamente di compromettere il contenuto della memoria.

TrustZone di Arm

Ottimizzata per applicazioni embedded a bassissimo consumo energetico, la tecnologia TrustZone, disponibile nelle piattaforme di elaborazione Arm Cortex®-M23 e Cortex-M33, colloca in un ambiente protetto le routine di sicurezza critiche come il codice di boot, la configurazione e le chiavi di sicurezza, le librerie di crittografia e gli aggiornamenti del firmware (Figura 2). In un microcontroller abilitato per TrustZone, ad esempio, il codice mission-critical viene completamente testato dopo essere stato separato da grandi stack di codice per evitare che venga influenzato da un bug generato dagli sviluppatori.

Diagramma di TrustZone di NXP che consente di abilitare più domini di sicurezza del softwareFigura 2: TrustZone abilita più domini di sicurezza del software che limitano l'accesso alla memoria sicura e agli I/O solo ad ambienti software affidabili. (Immagine per gentile concessione di NXP)

Per quanto riguarda dati e codice riservati, TrustZone garantisce la propria sicurezza isolando le parti critiche del progetto software che viene eseguito su un supervisore hardware in un ambiente protetto in lettura e scrittura da software di livello utente.

TrustZone permette agli sviluppatori di dividere la memoria in regioni sicure e non sicure in modo che anche un tentativo di debug possa essere bloccato fuori da dati e codice sicuri quando non è autenticato. Inoltre, una CPU in uno stato non sicuro può accedere ai dati solo da una memoria non sicura e quindi eseguire software solo da una memoria di programma non sicura.

È importante notare che TrustZone fornisce queste funzioni di sicurezza, pur mantenendo basse latenze di interrupt sia per i domini sicuri che per quelli non sicuri. Inoltre, non determina sovraccarichi di codice o di ciclo, né comporta la complessità di una soluzione basata sulla virtualizzazione.

Implementazione fisica di PUF e TrustZone

NXP ha integrato un IP hardware - e librerie software di supporto - dell'inventore della tecnologia PUF, Intrinsic ID, per implementare PUF nei suoi microcontroller LPC55Sxx (Figura 3). QuiddiKey, l'IP embedded nell'hardware di Intrinsic ID, gestisce la generazione delle chiavi, la loro memorizzazione, il loro provisioning, l'autenticazione dei dispositivi e la gestione delle risorse dei chip.

Schema di NXP che ha integrato un IP hardware e librerie software di supporto di Intrinsic IDFigura 3: NXP ha integrato un IP hardware e librerie software di supporto di Intrinsic ID per implementare la tecnologia PUF nei suoi microcontroller LPC55Sxx. L'IP sovrintende alla generazione e alla gestione delle chiavi. (Immagine per gentile concessione di Intrinsic ID)

NXP ha adottato anche la tecnologia TrustZone per i suoi microcontroller LPC55Sxx. L'approccio CPU-centrico di TrustZone per la sicurezza di Internet delle cose crea un isolamento tra le parti sicure e non sicure del design embedded.

Ad esempio, come implementata sui microcontroller SAM L10/11 di Microchip Technology, TrustZone fornisce un metodo di protezione a livello di sistema in cui i progetti IoT possono essere suddivisi in stati sicuri e non sicuri. Tuttavia, perché un'implementazione embedded sia efficiente, sia il codice sicuro che quello non sicuro vengono eseguiti su una singola CPU.

Questo approccio incentrato sulla CPU è importante, vista la rapida crescita del software nei moderni microcontroller, con stack di protocollo al servizio di tecnologie di connettività come Wi-Fi, Bluetooth e Transport Layer Security (TLS). L'incremento quantitativo del codice di base aumenta in modo significativo l'esposizione del dispositivo IoT ad attacchi di malintenzionati. Ad esempio, nelle case e negli edifici intelligenti, uno stack di protocollo danneggiato può rendere altamente vulnerabili le serrature delle porte, gli apriporta dei garage e le telecamere di sicurezza collegate.

Tuttavia, se gli sviluppatori delle soluzioni IoT spostano il codice mission-critical in un ambiente protetto TrustZone, nemmeno un bug in uno stack di protocollo di terze parti avrà un grave impatto sulle funzionalità del dispositivo.

Sicurezza a livello di scheda

Un altro modello evidente nel paradigma della sicurezza di Internet delle cose è rappresentato dalla disponibilità di progetti di riferimento che semplificano le comunicazioni edge-to-edge e cloud-to-edge superando la complessità associata ai protocolli di sicurezza e di comunicazione. Il progetto di riferimento MAXREFDES155# DeepCover® di Maxim Integrated e la scheda di sviluppo AC164164 PIC®-IoT WG di Microchip sono dei casi esemplari.

Nel disegno di sicurezza di MAXREFDES155#, uno shield Arm mbed™ è collegato a un endpoint di sensore con un cavo di 300 mm. L'endpoint di sensore comprende un autenticatore sicuro DS28C36 DeepCover, un sensore termico a infrarossi (IR) e un laser di puntamento per il sensore IR (Figura 4).

Schema del progetto di riferimento per la sicurezza embedded IoT MAXREFDES155# DeepCover di Maxim Integrated.Figura 4: Il progetto di riferimento per la sicurezza embedded IoT MAXREFDES155# DeepCover di Maxim Integrated include uno shield Arm mbed, un endpoint di sensore connesso su I2C e connettività al cloud tramite Wi-Fi. (Immagine per gentile concessione di Maxim Integrated)

Il chip di sicurezza DS28C36 è dotato di due pin di ingresso/uscita (GPIO) autenticati per uso generale con controllo di stato sicuro opzionale e rilevamento del livello. Ciò consente agli sviluppatori di soluzioni IoT di monitorare e limitare l'uso delle periferiche con memorie EEPROM autenticate e un contatore di 17 bit solo decrementale. Le applicazioni che il DS28C36 facilita sono l'autenticazione bidirezionale, l'archiviazione sicura dei dati di sistema come le chiavi crittografiche, la verifica dei dati mission-critical, il boot sicuro e il controllo dell'utilizzo del prodotto finale.

Lo shield mbed nel progetto di riferimento MAXREFDES155# include un coprocessore di sicurezza DeepCover, comunicazione Wi-Fi, un display a cristalli liquidi (LCD), comandi a pulsante e LED indicatori di stato. Il progetto di riferimento si avvale della scheda di sviluppo mbed MAX32600MBED# per il test immediato e il circuito Wi-Fi dello shield facilita le comunicazioni con il server Web.

Nello schema di MAXREFDES155#, un coprocessore di sicurezza sullo shield mbed coopera con il chip di autenticazione DS28C36. Facilita i requisiti relativi ai calcoli Hash-based Message Authentication Code (HMAC) ed Elliptic Curve Digital Signature Algorithm (ECDSA) che fanno parte delle operazioni di sicurezza di DS28C36.

Il coprocessore fornisce un set core di strumenti crittografici per aiutare i progettisti di soluzioni IoT a implementare motori di crittografia e integrare un generatore di numeri casuali reali (RNG) del Federal Information Processing Standards/National Institute of Standards and Technology (FIPS/NIST). Le chiavi di sicurezza pubbliche e private operano secondo gli standard definiti dal NIST, che includono FIPS 186, il meccanismo di generazione e verifica della firma ECDSA che supporta un modello di autenticazione asimmetrica bidirezionale della chiave.

Semplificazione della sicurezza dei collegamenti con il cloud

La scheda di sviluppo AC164164 PIC-IoT WG di Microchip integra elementi simili, ma si concentra sulla semplificazione del collegamento del nodo IoT a piattaforme cloud come Google Cloud. Realizzata attorno ai microcontroller PIC della società, la piattaforma di sviluppo utilizza il coprocessore ATECC608A per affrontare le vulnerabilità di sicurezza che si presentano con i grandi framework software e le piattaforme RTOS (Real Time Operating System).

AC164164 è una piattaforma di progettazione IoT in cui la sicurezza del collegamento edge-to-cloud è garantita con un Secure Element preregistrato per il servizio Google Cloud IoT Core ed è pronta per l'uso con provisioning zero-touch. Insieme al coprocessore di sicurezza ATECC608A, la scheda di sviluppo è dotata di microcontroller PIC24FJ128GA705 che gestisce applicazioni complesse con meno codice e con un minore consumo energetico.

Un controller IEEE 802.11b/g/n IoT Wi-Fi totalmente certificato collega il nodo IoT a Google Cloud. Di conseguenza, per realizzare un prodotto IoT sicuro, gli sviluppatori di soluzioni IoT non hanno bisogno di competenze in protocolli di rete wireless, sicurezza e compatibilità hardware.

Conclusione

La disponibilità di chip di sicurezza specializzati, abbinati al processore principale o al microcontroller nella progettazione di soluzioni IoT, consente agli sviluppatori di proteggere i nodi IoT e i collegamenti agli endpoint oltre che alle piattaforme cloud. il tutto senza richiedere particolari competenze sulla sicurezza. L'integrazione di tecnologie complementari come PUF e TrustZone rafforza ulteriormente le credenziali di sicurezza di questi microcontroller a basso consumo e a basso costo, man mano che aumentano i requisiti di sicurezza in campo IoT.

Inoltre, i progetti di riferimento e le schede di sviluppo semplificano ulteriormente la progettazione della sicurezza mettendo in campo molteplici livelli di protezione integrata in un'ampia gamma di applicazioni IoT.

 
DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Majeed Ahmad

Majeed Ahmad

Majeed Ahmad è un ingegnere elettronico con un'esperienza ultraventennale nel settore della tecnologia multimediale B2B. È stato caporedattore di EE Times Asia, una pubblicazione affiliata di EE Times.

Majeed è autore di sei libri sull'elettronica. I suoi contributi appaiono spesso in pubblicazioni specializzate di progettazione elettronica, tra cui All About Circuits, Electronic Products ed Embedded Computing Design.

Informazioni su questo editore

Editori nordamericani di DigiKey