Bei der Auswahl oder Entwicklung eines NAND-Flash-Speichersystems muss unbedingt sichergestellt werden, dass die Sicherheit des Speichers den Anforderungen der Anwendung entspricht.

Bei der Auswahl oder Entwicklung eines NAND-Flash-Speichersystems muss unbedingt sichergestellt werden, dass die Sicherheit des Speichers den Anforderungen der Anwendung entspricht. (Bild: AdobeStock 70874274, Maxim_Kazmin)

NAND-Flash-Speicher werden in einer Vielzahl von Verbraucher- und Industrieprodukten verwendet, von Laptops und Mobiltelefonen bis hin zu Industrierobotern, medizinischen Geräten und eingebetteten IoT-Geräten wie Sensoren. In unserer zunehmend vernetzten Welt sind geeignete und robuste Sicherheitsmaßnahmen an allen gefährdeten Stellen dieser Anwendungen erforderlich, einschließlich des Datenspeichersystems. Bei der Auswahl oder Entwicklung eines NAND-Flash-Speichersystems muss daher unbedingt sichergestellt werden, dass die Sicherheit des Speichers den Anforderungen der Anwendung entspricht. Wichtig ist dabei vor allem die Leistungsfähigkeit des Speicher-Controllers. Dieser Artikel gibt einen Überblick über die Sicherheit von NAND-Flash-Speichern und behandelt die gängigsten Hardware- und Softwaretechniken, um den Entwickler bei der Auswahl des NAND-Controllers zu unterstützen.

NAND-Flash-Speicher kommen in Verbraucher- und Industrieanwendungen zum Einsatz. Je nach Anwendung muss der Entwickler hierfür den passenden Speicher-Controller auswählen, der die notwendigen Sicherheitsmaßnahmen auch leisten kann.
NAND-Flash-Speicher kommen in Verbraucher- und Industrieanwendungen zum Einsatz. Je nach Anwendung muss der Entwickler hierfür den passenden Speicher-Controller auswählen, der die notwendigen Sicherheitsmaßnahmen auch leisten kann. (Bild: AdobeStock 521020839, Gorodenkoff)

Schutz von digitalen Daten

Die üblichen Sicherheitsziele eines jeden IT-Systems - Vertraulichkeit, Integrität und Quellenauthentizität - sind ebenso relevant für digitale Speicherlösungen:

  • Integrität: stellt sicher, dass die empfangenen Daten mit den gesendeten Daten identisch sind
  • Vertraulichkeit: gewährleistet, dass die übermittelten Daten von Dritten nicht verstanden werden können
  • Authentizität: stellt sicher, dass der Empfänger der Nachricht die Identität der Quelle verifizieren kann

Diese Sicherheitsziele gelten für den gesamten Lebenszyklus der gespeicherten Daten, welcher sich in drei verschiedene Zustände unterteilen lässt. Bei der Übertragung zwischen dem Speichergerät und der Datenquelle (Benutzer, Sensor usw.) wird dieser Zustand als „Data in Transit“ bezeichnet. Findet die Übertragung über einen nicht vertrauenswürdigen Kanal statt, wie es bei drahtlosen Verbindungen immer häufiger der Fall ist, müssen Sicherheitsmaßnahmen gewährleisten, dass die Daten zwischen Quelle und Ziel nicht verändert werden.

Der Controller eines Speichersystems führt verschiedene Operationen an den Daten durch, darunter die Verarbeitung von E/A-Anfragen des Hosts, die Ver- und Entschlüsselung von Daten, die ECC-Kodierung (Fehlerkorrekturcode), den Verschleißausgleich und die Garbage Collection. Diese Vorgänge finden während des Zustands „Data in Operation“ statt, und das Sicherheitssystem muss jeden unbefugten Zugriff auf die Daten während dieses Zustands verhindern.

Die Hauptaufgabe des digitalen Speichersystems besteht darin, die Integrität der „Data in Storage“ zu erhalten. In diesem Zustand muss der Zugriff durch Unbefugte verhindert werden, ohne die rechtmäßigen Aktivitäten der befugten Personen zu beeinträchtigen.

