Was ist eingebetteter Speicher?
Bevor wir darüber sprechen, warum Sicherheitsmaßnahmen für eingebetteten Speicher so wichtig sind (und einige Anleitungen dazu geben), müssen wir uns kurz mit den verschiedenen Arten von Speicher befassen und betrachten, wozu diese verwendet werden. Diese Vorbemerkungen sind wichtig, denn sonst entsprächen diese Ausführungen dem Versuch, eine Alarmanlage zu spezifizieren, ohne Informationen über das betreffende Haus oder dessen Inhalt zu haben.
Techopedia definiert ein eingebettetes System wie folgt:
“
Ein eingebettetes System ist ein dediziertes Computersystem, das für eine oder zwei spezifische Funktionen entwickelt wurde. Dieses System ist in ein kompletten Gerätesystem integriert, das Hardware wie elektrische und mechanische Komponenten umfasst. Das eingebettete System unterscheidet sich insofern von einem normalen Computer, als dieser für eine Vielzahl von Verarbeitungsaufgaben entwickelt wurde. Da ein eingebettetes System nur für bestimmte Aufgaben konzipiert ist, können Konstrukteure Faktoren wie Größe, Kosten, Stromverbrauch, Zuverlässigkeit und Leistung optimieren. Eingebettete Systeme werden in der Regel auf breiter Ebene produziert und sie bieten ähnliche Funktionalität für eine Vielzahl von Umgebungen und Anwendungen.“
Diese Definition ist sehr treffend, besonders die zweite Hälfte. Die Wahl des Speichers wird für Entwickler normalerweise durch die allgemeinen Optimierungsziele eingeschränkt, wobei die Prioritäten je nach Anwendung und Produktvolumen unterschiedlich sein können. Die Umsetzung von Sicherheitsmaßnahmen wird zum Teil dadurch beschränkt, dass diese Optimierungsziele erreicht werden müssen.
Eingebettete Systemen verwenden in der Regel einen Solid-State-Speicher (SSM). Im Rahmen dieses Leitfadens werden wir außerdem eigenständige Speicher-ICs, Karten, Module und Solid-State-Laufwerke (SSDs) besprechen, da Speicher beispielsweise auch in Mikrocontroller und System-on-Chip-Geräte (SoC) integriert ist.
Speicher kann in zwei Kategorien aufgeteilt werden: flüchtiger und nichtflüchtiger Speicher.
- Flüchtiger Speicher. Diese Art von Speicher dient zum temporären Speichern von Daten und sie erfordert, dass das System mit Strom versorgt wird. In eingebetteten Systemen werden zwei Arten von flüchtigem Speicher verwendet: statischer Random-Access-Speicher (SRAM) und dynamischer Random-Access-Speicher (DRAM). Dabei müssen Abwägungen nach Kosten und Geschwindigkeit gemacht werden, da SRAM zwar schneller, aber auch teurer ist. Außerdem muss DRAM mehrmals pro Sekunde aktualisiert werden (selbst bei eingeschaltetem Gerät)
- Nichtflüchtiger Speicher. Bei dieser Art von Speicher bleiben die Daten erhalten, nachdem die Stromversorgung getrennt wurde. Diese Kategorie hat zwei Unterkategorien:
- Einmalig programmierbar (OTP). Beispiele sind maskierter schreibgeschützter Speicher (ROM – am Herstellungsort beschrieben), programmierbarer ROM (PROM – leer hergestellt und vom Benutzer einmalig beschrieben) sowie löschbarer PROM (EPROM – kann erneut beschrieben werden, nachdem sein Inhalt mit UV-Licht gelöscht wurde).
- Lesen/Schreiben. Beispiele sind elektrisch löschbarer PROM (EEPROM oder auch E2PROM) und Flash-Speicher, der technisch gesehen eine Form von EEPROM ist, aber eine andere Architektur aufweist.
Ihre Sicherheitsüberlegungen beginnen bereits hier. Wenn es bei nichtflüchtigem Speicher z. B. nicht erforderlich sein sollte, Daten vor Ort zu überarbeiten, können Sie OTP-Speicher verwenden. Ihre Daten werden physisch über einen Kommunikationsanschluss oder drahtlos zugänglich sein, sie können aber nicht geändert werden.
Was den Formfaktor von eingebettetem Speicher betrifft, so gibt es viele verschiedene Typen. Die häufigsten sind Chips/ICs.
ICs mit geringerer Speicherkapazität sind in den Formfaktoren PDIP (Plastic Dual In-Line Package) und SOIC (Small Outline Integrated Circuit) erhältlich und werden fest auf die Leiterplatte gelötet. Für Speicher-ICs mit größerer Kapazität wie z. B. DRAM werden die Formfaktoren TSOP (Thin Small Outline Package), CSP (Chip-Scale Packaging), LQFP (Low-Profile Quad Flat Pack) und BGA (Ball Grid Array) angeboten. Auch diese werden fest auf eine Leiterplatte gelötet.
Wenn die Wahrscheinlichkeit besteht, dass der Speicher geändert/aktualisiert werden muss, stehen Karten und Module zur Verfügung, und die Platine wird entsprechend mit einem Kartensteckplatz oder Anschluss versehen.
Zu den austauschbaren Speicherformaten gehören auch USB-Geräte (wie z. B. Speichersticks) und SD-/microSD-Karten. Obwohl die Kapazitäten relativ beschränkt sind, reichen sie für die meisten eingebetteten Systeme aus.