Home Artikel So entwerfen Sie sichere und stromsparende IoT-Geräte mithilfe von MCUs ...

So entwerfen Sie sichere IoT-Geräte mit geringem Stromverbrauch mithilfe der PG23-MCUs von Silicon Labs

Autor: Jacob Beningo, Digi-Key North American Publishers Collaborative

Neben der starken Unterstützung der Sicherheit sind auch die Prozessorkernleistung, die Effizienz, die Peripherie- und I/O-Unterstützung, der Gesamtformfaktor und die Ökosystemunterstützung zu berücksichtigen. Obwohl eine MCU die Designanforderungen in Bezug auf Leistung und Leistung erfüllen kann, ist die Implementierung eines sicheren Designs mit einer Lernkurve verbunden, die zu Verzögerungen führen oder dazu führen kann, dass die Sicherheit nicht ordnungsgemäß implementiert wird.

In diesem Artikel werden Sicherheitsaspekte für Edge-IoT-Geräte kurz erläutert. Anschließend stellt er den MCU EFM32PG23 von Silicon Labs vor und zeigt, wie er auf sichere Edge-IoT-Designs angewendet werden kann, wobei der Schwerpunkt auf geringem Stromverbrauch liegt.

Sicherheitsprobleme bei IoT-Geräten

Die Zahl der Remote-Angriffe auf mit dem Internet verbundene Geräte nimmt weiter zu. Embedded-Entwickler könnten versucht sein zu glauben, dass ihr IoT-Edge-Gerät keine Sicherheit benötigt, weil es „nichts Wertvolles“ enthält. Die Wahrheit ist, dass fast jedes Gerät über etwas verfügt, das ein Hacker für wertvoll halten könnte, seien es Sensordaten, Kundendaten, die Firmware auf dem Gerät selbst oder der Zugriff, den das Gerät als Hintertür zu den verbundenen Netzwerken bietet. Sicherheit ist eine entscheidende Funktion, die von Anfang an in jedes IoT-Edge-Gerät integriert werden muss – sie sollte nicht spät im Designzyklus in das System integriert werden. Andernfalls ist das Gerät sehr anfällig für Angriffe.

Jedes IoT-Edge-Gerät verfügt über mehrere Sicherheitsbereiche, die berücksichtigt werden müssen, wie z. B. Geräteidentifikation, Gerätekonfiguration und Software-/Firmware-Updates. Abbildung 1 zeigt eine Liste häufiger Bedenken und wie diese Bedenken sich in einer Gerätesicherheitsanforderung niederschlagen. Jeder Sicherheitsanforderung ist eine Technologie zugeordnet, die häufig zur Erfüllung dieser Anforderung und zur Abwehr potenzieller Angreifer eingesetzt wird.

Sorge Sicherheitsanforderung Recycelbare Technologie
Geräteidentifikation Das IoT-Gerät kann sowohl logisch als auch physisch eindeutig identifiziert werden. sichere Zertifizierung
Geräteeinstellungen Die Software- und Firmware-Konfiguration des IoT-Geräts kann geändert werden, und solche Änderungen können nur von autorisierten Stellen vorgenommen werden. sicheres Update
Software- und Firmware-Update Software und Firmware von IoT-Geräten können von autorisierten Stellen nur mithilfe eines sicheren und konfigurierbaren Mechanismus aktualisiert werden.
Datenschutz Das IoT-Gerät kann die von ihm gespeicherten und übertragenen Daten vor unbefugtem Zugriff und Änderung schützen. Sichere Schlüsselverwaltung
Logischer Zugriff auf Schnittstellen Das IoT-Gerät kann den logischen Zugriff auf seine lokalen und Netzwerkschnittstellen auf nur autorisierte Einheiten beschränken. sicheres debuggen
Software- und Firmware-Update Software und Firmware von IoT-Geräten können von autorisierten Stellen nur mithilfe eines sicheren und konfigurierbaren Mechanismus aktualisiert werden. sicheres Update
Ereignisprotokoll zur Cybersicherheit Das IoT-Gerät kann Cybersicherheitsereignisse protokollieren und die Protokolle nur autorisierten Stellen zugänglich machen. Anti-Sabotage
Softwareintegrität Versuche von Sicherheitsverletzungen werden protokolliert und Entwickler können geeignete System-Gegenmaßnahmentechnologien zum Schutz der Sicherheit auswählen. Sicherer Start

Abbildung 1: Es gibt viele Sicherheitsprobleme, Anforderungen und die damit verbundene Technologie, die Entwickler von Edge-IoT-Anwendungen berücksichtigen müssen. (Bildquelle: Silicon Labs)

Ein großes Problem bei vielen Embedded-Teams, die IoT-Edge-Anwendungen entwickeln, besteht darin, dass sie nicht über interne Sicherheitsexpertise verfügen. Das Ergebnis ist, dass sie so viel wie möglich intern tun müssen, um Sicherheit zu erlernen und anzuwenden, oder sich an eine externe Quelle wenden müssen. In beiden Fällen können die Kosten und der Zeitaufwand außergewöhnlich hoch sein.

