DE102017104075A1 - Schützen von daten auf einer speichervorrichtung - Google Patents

Schützen von daten auf einer speichervorrichtung Download PDF

Info

Publication number
DE102017104075A1
DE102017104075A1 DE102017104075.7A DE102017104075A DE102017104075A1 DE 102017104075 A1 DE102017104075 A1 DE 102017104075A1 DE 102017104075 A DE102017104075 A DE 102017104075A DE 102017104075 A1 DE102017104075 A1 DE 102017104075A1
Authority
DE
Germany
Prior art keywords
encryption key
data encryption
storage device
key
generate
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.)
Granted
Application number
DE102017104075.7A
Other languages
English (en)
Other versions
DE102017104075B4 (de
Inventor
Collin HOWE
Colin McCAMBRIDGE
Adam GEML
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE102017104075A1 publication Critical patent/DE102017104075A1/de
Application granted granted Critical
Publication of DE102017104075B4 publication Critical patent/DE102017104075B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Abstract

Auf einer Speichervorrichtung ist ein erster Datenverschlüsselungsschlüssel gespeichert. Der erste Datenverschlüsselungsschlüssel, ein erster Schlüsselverschlüsselungsschlüssel, der aus ersten, von einem Hostsystem empfangenen Informationen erhalten wird, und zweite Informationen, die von einer anderen Quelle als dem Hostsystem empfangen werden, werden verwendet, um einen zweiten Datenverschlüsselungsschlüssel zu generieren, der verwendet werden kann, um auf der Speichervorrichtung gespeicherte Daten zu verschlüsseln und zu entschlüsseln. Die zweiten Informationen können nur dann von der Quelle zur Speichervorrichtung gesendet werden, wenn eine Bedingung erfüllt ist.

Description

  • HINTERGRUND
  • Die Wahrung der Sicherheit von gespeicherten Daten („Daten im Ruhezustand”) ist wichtig und zunehmend ein Anliegen, da Angriffe immer ausgeklügelter werden. Heute sind Organisationen Angriffen sowohl von Insidern als auch von Outsidern ausgesetzt. Von Herstellern von Speichervorrichtungen und Anbietern von Speicherdiensten wird erwartet, dass sie über Sicherheitsmaßnahmen verfügen, um gespeicherte Daten vor Angriffen unautorisierter Dritter, einschließlich Insidern, zu schützen. Perimeter-Sicherheit kann gegen Angriffe von außen schützen, berücksichtigt jedoch keine Bedrohungen von innen, weshalb andere Mechanismen erforderlich sind, um vor Angriffen von ihnen zu schützen.
  • Aktuelle Speichervorrichtungen umfassen Mechanismen zum Schutz der darauf gespeicherten Daten durch Verschlüsseln dieser Daten unter Verwendung eines Datenverschlüsselungsschlüssels, der intern von der Speichervorrichtung unter Verwendung eines hochwertigen Zufallszahlengenerator generiert wird. Der Datenverschlüsselungsschlüssel wird mithilfe eines Schlüsselverschlüsselungsschlüssels geschützt, der ebenfalls intern durch die Speichervorrichtung generiert wird. Zum Beispiel erhält die Speichervorrichtung einen Sicherheitsschlüssel (z.B. ein Passwort) von einem Hostsystem und lässt den Schlüssel eine Schlüsselableitfunktion wie PBKDF2 (passwortbasierte Schlüsselableitfunktion 2) durchlaufen, um den Schlüsselverschlüsselungsschlüssel abzuleiten. Der Schlüsselverschlüsselungsschlüssel wird mit einem Schlüsselverpackungsalgorithmus, wie dem Algorithmus gemäß dem National Institute of Standards and Technology (NIST) Advanced Encryption Standard (AES), verwendet, um den Datenverschlüsselungsschlüssel sicher zu verpacken. Die verschlüsselten Daten und der verpackte Datenverschlüsselungsschlüssel sind auf der Speichervorrichtung gespeichert. Wenn die gespeicherten Daten anschließend wiederhergestellt werden, wird der verpackte Datenverschlüsselungsschlüssel durch den Datenverpackungsalgorithmus unter Verwendung des Sicherheitsschlüssels entpackt, und der entpackte Datenverschlüsselungsschlüssel wird dann verwendet, um die Daten zu entschlüsseln.
  • Eine Art von Angriff erfolgt durch Beeinträchtigung des Hostsystems und Extrahieren seines Sicherheitsschlüssels (z.B. Passwort). Eine weitere Art von Angriff erfolgt durch Beeinträchtigen der Firmware auf der Speichervorrichtung, mit der der Speichervorrichtung ermöglicht wird, während eines normalen Firmware-vermittelten Authentifizierungsprozesses den Sicherheitsschlüssel abzufangen und zu speichern. Diese Arten von Angriffen können von innen oder von außen eingeleitet werden. Ist der Sicherheitsschlüssel einmal extrahiert oder freigelegt, kann ein Insider-Angreifer die Speichervorrichtung aus dem Rechenzentrum entfernen. Der Sicherheitsschlüssel kann dann mit der Schlüsselableitfunktion und dem Schlüsselverpackungsalgorithmus auf der Speichervorrichtung verwendet werden, um den Datenverschlüsselungsschlüssel zu bestimmen und die gespeicherten Daten zu entschlüsseln.
  • KURZFASSUNG
  • Ausführungsformen gemäß der offenbarten Erfindung verstärken die Sicherheit eines Datenverschlüsselungsschlüssels, der verwendet wird, um Daten im Ruhezustand zu verschlüsseln und zu entschlüsseln und dadurch die Sicherheit dieser Daten zu verbessern. Um einen Datenverschlüsselungsschlüssel abzuleiten und die Daten zu entschlüsseln, verwenden Ausführungsformen gemäß der Erfindung mindestens einen zusätzlichen Authentifizierungsfaktor im Vergleich zu herkömmlichen Ansätzen. Ferner werden in weiteren Ausführungsformen gemäß der Erfindung der/die zusätzliche(n) Authentifizierungsfaktor(en) der Speichervorrichtung nicht übergeben, sofern nicht gezeigt wird, dass mindestens eine Bedingung erfüllt ist. Eine Bedingung kann derart spezifiziert sein, dass die Speichervorrichtung in Bezug auf einen bestimmten Standort gesperrt oder an diesen gebunden ist, sodass die Speichervorrichtung nicht betätigt werden kann, wenn sie sich nicht innerhalb einer annehmbaren Reichweite zu diesem Standort befindet. Eine Bedingung kann derart spezifiziert sein, dass die Speichervorrichtung in Bezug auf eine bestimmte Person oder bestimmte Personen gesperrt oder an diese gebunden ist, sodass die Speichervorrichtung für keinen anderen Benutzer als dem/den autorisierten Benutzer(n) betätigt werden kann. Es ist darauf hinzuweisen, dass diese Bedingungen für Situationen gelten, in denen die Speichervorrichtung Teil einer anderen Vorrichtung, wie einem Laptop, ist, und in denen die andere Vorrichtung (einschließlich der Speichervorrichtung) von seinem vorgesehenen Standort entfernt wird oder eine unautorisierte Person versucht, die andere Vorrichtung zu betätigen.
  • Um einen Überblick zu geben: Ein „erster Datenverschlüsselungsschlüssel“ ist auf einer Speichervorrichtung gespeichert. Der erste Datenverschlüsselungsschlüssel, ein „erster Schlüsselverschlüsselungsschlüssel“, der von einem Hostsystem empfangenen „ersten Informationen“ und von einer Quelle („zweite Quelle“), die eine andere ist als das Hostsystem, empfangenen „zweiten Informationen“ (einem zusätzlichen, zweiten Authentifizierungsfaktor) erhalten wird, werden verwendet, um einen endgültigen Datenverschlüsselungsschlüssel („zweiten Datenverschlüsselungsschlüssel“) zu generieren, der verwendet werden kann, um auf der Speichervorrichtung gespeicherte Daten zu verschlüsseln und zu entschlüsseln.
  • In einer Ausführungsform wird eine verpackte Version des ersten Datenverschlüsselungsschlüssels unter Verwendung des ersten Schlüsselverschlüsselungsschlüssels entpackt, wodurch eine Zwischenversion des Datenverschlüsselungsschlüssels generiert wird. Der zweite Datenverschlüsselungsschlüssel wird unter Verwendung der Zwischenversion des Datenverschlüsselungsschlüssels in Kombination mit den zweiten, von der zweiten Quelle empfangenen Informationen generiert.
  • Somit wird ein zweiter Authentifizierungsfaktor (die zweiten Informationen) zusätzlich zum Authentifizierungsfaktor (den ersten Informationen) verwendet, der auf dem Sicherheitsschlüssel (z.B. Passwort) basiert. Die Verwendung des zweiten Authentifizierungsfaktors wie hier offenbart stärkt die Sicherheit des Datenverschlüsselungsschlüssels und damit die Sicherheit der gespeicherten Daten.
  • Ferner wird in einer Ausführungsform der zweite Authentifizierungsfaktor nur dann bereitgestellt, wenn eine oder mehrere Bedingungen erfüllt sind. Die Bedingung kann zum Beispiel auf dem Standort der Speichervorrichtung, der Anwesenheit eines bestimmten physischen Objekts oder der Umwelt der Speichervorrichtung, oder auch auf einer Kombination von Bedingungen basieren. Somit schütz/schützen die Bedingung(en) zum Beispiel gegen eine Entfernung der Speichervorrichtung vom Hostsystem oder Rechenzentrum. Wenn die Speichervorrichtung entfernt wird, können die eine oder die mehreren Bedingungen nicht erfüllt werden. Wenn die eine oder mehreren Bedingungen nicht alle erfüllt sind, werden die zweiten Informationen nicht an die Speichervorrichtung gesendet, der zweite Datenverschlüsselungsschlüssel kann nicht generiert und die gespeicherten Daten können nicht entschlüsselt werden. Aufgrund der Anforderung, die Bedingung(en) zu erfüllen, um zusätzliche Informationen (die zweiten Informationen) zu erhalten, die erforderlich sind, um den Datenverschlüsselungsschlüssel abzuleiten und die Daten zu entschlüsseln, ist die Speichervorrichtung davor geschützt, entfernt zu werden und zum Beispiel durch einen Insider-Angriff missbraucht zu werden.
  • In einer Ausführungsform wird der zweite Datenverschlüsselungsschlüssel (der verwendet wird, um auf der Speichervorrichtung gespeicherte Daten zu verschlüsseln und zu entschlüsseln), durch einen Schlüsselgenerator (z.B. einen Zufallszahlengenerator) generiert. In einer Ausführungsform umfassen die von der zweiten Quelle empfangenen zweiten Informationen (zweiter Authentifizierungsfaktor) einen „zweiten Schlüsselverschlüsselungsschlüssel“. Der zweite Datenverschlüsselungsschlüssel wird durch den ersten Schlüsselverschlüsselungsschlüssel (der unter Verwendung des Sicherheitsschlüssels des Hostsystems generiert wird) und durch den zweiten Schlüsselverschlüsselungsschlüssel verpackt, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren. Der verpackte erste Datenverschlüsselungsschlüssel kann dann auf der Speichervorrichtung gespeichert werden. Um den zweiten Datenverschlüsselungsschlüssel (zum Verschlüsseln und/oder Entschlüsseln von Daten) abzurufen, wird auf den verpackten ersten Datenverschlüsselungsschlüssel zugegriffen und dieser unter Verwendung des ersten Schlüsselverschlüsselungsschlüssels und des zweiten Schlüsselverschlüsselungsschlüssels entpackt. In einer Ausführungsform wird, wie oben erwähnt, der zweite Schlüsselverschlüsselungsschlüssel nur dann durch die zweite Quelle bereitgestellt, wenn eine oder mehrere Bedingungen alle erfüllt sind.
  • In einer weiteren Ausführungsform wird der zweite Datenverschlüsselungsschlüssel, der durch den Schlüsselgenerator generiert wird, in einen ersten Teil und einen zweiten Teil geteilt. Der erste Teil wird mit dem ersten Schlüsselverschlüsselungsschlüssel verpackt, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, der dann auf der Speichervorrichtung gespeichert werden kann. Der zweite Teil wird auf der zweiten Quelle gespeichert. Die von der zweiten Quelle empfangenen zweiten Informationen umfassen den zweiten Teil des zweiten Datenverschlüsselungsschlüssels. Um den zweiten Datenverschlüsselungsschlüssel (der zum Verschlüsseln und Entschlüsseln von auf der Speichervorrichtung gespeicherten Daten verwendet wird) abzurufen, wird der verpackte erste Datenverschlüsselungsschlüssel mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt, um den ersten Teil des zweiten Datenverschlüsselungsschlüssels zu generieren, und der erste Teil und der zweite Teil werden kombiniert, um den zweiten Datenverschlüsselungsschlüssel zu generieren. In einer Ausführungsform wird, wie oben beschrieben, der zweite Teil durch die zweite Quelle nur dann bereitgestellt, wenn eine oder mehrere Bedingungen alle erfüllt sind.
  • In noch einer weiteren Ausführungsform wird der Datenverschlüsselungsschlüssel, der durch den Schlüsselgenerator generiert wird, mit dem ersten Schlüsselverschlüsselungsschlüssel verpackt, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, die dann auf der Speichervorrichtung gespeichert werden kann. Die von der zweiten Quelle empfangenen zweiten Informationen umfassen einen „dritten Datenverschlüsselungsschlüssel“. Um den zweiten Datenverschlüsselungsschlüssel (der zum Verschlüsseln und Entschlüsseln von auf der Speichervorrichtung gespeicherten Daten verwendet wird) abzurufen, wird der verpackte erste Datenverschlüsselungsschlüssel mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt und das Ergebnis wird mit dem dritten Datenverschlüsselungsschlüssel kombiniert, um den zweiten Datenverschlüsselungsschlüssel zu generieren. In einer Ausführungsform wird, wie oben beschrieben, der dritte Datenverschlüsselungsschlüssel durch die zweite Quelle nur dann bereitgestellt, wenn eine oder mehrere Bedingungen alle erfüllt sind.
  • Zusammenfassend verbessern Ausführungsformen gemäß der vorliegenden Erfindung die Sicherheitsmaßnahmen zum Schutz von Daten im Ruhezustand in Szenarien, in denen das Hostsystem beeinträchtigt wird und/oder dessen Sicherheitsschlüssel durch einen Angreifer extrahiert werden, oder in Szenarien, in denen die Speichervorrichtung durch böswillige Firmware, die die Sicherheitsschlüssel des Hostsystems abfängt und speichert, beeinträchtigt und dann die Speichervorrichtung vom Hostsystem oder Rechenzentrum entfernt wird. Ausführungsformen gemäß der Erfindung schützen vor diesen Szenarien unter Verwendung eines zweiten Authentifizierungsfaktors, der ein zusätzliches Maß an Schutz gegen sowohl Insider. Als auch Outsider-Angriffe bietet. In weiteren Ausführungsformen wird der zweite Authentifizierungsfaktor nicht an die Speichervorrichtung weitergegeben, wenn eine oder mehrere Bedingungen nicht erfüllt sind, was ein weiteres Maß an Sicherheit bereitstellt.
  • Diese und weitere Gegenstände und Vorteile der verschiedenen Ausführungsformen gemäß der vorliegenden Erfindung werden von Fachleuten auf dem Gebiet der Technik nach Lektüre der folgenden detaillierten Beschreibung der Ausführungsformen, die in den verschiedenen Zeichnungen dargestellt sind, anerkannt werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen, die in diese Beschreibung eingeschlossen und Teil von dieser sind, und in denen ähnliche Bezugsziffern ähnliche Elemente bezeichnen, zeigen Ausführungsformen der vorliegenden Offenbarung und sollen, gemeinsam mit der detaillierten Zusammenfassung, die Grundsätze der Offenbarung erklären.
  • 1 ist ein Blockdiagramm, das Elemente eines Speichersystems zeigt, die auf dem Ausführungsformen gemäß der vorliegenden Erfindung umgesetzt sein können.
  • 2 ist ein Blockdiagramm einer Zweifaktor-Authentifizierungs-Speichervorrichtung in Ausführungsformen gemäß der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm einer Zweifaktor-Authentifizierungs-Speichervorrichtung in einer Ausführungsform gemäß der vorliegenden Erfindung.
  • 4 ist ein Blockdiagramm einer Zweifaktor-Authentifizierungs-Speichervorrichtung in einer weiteren Ausführungsform gemäß der vorliegenden Erfindung.
  • 5 ist ein Blockdiagramm einer Zweifaktor-Authentifizierungs-Speichervorrichtung in noch einer weiteren Ausführungsform gemäß der vorliegenden Erfindung.
  • 6 ist ein Blockdiagramm, das zeigt, wie eine oder mehrere Bedingung(en) für die Authentifizierung des Standorts der Speichervorrichtung mittels Standorterkennung und -detektion in Ausführungsformen der vorliegenden Erfindung festgelegt und angewandt werden können.
  • 7 ist ein Blockdiagramm, das zeigt, wie eine oder mehrere Bedingung(en) für die Authentifizierung des Standorts der Speichervorrichtung mittels passiver Umweltcharakterisierung in Ausführungsformen der vorliegenden Erfindung festgelegt und angewandt werden können.
  • 8 ist ein Blockdiagramm, das zeigt, wie eine oder mehrere Bedingung(en) für die Authentifizierung des Standorts der Speichervorrichtung mittels einer/eines physischen Komponente oder Objekts in Ausführungsformen der vorliegenden Erfindung festgelegt und angewandt werden können.
  • 9, 10, 11 und 12 sind Flussdiagramme, die Beispiele von Vorgängen zum Schutz von Daten in einer Speichervorrichtung in Ausführungsformen der vorliegenden Erfindung zeigen.
  • DETAILLIERTE BESCHREIBUNG
  • Es wird nun im Detail auf die verschiedenen Ausführungsformen der vorliegenden Offenbarung, von denen Beispiele in den beigefügten Zeichnungen dargestellt sind, Bezug genommen. Obwohl sie in Verbindung mit diesen Ausführungsformen beschrieben werden, versteht sich, dass sie die Offenbarung nicht auf diese Ausführungsformen beschränken sollen. Im Gegenteil, die Offenbarung soll Alternativen, Modifizierungen und Äquivalente abdecken, die in den Geist und Schutzumfang der Offenbarung gemäß ihrer Definition in den beigefügten Ansprüchen eingeschlossen sein können. Darüber hinaus werden in der folgenden detaillierten Beschreibung der vorliegenden Offenbarung zahlreiche spezifische Details erörtert, um ein umfassendes Verständnis der vorliegenden Offenbarung zu ermöglichen. Es versteht sich, dass die vorliegende Offenbarung ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen wurden weitgehend bekannte Methoden, Verfahren, Komponenten und Schaltungen nicht im Detail beschrieben, um Aspekte der vorliegenden Offenbarung nicht zu verkomplizieren.
  • Einige Abschnitte der nun folgenden detaillierten Beschreibungen werden in Form von Verfahren, Logikblöcken, Verarbeitung und sonstigen symbolischen Darstellungen von Vorgängen auf Datenbits in einem Computerspeicher vorgestellt. Diese Beschreibungen und Darstellungen werden von Fachleuten auf dem Gebiet der Datenverarbeitung verwendet, um die anderen Fachleuten die Substanz ihrer Arbeit so wirksam wie möglich zu vermitteln. In der vorliegenden Anmeldung wird ein Verfahren, ein Logikblock, Prozess oder dergleichen als selbstkonsistente Abfolge von Schritten oder Anweisungen, die zu einem gewünschten Ergebnis führen, betrachtet. Die Schritte sind solche, die eine physische Bearbeitung von physischen Größen verwenden. Üblicherweise, wenn auch nicht notwendigerweise, nehmen diese Größen die Form von elektrischen oder Magnetsignalen an, die gespeichert, übertragen, kombiniert, verglichen oder auf sonstige Weise in einem Computersystem verwendet werden können. Es hat sich mitunter als praktisch erwiesen, hauptsächlich aus Gründen der allgemeinen Verwendung, diese Signale als Transaktionen, Bits, Werte, Elemente, Symbole, Zeichen, Abtastung, Pixel oder dergleichen zu bezeichnen.
  • Es sollte jedoch berücksichtigt werden, dass alle diese und ähnliche Begriffe mit den passenden physischen Größen zu verbinden und lediglich praktische Bezeichnungen sind, die für diese Größen verwendet werden. Wenn nicht ausdrücklich anders angegeben, wie aus der folgenden Erörterung ersichtlich, beziehen sich Erörterungen, in denen Begriffe wie „empfangen“, „zugreifen“, „senden“, „verpacken“, „entpacken“, „generieren“, „verschlüsseln“, „entschlüsseln“, „speichern“, „kombinieren“, „trennen“, „ausführen“ oder dergleichen verwendet werden, in der vorliegenden Offenbarung durchgehend auf Handlungen und Prozesse (z.B. Flussdiagramme 900, 1000, 1100 und 1200 von jeweils 9, 10, 11 und 12) einer Vorrichtung oder eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung oder eines Prozessors (z.B. das System 100 von 1). Ein Computersystem oder eine ähnliche elektronische Rechenvorrichtung bearbeitet und verwandelt Daten, die als physische (elektronische) Größen in Speichern, Registern oder sonstigen solcher Informationsspeicher-, Übertragungs- oder Anzeigevorrichtungen dargestellt sind.
  • Hier beschriebene Ausführungsformen können im allgemeinen Zusammenhang von Computer-ausführbaren Anweisungen, die sich auf irgendeiner Form eines computerlesbarem Speichermediums befinden, wie Programmodule, die durch eine oder mehrere Computer oder sonstige Vorrichtungen ausgeführt werden, erörtert werden. Zum Beispiel, aber nicht als Einschränkung, können computerlesbare Speichermedien nicht-flüchtige Computerspeichermedien und Kommunikationsmedien umfassen. Allgemein umfassen Programmmodule Routinen, Programme, Gegenstände, Komponenten, Datenstrukturen usw., die bestimmte Ausgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Funktionen der Programmmodule können in verschiedenen Ausführungsformen kombiniert oder wie gewünscht verteilt sein.
  • Computerspeichermedien umfassen flüchtige und nicht-flüchtige, entfernbare und nicht-entfernbare Medien, die durch jegliche Verfahren oder Technologie zum Speichern von Informationen, wie computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder sonstigen Daten, umgesetzt sind. Computerspeichermedien umfassen, sind jedoch nicht beschränkt auf, Direktzugriffspeicher (RAM), Festwertspeicher (ROM), elektrisch löschbare programmierbare ROM (EEPROM), Flash-Speicher (z.B. ein SSD oder NVMD) oder sonstige Speichertechnologie, Compact-Disk-ROM (CD-ROM), Digital-Versatile-Disks (DVDs) oder sonstige optische Speicher, Magnetkassetten, Magnetbänder, Magnetdiskettenspeicher oder sonstige Magnetspeichervorrichtungen, oder ein jegliches Medium, das zum Speichern der gewünschten Informationen verwendet werden und auf das zugegriffen werden kann, um diese Informationen abzurufen.
  • Kommunikationsmedien können Computer-ausführbare Anweisungen, Datenstrukturen und Programmodule einschließen und umfassen jegliche Informationsweitergabemedien. Beispielsweise, aber nicht einschränkend, umfassen Kommunikationsmedien verdrahtete Medien, wie ein verdrahtetes Netzwerk oder eine direkt-verdrahtete Verbindung, und Drahtlosmedien, wie akustische, Hochfrequenz-(HF-), Infrarot- und sonstige Drahtlosmedien. Kombinationen von jeglichen der genannten können ebenfalls in den Schutzumfang von computerlesbaren Medien eingeschlossen sein.
  • In der nun folgenden Erörterung wird die folgende Terminologie verwendet: im Allgemeinen dienen Begriffe wie „erster/erste/erstes“, „zweiter/zweite/zweites“ und „dritter/dritte/drittes“ lediglich der Vereinfachung, um ähnliche Begriffe voneinander zu unterscheiden. Etwaige Ausnahmen werden in der Erörterung genannt.
  • Der „erste Datenverschlüsselungsschlüssel“ ist die Version des Datenverschlüsselungsschlüssels, der auf der Speichervorrichtung gespeichert ist. Der erste Datenverschlüsselungsschlüssel kann verpackt sein, in welchem Fall er als „verpackte Version des ersten Datenverschlüsselungsschlüssels“ oder einfach als „verpackter erster Datenverschlüsselungsschlüssel“ bezeichnet wird.
  • Der „zweite Datenverschlüsselungsschlüssel“ ist die Version des Datenverschlüsselungsschlüssels, die durch die Speichervorrichtung generiert und von der Speichervorrichtung verwendet wird, um auf der Speichervorrichtung gespeicherte Daten zu verschlüsseln und zu entschlüsseln.
  • Der „Zwischendatenverschlüsselungsschlüssel“ ist eine Version des Datenverschlüsselungsschlüssels, die zwischen der verpackten Version des ersten Datenverschlüsselungsschlüssels und dem zweiten Datenverschlüsselungsschlüssel liegt.
  • „Erste Informationen“ beziehen sich auf Informationen, wie einen Sicherheitsschlüssel, die von einem Hostsystem für die Speichervorrichtung empfangen werden. In einer Ausführungsform werden die ersten Informationen durch die Speichervorrichtung verwendet, um einen ersten Schlüsselverschlüsselungsschlüssel zu generieren. In weiteren Ausführungsformen sind die ersten Informationen ein kryptografischer Schlüsselverschlüsselungsschlüssel. Dies wird weiter unten besprochen.
  • „Zweite Informationen“ beziehen sich auf Informationen, die von einer anderen Quelle als dem Hostsystem empfangen werden. Diese Quelle wird als „zweite Quelle“ bezeichnet. Abhängig von der Ausführungsform, umfassen die zweiten Informationen einen zweiten Schlüsselverschlüsselungsschlüssel, einen Teil des zweiten Datenverschlüsselungsschlüssels oder einen „dritten Datenverschlüsselungsschlüssel“.
  • 1 ist ein Blockdiagramm, das Elemente eines Speichersystems 100 zeigt, auf dem Ausführungsformen gemäß der vorliegenden Erfindung umgesetzt sein können. Das System 100 kann andere Elemente als die unten gezeigten oder beschriebenen umfassen.
  • Im Beispiel von 1 umfasst das System 100 ein Hostsystem 120, das eine zentrale Rechnereinheit (CPU) 121, einen flüchtigen Speicher 122 und einen nicht-flüchtigen Speicher 123 umfasst. Das Hostsystem 120 kann andere Elemente als die unten gezeigten oder beschriebenen umfassen.
  • Das Hostsystem 120 ist mit einer Anzahl von Speichervorrichtungen 1 gekoppelt oder umfasst diese durch N (1 – N) beispielsweise Speichervorrichtungen 130. Die Speichervorrichtung 130 umfasst Speichermedien 132. Die Speichermedien 132 können einen oder mehrere Halbleitertreiber oder -vorrichtungen (SSDs) umfassen, die auch als nicht-flüchtige Speichervorrichtungen (NVMDs) oder Flash-Speichervorrichtungen bekannt sind. Die Speichermedien können zudem oder alternativ dazu einen oder mehrere Festplattentreiber oder -vorrichtungen (HDDs) umfassen. Die Speichervorrichtung 130 ist in Verbindung mit 2, 3, 4 und 5 näher beschrieben.
  • Das Speichersystem 100/Hostsystem 120 von 1 kann, muss aber nicht, eine mobile Vorrichtung wie zum Beispiel, aber nicht ausschließlich, ein Laptopcomputer sein. Das System 100 kann Teil eines verteilten oder geteilten Speichersystems sein (z.B. Rechenzentrum oder ein System oder Cluster von an ein Netzwerk angeschlossenen Speichern (NAS)), das über ein Netzwerk (nicht gezeigt) Datenspeicherdienste für Personen (z.B. Verbraucher) bereitstellt. Diese Speicherdienste können das Speichern, Verwalten und Warten von Daten, einschließlich großer Datensätze, die als „Big Data“ bezeichnet werden, umfassen. Das Netzwerk kann ein verdrahtetes (einschließlich Glasfaser) oder drahtloses Telekommunikations- oder Computernetzwerk, einschließlich, aber nicht ausschließlich, zum Beispiel ein Intranet, ein Grobraumnetzwerk (WAN), ein lokales Netz (LAN), ein persönliches Netz (PAN), ein Speichernetz (SAN) oder das Internet, sein.
  • Daten werden in den Speichermedien 132 auf der Speichervorrichtung 130 verschlüsselt und gespeichert. Wie weiter unten näher beschrieben wird, verwenden Ausführungsform gemäß der Erfindung zum Entschlüsseln der gespeicherten Daten mindestens zwei Authentifizierungsfaktoren. Der erste Authentifizierungsfaktor kann zum Beispiel ein passwortbasierter Sicherheitsschlüssel sein. Die Speichervorrichtung 130 ist mit einer Quelle 140 (hier als zweite Quelle bezeichnet), die die Quelle eines zweiten Authentifizierungsfaktors ist, kommunikativ gekoppelt.
  • Die zweite Quelle 140 ist vom Hostsystem 120 getrennt oder trennbar. Kommunikationsvorgänge zwischen der Speichervorrichtung 130 und der zweiten Quelle 140 laufen nicht über das Hostsystem 120. Es existiert keine Schnittstelle zwischen der zweiten Quelle 140 und dem Hostsystem 120. Es existiert im System 100 kein Mechanismus, der ein Empfangen oder Evaluieren von Kommunikationsvorgängen zwischen der Speichervorrichtung 130 und der zweiten Quelle 140 durch das Hostsystem 120 ermöglichen würde. Im Beispiel von 1 ist die zweite Quelle 140 mit jeder der Speichervorrichtungen 1 – N kommunikativ gekoppelt. In einer alternativen Umsetzung können eine oder mehrere zweite Quellen existieren, die jeweils mit einer oder mehreren der Speichervorrichtungen kommunikativ gekoppelt sind.
  • 2 ist ein Blockdiagramm einer Zwei-Faktor-Authentifizierungs-Speichervorrichtung 130 in einer Ausführungsform gemäß der vorliegenden Erfindung. In der Ausführungsform von 2 umfasst die Speichervorrichtung 130 ein erstes Modul 201 und ein zweites Modul 202.
  • Die Speichervorrichtung 130 empfängt einen ersten Authentifizierungsfaktor (erste Informationen) vom Hostsystem 120. In einer Ausführungsform sind oder umfassen die ersten Informationen einen Sicherheitsschlüssel, wie ein Passwort. Der Sicherheitsschlüssel durchläuft eine Schlüsselableitfunktion, wie zum Beispiel, aber nicht beschränkt auf, PBKDF2 (passwortbasierte Schlüsselableitfunktion 2), um einen ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. Die Schlüsselableitfunktion kann Zufallsdaten („Salt“) als zusätzliche Eingabe auf weithin bekannte Weise verwenden.
  • In einer weiteren Ausführungsform sind oder umfassen die ersten Informationen, die vom Hostsystem 120 empfangen werden, einen kryptographischen Schlüsselverschlüsselungsschlüssel. Mit anderen Worten, in dieser Ausführungsform wird der erste Schlüsselverschlüsselungsschlüssel KEK1 vom Hostsystem 120 empfangen. In einer Ausführungsform führt das Hostsystem 120 eine Schlüsselableitfunktion aus, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. Dementsprechend kann der Schlüsselverschlüsselungsschlüssel auf der Speichervorrichtung 130 nicht anwesend sein oder diese umgehen und davon nicht ausgeführt werden.
  • Im Allgemeinen wird der erste Schlüsselverschlüsselungsschlüssel KEK1 aus den, vom Hostsystem 120 empfangenen, ersten Informationen erhalten.
  • In einer Ausführungsform greift das erste Modul 201 auf einen verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 zu, der in den Speichermedien 132 auf der Speichervorrichtung 130 gespeichert ist. Das erste Modul 201 kann den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 entpacken, um einen Zwischendatenverschlüsselungsschlüssel I_DEK zu generieren.
  • In einer weiteren Ausführungsform ist der erste Datenverschlüsselungsschlüssel, der in den Speichermedien 132 gespeichert ist, nicht verpackt. Stattdessen ist der Zwischendatenverschlüsselungsschlüssel I_DEK mit einem Hersteller- oder Vorrichtungs-spezifischen Schlüssel auf geeignete Weise verschlüsselt. Zum Beispiel kann der Zwischendatenverschlüsselungsschlüssel I_DEK als „Exklusiv-Oder“ (XOR) mit einem fest kodierten Wert von gleicher Länge ausgelegt sein, wodurch der Zwischendatenverschlüsselungsschlüssel I_DEK in den Speichermedien 132 verborgen ist. Die ersten Informationen vom Hostsystem 120 könnten somit ein Passwort sein oder umfassen, das mit dem autorisierten, korrekten Passwort, das in den Speichermedien 132 gespeichert ist, verglichen wird.
  • Das zweite Modul 202 generiert einen zweiten Datenverschlüsselungsschlüssel DEK2 unter Verwendung des Zwischendatenverschlüsselungsschlüssel I_DEK und eines zweiten Authentifizierungsfaktors (zweite Informationen), der von der zweiten Quelle 140 erhalten wird. Der zweite Datenverschlüsselungsschlüssel DEK2 wird von dem Verschlüsselungs-/Entschlüsselungs-Engine 210 verwendet, um in den Speichermedien 132 gespeicherte Daten zu verschlüsseln und zu entschlüsseln.
  • Die zweiten Informationen, die auf der zweiten Quelle 140 gespeichert oder von dieser bereitgestellt sind, können selbst verschlüsselt und/oder verpackt sein. Ist dies der Fall, können sie entschlüsselt/entpackt werden, bevor sie an die Speichervorrichtung 130 weitergesendet werden, oder durch die Speichervorrichtung entschlüsselt/entpackt werden.
  • Der zweite Authentifizierungsfaktor (zweite Informationen) stellt ein erhöhtes Ausmaß an Schutz für die gespeicherten Daten bereit. Wie später genauer erklärt wird, wird in Ausführungsformen gemäß der Erfindung der zweite Authentifizierungsfaktor (zweite Informationen) nur dann von der zweiten Quelle 140 an die Speichervorrichtung 130 gesendet, wenn eine oder mehrere Bedingungen erfüllt sind. In diesen Ausführungsformen bietet die Anforderungen, dass die Bedingung(en) erfüllt wird/werden, ein noch größeres Ausmaß an Schutz für die gespeicherten Daten.
  • Der zweite Authentifizierungsfaktor (zweite Informationen) können einer Strategie unterliegen, die definiert, wann und wie die zweite Authentifizierung zu verwenden ist. Zum Beispiel kann dieselbe strategische Grundlage, die den ersten Authentifizierungsfaktor (den Sicherheitsschlüssel des Hostsystems) bestimmt, verwendet werden, oder es kann eine unterschiedliche Strategie verwendet werden. Die Optionen reichen vom Anzeigen und Überprüfen des zweiten Authentifizierungsfaktors beim Hochfahren bis hin zum verpflichtenden periodischen Anzeigen und Überprüfen (wobei „periodisch“ auch kontinuierlich bedeutet). In letzterem Fall kann ein Hardware-Mechanismus verwendet werden, um den zweiten Datenverschlüsselungsschlüssel DEK2 zu verwerfen, außer er wird durch den zweiten Authentifizierungsfaktor authentifiziert.
  • Die Speichermedien 132 oder die Speichervorrichtung 130 können logisch oder physisch in verschiedene Abschnitte geteilt sein, mit verschiedenen Zugriffsanforderungen für jeden Abschnitt. Zum Beispiel können die ersten Informationen, die vom Hostsystem 120 angefordert werden, und/oder die zweiten Informationen, die von der zweiten Quelle 140 angefordert werden, für jeden Abschnitt unterschiedlich sein. Somit können zum Beispiel eine Speichervorrichtung oder Speichermedien mit mehreren Abschnitten einen Abschnitt aufweisen, der an einer Stelle zugänglich ist, einen weiteren Abschnitt, der an einer anderen Stelle zugänglich ist usw.
  • 3 ist ein Blockdiagramm einer Zwei-Faktor-Authentifizierungs-Speichervorrichtung 300 in einer Ausführungsform gemäß der vorliegenden Erfindung. Die Speichervorrichtung 300 ist ein Beispiel der Speichervorrichtung 130 von 1 und 2.
  • Wie oben beschrieben, empfängt die Speichervorrichtung 130 erste Informationen vom Hostsystem 120. In einer Ausführungsform umfassen die ersten Informationen einen Sicherheitsschlüssel, etwa ein Passwort, der eine Schlüsselableitfunktion durchläuft, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. In einer weiteren Ausführungsform umfassen die vom Hostsystem 120 empfangenen ersten Informationen den ersten Schlüsselverschlüsselungsschlüssel KEK1. In einer Ausführungsform führt das Hostsystem 120 eine Schlüsselableitfunktion durch, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. Dementsprechend kann die Schlüsselableitfunktion auf der Speichervorrichtung 130 nicht anwesend sein oder diese umgehen und davon nicht ausgeführt werden.
  • In der Ausführungsform von 3 wird der zweite Datenverschlüsselungsschlüssel DEK2 durch einen Schlüsselgenerator 310 (z.B. ein hochwertiger Zufallszahlengenerator) generiert. Der Schlüsselgenerator 310 kann hier als drittes Modul der Speichervorrichtung 130 bezeichnet werden. Der zweite Datenverschlüsselungsschlüssel DEK2 kann durch die Verschlüsselungs-/Entschlüsselungs-Engine 210 verwendet werden, um vom Hostsystem 120 empfangene Daten zu verschlüsseln.
  • In dieser Ausführungsform umfassen die zweiten Informationen, die von der zweiten Quelle 140 empfangen werden, einen zweiten Schlüsselverschlüsselungsschlüssel KEK2. Um den zweiten Datenverschlüsselungsschlüssel DEK2 zu schützen, wird dieser durch den ersten Schlüsselverschlüsselungsschlüssel KEK1 und den zweiten Schlüsselverschlüsselungsschlüssel KEK2 verpackt, um den ersten verpackten Datenverschlüsselungsschlüssel W_DEK1 zu generieren. Genauer wird in der Ausführungsform von 3 der zweite Datenverschlüsselungsschlüssel DEK2 durch das zweite Modul 302 mit dem zweiten Schlüsselverschlüsselungsschlüssel KEK2 unter Verwendung eines Schlüsselverpackungsalgorithmus verpackt, zum Beispiel, aber nicht ausschließlich, der Schlüsselverpackungsspezifizierung gemäß Advanced-Encryption-Standard (AES) des National Institute of Standards and Technology (NIST). Die Ausgabe I_DEK des zweiten Moduls 302 wird in das erste Modul 201 eingegeben und durch das erste Modul mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 unter Verwendung eines Schlüsselverpackungsalgorithmus verpackt, zum Beispiel, aber nicht ausschließlich, der NIST-AES-Schlüsselverpackungsspezifizierung, um den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 zu generieren. Der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 kann dann in einem freigehaltenen Bereich der Speichermedien 132 auf der Speichervorrichtung 300 gespeichert werden.
  • In dieser Ausführungsform wird zum Abrufen des zweiten Datenverschlüsselungsschlüssels DEK2 (zum Verschlüsseln neuer Daten und/oder Entschlüsseln gespeicherter Daten) vom freigehaltenen Bereich der Speichermedien 132 aus auf den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 zugegriffen. Das erste Modul 201 entpackt den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 unter Verwendung des ersten Datenverschlüsselungsschlüssels KEK1. Die Ausgabe I_DEK des ersten Moduls 201 wird in das zweite Modul 302 eingegeben und durch das zweite Modul unter Verwendung des zweiten Schlüsselverschlüsselungsschlüssels KEK2 entpackt, um die den zweiten Datenverschlüsselungsschlüssel DEK2 wiederherzustellen. In einer Ausführungsform wird, wie zuvor erwähnt, der zweite Schlüsselverschlüsselungsschlüssel KEK2 dem zweiten Modul 302 von der zweiten Quelle 140 nur dann bereitgestellt, wenn eine oder mehrere Bedingungen alle erfüllt sind.
  • 4 ist ein Blockdiagramm einer Zwei-Faktor-Authentifizierungs-Speichervorrichtung 400 in einer weiteren Ausführungsform gemäß der vorliegenden Erfindung. Die Speichervorrichtung 400 ist ein Beispiel der Speichervorrichtung 130 von 1 und 2.
  • Wie oben beschrieben, erhält die Speichervorrichtung 130 erste Informationen vom Hostsystem 120. In einer Ausführungsform umfassen die ersten Informationen einen Sicherheitsschlüssel, etwa ein Passwort, der eine Schlüsselableitfunktion durchläuft, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. In einer weiteren Ausführungsform umfassen die ersten Informationen, die vom Hostsystem 120 empfangen werden, den ersten Schlüsselverschlüsselungsschlüssel KEK1. In einer weiteren Ausführungsform führt das Hostsystem 120 eine Schlüsselableitfunktion aus, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. Dementsprechend kann die Schlüsselableitfunktion auf der Speichervorrichtung 130 nicht anwesend sein oder diese umgehen und davon nicht ausgeführt werden.
  • In der Ausführungsform von 4 wird der zweite Datenverschlüsselungsschlüssel DEK2 durch den Schlüsselgenerator 310 generiert und kann durch den Verschlüsselungs-/Entschlüsselungs-Engine 210 verwendet werden, um vom Hostsystem 120 empfangene Daten zu verschlüsseln.
  • In der Ausführungsform von 4 wird der zweite Datenverschlüsselungsschlüssel DEK2, nachdem er durch den Schlüsselgenerator 310 generiert wurde, in einen ersten Teil S1 und einen zweiten Teil S2 durch das zweite Modul 402 unter Verwendung eines geheimen Aufteilungsverfahrens aufgeteilt. Geheime Aufteilungsverfahren sind weithin bekannt und umfassen zum Beispiel das Shamir-Schema und Balkley-Schema. Der zweite Teil S2 wird auf der zweiten Quelle 140 gespeichert. In dieser Ausführungsform umfassen die zweiten Informationen, die von der zweiten Quelle 140 empfangen werden, den zweiten Teil S2 des zweiten Datenverschlüsselungsschlüssels DEK2. Die Ausgabe I_DEK des zweiten Moduls 402 (der zweite Teil S2) wird mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 verpackt, um den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1(S2) zu generieren, der dann in einem freigehaltenen Bereich der Speichermedien 132 auf der Speichervorrichtung 400 gespeichert werden kann.
  • In dieser Ausführungsform wird, um den zweiten Datenverschlüsselungsschlüssel DEK2 abzurufen, vom freigehaltenen Bereich der Speichermedien 132 aus auf den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1(S2) zugegriffen. Das erste Modul 201 entpackt den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1(S2) unter Verwendung des ersten Schlüsselverschlüsselungsschlüssels KEK1. Die Ausgabe I_DEK (der erste Teil S1) des ersten Moduls 201 wird in das zweite Modul 402 eingegeben. Das zweite Modul 402 kombiniert den zweiten Teil S2 von der zweiten Quelle 140 und den ersten Teil S1, um den zweiten Datenverschlüsselungsschlüssel DEK2 zu generieren. In einer Ausführungsform wird, wie hier zuvor erwähnt, der zweite Teil S2 dem zweiten Modul 402 durch die zweite Quelle 140 nur dann bereitgestellt, wenn eine oder mehrere Bedingungen alle erfüllt sind.
  • 5 ist ein Blockdiagramm einer Zwei-Faktor-Authentifizierungs-Speichervorrichtung 500 in einer weiteren Ausführungsform gemäß der vorliegenden Erfindung. Die Speichervorrichtung 500 ist ein weiteres Beispiel der Speichervorrichtung 130 von 1 und 2.
  • Wie oben beschrieben erhält die Speichervorrichtung 130 erste Informationen vom Hostsystem 120. In einer Ausführungsform umfassen die ersten Informationen einen Sicherheitsschlüssel, etwa ein Passwort, der eine Schlüsselableitfunktion durchläuft, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. In einer weiteren Ausführungsform umfassen die ersten Informationen, die vom Hostsystem 120 empfangen werden, den ersten Schlüsselverschlüsselungsschlüssel KEK1. In einer Ausführungsform führt das Hostsystem 120 eine Schlüsselableitfunktion aus, um den ersten Schlüsselverschlüsselungsschlüssel KEK1 abzuleiten. Dementsprechend kann die Schlüsselableitfunktion auf der Speichervorrichtung 130 nicht anwesend sein oder diese umgehen und davon nicht ausgeführt werden.
  • In der Ausführungsform von 5 wird ein Zwischendatenverschlüsselungsschlüssel I_DEK durch den Schlüsselgenerator 310 generiert. Das heißt, im Gegensatz zu den oben beschrieben Ausführungsformen, der vom Schlüsselgenerator 310 generierte Datenverschlüsselungsschlüssel nicht der Schlüssel ist, der zum Verschlüsseln und Entschlüsseln von Daten verwendet wird. In dieser Ausführungsform umfassen die zweiten Informationen, die von der zweiten Quelle 140 erhalten werden, einen dritten Datenverschlüsselungsschlüssel DEK3. Das zweite Modul 502 verwendet Schlüsselkombinationslogik, wie zum Beispiel, aber nicht ausschließlich, eine Hash-Basis-Nachrichtenauthentifizierungskode-(HMAC-)Schlüsselableitfunktion (HDKF), um den Zwischendatenverschlüsselungsschlüssel I-DEK mit dem dritten Datenverschlüsselungsschlüssel DEK3 zu kombinieren, um den zweiten Datenverschlüsselungsschlüssel DEK2 zu generieren, der durch den Verschlüsselungs-/Entschlüsselungs-Engine 210 verwendet werden kann, um vom Hostsystem 120 empfangene Daten zu entschlüsseln.
  • In dieser Ausführungsform entpackt das erste Modul 201 die Ausgabe I_DEK des Schlüsselgenerators 310 mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1, um den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 zu generieren. Der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 kann dann in einem freigehaltenen Bereich der Speichermedien 132 auf der Speichervorrichtung 500 gespeichert werden.
  • In dieser Ausführungsform wird zum Abrufen des zweiten Datenverschlüsselungsschlüssels DEK2 vom freigehaltenen Bereich der Speichermedien 132 aus auf den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 zugegriffen. Das erste Modul 201 entpackt den verpackten ersten Datenverschlüsselungsschlüssel W_DEK1 unter Verwendung des ersten Schlüsselverschlüsselungsschlüssels KEK1. Die Ausgabe I_DEK des ersten Moduls 201 wird in das zweite Modul 502 eingegeben. Das zweite Modul 502 kombiniert die Ausgabe des ersten Moduls 201 mit dem dritten Datenverschlüsselungsschlüssel DEK3, um den zweiten Datenverschlüsselungsschlüssel DEK2 zu generieren. In einer Ausführungsform wird, wie hier zuvor bereits erwähnt, der dritte Datenverschlüsselungsschlüssel DEK3 dem zweiten Modul 502 durch die erste Quelle 140 nur dann bereitgestellt, wenn eine oder mehrere Bedingungen erfüllt sind.
  • Die soeben beschriebenen Ausführungsformen sind besonders vorteilhaft, wenn Schlüssel, die durch die zweite Quelle 140 bereitgestellt werden, wie der zweiten Schlüsselverschlüsselungsschlüssel KEK2 (3), der zweite Datenverschlüsselungsschlüssel DEK2, der durch Kombinieren der Teile S1 und S2 generiert wird (4), und der dritte Datenverschlüsselungsschlüssel DEK3 (5) von kryptografischer Qualität sind. Ferner ist die Sicherheit der Daten im Ruhezustand verbessert, wenn Firmware auf der Speichervorrichtung 130 nicht auf die zweite Quelle 140 zugreifen kann. Dies gewährleistet, dass für die Informationen in der zweiten Quelle 140 das Risiko der Freilegung nicht besteht, selbst wenn die Firmware auf der Speichervorrichtung 130 beeinträchtigt wird. Zu verhindern, dass die Firmware auf der Speichervorrichtung 130 den zweiten Authentifizierungsfaktor (die zweiten Informationen) sieht oder modifiziert, gewährleistet, dass die Firmware, sollte sie beeinträchtigt werden, nicht verwendet werden kann, um die gespeicherten Daten zu entschlüsseln.
  • Wie oben erwähnt, wird in einer Ausführungsform der zweite Authentifizierungsfaktor (die zweiten Informationen von der zweiten Quelle 140) der Speichervorrichtung 130 nur dann bereitgestellt, wenn eine oder mehrere Bedingungen erfüllt sind. Die Bedingung kann zum Beispiel auf dem Standort der Speichervorrichtung 130, der Anwesenheit eines bestimmten physischen Gegenstands oder der Umgebung der Speichervorrichtung, oder auch einer Kombination dieser Bedingungen basieren. Im Allgemeinen schützen diese Bedingungen vor der Entfernung der Speichervorrichtung 130 vom Hostsystem 120 oder Rechenzentrum. Wenn die Speichervorrichtung entfernt wird, können eine oder mehrere der Bedingungen nicht erfüllt werden. Die Bedingungen können auch verwendet werden, um den Betrieb von oder den Zugriff auf Daten auf Speichervorrichtungen von gestohlenen Mobilvorrichtungen, wie Laptops, zu verhindern. Wenn die eine oder die mehreren Bedingungen nicht alle erfüllt sind, werden die zweiten Informationen nicht an die Speichervorrichtung 130 gesendet, kann der zweite Datenverschlüsselungsschlüssel kann nicht generiert wert werden und können die gespeicherten Daten nicht entschlüsselt werden.
  • 6 ist ein Blockdiagramm, das veranschaulicht, wie (eine) Bedingung(en) zum Authentifizieren des Standorts der Speichervorrichtung 130 in Ausführungsformen gemäß der Erfindung unter Verwendung von Standorterkennung und Detektion (z.B. mittels Geolokalisierung und/oder Geofencing) festgelegt und angewandt werden können. In diesen Ausführungsformen stellt die zweite Quelle 140 die zweiten Informationen (zweiter Authentifizierungsfaktor) für die Speichervorrichtung 130 nicht bereit, wenn eine oder mehrere standortbasierte Bedingungen nicht erfüllt sind. Wenn der aktuelle Standort der Speichervorrichtung 130 nicht innerhalb einer gewissen Toleranz dem konfigurierten Zustand der Vorrichtung entspricht, dann werden die zweiten Informationen nicht an die Speichervorrichtung weitergegeben und die gespeicherten Daten bleiben geschützt, weil sie nicht entschlüsselt werden können. Im Wesentlichen wird in den Ausführungsformen von 6 die Sicherheit der Daten, die auf einer selbstverschlüsselnden Speichervorrichtung, wie der Speichervorrichtung 130, verbessert, indem Standortinformationen als erforderliche Eingabe für die Datenverschlüsselungs- und -entschlüsselungsprozesse aufgenommen werden.
  • In der Ausführungsform von 6 umfasst die zweite Quelle 140 ein Modul 602, das Informationen von einem oder mehreren der Standorterkennungs- und Detektionsmechanismen empfängt und diese Informationen mit einem Satz von Geolokalisierungs-/Geofencing-Parametern vergleichen kann. Wenn die Informationen innerhalb einer vorgeschriebenen Toleranz mit diesen Parametern übereinstimmen, dann zeigt dies an, dass die Speichervorrichtung 130 sich an ihrem spezifizierten Standort oder innerhalb einer vorgeschrieben Entfernung von ihrem spezifizierten Standort, z.B. in der Nähe des Hostsystems 120 oder des Rechenzentrums, befindet oder innerhalb einer vorgeschriebenen Entfernung von einem autorisierten Standort. In letzterem Fall kann eine mobile Vorrichtung, wie etwa ein Laptop, zu Hause und am Arbeitsplatz verwendet werden, wobei beide Standorte als autorisierte Standorte ausgewiesen sind.
  • Eine Überprüfung des Standorts der Speichervorrichtung 130 durch Geolokalisierung und/oder Geofencing kann durchgeführt werden, wenn die Speichervorrichtung eingeschaltet ist, und für die Dauer der Einschaltzeit der Speichervorrichtung gültig bleiben, oder aber sie kann in periodischen Intervallen wiederholt werden. Vorteile des ersten Ansatzes sind, dass dadurch das Risiko Unzuverlässigkeit verringert und eine Stromeinsparung ermöglicht wird, während ein Vorteil des zweiten Ansatzes der ist, dass dadurch das Risiko des Missbrauchs verringert ist.
  • Die zweiten Informationen/der zweite Authentifizierungsfaktor können Informationen sein, die auf der zweiten Quelle 140 gespeichert sind, oder Informationen, die vom Mechanismus, der zur Standorterkennung- und Detektion verwendet wird, abgeleitet sind. In der Ausführungsform von 4 sind die zweiten Informationen (der erste Teil von S1 des zweiten Datenverschlüsselungsschlüssels DEK2) auf der zweiten Quelle 140 gespeichert. In den Ausführungsformen von 3 und 5 können der zweite Schlüsselverschlüsselungsschlüssel KEK2 und der dritte Datenverschlüsselungsschlüssel DEK3 Werte sein, die zum Beispiel durch einen Zufallszahlengenerator generiert werden, oder aber sie können Werte sein, die von standortbasierten Informationen abgeleitet sind. In beiden Fällen können diese Werte entweder frühzeitig generiert und auf der zweiten Quelle 140 gespeichert werden, oder ad hoc generiert werden, wenn sie von der Speichervorrichtung 130 angefordert werden. Wenn die Werte auf der zweiten Quelle 140 gespeichert sind, können sie verschlüsselt oder verpackt werden.
  • Wie in 6 veranschaulicht, kann Standorterkennung und Detektion basierend auf Geolokalisierung und/oder Geofencing unter Verwendung von einem oder mehreren Mechanismen oder Verfahren umgesetzt sein, wie zum Beispiel, aber nicht ausschließlich: Hochfrequenz-(HF-)Signalmessungen aus festen Quellen wie Drahtlos-(z.B. WiFi- oder Bluetooth-)Zugriffspunkten, Mobilfunkantennen, Radio-(z.B. AM- oder FM-)Sendern und zugewiesenen Beacons; HF-Empfang eines spezifischen Beacons, ein synchronisiertes Taktungssignal, oder ein an der Stelle des Rechenzentrums betriebener Sender; Magnetfeldcharakterisierung unter Verwendung von z.B. einem digitalen Kompass; Geotagging mit RFID oder einer Smart Card; und Direktpositionsmessung unter Verwendung von GPS (Global Positioning System) oder einem ähnlichen Positionierungssystem.
  • Für einen GPS-basierten Authentifizierungsmechanismus kann der Betrieb der Speichervorrichtung 130 in bestimmten geografischen Regionen gestattet sein, oder der Betrieb innerhalb einer gewissen Entfernung von einem zentralisierten Punkt gestattet sein, wobei die auf der Speichervorrichtung gespeicherten Daten unzugänglich bleiben, wenn die Speichervorrichtung sich außerhalb dieser Regionen oder jenseits der zulässigen Entfernung von dem zentralisierten Punkt befindet.
  • Für Authentifizierungsmechanismen basierend auf FH-Messungen, wie die Verwendung von Sendesignalen, kann eine Anzahl N von lokalen Sendern in einem bestimmten Frequenzband identifiziert werden, und ein Signal von einer gewissen Schwellenstärke müsste von einer Anzahl M dieser Sender (M weniger als N) empfangen werden, damit von der Speichervorrichtung 130 aus auf Daten zugegriffen werden kann. Dies gestattet Ausfälle, während der Standort der Speichervorrichtung effektiv an einen Punkt gebunden wird, an dem die HF-Felder von den verschiedenen Sendern innerhalb einer spezifizierten Toleranz einer gemessenen Basis liegen, und ermöglicht ein Zugreifen auf die gespeicherten Daten, wenn eine Änderung der Anzahl von Sendern eintritt. Ebenso wären Signale aus M von N festen Quellen (z.B. Wifi-Zugriffspunkte oder zugewiesene Beacons) erforderlich, damit von der Speichervorrichtung 130 aus auf Daten zugegriffen werden kann, sodass der Zugriff auf gespeicherte Daten noch immer möglich ist, wenn eine Änderung der Konfiguration beim Datenzentrum besteht.
  • Für Authentifizierungsmechanismen basierend auf einer Vorrichtung, wie einer RFID oder einer Smart Card müsste die Vorrichtung in der Reichweite der Speichervorrichtung 130 liegen, um auf die gespeicherten Daten zugreifen zu können. Beispielsweise könnte auch ein Mitarbeiterausweis die RFID oder Smart Card umfassen, und eine Zahl (z.B. eine Mitarbeiterausweiskartenzahl) könnte in die RFID oder Smart Card eingebaut sein und als Seed verwendet werden, um eine Hash-Berechnung der zweiten Informationen/des zweiten Authentifizierungsfaktors, wie dem zweiten Schlüsselverschlüsselungsschlüssel KEK2 und dem dritten Datenverschlüsselungsschlüssel DEK3, vorzunehmen. Authentifizierungsmechanismen basierend auf einer RFID oder Smart Card oder dergleichen können besonders hilfreich für Speichervorrichtungen sein, die in Mobilsystemen eingehaust sind.
  • Für Authentifizierungsmechanismen, die einen Beacon, ein synchronisiertes Taktsignal oder einen an der Stelle des Rechenzentrums betriebenen Sender verwenden, müsste die Speichervorrichtung 130 periodisch ein Signal von diesen Arten von Vorrichtungen empfangen, damit auf gespeicherte Daten zugegriffen werden kann.
  • Im Falle, dass Wartungsaktivitäten den Standort der Speichervorrichtung 130 oder die Standorterkennungs- und Detektionsmechanismen, die zur Bestimmung des Standorts der Speichervorrichtung zu Authentifizierungszwecken verwendet werden, signifikant ändern, kann ein vom Hostsystem 120 bereitgestellter zweiter Sicherheitsschlüssel verwendet werden, um die Speichervorrichtung zu „übersiedeln“. Um die Speichervorrichtung 130 zu übersiedeln, kann der Satz von Geolokalisierungs-/Geofencing-Parametern und zugeordneten Toleranzen aktualisiert werden, um jegliche Veränderungen aufgrund der Wartungsaktivität zu berücksichtigen.
  • 7 ist ein Blockdiagramm, das veranschaulicht, wie (eine) Bedingung(en) zur Authentifizierung des Standorts der Speichervorrichtung 130 in Ausführungsformen gemäß der Erfindung unter Verwendung von passiver Umweltcharakterisierung festgelegt und angewandt werden können. In diesen Ausführungsformen stellt die zweite Quelle 140 die zweiten Informationen (zweiten Authentifizierungsfaktor) der Speichervorrichtung 130 nicht bereit, wenn die Betriebsumgebung der Speichervorrichtung nicht innerhalb einer gewissen Toleranz mit dem konfigurierten Zustand der Vorrichtung übereinstimmt. Wenn eine oder mehrere der umgebungsbasierten Bedingungen nicht erfüllt sind, dann werden die zweiten Informationen nicht an die Speichervorrichtung weitergegeben, und die Speicherdaten bleiben geschützt, weil sie nicht entschlüsselt werden können. Im Wesentlichen wird in den Ausführungsformen von 7 die Sicherheit der Daten, die auf einer selbstverschlüsselnden Speichervorrichtung, wie der Speichervorrichtung 130, gespeichert sind, verbessert, indem Umgebungsinformationen als erforderliche Eingabe für die Datenverschlüsselungs- und -entschlüsselungsprozesse aufgenommen werden.
  • In der Ausführungsform von 7 umfasst die zweite Quelle 140 ein Modul 702, das Eigenschaften der Betriebsumgebung der Speichervorrichtung 130 überwacht und misst und die gemessene Umgebung mit einem Satz von Umgebungsparametern vergleicht. Wenn die Messungen innerhalb einer vorgeschriebenen Toleranz mit den Parametern übereinstimmen, zeigt dies an, dass die Speichervorrichtung 130 sich an ihrem spezifizierten Standort oder innerhalb einer vorgeschriebenen Entfernung von seinem spezifizierten Standort befindet, z.B. in der Nähe des Hostsystems 120 oder des Rechenzentrums, oder auch in oder innerhalb einer vorgeschriebenen Entfernung von einem autorisierten Standort.
  • Eine Überprüfung des Standorts der Speichervorrichtung 130 durch Umgebungsüberwachung kann durchgeführt werden, wenn die Speichervorrichtung eingeschaltet ist, und für die Dauer der Einschaltzeit der Speichervorrichtung gültig bleiben, oder aber sie kann in periodischen Intervallen wiederholt werden. Wenn sie in periodischen Intervallen erfolgt, dann muss die gemessene Umgebung den festgelegten Umgebungsparametern in jedem Intervall genügen, damit die zweiten Informationen der Speichervorrichtung 130 bereitgestellt werden können. Vorteile des ersten Ansatzes sind, dass dadurch das Risiko, den Effekten von kurzfristigen Umgebungsübergängen ausgesetzt zu sein, verringert wird, während ein Vorteil des zweiten Ansatzes der ist, dass dadurch das Risiko des Missbrauchs reduziert ist. Ein gleitender Durchschnitt kann für langfristige Übergänge verwendet werden. Wenn eine Änderung in einer überwachten Eigenschaft sich zu schnell ändert, werden die zweiten Informationen nicht an die Speichervorrichtung 130 weitergegeben.
  • Ähnlich wie oben in Bezug auf standortbasierte Bedingungen besprochen, können die zweiten Informationen/der zweite Authentifizierungsfaktor Informationen sein, die auf der zweiten Quelle 140 gespeichert sind, oder Informationen, die vom Mechanismus, der für Umgebungscharakterisierung verwendet wird, abgeleitet werden. Werte, die von umgebungsbasierten Informationen abgeleitet sind, können entweder frühzeitig generiert und auf der zweiten Quelle 140 gespeichert werden, oder ad hoc generiert werden, wenn sie von der Speichervorrichtung 130 angefordert werden. Wenn die Werte auf der zweiten Quelle 140 gespeichert sind, können sie verschlüsselt oder verpackt werden.
  • Wie in 7 dargestellt kann auf Umweltmerkmalen basierende Standorterkennung und -detektion durch Überwachen und Messen von Merkmalen wie beispielsweise, ohne Einschränkung, zugeführte Leistung und Leistungsversorgung; HF-Rauschen; Temperatur und Feuchtigkeit; sichtbares, Ultraviolett- und Infrarotlicht; Schall; Hostschnittstellenbasisbandsignal; Magnetfeld; und Impedanz von angeschlossenen Komponenten oder der umliegenden Umhüllung implementiert sein.
  • Eine Basislinie und eine Basislinienänderungsschwelle kann in der Betriebsumgebung festgelegt werden. Gegebenenfalls kann eine Toleranz für jedes Merkmal spezifiziert sein. Als weitere Option kann ein gleitender Mittelwert des überwachten Merkmals für langfristige Übergänge wie oben erwähnt verwendet werden.
  • In dem Fall, dass eine Wartungsaktivität die Betriebsumgebung der Speichervorrichtung 130 signifikant verändert, kann ein zweiter Sicherheitsschlüssel, der vom Hostsystem 120 bereitgestellt wird, verwendet werden um die neue Betriebsumgebung zu charakterisieren oder um die Verwendung des zweiten Authentifikationsfaktors zu deaktivieren, bis die konfigurierte Betriebsumgebung wiederhergestellt ist. Gegebenenfalls kann eine Warnung an eine Bedienungsperson ausgegeben werden, wenn die Umgebung einen Wert erreicht, der außerhalb der zulässigen Toleranzen liegt, sodass die Umgebungsparameter präventiv charakterisiert werden können, um der aktuellen (neuen) Umgebung zu entsprechen.
  • 8 ist ein Blockdiagramm, das zeigt, wie eine oder mehrere Bedingung(en) für die Authentifikation des Standorts der Speichervorrichtung 130 festgelegt werden können und mittels der Verwendung einer/eines physischen Komponente oder Objekts in Ausführungsformen der vorliegenden Erfindung angewandt werden können. In diesen Ausführungsformen stellt die zweite Quelle 140 nicht die zweiten Informationen (zweite Authentifizierungsfaktoren) an die Speichervorrichtung 130 bereit, wenn eine oder mehrere objektbasierte Bedingungen nicht erfüllt sind. Wenn die/das erforderliche physische Komponente oder Objekt nicht vorhanden ist, dann werden die zweiten Informationen nicht an die Speichervorrichtung übermittelt und die gespeicherten Daten bleiben sicher, weil sie nicht entschlüsselt werden können. Das erforderliche Objekt kann einer bestimmten vertrauenswürdigen oder autorisierten Person zugeordnet sein. Somit wird im Wesentlichen in den Ausführungsformen der 8 die Sicherheit der auf einer selbstverschlüsselnden Speichervorrichtung, wie z. B. Speichervorrichtung 130, gespeicherten Daten erhöht, indem sowohl der Hostsicherheitsschlüssel als auch die Gegenwart eines/einer vertrauenswürdigen Objekts oder Person erforderlich ist.
  • In der Ausführungsform aus 8 ist ein/e physisches Objekt oder Komponente 802 physisch mit der zweiten Quelle 140 verbunden (z. B. angesteckt) oder kann eine Schnittstelle mit der zweiten Quelle über eine verdrahtete oder drahtlose Verbindung aufweisen. Alternativ dazu wird die zweite Quelle 140 als Objekt 802 verwendet. Das Objekt 802 kann Informationen umfassen, die es eindeutig als erforderliches Authentifizierungsobjekt identifizieren. Alternativ dazu kann das Objekt 802 die zweiten Informationen/den zweiten Authentifizierungsfaktor, wie z. B. den ersten Teil S1 des zweiten Datenverschlüsselungsschlüssels DEK2 (4), des zweiten Schlüsselverschlüsselungsschlüssels KEK2 (3) oder des dritten Datenverschlüsselungsschlüssels DEK3 (5) umfassen. Das Objekt 802 kann einen Schlüssel bereitstellen, wann immer Daten in der Speichervorrichtung 130 gespeichert werden oder daraus abgerufen werden sollen. Ohne Anwesenheit des Objekts 802 könnten die Daten nicht entschlüsselt werden.
  • Die Anwesenheit des Objekts 802 für Authentifizierungszwecke kann jederzeit, in regelmäßigen Abständen, einmalig beim Einschalten oder auf der Basis von einmal pro Sitzung erforderlich sein. Im ersten Fall kann das Objekt 802 die zweiten Informationen/den zweiten Authentifizierungsfaktor direkt an die geeigneten Module der Speichervorrichtung 130 übertragen, während in den letzteren drei Fällen diese Informationen bis zum Ausschalten oder Ablaufen der Sitzung im zweiten Modul 202 zwischengespeichert werden können.
  • Das Objekt 802 aus 8 kann unter Verwendung eines oder mehrerer Mechanismen implementiert sein, beispielsweise, ohne Einschränkung, einer Smartcard; eines universellen seriellen Bus(USB)-Schlüssel oder Token; einen Codegenerator; einen Trusted-Platform-Module(TPM)-Chip; oder eine Interposervorrichtung, die zwischen der Speichervorrichtung 130 und dem Hostsystem 120 platziert wird.
  • Ein Codegenerator kann über einen einzigartigen Mechanismus des Lieferanten einen Schlüssel an die zweite Quelle 140 oder die Speichervorrichtung 130 übermitteln.
  • Ein TPM-Chip kann in den Laufwerkschacht eingeführt werden, in dem die Speichervorrichtung 130 angebracht ist. Der TPM-Chip kann eine nicht entfernbare Komponente des Laufwerkschachts sein, sodass die Entfernung der Speichervorrichtung 130 aus dem Laufwerkschacht die Speichervorrichtung vom TPM-Chip trennt. Der TPM-Chip kann eine elektrische Schnittstelle mit der Speichervorrichtung 130 aufweisen, beispielsweise über zusätzlich oder ungenutzte Schnittstellenkontakte oder durch Multiplexieren mit einem vorhandenen Signal.
  • Ein Interposer ist im Allgemeinen ein Objekt, das sich zwischen der Speichervorrichtung 130 und dem Hostsystem 120 befindet. Der Interposer ist eine nicht entfernbare Komponente, die mit dem in das Hostsystem 120 eingebaut ist oder permanent mit dem Hostsystem verbunden ist, ohne dass eine Modifikation oder ein Neuentwurf des Hostsystems erforderlich wäre. Der Interposer kann einen flüchtigen Schlüssel enthalten, der gelöscht wird, wenn die Leistung vom Interposer entfernt wird. Der Interposer kann beispielsweise einen TPM-Chip enthalten.
  • Die verschiedenen oben in Verbindung mit 6, 7 und 8 beschriebenen Authentifizierungsmechanismen und Bedingungen können alleine oder in Kombination verwendet werden.
  • 9, 10, 11 und 12 sind Flussdiagramme 900, 1000, 1100 bzw. 1200, die Beispiele von Vorgängen zum Schutz von Daten in einer Speichervorrichtung in Ausführungsformen der vorliegenden Erfindung zeigen.
  • In Block 902 von 9 wird, unter Bezugnahme auf 2, auf einen ersten Datenverschlüsselungsschlüssel W_DEK1 zugegriffen, der in einem Speichermedium 132 auf der Speichervorrichtung 130 gespeichert ist. In einer Ausführungsform ist der erste Datenverschlüsselungsschlüssel W_DEK1 wie zuvor hierin beschrieben verpackt. In einer weiteren Ausführungsform ist der erste Datenverschlüsselungsschlüssel W_DEK1 nicht verpackt.
  • In Block 904 wird ein zweiter Datenverschlüsselungsschlüssel DEK2, der zum Entschlüsseln von Daten verwendet werden kann, die in den Speichermedien 132 auf der Speichervorrichtung 130 gespeichert sind, unter Verwendung des ersten Datenverschlüsselungsschlüssels W_DEK1; eines ersten Schlüsselverschlüsselungsschlüssels KEK1, der aus den ersten Informationen erhalten wird, die vom Hostsystem 120 empfangen werden; und zweiten Informationen (zweiter Authentifizierungsfaktor), die von der zweiten Quelle 140 empfangen werden, generiert. Weitere Informationen in Bezug auf die Vorgänge von Block 904, sind nachstehend unter Bezugnahme auf 10, 11 und 12 beschrieben.
  • In Block 906 werden in einer Ausführungsform die zweiten Informationen als Antwort darauf, das zumindest eine Bedingung erfüllt ist, von der zweite Quelle 140 zur Speichervorrichtung 130 gesendet. Die zumindest eine Bedingung kann eine oder mehrere der folgenden sein (siehe die Erläuterungen zu 6, 7 und 8 oben): Hinweis, dass ein spezifiziertes physisches Objekt mit der Speichervorrichtung verbunden ist; Hinweis, dass sich ein spezifiziertes physisches Objekt innerhalb eines vorgeschriebenen Abstands zur Speichervorrichtung befindet; Hinweis, dass die Speichervorrichtung sich an einem spezifizierten physischen Standort befindet; Hinweis, dass die Speichervorrichtung innerhalb eines vorgeschriebenen Abstands von einem spezifizierten physischen Standort ist; und Hinweis, dass die Betriebsumgebung der Speichervorrichtung innerhalb einer spezifizierten Toleranz an eine Umgebungsbedingung angepasst ist.
  • Unter Bezugnahme auf 3 und 10 wird nun in Block 1002 der zweite Datenverschlüsselungsschlüssel DEK2 mit dem Schlüsselgenerator 310 generiert, der von der Speichervorrichtung 130 ausgeführt wird.
  • In Block 1004 wird der zweite Datenverschlüsselungsschlüssel DEK2 mit dem zweiten Schlüsselverschlüsselungsschlüssel KEK2 verpackt, um eine Zwischenversion des Datenverschlüsselungsschlüssels, I_DEK, zu erzeugen. Der zweite Schlüsselverschlüsselungsschlüssel KEK2 wird von der zweiten Quelle 140 empfangen und stellt die zweiten Informationen dar, die in Block 904 in 9 genannt werden.
  • In Block 1006 von 10 wird in einer Ausführungsform der Zwischendatenverschlüsselungsschlüssel I_DEK mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 verpackt, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels W_DEK1 zu generieren.
  • In Block 1008 wird in einer Ausführungsform der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 in den Speichermedien 132 auf der Speichervorrichtung 130 gespeichert.
  • In Block 1010 wird, um in einer Ausführungsform gespeicherte Daten zu entschlüsseln der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 aus dem Speichermedium 132 ausgelesen und mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 entpackt, um den Zwischendatenverschlüsselungsschlüssel I_DEK zu generieren, der eine verpackte Version des zweiten Datenverschlüsselungsschlüssels DEK2 ist.
  • In Block 1012 wird der Zwischendatenverschlüsselungsschlüssel I_DEK unter Verwendung des zweiten Schlüsselverschlüsselungsschlüssels KEK2 entpackt (die zweiten Informationen werden von der zweiten Quelle 140 empfangen), um den zweiten Datenverschlüsselungsschlüssel DEK2 wiederherzustellen, der zum Entschlüsseln der gespeicherten Daten verwendet werden kann.
  • Unter Bezugnahme auf 4 und 11 wird in Block 1102 der zweite Datenverschlüsselungsschlüssel DEK2 mit einem Schlüsselgenerator 310 generiert.
  • In Block 1104 wird der zweite Datenverschlüsselungsschlüssel DEK2 in einen ersten Teil S1 und einen zweiten Teil S2 geteilt.
  • In Block 1106 wird der zweite Teil S2 in der zweiten Quelle 140 gespeichert. Der zweite Teil S2 stellt die zweiten Informationen dar, die in Block 904 von 9 genannt sind.
  • In Block 1108 von 11 wird in einer Ausführungsform der erste Teil S1 mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 verpackt, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels W_DEK1 zu generieren.
  • In Block 1110 wird in einer Ausführungsform der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 in den Speichermedien 132 auf der Speichervorrichtung 130 gespeichert.
  • In Block 1112 wird, um in einer Ausführungsform gespeicherte Daten zu entschlüsseln, der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 aus dem Speichermedium 132 ausgelesen und mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 entpackt, um den Zwischendatenverschlüsselungsschlüssel I_DEK zu generieren, der den ersten Teil S1 des zweiten Datenverschlüsselungsschlüssels DEK2 darstellt.
  • In Block 1114 werden der zweite Teil S2 (die zweiten Information werden von der zweiten Quelle 140 empfangen) und der erste Teil S1 kombiniert, um den zweiten Datenverschlüsselungsschlüssel DEK2 zu generieren, der verwendet werden kann, um die gespeicherten Daten zu entschlüsseln.
  • Unter Bezugnahme auf 5 und 12 wird in Block 1202 der Zwischendatenverschlüsselungsschlüssel I_DEK mit dem Schlüsselgenerator 310 generiert.
  • In Block 1204 wird in einer Ausführungsform der Zwischendatenverschlüsselungsschlüssel I_DEK mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 verpackt, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels W_DEK1 zu generieren.
  • In Block 1206 wird in einer Ausführungsform der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 in den Speichermedien 132 auf der Speichervorrichtung 130 gespeichert.
  • In Block 1208 wird, um in einer Ausführungsform gespeicherte Daten zu entschlüsseln, der verpackte erste Datenverschlüsselungsschlüssel W_DEK1 aus dem Speichermedium 132 ausgelesen und mit dem ersten Schlüsselverschlüsselungsschlüssel KEK1 entpackt, um den Zwischendatenverschlüsselungsschlüssel I_DEK zu generieren.
  • In Block 1210 wird der Zwischendatenverschlüsselungsschlüssel I_DEK mit dem dritten Datenverschlüsselungsschlüssel DEK3 kombiniert, um den zweiten Datenverschlüsselungsschlüssel DEK2 zu generieren, der verwendet werden kann, um die gespeicherten Daten zu entschlüsseln. Der dritte Datenverschlüsselungsschlüssel DEK3 wird von der zweiten Quelle 140 empfangen und stellt die zweiten Informationen dar, die in Block 904 von 9 genannt sind.
  • Somit verbessern Ausführungsformen gemäß der vorliegenden Erfindung die Sicherheitsmaßnahmen zum Schutz von Daten im Ruhezustand in Szenarien, in denen das Hostsystem beeinträchtigt wird und dessen Sicherheitsschlüssel durch einen Angreifer extrahiert werden, oder in Szenarien, in denen die Speichervorrichtung durch böswillige Firmware, die die Sicherheitsschlüssel des Hostsystems abfängt und speichert, beeinträchtigt und dann die Speichervorrichtung vom Hostsystem oder Datenzentrum entfernt wird. Ausführungsformen gemäß der Erfindung schützen vor diesen Szenarien unter Verwendung eines zweiten Authentifizierungsfaktors, der ein zusätzliches Maß an Schutz gegen sowohl Insider- als auch Outsider-Angriffe bietet. In weiteren Ausführungsformen wird der zweite Authentifizierungsfaktor nicht an die Speichervorrichtung weitergegeben, wenn eine oder mehrere Bedingungen nicht erfüllt sind, was ein weiteres Maß an Sicherheit bereitstellt.
  • Zwar sind in der vorstehenden Offenbarung verschiedene Ausführungsformen unter Verwendung von spezifischen Blockdiagrammen, Flussdiagrammen und Beispiele dargelegt, aber jede Komponente der Blockdiagramme, jeder Schritt der Flussdiagramme, der Vorgang und/oder jede Komponente, die hierin beschrieben und/oder veranschaulicht sind, können individuell und/oder gemeinsam unter Verwendung unterschiedlichster Hardware-, Software- oder Firmwarekonfigurationen (oder jeder beliebigen Kombination davon) umgesetzt werden. Außerdem sollte jegliche Offenbarung von Komponenten, die in anderen Komponenten enthalten sind, nur als Beispiele erachtet werden, weil zahlreiche weitere Architekturen implementiert werden können, um die gleiche Funktionalität zu erreichen.
  • Die hierin beschriebenen und/oder veranschaulichten Prozessparameter und Schrittabfolgen sind lediglich als Beispiele angeführt und können je nach Wunsch variiert werden. Während Schritte hierin beispielsweise in einer bestimmten Reihenfolge veranschaulicht oder beschrieben sind, müssen diese Schritte nicht notwendigerweise in der veranschaulichten oder erläuterten Reihenfolge ausgeführt werden. Die verschiedenen hierin beschrieben und/oder veranschaulichten beispielhaften Verfahren können auch einen oder mehrere der hierin beschriebenen oder veranschaulichten Schritte weglassen oder weitere Schritte zusätzlich zu den offenbarten umfassen.
  • Es wurden zwar hierin im Zusammenhang mit voll funktionsfähigen Rechensystemen verschiedene Ausführungsformen beschrieben und/oder veranschaulicht, eine oder mehrere dieser beispielhaften Ausführungsformen können jedoch als Programmprodukt in verschiedenen Formen verteilt sein, unabhängig von der jeweiligen Art von computerlesbarem Medium, das zur tatsächlichen Ausführung der Verteilung verwendet wird. Die hierin offenbarten Ausführungsformen können auch unter Verwendung von Softwaremodulen implementiert werden, die bestimmte Aufgaben ausführen. Diese Softwaremodule können Skript-, Stapel- oder anderen ausführbare Dateien umfassen, die auf einem computerlesbaren Speichermedium oder in einem Rechensystem gespeichert sein können. Diese Softwaremodule können ein Rechensystem konfigurieren, um eine oder mehrere der hierin offenbarten beispielhaften Ausführungsformen auszuführen. Eine oder mehrere der hierin offenbarten Softwaremodule können in einer Cloud-Rechenumgebung implementiert sein. Cloud-Rechenumgebungen können verschiedene Dienste und Applikationen über das Internet bereitstellen. Auf diese cloudbasierten Dienste (z. B. Speichern als Dienst, Software als Dienst, Plattform als Dienst, Infrastruktur als Dienst usw.) kann über einen Webbrowser oder eine andere Fernschnittstelle zugegriffen werden. Verschiedenen hierin beschriebene Funktionen können durch eine Ferndesktopumgebung oder eine beliebige andere cloudbasierte Rechenvorrichtung bereitgestellt sein.
  • Der Gegenstand wurde zwar in einer Sprache beschrieben, die spezifisch für Strukturmerkmale oder methodologische Vorgänge ist, es versteht sich aber, dass der in der Offenbarung offenbarte Gegenstand nicht notwendigerweise auf die oben beschriebenen spezifischen Merkmale oder Vorgänge eingeschränkt ist. Die oben beschriebenen spezifischen Merkmale und Vorgänge sind als beispielhafte Formen der Implementierung der Offenbarung offenbart.
  • Somit sind Ausführungsformen der Erfindung beschrieben. Die vorliegende Offenbarung wurde zwar in bestimmten Ausführungsformen beschrieben, es sei jedoch darauf hingewiesen, dass die Erfindung nicht als durch solche Ausführungsformen eingeschränkt angesehen werden sollte, sondern gemäß den nachfolgenden Ansprüchen auszulegen ist.

Claims (20)

  1. Verfahren in einer Speichervorrichtung zum Schutz von Daten, die auf der Speichervorrichtung gespeichert sind, wobei das Verfahren Folgendes umfasst: Zugreifen auf einen ersten Datenverschlüsselungsschlüssel, der in Speichermedien auf der Speichervorrichtung gespeichert ist; und Generieren eines zweiten Datenverschlüsselungsschlüssels, der verwendet wird, um Daten, die in den Speichermedien auf der Speichervorrichtung gespeichert sind, zu verschlüsseln und entschlüsseln, unter Verwendung von: dem ersten Datenverschlüsselungsschlüssel, einem ersten Schlüsselverschlüsselungsschlüssel, der aus ersten Informationen, die von einem mit der Speichervorrichtung kommunikativ gekoppelten Hostsystem empfangen werden, und aus zweiten Informationen, die von einer anderen Quelle als dem Hostsystem, die mit der Speichervorrichtung kommunikativ gekoppelt ist, empfangen werden, erhalten wird.
  2. Verfahren nach Anspruch 1, wobei die zweiten Informationen von der Quelle zur Speichervorrichtung als Antwort auf die Erfüllung einer Bedingung gesendet werden.
  3. Verfahren nach Anspruch 2, wobei die Bedingung periodisch überprüft wird und wobei das Verfahren ferner ein Verwerfen des zweiten Datenverschlüsselungsschlüssels umfasst, außer die Bedingung wird erfüllt.
  4. Verfahren nach Anspruch 2, wobei die Bedingung ausgewählt ist aus der Gruppe bestehend aus: Hinweis, dass ein spezifiziertes physisches Objekt auf der Speichervorrichtung befestigt ist; Hinweis, dass sich ein spezifiziertes physisches Objekt in einem vorgeschriebenen Abstand zur Speichervorrichtung befindet; Hinweis, dass die Speichervorrichtung sich an einem spezifizierten physischen Standort befindet; Hinweis, dass die Speichervorrichtung sich innerhalb eines vorgeschriebenen Abstands von einem spezifizierten physischen Standort befindet; und Hinweis, dass die Betriebsumgebung der Speichervorrichtung innerhalb einer spezifizierten Toleranz an eine Umgebungsbedingung angepasst ist.
  5. Verfahren nach Anspruch 1, wobei die zweiten Informationen einen zweiten Schlüsselverschlüsselungsschlüssel umfassen und wobei das Generieren Folgendes umfasst: Entpacken einer verpackten Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel, um einen Zwischendatenverschlüsselungsschlüssel zu generieren, der eine verpackte Version des zweiten Datenverschlüsselungsschlüssels umfasst; und Entpacken des Zwischendatenverschlüsselungsschlüssels unter Verwendung des zweiten Schlüsselverschlüsselungsschlüssels, um den zweiten Datenverschlüsselungsschlüssel zu generieren.
  6. Verfahren nach Anspruch 5, ferner umfassend: Generieren des zweiten Datenverschlüsselungsschlüssels mit einem Schlüsselgenerator, der durch die Speichervorrichtung ausgeführt wird, wobei der zweite Datenverschlüsselungsschlüssel verwendet wird, um die auf Speichermedien auf der Speichervorrichtung geschriebenen Daten zu verschlüsseln; Verpacken des zweiten Datenverschlüsselungsschlüssels mit dem zweiten Schlüsselverschlüsselungsschlüssel und mit dem ersten Schlüsselverschlüsselungsschlüssel, um die verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren; und Speichern der verpackten Version des ersten Datenverschlüsselungsschlüssels in den Speichermedien auf der Speichervorrichtung.
  7. Verfahren nach Anspruch 1, wobei das Generieren Folgendes umfasst: Entpacken einer verpackten Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel, um einen Zwischendatenverschlüsselungsschlüssel zu generieren, der einen ersten Teil des zweiten Datenverschlüsselungsschlüssels umfasst, wobei die zweiten Informationen einen zweiten Teil des zweiten Datenverschlüsselungsschlüssels umfassen; und Kombinieren des ersten Teils und des zweiten Teils, um den zweiten Datenverschlüsselungsschlüssel zu generieren.
  8. Verfahren nach Anspruch 7, ferner umfassend: Generieren des zweiten Datenverschlüsselungsschlüssels mit einem Schlüsselgenerator, der durch die Speichervorrichtung ausgeführt wird, wobei der zweite Datenverschlüsselungsschlüssel verwendet wird, um Daten zu verschlüsseln, die auf Speichermedien auf der Speichervorrichtung geschrieben sind; Teilen des zweiten Datenverschlüsselungsschlüssels in den ersten Teil und den zweiten Teil; Speichern des zweiten Teils auf der Quelle; Verpacken des ersten Teils mit dem ersten Schlüsselverschlüsselungsschlüssel, um die verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren; und Speichern der verpackten Version des ersten Datenverschlüsselungsschlüssels in den Speichermedien auf der Speichervorrichtung.
  9. Verfahren nach Anspruch 1, wobei die zweiten Informationen einen dritten Datenverschlüsselungsschlüssel umfassen und wobei das Generieren Folgendes umfasst: Entpacken einer verpackten Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel, um einen Zwischendatenverschlüsselungsschlüssel zu generieren; und Kombinieren des Zwischendatenverschlüsselungsschlüssels und des dritten Datenverschlüsselungsschlüssels, um den zweiten Datenverschlüsselungsschlüssel zu generieren.
  10. Verfahren nach Anspruch 9, ferner umfassend: Generieren des Zwischendatenverschlüsselungsschlüssels mit einem Schlüsselgenerator, der durch die Speichervorrichtung ausgeführt wird; Verpacken des Zwischendatenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel, um die verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren; und Speichern der verpackten Version des ersten Datenverschlüsselungsschlüssels in den Speichermedien auf der Speichervorrichtung.
  11. System, umfassend: einen Host, umfassend: einen Prozessor; und Speicher, der mit dem Prozessor gekoppelt ist; und eine Speichervorrichtung, die mit dem Host gekoppelt ist; wobei die Speichervorrichtung konfiguriert ist, um auf einen ersten Datenverschlüsselungsschlüssel zuzugreifen, der in den Speichermedien gespeichert ist, und um unter Verwendung des ersten Datenverschlüsselungsschlüssels und eines ersten Schlüsselverschlüsselungsschlüssels, der aus ersten, vom Host empfangenen Informationen erhalten wird, einen Zwischendatenverschlüsselungsschlüssel zu generieren; und wobei die Speichervorrichtung ferner konfiguriert ist, um unter Verwendung des Zwischendatenverschlüsselungsschlüssels und zweiten Informationen, die von einer Quelle empfangen werden, die mit der Speichervorrichtung kommunikativ gekoppelt ist und die den Host umgeht, wenn sie mit der Speichervorrichtung kommuniziert, einen zweiten Datenverschlüsselungsschlüssel zu generieren, wobei der zweite Datenverschlüsselungsschlüssel verwendet wird, um Daten, die in den Speichermedien auf der Speichervorrichtung gespeichert sind, zu entschlüsseln.
  12. System nach Anspruch 11, wobei die zweiten Informationen als Antwort auf die Erfüllung einer Bedingung von der Quelle zur Speichervorrichtung gesendet werden, wobei die Bedingung ausgewählt ist aus der Gruppe bestehend aus: Hinweis, dass ein spezifiziertes physisches Objekt auf der Speichervorrichtung befestigt ist; Hinweis, dass sich ein spezifiziertes physisches Objekt in einem vorgeschriebenen Abstand zur Speichervorrichtung befindet; Hinweis, dass die Speichervorrichtung sich an einem spezifizierten physischen Standort befindet; Hinweis, dass die Speichervorrichtung sich innerhalb eines vorgeschriebenen Abstands von einem spezifizierten physischen Standort befindet; und Hinweis, dass die Betriebsumgebung der Speichervorrichtung innerhalb einer spezifizierten Toleranz an eine Umgebungsbedingung angepasst ist.
  13. System nach Anspruch 11, wobei die zweiten Informationen einen zweiten Schlüsselverschlüsselungsschlüssel umfassen und der Zwischendatenverschlüsselungsschlüssel eine verpackte Version des zweiten Datenverschlüsselungsschlüssels umfasst, wobei die Speichervorrichtung konfiguriert ist, um den Zwischendatenverschlüsselungsschlüssel unter Verwendung des zweiten Schlüsselverschlüsselungsschlüssels zu entpacken, um den zweiten Datenverschlüsselungsschlüssel zu generieren; wobei die Speichervorrichtung ferner konfiguriert ist, um den zweiten Datenverschlüsselungsschlüssel zu generieren, um den zweiten Datenverschlüsselungsschlüssel mit dem zweiten Schlüsselverschlüsselungsschlüssel zu verpacken, um den Zwischendatenverschlüsselungsschlüssel zu generieren, und um den Zwischendatenverschlüsselungsschlüssel mit dem ersten Schlüsselverschlüsselungsschlüssel zu verpacken, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, wobei die verpackte Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt wird, um den Zwischendatenverschlüsselungsschlüssel zu generieren.
  14. System nach Anspruch 11, wobei der Zwischendatenverschlüsselungsschlüssel einen ersten Teil des zweiten Datenverschlüsselungsschlüssels umfasst und die zweiten Informationen einen zweiten Teil des zweiten Datenverschlüsselungsschlüssels umfassen, wobei die Speichervorrichtung ferner konfiguriert ist, um den ersten Teil und den zweiten Teil zu kombinieren, um den zweiten Datenverschlüsselungsschlüssel zu generieren; wobei die Speichervorrichtung ferner konfiguriert ist, um den zweiten Datenverschlüsselungsschlüssel zu generieren, um den zweiten Datenverschlüsselungsschlüssel in den ersten Teil und den zweiten Teil zu teilen, und um den ersten Teil mit dem ersten Schlüsselverschlüsselungsschlüssel zu verpacken, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, wobei die verpackten Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt wird, um den Zwischendatenverschlüsselungsschlüssel zu generieren.
  15. System nach Anspruch 11, wobei die zweiten Informationen einen dritten Datenverschlüsselungsschlüssel umfassen, wobei die Speichervorrichtung ferner konfiguriert ist, um den Zwischendatenverschlüsselungsschlüssel und den dritten Datenverschlüsselungsschlüssel zu kombinieren, um den zweiten Datenverschlüsselungsschlüssel zu generieren; wobei die Speichervorrichtung ferner konfiguriert ist, um den zweiten Datenverschlüsselungsschlüssel zu generieren und um den zweiten Datenverschlüsselungsschlüssel mit dem ersten Schlüsselverschlüsselungsschlüssel zu verpacken, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, wobei die verpackte Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt wird, um den Zwischendatenverschlüsselungsschlüssel zu generieren.
  16. Speichervorrichtung, umfassend: ein erstes Modul; ein zweites Modul, das mit dem ersten Modul gekoppelt ist; und Speichermedien, die mit dem ersten Modul gekoppelt sind; wobei das erste Modul betätigbar ist, um auf einen ersten Datenverschlüsselungsschlüssel, der in den Speichermedien gespeichert ist, zuzugreifen, und um unter Verwendung des ersten Datenverschlüsselungsschlüssels und eines ersten Schlüsselverschlüsselungsschlüssels, der aus ersten Informationen, die von einem mit der Speichervorrichtung kommunikativ gekoppelten Hostsystem empfangen werden, erhalten wird, einen Zwischendatenverschlüsselungsschlüssel zu generieren; und wobei das zweite Modul betätigbar ist, um unter Verwendung des Zwischendatenverschlüsselungsschlüssels und zweiter Informationen, die von einer Quelle die mit der Speichervorrichtung kommunikativ gekoppelt ist und das Hostsystem umgeht, wenn sie mit der Speichervorrichtung kommuniziert, empfangen werden, einen zweiten Datenverschlüsselungsschlüssel zu generieren, wobei der zweite Datenverschlüsselungsschlüssel verwendet wird, um Daten, die in den Speichermedien auf der Speichervorrichtung gespeichert sind, zu entschlüsseln.
  17. Speichervorrichtung nach Anspruch 16, wobei die zweiten Informationen als Antwort auf die Erfüllung einer Bedingung von der Quelle zur Speichervorrichtung gesendet werden, wobei die Bedingung ausgewählt ist aus der Gruppe bestehend aus: Hinweis, dass ein spezifiziertes physisches Objekt auf der Speichervorrichtung befestigt ist; Hinweis, dass sich ein spezifiziertes physisches Objekt in einem vorgeschriebenen Abstand zur Speichervorrichtung befindet; Hinweis, dass die Speichervorrichtung sich an einem spezifizierten physischen Standort befindet; Hinweis, dass die Speichervorrichtung sich innerhalb eines vorgeschriebenen Abstands von einem spezifizierten physischen Standort befindet; und Hinweis, dass die Betriebsumgebung der Speichervorrichtung innerhalb einer spezifizierten Toleranz an eine Umgebungsbedingung angepasst ist.
  18. Speichervorrichtung nach Anspruch 16, wobei die zweiten Informationen einen zweiten Schlüsselverschlüsselungsschlüssel umfassen und wobei der Zwischendatenverschlüsselungsschlüssel eine verpackte Version des zweiten Datenverschlüsselungsschlüssels umfasst, wobei das zweite Modul betätigbar ist, um unter Verwendung des zweiten Schlüsselverschlüsselungsschlüssels zur Wiederherstellung des zweiten Datenverschlüsselungsschlüssels den Zwischendatenverschlüsselungsschlüssel zu entpacken; wobei die Speichervorrichtung ferner ein drittes Modul umfasst, das mit dem zweiten Modul gekoppelt und betätigbar ist, um den zweiten Datenverschlüsselungsschlüssel zu generieren, wobei das zweite Modul ferner betätigbar ist, um den zweiten Datenverschlüsselungsschlüssel mit dem zweiten Schlüsselverschlüsselungsschlüssel zu entpacken, um den Zwischendatenverschlüsselungsschlüssel zu generieren, und wobei das erste Modul ferner betätigbar ist, um den Zwischendatenverschlüsselungsschlüssel mit dem ersten Schlüsselverschlüsselungsschlüssel zu verpacken, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, wobei die verpackte Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt wird, um den Zwischendatenverschlüsselungsschlüssel zu generieren.
  19. Speichervorrichtung nach Anspruch 16, wobei die zweiten Informationen einen ersten Teil des zweiten Datenverschlüsselungsschlüssels umfassen und wobei der Zwischendatenverschlüsselungsschlüssel einen zweiten Teil des zweiten Datenverschlüsselungsschlüssels umfasst, wobei das zweite Modul ferner betätigbar ist, um den ersten Teil und den zweiten Teil zu kombinieren, um den zweiten Datenverschlüsselungsschlüssel wiederherzustellen; wobei die Speichervorrichtung ferner ein drittes Modul umfasst, das mit dem zweiten Modul gekoppelt und betätigbar ist, um den zweiten Datenverschlüsselungsschlüssel zu generieren, wobei das zweite Modul ferner betätigbar ist, um den zweiten Datenverschlüsselungsschlüssel in den ersten Teil und den zweiten Teil zu teilen, und wobei das erste Modul ferner betätigbar ist, um den zweiten Teil mit dem ersten Schlüsselverschlüsselungsschlüssel zu verpacken, um eine verpackte Version des verpackten ersten Datenverschlüsselungsschlüssels zu generieren, wobei die verpackte Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt wird, um den Zwischendatenverschlüsselungsschlüssel zu generieren.
  20. Speichervorrichtung nach Anspruch 16, wobei die zweiten Informationen einen dritten Datenverschlüsselungsschlüssel umfassen, wobei das zweite Modul ferner betätigbar ist, um den Zwischendatenverschlüsselungsschlüssel und den dritten Datenverschlüsselungsschlüssel zu kombinieren, um den zweiten Datenverschlüsselungsschlüssel zu generieren; wobei die Speichervorrichtung ferner ein drittes Modul umfasst, das mit dem zweiten Modul gekoppelt und betätigbar ist, um den zweiten Datenverschlüsselungsschlüssel zu generieren, wobei das erste Modul ferner betätigbar ist, um den Zwischendatenverschlüsselungsschlüssel mit dem ersten Schlüsselverschlüsselungsschlüssel zu verpacken, um eine verpackte Version des ersten Datenverschlüsselungsschlüssels zu generieren, wobei die verpackte Version des ersten Datenverschlüsselungsschlüssels mit dem ersten Schlüsselverschlüsselungsschlüssel entpackt wird, um den Zwischendatenverschlüsselungsschlüssel zu generieren.
DE102017104075.7A 2016-06-28 2017-02-27 Schützen von daten auf einer speichervorrichtung Active DE102017104075B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/195,371 US20170372085A1 (en) 2016-06-28 2016-06-28 Protecting data in a storage device
US15/195,371 2016-06-28

Publications (2)

Publication Number Publication Date
DE102017104075A1 true DE102017104075A1 (de) 2017-12-28
DE102017104075B4 DE102017104075B4 (de) 2022-07-21

Family

ID=60579531

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017104075.7A Active DE102017104075B4 (de) 2016-06-28 2017-02-27 Schützen von daten auf einer speichervorrichtung

Country Status (4)

Country Link
US (1) US20170372085A1 (de)
KR (1) KR20180001998A (de)
CN (1) CN107547198A (de)
DE (1) DE102017104075B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032259B1 (en) * 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US10877806B2 (en) * 2017-06-14 2020-12-29 Intel Corporation Method and apparatus for securely binding a first processor to a second processor
JP6371017B1 (ja) * 2018-01-12 2018-08-08 株式会社アドイン研究所 情報処理システム、情報処理方法及びプログラム
US11349643B2 (en) * 2018-11-09 2022-05-31 International Business Machines Corporation Techniques for using local key management in a data storage system
KR102192330B1 (ko) * 2018-12-10 2020-12-17 주식회사 시티캣 보안단말기를 이용한 저장장치의 데이터 보안 관리 시스템 및 방법
US11387997B2 (en) 2019-02-07 2022-07-12 Red Hat, Inc. Constrained key derivation in geographical space
US11329812B2 (en) * 2019-02-07 2022-05-10 Red Hat, Inc. Constrained key derivation in miscellaneous dimensions
US11438150B2 (en) 2019-02-07 2022-09-06 Red Hat, Inc. Constrained key derivation in linear space
US11784809B2 (en) * 2019-02-07 2023-10-10 Red Hat, Inc. Constrained key derivation in temporal space
US20210083858A1 (en) * 2019-09-13 2021-03-18 International Business Machines Corporation Crypto-erasure via internal and/or external action
US11469885B2 (en) * 2020-01-09 2022-10-11 Western Digital Technologies, Inc. Remote grant of access to locked data storage device
KR20220124452A (ko) * 2021-03-03 2022-09-14 삼성전자주식회사 스토리지 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659617A (en) * 1994-09-22 1997-08-19 Fischer; Addison M. Method for providing location certificates
JP2002108710A (ja) * 2000-07-24 2002-04-12 Sony Corp 情報処理システム、情報処理方法、および情報処理装置、並びにプログラム提供媒体
US8972589B2 (en) * 2002-03-01 2015-03-03 Enterasys Networks, Inc. Location-based access control in a data network
US8386797B1 (en) 2002-08-07 2013-02-26 Nvidia Corporation System and method for transparent disk encryption
WO2007149977A2 (en) * 2006-06-21 2007-12-27 Rf Code, Inc. Location-based security, privacy, access control and monitoring system
US20080126808A1 (en) * 2006-07-05 2008-05-29 Cms Products, Inc. Encrypted dataset access by custodians
US20080063198A1 (en) * 2006-09-07 2008-03-13 Jaquette Glen A Storing EEDKS to tape outside of user data area
CN100487715C (zh) * 2007-01-12 2009-05-13 深圳兆日技术有限公司 一种数据安全存储系统和装置及方法
EP2122900A4 (de) * 2007-01-22 2014-07-23 Spyrus Inc Tragbares datenverschlüsselungsgerät mit konfigurierbaren sicherheitsfunktionen und verfahren zur dateienverschlüsselung
US8824686B1 (en) * 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US8171309B1 (en) * 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US20090249081A1 (en) * 2008-03-31 2009-10-01 Kabushiki Kaisha Toshiba-1 Shibaura 1-Chomominatoku Storage device encryption and method
US9191200B1 (en) * 2010-10-07 2015-11-17 L-3 Communications Corp. System and method for changing the security level of a communications terminal during operation
US8635464B2 (en) * 2010-12-03 2014-01-21 Yacov Yacobi Attribute-based access-controlled data-storage system
US8862889B2 (en) * 2011-07-02 2014-10-14 Eastcliff LLC Protocol for controlling access to encryption keys
KR101878682B1 (ko) * 2011-11-14 2018-07-18 삼성전자주식회사 컨텐츠를 보호하기 위한 방법 및 저장 매체
US9270451B2 (en) * 2013-10-03 2016-02-23 Globalfoundries Inc. Privacy enhanced spatial analytics
CN105069377A (zh) * 2015-08-21 2015-11-18 清华大学 安全硬盘

Also Published As

Publication number Publication date
DE102017104075B4 (de) 2022-07-21
US20170372085A1 (en) 2017-12-28
CN107547198A (zh) 2018-01-05
KR20180001998A (ko) 2018-01-05

Similar Documents

Publication Publication Date Title
DE102017104075B4 (de) Schützen von daten auf einer speichervorrichtung
DE112016003280B4 (de) Systeme und verfahren zur überwachung eines betriebssystems eines drahtlosen kommunikationsgerätes auf unautorisierte modifikationen
DE102015215120B4 (de) Verfahren zur verwendung einer vorrichtung zum entriegeln einer weiteren vorrichtung
CN106452770B (zh) 一种数据加密方法、解密方法、装置和系统
DE102018101307A1 (de) Techniken für SGX-Enklaven-Fernauthentifizierung
DE102016226311A1 (de) Authentifizierung eines lokalen gerätes
DE112016004274B4 (de) Systeme und Verfahren zur Datenverlustvermeidung unter Wahrung von Vertraulichkeit
DE102018129420A1 (de) Indirektionsverzeichnis für den kryptografischen speicherschutz
DE102017201271A1 (de) Sichere verbindungen für niedrigenergie-geräte
DE102011051498A1 (de) Gesicherter Zugriff auf Daten in einem Gerät
US8977857B1 (en) System and method for granting access to protected information on a remote server
CH709936B1 (de) System und Verfahren für das kryptographische Suite-Management.
DE112005003479T5 (de) Ein Verfahren zum Realisieren einer Netzzugriffsauthentifizierung
DE112019001441T5 (de) Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem
DE112013004444T5 (de) Verfahren und Vorrichtung zum Verwalten von Daten in einem sicheren Element
DE102018203482A1 (de) Vertrauliche Verifikation von FPGA-Code
EP4016338A1 (de) Zugriffskontrolle auf in einer cloud gespeicherte daten
CA3083722A1 (en) Re-encrypting data on a hash chain
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
CN108616516A (zh) 一种基于多种加密算法的第三方明文口令校验方法
EP4109820A2 (de) Verfahren und systeme zur datenverarbeitung, elektronische vorrichtung und speichermedium
CN107493278B (zh) 一种双向加密webshell的访问方法及装置
WO2016116282A1 (de) Verteiltes bearbeiten eines produkts auf grund von zentral verschlüsselt gespeicherten daten
EP3672142A1 (de) Verfahren und system zur sicheren übertragung eines datensatzes
DE102014207704A1 (de) Verfahren und systeme zur gesicherten authentifizierung von anwendungen in einem netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE

R020 Patent grant now final