Hur man designar säkra, strömsnåla IoT-produkter i molnkanten med hjälp av Silicon Labs PG23-microcontrollers

Av Jacob Beningo

Bidraget med av DigiKeys nordamerikanska redaktörer

Konstruktörer av en mängd olika tillämpningar för sakernas internet (IoT) inom både konsument- och industrisektorn, från lampströmbrytare, mätaravläsare och smarta lås till solcellsväxelriktare och säkerhetspaneler, måste hitta en lämplig balans mellan hög prestanda och låg effekt - särskilt för batteridrivna konstruktioner - samtidigt som de måste se till att deras installationer är säkra. I många fall är grunden i sådana konstruktioner en microcontroller, så konstruktören måste noga överväga vilken som lämpar sig bäst.

Förutom ett stabilt stöd för säkerhet, bör man även ta hänsyn till processorkärnans prestanda, verkningsgrad, stöd för kringkretsar och I/O-portar, fysiskt format och det större ekosystemet den ingår i. Även om en microcontroller uppfyller konstruktionskraven när det gäller prestanda och strömförsörjning, har genomförandet av en säker konstruktion en inlärningskurva som kan orsaka förseningar eller leda till att säkerheten inte säkerställs på ett tillfredsställande sätt.

I denna artikel diskuteras kortfattat säkerhetsaspekter för IoT-produkter i utkanten. Därefter presenteras Silicon Labs microcontroller EFM32PG23 och det visas hur den kan användas för säker IoT-design med fokus på strömsnålhet.

Säkerhetsproblem med IoT-produkter

Antalet fjärrangrepp mot internetanslutna produkter fortsätter att öka. Utvecklare av inbäddade produkter kan frestas att tro att deras IoT-enheter inte behöver någon säkerhet eftersom de inte innehåller "något värdefullt". Sanningen är att nästan alla produkter har något som en hackare kan finna värdefullt: det kan vara sensordata, kunddata, den fasta programvaran som finns på enheten eller den åtkomst som enheten ger som bakdörr till anslutna nätverk. Säkerheten är en viktig funktion som måste utformas i varje IoT-enhet redan från början: den ska inte byggas ovanpå systemet när konstruktionen är klar. Annars är produkten mycket sårbar för attacker.

Varje IoT-enhet har flera säkerhetsaspekter som måste beaktas, t.ex. enhetsidentifiering, enhetskonfiguration och uppdateringar av mjukvara/firmware. Figur 1 visar en lista över vanliga problem och hur dessa problem kan översättas till krav på säkerheten i enheten. Varje säkerhetskrav har en tillhörande teknik som ofta används för att uppfylla kravet och för att hindra potentiella angripare.

Säkerhetsaspekt Säkerhetskrav Teknik
Identifiering av enheten IoT-enheten kan identifieras unikt logiskt och fysiskt. Säkert intygande
Enhetskonfiguration IoT-enhetens mjukvara och firmware kan ändras, och sådana ändringar kan endast utföras av auktoriserade enheter. Säker uppgradering
Uppdatering av mjukvara och firmware IoT-enhetens mjukvara och firmware kan uppdateras av auktoriserade enheter och endast med hjälp av en säker och konfigurerbar mekanism.
Dataskydd IoT-enheten kan skydda den data som den lagrar och överför från obehörig åtkomst och ändring. Säker nyckelhantering
Logisk tillgång till gränssnitt IoT-enheten kan begränsa den logiska åtkomsten till sina lokala gränssnitt och nätverksgränssnitt till endast auktoriserade enheter. Säker felsökning
Uppdatering av mjukvara och firmware IoT-enhetens mjukvara och firmware kan uppdateras av auktoriserade enheter och endast med hjälp av en säker och konfigurerbar mekanism. Säker uppgradering
Loggning av cybersäkerhetshändelser IoT-enheten kan logga cybersäkerhetshändelser och göra loggarna tillgängliga endast för auktoriserade enheter. Anti-stöldsystem
Mjuvaruintegritet Försök att bryta mot säkerheten loggas och utvecklare kan välja lämplig teknik för systemmotåtgärder för att skydda säkerheten. Säker uppstart

Figur 1: Det finns många säkerhetsfrågor, krav och tillhörande teknik som konstruktörer av IoT-konstruktioner i molnkanten måste ta hänsyn till. (Bildkälla: Silicon Labs)

Ett stort problem för många av de inbyggda team som utvecklar IoT-produkter är att de inte har någon intern säkerhetsexpertis. Följden blir att de antingen måste göra sitt bästa internt för att lära sig och införa säkerhet eller använda en extern källa. Kostnaderna och timingen kan i båda fallen bli exceptionella.

