Praktisch jedes Gerät, das mit anderen Geräten verbunden und für Endanwender zugänglich ist, stellt eine potenzielle Gefahr dar. Dazu gehören vernetzte HVAC-Systemen (Heizung, Lüftung, Klimatechnik) ebenso wie Wireless-Basisstationen, Netzwerke, Gateway-Systeme für die Luftfahrt bis hin zu kritischer Energie-Infrastruktur in Kraftwerken. Auch im Automobilbereich, im Gesundheitswesen oder in industriellen Umgebungen gibt es viel für Benutzer zugängliches Equipment. In all diesen Fällen reicht es nicht, nur die Datenkommunikation zu verschlüsseln.

Prominente Bedrohungen

Ein prominentes Beispiel für Bedrohungen in Verbindung mit vernetzten Geräten, die für Anwender zugänglich sind, kommt aus der Luftfahrt: ein Angreifer konnte sich angeblich die Kontrolle über einen kommerziellen Flug verschaffen. Aus Gerichtsprotokollen geht hervor, dass das FBI untersucht, ob in diesem Fall ein Fluggast Zugang zu den flugzeuginternen Unterhaltungssystemen erlangen konnte, indem er sein Notebook mit der Elektronikbox unter seinem Sitz verband und dann auf andere Systeme, darunter der Computer für die Schubkraft (Thrust Management Computer) des Flugzeugs, der für die Versorgung der Triebwerke mit Energie verantwortlich ist, zugreifen konnte.

Eckdaten

Ein Kette ist nur so stark wie das schwächste Glied: Diese Binsenweisheit ist das Mantra der sicheren Systementwicklung. Dabei mag überraschen, wie viele Glieder zur Kette eines sicheren System gehören: Wer nur die Kommunikation schützt, übersieht, dass Angreifer auch direkt die Hardware manipulieren können oder sich bereits während der Fertigung Zugang verschaffen. Der Artikel führt einige der möglichen Schwachstellen auf und zeigt Gegenmaßnahmen.

Weitere relevante Angriffsszenarien sind IP-Diebstahl, Manipulation und Klonen. Um derlei Attacken ebenso wie Netzwerk-Angriffe zu verhindern, ist ein mehrschichtiges End-to-End-Security-Konzept erforderlich, das auf Bausteinebene beginnt. Heutige FPGAs unterstützen diese Strategie durch eine Kombination aus Design-Security (Schutz auf Chip-Ebene einschließlich Anti-Tamper-Maßnahmen), Hardware-Security (Board-Ebene und die Lieferkette) und Daten-Security (deckt die gesamte Kommunikation zu/von Geräten ab).

Design-, Hardware- und Daten-Security

Der Schutz von IP ist ein Beispiel für Design-Security. Ohne Hardware-basierte Security ist es meist sehr leicht, die IP eines durch den Anwender zugänglichen Produkts zu stehlen. Um ein Design zu sichern, sollten alle Bitströme verschlüsselt und geschützt sein. Geräte mit Sabotageschutz, Zeroization und sicherer Aufbewahrung von Schlüsseln (Secure Key Storage) können die Chancen eines erfolgreichen Angriffs wesentlich reduzieren. Die Hardware sollte unautorisierten und unbefugten Zugriff (Tampering) erkennen und gegebenenfalls per Zeroization ihre Daten löschen.

Eine besonders clevere Angriffstechnik ist die Differential Power Analysis (DPA). Mit einer preiswerten elektromagnetischen Prüfspitze (Probe), einem einfachen Oszilloskop und reichlich Mathematik können Angreifer den zur Verschlüsselung verwendeten Schlüssel ermitteln: Ohne explizite DPA-Gegenmaßnahmen verrät der dynamische Energieverbauch eines Gerätes verblüffend viele Details über seine internen Vorgänge.

Neben dem Diebstahl des Programmcodes, der auf einem Gerät läuft, versuchen Angreifer auch eigenen Code einzuschleusen. Das ist ein Beispiel für Hardware Security: sicherzustellen, dass der Code, der auf dem Board läuft, authentisch und die Lieferkette für das Produkt gesichert ist. Eine Root of Trust ist der Ausgangspunkt für Hardware Security. Als Root of Trust bietet sich manipulationssichere Hardware an. Diese sollte alle oben erwähnten Leistungsmerkmale von Design Security haben.

Bild 1: In diesem Beispiel dient Microsemis Smartfusion 2 Secure SoC FPGA als Root of Trust, das Schlüssel speichern und Daten zum Booten des Prozessors verschlüsseln kann.

