Slik konstrueres sikre Edge IoT-enheter, eller kantenheter med lavt energiforbruk ved hjelp av Silicon Labs PG23-mikrokontrollere (MCU-er)

Av Jacob Beningo

Bidrag fra DigiKeys nordamerikanske redaktører

Designere som utvikler en rekke forskjellige forbrukerutrustninger og Egde IIoT-utrustninger (Industrielle tingenes internett), fra lysbrytere, måleravlesere og smarte låser til solcelle-invertere og sikkerhetspaneler, må finne en passende balanse mellom høy ytelse og lavt energiforbruk – spesielt for batteridrevne konstruksjoner – samtidig som man forsikrer seg om at implementeringene er sikre. I mange tilfeller er grunnlaget for slike design en mikrokontroller (MCU), så designeren må nøye vurdere hvilken som skal brukes.

Sammen med solid støtte for sikkerhet, inkluderer faktorer å vurdere prosessorkjerneytelse, effektivitet, periferi- og I/O-støtte, generell formfaktor og økosystemstøtte. Selv om en mikrokontroller kan oppfylle konstruksjonskravene med hensyn til ytelse og kraft, har implementeringen av en sikker konstruksjon en læringskurve som kan forårsake forsinkelser eller føre til at sikkerheten ikke implementeres tilstrekkelig.

Denne artikkelen tar kort for oss sikkerhetshensyn for Edge IoT-enheter. Den introduserer deretter Silicon Labs mikrokontrolleren EFM32PG23 og viser hvordan du bruker den til sikker Edge IoT-design, med vekt på lavt energiforbruk.

Sikkerhetsproblemer med IoT-enheter

Antall angrep på Internett-tilkoblede enheter fortsetter å øke. Innebygde utviklere kan bli fristet til å tro at deres IoT Edge-enhet ikke trenger sikkerhet fordi den ikke inneholder «noe verdifullt». Sannheten er at nesten alle enheter har noe som en hacker kan finne verdifullt, enten det er sensordata, kundedata, den faktiske firmwaren som er på enheten, eller tilgangen enheten gir som en bakdør til tilkoblede nettverk. Sikkerhet er en kritisk funksjon som må utformes i hver IoT Edge-enhet fra starten: den bør ikke boltes på systemet på slutten av designsyklusen. Ellers vil enheten være svært sårbar for angrep.

Hver IoT Edge-enhet har flere sikkerhetsområder som må vurderes, for eksempel enhetsidentifikasjon, enhetskonfigurasjon og programvare-/fastvareoppdateringer. Figur 1 viser en liste over vanlige anliggende og hvordan disse bekymringene omdannes til et enhetssikkerhetskrav. Hvert sikkerhetskrav har en tilhørende teknologi som ofte brukes til å oppfylle dette kravet og motarbeide potensielle angripere.

Anliggende Sikkerhetskrav Teknologi
Enhetsidentifikasjon IoT-enheten kan identifiseres logisk og fysisk. Sikker bekreftelse
Enhetskonfigurasjon IoT-enhetens programvare og firmwarekonfigurasjon kan endres, og slike endringer kan kun utføres av autoriserte enheter. Sikker oppgradering
Oppdatering av programvare og firmware IoT-enhetens programvare og firmware kan oppdateres av autoriserte enheter ved hjelp av bare en sikker og konfigurerbar mekanisme.
Databeskyttelse IoT-enheten kan beskytte dataene den lagrer og overfører fra uautorisert tilgang og modifisering. Sikker nøkkel-styringstjeneste
Logisk tilgang til grensesnitt IoT-avviket kan begrense logisk tilgang til sine lokale grensesnitt og nettverksgrensesnitt til kun autoriserte enheter. Sikker-feilsøking
Oppdatering av programvare og firmware IoT-enhetens programvare og firmware kan oppdateres av autoriserte enheter ved hjelp av bare en sikker og konfigurerbar mekanisme. Sikker oppgradering
Hendelseslogging for cybersikkerhet IoT-enheten kan logge cyberseccurity-hendelser og gjøre loggene tilgjengelige kun for autoriserte enheter. Anti-sabotasje
Programvareintegretet Forsøk på å bryte sikkerheten logges, og utviklere kan velge passende system mottiltaksteknologier for å beskytte sikkerheten. Sikker omstart

Figur 1: Sikkerhetsanliggende, kravene og tilhørende teknologi som designere av Edge IoT-utrustninger må vurdere, er mange. (Bildekilde: Silicon Labs)

Et stort problem med mange av de teamene som utvikler integrerte Edge IoT-utrustninger, er at de ikke har intern sikkerhetskompetanse. Resultatet er at de enten må gjøre sitt beste internt for å lære og implementere sikkerhet eller bruke en ekstern kilde. kostnadene og timingen kan uansettvære ekstraordinære.

