DE102020103846A1 - Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt - Google Patents

Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt Download PDF

Info

Publication number
DE102020103846A1
DE102020103846A1 DE102020103846.1A DE102020103846A DE102020103846A1 DE 102020103846 A1 DE102020103846 A1 DE 102020103846A1 DE 102020103846 A DE102020103846 A DE 102020103846A DE 102020103846 A1 DE102020103846 A1 DE 102020103846A1
Authority
DE
Germany
Prior art keywords
time stamp
host device
security data
storage area
memory
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
DE102020103846.1A
Other languages
English (en)
Inventor
Sunghyun Kim
Junho Huh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020103846A1 publication Critical patent/DE102020103846A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/602Providing cryptographic facilities or services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Bei einem Betriebsverfahren für ein Speichersystem werden erste Sicherheitsdaten und ein erster Zeitstempels zur Verhinderung eines Replay-Angriffs durch eine Host-Vorrichtung in einen ersten Speicherbereich geschrieben, der ein externer Speicherbereich ist. Ein zweiter Zeitstempel wird von der Host-Vorrichtung basierend auf dem ersten Zeitstempel aktualisiert. Der zweite Zeitstempel, der dem ersten Zeitstempel entspricht, wird in einen zweiten Speicherbereich gespeichert, der sich von dem ersten Speicherbereich unterscheidet. Ein erstes Benachrichtigungssignal, das ein Aktualisierungsergebnis des zweiten Zeitstempels wiedergibt, wird von der Host-Vorrichtung empfangen. Ein Schreibvorgang für die ersten Sicherheitsdaten wird abgeschlossen, wenn durch die Host-Vorrichtung basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich aktualisiert wurde.

