Anbieter zum Thema
Der DS28C36 von Maxim mit dem vorprogrammierten öffentlichen Schlüssel ist auf der Systemplatine platziert und mit dem Host verbunden. Wenn Firmware auf dem Prozessor ausgeführt wird oder Konfigurationsdateien für die Systemnutzung benötigt werden, werden diese zuerst durch den Bootmanager im Prozessor abgefragt und an den DS28C36 in sequenziellen 64-Byte-Blöcken zur Berechnung des SHA-256-Hash geliefert.
Nachdem die Berechnung des SHA-256-Hash beendet ist, stellt der Prozessor die ECDSA-Signatur der Firmware oder Dateien, die in der Entwicklungsumgebung erzeugt und an die Datei angehängt wurden, bereit.
Nachdem der DS28C36 die ECDSA-Signatur erhalten hat, sendet der Prozessor Befehle, um mittels des vorinstallierten öffentlichen Schlüssels die Signatur zu überprüfen. Wenn der Chip die Signatur bestätigt, wird ein GPIO-Pin in einer Logikschaltung auf 0 gesetzt, der die Ergebnisparameter-Bytes durchlässt, die an den Prozessor übermittelt werden. Der Status dieses Pins und das Ergebnisparameter-Byte wirkt auf den Prozessor als „go/no-go“-Ergebnis, die Firmware starten zu lassen oder die Konfigurationsdatei zu verwenden.
Für eine zusätzliche Sicherheitsstufe und um Bedenken zu zerstreuen, dass der GPIO-Zustand verändert und / oder das Ergebnisparameter-Byte manipuliert wurde, kann der DS28C36 optional eine ECDSA-Signatur auf einem betriebsinternen Zustandsergebnis ausführen, die den Erfolg oder Misserfolg (Pass- oder Fail-Meldung) des sicheren Bootens oder eine sichere Download-Sequenz anzeigt. Dieses Ergebnis ist unwiderlegbar.
Sicheres Booten und sicherer Download mit dem MAXQ1061
Beim MAXQ1061 von Maxim Integrated handelt es sich um einen Kryptocontroller mit eigener Embedded-Firmware für sicheres Booten und sicheren Download, sichere Kommunikation mittels TLS-Protokoll, sichere Schlüsselspeicherung sowie Verschlüsselung und digitale Signatur.
Der MAXQ1061 wurde als zentraler Sicherheitsbaustein für Embedded-Systeme entwickelt. Er löst die oben beschriebenen Herausforderungen. Sein Hardware-Beschleuniger ermöglicht schnelle SHA- und ECDSA-Berechnungen und entlastet den Hauptprozessor von diesen rechenintensiven Tätigkeiten. Der MAXQ1061 bietet darüber hinaus eine robuste öffentliche Offline-Verschlüsselungsinfrastruktur, so dass öffentliche Verschlüsselungszertifikate sowohl unveränderlich als auch Upgrade-fähig ausschließlich durch befugte Vertreter erstellt werden können. Durch das Sicherstellen, dass eine öffentliche Verschlüsselung nicht durch eine Fälschung ersetzt werden kann, macht der MAXQ1061 das Endprodukt immun gegen Angriffe, bei denen ein Hacker seinen eigenen Schlüssel einspeist, der eine erfolgreiche Überprüfung einer nicht vertrauenswürdigen Firmware ermöglicht.
Der Prozessablauf ist sehr ähnlich dem oben beschriebenen Ablauf für den DS28C36. Wie bereits beschrieben, wird ein Verschlüsselungspaar aus öffentlichem und privatem Schlüssel für das sichere Booten und einen sicheren Download in der Entwicklungsabteilung erstellt. Beim MAXQ1061 können die Schlüsselpaare Längen von 256, 384 oder 521 Bit haben. Der private Schlüssel dieses Paares wird verwendet, um die Firmware oder Dateien zu signieren, die letztendlich durch den MAXQ1061, der im Endsystem implementiert ist, verifiziert werden. Dieser private Systemschlüssel verlässt niemals die kontrollierte Entwicklungsumgebung. Der öffentliche Systemschlüssel dieses Paares wird im MAXQ1061 installiert.
Wie in Bild 2 gezeigt, wird der private Systemschlüssel verwendet, um die Signatur zu berechnen. Diese wird auf dem SHA-x-Hash der Datei erzeugt und an die Firmware oder Datei angehängt. Der Hauptprozessor sendet ein „VERIFY BOOT“-Kommando an den MAXQ1061 zusammen mit der zu überprüfenden Firmware und der zu erwartenden digitalen Signatur.
Artikelfiles und Artikellinks
(ID:44829320)