Internet der Dinge

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

< zurück

Seite: 2/5

Anbieter zum Thema

Herausgabe der Software und Signieren des Codes

Ist die Software komplett fertiggestellt und geprüft und wurde sie anschließend von einem Zertifizierungs-Labor oder einer internen Validierungsstelle geprüft und freigegeben, dann folgt ein zusätzlicher wichtiger Schritt: Die Signatur des ausführbaren Binärcodes. Mit dem Signieren wird der Code gewissermaßen versiegelt. Er kann also nicht mehr verändert werden, ohne dass diese Modifikationen sichtbar werden.

Darüber hinaus wird er authentifiziert (die Identität des Freigebenden ist bekannt). Versiegelt ist der Code deshalb, weil die zugehörige Signatur bei jeglicher Modifikation ungültig wird. Authentifiziert ist der Code, weil er mit einem nur einmal vergebenen, nicht offengelegten, privaten Schlüssel signiert wurde.

Bildergalerie

Das Signieren des Codes ist ein wichtiger Schritt für zertifizierte Software. Sobald die Software also durch eine externe oder interne Validierungs-Instanz freigegeben ist, kann er nicht mehr verändert werden.

Die Eigentümerschaft über ein Gerät erlangt man durch Personalisierung der Vertrauensbasis im Mikrocontroller, also des unveränderlichen Codes, der für den sicheren Bootvorgang verantwortlich ist. Zusätzlich ist es notwendig, den bei der Code-Verifikation verwendeten öffentlichen Schlüssel des Software Approvers in das Gerät zu laden. Dieser Schlüssel ist von fundamentaler Bedeutung, sodass er unbedingt vertrauenswürdig sein muss.

Für das Personalisieren der Vertrauensbasis gibt es zwei Vorgehensweisen. Während die eine mit einer kleinen Schlüsselhierarchie arbeitet, kommt das andere Verfahren ohne Schlüssel aus.

Bei der ersten Variante enthält die Vertrauensbasis des Geräts bereits einen öffentlichen Verifikations-Schlüssel. Dieser Schlüssel wird als Master Root Key (MRK) bezeichnet. Einfach ausgedrückt, wird dieser Schlüssel hardwaremäßig in die Vertrauensbasis geschrieben, die zum Verifizieren des öffentlichen Code Verification Key (CVK) dient.

Originalbeitrag als ePaper oder im pdf-Format lesen

Dieser Autorenbeitrag ist in der Printausgabe ELEKTRONIKPRAXIS 7/2015 erschienen. Diese ist auch als kostenloses ePaper oder als pdf abrufbar. Oder: Bestellen sie das Probeabo mit drei kostenlosen Ausgaben!

Folglich muss der öffentliche CVK signiert werden, bevor er in den Mikrocontroller geladen wird. Bei diesem Signaturvorgang ist die signierende Instanz Eigentümer der Vertrauensbasis (gemeint ist hier der Hardwarehersteller, der den privaten Schlüssel besitzt, der zu dem in die Vertrauensbasis hardwaremäßig einprogrammierten öffentlichen Schlüssel passt). Ist der öffentliche CVK geladen und von der Vertrauensbasis akzeptiert, wird der Schlüssel der Vertrauensbasis nicht mehr benutzt.

Eine Ausnahme bildet lediglich das erneute Prüfen des CVK bei jedem Bootvorgang, um zu gewährleisten, dass er nicht modifiziert oder verfälscht wurde, oder das Aktualisieren des öffentlichen CVK. Der CVK wird jetzt zum Verifizieren von ausführbarem Binärcode verwendet.

Dieser Personalisierungsschritt hat einen entscheidenden Vorteil: er kann in einer unsicheren Umgebung ausgeführt werden, da nur der korrekt signierte öffentliche Schlüssel in das Gerät geladen wird.

Zudem ist dieser Personalisierungsvorgang kein großes Hindernis, da für alle Geräte ein und derselbe CVK verwendet werden kann. Der CVK lässt sich übrigens auch in einem externen, ungeschützten Speicher ablegen, da er vor seiner Verwendung systematisch neu verifiziert wird (Schema 1).

Artikelfiles und Artikellinks

(ID:43237786)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung