EUR | USD

Problemlose Gewährleistung der IoT-Sicherheit mit PUF-Schlüsseln auf SRAM-Basis und TrustZone-Isolation

Von Majeed Ahmad

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von Digi-Key

Designs im Zusammenhang mit dem Internet der Dinge (IoT) werden zunehmend komplexer und erfordern verbesserte Lösungen, um die Systemsicherheit zu gewährleisten und die unablässigen lokalen und Remoteangriffe abzuwehren. Die Einführung von Sicherheitsvorkehrungen für ressourcenbeschränkte IoT-Geräte ging jedoch nur schleppend voran und beschränkte sich entweder auf halbherzige Softwarelösungen oder hoch entwickelte und kostspielige Chips auf der Basis komplexer Verschlüsselungsalgorithmen. Entwickler benötigen eine umfassendere und dennoch benutzerfreundlichere Lösung, falls Sicherheitsmaßnahmen schneller eingeführt und implementiert werden sollen.

Aus diesem Bedürfnis heraus sind Technologien wie PUFs (Physical Unclonable Functions) auf SRAM-Basis (Static Random Access Memory) und TrustZone von Arm entstanden, die weiterentwickelt wurden, um den Sicherheitsanforderungen von Embedded- und IoT-Entwicklern gerecht zu werden. Dieser Artikel stellt PUF und TrustZone vor und beschreibt, wie diese Technologien mithilfe von Lösungen von NXP Semiconductors, Microchip Technology und Maxim Integrated angewendet werden können.

SRAM-PUF-Technologie

Die SRAM-PUF, eine schlanke Authentifizierungsalternative zur herkömmlichen Verschlüsselung, wird in sicherheitsorientierte Chips wie die LPC55S6x-Familie von NXP integriert und fügt dort einen Vertrauensanker und Provisioning hinzu (Abbildung 1).

Blockdiagramm der MCUs der LPC55S6x-Familie von NXPAbbildung 1: Das Blockdiagramm der MCUs der LPC55S6x-Familie zeigt die Integration von Sicherheitsbausteinen wie der SRAM-basierten PUF-Technologie. (Bildquelle: NXP)

Die PUF-Technologie unterscheidet sich von der herkömmlichen Schlüsselspeicherung in nicht flüchtigem Speicher, bei der OEMs die Sicherheitsschlüssel entweder über eine herkömmliche sicherungsbasierte Methode oder über einen OTP-Speicher (One-Time Programmable) implementieren. Stattdessen nutzt die PUF-Technologie die natürlichen zufälligen Variationen der SRAM-Bitzellen und wandelt diesen eindeutigen „Fingerabdruck“ in einen geheimen Kryptografieschlüssel um, der als Basis für ein Sicherheits-Subsystem dient. Dieser sichere, hochwertige Schlüssel kann jederzeit und unter allen Umständen als derselbe Kryptografieschlüssel rekonstruiert werden. Dieser Ansatz bietet mehrere Vorteile:

  • In potenziell unsicheren Umgebungen liegt die Schlüsselverwaltung nicht länger in den Händen von Dritten.
  • Das System zur Speicherung und Bereitstellung des Schlüssels muss nicht bei der Produktion des Chips geladen werden.
  • Es kann zu einem späteren Zeitpunkt in der Lieferkette installiert oder sogar auf bereits bereitgestellten Geräten nachgerüstet werden.
  • Ohne physischen Zugriff auf einen einzelnen SRAM-Chip ist eine Entschlüsselung dieser Sicherheitsschlüssel nahezu unmöglich.
  • Die Schlüssel werden nur bei Bedarf erzeugt und nicht auf dem System gespeichert.
  • Der Umstand, dass der Schlüssel nicht dauerhaft gespeichert wird und bei Inaktivität des Geräts nicht vorhanden ist, erschwert die Versuche eines Angreifers enorm, den Speicherinhalt zu beeinträchtigen.