Det finns ett alternativ: utvecklingsteamet kan välja en microcontroller som har konstruerats med säkerhet i åtanke och som erbjuder färdiga säkerhetslösningar som kräver små konfigurationsjusteringar för den aktuella tillämpningen.

Introduktion till Silicon Labs PG23-serie med microcontrollers

Silicon Labs EFM32PG23-serie med microcontrollers är ett intressant alternativ för IoT-tillämpningar av flera skäl. För det första kan PG23-microcontrollern köra Silicon Labs egen säkerhetslösning Secure Vault IoT. Secure Vault är en plattform för att säkra och framtidssäkra IoT-enheter som nyligen blev den första IoT-säkerhetslösningen som uppnådde PSA Certified-status av nivå 3. Några av de funktioner som Secure Vault tillför PG23 MCU:er är säker enhetsidentitet, säker nyckelhantering och lagring samt avancerad manipulationsdetektering.

Secure Vault använder ett unikt digitalt fingeravtryck som genereras av en fysiskt oklonbar funktion (en s.k. PUF). En PUF kan användas för att skapa en symmetrisk AES-nyckel som fysiskt försvinner när systemet stängs av. Den symmetriska AES-nyckeln existerar inte ens när kretsen är avstängd, vilket gör det omöjligt att ta bort den från enheten. En PUF är en effektiv lösning på den nyckelhantering som många IoT-tillämpningar i molnkanten står inför. I själva verket kan PUF skalas upp så att den stöder så många nycklar som behövs för att stödja en tillämpning. Secure Vault har också ett system för att upptäcka manipulering som gör att nyckeln inte kan rekonstrueras när enheten stängs av efter ett manipulationsförsök. De viktigaste säkerhetsfunktionerna kan sammanfattas på följande sätt:

  • Säkert intygande
  • Säker nyckelhantering
  • Säker lagring av nycklar
  • Anti-stöldsystem

En annan anledning till att PG23-microcontrollers är väl lämpade för IoT-tillämpningar är att de är utformade för strömsnåla tillämpningar. Den aktiva strömförbrukningen för PG23 är 21 µA/MHz. Strömförbrukningen är 1,03 µA med 16 kbyte RAM aktivt i EM2-läge, eller 0,7 µA med realtidsklockan (RTC) aktiverad i EM4-läge. Så här låga strömförbrukningsnivåer hjälper utvecklare att utforma en energieffektiv produkt, oavsett om den är nätansluten eller batteridriven.

Den sista funktionen hos PG23 som vi går igenom här är microcontrollerns kapacitet. PG23 har en Arm® Cortex®-M33-processor med en klockfrekvens på upp till 80 MHz. Processorn kan köras i intervallet 1,71 - 3,8 volt med en enda strömförsörjning. För utvecklare som arbetar med sensortillämpningar finns det ett gränssnitt för sensorer med låg energiförbrukning (LESENSE). Microcontrollern finns i en 40 pinnars QFN-kapsling som mäter 5×5 millimeter (mm) eller en 48 pinnars QFN-kapsling som mäter 6×6 mm. Ett blockdiagram över PG23 visas i figur 2. Microcontrollern har också fem effektlägen: EM0 för körläge, EM1 för viloläge, EM2 för djupviloläge, EM3 för stopp och slutligen EM4 för avstängning.

Silicon Labs PG23-microcontroller har ett brett utbud av kringutrustning (klicka för att förstora)Figur 2: PG23-microcontrollern har ett brett utbud av kringutrustning, minne och energisparlägen. (Bildkälla: Silicon Labs)

Komma igång med utvecklingskortet PG23-PK2504A

Det bästa sättet att komma igång med PG23 är att använda utvecklingskortet PG23-PK2504A. Kortet har en EFM32PG23B310F512-processor som stöds av ett eget Flash-minne på 512 KByte och 64 KByte RAM-minne. Utvecklingskortet innehåller ett stort antal inbyggda sensorer, gränssnitt och en LCD-skärm med 4×10 segment (figur 3).

Diagram över utvecklingskortet Silicon Labs PG23-2504AFigur 3: Utvecklingskortet PG23-2504A levereras med en EFM32PG23-microcontroller samt en LCD med 4×10 segment, temperatur- och fuktgivare, en spänningsreferens och expansionsgränssnitt. (Bildkälla: Silicon Labs)

