Microchip Sicherer Schlüsselspeicher für IoT-Systeme

Die Trust Platform ist eine Kombination aus sicherem Hardware-Schlüsselspeicher und Software, um die Features einfach in Geräte zu integrieren.
Die Trust Platform ist eine Kombination aus sicherem Hardware-Schlüsselspeicher und Software, um die Features einfach in Geräte zu integrieren.

Einen sicheren Schlüsselspeicher in ein System zu integrieren ist nicht schwierig, wohl aber die Verwaltung der Schlüssel. Microchip hat sich eine Lösung überlegt, die sowohl für kleine, mittlere als auch große Stückzahlen geeignet ist.

Dass IoT-Systeme abgesichert werden müssen, hat sich hinreichend herumgesprochen. Je nach Einsatzgebiet müssen eine oder mehrere Sicherheitsanforderungen erfüllt werden: Schlüsselverwaltung und -austausch für IoT-Endpunkte, Verschlüsselung kurzer Nachrichten oder personenbezogener Daten, sicherer Systemstart, geschützter Download, System- und Kopierschutz. Die dazu nötigen Schlüssel müssen sicher gespeichert werden, da man bei Kenntnis geheimer Schlüssel die verschlüsselten Nachrichten abhören und die Identität des Gerätes kopieren könnte. Zur Speicherung von Schlüsseln dienen sog. »Secure Elements«, in denen eine die geheimen Schlüssel aufbewahrt werden und nur über kryptographische Operationen zugänglich sind.

Ein Schlüsselspeicher ist relativ schnell auf einem Mikrocontroller-Board implementiert. Ein solcher Chip ist z.B. der ATECC608A von Microchip, der mit beliebigen Mikrocontrollern kombiniert werden kann und über I2C oder GPIO angesprochen wird. Von den acht Pins des Chips sind nur vier mit Signalen belegt. Die Schwierigkeiten beginnen, sobald man die Schlüssel auch benutzen will: Wie kommen sie in den Chip hinein? Wie werden sie verwaltet? Wie authentifiziert sich der Entwickler? Wer hunderttausende bis Millionen vernetzter Geräte auf den Markt bringt, steht vor der Aufgabe, für jedes Gerät individuelle Schlüssel zu generieren und wer nur wenige Geräte produziert, hat einen hohen Entwicklungs- und Kostenaufwand um die Sicherheitsinfrastruktur zu etablieben.
 

Abgestufte Funktionen, abgestufte Flexibilität

Hier setzt Microchip mit seiner »Trust Platform« an, die in drei Stufen von der automatischen bis zu indiviuellen Konfiguration anpassbar ist:

  • Trust Go: private Schlüssel werden während der Herstellung bei Microchip implantiert, geeignet für Cloud- und LoRaWAN-Authentifizierung, Mindestbestellmenge nur 10 Stück.
  • Trust Flex: neben den vorproduzierten Schlüsseln kann der Kunde hier auch Schlüssel seiner eigene Zertifizierungsstelle (oder beides) nutzen. Hiermit sind Anwendungen wie Firmware-IP-Schutz, Over-the-Air-Verifikation, Secure Boot mit Schlüssel-Beglaubigung, Nachrichtenverschlüsselung, Benutzerdatenschutz, Schlüsselrotation u.a. möglich.
  • Trust Custom: diese ab 4000 Stück Mindestvolumen verfügbare Lösung bietet den kompletten Zugriff auf den Sicherheitschip. Der Kunde enthält einen leeren Chip, für dessen Firmware er vollständig selbst verantwortlich ist.

Bei der vorkonfigurierten Variante Trust Go, die mitsamt Schlüsseln ausgeliefert wird erhält der Kunde eine Manifest-Datei, die die Seriennummern der Chips, Zertifikate und öffentliche Schlüssel enthält. Der Kunde lädt sie zu seinem Cloud-Provider hoch. Anhand der Schlüssel in den Chips kann die Cloud gewährleisten, dass sich tatsächlich nur die Geräte mit den betreffenden Seriennummern anmelden.

Wer mehr benötigt, als Cloud-Security muss die nächst komplexere Variante Trust Flex wählen und kann dann seine eigene Zertifizierungsstelle einbinden. Dann lassen sich auch die oben erwähnten Anwendungsfälle realisieren. Dank der vordefinierten Anwendungsfälle spart der Entwickler lt. Microchip auch hier viel Entwicklungszeit. Erst wenn dieses Repertoire an Anwendungsfällen nicht mehr ausreicht, muss auf die »Bare-Metal«-Variante Trust Custom zurückgegriffen werden.

Hardware- und Software-Entwicklungstools

Als Entwicklungsplattformen stellt Microchip eine Trust Platform Design Suite zur Verfügung, in der der Entwickler die geschilderten Anwendungsfälle dialoggeführt durchlaufen kann. Codebeispiele in C und Python sind ebenfalls enthalten. Ein Dienstprogramm sorgt für die sichere Übertragung von Schlüsseln. Hardware-Module mit dem ATECC608A für die Evaluierung sind ebenfalls verfügbar (Bild). Das Entwicklungsmodul hat einen mikroBUS-Anschluss und kann dadurch mit vielen Mikrocontroller-Board verbunden werden – nicht nur mit Microchip-Mikrocontrollern. Als Gegenstück auf dem Host-Controller stellt Microchi die CryptoAuthLib zur Verfügung, die die Kommunikation mit dem Sicherheitschip ATECC608A übernimmt.