Cum se proiectează dispozitive IoT periferice securizate cu consum redus de energie folosind MCU-urile PG23 de la Silicon Labs

By Jacob Beningo

Contributed By DigiKey's North American Editors

Proiectanții pentru o gamă largă de aplicații periferice din Internetul lucrurilor (IoT) pentru consumatori și industrie, de la întrerupătoare de lumină, cititoare de contoare și încuietori inteligente la invertoare solare și panouri de securitate, trebuie să găsească un echilibru adecvat între performanță ridicată și consum redus de energie – în special pentru proiectele alimentate cu baterii – asigurându-se în același timp că implementările lor sunt sigure. În multe cazuri, la baza acestor proiecte se află un microcontroler (MCU), astfel că proiectantul trebuie să se gândească cu atenție pe care să îl folosească.

Pe lângă suportul solid pentru securitate, factorii care trebuie luați în considerare includ performanța nucleului procesorului, eficiența, suportul pentru periferice și I/O, factorul de formă general și suportul ecosistemului. În timp ce un MCU poate îndeplini cerințele de proiectare în ceea ce privește performanța și puterea, implementarea unui proiect securizat are o curbă de învățare care poate cauza întârzieri sau poate duce la o implementare necorespunzătoare a securității.

Acest articol prezintă pe scurt considerentele de securitate pentru dispozitivele IoT periferice. Apoi, prezintă MCU EFM32PG23 de la Silicon Labs și arată cum se poate aplica pentru proiecte IoT periferice securizate, punând accentul pe consumul redus de energie.

Probleme de securitate cu dispozitivele IoT

Numărul de atacuri de la distanță asupra dispozitivelor conectate la internet continuă să crească. Dezvoltatorii sistemelor încorporate ar putea fi tentați să creadă că dispozitivul lor IoT periferic nu are nevoie de securitate deoarece nu conține „nimic valoros”. Adevărul este că aproape fiecare dispozitiv are ceva ce ar putea fi valoros pentru un hacker, fie că este vorba despre datele senzorilor, datele clienților, firmware-ul propriu-zis care se află pe dispozitiv sau despre accesul pe care dispozitivul îl oferă ca o cale secundară neautorizată spre rețelele conectate. Securitatea este o caracteristică esențială care trebuie proiectată de la început în fiecare dispozitiv IoT periferic: nu ar trebui să fie adăugată la sistem la sfârșitul ciclului de proiectare. În caz contrar, dispozitivul va fi foarte vulnerabil la atacuri.

Fiecare dispozitiv IoT periferic are mai multe domenii de securitate care trebuie luate în considerare, cum ar fi identificarea dispozitivului, configurarea dispozitivului și actualizările de software/firmware. Figura 1 prezintă o listă de preocupări comune și modul în care acestea se traduc printr-o cerință de securitate a dispozitivului. Fiecărei cerințe de securitate îi este asociată o tehnologie care este adesea utilizată pentru a îndeplini cerința respectivă și pentru a contracara eventualii atacatori.

Preocupare Cerința de securitate Tehnologie
Identificarea dispozitivului Dispozitivul IoT poate fi identificat în mod unic din punct de vedere logic și fizic. Atestare securizată
Configurarea dispozitivului Configurarea software și firmware a dispozitivului IoT poate fi modificată, iar astfel de modificări pot fi efectuate numai de către entități autorizate. Upgrade securizat
Actualizare software și firmware Software-ul și firmware-ul dispozitivului IoT pot fi actualizate de către entități autorizate folosind doar un mecanism securizat și configurabil.
Protecția datelor Dispozitivul IoT poate proteja datele pe care le stochează și le transmite împotriva accesului și modificării neautorizate. Gestionarea securizată a cheilor
Accesul logic la interfețe Dispozitivul IoT poate limita doar la entitățile autorizate accesul logic la interfețele sale locale și de rețea. Depanare securizată
Actualizare software și firmware Software-ul și firmware-ul dispozitivului IoT pot fi actualizate de către entități autorizate folosind doar un mecanism securizat și configurabil. Upgrade securizat
Înregistrarea evenimentelor de securitate cibernetică Dispozitivul IoT poate înregistra evenimentele de securitate cibernetică și poate face ca jurnalele să fie accesibile numai entităților autorizate. Protejare împotriva manipulării neautorizate
Integritatea software-ului Încercările de încălcare a securității sunt înregistrate, iar dezvoltatorii pot selecta tehnologii de contramăsuri adecvate pentru a proteja securitatea. Inițializare securizată

Figura 1: preocupările, cerințele și tehnologia asociată în materie de securitate pe care trebuie să le ia în considerare proiectanții de aplicații IoT periferice sunt numeroase. (Sursa imaginii: Silicon Labs)

O mare problemă pentru multe dintre echipele de sisteme încorporate care dezvoltă aplicații IoT periferice este faptul că nu dispun de expertiză internă în domeniul securității. Rezultatul este că acestea trebuie fie să facă tot posibilul pe plan intern pentru a învăța și a implementa securitatea, fie să apeleze la o sursă externă. În orice caz, costul și sincronizarea pot fi extraordinare.

