DE112019007230T5 - Multimodus-Geschützter-Speicher - Google Patents

Multimodus-Geschützter-Speicher Download PDF

Info

Publication number
DE112019007230T5
DE112019007230T5 DE112019007230.7T DE112019007230T DE112019007230T5 DE 112019007230 T5 DE112019007230 T5 DE 112019007230T5 DE 112019007230 T DE112019007230 T DE 112019007230T DE 112019007230 T5 DE112019007230 T5 DE 112019007230T5
Authority
DE
Germany
Prior art keywords
mode
protected memory
permanent
transient
memory controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019007230.7T
Other languages
English (en)
Inventor
Adrian Pearson
Bing Zhu
Elena Agranovsky
Tomas Winkler
Yang Huang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112019007230T5 publication Critical patent/DE112019007230T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Ein Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung beinhaltet einen permanenten Betriebsmodus und einen transienten Betriebsmodus. Bei einer Ausführungsform des Permanentmodus ist ein Authentifizierungsschlüssel einmal programmierbar und ein Schreibzähler ist nicht dekrementierbar oder zurücksetzbar. Bei einer Ausführungsform des Transientmodus kann ein Authentifizierungsschlüssel mehrmals programmiert werden und ein Schreibzähler kann mehrmals zurückgesetzt werden. Andere Merkmale und Vorteile können in Abhängigkeit von der jeweiligen Anwendung realisiert werden.