Det finnes ett alternativ: Utviklingsteamet kan velge en mikrokontroller konstruert med tanke på sikkerhet, som gir bruksklare sikkerhetsløsninger som krever mindre konfigurasjonsjusteringer for den aktuelle utrustningen

Introduksjon av Silicon Labs PG23-seriens mikrokontroller-enheter

Silicon Labs EFM32PG23-serien mikrokontrollere er et interessant alternativ for Edge IoT-utrustninger av flere årsaker. Først kan PG23 MCU kjøre Silicon Labs sin egen Secure Vault IoT-sikkerhetsløsning. Secure Vault er en plattform for å sikre og fremtidssikre IoT-enheter som nylig ble den første IoT-sikkerhetsløsningen for å oppnå statusen PSA-sertifisert nivå 3. Noen av funksjonene som Secure Vault bringer til PG23 MCU-er inkluderer sikker enhetsidentitet (Secure Device Identity), sikker nøkkelhåndtering og lagring (Secure Key Management and Storage) og avansert sabotasjedeteksjon (Advanced Tamper Detection).

Secure Vault drar nytte av et unikt digitalt fingeravtrykk generert av en fysisk ukloningsbar funksjon (PUF). En PUF kan brukes til å lage en AES-symmetrisk nøkkel som fysisk forsvinner når systemet slås av. Den AES-symmetriske nøkkelen finnes ikke engang når brikken er av, noe som gjør det umulig å fjerne den fra enheten. En PUF er en effektiv løsning på den nøkkelutfordringen mange Edge IoT-utrustninger står overfor. Faktisk kan PUF skalere for å støtte så mange taster som nødvendig for å støtte en utrustning. Secure Vault inkluderer også et system for sabotasjedeteksjonsom gjør det slik at nøkkelen ikke kan rekonstrueres når enheten er slått av etter en manipulasjonshendelse. De viktigste sikkerhetsfunksjonene kan oppsummeres som:

  • sikker bekreftelse.
  • sikker nøkkel-styringstjeneste.
  • sikker oppbevaring av nøkkel.
  • anti-sabotasje.

En annen grunn til at PG23-mikrokontrollerne er godt egnet for Edge IoT-utrustninger, er at de er konstruert for utrustninger med lavt energiforbruk. Det aktive strømforbruket for PG23 er 21 mikroampere per megahertz (µA/MHz). Strømforbruket er 1,03 µA med 16 kilobyte (Kbyte) RAM aktiv i EM2-modus, eller 0,7 µA med sanntidsklokken (RTC) aktivert i EM4-modus. Nåværende forbruksnivåer på dette lave nivået hjelper utviklere når de jobber med å konstruere en energibesparende enhet, enten den er koblet til en vegg eller batteridrevet.

Den siste egenskapen til PG23 som vi går gjennom her, er mikrokontrollerens kapasitet. PG23 har enArm® Cortex®-M33-prosessor som er klokket til opp til 80 MHz. Prosessoren kan operere i området 1,71 til 3,8 volt ved hjelp av en enkelt strømforsyning. For utviklere som jobber med sensorutrustninger, er det et lavenergisensor-grensesnitt (LESENSE). Mikrokontrolleren leveres i en 40-pinners QFN-kapsling som måler 5×5 mm, eller en 48-pinners QFN-kapsling som måler 6×6 mm. Et blokkskjema av PG23 er vist i figur 2. Mikrokontrolleren har også fem strømtilstander: em0 FOR kjøremodus, EM1 for søvn, EM2 for dyp søvn, EM3 for stopp og til slutt EM4 for avstengning/utkopling.

Skjema over Silicon Labs PG23-mikrokontrolleren har et bredt spekter av periferiutstyr (klikk for å forstørre)Figur 2: Mikrokontrolleren PG23 har et bredt spekter av periferi-, minne- og energisparingsmoduser. (Bildekilde: Silicon Labs)

Kom i gang med PG23-PK2504A-utviklingsbrettet

Den beste måten å komme i gang med PG23 er å bruke PG23-PK2504A-utviklingskortet. Kortet har en EFM32PG23B310F512-prosessor, som støttes av sin egen 512 Kbyte flash og 64 Kbyte RAM. Utviklingskortet inkluderer et bredt spekter av innebygde sensorer, grensesnitt og en 4×10 segmentets LCD (figur 3).

Grafisk fremstilling over Silicon Labs PG23-2504A-utviklingskortFigur 3: Utviklingskortet PG23-2504A leveres med en EFM32PG23 MCU samt en 4× 10-segment LCD, temperatur- og fuktighetssensorer, en spenningsreferanse og ekspansjonsgrensesnitt. (Bildekilde: Silicon Labs)

