Vernetzte IoT Geräte sind in jedem Aspekt des modernen digitalen Lebens zu finden. Von autonomen und vernetzten Fahrzeugen über medizinische Geräte bis hin zu intelligenten Messgeräten und Smartwatches. Die von diesen Geräten erzeugten Daten und gesteuerten Prozesse waren noch nie so umfangreich wie heute.
Aufgrund ihrer Bedeutung ist es für die Integrität und Zuverlässigkeit von Daten und Diensten unerlässlich, der Sicherheit von IoT eingebetteten Geräten Priorität einzuräumen.
Der erste Schritt zur Gewährleistung der Sicherheit in einem IoT eingebetteten System ist als Secure Boot bekannt. IoT Sicherheit sollte auf der Schaffung einer Vertrauensbasis beruhen, die eine sichere Grundlage bietet, auf der der Rest des Systems sicher aufgebaut werden kann. Wir müssen sicherstellen, dass diese Vertrauensbasis tatsächlich vertrauenswürdig ist, um einen möglichen Angriff und seine Folgen zu minimieren.
Was ist Secure Boot?
Secure Boot ist der Prozess, bei dem die Boot-Images und der Code des Betriebssystems anhand von hardware authentifiziert werden, bevor sie für den Boot-Vorgang zugelassen werden. Die hardware ist so vorkonfiguriert, dass der Code mit vertrauenswürdigen Sicherheitsnachweisen authentifiziert wird.
Mit anderen Worten: Secure Boot stellt sicher, dass es sich bei der Boot-Technologie und dem Betriebssystem software um die legitime Version des Herstellers handelt, die nicht von einem böswilligen Akteur oder Prozess verändert oder manipuliert wurde.
Warum ist Secure Boot wichtig?
Secure Boot ist wichtig, um zu verhindern, dass ein Angreifer ein Betriebssystem kompromittiert oder einen anderen Bootloader auf dem Gerät IoT installiert.
Die Verbreitung von IoT Geräten, die in unternehmenskritische Systeme eingebettet sind, macht die Verwendung von Secure Boot zu einem wichtigen Faktor für die Sicherung dieser Geräte und die Gewährleistung ihres zuverlässigen Betriebs. Jeder in das Gerät eingefügte bösartige Code könnte dazu führen, dass dieses Gerät Teil eines Botnets wird, oder es könnte als Ausgangspunkt für Angriffe auf andere, sensiblere Systeme genutzt werden.
Ein Angreifer könnte zum Beispiel in ein unsicheres Gerät eindringen und eine legitime ausführbare Datei durch eine Datei ersetzen, die Malware enthält. Wenn das Gerät nicht mit Secure Boot geschützt ist, wird der bösartige Code beim nächsten Neustart ausgeführt und das Gerät ist kompromittiert.
Durch den bösartigen Code, der nun auf dem Gerät läuft, könnte der böswillige Akteur die vom Gerät gesammelten Daten manipulieren oder jede vom Gerät ausgeführte Funktion als unrechtmäßig oder nicht vertrauenswürdig darstellen. Mit einem Secure-Boot-Verfahren würden die Sicherheitsprüfungen beim Neustart die nicht autorisierte ausführbare Datei identifizieren, ihre Ausführung verhindern und Abhilfemaßnahmen einleiten.
Wie funktioniert das?
Der Secure Boot-Prozess durchläuft eine Reihe von Schritten, um die Integrität und Authentizität der Installation zu gewährleisten, damit das Gerät korrekt und sicher läuft. Diese Schritte sind in der Abbildung unten dargestellt:
Abbildung 1: Secure Boot-Prozess. Quelle: Elektronisches Design.
Die Überprüfung der Authentizität des Bootloaders ist entscheidend für die Sicherstellung und Ausführung des restlichen Bootvorgangs. Die Überprüfung der ausführbaren Datei des Bootloaders erfolgt mit Hilfe öffentlicher/privater Schlüssel. Während der sicheren Entwicklung des Bootloader-Codes wird dieser mit dem privaten Schlüssel des Herstellers digital signiert.
Wenn die Bootloader-Firmware auf dem Gerät installiert werden soll, wird sie mit dem eingebetteten öffentlichen Schlüssel auf dem Gerät abgeglichen, um zu bestätigen, dass sie echt ist. Derselbe Vorgang wird bei jedem Hochfahren des Geräts oder bei der Installation einer Aktualisierung wiederholt.
Sobald die Bootloader-Datei erfolgreich auf ihre Authentizität geprüft wurde, überprüft der Secure Boot-Prozess die Gültigkeit des Betriebssystems und anderer funktionaler Anwendungen. Der signierte Anwendungscode wird anhand des eingebetteten öffentlichen Schlüssels überprüft, um sicherzustellen, dass er echt ist. Wenn das Betriebssystem und die Anwendungen sicher sind, können sie ausgeführt werden.
Zusammenfassend lässt sich sagen, dass der Startvorgang des Geräts durch eine vertrauenswürdige Bootloader-Datei eingeleitet wird und jede Phase erst dann ausgeführt wird, wenn die vorhergehende Phase auf ihre Authentizität überprüft und erfolgreich gestartet wurde.
Secure Boot-Herausforderungen
Die Grundlage des Secure Boot-Prozesses sind die mit dem Gerät verbundenen Root-Schlüssel, die zur Erstellung eines eindeutigen Geräteidentitätszertifikats verwendet werden. Während der Gerätebereitstellung sollte ein Schlüsselpaar im Gerät mithilfe der On-Device Key Generation (ODKG) erstellt werden. Anschließend wird eine Zertifikatssignierungsanforderung (CSR) an die Zertifizierungsstelle (CA) gesendet, um ein signiertes Zertifikat zu erstellen, das dann im Gerät installiert wird. . Die Sicherheit dieser Geräteschlüssel ist der Schlüsselfaktor des Secure-Boot-Prozesses.
Daher besteht die größte Herausforderung darin, die Sicherheit dieser Schlüssel zu gewährleisten. Der Geräteprozessor vergleicht das Boot-Image mit seinem gespeicherten Schlüssel. Wenn diese beiden übereinstimmen, wird das Boot-Image ausgeführt. Übereinstimmungen mit dem Root-Schlüssel in der CPU bilden die Root-Kette, die den Betrieb des Geräts IoT in Gang setzt. Wenn die Schlüssel kompromittiert sind, ist der gesamte Secure Boot-Prozess kompromittiert.
Für jedes Gerät werden eindeutige private Schlüssel erstellt, die das Edge-Gerät nie verlassen. Diese privaten Schlüssel werden neu erstellt, wenn das Gerätezertifikat abläuft, und der Vorgang kann während der gesamten Lebensdauer des IoT Geräts wiederholt werden.
Ein weiterer Punkt, den Nutzer von IoT Geräten beachten sollten, ist, dass der Secure Boot-Prozess nicht das gesamte System sperrt. Er sichert nur das Betriebssystem software. Dies ist von großer Bedeutung, denn wenn jemand eine Malware einschleust, die über das Betriebssystem läuft, kann er das Gerät immer noch kompromittieren.
Bewährte Verfahren für die Implementierung von Secure Boot
Um Ihren Secure Boot-Prozess und damit Ihre Geräte zu sichern, sollten Sie die folgenden bewährten Verfahren befolgen
Den Prozess sichern
Um den Secure Boot-Prozess zu sichern, müssen Sie alle damit verbundenen Prozesse sichern. Der Schlüssel dazu ist die Verwendung einer geräteeigenen Schlüsselgenerierungsfunktion, so dass der private Schlüssel immer im gesicherten Gerät verbleibt. Eine Kompromittierung dieser Schlüssel würde zu einer Kompromittierung des gesamten Prozesses führen, weshalb der Schutz des privaten Schlüssels des Geräts von entscheidender Bedeutung ist.
Starke Verschlüsselung verwenden
Die Verschlüsselung ist die Grundlage von Secure Boot. Stellen Sie sicher, dass Ihre Verschlüsselungsalgorithmen auf dem neuesten Stand sind und dem Zweck entsprechen. Überlegen Sie auch, wie Sie Ihre Verschlüsselungsalgorithmen in Ihren Edge-Geräten aktualisieren können, wenn sich die Kryptographie im Laufe der Zeit ändert.
Sichern Sie Ihren Code
Damit Secure Boot wirksam ist, muss der im Bootloader, im Betriebssystem und in anderen funktionalen Anwendungen verwendete Code sicher entwickelt und gründlich auf Sicherheitsmängel überprüft werden. Der Code sollte immer mit einem Code Signing-Zertifikat signiert werden, und der Zugriff auf dieses Zertifikat sollte als Teil des software Entwicklungsprozesses kontrolliert und überwacht werden.
Sichern Sie Ihren Code
Um den Secure Boot-Prozess zu sichern, müssen Sie alle damit verbundenen Prozesse sichern. Der Schlüssel dazu ist die Verwendung einer geräteeigenen Schlüsselgenerierungsfunktion, so dass der private Schlüssel immer im gesicherten Gerät verbleibt. Eine Kompromittierung dieser Schlüssel würde zu einer Kompromittierung des gesamten Prozesses führen, weshalb der Schutz des privaten Schlüssels des Geräts von entscheidender Bedeutung ist.
Verwenden Sie eine starke Authentifizierung
Um die Sicherheit des Geräts IoT zu erhöhen, muss der geladene Code immer authentifiziert sein. Secure Boot überprüft die Codesignierung, und jedes signierte Image wird vom Prozessor als sicher angesehen. Darüber hinaus sollten Sie sicherstellen, dass jede Codekomponente in der Secure Boot-Bibliothek des Prozessors aufgerufen wird.
Bestätigen Sie den Authentifizierungsprozess
Schließlich muss sichergestellt werden, dass der Authentifizierungsprozess nicht unterbrochen wird und dass jede Phase des Code-Boot-Prozesses ordnungsgemäß authentifiziert wird, bevor mit der nächsten Phase begonnen wird.
Die Identitätsplattform Keyfactor IoT
Keyfactor Control bietet eine vollständige und skalierbare Lösung für IoT Identität - von einer sicheren Root of Trust bis hin zu flexiblen APIs und Integrationen. Unsere Plattform bietet eine Reihe von Sicherheitsfunktionen, darunter:
- Identitätsbereitstellung und Lebenszyklus: Bereitstellen, Verwalten und Aktualisieren digitaler Zertifikate für Ihre angeschlossenen Geräte - von der Bereitstellung und Inbetriebnahme vor Ort bis hin zur Erneuerung und zum Widerruf.
- Sichere Root of Trust: Führen Sie Ihre PKI vor Ort, in der Cloud oder als Service mit einer dedizierten, in der Cloud gehosteten PKI aus, die speziell für Ihre IoT Bereitstellung entwickelt und von unserem Expertenteam betrieben wird.
- Sicheres Signieren von Firmware: Erhalten Sie ein zentralisiertes Tool, um Code-Signierungsvorgänge in großem Umfang zu sichern, sichere Firmware-OTA-Updates zu ermöglichen und Secure Boot zu implementieren.
- IoT SDK: Geben Sie Entwicklern ein flexibles, open-source SDK und einen C-Agenten an die Hand, um benutzerdefinierte Funktionen wie Schlüsselgenerierung, Schlüsselspeicherung und digitale Signaturprüfung in Geräte zu implementieren.
In diesem Whitepaper erfahren Sie, warum PKI die ideale Lösung für die Absicherung Ihrer IoT Geräte ist: IoT .