Anzeige

Sichere Wege zum aktuellen FPGA-Design

Machine Learning ist eine geeignete Technologie für eingebettete Systeme. Um das volle Potential ausnutzen zu können, braucht man aber mehr als ein neutrales Netzwerk. Erst durch Anwendung weiterer Technologien wie FPGA für eine effiziente Entwicklung des Lernmodells bis hin zu einem Framework für das sichere Herunterladen, Installieren und Ausführen dynamischer Codes können die großen Fähigkeiten des Machine Learning in eingebetteten Systemen verbreitet werden.

Bild: aicas GmbHBild: aicas GmbH
Jamaica-IoT Ecosystem

Industrielle Anwendungen werden immer effizienter und intelligenter arbeiten. Machine Learning (ML) und Artificial Intelligence (AI) sind Schlüsseltechnologien um dieses Ziel zu erreichen, Aspekte wie garantierte Echtzeit und niedrige Latenz bekommen eine essentielle Bedeutung. Unter den Anforderungen einer IIoT-Umgebung stehen darüber hinaus die Wiederverwendbarkeit der Plattform, Zuverlässigkeit, Sicherheit, die Verfügbarkeit von Industrial-Ethernet-Protokollen und die Unterstützung multipler (auch älterer) Kommunikationsprotokolle im Mittelpunkt.

Machine Learning (ML)

Auf ML basierende Modelle haben die Fähigkeit, aus einer Reihe von Eingabedaten, aufgrund der Erfahrung, Schlussfolgerungen zu ziehen. Diese Erfahrung wird durch die Analyse einer Vielzahl von Daten zum Extrahieren nützlicher Informationen erreicht. Die Fähigkeit, Schlussfolgerungen aus Beweismitteln zu ziehen, wird als Inferenz bezeichnet. Der Lernprozess, zum Extrahieren von Beweisen aus einer Menge von Daten, erfolgt durch Training. Sobald dieses durch menschliche Kriterien oder eine Beurteilungsfunktion abgeschlossen ist, ist das resultierende Modell bereit, die trainierten Assoziationenherstellungs- und Schlussfolgerungsfähigkeiten einzusetzen. Das System ist dann geeignet, aus neuen und unbekannten Eingaben Ergebnisse abzuleiten. Für ungelöste Probleme wird grundsätzlich eine unbestimmbare Zeit für die Entwicklung des Modells benötigt: Diese ist eine experimentelle Phase, die die Datenerfassung, Normalisierung und Informationsreduktion, sowie mögliche Anpassungen des maschinellen Lern-Algorithmus, Transformation, Erweiterungen und andere Datenmanipulationen umfasst. Wenn das Modell den Zweck erfüllt, ist es bereit für die nächste Phase, in der das Modell auf der endgültigen Computerplattform bereitgestellt wird. Problemidentifikation, Modelluntersuchung, Verifikation und Einbettung sind die Prozesse, in denen das Lernen stattfindet. Trotzdem fordert das reale Leben weitere Anpassungen, nachdem der ML-Algorithmus implementiert wurde. Realisiert werden kann die Modellbildung in leistungsfähigen 'Field Programmable Gate Arrays' (FPGAs), in denen, entsprechend der Problemlösung, Modelle als Konfigurationen von FPGAs erzeugt werden, die anschließend zur Ausführung gelangen. Daraus wird ein iteratives Vorgehen, da immer neue Konfigurationen erstellt, heruntergeladen und Inbetrieb genommen werden müssen. Jeder dieser Updates sollte schnell, sicher und automatisch erfolgen, ohne das laufende System anhalten zu müssen oder gar die komplette HW auszutauschen. Sobald das ML-Modell geformt ist, ist das Schlüsselproblem Robustheit, Leistung und, für die Übertragung und Ausführung, Sicherheit.

Bild: aicas GmbHBild: aicas GmbH

Bedarf an Sicherheit

