Jak navrhnout bezpečná nízkovýkonová zařízení IoT pomocí jednotek MCU Silicon Labs PG23

By Jacob Beningo

Contributed By DigiKey's North American Editors

Konstruktéři napříč řadou spotřebitelských a průmyslových aplikací internetu věcí (IoT), od světelných spínačů, čteček měřičů a inteligentních zámků až po solární invertory a bezpečnostní panely, potřebují najít vhodnou rovnováhu mezi vysokým výkonem a nízkou spotřebou – zejména pro baterie. -podporované návrhy – a zároveň zajistit, aby jejich implementace byly bezpečné. V mnoha případech je základem takových návrhů mikrokontrolér (MCU), takže konstruktér musí pečlivě zvážit, který z nich použije.

Spolu se solidní podporou zabezpečení patří mezi faktory, které je třeba zvážit, výkon procesorového jádra, efektivita, podpora periferií a I/O, celkový tvarový faktor a podpora ekosystému. Zatímco MCU může splňovat požadavky na návrh, pokud jde o výkon a výkon, implementace bezpečného návrhu má křivku učení, která může způsobit zpoždění nebo vést k tomu, že zabezpečení nebude adekvátně implementováno.

Tento článek stručně pojednává o bezpečnostních aspektech okrajových zařízení IoT. Poté představí jednotku MCU EFM32PG23 od společnosti Silicon Labs a ukáže, jak ji lze využít k návrhům bezpečných zařízení IoT na okraji se zaměřením na nízkou spotřebu.

Bezpečnostní problémy se zařízeními IoT

Počet vzdálených útoků na zařízení připojená k internetu stále roste. Vývojáři vestavěných aplikací se mohou domnívat, že jejich IoT okrajové zařízení nepotřebuje zabezpečení, protože neobsahuje „nic cenného“. Pravdou je, že téměř každé zařízení má něco, co může hacker považovat za cenné, ať už jsou to data ze senzorů, zákaznická data, skutečný firmware, který je v zařízení, nebo přístup, který zařízení poskytuje jako zadní vrátka do připojených sítí. Zabezpečení je kritická funkce, která musí být navržena do každého zařízení okrajového IoT zařízení od začátku: neměla pevně spojena se systémem až na konci cyklu návrhu. V opačném případě bude zařízení vysoce zranitelné vůči útoku.

Každé IoT okrajové zařízení má několik oblastí zabezpečení, které je třeba vzít v úvahu, jako je identifikace zařízení, konfigurace zařízení a aktualizace softwaru/firmwaru. Obrázek 1 ukazuje seznam běžných problémů a způsob, jakým se tyto obavy promítají do požadavků na zabezpečení zařízení. Každý požadavek na zabezpečení má přidruženou technologii, která se často používá ke splnění tohoto požadavku a zmaření případných útočníků.

Obavy Bezpečnostní požadavek Technologie
Identifikace zařízení Zařízení IoT lze jednoznačně identifikovat logicky i fyzicky. Bezpečná atestace
Konfigurace zařízení Konfigurace softwaru a firmwaru IoT zařízení lze měnit a takové změny mohou provádět pouze oprávněné subjekty. Bezpečný upgrade
Aktualizace softwaru a firmwaru Software a firmware zařízení IoT mohou být aktualizovány oprávněnými subjekty pouze pomocí bezpečného a konfigurovatelného mechanismu.
Ochrana dat Zařízení IoT může chránit data, která ukládá a přenáší, před neoprávněným přístupem a úpravami. Bezpečná správa klíčů
Logický přístup k rozhraním Zařízení IoT může omezit logický přístup ke svému místnímu a síťovému rozhraní pouze na oprávněné entity. Zabezpečené ladění
Aktualizace softwaru a firmwaru Software a firmware zařízení IoT mohou být aktualizovány oprávněnými subjekty pouze pomocí bezpečného a konfigurovatelného mechanismu. Bezpečný upgrade
Protokolování událostí kybernetické bezpečnosti Zařízení IoT může protokolovat události kybernetické bezpečnosti a zpřístupňovat protokoly pouze oprávněným subjektům. Ochrana proti neoprávněné manipulaci
Integrita softwaru Pokusy o narušení zabezpečení jsou zaznamenávány a vývojáři mohou zvolit vhodné technologie protiopatření systému k ochraně zabezpečení. Zabezpečené spouštění

Obrázek 1: Bezpečnostní problémy, požadavky a související technologie, které musí konstruktéři okrajových aplikací IoT zvážit, je mnoho. (Zdroj obrázku: Silicon Labs)

