Geschützten Speicherblock wiedergeben - Replay Protected Memory Block

Ein Replay Protected Memory Block ( RPMB ) wird als Mittel für ein System bereitgestellt, um Daten in einem bestimmten Speicherbereich authentifiziert und wiedergabegeschützt zu speichern, und kann nur über erfolgreich authentifizierte Lese- und Schreibzugriffe gelesen und geschrieben werden. Die Daten können vom Host überschrieben, aber niemals gelöscht werden.

Einsatz in Computersystemen

Da RPMB manipulationssicher ist, kann es als Speichermedium für eine Vielzahl von datenkritischen Zwecken auf einem Embedded-System verwendet werden :

  • Ein Ort, um "permanente" und/oder "vorprogrammierte" Daten auf ein System ohne programmierbaren ROM- Speicher zu schreiben , oder wenn die Daten dafür zu groß sind.
  • Zusammen mit Verschlüsselung und Hardware-Sicherungen kann es auch verwendet werden, um eine vertrauenswürdige Speicherlösung für eine vertrauenswürdige Ausführungsumgebung aufzubauen
  • Anti-Rollback-Schutz für versionierte Daten (Schlüssel, verschlüsselte Dateien, Software usw.).
  • Speicher für eine vertrauenswürdige Anwendung

Einige Betriebssysteme wie Linux bieten möglicherweise einen generischen Treiber für den Zugriff auf ein RPMB-Gerät, das an eine eMMC ( MultiMediaCard ) angeschlossen ist. In anderen Fällen wird der Zugriff auf RPMB jedoch über einen proprietären Treiber gesteuert; Dies kann die Verwendung einer vertrauenswürdigen Anwendung anstelle einer normalen Anwendung erfordern, um auf die Daten zuzugreifen.

Adressierung logischer Einheiten

Die UFS-Spezifikation weist dem RPMB-Gerät eine "Well-Known LUN"-Kennung von 44h zu. Dies kann dargestellt werden als:

  • UFS-LUN: WLUN_ID (80h) | UNIT_NUMBER_ID=C4h
  • 64-Bit-SCSI-LUN: WLUN_ID (C1h) | UNIT_NUMBER_ID=C1h 44h 00h 00h 00h 00h 00h 00h

Speicherlayout

Ein RPMB-Gerät liefert die folgenden Speicherbereiche:

Abschnitt Zugriff Größe
Authentifizierungsschlüssel Schreibgeschützt 32 Byte
Zähler schreiben Schreibgeschützt 4 Byte (32 Bit)
Datenbereich Lesen Schreiben Vielfaches von 128 KB*

* Dies ist das in der Spezifikation definierte Minimum, die tatsächliche Blockgröße hängt von der Implementierung des Flash-Anbieters ab.

Verweise