Description

  • Querverweis auf verwandte Anmeldung
  • Diese Anmeldung beansprucht unter 35 U.S.C § 119 die Priorität der am 10. Mai 2019 beim koreanischen Amt für geistiges Eigentum (KIPO) eingereichten koreanischen Patentanmeldung Nr. 10-2019-0054677 , deren gesamter Inhalt hiermit durch Verweis in den vorliegenden Text aufgenommen wird.
  • Hintergrund
  • Technisches Gebiet
  • Verfahren, Systeme, Apparate bzw. Vorrichtungen und Herstellungsartikel in Übereinstimmung mit der vorliegenden Offenbarung betreffen allgemein integrierte Halbleiterschaltungen und insbesondere Verfahren zum Betreiben von Speichersystemen mit Gegenmaßnahmen gegen Replay-Angriffe und Speichersysteme, welche die Verfahren durchführen.
  • Beschreibung des Stands der Technik
  • Ein Ein-Chip-System (SoC) wird allgemein verwendet, um einen Verarbeitungsapparat bzw. -vorrichtung zu bezeichnen, die verschiedene Funktionsblöcke (z. B. eine zentrale Verarbeitungseinheit (CPU), einen Speicher, eine Schnittstelleneinheit, eine digitale Signalverarbeitungseinheit, eine analoge Signalverarbeitungseinheit usw.) in einer einzelnen oder einigen integrierten Halbleiterschaltungen (ICs) integriert, um ein elektronisches System, wie beispielsweise ein Computersystem, unter Verwendung einer begrenzten Anzahl an ICs zu implementieren. Das SoC hat sich zu komplexen Systemen entwickelt, die verschiedene Funktionen umfassen, wie beispielsweise Multimedia, Grafik, eine Schnittstelle, Sicherheit usw. Daten, die in dem SoC verarbeitet werden, werden einer externen Speichervorrichtung bereitgestellt und es kann zu einem Replay-Angriff kommen, der vorherige Kommunikationsinhalte untersucht und wiederverwendet, wenn das SoC und die Speichervorrichtung Sicherheitsdaten austauschen. Daher besteht Bedarf an einer Gegenmaßnahme oder Verteidigung gegen einen solchen Replay-Angriff.
  • Kurzfassung
  • Ein Aspekt ist es, ein Verfahren zum Betreiben eines Speichersystems zu schaffen, das eine Gegenmaßnahme gegen einen Replay-Angriff umfasst, um eine Sicherheitsleistung zu verbessern.
  • Ein anderer Aspekt ist die Bereitstellung eines Speichersystems, welches das Verfahren durchführt.
  • Gemäß einem Aspekt eines oder mehrerer beispielhafter Ausführungsformen wird ein Verfahren zum Betreiben eines Speichersystems geschaffen, wobei das Verfahren Folgendes aufweist: Schreiben, durch eine Host-Vorrichtung, erster Sicherheitsdaten und eines ersten Zeitstempels, um einen Replay-Angriff auf einen ersten Speicherbereich, der ein externer Speicherbereich ist, zu verhindern; Aktualisieren, durch die Host-Vorrichtung, eines zweiten Zeitstempels basierend auf dem ersten Zeitstempel, wobei der zweite Zeitstempel dem ersten Zeitstempel entspricht und in einem zweiten Speicherbereich gespeichert ist, der sich von dem ersten Speicherbereich unterscheidet; Empfangen, durch die Host-Vorrichtung, eines ersten Benachrichtigungssignals, das ein Ergebnis der Aktualisierung wiedergibt; und Abschließen eines Schreibvorgangs für die ersten Sicherheitsdaten, wenn durch die Host-Vorrichtung basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich aktualisiert wurde.
  • Gemäß einem anderen Aspekt eines oder mehrerer beispielhafter Ausführungsformen wird ein Speichersystem bereitgestellt, das eine Host-Vorrichtung, eine nichtflüchtige Speichervorrichtung und eine sichere nichtflüchtige Speichervorrichtung umfasst. Die Host-Vorrichtung verarbeitet erste Sicherheitsdaten und einen ersten Zeitstempel, um einen Replay-Angriff zu verhindern. Die nichtflüchtige Speichervorrichtung wird durch die Host-Vorrichtung gesteuert, befindet sich außerhalb der Host-Vorrichtung und umfasst einen ersten Speicherbereich, in dem die ersten Sicherheitsdaten und der erste Zeitstempel geschrieben sind. Die sichere nichtflüchtige Speichervorrichtung wird von der Host-Vorrichtung gesteuert, ist separat von der nichtflüchtigen Speichervorrichtung ausgebildet, und umfasst einen zweiten Speicherbereich, in dem ein zweiter Zeitstempel, der dem ersten Zeitstempel entspricht, geschrieben wird. Die Host-Vorrichtung schreibt die ersten Sicherheitsdaten und den ersten Zeitstempel in den ersten Speicherbereich und aktualisiert den zweiten Zeitstempel basierend auf dem ersten Zeitstempel. Die sichere nichtflüchtige Speichervorrichtung erzeugt ein erstes Benachrichtigungssignal, das ein Ergebnis einer Aktualisierung des zweiten Zeitstempels wiedergibt. Die Host-Vorrichtung schließt einen Schreibvorgang für die ersten Sicherheitsdaten ab, wenn basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich aktualisiert wurde.
  • Gemäß noch einem weiteren Aspekt eines oder mehrerer beispielhafter Ausführungsformen wird ein Speichersystem bereitgestellt, das eine Host-Vorrichtung und eine nichtflüchtige Speichervorrichtung umfasst. Die Host-Vorrichtung verarbeitet erste Sicherheitsdaten und einen ersten Zeitstempel, um einen Replay-Angriff zu verhindern. Die nichtflüchtige Speichervorrichtung wird durch die Host-Vorrichtung gesteuert, befindet sich außerhalb der Host-Vorrichtung, umfasst einen ersten Speicherbereich, in dem die ersten Sicherheitsdaten und der erste Zeitstempel geschrieben sind, und umfasst einen zweiten Speicherbereich, in dem ein zweiter Zeitstempel geschrieben ist, der dem ersten Zeitstempel entspricht. Der zweite Speicherbereich unterscheidet sich von dem ersten Speicherbereich. Die Host-Vorrichtung schreibt die ersten Sicherheitsdaten und den ersten Zeitstempel in den ersten Speicherbereich und aktualisiert den zweiten Zeitstempel basierend auf dem ersten Zeitstempel. Die nichtflüchtige Speichervorrichtung erzeugt ein erstes Benachrichtigungssignal, das ein Ergebnis einer Aktualisierung des zweiten Zeitstempels wiedergibt. Die Host-Vorrichtung schließt einen Schreibvorgang für die ersten Sicherheitsdaten ab, wenn basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich aktualisiert wurde.
  • Figurenliste
  • Veranschaulichende, nicht einschränkende beispielhafte Ausführungsformen sind deutlicher aus der nachfolgenden, detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen nachzuvollziehen, in welchen:
    • 1 ein Flussdiagramm ist, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 2 ein Blockschaltbild ist, das ein Speichersystem entsprechend beispielhafter Ausführungsformen veranschaulicht;
    • 3 ein Schema ist, das ein Beispiel veranschaulicht, in dem das Verfahren aus 1 von dem Speichersystem aus 2 gemäß beispielhaften Ausführungsformen durchgeführt wird;
    • 4 ein Schema ist, das einen Vorgang aus 3 gemäß beispielhaften Ausführungsformen im Detail veranschaulicht;
    • 5 ein Flussdiagramm ist, das ein Beispiel veranschaulicht, in dem erste Sicherheitsdaten und ein erster Zeitstempel in einen ersten Speicherbereich in 1 gemäß beispielhaften Ausführungsformen geschrieben werden;
    • 6 ein Flussdiagramm ist, das ein Beispiel des Aktualisierens eines zweiten Zeitstempels in 1 gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 7 ein Flussdiagramm ist, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 8 ein Schema ist, das ein Beispiel veranschaulicht, in dem das Verfahren aus 7 von dem Speichersystem aus 2 gemäß beispielhaften Ausführungsformen durchgeführt wird;
    • 9 ein Schema ist, das einen Vorgang aus 8 gemäß beispielhaften Ausführungsformen im Detail veranschaulicht;
    • 10 ein Flussdiagramm ist, das ein Beispiel des Einstellens eines ersten Zeitstempels in 7 gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 11 ein Flussdiagramm ist, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 12 ein Schema ist, das ein Beispiel veranschaulicht, in dem das Verfahren aus 11 von dem Speichersystem aus 2 gemäß beispielhaften Ausführungsformen durchgeführt wird;
    • 13 ein Flussdiagramm ist, das ein Beispiel veranschaulicht, bei dem gemäß beispielhaften Ausführungsformen überprüft wird, ob ein Replay-Angriff in 11 stattgefunden hat;
    • 14 ein Flussdiagramm ist, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 15 ein Schema ist, das ein Beispiel veranschaulicht, in dem das Verfahren gemäß beispielhaften Ausführungsformen von dem Speichersystem aus 2 durchgeführt wird, gemäß beispielhaften Ausführungsformen;
    • 16 und 17Blockschaltbilder sind, die ein Speichersystem entsprechend beispielhafter Ausführungsformen veranschaulichen;
    • 18 ein Blockschaltbild ist, das ein Beispiel eines nichtflüchtigen Speichers, der in einem Speichersystem umfasst ist, gemäß beispielhaften Ausführungsformen veranschaulicht;
    • 19 ein Blockschaltbild ist, das ein Beispiel einer Speichervorrichtung, die in einem Speichersystem gemäß beispielhaften Ausführungsformen umfasst ist, veranschaulicht; und
    • 20 ein Blockschaltbild ist, das ein elektronisches System gemäß beispielhaften Ausführungsformen veranschaulicht.
  • Detaillierte Beschreibung
  • Verschiedene beispielhafte Ausführungsformen werden nun vollständiger unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen Ausführungsformen gezeigt sind. Die vorliegende Offenbarung kann allerdings in unterschiedlicher Art und Weise verkörpert sein und sollte nicht als auf die vorliegend dargelegten Ausführungsformen beschränkt ausgelegt werden. Gleiche Bezugszeichen beziehen sich in der gesamten Anmeldung auf gleiche Elemente.
  • Bei einem Speichersystem und einem Verfahren zum Betreiben des Speichersystems gemäß beispielhaften Ausführungsformen kann ein Zeitstempel, der als Gegenmaßnahme gegen einen Replay-Angriff verwendet wird, an einem sicheren Speicherplatz separat von einem normalen Speicherplatz gespeichert werden, und ein Datenschutzprotokoll zwischen der Host-Vorrichtung und dem normalen Speicherplatz kann basierend auf dem Zeitstempel implementiert werden, der an dem sicheren Speicherplatz gespeichert ist, wodurch der Replay-Angriff effizient verhindert wird. Zudem können ein Schreibvorgang zum Speichern von Sicherheitsdaten an dem normalen Speicherplatz und ein sicherer Aktualisierungsvorgang zum Speichern des Zeitstempels an dem sicheren Speicherplatz eng miteinander gekoppelt sein, und es kann bestimmt werden, dass der Schreibvorgang erst abgeschlossen ist, wenn der sichere Aktualisierungsvorgang erfolgreich abgeschlossen ist, wodurch die Stabilität und Zuverlässigkeit von Vorgängen des Speichersystems sichergestellt wird.
  • Ferner kann, wenn das Speichersystem eingeschaltet wird, der Zeitstempel in der Host-Vorrichtung sicher und geschützt basierend auf dem an dem sicheren Speicherplatz gespeicherten Zeitstempel initialisiert werden, und die nachfolgenden Vorgänge können erst durchgeführt werden, nachdem das Einstellen des ersten Zeitstempels erfolgreich abgeschlossen wurde, wodurch die Stabilität und Zuverlässigkeit von Vorgängen des Speichersystems sichergestellt wird.
  • 1 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht.
  • Ein Speichersystem gemäß beispielhaften Ausführungsformen umfasst eine Host-Vorrichtung und umfasst einen ersten Speicherbereich und einen zweiten Speicherbereich, die getrennt voneinander ausgebildet sind (z. B. separat, unterschiedlich und/oder voneinander verschieden). Eine Konfiguration des Speichersystems wird unter Bezugnahme auf 2 beschrieben.
  • In 1 schreibt die Host-Vorrichtung in einem Betriebsverfahren des Speichersystems gemäß beispielhaften Ausführungsformen, wenn gewünscht wird, ein Datenschreibereignis für die ersten Sicherheitsdaten durchzuführen, die ersten Sicherheitsdaten und einen ersten Zeitstempel, um einen Replay-Angriff auf den ersten Speicherbereich zu verhindern (Schritt S 100). Zum Beispiel können die ersten Sicherheitsdaten mindestens ein Typ aus verschiedenen sicheren Daten sein, wie beispielsweise ein Kryptografieschlüssel, vertrauliche Daten, ein vertraulicher Code usw. Der erste Speicherbereich kann sich außerhalb der Host-Vorrichtung befinden und kann ein normaler oder allgemeiner Datenspeicherplatz sein.
  • Der Replay-Angriff stellt einen Angriff dar, der sich als legitimer Nutzer tarnt, indem eine gültige Nachricht eines Protokolls ausgewählt wird und die gültige Nachricht dann kopiert wird und die gültige Nachricht später neu übermittelt wird. Mit anderen Worten, der Replay-Angriff stellt ein Verfahren zum Hacken der Sicherheit dar, bei dem vorheriger Code und/oder Daten gespeichert werden, die zwischen der Host-Vorrichtung und dem ersten Speicherbereich kommuniziert wurden, und der vorherige Code und/oder Daten dann erneut an die Host-Vorrichtung übermittelt werden. Der erste Zeitstempel kann als Tag zur Erfassung des Replay-Angriffs verwendet werden. Mit anderen Worten, der erste Zeitstempel kann Anti-Replay-Gegenmaßnahmendaten und/oder Informationen verkörpern, die verwendet werden, um den Replay-Angriff auf die ersten Sicherheitsdaten zu verhindern.
  • Die Host-Vorrichtung aktualisiert einen zweiten Zeitstempel basierend auf dem ersten Zeitstempel (Schritt S200). Der zweite Zeitstempel ist in dem zweiten Speicherbereich gespeichert und entspricht dem ersten Zeitstempel. Wie oben beschrieben, ist der zweite Speicherbereich separat, unterschiedlichen und/oder von dem ersten Speicherbereich verschieden. Anders als der erste Speicherbereich kann der zweite Speicherbereich ein sicherer Datenspeicherplatz sein. Zum Beispiel kann der zweite Zeitstempel aktualisiert werden, sodass er einen Wert hat, der im Wesentlichen der gleiche ist, wie jener des ersten Zeitstempels.
  • Ein erstes Benachrichtigungssignal, das ein Ergebnis einer Aktualisierung des zweiten Zeitstempels darstellt, der in dem zweiten Speicherbereich gespeichert ist, wird erzeugt, und die Host-Vorrichtung empfängt das erste Benachrichtigungssignal (Schritt S300). Zum Beispiel kann das erste Benachrichtigungssignal von einer Speichervorrichtung bereitgestellt werden, die den zweiten Speicherbereich umfasst, und kann angeben, ob ein Aktualisierungsvorgang für den zweiten Zeitstempel erfolgreich war oder gescheitert ist.
  • Die Host-Vorrichtung bestimmt, ob der Aktualisierungsvorgang erfolgreich ist (Schritt S400). Zum Beispiel kann die Host-Vorrichtung basierend auf dem ersten Benachrichtigungssignal bestimmen, ob der Aktualisierungsvorgang für den zweiten Zeitstempel erfolgreich war oder gescheitert ist. Wenn bestimmt wird, dass der Aktualisierungsvorgang erfolgreich war (z. B. der zweite Zeitstempel erfolgreich aktualisiert wurde) (Schritt S400: JA), wird ein Schreibvorgang für die ersten Sicherheitsdaten abgeschlossen (Schritt S410). Wenn bestimmt wird, dass der Aktualisierungsvorgang nicht erfolgreich war (z. B. wenn der zweite Zeitstempel nicht erfolgreich aktualisiert wurde) (Schritt S400: NEIN), kann bestimmt werden, dass der Schreibvorgang für die ersten Sicherheitsdaten gescheitert ist (Schritt S420).
  • Bei dem Verfahren zum Betreiben des Speichersystems gemäß beispielhaften Ausführungsformen kann der Zeitstempel, der als Gegenmaßnahme gegen den Replay-Angriff verwendet wird, an einem sicheren Speicherplatz (z. B. dem zweiten Speicherbereich) separat von einem normalen Speicherplatz (z. B. dem ersten Speicherbereich) gespeichert sein, und ein Datenschutzprotokoll zwischen der Host-Vorrichtung und dem normalen Speicherbereich kann basierend auf dem Zeitstempel implementiert werden, der an dem sicheren Speicherplatz gespeichert ist. Zudem kann ein Schreibvorgang zur Speicherung von Sicherheitsdaten in dem normalen Speicherplatz und ein sicherer Aktualisierungsvorgang zum Speichern des Zeitstempels an dem sicheren Speicherplatz eng miteinander gekoppelt sein (d. h. zu der Zeit, zu der die Sicherheitsdaten an dem normalen Speicherplatz gespeichert werden, wird der Zeitstempel sicher an dem sicheren Speicherplatz aktualisiert) und es kann bestimmt werden, dass der Schreibvorgang erst abgeschlossen ist, wenn der sichere Aktualisierungsvorgang erfolgreich abgeschlossen ist. Entsprechend kann der Replay-Angriff effizient verhindert werden und es können die Stabilität und Zuverlässigkeit von Vorgängen des Speichersystems sichergestellt werden.
  • 2 ist ein Blockschaltbild, das ein Speichersystem entsprechend beispielhafter Ausführungsformen veranschaulicht.
  • In 2 umfasst ein Speichersystem 100 eine Host-Vorrichtung 200, eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) 300 und eine sichere nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) 400.
  • Die Host-Vorrichtung 200 steuert Gesamtvorgänge des Speichersystems 100. Die Host-Vorrichtung 200 umfasst einen Host-Prozessor 210 und ein Secure Element (SE) 220. Die Host-Vorrichtung 200 kann ferner einen Host-Speicher (nicht gezeigt) umfassen.
  • Der Host-Prozessor 210 steuert einen Vorgang der Host-Vorrichtung 200. Zum Beispiel kann der Host-Prozessor 210 ein Betriebssystem (OS) ausführen, um das Speichersystem 100 anzutreiben, und kann verschiedene Anwendungen ausführen, wie beispielsweise einen Internetbrowser zur Verfügung stellen, ein Spiel ausführen, eine Videodatei anzeigen, ein Kameramodul steuern usw. Das Betriebssystem, das von dem Host-Prozessor 210 ausgeführt wird, kann ein Dateisystem zur Dateiverwaltung und einen Vorrichtungstreiber zum Steuern von Peripheriegeräten umfassen, welche die nichtflüchtige Speichervorrichtung 300 und die sichere nichtflüchtige Speichervorrichtung 400 auf der Betriebssystemebene umfassen.
  • In einigen beispielhaften Ausführungsformen kann der Host-Prozessor 210 eine zentrale Verarbeitungseinheit (CPU), ein Mikroprozessor, ein Anwendungsprozessor (AP) usw. sein. In einigen Ausführungsformen kann der Host-Prozessor 210 einen einzigen Prozessorkern umfassen. In einigen Ausführungsformen kann der Host-Prozessor 210 eine Mehrzahl von Prozessorkernen umfassen.
  • Das Secure Element 220 unterscheidet sich von dem Host-Prozessor 210 und ist separat von dem Host-Prozessor 210 ausgebildet (z. B. separat, unterschiedlich und/oder verschieden von dem Host-Prozessor 210). Das Secure Element 220 steuert einen Vorgang der Host-Vorrichtung 200 in einem sicheren Modus unabhängig von dem Host-Prozessor 210. Mit anderen Worten, das Secure Element 220 kann verwendet werden, um eine unabhängige, sichere Ausführungsumgebung zu implementieren. Zum Beispiel kann das Secure Element 220 gegen Sabotageangriffe wie einen Replay-Angriff, Microprobing, einem Software-Angriff, Eavesdropping, Fault-Generation-Angriffen usw. widerstandsfähig sein. Das Secure Element 220 kann als Sicherheitshardware, Sicherheitskomponente oder Sicherheitsmodul bezeichnet werden.
  • Das Secure Element 220 verarbeitet und/oder speichert erste Sicherheitsdaten X und einen ersten Zeitstempel TS, der den ersten Sicherheitsdaten X entspricht. Mit anderen Worten, das Verfahren zum Betrieb des Speichersystems gemäß beispielhaften Ausführungsformen kann von dem Secure Element 220, das in der Host-Vorrichtung 200 umfasst ist, durchgeführt und/oder ausgeführt werden. Obwohl nicht in 2 veranschaulicht, kann das Secure Element 220 einen sicheren Prozessor umfassen, der die ersten Sicherheitsdaten X und den ersten Zeitstempel TS verarbeitet, einen sicheren Speicher, der die ersten Sicherheitsdaten X und den ersten Zeitstempel TS speichert, einen One-Time-Programmable(OPT)-Speicher, der einen Schlüssel für die Verschlüsselung der ersten Sicherheitsdaten X und des ersten Zeitstempels TS usw. speichert.
  • In einigen beispielhaften Ausführungsformen kann das Secure Element 220 ein integriertes Secure Element (iSE) und/oder ein eingebettetes Secure Element (eSE) sein, das in die Host-Vorrichtung 200 integriert ist. Mit anderen Worten, die Host-Vorrichtung 200 kann in Form eines einzelnen Halbleitergehäuses implementiert sein, das das Secure Element 220 umfasst. In diesem Beispiel können der sichere Speicher und der OTP-Speicher, der in dem Secure Element 220 umfasst sind, jeweils in Form eines integrierten Direktzugriffsspeichers (iRAM) und eines integrierten OTP (iOTP) implementiert werden.
  • Der Host-Speicher (nicht gezeigt) kann Anweisungen und/oder Daten speichern, die von dem Host-Prozessor 210 und/oder dem Secure Element 220 ausgeführt und/oder verarbeitet werden. Zum Beispiel kann der Host-Speicher ein Startimage, das Dateisystem, den Vorrichtungstreiber und/oder die Anwendungen speichern.
  • In einigen beispielhaften Ausführungsformen kann die Host-Vorrichtung 200 in Form eines Ein-Chip-Systems (SoC) implementiert sein.
  • Zugriff auf sowie Steuerung der nichtflüchtigen Speichervorrichtung 300, die sich außerhalb der Host-Vorrichtung 200 befindet, erfolgt durch die Host-Vorrichtung 200. In einem Fall, in dem das Secure Element 220 in der Host-Vorrichtung 200 integriert ist, sollte ein nichtflüchtiger Speicher zum Speichern sicherer Inhalte, die von dem Secure Element 220 verwendet werden, zusammen in der Host-Vorrichtung 200 integriert werden. Aufgrund eines Problems des Herstellungsprozesses ist es allerdings schwierig, die nichtflüchtige Speichervorrichtung in der Host-Vorrichtung 200 zu integrieren, und daher kann eine externe nichtflüchtige Speichervorrichtung (z. B. die nichtflüchtige Speichervorrichtung 300) verwendet werden, um sichere Inhalte zu speichern. Daten, die in der nichtflüchtigen Speichervorrichtung 300 gespeichert sind, können von dem Secure Element 220 verschlüsselt werden und können ein Tag wie beispielsweise einen Nachrichten-Authentifizierungscode (MAC) zur Überprüfung der Integrität umfassen.
  • Die nichtflüchtige Speichervorrichtung 300 umfasst einen ersten Speicherbereich (SPEICHERBEREICH1) 310, in den die ersten Sicherheitsdaten X und der erste Zeitstempel TS geschrieben werden, die von der Host-Vorrichtung 200 verarbeitet werden (z. B. durch das Secure Element 220, das in der Host-Vorrichtung 200 umfasst ist). Zum Beispiel können verschlüsselte, erste Sicherheitsdaten X', die den ersten Sicherheitsdaten X entsprechen, und ein erster Nachrichten-Authentifizierungscode MAC(TS), der Informationen umfasst, die mit dem ersten Zeitstempel TS assoziiert sind, in dem ersten Speicherbereich 310 gespeichert sein.
  • Die Host-Vorrichtung 200 kann Datenschreib-/-lesevorgänge in der nichtflüchtigen Speichervorrichtung 300 steuern. Zum Beispiel wenn gewünscht wird, spezifische Daten in die nichtflüchtige Speichervorrichtung 300 zu schreiben, kann die Host-Vorrichtung 200 einen Schreibbefehl, eine Schreibadresse und Daten, die in die nichtflüchtige Speichervorrichtung 300 geschrieben werden sollen, bereitstellen. Wenn gewünscht wird, spezifische Daten von der nichtflüchtigen Speichervorrichtung 300 auszulesen, kann die Host-Vorrichtung 200 zudem der nichtflüchtigen Speichervorrichtung 300 einen Lesebefehl und eine Leseadresse bereitstellen und sie kann Daten empfangen, die von der nichtflüchtigen Speichervorrichtung 300 abgerufen wurden.
  • Auf die nichtflüchtige Speichervorrichtung 300 kann sowohl von dem Host-Prozessor 210 als auch von dem Secure Element 220 zugegriffen werden. In diesem Fall kann auf den ersten Speicherbereich 310 nur von dem Secure Element 220 zugegriffen werden. Obwohl in 2 nicht veranschaulicht, kann die nichtflüchtige Speichervorrichtung 300 ferner einen Speicherbereich umfassen, auf den nur von einem Host-Prozessor 210 zugegriffen werden kann, und/oder einen Speicherbereich, auf den von sowohl dem Host-Prozessor 210 als auch dem Secure Element 220 zugegriffen werden kann.
  • In einigen beispielhaften Ausführungsformen kann die nichtflüchtige Speichervorrichtung 300 in Form eines normalen oder allgemeinen Datenspeicherplatzes implementiert sein. Zum Beispiel kann die nichtflüchtige Speichervorrichtung 300 einen Flash-Speicher (z. B. einen NAND-Flash-Speicher) umfassen. Als anderes Beispiel kann die nichtflüchtige Speichervorrichtung 300 einen Phasenänderungs-Direktzugriffsspeicher (PRAM), einen resistiven Direktzugriffsspeicher (RRAM), einen Nano-Floating-Gate-Speicher (NFGM), einen Polymer-Direktzugriffsspeicher (PoRAM), einen magnetischen Direktzugriffsspeicher (MRAM), einen ferroelektrische Direktzugriffsspeicher (FRAM) oder dergleichen umfassen.
  • In einigen beispielhaften Ausführungsformen, wie unter Bezugnahme auf 18 beschrieben, kann die nichtflüchtige Speichervorrichtung 300 einen nichtflüchtigen Speicher umfassen. In anderen beispielhaften Ausführungsformen, wie unter Bezugnahme auf 19 beschrieben, kann die nichtflüchtige Speichervorrichtung 300 in Form einer Speichervorrichtung implementiert werden, die eine Mehrzahl von nichtflüchtigen Speichern umfasst.
  • Zugriff auf sowie Steuerung der sicheren nichtflüchtigen Speichervorrichtung 400, die separat von der nichtflüchtigen Speichervorrichtung 300 (z. B. separat, unterschiedlich und/oder verschieden von der nichtflüchtigen Speichervorrichtung 300) ausgebildet ist, erfolgt durch die Host-Vorrichtung 200. In dem Beispiel aus 2 kann sich die sichere nichtflüchtige Speichervorrichtung 400 außerhalb der Host-Vorrichtung 200 befinden. Mit anderen Worten, die Host-Vorrichtung 200 und die nichtflüchtige Speichervorrichtung 400 können in oder als separate Halbleitergehäuse ausgebildet oder konfiguriert sein.
  • Die sichere nichtflüchtige Speichervorrichtung 400 umfasst einen zweiten Speicherbereich 410, in dem ein zweiter Zeitstempel NV_TS, der dem ersten Zeitstempel TS entspricht, gespeichert ist. Zum Beispiel können der erste Zeitstempel TS und der zweite Zeitstempel NV_TS im Wesentlichen denselben Wert haben.
  • Die Host-Vorrichtung 200 kann Datenschreib-/-lesevorgänge in der sicheren nichtflüchtigen Speichervorrichtung 400 steuern. Anders als bei der nichtflüchtigen Speichervorrichtung 300, kann auf die sichere nichtflüchtige Speichervorrichtung 400 nur durch das Secure Element 220 zugegriffen werden.
  • In einigen beispielhaften Ausführungsformen kann die sichere nichtflüchtige Speichervorrichtung 400, anders als die nichtflüchtige Speichervorrichtung 300, in Form eines sicheren Datenspeicherplatzes implementiert werden.
  • Das Speichersystem 100 kann ferner eine erste Schnittstelle umfassen, die sich zwischen der Host-Vorrichtung 200 und der nichtflüchtigen Speichervorrichtung 300 befindet bzw. ausgebildet ist, und eine zweite Schnittstelle, die sich zwischen der Host-Vorrichtung 200 und der sicheren nichtflüchtigen Speichervorrichtung 400 befindet bzw. ausgebildet ist. In 2 kann ein Doppelpfeil, der zwischen der Host-Vorrichtung 200 und der nichtflüchtigen Speichervorrichtung 300 eingezeichnet ist, die erste Schnittstelle wiedergeben bzw. darstellen, und ein anderer Doppelpfeil, der zwischen der Host-Vorrichtung 200 und der sicheren nichtflüchtigen Speichervorrichtung 400 eingezeichnet ist, kann die zweite Schnittstelle wiedergeben.
  • Sowohl die erste als auch die zweite Schnittstelle kann eine bidirektionale digitale Schnittstelle darstellen, die einen digitalen Stream, z. B. eine Bit-Sequenz übertragen kann. Zum Beispiel können ein einzelner Draht oder mehrere Drähte als elektrische Übertragungsleitung implementiert werden, z. B. ein Mikrostrip, der unter Verwendung von Platinen(PCB)-Technik hergestellt wurde, aber die erfinderischen Konzepte sind nicht darauf beschränkt.
  • In einigen beispielhaften Ausführungsformen können die erste Schnittstelle und die zweite Schnittstelle unterschiedlichen Protokollen entsprechen und können Signale basierend auf den unterschiedlichen Protokollen austauschen. Zum Beispiel kann die erste Schnittstelle eine normale oder allgemeine Kommunikationsschnittstelle umfassen (z. B. eine blockzugängliche Schnittstelle), wie beispielsweise einen Universal Flash Storage (UFS), eine embedded MultiMediaCard (eMMC), einen Serial-Advanced-Technology-Attachment(SATA)-Bus, einen Small-Computer-System-Interface(SCSI)-Bus, einen Nonvolatile-Memory-Express(NVMe)-Bus, einen Serial-Attached-SCSI(SAS)-Bus oder dergleichen. Die zweite Schnittstelle kann sich von der ersten Schnittstelle unterscheiden und umfasst eine dedizierte Sicherheitsschnittstelle (oder ein dediziertes Sicherheitsprotokoll) für eine sichere Kommunikation. Mit anderen Worten, das Secure Element 220 und die sichere nichtflüchtige Speichervorrichtung 400 können miteinander unter Verwendung eines sicheren Protokolls und eines sicheren Kanals kommunizieren.
  • In einigen beispielhaften Ausführungsformen kann das Speichersystem 100 ein beliebiges mobiles System sein, wie beispielsweise ein Mobiltelefon, ein Smartphone, ein Tablet, ein Laptop, ein persönlicher digitaler Assistent (PDA), ein tragbarer Multimedia Player (PMP), eine Digitalkamera, eine tragbare Spielekonsole, ein Musik-Player, ein Camcorder, ein Video-Player, eine Navigationsvorrichtung, eine Wearable-Vorrichtung, eine Vorrichtung für das Internet der Dinge (IoT: Internet of Things), eine Vorrichtung für das Internet von Allem (IoE: Internet of Everything), ein E-Book-Reader, eine Vorrichtung für virtuelle Realität (VR), eine Vorrichtung für erweiterte Realität (AR: Augmented Reality), eine Robotervorrichtung usw. In anderen beispielhaften Ausführungsformen kann das Speichersystem 100 ein beliebiges Rechensystem sein, wie beispielsweise ein Personalcomputer (PC), ein Servercomputer, eine Workstation, ein digitaler Fernseher, eine Set-Top-Box, ein Navigationssystem usw.
  • 3 ist ein Schema, das ein Beispiel veranschaulicht, in dem das Verfahren aus 1 von dem Speichersystem aus 2 gemäß beispielhaften Ausführungsformen durchgeführt wird.
  • In 1, 2 und 3 schreibt die Host-Vorrichtung 200 (z. B. das Secure Element 220, das in der Host-Vorrichtung 200 umfasst ist) erste Sicherheitsdaten X(0) und einen ersten Zeitstempel TS(X), der den ersten Sicherheitsdaten X(0) entspricht, in die nichtflüchtige Speichervorrichtung 300 (z. B. den ersten Speicherbereich 310, der in der nichtflüchtigen Speichervorrichtung 300 umfasst ist) (Schritt S100). Verschlüsselte erste Sicherheitsdaten X'(0), die den ersten Sicherheitsdaten X(0) entsprechen, und ein erster Nachrichten-Authentifizierungscode MAC[TS(X)], der mit dem ersten Zeitstempel TS(X) assoziierte Informationen umfasst, können in der nichtflüchtigen Speichervorrichtung 300 gespeichert sein.
  • Die Host-Vorrichtung 200 aktualisiert (SICHERE AKTUALISIERUNG) einen zweiten Zeitstempel NV_TS(X+1), der in der sicheren nichtflüchtigen Speichervorrichtung 400 gespeichert ist (z. B. dem zweiten Speicherbereich 410, der in der sicheren nichtflüchtigen Speichervorrichtung 400 umfasst ist) und der dem ersten Zeitstempel TS(X) entspricht, basierend auf dem ersten Zeitstempel TS(X) (Schritt S200). Zum Beispiel kann der zweite Zeitstempel zu einer Anfangsvorgangszeit NV_TS(X) sein und kann dann zu NV_TS(X+1) aktualisiert werden.
  • Die sichere nichtflüchtige Speichervorrichtung 400 erzeugt ein erstes Benachrichtigungssignal (BESTÄTIGEN), das ein Ergebnis einer Aktualisierung des zweiten Zeitstempels NV_TS(X+1) wiedergibt, und die Host-Vorrichtung 200 empfängt das erste Benachrichtigungssignal (Schritt S300).
  • Die Host-Vorrichtung 200 überprüft oder bestimmt basierend auf dem ersten Benachrichtigungssignal, ob der Aktualisierungsvorgang für den zweiten Zeitstempel NV_TS(X+1) erfolgreich war oder gescheitert ist (Schritt S400). Basierend auf einem Ergebnis eines solchen Bestimmungsvorgangs ist der Schreibvorgang für die ersten Sicherheitsdaten X(0) abgeschlossen oder es wird bestimmt, dass der Schreibvorgang für die ersten Sicherheitsdaten X(0) gescheitert ist.
  • 4 ein Schema ist, das einen Vorgang aus 3 gemäß beispielhaften Ausführungsformen im Detail veranschaulicht. 4 veranschaulicht Schritte S100 und S200 des Vorgangs aus 3 im Detail. 5 ist ein Flussdiagramm, das ein Beispiel veranschaulicht, in dem erste Sicherheitsdaten und ein erster Zeitstempel in einem ersten Speicherbereich in 1 gespeichert werden. 6 ist ein Flussdiagramm, das ein Beispiel für das Aktualisieren eines zweiten Zeitstempels in 1 veranschaulicht.
  • In 1, 2, 4 und 5, wenn die ersten Sicherheitsdaten und der erste Zeitstempel in den ersten Speicherbereich geschrieben werden (Schritt S100), kann die Host-Vorrichtung 200 (z. B. das in der Host-Vorrichtung 200 umfasste Secure Element 220) die ersten Sicherheitsdaten X(0) verschlüsseln, um die verschlüsselten ersten Sicherheitsdaten X'(0) zu erzeugen (Schritt S110). Zum Beispiel können die ersten Sicherheitsdaten X'(0) als „Enc(Data(X))“ bezeichnet werden, wobei die Beschreibung eines Schlüssels für die Verschlüsselung ausgelassen wird.
  • Die Host-Vorrichtung 200 kann den ersten Nachrichten-Authentifizierungscode MAC[TS(X)] für die verschlüsselten ersten Sicherheitsdaten X'(0) und den ersten Zeitstempel TS(X) erzeugen (Schritt S120). Zum Beispiel kann der erste Nachrichten-Authentifizierungscode MAC[TS(X)] als „MAC(Enc(Data(X))+TS(X))“ bezeichnet werden, wobei die Beschreibung eines Schlüssels für die Verschlüsselung ebenfalls ausgelassen wird.
  • Die Host-Vorrichtung 200 kann die verschlüsselten ersten Sicherheitsdaten X'(0) und den ersten Nachrichten-Authentifizierungscode MAC[TS(X)] an die nichtflüchtige Speichervorrichtung 300 (z. B. den ersten Speicherbereich 310, der in der nichtflüchtigen Speichervorrichtung 300 umfasst ist) übertragen (Schritt S130). Die verschlüsselten ersten Sicherheitsdaten X'(0) und der erste Nachrichten-Authentifizierungscode MAC[TS(X)] können in dem ersten Speicherbereich 310 gespeichert werden.
  • In 1, 2, 4 und 6, wenn der zweite Zeitstempel aktualisiert wird (Schritt S200), kann die Host-Vorrichtung 200 (z. B. das Secure Element 220, das in der Host-Vorrichtung 200 umfasst ist), einen Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] basierend auf dem ersten Zeitstempel TS(X) und einem Sitzungsschlüssel erzeugen (Schritt S210). Zum Beispiel kann der Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] einen verschlüsselten ersten Zeitstempel umfassen, der als „Enc(TS(X), Skey)“ bezeichnet wird, und einen entsprechenden Nachrichten-Authentifizierungscode, der als „MAC(TS(X))“ bezeichnet wird, und „Skey“ kann den Sitzungsschlüssel wiedergeben bzw. darstellen. Der Sitzungsschlüssel wird unter Bezugnahme auf 9 beschrieben.
  • Die sichere nichtflüchtige Speichervorrichtung 400 kann den zweiten Zeitstempel NV_TS(X+1) basierend auf dem Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] so aktualisieren, dass ein Wert des zweiten Zeitstempels NV_TS(X+1) einem Wert des ersten Zeitstempels TS(X) entspricht. Zum Beispiel kann die sichere nichtflüchtige Speichervorrichtung 400 eine Verarbeitungseinheit umfassen, die fähig ist, unten beschriebene Vorgänge durchzuführen und/oder auszuführen.
  • Die sichere nichtflüchtige Speichervorrichtung 400 kann den ersten Zeitstempel TS(X) basierend auf dem Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] erhalten (Schritt S220). Zum Beispiel kann der Nachrichten-Authentifizierungscode, der in dem Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] umfasst ist, überprüft werden, der verschlüsselte erste Zeitstempelaktualisierungsbefehl, der in dem Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] umfasst ist, kann unter Verwendung des Sitzungsschlüssels entschlüsselt werden, und so kann der erste Zeitstempel TS(X) erhalten werden.
  • Die sichere nichtflüchtige Speichervorrichtung 400 kann den zweiten Zeitstempel NV_TS(X+1) aktualisieren, sodass er einen Wert hat, der derselbe ist wie jener des ersten Zeitstempels TS(X) (Schritt S230). Zum Beispiel kann der erste Zeitstempel TS(X), der von dem Entschlüsselungsvorgang erhalten wird, als zweiter Zeitstempel NV_TS(X+1) gespeichert werden.
  • Danach kann die sichere nichtflüchtige Speichervorrichtung 400 ein erstes Benachrichtigungssignal RSP_SU[TS(X)] erzeugen. Die Host-Vorrichtung 200 kann das erste Benachrichtigungssignal RSP_SU[TS(X)] empfangen und kann basierend auf dem ersten Benachrichtigungssignal RSP_SU[TS(X)] bestimmen, ob der Aktualisierungsvorgang für den zweiten Zeitstempel NV_TS(X+1) erfolgreich war oder gescheitert ist.
  • Bei dem Speichersystem und dem Verfahren zum Betreiben des Speichersystems gemäß beispielhaften Ausführungsformen kann der Zeitstempel verwendet werden, wenn die Sicherheitsdaten gespeichert werden, und so kann der Replay-Angriff effizient verhindert werden. Zudem kann der Zeitstempel an dem separaten, sicheren Speicherplatz gespeichert sein, es kann bestimmt werden, dass der Schreibvorgang für die Sicherheitsdaten erst abgeschlossen ist, wenn der sichere Aktualisierungsvorgang für den Zeitstempel an dem sicheren Speicherplatz erfolgreich abgeschlossen ist, und so kann die Stabilität und Zuverlässigkeit von Vorgängen des Speichersystems sichergestellt wird.
  • 7 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht. Wiederholte Beschreibungen zu 1 werden der Kürze halber weggelassen.
  • In 7 stellt die Host-Vorrichtung in einem Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen basierend auf dem in dem zweiten Speicherbereich gespeicherten zweiten Zeitstempel den ersten Zeitstempel ein (oder initialisiert oder setzt diesen zurück), wenn das Speichersystem eingeschaltet wird (Schritt S500). Schritt S500 kann jedes Mal durchgeführt werden oder dann, wenn das Speichersystem eingeschaltet wird.
  • Schritte S100, S200, S300, S400, S410 und S420 in 7, die nach Schritt S500 durchgeführt werden, können im Wesentlichen dieselben sein wie unter Bezugnahme auf 1 beschrieben.
  • In einigen beispielhaften Ausführungsformen kann der Schreibvorgang für die ersten Sicherheitsdaten erst nachdem oder nur durchgeführt werden, wenn das Einstellen des ersten Zeitstempels erfolgreich abgeschlossen ist. Mit anderen Worten, Schritte S100, S200, S300, S400 und S410 und S420 können erst durchgeführt werden, nachdem Schritt S500 erfolgreich abgeschlossen wurde.
  • Bei dem Verfahren zum Betreiben des Speichersystems gemäß beispielhaften Ausführungsformen kann, wenn das Speichersystem eingeschaltet wird, der erste Zeitstempel in der Host-Vorrichtung basierend auf dem zweiten Zeitstempel, der an einem sicheren Speicherplatz (z. B. dem zweiten Speicherbereich) gespeichert ist, sicher und geschützt initialisiert werden. Zudem können die nachfolgenden Vorgänge erst durchgeführt werden, nachdem die Einstellung des ersten Zeitstempels erfolgreich abgeschlossen wurde. Entsprechend können die Stabilität und Zuverlässigkeit des Speichersystems besser sichergestellt werden.
  • 8 ist ein Schema, das ein Beispiel veranschaulicht, in dem das Verfahren aus 7 von dem Speichersystem aus 2 durchgeführt wird, gemäß beispielhaften Ausführungsformen. Wiederholte Beschreibungen zu 3 werden der Kürze halber weggelassen.
  • In 2, 7 und 8, wenn das Speichersystem 100, das die Host-Vorrichtung 200, die nichtflüchtige Speichervorrichtung 300 und die sichere nichtflüchtige Speichervorrichtung 400 umfasst, eingeschaltet wird, stellt die Host-Vorrichtung 200 (z. B. das Secure Element 220, das in der Host-Vorrichtung 200 umfasst ist) den ersten Zeitstempel TS(X) basierend auf dem zweiten Zeitstempel NV_TS(X) ein (SICHERE EINSTELLUNG), der in der sicheren nichtflüchtigen Speichervorrichtung 400 (z. B. dem in der sicheren nichtflüchtigen Speichervorrichtung 400 umfassten zweiten Speicherbereich 410) gespeichert ist (Schritt S500).
  • Schritte S100, S200, S300 und S400 in 8, die nach Schritt S500 durchgeführt werden, können im Wesentlichen dieselben sein wie unter Bezugnahme auf 3 beschrieben.
  • 9 ist ein Schema, das einen Vorgang aus 8 gemäß beispielhaften Ausführungsformen im Detail veranschaulicht. 9 veranschaulicht Schritt S500 des Vorgangs aus 8 im Detail. 10 ist ein Flussdiagramm, das ein Beispiel für das Einstellen eines ersten Zeitstempels in 7 veranschaulicht.
  • In 2, 7, 9 und 10, wenn der erste Zeitstempel basierend auf dem zweiten Zeitstempel eingestellt wird (Schritt S500), kann die Host-Vorrichtung 200 (z. B. das in der Host-Vorrichtung 200 umfasste Secure Element 220) einen Zeitstempeleinstellungsbefehl CMD_STS basierend auf einer ersten Zufallszahl RAND1 erzeugen (Schritt S510).
  • Zum Beispiel kann die Host-Vorrichtung 200 die erste Zufallszahl RAND1 erzeugen, kann die erste Zufallszahl RAND1 verschlüsseln, um eine verschlüsselte erste Zufallszahl zu erzeugen, und kann den Zeitstempeleinstellungsbefehl CMD_STS basierend auf der verschlüsselten ersten Zufallszahl erzeugen. Zum Beispiel kann die verschlüsselte erste Zufallszahl als „Enc(RAND1, Ekey)“ bezeichnet werden und „Ekey“ kann einen Schlüssel für die Verschlüsselung wiedergeben. Der Zeitstempeleinstellungsbefehl CMD_STS kann die verschlüsselte erste Zufallszahl „Enc(RAND1, Ekey)“ und einen entsprechenden Nachrichten-Authentifizierungscode, der als „MAC(Enc(RAND1, Ekey), Mkey)“ bezeichnet wird, umfassen, und „Mkey“ kann einen Schlüssel für einen Nachrichten-Authentifizierungscode wiedergeben.
  • Die sichere nichtflüchtige Speichervorrichtung 400 kann ein Einstellantwortsignal RSP STS basierend auf dem Zeitstempeleinstellungsbefehl CMD_STS und einer zweiten Zufallszahl RAND2 erstellen (Schritt S520). Zum Beispiel kann die sichere nichtflüchtige Speichervorrichtung 400 eine Verarbeitungseinheit umfassen, die fähig ist, unten beschriebene Vorgänge durchzuführen und/oder auszuführen.
  • Die sichere nichtflüchtige Speichervorrichtung 400 kann die zweite Zufallszahl RAND2 erzeugen, kann den Nachrichten-Authentifizierungscode, der in dem Zeitstempeleinstellungsbefehl CMD_STS umfasst ist, überprüfen, kann die verschlüsselte erste Zufallszahl, die in dem Zeitstempeleinstellungsbefehl CMD_STS umfasst ist, entschlüsseln, um die erste Zufallszahl RAND1 zu erhalten, und kann das Einstellantwortsignal RSP STS basierend auf der ersten Zufallszahl RAND1, der zweiten Zufallszahl RAND2 und dem zweiten Zeitstempel NV TS erzeugen. Zum Beispiel kann der Entschlüsselungsvorgang als „Dec(RAND1, Ekey)“ bezeichnet werden, und das Einstellantwortsignal RSP_STS kann verschlüsselte Daten umfassen, die als „Enc(RAND1+RAND2+NV_TS, Ekey)“ bezeichnet werden, sowie einen entsprechenden Nachrichten-Authentifizierungscode, der als „MAC(Enc(RAND1+RAND2+NV_TS, Ekey), Mkey)“ bezeichnet wird.
  • Die Host-Vorrichtung 200 kann den ersten Zeitstempel TS(X) basierend auf dem Einstellantwortsignal RSP_STS derart einstellen, dass ein Wert des ersten Zeitstempels TS(X) gleich einem Wert des zweiten Zeitstempels NV_TS(X) ist (Schritt S530).
  • Zum Beispiel kann die Host-Vorrichtung 200 den Nachrichten-Authentifizierungscode überprüfen, der in dem Einstellantwortsignal RSP_STS umfasst ist, kann die in dem Einstellantwortsignal RSP_STS umfassten verschlüsselten Daten entschlüsseln, um die erste Zufallszahl RAND1, die zweite Zufallszahl RAND2 und den zweiten Zeitstempel NV_TS zu erhalten, und kann den ersten Zeitstempel TS(X) so einstellen, dass er einen Wert aufweist, der jenem des zweiten Zeitstempels NV_TS(X) entspricht. Zum Beispiel kann der Entschlüsselungsvorgang als „Dec(RAND 1+RAND2+NV_TS, Ekey)“ bezeichnet werden.
  • Nachdem der erste Zeitstempel TS(X) eingestellt wurde, können die Host-Vorrichtung 200 und die sichere nichtflüchtige Speichervorrichtung 400 einen Sitzungsschlüssel SKEY basierend auf der ersten Zufallszahl RAND1 und der zweiten Zufallszahl RAND2 erzeugen (Schritt S540). Zum Beispiel kann der Sitzungsschlüssel SKEY als „Skey=(RAND1+RAND2, Ekey)“ bezeichnet werden. Der Sitzungsschlüssel SKEY kann in dem sicheren Aktualisierungsvorgang verwendet werden und kann verwendet werden, um den Zeitstempelaktualisierungsbefehl CMD_SU[TS(X)] zu erzeugen, wie unter Bezugnahme auf Schritt S210 in 6 beschrieben.
  • Bei dem Speichersystem und dem Verfahren zum Betreiben des Speichersystems gemäß beispielhaften Ausführungsformen kann der Zeitstempel der Host-Vorrichtung bei Einschalten sicher und geschützt basierend auf dem an einem separaten sicheren Speicherplatz gespeicherten Zeitstempel eingestellt und/oder initialisiert werden. Zudem können die nachfolgenden Vorgänge erst durchgeführt werden, nachdem das Einstellen des Zeitstempels in der Host-Vorrichtung erfolgreich abgeschlossen wurde, und so können die Stabilität und Zuverlässigkeit von Vorgängen des Speichersystems besser sichergestellt werden.
  • 11 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht. Wiederholte Beschreibungen zu 1 werden weggelassen.
  • Bezug nehmend auf 11 können bei einem Betriebsverfahren für ein Speichersystem gemäß beispielhaften Ausführungsformen Schritte S100, S200, S300, S400, S410 und S420 in 11 im Wesentlichen die gleichen sein können wie unter Bezugnahme auf 1 beschrieben.
  • Wenn gewünscht wird, ein Datenleseereignis für die ersten Sicherheitsdaten durchzuführen, nachdem der Schreibvorgang für die ersten Sicherheitsdaten abgeschlossen wurde, liest die Host-Vorrichtung die ersten Sicherheitsdaten und den ersten Zeitstempel von dem ersten Speicherbereich aus (Schritt S600). Wie oben beschrieben, können die verschlüsselten ersten Sicherheitsdaten, die den ersten Sicherheitsdaten entsprechen, und der erste Nachrichten-Authentifizierungscode, der dem ersten Zeitstempel entspricht, in dem ersten Speicherbereich gespeichert werden, und so können die verschlüsselten ersten Sicherheitsdaten und der erste Nachrichten-Authentifizierungscode aus dem ersten Speicherbereich ausgelesen werden.
  • Die Host-Vorrichtung überprüft basierend auf dem ersten Zeitstempel, ob der Replay-Angriff auf die ersten Sicherheitsdaten stattgefunden hat (Schritt S700). Zum Beispiel kann der erste Zeitstempel in der Host-Vorrichtung mit dem ersten Zeitstempel in dem ersten Nachrichten-Authentifizierungscode verglichen werden und so kann effizient überprüft werden, ob der Replay-Angriff stattgefunden hat. Falls ein Replay-Angriff nicht stattgefunden hat, kann die Host-Vorrichtung mit der Verarbeitung der Daten fortschreiten. Falls ein Replay-Angriff stattgefunden hat, kann die Host-Vorrichtung die Daten ignorieren oder eine Benachrichtigung bereitstellen, dass der Replay-Angriff stattgefunden hat.
  • 12 ist ein Schema, das ein Beispiel veranschaulicht, in dem das Verfahren aus 11 von dem Speichersystem aus 2 durchgeführt wird, gemäß beispielhaften Ausführungsformen. Wiederholte Beschreibungen zu 3 werden der Kürze halber weggelassen.
  • Es wird auf 2, 11 und 12 Bezug genommen; Schritte S100, S200, S300 und S400 in 12 können im Wesentlichen dieselben sein wie jene, die unter Bezugnahme auf 3 beschrieben wurden.
  • Die Host-Vorrichtung 200 (z. B. das in der Host-Vorrichtung 200 umfasste Secure Element 220) liest die verschlüsselten ersten Sicherheitsdaten X'(0) und den ersten Nachrichten-Authentifizierungscode MAC[TS(X)] von der nichtflüchtigen Speichervorrichtung 300 aus (z. B. dem in der nichtflüchtigen Speichervorrichtung 300 umfassten ersten Speicherbereich 310) (Schritt S600).
  • Die Host-Vorrichtung 200 überprüft basierend auf dem ersten Zeitstempel TS(X), ob der Replay-Angriff stattgefunden hat (Schritt S700). Zum Beispiel kann die Host-Vorrichtung 200 die verschlüsselten ersten Sicherheitsdaten X'(0) entschlüsseln, um die ersten Sicherheitsdaten X(0) zu erhalten und kann den ersten Nachrichten-Authentifizierungscode MAC[TS(X)] basierend auf dem ersten Zeitstempel TS(X), der ein interner Zeitstempel ist, verifizieren.
  • 13 ist ein Flussdiagramm, das ein Beispiel veranschaulicht, bei dem gemäß beispielhaften Ausführungsformen überprüft wird, ob ein Replay-Angriff in 11 stattgefunden hat.
  • In 2, 11, 12 und 13 können, wenn basierend auf dem ersten Zeitstempel überprüft wird, ob der Replay-Angriff auf die ersten Sicherheitsdaten stattgefunden hat (Schritt S700), der erste Zeitstempel TS(X) in der Host-Vorrichtung 200 und der erste Zeitstempel TS(X) in dem ersten Nachrichten-Authentifizierungscode MAC[TS(X)] miteinander verglichen werden, und es kann bestimmt werden, ob der erste Zeitstempel TS(X) in der Host-Vorrichtung 200 gleich dem ersten Zeitstempel TS(X) in dem ersten Nachrichten-Authentifizierungscode MAC[TS(X)] ist (Schritt S710).
  • Wenn der erste Zeitstempel TS(X) in der Host-Vorrichtung 200 und der erste Zeitstempel TS(X) in dem ersten Nachrichten-Authentifizierungscode MAC[TS(X)] den gleichen Wert aufweisen (Schritt S710: JA), kann bestimmt werden, dass der Replay-Angriff nicht stattgefunden hat (Schritt S720). Die Host-Vorrichtung 200 kann einen gewünschten Vorgang, Aufgabe oder dergleichen basierend auf den ersten Sicherheitsdaten X(0), die durch den Entschlüsselungsvorgang erhalten wurden, durchführen.
  • Wenn der erste Zeitstempel TS(X) in der Host-Vorrichtung 200 und der erste Zeitstempel TS(X) in dem ersten Nachrichten-Authentifizierungscode MAC[TS(X)] unterschiedliche Werte aufweisen (Schritt S710: NEIN), kann bestimmt werden, dass der Replay-Angriff stattgefunden hat (Schritt S730). Die Host-Vorrichtung 200 kann geeignete Gegenmaßnahmen ergreifen (z. B. die ersten Sicherheitsdaten X(0), die durch den Entschlüsselungsvorgang erhalten wurden, verwerfen, warnen, abschalten usw.).
  • 14 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines Speichersystems gemäß beispielhaften Ausführungsformen veranschaulicht. Wiederholte Beschreibungen zu 1, 7 und 11 werden der Kürze halber weggelassen.
  • In 14 wird in einem Betriebsverfahren für ein Speichersystem gemäß beispielhaften Ausführungsformen jedes Mal oder immer dann, wenn die ersten Sicherheitsdaten in den ersten Speicherbereich geschrieben werden, der erste Zeitstempel in dem zweiten Speicherbereich geändert und aktualisiert. Mit anderen Worten, die unter Bezugnahme auf 1 beschriebenen Schritte S100, S200, S300, S400, S410 und S420 können wiederholt für jeden Schreibvorgang an den ersten Sicherheitsdaten durchgeführt werden.
  • Zum Beispiel werden der Schreibvorgang für die ersten Sicherheitsdaten und den ersten Zeitstempel, der Aktualisierungsvorgang für den zweiten Zeitstempel, der Vorgang zum Empfangen des Aktualisierungsergebnisses und der Vorgang zum Prüfen, ob der Aktualisierungsvorgang erfolgreich war, nacheinander durchgeführt (Schritt S1100). Zum Beispiel kann Schritt S1100 die Schritte S100, S200, S300, S400, S410 und S420 aus 1 umfassen.
  • Danach, wenn die ersten Sicherheitsdaten und der erste Zeitstempel geändert wurden, werden ein erneuter Schreibvorgang für die ersten Sicherheitsdaten und den ersten Zeitstempel, ein erneuter Aktualisierungsvorgang für den zweiten Zeitstempel, ein Vorgang zum Empfangen eines Ergebnisses der erneuten Aktualisierung und ein Vorgang zum Überprüfen, ob der erneute Aktualisierungsvorgang erfolgreich ist, nacheinander durchgeführt (Schritt S1200).
  • Zum Beispiel wenn gewünscht wird, die ersten Sicherheitsdaten zu ändern (zu modifizieren, anzupassen), oder eine Anfrage vorliegt, die ersten Sicherheitsdaten zu ändern, kann die Host-Vorrichtung die ersten Sicherheitsdaten ändern, und der erste Zeitstempel kann zugleich von der Host-Vorrichtung geändert werden. Danach, wie bei den Schritten S100, S200, S300, S400, S410 und S420 in 1, kann die Host-Vorrichtung die geänderten ersten Sicherheitsdaten und den geänderten ersten Zeitstempel erneut in den ersten Speicherbereich schreiben, die Host-Vorrichtung kann erneut den zweiten Zeitstempel, der in dem zweiten Speicherbereich gespeichert ist, basierend auf dem geänderten ersten Zeitstempel aktualisieren, es kann ein zweites Benachrichtigungssignal erzeugt werden, das ein Ergebnis der erneuten Aktualisierung des in dem zweiten Speicherbereich gespeicherten zweiten Zeitstempels wiedergibt, die Host-Vorrichtung kann das zweite Benachrichtigungssignal empfangen, der erneute Schreibvorgang für die geänderten ersten Sicherheitsdaten kann abgeschlossen werden, wenn basierend auf dem zweiten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich erneut aktualisiert wurde, und es kann bestimmt werden, dass der erneute Schreibvorgang für die geänderten ersten Sicherheitsdaten gescheitert ist, wenn basierend auf dem zweiten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel nicht erfolgreich erneut aktualisiert wurde.
  • Obwohl nicht im Detail veranschaulicht, können Vorgänge, die im Wesentlichen die gleichen sind wie Schritt S1200, nacheinander wiederholt werden, wenn gewünscht wird, die ersten Sicherheitsdaten nach Schritt S1200 zu ändern. Zusätzlich kann der Einstellvorgang des ersten Zeitstempels, der unter Bezugnahme auf Schritt S500 in 7 beschrieben wird, weiter durchgeführt werden, wenn ein Ausschalt- oder Einschaltereignis auftritt, während das Speichersystem betrieben wird, und der Lesevorgang der ersten Sicherheitsdaten sowie der Überprüfungsvorgang, ob der Replay-Angriff stattgefunden hat, die unter Bezugnahme auf die Schritte S600 und S700 in 11 beschrieben werden, können weiter durchgeführt werden, wenn das Datenleseereignis für die ersten Sicherheitsdaten auftritt.
  • 15 ist ein Schema, das ein Beispiel veranschaulicht, in dem das Verfahren gemäß beispielhaften Ausführungsformen von dem Speichersystem aus 2 durchgeführt wird. Wiederholte Beschreibungen zu 3, 8 und 12 werden der Kürze halber weggelassen.
  • In 1, 2, 7, 11 und 15, wenn das Speichersystem 100 eingeschaltet wird, kann die Host-Vorrichtung 200 den ersten Zeitstempel TS(X) basierend auf dem zweiten Zeitstempel NV_TS(X) einstellen, der in der sicheren nichtflüchtigen Speichervorrichtung 400 gespeichert ist. Wenn ein Schreiben der ersten Sicherheitsdaten X(0) gewünscht wird, kann die Host-Vorrichtung 200 die verschlüsselten ersten Sicherheitsdaten X'(0) entsprechend den ersten Sicherheitsdaten X(0) und den ersten Nachrichten-Authentifizierungscode MAC[TS(X)] entsprechend dem ersten Zeitstempel TS(X) erzeugen, und kann die verschlüsselten ersten Sicherheitsdaten X'(0) und den ersten Nachrichten-Authentifizierungscode MAC[TS(X)] an die nichtflüchtige Speichervorrichtung 300 übertragen und dort schreiben. Die Host-Vorrichtung 200 kann basierend auf dem ersten Zeitstempel TS (X) den zweiten Zeitstempel von NV_TS(X) zu NV_TS(X+1) aktualisieren und kann nacheinander den Vorgang des Empfangs des Aktualisierungsergebnisses und den Vorgang zur Überprüfung, ob der Aktualisierungsvorgang erfolgreich war, durchführen.
  • Danach kann die Host-Vorrichtung 200 die ersten Sicherheitsdaten von X(0) zu X(1) ändern und kann den ersten Zeitstempel von TS(X) zu TS(X+1) ändern. Die Host-Vorrichtung 200 kann verschlüsselte Sicherheitsdaten X'(1) erzeugen, die den geänderten ersten Sicherheitsdaten X(1) entsprechen, und einen Nachrichten-Authentifizierungscode MAC[TS(X+1)] erzeugen, der dem geänderten ersten Zeitstempel TS(X+1) entspricht, und kann die verschlüsselten Sicherheitsdaten X'(1) und den Nachrichten-Authentifizierungscode MAC[TS(X+1)] an die nichtflüchtige Speichervorrichtung 300 übertragen und dort erneut schreiben. Die Host-Vorrichtung 200 kann den zweiten Zeitstempel von NV_TS(X+1) zu NV_TS(X+2) basierend auf dem geänderten ersten Zeitstempel TS(X+1) erneut aktualisieren, und kann den Empfangsvorgang des Ergebnisses der erneuten Aktualisierung und den Überprüfungsvorgang, ob der erneute Aktualisierungsvorgang erfolgreich war, nacheinander durchführen.
  • Auf ähnliche Art und Weise kann die Host-Vorrichtung 200 die ersten Sicherheitsdaten von X(1) zu X(2) ändern und kann den ersten Zeitstempel von TS(X+1) zu TS(X+2) ändern. Die Host-Vorrichtung 200 kann verschlüsselte Sicherheitsdaten X'(2) erzeugen, die den geänderten ersten Sicherheitsdaten X(2) entsprechen, und einen Nachrichten-Authentifizierungscode MAC[TS(X+2)] erzeugen, der dem geänderten ersten Zeitstempel TS(X+2) entspricht, und kann die verschlüsselten Sicherheitsdaten X'(2) und den Nachrichten-Authentifizierungscode MAC[TS(X+2)] an die nichtflüchtige Speichervorrichtung 300 übertragen und dort erneut schreiben. Die Host-Vorrichtung 200 kann den zweiten Zeitstempel von NV_TS(X+2) zu NV_TS(X+3) basierend auf dem geänderten ersten Zeitstempel TS(X+2) erneut aktualisieren und kann den Empfangsvorgang des Ergebnisses des erneuten Aktualisierens und den Überprüfungsvorgang, ob der erneute Aktualisierungsvorgang erfolgreich war, nacheinander durchführen.
  • Danach kann das Speichersystem 100 ausgeschaltet und danach wieder eingeschaltet werden. Wenn das Speichersystem 100 eingeschaltet wird, kann die Host-Vorrichtung 200 den ersten Zeitstempel auf TS(X+3) basierend auf dem zweiten Zeitstempel NV_TS(X+3) einstellen, der zuletzt in der sicheren nichtflüchtigen Speichervorrichtung 400 gespeichert wurde.
  • Danach kann die Host-Vorrichtung 200 die verschlüsselten ersten Sicherheitsdaten, die den ersten Sicherheitsdaten entsprechen, und den ersten Nachrichten-Authentifizierungscode, der dem ersten Zeitstempel entspricht, aus der nichtflüchtigen Speichervorrichtung 300 auslesen. Wenn X'(2) und MAC[TS(X+2)] jeweils als verschlüsselte erste Sicherheitsdaten und erster Nachrichten-Authentifizierungscode empfangen werden, können der erste Zeitstempel TS(X+2) in dem ersten Nachrichten-Authentifizierungscode und TS(X+3-1), welcher der erste Zeitstempel in der Host-Vorrichtung 200 ist, einander entsprechen, und daher kann bestimmt werden, dass der Replay-Angriff nicht aufgetreten ist. Wenn X'(1) und MAC[TS(X+1)] jeweils als verschlüsselte erste Sicherheitsdaten und erster Nachrichten-Authentifizierungscode empfangen werden, können sich der erste Zeitstempel TS(X+1) in dem ersten Nachrichten-Authentifizierungscode und TS(X+3-1), welcher der erste Zeitstempel in der Host-Vorrichtung 200 ist, voneinander unterscheiden, und daher kann bestimmt werden, dass der Replay-Angriff aufgetreten ist.
  • Bei dem Betriebsverfahren des Speichersystems gemäß beispielhaften Ausführungsformen kann, wenn der Zeitstempel für die Anti-Replay-Gegenmaßnahme gespeichert wird, die für das Secure Element 220 erforderlich ist, sicher und geschützt unter Verwendung der externen, sicheren nichtflüchtigen Speichervorrichtung 400 gespeichert werden, ohne eine nichtflüchtige Speichervorrichtung in das Secure Element 220 zu integrieren. Eine Zeitstempelvariable kann zwischen dem Secure Element 220 und der sicheren nichtflüchtigen Speichervorrichtung 400 eingestellt werden, das Secure Element 220 kann eine Kommunikation mit dem Zeitstempel durchführen, der sich bei jedem Schreibvorgang aktualisiert, und so kann das Secure Element 220 effizient den Replay-Angriff erfassen. Zudem kann der Zeitstempel selbst im Falle einer Umgebung, in der es zu einem Stromausfall kommt, sicher gespeichert werden. Zum Beispiel kann der Zeitstempel selbst im Falle jeglicher instabiler Leistungszustände, wie beispielsweise einem plötzlichem Ausschalten, einem langsam sinkenden Leistungsabfall usw., sicher gespeichert werden. Ferner können Vorgänge zum Schreiben/Lesen des Zeitstempels in/aus der sicheren nichtflüchtigen Speichervorrichtung 400 unter Verwendung eines sicheren Protokolls implementiert werden, es können Bestätigungen zwischen sowohl dem Secure Element 220 und der sicheren nichtflüchtigen Speichervorrichtung 400 für erfolgreiche Schreib-/Lesevorgänge erforderlich sein, und so kann die Stabilität und Zuverlässigkeit von Vorgängen des Speichersystems garantiert werden.
  • 16 und 17 sind Blockschaltbilder, die ein Speichersystem entsprechend beispielhafter Ausführungsformen veranschaulichen. Wiederholte Beschreibungen zu 2 werden der Kürze halber weggelassen.
  • In 16 umfasst ein Speichersystem 100a eine Host-Vorrichtung 200a und eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) 300.
  • Das Speichersystem 100a aus 16 kann im Wesentlichen das gleiche sein wie das Speichersystem 100 aus 2, außer, dass die sichere nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) 400a in der Host-Vorrichtung 200a umfasst ist. Das Speichersystem 100a aus 16 kann wie unter Bezugnahme auf 1 und 3 bis 15 beschrieben betrieben werden.
  • In einem Beispiel aus 16 kann sich die sichere nichtflüchtige Speichervorrichtung 400a in der Host-Vorrichtung 200a befinden. Mit anderen Worten, die Host-Vorrichtung 200a und die sichere nichtflüchtige Speichervorrichtung 400a können in einem einzigen Halbleitergehäuse ausgebildet sein. Während die Host-Vorrichtung 200a und die sichere nichtflüchtige Speichervorrichtung 400a nur aus einem Halbleitergehäuse ausgebildet sein können, ist allerdings die sichere nichtflüchtige Speichervorrichtung 400a möglicherweise nicht in der Host-Vorrichtung 200a integriert. Mit anderen Worten, dass Secure Element 220 kann auf demselben Halbleiter-Die mit den anderen Komponenten (z. B. dem Host-Prozessor 210) der Host-Vorrichtung 200a ausgebildet sein und in der Host-Vorrichtung 200a integriert sein; allerdings kann die sichere nichtflüchtige Speichervorrichtung 400a auf einem Halbleiter-Die ausgebildet sein, der sich von dem Halbleiter-Die, auf dem die anderen Komponenten (z. B. der Host-Prozessor 210 und das Secure Element 220) der Host-Vorrichtung 200a ausgebildet sind, unterscheidet.
  • In 17 umfasst ein Speichersystem 100b eine Host-Vorrichtung 200 und eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) 300b.
  • Das Speichersystem 100b aus 17 kann im Wesentlichen das gleiche sein wie das Speichersystem 100 aus 2, außer, dass auf die sichere nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) 400 verzichtet wird, und dass zusätzlich zu dem ersten Speicherbereich (SPEICHERBEREICH 1) 310 ein zweiter Speicherbereich (SPEICHERBEREICH2) 410 in der nichtflüchtigen Speichervorrichtung 300b umfasst ist. Das Speichersystem 100b aus 17 kann wie unter Bezugnahme auf 1 und 3 bis 15 beschrieben betrieben werden.
  • In einem Beispiel aus 17 umfasst die nichtflüchtige Speichervorrichtung 300b den ersten Speicherbereich 310, in dem die ersten Sicherheitsdaten X und der erste Zeitstempel TS geschrieben werden, und den zweiten Speicherbereich 410, in dem der zweite Zeitstempel NV_TS gespeichert ist. Mit anderen Worten, der erste Speicherbereich 310 und der zweite Speicherbereich 410 kann in derselben nichtflüchtigen Speichervorrichtung 300b umfasst sein.
  • In einigen beispielhaften Ausführungsformen, obwohl nicht in 17 veranschaulicht, kann die erste Schnittstelle, durch die eine Kommunikation zwischen der Host-Vorrichtung 200 und dem ersten Speicherbereich 310 durchgeführt wird, separat und unterschiedlich von der zweiten Schnittstelle sein, durch die eine Kommunikation zwischen der Host-Vorrichtung 200 und dem zweiten Speicherbereich 410 durchgeführt wird.
  • Wie für den Fachmann ersichtlich, kann das erfinderische Konzept als System, Verfahren, Computerprogrammprodukt ausgeführt sein, und/oder als Computerprogrammprodukt, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, in denen computerlesbarer Programmcode ausgeführt ist. Der computerlesbare Programmcode kann einem Prozessor eines universellen Computers, einem Spezialcomputer oder einem anderen programmierbaren Datenverarbeitungsapparat bereitgestellt werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium bzw. Datenträger sein. Das computerlesbare Speichermedium kann jedes greifbare Medium sein, das ein Programm enthalten oder darauf speichern kann, um von oder zusammen mit einem Anweisungsausführsystem, -apparat oder -vorrichtung verwendet zu werden. Zum Beispiel kann das computerlesbare Medium ein nichtflüchtiges, computerlesbares Medium sein.
  • 18 ist ein Blockschaltbild, das ein Beispiel eines nichtflüchtigen Speichers, der in einem Speichersystem umfasst ist, gemäß beispielhaften Ausführungsformen veranschaulicht.
  • In 18 umfasst ein nichtflüchtiger Speicher 500 ein Speicherzellenarray 510, einen Zeilen-Decoder 520, eine Seitenpufferschaltung 530, eine Dateneingabe-/-ausgabe(I/O)-Schaltung 540, einen Spannungsgenerator 550 und eine Steuerschaltung 560. Der nichtflüchtige Speicher 500 kann für einen nichtflüchtigen Speicher stehen, der in der nichtflüchtigen Speichervorrichtung (NVM-Vorrichtung) 300 aus 2 umfasst ist.
  • Das Speicherzellenarray 510 ist über eine Mehrzahl von Stringauswahlleitungen SSL, eine Mehrzahl von Wortleitungen WL und eine Mehrzahl von Masseauswahlleitungen GSL mit dem Zeilen-Decoder 520 verbunden. Das Speicherzellenarray 510 ist ferner mit einer Seitenpufferschaltung 530 über eine Mehrzahl von Bit-Leitungen BL verbunden. Das Speicherzellenarray 510 kann eine Mehrzahl von Speicherzellen (z. B. eine Mehrzahl von nichtflüchtigen Speicherzellen) umfassen, die mit der Mehrzahl von Wortleitungen WL und der Mehrzahl von Bit-Leitungen BL verbunden sind. Das Speicherzellenarray 510 kann in eine Mehrzahl von Speicherblöcke BLK1, BLK2, ... BLKz unterteilt sein, von denen jeder Speicherzellen umfasst. In einigen beispielhaften Ausführungsformen kann die Mehrzahl von Speicherzellen in einer zweidimensionalen (2D) Arraystruktur oder einer dreidimensionalen (3D) vertikalen Arraystruktur angeordnet sein.
  • Eine dreidimensionale vertikale Arraystruktur kann vertikale Zellenstrings umfassen, die vertikal orientiert sind, sodass sich mindestens eine Speicherzelle über einer anderen Speicherzelle befindet. Die mindestens eine Speicherzelle kann eine Ladungsfängerschicht aufweisen. Die nachfolgenden Patentdokumente, die hiermit durch Verweis in den vorliegenden Text aufgenommen sind, beschreiben geeignete Konfigurationen für ein Speicherzellenarray, das eine vertikale 3D-Arraystruktur umfasst, in der das dreidimensionale Speicherarray als Mehrzahl von Ebenen konfiguriert ist, wobei Wortleitungen und/oder Bit-Leitungen zwischen Ebenen geteilt werden: US-Patente US 7679133 , US 8553466 , US 8654587 , US 8559235 sowie US 20110233648 A .
  • Die Steuerschaltung 560 empfängt einen Befehl CMD und eine Adresse ADDR von einer externen Vorrichtung (z. B. der Host-Vorrichtung 200 in 2) und steuert Lösch-, Programmier- und Lesevorgänge des nichtflüchtigen Speichers 500 basierend auf dem Befehl CMD und der Adresse ADDR. Ein Löschvorgang kann umfassen, eine Sequenz von Löschschleifen durchzuführen, und ein Programmiervorgang kann umfassen, eine Sequenz von Programmierschleifen durchzuführen. Jede Programmierschleife kann einen Programmiervorgang und einen Programmverifizierungsvorgang umfassen. Jede Löschschleife kann einen Löschvorgang und einen Löschverifizierungsvorgang umfassen. Der Lesevorgang kann einen normalen Lesevorgang und einen Datenwiederherstellungslesevorgang umfassen.
  • Zum Beispiel kann die Steuerschaltung 560 Steuersignale CON erzeugen, die verwendet werden, um den Spannungsgenerator 550 zu steuern, und kann ein Steuersignal PBC erzeugen, um die Seitenpufferschaltung 530 basierend auf dem Befehl CMD zu steuern, und kann eine Zeilenadresse R_ ADDR und eine Spaltenadresse C_ADDR basierend auf der Adresse ADDR erzeugen. Die Steuerschaltung 560 kann die Zeilenadresse R_ADDR dem Zeilen-Decoder 520 bereitstellen und kann die Spaltenadresse C ADDR der Daten-I/O-Schaltung 540 bereitstellen.
  • Der Zeilen-Decoder 520 kann mit dem Speicherzellenarray 510 über die Mehrzahl von Stringauswahlleitungen SSL, die Mehrzahl von Wortleitungen WL und die Mehrzahl von Masseauswahlleitungen GSL verbunden sein.
  • Zum Beispiel kann der Zeilen-Decoder 520 bei den Datenlösch-/-schreib-/-lesevorgängen basierend auf der Zeilenadresse R_ADDR mindestens eine der Mehrzahl von Wortleitungen WL als ausgewählte Wortleitung bestimmen, und er kann den Rest oder die verbleibenden der Mehrzahl von Wortleitungen WL außer der ausgewählten Wortleitungen als nicht ausgewählte Wortleitungen bestimmen.
  • Zudem kann der Zeilen-Decoder 520 bei den Datenlösch-/-schreib-/-lesevorgängen basierend auf der Zeilenadresse R_ADDR mindestens eine der Mehrzahl von Stringauswahlleitungen SSL als ausgewählte Stringauswahlleitung bestimmen, und er kann die verbleibenden der Mehrzahl von Stringauswahlleitung SSL außer der ausgewählten Stringauswahlleitung als nicht ausgewählte Wortleitungen bestimmen.
  • Ferner kann der Zeilen-Decoder 520 bei den Datenlösch-/-schreib-/-lesevorgängen basierend auf der Zeilenadresse R ADDR mindestens eine der Mehrzahl von Masseauswahlleitungen GSL als ausgewählte Masseauswahlleitung bestimmen, und er kann die verbleibenden der Mehrzahl von Masseauswahlleitung GSL außer der ausgewählten Masseauswahlleitung als nicht ausgewählte Masseauswahlleitung bestimmen.
  • Der Spannungsgenerator 550 kann Spannungen VS, die für einen Vorgang des nichtflüchtigen Speichers 500 erforderlich sind, basierend auf einer Leistung PWR und den Steuersignalen CON erzeugen. Die Spannungen VS können an die Mehrzahl von Stringauswahlleitungen SSL, die Mehrzahl von Wortleitungen WL und die Mehrzahl von Masseauswahlleitungen GSL über den Zeilen-Decoder 520 angelegt werden. Zudem kann der Spannungsgenerator 550 eine Löschspannung VERS, die für den Datenlöschvorgang erforderlich ist, basierend auf der Leistung PWR und den Steuersignalen CON erzeugen. Die Löschspannung VERS kann an das Speicherzellenarray 510 direkt oder über die Bit-Leitung BL angelegt werden.
  • Zum Beispiel kann der Spannungsgenerator 550 während des Löschvorgangs die Löschspannung VERS an einer gemeinsamen Quellleitung und/oder der Bit-Leitung BL eines Speicherblocks anlegen (z. B. einem ausgewählten Speicherblock) und kann eine Löschberechtigungsspannung (z. B. eine Massespannung) an allen Wortleitungen des Speicherblocks oder einen Abschnitt der Wortleitungen über den Zeilen-Decoder 520 anlegen. Zudem kann der Spannungsgenerator 550 während des Löschverifizierungsvorgangs eine Löschverifizierungsspannung gleichzeitig an allen Wortleitungen des Speicherblocks oder nacheinander einzeln an den Wortleitungen anlegen.
  • Zum Beispiel kann der Spannungsgenerator 550 während des Programmiervorgangs eine Programmierspannung an der ausgewählten Wortleitung anlegen und er kann eine Programmierauslassungsspannung an den nicht ausgewählten Wortleitungen über den Zeilen-Decoder 520 anlegen. Zudem kann der Spannungsgenerator 550 während des Programmverifizierungsvorgangs eine Programmverifizierungsspannung an der ausgewählten Wortleitung anlegen und kann eine Verifizierungsauslassungsspannung an den nicht ausgewählten Wortleitungen über den Zeilen-Decoder 520 anlegen.
  • Zudem kann der Spannungsgenerator 550 während des normalen Lesevorgangs eine Lesespannung an der ausgewählten Wortleitung anlegen und kann eine Leseauslassungsspannung an den nicht ausgewählten Wortleitungen über den Zeilen-Decoder 520 anlegen. Während des Datenwiederherstellungslesevorgangs kann der Spannungsgenerator 550 die Lesespannung an einer Wortleitung, die zu der ausgewählten Wortleitung benachbart ist, anlegen, und kann eine Wiederherstellungslesespannung an der ausgewählten Wortleitung über den Zeilen-Decoder 520 anlegen.
  • Die Seitenpufferschaltung 530 kann mit dem Speicherzellenarray 510 über die Mehrzahl von Bit-Leitungen BL verbunden sein. Die Seitenpufferschaltung 530 kann eine Mehrzahl von Seitenpuffern umfassen. In einigen beispielhaften Ausführungsformen kann jeder Seitenpuffer mit einer Bit-Leitung verbunden sein. In anderen beispielhaften Ausführungsformen kann jeder Seitenpuffer mit zwei oder mehr Bit-Leitungen verbunden sein.
  • Die Seitenpufferschaltung 530 kann Daten DAT speichern, die in das Speicherzellenarray 510 programmiert werden sollen, oder sie kann Daten DAT auslesen, die aus dem Speicherzellenarray 510 erfasst werden. Mit anderen Worten, die Seitenpufferschaltung 530 kann als Schreibtreiber oder als Erfassungsverstärker gemäß einer Betriebsart des nichtflüchtigen Speichers 500 betrieben werden.
  • Die Daten-I/O-Schaltung 540 kann mit der Seitenpufferschaltung 530 über Datenleitungen DL verbunden sein. Die Daten-I/O-Schaltung 540 kann basierend auf der Spaltenadresse C_ADDR die Daten DAT von außerhalb des nichtflüchtigen Speichers 500 dem Speicherzellenarray 510 über die Seitenpufferschaltung 530 bereitstellen, oder sie kann die Daten DAT von dem Speicherzellenarray 510 außerhalb des nichtflüchtigen Speichers 500 bereitstellen.
  • 19 ist ein Blockschaltbild, das ein Beispiel einer Speichervorrichtung veranschaulicht, die in einem Speichersystem gemäß beispielhaften Ausführungsformen umfasst ist.
  • In 19 umfasst eine Speichervorrichtung 700 einen Speichercontroller 710, eine Mehrzahl von nichtflüchtigen Speichern (NVMs) 720a, 720b und 720c sowie einen Pufferspeicher 730. Die Speichervorrichtung 700 kann eine Mehrzahl von nichtflüchtigen Speichern umfassen, die jeweils der nichtflüchtige Speicher 500 aus 18 sind, und kann in der nichtflüchtigen Speichervorrichtung (NVM-Vorrichtung) 300 aus 2 umfasst sein.
  • Der Speichercontroller 710 kann einen Vorgang der Speichervorrichtung 700, z. B. Datenschreib-/-lesvorgänge basierend auf einem Befehl, einer Adresse und Daten steuern, die von einer externen Vorrichtung (z. B. der Host-Vorrichtung 200 in 2) erhalten wurden.
  • Die Mehrzahl von nichtflüchtigen Speichern 720a, 720b und 720c können eine Mehrzahl von Daten speichern. Zum Beispiel kann die Mehrzahl von nichtflüchtigen Speichern 720a, 720b und 720c Metadaten, sichere Daten, Nutzerdaten usw. speichern. Jede der Mehrzahl von nichtflüchtigen Speichern 720a, 720b und 720c kann der nichtflüchtige Speicher 500 aus 18 sein.
  • Der Pufferspeicher 730 kann Anweisungen und/oder Daten speichern, die von dem Speichercontroller 710 ausgeführt und/oder verarbeitet werden, und kann vorübergehend Daten speichern, die in der Mehrzahl nichtflüchtiger Speicher 720a, 720b und 720c gespeichert sind oder gespeichert werden sollen. Zum Beispiel kann der Pufferspeicher 730 mindestens einen von verschiedenen flüchtigen Speichern umfassen, z. B. einen dynamischen Direktzugriffsspeicher (DRAM), einen statischen Direktzugriffsspeicher (SRAM) oder dergleichen.
  • In einigen beispielhaften Ausführungsformen kann die Speichervorrichtung 700 eine embedded MultiMediaCard (eMMC) oder ein Universal Flash Storage (UFS) sein. In anderen beispielhaften Ausführungsformen kann die Speichervorrichtung 700 eine beliebige Speichervorrichtung sein, z. B. eine Solid State Drive (SSD), eine MultiMediaCard (MMC), eine Secure-Digital(SD)-Karte, eine Mikro-SD-Karte, ein Speicherstick, eine Chip-Karte, eine Universal-Serial-Bus(USB)-Karte, eine Smart Card, eine Compact-Flash(CF)-Karte oder dergleichen.
  • 20 ist ein Blockschaltbild, das ein elektronisches System gemäß beispielhaften Ausführungsformen veranschaulicht.
  • In 20 umfasst ein elektronisches System 4000 einen Prozessor 4100, ein Kommunikationsmodul 4200, ein Anzeige-/Touchmodul 4300, eine Speichervorrichtung 4400 und/oder eine Speichervorrichtung 4500. Zum Beispiel kann das elektronische System 4000 ein beliebiges Mobilsystem oder ein beliebiges Computersystem sein.
  • Der Prozessor 4100 steuert Vorgänge des elektronischen Systems 4000. Der Prozessor 4100 kann ein Betriebssystem und mindestens eine Anwendung ausführen, um einen Internetbrowser, Spiele, Videos oder dergleichen bereitzustellen. Das Kommunikationsmodul 4200 wird implementiert, um drahtlose oder verdrahtete Kommunikationen mit einer externen Vorrichtung durchzuführen. Das Anzeigen-/Touchmodul 4300 wird implementiert, um Daten anzuzeigen, die durch den Prozessor 4100 verarbeitet werden und/oder Daten durch ein Touchpanel zu empfangen. Die Speichervorrichtung 4400 speichert Nutzerdaten. Die Speichervorrichtung 4500 speichert vorübergehend Daten, die zur Verarbeitung von Vorgängen des elektronischen Systems 4000 verwendet werden.
  • Der Prozessor 4100 kann der Host-Vorrichtung entsprechen, die in dem Speichersystem gemäß beispielhaften Ausführungsformen umfasst ist. Der erste Speicherbereich, der in dem Speichersystem gemäß beispielhaften Ausführungsformen umfasst ist, kann in der Speichervorrichtung 4400 und/oder der Speichervorrichtung 4500 umfasst sein. Der zweite Speicherbereich, der in dem Speichersystem gemäß beispielhaften Ausführungsformen umfasst ist, kann in dem Prozessor 4100, der Speichervorrichtung 4400 und/oder der Speichervorrichtung 4500 umfasst sein.
  • Das erfinderische Konzept kann bei verschiedenen elektronischen Vorrichtungen und Systemen, die die Speichersysteme umfassen, angewendet werden. Zum Beispiel kann das erfinderische Konzept bei Systemen angewendet werden, wie beispielsweise einem Mobiltelefon, einem Smartphone, einem Tablet, einem Laptop, einem persönlichen digitalen Assistenten (PDA), einem tragbaren Multimedia Player (PMP), einer digitalen Kamera, einer tragbaren Spielekonsole, einem Musik-Player, einem Camcorder, einem Video-Player, einer Navigationsvorrichtung, einer Wearable-Vorrichtung, einer Vorrichtung für das Internet der Dinge (IoT: Internet of Things), einer Vorrichtung für das Internet von Allem (IoE: Internet of Everything), einem E-Book-Reader, einer Vorrichtung für virtuelle Realität (VR), einer Vorrichtung für erweiterte Realität (AR: Augmented Reality), einer Robotervorrichtung usw.
  • Das obenstehende ist für beispielhafte Ausführungsformen veranschaulichend und soll nicht als dieselben beschränkend angesehen werden. Obwohl einige beispielhafte Ausführungsformen beschrieben wurden, wird es für den Fachmann ersichtlich sein, dass viele Abwandlungen bzw. Modifikationen in den beispielhaften Ausführungsformen möglich sind, ohne wesentlich von den neuen Lehren und Vorteilen der beispielhaften Ausführungsformen abzuweichen. Entsprechend sollen alle Abwandlungen als innerhalb des Umfangs der beispielhaften Ausführungsformen, wie in den Ansprüchen definiert, umfasst gelten. Daher versteht es sich, dass das Vorstehende veranschaulichend für verschiedene beispielhafte Ausführungsformen ist und nicht als auf die offenbarten, konkreten beispielhaften Ausführungsformen beschränkt erachtet werden soll, und dass Abwandlungen an den offenbarten, beispielhaften Ausführungsformen sowie andere beispielhafte Ausführungsformen als in dem Umfang der beigefügten Ansprüche umfasst erachtet werden sollen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 1020190054677 [0001]
    • US 7679133 [0114]
    • US 8553466 [0114]
    • US 8654587 [0114]
    • US 8559235 [0114]
    • US 20110233648 A [0114]