Description

  • HINTERGRUND
  • Ein Speicher oder eine Speicherungsvorrichtung, wie etwa eine NVMe-SSD (Nonvolatile Memory Express - Nichtflüchtiger-Speicher-Express), wie in dem NVME-Standard, https://nvmexpress.org/, beschrieben ist.,kann einen geschützten Block oder einen anderen Teil eines Speichers aufweisen, der Zugriff auf den zu authentifizierenden geschützten Teil ermöglicht. Zum Beispiel authentifiziert eine Speicherungsvorrichtung, die einen bekannten Replay Protected Memory Block (RPMB) einsetzt, wie in dem RPMB-Teil des veröffentlichten NVME-Standards beschrieben, Lese-und Schreibzugriff auf den geschützten RPMB-Datenbereich der Speicherungsvorrichtung unter Verwendung eines Nachrichtenauthentifizierungscodes (Message Authentication Code - MAC). Die veröffentlichte RPNM-Spezifikation beschreibt geschützte Speichervorrichtungsstrukturen und Operationen, die mit dem RPMB-Standard konform sind.
  • Bei einem bekannten Design speichert ein Host einen Authentifizierungsschlüssel in einer RPMB-Steuerung der RPMB-befähigten Speicherungsvorrichtung (hier eine „RPMB-Speicherungsvorrichtung“. Somit ist der Authentifizierungsschlüssel ein Geheimnis, das von dem Host und der RPMB-Speicherungsvorrichtung gemeinsam genutzt wird. Ein Host fordert eine Datenschreiben-Operation an, die an den geschützten Datenbereich des Speichers gerichtet ist, unter Verwendung einer Datenschreibnachricht. Der Host weist eine Message Authentication Code-Engine bzw. MAC-Engine auf, die einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Authentifizierungsschlüssels, eines Schreibzählerwerts, der zuvor von der RPMB-Speicherungsvorrichtung empfangen wurde, und eines Teils der Datenschreiben-Anforderungsnachricht, die den MAC-Authentifizierungscode enthält, wenn sie gesendet wird, berechnet. Daher wird die Schreiben-Operation, die durch die Datenschreiben-Anforderungsnachricht angefordert wird, als ein „authentifiziertes Datenschreiben“ bezeichnet.
  • Figurenliste
  • Es wird nun auf die Zeichnungen Bezug genommen, in denen gleiche Bezugszeichen durchweg entsprechende Teile repräsentieren.
    • 1 veranschaulicht ein Blockdiagramm einer Rechenumgebung, die einen Multimodus-Geschützter-Speicher, gemäß gewissen Ausführungsformen, einsetzt;
    • 2 veranschaulicht ein Beispiel für eine mit geschütztem Speicher befähigte Speicherungsvorrichtung, die einen Multimodus-Geschützter-Speicher, gemäß der vorliegenden Beschreibung, einsetzt;
    • 3 veranschaulicht ein Beispiel für einen Host, der einen Multimodus-Geschützter-Speicher, gemäß der vorliegenden Beschreibung, einsetzt;
    • 4 stellt ein Beispiel für Operationen der mit geschütztem Speicher befähigten Speicherungsvorrichtung von 2 dar, die Multimodus-Geschützter-Speicher, gemäß der vorliegenden Beschreibung, einsetzt;
    • 5 stellt ein weiteres Beispiel für Operationen der mit geschütztem Speicher befähigten Speicherungsvorrichtung von 2 dar, die Multimodus-Geschützter-Speicher, gemäß der vorliegenden Beschreibung, einsetzt; und
    • 6 stellt noch ein weiteres Beispiel für Operationen der mit geschütztem Speicher befähigte Speicherungsvorrichtung von 2 dar, die Multimodus-Geschützter-Speicher, gemäß der vorliegenden Beschreibung, einsetzt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Teil hiervon bilden und mehrere Ausführungsformen veranschaulichen. Es versteht sich, dass andere Ausführungsformen genutzt werden können und strukturelle und betriebliche Änderungen vorgenommen werden können.
  • Bei einer bekannten Ausführung authentifiziert die RPMB-Steuerung einer RPMB-Speicherungsvorrichtung, die eine Datenschreiben-Anforderungsnachricht empfängt, die empfangene Nachricht, indem sie ihren eigenen MAC-Authentifizierungscode unter Verwendung des gemeinsam genutzten Authentifizierungsschlüssels auf ähnliche Weise wie der Host berechnet und mit dem MAC-Authentifizierungscode vergleicht, der von dem Host mit der Datenschreiben-Anforderung weitergeleitet wird. Wenn der MAC-Authentifizierungscode, der von der RPMB-Steuerung berechnet wird, mit dem MAC-Authentifizierungscode übereinstimmt, der von dem Host mit der Anforderungsnachricht weitergeleitet wird, durchläuft die empfangene Datenschreiben-Anforderungsnachricht einen Authentifizierungsprozess der RPMB-Speicherungsvorrichtung, und die Nachricht wird als authentisch angesehen wird, das heißt, dass sie von einem autorisierten Sender gesendet wurde. Eine durch die Datenschreiben-Anforderungsnachricht angeforderte Datenschreiben-Operation kann, wie im RPMB-Standard beschrieben, zusätzlichen Sicherheitstests unterzogen werden. Falls die Datenschreiben-Anforderungsnachricht die Authentifikation oder andere Sicherheitstests nicht besteht, wird die angeforderte Schreiben-Operation in den geschützten Speicher abgeblockt.
  • Eine Lesen-Antwortnachricht, die von einer RPMB-Steuerung als Reaktion auf eine Lesen-Anforderungsnachricht erzeugt wird, die von einem Host erzeugt wurde und an einen geschützten Speicher gerichtet ist, kann von der RPMB-Steuerung und dem Host auf ähnliche Weise wie eine Datenschreiben-Anforderungsnachricht authentifiziert werden. Falls die von dem Host empfangene Datenlesen-Antwortnachricht bei der Authentifizierung oder anderen Sicherheitstests scheitert, können die Lesen-Antwortnachricht und ihre Daten als von einer nicht authentifizierten Quelle stammend und daher nicht vertrauenswürdig angesehen werden.
  • Als ein Sicherheitsmerkmal bei bekannten RPMB-Designs gegen bösartige Angriffe wird der Authentifizierungsschlüssel von der RPMB-Steuerung in einem einmal beschreibbaren Register gespeichert. Dadurch ist, sobald der Authentifizierungsschlüssel von der RPMB-Steuerung gespeichert wurde, dieser dauerhaft festgelegt und kann somit bei bekannten RPMB-Steuerung-Designs nicht verändert, d.h. überschrieben, gelöscht oder gar gelesen werden.
  • Als ein weiteres Sicherheitsmerkmal gegen bösartige Angriffe in bekannten RPMB-Designs kann der von der RPMB-Steuerung unterhaltene Schreibzähler nicht dekrementiert oder zurückgesetzt werden. Infolgedessen wird ein bösartiger Angriff, der Aufzeichnen einer Schreibdatenanforderungsnachricht und Wiedergeben der aufgezeichneten Nachricht beinhalten kann, an einer Ausführung gehindert, weil die aufgezeichnete Nachricht, die wiedergegeben wird, nicht den Schreibzählerwert enthalten wird, der durch die RPMB-Steuerung erwartet wird, das heißt den aktuellen Schreibzählerwert.
  • Somit stellen bekannte RPMB-Speicherungsvorrichtungen manipulationssichere Speicherung für Sicherheitsanwendungen bereit. Die Sicherheitsmerkmale einer RPMB-Speicherungsvorrichtung können jedoch Ineffizienzen für Drittentwickler beim Entwickeln von Produkten, die eine bekannte RPMB-Speicherungsvorrichtung beinhalten, verursachen. Falls zum Beispiel der Authentifizierungsschlüssel, der in eine RPMB-Vorrichtung programmiert ist, die für Produktentwicklungszwecke verwendet wird, aufgrund eines Programmierfehlers oder eines anderen Softwarefehlers verloren geht, geht der Zugriff auf den RPMB-Datenbereich permanent verloren und die RPMB-Vorrichtung wird typischerweise verworfen und ersetzt, um die Produktentwicklung fortzusetzen. Zudem unterscheidet sich für manche Drittentwickler der während der Entwicklungsstufe verwendete RPMB-Schlüssel häufig aus Sicherheitsgründen von dem RPMB-Schlüssel, der in der Produktionsstufe verwendet werden wird.
  • Infolgedessen kann, wenn eine RPMB-Speicherungsvorrichtung von Drittentwicklern in der Entwicklungsstufe verwendet wird, diese bestimmte Vorrichtung anschließend nicht in der Produktionsstufe verwendet werden, da der RPMB-Authentifizierungsschlüssel bereits mit einem Nicht-Produktionsauthentifizierungsschlüssel programmiert ist und nicht geändert werden kann. Falls der Schreibzähler den maximalen Schreibzählwert im Laufe des Produkttestens erreicht, wie etwa beim Stress- oder Regressionstest, werden als ein weiteres Beispiel keine weiteren Schreibungen in den geschützten Datenbereich erlaubt und wiederum wird die RPMB-Vorrichtung typischerweise verworfen und ersetzt, um die Produktentwicklung fortzusetzen.
  • Um das Entwickeln von Produkten, die eine fertige RPMB-Speicherungsvorrichtung beinhalten, zu erleichtern, ist es für Drittentwickler bekannt, eine fertige RPMB-Vorrichtung in einer Softwareemulation zu emulieren, bei der der Datenbereich der RPMB-Emulation ein gewöhnlicher Teil eines Speichers oder einer Speicherung ist, dem die Schutzmaßnahmen fehlen, die normalerweise für den Datenbereich bekannter, auf dem Markt verfügbarer RPMB-Speicherungsvorrichtungen geleistet werden. Diese Softwareemulationen einer RPMB-Vorrichtung neigen jedoch dazu, komplex zu entwickeln und im Betrieb komplex zu sein. Zum Beispiel können die Systemsoftware, Firmware und Hardware eines Produkts in Entwicklung jeweils mehrere Komponenten aufweisen, die jeweils auf ein oder mehrere RPMB-Ziele zugreifen müssen. Somit können Entwicklung und Debugging von RPMB-Emulationssoftware für jede Komponente der Systemsoftware und -hardware schwierig und teuer sein. Zusätzlich dazu müssen Daten, wie etwa spezielle Schlüssel oder Zertifikate, die in dem gewöhnlichen Teil des Speichers gespeichert sind, möglicherweise in den geschützten Datenbereich kopiert und dann aus dem gewöhnlichen Teil gelöscht werden, sobald der Authentifizierungsschlüssel nach Abschluss der Entwicklung in die RPMB-Vorrichtung programmiert ist.
  • Es ist für Originalgerätehersteller (OEMs) von RPMB-Speichervorrichtungen bekannt, einen Standardauthentifizierungsschlüssel einzusetzen, um Entwicklung und Testen von RPMB-Firmwareimplementierungen in einem Engineering-Muster einer RPMB-Speicherungsvorrichtung zu erleichtern. Der Standardauthentifizierungsschlüssel wird jedoch in den Fertigproduktversionen der RPMB-Vorrichtung deaktiviert, bevor er an Kunden, wie etwa Drittproduktentwickler, versandt wird. Daher können Drittproduktentwickler den deaktivierten Standardauthentifizierungsschlüssel des Herstellers bei der Entwicklung ihrer eigenen Drittprodukte, die eine fertige RPMB-Speicherungsvorrichtung nutzen, nicht verwenden und setzen infolgedessen häufig Softwareemulationen einer RPMB-Speicherungsvorrichtung ein.
  • Ein Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung liefert eine signifikante Verbesserung der Computertechnologie. Beispielsweise kann die Notwendigkeit für Drittentwickler, Softwareemulationen von RPMB-fähigen Vorrichtungen bei der Entwicklung von Produkten, einschließlich von RPMB-fähigen Vorrichtungen, zu verwenden, reduziert oder eliminiert werden. Bei einem Aspekt weist ein Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung sowohl einen transienten Betriebsmodus als auch einen permanenten Betriebsmodus auf. In dem Permanentmodus arbeitet die RPMB-fähige Vorrichtung auf eine ähnliche Weise wie bekannte RPMB-Vorrichtungen. Zum Beispiel kann ein Authentifizierungsschlüssel nur einmal in dem Permanentmodus auf eine Weise programmiert werden, die bekannten RPMB-Vorrichtungen ähnlich ist.
  • Im Vergleich dazu kann bei einem Aspekt des Transientmodus eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung ein Authentifizierungsschlüssel bei einer Ausführungsform eine unbegrenzte Anzahl von Malen umprogrammiert werden, während das Gerät im Transientmodus verbleibt, um die Entwicklung von Drittprodukten zu erleichtern. Falls somit ein Authentifizierungsschlüssel versehentlich während der Entwicklung des Drittprodukts verloren geht, kann derselbe oder ein neuer Authentifizierungsschlüssel leicht in die RPMB-fähige Vorrichtung umprogrammiert werden, während sie im Transientmodus verbleibt. Infolgedessen wird die Notwendigkeit vermieden, die RPMB-Vorrichtung aufgrund eines verlorenen Authentifizierungsschlüssels zu entsorgen.
  • Als ein weiteres Beispiel wird im Permanentmodus ein Schreibzähler für Schreiben-Operationen in einen Geschützter-Speicher-Benutzerdatenbereich möglicherweise nicht dekrementiert oder zurückgesetzt, sobald er einen maximalen Zählwert erreicht, auf eine Weise ähnlich bekannten RPMB-Vorrichtungen. Sobald der Schreibzähler den Maximalwert in dem Permanentmodus erreicht, sind somit zusätzliche Schreiben-Operationen in den geschützten Speicher nicht mehr zulässig.
  • Im Vergleich dazu kann in einem Aspekt der Transientmodus eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung ein Schreibzähler in einer Ausführungsform eine unbegrenzte Anzahl von Malen zurückgesetzt werden, während die Vorrichtung im Transientmodus betrieben wird. Falls also der Schreibzähler der RPMB-fähigen Vorrichtung während der Entwicklung eines Drittprodukts einen maximalen Zählwert als Ergebnis von Stresstests oder anderen Tests, die eine große Anzahl von Schreiben-Operationen beinhalten, erreicht, kann der Schreibzähler leicht zurückgesetzt werden, während die Vorrichtung in dem Transientmodus verbleibt, um zusätzliche Schreiben-Operationen in den geschützten Speicher in dem Transientmodus zu ermöglichen. Infolgedessen muss eine Multimodus-Geschützter-Speicher-Vorrichtung gemäß der vorliegenden Beschreibung nicht entsorgt werden, sobald der Schreibzähler einen Maximalwert im Transientmodus erreicht.
  • In einem anderen Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung kann ein Satz von Operationen, wie etwa eine Authentifizierter-Schlüssel-Operation, eine Schreibzähler-Lesen-Anforderung, ein Schreiben authentifizierter Daten, und eine Lesen-Operation für authentifizierte Daten in dem Permanentmodus bereitgestellt werden die gleich oder im Wesentlichen gleich denen von bekannten RPMB-Vorrichtungen sind, wie sie in dem RPMB-Standard beschrieben sind, um eine Rückwärtskompatibilität mit bekannten RPMB-Vorrichtungen zu erleichtern. Der Permanentmodussatz von Operationen kann angemessen für Betrieb im Permanentmodus modifiziert werden. Bei einer Ausführungsform eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung bewirkt das Programmieren eines Authentifizierungsschlüssels unter Verwendung der Authentifizierungsschlüssel-Programmieroperation des permanenten Satzes von Operationen beispielsweise, dass die Multimodusvorrichtung permanent in den permanenten Betriebsmodus eintritt und einen Wiedereintritt zurück in den transienten Betriebsmodus blockiert.
  • In noch einem weiteren Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung, kann ein weiterer Satz von Operationen, wie etwa eine Authentifizierter-Schlüssel-Operation, eine Schreibzähler-Lesen-Anforderung, eine Authentifiziertes-Datenschreiben-Operation und eine Authentifiziertes-Datenlesen-Operation, in dem Transientmodus bereitgestellt werden, die denen des Permanentmodus hierin oder denen bekannter RPMB-Vorrichtungen, wie in dem RPMB-Standard beschrieben, im Wesentlichen ähnlich sind, um die Entwicklung von Drittvorrichtungen zur Verwendung mit RPMB-Vorrichtungen zu erleichtern. Der Transientmodussatz von Operationen kann wie für den Betrieb im Transientmodus angemessen modifiziert werden. Zum Beispiel kann bei einer Ausführungsform eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung der Transientmodussatz von Operationen von jenem des Permanentmodussatzes von Operationen unterscheidbar sein, indem zum Beispiel ein anderer Satz von Befehlscodes verwendet wird.
  • Zusätzlich dazu kann das Programmieren eines Authentifizierungsschlüssels unter Verwendung der Authentifizierungsschlüssel-Programmieroperation des Transientsatzes von Operationen wiederholt in dem Transientmodus durchgeführt werden, wie oben beschrieben ist. Darüber hinaus kann das Zurücksetzen des Schreibzählers des Transientmodus wiederholt in dem Transientmodus durchgeführt werden, wie oben beschrieben ist. Andere Merkmale und Vorteile können in Abhängigkeit von der jeweiligen Anwendung realisiert werden.
  • Komponenten, die Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung einsetzen, können entweder in eigenständigen Komponenten verwendet werden oder können in Mikroprozessoren und/oder digitalen Signalprozessoren (DSPs) eingebettet sein. Zusätzlich sei angemerkt, dass, obwohl Systeme und Prozesse hier primär unter Bezugnahme auf mikroprozessorbasierte Systeme in den veranschaulichenden Beispielen beschrieben sind, es sich versteht, dass angesichts der vorliegenden Offenbarung gewisse Aspekte, Architekturen und Prinzipien der Offenbarung gleichermaßen auf andere Arten von Vorrichtungsspeicher und Logikvorrichtungen anwendbar sind.
  • Implementierungen der beschriebenen Techniken können Hardware, ein Verfahren oder einen Prozess oder Computersoftware, wie etwa eine Anwendung, ein Betriebssystem, ein BIOS oder einen Komponententreiber auf einem computerzugreifbaren Medium, beinhalten. Somit beinhalten Ausführungsformen entsprechende Computersysteme, Einrichtungen und Computerprogramme, die auf einer oder mehreren Computerspeichereinrichtungen aufgezeichnet sind, die jeweils dazu ausgelegt sind, die Handlungen der Verfahren durchzuführen.
  • Hier beschriebene Operationen werden durch Logik durchgeführt, die dazu ausgelegt ist, die Operationen entweder automatisch oder im Wesentlichen automatisch mit wenig oder keinem Systembedienereingriff durchzuführen, außer wenn angegeben ist, dass sie manuell durchgeführt werden, wie etwa eine Benutzerauswahl. Dementsprechend schließt der Begriff „automatisch“, wie hier verwendet, sowohl vollautomatisch ein, das heißt Operationen, die durch eine oder mehrere hardware- oder softwaregesteuerte Maschinen ohne menschlichen Eingriff, wie etwa Benutzereingaben in eine grafische Benutzerauswahlschnittstelle, durchgeführt werden. Wie hier verwendet, beinhaltet der Begriff „automatisch“ ferner überwiegend automatisch, das heißt, die meisten der Operationen (wie etwa zum Beispiel mehr als 50%) werden durch eine oder mehrere hardware- oder softwaregesteuerte Maschinen ohne menschlichen Eingriff, wie etwa Benutzereingaben in eine grafische Benutzerauswahlschnittstelle, durchgeführt, und der Rest der Operationen (zum Beispiel weniger als 50%) werden manuell durchgeführt, das heißt, die manuellen Operationen werden durch eine oder mehrere hardware- oder softwaregesteuerte Maschinen mit menschlichem Eingriff, wie etwa Benutzereingaben in eine grafische Benutzerauswahlschnittstelle, durchgeführt, um die Durchführung der Operationen anzuweisen.
  • Viele der in dieser Schrift beschriebenen Funktionselemente wurden als „Logik“ bezeichnet, um ihre Implementierungsunabhängigkeit genauer hervorzuheben. Zum Beispiel kann ein Logikelement als eine Hardwareschaltung implementiert sein, die benutzerdefinierte VLSI-Schaltungen (VLSI: Very Large Scale Integrated - hochintegriert) oder Gate-Arrays, handelsübliche Halbleiter, wie etwa Logikchips, Transistoren oder andere diskrete Komponenten, umfasst. Ein Logikelement kann auch in Firmware oder programmierbaren Hardwarevorrichtungen implementiert sein, wie etwa feldprogrammierbare Gate-Arrays, programmierbare Array-Logik, Programmierbare-Logik-Vorrichtungen oder dergleichen.
  • Ein Logikelement kann auch in Software zur Ausführung durch verschiedene Arten von Prozessoren implementiert sein. Ein Logikelement, das ausführbaren Code beinhaltet, kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computerbefehlen umfassen, die zum Beispiel als ein Objekt, eine Prozedur oder eine Funktion organisiert sein können. Dennoch müssen die ausführbaren Dateien eines identifizierten Logikelements nicht physisch zusammen lokalisiert sein, sondern können disparate Anweisungen umfassen, die an verschiedenen Orten gespeichert sind, die, wenn sie logisch miteinander verbunden sind, das Logikelement umfassen und den angegebenen Zweck für das Logikelement erfüllen.
  • Tatsächlich kann ausführbarer Code für ein Logikelement eine einzige Anweisung oder viele Anweisungen sein und kann sogar über mehrere verschiedene Codesegmente, unter verschiedenen Programmen, unter verschiedenen Prozessoren und über mehrere Nichtflüchtiger-Speicher-Vorrichtungen verteilt sein. Gleichermaßen können Betriebsdaten hierin innerhalb von Logikelementen identifiziert und veranschaulicht werden und können in einer beliebigen geeigneten Form umgesetzt und innerhalb einer beliebigen geeigneten Art von Datenstruktur organisiert sein. Die Betriebsdaten können als ein einziger Datensatz gesammelt werden oder können über verschiedene Orte verteilt sein, einschließlich über verschiedene Speichervorrichtungen.
  • Unter Bezugnahme auf die Figuren ist 1 ein High-Level-Blockdiagramm, das ausgewählte Aspekte eines Systems veranschaulicht, das gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert ist. Das System 10 kann eine beliebige einer Anzahl von elektronischen und/oder Rechenvorrichtungen repräsentieren, die eine mit geschütztem Speicher befähigte Speicherungsvorrichtung, wie etwa eine Speichervorrichtung, beinhalten können. Solche elektronischen und/oder Rechenvorrichtungen können Rechenvorrichtungen, wie etwa einen Mainframe, Server, Personal Computer, Workstation, Telefonievorrichtung, Netzwerkgerät, Virtualisierungsvorrichtung, Speicherungssteuerung, tragbare oder mobile Vorrichtungen (z. B. Laptops, Netbooks, Tablet-Computer, persönlicher digitaler Assistent (PDAs), tragbare Medienabspielgeräte, tragbare Spielgeräte, Digitalkameras, Mobiltelefone, Smartphones, Feature-Phones, etc.) oder Komponente davon (z.B. System-on-Chip, Prozessor, Brücke, Speichersteuerung, E/A-Steuerung, Root-Complex, Speicher, etc.) beinhalten. Bei alternativen Ausführungsformen kann das System 10 mehr Elemente, weniger Elemente und/oder andere Elemente beinhalten. Obwohl das System 10 als separate Elemente umfassend dargestellt sein kann, versteht es sich darüber hinaus, dass solche Elemente auf einer Plattform integriert sein können, wie etwa Systeme auf einem Chip (SoCs). Bei dem veranschaulichenden Beispiel umfasst das System 10 eine Zentralverarbeitungseinheit oder einen Mikroprozessor 20, eine Speichersteuerung 30, einen Speicher 40, ein Speicherlaufwerk 44 und Peripheriekomponenten 50, die zum Beispiel Endpunktvorrichtungen, wie etwa eine Videosteuerung, zusätzliche Speicherung, Netzwerkschnittstelle und andere Vorrichtungen, wie etwa Systemtaktgeber, Eingabevorrichtung, Ausgabevorrichtung, Batterie usw., beinhalten können. Das System 10 beinhaltet auch einen oder mehrere Busse 60, die serielle Busse, parallele Busse und ein Fabric beinhalten können, die Links und Switches beinhalten kann.
  • Der Mikroprozessor 20 beinhaltet einen Cache 25, der Teil einer Speicherhierarchie zum Speichern von Anweisungen und Daten sein kann, und der Systemspeicher kann sowohl flüchtigen Speicher als auch den dargestellten Speicher 40 beinhalten, der einen nichtflüchtigen Speicher beinhalten kann. Der Systemspeicher kann auch Teil der Speicherhierarchie sein. Die Logik 27 des Mikroprozessors 20 kann zum Beispiel einen oder mehrere Kerne beinhalten. Bei manchen Ausführungsformen kann die Logik 27 auch einen Systemtaktgeber beinhalten. Die Kommunikation zwischen dem Mikroprozessor 20 und dem Speicher 40 kann durch die Speichersteuerung (oder den Chipsatz) 30 ermöglicht werden, was auch die Kommunikation mit dem Speicherlaufwerk 44 und den Peripheriekomponenten 50 ermöglichen kann. Das System kann eine Offload-Datentransfer-Engine für Direktspeicherdatentransfers beinhalten.
  • Das Speicherlaufwerk 44 kann eine mit geschütztem Speicher befähigte Vorrichtung sein und eine nichtflüchtige Speicherung beinhalten und kann zum Beispiel als Festkörperlaufwerke, Magnetplattenlaufwerke, optische Plattenlaufwerke, Speicherungsbereichsnetzwerk (SAN), Netzwerkzugriffsserver (NAS), ein Bandlaufwerk, Flash-Speicher, Persistenter-Speicher-Domänen und andere Speichervorrichtungen implementiert sein, die einen flüchtigen Pufferspeicher und einen nichtflüchtigen Speicherungsspeicher einsetzen. Die Speicherung kann eine interne Speicherungsvorrichtung oder eine angehängte oder netzwerkzugängliche Speicherung umfassen. Der Mikroprozessor 20 ist dazu ausgelegt, Daten in den Speicher 40 und die Speicherung 44 einzuschreiben und daraus auszulesen. Programme in der Speicherung werden in den Speicher 40 geladen und vom Mikroprozessor 20 ausgeführt. Eine Netzwerksteuerung oder ein -adapter ermöglicht eine Kommunikation mit einem Netzwerk, wie etwa einem Ethernet, einer Fiber-Channel-Arbitrated-Loop usw. Ferner kann die Architektur bei gewissen Ausführungsformen eine Videosteuerung beinhalten, die zum Wiedergeben von Informationen auf einem Anzeigemonitor ausgelegt ist, wobei die Videosteuerung auf einer Videokarte umgesetzt oder in Integrierte-Schaltung-Komponenten, die auf einer Hauptplatine oder einem anderen Substrat montiert sind, integriert sein kann. Bei einer Ausführungsform ist die Anzeige dazu ausgelegt, Informationen als eine Funktion von Speicheroperationen anzuzeigen, die an einen geschützten Speicher gerichtet sind. Eine Eingabevorrichtung wird verwendet, um dem Mikroprozessor 20 eine Benutzereingabe zuzuführen, und kann eine Tastatur, Maus, einen Zeichenstift, ein Mikrofon, einen berührungsempfindlichen Anzeigebildschirm, Eingabe-Pins, Stöpsel oder einen beliebigen anderen Aktivierungs- oder Eingabemechanismus, der in der Technik bekannt ist, beinhalten. Eine Ausgabevorrichtung ist in der Lage, Informationen wiederzugeben, die von dem Mikroprozessor 20 oder einer anderen Komponente, wie etwa einem Anzeigemonitor, Drucker, einer Speicherung, Ausgabe-Pins, Stöpseln usw., übertragen werden. Der Netzwerkadapter kann auf einer Netzwerkkarte, wie etwa einer PCI-Karte (PCI: Peripheral Component Interconnect), PCI-express oder einer anderen E/A-Karte (E/A: Input/Output), oder auf Integrierte-Schaltung-Komponenten, die auf einer Hauptplatine oder einem anderen Substrat montiert sind, umgesetzt sein. Bei einer Ausführungsform ist der Netzwerkadapter dazu ausgelegt, Informationen als eine Funktion von Speicheroperationen, die an einen geschützten Speicher gerichtet sind, zu übertragen.
  • Eine oder mehrere der Komponenten der Vorrichtung 10 können in Abhängigkeit von der speziellen Anwendung weggelassen werden. Beispielsweise kann einem Netzwerkrouter zum Beispiel eine Videosteuerung fehlen. Eine oder mehrere beliebige der Vorrichtungen von 1, einschließlich des Caches 25, des Speichers 40, des Speicherlaufwerks 44, des Systems 10, der Speichersteuerung 30 und der Peripheriekomponenten 50, können Komponenten beinhalten, die einen Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung implementieren.
  • Ein Beispiel für einen nichtflüchtigen Speicherungsspeicher einer Nichtflüchtige-Speicherung-Speicherkomponente gemäß der vorliegenden Beschreibung ist ein 3-dimensionaler(3D)-Kreuzpunktspeicher und andere Arten eines Byte-adressierbaren nichtflüchtigen Write-in-place-Speichers. Bei manchen Ausführungsformen kann der 3D-Kreuzungspunktspeicher eine transistorlose stapelbare Kreuzungspunktarchitektur umfassen, bei der Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen sitzen und einzeln adressierbar sind und bei der die Bitspeicherung auf einer Änderung des Volumenwiderstands basiert.
  • Bei einer Ausführungsform ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie etwa jene auf NAND- oder NOR-Technologien basierte. Eine Speichervorrichtung kann auch nichtflüchtige Vorrichtungen zukünftiger Generation, wie etwa eine dreidimensionale Kreuzungspunktspeichervorrichtung, oder andere byteadressierbare nichtflüchtige Write-in-place-Speichervorrichtungen, beinhalten. Bei einer Ausführungsform kann die Speichervorrichtung eine Speichervorrichtung sein oder solche beinhalten, die Chalkogenidglas, Mehrfachschwellenpegel-NAND-Flash-Speicher, NOR-Flash-Speicher, Einzel- oder Mehrfachpegel-Phasenwechselspeicher (PCM: Phase Change Memory), einen resistiven Speicher, Nanodrahtspeicher, Ferroelektrischer-Transistor-Direktzugriffsspeicher (FeTRAM), antiferroelektrischen Speicher, magnetoresistiven Direktzugriffsspeicher (MRAM), der Memristor-Technologie integriert, resistiven Speicher, einschließlich der Metall-Oxid-Basis, den Sauerstoffleerstellenbasis- und den Leitfähige-Brücke-Direktzugriffsspeicher (CB-RAM) oder Spin-Transfer-Torque(STT)-MRAM, eine auf spintronischen Magnetübergangspeicher basierte Vorrichtung, eine Magnettunnelübergang(MTJ)-basierte Vorrichtung, eine DW(Domänenwand)- und SOT(Spin-Orbit-Transfer)-basierte Vorrichtung, eine thyristorbasierte Speichervorrichtung, eine Kombination von beliebigen der obigen oder einen anderen Speicher verwendet. Die Speicherevorrichtung kann auf den Die selbst und/oder ein packaged Speicherprodukt verweisen.
  • Ein flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung zum Aufrechterhalten des Zustands von durch das Medium gespeicherten Daten benötigt. Nichtbeschränkende Beispiele für flüchtigen Speicher können verschiedene Arten von Direktzugriffsspeicher (RAM), wie etwa dynamischen Direktzugriffsspeicher (DRAM) oder statischen Direktzugriffsspeicher (SRAM), einschließen. Eine bestimmte Art von DRAM, die in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM: Synchronous Dynamic Random Access Memory). Bei bestimmten Ausführungsformen kann DRAM einer Speicherkomponente einem Standard entsprechen, der durch JEDEC veröffentlicht ist, wie etwa ESD79F für DDR-SDRAM, JESD79-2F für DDR2-SDRAM, JESD79-3F für DDR3-SDRAM, JESD79-4A für DDR4-SDRAM, JESD209 für Low-Power-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3, und JESD209-4 für LPDDR4 (diese Standards sind auf www.jedec.org verfügbar). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speicherungsvorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • 2 zeigt ein Beispiel für eine mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 gemäß der vorliegenden Beschreibung. In diesem Beispiel ist die mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 eine Nichtflüchtige-Speicherung-Speicherkomponente, wie etwa ein Festkörperlaufwerk der Speicherungsvorrichtungen 44 (1) des Systems 10. Es versteht sich, dass eine mit geschütztem Speicher befähigte Speicherungsvorrichtung, die Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung einsetzt, in anderen Arten von Vorrichtungen, wie etwa zum Beispiel Zentralverarbeitungseinheiten (CPUs), System-on-Chip (SoC), Grafikverarbeitungseinheiten (GPUs) und Netzwerkadaptern, eingesetzt werden kann.
  • Die mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 weist ein Laufwerksgehäuse 102 a auf, das die mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 mit einem Bus 60 (1) verbindet, der zum Beispiel ein serieller PCIe-Bus sein kann. Das Laufwerksgehäuse 102 a umschließt einen Speicher oder eine Speicherungsvorrichtung 102 mit einem Array 105 nichtflüchtiger Bitzellen, wie etwa einem Array von NAND-Bitzellen, das zum dauerhaften Speichern von Daten ausgelegt ist, und eine Speichersteuerung 107, die zum Steuern von Speicherlesen- und Speicherschreiben-Operationen, die an das Bitzellenarray 105 gerichtet sind, ausgelegt ist. Bei einer Ausführungsform sind die Speichersteuerung 107 und das Bitzellenarray 105 innerhalb eines einzigen Packages zusammengestellt. Es versteht sich, dass bei anderen Ausführungsformen die manchen oder alle Komponenten der Speichersteuerung 107 und des Bitzellenarrays 105 auf unterschiedlichen Dies oder innerhalb unterschiedlicher Zusammenstellungen oder Vorrichtungen angeordnet sein können. Zum Beispiel können manche oder alle Komponenten des Speichers 107 ein Teil eines System-on-Chip (SoC) sein, wohingegen manche oder alle Komponenten des Bitzellenarrays 105 innerhalb einer mit geschütztem Speicher befähigten Speicherungsvorrichtung angeordnet sein können, die durch einen Bus mit dem SoC gekoppelt ist.
  • In einer Ausführungsform ist das Bitzellenarray 105 in verschiedene Partitionen partitioniert, die eine Benutzerdatenbereichspartition 112 und eine Geschützter-Speicher-Benutzerdatenbereichspartition 114 beinhalten. Jeder Bereich oder jede Partition des Arrays 105 kann Zellen einer Einzelniveauzelle(SLC: Single Level Cell)-, einer Dreifachniveauzelle(TLC: Triple Level Cell)-, einer Vierfachniveauzelle(QLC: Quad Level Cell)- oder anderen Mehrfachniveauzelle(MLC: Multi-Level Cell)-Wortleitungsarten beinhalten. Bei einer QLC-Speicher-Ausführungsform kann das Bitzellenarray 105 zum Beispiel in Blöcken und Ebenen organisiert sein. Es versteht sich, dass das Bitzellenarray 105 in Abhängigkeit von der speziellen Anwendung in Einheiten und Untereinheiten anderer Größen und Arten organisiert sein kann.
  • Gemäß einem Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung beinhaltet die Speichersteuerung 107 ferner eine Multimodus-Geschützter-Speicher-Zugriffssteuerung oder -logik, die im Folgenden hauptsächlich als Geschützter-Speicher-Steuerung 134 bezeichnet wird, die dazu ausgelegt ist, den Zugriff auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 zu steuern. Bei einer Ausführungsform beinhaltet ein solcher Zugriff zum Beispiel Authentifiziertes-Datenschreiben-Operationen und Authentifiziertes- Datenlesen-Operationen, die mit entsprechenden Replay Protected Memory Block(RPMB)-Operationen konform sind, wie in dem RPMB-Standard beschrieben ist, und wie angemessen gemäß dem Multimodus-Geschützter-Speicher der vorliegenden Beschreibung modifiziert sind. Obwohl die veranschaulichten Ausführungsformen des Multimodus-Geschützter-Speichers in Verbindung mit RPMB-konformen Strukturen und Operationen beschrieben sind, versteht es sich, dass Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung in Computersystemen eingesetzt werden kann, die andere Arten von geschütztem Speicher einsetzen, in Abhängigkeit von der speziellen Anwendung. Die Geschützter-Speicher-Steuerung 134 der Vorrichtung 102 kann unter Verwendung von Hardware und/oder Software und/oder Firmware allein oder in Kombination ausgestaltet sein.
  • In einem Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung beinhaltet die Geschützter-Speicher-Steuerung 134 eine Moduslogik 138, die dazu eingerichtet ist, die Geschützter-Speicher-Steuerung 134 zu betreiben und dadurch den Zugriff auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 in einem ausgewählten Modus zu steuern, der einen transienten Modus bzw. Transientmodus und einen permanenten Modus bzw. Permanentmodus beinhaltet. Authentifizierungslogik, wie etwa eine Message Authentication Code(MAC)-Engine 142 der Geschützter-Speicher-Steuerung 134, ist dazu ausgelegt, Geschützter-Speicher-Operationen einschließlich derjenigen zu authentifizieren, die an die Geschützter-Speicher-Benutzerdatenbereichspartition 114 gerichtet sind, als Funktion eines umprogrammierbaren Authentifizierungsschlüssels im Transientmodus und als Funktion eines einmalig programmierbaren Authentifizierungsschlüssels im Permanentmodus. Bei der veranschaulichten Ausführungsform beinhaltet die Multimodus-Geschützter-Speicher-Zugriffssteuerung 134 ein umprogrammierbares Registerfeld 146 von Registerfeldern 160, das dazu ausgelegt ist, den umprogrammierbaren Authentifizierungsschlüssel für den Transientmodus zu speichern. Bis das Transientmodus-Authentifizierungsschlüsselregisterfeld 146 programmiert ist, kann bei dieser Ausführungsform nicht auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 im Transientmodus zugegriffen werden. Gleichermaßen kann, bis ein Permanentmodus-Authentifizierungsschlüsselfeld 150 programmiert ist und der Transientmodus verlassen wird, bei dieser Ausführungsform nicht auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 im Permanentmodus zugegriffen werden. Somit kann bei dieser Ausführungsform, falls keines der Authentifizierungsschlüsselfelder 146, 150 programmiert wurde, nicht auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 zugegriffen werden.
  • Das umprogrammierbare Registerfeld 146 zum Speichern des umprogrammierbaren Authentifizierungsschlüssels des Transientmodus kann zum Beispiel ein flüchtiges Nur-Schreib-Register sein, so dass das Transientmodus-Schlüsselregisterfeld 146 nach jedem Leistungszyklus umprogrammiert werden kann. Alternativ dazu kann das umprogrammierbare Register zum Speichern des umprogrammierbaren Authentifizierungsschlüssels des Transientmodus zum Beispiel ein nichtflüchtiges Nur-Schreib-Register sein, so dass der Transientmodus-Schlüssel nach jedem Leistungszyklus persistent sein würde, aber in einer Ausführungsform eine unbegrenzte Anzahl von Malen umprogrammiert werden kann.
  • Wie oben angemerkt, kann das umprogrammierbare Register zum Speichern des umprogrammierbaren Authentifizierungsschlüssels des Transientmodus in einer Ausführungsform ein Nur-Schreib-Register sein, so dass der Transientmodus-Authentifizierungsschlüssel nicht durch einen externen Host gelesen werden kann, nachdem er programmiert wurde. Es versteht sich jedoch, dass es bei manchen Ausführungsformen nützlich sein kann, die Fähigkeit zu haben, den Transientmodus-Authentifizierungsschlüssel zu lesen, nachdem er programmiert wurde. Bei solchen Ausführungsformen kann eine geeignete Transientmodus-Authentifizierungsschlüssel-Anforderungsnachricht zu dem Satz von Transientmodus-Anforderungsnachrichten hinzugefügt werden, auf die zu antworten die Geschützter-Speicher-Steuerung eingerichtet ist. Eine solche Transientmodus-Authentifizierungsschlüssel-Anforderungsnachricht kann genutzt werden, um den Transientmodus-Authentifizierungsschlüssel aus einem geeigneten Lese/Schreib-Register zu lesen, das den Transientmodus-Authentifizierungsschlüssel in solchen Ausführungsformen speichert.
  • Im Vergleich zu dem Transientmodus-Authentifizierungsschlüssel ist bei einer Ausführungsform ein einmal beschreibbares Registerfeld 150 der Registerfelder 160 dazu eingerichtet, den einmal programmierbaren Authentifizierungsschlüssel für den Permanentmodus zu speichern. Das einmalig programmierbare Registerfeld 150 zum Speichern des einmalig programmierbaren Authentifizierungsschlüssels des Permanentmodus ist vorzugsweise zum Beispiel ein nichtflüchtiges Nur-Schreiben-Registerfeld, so dass der Permanentmodus-Schlüssel nach jedem Leistungszyklus dauerhaft sein würde, aber als ein Sicherheitsmerkmal bei einer Ausführungsform nur einmal programmiert werden kann, auf eine Weise ähnlich bekannten RPMB-Vorrichtungen. Somit kann ein einmal beschreibbares Nur-Schreib-Registerfeld verwendet werden, um den Permanentmodus-Authentifizierungsschlüssel so zu speichern, dass der Permanentmodus-Authentifizierungsschlüssel nicht gelesen oder neu programmiert werden kann, nachdem er programmiert wurde. Es versteht sich jedoch, dass es bei manchen Ausführungsformen nützlich sein kann, einem externen Host zu ermöglichen, in der Lage zu sein, den Permanentmodus-Authentifizierungsschlüssel zu lesen, nachdem er bei Ausführungsformen programmiert wurde, bei denen weniger Sicherheitsmerkmale angemessen sein können.
  • Mit der Fähigkeit, das Transientmodus-Authentifizierungsschlüsselregisterfeld 146 eine unbegrenzte Anzahl von Malen im Transientmodus neu zu programmieren, wird die Entwicklung von Drittprodukten erleichtert, die mit geschütztem Speicher befähigte Vorrichtungen beinhalten, und vermeidet dadurch die Verwendung von komplexer Simulationssoftware für geschützten Speicher. Falls der Transientmodus-Authentifizierungsschlüssel, der durch den Host verwendet wird, zum Beispiel aufgrund eines Softwarefehlers verloren geht, kann der Transientmodus-Authentifizierungsschlüssel leicht in einen neuen Transientmodus-Authentifizierungsschlüssel im Transientmodus umprogrammiert werden. Auf diese Weise wird die Entwicklung von Drittprodukten, die mit geschütztem Speicher befähigte Vorrichtungen einschließen, erleichtert.
  • Umgekehrt hält das Beschränken der Programmierung des Permanentmodus-Authentifizierungsschlüssels 150 auf eine einmalige Programmierung im Permanentmodus nach Abschluss der Entwicklung des Produkts ein Sicherheitselement, das durch einen RPMB-Geschützter-Speicher im Permanentmodus bereitgestellt wird, gegen bösartige Angriffe aufrecht. Dadurch ist der Authentifizierungscode, sobald er von der Geschützter-Speicher-Steuerung im Permanentmodus gespeichert ist, dauerhaft fixiert und kann somit im Permanentmodus nicht, ähnlich wie bei bekannten RPMB-Steuerungen, verändert, d.h. überschrieben, gelöscht oder gar gelesen werden.
  • Die Geschützter-Speicher-Steuerung 134 ist ferner dazu ausgelegt, auf einen Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten im Transientmodus und einen Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten im Permanentmodus zu antworten. Der Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten beinhaltet zum Beispiel bei einer Ausführungsform Anforderungsnachrichtenarten, wie etwa Authentifizierungsschlüssel-Programmieranforderung, Authentifiziertes-Datenschreiben-Anforderung und Authentifiziertes-Datenlesen-Anforderung. Zusätzliche Anforderungsnachrichtenarten können in Abhängigkeit von der bestimmten Anwendung in dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten enthalten sein. Die RPMB-Standards stellen zum Beispiel zusätzliche Anforderungsnachrichtenarten bereit, die als geeignet erachtet werden können, in Abhängigkeit von der bestimmten Anwendung in einem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten eingeschlossen zu werden.
  • Bei einer Ausführungsform kann der Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten im Wesentlichen derselbe sein wie jene des Permanentmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten, sich nur durch Befehlscodewerte unterscheiden, um Anforderungsnachrichten des Permanentmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten und Anforderungsnachrichten des Transientmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten zu unterscheiden. Zum Beispiel kann eine Authentifizierungsschlüssel-Programmieranforderung des Permanentmodussatzes bei einer Ausführungsform denselben Befehlscode 0x0001 aufweisen, der im RPMB-Standard für eine Authentifizierungsschlüssel-Programmieranforderungsnachricht spezifiziert ist. Umgekehrt kann eine Authentifizierungsschlüssel-Programmieranforderung des Transientmodussatzes bei einer Ausführungsform einen anderen Befehlscode, wie zum Beispiel 0x0081, aufweisen, der sich von dem unterscheidet, der im RPMB-Standard für eine Authentifizierungsschlüssel-Programmieranforderungsnachricht spezifiziert ist. Auf diese Weise kann eine Multimodus-Geschützter-Speicher-Steuerung dazu eingerichtet sein, Anforderungsnachrichten des Permanentmodussatzes leicht von jenen des Transientmodussatzes zu unterscheiden. Bei einer Ausführungsform kann die Geschützter-Speicher-Steuerung dazu konfiguriert sein, eine Fehlerantwortnachricht, die durch eine Antwortnachrichtenerzeugungslogik 164 erzeugt wird, als Reaktion auf den Empfang einer Anforderungsnachricht des Transientmodussatzes von Anforderungsnachrichten zurückzugeben, wenn sich die RPMB-fähige Vorrichtung im Permanentmodus statt im Transientmodus befindet.
  • Umgekehrt kann die Geschützter-Speicher-Steuerung dazu konfiguriert sein, eine Fehlerantwortnachricht, die durch die Antwortnachrichtenerzeugungslogik 164 erzeugt wird, als Reaktion auf den Empfang einer Anforderungsnachricht des Permanentmodussatzes von Anforderungsnachrichten zurückzugeben, wenn sich die RPMB-fähige Vorrichtung mit mindestens einer Ausnahme im Transientmodus statt im Transientmodus befindet. Falls die Geschützter-Speicher-Steuerung der RPMB-fähigen Vorrichtung zum Beispiel eine Permanentmodus-Authentifizierungsschlüssel-Programmieranforderungsnachricht empfängt, während sie sich im Transientmodus befindet, kann die Geschützter-Speicher-Steuerung dazu konfiguriert sein, fortzufahren, den Permanentmodus-Authentifizierungsschlüssel zu programmieren und den Transientmodus permanent zu verlassen, wie unten ausführlicher beschrieben ist.
  • 3 stellt eine Ausführungsform eines Hosts 204 dar, der einen Prozessor 20 beinhaltet, der dem Mikroprozessor 20 aus 1 ähnlich sein kann. Der Host beinhaltet ferner einen Speicher 40 (1, 3), in dem sich ein Basic Input/Output System (BIOS) 210, ein Betriebssystem 212, Vorrichtungstreiber 214 und Anwendungen 216 befinden, die durch den Prozessor 20 ausgeführt werden, um verschiedene Logikfunktionen durchzuführen.
  • Eine Geschützter-Speicher-Schnittstellenlogik 220 des Hosts 204 weist eine Anforderungsnachrichtenerzeugungslogik 224 auf, die dazu ausgelegt ist, Anforderungsnachrichten des Transientmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten zur Verwendung im Transientmodus zu erzeugen und Anforderungsnachrichten des Permanentmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten zur Verwendung im Permanentmodus zu erzeugen. Die Geschützter-Speicher-Schnittstellenlogik 220 des Hosts 204 kann unter Verwendung von Hardware und/oder Software und/oder Firmware allein oder in Kombination konfiguriert sein.
  • Bei einer Ausführungsform weist die Geschützter-Speicher-Steuerung 134 (2) der mit geschütztem Speicher befähigten Speicherungsvorrichtung 102 ein Nur-Lesen-Registerfeld 230 der Registerfelder 160 auf, um ein Transientmodusunterstützungsflag zu speichern, das angibt, ob die Geschützter-Speicher-Steuerung 134 einen transienten Betriebsmodus unterstützt. Dementsprechend veranlasst der Host 204 vor dem Ausgeben von Anforderungsnachrichten des Transientmodussatzes an eine Speicherungsvorrichtung die Anforderungsnachrichtenerzeugungslogik 224, eine Unterstützungsflag-Register-Lesen-Anforderung zu erzeugen und an die Speicherungsvorrichtung zu senden. Als Reaktion liest die Geschützter-Speicher-Steuerung 134 der Speicherungsvorrichtung 102 das Transientmodusunterstützungsflag 230 und bewirkt, dass die Antwortnachrichtenerzeugungslogik 164 eine Antwort erzeugt, die angibt, ob die Geschützter-Speicher-Steuerung 134 den Transientmodus unterstützt, als eine Funktion des gelesenen Transientmodusunterstützungsflags 230, das durch die Steuerung 134 gelesen wird. Falls zum Beispiel das Transientmodusunterstützungsflag 230 gesetzt ist, kann die Geschützter-Speicher-Steuerung 134 in einer angemessenen Antwortnachricht antworten, dass der Transientmodus unterstützt wird. Umgekehrt, falls das Transientmodusunterstützungsflag 230 nicht gesetzt ist, kann die Geschützter-Speicher-Steuerung 134 in einer angemessenen Antwortnachricht antworten, dass der Transientmodus nicht unterstützt wird.
  • Ein geeigneter Ort des Transientmodusunterstützungsflags 230 kann von der speziellen Anwendung abhängen. Zum Beispiel kann in einer RPMB-fähigen Speicherungsvorrichtung, die mit einer UFS-Spezifikation (UFS: Universal Flash Storage) konform ist, ein Nurlesen-Registerfeld für ein Transientmodusunterstützungsflag 230 in einen UFS-Deskriptor, wie zum Beispiel einen RPMB-Einheits-Deskriptor, hinzugefügt werden. Als ein weiteres Beispiel kann in einer RPMB-fähigen Speicherungsvorrichtung, die mit einer NVMe-Spezifikation (NVMe: Non-Volatile Memory Express) konform ist, ein Nurlesen-Registerfeld für ein Transientmodusunterstützungsflag 230 in einer Identifikationsbefehls-/Datenstruktur (in einem Feld eines Replay Protected Memory Block-Support (RPMBS)) hinzugefügt werden.
  • Es sei angemerkt, dass bei manchen Ausführungsformen das Registerfeld für ein Transientmodusunterstützungsflag 230 möglicherweise nur verfügbar ist, wenn geschützter Speicher, wie etwa zum Beispiel RPMB, unterstützt wird, da RPMB selbst zum Beispiel ein optionales Merkmal in der NVMe-Spezifikation ist. Sollte ein Host eine Transientmodusflag-Anforderungsnachricht an eine Speicherungsvorrichtung ausgeben, der Replay Protected Memory Block-Support (RPMBS) fehlt, kann dementsprechend zum Beispiel eine Anforderungsnachricht zum Lesen eines Transientmodusunterstützungsflagfelds des Replay Protected Memory Block-Support (RPMBS) bewirken, dass die Speicherungsvorrichtung eine Fehlernachricht erzeugt und sendet. Dementsprechend kann der Host die Fehlermeldung so interpretieren, dass sie angibt, dass der Zielspeicherungsvorrichtung ein Transientmodusunterstützungsflag 230 fehlt, da ihr Replay Protected Memory Block-Support (RPMBS) fehlt.
  • Es versteht sich, dass unterschiedliche Spezifikationsstandards (z. B. eMMC, UFS, NVMe) unterschiedliche Registerterminologien und -layouts aufweisen können. Von daher kann der spezifische Ort eines Registerfelds für das Transientmodusunterstützungsflag 230 in Abhängigkeit von der bestimmten Anwendung variieren.
  • Nachdem bestimmt wurde, dass die mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 den transienten Betriebsmodus der Geschützter-Speicher-Steuerung 134 unterstützt (Transientmodusunterstützungsflag 230, das als gesetzt bestimmt wurde), kann der Host 204 (3) in einem Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung selektiv weitere Geschützter-Speicher-Operationen direkt in dem Permanentmodus initiieren oder zuerst in dem Transientmodus und dann zu einer geeigneten Zeit die Geschützter-Speicher-Operationen in den Permanentmodus umschalten. Falls zum Beispiel die mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 in einer Entwicklungsumgebung verwendet wird, würde eine solche Entwicklung erleichtert werden, indem der geschützte Speicher der Vorrichtung 102 zuerst im Transientmodus betrieben wird. Sobald die Entwicklung abgeschlossen ist, kann die Geschützter-Speicher-Speicherungsvorrichtung permanent in den Permanentmodus umgeschaltet werden, zwecks Versand an Verbraucher des entwickelten Produkts
  • Alternativ dazu kann der Host 204 (3) in einem Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung ferner Geschützter-Speicher-Operationen direkt in dem Permanentmodus initiieren, wobei der Betrieb des geschützten Speichers in dem Transientmodus permanent umgangen wird. Falls zum Beispiel die Entwicklung eines Produkts, das eine mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 beinhaltet, abgeschlossen ist, kann der geschützte Speicher der Speicherungsvorrichtung direkt und permanent in den Permanentmodus geschaltet werden, zum Versand an Verbraucher des entwickelten Produkts.
  • 4, 5 und 6 stellen Beispiele für Operationen dar, zu deren Durchführung die Geschützter-Speicher-Steuerung 134 einer mit geschütztem Speicher befähigten Speicherungsvorrichtung 102 konfiguriert ist. In dem Beispiel von 4 wird der Betriebsmodus der Geschützter-Speicher-Steuerung 134 durch den Host 204 (3) ausgewählt und initiiert, durch Anfordern der Programmierung eines Authentifizierungsschlüssels in der Vorrichtung 102 unter Verwendung entweder einer Authentifizierungsschlüssel-Programmieranforderung des Transientmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten oder unter Verwendung einer Authentifizierungsschlüssel-Programmieranforderung des Permanentmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten. Der Host 204 kann sowohl einen Transientmodus-Authentifizierungsschlüssel als auch einen Permanentmodus-Authentifizierungsschlüssel unter Verwendung geeigneter Logik, wie etwa einer Message Authentication Code(MAC)-Engine 234 der Geschützter-Speicher-Schnittstellenlogik 220, erzeugen oder anderweitig erhalten. Ein Authentifizierungsschlüssel wird auf eine ähnliche Weise wie bekannte RPMB-Systeme erhalten, die gemäß der vorliegenden Beschreibung für einen Multimodus-Geschützter-Speicher angemessen modifiziert ist. Falls der Authentifizierungsschlüssel in Verbindung mit dem Transientmodus verwendet werden soll, wird eine Kopie des Authentifizierungsschlüssels in der Datenstruktur 238 der Datenstrukturen 242 für den Transientmodus-Authentifizierungsschlüssel gespeichert. Alternativ wird, falls der Authentifizierungsschlüssel in Verbindung mit dem Permanentmodus verwendet werden soll, eine Kopie des Authentifizierungsschlüssels in der Datenstruktur 246 der Datenstrukturen 242 für den Permanentmodus-Authentifizierungsschlüssel gespeichert.
  • Die Anforderungsnachrichtenerzeugungslogik 224 des Hosts erzeugt eine Authentifizierungsschlüssel-Programmieranforderungsnachricht, die den erzeugten Authentifizierungsschlüssel auf eine ähnliche Weise wie die bekannter RPMB-Systeme an die Speicherungsvorrichtung 102 weiterleitet, die gemäß der vorliegenden Beschreibung für Multimodus-Geschützter-Speicher angemessen modifiziert ist. Bei dieser Ausführungsform wird die Authentifizierungsschlüssel-Programmieranforderungsnachricht durch die Geschützter-Speicher-Schnittstellenlogik 220 an die Speicherungsvorrichtung 102 gesendet. Wenn der Betrieb des geschützten Speichers in dem Transientmodus angemessen ist, wird die Authentifizierungsschlüssel-Programmieranforderungsnachricht aus dem Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten ausgewählt. Umgekehrt wird, wenn ein Betrieb des geschützten Speichers im Permanentmodus angemessen ist, die Authentifizierungsschlüssel-Programmieranforderungsnachricht aus dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten ausgewählt.
  • Die Geschützter-Speicher-Steuerung 134 (2) der Speicherungsvorrichtung 102 ist ausgelegt zum Bestimmen (Block 254, 4), ob eine empfangene Anforderungsnachricht eine Authentifizierungsschlüssel-Programmieranforderungsnachricht ist, auf eine Art und Weise ähnlich jener bekannter RPMB-Systeme, die als für Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung angemessen modifiziert sind. Falls die empfangene Anforderungsnachricht eine Authentifizierungsschlüssel-Programmieranforderungsnachricht ist, ist die Geschützter-Speicher-Steuerung 134 (2) in einem Aspekt der vorliegenden Beschreibung ferner dazu ausgelegt, zu bestimmen (Block 260, 4), ob die empfangene Authentifizierungsschlüssel-Programmieranforderungsnachricht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört.
  • Wenn bestimmt wird, dass die empfangene Authentifizierungsschlüssel-Programmieranforderungsnachricht nicht zum Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, d.h., dass bestimmt wird, dass die empfangene Authentifizierungsschlüssel-Programmieranforderungsnachricht zum Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, die Geschützter-Speicher-Steuerung 134 (2) ferner dazu ausgelegt ist, zu bestimmen (Block 264, 4), ob sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet. Bei der veranschaulichten Ausführungsform beinhalten die Registerfelder 160 der Geschützter-Speicher-Steuerung 134 ein Transientmodus-Blockierungsregisterfeld 270 (2), das bei einer Ausführungsform für den Host nicht sichtbar ist. Standardmäßig ist dieses Registerfeld 270 anfänglich gelöscht (z. B. Bitwert „0“), nachdem die Speicherungsvorrichtung durch den Speicherungsanbieter hergestellt wurde. Ein Löschzustand des Transientmodus-Blockierungsregisterfelds bedeutet, dass der Transientmodus der Geschützter-Speicher-Steuerung nicht blockiert wurde. Somit gibt der Löschzustand des Transientmodus-Blockierungsregisterfelds an, dass sich der geschützte Speicher nicht im Permanentmodus befindet und dass der Transientmodus verfügbar bleibt.
  • Bei einer Ausführungsform kann das Transientmodus-Blockierungsregister mit einer Absicherungsvorrichtung implementiert werden, so dass, wenn das Transientmodus-Blockierungsregister 270 durch die Geschützter-Speicher-Steuerung 134 gesetzt oder abgesichert wird, der Transientmodus permanent blockiert wird. Somit gibt ein gesetztes oder abgesichertes Transientmodusregister an, dass sich die Geschützter-Speicher-Steuerung im Permanentmodus befindet und der Transientmodus nicht mehr verfügbar ist.
  • Auf diese Weise kann die Geschützter-Speicher-Steuerung 134 durch Lesen des Transientmodus-Blockierungsregisters 270 (2) bestimmen (Block 264, 4), ob sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des geschützten Speicherbetriebs befindet. Falls bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 nicht bereits im Permanentmodus befindet, kann die Geschützter-Speicher-Steuerung 134 in den Transientmodus eintreten (Block 274, 4) (oder wieder in den Transientmodus eintreten, falls er sich bereits im Transientmodus befindet) durch Programmieren in das Registerfeld 146 (2), wobei der Transientmodus-Authentifizierungsschlüssel durch die Authentifizierungsschlüssel-Programmieranforderungsnachricht weitergeleitet wird, die von der Geschützter-Speicher-Steuerung 134 empfangen wird. Sobald der Transientmodus-Authentifizierungsschlüssel in das Registerfeld 146 für den Transientmodus-Authentifizierungsschlüssel programmiert wurde, tritt die Vorrichtung 102 in den Transientmodus ein und die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) kann durch geeignete Zugriffsoperationen, wie etwa authentifizierte Datenschreibungen und authentifizierte Datenlesungen des Transientmodussatzes von Zugriffsanforderungsnachrichten, die durch den Host erzeugt und gesendet werden, zugegriffen werden. Wie oben angemerkt wurde, kann bei einer Ausführungsform das Authentifizierungsschlüsselregisterfeld 146 eine unbegrenzte Anzahl von Malen im Transientmodus programmiert werden, um zum Beispiel die Entwicklung von Drittprodukten, die mit geschütztem Speicher befähigte Speicherungsvorrichtungen beinhalten, zu erleichtern.
  • Bekannte Geschützter-Speicher-Steuerungen, wie etwa eine RPMB-Steuerung weisen als Sicherheitsmerkmal gegen bösartige Angriffe einen Nur-Lesen-Schreibzähler auf, dessen Ausgangswert die Gesamtanzahl erfolgreicher Authentifiziertes-Datenschreiben-Anforderungen des Hosts angibt. Zum Beispiel kann der Anfangswert dieses Registers nach der Speicherlaufwerksherstellung 00000000h betragen und der Ausgabewert wird automatisch durch die RPMB-Steuerung mit jedem erfolgreichen Schreibzugriff auf den Geschützter-Speicher-Datenbereich um eins erhöht. Infolgedessen wird ein bösartiger Angriff, der Aufzeichnen einer Schreibdatenanforderungsnachricht und Wiedergeben der aufgezeichneten Nachricht beinhalten kann, an einer Ausführung gehindert, weil die aufgezeichnete Nachricht, die wiedergegeben wird, nicht den Schreibzählerwert enthalten wird, der durch die RPMB-Steuerung erwartet wird, das heißt den aktuellen Schreibzählerwert.
  • Bei bekannten RPMB-Steuerungen ist der Schreibzählerwert nicht rücksetzbar. Nachdem der Zähler den maximalen Zählwert erreicht hat (e.g. FFFFFFFFh), inkrementiert sich der Schreibzähler nicht mehr, um einen Überlauf zu verhindern. In einem Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung weist die Geschützter-Speicher-Steuerung 134 ein Schreibzählerfeld 280 (2) auf, das im Transientmodus rücksetzbar ist. Es versteht sich, dass in der Entwicklungs- oder Validierungsphase eines Drittprodukts, das eine mit geschütztem Speicher befähigte Speicherungsvorrichtung beinhaltet, der Schreibzähler zum Beispiel seinen Maximalwert erreichen und in einem Stresstest überlaufen kann. Mit der Fähigkeit, das Schreibzählerfeld 280 im Transientmodus zurückzusetzen, wird der mit geschütztem Speicher befähigten Speicherungsvorrichtung 102 erlaubt, im Transientmodus zur Entwicklung oder Validierung des Drittprodukts wiederverwendet zu werden. Infolgedessen muss die mit geschütztem Speicher befähigte Speicherungsvorrichtung 102 nicht einfach deshalb entsorgt werden, weil das Schreibzählerregisterfeld 280 seinen maximalen Zählwert im Transientmodus erreicht hat.
  • Dementsprechend ist die Geschützter-Speicher-Steuerung 134 in Verbindung mit Eintreten (Block 274, 4) oder Wiedereintreten in den Transientmodus durch Programmieren des Transientmodus-Authentifizierungsschlüssels in das Registerfeld 146 ( 2) auch dazu ausgelegt, das Schreibzählerfeld 280 in dem Transientmodus zurückzusetzen (Block 284, 4). Zusätzlich dazu erzeugt (Block 288, 4) die Antwortnachrichtenerzeugungslogik 164 (2) der Geschützter-Speicher-Steuerung 134 eine angemessene Antwortnachricht und gibt diese an den anfordernden Host zurück, die eine erfolgreiche Programmierung des Transientmodus-Authentifizierungsschlüssels bestätigt, wie durch den Host angefordert, wobei Programmierung oder Umprogrammierung eines Transientmodus-Authentifizierungsschlüssels in dem transienten Betriebsmodus der Geschützter-Speicher-Steuerung 134 abgeschlossen werden (Block 290, 4). Die Antwortnachricht, die ein erfolgreiches Programmieren des Transientmodus-Authentifizierungschlüssels bestätigt, wird auf ähnliche Weise erzeugt und gesendet wie bekannte Antwortnachrichten, die ein erfolgreiches Programmieren eines Authentifizierungschlüssels bestätigen, der entsprechend der vorliegenden Beschreibung für einen Multimodus-Geschützter-Speicher angemessen modifiziert ist.
  • Bei einer Ausführungsform kann der Transientmodus-Authentifizierungsschlüssel eine unbegrenzte Anzahl von Malen im Transientmodus programmiert und umprogrammiert werden. Es versteht sich jedoch, dass es bei manchen Ausführungsformen zweckmäßig sein kann, eine Grenze für die Anzahl von Umprogrammierungen des Transientmodus-Authentifizierungsschlüssels festzulegen.
  • In einem anderen Aspekt des Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung wird bei einer Ausführungsform, falls die Geschützter-Speicher-Steuerung 134 in den Permanentmodus eintritt, möglicherweise nicht in den Transientmodus eingetreten oder wiedereingetreten. Somit ist der Eintritt in den Permanentmodus permanent und kann als Sicherheitsmerkmal nicht verlassen werden. Falls in dem Beispiel von 4 bestimmt wird (Block 260, 2), dass die empfangene Authentifizierungsschlüssel-Programmieranforderungsnachricht zu dem Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört und die Geschützter-Speicher-Steuerung 134 (2) bestimmt (Block 264, 4), dass sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus von Geschützter-Speicher-Betrieb befindet, erzeugt (Block 292, 4) die Antwortnachrichtenerzeugungslogik 164 (2) der Geschützter-Speicher-Steuerung 134 eine angemessene Antwortnachricht, die eine Fehlerbedingung als eine Sicherheitsmaßnahme gegen bösartige Angriffe angibt und Rückwärtskompatibilität bereitstellt, an den anfordernden Host zurück.
  • Wie oben angemerkt, ist bei einer Ausführungsform das Registerfeld 150 der Registerfelder 160 ein einmal beschreibbares Registerfeld, das dazu eingerichtet ist, den einmal programmierbaren Authentifizierungsschlüssel für den Permanentmodus zu speichern. Bei bekannten RPMB-Steuerungen kann der Authentifizierungsschlüssel nur einmal sowie als Sicherheitsmerkmal programmiert werden. Dementsprechend, falls die Geschützter-Speicher-Steuerung 134 (2) in dem Beispiel von 4 bestimmt (Block 260, 4), dass die empfangene Authentifizierungsschlüssel-Programmieranforderungsnachricht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, und die Geschützter-Speicher-Steuerung 134 (2) ferner bestimmt (Block 296, 4), dass sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet, erzeugt (Block 292, 4) die Antwortnachrichtenerzeugungslogik 164 (2) der Geschützter-Speicher-Steuerung 134 eine angemessene Antwortnachricht, und gibt diese an den anfordernden Host zurück, die eine Fehlerbedingung angibt, weil Umprogrammieren des Permanentmodus-Authentifizierungsschlüssels in der Ausführungsform von 4 als ein Sicherheitsmerkmal nicht zulässig ist, und um eine Rückwärtskompatibilität zu ermöglichen. Es versteht sich jedoch, dass es bei manchen Ausführungsformen zweckmäßig sein kann, Umprogrammierung von Permanentmodus-Authentifizierungsschlüsseln zuzulassen. Im Vergleich dazu können im Transientmodus der Ausführungsform von 4 Programmieren und Umprogrammieren eines Transientmodus-Authentifizierungsschlüssels, wie oben in Verbindung mit Operationen beschrieben, 254-290 eine unbegrenzte Anzahl von Malen wiederholt werden, wie oben beschrieben.
  • Wenn umgekehrt bestimmt wird (Block 260, 4), dass die empfangene Authentifizierungsschlüssel-Programmieranforderungsnachricht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, und bestimmt wird (Block 296, 4), dass sich die Geschützter-Speicher-Steuerung 134 nicht bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet, durch Lesen des Transientmodus-Blockierungsregisters 270 (2) (das Transientmodus-Blockierungsregisterfeld 270 ist in diesem Beispiel gelöscht), kann die Geschützter-Speicher-Steuerung 134 durch Programmieren in das Registerfeld 150 (2) in den Permanentmodus eintreten (Block 304, 4), wobei der Permanentmodus-Authentifizierungsschlüssel durch die Authentifizierungsschlüssel-Programmieranforderungsnachricht weitergeleitet wird, die durch die Geschützter-Speicher-Steuerung 134 empfangen wurde. Sobald der Permanentmodus-Authentifizierungsschlüssel in das einmal beschreibbare Registerfeld 150 für den Permanentmodus-Authentifizierungsschlüssel programmiert wurde, kann die Geschützter-Speicher-Benutzerdatenbereichspartition 114 ( 2) durch geeignete Zugriffsoperationen, wie etwa authentifizierte Datenschreibungen und authentifizierte Datenlesungen des Permanentmodussatzes von Zugriffsanforderungsnachrichten, die durch den Host erzeugt und gesendet werden sollen, zugegriffen werden. Wie oben angemerkt wurde, kann das Authentifizierungsschlüsselregisterfeld 150 bei einer Ausführungsform nur einmal in dem Permanentmodus programmiert werden, da Entwicklung und Validierung von Drittprodukten, die mit geschütztem Speicher befähigte Speicherungsvorrichtungen enthalten, möglicherweise bereits unter Verwendung derselben oder einer ähnlichen mit geschütztem Speicher befähigten Speicherungsvorrichtung 102 in einem vorherigen Transientmodus abgeschlossen worden sind.
  • Bei der veranschaulichten Ausführungsform ist Eintreten in den Permanentmodus permanent, so dass möglicherweise nicht in den Transientmodus eingetreten werden kann, nachdem in den Permanentmodus eingetreten wurde, als eine Sicherheitsmaßnahme gegen bösartige Angriffe. In Verbindung mit dem Authentifizierungsschlüssel für den Permanentmodus, der in das einmal beschreibbare Registerfeld 150 programmiert wird, um in den Permanentmodus einzutreten, setzt, in der Ausführungsform von 4, die Moduslogik 138 (2) der Geschützter-Speicher-Steuerung 134 das Transientmodus-Blockierungsregisterfeld 270 (2) oder sichert dieses ab, um den transienten Betriebsmodus der Geschützter-Speicher-Steuerung 134 zu blockieren (Block 308, 4). Wenn also das Transientmodus-Blockierungsregister 270 gesetzt oder abgesichert ist, wird der Transientmodus permanent blockiert und das gesetzte oder abgesicherte Transientmodusregister gibt an, dass sich die Geschützter-Speicher-Steuerung im Permanentmodus befindet und der Transientmodus nicht mehr verfügbar ist. Es versteht sich, dass es bei manchen Ausführungsformen zweckmäßig sein kann, den Eintritt in den Transientmodus zu erlauben, nachdem in den Permanentmodus eingetreten wurde.
  • Zusätzlich dazu erzeugt (Block 312, 4) die Antwortnachrichtenerzeugungslogik 164 (2) der Geschützter-Speicher-Steuerung 134 eine Antwortnachricht und gibt diese an den anfordernden Host zurück, die eine erfolgreiche Programmierung des Permanentmodus-Authentifizierungsschlüssels bestätigt, wie durch den Host angefordert, womit die Programmierung des Permanentmodus-Authentifizierungsschlüssels in dem Permanentmodus von Operationen der Geschützter-Speicher-Steuerung 134 abgeschlossen wird (Block 290, 4). Die Antwortnachricht, die eine erfolgreiche Programmierung des Permanentmodus-Authentifizierungsschlüssels bestätigt, kann auf eine ähnliche Weise wie die bekannter RPMB-Vorrichtung-Antwortnachrichten erzeugt und gesendet werden, die eine erfolgreiche Programmierung eines Authentifizierungsschlüssels bestätigen, der gemäß der vorliegenden Beschreibung für Multimodus-Geschützter-Speicher angemessen modifiziert ist. Bei einer Ausführungsform kann der Permanentmodus-Authentifizierungsschlüssel als Sicherheitsmerkmal nur einmal für den Permanentmodus programmiert werden. Es versteht sich jedoch, dass es bei manchen Ausführungsformen zweckmäßig sein kann, zusätzliche Umprogrammierungen des Permanentmodus-Authentifizierungsschlüssels zuzulassen.
  • In einem Aspekt eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Beschreibung versteht es sich, dass es nach permanentem Verlassen des Transientmodus und permanentem Eintreten in den Permanentmodus möglicherweise einige Daten in der Geschützter-Speicher-Benutzerdatenbereichspartition 114 gab, die erzeugt oder geschrieben wurden, als sich die Vorrichtung 102 im Transientmodus befand. Bei einer Ausführungsform können die in der Partition 114 verbliebenen Daten beibehalten werden, so dass sie verbleiben, wenn die Vorrichtung 102 in den Permanentmodus übergeht. Zum Beispiel können die aus dem Transientmodus verbleibenden Daten kritische oder anderweitig wichtige Daten sein, die in der Vorrichtung 102 in dem Permanentmodus sicher bereitgestellt werden. Somit werden die Daten möglicherweise nicht ohne den Permanentmodus-Authentifizierungsschlüssel überschrieben, wie unten beschrieben.
  • Alternativ dazu können Daten aus dem Transientmodus aus der Partition 114 entfernt werden, wenn die Vorrichtung permanent in den Permanentmodus eintritt. Bei einer Ausführungsform können die Daten vollständig entfernt und das Entfernen automatisch durch die Geschützter-Speicher-Steuerung 134 durchgeführt werden, die einen internen „Entfernen-Befehl“ auslöst, um Daten in der Partition 114 zu löschen oder Löschdaten zu sichern, nachdem die Vorrichtung den Transientmodus permanent verlassen hat. Eine solche automatische Löschung kann ein Sicherheitsmerkmal gegenüber bösartigen Daten liefern, die während des Transientmodus möglicherweise in der Partition 114 gespeichert worden sind. Zum Beispiel kann die Entfernung verhindern, dass bösartige Daten, die von dem Transientmodus übrig geblieben sind, Sicherheitssoftware in dem Permanentmodus verfälschen. Dennoch kann es in einer Ausführungsform für eine Sicherheitssoftware im Permanentmodus angemessen sein, die Partition 114 als weitere Sicherheitsmaßnahme im Permanentmodus anfangs als eine leere Speicherungsvorrichtung zu behandeln.
  • Wie bereits erwähnt, weisen bekannte Geschützter-Speicher-Steuerungen, wie etwa eine RPMB-Steuerung, als Sicherheitsmerkmal gegen bösartige Angriffe einen Nur-Lesen-Schreibzähler auf, dessen Ausgabewert die Gesamtzahl erfolgreicher Authentifiziertes-Datenschreiben-Anforderungen, die durch den Host vorgenommen wurden, angibt und nicht rücksetzbar ist. Auch hier weist die Geschützter-Speicher-Steuerung 134 ein Schreibzählerregisterfeld 320 (2) für den Permanentmodus auf, in dem der Schreibzähler im Permanentmodus nicht rücksetzbar ist. Es versteht sich, dass die Entwicklungs-oder Validierungsstufe eines Drittprodukts, das eine mit geschütztem Speicher befähigte Speicherungsvorrichtung einschließt, abgeschlossen werden kann, bevor in den Permanentmodus der Geschützter-Speicher-Steuerung 134 eingetreten wird. Daher wird das Bedenken, dass der Schreibzähler zum Beispiel in einem Stresstest seinen Maximalwert erreichen und überlaufen kann, im Permanentmodus wahrscheinlich vermieden.
  • Wie oben angemerkt, kann, sobald der Transientmodus-Authentifizierungsschlüssel in das Registerfeld 146 für den Transientmodus-Authentifizierungsschlüssel programmiert wurde, auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) im Transientmodus durch geeignete Zugriffsoperationen zugegriffen werden, wie etwa authentifizierte Datenschreibungen und authentifizierte Datenlesungen des Transientmodussatzes von Zugriffsanforderungsnachrichten, die durch den Host erzeugt und gesendet werden. Sobald die Vorrichtung 102 in den Permanentmodus eintritt, indem der Permanentmodus-Authentifizierungsschlüssel in das Registerfeld 150 programmiert wird, kann auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) durch geeignete Zugriffsoperationen zugegriffen werden, wie etwa authentifizierte Datenschreibungen und authentifizierte Datenlesungen des Permanentmodussatzes von Zugriffsanforderungsnachrichten, die durch den Host erzeugt und gesendet werden. 5 stellt ein Beispiel für Operationen der Geschützter-Speicher-Steuerung 134 dar, die dazu eingerichtet ist, eine Authentifiziertes-Datenschreiben-Operation gemäß einem Multimodus-Geschützter-Speicher der vorliegenden Beschreibung zu verarbeiten.
  • In diesem Beispiel wird ein authentifiziertes Datenschreiben in die Benutzerdatenbereichspartition 114 des geschützten Speichers angefordert, unter Verwendung entweder einer Authentifiziertes-Datenschreiben-Anforderung des Transientmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten, oder unter Verwendung einer Authentifiziertes-Datenschreiben-Anforderung des Permanentmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten, in Abhängigkeit davon, in welchem Betriebsmodus sich die Geschützter-Speicher-Steuerung 134 befindet. Die Geschützter-Speicher-Steuerung 134 (2) der Speicherungsvorrichtung 102 ist ausgelegt zum Bestimmen (Block 324, 5), ob eine empfangene Anforderungsnachricht eine Authentifiziertes-Datenschreiben-Anforderungsnachricht ist. Falls ja, ist die Geschützter-Speicher-Steuerung 134 (2) ferner dazu ausgelegt, zu bestimmen (Block 332, 5), ob die empfangene Authentifiziertes-Datenschreiben-Anforderungsnachricht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört. Wie zuvor beschrieben, kann ein Satz von Befehlscodes in Verbindung mit dem Transientmodussatz von Anforderungsnachrichten verwendet werden und ein anderer Satz von Befehlscodes kann in Verbindung mit dem Permanentmodussatz von Anforderungsnachrichten verwendet werden, um das Unterscheiden des Transientmodus-und des Permanentmodussatzes voneinander zu erleichtern.
  • Wenn bestimmt wird, dass die empfangene Authentifiziertes-Datenschreiben-Anforderungsnachricht nicht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, das heißt, dass bestimmt wird, dass die empfangene Authentifiziertes-Datenschreiben-Anforderungsnachricht zu dem Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, ist die Geschützter-Speicher-Steuerung 134 (2) ferner dazu eingerichtet, zu bestimmen (Block 336, 5), ob sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet. Wie oben angemerkt, beinhalten die Registerfelder 160 der Geschützter-Speicher-Steuerung 134 ein Transientmodus-Blockierungsregisterfeld 270 ( 2), das entweder gelöscht bleibt, was angibt, dass die Geschützter-Speicher-Steuerung 134 im Transientmodus verbleibt, oder gesetzt oder abgesichert wurde, was angibt, dass sich die Geschützter-Speicher-Steuerung im Permanentmodus befindet. Somit kann die Geschützter-Speicher-Steuerung 134 bestimmen (Block 336, 5), ob sich die Geschützter-Speicher-Steuerung 134 bereits im Permanentmodus des Geschützter-Speicher-Betriebs befindet, indem sie das Transientmodus-Blockierungsregister 270 liest (2).
  • Falls bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 im Anschluss an den Empfang einer Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht bereits im Permanentmodus befindet, stuft die Geschützter-Speicher-Steuerung 134 die empfangene Transientmodus-Datenschreiben-Anforderungsnachricht als ungültig ein, und die Ausführung der angeforderten Schreiben-Operation wird abgeblockt. Zusätzlich dazu erzeugt (Block 340, 5) die Geschützter-Speicher-Steuerung 134 eine Fehlermeldung und gibt diese an den anfordernden Host zurück. Bei einer Ausführungsform ist die Ausführung von Operationen des Transientmodussatzes nicht erlaubt, sobald der geschützte Speicher in den Permanentmodus eintritt, als ein Sicherheitsmerkmal gegen bösartige Angriffe und zum Vorsehen von Rückwärtskompatibilität. Es versteht sich, dass bei manchen Ausführungsformen ein solches Sicherheitsmerkmal weggelassen werden kann.
  • Falls umgekehrt bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 nicht bereits in dem Permanentmodus befindet, das heißt, dass die Geschützter-Speicher-Steuerung 134 immer noch innerhalb des Transientmodus arbeitet, ist die Geschützter-Speicher-Steuerung 134 nach Empfang einer Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht dazu eingerichtet, Authentifizierung und andere Sicherheitstests in Verbindung mit der empfangenen Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht, vor dem Zulassen der Ausführung der an die Geschützter-Speicher-Benutzerdatenbereichspartition 114 gerichteten Transientenmodus-Angefordertes-Datenschreiben-Operation, durchzuführen (Block 344, 5).
  • Bei einer Ausführungsform können die Authentifizierung und andere Tests, die in Verbindung mit der empfangenen Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht durchgeführt werden, denen ähnlich sein, die von bekannten RPMB-Steuerungen durchgeführt werden, wie etwa jenen, die in einem publizierten RPMB-Standard beschrieben sind, die wie für Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert sind. In bekannten RPMB-Systemen berechnet der Host zum Beispiel unter Verwendung einer Message Authentication Code(MAC)-Engine des Hosts einen MAC-Authentifizierungscode als eine Funktion eines gemeinsam genutzten Authentifizierungsschlüssels und eines Teils einer Datenschreiben-Anforderungsnachricht. In manchen bekannten Systemen kann ein MAC-Authentifizierungscode auch durch den Host als eine Funktion eines aktuellen Schreibzählerwerts der RPMB-Vorrichtung berechnet werden. Bei einer Ausführungsform eines Multimodus-Geschützter-Speichers gemäß der vorliegenden Offenbarung wurde ein Transientmodus-Authentifizierungsschlüssel sowohl in der Datenstruktur 238 (3) des Hosts als auch in dem umprogrammierbaren Registerfeld 146 (2) der Geschützter-Speicher-Steuerung 134 gespeichert, so dass der Transientmodus-Authentifizierungsschlüssel ein Geheimnis ist, das von dem Host und der Geschützter-Speicher-Steuerung 134 der Vorrichtung 102 gemeinsam genutzt wird. Unter Verwendung der Message Authentication Code(MAC)-Engine 234 des Hosts berechnet der Host einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Transientmodus-Authentifizierungsschlüssels und eines Teils der Datenschreiben-Anforderungsnachricht. Bei manchen Ausführungsformen kann ein MAC-Authentifizierungscode auch durch den Host als eine Funktion eines aktuellen Schreibzählerwerts der Vorrichtung 102 berechnet werden, wobei der MAC-Authentifizierungscode, der durch den Host berechnet wird, in der Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht enthalten ist, die an die Vorrichtung 102 gesendet und durch diese empfangen wird (Block 324, 5). Daher wird die Schreiben-Operation, die durch die Datenschreiben-Anforderungsnachricht angefordert wird, als ein „authentifiziertes Datenschreiben“ bezeichnet.
  • Die Geschützter-Speicher-Steuerung 134 führt einen Authentifizierungstest auf eine Art und Weise durch, die jener bekannter RPMB-Steuerungen ähnlich ist, wie in dem RPMB-Standard beschrieben, aber wie für den Transientmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Bei dieser Ausführungsform authentifiziert die Geschützter-Speicher-Steuerung 134, die die Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht empfängt, die empfangene Nachricht unter Verwendung des gemeinsam genutzten Transientmodus-Authentifizierungsschlüssels. Beispielsweise berechnet die Geschützter-Speicher-Steuerung 134, auf eine ähnliche Weise wie jene, die oben in Verbindung mit dem Host beschrieben ist, unter Verwendung der Message Authentication Code(MAC)-Engine 142 der Steuerung 134, einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Transientmodus-Authentifizierungsschlüssels, der in dem Registerfeld 146 (2) gespeichert ist, und desselben Teils der Datenschreiben-Anforderungsnachricht, der durch den Host verwendet wird, um den MAC-Authentifizierungscode zu berechnen, der in der Schreiben-Anforderung enthalten ist. Bei manchen Ausführungsformen kann MAC-Authentifizierungscode auch als eine Funktion eines aktuellen Schreibzählerwerts der Vorrichtung 102 berechnet werden, wobei der MAC-Authentifizierungscode, der durch die Geschützter-Speicher-Steuerung 134 berechnet wird, mit dem MAC-Authentifizierungscode verglichen wird, der in der Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht enthalten ist, die an die Vorrichtung 102 gesendet wurde. Wenn die zwei MAC-Authentifizierungscodes übereinstimmen, besteht die empfangene Nachricht den Authentifizierungsprozess der Geschützter-Speicher-Steuerung 134 und die empfangene Datenschreiben-Anforderungsnachricht wird als authentisch angesehen, d. h., dass sie von einem autorisierten Sender gesendet wurde.
  • Bei manchen Ausführungsformen kann jedoch eine Datenschreiben-Operation, die durch die Datenschreiben-Anforderungsnachricht angefordert wird, zusätzlichen Sicherheitstests unterzogen werden, wie etwa Adressbereichstests und Schreibzählertests oder anderen Tests, auf eine Art und Weise ähnlich jener bekannter RPMB-Steuerungen, wie etwa jenen, die im RPMB-Standard beschrieben sind, die aber wie für den Transientmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist.
  • Zum Beispiel kann ein Adressbereichstest durch die Geschützter-Speicher-Steuerung 134 auf eine ähnliche Weise wie die bekannter RPMB-Steuerungen durchgeführt werden, die wie für den Transientmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Bei der veranschaulichten Ausführungsform bestimmt der Adressbereichstest, ob die Zieladresse der Datenschreiben-Operation innerhalb eines erwarteten Bereichs liegt.
  • Wie zuvor erwähnt, ist ein anderes Sicherheitsmerkmal bekannter RPMB-Vorrichtungen ein Schreibzähler, der durch die RPMB-Steuerung der RPMB-Speicherungsvorrichtung unterhalten wird. Bei einer Ausführungsform wird bei erfolgreicher Ausführung (Block 350, 5) einer Transientmodus-Datenschreiben-Operation in die Geschützter-Speicher-Benutzerdatenbereichspartition 114, die durch eine Transientmodus-Datenschreiben-Nachricht angefordert wird, die als gültig authentifiziert wurde (Block 344, 5), und Bestehen der anderen Sicherheitstests, das Registerfeld 280 (2) für den Transientmodus-Schreibzähler inkrementiert (Block 350, 4).
  • Wenn eine Transientmodus-Datenschreiben-Anforderungsnachricht erzeugt wird, kann die MAC-Engine 234 (3) des anfordernden Hosts den aktuellen inkrementierten Schreibzählwert der Vorrichtung 102 zusammen mit einem berechneten MAC-Authentifizierungscode in der Datenschreiben-Anforderungsnachricht einschließen, wie oben beschrieben. Falls die empfangende Geschützter-Speicher-Steuerung 134 bestimmt, dass der Schreibzählwert, der in der Datenschreiben-Anforderungsnachricht enthalten ist, nicht mit dem aktuellen Zählwert des Registerfeldes 280 des Schreibzählers der Geschützter-Speicher-Steuerung übereinstimmt, wird die empfangene Datenschreiben-Anforderungsnachricht als ungültig eingestuft und die Ausführung der angeforderten Schreiben-Operation wird abgeblockt. Zusätzlich dazu erzeugt (Block 340, 5) die Geschützter-Speicher-Steuerung 134 eine Fehlermeldung und gibt diese an den anfordernden Host zurück.
  • Falls die Datenschreiben-Anforderungsnachricht authentifiziert wird und die anderen Sicherheitstests bestanden werden, wird die angeforderte Datenschreiben-Operation ausgeführt (Block 350, 5), wobei angeforderte Daten in die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) der Vorrichtung 102 geschrieben werden. Außerdem wird das Registerfeld 280 (2) für den Transientmodus-Schreibzähler inkrementiert und die Antwortnachrichtenerzeugungslogik 164 (2) der Geschützter-Speicher-Steuerung 134 erzeugt (Block 354, 5) eine Antwortnachricht und gibt diese an den anfordernden Host zurück, die erfolgreiches Datenschreiben bestätigt, das durch die Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht angefordert wurde. Bei einer Ausführungsform gibt die Geschützter-Speicher-Steuerung 134 eine Nullfehlercodeantwort zurück, um ein erfolgreiches Schreiben auf eine Weise anzuzeigen, die derjenigen bekannter RPMB-Steuerungen ähnlich ist, wie im RPMB-Standard beschrieben. Als Reaktion auf die Erfolgreiches-Schreiben-Bestätigung inkrementiert die Host-Geschützter-Speicher-Schnittstellenlogik 220 den in einer Datenstruktur 356 gespeicherten Schreibzählwert, um den aktuellen Transientmodus-Schreibzählerwert anzugeben, der mit der nächsten authentifizierten Schreibnachricht, wie oben beschrieben, an die Vorrichtung 102 übertragen wird.
  • Bei bekannten RPMB-Systemen gibt es einen Schreibzähler-Lesen-Anforderungsbefehl, den der Host in einer Anforderungsnachricht zum Lesen des anfänglichen Schreibzählerwerts der RPMB-Steuerung bei jedem Boot ausgeben kann, bevor jeglicher Schreibzugriff auf die RPMB-Speicherungsvorrichtung vorgenommen wird. Der Host kann diesen anfänglichen Schreibzählerwert im Speicher zwischenspeichern, und solange der Host detektiert, dass ein authentifiziertes Schreiben erfolgreich ist, wie oben beschrieben, kann die Hostsoftware den zwischengespeicherten Schreibzählerwert inkrementieren, um den Schreibzählerwert zwischen dem Host und der RPMB-Steuerung synchronisiert zu halten.
  • In einem Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung gibt der Host 204 eine Schreibzähler-Lesen-Anforderungsnachricht auf eine ähnliche Weise wie bekannte RPMB-Hosts aus, um den Schreibzählerwert im Cache auf den aktuellen Schreibzählerwert der Vorrichtung 102 zu initialisieren. Als Reaktion auf jede erfolgreiche Schreibbestätigung (Block 354, 5) inkrementiert die Host-geschützte Speicherschnittstellenlogik 220 den in einer Datenstruktur 356 gespeicherten Schreibzählwert, um den aktuellen Transientmodus-Schreibzählerwert anzugeben, der mit der nächsten Authentifiziertes-Schreiben-Nachricht, wie oben beschrieben, an die Vorrichtung 102 übertragen wird. Alternativ und in einer Ausführungsform versteht es sich, dass der inkrementierte Schreibzählwert des Registerfelds 280 (2) der Vorrichtung 102 in der Antwortnachricht an den anfordernden Host zurückgemeldet werden kann (Block 354, 5). Nach der Übertragung (Block 354, 5) der Antwortnachricht wird das authentifizierte Datenschreiben in die Geschützter-Speicher-Benutzerdatenbereichspartition 114 im Transientmodus abgeschlossen (Block 360, 5).
  • Authentifizierte Datenschreibungen, wie hier beschrieben, können eine unbegrenzte Anzahl von Malen im Transientmodus durchgeführt werden. Sollte der inkrementierte Schreibzählwert des Registerfelds 280 (2) den Maximalwert in dem Transientmodus erreichen, kann der inkrementierte Schreibzählwert des Registerfelds 280 (2) leicht zurückgesetzt werden, indem derselbe oder ein anderer Authentifizierungsschlüssel in dem Registerfeld 160 für den Transientmodus programmiert wird, wie oben in Verbindung mit 4 beschrieben.
  • Im Vergleich dazu wird im Permanentmodus, sobald der inkrementierte Schreibzählwert des Registerfelds 320 (2) den Maximalwert im Permanentmodus erreicht, der inkrementierte Schreibzählwert des Registerfelds 320 (2) möglicherweise nicht zurückgesetzt, wodurch weitere authentifizierte Datenschreibungen im Permanentmodus verhindert werden, wie unten beschrieben.
  • Falls bestimmt wird (Block 332, 5), dass die empfangene Authentifiziertes-Datenschreiben-Anforderungsnachricht zu dem Permanentmodussatz von geschützten Speicherzugriffsanforderungsnachrichten gehört, ist die Geschützter-Speicher-Steuerung 134 (2) ferner dazu eingerichtet, zu bestimmen (Block 370, 5), ob sich die Geschützter-Speicher-Steuerung 134 in dem Permanentmodus des geschützten Speicherbetriebs befindet. Wie oben angemerkt, kann das Transientmodus-Blockierungsregisterfeld 270 (2) gesetzt oder abgesichert werden, um den Eintritt in den Transientmodus zu blockieren und somit anzugeben, dass sich die Geschützter-Speicher-Steuerung im Permanentmodus befindet. Auf diese Weise kann die Geschützter-Speicher-Steuerung 134 durch Lesen des Transientmodus-Blockierungsregisters 270 (2) bestimmen (Block 370, 5), ob sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet.
  • Falls nach dem Empfang einer Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 im Transientmodus befindet, stuft die Geschützter-Speicher-Steuerung 134 die empfangene Permanentmodus-Datenschreiben-Anforderungsnachricht als ungültig ein und die Ausführung der angeforderten Schreiben-Operation wird abgeblockt. Zusätzlich dazu erzeugt (Block 340, 5) die Geschützter-Speicher-Steuerung 134 eine Fehlermeldung und gibt diese an den anfordernden Host zurück. Bei einer Ausführungsform sind die Ausführung von Datenschreiben- und Datenlesen-Operationen des Permanentmodussatzes nicht erlaubt, falls sich der geschützte Speicher im transienten Permanentmodus befindet, als ein Sicherheitsmerkmal gegen bösartige Angriffe und zum Vorsehen von Rückwärtskompatibilität. Es versteht sich, dass bei manchen Ausführungsformen ein solches Sicherheitsmerkmal weggelassen werden kann.
  • Falls im Gegensatz dazu bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 im Permanentmodus befindet, nach dem Empfang einer Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht, ist die Geschützter-Speicher-Steuerung 134 dazu eingerichtet, Authentifizierungs- und andere Sicherheitstests in Verbindung mit der empfangenen Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht durchzuführen (Block 374, 5), bevor Ausführung der an die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) gerichteten Permanentmodus-Datenschreiben-Operation im Permanentmodus zugelassen wird.
  • Bei einer Ausführungsform können die Authentifizierung und andere Tests, die in Verbindung mit der empfangenen Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht durchgeführt werden, denen ähnlich sein, die von bekannten RPMB-Steuerungen durchgeführt werden, die für Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert sind. Bei einer Ausführungsform, wie oben in Verbindung mit 4 beschrieben, wurde ein Permanentmodus-Authentifizierungsschlüssel in diesem Beispiel sowohl in der Datenstruktur 246 (3) des Hosts als auch in dem einmal beschreibbaren Registerfeld 150 (2) der Geschützter-Speicher-Steuerung 134 gespeichert, so dass der Permanentmodus-Authentifizierungsschlüssel ein Geheimnis ist, das von dem Host und der Geschützter-Speicher-Steuerung 134 der Vorrichtung 102 gemeinsam genutzt wird. Unter Verwendung der Message Authentication Code(MAC)-Engine 234 des Hosts berechnet der Host einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Permanentmodus-Authentifizierungsschlüssels und eines Teils der Datenschreiben-Anforderungsnachricht. Bei manchen Ausführungsformen kann der MAC-Authentifizierungscode auch durch den Host als eine Funktion eines aktuellen Schreibzählerwerts der Vorrichtung 102 berechnet werden, wobei der berechnete MAC-Authentifizierungscode in der Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht enthalten ist, die durch die Vorrichtung 102 empfangen wird (Block 324, 5). Daher wird die Schreiben-Operation, die durch die Datenschreiben-Anforderungsnachricht angefordert wird, als ein „authentifiziertes Datenschreiben“ bezeichnet.
  • Die Geschützter-Speicher-Steuerung 134 führt einen Authentifizierungstest auf eine Art und Weise durch, die jener bekannter RPMB-Steuerungen ähnlich ist, wie in dem RPMB-Standard beschrieben, aber wie für den Permanentmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Bei dieser Ausführungsform authentifiziert die Geschützter-Speicher-Steuerung 134, die die Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht empfängt, die empfangene Nachricht unter Verwendung des gemeinsam genutzten Permanentmodus-Authentifizierungsschlüssels. Zum Beispiel berechnet die Geschützter-Speicher-Steuerung 134, auf eine ähnliche Weise wie jene, die oben in Verbindung mit dem Host beschrieben ist, unter Verwendung der Message Authentication Code(MAC)-Engine 142 der Steuerung 134, einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Permanentmodus-Authentifizierungsschlüssels, der in dem Registerfeld 146 (2) gespeichert ist, und desselben Teils der Datenschreiben-Anforderungsnachricht, der durch den Host verwendet wird, um den MAC-Authentifizierungscode zu berechnen, der in der Schreibanforderung enthalten ist. Bei manchen Ausführungsformen kann der MAC-Authentifizierungscode auch als eine Funktion eines aktuellen Schreibzählerwerts der Vorrichtung 102 berechnet werden, wobei der MAC-Authentifizierungscode, der durch die Geschützter-Speicher-Steuerung 134 berechnet wird, wird mit den MAC-Authentifizierungscodes verglichen wird, die in der Permanentmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht enthalten sind, die an die Vorrichtung 102 gesendet wurde. Wenn die zwei MAC-Authentifizierungscodes übereinstimmen, besteht die empfangene Nachricht den Authentifizierungsprozess der Geschützter-Speicher-Steuerung 134 und die empfangene Datenschreiben-Anforderungsnachricht wird als authentisch angesehen, d. h., dass sie von einem autorisierten Sender gesendet wurde.
  • Bei dieser Ausführungsform kann jedoch eine Datenschreiben-Operation, die durch die Datenschreiben-Anforderungsnachricht angefordert wird, zusätzlichen Sicherheitstests im Permanentmodus unterzogen werden, wie etwa Adressbereichstests und Schreibzähler- und anderen Tests auf eine Art und Weise ähnlich jener bekannter RPMB-Steuerung, wie im RPMB-Standard beschrieben, die aber für den Permanentmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist.
  • Ein Adressbereichstest kann durch die Geschützter-Speicher-Steuerung 134 auf eine ähnliche Weise wie die bekannter RPMB-Steuerungen durchgeführt werden, die wie für den Permanentmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Bei der veranschaulichten Ausführungsform bestimmt der Adressbereichstest, ob die Zieladresse der Datenschreiben-Operation innerhalb eines erwarteten Bereichs liegt.
  • Wie zuvor erwähnt, ist ein anderes Sicherheitsmerkmal bekannter RPMB-Vorrichtungen ein Schreibzähler, der durch die RPMB-Steuerung der RPMB-Speicherungsvorrichtung unterhalten wird. Bei dieser Ausführungsform wird bei erfolgreicher Ausführung (Block 380, 5) einer Permanentmodus-Datenschreiben-Operation in die Geschützter-Speicher-Benutzerdatenbereichspartition 114, die durch eine Permanentmodus-Datenschreiben-Nachricht angefordert wird, die als gültig authentifiziert wurde (Block 374, 5) und die anderen Sicherheitstests bestanden hat, das Registerfeld 320 (2) für den Permanentmodus-Schreibzähler inkrementiert (Block 380, 5). Der anfordernde Host synchronisiert als Reaktion auf eine authentifizierte Antwortnachricht, wie unten beschrieben, den Schreibzählwert in einer Datenstruktur 390 für den Permanentmodus-Schreibzählerwert mit dem aktuellen Schreibzählerwert der Geschützter-Speicher-Steuerung 134 auf eine ähnliche Weise wie oben in Verbindung mit dem Transientmodus beschrieben. Der MAC-Authentifizierungscode, der durch den Host berechnet wird, kann bei manchen Ausführungsformen als eine Funktion des Schreibzählwerts berechnet werden, der durch den Host mit dem aktuellen Schreibzählerwert der Geschützter-Speicher-Steuerung 134 synchronisiert wird, und in der Host-Datenstruktur 390 für den Permanentmodus-Schreibzählerwert gespeichert wird.
  • Beim Erzeugen der nächsten Permanentmodus-Datenschreiben-Anforderungsnachricht schließt die MAC-Engine 234 (3) des anfordernden Hosts bei manchen Ausführungsformen den zuletzt gemeldeten inkrementierten Schreibzählwert ein, der in der Datenstruktur 390 (2) gespeichert ist, zusammen mit einem berechneten MAC-Authentifizierungscode in der Datenschreiben-Anforderungsnachricht, wie oben beschrieben. Falls die empfangende Geschützter-Speicher-Steuerung 134 bei einer Schreibzählertestausführungsform bestimmt, dass der Schreibzählwert, der in der Datenschreiben-Anforderungsnachricht enthalten ist, nicht mit dem aktuellen Zählwert des Registerfelds 320 des Permanentmodus-Schreibzählers der Geschützter-Speicher-Steuerung übereinstimmt, gilt die empfangene Datenschreiben-Anforderungsnachricht als ungültig und die Ausführung der angeforderten Schreiben-Operation wird abgeblockt. Zusätzlich dazu erzeugt (Block 340, 5) die Geschützter-Speicher-Steuerung 134 eine Fehlermeldung und gibt diese an den anfordernden Host zurück.
  • Falls die Datenschreiben-Anforderungsnachricht authentifiziert wird und die anderen Sicherheitstests bestanden werden, wird die angeforderte Datenschreiben-Operation ausgeführt (Block 380, 5), wobei angeforderte Daten in die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) der Vorrichtung 102 geschrieben werden. Außerdem wird das Registerfeld 320 (2) für den Permanentmodus-Schreibzähler inkrementiert und die Antwortnachrichtenerzeugungslogik 164 (2) der Geschützter-Speicher-Steuerung 134 erzeugt (Block 384, 5) eine Antwortnachricht und gibt diese an den anfordernden Host zurück, die ein erfolgreiches Datenschreiben bestätigt, das durch die authentifizierte Permanentmodus-Datenschreiben-Anforderungsnachricht angefordert wurde. Der Host synchronisiert den in der Datenstruktur 390 gespeicherten Schreibzählwert mit dem inkrementierten Schreibzählwert des Registerfeldes 320 (2) der Vorrichtung 102, wie oben beschrieben. Das authentifizierte Datenschreiben in die Geschützter-Speicher-Benutzerdatenbereichspartition 114 schließt dementsprechend (Block 360, 5) im Permanentmodus ab.
  • Authentifizierte Datenschreibungen, wie hier beschrieben, können im Permanentmodus eine begrenzte Anzahl von Malen durchgeführt werden. Sollte der inkrementierte Schreibzählwert des Registerfelds 320 (2) den Maximalwert im Permanentmodus erreichen, wird der inkrementierte Schreibzählwert des Registerfelds 320 (2) möglicherweise nicht zurückgesetzt, wodurch als ein Sicherheitsmerkmal weitere authentifizierte Datenschreibungen im Permanentmodus verhindert werden.
  • Im Gegensatz dazu kann der inkrementierte Schreibzählwert des Registerfelds 280 (2) für den Transientmodus leicht zurückgesetzt werden, indem derselbe oder ein anderer Authentifizierungsschlüssel in das Registerfeld 160 für den Transientmodus programmiert wird, wie oben in Verbindung mit 4 beschrieben. Dementsprechend ist eine unbegrenzte Anzahl authentifizierter Datenschreibungen erlaubt, solange die Vorrichtung 102 im Transientmodus verbleibt. Sobald die Vorrichtung jedoch in den Permanentmodus eintritt, tritt die Vorrichtung als eine Sicherheitsvorsorge bei einer Ausführungsform möglicherweise nicht wieder in den Transientmodus ein.
  • Wie oben angemerkt, sobald der Transientmodus-Authentifizierungsschlüssel in das Registerfeld 146 für den Transientmodus-Authentifizierungsschlüssel programmiert wurde, oder der Permanentmodus-Authentifizierungsschlüssel in das Registerfeld 150 für den Permanentmodus-Authentifizierungsschlüssel programmiert wurde, wie oben in Verbindung mit 4 beschrieben, kann auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) durch geeignete Zugriffsoperationen zugegriffen werden, wie etwa authentifizierte Datenschreibungen, wie oben in Verbindung mit 5 beschrieben, und authentifizierte Datenlesungen der Transient- oder Permanentmodussätze von Zugriffsanforderungsnachrichten, die durch den Host erzeugt und gesendet werden. Bei manchen Ausführungsformen kann jedoch auf die Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) auch in Lesen-Operationen zugegriffen werden, die keine Authentifiziertes-Lesen-Ergebnisse aufweisen.
  • 6 stellt ein Beispiel für Operationen der Geschützter-Speicher-Steuerung 134 dar, die dazu eingerichtet ist, eine Authentifiziertes-Datenlesen-Operation gemäß einem Multimodus-Geschützter-Speicher der vorliegenden Beschreibung zu verarbeiten. In diesem Beispiel wird Authentifiziertes-Datenlesen aus der Geschützter-Speicher-Benutzerdatenbereichspartition 114 angefordert, unter Verwendung entweder einer Authentifiziertes-Datenlesen-Anforderung des Transientmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten, oder unter Verwendung einer Authentifiziertes-Datenlesen-Anforderung des Permanentmodussatzes von Geschützter-Speicher-Zugriffsanforderungsnachrichten, in Abhängigkeit davon, in welchem Betriebsmodus sich die Geschützter-Speicher-Steuerung 134 befindet. Die Geschützter-Speicher-Steuerung 134 ( 2) der Speicherungsvorrichtung 102 ist eingerichtet zum Bestimmen (Block 424, 6), ob eine empfangene Anforderungsnachricht eine Authentifiziertes- Datenlesen-Anforderungsnachricht ist. Falls ja, ist die Geschützter-Speicher-Steuerung 134 (2) ferner eingerichtet zum Bestimmen (Block 432, 6), ob die empfangene Authentifiziertes-Datenlesen-Anforderungsnachricht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört. Wie zuvor beschrieben, kann ein Satz von Befehlscodes in Verbindung mit dem Transientmodussatz von Anforderungsnachrichten verwendet werden und ein anderer Satz von Befehlscodes kann in Verbindung mit dem Permanentmodussatz von Anforderungsnachrichten verwendet werden, um das Unterscheiden des Transientmodus- und des Permanentmodussatzes voneinander zu erleichtern.
  • Wenn bestimmt wird, dass die empfangene Authentifiziertes-Datenlesen-Anforderungsnachricht nicht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, das heißt, dass bestimmt wird, dass die empfangene Authentifiziertes-Datenlesen-Anforderungsnachricht zu dem Transientmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, ist die Geschützter-Speicher-Steuerung 134 (2) ferner eingerichtet zum Bestimmen (Block 436, 6), ob sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet. Wie oben angemerkt, beinhalten die Registerfelder 160 der Geschützter-Speicher-Steuerung 134 ein Transientmodus-Blockierungsregisterfeld 270 (2), das entweder gelöscht bleibt, was angibt, dass die Geschützter-Speicher-Steuerung 134 im Transientmodus verbleibt, oder gesetzt oder abgesichert wurde, was angibt, dass sich die Geschützter-Speicher-Steuerung im Permanentmodus befindet. Somit kann die Geschützter-Speicher-Steuerung 134 bestimmen (Block 436, 6), ob sich die Geschützter-Speicher-Steuerung 134 bereits im Permanentmodus des Geschützter-Speicher-Betriebs befindet, indem sie das Transientmodus-Blockierungsregister 270 liest (2).
  • Falls bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 nach Empfang einer Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht bereits im Permanentmodus befindet, stuft die Geschützter-Speicher-Steuerung 134 die empfangene Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht als ungültig ein, und die Ausführung der angeforderten Lesen-Operation wird abgeblockt. Zusätzlich dazu erzeugt (Block 440, 6) die Geschützter-Speicher-Steuerung 134 eine Fehlermeldung und gibt diese an den anfordernden Host zurück. Bei einer Ausführungsform ist die Ausführung von Operationen des Transientmodussatzes nicht erlaubt, sobald der geschützte Speicher in den Permanentmodus eintritt, als ein Sicherheitsmerkmal gegen bösartige Angriffe und zum Vorsehen von Rückwärtskompatibilität. Es versteht sich, dass bei manchen Ausführungsformen ein solches Sicherheitsmerkmal weggelassen werden kann.
  • Im Gegensatz dazu ist die Geschützter-Speicher-Steuerung 134, falls bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 nicht bereits in dem Permanentmodus befindet, das heißt, dass die Geschützter-Speicher-Steuerung 134 nach dem Empfang einer Transientmodus-Authentifiziertes-Datenschreiben-Anforderungsnachricht immer noch innerhalb des Transientmodus arbeitet, eingerichtet zum Ausführen (Block 450, 6) der angeforderten Datenlesen-Operation, indem die angeforderten Daten aus der Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) der Vorrichtung 102 gelesen werden. Zusätzlich dazu erzeugt (Block 454, 6) die Geschützter-Speicher-Steuerung 134 eine Authentifiziertes-Lesen-Antwortnachricht, die die angeforderten Lesedaten beinhaltet, und gibt diese zurück. Daher wird die Lesen-Operation, die durch die Datenlesen-Anforderungsnachricht angefordert wird, als ein „authentifiziertes Datenlesen“ bezeichnet.
  • Bei einer Ausführungsform kann die Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht gleich oder ähnlich jenen sein, die durch bekannte RPMB-Steuerungen erzeugt werden, die für Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert sind. Wie oben angemerkt, wurde bei dieser Ausführungsform ein Transientmodus-Authentifizierungsschlüssel in diesem Beispiel sowohl in der Datenstruktur 238 (3) des Hosts als auch in dem umprogrammierbaren Registerfeld 146 (2) der Geschützter-Speicher-Steuerung 134 gespeichert, so dass der Transientmodus-Authentifizierungsschlüssel ein Geheimnis ist, das von dem Host und der Geschützter-Speicher-Steuerung 134 der Vorrichtung 102 gemeinsam genutzt wird. Unter Verwendung der Message Authentication Code(MAC)-Engine 142 der Vorrichtung 102 berechnet die Geschützter-Speicher-Steuerung 134 einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Transientmodus-Authentifizierungsschlüssels und eines Teils der Datenlesen-Antwortnachri cht.
  • Der MAC-Authentifizierungscode, der durch die Geschützter-Speicher-Steuerung 134 berechnet wird, ist in der Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht enthalten, die durch die Vorrichtung 102 zurückgegeben wird (Block 454, 6). Bei einer Ausführungsform kann der MAC-Authentifizierungscode, der durch die Geschützter-Speicher-Steuerung 134 berechnet wird, auch als eine Funktion einer Zufallszahl berechnet werden, die durch den Host mit der Datenlesen-Anforderungsnachricht zugeführt wird, die durch den Host an die Vorrichtung 102 übertragen wird. Bei der Ausführungsform von 3 beinhaltet die Host-Geschützter-Speicher-Schnittstellenlogik 220 einen Zufallszahlengenerator (RNG) 456. Die erzeugte Zufallszahl wird mit der durch die Vorrichtung 102 empfangenen Transientmodus-Authentifiziertes-Datenlesen-Anforderungsnachricht an die Vorrichtung 102 gesendet (Block 424, 6). Bei einer Ausführungsform kann die Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht nach einer erfolgreichen Lesen-Operation an der Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) als eine zusätzliche Sicherheitsmaßnahme eine Kopie der Zufallszahl beinhalten, die anfänglich durch den Host mit der Datenlesen-Anforderungsnachricht an die Vorrichtung 102 gesendet wurde. Bei Übertragung der Authentifiziertes-Datenlesen-Antwortnachricht ist die Rolle der Geschützter-Speicher-Steuerung 134 in der Authentifiziertes-Lesen-Operation abgeschlossen (Block 460).
  • Beim Empfang der Authentifiziertes-Datenlesen-Antwortnachricht von der Vorrichtung 102 führt der Host einen Authentifizierungsprozess auf eine Weise durch, die jener bekannter RPMB-fähiger Hosts ähnlich ist, wie in dem RPMB-Standard beschrieben, die aber wie für den Transientmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Bei dieser Ausführungsform authentifiziert der Host, der die Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht empfängt, die Datenlesen-Antwortnachricht unter Verwendung des gemeinsam genutzten Transientmodus-Authentifizierungsschlüssels. Zum Beispiel berechnet die Host-Geschützter-Speicher-Schnittstellenlogik 220 auf eine ähnliche Weise wie oben in Verbindung mit der Geschützter-Speicher-Steuerung 134 beschrieben, unter Verwendung der Message Authentication Code(MAC)-Engine 234 einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Transientmodus-Authentifizierungsschlüssels, der in der Datenstruktur 238 (3) und demselben Teil der Datenlesen-Antwortnachricht, der von der Geschützter-Speicher-Steuerung 134 (3) verwendet wird, um den MAC-Authentifizierungscode zu berechnen, der in der Lesen-Antwort enthalten ist, gespeichert wird. Der MAC-Authentifizierungscode, der durch den Host 204 berechnet wird, wird mit dem MAC-Authentifizierungscode verglichen, der in der Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht enthalten ist, die an den Host 204 gesendet wird. Wenn die beiden MAC-Authentifizierungscodes übereinstimmen, besteht die empfangene Lesen-Antwortnachricht den Authentifizierungsprozess des Hosts 204 und die empfangene Datenlesen-Antwortnachricht wird als authentisch angesehen, d. h. wurde von einem autorisierten Absender gesendet.
  • Bei dieser Ausführungsform kann jedoch eine Datenlesen-Operation, die durch die Datenlesen-Anforderungsnachricht angefordert wird, zusätzlichen Sicherheitstests, wie etwa einem Zufallszahlentest, auf eine Art und Weise unterzogen werden, die derjenigen von bekannten RPMB-fähigen Hosts und Steuerungen ähnlich ist, wie in dem RPMB-Standard beschrieben, die aber wie für den Transientmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Zum Beispiel kann der Host 204 die Zufallszahl, die in der an den Host 204 gesendeten Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht enthalten ist, mit der Zufallszahl vergleichen, die durch den Host 204 erzeugt wurde und in der an die Vorrichtung 102 gesendeten Transientmodus-Authentifiziertes-Datenlesen-Anforderungsnachricht enthalten ist. Wenn die zwei Zufallszahlen übereinstimmen, besteht die empfangene Lesen-Antwortnachricht den Authentifizierungsprozess des Hosts 204 und die empfangene Datenlesen-Antwortnachricht, die die gelesenen Daten weiterleitet, wird als authentisch angesehen, d. h. wurde von einem autorisierten Absender gesendet.
  • Bei einer Ausführungsform können authentifizierte Datenlesungen, wie hier beschrieben, eine unbegrenzte Anzahl von Malen entweder im Transientmodus oder im Permanentmodus durchgeführt werden, sobald der Transientmodus permanent verlassen wird. Es versteht sich jedoch, dass bei manchen Ausführungsformen eine Beschränkung der Anzahl von Authentifiziertes-Lesen-Operationen in dem Transientmodus, dem Permanentmodus oder beiden in Abhängigkeit von der bestimmten Anwendung auferlegt werden kann.
  • Falls bestimmt wird (Block 432, 6), dass die empfangene Authentifiziertes-Datenlesen-Anforderungsnachricht zu dem Permanentmodussatz von Geschützter-Speicher-Zugriffsanforderungsnachrichten gehört, ist die Geschützter-Speicher-Steuerung 134 (2) ferner eingerichtet zum Bestimmen (Block 470, 6), ob sich die Geschützter-Speicher-Steuerung 134 in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet. Wie oben angemerkt, kann das Transientmodus-Blockierungsregisterfeld 270 (2) gesetzt oder abgesichert werden, um den Eintritt in den Transientmodus zu blockieren und somit anzugeben, dass sich die Geschützter-Speicher-Steuerung im Permanentmodus befindet. Auf diese Weise kann die Geschützter-Speicher-Steuerung 134 durch Lesen des Transientmodus-Blockierungsregisters 270 (2) bestimmen (Block 470, 6), ob sich die Geschützter-Speicher-Steuerung 134 bereits in dem Permanentmodus des Geschützter-Speicher-Betriebs befindet.
  • Falls im Anschluss an den Empfang einer Permanentmodus-Authentifiziertes-Datenlesen-Anforderungsnachricht bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 im Transientmodus befindet, stuft die Geschützter-Speicher-Steuerung 134 die empfangene Permanentmodus-Datenlesen-Anforderungsnachricht als ungültig ein und die Ausführung der angeforderten Lesen-Operation wird abgeblockt. Zusätzlich dazu erzeugt (Block 472, 6) die Geschützter-Speicher-Steuerung 134 eine Fehlermeldung und gibt diese an den anfordernden Host zurück. Bei einer Ausführungsform ist die Ausführung von Authentifiziertes-Lesen-Operationen des Permanentmodussatzes nicht erlaubt, falls sich der geschützte Speicher im transienten Permanentmodus befindet, als Sicherheitsmerkmal gegen bösartige Angriffe und zum Vorsehen von Rückwärtskompatibilität. Es versteht sich, dass bei manchen Ausführungsformen ein solches Sicherheitsmerkmal weggelassen werden kann.
  • Falls umgekehrt nach dem Empfang einer Permanentmodus-Authentifiziertes-Datenlesen-Anforderungsnachricht bestimmt wird, dass sich die Geschützter-Speicher-Steuerung 134 im Permanentmodus befindet, ist die Geschützter-Speicher-Steuerung 134 eingerichtet zum Ausführen (Block 450, 6) der angeforderten Datenlesen-Operation, indem die angeforderten Daten aus der Geschützter-Speicher-Benutzerdatenbereichspartition 114 (2) der Vorrichtung 102 gelesen werden. Zusätzlich dazu erzeugt (Block 454, 6) die Geschützter-Speicher-Steuerung 134 eine Authentifiziertes-Lesen-Antwortnachricht, die die angeforderten Lesedaten beinhaltet, auf eine ähnliche Weise wie jene, die in Verbindung mit einer Authentifiziertes-Lesen-Antwort im Transientmodus beschrieben ist.
  • Beim Empfang der Authentifiziertes-Datenlesen-Antwortnachricht von der Vorrichtung 102 führt der Host einen Authentifizierungsprozess auf eine ähnliche Weise wie jene durch, die oben in Verbindung mit der Transientmodus-Authentifiziertes-Datenlesen-Antwortnachricht beschrieben ist, die aber wie für den Permanentmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Bei dieser Ausführungsform authentifiziert der Host, der die Permanentmodus-Authentifiziertes-Datenlesen-Anforderungsnachricht empfängt, die Datenlesen-Antwortnachricht unter Verwendung des gemeinsam genutzten Permanentmodus-Authentifizierungsschlüssels. Zum Beispiel berechnet die Host-Geschützter-Speicher-Schnittstellenlogik 220 auf eine ähnliche Weise wie oben in Verbindung mit der Geschützter-Speicher-Steuerung 134 beschrieben, unter Verwendung der Message Authentication Code(MAC)-Engine 234 einen MAC-Authentifizierungscode als eine Funktion des gemeinsam genutzten Permanentmodus-Authentifizierungsschlüssels, der in der Datenstruktur 238 (3) und demselben Teil der Datenlesen-Antwortnachricht, der von der Geschützter-Speicher-Steuerung 134 (3) verwendet wird, um den MAC-Authentifizierungscode zu berechnen, der in der Lesen-Antwort enthalten ist, gespeichert ist. Der MAC-Authentifizierungscode, der durch den Host 204 berechnet wird, wird mit den MAC-Authentifizierungscodes verglichen, die in der Permanentmodus-Authentifiziertes-Datenlesen-Antwortnachricht enthalten sind, die an den Host 204 gesendet wird. Wenn die beiden MAC-Authentifizierungscodes übereinstimmen, besteht die empfangene Lesen-Antwortnachricht den Authentifizierungsprozess des Hosts 204 und die empfangene Datenlesen-Antwortnachricht wird als authentisch angesehen, d. h. wurde von einem autorisierten Absender gesendet. Bei manchen Ausführungsformen können der Host und die Vorrichtung 102 ihre jeweiligen MAC-Authentifizierungscodes auch als eine Funktion der Zufallszahl berechnen, die durch den Host erzeugt und an die Vorrichtung 102 in der Authentifiziertes-Datenlesen-Anforderungsnachricht gesendet wird, wie oben beschrieben.
  • Bei dieser Ausführungsform kann jedoch eine Datenlesen-Antwort, die durch die Datenlesen-Anforderungsnachricht angefordert wird, zusätzlichen Sicherheitstests, wie etwa Zufallszahlentests, auf eine Art und Weise unterzogen werden, die jener bekannter RPMB-Steuerungen ähnlich ist, wie im RPMB-Standard beschrieben, die aber wie für den Permanentmodus von Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist. Zum Beispiel kann der Host 204 die Zufallszahl, die in der an den Host 204 gesendeten Permanentmodus-Authentifiziertes-Datenlesen-Antwortnachricht enthalten ist, mit der Zufallszahl vergleichen, die durch den Host 204 erzeugt wird und in der an die Vorrichtung 102 gesendeten Permanentmodus-Authentifiziertes-Datenlesen-Anforderungsnachricht enthalten ist. Wenn die zwei Zufallszahlen übereinstimmen, besteht die empfangene Lesen-Antwortnachricht den Authentifizierungsprozess des Hosts 204 und die empfangene Datenlesen-Antwortnachricht, die die gelesenen Daten weiterleitet, wird als authentisch angesehen, d. h. wurde von einem autorisierten Absender gesendet.
  • Andere Anforderungsnachrichtenarten des RPMB-Standards können in einem ausgewählten Transientmodus oder in einem Permanentmodus durch eine RPMB-fähige Speicherungsvorrichtung mit Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung auf eine der wie oben beschriebenen ähnlichen Weise behandelt werden. Somit können andere Anforderungsnachrichten zum Beispiel auf eine Art und Weise behandelt werden, die jener bekannter RPMB-Steuerungen ähnlich ist, die wie für Multimodus-Geschützter-Speicher-Operationen der vorliegenden Beschreibung angemessen modifiziert ist.
  • Beispielsweise ist eine andere bekannte Anforderungsnachrichtenart des RPMB-Standards eine Lesezählerwert-Anforderungsnachricht, die durch einen RPMB-Host erzeugt und an eine RPMB-fähige Speicherungsvorrichtung gesendet wird, die den aktuellen Schreibzählerwert in einer Antwortnachricht zurückgibt. Wie eine Datenlesen-Anforderungsnachricht beinhaltet eine Lesezählerwert-Anforderungsnachricht eine Zufallszahl, die durch den Host erzeugt wird. Die Lesezählerwert-Antwortnachricht von der RPMB-fähigen Vorrichtung beinhaltet zusätzlich zu dem Schreibzählerwert einen MAC-Authentifizierungscode, der von der RPMB-fähigen Vorrichtung zusammen mit einer Kopie der mit der Anforderungsnachricht empfangenen Zufallszahl berechnet wird. Der Host authentifiziert die Lesezählerwert-Antwortnachricht auf eine ähnliche Weise wie eine Authentifiziertes-Datenlesen-Antwortnachricht.
  • Bei einer Ausführungsform der vorliegenden Beschreibung erzeugt die Host-Geschützter-Speicher-Schnittstellenlogik 220 (3) des Hosts 204 eine Lesezählerwert-Anforderungsnachricht und sendet diese auf eine Art und Weise an die Speicherungsvorrichtung 102, die jener bekannter RPMB-Systeme ähnlich ist, die für einen Multimodus-Geschützter-Speicher gemäß der vorliegenden Beschreibung angemessen modifiziert ist. Zum Beispiel kann eine Lesezählerwert-Anforderungsnachricht für den Transientmodus auf eine Weise modifiziert werden, die der Modifikation einer Datenlesen-Anforderungsnachricht für den Transientmodus ähnlich ist, wie oben in Verbindung mit 6 beschrieben ist. Gleichermaßen kann eine Lesezählerwert-Anforderungsnachricht für den Permanentmodus auf eine Weise modifiziert werden, die der Modifikation einer Datenlesen-Anforderungsnachricht für den permanenten ähnlich ist, wie oben in Verbindung mit 6 beschrieben ist.
  • Die Geschützter-Speicher-Steuerung 134 (2) der Vorrichtung 102 erzeugt und sendet eine Lesezählerwert-Antwortnachricht an den Host 204 auf eine ähnliche Weise wie die bekannter RPMB-Systeme, die gemäß der vorliegenden Beschreibung für Multimodus-Geschützter-Speicher angemessen modifiziert ist. Zum Beispiel kann eine Lesezählerwert-Antwortnachricht für den Transientmodus auf eine Weise modifiziert werden, die der Modifikation einer Datenlesen-Antwortnachricht für den Transientmodus ähnlich ist, wie oben in Verbindung mit 6 beschrieben ist. Gleichermaßen kann eine Lesezählerwert-Antwortnachricht für den Permanentmodus auf eine Weise modifiziert werden, die der Modifikation einer Datenlesen-Antwortnachricht für den Permanentmodus ähnlich ist, wie oben in Verbindung mit 6 beschrieben ist.
  • Die beschriebenen Operationen können als ein Verfahren, eine Einrichtung oder ein Computerprogrammprodukt, die Standard-Programmierungs- und/oder -Engineering-Techniken verwenden, implementiert werden, um Software, Firmware, Hardware oder eine beliebige Kombination davon zu produzieren. Die beschriebenen Operationen können als Code implementiert sein, der in einem „computerlesbaren Speicherungsmedium“ unterhalten wird, wobei ein Prozessor den Code aus dem computerlesbaren Speicherungsmedium lesen und ausführen kann. Das computerlesbare Speicherungsmedium beinhaltet eine elektronische Schaltungsanordnung und/oder Speicherungsmaterialien und/oder anorganische Materialien und/oder organische Materialien und/oder biologische Materialien und/oder eine Einhüllung und/oder ein Gehäuse und/oder eine Beschichtung und/oder Hardware. Ein computerlesbares Speichermedium kann unter anderem ein magnetisches Speichermedium (e.g. Festplattenlaufwerke, Disketten, Band usw.), optische Speicherung (CD-ROMs, DVDs, optische Platten usw.), flüchtige und nichtflüchtige Speichervorrichtungen (e.g. EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash-Speicher, Firmware, programmierbare Logik usw.), Festkörperlaufwerke (SSD) usw. umfassen. Der Code, der die beschriebenen Operationen implementiert, kann ferner in Hardwarelogik implementiert sein, die in einer Hardwarevorrichtung (e.g., einem Integrierte-Schaltung-Chip, einem programmierbaren Gate-Array (PGA), einer anwendungsspezifischen integrierten Schaltung (ASIC) usw.) implementiert ist. Ferner kann der Code, der die beschriebenen Operationen implementiert, in „Übertragungssignalen“ implementiert werden, wobei sich Übertragungssignale durch den Raum oder durch ein Übertragungsmedium, wie etwa eine optische Faser, einen Kupferdraht usw., ausbreiten können. Die Übertragungssignale, in denen der Code oder die Logik codiert ist, können ferner ein drahtloses Signal, Satellitenübertragung, Funkwellen, Infrarotsignale, Bluetooth usw. umfassen. Der auf einem computerlesbaren Speichermedium eingebettete Programmcode kann als Übertragungssignale von einer Sendestation oder einem Computer zu einer Empfangsstation oder einem Computer übertragen werden. Ein computerlesbares Speichermedium besteht nicht ausschließlich aus Übertragungssignalen. Fachleute werden erkennen, dass viele Modifikationen an dieser Ausgestaltung vorgenommen werden können und dass der Herstellungsgegenstand ein geeignetes informationstragendes Medium umfassen kann, das im Stand der Technik bekannt ist.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der bestimmten Ausführungsformen kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben sein. Blöcke des Flussdiagramms und der Blockdiagramme können durch Computerprogrammanweisungen implementiert werden.
  • Gewisse Ausführungsformen können sich auf ein Verfahren zum Einsetzen einer Rechenanweisung durch eine Person oder automatisierte Verarbeitung, die computerlesbaren Code in ein Rechensystem integriert, beziehen, wobei dem Code in Kombination mit dem Rechensystem ermöglicht wird, die Operationen der beschriebenen Ausführungsformen durchzuführen.
  • Die Begriffe „eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“, „manche Ausführungsformen“ und „eine Ausführungsform“ bedeuten „eine oder mehrere (aber nicht alle) Ausführungsformen“, sofern nicht ausdrücklich anders spezifiziert.
  • Die Begriffe „beinhaltend“, „umfassend“, „aufweisend“ und Variationen davon bedeuten „beinhaltend, aber nicht beschränkt auf“, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Die aufgezählte Auflistung von Punkten impliziert nicht, dass sich beliebige oder alle der Punkte gegenseitig ausschließen, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Die Begriffe „ein“, „ein“ und „der“ bedeuten „ein oder mehrere“, sofern nicht ausdrücklich anders angegeben.
  • Vorrichtungen, die miteinander in Kommunikation stehen, müssen nicht kontinuierlich miteinander in Kommunikation stehen, es sei denn, es wird ausdrücklich etwas anderes angegeben. Außerdem können Vorrichtungen, die miteinander in Kommunikation stehen, direkt oder indirekt über einen oder mehrere Vermittler kommunizieren.
  • Eine Beschreibung einer Ausführungsform mit mehreren Komponenten, die miteinander in Verbindung stehen, impliziert nicht, dass alle solchen Komponenten benötigt werden. Vielmehr werden verschiedene optionale Komponenten zur Veranschaulichung der verschiedenen möglichen Ausführungsformen beschrieben.
  • Obwohl Prozessschritte, Verfahrensschritte, Algorithmen oder dergleichen in einer sequenziellen Reihenfolge beschrieben werden können, können solche Prozesse, Verfahren und Algorithmen ferner dazu eingerichtet sein, in alternierenden Reihenfolgen zu arbeiten. Mit anderen Worten gibt eine beliebige Sequenz oder Reihenfolge von Schritten, die beschrieben werden können, nicht notwendigerweise eine Anforderung an, dass die Schritte in dieser Reihenfolge durchgeführt werden. Die Schritte der hier beschriebenen Verfahren können in beliebiger praktischer Reihenfolge durchgeführt werden. Ferner können manche Schritte gleichzeitig durchgeführt werden.
  • Wenn hier eine einzige Vorrichtung oder ein einziger Artikel beschrieben wird, wird leicht ersichtlich, dass mehr als eine Vorrichtung/ein einziger Artikel (unabhängig davon, ob sie zusammenwirken oder nicht) anstelle einer einzigen Vorrichtung/eines einzigen Artikels verwendet werden kann. Gleichermaßen wird, wenn hier mehr als eine Vorrichtung oder ein Artikel beschrieben ist (ob sie zusammenwirken oder nicht), leicht ersichtlich sein, dass eine einzelne Vorrichtung/ein einzelner Artikel anstelle der mehr als einen Vorrichtung oder des Artikels verwendet werden kann oder eine andere Anzahl von Vorrichtungen/Artikeln anstelle der gezeigten Anzahl von Vorrichtungen oder Programmen verwendet werden kann. Die Funktionalität und/oder die Merkmale einer Vorrichtung können alternativ durch eine oder mehrere andere Vorrichtungen realisiert sein, die nicht explizit als solche Funktionalität/Merkmale aufweisend beschrieben sind. Dementsprechend müssen andere Ausführungsformen die Vorrichtung selbst nicht beinhalten.
  • Zumindest bestimmte Operationen, die in den Figuren veranschaulicht worden sein können, zeigen bestimmte Ereignisse, die in einer bestimmten Reihenfolge auftreten. Bei alternativen Ausführungsformen können gewisse Operationen in einer anderen Reihenfolge durchgeführt, modifiziert oder entfernt werden. Darüber hinaus können Schritte zu der oben beschriebenen Logik hinzugefügt werden und entsprechen immer noch den beschriebenen Ausführungsformen. Ferner können hier beschriebene Operationen sequenziell auftreten oder gewisse Operationen können parallel verarbeitet werden. Noch weiter können Operationen durch eine einzelne Verarbeitungseinheit oder durch verteilte Verarbeitungseinheiten durchgeführt werden.
  • Die vorstehende Beschreibung verschiedener Ausführungsformen wurde zu Zwecken der Veranschaulichung und Beschreibung präsentiert. Sie soll nicht erschöpfend sein oder auf die genau offenbarten Formen beschränkt sein. Im Lichte der obigen Lehre sind viele Abwandlungen und Variationen möglich.
  • Beispiele
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • Beispiel 1 ist eine Einrichtung, die Folgendes umfasst: einen geschützten Speicher; und eine Geschützter-Speicher-Steuerung, die eingerichtet ist zum Steuern von Zugriff auf den geschützten Speicher, wobei die Geschützter-Speicher-Steuerung Moduslogik beinhaltet, die eingerichtet ist zum Steuern des Zugriffs auf den geschützten Speicher in einem ausgewählten Modus, der einen Transientmodus und einen Permanentmodus beinhaltet, wobei die Geschützter-Speicher-Steuerung ferner eingerichtet ist zum Authentifizieren von Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierungsschlüssels im Transientmodus und als eine Funktion eines einmal programmierbaren Authentifizierungsschlüssels im Permanentmodus.
  • In Beispiel 2 kann der Erfindungsgegenstand der Beispiele 1-7 (ausgenommen das vorliegende Beispiel) optional beinhalten, dass die Geschützter-Speicher-Steuerung ein Register aufweist, das dafür ausgelegt ist, einstellbar zu sein, um anzugeben, dass die Geschützter-Speicher-Steuerung den Transientmodus unterstützt.
  • In Beispiel 3 kann der Erfindungsgegenstand der Beispiele 1-7 (ausgenommen das vorliegende Beispiel) optional beinhalten, wobei die Moduslogik eine Absicherung aufweist und eingerichtet ist zum Setzen der Absicherung, um das Eintreten in den Transientmodus beim Eintreten in den Permanentmodus zu blockieren.
  • In Beispiel 4 kann der Erfindungsgegenstand der Beispiele 1-7 (ausgenommen das vorliegende Beispiel) optional beinhalten, wobei die Geschützter-Speicher-Steuerung ein umprogrammierbares Register, das eingerichtet ist zum Speichern des umprogrammierbaren Authentifizierungsschlüssels in dem Transientmodus, und ein einmal beschreibbares Register, das eingerichtet ist zum Speichern des einmal programmierbaren Authentifizierungsschlüssels in dem Permanentmodus, aufweist.
  • In Beispiel 5 kann der Erfindungsgegenstand der Beispiele 1-7 (ausgenommen das vorliegende Beispiel) optional beinhalten, wobei die Geschützter-Speicher-Steuerung einen zurücksetzbaren Schreibzähler, der eingerichtet ist zum Zählen von Schreiben-Operationen in den geschützten Speicher in dem Transientmodus, und einen nicht zurücksetzbaren Schreibzähler, der eingerichtet ist zum Zählen von Schreiben-Operationen in den geschützten Speicher in dem Permanentmodus, aufweist.
  • In Beispiel 6 kann der Erfindungsgegenstand der Beispiele 1-7 (ausgenommen das vorliegende Beispiel) optional beinhalten, wobei die Geschützter-Speicher-Steuerung eingerichtet ist zum Antworten auf einen Transientmodussatz von Anforderungsnachrichten in dem Transientmodus, und einen Permanentmodussatz von Anforderungsnachrichten in dem Permanentmodus, wobei eine Fehler-Antwortnachricht als Reaktion auf den Empfang einer Anforderungsnachricht des Transientmodussatzes von Anforderungsnachrichten zurückgegeben wird, wenn sich die Geschützter-Speicher-Steuerung in dem Permanentmodus befindet.
  • In Beispiel 7 kann der Gegenstand der Beispiele 1-7 (ausgenommen das vorliegende Beispiel) optional ein System beinhalten, wobei das System Folgendes umfasst: den geschützten Speicher und die Geschützter-Speicher-Steuerung, und mindestens eines der Folgenden, das mit der Geschützter-Speicher-Steuerung und dem geschützten Speicher gekoppelt ist, eine Anzeige, eingerichtet zum Anzeigen von Informationen als eine Funktion von Speicheroperationen, die an den geschützten Speicher gerichtet sind, eine Netzwerkschnittstelle, eingerichtet zum Übertragen von Informationen als eine Funktion von Speicheroperationen, die an den geschützten Speicher gerichtet sind, und eine Batterie, die dafür ausgelegt ist, das System mit Leistung zu versorgen.
  • Beispiel 8 ist ein Verfahren, das Folgendes umfasst: Steuern des Zugriffs auf einen geschützten Speicher in einem ausgewählten Modus, beinhaltend einen Transientmodus, in dem Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierungsschlüssels authentifiziert werden, und einen Permanentmodus, in dem Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines einmal programmierbaren Authentifizierungsschlüssels authentifiziert werden.
  • Bei Beispiel 9 kann der Erfindungsgegenstand der Beispiele 8-13 (ausgenommen das vorliegende Beispiel) optional das Setzen eines Registers beinhalten, um anzugeben, dass die Geschützter-Speicher-Steuerung den Transientmodus unterstützt.
  • In Beispiel 10 kann der Gegenstand der Beispiele 8-13 (ausgenommen das vorliegende Beispiel) optional das Einstellen einer Absicherung beinhalten, um das Eintreten in den Transientmodus beim Eintreten in den Permanentmodus zu blockieren.
  • In Beispiel 11 kann der Erfindungsgegenstand der Beispiele 8-13 (ausgenommen das vorliegende Beispiel) optional beinhalten: Speichern des umprogrammierbaren Authentifizierungsschlüssels in einem umprogrammierbaren Register in dem Transientmodus und Speichern des einmal programmierbaren Authentifizierungsschlüssels in einem Einmal-Schreiben-Register in dem Permanentmodus.
  • In Beispiel 12 kann der Erfindungsgegenstand der Beispiele 8-13 (ausgenommen das vorliegende Beispiel) optional beinhalten: Zurücksetzen eines zurücksetzbaren Schreibzählers, der eingerichtet ist zum Zählen von Schreiben-Operationen zu dem geschützten Speicher in dem Transientmodus und Zählen von Schreiben-Operationen zu dem geschützten Speicher in dem Permanentmodus in einem nicht zurücksetzbaren Schreibzähler.
  • In Beispiel 13 kann der Erfindungsgegenstand der Beispiele 8-13 (ausgenommen das vorliegende Beispiel) optional beinhalten, dass die Geschützter-Speicher-Steuerung auf einen Transientmodussatz von Anforderungsnachrichten in dem Transientmodus reagiert, auf einen Permanentmodussatz von Anforderungsnachrichten in dem Permanentmodus reagiert, und eine Fehler-Antwortnachricht als Reaktion auf den Empfang einer Anforderungsnachricht des Transientmodussatzes von Anforderungsnachrichten zurückgibt, wenn sich die Geschützter-Speicher-Steuerung in dem Permanentmodus befindet.
  • Beispiel 14 ist eine Einrichtung, die Mittel zum Durchführen eines Verfahrens nach einem der vorhergehenden Beispiele umfasst.
  • Beispiel 15 ist eine Einrichtung, die Folgendes umfasst: einen geschützten Speicher; und ein Geschützter-Speicher-Steuerungsmittel, das eingerichtet ist zum Steuern von Zugriff auf den geschützten Speicher, wobei das Geschützter-Speicher-Steuerungsmittel ein Moduslogikmittel beinhaltet, das eingerichtet ist zum Steuern des Zugriffs auf den geschützten Speicher in einem ausgewählten Modus, der einen Transientmodus und einen Permanentmodus beinhaltet, wobei das Geschützter-Speicher-Steuerungsmittel ferner eingerichtet ist zum Authentifizieren von Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierungsschlüssels im Transientmodus und als eine Funktion eines einmal programmierbaren Authentifizierungsschlüssels im Permanentmodus.
  • Beispiel 16 ist ein Computerprogrammprodukt für ein Computersystem mit einem geschützten Speicher und einer Geschützter-Speicher-Steuerung, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit Programmanweisungen umfasst, die damit verkörpert sind, wobei die Programmanweisungen durch einen Prozessor des Computersystems ausführbar sind, um Operationen zu bewirken, wobei die Operationen umfassen: Steuern des Zugriffs auf einen geschützten Speicher in einem ausgewählten Modus, der einen Übergang Modus umfasst, in dem Speicher Operationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierung Schlüssels authentifiziert werden, und einen permanenten Modus in Speicher Operationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines einmal programmierbaren Authentifizierung Schlüssels authentifiziert werden.
  • Alle optionalen Merkmale eines beliebigen der oben beschriebenen Systeme und/oder Einrichtungen können auch mit Bezug auf das oben beschriebene Verfahren oder den oben beschriebenen Prozess implementiert werden und Spezifika in den Beispielen können irgendwo in einer oder mehreren Ausführungsformen verwendet werden. Zusätzlich dazu können alle optionalen Merkmale des oben beschriebenen Verfahrens oder Prozesses auch mit Bezug auf ein beliebiges des oben beschriebenen Systems und/oder der oben beschriebenen Einrichtung implementiert werden und Spezifika in den Beispielen können irgendwo in einer oder mehreren Ausführungsformen verwendet werden.