Există o alternativă: echipa de dezvoltare poate selecta un MCU proiectat pentru securitate și care oferă soluții de securitate gata de utilizare, ce necesită ajustări minore de configurare pentru aplicația în cauză.

Introducere în seria de dispozitive MCU Silicon Labs PG23

Seria de microcontrolere EFM32PG23 de la Silicon Labs este o opțiune interesantă pentru aplicațiile dispozitivelor IoT periferice din mai multe motive. În primul rând, MCU PG23 poate rula propria soluție de securitate IoT Secure Vault de la Silicon Labs. Secure Vault este o platformă de securizare și de protecție pentru viitor a dispozitivelor IoT, care a devenit recent prima soluție de securitate IoT care a obținut statutul PSA Certified Level 3. Unele dintre caracteristicile pe care Secure Vault le aduce la MCU PG23 includ identitatea securizată a dispozitivului, gestionarea și stocarea securizată a cheilor și detectarea avansată a manipulării neautorizate.

Secure Vault profită de o amprentă digitală unică generată de o funcție fizic neclasificabilă (PUF). Un PUF poate fi utilizat pentru a crea o cheie simetrică AES care dispare fizic atunci când sistemul se oprește. Cheia simetrică AES nici măcar nu există atunci când cipul este dezactivat, ceea ce face imposibilă scoaterea acesteia din dispozitiv. Un PUF este o soluție eficientă la provocarea de gestionare a cheilor cu care se confruntă multe aplicații IoT periferice. De fapt, PUF-ul poate fi adaptat pentru a accepta câte chei sunt necesare pentru a susține o aplicație. De asemenea, Secure Vault include un sistem de detectare a manipulării neautorizate datorită căruia cheia nu poate fi reconstruită după ce dispozitivul este oprit în urma unui eveniment de manipulare neautorizată. Principalele caracteristici de securitate pot fi rezumate astfel:

  • Atestare securizată
  • Gestionarea securizată a cheilor
  • Stocarea securizată a cheilor
  • Protejare împotriva manipulării neautorizate

Un alt motiv pentru care MCU-urile PG23 sunt potrivite pentru aplicațiile IoT periferice este faptul că sunt proiectate pentru aplicații cu consum redus de energie. Consumul de curent activ pentru PG23 este de 21 microamperi per megahertz (µA/MHz). Consumul de curent este de 1,03 µA cu 16 kiloocteți (Kbytes) de memorie RAM activă în modul EM2 sau de 0,7 µA cu ceasul în timp real (RTC) activat în modul EM4. Nivelurile atât de scăzute ale consumului de curent ajută dezvoltatorii să proiecteze dispozitive eficiente din punct de vedere energetic, indiferent dacă sunt conectate la priză sau alimentate cu baterii.

Ultima caracteristică a PG23 care va fi examinată aici este reprezentată de capacitățile MCU. PG23 are un procesor Arm® Cortex®-M33 sincronizat până la 80 MHz. Procesorul poate funcționa în intervalul de la 1,71 volți până la 3,8 volți, folosind o singură sursă de alimentare. Pentru dezvoltatorii care lucrează la aplicații cu senzori, există o interfață pentru senzori cu consum redus de energie (LESENSE). MCU vine într-un pachet QFN cu 40 de pini care măsoară 5×5 milimetri (mm) sau într-un pachet QFN cu 48 de pini care măsoară 6×6 mm. O schemă bloc a PG23 este prezentată în Figura 2. De asemenea, MCU are cinci stări de alimentare: EM0 pentru modul de funcționare, EM1 pentru repaus, EM2 pentru repaus profund, EM3 pentru oprire și, în cele din urmă, EM4 pentru dezactivare.

Diagrama MCU PG23 Silicon Labs care are o gamă largă de periferice (faceți clic pentru a mări imaginea)Figura 2: MCU PG23 dispune de o gamă largă de periferice, memorie și moduri de economisire a energiei. (Sursă imagine: Silicon Labs)

Noțiuni de bază privind placa de dezvoltare PG23-PK2504A

Cel mai bun mod de a începe cu PG23 este să folosiți placa de dezvoltare PG23-PK2504A. Placa are un procesor EFM32PG23B310F512 care este susținut de propriul procesor de 512 Kbytes de memorie flash și 64 Kbytes de memorie RAM. Placa de dezvoltare include o gamă largă de senzori, interfețe și un ecran LCD cu 4×10 segmente (Figura 3).

Diagramă a plăcii de dezvoltare Silicon Labs PG23-2504AFigura 3: placa de dezvoltare PG23-2504A este prevăzută cu un MCU EFM32PG23, precum și cu un LCD cu 4×10 segmente, senzori de temperatură și umiditate, o referință de tensiune și interfețe de expansiune. (Sursă imagine: Silicon Labs)

