DE102018129976A1 - System und Verfahren zur Überprüfung einer sicheren Löschoperation an einer Speichervorrichtung - Google Patents

System und Verfahren zur Überprüfung einer sicheren Löschoperation an einer Speichervorrichtung Download PDF

Info

Publication number
DE102018129976A1
DE102018129976A1 DE102018129976.1A DE102018129976A DE102018129976A1 DE 102018129976 A1 DE102018129976 A1 DE 102018129976A1 DE 102018129976 A DE102018129976 A DE 102018129976A DE 102018129976 A1 DE102018129976 A1 DE 102018129976A1
Authority
DE
Germany
Prior art keywords
secure
memory
storage device
deletion
erase
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
DE102018129976.1A
Other languages
English (en)
Inventor
Gamil Cain
Adrian Pearson
Douglas Devetter
James Chu
Srikanth Varadarajan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102018129976A1 publication Critical patent/DE102018129976A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3247Cryptographic 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 digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/80Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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/0608Saving storage space on 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

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

Abstract

Es wird ein System zur Überprüfung des sicheren Löschens einer Speichervorrichtung bereitgestellt. Eine Speichervorrichtungssteuerung für die Speichervorrichtung protokolliert die Ausführung eines Befehls zum sicheren Löschen. Eine Speichervorrichtungssteuerung für die Speichervorrichtung empfängt einen Löschungsüberprüfungsbefehl von einem Host. Die Speichervorrichtungssteuerung ruft einen oder mehrere Sichere-Löschung-Protokolleinträge aus zugriffsbeschränkten Speicherorten in nicht flüchtigem Speicher der Speichervorrichtung ab. Die Speichervorrichtungssteuerung kopiert den einen oder mehrere Sichere-Löschung-Protokolleinträge in Speichervorrichtungs-Pufferschaltungen. Die Speichervorrichtungssteuerung sichert den einen oder mehrere Sichere-Löschung-Protokolleinträge mit einem oder mehreren kryptografischen Schlüsseln, um eine verschlüsselte und/oder signierte Löschungsüberprüfungsmeldung zu erzeugen. Die Speichervorrichtungssteuerung sendet die verschlüsselte und/oder signierte Löschungsüberprüfungsmeldung an den Host, als Reaktion auf einen Empfang des Löschungsüberprüfungsbefehls.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Systeme und Verfahren zum Überprüfen des sicheren Löschens von Speichervorrichtungen.
  • HINTERGRUND
  • Bei Speichervorrichtungen wird eine „Secure Erase“-Fähigkeit zum Löschen (sanitization) von Daten realisiert. Obwohl das Sanitization-Verfahren im Allgemeinen wirkungsvoll ist, kann es schwierig sein, Gewissheit darüber zu bieten, dass der Befehl erfolgreich abgeschlossen wurde, was schwierig nachzuweisen und anfällig für Kompromittierung ist. Die Abschlussbenachrichtigung kann gefälscht (spoofed) und/oder durch eine Vielzahl von Software- und Hardwareangriffen zwischen der aufrufenden und der Speichervorrichtung (z.B. ein Solid-State Laufwerk) vereitelt werden. Kunden benötigen aus einer Anzahl von Gründen, darunter Einhaltung bestimmter Branchenstandards, einen Nachweis für den erfolgreichen Abschluss.
  • Figurenliste
  • Merkmale und Vorteile verschiedener Ausführungsformen des beanspruchten Gegenstands werden im Verlauf der folgenden ausführlichen Beschreibung und bei Bezugnahme auf die Zeichnungen ersichtlich, in denen gleiche Bezugszeichen gleiche Teile bezeichnen, und in denen:
    • 1 eine schematische Darstellung ist, die gemäß einer Ausführungsform ein veranschaulichendes System zum Überprüfen des sicheren Löschens einer Speichervorrichtung zeigt;
    • 2 gemäß einer Ausführungsform ein logisches Übersichts-Flussdiagramm eines veranschaulichenden Verfahrens zum Überprüfen des sicheren Löschens einer Speichervorrichtung ist;
    • 3 gemäß einer Ausführungsform ein logisches Übersichts-Flussdiagramm eines veranschaulichenden Verfahrens zum Überprüfen des sicheren Löschens einer Speichervorrichtung ist; und
    • 4 gemäß einer Ausführungsform ein logisches Übersichts-Flussdiagramm eines veranschaulichenden Verfahrens zum Überprüfen des sicheren Löschens einer Speichervorrichtung ist.
  • Obwohl die folgende ausführliche Beschreibung unter Bezugnahme auf veranschaulichende Ausführungsformen fortgeführt wird, sind für Fachleute zahlreiche Alternativen, Abwandlungen und Änderungen davon ersichtlich.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Das hierin offenbarte System und Verfahren überprüfen gemäß einer Ausführungsform den Abschluss eines sicheren Löschens von für Benutzer zugänglichen Daten auf einer Speichervorrichtung. In zahlreichen Branchen wie beispielsweise der Finanzbranche und der Gesundheitsbranche ist es erforderlich, vor einer Umnutzung der Speichervorrichtungen ein sicheres Löschen von Speichervorrichtungen (z.B. Solid-State-Laufwerke und/oder Festplattenlaufwerke) durchzuführen. Die finanziellen Informationen, andere persönlich identifizierbare Informationen („PII“) sowie Gesundheitsinformationen/-akten werden als sensible Informationen angesehen, die Identitätsdiebstahl oder andere Verluste an Privatsphäre zur Folge haben können, wenn sie nicht sorgfältig entsorgt werden. Aufgrund dessen können manche Unternehmen eine Gebühr pro Speichervorrichtung erheben, um Speichervorrichtungen zu löschen. Obwohl ein Unternehmen möglicherweise über ein qualifiziertes und talentiertes Informationstechnologie-Team (IT-Team) verfügt, wird dieser spezielle Dienst aktuell und unerfreulicherweise von zahlreichen Unternehmen ausgelagert. Die hierin offenbarten Systeme und Verfahren ermöglichen es möglicherweise hauseigenen IT-Teams, diese wichtige Sicherheitsoperation (z.B. sicheres Löschen und sichere Überprüfung des sicheren Löschens von Speichervorrichtungen) zurückzugewinnen.
  • Eine Speichervorrichtungssteuerung ist gemäß einer Ausführungsform dafür konfiguriert, eine oder mehrere Operationen durchzuführen, um das sichere Löschen der Speichervorrichtung zu überprüfen. Gemäß einer Ausführungsform empfängt die Speichervorrichtungssteuerung für die Speichervorrichtung einen Löschungsüberprüfungsbefehl von einem Host. Die Speichervorrichtungssteuerung ruft gemäß einer Ausführungsform einen oder mehrere Sichere-Löschung-Protokolleinträge von zugriffsbeschränkten Speicherorten in nicht flüchtigem Speicher (non-volatile memory, NVM) der Speichervorrichtung ab. Gemäß einer Ausführungsform kopiert die Speichervorrichtungssteuerung den einen oder mehrere Sichere-Löschung-Protokolleinträge in Speichervorrichtungs-Pufferschaltungen. Gemäß einer Ausführungsform sichert die Speichervorrichtungssteuerung digital (z.B. sie signiert und/oder verschlüsselt) den einen oder mehrere Sichere-Löschung-Protokolleinträge mit einem oder mehreren kryptografischen Schlüsseln (z.B. einem Verschlüsselungsschlüssel oder einem Signierschlüssel), um eine verschlüsselte und/oder signierte Löschungsüberprüfungsmeldung zu erzeugen. Gemäß einer Ausführungsform beinhaltet ein Sichern des einen oder mehrerer Sichere-Löschung-Protokolleinträge ein Verschlüsseln des einen oder mehrerer Sichere-Löschung-Protokolleinträge mit einem Verschlüsselungsschlüssel, Signieren des einen oder mehrerer Sichere-Löschung-Protokolleinträge mit einem Signierschlüssel oder sowohl Verschlüsseln als auch Signieren des einen oder mehrerer Sichere-Löschung-Protokolleinträge. Gemäß einer Ausführungsform sendet die Speichervorrichtungssteuerung die verschlüsselte und/oder signierte Löschungsüberprüfungsmeldung an den Host, als Reaktion auf ein Empfangen des Löschungsüberprüfungsbefehls.
  • 1 zeigt gemäß einer Ausführungsform ein veranschaulichendes System 100 zum Überprüfen des sicheren Löschens einer Speichervorrichtung. Das System 100 kann entsprechen: einer Datenverarbeitungsvorrichtung, bei der es sich, ohne dass sie darauf beschränkt wäre, um einen Server, einen Arbeitsplatzcomputer, einen Desktop-Computer, einen Laptop-Computer, einen Tablet-Computer (z.B. iPad®, GalaxyTab® und dergleichen), einen ultratragbaren Computer, einen ultramobilen Computer, einen Netbook-Computer und/oder einen Subnotebook-Computer handeln kann; und/oder ein Mobiltelefon, einschließlich, aber ohne darauf beschränkt zu sein, ein Smartphone (z.B. iPhone®, ein auf Android® beruhendes Telefon, Blackberry®, ein auf Symbian® beruhendes Telefon, ein auf Palm® beruhendes Telefon usw.) und/oder ein „Feature Phone“ handeln kann.
  • Das System kann eine Hostvorrichtung 102 und eine Speichervorrichtung 104 aufweisen, die kommunikativ und/oder physisch durch einen oder mehrere Busse 106 miteinander gekoppelt sind, unter Verwendung von einem oder mehreren verschiedenen Hardware-/Datenübertragungsprotokollen, darunter, aber ohne darauf beschränkt zu sein, SCSI (Small Computer System Interface), SAS (Serial Attached SCSI), PCIe (Peripheral Component Interconnect Express), NVMe (Non-Volatile Memory Express), SATA (Serial ATA (Advanced Technology Attachment)). Die Hostvorrichtung 102 kann aus der Entfernung mit der Speichervorrichtung 104 durch ein oder mehrere Netzwerke 108 kommunikativ gekoppelt sein. Bei dem einen oder mehreren Netzwerken kann es sich, aber ohne dass sie darauf beschränkt wären, um ein beliebiges Netzwerk oder Netzwerksystem handeln wie beispielsweise, aber ohne einschränkend zu wirken, die folgenden: ein Peer-to-Peer-Netzwerk; ein hybrides Peer-to-Peer-Netzwerk; ein lokales Netzwerk (local area network, LAN); ein Weitverkehrsnetz (wide area network, WAN); ein öffentliches Netzwerk wie beispielsweise das Internet; ein privates Netzwerk; ein zellulares Netzwerk; jedes allgemeine Netzwerk, Datenübertragungsnetzwerk oder allgemeine Netzwerk-/Datenübertragungsnetzwerksystem; ein drahtloses Netzwerk; ein kabelgebundenes Netzwerk; ein kombiniertes drahtloses und kabelgebundenes Netzwerk; ein Satellitennetzwerk; ein Kabelnetzwerk; eine beliebige Kombination unterschiedlicher Netzwerkarten.
  • Die Hostvorrichtung 102 kann gemäß einer Ausführungsform einen Prozessor 110, einen Chipsatz 112 und Peripherievorrichtungen 114 aufweisen. Gemäß einer Ausführungsform können der Prozessor 110, ein Chipsatz 112 und Peripherievorrichtungen 114 durch den einen oder mehrere Busse 106 kommunikativ und/oder physisch miteinander gekoppelt werden. Der Prozessor 110 kann gemäß einer Ausführungsform einem Einzelkern- oder einem Mehrkern-Universalprozessor entsprechen, wie beispielsweise den von Intel® Corporation bereitgestellten, usw. Der Chipsatz 112 kann zum Beispiel einen Satz elektronische Komponenten aufweisen, der einen oder mehrere Busse 106 aufweist, um einen Datenaustausch zwischen Komponenten des Systems zu erleichtern. Der Chipsatz 112 kann einen Datenfluss zwischen dem Prozessor 110, den Peripherievorrichtungen 114 und der Speichervorrichtung 104 verwalten. Zu den Peripherievorrichtungen 114 können gemäß einer Ausführungsform zum Beispiel eine oder mehrere Benutzerschnittstellenvorrichtungen zählen, darunter eine Anzeige, eine Touchscreen-Anzeige, ein Drucker, ein Tastenfeld, eine Tastatur usw., kabelgebundene und/oder drahtlose Datenübertragungslogik sowie eine oder mehrere zusätzliche Speichervorrichtungen, darunter Festplattenlaufwerke, Solid-State-Laufwerke, austauschbare Speichermedien usw.
  • Die Hostvorrichtung kann eine Anwendung 116, einen öffentlichen Signierschlüssel 118, eine Nonce 120 und einen privaten Verschlüsselungsschlüssel aufweisen. Bei der Anwendung 116 kann es sich gemäß einer Ausführungsform um eine Anwendung handeln, die einen Benutzer der Hostvorrichtung 102 in die Lage versetzt, Löschbefehle an die Speichervorrichtung 104 zu senden, und den Benutzer der Hostvorrichtung 102 befähigt, die verschlüsselten und/oder signierten Löschungsüberprüfungsmeldungen von der Speichervorrichtung 104 zu empfangen, zu überprüfen und/oder zu lesen. Gemäß einer Ausführungsform kann bei der Anwendung 116 ein öffentlicher Signierschlüssel 118 verwendet werden, um zu bestimmen, dass eine Signatur (z.B. ein Hash der Löschungsüberprüfungsmeldung) auf dem Datenübertragungsweg zwischen der Speichervorrichtung 104 und der Hostvorrichtung 102 nicht verändert wurde. Die Anwendung 116 kann gemäß einer Ausführungsform eine Nonce 120 mit den Löschbefehlen senden, die an die Speichervorrichtung 104 gesendet werden, als zusätzlichen Nachweis dafür, dass eine sichere Löschoperation an der Speichervorrichtung 104 durchgeführt wird. Die Nonce 120 ist ein Wort, eine Zahl oder eine andere kryptografische Kennung, die gesendet, empfangen und überprüft werden kann, um die Wahrscheinlichkeit zu verringern, „wiedergegebene“ (replayed) Überprüfungsmeldungen zu empfangen (z.B. in dem Fall, dass die Speichervorrichtung 104 kompromittiert wurde). Bei der Anwendung 116 kann gemäß einer Ausführungsform ein privater Verschlüsselungsschlüssel 121 zum Verschlüsseln der Löschungsüberprüfungsmeldung verwendet werden, falls die Löschungsüberprüfungsmeldung optional verschlüsselt wurde (z.B. mit einem öffentlichen Verschlüsselungsschlüssel, der mithilfe des privaten Verschlüsselungsschlüssels 121 entschlüsselt werden kann).
  • Die Speichervorrichtung 104 ist gemäß einer Ausführungsform dafür konfiguriert, über den einen oder mehrere Busse 106 Anweisungen, Adressen, Daten und Befehle von dem Prozessor 110 zu empfangen und Daten und Meldungen für den Prozessor 110 bereitzustellen. Gemäß einer Ausführungsform kann die Speichervorrichtung 104 ein System sein, das eine oder mehrere Speichervorrichtungssteuerungen und eine oder mehrere nicht flüchtige Speichervorrichtungen aufweist. Die Speichervorrichtung 104 kann gemäß einer Ausführungsform ein Solid-State-Laufwerk (solid-state drive, SSD) sein, das eine Anzahl nicht flüchtiger Speicher-Dies aufweist, die als ein oder mehrere Speicherarrays konfiguriert sind. Die Speichervorrichtung 104 kann gemäß einer Ausführungsform ein Festplattenlaufwerk (hard disk drive, HDD) sein, das ein sich drehendes nicht flüchtiges Speichermedium aufweist. Die Speichervorrichtung 104 kann gemäß einer Ausführungsform ein Hybrid eines Solid-State-Laufwerks und eines Festplattenlaufwerks sein.
  • Gemäß einer Ausführungsform weist die Speichervorrichtung 104 eine Speichervorrichtungssteuerung 122, Speichervorrichtungs-Pufferschaltungen 124 und nicht flüchtigen Speicher 126 auf. Die Speichervorrichtungssteuerung 122, Speichervorrichtungs-Pufferschaltungen 124 und der nicht flüchtige Speicher 126 versetzen gemäß einer Ausführungsform die Speichervorrichtung 104 in die Lage, den nicht flüchtigen Speicher 126 sicher zu löschen, Sichere-Löschung-Protokolleinträge zu speichern und verschlüsselte und/oder signierte Löschungsüberprüfungsmeldungen zu erzeugen und zu senden, welche die Hostvorrichtung 102 befähigen, sicher zu überprüfen, dass bestimmte Abschnitte des nicht flüchtigen Speichers 126 sicher gelöscht wurden.
  • Die Speichervorrichtungssteuerung 122 ist gemäß einer Ausführungsform dafür konfiguriert, den nicht flüchtigen Speicher 126 zu adressieren, in ihn zu schreiben und aus ihm zu lesen. Die Speichervorrichtungssteuerung 122 ist gemäß einer Ausführungsform dafür konfiguriert, Speicherzugriffsoperationen (z.B. Auslesen einer Ziel-Speicherzelle und/oder Schreiben in eine Ziel-Speicherzelle), ECC-Prüfungsoperationen (ECC = error correction code, Fehlerkorrekturcode) und Speicherzellen-Wiederherstellungsoperationen durchzuführen. Gemäß einer Ausführungsform kann die Speichervorrichtungssteuerung 122 verschiedene Logik, Schaltungen und/oder Module aufweisen, um Speichervorrichtungs-Betriebsoperationen und Datenaustausch mit einem oder mehreren aus dem Prozessor 110, dem Chipsatz 112, den Peripherievorrichtungen 114 und der Anwendung 116 zu erleichtern. Die Speichervorrichtungssteuerung 122 kann gemäß einer Ausführungsform eines oder mehrere aus Speichervorrichtungssteuerungs-Logik 128, einem Fehlerspeicher 130, Erfassungsschaltungen 132, ECC-Logik 134, Wiederherstellungslogik 136, einem Parameterspeicher 138 und/oder einer Stromquelle 140 aufweisen, um aus dem nicht flüchtigen Speicher 126 zu lesen, in ihn zu schreiben oder auf andere Weise auf Abschnitte von ihm zuzugreifen. Die Speichervorrichtungssteuerungs-Logik 128 kann dafür konfiguriert sein, mit der Speichervorrichtungssteuerung 122 in Zusammenhang stehende Operationen durchzuführen. Zum Beispiel verwaltet die Speichervorrichtungssteuerungs-Logik 128 möglicherweise Datenaustausche mit dem Prozessor 110 und kann dafür konfiguriert sein, eine(n) oder mehrere Ziel-Speicherzellen, Ziel-Speicherblöcke oder Ziel-Sektoren zu erkennen, die jeder empfangenen Speicheradresse (z.B. in einer Leseanforderung) zugeordnet sind. Der Fehlerspeicher 130 enthält gemäß einer Ausführungsform eine Fehlerart für fehlgeschlagene Speicherlese- oder zugriffsoperationen. Gemäß einer Ausführungsform können die Erfassungsschaltungen 132 dafür konfiguriert sein, eine durch eine Speicherzelle fließende Strommenge zu erkennen (z.B. während einer Leseoperation nicht flüchtigen Speichers). Gemäß einer Ausführungsform ist die ECC-Logik 134 dafür konfiguriert, Fehlerprüffunktionalität für die Speichervorrichtungssteuerung 122 bereitzustellen. Die Wiederherstellungslogik 136 ist gemäß einer Ausführungsform dafür konfiguriert, Wiederherstellung von fehlgeschlagenen Operationen für zugehörige Speicherzellen, Speicherblöcke und/oder die durch die ECC-Logik 134 identifizierten Speichersektoren und/oder Speichervorrichtungssteuerungs-Logik 128 zu verwalten. Der Parameterspeicher 138 ist dafür konfiguriert, die Anzahl auszuwählender benachbarter Speicherzellen (z.B. für den nicht flüchtigen Speicher 126 bei einer SSD-Realisierung) und Parameter zu speichern, die mit einer Sequenz von Wiederherstellungsimpulsen in Zusammenhang stehen, um eine Fehlerkorrektur zu erleichtern. Die Anzahl auszuwählender benachbarter Speicherzellen kann gemäß einer Ausführungsform zumindest zum Teil auf Fehlerart, Speicherarraydichte und/oder maximalem von der Stromquelle 140 verfügbaren Strom beruhen. Gemäß einer Ausführungsform führt die Stromquelle 140 einem oder mehreren Abschnitten des nicht flüchtigen Speichers 126 Strom zu.
    Die Speichervorrichtungssteuerung 122 kann Logik und Komponenten zur Unterstützung sicherer Löschoperationen und sicherer Löschungsüberprüfungsoperationen aufweisen. Die Speichervorrichtungssteuerung 122 weist gemäß einer Ausführungsform Sichere-Löschung-Logik 142, Löschungsüberprüfungslogik 144, einen privaten Signierschlüssel 146 und einen öffentlichen Verschlüsselungsschlüssel 147 zum Unterstützen sicherer Löschoperationen und/oder sicherer Löschungsüberprüfungsoperationen auf.
  • Die Sichere-Löschung-Logik 142 enthält gemäß einer Ausführungsform Anweisungen, die, wenn sie von der Speichervorrichtungssteuerung 122 ausgeführt werden, die Speichervorrichtungssteuerung 122 veranlassen, Abschnitte des nicht flüchtigen Speichers 126 zu löschen. Die Sichere-Löschung-Logik 142 kann in Firmware der Speichervorrichtungssteuerung 122 gespeichert werden. Die Speichervorrichtungssteuerung 122 kann eine oder mehrere aus einer Anzahl von Techniken zum Löschen des nicht flüchtigen Speichers 126 nutzen. Wenn der nicht flüchtige Speicher 126 zum Beispiel nicht flüchtigen Solid-State-Speicher oder elektronisch löschbaren Speicher aufweist, kann die Sichere-Löschung-Logik 142 Anweisungen zum Anlegen einer Spannung an Speicherzellen des nicht flüchtigen Speichers 126 aufweisen, um zu bewirken, dass die Speicherzellen in einen gelöschten Zustand umprogrammiert werden. Genauer ausgedrückt: Der Host 102 kann einen Befehl „NVM formatieren“ an die Speichervorrichtung 104 senden (z.B. unter Verwendung des Protokolls NVMe over PCIe). Der Befehl „NVM formatieren“ kann die Speichervorrichtungssteuerung anweisen, eine Benutzerdaten-Löschoperation (z.B., um alle in dem nicht flüchtigen Speicher 126 vorhandenen Benutzerinhalte zu löschen) oder eine kryptografische Löschoperation durchzuführen (z.B., um wirkungsvoll alle Benutzerinhalte in dem nicht flüchtigen Speicher 126 durch Löschen eines Verschlüsselungsschlüssels zu löschen, mit dem alle Benutzerinhalte verschlüsselt wurden). Als ein anderes Beispiel: Wenn der nicht flüchtige Speicher 126 Plattenmedien (z.B. ein Festplattenlaufwerk) aufweist, kann die Sichere-Löschung-Logik 142 Anweisungen zum Löschen, Überschreiben, Verschlüsseln und/oder anderweitigen Zerstören von Inhalten einer Dateizuordnungstabelle (oder eines Äquivalents davon) enthalten, sodass die auf den Plattenmedien gespeicherten Informationen nicht lesbar sind oder auf andere Weise für nachfolgende Leseversuche bedeutungslos gemacht werden. Zum Beispiel kann der Host 102 einen Befehl „Sicheres Löschen“ senden, der in Firmware von Festplattenlaufwerken eingebaut ist. Der Befehl „Sicheres Löschen“ schreibt eine logische „0“ in die gesamte Platte oder in für einen Host zugängliche Abschnitte eines Festplattenlaufwerks. Bei einigen Ausführungsformen kann ein sicheres Löschen eines Festplattenlaufwerks ein mehrmaliges Durchführen einer Operation „Sicheres Löschen“ (z.B. 3 bis 5-mal) beinhalten, um die Wahrscheinlichkeit zu verringern, dass Informationen von einem Festplattenlaufwerk wiederhergestellt werden.
  • Gemäß einer Ausführungsform ist die Sichere-Löschung-Logik 142 dafür konfiguriert, einen oder mehrere Sichere-Löschung-Protokolleinträge in Abschnitten des nicht flüchtigen Speichers 126 zu erstellen, die zugangsbeschränkt sind, sodass die Speichervorrichtungssteuerung 122 auf die Sichere-Löschung-Protokolleinträge zugreifen kann, und die Hostvorrichtung 102 nicht direkt auf die Sichere-Löschung-Protokolleinträge zugreifen kann. Gemäß einer Ausführungsform erzeugt die Sichere-Löschung-Logik 142 den einen oder mehrere Sichere-Löschung-Protokolleinträge nach einem Durchführen eines sicheren Löschens oder eines Krypto-Löschens an dem gesamten oder einem Teil des nicht flüchtigen Speichers 126.
    Gemäß einer Ausführungsform weist die Löschungsüberprüfungslogik 144 Anweisungen auf, welche die Speichervorrichtungssteuerung 122 veranlassen zu überprüfen, ob der nicht flüchtige Speicher 126 sicher gelöscht wurde. Die Löschungsüberprüfungslogik 144 kann gemäß einer Ausführungsform in Firmware der Speichervorrichtungssteuerung 122 gespeichert werden. Die Löschungsüberprüfungslogik 144 kann gemäß einer Ausführungsform an für eine Steuerung zugänglichen Speicherorten 150 des nicht flüchtigen Speichers 126 gespeichert werden. Gemäß einer Ausführungsform weist die Löschungsüberprüfungslogik 144 Anweisungen auf, welche die Speichervorrichtungssteuerung 122 veranlassen, auf einen oder mehrere gespeicherte Sichere-Löschung-Protokolleinträge zuzugreifen, den einen oder mehrere gespeicherte Sichere-Löschung-Protokolleinträge in die Speichervorrichtungs-Pufferschaltungen 124 zu kopieren und den einen oder mehrere gespeicherte Sichere-Löschung-Protokolleinträge als eine verschlüsselte und/oder signierte Löschungsüberprüfungsmeldung zu verschlüsseln und/oder digital zu signieren. Gemäß einer Ausführungsform veranlasst die Löschungsüberprüfungslogik 144 die Speichervorrichtungssteuerung 122, die verschlüsselte und/oder signierte Löschungsüberprüfungsmeldung an die Hostvorrichtung 102 zu senden, als Reaktion auf ein Empfangen eines Löschungsüberprüfungsbefehls von der Hostvorrichtung 102. Gemäß einer Ausführungsform veranlasst die Löschungsüberprüfungslogik 144 die Speichervorrichtungssteuerung 122, einen privaten Signierschlüssel 146 zu verwenden, um einen Hash von einem oder mehreren der Sichere-Löschung-Protokolleinträge zu erstellen, um eine Signatur zu erzeugen, die mithilfe des öffentlichen Signierschlüssels 118 durch die Hostvorrichtung 102 überprüfbar ist. Gemäß einer Ausführungsform veranlasst die Löschungsüberprüfungslogik 144 die Speichervorrichtungssteuerung 122, einen öffentlichen Verschlüsselungsschlüssel 147 zu verwenden, um optional den einen oder mehrere Sichere-Löschung-Protokolleinträge vor einem Senden an die Hostvorrichtung 102 zu verschlüsseln.
  • Gemäß verschiedenen Ausführungsformen ist der private Signierschlüssel 146 ein Verschlüsselungsschlüssel, der in der Speichervorrichtung unter Verwendung von einer aus einer Anzahl von Techniken gespeichert werden kann. Zum Beispiel kann gemäß einer Ausführungsform der private Signierschlüssel 146 in die Speichervorrichtungssteuerungs-Logik 128 programmiert sein (z.B. Firmware für die Speichervorrichtungssteuerung 122). Als ein anderes Beispiel kann gemäß einer Ausführungsform der private Signierschlüssel 146 während der Herstellung der Speichervorrichtung 104 in eine oder mehrere Sicherungen hartcodiert werden. Gemäß einer Ausführungsform kann der private Signierschlüssel 146 an die für die Steuerung zugänglichen Speicherorte 150 während der Herstellung der Speichersteuerung 104 kopiert werden. Gemäß einer Ausführungsform kann während der Herstellung einer Anzahl von Speichervorrichtungen für einen einzelnen Käufer der Speichervorrichtungen, zum Beispiel ein Unternehmen, ein Hersteller eine Anzahl privater Signierschlüssel programmieren oder hartcodieren, die alle mit demselben öffentlichen Signierschlüssel 118 entschlüsselt werden können, um Informationstechnologie-Administratoren in die Lage zu versetzen, bequem das sichere Löschen der erworbenen Speichervorrichtungen zu überprüfen. Bei einer Ausführungsform ist der private Signierschlüssel 146 ein erster Verschlüsselungsschlüssel, und der öffentliche Signierschlüssel 118 ist ein zweiter Verschlüsselungsschlüssel, der verwendet werden kann, um Informationen zu entschlüsseln, die mit dem ersten Verschlüsselungsschlüssel verschlüsselt sind. Gemäß einer Ausführungsform können, obwohl der private Signierschlüssel 146 und der öffentliche Signierschlüssel 118 als ein privat-öffentliches Verschlüsselungs-Schlüsselpaar beschrieben werden, andere Arten von PKI-Schlüsselpaaren (PKI = public key infrastructure = öffentliche Schlüsselinfrastruktur) verwendet werden, um die Löschungsüberprüfungsoperation durchzuführen.
  • Der öffentliche Verschlüsselungsschlüssel 147 kann gemäß einer Ausführungsform in die Firmware und/oder Hardware der Speichervorrichtung 104 unter Verwendung ähnlicher Techniken programmiert werden, wie sie möglicherweise für den privaten Signierschlüssel 146 verwendet werden. Bei einer Ausführungsform wird der öffentliche Verschlüsselungsschlüssel 147 von der Hostvorrichtung 102 an die Speichervorrichtung 104 gesendet, nachdem die Speichervorrichtung in der Hostvorrichtung 102 installiert oder zur Verwendung durch diese zugewiesen wurde.
  • Die Löschungsüberprüfungslogik 144 kann gemäß verschiedener Ausführungsformen Anweisungen zum Anwenden einer oder mehrerer aus einer Anzahl von Verschlüsselungs-/kryptografischen Techniken auf einen oder mehrere Sichere-Löschung-Protokolleinträge aufweisen, um den einen oder mehrere Sichere-Löschung-Protokolleinträge zu verschlüsseln und/oder zu signieren. Gemäß einer Ausführungsform kann die Löschungsüberprüfungslogik 144 zum Beispiel einen oder mehrere aus Data Encryption Standard (DES), Blowfish, Advanced Encryption Standard (AES), Twofish, International Data Encryption Algorithm (IDEA), Message Digest 5 (MD5), Secure Hash Algorithm 1 (SHA1), Hash-based Message Authentication Code (HMAC), der Elliptic-Curve-direct-anonymous-Attestation-(ECDAA- ) Technik oder einer kryptografischen Rivest-Shamir-Adleman-(RSA-) Technik nutzen. ECDAA ist eine Form digitaler Signatur, welche die Speichervorrichtung 104 befähigt, eine kryptografisch überprüfbare Signatur bei gleichzeitiger Aufrechterhaltung von Anonymität zu erzeugen. Die Verwendung eines/einer ECDAA-Protokolls/Technik ermöglicht, dass der private Signierschlüssel 146 in jeder aus einer Anzahl von Speichervorrichtungen (z.B. der Speichervorrichtung 104) bereitgestellt wird (z.B. zur Zeit der Herstellung), die verwendet werden können, um Signaturen zu erzeugen, die durch Verwendung eines einzigen öffentlichen Gruppenschlüssels (single group public key) (z.B. der öffentliche Signierschlüssel 118) überprüfbar sind. Diese Technik versetzt Hostsoftware (z.B. die Anwendung 116) in die Lage, Speichervorrichtungssignaturen für jede Speichervorrichtung in einer DAA-Gruppe (DAA = direct anonymous attestation) unter Verwendung eines einzigen öffentlichen Gruppenschlüssels zu überprüfen. Gemäß einer Ausführungsform kann aufgrund dessen durch eine Verwendung von ECDAA durch die Löschungsüberprüfungslogik 144 die Anzahl öffentlicher Schlüssel stark verringert werden, die von der Hostvorrichtung 102 zu unterhalten sind.
  • Die Speichervorrichtungs-Pufferschaltungen 124 können gemäß einer Ausführungsform flüchtiger Speicher, nicht flüchtiger Speicher und/oder eine Kombination von flüchtigem Speicher und nicht flüchtigem Speicher sein. Gemäß einer Ausführungsform sind die Speichervorrichtungs-Pufferschaltungen 124 dafür konfiguriert, das Senden von Daten zwischen der Hostvorrichtung 102 und der Speichervorrichtung 104 zu erleichtern. Die Speichervorrichtungs-Pufferschaltungen 124 weisen gemäß einer Ausführungsform flüchtigen Speicher wie beispielsweise dynamischen Direktzugriffsspeicher (dynamic random-access memory, DRAM) und/oder statischen Direktzugriffsspeicher (static random-access memory, SRAM) auf. Gemäß einer Ausführungsform weisen die Speichervorrichtungs-Pufferschaltungen 124 nicht flüchtige Speicherzellen (z.B. NAND-Speicher) auf. Die Speichervorrichtungs-Pufferschaltungen 124 können außerdem nicht flüchtige Vorrichtungen zukünftiger Generationen aufweisen, wie eine dreidimensionale Crosspoint-Speichervorrichtung oder andere byteadressierbare nicht flüchtige Write-in-Place-Speichervorrichtungen. Bei einer Ausführungsform können die Speichervorrichtungs-Pufferschaltungen 124 Speichervorrichtungen aufweisen, bei denen Chalkogenidglas verwendet wird, nicht flüchtigen Multi-Threshold-Level-NAND-Speicher, nicht flüchtigen NOR-Speicher, Single- oder Multi-Level-PCM (PCM = phase change memory, Phasenänderungsspeicher), einen resistiven Speicher, Nanodrahtspeicher, ferroelektrischen Transistor-RAM (ferroelectric transistor random access memory, FeTRÄM), antiferroelektrischen Speicher, magnetoresistiven Direktzugriffsspeicher (magnetoresistive random access memory, MRAM), Speicher mit einbezogener Memristor-Technologie, resistiven Speicher, darunter der auf Metalloxid basierende, der auf Sauerstoffleerstellen (oxygen vacancy) basierende und der CB-RAM (conductive bridge random access memory), oder Spin-Transfer-Torque- (STT-) MRAM, eine Vorrichtung auf Grundlage von Spintronic-magnetic-Junction-Speicher, eine Vorrichtung auf Grundlage von MTJ (magnetic tunneling junction), eine Domain-Wall- (DW-) und Spin-Orbit-Transfer- (SOT-) basierte Vorrichtung, eine Speichervorrichtung auf Thyristorbasis oder eine Kombination von beliebigen der Vorstehenden.
  • Gemäß einer Ausführungsform ist der nicht flüchtige Speicher 126 ein Speichermedium, das keine Energie benötigt, um den Zustand von durch das Speichermedium gespeicherten Daten aufrechtzuerhalten. Bei dem nicht flüchtigen Speicher 126 kann es sich, aber ohne darauf beschränkt zu sein, handeln um: einen nicht flüchtigen NAND-Speicher (z.B. SLC (single-level cell), MLC (multi-level cell), TLC (tri-level cell), QLC (quad-level cell) oder eine andere Art nicht flüchtigen NAND-Speicher), NOR-Speicher, Solid-State-Speicher (z.B. planarer oder dreidimensionaler (3D) nicht flüchtiger NAND-Speicher oder nicht flüchtiger NOR-Speicher), Speichervorrichtungen, bei denen Chalkogenid-Phasenänderungsmaterial (z.B. Chalkogenidglas) verwendet wird, byteadressierbare nicht flüchtige Speichervorrichtungen, ferroelektrischen Speicher, SONOS-Speicher (silicon-oxidenitride-oxide-silicon memory), Polymerspeicher (z.B. ferroelektrischer Polymerspeicher), byteadressierbaren Direktzugriffs-3D-XPoint- (oder Crosspoint-) Speicher, ferroelektrischen Transistor-Direktzugriffsspeicher (ferroelectric transistor random access memory, Fe-TRAM), magnetoresistiven Direktzugriffsspeicher (magnetoresistive random access memory, MRAM), Phasenänderungsspeicher (phase change memory, PCM, PRAM), resistiven Speicher, ferroelektrischen Speicher (F-RAM, FeRAM), STT-Speicher (STT = spin-transfer torque), TAS-Speicher (TAS = thermal assisted switching), Millipede-Speicher, FJG RAM (floating junction gate memory), MTJ-Speicher (MTJ = magnetic tunnel junction), ECM-Speicher (ECM = electrochemical cells) Binary-Oxide-Filament-Cell-Speicher, Interfacial-Switching-Speicher, batteriegestützten RAM, Ovonic-Speicher, Nanodrahtspeicher, elektrisch löschbaren programmierbaren Nur-Lese-Speicher (electrically erasable programmable read-only memory, EEPROM) usw. Bei einigen Ausführungsformen kann gemäß verschiedenen Ausführungsformen der byteadressierbare Direktzugriffs-3D-Crosspoint-Speicher eine transistorlose stapelbare Crosspoint-Architektur aufweisen, in der Speicherzellen an dem Schnittpunkt von Wortlinien und Bitlinien sitzen und einzeln adressierbar sind, und in der Bitspeicherung auf einer Änderung von Volumenwiderstand beruht.
  • Gemäß einer Ausführungsform weist der nicht flüchtige Speicher 126 für einen Host zugängliche Speicherorte 148 und für eine Steuerung zugängliche Speicherorte 150 auf. Bei dem nicht flüchtigen Speicher 126 kann es sich um Solid-State-Speicher, sich drehende Plattenmedien sowie eine Kombination von Solid-State-Medien und sich drehenden Plattenmedien handeln. Gemäß einer Ausführungsform zählen zu den für einen Host zugänglichen Speicherorten 148 ein oder mehrere Blöcke, Sektoren, Orte oder Abschnitte des nicht flüchtigen Speichers 126, die für die Hostvorrichtung 102 oder eine andere in Bezug auf die Speichervorrichtung 104 externe Vorrichtung zugänglich sind. Gemäß einer Ausführungsform zählen zu den für eine Steuerung zugänglichen Speicherorten 150 beschränkte oder reservierte Blöcke, Sektoren, Orte oder Abschnitte des nicht flüchtigen Speichers 126, aus denen durch die Speichervorrichtungssteuerung 122 und nicht durch die Hostvorrichtung 102 gelesen werden kann und/oder in die geschrieben werden kann.
  • Gemäß einer Ausführungsform speichern die für einen Host zugänglichen Speicherorte 148 Daten-vor-Löschung 152 und Daten-nach-Löschung 154. Die Daten-vor-Löschung 152 stellen gemäß einer Ausführungsform Daten dar, die in den für einen Host zugänglichen Speicherorten 148 während eines Normalbetriebs des nicht flüchtigen Speichers 126 gespeichert werden. Zum Beispiel können die Daten-vor-Löschung 152 enthalten, aber ohne darauf beschränkt zu sein: Bilder, Audio, Video, andere Multimediainhalte, persönlich identifizierbare Informationen (PII), die finanziellen Daten, Gesundheitsinformationen, E-Mail-Nachrichten usw. Gemäß einer Ausführungsform stellen die Daten-nach-Löschung 154 die Werte dar, die an denselben Speicherorten gespeichert sind wie die Daten-vor-Löschung 152, aber stellen die an diesen Speicherorten gespeicherten Werte dar, nachdem die für einen Host zugänglichen Speicherorte 148 durch die Speichervorrichtungssteuerung 122 sicher gelöscht wurden. Ein Abschnitt der Daten-vor-Löschung 152 und ein Abschnitt der Daten-nach-Löschung 154 können gemäß einer Ausführungsform in einer verschlüsselten und/oder signierten Löschungsüberprüfungsmeldung enthalten sein, die von der Speichervorrichtung 104 als Reaktion auf einen Löschungsüberprüfungsbefehl an die Hostvorrichtung 102 gesendet wird.
  • Gemäß einer Ausführungsform zählen zu den für eine Steuerung zugänglichen Speicherorten 150 unter anderem ein sicherer Protokollierungsbereich 156, in dem die Sichere-Löschung-Logik 142 veranlasst, dass die Speichervorrichtungssteuerung 122 einen oder mehrere Sichere-Löschung-Protokolleinträge speichert. Gemäß einer Ausführungsform zählen zu den für eine Steuerung zugänglichen Speicherorten 150 möglicherweise Solid-State-Speicherorte in der Speichervorrichtungssteuerung 122. Gemäß einer Ausführungsform zählen zu den für eine Steuerung zugänglichen Speicherorten 150 möglicherweise reservierte Solid-State-Speicherorte in einem Solid-State-Speicherzellenarray. Gemäß einer Ausführungsform zählen zu den für eine Steuerung zugänglichen Speicherorten 150 möglicherweise ein oder mehrere Abschnitte (z.B. Sektoren) auf sich drehenden Plattenmedien. Gemäß einer Ausführungsform weist der sichere Protokollierungsbereich 156 einen Sichere-Löschung-Protokolleintrag 158a und einen Sichere-Löschung-Protokolleintrag 158b bis zu einem Sichere-Löschung-Protokolleintrag 158n auf, der repräsentativ für eine undefinierte Anzahl von Sichere-Löschung-Protokolleinträgen (insgesamt: Sichere-Löschung-Protokolleinträge 158) ist.
    Jeder der Sichere-Löschung-Protokolleinträge 158 kann Metadaten enthalten wie beispielsweise Zeitstempelinformationen, eine Anzahl gelöschter Speicherblöcke, eine Anzahl gelöschter Speichersektoren, die Länge der von der Löschoperation in Anspruch genommenen Zeit, eine Kennung dafür, wie viele Male der nicht flüchtige Speicher 126 sicher gelöscht wurde, einen Abschnitt der Daten-vor-Löschung 152 und einen Abschnitt der Daten-nach-Löschung 154 als Nachweis einer Löschung usw. Gemäß einer Ausführungsform werden die Sichere-Löschung-Protokolleinträge 158 in den sicheren Protokollierungsbereich 156 durch die Speichervorrichtungssteuerung 122 geschrieben, welche die Sichere-Löschung-Logik 142 ausführt. Gemäß einer Ausführungsform veranlasst die Sichere-Löschung-Logik 142 die Speichervorrichtungssteuerung 122, die Sichere-Löschung-Protokolleinträge 158 mit dem öffentlichen Verschlüsselungsschlüssel 147 zu verschlüsseln. Bei einer anderen Ausführungsform werden die Sichere-Löschung-Protokolleinträge 158 als Reaktion auf einen Empfang eines Löschungsüberprüfungsbefehls verschlüsselt und werden während einer sicheren Löschoperation nicht verschlüsselt. Gemäß einer Ausführungsform veranlasst die Sichere-Löschung-Logik 142 die Speichervorrichtungssteuerung 122, eine Signatur für die Sichere-Löschung-Protokolleinträge 158 mithilfe des privaten Signierschlüssels 146 zu erzeugen. Bei einer anderen Ausführungsform werden die Sichere-Löschung-Protokolleinträge 158 als Reaktion auf einen Empfang eines Löschungsüberprüfungsbefehls signiert und werden während der sicheren Löschoperation nicht signiert.
  • Gemäß einer Ausführungsform zählen zu den für eine Steuerung zugänglichen Speicherorten 150 optional der private Signierschlüssel 146, der öffentliche Verschlüsselungsschlüssel 147 sowie die Löschungsüberprüfungslogik 144.
  • Beim Betrieb sendet, in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung, die Hostvorrichtung 102 einen oder mehrere Befehle 160 an die Speichervorrichtung 104, um die Speichervorrichtung 104 zu veranlassen, eine sichere Löschoperation 162 und/oder eine Löschungsüberprüfungsoperation 164 durchzuführen. Gemäß einer Ausführungsform kann die Löschungsüberprüfungsoperation 164 die Nonce 120 beinhalten. Gemäß einer Ausführungsform können der eine oder mehrere Befehle 160 gleichzeitig an die Speichervorrichtung 104 gesendet werden, oder die sichere Löschoperation 162 und die Löschungsüberprüfungsoperation 164 können zu unterschiedlichen Zeiten gesendet werden (z.B. eine zu einem späteren Zeitpunkt als die andere).
  • Als Reaktion auf einen Empfang des einen oder mehrerer Befehle 160 führt die Speichervorrichtungssteuerung 122 die Sichere-Löschung-Logik 142 und/oder die Löschungsüberprüfungslogik 144 aus, um die für einen Host zugänglichen Speicherorte 148 zu löschen, um einen oder mehrere Sichere-Löschung-Protokolleinträge 158 an den für eine Steuerung zugänglichen Speicherorten 150 zu speichern, um einen oder mehrere der Sichere-Löschung-Protokolleinträge 158 zu verschlüsseln, um eine Signatur für einen oder mehrere der Sichere-Löschung-Protokolleinträge zu erzeugen und eine Löschungsüberprüfungsmeldung 166 für die Hostvorrichtung 102 zu erzeugen und zu senden.
  • Gemäß einer Ausführungsform kann die Löschungsüberprüfungsmeldung 166 einen Sichere-Löschung-Protokolleintrag 168, Metadaten 170, eine Nonce 172, einen Nachweis einer Löschung 174 sowie eine Signatur 176 enthalten. Gemäß einer Ausführungsform kann die Löschungsüberprüfungsmeldung 166 verschlüsselt sein, kann signiert sein oder kann sowohl verschlüsselt als auch signiert sein. Gemäß einer Ausführungsform kann, wenn die Löschungsüberprüfungsmeldung 166 verschlüsselt ist, die Löschungsüberprüfungsmeldung 166 mit dem öffentlichen Verschlüsselungsschlüssel 147 (der mit dem privaten Verschlüsselungsschlüssel 121 entschlüsselt werden kann), verschlüsselt werden. Gemäß einer Ausführungsform kann der Sichere-Löschung-Protokolleintrag 168 ein oder mehrere der Sichere-Löschung-Protokolleinträge 158 sein. Zu den Metadaten 170 können zählen, aber ohne, dass sie darauf beschränkt wären: eines oder mehrere aus einem Zeitstempel, einer Menge an Speicher, der gelöscht wurde, die Anzahl von an der Speichervorrichtung 104 durchgeführten sicheren Löschoperationen usw. Gemäß einer Ausführungsform kann die Nonce 172 die Nonce 120 sein, welche die Hostvorrichtung 102 verwenden kann, um eine Integrität der Speichervorrichtung 104 zu überprüfen. Gemäß einer Ausführungsform können zu dem Löschungsnachweis 174, aber ohne, dass er darauf beschränkt wäre, ein Abschnitt der Daten-vor-Löschung 152 und ein Abschnitt der Daten-nach-Löschung 154 zählen, um zu zeigen, dass einer oder mehrere bestimmte Speicherorte gelöscht wurden. Gemäß einer Ausführungsform kann der Abschnitt der Daten-vor-Löschung 152 verschlüsselt sein, sodass PII oder andere persönliche Informationen nicht an die Hostvorrichtung 102 gesendet werden. Die Signatur 176 kann ein Hash eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung 166 sein. Gemäß einer Ausführungsform ist die Signatur 176 ein Hash (z.B. unter Verwendung des privaten Signierschlüssels 146) des Sichere-Löschung-Protokolleintrags 168. Gemäß einer Ausführungsform ist die Signatur 176 ein Hash (z.B. unter Verwendung des privaten Signierschlüssels 146) von einem oder mehreren aus dem Sichere-Löschung-Protokolleintrag 168, den Metadaten 170, der Nonce 172 und dem Löschungsnachweis 174.
  • Gemäß einer Ausführungsform kann die Hostvorrichtung 102 die sichere Löschoperation 162 und/oder die Löschungsüberprüfungsoperation 164 durch den einen oder mehrere Busse 106 und/oder durch das eine oder mehrere Netzwerke 108 durchführen. Das heißt, gemäß einer Ausführungsform kann die Hostvorrichtung 102 entfernt von der Speichervorrichtung 104 angeordnet sein und kann eine oder mehrere der offenbarten Operationen durch eines oder mehrere der Netzwerke 108 durchführen, um einen Informationstechnologie-Administrator in die Lage zu versetzen, aus der Entfernung und sicher eine Anzahl von Speichervorrichtungen zu löschen.
  • 2 ist gemäß mindestens einer hierin beschriebenen Ausführungsform ein logisches Übersichts-Flussdiagramm eines veranschaulichenden Verfahrens 200 zum Überprüfen der sicheren Löschung einer Speichervorrichtung. Das Verfahren 200 beinhaltet gemäß einer Ausführungsform eine oder mehrere Operationen, die in dem System 100 (in 1 gezeigt) durchgeführt werden können.
  • Das Verfahren 200 beginnt bei Operation 202. Operation 202 kann zu Operation 204 fortschreiten.
  • Bei Operation 204 beinhaltet das Verfahren 200 gemäß einer Ausführungsform ein Ausgeben eines Krypto- oder eines Medienlöschbefehls von einer Hostvorrichtung. Krypto-Löschen kann sich auf ein Zurückversetzen einer OPAL-aktivierten oder eDrive-aktivierten SSD in ihren standardmäßigen Werkszustand beziehen. Nach einem Krypto-Löschen können alle Sicherheitsschlüssel gelöscht und Benutzerdaten zerstört sein. Wenn OPAL oder eDrive deaktiviert werden, kann das Laufwerk mit einer beliebigen kompatiblen Sicherheitsanwendung wiederverwendet werden. Ein Formatierungsbefehl für nicht flüchtigen Speicher kann ein Löschen von Speicherzellen bis zu einem Löschzustand beinhalten. Wenn zu dem nicht flüchtigen Speicher ein Festplattenlaufwerk zählt, kann der Krypto-Löschbefehl oder der Formatierungsbefehl für nicht flüchtigen Speicher ein Überschreiben von Dateizuordnungstabellen und/oder verschiedenen Sektoren der Plattenmedien beinhalten. Operation 204 kann zu Operation 206 fortschreiten.
  • Bei Operation 206 beinhaltet das Verfahren 200 gemäß einer Ausführungsform, dass die Speichervorrichtung den Befehl ausführt. Gemäß einer Ausführungsform kann ein Ausführen des Befehls beinhalten, aber ohne darauf beschränkt zu sein, dass eine Speichervorrichtungssteuerung Sichere-Löschung-Logik ausführt. Operation 206 kann zu Operation 208 fortschreiten.
  • Bei Operation 208 beinhaltet das Verfahren 200 gemäß einer Ausführungsform, dass die Speichervorrichtung den Befehl abschließt. Operation 208 kann zu Operation 210 fortschreiten.
  • Bei Operation 210 beinhaltet das Verfahren 200 gemäß einer Ausführungsform ein Bestimmen, ob sichere Protokollierung von der Speichervorrichtung unterstützt wird. Wenn sichere Protokollierung nicht unterstützt wird, kann Operation 210 zu Operation 212 fortschreiten. Wenn sichere Protokollierung unterstützt wird, kann Operation 210 zu Operation 214 fortschreiten.
  • Bei Operation 212 gibt das Verfahren 200 gemäß einer Ausführungsform eine Meldung zurück, dass der Löschbefehl erfolgreich ausgeführt wurde. Operation 212 kann zu Operation 218 fortschreiten, wo das Verfahren 200 endet.
  • Bei Operation 214 erstellt das Verfahren 200 gemäß einer Ausführungsform einen Sichere-Löschung-Protokolleintrag der Löschoperation. Gemäß einer Ausführungsform kann die Operation 214 zu Operation 216 fortschreiten.
  • Bei Operation 216 speichert das Verfahren 200 gemäß einer Ausführungsform den Sichere-Löschung-Protokolleintrag an reservierten Speicherorten. Gemäß einer Ausführungsform können die reservierten Speicherorte zugänglich für die Speichervorrichtung (z.B. für die Speichervorrichtungssteuerung) sein und können nicht zugänglich für die Hostvorrichtung oder eine andere Datenverarbeitungsvorrichtung sein, die in Bezug auf die Speichervorrichtung extern ist. Gemäß einer Ausführungsform befähigt ein Speichern des Sichere-Löschung-Protokolleintrags eine Speichervorrichtungssteuerung, auf den Sichere-Löschung-Protokolleintrag unmittelbar nach einer Erstellung/Speicherung oder zu einem späteren Zeitpunkt zuzugreifen. Operation 216 kann zu Operation 218 fortschreiten, wo das Verfahren 200 endet.
  • 3 ist gemäß mindestens einer hierin beschriebenen Ausführungsform ein logisches Übersichts-Flussdiagramm eines veranschaulichenden Verfahrens 300 zum Überprüfen der sicheren Löschung einer Speichervorrichtung.
  • Bei Operation 302 beginnt das Verfahren 300. Operation 302 kann zu Operation 304 fortschreiten.
  • Bei Operation 304 beinhaltet das Verfahren 300 gemäß einer Ausführungsform, dass eine Hostvorrichtung einen Löschungsüberprüfungsbefehl an eine Speichervorrichtung ausgibt. Gemäß einer Ausführungsform kann der Löschungsüberprüfungsbefehl eine Nonce enthalten. Gemäß einer Ausführungsform kann die Operation 304 zu Operation 306 fortschreiten.
  • Bei Operation 306 bestimmt das Verfahren 300 gemäß einer Ausführungsform, ob sichere Protokollierung unterstützt wird. Wenn sichere Protokollierung nicht unterstützt wird, kann Operation 306 zu Operation 308 fortschreiten. Wenn sichere Protokollierung unterstützt wird, kann Operation 306 zu Operation 310 fortschreiten.
  • Bei Operation 308 beinhaltet das Verfahren 300 gemäß einer Ausführungsform, dass die Speichervorrichtung eine Fehlermeldung zurückgibt. Gemäß einer Ausführungsform kann die Speichervorrichtung eine Fehlermeldung zurückgeben, wenn die Speichervorrichtung sichere Protokollierung nicht unterstützt und keine Löschungsüberprüfungsoperation durchführen kann. Operation 308 kann zu Operation 318 fortschreiten, wo das Verfahren 300 endet.
  • Bei Operation 310 beinhaltet das Verfahren 300 gemäß einer Ausführungsform, dass die Speichervorrichtung einen Sichere-Löschung-Protokolleintrag von den reservierten Speicherorten abruft. Operation 310 kann zu Operation 312 fortschreiten.
  • Bei Operation 312 beinhaltet das Verfahren 300 gemäß einer Ausführungsform, dass die Speichervorrichtung den Sichere-Löschung-Protokolleintrag und die optional von dem Host gelieferte Nonce zusammen verpackt. Operation 312 kann zu Operation 314 fortschreiten.
  • Bei Operation 314 beinhaltet das Verfahren 300 gemäß einer Ausführungsform, dass die Speichervorrichtung das Paket kryptografisch signiert und/oder verschlüsselt. Gemäß einer Ausführungsform kann ein kryptografisches Signieren des Pakets ein Anwenden eines oder mehrerer kryptografischer Signieralgorithmen auf das Paket unter Verwendung eines privaten Signierschlüssels beinhalten. Gemäß einer Ausführungsform kann das Paket außerdem zum Teil oder in seiner Gesamtheit unter Verwendung eines oder mehrerer Verschlüsselungsschlüssel und Verschlüsselungsalgorithmen verschlüsselt werden. Operation 314 kann zu Operation 316 fortschreiten.
  • Bei Operation 316 beinhaltet das Verfahren 300 gemäß einer Ausführungsform, dass die Speichervorrichtung das kryptografisch signierte Paket an die Hostvorrichtung sendet. Operation 316 schreitet fort zu Operation 318, wo das Verfahren 300 endet.
  • 4 ist gemäß mindestens einer hierin beschriebenen Ausführungsform ein logisches Übersichts-Flussdiagramm eines veranschaulichenden Verfahrens 400 zum Überprüfen der sicheren Löschung einer Speichervorrichtung.
  • Bei Operation 402 beginnt das Verfahren 400. Operation 402 kann zu Operation 404 fortschreiten.
  • Bei Operation 404 beinhaltet das Verfahren 400 gemäß einer Ausführungsform ein Empfangen eines Löschungsüberprüfungsbefehls von einer Hostvorrichtung. Operation 404 kann zu Operation 406 fortschreiten.
  • Bei Operation 406 beinhaltet das Verfahren 400 gemäß einer Ausführungsform ein Zugreifen auf einen Sichere-Löschung-Protokolleintrag an einem zugriffsbeschränkten Speicherort in nicht flüchtigem Speicher. Operation 406 kann zu Operation 408 fortschreiten.
  • Bei Operation 408 beinhaltet das Verfahren 400 gemäß einer Ausführungsform ein Sichern des Sichere-Löschung-Protokolls mit einem oder mehreren kryptografischen Schlüsseln, um eine Löschungsüberprüfungsmeldung zu bilden. Gemäß einer Ausführungsform beinhaltet ein Sichern des Sichere-Löschung-Protokolls ein Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolls. Zu dem einen oder mehreren kryptografischen Schlüsseln zählen ein Verschlüsselungsschlüssel und/oder ein Signierschlüssel. Operation 408 kann zu Operation 410 fortschreiten.
  • Gemäß einer Ausführungsform beinhaltet bei Operation 410 das Verfahren 400 ein Senden der Löschungsüberprüfungsmeldung an die Hostvorrichtung, als Reaktion auf den Löschungsüberprüfungsbefehl. Operation 410 kann zu Operation 412 fortschreiten.
  • Bei Operation 412 endet das Verfahren 400.
  • Des Weiteren wurden Operationen für die Ausführungsformen unter Bezugnahme auf die vorstehenden Figuren und begleitenden Beispiele näher beschrieben. Einige der Figuren können einen Logikfluss aufweisen. Obwohl derartige hierin dargestellte Figuren einen bestimmten Logikfluss enthalten können, sollte beachtet werden, dass der Logikfluss lediglich ein Beispiel dafür bietet, wie die hierin beschriebene allgemeine Funktionalität realisiert werden kann. Ferner muss der gegebene Logikfluss, sofern nicht anders angegeben, nicht notwendigerweise in der dargestellten Reihenfolge ausgeführt werden. Die Ausführungsformen sind nicht auf diesen Zusammenhang beschränkt.
  • Verschiedene Merkmale, Aspekte und Ausführungsformen wurden hierin beschrieben. Die Merkmale, Aspekte und Ausführungsformen sind für eine Kombination miteinander wie auch für Änderung und Abwandlung geeignet, wie Fachleute verstehen werden. Die vorliegende Offenbarung sollte daher so betrachtet werden, dass sie derartige Kombinationen, Änderungen und Abwandlungen umfasst. Daher sollten der Inhaltsumfang und der Schutzbereich der vorliegenden Erfindung nicht durch irgendeine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern sollten ausschließlich gemäß den nachfolgenden Ansprüchen und ihren Äquivalenten definiert werden.
  • Die hierin verwendeten Begriffe und Ausdrücke werden als beschreibende und nicht als einschränkende Begriffe verwendet, und es besteht bei der Verwendung derartiger Begriffe und Ausdrücke keine Absicht, irgendwelche Äquivalente der gezeigten und beschriebenen Merkmale (oder von Teilen davon) auszuschließen, und es wird anerkannt, dass verschiedene Abwandlungen innerhalb des Schutzbereichs der Ansprüche möglich sind. Demzufolge sollen die Ansprüche alle derartigen Äquivalente abdecken. Verschiedene Merkmale, Aspekte und Ausführungsformen wurden hierin beschrieben. Die Merkmale, Aspekte und Ausführungsformen sind für eine Kombination miteinander wie auch für Änderung und Abwandlung geeignet, wie Fachleute verstehen werden. Die vorliegende Offenbarung sollte daher so betrachtet werden, dass sie derartige Kombinationen, Änderungen und Abwandlungen umfasst.
  • Wird in dieser Beschreibung auf „eine einzige Ausführungsform“, „eine Ausführungsform“ oder „eine Realisierung“ Bezug genommen, so heißt das, dass ein bestimmtes in Verbindung mit der Ausführungsform beschriebenes Merkmal, eine bestimmte derartige Struktur oder eine bestimmte derartige Eigenschaft in mindestens einer Ausführungsform enthalten ist. Daher bezieht sich das Vorkommen der Formulierungen „bei einer einzigen Ausführungsform“ oder „bei einer Ausführungsform“ an verschiedenen Stellen in der gesamten Beschreibung nicht notwendigerweise jedes Mal auf dieselbe Ausführungsform. Darüber hinaus können die speziellen Merkmale, Strukturen oder Eigenschaften auf jede geeignete Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • So, wie er hierin bei einer beliebigen Ausführungsform verwendet wird, kann sich der Begriff „Logik“ auf eine App, Software, Firmware und/oder Schaltungen beziehen, die dafür konfiguriert sind, beliebige der vorerwähnten Operationen durchzuführen. Software kann als ein Software-Package, Code, Anweisungen, Anweisungssätze und/oder Daten verkörpert werden, die auf einem nicht flüchtigen computerlesbaren Medium aufgezeichnet sind. Firmware kann als Code, Anweisungen, Anweisungssätze und/oder Daten verkörpert werden, die in Speichervorrichtungen hartcodiert (z.B. nicht flüchtig) werden.
  • „Schaltungen“ kann, wie der Begriff hierin bei einer beliebigen Ausführungsform verwendet wird, zum Beispiel einzeln oder in beliebiger Kombination festverdrahtete Schaltungen, programmierbare Schaltungen, Zustandsmaschinenschaltungen, Logik und/oder Firmware umfassen, die Anweisungen speichern/speichert, die von programmierbaren Schaltungen ausgeführt werden. Die Schaltungen können als eine integrierte Schaltung wie beispielsweise ein integrierter Schaltungschip verkörpert werden. Bei einigen Ausführungsformen können die Schaltungen zumindest zum Teil in der Speichervorrichtungssteuerung 122 ausgebildet werden, die Code und/oder Anweisungssätze ausführt (z.B. Software, Firmware usw.), die der hierin beschriebenen Funktionalität entspricht, wodurch ein Universalprozessor in eine Spezial-Verarbeitungsumgebung umgewandelt wird, um eine oder mehrere der hierin beschriebenen Operationen durchzuführen. Bei einigen Ausführungsformen können die verschiedenen Komponenten und Schaltungen der Speichervorrichtungssteuerungs-Schaltungen oder anderer Systeme in einer System-on-a-Chip- (SoC-) Architektur kombiniert werden.
  • Ausführungsformen der hierin beschriebenen Operationen können in einer computerlesbaren Speichervorrichtung realisiert werden, auf der Anweisungen gespeichert sind, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, die Verfahren durchführen. Der Prozessor kann zum Beispiel eine Verarbeitungseinheit und/oder programmierbare Schaltungen aufweisen. Bei der Speichervorrichtung kann es sich um eine maschinenlesbare Speichervorrichtung handeln, darunter jede Art von materieller, nicht flüchtiger Speichervorrichtung, zum Beispiel jede Art von Platte, darunter Disketten, optische Platten, Compact-Disk-Nur-Lese-Speicher (CD-ROMs), wiederbeschreibbare Compact-Disks (compact disk rewritables, CD-RWs) und magneto-optische Platten, Halbleitervorrichtungen wie zum Beispiel Nur-Lese-Speicher (read-only memories, ROMs), Direktzugriffsspeicher (random access memories, RAMs) wie beispielsweise dynamische (dynamic random access memories, DRAMs) und statische Direktzugriffsspeicher (static random access memories, SRAMs), löschbare programmierbare Nur-Lese-Speicher (erasable programmable read-only memories, EPROMs), elektrisch löschbare programmierbare Nur-Lese-Speicher (electrically erasable programmable read-only memories, EEPROMs), nicht flüchtige Speicher, magnetische oder optische Karten oder jede andere Art von Speichervorrichtungen, die zum Speichern elektronischer Anweisungen geeignet ist.
  • Bei einigen Ausführungsformen kann eine Hardwarebeschreibungssprache (hardware description language, HDL) verwendet werden, um Schaltungs- und/oder Logikrealisierung(en) für die hierin beschriebene(n) unterschiedliche(n) Logik und/oder Schaltungen anzugeben. Zum Beispiel kann bei einer Ausführungsform die Hardwarebeschreibungssprache konform oder kompatibel mit einer VHSIC- (very high speed integrated circuits, integrierte Hochgeschwindigkeitsschaltungen) Hardwarebeschreibungssprache (VHDL) sein, durch die möglicherweise eine Halbleiterherstellung von einer oder mehreren hierin beschriebenen Schaltungen und/oder Logik ermöglicht wird. Die VHDL kann konform oder kompatibel mit dem IEEE-Standard 1076-1987, IEEE-Standard 1076.2, IEEE1076.1, IEEE-Entwurf 3.0 von VHDL-2006, IEEE-Entwurf 4.0 von VHDL-2008 und/oder anderen Versionen der IEEE-VHDL-Standards und/oder anderen Hardwarebeschreibungsstandards sein.
  • Bei einigen Ausführungsformen kann eine Verilog-Hardwarebeschreibungssprache (HDL) verwendet werden, um Schaltungs- und/oder Logikrealisierung(en) für die hierin beschriebene(n) unterschiedliche(n) Logik und/oder Schaltungen anzugeben. Zum Beispiel kann bei einer Ausführungsform die HDL konform oder kompatibel mit dem IEEE-Standard 62530-2011 sein: SystemVerilog - Unified Hardware Design, Specification, and Verification Language, vom 07. Juli 2011; IEEE-Std. 1800TM-2012: IEEE-Standard für SystemVerilog- Unified Hardware Design, Specification, and Verification Language, veröffentlicht am 21. Februar 2013; IEEE-Standard 1364-2005: IEEE-Standard für Verilog-Hardwarebeschreibungssprache vom 18. April 2006 und/oder andere Versionen von Verilog-HDL und/oder SystemVerilog-Standards.
  • Beispiele
  • Beispiele der vorliegenden Offenbarung beinhalten Gegenstände wie beispielsweise eine Speichervorrichtungssteuerung, ein Verfahren und ein System, die eine Überprüfung sicherer Löschoperationen für Speichervorrichtungen betreffen, wie nachfolgend erörtert.
  • Beispiel 1: Gemäß diesem Beispiel wird eine Speichervorrichtungssteuerung bereitgestellt. Die Speichervorrichtungssteuerung kann Speichervorrichtungssteuerungs-Logik aufweisen, die einen Löschungsüberprüfungsbefehl von einer Hostvorrichtung empfangen kann und als Reaktion auf den Löschungsüberprüfungsbefehl eine Löschungsüberprüfungsmeldung an die Hostvorrichtung senden kann. Die Speichervorrichtungssteuerung kann Löschungsüberprüfungslogik aufweisen, die möglicherweise auf einen Sichere-Löschung-Protokolleintrag an zugriffsbeschränkten Speicherorten in einem nicht flüchtigem Speicher zugreift; und die den Sichere-Löschung-Protokolleintrag möglicherweise mithilfe eines oder mehrerer kryptografischer Schlüssel sichert, um die Löschungsüberprüfungsmeldung zu erzeugen.
  • Beispiel 2: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei die Speichervorrichtungssteuerungs-Logik einen Befehl zum sicheren Löschen von einer Hostvorrichtung empfangen kann; für einen Host zugängliche Speicherorte in dem nicht flüchtigen Speicher löschen kann; den Sichere-Löschung-Protokolleintrag erzeugen kann und den Sichere-Löschung-Protokolleintrag in den zugangsbeschränkten Speicherorten an dem nicht flüchtigen Speicher speichern kann.
  • Beispiel 3: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  • Beispiel 4: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei ein Sichern des Sichere-Löschung-Protokolleintrags ein Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolleintrags beinhaltet, wobei zu dem einen oder den mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und/oder ein öffentlicher Verschlüsselungsschlüssel zählen, wobei der private Signierschlüssel zum Signieren eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient und in Speichervorrichtungssteuerungs-Firmware programmiert ist oder während einer Herstellung der Speichervorrichtungssteuerung oder der Speichervorrichtung in Sicherungen für eine Speichervorrichtung programmiert wird, wobei der öffentliche Verschlüsselungsschlüssel zum Verschlüsseln eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient.
  • Beispiel 5: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei der eine oder die mehreren kryptografischen Schlüssel und die Löschungsüberprüfungslogik an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher gespeichert sind.
  • Beispiel 6: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei die Löschungsüberprüfungslogik während einer Herstellung der Speichervorrichtungssteuerung in Firmware der Speichervorrichtungssteuerung programmiert wird.
  • Beispiel 7: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei der Löschungsüberprüfungsbefehl eine Nonce von der Hostvorrichtung enthält, wobei die Löschungsüberprüfungsmeldung die Nonce als Nachweis eines Nichtvorhandenseins einer Kompromittierung der Speichervorrichtungssteuerung durch einen Replay-Angriff enthält.
  • Beispiel 8: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei die Löschungsüberprüfungslogik den Sichere-Löschung-Protokolleintrag durch Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolls unter Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman-(RSA-) Technik sichert.
  • Beispiel 9: Dieses Beispiel enthält die Elemente aus Beispiel 1, wobei die Löschungsüberprüfungsmeldung Daten-vor-Löschung, kopiert von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher, und Daten-nach-Löschung enthält, kopiert von den für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher.
  • Beispiel 10: Gemäß diesem Beispiel wird eine Speichervorrichtung bereitgestellt. Die Speichervorrichtung kann Speichervorrichtungs-Pufferschaltungen aufweisen; nicht flüchtigen Speicher, der für einen Host zugängliche Speicherorte und zugriffsbeschränkte Speicherorte aufweist; und eine Speichervorrichtungssteuerung, die kommunikativ mit dem nicht flüchtigen Speicher gekoppelt ist. Die Speichervorrichtungssteuerung kann Speichervorrichtungssteuerungs-Logik aufweisen, die einen Löschungsüberprüfungsbefehl von einer Hostvorrichtung empfangen und als Reaktion auf den Löschungsüberprüfungsbefehl eine Löschungsüberprüfungsmeldung an die Hostvorrichtung senden kann. Die Speichervorrichtungssteuerung kann Löschungsüberprüfungslogik aufweisen, die auf einen Sichere-Löschung-Protokolleintrag an dem zugriffsbeschränkten Speicherort in dem nicht flüchtigem Speicher zugreifen und den Sichere-Löschung-Protokolleintrag mithilfe eines oder mehrerer kryptografischer Schlüssel sichern kann, um die Löschungsüberprüfungsmeldung zu erzeugen.
  • Beispiel 11: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei die Speichervorrichtungssteuerungs-Logik einen Befehl zum sicheren Löschen von einer Hostvorrichtung empfangen kann; für einen Host zugängliche Speicherorte in dem nicht flüchtigen Speicher löschen kann; den Sichere-Löschung-Protokolleintrag erzeugen kann und den Sichere-Löschung-Protokolleintrag in den zugangsbeschränkten Speicherorten in dem nicht flüchtigen Speicher speichern kann.
  • Beispiel 12: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  • Beispiel 13: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei ein Sichern des Sichere-Löschung-Protokolleintrags ein Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolleintrags beinhaltet, wobei zu dem einen oder den mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und/oder ein öffentlicher Verschlüsselungsschlüssel zählen, wobei der private Signierschlüssel zum Signieren eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient und in Speichervorrichtungssteuerungs-Firmware programmiert ist oder während einer Herstellung der Speichervorrichtungssteuerung oder der Speichervorrichtung in Sicherungen für eine Speichervorrichtung programmiert wird, wobei der öffentliche Verschlüsselungsschlüssel zum Verschlüsseln eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient.
  • Beispiel 14: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei der eine oder die mehreren kryptografischen Schlüssel und die Löschungsüberprüfungslogik an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher gespeichert sind.
  • Beispiel 15: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei die Löschungsüberprüfungslogik während einer Herstellung der Speichervorrichtungssteuerung in Firmware der Speichervorrichtungssteuerung programmiert wird.
  • Beispiel 16: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei es sich bei dem nicht flüchtigen Speicher um Solid-State-Speicher, Festplattenmedien oder eine Kombination von Solid-State-Speicher und Festplattenmedien handelt.
  • Beispiel 17: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei die Löschungsüberprüfungslogik den Sichere-Löschung-Protokolleintrag durch Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolls unter Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman-(RSA-) Technik sichert.
  • Beispiel 18: Dieses Beispiel enthält die Elemente aus Beispiel 10, wobei die Löschungsüberprüfungsmeldung Daten-vor-Löschung, kopiert von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher, und Daten-nach-Löschung enthält, kopiert von den für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher.
  • Beispiel 19: Gemäß diesem Beispiel wird eine computerlesbare Speichervorrichtung bereitgestellt, auf der Anweisungen gespeichert sind, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, Operationen zur Folge haben. Die Operationen können beinhalten, einen Löschungsüberprüfungsbefehl von einer Hostvorrichtung zu empfangen; auf einen Sichere-Löschung-Protokolleintrag an zugriffsbeschränkten Speicherorten in einem nicht flüchtigen Speicher zuzugreifen, wobei die zugriffsbeschränkten Speicherorte mithilfe einer Speichervorrichtungssteuerung zugänglich sind und für die Hostvorrichtung nicht zugänglich sind; den Sichere-Löschung-Protokolleintrag mit einem oder mehreren kryptografischen Schlüsseln zu sichern, um eine Löschungsüberprüfungsmeldung zu bilden; und die Löschungsüberprüfungsmeldung als Reaktion auf den Löschungsüberprüfungsbefehl an die Hostvorrichtung zu senden.
  • Beispiel 20: Dieses Beispiel enthält die Elemente aus Beispiel 19, wobei die Operationen ferner ein Empfangen eines Befehls zum sicheren Löschen von einer Hostvorrichtung; ein Löschen von für einen Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher; ein Erzeugen des Sichere-Löschung-Protokolleintrags und ein Speichern des Sichere-Löschung-Protokolleintrags an den zugangsbeschränkten Speicherorten in dem nicht flüchtigen Speicher beinhalten können.
  • Beispiel 21: Dieses Beispiel enthält die Elemente aus Beispiel 19, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  • Beispiel 22: Dieses Beispiel enthält die Elemente aus Beispiel 19, wobei die Operationen beinhalten können: Auslesen des einen oder der mehreren kryptografischen Schlüssel aus einer Mehrzahl von Sicherungen oder aus Firmware für die Speichervorrichtungssteuerung, wobei zu dem einen oder den mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und ein öffentlicher Verschlüsselungsschlüssel zählen.
  • Beispiel 23: Dieses Beispiel enthält die Elemente aus Beispiel 19, wobei ein Sichern des Sichere-Löschung-Protokolleintrags beinhalten kann: Kopieren des Sichere-Löschung-Protokolleintrags in Speichervorrichtungs-Pufferschaltungen und Anwenden des einen oder der mehreren kryptografischen Schlüssel auf den Sichere-Löschung-Protokolleintrag, um den Sichere-Löschung-Protokolleintrag unter Verwendung eines Verschlüsselungsalgorithmus und/oder eines Signieralgorithmus zu verschlüsseln und/oder zu signieren.
  • Beispiel 24: Dieses Beispiel enthält die Elemente aus Beispiel 19, wobei die Operationen beinhalten können: Empfangen einer Nonce von der Hostvorrichtung mit dem Löschungsüberprüfungsbefehl; und Einbeziehen der Nonce in die Löschungsüberprüfungsmeldung, um dem Host zu ermöglichen, ein Nichtvorhandenseins einer Kompromittierung der Speichervorrichtungssteuerung durch einen Replay-Angriff zu überprüfen.
  • Beispiel 25: Dieses Beispiel enthält die Elemente aus Beispiel 19, wobei ein Sichern des Sichere-Löschung-Protokolleintrags eine Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman- („RSA“-) Technik beinhaltet.
  • Beispiel 26: Gemäß diesem Beispiel wird ein Verfahren bereitgestellt. Das Verfahren kann beinhalten, einen Löschungsüberprüfungsbefehl von einer Hostvorrichtung zu empfangen; auf einen Sichere-Löschung-Protokolleintrag an zugriffsbeschränkten Speicherorten in einem nicht flüchtigen Speicher zuzugreifen, wobei die zugriffsbeschränkten Speicherorte mithilfe einer Speichervorrichtungssteuerung zugänglich sind und für die Hostvorrichtung nicht zugänglich sind; Sichern des Sichere-Löschung-Protokolleintrags mit einem oder mehreren kryptografischen Schlüsseln, um eine Löschungsüberprüfungsmeldung zu bilden; und Senden der Löschungsüberprüfungsmeldung an die Hostvorrichtung, als Reaktion auf den Löschungsüberprüfungsbefehl.
  • Beispiel 27: Dieses Beispiel enthält die Elemente aus Beispiel 26, wobei es ferner beinhaltet: ein Empfangen eines Befehls zum sicheren Löschen von einer Hostvorrichtung; ein Löschen von für einen Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher; ein Erzeugen des Sichere-Löschung-Protokolleintrags und ein Speichern des Sichere-Löschung-Protokolleintrags an den zugangsbeschränkten Speicherorten in dem nicht flüchtigen Speicher.
  • Beispiel 28: Dieses Beispiel enthält die Elemente aus Beispiel 26, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  • Beispiel 29: Dieses Beispiel enthält die Elemente aus Beispiel 26, wobei es ferner beinhaltet: Auslesen des einen oder mehrerer kryptografischer Schlüssel aus einer Mehrzahl von Sicherungen oder aus Firmware für die Speichervorrichtungssteuerung, wobei zu dem einen oder mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und ein öffentlicher Verschlüsselungsschlüssel zählen.
  • Beispiel 30: Dieses Beispiel enthält die Elemente aus Beispiel 26, wobei ein Sichern des Sichere-Löschung-Protokolleintrags beinhaltet: Kopieren des Sichere-Löschung-Protokolleintrags in Speichervorrichtungs-Pufferschaltungen; und Anwenden des einen oder mehrerer kryptografischer Schlüssel auf den Sichere-Löschung-Protokolleintrag, um den Sichere-Löschung-Protokolleintrag unter Verwendung eines Verschlüsselungsalgorithmus und/oder eines Signieralgorithmus zu verschlüsseln und/oder zu signieren.
  • Beispiel 31: Dieses Beispiel enthält die Elemente aus Beispiel 26, wobei es ferner beinhaltet: Empfangen einer Nonce von der Hostvorrichtung mit dem Löschungsüberprüfungsbefehl und Einbeziehen der Nonce in die Löschungsüberprüfungsmeldung, um dem Host zu ermöglichen, ein Nichtvorhandenseins einer Kompromittierung der Speichervorrichtungssteuerung durch einen Replay-Angriff zu überprüfen.
  • Beispiel 32: Dieses Beispiel enthält die Elemente aus Beispiel 26, wobei ein Sichern des Sichere-Löschung-Protokolleintrags eine Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman- (RSA-) Technik beinhaltet.
  • Beispiel 33: Gemäß diesem Beispiel wird eine Speichervorrichtungssteuerung bereitgestellt. Die Speichervorrichtungssteuerung kann aufweisen: Mittel zum Empfangen eines Löschungsüberprüfungsbefehls von einer Hostvorrichtung; Mittel zum Zugreifen auf einen Sichere-Löschung-Protokolleintrag an zugriffsbeschränkten Speicherorten in einem nicht flüchtigen Speicher, wobei die zugriffsbeschränkten Speicherorte mithilfe einer Speichervorrichtungssteuerung zugänglich sind und für die Hostvorrichtung nicht zugänglich sind; Mittel zum Sichern des Sichere-Löschung-Protokolleintrags mit einem oder mehreren kryptografischen Schlüsseln, um eine Löschungsüberprüfungsmeldung zu bilden; und Mittel, um die Löschungsüberprüfungsmeldung als Reaktion auf den Löschungsüberprüfungsbefehl an die Hostvorrichtung zu senden.
  • Beispiel 34: Dieses Beispiel enthält die Elemente aus Beispiel 33, wobei es ferner beinhaltet: Mittel zum Empfangen eines Befehls zum sicheren Löschen von einer Hostvorrichtung; Mittel zum Löschen von für einen Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher; Mittel zum Erzeugen des Sichere-Löschung-Protokolleintrags und Mittel zum Speichern des Sichere-Löschung-Protokolleintrags an den zugangsbeschränkten Speicherorten in dem nicht flüchtigen Speicher.
  • Beispiel 35: Dieses Beispiel enthält die Elemente aus Beispiel 33, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  • Beispiel 36: Dieses Beispiel enthält die Elemente aus Beispiel 33, wobei es ferner beinhaltet: Mittel zum Auslesen des einen oder mehrerer kryptografischer Schlüssel aus einer Mehrzahl von Sicherungen oder aus Firmware für die Speichervorrichtungssteuerung, wobei zu dem einen oder mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und ein öffentlicher Verschlüsselungsschlüssel zählen.
  • Beispiel 37: Dieses Beispiel enthält die Elemente aus Beispiel 33, wobei Mittel zum Sichern des Sichere-Löschung-Protokolleintrags beinhalten: Mittel zum Kopieren des Sichere-Löschung-Protokolleintrags in Speichervorrichtungs-Pufferschaltungen und Mittel zum Anwenden des einen oder mehrerer kryptografischer Schlüssel auf den Sichere-Löschung-Protokolleintrag, um den Sichere-Löschung-Protokolleintrag unter Verwendung eines Verschlüsselungsalgorithmus und/oder eines Signieralgorithmus zu verschlüsseln und/oder zu signieren.
  • Beispiel 38: Dieses Beispiel enthält die Elemente aus Beispiel 33, wobei es ferner beinhaltet: Mittel zum Empfangen einer Nonce von der Hostvorrichtung mit dem Löschungsüberprüfungsbefehl und Mittel zum Einbeziehen der Nonce in die Löschungsüberprüfungsmeldung, um dem Host zu ermöglichen, ein Nichtvorhandenseins einer Kompromittierung der Speichervorrichtungssteuerung durch einen Replay-Angriff zu überprüfen.
  • Beispiel 39: Dieses Beispiel enthält die Elemente aus Beispiel 33, wobei ein Sichern des Sichere-Löschung-Protokolleintrags eine Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman- (RSA-) Technik beinhaltet.
  • Beispiel 40: Gemäß diesem Beispiel wird eine Vorrichtung bereitgestellt, die Mittel zum Durchführen des Verfahrens aus einem der Beispiele 26 bis 32 umfasst.
  • Beispiel 41: Gemäß diesem Beispiel wird eine computerlesbare Speichervorrichtung bereitgestellt, auf der Anweisungen gespeichert sind, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, Operationen zur Folge haben, die umfassen: das Verfahren nach einem der Beispiele 26 bis 32.
  • Die hierin verwendeten Begriffe und Ausdrücke werden als beschreibende und nicht als einschränkende Begriffe verwendet, und es besteht bei der Verwendung derartiger Begriffe und Ausdrücke keine Absicht, irgendwelche Äquivalente der gezeigten und beschriebenen Merkmale (oder von Teilen davon) auszuschließen, und es wird anerkannt, dass verschiedene Abwandlungen innerhalb des Schutzbereichs der Ansprüche möglich sind. Demzufolge sollen die Ansprüche alle derartigen Äquivalente abdecken.