Claims (18)

  1. Einrichtung, die Folgendes umfasst: einen geschützten Speicher; und eine Geschützter-Speicher-Steuerung, eingerichtet zum Steuern von Zugriff auf den geschützten Speicher, wobei die Geschützter-Speicher-Steuerung Moduslogik beinhaltet, die eingerichtet ist zum Steuern des Zugriffs auf den geschützten Speicher in einem ausgewählten Modus, der einen Transientmodus und einen Permanentmodus beinhaltet, wobei die Geschützter-Speicher-Steuerung ferner eingerichtet ist zum Authentifizieren von Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierungsschlüssels im Transientmodus und als eine Funktion eines einmal programmierbaren Authentifizierungsschlüssels im Permanentmodus.
  2. Einrichtung nach Anspruch 1, wobei die Geschützter-Speicher-Steuerung ein Register aufweist, das dafür ausgelegt ist, einstellbar zu sein, um anzugeben, dass die Geschützter-Speicher-Steuerung den Transientmodus unterstützt.
  3. Einrichtung nach Anspruch 1, wobei die Moduslogik eine Absicherung aufweist und eingerichtet ist zum Setzen der Absicherung, um das Eintreten in den Transientmodus beim Eintreten in den Permanentmodus zu blockieren.
  4. Einrichtung nach Anspruch 1, wobei die Geschützter-Speicher-Steuerung ein umprogrammierbares Register, das eingerichtet ist zum Speichern des umprogrammierbaren Authentifizierungsschlüssels in dem Transientmodus, und ein einmal beschreibbares Register, das eingerichtet ist zum Speichern des einmal programmierbaren Authentifizierungsschlüssels in dem permanenten Modus, aufweist.
  5. Einrichtung nach Anspruch 1, wobei die Geschützter-Speicher-Steuerung einen zurücksetzbaren Schreibzähler, der eingerichtet ist zum Zählen von Schreiben-Operationen in den geschützten Speicher in dem Transientmodus, und einen nicht zurücksetzbaren Schreibzähler, der eingerichtet ist zum Zählen von Schreiben-Operationen in den geschützten Speicher in dem Permanentmodus, aufweist.
  6. Einrichtung nach einem Anspruch von Ansprüchen 1-5, wobei die Geschützter-Speicher-Steuerung eingerichtet ist zum Reagieren auf einen Transientmodussatz von Anforderungsnachrichten in dem Transientmodus und auf einen Permanentmodussatz von Anforderungsnachrichten in dem Permanentmodus, wobei eine Fehler-Antwortnachricht als Reaktion auf den Empfang einer Anforderungsnachricht des Transientmodussatzes von Anforderungsnachrichten zurückgegeben wird, wenn sich die Geschützter-Speicher-Steuerung in dem Permanentmodus befindet.
  7. Verfahren, das Folgendes umfasst: Steuern des Zugriffs auf einen geschützten Speicher in einem ausgewählten Modus, beinhaltend einen Transientmodus, in dem Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierungsschlüssels authentifiziert werden, und einen Permanentmodus, in dem Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines einmal programmierbaren Authentifizierungsschlüssels authentifiziert werden.
  8. Verfahren nach Anspruch 7, ferner umfassend Setzen eines Registers zum Angeben, dass die Geschützter-Speicher-Steuerung den Transientmodus unterstützt.
  9. Verfahren nach Anspruch 7, ferner umfassend Setzen einer Absicherung zum Blockieren von Eintreten in den Transientmodus beim Eintreten in den Permanentmodus.
  10. Verfahren nach Anspruch 7, ferner umfassend Speichern des umprogrammierbaren Authentifizierungschlüssels in einem umprogrammierbaren Register in dem Transientmodus und Speichern des einmal programmierbaren Authentifizierungsschlüssels in einem Einmal-Schreiben-Register in dem Permanentmodus.
  11. Verfahren nach Anspruch 7, ferner umfassend Zurücksetzen eines zurücksetzbaren Schreibzählers, der eingerichtet ist zum Zählen von Schreiben-Operationen zu dem geschützten Speicher in dem Transientmodus und Zählen von Schreiben-Operationen zu dem geschützten Speicher in dem Permanentmodus in einem nicht zurücksetzbaren Schreibzähler.
  12. Verfahren nach einem Anspruch der Ansprüche 7-11, ferner umfassend dass die Geschützter-Speicher-Steuerung auf einen Transientmodussatz von Anforderungsnachrichten in dem Transientmodus reagiert, auf einen Permanentmodussatz von Anforderungsnachrichten in dem Permanentmodus reagiert, und eine Fehler-Antwortnachricht als Reaktion auf den Empfang einer Anforderungsnachricht des Transientmodussatzes von Anforderungsnachrichten zurückgibt, wenn sich die Geschützter-Speicher-Steuerung in dem Permanentmodus befindet.
  13. System, das Folgendes umfasst: einen geschützten Speicher, eingerichtet zum Speichern von Daten; eine Geschützter-Speicher-Steuerung, die eingerichtet ist zum Steuern von Zugriff auf den geschützten Speicher, wobei die Geschützter-Speicher-Steuerung Moduslogik beinhaltet, die eingerichtet ist zum Steuern des Zugriffs auf den geschützten Speicher in einem ausgewählten Modus, der einen Transientmodus und einen Permanentmodus beinhaltet, wobei die Geschützter-Speicher-Steuerung ferner eingerichtet ist zum Authentifizieren von Speicheroperationen, die an den geschützten Speicher gerichtet sind, als eine Funktion eines umprogrammierbaren Authentifizierungsschlüssels im Transientmodus und als eine Funktion eines einmal programmierbaren Authentifizierungsschlüssels im Permanentmodus, und eine Anzeige, die eingerichtet ist zum Anzeigen von Informationen als eine Funktion von Speicheroperationen, die an den geschützten Speicher gerichtet sind.
  14. System nach Anspruch 13, wobei die Geschützter-Speicher-Steuerung ein Register aufweist, das dafür ausgelegt ist, einstellbar zu sein, um anzugeben, dass die Geschützter-Speicher-Steuerung den Transientmodus unterstützt.
  15. System nach Anspruch 13, wobei die Moduslogik eine Absicherung aufweist und eingerichtet ist zum Setzen der Absicherung, um das Eintreten in den Transientmodus beim Eintreten in den Permanentmodus zu blockieren.
  16. System nach Anspruch 13, wobei die Geschützter-Speicher-Steuerung ein umprogrammierbares Register, das eingerichtet ist zum Speichern des umprogrammierbaren Authentifizierungsschlüssels in dem Transientmodus, und ein einmal beschreibbares Register, das eingerichtet ist zum Speichern des einmal programmierbaren Authentifizierungsschlüssels in dem Permanentmodus, aufweist.
  17. System nach Anspruch 13, wobei die Geschützter-Speicher-Steuerung einen zurücksetzbaren Schreibzähler, der eingerichtet ist zum Zählen von Schreiben-Operationen in den geschützten Speicher in dem Transientmodus, und einen nicht zurücksetzbaren Schreibzähler, der eingerichtet ist zum Zählen von Schreiben-Operationen in den geschützten Speicher in dem Permanentmodus, aufweist.
  18. System nach einem Anspruch der Ansprüche 13-17, wobei die Geschützter-Speicher-Steuerung eingerichtet ist zum Antworten auf einen Transientmodussatz von Anforderungsnachrichten in dem Transientmodus, und einen Permanentmodussatz von Anforderungsnachrichten in dem Permanentmodus, wobei eine Fehler-Antwortnachricht als Reaktion auf den Empfang einer Anforderungsnachricht des Transientmodussatzes von Anforderungsnachrichten zurückgegeben wird, wenn sich die Geschützter-Speicher-Steuerung in dem Permanentmodus befindet.