Velkým problémem mnoha vývojářských týmů vestavěných aplikací vyvíjejících IoT aplikace na okraji je skutečnost, že nemají vlastní odborné znalosti v oblasti zabezpečení. Výsledkem je, že musí učinit maximum pro to, aby se naučili a implementovali zabezpečení, nebo použili externí zdroj. Ať tak či onak, náklady a načasování mohou být mimořádné.

Existuje alternativa: vývojový tým si může vybrat jednotku MCU navrženou s ohledem na zabezpečení a poskytující bezpečnostní řešení připravená k použití, která vyžadují jen menší úpravy konfigurace pro danou aplikaci.

Úvod do jednotek MCU Silicon Labs řady PG23

Mikrokontroléry řady EFM32PG23 od společnosti Silicon Labs představují zajímavou možnost pro aplikace okrajových zařízení IoT z několika důvodů. Za prvé jednotka PG23 MCU může provozovat vlastní bezpečnostní řešení Secure Vault IoT od společnosti Silicon Labs. Secure Vault je platforma pro zabezpečení zařízení IoT a jejich přípravu na budoucnost, která se nedávno stala prvním bezpečnostním řešením IoT dosahujícím statusu PSA Certified Level 3. Některé z funkcí, které platforma Secure Vault přináší do jednotky PG23 MCU, zahrnují Secure Device Identity, Secure Key Management and Storage a Advanced Tamper Detection.

Platforma Secure Vault využívá jedinečného digitálního otisku prstu generovaného fyzicky neklonovatelnou funkcí (PUF). Funkci PUF lze využít k vytvoření symetrického klíče AES, který fyzicky zmizí, když se systém vypne. Symetrický klíč AES neexistuje, ani když je čip vypnutý, takže jej nelze ze zařízení vyjmout. Funkce PUF je efektivním řešením klíčového problému správy, kterému čelí mnoho IoT aplikací na okraji. Ve skutečnosti lze funkci PUF škálovat tak, aby podporovala tolik klíčů, kolik je potřeba pro podporu aplikace. Platforma Secure Vault také obsahuje systém detekce neoprávněné manipulace, díky kterému nelze klíč rekonstruovat, jakmile je zařízení po události neoprávněné manipulace vypnuto. Klíčové bezpečnostní prvky lze shrnout takto:

  • Bezpečná atestace
  • Bezpečná správa klíčů
  • Bezpečné úložiště klíčů
  • Ochrana proti neoprávněné manipulaci

Dalším důvodem, proč jsou jednotky MCU PG23 vhodné pro okrajové aplikace IoT, je skutečnost, že jsou navrženy pro aplikace s nízkou spotřebou. Aktivní spotřeba proudu desky PG23 je 21 mikroampérů na megahertz (µA/MHz). Spotřeba proudu je 1,03 µA s 16 kB paměti RAM aktivní v režimu EM2 nebo 0,7 µA s hodinami reálného času (RTC) povolenými v režimu EM4. Takto nízké současné úrovně spotřeby pomáhají vývojářům při navrhování energeticky úsporného zařízení, ať už je připojeno ke zdi nebo je napájeno z baterie.

Poslední vlastností desky PG23, kterou zde prozkoumáme, jsou schopnosti jednotky MCU. Deska PG23 je osazena procesorem Arm® Cortex®-M33 taktovaným až na 80 MHz. Procesor je schopen pracovat v rozsahu napětí 1,71 V až 3,8 V s použitím jediného napájecího zdroje. Pro vývojáře pracující na senzorových aplikacích je k dispozici nízkoenergetické senzorové rozhraní (LESENSE). Jednotka MCU se dodává v 40pinovém pouzdru QFN o rozměrech 5×5 mm nebo v 48pinovém pouzdru QFN o rozměrech 6×6 mm. Blokové schéma desky PG23 je znázorněno na obrázku 2. Jednotka MC také používá pět stavů napájení: EM0 pro provozní režim, EM1 pro spánek, EM2 pro hluboký spánek, EM3 pro zastavení a nakonec EM4 pro vypnutí.

Schéma jednotky Silicon Labs PG23 MCU ukazující širokou škálu periferií (kliknutím zvětšíte)Obrázek 2: jednotka MCU PG23 nabízí širokou škálu periferií, paměti a režimů úspory energie. (Zdroj obrázku: Silicon Labs)

Začínáme s vývojovou deskou PG23-PK2504A

Nejlepší způsob, jak začít s deskou PG23, je použít vývojovou desku PG23-PK2504A. Deska EFM32PG23B310F512 je osazena procesorem, který je podporován vlastní pamětí flash 512 kB a pamětí RAM 64 kB. Vývojová deska obsahuje širokou škálu integrovaných senzorů, rozhraní a 4×10 segmentového LCD (obrázek 3).