TrustZone von Arm

Die für extrem energieeffiziente Embedded-Anwendungen optimierte TrustZone-Technologie der Arm-Cortex®-M23- und Arm-Cortex-M33-Verarbeitungsplattformen verlagert sicherheitskritische Routinen wie Boot-Code, Sicherheitskonfiguration, Sicherheitsschlüssel, Verschlüsselungsbibliotheken und Firmware-Updates in eine geschützte Umgebung (Abbildung 2). In einem TrustZone-fähigen Mikrocontroller wird beispielsweise der missionskritische Code nach der Trennung von großen Code-Stacks vollständig getestet, um zu verhindern, dass er durch einen von den Entwicklern erzeugten Fehler beeinträchtigt wird.

Diagramm: NXP TrustZone ermöglicht mehrere Sicherheitsbereiche für die SoftwareAbbildung 2: TrustZone ermöglicht mehrere Sicherheitsbereiche für die Software, von denen jeder den Zugriff auf sicheren Speicher und I/O ausschließlich auf vertrauenswürdige Softwareumgebungen beschränkt. (Bildquelle: NXP)

Die Sicherheit von vertraulichen Daten und Code gewährleistet TrustZone dadurch, dass die kritischen Teile des Softwaredesigns isoliert werden und diese Software auf einem Hardware-Supervisor in einer Umgebung ausgeführt wird, die bezüglich Software auf Benutzerebene lese- und schreibgeschützt ist.

Mit TrustZone können die Entwickler Speicher so in sichere und nicht sichere Bereiche aufteilen, dass für sicheren Code und sichere Daten sogar ein Debugging-Versuch geblockt werden kann, wenn er nicht authentifiziert ist. Außerdem kann eine CPU in einem nicht sicheren Zustand nur auf die Daten eines nicht sicheren Speichers zugreifen und diese folglich nur aus einem nicht sicheren Programmspeicher heraus ausführen.

Dabei ist Folgendes wichtig: Obwohl TrustZone diese Sicherheitsfunktionen bietet, behält die Technologie dennoch niedrige Interrupt-Latenzen sowohl für sichere als auch für nicht sichere Bereiche bei. Des Weiteren treten weder Code- noch Zyklus-Overhead auf und auch die Komplexität einer auf Virtualisierung basierenden Lösung wird vermieden.

Physische Implementierung von PUF und TrustZone

NXP integrierte Hard-IP – und die unterstützenden Softwarebibliotheken – vom PUF-Erfinder Intrinsic ID, um PUFs in seine LPC55Sxx-Mikrocontroller implementieren zu können (Abbildung 3). Die eingebettete Hardware-IP QuiddiKey von Intrinsic ID übernimmt Schlüsselerzeugung, Schlüsselspeicherung, Geräteauthentifizierung, Schlüsselbereitstellung und Ressourcenverwaltung des Chips.

Diagramm: NXP integrierte Hard-IP und die unterstützenden Softwarebibliotheken von Intrinsic IDAbbildung 3: NXP integrierte Hard-IP und die unterstützenden Softwarebibliotheken von Intrinsic ID, um PUFs in seine LPC55Sxx-Mikrocontroller implementieren zu können. Die IP übernimmt die Erzeugung und Verwaltung des Schlüssels. (Bildquelle: Intrinsic ID)

Außerdem führte NXP für seine LPC55Sxx-Mikrocontroller TrustZone ein. Der CPU-orientierte Ansatz von TrustZone bei der IoT-Sicherheit sorgt für eine Trennung der sicheren und nicht sicheren Bereiche des eingebetteten Designs.

Beispielsweise bietet TrustZone in der Implementierung auf den Mikrocontrollern SAM L10/11 von Microchip Technology einen systemweiten Schutz, der die Einteilung von IoT-Designs in sichere und nicht sichere Zustände gestattet. Für eine effiziente Embedded-Implementierung werden jedoch sowohl sicherer als auch nicht sicherer Code auf nur einer CPU ausgeführt.