Med kortet i handen kan utvecklare ladda ner och installera Simplicity Studio (under fliken Getting Started). Simplicity Studio är en startpunkt för allt som behövs för att utvärdera, konfigurera och utveckla EFM32-microkontrollers. Mjukvaran innehåller material för att komma igång, dokumentation, kompatibla verktyg och resurser.

När en utvecklare öppnar Simplicity Studio och ansluter ett utvecklingskort identifierar programmet kortet och ger rekommendationer om exempelprojekt, dokumentation och demos (figur 4). Utvecklaren kan sedan välja den bästa vägen för att komma igång och börja experimentera med PG23.

Bild av Silicon Labs Simplicity Studio (klicka för att förstora)Figur 4: Silicon Labs Simplicity Studio detekterar kortet och ger anpassade rekommendationer för att komma igång, dokumentation, exempelprojekt med mera. (Bildkälla: Silicon Labs)

En funktion som är värd att lyfta fram på utvecklingskortet PG23-PK2504A är den strömbrytare som bestämmer hur utvecklingskortet strömförsörjs. Det finns två alternativ: AEM eller BAT (figur 5). I AEM-läget finns det ett strömavkännande motstånd i serie med LDO-matningen och PG23. Fördelen med detta läge är att utvecklare kan mäta processorns strömförbrukning för att underlätta effektoptimering. När applikationen är optimerad kan utvecklare växla till BAT-läge för att driva utvecklingskortet med ett knappcellsbatteri.

Silicon Labs PG23-PK2504A erbjuder möjligheten att driva kortet via USB-CFigur 5: PG23-PK2504A ger möjlighet att driva kortet via USB-C i AEM-läget, vilket gör det möjligt att mäta processorströmmen. Alternativt kan processorn drivas med ett CR2032-knappcellsbatteri. (Bildkälla: Silicon Labs)

Tips och tricks för att minimera energiförbrukningen i en IoT-tillämpning

Att minimera energiförbrukningen är avgörande för all IoT-utrustning, oavsett om den är batteridriven eller drivs på annat vis. Att optimera en konstruktion för energianvändning kan vara tidskrävande om utvecklare inte är försiktiga. Nedan finns flera tips och tricks som utvecklare bör tänka på för att snabbt optimera en strömsnål IoT-tillämpning:

  • Använd en händelsestyrd mjukvaruarkitektur. När systemet inte processar en händelse, sätts det i ett strömsnålt tillstånd.
  • Profilera systemets batteriförbrukning under flera laddnings- och urladdningscykler. Registrera strömförbrukningen och driftspänningen och plotta dem över tid.
  • Utnyttja energisparlägena för att automatiskt stänga av klockor, kringutrustning och processorn.
  • I enkla tillämpningar kan du undersöka om du kan använda Arm Cortex-M-funktionen "sleep on exit" för att minimera interruptbelastningen när du väcker systemet.
  • Om du använder ett RTOS bör du utnyttja dess "tickless"-läge för att förhindra att RTOS:et oavsiktligt väcker systemet.
  • När man optimerar i iterationer bör man följa energibesparingarna i varje förändring. Vid en viss punkt upptäcker utvecklarna ett "knä" där den tid som läggs på optimering ger låg avkastning på investeringen i form av energibesparingar. Det är dags att sluta optimera och gå vidare till nästa steg.

Utvecklare som följer dessa tips och tricks kommer att spara en hel del tid och bekymmer när de börjar med nästa säkra och strömsnåla IoT-konstruktion.

Sammanfattning

Behovet av säkra, strömsnåla microcontrollers ökar för IoT-tillämpningar. Förutom ett stabilt stöd för säkerhet måste konstruktörerna ta hänsyn till följande faktorer för att uppfylla behoven i molnkantbaserade konstruktioner: processorkärnans prestanda, verkningsgrad, stöd för kringutrustning och I/O, övergripande fysiska dimensioner och det större ekosystemet de ingår i.

Som framgår kan Silicon Labs EFM32PG23-microcontroller hjälpa utvecklare att lösa flera problem i samband med konstruktion med låg effekt och enhetssäkerhet. Det tillhörande utvecklingskortet ger alla nödvändiga verktyg för att komma igång, och genom att följa några viktiga "tips och tricks" kan en energisnål konstruktion snabbt implementeras.

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.

Om skribenten

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo är konsult inom inbäddad programvara. Han har publicerat över 200 artiklar om utveckling av inbäddad programvara, och är en eftertraktad talare och teknisk utbildare med tre examina, däribland en master i teknik från University of Michigan.

Om utgivaren

DigiKeys nordamerikanska redaktörer