Bild 1: In diesem Beispiel dient Microsemis Smartfusion 2 Secure SoC FPGA als Root of Trust, das Schlüssel speichern und Daten zum Booten des Prozessors verschlüsseln kann.Microsemi

Sicherer Anker

Mit einem festgelegten Hardware-Sicherheitsanker können auch Security-Funktionen in höheren Schichten sicher arbeiten. Zum Beispiel könnte man ein Hardware-Root-of-Trust-Device verwenden, um Schlüssel zu speichern und die Daten zum Booten eines Prozessors zu verschlüsseln. Secure Boot ist wichtig, um den Start-up-Code vor Angriffen zu schützen. Falls Hacker ein solches Produkt angreifen, könnten sie weder den Boot-Code überschreiben, noch Malware für den Prozessor installieren. Bild 1 zeigt ein Beispiel, wie sich ein Prozessor nach diesem Konzept sichern lässt.

Die Sicherheit der Lieferkette wird oft übersehen. Wenn Unternehmen über eine eigene Fertigung verfügen, können sie von Grund auf sicherstellen, dass es bei ihrem Produkt weder zu Cloning, noch zu Overbuilding kommt. Allerdings ist dies bei der großen Mehrheit von Elektronikprodukten nicht der Fall. Die meisten Produkte werden bei Subunternehmern gefertigt. Um Produkte eines Unternehmens vor Overbuilding zu schützen, kann man die Leistungsmerkmale in einem Hardware-Root-of-Trust-Baustein nutzen. Verfügt zum Beispiel ein Baustein über die Möglichkeit zum Speichern von Schlüsseln (Key Storage), könnte man diese Funktion verwenden, um den Bitstrom oder die Firmware eines Produkts zu verschlüsseln. Somit können ausschließlich Geräte mit einem bestimmten Schlüssel programmiert werden.

Datensicherheit

Der letzte Typ von Security für vernetzte Hardware ist Data Security. Sie stellt sicher, dass die Kommunikation in das Produkt hinein und aus diesem heraus authentisch und sicher ist. Wertvolle Daten müssen geschützt werden – im Speicher und bei der Übertragung. Man muss sicherstellen, dass man über ein gesichertes Design und über einen sicheren Anker verfügt, damit eine sichere Datenkommunikation etabliert werden kann.

Eine der häufigsten Methoden für die sichere Datenkommunikation sind asymmetrische Kryptosysteme, die mit öffentlichen und privaten Schlüsseln arbeiten. Einfach ausgedrückt ist dies ein Service, bei dem zwei Geräte einen öffentlichen Schlüssel kennen und beide einen eigenen privaten Schlüssel besitzen. Besonders sichere private Schlüssel lassen sich über PUF (Physically Unclonable Function) erzeugen. Ein PUF-basiertes Bauteil erzeugt einen Schlüssel, basierend auf den einzigartigen Eigenschaften jedes Stücks Silizium. Es nutzt die kleinen Unterschiede jedes Halbleiter-Dies, um einen einzigartigen Schlüssel zu erzeugen. Indem man ein PUF-basiertes Bauteil für Data Security nutzt, lässt sich sogar verhindern, dass Insider mit Zugang zu den Schlüsseln ein Produkt angreifen.

Nach der Erzeugung der privaten und öffentlichen Schlüssel wird die Kommunikation gestartet. Allerdings kennen die Geräte zunächst nur ihre eigenen Schlüssel: Für die sichere Schlüsselverteilung ist eine PKI (Public Key Infrastruktur) nötig.

Bild 2: Microsemi hat in seine SoC-FPGAs spezielle Hardware-Security-Funktionen integriert.

Bild 2: Microsemi hat in seine SoC-FPGAs spezielle Hardware-Security-Funktionen integriert.Microsemi

Rundum schützen

Mit Software alleine lassen sich Geräte nicht umfassend schützen, vor allem wenn der Anwender physischen Zugang hat. Die Gefahr ist dabei keine rein theoretische, viele Sicherheitsverletzungen haben bereits stattgefunden. Der Schutz kann nur gelingen, wenn er von Beginn an in ein Produkt integriert wird und auf allen Ebenen (Hardware, Software, Kommunikation) greift. Hierbei helfen Komponenten, die Hardware-, Design- und Daten-Security gewährleisten, zum Beispiel FPGAs, die über verschlüsselte Bitströme, mehrere Elemente zum Speichern von Schlüsseln, lizenzierte DPA-Gegenmaßnahmen, Secured Flash Memory und Anti-Tamper-Funktionen verfügen und eine PUF enthalten.