Schéma vývojové desky Silicon Labs PG23-2504AObrázek 3: Vývojová deska PG23-2504A je dodávána s jednotkou MCU EFM32PG23, se segmentovým LCD displejem 4×10, snímači teploty a vlhkosti, napěťovou referencí a rozšiřujícími rozhraními. (Zdroj obrázku: Silicon Labs)

Pokud mají vývojáři v rukou desku, mohou si stáhnout a nainstalovat platformu Simplicity Studio (na kartě Začínáme). Platforma Simplicity Studio je odrazovým můstkem pro vše potřebné k vyhodnocení, konfiguraci a vývoji s mikrokontroléry EFM32. Software zahrnuje úvodní materiály, dokumentaci, kompatibilní nástroje a zdroje.

Pokud vývojář otevře platformu Simplicity Studio a připojí vývojovou desku, software desku identifikuje a poskytne doporučení pro například projekty, dokumentaci a ukázky (obrázek 4). Vývojář pak může vybrat nejlepší cestu, jak začít a experimentovat s deskou PG23.

Obrázek platformy Silicon Labs Simplicity Studio (kliknutím zvětšíte)Obrázek 4: vývojová platforma Silicon Labs Simplicity Studio detekuje desku a poskytuje přizpůsobená doporučení pro začátek, dokumentaci, příklady projektů a další. (Zdroj obrázku: Silicon Labs)

Jednou funkcí, která stojí za zdůraznění na vývojové desce PG23-PK2504A, je přepínač, který rozhoduje o tom, jak je vývojová deska napájena. Existují dvě možnosti, a sice režim AEM nebo BAT (obrázek 5). V režimu AEM je v sérii s napájecím zdrojem LDO a PG23 zapojen odpor snímající proud. Výhodou tohoto režimu je, že vývojáři mohou měřit aktuální odběr procesoru a napomáhat tak optimalizaci výkonu. Jakmile je aplikace optimalizována, mohou vývojáři přepnout na režim BAT a spustit vývojovou desku z knoflíkové baterie.

Schéma desky Silicon Labs PG23-PK2504A, která poskytuje možnost napájení přes USB-CObrázek 5: deska PG23-PK2504A poskytuje možnost napájení přes USB-C v režimu AEM, který umožňuje měření proudu procesoru. Alternativně může být procesor napájen pomocí knoflíkové baterie CR2032. (Zdroj obrázku: Silicon Labs)

Tipy a triky pro minimalizaci spotřeby energie v aplikaci IoT

Minimalizace spotřeby energie je zásadní pro každý design IoT na okraji, ať už jsou napájeny z baterií či nikoli. Optimalizace návrhu pro spotřebu energie může být časově náročná, pokud vývojáři nejsou opatrní. Níže je několik „tipů a triků“, které by vývojáři měli mít na paměti a které mohou pomoci rychle optimalizovat aplikaci IoT na nízkou spotřebu:

  • Použijte softwarovou architekturu řízenou událostmi. Když systém nezpracovává událost, uveďte jej do stavu nízké spotřeby.
  • Profilujte spotřebu baterie systému během několika cyklů nabíjení/vybíjení. Zaznamenejte odběr proudu a provozní napětí a vykreslete je v průběhu času.
  • Využijte režimy nízké spotřeby k automatické deaktivaci hodin, periferií a CPU.
  • V jednoduchých aplikacích prozkoumejte používání funkce Arm Cortex-M „uspání při ukončení“ k minimalizaci přerušování při probouzení systému.
  • Pokud používáte systém RTOS, můžete pomocí „netikajícího“ (tickless) režimu zamezit jeho nechtěnému probuzení.
  • Při optimalizaci v iteracích sledujte úspory energie při každé změně. V určitém okamžiku vývojáři objeví „koleno“, kde čas strávený optimalizací má nízkou návratnost investice z hlediska úspory energie. Je čas přestat s optimalizací a přejít k další fázi.

Vývojáři, kteří se budou řídit těmito „tipy a triky“, ušetří poměrně dost času a zklamání při začínání s dalším bezpečným návrhem zařízení IoT s nízkou spotřebou.

Závěr

Potřeba bezpečných MCU s nízkou spotřebou energie u okrajových aplikací IoT roste. Faktory, které musí konstruktéři zohlednit, aby vyhověli potřebám návrhů na okrajích, zahrnují kromě masivní podpory zabezpečení také výkon procesorového jádra, účinnost, podporu periferií a I/O, celkový tvarový faktor a podporu ekosystému.

Bylo ukázáno, že jednotka MCU Silicon Labs EFM32PG23 může vývojářům pomoci vyřešit několik problémů spojených s nízkoenergetickou konstrukcí a zabezpečením zařízení. Její související vývojová deska poskytuje všechny potřebné nástroje pro začátek. Dodržením některých důležitých „tipů a triků“ lze rychle implementovat návrh s nízkou spotřebou.

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