Claims (25)

  1. Speichersteuerung, die umfasst: Speichersteuerungslogik zum: Empfangen eines Löschungsüberprüfungsbefehls von einer Hostvorrichtung; und Senden einer Löschungsüberprüfungsmeldung an die Hostvorrichtung, als Reaktion auf den Löschungsüberprüfungsbefehl; und Löschungsüberprüfungslogik zum: Zugreifen auf einen Sichere-Löschung -Protokolleintrag an zugriffsbeschränkten Speicherorten in einem nicht flüchtigen Speicher; und Sichern des Sichere-Löschung-Protokolleintrags mit einem oder mehreren kryptografischen Schlüsseln, um die Löschungsüberprüfungsmeldung zu erzeugen.
  2. Speichersteuerung nach Anspruch 1, wobei die Speichersteuerungslogik dient zum: Empfangen eines Befehls zum sicheren Löschen von einer Hostvorrichtung; Löschen von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher; Erzeugen des Sichere-Löschung-Protokolleintrags; und Speichern des Sichere-Löschung-Protokolleintrags an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher.
  3. Speichersteuerung nach Anspruch 1, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  4. Speichersteuerung nach Anspruch 1, wobei ein Sichern des Sichere-Löschung-Protokolleintrags ein Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolleintrags beinhaltet, wobei zu dem einen oder den mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und/oder ein öffentlicher Verschlüsselungsschlüssel zählen, wobei der private Signierschlüssel zum Signieren eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient und in Speichersteuerungs-Firmware programmiert ist oder während einer Herstellung der Speichersteuerung oder der Speichervorrichtung in Sicherungen für eine Speichervorrichtung programmiert wird, wobei der öffentliche Verschlüsselungsschlüssel zum Verschlüsseln eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient.
  5. Speichersteuerung nach Anspruch 1, wobei der eine oder die mehreren kryptografischen Schlüssel und die Löschungsüberprüfungslogik an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher gespeichert sind.
  6. Speichersteuerung nach Anspruch 1, wobei die Löschungsüberprüfungslogik während einer Herstellung der Speichersteuerung in Firmware der Speichersteuerung programmiert wird.
  7. Speichersteuerung nach Anspruch 1, wobei der Löschungsüberprüfungsbefehl eine Nonce von der Hostvorrichtung enthält, wobei die Löschungsüberprüfungsmeldung die Nonce als Nachweis eines Nichtvorhandenseins einer Kompromittierung der Speichersteuerung durch einen Replay-Angriff enthält.
  8. Speichersteuerung nach Anspruch 1, wobei die Löschungsüberprüfungslogik den Sichere-Löschung-Protokolleintrag durch Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolls unter Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman-(RSA-) Technik sichert.
  9. Speichersteuerung nach Anspruch 1, wobei die Löschungsüberprüfungsmeldung Daten-vor-Löschung, kopiert von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher, und Daten-nach-Löschung enthält, kopiert von den für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher.
  10. Speichervorrichtung, die umfasst: Speichervorrichtungs-Pufferschaltungen; nicht flüchtigen Speicher, der für einen Host zugängliche Speicherorte und zugriffsbeschränkte Speicherorte aufweist; und eine Speichersteuerung, die kommunikativ mit dem nicht flüchtigen Speicher gekoppelt ist, wobei die Speichersteuerung aufweist: Speichersteuerungslogik zum: Empfangen eines Löschungsüberprüfungsbefehls von einer Hostvorrichtung; und Senden einer Löschungsüberprüfungsmeldung an die Hostvorrichtung, als Reaktion auf den Löschungsüberprüfungsbefehl; und Löschungsüberprüfungslogik zum: Zugreifen auf einen Sichere-Löschung-Protokolleintrag an dem zugriffsbeschränkten Speicherort in dem nicht flüchtigen Speicher; und Sichern des Sichere-Löschung-Protokolleintrags mit einem oder mehreren kryptografischen Schlüsseln, um die Löschungsüberprüfungsmeldung zu erzeugen.
  11. Speichervorrichtung nach Anspruch 10, wobei die Speichersteuerungslogik dient zum: Empfangen eines Befehls zum sicheren Löschen von einer Hostvorrichtung; Löschen von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher; Erzeugen des Sichere-Löschung-Protokolleintrags; und Speichern des Sichere-Löschung-Protokolleintrags an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher.
  12. Speichervorrichtung nach Anspruch 10, wobei der Sichere-Löschung-Protokolleintrag Metadaten enthält, wobei zu den Metadaten eines oder mehrere aus einem Zeitstempel, einer Größe von Speicherorten des Gelöschten oder eine Anzahl von durchgeführten sicheren Löschoperationen zählen.
  13. Speichervorrichtung nach Anspruch 10, wobei ein Sichern des Sichere-Löschung-Protokolleintrags ein Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolleintrags beinhaltet, wobei zu dem einen oder den mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und/oder ein öffentlicher Verschlüsselungsschlüssel zählen, wobei der private Signierschlüssel zum Signieren eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient und in Speichersteuerungs-Firmware programmiert ist oder während einer Herstellung der Speichersteuerung oder der Speichervorrichtung in Sicherungen für eine Speichervorrichtung programmiert wird, wobei der öffentliche Verschlüsselungsschlüssel zum Verschlüsseln eines oder mehrerer Abschnitte der Löschungsüberprüfungsmeldung dient.
  14. Speichervorrichtung nach Anspruch 10, wobei der eine oder die mehreren kryptografischen Schlüssel und die Löschungsüberprüfungslogik an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher gespeichert sind.
  15. Speichervorrichtung nach Anspruch 10, wobei die Löschungsüberprüfungslogik während einer Herstellung der Speichersteuerung in Firmware der Speichersteuerung programmiert wird.
  16. Speichervorrichtung nach Anspruch 10, wobei es sich bei dem nicht flüchtigen Speicher um Solid-State-Speicher, Festplattenmedien oder eine Kombination von Solid-State-Speicher und Festplattenmedien handelt.
  17. Speichervorrichtung nach Anspruch 10, wobei die Löschungsüberprüfungslogik den Sichere-Löschung-Protokolleintrag durch Verschlüsseln und/oder Signieren des Sichere-Löschung-Protokolls unter Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman-(RSA-) Technik sichert.
  18. Speichervorrichtung nach Anspruch 10, wobei die Löschungsüberprüfungsmeldung Daten-vor-Löschung, kopiert von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher, und Daten-nach-Löschung enthält, kopiert von den für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher.
  19. Verfahren, das umfasst: Empfangen eines Löschungsüberprüfungsbefehls von einer Hostvorrichtung; Zugreifen auf einen Sichere-Löschung-Protokolleintrag an zugriffsbeschränkten Speicherorten in einem nicht flüchtigen Speicher, wobei die zugriffsbeschränkten Speicherorte mithilfe einer Speichersteuerung zugänglich sind und für die Hostvorrichtung nicht zugänglich sind; Sichern des Sichere-Löschung-Protokolleintrags mit einem oder mehreren kryptografischen Schlüsseln, um eine Löschungsüberprüfungsmeldung zu bilden; und Senden der Löschungsüberprüfungsmeldung an die Hostvorrichtung, als Reaktion auf den Löschungsüberprüfungsbefehl.
  20. Verfahren nach Anspruch 19, das ferner beinhaltet: Empfangen eines Befehls zum sicheren Löschen von einer Hostvorrichtung; Löschen von für den Host zugänglichen Speicherorten in dem nicht flüchtigen Speicher; Erzeugen des Sichere-Löschung-Protokolleintrags; und Speichern des Sichere-Löschung-Protokolleintrags an den zugriffsbeschränkten Speicherorten in dem nicht flüchtigen Speicher.
  21. Verfahren nach Anspruch 19, das ferner beinhaltet: Auslesen des einen oder der mehreren kryptografischen Schlüssel aus einer Mehrzahl von Sicherungen oder aus Firmware für die Speichersteuerung, wobei zu dem einen oder den mehreren kryptografischen Schlüsseln ein privater Signierschlüssel und ein öffentlicher Verschlüsselungsschlüssel zählen.
  22. Verfahren nach Anspruch 19, wobei ein Sichern des Sichere-Löschung-Protokolleintrags beinhaltet: Kopieren des Sichere-Löschung-Protokolleintrags in Speichervorrichtungs-Pufferschaltungen; und Anwenden des einen oder der mehreren kryptografischen Schlüssel auf den Sichere-Löschung-Protokolleintrag, um den Sichere-Löschung-Protokolleintrag zu verschlüsseln und/oder zu signieren, unter Verwendung eines Verschlüsselungsalgorithmus und/oder eines Signieralgorithmus.
  23. Verfahren nach Anspruch 19, wobei ein Sichern des Sichere-Löschung-Protokolleintrags eine Verwendung von einem oder mehreren aus DES, Blowfish, AES, Twofish, IDEA, MD5, SHA1, HMAC, einer Elliptic-Curve-direct-anonymous-Attestation-Technik oder einer kryptografischen Rivest-Shamir-Adleman-(„RSA“-) Technik beinhaltet.
  24. Vorrichtung, die Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 19 bis 23 umfasst.
  25. Computerlesbare Speichervorrichtung, auf der Anweisungen gespeichert sind, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, Operationen zur Folge haben, die umfassen: das Verfahren nach einem der Ansprüche 19 bis 23.
