Anbieter zum Thema
Der wesentliche Vorteil der asymmetrischen Kryptografie besteht im geheimen Bestandteil (d.h. dem privaten Schlüssel für die Signatur), der niemals im System gespeichert wird. Somit gibt es bei Nutzung von ECDSA keine Möglichkeit für Angreifer, den privaten Schlüssel für die Signatur der Firmware und der Dateien abzufragen, auch nicht bei den ausgeklügeltsten Angriffen. Angreifer können an die öffentlichen Schlüssel gelangen, aber mit einer ECDSA-Verschlüsselung ist es mathematisch unmöglich, den privaten vom öffentlichen Schlüssel abzuleiten.
Bild 1 zeigt die Verwendung des sicheren Bootens und des sicheren Downloads auf der Grundlage von asymmetrischer ECDSA, die ein hohes Maß an Vertrauenswürdigkeit bei einer adäquaten Verschlüsselungslänge (in der Regel mindestens 256 Bit) bietet. Im Bild sind zwei Aspekte dargestellt. In einer Entwicklungsabteilung, in der die Firmware oder Dateien entwickelt oder produziert werden, wird ein ECDSA-Schlüsselpaar erstellt – der private und öffentliche Schlüssel des Systems. Firmware oder Dateien, die geschützt werden sollen, werden bei der Entwicklung in einer kontrollierten Entwicklungsumgebung mit dem privaten Systemschlüssel signiert.
Wie in Bild 2 gezeigt, wird der Algorithmus FIPS 180 SHA-256, der im Krypto-Datenpfad enthalten ist und der letztendlich zur ECDSA-Signatur führt, als Wert des SHA-256-Hash der Firmware oder der Datei erzeugt. In der Praxis wird diese Signatur in der Entwicklungsabteilung berechnet und an die Firmware oder Dateien gehängt (siehe Bild 1). Es ist diese Signatur des SHA-256 Hash-Wertes, die es der Endanwendung ermöglicht, sowohl Authentizität als auch Integrität der Firmware oder Dateien zu verifizieren.
In der Anwendung stehen dem Anwendungsprozessor interne oder externe Möglichkeiten zur Verfügung, um zuerst einen SHA-256-Hash der Firmware oder Dateien auszuführen und dann unter Verwendung des berechneten Wertes und dem zugänglichen öffentlichen Systemschlüssel zu überprüfen, ob die angehängte ECDSA-Signatur gültig ist (siehe Bild 3). Ist diese Echtheitsprüfung erfolgreich, ist sichergestellt, dass die Firmware oder die Dateien sowohl authentisch als auch nicht modifiziert sind.
Mit einem sachgemäßen, sicheren Boot- oder Download-Prozess können also nur autorisierte / authentische Firmware auf einem Embedded-System betrieben werden. Dadurch wird eine Malware Injection auch während des Firmware-Updates verhindert. Die Herausforderungen, die mit diesem Prozess verbunden sind, umfassen:
- SHA256-Hash: Die Berechnung eines SHA-256-Hash auf einem großen Teil Firmware kann zeitintensiv sein, wenn dies mittels Software erfolgt.
- Überprüfung der ECDSA-Signatur: Diese Überprüfung ist rechenintensiv und wird in einer Embedded-Anwendung in der Regel mit einem geeigneten mathematischen Beschleuniger durchgeführt.
- Implementierung: Sachgemäße Implementierung der Kryptographie ist kritisch, um Schwachstellen zu verhindern, die entdeckt und ausgenutzt werden können.
Sicheres Booten und sicherer Download mit dem DS28C36
Für Embedded-Systeme, die nicht über einen Mikrocontroller mit einer entsprechenden Rechenleistung für die Verifikation der Authentizität und Integrität der heruntergeladenen Software verfügen, bietet der DS28C36 Deep Cover Secure Authenticator von Maxim Integrated eine kostengünstige Lösung. Bild 4 illustriert, wie der DS28C36 an den Host angeschlossen wird.
In der Entwicklungsabteilung wird ein Schlüsselsystem aus öffentlichem und privatem Schlüssel für das sichere Booten und einen sicheren Download erzeugt. Der private Schlüssel dieses Paares wird verwendet, um die Firmware oder die Dateien zu signieren, die letztendlich vom DS28C36, der in das Endsystem implementiert ist, verifiziert werden.
Der öffentliche Schlüssel dieses Paars ist im DS28C36 in einem Schlüsselregister installiert, das das Attribut „Autorisierungsschlüssel“ enthält. Dies ist eine konfigurierbare Einstellung im DS28C36. Der private Systemschlüssel wird verwendet, um die digitale Signatur der Firmware oder Dateien zu berechnen. Diese Signatur wird auf dem SHA-256-Hash des Datenfiles erzeugt.
Artikelfiles und Artikellinks
(ID:44829320)