DE112019007230.7T 2019-04-19 2019-04-19 Multimodus-Geschützter-Speicher Pending DE112019007230T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/083388 WO2020211070A1 (en) 2019-04-19 2019-04-19 Multi-mode protected memory

Publications (1)

Publication Number Publication Date
DE112019007230T5 true DE112019007230T5 (de) 2021-12-30

Family

ID=72837969

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007230.7T Pending DE112019007230T5 (de) 2019-04-19 2019-04-19 Multimodus-Geschützter-Speicher

Country Status (6)

Country Link
US (1) US11816039B2 (de)
JP (1) JP7332083B2 (de)
KR (1) KR20210154803A (de)
CN (1) CN113557500A (de)
DE (1) DE112019007230T5 (de)
WO (1) WO2020211070A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714561B2 (en) * 2020-07-17 2023-08-01 Samsung Electronics Co., Ltd. System, device and method for writing data to protected region
WO2023085613A1 (ko) 2021-11-11 2023-05-19 주식회사 부강테크 에너지 소비효율과 승온속도를 향상시킨 유기성 폐기물 처리장치 및 방법
CN114692124A (zh) * 2022-04-18 2022-07-01 镁佳(北京)科技有限公司 一种数据读取、写入方法、装置和电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
ATE422081T1 (de) * 2004-07-08 2009-02-15 Nokia Corp Verfahren zum dauerhaften schreibschutz für einen teilbereich einer speicherkarte und entsprechende speicherkarte
KR100813629B1 (ko) * 2007-01-17 2008-03-14 삼성전자주식회사 향상된 섹터 보호 스킴
US8117378B2 (en) * 2008-10-29 2012-02-14 Microchip Technology Incorporated Preventing unintended permanent write-protection
JP2010225259A (ja) 2009-02-27 2010-10-07 Renesas Electronics Corp 半導体装置
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
GB2490875A (en) * 2011-05-11 2012-11-21 Future Upgrades Ltd Controlling access to data storage means using a one-time-programmable memory device
KR101797107B1 (ko) 2011-07-08 2017-12-13 삼성전자주식회사 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템
JP5749236B2 (ja) * 2012-09-28 2015-07-15 株式会社東芝 鍵付け替え管理装置および鍵付け替え管理方法
US20150089245A1 (en) * 2013-09-26 2015-03-26 Asher M. Altman Data storage in persistent memory
JP2017505939A (ja) * 2013-12-10 2017-02-23 メモリー テクノロジーズ リミティド ライアビリティ カンパニー 認証ストレージアクセスを有するストレージモジュール
US11030122B2 (en) * 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme

