Home Artikel Erweiterter Schlüsselschutz mit Renesas Secure Crypto Engine

Erweiterter Schlüsselschutz mit Renesas Secure Crypto Engine

sichere Krypto-Engine
Abbildung 1. Sichere Krypto-Engine

Autor: Giancarlo Parodi, leitender Ingenieur, Renesas Electronics

Die Zunahme konnektivitätsfähiger Geräte impliziert eine größere Notwendigkeit, sowohl Kommunikationskanäle als auch alle lokalen Speicher, die das Gerät verwendet, zu sichern, um die Vertraulichkeit und Integrität von Benutzerdaten zu schützen. Daher muss ein Entwickler von eingebetteten Geräten überlegen, wie er die erforderliche Funktionalität für die Bedürfnisse aktueller Benutzer implementiert und wie er die Implementierung zukunftssicher macht, um zukünftige Anforderungen auf kostengünstige Weise zu erfüllen. Eine Sicherheits-Roadmap muss das richtige Gleichgewicht finden zwischen der Berücksichtigung des aktuellen (und veralteten) Ansatzes, der Kompatibilität der Implementierung mit dem Lebenszyklus des Endgeräts und der Offenheit für zukünftige Verbesserungen.

Einer der herausforderndsten Aspekte ist die Verwaltung der kryptografischen Schlüssel der Benutzer, ab der Produktionsphase und später im Feld, da sie aus Sicht des Endbenutzers die sensibelsten zu schützenden Vermögenswerte sind. Dieser Artikel beschreibt, wie Renesas seinen Kunden helfen kann, solche Herausforderungen auf einfache und kostengünstige Weise zu meistern.

Schlüssel müssen in verschiedenen Bedrohungsszenarien geschützt werden: bei der Installation auf dem System, während der Nutzung, bei der Aufbewahrung auf dem Gerät und nach der Entsorgung des Geräts. Um all diese Anforderungen zu erfüllen, ist es ein großer Vorteil, wenn der Mikrocontroller ein dediziertes Subsystem enthält, das so konzipiert ist, dass es sich autonom um all diese Aspekte kümmert. Glücklicherweise ist dies bei der RA-Familie von Mikrocontrollern der Fall, zu der die Secure Crypto Engine (SCE) gehört.

Das SCE-definierte sichere Subsystem (dargestellt in Abbildung 1) bietet eine vergleichbare sichere Elementfunktionalität mit viel höherer Leistung als integrierte Lösung, reduziert die Stücklistenkosten und vereinfacht die Integration sowohl in der Entwicklungsphase als auch in der Produktion. Es unterstützt AES, RSA, ECC, Hashing und die Generierung echter Zufallszahlen in einer isolierten On-Chip-Umgebung. Darüber hinaus ermöglicht das SCE die sichere Speicherung unbegrenzter Schlüssel mit einem werkseitig programmierten 256-Bit-HUK (Hardware Unique Key), um „Schlüsselverschlüsselungsschlüssel“ abzuleiten, die wiederum zum Verpacken (Verschlüsselung) aller unterstützten Clientschlüssel verwendet werden können Typ. Das kryptografische Subsystem Secure Crypto Engine (SCE9) ist vollständig in der MCU enthalten und isoliert und durch eine Zugriffsverwaltungsschaltung geschützt, die den Betrieb der kryptografischen Engine bei Erkennung illegaler Zugriffsversuche abschaltet. Die SCE führt alle Klartext-Kryptografieoperationen unter Verwendung ihres eigenen dedizierten internen Speicherbereichs durch, auf den nicht über irgendeinen CPU- oder DMA-zugänglichen Bus zugegriffen werden kann. Die erweiterten Schlüsselspeicher- und Schlüsselverwaltungsfunktionen von SCE9 können sicherstellen, dass Klartextschlüssel niemals offengelegt oder in CPU-zugänglichem RAM oder externem nichtflüchtigem Speicher gespeichert werden.

Die RA-Familie von Mikrocontrollern umfasst den SCE in allen konnektivitätsfähigen Gruppen, wie den RA6- und RA4-Derivaten. Der RA6M4 ist der erste MCU in der RA-Familie in der neuen Generation von sicherheitsorientierten MCUs von Renesas. Hochmoderne Sicherheitsfunktionen in Kombination mit erstklassigen IP-Peripheriegeräten und Pin- und Funktionskompatibilität über die MCU-Serie hinweg machen die MCUs der RA-Familie zur optimalen Wahl für fast jedes verbundene Embedded-Produkt.