Ein wie hier beschriebenes Modell benötigt eine initiale Inbetriebnahme und eine anschließend möglichst permanente Überarbeitung aufgrund neuer Informationen. Das Lernen im Modell entwickelt sich aus Erfahrungen und Erkenntnissen, die Modellbildung (also die FPGA-Konfigurierung) und -aktualisierung erfolgt remote. Die generierten Resultate müssen auf das Zielsystem aufgespielt und dort in Betrieb genommen werden, Aktualisierungen müssen unmittelbar direkt und sicher eingespielt werden können, z.B. Over-the-Air. Dazu wird für das Gesamtsystem des ML ein Framework benötigt, das die Ausführung von Aktionen, die aus dem ML heraus initiiert werden, die Kommunikation mit Fernsystemen (z.B. in der Cloud) sowie die Sicherheit in der Übertragung ermöglicht bzw. sicherstellt. Ein Beispiel dafür ist Jamaica-IoT (s. Bild 2). Dieses Framework muss bidirektional arbeiten können, d.h. sowohl Informationen (z.B. über Performance) aus dem entsprechenden Gerät auslesen und sicher, unmanipuliert, übertragen können als auch sichere Updates des ML-Modells (Downloads) erlauben. Typische Applikationen enthalten ein Muster, wie das ML-Modell oder FPGAs für die erforderliche schnelle Signalverarbeitung und flexible Änderung der Schaltung konzipiert sein muss, um nachträgliche Verbesserungen an den implementierten Funktionen vornehmen zu können, ohne dabei direkt die Hardware ändern zu müssen. Diese werden im beschriebenen Framework in einem Portal zur Verfügung gestellt. Von dort können sie in Betrieb genommen werden; ebenso können notwendige Updates automatisch auf das Zielsystem übertragen und dort aktiviert werden.

Die 'Chain of trust'

Von der Erstellung eines ML- Modells oder eines FPGAs und deren Updates bis zur sicheren Ausführung auf dem Device wird eine nahtlose Kette des Vertrauens benötigt: Ein Trusted Platform Module (TPM) bietet kryptografische Funktionen in einem Computer, die eine effektive Ergänzung zu seinen Sicherheitsfunktionen (z.B. für das Zynq-7000 APSoC) darstellen. Die sichere Startfunktion ermöglicht alle Partitionen zu authentifizieren, die beim Booten geladen wurden. Das unveränderbare BootROM enthält Sicherheitsfunktionen, um eine Hardware Root of Trust (HROT) gerade auch zum Schutz vor Angriffen gleich beim Laden bereitzustellen.

  • • Der Secure Framework Loader (SFL) ist eine im Start-Image enthaltene Binärdatei, durch die das sichere Booten bis zur Software ermöglicht wird. Aufgabe dieses Ladevorgangs ist, das Jamaica-IoT Framework zu authentifizieren und zu starten. Da der SFL durch das sichere Booten authentifiziert wird, wird ihm vertraut. Wenn der SFL das Framework authentifiziert und lädt, überträgt er deshalb das Vertrauen auf das Framework.
  • • Der SFL überträgt das Vertrauen auf das Jamaica-Iot Framework, das wiederum das entsprechende Root-Zertifikat enthält. Mit diesem werden alle Konfigurationsressourcen authentifiziert und damit wird das Vertrauen auf alle Konfigurationsdaten übertragen. Wenn die Authentifizierung der Konfigurationsressourcen fehlschlägt, wird das Framework gestoppt und ein Fehler protokolliert.
  • • Nach Verifikation der Signatur wurde das Vertrauen auf die Konfigurationsdaten übertragen. Die Konfigurationsdaten enthalten das OEM Certification Authority (CA) Root-Zertifikat. Dieses ermöglicht es dem OEM zu steuern, welche Ressourcen und welche Anwendungen auf dem Gerät installiert und ausgeführt werden dürfen.

Alle Anwendungen, Komponenten und Ressourcen müssen zur Installationszeit signatur-authentifiziert werden, und zwar durch ein Zertifikat, das direkt oder indirekt mit dem OEM CA Root-Zertifikat verkettet ist. Die Installation kann über einen Over-the-Air-Download oder ein lokales Speichermedium erfolgen.

Ressourcenmanagement

Der Betreiber des Jamaica-IoT Frameworks oder eine von ihm autorisierte Instanz vergibt Definitionen für eine Begrenzung der Ressourcennutzung, z.B. Größe des RAM oder Anzahl erlaubter Threads. Diese werden während der Ausführung des Frameworks bzw. einer Applikation darin angewandt. So kann verhindert werden, dass geladene Programme oder auch nur Programmkomponenten zum Update sich nach dem Installieren durch übermäßige Ausbreitung des Devices bemächtigen.

www.aicas.com

aicas GmbH

Dieser Artikel erschien in IoT Design 2 2018 - 19.02.18.
Für weitere Artikel besuchen Sie