Disamina dei microcontroller di sicurezza per applicazioni IoT
Contributo di Editori nordamericani di DigiKey
2020-01-13
Implementare la sicurezza nei progetti embedded sembra un compito quasi impossibile, ma fortunatamente stanno emergendo dei microcontroller (MCU) specializzati che consentono di includerla nel progetto fin dall'inizio. Si tratta indubbiamente di una buona notizia, perché è evidente che, per la sicurezza dell'Internet delle cose (IoT), serve un nuovo tipo di soluzioni embedded.
Uno studio della società di ricerche di mercato ABI Research ha stimato che meno del 4% dei dispositivi IoT venduti l'anno scorso era dotato di sicurezza embedded. La società prevede inoltre che, entro il 2020, quasi il 25% degli attacchi informatici prenderà di mira i dispositivi IoT, facendo degli MCU di sicurezza una "patata bollente".
Ma cos'è un MCU di sicurezza? Molti produttori sostengono che i loro MCU offrono funzioni di sicurezza, ma uno sguardo più attento rivela che le cose non stanno proprio così. Questo articolo si prefigge di entrare nel merito dei tratti distintivi di un MCU di sicurezza. Approfondirà le proprietà e le caratteristiche che distinguono un MCU sicuro da uno che viene definito tale.
Cominciamo con i fornitori di MCU che cercano di aggiungere alle loro soluzioni di sicurezza basate su hardware un ulteriore livello di sicurezza per rafforzare la difesa contro le vulnerabilità software e gli attacchi basati sulla rete.
La storia di due collaborazioni per gli MCU
L'avvento dei dispositivi endpoint che operano alla periferia della rete richiede aggiornamenti firmware sicuri via etere (OTA). I microcontroller RX651 di Renesas rispondono a questo requisito di riprogrammazione integrando Trusted Secure IP (TSIP) e protezione dell'area flash di fiducia, che consentono aggiornamenti del firmware flash sul campo attraverso comunicazioni di rete sicure.
TSIP offre una robusta gestione delle chiavi, comunicazioni criptate e rilevamento delle manomissioni per garantire una robusta sicurezza contro minacce esterne come le intercettazioni, le manomissioni e i virus (Figura 1). Da parte sua, la memoria flash a doppio banco integrata rende più facile per i produttori di dispositivi eseguire sul campo gli aggiornamenti del firmware in modo sicuro e affidabile.
Figura 1. Vista dei blocchi di sicurezza (al centro a destra) nel microcontroller RX651. (Immagine per gentile concessione di Renesas Electronics)
La flash a doppio banco consente ai progettisti di sistemi embedded di ottenere elevati livelli della radice di attendibilità con una combinazione di TSIP per la protezione delle chiavi di crittografia e di acceleratori hardware di crittografia come AES, 3DES, RSA, SHA e TRNG. È prevista inoltre la protezione dell'area flash del codice per salvaguardare il codice di boot da riprogrammazioni non autorizzate.
Renesas ha collaborato con Secure Thingz, un esperto di sicurezza dei sistemi embedded, per il provisioning sicuro della famiglia RX di microcontroller a 32 bit. Per questo, Renesas supporterà l'architettura Secure Deploy creata da Secure Thingz per semplificare le implementazioni di sicurezza attraverso le catene di valore di progettazione e produzione.
Anche STMicroelectronics, un altro produttore di MCU, ha avviato una collaborazione con un fornitore di soluzioni di sicurezza embedded. Sta infatti collaborando con Arilou Information Security Technologies alla creazione di un sistema di sicurezza a più livelli in cui hardware e software possono completarsi a vicenda per monitorare i flussi di dati e rilevare le anomalie di comunicazione.
La serie Chorus SPC58 di microcontroller automotive a 32 bit di STMicro incorpora un Hardware Security Module (HSM) che protegge le informazioni di sicurezza sensibili come le chiavi crittografiche, assicurando così la protezione contro le intrusioni tramite i bus di comunicazione nelle applicazioni per gateway e centraline di bordo dei veicoli. Gli HSM forniscono la radice di attendibilità basata su hardware per facilitare boot e comunicazioni sicuri e gli aggiornamenti OTA.
Ora ST ha aggiunto il software Arilou Intrusion Detection and Prevention system (IDPS) alla serie Chorus SPC58 di MCU automotive per rilevare le anomalie nel traffico e offrire un ulteriore livello di protezione contro gli attacchi informatici (Figura 2). IDPS è una soluzione software progettata per monitorare il bus CAN (Controller Area Network) e rilevare anomalie nei modelli di comunicazione delle unità di controllo elettronico (ECU) nei progetti automotive.
Figura 2. Questo è il modo in cui il software IDPS rileva il traffico e le altre anomalie stradali. (Immagine per gentile concessione di Arilou)
MCU di sicurezza specializzati
Nella sezione precedente sono stati trattati gli MCU che integrano capacità di sicurezza per contrastare gli attacchi fisici e remoti. Questa sezione spiegherà gli MCU di sicurezza specializzati, spesso chiamati Secure Element, che fungono da chip abbinato all'MCU principale quando sono collegati tramite I2C o un'interfaccia monofilare.
I Secure Element, che supportano MCU senza funzioni di sicurezza, si basano su hardware costruito appositamente per fornire un quadro di sicurezza contro una vasta tipologia di minacce. Sono semplici, economici e tolgono all'MCU principale o alla CPU compiti legati alla sicurezza come la memorizzazione delle chiavi, l'accelerazione crittografica, ecc. Per questo motivo sono anche noti come co-processori di sicurezza.
In un Secure Element, tutti i componenti costitutivi di sicurezza lavorano entro un confine comune, che isola le chiavi di autenticazione dal software e impedisce pertanto agli hacker di effettuare attacchi come il ciclaggio di potenza, i glitch del clock e gli attacchi sui canali laterali. Il caricamento di chiavi di sicurezza e certificati nei Secure Element nelle fabbriche impedisce anche il furto di IP, la clonazione del progetto e la contraffazione dei prodotti.
Ad esempio il Secure Element ATECC608A di Microchip (Figura 3) è dotato di un generatore di numeri casuali (RNG) per la generazione di chiavi esclusive conforme agli ultimi requisiti del National Institute of Standards and Technology (NIST). Presenta anche acceleratori crittografici come AES-128, SHA-256 e ECC P-256 per l'autenticazione reciproca.
Figura 3. Diagramma a blocchi del Secure Element ATECC608A. (Immagine per gentile concessione di Microchip Technology)
Infine, la ROM sicura per la memorizzazione delle chiavi facilita un ambiente immutabile difficilmente alterabile da hacker e spoof e che quindi impedisce la manomissione e gli attacchi sui canali laterali. Nel complesso, ATECC608A offre servizi che vanno dal boot sicuro alla convalida OTA, alla memorizzazione e al trasferimento sicuri delle chiavi per IoT e l'autenticazione del servizio cloud.
Un altro MCU a basso costo specializzato in implementazioni di sicurezza è SAM L11 di Microchip (Figura 4), che protegge i nodi IoT con vincoli di alimentazione da minacce come l'iniezione di errori e gli attacchi sui canali laterali. Estrae i dettagli di sicurezza di basso livello con una GUI modulare che permette agli sviluppatori di scegliere le caratteristiche di sicurezza rilevanti. È così che semplifica l'implementazione della sicurezza embedded.
Figura 4. Quattro casi d'uso di sicurezza che utilizzano il microcontroller di sicurezza SAM L11. (Immagine per gentile concessione di Microchip Technology)
Le caratteristiche di sicurezza estratte da SAM L11 includono servizi di provisioning di terze parti. Incorpora anche la tecnologia TrustZone di Arm che isola il codice sicuro e non sicuro all'interno di un microcontroller. Inoltre, SAM L11 ottimizza le esigenze di sicurezza del nodo IoT connettendosi con servizi cloud come Amazon Web Services (AWS).
Il microcontroller LPC5500 di NXP, specifico per applicazioni IoT periferiche, è un altro esempio di MCU basati sulla sicurezza. Utilizza chiavi univoche per creare una radice di attendibilità hardware immutabile. Le chiavi possono essere generate localmente da una funzione fisicamente non clonabile (PUF) basata su SRAM che permette transazioni ad anello chiuso tra l'utente finale e l'OEM. Questa operazione elimina la necessità di gestire chiavi di terze parti.
Tool di sicurezza specializzati
Anche se gli MCU incentrati sulla sicurezza, come ATECC608A, comprendono componenti costitutivi di sicurezza per facilitare un ecosistema affidabile, non affrontano l'isolamento del software. Data la continua crescita dei software in esecuzione sugli MCU, gli sviluppatori devono proteggere una base di codice estesa da attacchi malevoli.
I dispositivi IoT, ad esempio, hanno stack di protocollo per Wi-Fi, Bluetooth, TLS, ecc. e una loro compromissione può influire sul funzionamento dei dispositivi anche se gli hacker non rubano le chiavi di sicurezza. Ciò richiede la separazione del codice mission-critical da quello non mission-critical e la collocazione del primo in un ambiente sicuro.
L'ambiente TrustZone di Arm (Figura 5) separa il codice mission-critical e gli stack di protocollo dal software di sistemi operativi complessi (OS) e dalle basi di codice estese, impedendo backdoor del firmware nelle aree di memorizzazione delle chiavi di sicurezza. Crea più domini di sicurezza software per limitare l'accesso alla memoria specifica, alle periferiche e ai componenti I/O all'interno del microcontroller.
Figura 5. La struttura di base della tecnologia TrustZone per isolare il software in zone sicure e non sicure. (Immagine per gentile concessione di Arm)
In tutti i tre MCU di sicurezza trattati sopra, ATECC608A, SAM L11 e LPC5500 (Figura 6), è incorporata la tecnologia TrustZone per separare il codice sicuro da quello non sicuro. Inoltre, il Secure Element ATECC608A può funzionare con qualsiasi microcontroller abilitato TrustZone.
Figura 6. La tecnologia TrustZone del microcontroller LPC5500 è in bundle con il processore Arm Cortex M-33, mostrato in alto a sinistra nello schema. (Immagine per gentile concessione di NXP)
In questo caso, è anche utile ricordare che gli MCU di sicurezza e la tecnologia TrustZone si completano a vicenda: TrustZone richiede una protezione hardware e gli MCU di sicurezza come ATECC608A e SAM L11 la facilitano all'interno di un ambiente di progettazione IoT. D'altro canto, TrustZone aiuta a creare un ambiente software compatto nei progetti embedded centrati su MCU.
Conclusione
L'esame approfondito degli MCU di sicurezza mostra come semplificano l'implementazione della sicurezza embedded già in fase di progettazione e come superano la ripida curva di apprendimento in termini di competenze in materia di tecnologia della sicurezza. Questi MCU specializzati riducono anche i costi generali e il consumo energetico, due considerazioni importanti nei progetti IoT con vincoli molto rigidi.
In un momento in cui la comparsa dei dispositivi IoT sta superando la velocità con cui questi progetti collegati vengono implementati in modo sicuro, gli MCU di sicurezza offrono un percorso praticabile per affrontare le minacce informatiche su più fronti. Rappresentano una soluzione semplificata provvista di un ecosistema di progettazione della sicurezza per facilitare gli ambienti di sviluppo "point and click".
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.