Im Laufe der Jahre wurden mehrere bewährte Sicherheitstechniken entwickelt, die sich grob in funktionale und plattformbezogene Maßnahmen einteilen lassen. Funktionale Sicherheitsmaßnahmen nutzen Kryptographie-Techniken, um sensible Daten zu schützen, während Plattformsicherheitsprimitive die Implementierung funktionaler Sicherheitsmaßnahmen vor Angreifern schützen. Die Gewährleistung beider Sicherheitsmaßnahmen erfordert eine leistungsstarke Rechenressource, die vom Flash-Speicher-Controller bereitgestellt wird.

Was sind die gängigen Sicherheitstechniken in NAND-Speicher-Sicherheitslösungen?

Die Kryptografie basiert auf mathematischen Abstraktionen. Aktuelle Sicherheitstechniken verwenden kryptografische Algorithmen als Grundbausteine und kombinieren kryptografische Primitive, um Vertraulichkeit, Integrität und Quellenauthentifizierung der geschützten Daten zu gewährleisten. Vier Haupttypen von Kryptographie kommen in NAND-Speicher-Sicherheitslösungen zum Einsatz:

Die kryptografische Hash-Funktion bildet eine beliebige Menge von Eingabedaten auf eine feste Anzahl von Ausgabebits ab. Die Hash-Funktion hat drei Haupteigenschaften.

  • Eindeutigkeit: d.h. gleiche Eingabedaten müssen zu denselben Ausgabebits/Hash-Werten führen.
  • Reversibilität: Während die Ausgabedaten leicht aus der bekannten Eingabe erzeugbar sind, dürfen die Eingabedaten nicht umgekehrt aus dem erzeugten Hash-Wert berechnet werden.
  • Kollisionsresistenz: Es darf rechnerisch nicht möglich sein, dass zwei verschiedene Eingabedatenpunkte dasselbe Ausgabeergebnis ergeben.

Es stehen mehrere Hash-Funktionen zur Verfügung, wobei die empfohlenen, standardisierten Funktionen aus der SHA-2-Familie stammen, einschließlich SHA-256, die die Eingabe-Bitfolge auf einen 256-Bit-Ausgabewert abbildet.

Diese Arten von Schlüsselalgorithmen gibt es

Symmetrische Schlüsselalgorithmen verwenden zur Ver- und Entschlüsselung von Daten einen geheimen Schlüssel, der sowohl dem Sender als auch dem Empfänger bekannt ist. Diese Algorithmen unterstützen relativ schnelle Operationen und werden daher bevorzugt, wenn große Datenmengen ausgetauscht werden müssen. Der Advanced Encryption Standard (AES) ist ein äußerst robuster symmetrischer Schlüsselalgorithmus, von dem die AES6-Familie (AES-128, AES-192, AES-256) am häufigsten verwendet wird. Die AES6-Familie bietet eine 128-Bit-Blockverschlüsselung und unterstützt Schlüsselgrößen von 128, 192 und 256 Bit. Es stehen mehrere Betriebsarten zur Verfügung, darunter CBC – hauptsächlich für die Verschlüsselung von Daten während der Übertragung – und XTS – für die Verschlüsselung von Daten auf einem blockstrukturierten Speichergerät (Daten im Speicher).

Der Advanced Encryption Standard (AES) ist ein äußerst robuster symmetrischer Schlüsselalgorithmus, von dem die AES6-Familie (AES-128, AES-192, AES-256) am häufigsten verwendet wird.
Der Advanced Encryption Standard (AES) ist ein äußerst robuster symmetrischer Schlüsselalgorithmus, von dem die AES6-Familie (AES-128, AES-192, AES-256) am häufigsten verwendet wird. (Bild: AdobeStock 477751723, Nadezhda Kozhedub)