DE102018129976.1A 2017-12-27 2018-11-27 System und Verfahren zur Überprüfung einer sicheren Löschoperation an einer Speichervorrichtung Pending DE102018129976A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/855,310 2017-12-27
US15/855,310 US20190036704A1 (en) 2017-12-27 2017-12-27 System and method for verification of a secure erase operation on a storage device

Publications (1)

Publication Number Publication Date
DE102018129976A1 true DE102018129976A1 (de) 2019-06-27

Family

ID=65038370

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018129976.1A Pending DE102018129976A1 (de) 2017-12-27 2018-11-27 System und Verfahren zur Überprüfung einer sicheren Löschoperation an einer Speichervorrichtung

Country Status (3)

Country Link
US (1) US20190036704A1 (de)
CN (1) CN110045919A (de)
DE (1) DE102018129976A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190324678A1 (en) * 2013-09-09 2019-10-24 Whitecanyon Software, Inc. System and Method for Encrypted Disk Drive Sanitizing
US20180239532A1 (en) 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US10757082B2 (en) * 2018-02-22 2020-08-25 International Business Machines Corporation Transforming a wrapped key into a protected key
US10877687B2 (en) * 2018-06-29 2020-12-29 Micron Technology, Inc. Erasure of multiple blocks in memory devices
US11088832B2 (en) * 2020-01-09 2021-08-10 Western Digital Technologies, Inc. Secure logging of data storage device events
US10978097B1 (en) 2020-01-16 2021-04-13 International Business Machines Corporation Indicating tracks as erased without deleting data for the tracks
JP7475989B2 (ja) 2020-06-26 2024-04-30 キオクシア株式会社 メモリシステムおよび制御方法
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase
US20230145690A1 (en) * 2021-11-10 2023-05-11 Samsung Electronics Co., Ltd. Method for preserving data in electronic device initialization situation and electronic device therefor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080304669A1 (en) * 2007-06-11 2008-12-11 The Boeing Company Recipient-signed encryption certificates for a public key infrastructure
US8839363B2 (en) * 2011-04-18 2014-09-16 Bank Of America Corporation Trusted hardware for attesting to authenticity in a cloud environment
US10803970B2 (en) * 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
US9363085B2 (en) * 2013-11-25 2016-06-07 Seagate Technology Llc Attestation of data sanitization
WO2015116082A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Data erasure of a target device
JP2015232810A (ja) * 2014-06-10 2015-12-24 株式会社東芝 記憶装置、情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US20190036704A1 (en) 2019-01-31
CN110045919A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
DE102018129976A1 (de) System und Verfahren zur Überprüfung einer sicheren Löschoperation an einer Speichervorrichtung
US9396137B2 (en) Storage device, protection method, and electronic apparatus
US8356105B2 (en) Enterprise device policy management
US11368299B2 (en) Self-encryption drive (SED)
TWI679554B (zh) 資料儲存裝置以及其操作方法
CN104503708B (zh) 数据散列存储的方法及装置
US20150341171A1 (en) Virtual bands concentration for self encrypting drives
DE102013105248A1 (de) Vorrichtung zum Erzeugen eines Sicherheitsschlüssels unter Verwendung einer Vorrichtungs-ID und von Benutzer-Authentifizierungsinformation
DE102018114266A1 (de) Nichtflüchtige speichervorrichtung mit sicherem lesen
DE112021005968T5 (de) Krypto-löschung von in einer „key per io“-fähigen einheit gespeicherten daten über eine interne aktion
US20120036369A1 (en) Memory identification code generation method, management method, controller, and storage system
DE112020005459T5 (de) Delegation eines kryptografischen schlüssels an ein speichersubsystem
US20160119146A1 (en) Secure Data Shredding in an Imperfect Data Storage Device
DE102015010906A1 (de) Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden
CN106845261A (zh) 一种销毁ssd硬盘数据的方法及装置
Swanson et al. Safe: Fast, verifiable sanitization for ssds
TWI479358B (zh) 資料保護方法、行動通訊裝置與記憶體儲存裝置
CN107590395A (zh) 适用于云环境的多层数据加密方法、装置、设备及系统
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
Kumar Solid state drive forensics analysis—Challenges and recommendations
WO2020180455A1 (en) Encrypted gang programming
WO2022093439A1 (en) Transient dataset management system
Li et al. TASecure: Temperature-aware secure deletion scheme for solid state drives
DE102022127769A1 (de) Authentifiziertes lesen von speichersystemdaten
DE102022127567A1 (de) Authentifizierte modifizierung von speichersystemdaten