Alle MCUs von Renesas unterstützen die werkseitige Programmierung über serielle und USB-Schnittstellen als kostengünstigen und zuverlässigen Massenproduktionsmechanismus. Darüber hinaus ermöglichen die integrierten Funktionen des RA6M4 und nachfolgender Serien von Mikrocontrollern den Benutzern die Implementierung einer sicheren Schlüsselbereitstellung über dieselbe Programmierschnittstelle. Die MCU-Boot-Firmware unterstützt ein dediziertes Befehlsprotokoll, um einen ausgewählten Installationsschlüssel und eine verschlüsselte Nutzlast (der Anwendungsschlüssel wird eingefügt) an die SCE-Grenze zu übergeben; Der Anwendungsschlüssel wird in einem für die MCU eindeutigen verpackten Format generiert, das sicher in einem nichtflüchtigen Speicher gespeichert werden kann.

Da sowohl der Schlüsselinstallationsschlüssel als auch der Benutzeranwendungsschlüssel verschlüsselt sind, besteht keine Notwendigkeit, ein Hardwaresicherheitsmodul (HSM) oder einen sicheren Programmierdienst für die Benutzerschlüsselinjektion in der Produktion zu verwenden . Renesas bietet allen seinen Kunden einen kostenlosen „Offline“-Service an, um die erforderlichen werkseitig installierten Schlüsseldatennutzdaten über eine dedizierte Infrastruktur namens Device Lifecycle Management (DLM)-Server zu generieren. Die gesamte Kommunikation zwischen dem Benutzer und dem Server ist sicher und per PGP verschlüsselt; Insbesondere wird der Anwendungsschlüssel zu keiner Zeit dem DLM-Server selbst angezeigt.

dlm-Server
Abbildung 2. DLM-Server und Schlüsselinstallation

Die Benutzeranwendung kann die SCE-Funktion über dedizierte kryptografische Treiber nutzen, die im flexiblen Softwarepaket (FSP) von Renesas enthalten sind. Das FSP ist ein erweitertes Softwarepaket, das entwickelt wurde, um qualitativ hochwertige, skalierbare und benutzerfreundliche Software für eingebettete Systemdesigns mit RA-Mikrocontrollern bereitzustellen. Unterstützt Arm® TrustZone®, erweiterte Sicherheitsfunktionen, bietet produktionsbereite, leistungsstarke Controller mit geringem Arbeitsspeicher, integriert Middleware-Stacks wie Azure® RTOS, FreeRTOS™ und erleichtert die Bereitstellung komplexer Module für Kommunikation und Sicherheit.

Insbesondere SCE-Treiber implementieren zwei Betriebsmodi, die als "Kompatibilitätsmodus" und "geschützter Modus" bezeichnet werden.

Kompatibilitätsmodus

Einer der Hauptgründe für ihre Existenz ist, dass viele Legacy-Systeme die Verarbeitung von Klartextschlüsseln erfordern oder dass echte Implementierungen mit verschiedenen Stacks und Bibliotheken integriert werden müssen, die nicht nativ mit umschlossenen Schlüsseln (manchmal als „Schlüssel-Blobs“ bezeichnet) umgehen. . Das SCE ist flexibel und kann eine Klartextschlüsseloperation unterstützen, indem es der Anwendungssoftware erlaubt, einen Klartextschlüssel an der SCE-Grenze zu importieren. Nach diesem Schritt könnte die Anwendung die gepackte Schlüsselversion sicher im Arbeitsspeicher speichern, wodurch die Offenlegung des Schlüssels reduziert wird. In diesem Sinne werden die sicheren Speicher- und Key-Wrapping-Funktionen von SCE für die Endbenutzeranwendung transparent und ermöglichen eine nahtlose Integration mit Legacy-Systemen oder Software und Lösungen von Drittanbietern, während sie ihre unbegrenzte Leistung und Vorteile bieten. Die Anwendungssoftware kann die Klartext- oder gekapselten Schlüssel über die PSA-Crypto- und MbedCrypto-APIs verwenden.

Die sichere Schlüsselspeicherung ist praktisch unbegrenzt, da jeder auf den MCUs verfügbare Programm- oder Daten-Flash-Speicherort als Speicherort ausgewählt werden kann. Gleichzeitig verhindert der einzigartige Hardwareschlüssel, der am Wrapping-Prozess beteiligt ist, das unerlaubte Klonen und Kopieren von Schlüsseln.

In dieser Betriebsart hat der Anwender auch die Möglichkeit, gekapselte (zufällige) Schlüssel auf der MCU selbst zu erzeugen. Dies könnte interessant sein, um beispielsweise lokale MCU-Daten zu verschlüsseln. Außerdem könnte die Unterstützung von Klartextschlüsseln die Integration in vorhandene Programmiersysteme erleichtern.

