Come progettare dispositivi edge IoT sicuri a basso consumo con le MCU PG23 di Silicon Labs
Contributo di Editori nordamericani di DigiKey
2022-10-19
I progettisti di applicazioni Internet delle cose (IoT) di largo consumo e industriali - interruttori della luce, lettori dei contatori, serrature intelligenti, inverter solari e pannelli di sicurezza - devono trovare un giusto equilibrio tra alte prestazioni e bassa potenza, in particolare per i progetti alimentati a batteria, garantendo al contempo la sicurezza delle loro implementazioni. In molti casi, alla base di questi progetti vi è un microcontroller (MCU), quindi il progettista deve valutare attentamente quale utilizzare.
Oltre a un solido supporto per la sicurezza, i fattori da considerare sono le prestazioni del processore, l'efficienza, il supporto di periferiche e I/O, il fattore di forma complessivo e il supporto dell'ecosistema. Mentre un MCU può soddisfare i requisiti di progettazione in termini di prestazioni e potenza, l'implementazione di un progetto sicuro ha una curva di apprendimento che può causare ritardi o far sì che la sicurezza non venga implementata in modo adeguato.
Questo articolo illustra brevemente le considerazioni sulla sicurezza dei dispositivi edge IoT. Presenta quindi l'MCU EFM32PG23 di Silicon Labs e mostra come utilizzarlo per progetti IoT edge sicuri, con particolare attenzione alla bassa potenza.
Problemi di sicurezza dei dispositivi IoT
Gli attacchi remoti a dispositivi connessi a Internet continuano a crescere di numero. Gli sviluppatori embedded potrebbero esser tentati di pensare che il loro dispositivo edge IoT non abbia bisogno di sicurezza, perché non contiene "nulla di prezioso". La verità è che quasi tutti i dispositivi hanno qualcosa che potrebbe essere prezioso per un hacker, che si tratti di dati dai sensori, dati dei clienti, del firmware del dispositivo o dell'accesso che il dispositivo fornisce come backdoor alle reti connesse. La sicurezza è una caratteristica critica che deve essere progettata in ogni dispositivo edge IoT fin dall'inizio: non dovrebbe essere aggiunta al sistema alla fine del ciclo di progettazione. Altrimenti, il dispositivo sarà vulnerabile agli attacchi.
Ogni dispositivo edge IoT presenta diverse aree di sicurezza da considerare, come l'identificazione del dispositivo, la sua configurazione e gli aggiornamenti software/firmware. La Figura 1 mostra un elenco delle istanze più comuni e di come queste si traducono in un requisito di sicurezza per il dispositivo. Ogni requisito è associato a una tecnologia spesso utilizzata per soddisfarlo e per contrastare i potenziali aggressori.
|
Figura 1: Sono molti i problemi di sicurezza, i requisiti e la tecnologia associata che i progettisti di applicazioni edge IoT devono considerare. (Immagine per gentile concessione di Silicon Labs)
Un grosso problema di molti team embedded che sviluppano applicazioni edge IoT è che non dispongono di competenze interne in materia di sicurezza. Pertanto, devono fare del loro meglio per studiare e implementare la sicurezza o devono ricorrere a una fonte esterna. In ogni caso, i costi e i tempi possono essere proibitivi.
Esiste un'alternativa: il team di sviluppo può scegliere un MCU progettato con l'obiettivo della sicurezza e che fornisce soluzioni di sicurezza pronte all'uso che richiedono piccole modifiche di configurazione per l'applicazione in questione.
Introduzione ai dispositivi MCU serie PG23 di Silicon Labs
La serie di microcontroller EFM32PG23 di Silicon Labs è un'opzione interessante per le applicazioni dei dispositivi edge IoT per diversi motivi. In primo luogo, l'MCU PG23 può eseguire la soluzione di sicurezza Secure Vault IoT di Silicon Labs. Secure Vault è una piattaforma per la sicurezza e la protezione futura dei dispositivi IoT, che di recente è diventata la prima soluzione di sicurezza IoT a ottenere la certificazione PSA di livello 3. Alcune delle caratteristiche offerte da Secure Vault agli MCU PG23 includono l'identità sicura del dispositivo, la gestione e l'archiviazione sicura delle chiavi e il rilevamento avanzato dei tentativi di manomissione.
Secure Vault sfrutta un'impronta digitale unica generata da una funzione fisicamente non clonabile (PUF). Una PUF può essere utilizzata per creare una chiave simmetrica AES che scompare fisicamente quando il sistema si spegne. La chiave simmetrica AES non esiste nemmeno quando il chip è spento, rendendo impossibile la sua rimozione dal dispositivo. Una PUF è una soluzione efficace alla sfida della gestione delle chiavi che molte applicazioni edge dell'IoT devono affrontare. In effetti, una PUF può essere scalata per supportare il numero di chiavi necessario per un'applicazione. Secure Vault include anche un sistema di rilevamento dei tentativi di manomissione che impedisce di ricostruire la chiave una volta che il dispositivo viene spento dopo un evento di manomissione. Le principali caratteristiche di sicurezza possono essere riassunte come segue:
- Attestazione sicura
- Gestione sicura delle chiavi
- Memorizzazione sicura delle chiavi
- Antimanomissione
Un altro motivo per cui gli MCU PG23 sono adatti alle applicazioni edge IoT è che sono progettati per applicazioni a basso consumo. Il consumo di corrente attiva dell'MCU PG23 è di 21 µA/MHz. Il consumo di corrente è di 1,03 µA con 16 kB di RAM attiva in modalità EM2, o di 0,7 µA con clock in tempo reale (RTC) abilitato in modalità EM4. Livelli di consumo così bassi aiutano gli sviluppatori a progettare un dispositivo ad alta efficienza energetica, che sia collegato a una presa di corrente o alimentato a batteria.
L'ultima caratteristica dell'MCU PG23 da esaminare è la sua capacità. PG23 è dotato di un processore Arm® Cortex®-M33 con clock fino a 80 MHz. Il processore è in grado di funzionare in un intervallo di tensione compreso tra 1,71 e 3,8 V utilizzando un unico alimentatore. Per gli sviluppatori che lavorano su applicazioni di rilevamento, è disponibile un'interfaccia per sensori a basso consumo energetico (LESENSE). L'MCU è disponibile in un contenitore QFN a 40 pin di 5×5 mm o in un contenitore QFN a 48 pin di 6×6 mm. Nella Figura 2 viene illustrato un diagramma a blocchi del dispositivo PG23. L'MCU dispone inoltre di cinque stati di alimentazione: EM0 per la modalità di funzionamento, EM1 per la sospensione, EM2 per la sospensione profonda, EM3 per l'arresto e infine EM4 per lo spegnimento.
Figura 2: L'MCU PG23 dispone di un'ampia gamma di periferiche, memoria e modalità di risparmio energetico. (Immagine per gentile concessione di Silicon Labs)
Primi passi con la scheda di sviluppo PG23-PK2504A
Il modo migliore per iniziare a lavorare con l'MCU PG23 è utilizzare la scheda di sviluppo PG23-PK2504A. Questa scheda è dotata di un processore EFM32PG23B310F512 supportato da 512 kB di flash e 64 kB di RAM. La scheda di sviluppo comprende un'ampia gamma di sensori, interfacce e un LCD a 4×10 segmenti (Figura 3).
Figura 3: La scheda di sviluppo PG23-2504A è dotata di un MCU EFM32PG23, un LCD a 4×10 segmenti, sensori di temperatura e umidità, riferimento di tensione e interfacce di espansione. (Immagine per gentile concessione di Silicon Labs)
Con la scheda, gli sviluppatori possono scaricare e installare Simplicity Studio (da Getting Started). Simplicity Studio è un trampolino di lancio per tutto ciò che serve per valutare, configurare e sviluppare progetti con i microcontroller EFM32. Il software comprende materiale iniziale, documentazione, strumenti compatibili e risorse.
Quando si apre Simplicity Studio e si collega una scheda di sviluppo, il software la identifica e fornisce suggerimenti per progetti di esempio, documentazione e demo (Figura 4). Lo sviluppatore può quindi scegliere il percorso migliore per iniziare a sperimentare con l'MCU PG23.
Figura 4: Simplicity Studio di Silicon Labs rileva la scheda e offre consigli personalizzati per iniziare, documentazione, progetti di esempio e molto altro. (Immagine per gentile concessione di Silicon Labs)
Una caratteristica che vale la pena sottolineare della scheda di sviluppo PG23-PK2504A è l'interruttore per alimentare la scheda. Sono offerte due opzioni: AEM o BAT (Figura 5). In modalità AEM, è presente un resistore di rilevamento della corrente in serie con alimentatore LDO e MCU PG23. Il vantaggio di questa modalità è che gli sviluppatori possono misurare l'assorbimento di corrente del processore per ottimizzare i consumi. Una volta ottimizzata l'applicazione, gli sviluppatori possono passare alla modalità BAT per far funzionare la scheda di sviluppo con una batteria a bottone.
Figura 5: PG23-PK2504A offre l'opzione di alimentare la scheda tramite USB-C nella modalità AEM, per misurare la corrente del processore. In alternativa, il processore può essere alimentato con una batteria a bottone CR2032. (Immagine per gentile concessione di Silicon Labs)
Suggerimenti per ridurre al minimo il consumo di energia in un'applicazione IoT
La riduzione al minimo del consumo energetico è fondamentale per ogni progetto edge IoT, che sia alimentato a batteria o meno. L'ottimizzazione di un progetto per l'efficienza energetica può richiedere molto tempo se gli sviluppatori non sono attenti. Di seguito sono riportati alcuni suggerimenti da tenere a mente che possono aiutare gli sviluppatori a ottimizzare un'applicazione IoT per il basso consumo energetico:
- Utilizzare un'architettura software guidata dagli eventi. Quando il sistema non sta elaborando un evento, lo si pone in uno stato di bassa potenza.
- Profilare il consumo della batteria del sistema su diversi cicli di carica/scarica. Registrare l'assorbimento di corrente e la tensione di servizio e tracciarli nel tempo.
- Sfruttare le modalità a basso consumo per disattivare automaticamente i clock, le periferiche e la CPU.
- In applicazioni semplici, è possibile utilizzare la funzione di sospensione in chiusura di Arm Cortex-M per ridurre al minimo il sovraccarico degli interrupt al momento della riattivazione del sistema.
- Se si utilizza un RTOS, si deve sfruttare la sua modalità "tickless" per evitare che riattivi inavvertitamente il sistema.
- Quando si ottimizza nelle iterazioni, monitorare il risparmio energetico di ogni modifica. A un certo punto, gli sviluppatori si troveranno di fronte a un bivio dove il tempo dedicato all'ottimizzazione ha un basso ritorno sull'investimento in termini di risparmio energetico. A questo punto, è meglio rinunciare all'ottimizzazione e passare alla fase successiva.
Gli sviluppatori che si attengono a queste indicazioni risparmieranno parecchio tempo e quando inizieranno a progettare un prodotto IoT sicuro e a basso consumo.
Conclusione
La necessità di MCU sicuri e a basso consumo è in crescita nelle applicazioni edge dell'IoT. Oltre a un solido supporto per la sicurezza, i fattori che i progettisti devono considerare per soddisfare le esigenze dei progetti basati sull'edge includono le prestazioni del core del processore, l'efficienza, il supporto di periferiche e I/O, il fattore di forma complessivo e il supporto dell'ecosistema.
Come mostrato, l'MCU EFM32PG23 di Silicon Labs può aiutare gli sviluppatori a risolvere diversi problemi associati alla progettazione per il basso consumo e la sicurezza dei dispositivi. La scheda di sviluppo associata fornisce tutti gli strumenti necessari per iniziare e, seguendo alcuni accorgimenti, è possibile implementare rapidamente un progetto a basso consumo.
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.