Bei der Kryptographie mit öffentlichem oder asymmetrischem Schlüssel wird von jedem Teilnehmer an der Transaktion ein Schlüsselpaar verwendet. Das Schlüsselpaar besteht aus einem privaten Schlüssel (der nur dem Besitzer des Schlüsselpaares bekannt ist) und einem öffentlichen Schlüssel (der allen Teilnehmern bekannt ist). Die beiden Schlüssel sind unterschiedlich, aber mathematisch miteinander verbunden, und es ist rechnerisch nicht möglich, den privaten Schlüssel aus dem öffentlichen Schlüssel abzuleiten. Asymmetrische Schlüsselalgorithmen werden sowohl für die Vertraulichkeit, bei der der öffentliche Schlüssel zur Verschlüsselung verwendet wird, als auch für die Authentifizierung, bei der der private Schlüssel verwendet wird, eingesetzt. Ein Beispiel für ein Kryptosystem mit öffentlichem Schlüssel ist RSA (Rivest-Shamir-Adleman), welches ein hohes Maß an Vertraulichkeit bietet und für verschlüsselte Kommunikation mit sensiblen Daten wie Passwörtern und symmetrischen Schlüsseln verwendet wird.

Um ein hohes Maß an Sicherheit zu gewährleisten, sind die Grundlage für die Kryptographie und die symmetrische sowie die asymmetrische Verschlüsselung Schlüssel, die von Zufallszahlen abgeleitet sind. Diese werden hauptsächlich von Zufallszahlengeneratoren (RNG) erzeugt, die eine Reihe von Zahlen generieren, die nur durch Zufall vorhersagbar sind. Es gibt zwei Arten von RNGs, echte Zufallszahlengeneratoren (TRNG), die völlig zufällige Zahlenfolgen erzeugen, und kryptografisch sichere Pseudozufallszahlengeneratoren (PRNG). Diese PRNGs benötigen Anfangswerte, die zufällig sein müssen und von echten Zufallszahlengeneratoren (TRNGs) oder Entropiequellen erzeugt werden. Ein TRNG wird durch Abtasten und Verarbeiten von Rohdaten aus einer physikalischen Rauschquelle, wie z.B. einem freilaufenden Ringoszillator, implementiert.

Fortgeschrittene Sicherheitsmaßnahmen wie kryptografische Algorithmen erfordern beträchtliche Verarbeitungskapazitäten, was besondere Anforderungen an den NAND-Flash-Controller, das „Gehirn“ des Speichersystems, stellt.    

Wie die digitalen Sicherheit in den Controller implementiert wird