Also Published As

Publication number Publication date
US20220164293A1 (en) 2022-05-26
US11816039B2 (en) 2023-11-14
JP7332083B2 (ja) 2023-08-23
CN113557500A (zh) 2021-10-26
JP2022529873A (ja) 2022-06-27
KR20210154803A (ko) 2021-12-21
WO2020211070A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
DE19781829C2 (de) Verfahren und Vorrichtung zum Schützen eines Flash-Speichers
DE102013108394A1 (de) Verfahren zum Verwalten eines Schlüssels für sicheres Speichern von Daten und Vorrichtung dafür
TWI620095B (zh) 用以確保存取保護計畫之裝置及有形機器可讀媒體
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
DE102019110327A1 (de) Technologien zum verifizieren von speicherintegrität über mehrere speicherbereiche hinweg
DE102018004786A1 (de) Verfahren und Vorrichtung zum sicheren Binden eines ersten Prozessors an einen zweiten Prozessor
DE102013111339A1 (de) Sicherheitsverwaltungseinheit, Hostcontrollerschnittstelle mit derselben, Verfahren zum Betreiben einer Hostcontrollerschnittstelle und Vorrichtungen mit einer Hostcontrollerschnittstelle
DE102018129976A1 (de) System und Verfahren zur Überprüfung einer sicheren Löschoperation an einer Speichervorrichtung
DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
DE102015205396A1 (de) Speichersystem und Verfahren zum Durchführen und Authentifizieren eines Schreibschutzes für dieses
DE102010054614A1 (de) Eindringen in eine gesicherte EDV-Umgebung unter Verwendung mehrerer authentifizierter Codemodule
DE112019007230T5 (de) Multimodus-Geschützter-Speicher
DE102012111793A1 (de) Speichervorrichtung zum Schützen von sicheren Daten und Verfahren zum Authentifizieren einer Speichervorrichtung unter Verwendung von sicheren Daten
DE102018114266A1 (de) Nichtflüchtige speichervorrichtung mit sicherem lesen
WO2019226297A1 (en) Edit transactions for blockchains
DE112021000648T5 (de) Speichervorrichtung, die gegen cyber-angriffe und fehlfunktionen widerstandsfähig ist
DE112016001972T5 (de) Sicherer Zugriff in einem Mikrokontrollersystem
DE102011085989A1 (de) Verfahren und Vorrichtung zum Ausführen von parallelen Speicherlese- und Speicherschreiboperationen
DE112016005823T5 (de) Überwachen des betriebs eines prozessors
DE112011105692T5 (de) Verfahren und eine Vorrichtung zur Injektion von Fehlern in einen Speicherhintergrund
DE112015007220T5 (de) Techniken zum Koordinieren von Vorrichtungshochfahrsicherheit
DE112014000311T5 (de) Absichern der Inhalte einer Speichereinheit
DE112018006401T5 (de) Transparent zugeordnete flash-memory-sicherheit
DE102010006139A1 (de) System und Verfahren zur Finalisierung eines Halbleiterspeichers
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens