Entwicklung von sicheren stromsparenden Edge-IoT-Geräten mit PG23-MCUs von Silicon Labs
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2022-10-19
Entwickler einer Reihe von IoT-Anwendungen (Internet der Dinge) für Verbraucher und Industrie, von Lichtschaltern, Zählerablesern und intelligenten Schlössern bis hin zu Solarwechselrichtern und Sicherheitspanels, müssen ein angemessenes Gleichgewicht zwischen hoher Performance und geringem Stromverbrauch finden - insbesondere bei batteriebetriebenen Designs - und gleichzeitig sicherstellen, dass ihre Implementierungen sicher sind. In vielen Fällen ist die Grundlage solcher Designs ein Mikrocontroller (MCU), so dass der Designer sorgfältig abwägen muss, welchen er verwenden will.
Neben einer soliden Sicherheitsunterstützung sind Faktoren wie die Leistung des Prozessorkerns, die Effizienz, die Unterstützung von Peripheriegeräten und I/O, der allgemeine Formfaktor und die Unterstützung von Ökosystemen zu berücksichtigen. Eine MCU kann zwar die Designanforderungen hinsichtlich Performance und Stromverbrauch erfüllen, aber die Implementierung eines sicheren Designs ist mit einer Lernkurve verbunden, die zu Verzögerungen führen kann oder dazu, dass die Sicherheit nicht angemessen implementiert wird.
Dieser Artikel befasst sich kurz mit Sicherheitsüberlegungen für IoT-Edge-Geräte. Anschließend wird die MCU EFM32PG23 von Silicon Labs vorgestellt und gezeigt, wie sie für sichere Edge-IoT-Designs eingesetzt werden kann, wobei der Schwerpunkt auf niedrigem Stromverbrauch liegt.
Sicherheitsprobleme mit IoT-Geräten
Die Zahl der Fernangriffe auf mit dem Internet verbundene Geräte nimmt weiter zu. Embedded-Entwickler könnten versucht sein zu denken, dass ihr IoT-Edge-Gerät keine Sicherheit benötigt, weil es nichts Wertvolles enthält. Die Wahrheit ist, dass fast jedes Gerät etwas enthält, das für einen Hacker wertvoll sein könnte, seien es Sensordaten, Kundendaten, die eigentliche Firmware des Geräts oder der Zugang, den das Gerät als Hintertür zu verbundenen Netzwerken bietet. Sicherheit ist eine kritische Funktion, die von Anfang an in jedes IoT-Edge-Gerät integriert werden muss: Sie sollte nicht erst am Ende des Entwicklungszyklus auf das System aufgeschraubt werden. Andernfalls ist das Gerät sehr anfällig für Angriffe.
Bei jedem IoT-Edge-Gerät gibt es mehrere Sicherheitsbereiche, die berücksichtigt werden müssen, z. B. Geräteidentifikation, Gerätekonfiguration und Software-/Firmware-Updates. Abbildung 1 zeigt eine Liste allgemeiner Bedenken und wie sich diese Bedenken in eine Sicherheitsanforderung für ein Gerät umsetzen lassen. Jede Sicherheitsanforderung hat eine zugehörige Technologie, die häufig eingesetzt wird, um diese Anforderung zu erfüllen und potenzielle Angreifer abzuwehren.
|
Abbildung 1: Es gibt viele Sicherheitsbedenken, Anforderungen und damit verbundene Technologien, die die Entwickler von IoT-Anwendungen berücksichtigen müssen. (Bildquelle: Silicon Labs)
Ein großes Problem vieler Embedded-Teams, die IoT-Edge-Anwendungen entwickeln, besteht darin, dass sie über keine internen Sicherheitsexperten verfügen. Das Ergebnis ist, dass sie entweder intern ihr Bestes tun müssen, um Sicherheit zu erlernen und zu implementieren, oder eine externe Quelle nutzen müssen. In jedem Fall können die Kosten und der Zeitaufwand außergewöhnlich hoch sein.
Es gibt eine Alternative: Das Entwicklungsteam kann eine MCU auswählen, die mit Blick auf die Sicherheit konzipiert wurde und sofort einsatzbereite Sicherheitslösungen bietet, die nur geringfügige Konfigurationsanpassungen für die jeweilige Anwendung erfordern.
Einführung in die MCU-Bausteine der PG23-Serie von Silicon Labs
Die Mikrocontroller der Serie EFM32PG23 von Silicon Labs sind aus mehreren Gründen eine interessante Option für IoT-Edge-Geräte. Erstens kann die PG23-MCU die eigene IoT-Sicherheitslösung „Secure Vault“ von Silicon Labs ausführen. „Secure Vault“ ist eine Plattform für den Schutz und die Zukunftssicherheit von IoT-Geräten, die kürzlich als erste IoT-Sicherheitslösung den Status PSA Certified Level 3 erhalten hat. Zu den Funktionen, die „Secure Vault“ für PG23-MCUs bietet, gehören die sichere Geräteidentität, die sichere Schlüsselverwaltung und -speicherung sowie die erweiterte Manipulationserkennung.
„Secure Vault“ macht sich einen einzigartigen digitalen Fingerabdruck zunutze, der durch eine physisch nicht klonierbare Funktion (PUF) erzeugt wird. Ein PUF kann zur Erstellung eines symmetrischen AES-Schlüssels verwendet werden, der physisch verschwindet, wenn das System ausgeschaltet wird. Der symmetrische AES-Schlüssel existiert nicht, wenn der Chip ausgeschaltet ist, so dass es unmöglich ist, ihn aus dem Gerät zu entfernen. Ein PUF ist eine effektive Lösung für die Herausforderung der Schlüsselverwaltung, mit der viele IoT-Edge-Anwendungen konfrontiert sind. Tatsächlich kann der PUF so viele Schlüssel unterstützen, wie für eine Anwendung erforderlich sind. „Secure Vault“ enthält außerdem ein System zur Erkennung von Manipulationen, das dafür sorgt, dass der Schlüssel nicht rekonstruiert werden kann, wenn das Gerät nach einem Manipulationsereignis ausgeschaltet wird. Die wichtigsten Sicherheitsmerkmale lassen sich wie folgt zusammenfassen:
- Sichere Attestierung
- Sicheres Schlüsselmanagement
- Sicherer Schlüsselspeicher
- Manipulationssicherung
Ein weiterer Grund, warum sich die PG23-MCUs gut für IoT-Edge-Anwendungen eignen, ist, dass sie für Anwendungen mit geringem Stromverbrauch konzipiert sind. Der aktive Stromverbrauch des PG23 beträgt 21 Mikroampere pro Megahertz (µA/MHz). Der Stromverbrauch beträgt 1,03 µA bei 16 Kilobyte aktivem RAM im EM2-Modus bzw. 0,7 µA bei aktivierter Echtzeituhr (RTC) im EM4-Modus. Der niedrige Stromverbrauch hilft den Entwicklern, ein energieeffizientes Gerät zu entwerfen, unabhängig davon, ob es an die Steckdose angeschlossen ist oder mit Batterien betrieben wird.
Das letzte Merkmal des PG23, das hier untersucht werden soll, sind die Fähigkeiten der MCU. Der PG23 verfügt über einen Arm®-Cortex®-M33-Prozessor, der mit bis zu 80 MHz getaktet ist. Der Prozessor kann mit einer einzigen Stromversorgung im Spannungsbereich von 1,71 bis 3,8 Volt betrieben werden. Für Entwickler, die an Sensoranwendungen arbeiten, gibt es eine energiesparende Sensorschnittstelle (LESENSE). Die MCU wird in einem 40-poligen QFN-Gehäuse mit den Maßen 5×5 Millimeter (mm) oder einem 48-poligen QFN-Gehäuse mit den Maßen 6×6 mm geliefert. Ein Blockdiagramm des PG23 ist in Abbildung 2 dargestellt. Die MCU hat außerdem fünf Leistungszustände: EM0 für den Betriebsmodus, EM1 für den Ruhezustand, EM2 für den Tiefschlaf, EM3 für den Stopp und schließlich EM4 für die Abschaltung.
Abbildung 2: Die PG23-MCU verfügt über eine breite Palette an Peripheriekomponenten, Speicher und Energiesparmodi. (Bildquelle: Silicon Labs)
Erste Schritte mit dem Entwicklungsboard PG23-PK2504A
Der beste Weg zur ersten Anwendung des PG23 ist die Verwendung des Entwicklungsboards PG23-PK2504A. Das Board verfügt über den Prozessor EFM32PG23B310F512, der von einem eigenen 512 KByte großen Flash und 64 KByte RAM unterstützt wird. Das Entwicklungsboard enthält eine breite Palette von Sensoren, Schnittstellen und ein 4×10-Segment-LCD (Abbildung 3).
Abbildung 3: Das Entwicklungsboard PG23-2504A wird mit einer EFM32PG23-MCU sowie einem 4×10-Segment-LCD, Temperatur- und Feuchtigkeitssensoren, einer Spannungsreferenz und Erweiterungsschnittstellen geliefert. (Bildquelle: Silicon Labs)
Mit dem Board in der Hand können Entwickler Simplicity Studio herunterladen und installieren (unter der Registerkarte „Erste Schritte“). „Simplicity Studio“ ist eine Startrampe für alles, was zum Evaluieren, Konfigurieren und Entwickeln mit EFM32-Mikrocontrollern benötigt wird. Die Software umfasst Materialien für den Einstieg, Dokumentation, kompatible Tools und Ressourcen.
Wenn ein Entwickler „Simplicity Studio“ öffnet und ein Entwicklungsboard anschließt, erkennt die Software das Board und gibt Empfehlungen für Beispielprojekte, Dokumentation und Demos (Abbildung 4). Der Entwickler kann dann den für ihn besten Weg wählen, um mit dem PG23 zu experimentieren.
Abbildung 4: Das Simplicity Studio von Silicon Labs erkennt das Board und bietet maßgeschneiderte Empfehlungen für die ersten Schritte, Dokumentation, Beispielprojekte und mehr. (Bildquelle: Silicon Labs)
Ein hervorzuhebendes Merkmal des Entwicklungsboards PG23-PK2504A ist der Schalter, der über die Stromversorgung des Entwicklungsboards entscheidet. Es gibt zwei Möglichkeiten: AEM oder BAT (Abbildung 5). Im AEM-Modus befindet sich ein Strommesswiderstand in Reihe mit der LDO-Stromversorgung und dem PG23. Der Vorteil dieses Modus besteht darin, dass die Entwickler zur Leistungsoptimierung die Stromaufnahme des Prozessors messen können. Sobald die Anwendung optimiert ist, können Entwickler in den BAT-Modus wechseln, um das Entwicklungsboard mit einer Knopfzelle zu betreiben.
Abbildung 5: Das PG23-PK2504A bietet die Möglichkeit, das Board im AEM-Modus über USB-C mit Strom zu versorgen, wodurch der Prozessorstrom gemessen werden kann. Alternativ kann der Prozessor auch über eine CR2032-Knopfzelle mit Strom versorgt werden. (Bildquelle: Silicon Labs)
Tipps und Tricks zur Minimierung des Energieverbrauchs in einer IoT-Anwendung
Die Minimierung des Energieverbrauchs ist für jedes IoT-Edge-Design entscheidend, unabhängig davon, ob es batteriebetrieben ist oder nicht. Die Optimierung eines Designs im Hinblick auf den Energieverbrauch kann sehr zeitaufwändig sein. Im Folgenden finden Sie einige „Tipps und Tricks“, die Entwickler beachten sollten, um eine IoT-Anwendung schnell für einen geringen Stromverbrauch zu optimieren:
- Verwenden Sie eine ereignisgesteuerte Softwarearchitektur. Wenn das System keine Ereignisse zu verarbeiten hat, schalten Sie es in einen stromsparenden Zustand.
- Erstellen Sie ein Profil des Batterieverbrauchs des Systems über mehrere Lade-/Entladezyklen. Zeichnen Sie die Stromaufnahme und die Betriebsspannung auf und stellen Sie sie über die Zeit dar.
- Nutzen Sie die Energiesparmodi zur automatischen Deaktivierung von Taktgebern, Peripheriekomponenten und der CPU.
- Bei einfachen Anwendungen kann die Arm-Cortex-M-Funktion „sleep on exit“ verwendet werden, um den Interrupt-Overhead beim Aufwecken des Systems zu minimieren.
- Wenn Sie ein RTOS verwenden, nutzen Sie dessen „tickless“-Modus, um zu verhindern, dass das RTOS das System versehentlich aufweckt.
- Verfolgen Sie bei der Optimierung in Iterationen die Energieeinsparungen bei jeder Änderung. An einem bestimmten Punkt wird der Punkt erreicht, an dem sich der Optimierungsaufwand in Form von Energieeinsparungen kaum noch lohnt. Dann ist es an der Zeit, mit der Optimierung aufzuhören und zur nächsten Stufe überzugehen.
Entwickler, die diese „Tipps und Tricks“ befolgen, können sich viel Zeit und Ärger ersparen, wenn sie ihr nächstes sicheres IoT-Design mit geringem Stromverbrauch in Angriff nehmen.
Fazit
Der Bedarf an sicheren, stromsparenden MCUs für IoT-Edge-Anwendungen steigt. Neben einer soliden Sicherheitsunterstützung sind Faktoren wie die Performance des Prozessorkerns, die Effizienz, die Unterstützung von Peripheriekomponenten und I/O, der allgemeine Formfaktor und die Unterstützung von Ökosystemen zu berücksichtigen.
Wie gezeigt, kann die MCU EFM32PG23 von Silicon Labs Entwicklern helfen, verschiedene Probleme im Zusammenhang mit energiesparendem Design und Gerätesicherheit zu lösen. Das zugehörige Entwicklungsboard bietet alle notwendigen Werkzeuge für den Einstieg, und wenn man einige wichtige „Tipps und Tricks“ beachtet, kann ein stromsparendes Design schnell umgesetzt werden.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