Claims (15)

  1. Verfahren zum Betreiben eines Speichersystems, wobei das Verfahren aufweist: Schreiben, durch eine Host-Vorrichtung, erster Sicherheitsdaten und eines ersten Zeitstempels, um einen Replay-Angriff auf einen ersten Speicherbereich, der ein externer Speicherbereich ist, zu verhindern; Aktualisieren, durch die Host-Vorrichtung, eines zweiten Zeitstempels basierend auf dem ersten Zeitstempel, wobei der zweite Zeitstempel dem ersten Zeitstempel entspricht und in einem zweiten Speicherbereich gespeichert ist, der sich von dem ersten Speicherbereich unterscheidet; Empfangen, durch die Host-Vorrichtung, eines ersten Benachrichtigungssignals, das ein Ergebnis des Aktualisierens wiedergibt; und Abschließen eines Schreibvorgangs für die ersten Sicherheitsdaten, wenn durch die Host-Vorrichtung basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich aktualisiert wurde.
  2. Verfahren nach Anspruch 1, ferner aufweisend: Einstellen, durch die Host-Vorrichtung, des ersten Zeitstempels basierend auf dem zweiten Zeitstempel, der in dem zweiten Speicherbereich gespeichert ist, wenn das Speichersystem eingeschaltet wird.
  3. Verfahren nach Anspruch 2, wobei das Einstellen des ersten Zeitstempels umfasst: Erzeugen, durch die Host-Vorrichtung, eines Zeitstempeleinstellungsbefehls basierend auf einer ersten Zufallszahl; Erzeugen, durch den zweiten Speicherbereich, eines Einstellantwortsignals basierend auf dem Zeitstempeleinstellungsbefehl und einer zweiten Zufallszahl; und Einstellen, durch die Host-Vorrichtung, des ersten Zeitstempels basierend auf dem Einstellantwortsignal, sodass ein Wert des ersten Zeitstempels gleich einem Wert des zweiten Zeitstempels ist.
  4. Verfahren nach Anspruch 3, wobei das Einstellen des ersten Zeitstempels ferner umfasst: Erzeugen, durch die Host-Vorrichtung und den zweiten Speicherbereich, eines Sitzungsschlüssels basierend auf der ersten Zufallszahl und der zweiten Zufallszahl.
  5. Verfahren nach Anspruch 2, wobei der Schreibvorgang für die ersten Sicherheitsdaten erst durchgeführt wird, nachdem das Einstellen des ersten Zeitstempels erfolgreich abgeschlossen ist.
  6. Verfahren nach Anspruch 1, wobei das Schreiben der ersten Sicherheitsdaten und des ersten Zeitstempels in dem ersten Speicherbereich umfasst: Verschlüsseln, durch die Host-Vorrichtung, der ersten Sicherheitsdaten; Erzeugen, durch die Host-Vorrichtung, eines ersten Nachrichten-Authentifizierungscodes für die verschlüsselten ersten Sicherheitsdaten und den ersten Zeitstempel; und Übertragen, durch die Host-Vorrichtung, der verschlüsselten ersten Sicherheitsdaten und des ersten Nachrichten-Authentifizierungscodes an den ersten Speicherbereich, wobei die verschlüsselten ersten Sicherheitsdaten und der erste Nachrichten-Authentifizierungscode in dem ersten Speicherbereich gespeichert werden.
  7. Verfahren nach Anspruch 6, ferner aufweisend: Lesen, durch die Host-Vorrichtung, der verschlüsselten ersten Sicherheitsdaten und des ersten Nachrichten-Authentifizierungscodes von dem ersten Speicherbereich; und Überprüfen, durch die Host-Vorrichtung, basierend auf dem ersten Zeitstempel, ob der Replay-Angriff auf die ersten Sicherheitsdaten stattgefunden hat.
  8. Verfahren nach Anspruch 7, wobei das Überprüfen, ob der Replay-Angriff stattgefunden hat, umfasst: Bestimmen, dass der Replay-Angriff nicht stattgefunden hat, wenn der erste Zeitstempel in der Host-Vorrichtung und der erste Zeitstempel in dem ersten Nachrichten-Authentifizierungscode einen gleichen Wert aufweisen; und Bestimmen, dass der Replay-Angriff stattgefunden hat, wenn der erste Zeitstempel in der Host-Vorrichtung und der erste Zeitstempel in dem ersten Nachrichten-Authentifizierungscode unterschiedliche Werte aufweisen.
  9. Verfahren nach Anspruch 1, wobei das Aktualisieren des zweiten Zeitstempels umfasst: Erzeugen, durch die Host-Vorrichtung, eines Zeitstempelaktualisierungsbefehls basierend auf dem ersten Zeitstempel und einem Sitzungsschlüssel; und Aktualisieren, durch den zweiten Speicherbereich, des zweiten Zeitstempels basierend auf dem Zeitstempelaktualisierungsbefehl, sodass ein Wert des zweiten Zeitstempels gleich einem Wert des ersten Zeitstempels ist.
  10. Verfahren nach Anspruch 1, ferner aufweisend: Bestimmen, dass der Schreibvorgang für die ersten Sicherheitsdaten gescheitert ist, wenn durch die Host-Vorrichtung basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel nicht erfolgreich aktualisiert wurde.
  11. Verfahren nach Anspruch 1, wobei der erste Zeitstempel geändert und immer dann in dem zweiten Speicherbereich aktualisiert wird, wenn die ersten Sicherheitsdaten in den ersten Speicherbereich geschrieben werden.
  12. Verfahren nach Anspruch 11, ferner aufweisend: Ändern, durch die Host-Vorrichtung, der ersten Sicherheitsdaten und des ersten Zeitstempels; erneutes Schreiben, durch die Host-Vorrichtung, der geänderten ersten Sicherheitsdaten und des geänderten ersten Zeitstempels in den ersten Speicherbereich; erneutes Aktualisieren, durch die Host-Vorrichtung, des zweiten Zeitstempels basierend auf dem geänderten ersten Zeitstempel; Empfangen, durch die Host-Vorrichtung, eines zweiten Benachrichtigungssignals, das ein Ergebnis des erneuten Aktualisierens des zweiten Zeitstempels wiedergibt; und Abschließen eines erneuten Schreibvorgangs für die geänderten ersten Sicherheitsdaten, wenn durch die Host-Vorrichtung basierend auf dem zweiten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich erneut aktualisiert wurde.
  13. Verfahren nach Anspruch 1, wobei: der erste Speicherbereich in einer nichtflüchtigen Speichervorrichtung umfasst ist, die sich außerhalb der Host-Vorrichtung befindet, und der zweite Speicherbereich in einer sicheren nichtflüchtigen Speichervorrichtung umfasst ist, die getrennt von der nichtflüchtigen Speichervorrichtung ausgebildet ist.
  14. Verfahren nach Anspruch 1, wobei der erste Speicherbereich und der zweite Speicherbereich in einer nichtflüchtigen Speichervorrichtung umfasst sind, die sich außerhalb der Host-Vorrichtung befinden.
  15. Speichersystem aufweisend: eine Host-Vorrichtung, die eingerichtet ist, erste Sicherheitsdaten und einen ersten Zeitstempel zu verarbeiten, um einen Replay-Angriff zu verhindern; eine nichtflüchtige Speichervorrichtung, die durch die Host-Vorrichtung gesteuert wird, die sich außerhalb der Host-Vorrichtung befindet, und die einen ersten Speicherbereich umfasst, in dem die ersten Sicherheitsdaten und der erste Zeitstempel geschrieben sind; und eine sichere nichtflüchtige Speichervorrichtung, die von der Host-Vorrichtung gesteuert wird, die getrennt von der nichtflüchtigen Speichervorrichtung ausgebildet ist, und die einen zweiten Speicherbereich umfasst, in dem ein zweiter Zeitstempel, der dem ersten Zeitstempel entspricht, geschrieben wird, wobei die Host-Vorrichtung eingerichtet ist, die ersten Sicherheitsdaten und den ersten Zeitstempel in den ersten Speicherbereich zu schreiben und den zweiten Zeitstempel basierend auf dem ersten Zeitstempel zu aktualisieren, wobei die sichere nichtflüchtige Speichervorrichtung eingerichtet ist, ein erstes Benachrichtigungssignal zu erzeugen, das ein Ergebnis eines Aktualisierens des zweiten Zeitstempels wiedergibt, und wobei die Host-Vorrichtung eingerichtet ist, einen Schreibvorgang für die ersten Sicherheitsdaten abzuschließen, wenn basierend auf dem ersten Benachrichtigungssignal bestimmt wird, dass der zweite Zeitstempel erfolgreich aktualisiert wurde.