Es gibt eine Alternative: Das Entwicklungsteam kann eine MCU auswählen, die auf Sicherheit ausgelegt ist und sofort einsatzbereite Sicherheitslösungen bietet, die geringfügige Konfigurationsanpassungen für die jeweilige Anwendung erfordern.

Einführung in die MCU-Geräte der PG23-Serie von Silicon Labs

Die Mikrocontroller der Serie EFM32PG23 von Silicon Labs sind aus mehreren Gründen eine interessante Wahl für IoT-Edge-Geräteanwendungen. Erstens kann die PG23-MCU die IoT-Sicherheitslösung Secure Vault von Silicon Labs ausführen. Secure Vault ist eine Plattform zum Schutz und zur Zukunftssicherheit von IoT-Geräten, die kürzlich als erste IoT-Sicherheitslösung die PSA-Zertifizierungsstufe 3 erreicht hat. Zu den Funktionen, die Secure Vault den PG23-MCUs bietet, gehören sichere Geräteidentität, sichere Schlüsselspeicherung und -verwaltung sowie erweiterte Manipulationserkennung.

Secure Vault nutzt einen einzigartigen Fingerabdruck, der durch eine physikalisch nicht klonbare Funktion (PUF) generiert wird. Mit einem PUF kann ein symmetrischer AES-Schlüssel erstellt werden, der beim Herunterfahren des Systems physisch verschwindet. Der symmetrische AES-Schlüssel existiert nicht einmal, wenn der Chip ausgeschaltet ist, sodass es unmöglich ist, ihn aus dem Gerät zu entfernen. Ein PUF ist eine effektive Lösung für die Schlüsselverwaltungsherausforderung, mit der viele IoT-Edge-Anwendungen konfrontiert sind. Tatsächlich kann die PUF so skaliert werden, dass sie so viele Schlüssel unterstützt, wie zur Unterstützung einer Anwendung erforderlich sind. Secure Vault umfasst außerdem ein Manipulationserkennungssystem, das den Schlüssel nicht mehr wiederherstellbar macht, sobald das Gerät nach einem Manipulationsereignis ausgeschaltet wird. Die wichtigsten Sicherheitsmerkmale lassen sich wie folgt zusammenfassen:

  • sichere Zertifizierung
  • Sichere Schlüsselverwaltung
  • sichere Schlüsselaufbewahrung
  • Anti-Sabotage

Ein weiterer Grund, warum PG23-MCUs gut für IoT-Edge-Anwendungen geeignet sind, besteht darin, dass sie für Anwendungen mit geringem Stromverbrauch konzipiert sind. Die aktive Stromaufnahme des PG23 beträgt 21 Mikroampere pro Megahertz (µA/MHz). Der Stromverbrauch beträgt 1,03 µA mit 16 Kilobyte (KByte) aktivem RAM im EM2-Modus oder 0.7 µA mit aktivierter Echtzeituhr (RTC) im EM4-Modus. Derart niedrige Stromverbrauchswerte helfen Entwicklern bei der Entwicklung eines energieeffizienten Geräts, unabhängig davon, ob es an die Wand angeschlossen ist oder mit Batteriestrom betrieben wird.

Das letzte Merkmal des PG23, das hier untersucht wird, ist die MCU-Fähigkeit. Das PG23 verfügt über einen Arm® Cortex®-M33-Prozessor mit einer Frequenz von bis zu 80 MHz. Der Prozessor kann mit einem einzigen Netzteil im Bereich von 1.71 bis 3.8 Volt betrieben werden. Für Entwickler, die an Sensoranwendungen arbeiten, gibt es ein Low Power Sensor Interface (LESENSE). Die MCU ist entweder in einem 40-poligen QFN-Gehäuse mit den Maßen 5 x 5 Millimeter (mm) oder in einem 48-poligen QFN-Gehäuse mit den Maßen 6 x 6 mm erhältlich. Abbildung 2 zeigt ein Blockdiagramm des PG23. Die MCU verfügt außerdem über fünf Energiezustä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 das Herunterfahren.

Das PG23-MCU-Diagramm von Silicon Labs verfügt über eine große Auswahl an Peripheriegeräten (zum Vergrößern anklicken)Abbildung 2: Die PG23-MCU verfügt über eine breite Palette an Peripheriegeräten, Speicher und Energiesparmodi. (Bildquelle: Silicon Labs)

Einführung in das Entwicklungsboard PG23-PK2504A

Der beste Einstieg in den PG23 ist die Verwendung des Entwicklungsboards PG23-PK2504A. Das Board verfügt über einen EFM32PG23B310F512-Prozessor, der von eigenen 512 KByte Flash und 64 KByte RAM unterstützt wird. Das Entwicklungsboard umfasst eine breite Palette an Onboard-Sensoren, Schnittstellen und ein 4×10-Segment-LCD-Display (Abbildung 3).

Diagramm der Entwicklungsplatine PG23-2504A von Silicon LabsAbbildung 3: Das Entwicklungsboard PG23-2504A enthält einen EFM32PG23-MCU sowie ein 4×10-Segment-LCD-Display, Temperatur- und Feuchtigkeitssensoren, eine Spannungsreferenz und Erweiterungsschnittstellen. (Bildquelle: Silicon Labs)

