Internet der Dinge

Schutz für vernetzte Geräte durch sicheres Booten und Kryptographie

| Autor / Redakteur: Yann Loisel, Stephane Di Vito * / Franz Graser

Die digitale Signatur eines Computerprogramms hat dieselbe Wirkung wie ein Siegel. Durch die Versiegelung kann der Code nicht mehr verändert werden, ohne dass die Veränderungen sichtbar werden.
Die digitale Signatur eines Computerprogramms hat dieselbe Wirkung wie ein Siegel. Durch die Versiegelung kann der Code nicht mehr verändert werden, ohne dass die Veränderungen sichtbar werden. (Bild: Bayerisches Hauptstaatsarchiv, VBM)

Der sichere Bootvorgang bildet das Fundament der Vertrauenswürdigkeit eines Geräts im IoT. Der Artikel zeigt, wie sich die Sicherheit von Geräten implementieren lässt und wie Updates im Feld möglich sind.

Der wirksamste Schutz vor Angriffen auf die Hardware eines elektronischen Geräts ist ein Mikrocontroller, der mit der Verarbeitung der Software in einem internen, nicht veränderbaren Speicher beginnt (eine Möglichkeit, die nicht jeder Controller bietet). Da die im Mikrocontroller abgelegte Software nicht geändert werden kann, wird sie a priori als vertrauenswürdig angesehen und fungiert somit als Vertrauensbasis.

Ein solcher Schutz lässt sich mit ROM-Speicher (Read-Only Memory) realisieren. Alternativ kann ein interner Flash- (EEPROM) Speicher des Mikrocontrollers zum Ablegen der vertrauenswürdigen Software genutzt werden, sofern hinreichende Sicherheit gegeben ist.

Entweder muss ein Fuse-Mechanismus (Schmelzbrücke) vorhanden sein, der wie bei einem ROM ein Überschreiben des Flash-Inhalts nach dem Einprogrammieren unterbindet, oder es muss ein Authentifizierungs-Verfahren geben, das nur autorisierten Personen das Schreiben der vertrauenswürdigen Software in den Flash-Speicher erlaubt. Ließe sich nämlich die erste Software unkontrolliert modifizieren, dann kann kein Vertrauen garantiert werden.

Mit der „ersten Software“ ist die Software gemeint, die als erste nach dem Einschalten des Controllers ausgeführt wird. Das erklärt auch die Forderung, dass diese Software unbedingt vertrauenswürdig sein muss. Ist dies der Fall, dann kann diese Software die Signatur der Applikation verifizieren, bevor sie die Kontrolle über den Mikrocontroller abgibt. Man kann dies mit einer auf festen Fundamenten errichteten Burg vergleichen.

Nach dem Einschalten beginnt der Mikrocontroller des Geräts damit, den Vertrauensbasis-Code aus dem vertrauenswürdigen Speicher heraus zu verarbeiten. Die Hauptaufgabe des Codes besteht darin, den Applikations-Code zu starten, nachdem dessen Signatur erfolgreich verifiziert wurde.

Die Verifikation der Signatur erfolgt mithilfe eines öffentlichen Schlüssels, der zuvor mit Methode 1 (Selbstzertifizierung) oder Methode 2 (Hierarchische Zertifizierung) in den Mikrocontroller geladen wurde (siehe Kastentext).

Ergänzendes zum Thema
 
Methoden zur Garantie eines Public Keys

Die so geschützten Mikrocontroller können von den Entwicklern zum Schreiben von Software, zum Laden und Ausführen der Software per JTAG und für das Debugging eingesetzt werden. Die Entwicklung wird durch einen sicheren Mikrocontroller also nicht erschwert.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43300352 / Verschlüsselung)