Når utvikleren har kortet, kan Simplicity Studio lastes ned og installeres (under Kom i gang-fanen). Simplicity Studio er et startpungt for alt det er nødvendig å evaluere, konfigurere og utvikle med EFM32-mikrokontroller. Programvaren inkluderer å komme i gang med materialer, dokumentasjon, kompatible verktøy og ressurser.

Når en utvikler åpner Simplicity Studio og plugger inn et utviklingskort, vil programvaren identifisere kortet og gi anbefalinger av ting som eksempelprosjekter, dokumentasjon og demoer (figur 4). Utvikleren kan deretter velge den beste veien for dem å komme i gang med å eksperimentere med PG23.

Bilde av Silicon Labs sin Simplicity Studio (klikk for å forstørre)Figur 4: Silicon Labs Simplicity Studio oppdager kortet og gir tilpassede anbefalinger for å komme i gang, samt dokumentasjon, eksempelprosjekter med mer. (Bildekilde: Silicon Labs)

En funksjon som er verdt å fremheve på PG23-PK2504A-utviklingskortet, er bryteren som bestemmer hvordan utviklingskortet drives. Det er to alternativer; AEM eller BAT (figur 5). I AEM-modus er det en strømfølermotstand i serie med LDO-strømforsyningen og PG23. Fordelen med denne modusen er at utviklere kan måle hvor mye strøm prosessoren trekker, for å hjelpe til med strømoptimalisering. Når utrustningen er optimalisert, kan utviklere bytte til BAT-modus for å kjøre utviklingskortet fra et knappcellebatteri.

Diagram over Silicon Labs PG23-PK2504A gir et alternativ for å drive kortet via USB-CFigur 5: PG23-PK2504A gir et alternativ for å drive kortet gjennom USB-C i sin AEM-modus, som gjør det mulig å måle prosessorstrømmen. Alternativt kan prosessoren drives gjennom et CR2032-knappcellebatteri. (Bildekilde: Silicon Labs)

Tips og triks for å minimere energibruken i en IoT-utrustning

Minimering av energiforbruket er avgjørende for hver Edge IoT-konstruksjon, uansett om de er batteridrevne eller ikke. Å optimalisere en konstruksjon for energibruk kan være tidkrevende hvis utviklerne ikke er forsiktige. Nedenfor er det flere «tips og triks» utviklere bør huske på som kan bidra til å raskt optimalisere en IoT-utrustning for lavt energiforbruk:

  • Bruk en hendelsesdrevet programvarearkitektur. Når systemet ikke behandler en hendelse, sett den i en tilstand med lavt energiforbruk.
  • Profilere systemets batteriforbruk over flere lade-/utladningssykluser. Registrer strømtilførselen og driftsspenningen, og registrer dem inn over tid.
  • Utnytt lavenergi-moduser for å deaktivere klokker, periferiutstyr og CPU-en automatisk.
  • I enkle utrustninger, utforsk ved hjelp av Arm Cortex-M «sleep on exit»-funksjonen, for å minimere avbrudd over hodet når du vekker systemet.
  • Hvis du bruker EN RTO, må du utnytte dens «tickless»-modus for å forhindre at RTO-ene utilsiktet vekker systemet.
  • Når du optimaliserer i iterasjoner, må du spore energibesparelsene for hver endring. På et visst tidspunkt oppdager utviklere et «kne» der tiden brukt på å optimalisere har en lav avkastning på investeringer i form av energibesparelser. Det er på tide å slutte å optimalisere og gå videre til neste trinn.

Utviklere som følger disse «tipsene og triksene», vil spare ganske mye tid og bekymring når de kommer i gang med sin neste sikre, IoT-design med lavt energiforbruk.

Konklusjon

Behovet for sikre mikrokontrollere med lavt energiforbruk øker for Edge IoT-utrustninger. Sammen med solid støtte for sikkerhet, må faktorene designere må vurdere for å møte behovene til Edge-baserte (kantbaserte) konstruksjoner inkluderer prosessorkjerneytelse, effektivitet, periferi- og I/O-støtte, generell formfaktor og økosystemstøtte.

Som vist, kan Silicon Labs mikrokontrolleren EFM32PG23 hjelpe utviklere med å løse flere problemer knyttet til konstruksjoner med lavt energiforbruk enhetssikkerhet. Det tilhørende utviklingskortet gir alle nødvendige verktøy for å komme i gang, og ved å følge noen viktige «tips og triks», kan en konstruksjon med lavt energiforbruk raskt implementeres.

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 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.

Om denne utgiveren

DigiKeys nordamerikanske redaktører