Mit dem Board in der Hand können Entwickler Simplicity Studio herunterladen und installieren (auf der Registerkarte „Erste Schritte“). Simplicity Studio ist eine Startrampe für alles, was Sie zum Testen, Konfigurieren und Entwickeln mit EFM32-Mikrocontrollern benötigen. Die Software umfasst Materialien für den Einstieg, Dokumentation, unterstützte Tools und Ressourcen.

Wenn ein Entwickler Simplicity Studio öffnet und ein Entwicklungsboard einsteckt, identifiziert die Software das Board und bietet Empfehlungen für Beispielprojekte, Dokumentation und Demos (Abbildung 4). Der Entwickler kann dann den besten Weg wählen und mit dem PG23 experimentieren.

Bild von Silicon Labs Simplicity Studio (zum Vergrößern anklicken)Abbildung 4: Silicon Labs Simplicity Studio erkennt das Board und bietet personalisierte Empfehlungen für den Einstieg, die Dokumentation, Beispielprojekte usw. (Bildquelle: Silicon Labs)

Ein erwähnenswertes Merkmal des Entwicklungsboards PG23-PK2504A ist der Schalter, der entscheidet, wie das Entwicklungsboard mit Strom versorgt wird. Es gibt zwei Optionen: AEM oder BAT (Abbildung 5). Im AEM-Modus liegt ein Strommesswiderstand in Reihe mit der LDO-Stromversorgung und dem PG23. Der Vorteil dieses Modus besteht darin, dass Entwickler die Stromaufnahme des Prozessors messen können, um die Leistung zu optimieren. Sobald die Anwendung optimiert ist, können Entwickler in den BAT-Modus wechseln, damit das Entwicklungsboard mit einer Knopfzelle funktioniert.

Das Diagramm PG23-PK2504A von Silicon Labs bietet eine Option zur Stromversorgung des Boards über USB-CAbbildung 5 – Das PG23-PK2504A bietet die Möglichkeit, das Board im AEM-Modus über USB-C mit Strom zu versorgen, sodass der Prozessorstrom gemessen werden kann. Alternativ kann der Prozessor auch mit einer CR2032-Knopfzelle betrieben werden. (Bildquelle: Silicon Labs)

Tipps und Tricks zur Minimierung des Stromverbrauchs in einer IoT-Anwendung

Die Minimierung des Stromverbrauchs ist für alle IoT-Edge-Designs von entscheidender Bedeutung, unabhängig davon, ob sie batteriebetrieben sind oder nicht. Die Optimierung eines Designs hinsichtlich des Stromverbrauchs kann zeitaufwändig sein, wenn Entwickler nicht vorsichtig sind. Hier sind einige „Tipps und Tricks“, die Entwickler beachten sollten, um eine IoT-Anwendung schnell für einen geringen Stromverbrauch zu optimieren:

  • Verwenden Sie eine ereignisbasierte Softwarearchitektur. Wenn das System kein Ereignis verarbeitet, versetzen Sie es in einen Energiesparmodus.
  • Erstellt ein Profil des Batterieverbrauchs des Systems über verschiedene Lade-/Entladezyklen. Erfassen Sie den Stromverbrauch und die Betriebsspannung und zeichnen Sie diese über die Zeit auf.
  • Nutzen Sie die Energiesparmodi, um Uhren, Peripheriegeräte und die CPU automatisch auszuschalten.
  • Erkunden Sie in einfachen Anwendungen die Verwendung der „Sleep on Exit“-Funktion von Arm Cortex-M, um den Overhead durch Interrupts 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.
  • Wenn Sie in Iterationen optimieren, müssen Sie die Energieeinsparungen jeder Änderung verfolgen. An einem bestimmten Punkt stellen Entwickler fest, dass die für die Optimierung aufgewendete Zeit einen geringen Return on Investment im Hinblick auf Energieeinsparungen zur Folge hat. Es ist an der Zeit, mit der Optimierung aufzuhören und mit der nächsten Stufe fortzufahren.

Entwickler, die diese „Tipps und Tricks“ befolgen, sparen sich viel Zeit und Ärger, wenn sie mit ihrem nächsten sicheren und energieeffizienten IoT-Design beginnen.

Schlussfolgerung:

Der Bedarf an stromsparenden und sicheren MCUs für IoT-Edge-Anwendungen steigt. Neben einer starken Sicherheitsunterstützung müssen Entwickler Faktoren berücksichtigen, um die Anforderungen von Edge-basierten Designs zu erfüllen, darunter Prozessorkernleistung, Effizienz, Peripherie- und I/O-Unterstützung, allgemein und die Unterstützung des Ökosystems.

Wie gezeigt, kann der MCU EFM32PG23 von Silicon Labs Entwicklern bei der Lösung verschiedener Probleme im Zusammenhang mit Low-Power-Design und Gerätesicherheit helfen. Das zugehörige Entwicklungsboard stellt alle nötigen Tools für den Einstieg bereit und durch die Befolgung einiger wichtiger „Tipps und Tricks“ lässt sich schnell ein Low-Power-Design umsetzen.