Andererseits sollte der Entwickler die Gefahr einer Manipulation von Klartextschlüsseln auf dem System abwägen, insbesondere während des Betriebs, da der Schlüsselinhalt außerhalb der SCE-Grenzen offengelegt wird. Dieses Risiko betrifft sowohl den Betrieb der Software als auch alle nachfolgenden Schlüsselaktualisierungen, wenn bösartiger Code Schwachstellen in vorhandener Software ausnutzen könnte, um an die Schlüsseldaten zu gelangen.

Sicherheitsmodus

Dies bietet eine erhebliche Verbesserung sowohl der Sicherheit auf Systemebene als auch der sicheren Schlüsselhandhabung durch die Implementierung eines Best-Practice-Ansatzes. In diesem Modus sind nur nativ verpackte Schlüssel zulässig, und das System unterstützt den Betrieb von Klartextschlüsseln nicht. Dadurch wird die Offenlegung von Schlüsseln von der CPU, DMA oder anderen Systembusschnittstellen vollständig eliminiert und die Angriffsfläche drastisch reduziert.

Wie im Kompatibilitätsmodus kann der SCE verpackte (lokale) Schlüssel generieren.

Bekannte Benutzerschlüssel können sicher von einem Geräteprogrammierer installiert werden, der mit On-Chip-Boot-Firmware interagiert, wodurch eine sichere Schlüsselbereitstellung in der Produktion ermöglicht wird. Diese Schlüssel werden sicher in einem verpackten Format gespeichert und können direkt in der Anwendung verwendet werden. Dieselbe Schnittstelle kann verwendet werden, um Schlüsselaktualisierungsschlüssel werkseitig zu installieren, d. h. Schlüssel, die Anwendungssoftware verwenden kann, um Anwendungsschlüssel im Feld sicher zu aktualisieren und zu aktualisieren. Dies wiederum bedeutet, dass nach Abschluss der anfänglichen Werksprogrammierung keine Abhängigkeit vom DLM-Serverdienst besteht.

Darüber hinaus ermöglicht der geschützte Modus verschiedene Gegenmaßnahmen, um das System vor einfachen und differenziellen Power-Analyse-Angriffen (sog. SPA und DPA) zu schützen. Solche Angriffe implizieren, dass der Bediener physischen Zugriff auf das System hat (eine solche Bedrohung kann je nach Betriebsumgebung durch andere Sicherheitsrichtlinien gemindert werden), sie werden jedoch billiger und schneller zu implementieren, und daher ist es wichtig, sich dagegen zu schützen.

In ähnlicher Weise werden Gegenmaßnahmen gegen Timing-Angriffe für ECC- und RSA-Kryptooperationen implementiert, die in konstanter Zeit verarbeitet werden, wenn es um sensibles Schlüsselmaterial geht (um Leckagen auf der Timing-Seite zu verhindern).

Auf den geschützten SCE-Modus kann mit dem „FSP Crypto“-Modul in einem eigenständigen Format als Teil des FSP-Pakets zugegriffen werden. Obwohl die Integration mit Legacy-Systemen und -Software möglicherweise eine Neugestaltung der Architektur erfordert, sollten Sie die Vorteile berücksichtigen, die der geschützte Betriebsmodus bietet.

Für Anwendungen, die die Trusted Firmware-M (TF-M)-Implementierung einer sicheren Verarbeitungsumgebung für Arm® Cortex®-M33-Architekturen verwenden möchten, kann der SCE-Kompatibilitätsmodus in Kombination mit PSA-Kryptografie verwendet werden und lässt sich nahtlos in das vorhandene ARM-PSA-Exosystem integrieren Software. Diese Integration wird als Teil des FSP-Pakets bereitgestellt.

Darüber hinaus kann der FSP den Kompatibilitätsmodus zur Integration mit Amazon FreeRTOS verwenden, einschließlich Unterstützung für MbedTLS oder Unterstützung für Azure RTOS und NetX Duo.

Andere Konnektivitätslösungen, wie der kommerziell unterstützte integrierte SSL/TLS-Bibliotheksstapel von WolfSSL, können den geschützten Modus nutzen und befinden sich derzeit in der Entwicklung.

Kurz gesagt, die Lösungen von Renesas können jede Roadmap für Anwendungssicherheit unterstützen, von der Unterstützung bestehender und Legacy-Systeme bis hin zur Bereitstellung der Grundlage für einen verbesserten Sicherheitspfad zum optimalen Schutz von Benutzerressourcen und Anwendungen.

Die beschriebene Software und Funktionalität ist in der RA-MCU-Familie verfügbar, beginnend mit der RA6M4-MCU und den kommenden Cortex-M33-basierten Mikrocontrollern der Serien RA6 und RA4.