Dieser CPU-orientierte Ansatz ist wichtig, da auf modernen Mikrocontrollern immer mehr Software ausgeführt wird, wobei Protokoll-Stacks Verbindungstechnologien wie Wi-Fi, Bluetooth und Transport Layer Security (TLS) unterstützen. Diese wachsende Codebasis erhöht das Risiko für bösartige Angriffe auf ein IoT-Gerät erheblich. In Smart Homes und intelligenten Gebäuden etwa kann ein beschädigter Protokoll-Stack dafür sorgen, dass Türschlösser, Garagentoröffner und Sicherheitskameras äußerst anfällig für Angriffe werden.

Wenn IoT-Entwickler den missionskritischen Code jedoch in eine durch TrustZone geschützte Umgebung verlagern, hat selbst ein Fehler im Protokoll-Stack eines Drittanbieters keine schwerwiegenden Auswirkungen auf die Funktionalität des Geräts.

Sicherheit auf Platinenebene

Ein weiteres klares Muster im IoT-Sicherheitsparadigma betrifft die Verfügbarkeit von Referenzdesigns, die die Edge-to-Edge- und Cloud-to-Edge-Kommunikation erleichtern, indem sie die komplexen Strukturen hinsichtlich Sicherheits- und Kommunikationsprotokollen vereinfachen. Das DeepCover®-Referenzdesign MAXREFDES155# von Maxim Integrated und die PIC®-IoT-WG-Entwicklungskarte AC164164 von Microchip sind typische Beispiele hierfür.

Beim Sicherheitsdesign MAXREFDES155# ist ein Arm-mbed™-Shield über ein 300 Millimeter (mm) langes Kabel mit einem Sensorendpunkt verbunden. Der Sensorendpunkt umfasst einen DeepCover-Sicherheitsauthentifikator DS28C36, einen Infrarot-Temperatursensor und einen Ziellaser für den IR-Sensor (Abbildung 4).

Diagramm: Eingebettetes DeepCover-IoT-Sicherheitsreferenzdesign MAXREFDES155# von Maxim IntegratedAbbildung 4: Das eingebettete DeepCover-IoT-Sicherheitsreferenzdesign MAXREFDES155# von Maxim Integrated umfasst einen Arm-mbed-Shield, einen über I2C verbundenen Sensorendpunkt und Konnektivität zur Cloud per Wi-Fi. (Bildquelle: Maxim Integrated)

Der Sicherheitschip DS28C356 bietet zwei authentifizierte GPIO-Pins (General Purpose Input/Output) mit optionaler Kontrolle des Sicherheitszustands und Pegelmessung. Dadurch können IoT-Entwickler die Nutzung von Peripheriegeräten durch authentifizierte EEPROM-Einstellungen (Electrically Erasable Programmable Read-Only Memory) und einen reinen 17-Bit-Abwärtszähler einschränken. Der DS28C36 vereinfacht Anwendungen wie die bidirektionale Authentifizierung, die sichere Speicherung von Systemdaten wie Kryptografieschlüsseln, die Verifizierung missionskritischer Daten, das sichere Booten und die Kontrolle der Endproduktnutzung.

Das mbed-Shield im Referenzdesign MAXREFDES155# umfasst einen DeepCover-Sicherheits-Coprozessor, Wi-Fi-Kommunikation, eine LCD-Anzeige, eine Druckknopf-Steuerung sowie LEDs zur Statusanzeige. Das Referenzdesign verwendet die mbed-Entwicklungskarte MAX32600MBED# für unmittelbare Tests und der Wi-Fi-Schaltkreis des Shield erleichtert die Kommunikation mit dem Web-Server.

