Erhöhte Sicherheit mit Secure Provisioning

Erhöhte Sicherheit mit Secure Provisioning

image

Von: Stephen Evanczuk

2021-10-29 (Tighten Security with Secure Provisioning)

Stichworte:

  • Entwicklung
  • Evaluierungs-/Entwicklungstool
  • Programmierung
  • Sicherheit
  • Halbleiter & Entwicklungstools

Sicherheitsschlüssel bilden das Fundament der Sicherheit eines Systems, und der Schutz privater Schlüssel und anderer Geheimnisse ist eine der wichtigsten Voraussetzungen für jedes vernetzte Gerät. Doch selbst wenn Sie Ihre Sicherheitsschlüssel in Ihren Entwürfen durch mehrere Schichten schützen, können laxe Sicherheitsvorkehrungen beim endgültigen Laden von Schlüsseln und Firmware während der Produktion die sorgfältigsten Vorbereitungen zunichtemachen.

Gut dokumentierte Angriffe auf vernetzte Systeme und Infrastrukturen haben ein Schlaglicht auf die zugrundeliegenden Sicherheitsschwachstellen geworfen, die bei der Entwicklung komplexer OT-Lösungen (Operational Technology) auftreten können. Bei kritischen Anwendungen wie im Gesundheitswesen, in der Industrie, im Transportwesen und im Energiesektor werden durch ein erfolgreiches Eindringen in Sicherheitsmaßnahmen nicht nur sensible Daten preisgegeben, sondern auch die sichere Ausführung der Anwendung selbst gefährdet.

In dem Maße, in dem Verbraucher ihre Wohnungen und Büros mit Internet-of-Things-Geräten (IoT) ausstatten, werden Sicherheitslücken in den Geräten immer persönlicher. Es überrascht nicht, daß Geräteentwickler die Sicherheitsimplementierung immer wieder als eines ihrer Hauptanliegen bei der Entwicklung genannt haben.

Die gute Nachricht ist, es gibt hierfür bereits fertige Lösungen.

Sichere Geräte und Kits

Die Verfügbarkeit spezieller Sicherheitschips und sicherheitsfähiger Prozessoren hat die Implementierung der Gerätesicherheit erheblich vereinfacht. Vielleicht noch besser ist, daß ihre hardwarebasierte Ausführung kryptografischer Algorithmen Angriffe auf softwarebasierte Sicherheitsmechanismen verhindert, die herkömmlichere Systeme geplagt haben. Die meisten dieser Chips und Prozessoren enthalten eine hardwarebasierte sichere Schlüsselspeicherung und bauen auf diesen geschützten Schlüsseln auf, um eine Hardware-Vertrauensbasis zu bieten, die für die Gewährleistung der End-to-End-Sicherheit erforderlich ist. Der Prozeß des Ladens (oder “Bereitstellens”) von Schlüsseln in diese Hardware-Geräte bringt jedoch oft Menschen ins Spiel, die möglicherweise versehentlich oder absichtlich Geheimnisse preisgeben und so eine Lücke schaffen, die Hacker mit der Art von Social-Engineering-Angriffen ausnutzen können, die nach wie vor sehr effektiv sind.

Viele Halbleiterhersteller und -händler bieten einen sicheren Bereitstellungsdienst an, der diesen kritischen Schritt unter Verwendung von Hardware-Sicherheits-Modulen (HSM) durchführt, die mit Sicherheitsvorkehrungen zum Schutz vor physischem oder elektronischem Eindringen ausgestattet sind. Die werkseitige Bereitstellung ist jedoch nicht immer verfügbar oder aufgrund interner Anforderungen nicht geeignet, und die Entwickler von IoT-Geräten stehen vor der zusätzlichen Herausforderung, vertrauenswürdige Firmware sicher in ihre Geräte zu laden. Zum Glück gibt es auch hierzu einige alternative Lösungen.

Eine der direkteren Lösungen verzichtet vollständig auf die Schlüsselbereitstellung. Bauteile wie das DS28E38Q+T von Maxim Integrated aus der DeepCover® Serie werden mit der ChipDNA-Technologie von Maxim Integrated auf der Grundlage von PUF-Hardware (Physically Unclonable Function) gebaut. Solche PUF-fähigen Geräte generieren selbst eine eindeutige Identität, die zur Erstellung privater Schlüssel verwendet wird, auf die von externen Gerätepins aus nicht zugegriffen werden kann.