Având placa în mână, dezvoltatorii pot descărca și instala Simplicity Studio (sub fila Getting Started). Simplicity Studio este o rampă de lansare pentru tot ceea ce este necesar pentru a efectua evaluări, configurări și dezvoltări cu microcontrolerele EFM32. Software-ul include materiale de inițiere, documentație, instrumente compatibile și resurse.

Atunci când un dezvoltator deschide Simplicity Studio și conectează o placă de dezvoltare, software-ul va identifica placa și va oferi recomandări pentru exemple de proiecte, documentație și demonstrații (Figura 4). Dezvoltatorul poate alege apoi cea mai bună cale pentru a începe să experimenteze cu PG23.

Imagine cu Simplicity Studio de la Silicon Labs (faceți clic pentru a mări imaginea)Figura 4: Simplicity Studio de la Silicon Labs detectează placa și oferă recomandări personalizate pentru începere, documentație, exemple de proiecte și multe altele. (Sursă imagine: Silicon Labs)

O caracteristică care merită evidențiată pe placa de dezvoltare PG23-PK2504A este comutatorul care decide modul în care este alimentată placa de dezvoltare. Există două opțiuni: AEM sau BAT (Figura 5). În modul AEM, există un rezistor de detectare a curentului în serie cu sursa de alimentare LDO și PG23. Avantajul acestui mod este că dezvoltatorii pot măsura consumul de curent al procesorului pentru a ajuta la optimizarea consumului de energie. Odată ce aplicația este optimizată, dezvoltatorii pot trece la modul BAT pentru a rula placa de dezvoltare cu ajutorul unei baterii tip pastilă.

Diagramă cu PG23-PK2504A de la Silicon Labs care oferă o opțiune de alimentare a plăcii prin USB-CFigura 5: PG23-PK2504A oferă o opțiune de alimentare a plăcii prin USB-C în modul AEM, ce permite măsurarea curentului procesorului. Alternativ, procesorul poate fi alimentat cu o baterie tip pastilă CR2032. (Sursă imagine: Silicon Labs)

Sfaturi și trucuri pentru reducerea consumului de energie într-o aplicație IoT

Reducerea consumului de energie este esențială pentru fiecare proiect IoT pentru edge computing, indiferent dacă funcționează cu baterii sau nu. Dacă dezvoltatorii nu sunt atenți, optimizarea unui proiect pentru consumul de energie poate dura mult timp. Mai jos sunt prezentate câteva „sfaturi și trucuri” pe care dezvoltatorii ar trebui să le aibă în vedere și care pot ajuta la optimizarea rapidă a unei aplicații IoT pentru un consum redus de energie:

  • Utilizați o arhitectură software bazată pe evenimente. Atunci când sistemul nu procesează un eveniment, puneți-l într-o stare cu consum redus de energie.
  • Profilați consumul bateriei sistemului pe parcursul mai multor cicluri de încărcare/descărcare. Înregistrați consumul de curent și tensiunea de funcționare și reprezentați-le grafic în funcție de timp.
  • Utilizați modurile cu consum redus de energie pentru a dezactiva automat ceasurile, perifericele și procesorul.
  • În aplicațiile simple, explorați utilizarea funcției Arm Cortex-M „repaus la ieșire” pentru a minimiza activitățile suplimentare la activarea sistemului.
  • Dacă utilizați un RTOS, utilizați modul „tickless” al acestuia pentru a preveni trezirea sistemului din greșeală de către RTOS.
  • Atunci când optimizați prin iterații, urmăriți economiile de energie ale fiecărei modificări. La un moment dat, dezvoltatorii descoperă o „inflexiune” în care timpul petrecut pentru optimizare are un randament scăzut al investiției în ceea ce privește economiile de energie. Este timpul să nu mai optimizați și să treceți la etapa următoare.

Dezvoltatorii care urmează aceste „sfaturi și trucuri” vor economisi destul de mult timp și energie mentală atunci când vor începe să lucreze la următorul lor proiect IoT securizat și cu consum redus de energie.

Concluzie

Nevoia de MCU-uri sigure și cu consum redus de energie este tot mai mare pentru aplicațiile IoT periferice. Pe lângă suportul solid pentru securitate, factorii pe care trebuie să îi ia în considerare proiectanții pentru a satisface nevoile modelelor bazate pe edge computing includ performanța nucleului de procesor, eficiența, suportul pentru periferice și I/O, factorul de formă general și suportul pentru ecosistem.

După cum s-a arătat, MCU EFM32PG23 de la Silicon Labs poate ajuta dezvoltatorii să rezolve mai multe probleme asociate cu proiectarea cu consum redus de energie și securitatea dispozitivului. Placa de dezvoltare asociată oferă toate instrumentele necesare pentru a începe și, prin urmarea a câteva „sfaturi și trucuri” importante, un proiect cu consum redus de energie poate fi implementat rapid.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is an embedded software consultant. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees, including a Masters of Engineering from the University of Michigan.

About this publisher

DigiKey's North American Editors