Beim MAXREFDES155#-Design fungiert ein Sicherheits-Coprozessor auf dem mbed-Shield als Companion-Prozessor zum Authentifikatorchip DS28C36. Er erleichtert Anforderungen im Zusammenhang mit HMAC- (Hash-based Message Authentication Code) und ECDSA-Berechnungen (Elliptic Curve Digital Signature Algorithm), die Bestandteil der Sicherheitsoperationen des DS28C36 sind.

Der Coprozessor bietet eine Reihe kryptographischer Tools, um IoT-Entwicklern dabei zu helfen, Krypto-Engines zu implementieren und einen Generator für echte Zufallszahlen (Random Number Generator, RNG) gemäß FIPS/NIST (Federal Information Processing Standards/National Institute of Standards and Technology) zu implementieren. Die öffentlichen und privaten Sicherheitsschlüssel arbeiten gemäß den vom NIST definierten Standards. Dies schließt FIPS 186 mit ein, den Mechanismus zur ECDSA-Signaturerzeugung und -Signaturprüfung, der ein bidirektionales Modell mit asymmetrischer Schlüsselauthentifizierung unterstützt.

Vereinfachte Sicherheit für Cloud-Verbindungen

Die PIC-IoT-WG-Entwicklungskarte AC164164 von Microchip verfügt über ähnliche Elemente, konzentriert sich jedoch auf die Vereinfachung der Verbindung des IoT-Knotens mit Cloud-Plattformen wie Google Cloud. Die auf den PIC-Mikrocontrollern des Unternehmens aufbauende Entwicklungsplattform verwendet den Coprozessor ATECC608A, um Sicherheitsprobleme im Zusammenhang mit großen Software-Frameworks und RTOS-Plattformen (Real-Time Operating System) anzugehen.

Die AC164164 ist eine IoT-Entwicklungsplattform, bei der die Sicherheit der Edge-to-Cloud-Verbindung über ein sicheres Element gewährleistet wird, das vorab für den Dienst Google Cloud IoT Core registriert wurde und sofort mit der Zero-Touch-Bereitstellung verwendet werden kann. Neben dem Sicherheits-Coprozessor ATECC608A umfasst die Entwicklungskarte den Mikrocontroller PIC24FJ128GA705, der komplexe Anwendungen mit weniger Code und geringerem Stromverbrauch meistert.

Ein vollständig gemäß IEEE 802.11b/g/n zertifizierter IoT-Wi-Fi-Controller verbindet den IoT-Knoten mit Google Cloud. Somit benötigen IoT-Entwickler kein Fachwissen über drahtlose Netzwerkprotokolle, Sicherheit und Hardwarekompatibilität, um ein sicheres IoT-Produktdesign umzusetzen.

Fazit

Die Verfügbarkeit spezialisierter Sicherheits-Chips, die in IoT-Designs als Companion-Chip für den Hauptprozessor oder Mikrocontroller fungieren, ermöglichen Entwicklern die Absicherung von IoT-Knoten und von Verbindungen zu Endpunkten sowie zu Cloud-Plattformen, ohne Sicherheitsexperten sein zu müssen. Die Integration komplementärer Technologien wie PUF und TrustZone sorgen bei immer anspruchsvolleren IoT-Sicherheitsanforderungen für zusätzliche Sicherheit bei diesen energieeffizienten und kostengünstigen Mikrocontrollern.

Zusätzlich stellen Referenzdesigns und Entwicklungskarten mehrere eingebettete Sicherheitsebenen für eine Vielzahl von IoT-Anwendungen bereit.

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Über den Autor

Majeed Ahmad

Majeed Ahmad ist Elektroniker mit über 20 Jahren Erfahrung in B2B-Technologiemedien. Er ist ehemaliger Chefredakteur der EE Times Asia, einer Schwesterzeitung der EE Times.

Majeed hat sechs Bücher über Elektronik verfasst. Er schreibt zudem regelmäßig für Fachzeitschriften zum Thema Elektronikdesign, darunter All About Circuits, Electronic Products und Embedded Computing Design.

Über den Verlag

Nordamerikanische Fachredakteure von Digi-Key