Entwicklungssysteme wie das Zero Touch Secure Provisioning Kit (AT88CKECC-AWS-XSTK-B) von Microchip Technology enthalten den CryptoAuthentication™ Chip ATECC508A-SSHCZ-T von Microchip, der für die Bereitstellung der für die Verbindung eines IoT-Geräts mit Amazon Web Services (AWS) erforderlichen Anmelde-informationen vorkonfiguriert ist.

Aber wie sieht es mit der Bereitstellung von privaten Schlüsseln und vertrauenswürdiger Mikrocontroller (MCU)-Firmware in kundenspezifischen Designs aus, die keine PUF-basierten, selbst generierten Identitäten verwenden können?

Sichere Bereitstellung

In einigen Fällen können Entwickler die Entwicklungsumgebungen der MCU-Hersteller nutzen, um diese Assets auf unterstützten MCUs zu generieren und bereitzustellen. Das MCUXpresso Secure Provisioning Tool von NXP Semiconductors’ beispielsweise ermöglicht Entwicklern den Zugriff auf das Open-Source secure provisioning Software Development Kit (SDK) des Unternehmens über eine grafische Oberfläche oder Befehlszeilenskripte (Abbildung 1). Siehe hierzu auch das Video: MCUXpresso Software and Tools Overview | DigiKey

image

Abbildung 1: Das MCUXpresso Secure Provisioning Tool von NXP Semiconductors bietet Schnittstellen zu seinem Open-Source secure provisioning Software Development Kit SDK via github.com. (Bildquelle: NXP Semiconductors)

STMicroelectronics bietet eine Lösung an, die Entwicklern helfen soll, Code und Daten in Entwürfen zu schützen, die mit den STM32-Prozessoren des Unternehmens erstellt wurden, wenn sie mit Drittanbietern zusammenarbeiten. Bei dieser Lösung erzeugen die Entwickler ein verschlüsseltes Image mit dem STM32 Trusted Package Creator Software-Tool und speichern einen geheimen Schlüssel auf die STM32HSM-V1AE HSM (Hardware-Sicherheits-Modul) Smartcard von STMicroelectronics. Nach Erhalt des verschlüsselten Images und der HSM-Smartcard verwendet der Vertragshersteller den STM32 Cube Programmer, um Schlüssel und Firmware sicher auf STM32-Geräte wie x und y zu übertragen, die Secure Firmware Install (SFI) unterstützen (Abbildung 2).

image

Abbildung 2: Entwickler können die STM32 Trusted Package Creator-Software von STMicroelectronics und eine STM32HSM HSM-Smartcard verwenden, um sichere Assets sicher an Dritthersteller zu übertragen. (Bildquelle: STMicroelectronics)

Für die Entwicklung mit anderen Geräten bietet IAR Systems Software Distributor seinen Secure Desktop Provisioner an, der in die IAR Embedded Workbench integriert ist. Siehe dazu das Video: Installing IAR Embedded Workbench for Renesas Synergy™(Beta) | DigiKey. Der Secure Desktop Provisioner wurde zusammen mit der Geschäftseinheit Secure Thingz entwickelt und ist Teil eines Entwicklungsflusses, der von der sicheren Entwicklung über das Prototyping und die Produktion bis hin zu späteren Updates reicht (Abbildung 3).

image

Abbildung 3: Der Entwicklungsfluß von IAR Systems ermöglicht die Bereitstellung von Entwicklungs-schlüsseln und Firmware für Prototypen und die sichere Übertragung von Assets in die Fertigung, wo die Entwicklungsschlüssel durch Produktionsschlüssel ersetzt werden. (Bildquelle: Renesas)

Bei der Arbeit in der IAR Embedded Workbench verwenden die Entwickler das Soft-Ware-Tool Secure Desktop Provisioner, um Schlüssel und Firmware während der ersten Prototyping-Phasen bereitzustellen. Wenn das Design für die erste Fertigung und die Serienproduktion bereit ist, werden die Firmware-Assets an die Fertigungs-partner (EMS – Electronics Manufacturing Services) übertragen und die Entwicklungs-schlüssel durch sichere Produktionsschlüssel ersetzt, die über eine sichere Appliance bereitgestellt werden.

Fazit

Um sichere vernetzte Systeme wie IoT-Geräte zu implementieren, müssen Entwickler nicht nur die Vorteile spezieller Sicherheitschips und -prozessoren nutzen, sondern auch die zugrunde liegenden geheimen Schlüssel und vertrauenswürdige Firmware schützen. Glücklicherweise gibt es eine Reihe von Lösungen, um diese Werte während der entscheidenden Bereitstellungsphase der Produktion zu schützen.