DE102020103846.1A 2019-05-10 2020-02-14 Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt Pending DE102020103846A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0054677 2019-05-10
KR1020190054677A KR20200129776A (ko) 2019-05-10 2019-05-10 재전송 공격에 대한 방어책을 포함하는 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템

Publications (1)

Publication Number Publication Date
DE102020103846A1 true DE102020103846A1 (de) 2020-11-12

Family

ID=72943399

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103846.1A Pending DE102020103846A1 (de) 2019-05-10 2020-02-14 Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt

Country Status (4)

Country Link
US (1) US11552801B2 (de)
KR (1) KR20200129776A (de)
CN (1) CN111913908A (de)
DE (1) DE102020103846A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3877884A1 (de) * 2019-08-29 2021-09-15 Google LLC Sicherung von externem datenspeicher für ein auf einem system-on-chip integriertes sicheres element
CN113505363B (zh) * 2021-08-04 2022-11-29 上海瓶钵信息科技有限公司 通过软件方式实现存储空间防重放的方法和系统
US20240004803A1 (en) * 2022-06-29 2024-01-04 Samsung Electronics Co., Ltd. Secure element and electronic device including the same

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4040034A (en) * 1975-12-04 1977-08-02 International Business Machines Corporation Data security system employing automatic time stamping mechanism
FI115098B (fi) * 2000-12-27 2005-02-28 Nokia Corp Todentaminen dataviestinnässä
US7774597B2 (en) * 2003-06-27 2010-08-10 Ram Gopal Lakshmi Narayanan System and method for nodes communicating in a shared network segment
US8200826B1 (en) * 2004-09-09 2012-06-12 Openwave Systems Inc. Communal memory
US7468981B2 (en) * 2005-02-15 2008-12-23 Cisco Technology, Inc. Clock-based replay protection
JP4150037B2 (ja) * 2005-09-30 2008-09-17 株式会社東芝 タイムスタンプ取得システム、タイムスタンプ取得装置、タイムスタンプ取得プログラム及びタイムスタンプ取得方法
US20080307507A1 (en) * 2007-06-08 2008-12-11 Conley Kevin M Memory device using time from a trusted host device
KR101465555B1 (ko) * 2007-06-08 2014-11-26 샌디스크 테크놀로지스, 인코포레이티드 엔티티를 인증하기 위해 사용된 시간 평가의 정확성을 개선하기 위한 회로를 구비한 메모리 디바이스와, 상기 메모리 디바이스와 사용하기 위한 방법
US8533474B2 (en) * 2008-02-27 2013-09-10 Red Hat, Inc. Generating session keys
US8543091B2 (en) * 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US20100138917A1 (en) * 2008-12-01 2010-06-03 Xia Zhanhong Refresh mechanism for rate-based statistics
US8448009B2 (en) * 2009-08-17 2013-05-21 Sandisk Il Ltd. Method and memory device for generating a time estimate
DE102009058516A1 (de) * 2009-12-16 2011-06-22 Siemens Aktiengesellschaft, 80333 Vorrichtung und Verfahren zum Gewähren von Zugriffsrechten auf eine Wartungsfunktionalität
CN102110200A (zh) * 2009-12-25 2011-06-29 凹凸电子(武汉)有限公司 计算机可执行的认证方法
CN101789864B (zh) * 2010-02-05 2012-10-10 中国工商银行股份有限公司 一种网上银行后台身份认证方法、装置及系统
US8417966B1 (en) * 2010-05-28 2013-04-09 Adobe Systems Incorporated System and method for measuring and reporting consumption of rights-protected media content
US8468365B2 (en) * 2010-09-24 2013-06-18 Intel Corporation Tweakable encryption mode for memory encryption with protection against replay attacks
US20120110343A1 (en) * 2010-10-29 2012-05-03 Bandic Zvonimir Z Trustworthy timestamps on data storage devices
JP5617709B2 (ja) * 2011-03-16 2014-11-05 富士通株式会社 プログラム、制御装置および方法
KR101577886B1 (ko) * 2011-06-29 2015-12-15 인텔 코포레이션 무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치
CN103814359B (zh) * 2011-07-01 2017-12-12 华为技术有限公司 用于制作存储装置快照的系统和方法
US8645967B2 (en) * 2011-08-30 2014-02-04 Microsoft Corporation Efficient secure data marshaling through at least one untrusted intermediate process
US20130077641A1 (en) * 2011-09-22 2013-03-28 Harley F. Burger, Jr. Systems, Circuits and Methods for Time Stamp Based One-Way Communications
US9449169B2 (en) * 2012-03-26 2016-09-20 Vmware, Inc. Block storage virtualization on commodity secure digital cards
KR101975027B1 (ko) 2012-05-04 2019-05-03 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US9471793B2 (en) * 2013-01-07 2016-10-18 Infineon Technologies Ag System on chip with embedded security module
CN105210042B (zh) * 2013-03-14 2019-07-12 班杜拉有限责任公司 互联网协议威胁防护
US9071581B2 (en) 2013-09-23 2015-06-30 Nvidia Corporation Secure storage with SCSI storage devices
US9686077B2 (en) * 2014-03-06 2017-06-20 Microsoft Technology Licensing, Llc Secure hardware for cross-device trusted applications
KR20160005264A (ko) * 2014-07-04 2016-01-14 삼성전자주식회사 저장 장치 및 그것의 읽기 방법들
US9621549B2 (en) 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
US9658793B2 (en) * 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault
KR101737520B1 (ko) * 2015-04-30 2017-05-18 성균관대학교산학협력단 기기간 인터랙션 기반의 차량 사고 정보 전송 방법 및 장치, 차량 사고 정보 수집 방법 및 장치
JP6473674B2 (ja) 2015-07-28 2019-02-20 ルネサスエレクトロニクス株式会社 通信端末およびプログラム
US20170329995A1 (en) 2016-05-10 2017-11-16 Qualcomm Incorporated Anti-replay techniques using secure external non-volatile memory
US10127405B2 (en) 2016-05-10 2018-11-13 Qualcomm Incorporated Techniques for determining an anti-replay counter for preventing replay attacks
US10764066B2 (en) * 2016-05-18 2020-09-01 Apple Inc. EUICC secure timing and certificate revocation
CN107515724B (zh) * 2016-06-16 2021-04-02 伊姆西Ip控股有限责任公司 用于再现存储系统的输入输出的方法和设备
US10678924B2 (en) 2016-08-10 2020-06-09 Qualcomm Incorporated Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory
CN106330452B (zh) * 2016-08-13 2020-02-18 广东中云智安科技有限公司 一种用于区块链的安全网络附加装置及方法
US11075750B2 (en) * 2016-12-27 2021-07-27 Fotonation Limited Systems and methods for detecting data insertions in biometric authentication systems using pseudo data segments
US11405185B2 (en) * 2017-09-28 2022-08-02 Apple Inc. Methods and architectures for secure ranging
KR102488636B1 (ko) * 2017-11-23 2023-01-17 삼성전자주식회사 데이터 및 타임스탬프를 암호화하는 암호화 장치, 이를 포함하는 시스템 온 칩, 및 전자 장치
US10594671B2 (en) * 2018-02-08 2020-03-17 Dell Products L.P. System and method for preventing well behaving clients from causing account lockouts in a group
CN108683501B (zh) * 2018-03-01 2021-01-05 如般量子科技有限公司 基于量子通信网络的以时间戳为随机数的多次身份认证系统和方法
CN111161448B (zh) * 2018-11-07 2022-10-04 北京燧昀科技有限公司 数据存储方法、数据校验方法、装置、设备及存储介质
US11128609B1 (en) * 2018-12-13 2021-09-21 Secure Channels, Inc. System and method to improve user authentication for enhanced security of cryptographically protected communication sessions
CN110383279B (zh) * 2018-12-29 2024-03-15 创新先进技术有限公司 用于检测重放攻击的系统和方法
US11120167B2 (en) * 2019-03-25 2021-09-14 Micron Technology, Inc. Block chain based validation of memory commands
US20230006993A1 (en) * 2019-12-04 2023-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Authentication of an Entity