Die Architektur des Controllers muss nicht nur die Rechenressourcen zur Unterstützung der kryptografischen Algorithmen bereitstellen, sondern auch die Plattformsicherheitsprimitive unterstützen, die zum Schutz der funktionalen Sicherheitsmaßnahmen erforderlich sind. Viele aktuelle SoCs (System-on-a-Chip) integrieren Plattformsicherheitsfunktionen. Davon sind die gängigsten:

  • Der sichere Bootvorgang, welcher aus einem unveränderlichen Speicher innerhalb des SoC geladen wird, wodurch sichergestellt wird, dass vertrauenswürdige Binärdateien auf dem System ausgeführt werden. Neben dem unveränderlichen Speicher gehören zu den Komponenten eines sicheren Startvorgangs die Software-Authentifizierung, ein vertrauenswürdiger Bootloader und ein spezieller sicherer Prozessor.
  • Regelmäßige Firmware-Updates sind für den Betrieb eines jeden Systems unerlässlich, und sichere und zuverlässige Remote-Provisioning-Mechanismen gewährleisten die Authentizität und Gültigkeit von Firmware-Updates.
  • Die Speicherisolierung definiert einen sicheren Bereich des Systemspeichers, der für spezielle Codes reserviert und für andere Systemsoftware unzugänglich ist.
  • Ein einmalig programmierbarer Speicher (OTP) ist ein nichtflüchtiger Speicher, bei dem jedes Bit als eFuse implementiert ist. eFuses können werkseitig oder vom Benutzer programmiert werden, allerdings lassen sich diese nach der Herstellung nur einmal ändern. Der OTP-Speicher wird verwendet, um Systemkonfigurationsinformationen zu speichern, die beim Booten notwendig sind, einschließlich Systempersonalisierungsstrings und Firmware-Versionen.
  • Die eindeutige Identität ist eine gängige Sicherheitstechnik, die das Root-of-Trust-Konzept untermauert. Ein Gerät mit einer eindeutigen, geheimen Identität ermöglicht Authentifizierung, Schlüsselgenerierung, Schlüsselaustausch und erweiterte kryptografische Anwendungen. Eindeutige IDs lassen sich mit Lösungen wie nichtflüchtigen Speichern oder Physical Unclonable Functions (PUFs) in ein Gerät einbetten. Kürzlich eingeführte PUFs sind komplexer zu implementieren, bieten aber eine stärkere physische Sicherheit, und SRAM-basierte PUFs kommen zunehmend in kommerziellen Produkten zum Einsatz.
  • Die Entwickler heutiger SoCs integrieren eine Vielzahl von Hardware- und Softwaretechniken, um die Chipleistung und den Stromverbrauch zu optimieren und gleichzeitig fortschrittliche Sicherheitstechniken zu unterstützen. Dazu gehören mehrere Kerne innerhalb der Mikroprozessoreinheit (MPU) und separate Hardware-Sicherheitsmodule (HSM), denen die Sicherheitsfunktionen übertragen werden können. Beide Optionen unterstützen die Isolierung von Sicherheitsfunktionen und anderen Merkmalen, einschließlich Hardwarebeschleunigern zur Unterstützung kryptografischer Algorithmen.

Sicherheitsstandardisierung

Industrienormen gewährleisten die Interoperabilität zwischen den verschiedenen Sicherheits- und Verschlüsselungsalgorithmen. Diese Normen, Spezifikationen und Leitlinien für die Datensicherheit sind unerlässlich, damit die Hersteller robustere, sicherheitsbewusste Produkte entwickeln können. Das National Institute of Standards and Technology (NIST) und die Trusted Computing Group (TCG) sind zwei wichtige Branchengremien, die sich mit der Entwicklung von Standards, Empfehlungen und Anforderungen für verschiedene Sicherheits-Hardware- und Softwarekomponenten befassen.

Das National Institute of Standards and Technology (NIST) ist ein Branchengremium, die sich mit der Entwicklung von Standards, Empfehlungen und Anforderungen für verschiedene Sicherheits-Hardware- und Softwarekomponenten befasst.
Das National Institute of Standards and Technology (NIST) ist ein Branchengremium, die sich mit der Entwicklung von Standards, Empfehlungen und Anforderungen für verschiedene Sicherheits-Hardware- und Softwarekomponenten befasst. (Bild: AdobeStock 472782176, dizain)

Fazit

Um zu funktionieren ist die Gesellschaft zunehmend auf Vernetzung angewiesen. Allerdings bietet jedes angeschlossene Gerät böswilligen Angreifern eine potenzielle Angriffsfläche. Die digitalen Sicherheitsmaßnahmen haben sich erheblich weiterentwickelt, da die Vernetzung allgegenwärtig geworden ist und Entwickler sicherstellen müssen, dass die Sicherheit ihrer Geräte den Anforderungen der Anwendung entspricht. NAND-Flash-Speicher werden in immer mehr vernetzten Geräten verwendet, und der Speicher-Controller ist der Schlüssel zur Gesamtsicherheit des Speichersystems. Daher ist es wichtig, bei der Auswahl oder Entwicklung eines NAND-Flash-Speichersystems die Sicherheitsfunktionen des Controllers zu kennen. (na)

Rebecca Reinkunz, Hyperstone
(Bild: Hyperstone)

Rebecca Reinkunz

Firmware Release Engineer bei Hyperstone

Sie möchten gerne weiterlesen?