Also Published As

Publication number Publication date
US11552801B2 (en) 2023-01-10
CN111913908A (zh) 2020-11-10
KR20200129776A (ko) 2020-11-18
US20200358620A1 (en) 2020-11-12

Similar Documents

Publication Publication Date Title
DE102012111793B4 (de) Speichervorrichtung zum Schützen von sicheren Daten und Verfahren zum Authentifizieren einer Speichervorrichtung unter Verwendung von sicheren Daten
US10664171B2 (en) Memory systems and methods including training, data organizing, and/or shadowing
DE60017870T2 (de) Eine halbleiterspeicherkarte-zugangsanordnung, ein rechnerlesbares aufzeichnungsmedium, initialisierungsverfahren,und eine halbleiterspeicherkarte
DE112018000834T5 (de) System und verfahren zur adaptiven befehlsabruf-aggregation
DE102020103846A1 (de) Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE102012110692A1 (de) Datenspeichervorrichtung, die eine unterteilte Datei in verschiedenen Speichermedien speichert, sowie Datenverwaltungsverfahren
DE112018000181T5 (de) System und verfahren für die schnelle ausführung von kapselinternen befehlen
DE112014005266T5 (de) Verfahren und System zur Forwärtsreferenz-Protokollierung in einem peristenten Datenspeicher
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE102012112354A1 (de) Speichervorrichtung und nichtflüchtige Speichervorrichtung sowie Betriebsverfahren davon
DE102013108394A1 (de) Verfahren zum Verwalten eines Schlüssels für sicheres Speichern von Daten und Vorrichtung dafür
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102015205396A1 (de) Speichersystem und Verfahren zum Durchführen und Authentifizieren eines Schreibschutzes für dieses
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE102021115373A1 (de) Identifizierte zonen für zonen mit optimaler paritätsteilung
DE102018114266A1 (de) Nichtflüchtige speichervorrichtung mit sicherem lesen
DE102018123880A1 (de) Adaptive Verwaltung von Zwischenspeichern
DE102018123670A1 (de) Speicherungssystem, Rechensystem und Verfahren dafür
DE112020005459T5 (de) Delegation eines kryptografischen schlüssels an ein speichersubsystem
DE102015010906A1 (de) Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden
DE112017005782T5 (de) Warteschlange für Speichervorgänge
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken
DE102021130730A1 (de) Speichercontroller und Speicherungsvorrichtung, die jeweils ein Fragmentierungsverhältnis verwenden, und Betriebsverfahren dafür

Legal Events

Date Code Title Description
R012 Request for examination validly filed