DE112020000268T5 - Sichere protokollierung von ereignissen der datenspeicherungsvorrichtungen - Google Patents

Sichere protokollierung von ereignissen der datenspeicherungsvorrichtungen Download PDF

Info

Publication number
DE112020000268T5
DE112020000268T5 DE112020000268.3T DE112020000268T DE112020000268T5 DE 112020000268 T5 DE112020000268 T5 DE 112020000268T5 DE 112020000268 T DE112020000268 T DE 112020000268T DE 112020000268 T5 DE112020000268 T5 DE 112020000268T5
Authority
DE
Germany
Prior art keywords
key
data
log
public key
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020000268.3T
Other languages
English (en)
Inventor
Brian Edward MASTENBROOK
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.)
SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US
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 DE112020000268T5 publication Critical patent/DE112020000268T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Diese Offenbarung bezieht sich auf eine Datenspeicherungsvorrichtung, die aufweist: ein nichtflüchtiges Speicherungsmedium, das dazu eingerichtet ist, um Benutzerinhaltsdaten zu speichern, und einen nichtflüchtigen Datenspeicher, der dazu eingerichtet ist, um einen ersten Protokolleintrag zu speichern, der erste Protokolldaten aufweist, die unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels verschlüsselt sind; einen zweiten öffentlichen Schlüssel, der sich von dem ersten öffentlichen Schlüssel unterscheidet; und einen zweiten Protokolleintrag. Der zweite Protokolleintrag weist den ersten öffentlichen Schlüssel und zweite Protokolldaten auf, die unter Verwendung des zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels verschlüsselt sind.

Description

  • TECHNISCHES GEBIET
  • Diese Offenbarung betrifft eine sichere Protokollierung von Ereignissen in einer Datenspeicherungsvorrichtung.
  • HINTERGRUND
  • Datenspeicherungsvorrichtungen, wie Solid-State-Laufwerke (SSDs) und Festplattenlaufwerke (HDDs), stellen Funktionalität bereit, die über die bloße Speicherung von Daten hinausgeht. Einige dieser Datenspeicherungsvorrichtungen stellen Selbstüberwachungs-, Analyse- und Berichtstechnologie (SMART) und Selbstverschlüsselung bereit. Darüber hinaus bieten Betriebssysteme von Host-Computersystemen (an die die Datenspeicherungsvorrichtungen angeschlossen sind) aufwendige Protokollierungssysteme zur Aufzeichnung von Ereignissen, die innerhalb der Betriebssysteme aufgetreten sind. Dies ermöglicht es einem Systemadministrator zu einem späteren Zeitpunkt, die Ereignisse zu überprüfen und die Ursache eines Fehlers oder einer Fehlfunktion zu bestimmen. Zum Beispiel können Befehle, die dem Small Computer System Interface (SCSI) -Standard oder dem Advanced Technology Attachment-Standard (ATA-Standard) entsprechen, Ausnahmen generieren, die dann als Ereignisse in einem Systemprotokoll aufgezeichnet werden. Ferner kann die Verbindung und Aufzählung von Universal Serial Bus (USB) Datenspeicherungsvorrichtungen aufgezeichnet werden. Ferner kann auf SMART-Protokolle durch Diagnosesoftwarewerkzeuge zugegriffen werden, die SMART-Informationen von der Datenspeicherungsvorrichtung durch ATA- oder SCSI-Befehle abrufen.
  • Der Zugriff auf das Systemprotokoll oder die SMART-Protokollierung ATA/SCSI-Befehle wird üblicherweise dadurch gesteuert, dass das Betriebssystem ein rollenbasiertes Zugriffsmodell bereitstellt, wobei bestimmte Benutzer Administratorrollen oder Rechte haben, die es diesen Benutzern ermöglichen, auf diese Protokolle zuzugreifen. Für externe Datenspeicherungsvorrichtungen, wie USB-Laufwerke, ist es jedoch schwierig, ein solches rollenbasiertes Modell zu verwenden, da diese externen Datenspeicherungsvorrichtungen mit vielen unterschiedlichen Host-Computersystemen mit unterschiedlichen Installationen von Betriebssystemen und unterschiedlichen Benutzern mit unterschiedlichen Rollen verbunden werden können. Daher ist es schwierig, den Zugriff auf Protokolle, die sich auf die Datenspeicherungsvorrichtung beziehen, sicher zu verwalten.
  • KURZDARSTELLUNG
  • Diese Offenbarung betrifft eine Datenspeicherungsvorrichtung, wie, aber nicht beschränkt auf, eine Blockdatenspeicherungsvorrichtung, die über ein USB-Kabel mit einem Host-Computersystem verbunden werden kann, sodass sich die Datenspeicherungsvorrichtung als Massendatenspeichervorrichtung bei dem Betriebssystem des Host-Computersystems registriert. Die Datenspeicherungsvorrichtung ist gesperrt, sodass das Host-Computersystem nicht auf Daten zugreifen kann, die in der Datenspeicherungsvorrichtung gespeichert sind. Ein Benutzer kann jedoch die Datenspeicherungsvorrichtung entsperren, indem er eine autorisierte Vorrichtung verwendet, die zum Entsperren der Datenspeicherungsvorrichtung eingerichtet ist.
  • Hierin offenbart ist eine Datenspeicherungsvorrichtung, aufweisend ein nichtflüchtiges Speicherungsmedium, das dazu eingerichtet ist, Benutzerinhaltsdaten zu speichern, und einen nichtflüchtigen Datenspeicher, der dazu eingerichtet ist, einen ersten Protokolleintrag zu speichern, der erste Protokolldaten aufweist, die unter Verwendung eines von einem ersten öffentlichen Schlüssel und einem entsprechenden ersten privaten Schlüssel verschlüsselt sind; einen zweiten öffentlichen Schlüssel, der sich von dem ersten öffentlichen Schlüssel unterscheidet; und einen zweiten Protokolleintrag, aufweisend: den ersten öffentlichen Schlüssel und zweite Protokolldaten, die unter Verwendung des zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels verschlüsselt sind.
  • In einigen Ausführungsformen weist die Datenspeicherungsvorrichtung weiterhin eine Steuerung auf, die dazu eingerichtet ist, um den ersten Protokolleintrag und den zweiten Protokolleintrag zu erzeugen.
  • In einigen Ausführungsformen ist die Steuerung weiterhin dazu eingerichtet, den zweiten öffentlichen Schlüssel und den entsprechenden zweiten privaten Schlüssel zu generieren; die zweiten Protokolldaten unter Verwendung des zweiten privaten Schlüssels zu verschlüsseln; den zweiten öffentlichen Schlüssel zu speichern; und den zweiten privaten Schlüssels zu verwerfen.
  • In einigen Ausführungsformen ist der Datenspeicher weiterhin dazu eingerichtet, einen einzelnen öffentlichen Protokollierungsschlüssel für den ersten Protokolleintrag und den zweiten Protokolleintrag zu speichern, wobei der öffentliche Protokollierungsschlüssel als Reaktion darauf zugänglich ist, eine autorisierte Vorrichtung mit der Datenspeicherungsvorrichtung verbunden ist, und die Steuerung weiterhin dazu eingerichtet ist, die zweiten Protokolldaten unter Verwendung des öffentlichen Protokollierungsschlüssels und des zweiten privaten Schlüssels zu verschlüsseln.
  • In einigen Ausführungsformen weist das Verschlüsseln der zweiten Protokolldaten das Bestimmen eines Geheimnisses basierend auf Elliptische-Kurven-Kryptographie unter Verwendung des öffentlichen Protokollierungsschlüssels und des zweiten geheimen Schlüssels auf.
  • In einigen Ausführungsformen ist der Datenspeicher weiterhin dazu eingerichtet, einen geheimen Protokollierungsschlüssel zu speichern, der dem öffentlichen Protokollierungsschlüssel entspricht.
  • In einigen Ausführungsformen ist der geheime Protokollierungsschlüssel verschlüsselt und als Reaktion darauf zugänglich, dass eine Managervorrichtung mit der Datenspeicherungsvorrichtung verbunden ist.
  • In einigen Ausführungsformen wird der geheime Protokollierungsschlüssel unter Verwendung eines Managerschlüssels verschlüsselt.
  • In einigen Ausführungsformen ist die Steuerung weiterhin dazu eingerichtet, die zweiten Protokolldaten unter Verwendung des geheimen Protokollierungsschlüssels und des zweiten öffentlichen Schlüssels, die auf dem Datenspeicher gespeichert sind, zu entschlüsseln.
  • In einigen Ausführungsformen ist die Steuerung weiterhin dazu eingerichtet, die ersten Protokolldaten unter Verwendung des geheimen Protokollierungsschlüssels und des ersten öffentlichen Schlüssels, die in dem zweiten Protokolleintrag gespeichert sind, zu entschlüsseln.
  • In einigen Ausführungsformen weist das Entschlüsseln der zweiten Protokolldaten das Bestimmen eines Geheimnisses basierend auf Elliptische-Kurven-Kryptographie unter Verwendung des geheimen Protokollierungsschlüssels und des zweiten öffentlichen Schlüssels auf.
  • In einigen Ausführungsformen ist der erste Protokolleintrag unter Verwendung des ersten privaten Schlüssels verschlüsselt; und der zweite Protokolleintrag ist unter Verwendung des zweiten privaten Schlüssels verschlüsselt.
  • In einigen Ausführungsformen sind der erste private Schlüssel und der erste öffentliche Schlüssel für den ersten Protokolleintrag eindeutig; und der zweite private Schlüssel und der zweite öffentliche Schlüssel sind für den zweiten Protokolleintrag eindeutig.
  • In einigen Ausführungsformen wird der zweite öffentliche Schlüssel getrennt von dem ersten Protokolleintrag und dem zweiten Protokolleintrag gespeichert.
  • In einigen Ausführungsformen ist der Datenspeicher weiterhin dazu eingerichtet, einen nächsten Protokolleintragszeiger zu speichern, der einen Speicherungsort des zweiten Protokolleintrags angibt; und einen anfänglichen Protokolleintragszeiger, der einen Speicherungsort eines anfänglichen Protokolleintrags angibt.
  • In einigen Ausführungsformen ist der anfängliche Protokolleintragszeiger verschlüsselt und als Reaktion darauf zugänglich, dass eine Managervorrichtung mit der Datenspeicherungsvorrichtung verbunden ist.
  • In einigen Ausführungsformen wird der erste öffentliche Schlüssel zusammen mit den zweiten Protokolldaten verschlüsselt.
  • In einigen Ausführungsformen weist die Datenspeicherungsvorrichtung einen Datenpfad auf, aufweisend: einen Datenport, der eingerichtet ist, um Daten zwischen einem Host-Computersystem und der Datenspeicherungsvorrichtung zu übertragen, die sich bei dem Host-Computersystem als eine Blockspeichervorrichtung registriert; eine Kryptographiemaschine, die zwischen den Datenanschluss und das Speicherungsmedium geschaltet ist und dazu eingerichtet ist, einen kryptographischen Schlüssel zu verwenden, um die verschlüsselten Benutzerinhaltsdaten, die in dem Speicherungsmedium gespeichert sind, als Antwort auf eine Anforderung von dem Host-Computersystem zu entschlüsseln; und einen Autorisierungsdatenspeicher, der dazu eingerichtet ist, mehrere Einträge zu speichern, die Autorisierungsdaten aufweisen, die jeweiligen mehreren Vorrichtungen zugeordnet sind; und eine Zugangssteuerung, die dazu eingerichtet ist, von einer der mehreren Vorrichtungen einen öffentlichen Schlüssel zu empfangen, der mit einem privaten Schlüssel zugeordnet ist, der auf der einen der mehreren Vorrichtungen gespeichert ist; basierend auf dem öffentlichen Schlüssel, eine Rolle der Managervorrichtung oder autorisierten Vorrichtung zu bestimmen; als Reaktion auf das Bestimmen der Rolle der autorisierten Vorrichtung, das Erzeugen von Protokolleinträgen und Beschränken des Lesens von Protokolleinträgen zu erlauben; und als Reaktion auf das Bestimmen der Rolle der Managervorrichtung das Lesen von Protokolleinträgen zu erlauben.
  • Hierin offenbart ist ein Verfahren zur Protokollierung an einer Datenspeicherungsvorrichtung. Das Verfahren weist das Erzeugen erster Protokolldaten; Verschlüsseln der ersten Protokolldaten unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels; Speichern eines ersten Protokolleintrags, aufweisend erste Protokolldaten, die unter Verwendung des einen des ersten öffentlichen Schlüssels und des entsprechenden ersten privaten Schlüssels verschlüsselt wurden; Speichern eines zweiten öffentlichen Schlüssels, der sich von dem ersten öffentlichen Schlüssel unterscheidet; Erzeugen von zweiten Protokolldaten; Verschlüsseln der zweiten Protokolldaten unter Verwendung eines zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels; und Speichern eines zweiten Protokolleintrags auf, wobei der zweite Protokolleintrag den ersten öffentlichen Schlüssel und die zweiten Protokolldaten, die unter Verwendung des zweiten öffentlichen Schlüssels und/oder des entsprechenden zweiten privaten Schlüssels verschlüsselt sind, aufweist.
  • Hierin offenbart ist eine Datenspeicherungsvorrichtung, die Mittel zum Erzeugen erster Protokolldaten aufweist; Mittel zum Verschlüsseln der ersten Protokolldaten unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels; Mittel zum Speichern eines ersten Protokolleintrags, der die ersten Protokolldaten aufweist, die unter Verwendung des ersten öffentlichen Schlüssels und/oder des entsprechenden ersten privaten Schlüssels verschlüsselt wurden; Mittel zum Speichern eines zweiten öffentlichen Schlüssels, der sich von dem ersten öffentlichen Schlüssel unterscheidet; Mittel zum Erzeugen von zweiten Protokolldaten; Mittel zum Verschlüsseln der zweiten Protokolldaten unter Verwendung eines zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels; und Mittel zum Speichern eines zweiten Protokolleintrags, wobei der zweite Protokolleintrag den ersten öffentlichen Schlüssel und die zweiten Protokolldaten aufweist, die unter Verwendung des zweiten öffentlichen Schlüssels und/oder des entsprechenden zweiten privaten Schlüssels verschlüsselt sind.
  • Figurenliste
  • Ein nicht einschränkendes Beispiel wird nun unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 veranschaulicht eine Datenspeicherungsvorrichtung gemäß einer Ausführungsform;
    • 2 veranschaulicht einen Abschnitt des Einrichtungsspeichers der Datenspeicherungsvorrichtung aus 1, gemäß einer Ausführungsform.
    • 3 veranschaulicht einen Steuerungsablauf zwischen der autorisierten Vorrichtung und der Zugangssteuerung von 1 gemäß einer Ausführungsform.
    • 4 veranschaulicht ein Zertifikat, das von der Datenspeicherungsvorrichtung ausgegeben und von der autorisierten Vorrichtung an die Datenspeicherungsvorrichtung gesendet wird, um die Datenspeicherungsvorrichtung zu entsperren, gemäß einer Ausführungsform;
    • 5 veranschaulicht ein Verfahren zum Zugreifen auf Daten auf einer Datenspeicherungsvorrichtung gemäß einer Ausführungsform.
    • 6 veranschaulicht einen Protokoll-Header, der Informationen für alle Protokolleinträge, gemäß einer Ausführungsform, speichert.
    • 7 zeigt eine Protokolleintragstabelle, gemäß einer Ausführungsform.
    • 8 veranschaulicht ein Verfahren zur Protokollierung von Ereignissen auf einer Datenspeicherungsvorrichtung gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • 1 veranschaulicht eine Datenspeicherungsvorrichtung (DSD) 100, die einen Datenpfad 101 und eine Zugangssteuerung 102 gemäß einer Ausführungsform aufweist. Der Datenpfad 101 weist einen drahtgebundenen Datenanschluss 103 auf, der in 1 durch eine USB-Brücke bereitgestellt wird, zur Übertragung von Daten zwischen einem Host-Computersystem 104 und der DSD 100. In anderen Ausführungsformen weist der Datenpfad 101 einen drahtlosen Datenanschluss (nicht gezeigt) zur drahtlosen Übertragung von Daten zwischen dem Host-Computersystem 104 und der DSD 100 auf. Die DSD 100 registriert sich bei dem Host-Computersystem 104 als Massendatenspeicherungsvorrichtung, der für das Betriebssystem die Funktionalität des Host-Computersystems 104 einer Blockdatenspeicherungsvorrichtung bereitstellt. Die DSD 100 weist weiterhin ein nicht-transitorisches Speicherungsmedium 105 zum Speichern verschlüsselter Benutzerinhaltsdaten auf, wobei angemerkt wird, dass die Benutzerinhaltsdaten die Daten sind, die ein Benutzer in der Regel in einer DSD speichern möchte, wie Dateien, einschließlich Bilddateien, Dokumenten, Videodateien usw. Das Speicherungsmedium kann ein Solid-State-Laufwerk (SSD), ein Festplattenlaufwerk (HDD) mit einer rotierenden Magnetplatte oder ein anderes nichtflüchtiges Speicherungsmedium sein. Weiterhin kann das Speicherungsmedium eine Blockdatenspeicherungsvorrichtung sein, was bedeutet, dass die Benutzerinhaltsdaten blockweise auf das Speicherungsmedium 105 geschrieben und blockweise aus dem Speicherungsmedium 105 gelesen werden.
  • Befehlssatz
  • In einem Beispiel weist das Speicherungsmedium 105 eine Kryptographiemaschine 106 in Form einer dedizierten und/oder programmierbaren integrierten Schaltung auf, die in dem Speicherungsmedium 105 zu speichernde Daten verschlüsselt und aus dem Speicherungsmedium 105 auszulesende Daten entschlüsselt. In solchen Beispielen kann das Speicherungsmedium einen Small Computer System Interface-Befehlssatz (SCSI-Befehlssatz) oder Advanced Technology Attachment-Befehlssatz (ATA-Befehlssatz) gemäß der Opal-Spezifikation durch die Trusted Computing Group (TCG) bereitstellen.
  • Programmcode, der in der Kryptographiemaschine 106 gespeichert ist, ermöglicht es der Kryptographiemaschine 106, vom Host-Computersystem 104 empfangene Befehle zu empfangen, zu interpretieren und auszuführen. Zum Beispiel kann die Kryptographiemaschine 106 dazu eingerichtet sein, den Standard-ATA-Befehlssatz oder seriellen ATA-Befehlssatz (SATA-Befehlssatz) und/oder ATA-Paketschnittstellen-Befehlssatz (ATAPI-Befehlssatz) zu implementieren, der vom Technischen Ausschuss T13 erhältlich ist, wobei darauf hingewiesen wird, dass identische Funktionalitäten innerhalb von TCG Opal, SCSI und anderen proprietären Architekturen implementiert werden können. Der Befehlssatz weist einen Sektorlese-Befehl, READ SECTORS-Befehl, mit einem Befehlseingang des Sektorzählers und des Startsektors auf (es ist anzumerken, dass „Sektor“ hier synonym mit „Block“ verwendet wird). Dementsprechend liegt ein entsprechender Schreibbefehl vor. Es sei angemerkt, dass ein Datenspeicherungsvorrichtungstreiber in dem Host-Computersystem 104 installiert ist. Der Datenspeicherungsvorrichtungstreiber (nicht gezeigt) verwendet den Befehlssatz, um dem Betriebssystem hochentwickelte Dienste bereitzustellen, wie Dateilesefunktionalitäten. In manchen Beispielen ist der Datenspeicherungsvorrichtungstreiber ein generischer Treiber, der als Teil des Betriebssystems ohne Unterstützung für vorrichtungsspezifische Verschlüsselungsbefehle geliefert wird, da die Verschlüsselungsfunktionalität vor dem Host-Computersystem 104 verborgen ist und intern innerhalb des DSD 100 gehandhabt wird, wie nachstehend beschrieben. Dies bedeutet, dass keine zusätzlichen Treiber installiert werden müssen, um die hierin offenbarte volle Funktionalität zu nutzen.
  • Der Befehlssatz, der von der Kryptographiemaschine 106 an den Datenanschluss 103 bereitgestellt wird (aber nicht an das Host-Computersystem 104 weitergeleitet wird), kann einen Befehlssatz aus dem ATA-SECURITY-Merkmalssatz einschließen. Insbesondere kann der Befehlssatz das SECURITY SET PASSWORD oder einen entsprechenden Befehl von TCG Opal einschließen, um ein Passwort zum Lesen und Schreiben von Benutzerinhaltsdaten auf das Speicherungsmedium 105 einzustellen.
  • In diesem Sinne ist die Kryptographiemaschine 106 zwischen den Datenanschluss 103 und das Speicherungsmedium 105 geschaltet und dazu eingerichtet, mittels eines kryptographischen Schlüssels in dem Speicherungsmedium 105 zu speichernde Benutzerinhaltsdaten zu verschlüsseln und die in dem Speicherungsmedium 105 gespeicherten verschlüsselten Benutzerinhaltsdaten als Antwort auf eine Anforderung des Host-Computersystems 104 zu entschlüsseln. In einigen Beispielen wird der ATA SECURITY-Merkmalssatz nur vom Datenanschluss 103 und nicht vom Host 104 verwendet. Das heißt, die Zugangssteuerung 102 stellt den notwendigen Eingang für den Datenanschluss 103 bereit, um die ATA SECURITY-Befehle an die Kryptographiemaschine 106 auszugeben. Beispielsweise kann die Zugangssteuerung 102 dem Datenanschluss 103 einen Schlüssel bereitstellen, den der Datenanschluss 103 dann über den SECURITY SET PASSWORD-Befehl an die Kryptographiemaschine 106 weiterleitet. Die Schnittstelle zwischen der Zugangssteuerung 102 und dem Datenanschluss 103 kann ein Inter-Integrated Circuit, I2C, -Bus sein, was insbesondere in den Fällen nützlich ist, in denen dieser Bus bereits in vorhandenen Chips implementiert ist. Es ist jedoch möglich, viele andere Kommunikationsarchitekturen zu verwenden, einschließlich Bus-, Punkt-zu-Punkt-, serielle, parallele, speicherbasierte und andere Architekturen.
  • Es ist zu beachten, dass die Trennung von Funktionalitäten in dedizierten Chips, wie in 1 gezeigt, nur eine mögliche beispielhafte Implementierung ist. Es ist daher möglich, Funktionalitäten zusammenzufassen oder die Funktionalitäten weiter aufzuteilen. Beispielsweise kann der Datenanschluss 103 in einen einzigen Chip mit einem einzigen Kern in die Zugangssteuerung 102 integriert sein. In anderen Fällen können der Datenanschluss 103 und die Zugangssteuerung 102 in einen einzigen dedizierten Chip mit einem einzigen Kern in die Kryptographiemaschine 106 integriert sein. Selbstverständlich können alle Chips mehrere Kerne aufweisen.
  • In einem Beispiel werden die folgenden Komponenten verwendet:
    • Datenanschluss 103: Schnittstelle USB 3.1 Gen 2 mit 10 Gigabit pro Sekunde (Gb/s)
    • Zugangssteuerung 102: nRF52840 System-on-Chip (SoC) von Nordic Semiconductor
  • Es sei angemerkt, dass für die hierin offenbarte Funktionalität die Zugangssteuerung 102 die maßgebliche Rolle spielt und nachstehend ausführlicher beschrieben wird, wobei nochmals angemerkt wird, dass die Aufgaben in anderen Beispielen in separate Chips getrennt werden können. Wenn darauf hingewiesen wird, dass eine ,Einrichtung' der Zugangssteuerung 102 oder die Zugangssteuerung 102 dazu ,eingerichtet' ist, einen bestimmten Schritt durchzuführen, ist dies so zu verstehen, dass es sich auf einen Programmcode bezieht, der in einem nichtflüchtigen Speicher in der DSD 100 im Programmspeicher (aus Gründen der Übersichtlichkeit nicht dargestellt) gespeichert ist und von der Zugangssteuerung 102 ausgeführt wird.
  • In anderen Beispielen können einige oder alle hierin offenbarten Schritte durch eine Hardwareschaltung ohne Programmcode durchgeführt werden. Insbesondere können Verschlüsselungs-Stammfunktionen aus Leistungs- und Sicherheitsgründen durch eine dedizierte Hardwareschaltung implementiert werden. Zum Beispiel können Befehle, die besonders rechenaufwendig sind, wie Multiplikation oder Exponentierung mit elliptischen Kurven, durch eine spezifisch für diese Berechnung konzipierte Recheneinheit (ALU) implementiert werden, sodass die Berechnung in einem einzigen oder einer geringeren Anzahl von Prozessorzyklen durchgeführt werden kann, verglichen mit der Verwendung eines sequentiellen Programms in einem Universal-Mikrocontroller. Es sei weiterhin angemerkt, dass es sich bei den in der DSD 100 enthaltenen Chips um Mikrocontroller handelt, was in diesem Zusammenhang bedeutet, dass sie nicht unter einem Betriebssystem laufen, das eine Hardware-Abstraktionsschicht bereitstellt, sondern dass der Programmcode direkt auf die Hardware-Schaltung einwirkt. Obwohl hierin die Kryptografie mit elliptischen Kurven aus Gründen der Recheneffizienz und -Sicherheit als Beispiel verwendet wird, sei angemerkt, dass andere Kryptosysteme mit öffentlichem Schlüssel, wie das Rivest-Shamir-Adelman-Kryptosystem (RSA-Kryptosystem) ebenso verwendet werden könnten.
  • Zurück zu 1, gibt es zusätzlich zu dem Host-Computersystem 104 eine Anzahl von Vorrichtungen, die sich außerhalb der DSD 100 befinden und die im Prozess des Entsperrens der DSD 100 und des Bereitstellens eines Schlüssels für die Kryptographiemaschine 106 wirken, sodass dem Host-Computersystem 104 letztlich entschlüsselte Daten im Klartext bereitgestellt werden können.
  • Insbesondere gibt es eine erste Managervorrichtung 110, die in den meisten Beispielen ein Mobiltelefon ist. Auf der Managervorrichtung 110 ist eine Anwendung (,App') installiert, um die folgenden Schritte durchzuführen. Auf diese Weise können die folgenden Schritte softwaremäßig vom Hersteller der DSD 100 implementiert und über einen allgemein zugänglichen App Store, wie den App Store von Apple, oder Google Play, an die Managervorrichtung 110 verteilt werden. Die auf der Managervorrichtung 110 installierte App führt Schritte zur Inbesitznahme der DSD 100 durch, wobei an dieser Stelle alle Daten auf der DSD 100 gelöscht oder anderweitig unzugänglich gemacht werden. Zum Beispiel können Daten durch sicheres Löschen aller in der DSD 100 gespeicherten kryptografischen Schlüssel kryptografisch gelöscht werden.
  • Der Einfachheit halber beschreibt diese Offenbarung, dass Schritte einfach von der Managervorrichtung 110 ausgeführt werden, wenn sie von der App implementiert werden. Die Managervorrichtung 110 richtet die DSD 100 ein, was bedeutet, dass die vielfältigen verschiedenen Schlüssel generiert werden, um den hierin offenbarten Prozess zu unterstützen. Die Managervorrichtung 110 registriert eine Benutzervorrichtung 111 bei der DSD, sodass die Benutzervorrichtung 111 dann als „autorisierte Vorrichtung“ 111 bezeichnet wird. In den meisten Beispielen ist die autorisierte Vorrichtung 111 auch ein Mobiltelefon mit einer installierten App, die die Schritte implementiert, die als von der autorisierten Vorrichtung 111 ausgeführt beschrieben werden. Als autorisierte Vorrichtungen können jedoch auch andere Arten von Vorrichtungen verwendet werden, die nachfolgend anhand von Beacons und Schlüsselanhänger erläutert werden.
  • Inbesitznahme
  • Der erste Schritt bei der Verwendung der DSD 100 nach dem Kauf, Entpacken und Hochfahren besteht darin, die App auf der Managervorrichtung 110 zu installieren und eine Vorrichtung als die Managervorrichtung 110 zu registrieren. Hierzu erhält die Managervorrichtung 110 eine eindeutige Kennung der DSD von der DSD. Diese eindeutige Kennung wird als Identitätsschlüssel (IDK) bezeichnet. In dem in 1 veranschaulichten Beispiel ist der Identitätsschlüssel in einem Quick Response-Code (QR-Code) 112 codiert, der an einer Außenfläche der DSD 100 angebracht ist. Die auf der Managervorrichtung 110 installierte App hat Zugriff auf eine Kamera und verfügt über ein Softwaremodul, das die codierten Informationen aus einem Bild des QR-Codes 112 extrahiert. Die Managervorrichtung 110 erfasst ein Bild des QR-Codes 112 unter Verwendung der Kamera und decodiert den Identitätsschlüssel der DSD 100 aus dem QR-Code. In einem Beispiel codiert der QR-Code einen einheitlichen Ressourcenverweis, Uniform Resource Locator, URL. In diesem Fall kann eine generische App den QR-Code erfassen, der dann das Telefon automatisch zu einem Application Store leitet, aus dem die App heruntergeladen werden kann. Die URL schließt auch den Identitätsschlüssel ein, sodass die App diese Kennung decodieren kann, nachdem die App installiert ist.
  • In einem anderen Beispiel kann die Managervorrichtung 110 ein anderes Tag oder einen NFC-Chip lesen, das/der mit DSD 100 verbunden oder in sie integriert ist, um den Identitätsschlüssel zu erhalten. Mit Hilfe dieses Identitätsschlüssels kann die Managervorrichtung 110 dann eine Kommunikation, beispielsweise drahtlos (z. B. über Bluetooth), mit der DSD 100 und insbesondere mit der Zugangssteuerung 102 initiieren.
  • Wiederherstellungsschlüssel
  • Nach Inbesitznahme der DSD 100 generiert die Zugangssteuerung 102 einen Wiederherstellungsschlüssel und stellt den Wiederherstellungsschlüssel für die Managervorrichtung 110 bereit. Der Wiederherstellungsschlüssel kann dann in einer sicheren Speicherung 113 gespeichert oder gedruckt und unter Verschluss gebracht werden. Schließlich kann der Wiederherstellungsschlüssel von einer Backup-Managervorrichtung 114 verwendet werden, um die Managerrolle zu übernehmen, die die Managervorrichtung 110 zuvor hatte.
  • Registrierung einer autorisierten Vorrichtung
  • Nachdem die DSD 100 während des Inbesitznahmeprozesses erstmalig eingerichtet wurde, registriert die Managervorrichtung 110 die autorisierte Vorrichtung 111. In der Regel kann es mehrere autorisierte Vorrichtungen geben, die bei einer einzigen DSD 100 registriert sind, sodass die Managervorrichtung 110 die autorisierte Vorrichtung als eine von mehreren autorisierten Vorrichtungen registriert. Genauer empfängt die Zugangssteuerung 102 von der Managervorrichtung 110 einen öffentlichen Schlüssel, der einem privaten Schlüssel zugeordnet ist, der in der Benutzervorrichtung 111 gespeichert ist. Die Managervorrichtung 110 selbst hat den öffentlichen Schlüssel unter Umständen von der Benutzervorrichtung 111 per E-Mail empfangen, indem sie einen auf der Benutzervorrichtung 111 angezeigten QR-Code abtastet, oder auf eine andere Art und Weise. Zu diesem Zeitpunkt ist die Vorrichtung 111 noch nicht autorisiert und wird daher einfach als „Benutzervorrichtung 111“ bezeichnet. Nachdem die Benutzervorrichtung 111 autorisiert ist, wird sie als „autorisierte Vorrichtung 111“ bezeichnet. Die Zugangssteuerung 102 erstellt Autorisierungsdaten, die angeben, dass die Benutzervorrichtung 111 eine autorisierte Vorrichtung ist (wie nachstehend beschrieben), und speichert die Autorisierungsdaten, die dem öffentlichen Schlüssel zugeordnet sind, in dem Einrichtungsspeicher 115, um die Benutzervorrichtung 111 als eine der mehreren autorisierten Vorrichtungen zu registrieren. Dies bedeutet, dass Schlüssel und andere der autorisierten Vorrichtung 111 zugeordnete Daten, wie nachstehend beschrieben erstellt und gespeichert werden. Ein Benutzer kann dann die autorisierte Vorrichtung 111 verwenden, um die DSD 100 zu entsperren, indem er die autorisierte Vorrichtung 111 einfach in den drahtlosen Kommunikationsbereich, wie beispielsweise innerhalb des Bluetooth-Bereichs, bringt. Wiederum werden die von der autorisierten Vorrichtung 111 durchgeführten Schritte in einer auf der autorisierten Vorrichtung 111 installierten App codiert. Abhängig von Einrichtungsparametern muss der Benutzer möglicherweise die autorisierte Vorrichtung 111 entsperren, bevor die DSD 100 entsperrt werden kann.
  • Insbesondere hat die Zugangssteuerung 102 Zugriff auf einen nichtflüchtigen Einrichtungsdatenspeicher, wie den Einrichtungsspeicher 115, der ein Flash-Speicher sein kann, der sich außerhalb der Zugangssteuerung 102 befindet (aber ebenso in die Zugangssteuerung 102 integriert sein kann). Der Einrichtungsspeicher 115 kann auch den Programmcode speichern, der die hierin beschriebenen Schritte als von der Zugangssteuerung 102 ausgeführt implementiert. Es sei angemerkt, dass manche Beispiele hierin unter der Annahme eingerichtet sind, dass ein Angreifer den Einrichtungsspeicher 115 leicht ablöten und seinen Inhalt auslesen kann, aber nicht in der Lage sein sollte, die Benutzerinhaltsdaten mit diesen Informationen zu entschlüsseln. Das heißt, in diesen Beispielen werden keine Schlüssel dauerhaft im Klartext in dem Einrichtungsspeicher 115 oder anderswo in der DSD 100 in dem nichtflüchtigen Speicher gespeichert.
  • Nachdem die kryptographischen Schlüssel im Klartext vorliegen, werden sie nur noch im flüchtigen Speicher (nicht dargestellt) gespeichert. Dies bedeutet, dass ein Abschalten der DSD 100 alle im Klartext gespeicherten kryptographischen Schlüssel löscht. Es kann eine zusätzliche Schaltung bereitgestellt werden, um alle verbleibenden Ladungen beim Herunterfahren, Hochfahren oder externen Zurücksetzen zurückzusetzen, sodass es in der Praxis physisch unmöglich ist, Informationen aus dem flüchtigen Speicher wiederherzustellen. In vielen Fällen kommt es dadurch zum Abschalten und Löschen aller flüchtigen Speicher, dass der Benutzer das USB-Kabel vom Host-Computersystem 104 trennt. In anderen Beispielen wird eine sekundäre Stromversorgung verwendet, die zum Herunterfahren der DSD 100 getrennt werden muss, um den flüchtigen Speicher zu löschen.
  • Aufforderung-Antwort
  • Im Einrichtungsspeicher 115 sind Daten gespeichert, die für die registrierte autorisierte Vorrichtung 111 spezifisch sind. Diese Daten können als Kennung der autorisierten Vorrichtung 111 oder als öffentlicher Schlüssel bezeichnet werden, der einem entsprechenden privaten Schlüssel zugeordnet ist, der in der autorisierten Vorrichtung 111 gespeichert ist. Der öffentliche Schlüssel kann ein öffentlicher Transportschlüssel (TPK) sein und wird von der autorisierten Vorrichtung 111 beim ersten Start der App durch Ausführen der Primitive ECC-Pub({transport private key}) der Kryptographie mit elliptischen Kurven (ECC) generiert. (Es wird daran erinnert, dass, obwohl hierin aus Gründen der Recheneffizienz und -sicherheit Kryptographie mit elliptischen Kurven beispielhaft verwendet wird, angemerkt wird, andere kryptografische Techniken ebenfalls verwendet werden könnten.) Der entsprechende private Schlüssel wird in der autorisierten Vorrichtung 111 gespeichert. Die Zugangssteuerung 102 ist dazu eingerichtet, die Kennung (z. B. den öffentlichen Transportschlüssel) zu verwenden oder einen weiteren öffentlichen Schlüssel zu generieren und zu speichern, um eine Aufforderung der autorisierten Vorrichtung 111 zu generieren. An dieser Stelle sei angemerkt, dass die Aufforderung eindeutig ist in dem Sinn, dass jede Aufforderung unterschiedlich ist, sodass sich eine nachfolgende Aufforderung von allen vorherigen Aufforderungen unterscheidet. Dies wird, wie nachfolgend beschrieben, durch Multiplizieren der gespeicherten Daten mit einem zufallsbasierten Blendungsfaktor erreicht. Dann sendet die Zugangssteuerung 102 die Aufforderung über einen vom Datenpfad verschiedenen Kommunikationskanal an die autorisierte Vorrichtung 111. Zum Beispiel kann der Datenpfad eine drahtgebundene USB-Verbindung einschließen, während der Kommunikationskanal zwischen der Zugangssteuerung 102 und der autorisierten Vorrichtung 111 eine drahtlose Verbindung (z. B. Bluetooth) ist.
  • In einem Beispiel findet ein Neuanmeldungsprozess als Antwort darauf statt, dass sich die autorisierte Vorrichtung anfänglich mit der DSD 100 verbindet, nachdem die Autorisierungsdaten erstellt und in dem Einrichtungsspeicher 115 gespeichert wurden, der dem von der Managervorrichtung 110 empfangenen öffentlichen Schlüssel der autorisierten Vorrichtung 111 zugeordnet ist. Während des Neuanmeldungsprozesses aktualisiert DSD 100 die Autorisierungsdaten und kann, wie unten beschrieben, die autorisierte Vorrichtung 111 auffordern, zusätzlich zum öffentlichen Transportschlüssel einen öffentlichen Entsperrschlüssel (und einen entsprechenden privaten Entsperrschlüssel) zu generieren. Die autorisierte Vorrichtung 111 stellt dann der Zugangssteuerung 102 den öffentlichen Entsperrschlüssel zur Verfügung.
  • Dies hat den Vorteil, dass die beiden entsprechenden privaten Schlüssel (privater Transportschlüssel und privater Entsperrschlüssel) getrennt auf der autorisierten Vorrichtung gespeichert werden können und beide Schlüssel unterschiedliche Zugriffsrichtlinien aufweisen können. Zum Beispiel kann der private Transportschlüssel jederzeit zugänglich sein, selbst wenn die autorisierte Vorrichtung 111 gesperrt ist (z.B. durch eine Bildschirmsperre oder eine Zeitüberschreitung), um eine kontinuierliche Kommunikation zwischen der autorisierten Vorrichtung 111 und DSD 100 zu ermöglichen. Um die DSD 100 zu entsperren, erfordert es jedoch die Zugangsrichtlinie des entsperrenden privaten Schlüssels unter Umständen, dass der Benutzer die autorisierte Vorrichtung 111 entsperrt, eine persönliche Identifikationsnummer (PIN) eingibt, eine biometrische oder sonstige Authentifizierung bereitstellt. Auf diese Weise kann die DSD 100 von einer gestohlenen autorisierten Vorrichtung nicht entsperrt werden. Da das Entsperren der DSD 100 nur einmal durchgeführt wird, während DSD 100 eingeschaltet ist, verringert die erhöhte Sicherheit den Benutzerkomfort nicht wesentlich.
  • Die autorisierte Vorrichtung 111 kann eine Antwort auf die Aufforderung berechnen, die von keiner anderen Vorrichtung berechnet werden kann, die nicht bei der DSD registriert ist. Genauer gesagt kann die korrekte Antwort nicht von einer Vorrichtung berechnet werden, die keinen Zugriff auf Daten hat, die der im Einrichtungsspeicher 115 gespeicherten Kennung entsprechen. Zum Beispiel verwendet die autorisierte Vorrichtung 111 den gespeicherten privaten Entsperrschlüssel, der dem entsprechenden öffentlichen Entsperrschlüssel zugeordnet ist, der in dem Einrichtungsspeicher 115 gespeichert ist, um die Antwort auf die Aufforderung zu berechnen.
  • Die Zugangssteuerung 102 empfängt die Antwort auf die Aufforderung von der autorisierten Vorrichtung 111 über den Kommunikationskanal. Dabei sei angemerkt, dass, wenn der Zugangssteuerung 102 die Antwort auf die Aufforderung einfach validiert und bei Erfolg den kryptographischen Schlüssel aus dem Einrichtungsspeicher 115 ausliest, der kryptographische Schlüssel im Klartext gespeichert würde, was unerwünscht ist, da dies einem Angreifer ermöglichen würde, die DSD 100 zu demontieren und den Schlüssel aus dem Einrichtungsspeicher 115 zu lesen, um auf die in dem Speicherungsmedium 105 gespeicherten Benutzerinhaltsdaten zuzugreifen.
  • Schlüssel berechnen
  • Stattdessen berechnet die Zugangssteuerung 102 den kryptographischen Schlüssel zumindest teilweise basierend auf der Antwort von der autorisierten Vorrichtung 111. Dies bedeutet, dass der kryptographische Schlüssel nicht eine reine Funktion der Antwort ist, sondern andere Werte einbezieht, wie sie weiter unten näher beschrieben werden. Zusammenfassend wird der kryptographische Schlüssel verschlüsselt in dem Einrichtungsspeicher 115 gespeichert und die Antwort, die in dem in der autorisierten Vorrichtung gespeicherten privaten Schlüssel basiert, ermöglicht die Berechnung des Geheimnisses, womit der kryptographische Schlüssel entschlüsselt wird.
  • In dieser Offenbarung kann auf das ,Verpacken' von Schlüsseln verwiesen werden, was einfach bedeutet, dass der Schlüssel durch einen anderen Schlüssel (d. h. durch das „Geheimnis“) verschlüsselt wird. In vielen Fällen des ,Verpackens' ist die Verschlüsselung symmetrisch, sodass ein einziges Geheimnis (Schlüssel) existiert, das den verschlüsselten Schlüssel (ohne einen dem Geheimnis zugeordneten öffentlichen Schlüssel) entschlüsseln kann. In einem Beispiel verwendet symmetrische Verschlüsselung die Stammfunktion Advanced Encryption Standard, AES.
  • Schließlich stellt die Zugangssteuerung 102 der Kryptographiemaschine 106 (in diesem Beispiel über den Datenanschluss 103) den kryptographischen Schlüssel bereit, um die in dem Speicherungsmedium 105 der DSD 100 gespeicherten verschlüsselten Benutzerinhaltsdaten zu entschlüsseln. Wie vorstehend erwähnt, stellt die Zugangssteuerung 102, nachdem die Zugangssteuerung 102 den kryptographischen Schlüssel berechnet hat, den kryptographischen Schlüssel dem Datenanschluss 103 im Klartext bereit, und der Datenanschluss 103 gibt den SECURITY SET PASSWORD-Befehl an die Kryptographiemaschine 106 einschließlich des kryptographischen Schlüssels aus.
  • Es sei angemerkt, dass, wenn auf das Entsperren der Vorrichtung Bezug genommen wird, sich dies auf den gesamten vorstehend beschriebenen Prozess beziehen kann, einschließlich der Aufforderung, der Antwort auf die Aufforderung und des Sendens des kryptographischen Schlüssels an die Kryptographiemaschine 106, um Klartext-Lesebefehle zu ermöglichen, die von dem Host-Computersystem ausgegeben werden. In anderen Beispielen werden die Aufforderung und die Antwort auf die Aufforderung als Teil eines separaten ,Verbindungs'-Schritts betrachtet. In dem folgenden Schritt ,Entsperren' sendet die Zugangssteuerung 102 dann den kryptographischen Schlüssel an den Datenanschluss 103, um Zugriff auf die Benutzerinhaltsdaten zu ermöglichen.
  • Abgesehen davon sei angemerkt, dass es einem Angreifer möglich sein kann, die Schlüsselübertragung von der Zugangssteuerung 102 zum Datenanschluss 103 und dann zur Kryptographiemaschine 106 abzuhören. Die Übertragung des Schlüssels erfolgt jedoch nicht über ein öffentliches Netz, sodass es für dieses Abhören erforderlich wäre, Zugang zu der entsperrten DSD zu erhalten und diese zu demontieren, ohne die DSD 100 stromlos zu machen. Dieses Szenario kann als Bedrohung verworfen werden, da die Benutzerinhaltsdaten in diesem Szenario ohnehin in dem Host-Computersystem 104 verfügbar sind. Mit anderen Worten, während die DSD 100 verbunden und entsperrt ist, stehen Daten dem rechtmäßigen Benutzer und dem Angreifer zur Verfügung. Nachdem der Benutzer jedoch die DSD vom Host-Computersystem 104 trennt, ist dieser Abhörangriff nicht mehr möglich. Dieser Angriff wird daher nicht weiter in Betracht gezogen.
  • Der Vollständigkeit halber sei angemerkt, dass, nachdem die Kryptographiemaschine 106 den kryptographischen Schlüssel empfangen hat, das Host-Computersystem 104 gewöhnliche READ SEGMENT-Befehle ausgeben und transparent auf die verschlüsselten Daten zugreifen kann, ohne dass ein wahrnehmbarer Unterschied zum Zugreifen auf eine unverschlüsselten Vorrichtung besteht. Dies ist insbesondere dann der Fall, wenn die Kryptographiemaschine Hardware-Kryptographiemodule aufweist, um eine Verschlüsselung und Entschlüsselung mit oder oberhalb der Lese- und Schreibgeschwindigkeit des Speicherungsmediums 105 und/oder des Datenanschlusses 103 zu ermöglichen. Der Benutzer kann jedoch die DSD 100 trennen, um sie zu sperren. Auf diese Weise kann die DSD 100 durch den Benutzer an unsichere Stellen getragen werden, an denen die DSD 100 verloren gehen oder gestohlen werden kann; es ist jedoch für eine andere Person sehr schwierig, die verschlüsselten Benutzerinhaltsdaten, die in dem Speicherungsmedium 105 gespeichert sind, zu entschlüsseln. Wenn der Benutzer im Besitz der DSD bleibt, kann der Benutzer diese mit einem zweiten Host-Computersystem 116 verbinden, die DSD 100 bequem mit seiner autorisierten Vorrichtung 111 (z. B. Telefon) entsperren und ohne weiteres auf die verschlüsselten Benutzerinhaltsdaten zugreifen, die in dem Speicherungsmedium 105 gespeichert sind.
  • Aus Gründen der Benutzerfreundlichkeit kann der Datenanschluss 103 so eingerichtet sein, dass, wenn die DSD gesperrt ist, sie sich bei dem Host-Computersystem 104 als Massendatenspeicher mit nicht vorhandenem Speicherungsmedium registriert, ähnlich einem SSD-Kartenleser ohne eingesteckte Karte. Nachdem die autorisierte Vorrichtung 111 mit der DSD 100 verbunden und die DSD 100 entsperrt ist, schaltet der Datenanschluss 103 auf das vorhandene Speicherungsmedium um, ähnlich einem Kartenleser, in den eine SSD-Karte eingeführt wurde. Bei einer solchen Einrichtung würde vermieden, dass durch das Betriebssystem des Host-Computersystems 104 Warnungen darüber generiert werden, dass die Daten nicht zugänglich sind oder der Zugriff verweigert wird. Vielmehr würde die gesamte Benutzerinteraktion von der auf der autorisierten Vorrichtung installierten App durchgeführt, die vollständig vom Hersteller der DSD gesteuert wird, sodass die Benutzererfahrung optimiert werden kann. Wie in 1 gezeigt, können weitere Mobiltelefone vorhanden sein, die als autorisierte Vorrichtungen 117 und 118 fungieren.
  • Beacons und Schiüsseianhänger
  • Unter erneuter Betrachtung von 1 ist zu erkennen, dass es weitere Vorrichtungen gibt, wie die Beacons 120 und den Schlüsselanhänger 121. Diese Vorrichtungen können auch als „autorisierte Vorrichtungen“ angesehen werden, da sie im Wesentlichen wie die autorisierte Vorrichtung 111 arbeiten können. Vor der erstmaligen Registrierung durch die Managervorrichtung 110 werden diese Vorrichtungen als „zu autorisierende Vorrichtung“ bezeichnet. Wenn hierin auf eine „Benutzervorrichtung“ Bezug genommen wird (womit hauptsächlich das Mobiltelefon 111 vor der erstmaligen Registrierung beschrieben wird), gilt dies auch für die Beacons 120 und den Schlüsselanhänger 121, sofern nichts anderes angegeben ist, wie in Fällen, in denen eine Benutzereingabe erforderlich ist. Für die Beacons 120 und den Schlüsselanhänger 121 ist auch deren eigener privater Schlüssel sicher gespeichert, sodass sie auf eine Aufforderung antworten können, die für einen Beacon oder einen Schlüsselanhänger spezifisch ist. Da jedoch die Beacons 120 und der Schlüsselanhänger 121 keinen Benutzereingang haben, kann sich die Einleitung der Kommunikation etwas anders gestalten. Insbesondere können der Beacon 120 und der Schlüsselanhänger 121 periodisch Advertisements senden, um ihre Existenz auszustrahlen, und die DSD 100 initiiert dann die Kommunikation mit dem Beacon 120 und/oder dem Schlüsselanhänger 121, wodurch diese aufgefordert werden, ihren öffentlichen Transportschlüssel zu senden. Dies steht im Gegensatz zu der autorisierten Vorrichtung 111, die den öffentlichen Transportschlüssel an die DSD 100 sendet, um die Kommunikation zu initiieren.
  • In weiteren Beispielen befinden sich die Beacons 120 in einem deaktivierten Zustand, wenn sie eingeschaltet werden, und müssen von einer Managervorrichtung 110 oder einer autorisierten Vorrichtung 111 aktiviert werden. Diese Aktivierung kann einem ähnlichen Prozess folgen wie das Entsperren der DSD 100. Das heißt, die Managervorrichtung 110 oder die autorisierte Vorrichtung 111 oder beide werden bei jedem Beacon 120 mit ihren öffentlichen Transportschlüsseln registriert und antworten auf eine Aufforderung, wie hierin beschrieben. Somit kann eine Vorrichtung als Managervorrichtung oder autorisierte Vorrichtung bei einem von den Beacons 102 und/oder dem Schlüsselanhänger 121 registriert sein, ohne bei der DSD 100 selbst registriert zu sein. Wenn die Antwort auf die Aufforderung gültig ist, entsperren dann die Beacons 120 die DSD 100. In noch einem weiteren Beispiel werden die Beacons 120 bei einander registriert, sodass die Managervorrichtung 110 und/oder die autorisierte Vorrichtung 111 nur einen der Beacons 120 aktivieren muss und die übrigen Beacons automatisch aktiviert werden. Mit anderen Worten ,verbreitet' sich die Aktivierung über das Beacon-Netzwerk, solange sich die Beacons innerhalb ihrer gegenseitigen Reichweite befinden.
  • Es sei angemerkt, dass die einzige Information, die die autorisierten Vorrichtungen 111, 117, 118, 120 und 121 der Managervorrichtung 110 zum Registrieren zur Verfügung stellen, ein öffentlicher Schlüssel für jede Vorrichtung ist. Mit anderen Worten stellt jede Vorrichtung ihren eigenen öffentlichen Schlüssel bereit, der einem privaten Schlüssel entspricht, der sicher in dieser Vorrichtung gespeichert ist. Wenn daher ein Angreifer die anfängliche Kommunikation zwischen einer der Vorrichtungen 111, 117, 118, 120 und 121 und der Managervorrichtung 110 abfängt, ist die einzige Information, die der Angreifer erhalten kann, der öffentliche Schlüssel. Wie der Name sagt, ist der öffentliche Schlüssel nicht geheim und kann allgemein bekannt sein. Der Angreifer hat daher keinen Vorteil erlangt. Weiterhin kann die Managervorrichtung 110 den öffentlichen Schlüssel nicht verwenden, um Zugriff auf irgendetwas anderes im Zusammenhang mit den autorisierten Vorrichtungen zu erlangen. Beispielsweise kann die Managervorrichtung keine anderen Datenspeicherungsvorrichtungen entschlüsseln oder entsperren, bei denen die autorisierte Vorrichtung von anderen Managervorrichtungen registriert wurde.
  • Die Zugangssteuerung 102 empfängt die öffentlichen Schlüssel der autorisierten Vorrichtungen von der Managervorrichtung 110 und generiert Autorisierungsdaten. Die Zugangssteuerung 102 speichert die Autorisierungsdaten in dem Einrichtungsspeicher 115, während sie darauf wartet, dass sich die autorisierte Vorrichtung erstmalig verbindet. Bei der ersten Verbindung führt die Zugangssteuerung 102 eine Aufforderung-Antwort der autorisierten Vorrichtung durch und aktualisiert bei Erfolg die Autorisierungsdaten, um anzugeben, dass die autorisierte Vorrichtung nun vollständig registriert ist. Dieser erste Verbindungsprozess wird hierin als „Neuanmeldung“ bezeichnet, und Details zum Generieren der Autorisierungsdaten und der Neuanmeldung werden im Folgenden bereitgestellt.
  • Kryptographie mit elliptischen Kurven
  • In einem Beispiel basiert die durch die DSD 100 generierte und an die autorisierte Vorrichtung 111 gesendete Aufforderung auf Kryptographie mit elliptischen Kurven. Dies bietet die Vorteile kürzerer Schlüssel, was zu einer effizienteren Kommunikation und Speicherung führt. Weiterhin stellen eine große Anzahl von derzeit auf dem Markt befindlichen Telefonen eine dedizierte Funktionalität der Kryptographie mit elliptischen Kurven innerhalb eines sicheren Hardwaremoduls bereit. Das sichere Hardwaremodul speichert die privaten Schlüssel des Benutzers sicher und führt kryptographische Stammfunktionen innerhalb des sicheren Hardwaremoduls durch, ohne dass der Schlüssel das sichere Hardwaremodul verlässt und an einen Universal-Prozessorkern gesendet wird, wo der Schlüssel einem Angriff wegen unbefugten Abrufs ausgesetzt sein kann. In einer Ausführungsform schließt das sichere Hardwaremodul einen separaten Prozessor ein, der seinen eigenen Mikrokernel ausführt, auf den das Betriebssystem oder Programme, die auf dem Telefon laufen, nicht direkt zugreifen können. Das sichere Hardwaremodul kann auch eine nichtflüchtige Speicherung einschließen, die verwendet wird, um private 256-Bit-Schlüssel mit elliptischer Kurve zu speichern. In einer Ausführungsform ist das sichere Hardwaremodul ein Secure Enclave-Coprozessor, der auf einigen Apple-Vorrichtungen verfügbar ist.
  • Autorisierter Vorrichtungsdatensatz
  • 2 veranschaulicht einen Abschnitt des Einrichtungsspeichers 115 gemäß einer Ausführungsform. Genauer gesagt, veranschaulicht 2 einen Datensatz 201 im Einrichtungsspeicher 115, der einer von mehreren autorisierten Vorrichtungen zugeordnet ist und hierin als „Autorisierungsdaten“ bezeichnet wird. Weitere Datensätze für weitere autorisierte Vorrichtungen sind schematisch als leere gestrichelte Zellen angegeben, werden jedoch nicht näher betrachtet, da sie ähnlich wie der Datensatz 201 arbeiten. Insbesondere weist jeder weitere Datensatz Autorisierungsdaten auf, die von der Zugangssteuerung 102 als Antwort auf das Empfangen eines öffentlichen Schlüssels einer Benutzervorrichtung von der Managervorrichtung 110 generiert und dann während der ersten Verbindung der Benutzervorrichtung aktualisiert werden (dann „autorisierte Vorrichtung“). Der Einfachheit halber wird die Datenstruktur des Einrichtungsspeichers 115 als eine ,Tabelle` bezeichnet, die einen oder mehrere ,Datensätze' aufweist, wobei sich jeder Datensatz auf eine registrierte autorisierte Vorrichtung bezieht und jeder Datensatz mehrere Felder aufweist. Es wird jedoch angemerkt, dass andere Datenstrukturen verwendet werden können, wie JavaScript Object Notation (JSON), Extensible Markup Language (XML), binäre Formate usw. In einem Beispiel hat jeder Eintrag eine feste Länge und die Tabelle hat eine feste Anzahl von Zeilen (d. h. Einträgen). Innerhalb dieser Offenbarung kann ein ,Datensatz' auch als eine ,Zeile' oder ein ,Eintrag' bekannt sein.
  • Der Datensatz 201 weist ein Feld für einen Vorautorisierungsschlüssel 202 auf, der verwendet wird als Antwort darauf, dass sich die autorisierte Vorrichtung 111 erstmals mit der DSD 100 verbindet. Während dieser ersten Verbindung führt die Zugangssteuerung 102 eine Anzahl von Schritten durch, die als „Neuanmeldung“ bezeichnet werden, wie nachfolgend näher beschrieben wird. Der Vorautorisierungsschlüssel 202 wird aus der Kennung (z. B. dem öffentlichen Transportschlüssel) der autorisierten Vorrichtung 111 generiert. Zum Beispiel kann die Zugangssteuerung 102 den Vorautorisierungsschlüssel 202 durch Anwenden einer Schlüsselableitungsfunktion unter Verwendung der x-Koordinate des öffentlichen Transportschlüssels als Eingangsparameter zusammen mit einem Slot-Schlüssel der autorisierten Vorrichtung als Salt-Wert auf die Ableitungsfunktion generieren. Der Slot-Schlüssel der autorisierten Vorrichtung kann eine Pseudozufallszahl (z. B. mit 16 Bytes) sein, die in dem Einrichtungsspeicher 115 gespeichert ist, und kann verwendet werden, um Daten in Zertifikaten der autorisierten Vorrichtung zu verschlüsseln, sodass nur die ausgebende DSD 100 die Informationen wiederherstellen kann.
  • An dieser Stelle kann gesagt werden, dass die in dem Einrichtungsspeicher 115 gespeicherten Datensätze durch den Vorautorisierungsschlüssel 202 basierend auf einer Kennung der autorisierten Vorrichtung (z. B. dem öffentlichen Transportschlüssel) indiziert werden. Wie nachstehend unter Bezugnahme auf 4 beschrieben, kann der Index des Datensatzes 201 während der Neuanmeldung in einem Zertifikat als Slot-Nummer gespeichert werden, und an diesem Punkt kann der Vorautorisierungsschlüssel 202 durch einen Zufallswert ersetzt werden, um die eingerichtete DSD selbst bei Besitz des öffentlichen Transportschlüssels von einer neuen Vorrichtung aus der Fabrik ununterscheidbar zu machen.
  • Der Datensatz 201 weist weiterhin ein Feld für eine erste Kopie eines Metadaten-Verpackungsschlüssels (MWK) 203 und eines Vorautorisierungs-Metadaten-Verpackungsschlüssels (PMWK) 214, auf. Einige Felder im Datensatz 201 sind verschlüsselt, was durch doppelt umrandete Zellen angegeben wird, wobei die Zellen mit einfachen Blocklinien innerhalb der doppelt umrandeten Zellen die ,Nutzdaten', wie beispielsweise den Metadaten-Verpackung-Schlüssel 203 und den Vorautorisierungs-Metadaten-Verpackung-Schlüssel 214 angeben. Der entsprechende Verschlüsselungsschlüssel, mit dem die Nutzdaten verschlüsselt werden, ist unten an der doppelt umrandeten Zelle vermerkt. So ist zum Beispiel der Metadaten-Verpackungsschlüssel 203 durch einen Metadatenschlüssel der autorisierten Vorrichtung (ADMK) 204 verschlüsselt. Es sollte angemerkt werden, dass jede Verschlüsselungszelle eine zusätzliche Nonce aufweisen kann, die mit den Nutzdaten verkettet ist. Dadurch ist gewährleistet, dass der verschlüsselte Eintrag auch bei Besitz der verschlüsselten Daten, wie beispielsweise des öffentlichen Transportschlüssels der autorisierten Vorrichtung, nicht von Zufallsdaten unterschieden werden kann.
  • Der Datensatz 201 weist weiterhin ein Feld für Metadaten der autorisierten Vorrichtung (ADM) 205 auf, die eine Verkettung eines Vorrichtungstyps 206 (z. B. Wiederherstellungsschlüssel, Schlüsselanhänger, Beacon, Telefon, Computer, Uhr usw.), eine Rolle der Vorrichtung 207 (z. B. Manager oder Benutzer), ein Name der Vorrichtung 208 (z. B. „Johns Telefon“), ein öffentlicher Transportschlüssel 209, Entsperrschlüsselmetadaten 210 (z. B. Schlüsselbeschränkungen, ob Fingerabdruck, PIN oder keine Entsperrung erforderlich ist), ein kurzlebiger öffentlicher Schlüssel 211 und ein öffentlicher Entsperrschlüssel 212 sind. In einer Ausführungsform ist der kurzlebige öffentliche Schlüssel 211 ein öffentlicher Schlüssel mit elliptischer Kurve, der aus einem zufallsbasierten kurzlebigen privaten Schlüssel mit elliptischer Kurve (EPK) unter Verwendung einer Primitive ECC-PUB (EUK) der Kryptographie mit elliptischer Kurve (ECC) generiert wird. Der kurzlebige private Schlüssel wird nicht in dem Einrichtungsspeicher 115 oder in der autorisierten Vorrichtung 111 gespeichert, sondern nach dem Erstellen des kurzlebigen öffentlichen Schlüssels verworfen. Dies bedeutet, dass der kurzlebige private Schlüssel nicht in dem nichtflüchtigen Speicher, sondern nur in dem flüchtigen Speicher gespeichert wird. Dadurch führt ein Herunterfahren des Speichers zu einem vollständigen und nicht wiederherstellbaren Verlust (z. B. Zerstörung) des kurzlebigen privaten Schlüssels. Der öffentliche Entsperrschlüssel 212 entspricht einem privaten Entsperrschlüssel, der in der autorisierten Vorrichtung 111 gespeichert ist, und von der autorisierten Vorrichtung 111 generiert und der Zugangssteuerung 102 während der Neuanmeldung bereitgestellt wird.
  • Die Metadaten der autorisierten Vorrichtung (verkettet mit einer weiteren Nonce) werden durch den Metadaten-Verpackungsschlüssel (MWK) 213 verschlüsselt, der ebenfalls unter 203 in verschlüsselter Form gespeichert ist. Der Hauptzweck des Speicherns des verschlüsselten Metadaten-Verpackungsschlüssels 203 im Eintrag 201 besteht darin, es einem Managerbenutzer, der Zugriff auf den Metadatenschlüssel der autorisierten Vorrichtung 204 hat, zu ermöglichen, auf die verschlüsselten Metadaten 205 der autorisierten Vorrichtung zuzugreifen. Wenn der Metadaten-Verpackungsschlüssel für den Manager nicht zugänglich wäre, wäre der Manager nicht in der Lage, von der DSD 100 Informationen darüber abzurufen, welche autorisierten Vorrichtungen derzeit registriert sind. In einem Beispiel ist der Metadatenschlüssel 204 der autorisierten Vorrichtung ein einzelner Schlüssel für alle autorisierten Vorrichtungen und wird durch einen Managerschlüssel verschlüsselt gespeichert. Der Managerschlüssel kann ein Pseudozufallswert (z. B. 32 Bytes) sein und von der Zugangssteuerung 102 als Antwort auf das Löschen des Speicherungsmediums 105 generiert werden. Der Managerschlüssel wird für jede gepaarte Managervorrichtung 110/114 verschlüsselt und gespeichert.
  • Der Datensatz 201 weist weiterhin ein Feld für eine zweite Kopie der Rolle 220 der Vorrichtung auf, die mit einem Benutzerschlüssel 221 und einer zweiten Kopie des Metadaten-Verpackungsschlüssels 222 verkettet ist. Es ist anzumerken, dass sowohl die Rolle 207/220 als auch der Metadaten-Verpackungsschlüssel 203/222 in zwei Kopien gespeichert sind, die identisch sind, jedoch mit unterschiedlichen Schlüsseln verschlüsselt sind. Der Zweck des Speicherns von zwei Kopien der Rolle 207/220 besteht darin, es der Zugangssteuerung 102 zu ermöglichen, die Rolle sowohl während der Verbindung (als Antwort darauf, dass die Metadaten der autorisierten Vorrichtung entschlüsselt werden) als auch während des Entsperrens (als Antwort darauf, dass der Benutzerschlüssel 221 entschlüsselt wird) zu verifizieren. Der Zweck des Speicherns der ersten Kopie des Metadaten-Verpackungsschlüssels 203 besteht darin, sie einer Managervorrichtung bereitzustellen, die Zugriff auf den Metadatenschlüssel der autorisierten Vorrichtung hat. Der Zweck der zweiten Kopie des Metadaten-Verpackungsschlüssels 222 besteht darin, ihn während der ersten Verbindung einer vorautorisierten Vorrichtung bereitzustellen. Die verketteten Werte 220, 221, 222 werden zusammen durch ein kurzlebiges Entsperrgeheimnis (Ephemeral Unlock Secret, EUS) 223 verschlüsselt, das ursprünglich durch ein Diffie-Hellman-Verfahren unter Verwendung des kurzlebigen privaten Schlüssels entsprechend dem kurzlebigen öffentlichen Schlüssel 211 und dem entsperrenden öffentlichen Schlüssel 212 generiert wird. Das kurzlebige Entsperrgeheimnis 223 kann unter Verwendung des kurzlebigen öffentlichen Schlüssels 211 und eines zugeordneten privaten Entsperrschlüssels, der in der autorisierten Vorrichtung 111 gespeichert ist und dem öffentlichen Entsperrschlüssel 212 entspricht, wiederhergestellt werden. Mit anderen Worten kann das kurzlebige Entsperrgeheimnis 223 beim anfänglichen Anschluss der autorisierten Vorrichtung 111 an die DSD 100 unter Verwendung des kurzlebigen privaten Schlüssels und des öffentlichen Entsperrschlüssels 212 generiert werden. Es sei angemerkt, dass der kurzlebige private Schlüssel selbst nicht gespeichert ist, aber dennoch das kurzlebige Entsperrgeheimnis 223 wie vorstehend beschrieben wiederhergestellt werden kann. Das bedeutet, der Benutzerschlüssel 221 ist basierend auf der Antwort von der autorisierten Vorrichtung entschlüsselbar. Es sei angemerkt, dass der Benutzerschlüssel 221 für alle autorisierten Vorrichtungen identisch ist und zum Entschlüsseln von Benutzerinhaltsdaten verwendet werden kann. Dies bedeutet nicht notwendigerweise, dass der Benutzerschlüssel selbst die Benutzerinhaltsdaten entschlüsselt. Es können weitere Schlüssel vorhanden sein, die der Benutzerschlüssel entschlüsselt, und der finale Schlüssel entschlüsselt die Benutzerinhaltsdaten. Die Formulierungen „Verwenden eines Schlüssels zum Entschlüsseln von Benutzerinhaltsdaten“ und „Ermöglichen einer Entschlüsselung der Benutzerinhaltsdaten“ beziehen sich auf eine indirekte Verschlüsselung über mehrere Schlüssel in einer Kette. Im Gegensatz dazu bezieht sich „der Schlüssel entschlüsselt die Daten“ auf eine direkte Entschlüsselung der Daten mit dem Schlüssel, wie Modulo-Multiplikation der verschlüsselten Daten durch den Schlüssel. Hier wird der Benutzerschlüssel 221 zur indirekten Entschlüsselung der Daten verwendet und kann Ausgangspunkt einer Kette von Schlüsseln sein, die sequentiell entschlüsselt werden, bis schließlich die Kette bei dem Schlüssel endet, der die Benutzerinhaltsdaten entschlüsselt. Während in den meisten hierin offenbarten Beispielen das kurzlebige Entsperrgeheimnis 223 den Benutzerschlüssel 221 entschlüsselt, ist es auch möglich, dass der kryptographische Schlüssel auf andere Weise aus der Antwort auf die Aufforderung abgeleitet wird. Zum Beispiel kann die Antwort auf die Aufforderung direkt als kryptographischer Schlüssel verwendet werden, der die Benutzerinhaltsdaten entschlüsselt.
  • Diese Zuordnung von Schlüsseln und Metadaten ermöglicht eine Einrichtung, bei der die gesamten Einrichtungsinformationen über autorisierte Vorrichtungen, Managervorrichtungen und andere Aspekte in der DSD 100 selbst gespeichert sind. Die autorisierten Vorrichtungen benötigen jedoch einen in der jeweiligen autorisierten Vorrichtung gespeicherten Schlüssel, um die DSD 100 zu entsperren. Wenn ein nicht registrierter Benutzer ohne Zugriff auf Schlüssel auf die gesamte Einrichtung der Vorrichtung zugreifen möchte, wie beispielsweise eine Liste registrierter Vorrichtungen abrufen möchte, müsste der nicht registrierte Benutzer nur den Wiederherstellungsschlüssel als Managervorrichtung registrieren, um Zugriff auf den Managerschlüssel zu erhalten. Die DSD 100 kann dann den gesamten Inhalt des Einrichtungsspeichers 115 unter Verwendung des Managerschlüssels der neuen Managervorrichtung zur Verfügung stellen. Weiterhin können zwei Managervorrichtungen vorhanden sein, und beide können autorisierte Vorrichtungen registrieren oder entfernen. Die andere Managervorrichtung wäre in der Lage, Einrichtungsaktualisierungen zu erhalten, indem sie eigene Datensätze mit den in dem Einrichtungsspeicher 115 gespeicherten Daten synchronisiert. In einigen Beispielen ist die DSD 100 dazu eingerichtet, Datensätze 201 aller autorisierten Vorrichtungen zu löschen (aber nicht die Benutzerinhaltsdaten oder den Benutzerschlüssel 221 zu löschen, die als eine weitere Kopie in verschlüsselter Form in dem Einrichtungsspeicher 115 getrennt von dem Eintrag 201 und anderen Einträgen gespeichert sein können), wenn der Wiederherstellungsschlüssel verwendet wird, um Zugriff zu erhalten, was aber eine Richtlinienentscheidung ist.
  • 3 veranschaulicht den Steuerungsablauf 300 zwischen einer autorisierten Vorrichtung 111 und einer Zugangssteuerung 102, gemäß einer Ausführungsform. Zuerst initiiert die autorisierte Vorrichtung 111 ein Verbindungsverfahren, indem es ihren öffentlichen Transportschlüssel sendet 301. Dieser Schritt kann von einem Angreifer leicht erneut ausgeführt werden. Die Zugangssteuerung 102 antwortet 302 dann mit einer Anforderung nach einem Zertifikat und als Antwort auf diese Anforderung sendet 303 die autorisierte Vorrichtung 111 ein Zertifikat, das zuvor von der Zugangssteuerung 102 durch den Neuanmeldungsprozess erhalten wurde.
  • Zertifikat
  • 4 veranschaulicht ein Zertifikat 400, das von der Datenspeicherungsvorrichtung 100 ausgegeben und von der autorisierten Vorrichtung 111 an die Datenspeicherungsvorrichtung gesendet wird, um die Datenspeicherungsvorrichtung zu entsperren, gemäß einer Ausführungsform; In diesem Beispiel weist das Zertifikat 400 mehrere Typ-Längen-Wert-Felder (TLV-Felder) auf, wobei der Typ-Wert die Art des Felds angibt, das Teil des Zertifikats ist, Länge die Größe des Wert-Felds (in der Regel in Bytes) ist und Wert eine Serie von Bytes variabler Größe ist, die Daten für diesen Teil des Zertifikats enthält.
  • Das Zertifikat 400 beginnt mit einem TLV-Atom, das den Typ des folgenden Zertifikats angibt. Dies wird als Zertifikatsrolle 401 bezeichnet und weist einen 2 Byte-Wert auf, um anzugeben, dass es sich um ein Zertifikat der autorisierten Vorrichtung handelt.
  • Das Zertifikat 400 gehört zu einer Zertifikatskette. Die Zugangssteuerung 102 verwendet die Kette, um das Zertifikat 400 zu validieren und zu authentifizieren. Um anzugeben, zu welcher Kette das Zertifikat 400 gehört, verfügt das Zertifikat 400 über eine 4 Byte Stamm-Zertifikatskennung (ID) 402. Die Zertifikatskennung jedes Zertifikats in der Zertifikatskette ist gleich. Zertifikatskennungen, die nicht übereinstimmen, geben ein ungültiges Zertifikat an. In einem Beispiel gibt eine Stamm-Zertifikatskennung an, ob die Zertifikatskette eine Produktions- oder eine Entwicklungszertifizierungskette ist. In anderen Beispielen können andere Gruppen durch jeweilige Zertifikatskennungen angegeben werden.
  • Das Zertifikat 400 weist weiterhin einen 1-Byte-Indikator für die Zertifikatstiefe 403 auf. Die Tiefe eines Zertifikats ist definiert als sein Abstand von dem Stammzertifikat innerhalb seiner Zertifikatskette. Das Stammzertifikat ist so definiert, dass es eine Tiefe von Null aufweist. Wenn eine gegebene Zertifikatskette verarbeitet wird, werden die Tiefenfelder validiert, um die Integrität der Kette sicherzustellen.
  • Das Zertifikat 400 weist auch einen öffentlichen Transportschlüssel 404 auf (z. B. gemäß der elliptischen Kurve des National Institute of Standards and Technology (NIST) P-256) für das 64 Byte-Zertifikat). Jedes Zertifikat wird über einen öffentlichen Transportschlüssel bezeichnet/indiziert. Jeder Typ von öffentlichem Schlüssel weist seinen dedizierten Tag-Typ auf. Das heißt, der Tag-Typ bezeichnet die Chiffrier-Abfolge, die zum Generieren des öffentlichen Transportschlüssels verwendet wird, wie beispielsweise die Chiffrier-Abfolge P-256.
  • Das Zertifikat 400 weist weiterhin ein Datenfeld 405 auf (nachstehend erläutert) und wird über eine Signatur 406 authentifiziert. Die Zugangssteuerung 102 empfängt das Zertifikat 400 und validiert die Signatur, bevor sie einem der Inhalte des Zertifikats vertraut oder diesen verwendet. Um die Signaturvalidierung zu ermöglichen, wird der öffentliche Schlüssel 407 des 64 Byte-Unterzeichners als Teil des Zertifikats bereitgestellt. Die Signatur 406 selbst hat eine Länge von 64 Bytes und wird über alle früheren TLVs 401-405, 407 berechnet, die sich innerhalb des Zertifikats befinden, unabhängig davon, ob sie von der Implementierung erkannt werden oder nicht. Insbesondere wird die Signatur 406 aus einem Hash der Zertifikatdaten abgeleitet. Die spezifischen Daten, die signiert werden, sind zertifikatabhängig, enthalten jedoch alle TLVs, die verwendet werden, um das Zertifikat darzustellen, einschließlich TLVs, die nicht erkannt werden. Der zur Generierung der Signatur verwendete Schlüssel ist ein logischer Identitätsschlüssel und ist dem öffentlichen Signierschlüssel 407 zugeordnet.
  • Das Datenfeld 405 weist die Slot-Nummer 410 auf, die den Index des Datensatzes 201 im Einrichtungsspeicher 115 bezeichnet. Das Datenfeld 405 weist auch eine weitere Kopie des Metadaten-Verpackungsschlüssels 411 auf (zusätzlich zu den beiden in 2 gezeigten Kopien). Das Datenfeld 405 wird mit dem Slot-Schlüssel der autorisierten Vorrichtung (ADSK) 412, der ein im Einrichtungsspeicher 115 gespeicherter 16 Byte Pseudozufallswert ist, verschlüsselt und zur Verschlüsselung von Daten in Zertifikaten der autorisierten Vorrichtung verwendet, sodass nur die ausgebende DSD 100 die Informationen wiederherstellen kann.
  • Entsperren der Datenspeicherungsvorrichtung
  • Wenn wiederum in Bezug auf 3 die autorisierte Vorrichtung 111 die DSD 100 entsperren möchte, sendet 303 die autorisierte Vorrichtung 111 das Zertifikat 400, das den verschlüsselten Metadaten-Verpackungsschlüssel (MWK) 213/411 enthält, an die Zugangssteuerung 102. Das Zertifikat 400 enthält auch die Slot-Nummer 410, die ein Index des Datensatzes 201 im Einrichtungsspeicher 115 ist.
  • Die Zugangssteuerung 102 verwendet den Slot-Schlüssel der autorisierten Vorrichtung, der im Einrichtungsspeicher 115 gespeichert ist, um das Datenfeld 405 zu entschlüsseln 304 und die Slot-Nummer und den Metadaten-Verpackungsschlüssel zu extrahieren. Die Zugangssteuerung 102 fragt dann den Einrichtungsspeicher 115 ab, um den entsprechenden Datensatz 201 aus dem Einrichtungsspeicher 115 zu lesen 305, und entschlüsselt 306 die Metadaten der autorisierten Vorrichtung 205 unter Verwendung des Metadaten-Verpackungsschlüssels. Daraus ergibt sich der kurzlebige öffentliche Schlüssel 211, der auch als Kennung der autorisierten Vorrichtung bezeichnet werden kann, da er die autorisierte Vorrichtung eindeutig identifiziert, da der kurzlebige öffentliche Schlüssel 211 einem nur in der autorisierten Vorrichtung 111 gespeicherten privaten Entsperrschlüssel kryptographisch zugeordnet ist. Die Zugangssteuerung 102 kann zusätzliche Prüfungen 307 durchführen, wie Validieren, dass der öffentliche Transportschlüssel 209, der in den Metadaten der autorisierten Vorrichtung 205 enthalten ist, mit dem öffentlichen Transportschlüssel 404 übereinstimmt, der im Zertifikat 400 präsentiert wird. Weiterhin validiert die Zugangssteuerung 102 die Rolle 401 gegenüber dem gültigen Satz von Werten und ordnet die Rolle der Verbindung zu. Dies bedeutet, dass die Zugangssteuerung 102 während der Verbindungsdauer die aktuelle Rolle (autorisierte Vorrichtung oder Managervorrichtung) kennt. Zum Beispiel speichert die Zugangssteuerung 102 einen Parameterwert in einem flüchtigen Speicher, der die Rolle 401 angibt, die in dem Zertifikat bereitgestellt wird. Wenn eine der vorangegangenen Überprüfungen fehlschlägt, gilt die autorisierte Vorrichtung als widerrufen und es wird ein diesbezüglicher Fehler ausgegeben. Andernfalls gelingt der Verbindungsversuch und die Zugangssteuerung 102 sendet 308 eine Verbindungsbestätigungsnachricht an die autorisierte Vorrichtung 111.
  • In diesem Stadium ist die autorisierte Vorrichtung 111 verbunden und der Entsperrprozess beginnt 319, indem die autorisierte Vorrichtung 111 eine Entsperranforderung zum Zugriff auf die Steuerung 102 sendet 320. Die Entsperranforderung schließt den öffentlichen Entsperrschlüssel ein, der dem privaten Entsperrschlüssel zugeordnet ist, der in dem sicheren Hardwaremodul der autorisierten Vorrichtung gespeichert ist. Die Zugangssteuerung 102 stimmt den empfangenen öffentlichen Entsperrschlüssel mit dem öffentlichen Entsperrschlüssel 212 ab 321, der in dem Metadatensatz 205 der autorisierten Vorrichtung gespeichert ist. Als nächstes generiert 322 die Zugangssteuerung 102 einen neuen Verblendungswert (auch Entsperr-Verblendungsschlüssel (Unlock Blending Key, UBK) genannt), der im Wesentlichen ein kurzlebiger privater Skalar ist und zufallsbasiert generiert wird.
  • Der Zugangssteuerung 102 generiert dann die Aufforderung basierend auf der Kennung der autorisierten Vorrichtung (z. B. kurzlebiger öffentlicher Schlüssel 211) multipliziert mit dem Entsperr-Verblendungsschlüssel (UBK). Insbesondere multipliziert 323 die Zugangssteuerung 102 den kurzlebigen öffentlichen Schlüssel 211 mit dem Entsperr-Verblendungsschlüssel, wobei die vollen X- und Y-Koordinaten des Ergebnisses zurückgegeben werden, wobei angemerkt wird, dass diese Operation auf einer elliptischen Kurve durchgeführt wird. Die Zugangssteuerung 102 sendet 324 dann die X- und Y-Koordinaten als Aufforderung an die autorisierte Vorrichtung 111. An dieser Stelle sei angemerkt, dass diese Aufforderung auf der Kennung der autorisierten Vorrichtung 111 basiert, da der kurzlebige öffentliche Schlüssel ein Faktor bei der Multiplikation ist, die zu der Aufforderung führt. Es sei weiterhin angemerkt, dass für jede Entsperranforderung (d. h. 320) ein anderer Entsperr-Verblendungsschlüssel generiert wird, um „Man-in-the-middle“-Angriffe zu vermeiden.
  • Weiterhin berechnet 325 die Zugangssteuerung 102 die Inverse des Entsperr-Verblendungsschlüssels (UBK-1). Die Zugangssteuerung 102 kann die Inverse des Entsperr-Verblendungsschlüssels berechnen, während sie auf eine Antwort von der autorisierten Vorrichtung 111 wartet.
  • Die autorisierte Vorrichtung 111 berechnet eine Antwort auf die Aufforderung, indem die Aufforderung mit dem privaten Entsperrschlüssel multipliziert 326 wird, der in dem sicheren Hardwaremodul der autorisierten Vorrichtung gespeichert ist und dem öffentlichen Entsperrschlüssel 212 entspricht, der in dem Einrichtungsspeicher 115 gespeichert ist. Dabei kann es sich um die Ausführung einer kryptographischen Stammfunktion handeln, die vollständig innerhalb des sicheren Hardwaremoduls innerhalb der autorisierten Vorrichtung 111 ausgeführt werden kann. Die autorisierte Vorrichtung 111 sendet dann das Ergebnis in einer Antwortnachricht zurück 327. Die Zugangssteuerung 102 multipliziert 328 das zurückgegebene Ergebnis mit der Inversen des Entsperr-Verblendungsschlüssels, um das kurzlebige Entsperrgeheimnis (EUS) zu berechnen 223.
  • In mathematischer Notation stellt P den kurzlebigen öffentlichen Schlüssel dar, und k stellt den Entsperr-Verblendungsschlüssel dar, der in Schritt 322 in 3 erstellt wurde. Die Zugangssteuerung 102 berechnet 323 das Produkt k*P und sendet 324 es an die autorisierte Vorrichtung 111. Die autorisierte Vorrichtung 111 multipliziert 326 die Aufforderung mit dem privaten Entsperrschlüssel j, um j*k*P zu berechnen, und gibt das Ergebnis an die Steuerung 102 zurück 327. Die Zugangssteuerung 102 multipliziert 238 diese Antwort mit der Inversen des Entsperr-Verblendungsschlüssel k-1, um k 1 * j * k * P
    Figure DE112020000268T5_0001
    zu berechnen, die aufgrund kommutativer Natur elliptischer Kurven gleich j*P ist (d. h., k-1*j*k*P = k*k-1*j*P = j*P).
  • Die Zugangssteuerung 102 verwendet dann j*P als kurzlebiges Entsperrgeheimnis (d. h. Schlüssel), um den Benutzerschlüssel 221 zu entschlüsseln 329. Das heißt, die Zugangssteuerung 102 verwendet das kurzlebige Entsperrgeheimnis, um den in der DSD 100 gespeicherten Benutzerschlüssel 221 zu entschlüsseln, der mit dem kurzlebigen Entsperrgeheimnis verschlüsselt ist. Insbesondere entschlüsselt 329 die Zugangssteuerung 102 den Benutzerschlüssel, der dann 330 einen „User Drive Key“, Benutzerlaufwerkschlüssel, entschlüsselt, der dann schließlich über TCG-Befehle an die Kryptographiemaschine 106 gesendet 331 wird. Das heißt, der Benutzerlaufwerkschlüssel kann von der Zugangssteuerung 102 unter Verwendung einer Schlüsselableitungsfunktion basierend auf dem Benutzerschlüssel generiert werden. Der Benutzerlaufwerkschlüssel ist der TCG-Autorisierungsnachweis, der verwendet wird, um die DSD 100 zu entsperren, und kann mit dem hierin beschriebenen „kryptografischen Schlüssel“ gleichgesetzt werden. Im Falle von Opal ist dies der Benutzer2-Autorisierungsnachweis.
  • Es sei angemerkt, dass das kurzlebige Entsperrgeheimnis bei dem Neuanmeldungsprozess generiert wird, indem es aus dem Ergebnis eines Elliptic Curve Diffie-Hellman-Prozesses unter Verwendung des in der autorisierten Vorrichtung 111 gespeicherten privaten Entsperrschlüssels und des öffentlichen Entsperrschlüssels 212 einen symmetrischen Schlüssel ableitet. Der resultierende Schlüssel wird verwendet, um den Benutzerschlüssel 221 zu verschlüsseln, aber nicht in der DSD 100 gespeichert. Stattdessen wird er jedes Mal neu generiert, wenn eine autorisierte Vorrichtung die Entsperrung der DSD 100 anfordert, wie oben beschrieben.
  • In einem weiteren Beispiel kann der private Entsperrschlüssel j in den vorstehenden Gleichungen durch ein Produkt des privaten Entsperrschlüssels durch einen aus einer Passphrase abgeleiteten Wert ersetzt werden. Der private Entsperrschlüssel wäre zwar noch im sicheren Hardwaremodul der autorisierten Vorrichtung gespeichert, der private Entsperrschlüssel allein wäre jedoch nicht in der Lage, die in der DSD 100 gespeicherten Benutzerinhaltsdaten zu entschlüsseln. Stattdessen muss der Benutzer die Passphrase eingeben, um die Antwort auf die Aufforderung zu berechnen und diese Antwort zu senden 327. Dies würde einfach das vorstehende j durch das Produkt von j multipliziert mit dem Passphrasenwert ersetzen. Die DSD würde von dieser Änderung nichts mitbekommen, da das kurzlebige Entsperrgeheimnis 223 aus Sicht der Zugriffssteuerung 102 in gleicher Weise wie vorstehend generiert würde.
  • Anmeldung und Neuanmeldung
  • Es sei angemerkt, dass der in 2 gezeigte Datensatz 201 gezeigt wird, nachdem die autorisierte Vorrichtung 111 den Neuanmeldungsprozess abgeschlossen hat und die verschlüsselten Benutzerinhaltsdaten entschlüsseln darf. Wiederum gibt es insgesamt drei Schritte: Zuerst registriert die Managervorrichtung 110 eine Benutzervorrichtung 111 einmal als eine von mehreren autorisierten Vorrichtungen. Zweitens meldet sich die autorisierte Vorrichtung 111 einmal erneut bei der ersten Verbindung mit der Zugangssteuerung 102 an, um die Generierung der beteiligten Schlüssel abzuschließen. Drittens verbindet sich die autorisierte Vorrichtung 111 anschließend mit der Zugangssteuerung 102, um die DSD 100 zu entsperren. Dieser dritte Schritt kann mehrmals auftreten.
  • Während des von der Managervorrichtung 110 initiierten (anfänglichen) Anmeldungsschritts empfängt die Zugangssteuerung 102 von der Managervorrichtung 110 einen öffentlichen Schlüssel, der einem auf der Benutzervorrichtung 111 gespeicherten privaten Schlüssel entspricht. Als Reaktion erstellt die Zugangssteuerung 102 Autorisierungsdaten, die ähnlich dem Datensatz 201 in 2 sind, mit der Ausnahme, dass das Feld öffentlicher Entsperrschlüssel 212 den öffentlichen Transportschlüssel 209 (wie von der Managervorrichtung 110 empfangen) enthält, da der öffentliche Entsperrschlüssel noch nicht generiert wurde. Die Zugangssteuerung 102 generiert den Vorautorisierungsschlüssel 202, der im Wesentlichen ein Index zum Auffinden des Datensatzes 201 ist. Der Vorautorisierungsschlüssel wird durch eine Schlüsselgenerierungsfunktion unter Verwendung der x-Koordinate des empfangenen öffentlichen Transportschlüssels 209 und eines Salt-Wertes generiert. Der Salt-Wert kann ein Slot-Schlüssel der autorisierten Vorrichtung sein, der ein 16-Byte-Pseudozufallswert sein kann, der während des „Inbesitznahme“-Prozesses generiert wird, in dem Einrichtungsspeicher 115 gespeichert ist, und nicht mit der autorisierten Vorrichtung geteilt wird. Auf diese Weise kann der Salt nach jedem „Factory Reset“, Rücksetzen auf die Werkseinstellung, unterschiedlich sein, wie jedes Mal, wenn eine Managervorrichtung die DSD 100 in Besitz nimmt.
  • Das Erstellen der Autorisierungsdaten, die im Datensatz 201 gespeichert sind, weist weiterhin das Generieren des Metadaten-Verpackungsschlüssels 222 auf, beispielsweise durch Generieren eines 16-Byte-Pseudozufallswerts. Die Zugangssteuerung 102 speichert den Metadaten-Verpackungsschlüssel in Feld 222. Weiterhin generiert die Zugangssteuerung 102 das kurzlebige Entsperrgeheimnis 223 und verschlüsselt die Rolle 220 (z. B. „autorisierte Vorrichtung“), den Benutzerschlüssel 221 und den neuen Metadaten-Verpackungsschlüssel 222 mit dem kurzlebigen Entsperrgeheimnis 223. Dann generiert die Zugangssteuerung 102 aus dem kurzlebigen Entsperrgeheimnis 223 einen kurzlebigen öffentlichen Schlüssel 211 und verwirft das kurzlebige Entsperrgeheimnis 223.
  • Man beachte, dass während des (anfänglichen) Anmeldungsschritts, der von der Managervorrichtung 110 initiiert wird, die Zugangssteuerung 102 Autorisierungsdaten erzeugt, die dem Datensatz 201 in 2 ähnlich sind. Im Gegensatz zu 2 werden die Metadaten 205 der autorisierten Vorrichtung nicht mit dem neuen Metadaten-Verpackungsschlüssel, sondern mit einem vorautorisierten Metadaten-Verpackungsschlüssel verschlüsselt, da der eigentliche Metadaten-Verpackungsschlüssel 222 der autorisierten Vorrichtung 111 noch nicht zur Verfügung steht. Der vorautorisierte Metadaten-Verpackungsschlüssel kann mit dem Vorautorisierungsschlüssel 202 in diesem Stadium identisch sein oder getrennt generiert werden. Es sei angemerkt, dass der vorautorisierte Metadaten-Verpackungsschlüssel, der nun die Metadaten 205 der autorisierten Vorrichtung verschlüsselt, nur durch die Zugangssteuerung 102 generiert und nicht durch die autorisierte Vorrichtung 111 bereitgestellt werden kann, da die autorisierte Vorrichtung 111 keinen Zugriff auf den Slot-Schlüssel der autorisierten Vorrichtung hat, der verwendet wird, um den vorautorisierten Metadaten-Verpackungsschlüssel zu generieren.
  • So sendet die autorisierte Vorrichtung 111 als Antwort auf die autorisierte Vorrichtung 111, die sich zuerst mit der Zugangssteuerung 102 verbindet, ihren öffentlichen Transportschlüssel an die Zugangssteuerung 102. Zugangssteuerung 102 verwendet den öffentlichen Transportschlüssel und den gespeicherten Slot-Schlüssel der autorisierten Vorrichtung, um den Vorautorisierungsschlüssel 202 zu generieren. Zugangssteuerung 102 kann dann im Einrichtungsspeicher 115 nach dem Vorautorisierungsschlüssel 202 suchen, um den Datensatz 201 abzurufen. Die Zugangssteuerung 102 kann auch den Vorautorisierungsschlüssel als den Vorautorisierungs-Metadaten-Verpackungsschlüssel verwenden, um die Metadaten der autorisierten Vorrichtung 205 zu entschlüsseln.
  • Wie oben beschrieben, generiert die Zugangssteuerung 102 eine Aufforderung unter Verwendung des öffentlichen Schlüssels 211 und eines Entsperr-Verblendungsschlüssels. Die Zugangssteuerung 102 erstellt dann aus der Antwort das kurzlebige Entsperrgeheimnis 223. Es sei angemerkt, dass nur die autorisierte Vorrichtung 111 mit dem privaten Schlüssel, der dem öffentlichen Transportschlüssel 209 entspricht, eine gültige Antwort erstellen kann. Dies bedeutet, dass selbst wenn ein Angreifer den Einrichtungsspeicher 115 demontiert und den Slot-Schlüssel der autorisierten Vorrichtung liest, um den Vorautorisierungs-Metadaten-Verpackungsschlüssel zu generieren, um den kurzlebigen öffentlichen Schlüssel 211 zu entschlüsseln, der Angreifer noch immer nicht in der Lage wäre, das kurzlebige Entsperrgeheimnis 223 zu generieren.
  • Die Zugangssteuerung 102 validiert die Antwort, indem sie prüft, ob die Antwort als kurzlebiges Entsperrgeheimnis 223 funktioniert, und aktualisiert als Antwort die Autorisierungsdaten im Datensatz 201. Insbesondere überprüft die Zugangssteuerung 102, ob das Feld 212 für den öffentlichen Entsperrschlüssel identisch mit dem öffentlichen Transportschlüssel 209 ist. Als Reaktion darauf, dass beide identisch sind (wie oben ausgeführt), fordert die Zugangssteuerung 102 einen neuen öffentlichen Entriegelungsschlüssel von der autorisierten Vorrichtung 111 an und speichert den zurückgegebenen Schlüssel als öffentlichen Entriegelungsschlüssel 212.
  • Die Zugangssteuerung entschlüsselt weiterhin den Metadaten-Verpackungsschlüssel 222, der während der Registrierung durch die Managervorrichtung 110 generiert wurde. In diesem Stadium kann die Zugangssteuerung 102 das kurzlebige Entsperrgeheimnis 223 regenerieren, die Rolle 220 verschlüsseln, den Benutzerschlüssel 221 und den Metadaten-Verpackungsschlüssel 222 verschlüsseln, den kurzlebigen öffentlichen Schlüssel 211 regenerieren und speichern und das kurzlebige Entsperrgeheimnis 223 verwerfen. Schließlich verschlüsselt die Zugangssteuerung die Metadaten 205 der autorisierten Vorrichtung mit dem Metadaten-Verpackungschlüssel 222 und überschreibt den Vorautorisierungsschlüssel 202 mit Zufallswerten, um den Einrichtungsspeicher 115 auch bei Besitz des öffentlichen Transportschlüssels und/oder des öffentlichen Entsperrschlüssels von Zufallsdaten ununterscheidbar zu machen. Damit sind die Aktualisierung der im Datensatz 201 gespeicherten Autorisierungsdaten und der Anmeldungsprozess abgeschlossen. Dadurch wird es der autorisierten Vorrichtung 111 als einer von mehreren autorisierten Vorrichtungen ermöglicht, die verschlüsselten Benutzerinhaltsdaten durch die vorstehend dargelegten Entsperrschritte zu entschlüsseln.
  • Der vorstehend beschriebene Prozess, der das Erstellen und Aktualisieren von Autorisierungsdaten beinhaltet, ermöglicht die Anmeldung mehrerer autorisierter Vorrichtungen unter Verwendung nur ihrer öffentlichen Schlüssel während des ersten Schritts der Anmeldung durch die Managervorrichtung 110. Auf diese Weise müssen keine geheimen Informationen geteilt werden, die möglicherweise abgefangen und zum böswilligen Entsperren anderer Vorrichtungen des Benutzers verwendet werden könnten.
  • 5 veranschaulicht ein Verfahren 500 zum Zugreifen auf Daten auf einer DSD 100, wie sie von der DSD 100 durchgeführt werden und einigen der Schritte entsprechen, die von der DSD 100 (insbesondere der Zugangssteuerung 102) während des Datenflusses 300 in 3 durchgeführt werden, gemäß einer Ausführungsform. Verfahren 500 weist das Erzeugen 501 einer Aufforderung für eine autorisierte Vorrichtung 111 (Schritte 322 und 323 in 3) auf. Dann sendet DSD 100 die Aufforderung 502 über einen Kommunikationskanal an die autorisierte Vorrichtung (Schritt 324 in 3). Der Kommunikationskanal unterscheidet sich von einem Datenpfad, der das Speicherungsmedium 105 der DSD 100 über eine Kryptographiemaschine 106 mit dem Host-Computersystem 104 verbindet. Dann empfängt die DSD 100 503 eine Antwort auf die Aufforderung von der autorisierten Vorrichtung 111 über den Kommunikationskanal und berechnet anschließend 504 einen kryptographischen Schlüssel basierend mindestens teilweise auf der Antwort (Schritte 328, 329, 330 in 3). Schließlich stellt die DSD 100 505 den berechneten kryptographischen Schlüssel an die Kryptographiemaschine 106 bereit, um die verschlüsselten Benutzerinhaltsdaten, die auf dem Speicherungsmedium 105 der DSD 100 gespeichert sind, zu entschlüsseln (Schritt 331 in 3).
  • Registrieren der Datenspeicherungsvorrichtung
  • Der Datenanschluss 103 registriert sich bei dem Host-Computersystem 104 als Blockdatenspeicherungsvorrichtung. Zum Beispiel stellen Universal Serial Bus-Vorrichtungen (USB-Vorrichtungen) Informationen in Form eines USB-Vorrichtungsdeskriptors bereit. Der USB-Vorrichtungsdeskriptor enthält relevante Informationen über die Vorrichtung. Dementsprechend registriert sich in Ausführungsformen, in denen die Datenspeicherungsvorrichtung über eine USB-Verbindung mit einem Host-Computersystem verbunden ist, die Datenspeicherungsvorrichtung bei dem Host-Computersystem als Blockdatenspeicherungsvorrichtung durch Konfigurieren ihres USB-Vorrichtungsdeskriptors, um anzugeben, dass die Datenspeicherungsvorrichtung eine Blockdatenspeicherungsvorrichtung ist.
  • Der USB-Vorrichtungsdeskriptor stellt strukturierte Informationen in Bezug auf die USB-Vorrichtung, wie beispielsweise die Klasse der Vorrichtung, unterstützte Protokolle, Art der Vorrichtung, Hersteller und andere Einrichtungsparameter, bereit. Ein Betriebssystem eines Host-Computers kann den USB-Vorrichtungsdeskriptor der Datenspeicherungsvorrichtung durch Senden verschiedener Standardsteueranforderungen (z. B. GET_DESCRIPTOR-Anforderungen) an die Datenspeicherungsvorrichtung erhalten. Als Antwort auf das Empfangen dieser Anforderungen stellt die Datenspeicherungsvorrichtung dem Host-Computersystem den USB_DEVICE_DESCRIPTOR für USB-Vorrichtung, bereit, wodurch die Datenspeicherungsvorrichtung bei dem Host-Computersystem als Blockdatenspeicherungsvorrichtung registriert wird. Der Host-Computer interpretiert den USB_DEVICE_DESCRIPTOR, um die Einrichtung und Fähigkeiten der Datenspeicherungsvorrichtung zu bestimmen. Das Host-Computersystem kann dann Informationen bezüglich der Datenspeicherungsvorrichtung in den Registern des Betriebssystems des Host-Computersystems speichern.
  • Managerschlüssel
  • Bezugnehmend auf 2 wird darauf hingewiesen, dass sich die vorstehende Beschreibung auf eine autorisierte Vorrichtung bezieht, die als solche registriert wird, indem die Autorisierungsdaten einschließlich des öffentlichen Transportschlüssels 209 der Vorrichtung und des öffentlichen Entsperrschlüssels 212 auf dem Einrichtungsspeicher 115 gespeichert werden. Das erfolgreiche Aufforderung-Response-Verfahren ermöglicht dann die Entschlüsselung des einzigen Benutzerschlüssels 221, der dann zur Entschlüsselung der Benutzerinhaltsdaten verwendet wird.
  • Eine ähnliche Datenstruktur, wie unter Bezugnahme auf 2 beschrieben, kann auch verwendet werden, um eine Vorrichtung als eine Managervorrichtung zu registrieren. Unterschiede im Vergleich zu einem Eintrag einer „autorisierten Vorrichtung“ wären:
    1. a) die Rollenfelder 207 und 220 würden „Managervorrichtung“ anstatt „autorisierte Vorrichtung“ (codiert in jeweiligen Bits oder Bytes) enthalten; und
    2. b) der Benutzerschlüssel 221 würde durch einen Managerschlüssel ersetzt werden.
  • Der Managerschlüssel ist ein symmetrischer (privater) Schlüssel, der das Entpacken (d. h. Entschlüsseln) oder Ableiten verschiedener anderer Schlüssel und im Einrichtungsspeicher 115 gespeicherter Daten, wie hierin beschrieben, ermöglicht. Zum Beispiel kann die Zugangssteuerung 102 eine Schlüsselgenerierungsfunktion ausführen, um den Metadatenschlüssel 204 der autorisierten Vorrichtung aus dem Managerschlüssel abzuleiten, um den Metadaten-Verpackungsschlüssel 203 für einen bestimmten Eintrag der autorisierten Vorrichtung zu entschlüsseln, der wiederum die Metadaten 205 der autorisierten Vorrichtung für diese autorisierte Vorrichtung entschlüsselt. Es sei angemerkt, dass es nur einen einzigen Managerschlüssel gibt, sodass in Fällen, in denen mehrere Managergeräte registriert sind, diese denselben Managerschlüssel verwenden.
  • Protokoll-Header
  • 6 veranschaulicht einen Protokoll-Header 600, der Informationen für alle Protokolleinträge, die nachstehend beschrieben sind, gemäß einer Ausführungsform speichert. Das heißt, der Protokoll-Header 600 wird getrennt von den Protokolleinträgen gespeichert, und es gibt nur einen einzigen Protokoll-Header. Der Protokoll-Header 600 kann auch auf dem Einrichtungsspeicher 115 gespeichert sein, oder es kann einen separaten Protokollspeicher geben, oder der Protokoll-Header 600 kann auf dem Speicherungsmedium 105 gespeichert sein.
  • Der Protokoll-Header 600 weist einen nächsten Protokollzeiger 601, einen anfänglichen Protokollzeiger 602, einen öffentlichen Protokoll-Header-Eintragsschlüssel 604, einen öffentlichen Protokollierungsschlüssel 605 und einen entsprechenden privaten Protokollierungsschlüssel 606 auf, der durch den Managerschlüssel 607 verschlüsselt ist. In einem Beispiel gibt es ein vordefiniertes Maximum an 256 Protokolleinträgen, und der nächste Protokollzeiger 601 gibt den nächsten Eintrag an, der geschrieben werden soll. Somit ist der nächste Protokollzeiger 601 eine Zahl von 0 bis 255, die durch eine vorzeichenlose ganze Zahl von 8 Bit dargestellt werden kann. Ein Beispiel verwendet jedoch eine vorzeichenlose ganze Zahl 32 Bit als nächsten Protokollzeiger 601, um die Erkennung eines Wrap-Arounds zu ermöglichen, falls mehr als 255 Protokolleinträge geschrieben wurden und der nächste Protokollzeiger 601 umläuft, um zum Startpunkt zurückzukommen. In einem Beispiel wird der nächste Protokollzeiger 601 zunächst als Pseudozufallswert erzeugt (werksseitig Reset oder „Inbesitznahme“), was den Vorteil hat, den Header 600 von Zufallsdaten nicht unterscheidbar zu machen, obwohl der nächste Protokollzeiger 601 im Klartext (d. h. unverschlüsselt) gespeichert ist. Es sei angemerkt, dass es für das Schreiben von Protokolleinträgen praktisch unerheblich ist, welcher Zeigerwert Ausgangspunkt ist, wenn der nächste Protokollzeiger 601 natürlich umläuft.
  • Der anfängliche Protokollzeiger 602 ist ebenfalls gespeichert, sodass die Zugangssteuerung 102 die Differenz zwischen dem anfänglichen Protokollzeiger 602 und dem nächsten Protokollzeiger 601 leicht berechnen kann, um die Anzahl der Protokolleinträge zu bestimmen, die in den Einrichtungsspeicher 115 geschrieben werden. Es sei angemerkt, dass der anfängliche Protokollzeiger 602 der zufällige Wert sein kann, der ursprünglich als der Wert für den allerersten Protokolleintrag (d. h. den allerersten nächsten Protokollzeiger 601) beim werksseitigen Reset oder „Inbesitznahme“ erzeugt wurde. In diesem Beispiel wird der anfängliche Protokollzeiger 602 unter Verwendung eines symmetrischen anfänglichen Protokollzeiger-Verpackungsschlüssel 603 verschlüsselt, der von dem Managerschlüssel durch eine Schlüsselableitungsfunktion abgeleitet wird. In diesem Fall sind keine weiteren Informationen erforderlich, um den anfänglichen Protokollzeiger Verpackungsschlüssel 603 abzuleiten. Somit kann der anfängliche Protokollzeiger 602 als Reaktion darauf, dass der Managerschlüssel verfügbar wird, entschlüsselt werden.
  • Der öffentliche Protokoll-Header-Eintragsschlüssel 604 ist ein öffentlicher Schlüssel, der sich auf den jüngsten Protokolleintrag (beim nächsten Protokollzeiger minus 1) bezieht, wie nachstehend beschrieben. Selbstverständlich kann der nächste Protokollzeiger 601 auf den jüngsten Protokolleintrag zeigen, und der nächste Eintrag wird durch Hinzufügen von 1 berechnet.
  • Protokolleinträge
  • 7 veranschaulicht eine Protokolleintragstabelle 700, die einen ersten Protokolleintrag 710 und einen zweiten Protokolleintrag 720 gemäß einer Ausführungsform aufweist. Die Protokolleintragstabelle 700 kann auch auf dem Einrichtungsspeicher 115 oder auf dem separaten Protokollspeicher gespeichert sein, oder die Protokolleintragstabelle 700 kann auf dem Speicherungsmedium 105 gespeichert sein.
  • Der erste Protokolleintrag 710 weist einen öffentlichen Schlüssel 711 mit vorhergehendem Protokolleintrag und erste Protokolldaten 712 auf. Protokolldaten 712 definieren ein „Ereignis“ und können eines oder mehrere von einem Zeitstempel, einem öffentlichen Transportschlüssel der verbundenen Vorrichtung (Managervorrichtung 110, autorisierte Vorrichtung 111, 117, 118, 120, oder 121), einer durchgeführten Aktion, geografischen Standortdaten („Geostandort“-Daten oder beliebigen anderen Informationen, die für eine spätere Untersuchung des Ereignisses nützlich sein können, einschließen. Für den allerersten Protokolleintrag nach Werksrücksetzung oder „Inbesitznahme“ kann der vorherige öffentliche Protokolleintragsschlüssel 711 ein Zufallswert sein. Dieser allererste Protokolleintrag kann das Auftreten des Ereignisses „Inbesitznahme“ der Datenspeicherungsvorrichtung aufzeichnen. Weitere Ereignisse der Datenspeicherungsvorrichtung können das Verbinden, Entsperren, Vorregistrieren (einer Benutzervorrichtung/eines Schlüsselanhängers/eines Beacons durch die Managervorrichtung), Neuanmeldung (durch eine autorisierte Vorrichtung) oder andere Ereignisse einschließen.
  • Die Protokolldaten 712 und der vorherige öffentliche Schlüssel 711 des Protokolleintrags sind verschlüsselt. In anderen Beispielen werden nur die Protokolldaten 712 verschlüsselt und der öffentliche Schlüssel 711 im Klartext gespeichert. In einem Beispiel können der öffentliche Schlüssel 711 des Protokolleintrags und die Protokolldaten 712 unter Verwendung eines öffentlichen RSA-Schlüssels verschlüsselt werden, der in Feld 604 in 6 gespeichert werden kann.
  • In anderen hierin beschriebenen Beispielen wird jedoch Elliptische-Kurven-Kryptographie verwendet. Dabei generiert die Zugangssteuerung 102 zufällig einen privaten Protokoll-Header-Eintragsschlüssel (LHEK, log head entry key) und generiert daraus zusammen mit dem öffentlichen Protokollierungsschlüssel 605 ein Geheimnis, indem sie das Ergebnis eines Elliptic Curve Diffie-Hellman-Verfahrens als Argument für eine Schlüsselableitungsfunktion verwendet. Die Zugangssteuerung 102 verschlüsselt den Protokolleintrag 710 einschließlich der Protokolldaten 712 und des vorherigen öffentlichen Protokollierungsschlüssels 711 mit diesem Geheimnis (das auf dem privaten Protokoll-Header-Eintragsschlüssel basiert). Dann erzeugt die Zugangssteuerung 102 einen entsprechenden öffentlichen Schlüssel ECC-Pub (LHEK) und speichert diesen als öffentlichen Schlüssel 604 des Protokoll-Header-Eintrags im Header 600 ab. Schließlich verwirft die Zugangssteuerung 102 den generierten privaten Schlüssel, der darin bestehen kann, ihn nur auf flüchtigem Speicher zu speichern, sodass er beim Abschalten verloren geht, ihn löscht oder überschreibt oder ihn dort speichert, wo er durch den nächsten privaten Schlüssel überschrieben wird.
  • Der resultierende Protokolleintrag 710 ist aufgrund des Verschlüsselungsschritts nicht von Zufallsdaten unterscheidbar und kann auch nicht durch die autorisierte Vorrichtung entschlüsselt werden, da der private Schlüssel verworfen wurde, wie nach dem Abschalten, Einschalten und/oder Reset.
  • Die folgenden Beschreibungen beziehen sich der Einfachheit halber auf Schritte, die von der Managervorrichtung 110 und der autorisierten Vorrichtung 111 durchgeführt werden, wobei darauf hingewiesen wird, dass die Schritte Aktionen einschließen können, die von der Zugangssteuerung 102 als Reaktion darauf durchgeführt werden, dass die jeweilige Vorrichtung wie oben beschrieben verbunden wird. Die Managereinrichtung 110 hat Zugriff auf den Managerschlüssel 607 und kann daher den privaten Protokollierungsschlüssel (LK) 606 entschlüsseln. Die Managervorrichtung 110 kann auch den öffentlichen Protokoll-Header-Eintragsschlüssel (ECC-Pub (LHEK)) 604 lesen, der im Klartext im Header 600 gespeichert ist. Dies ermöglicht es der Managervorrichtung 110, das Geheimnis abzuleiten, indem sie beispielsweise wiederum ein Elliptic Curve Diffie-Hellman-Verfahren unter Verwendung des öffentlichen Protokoll-Header-Eintragsschlüssels 604 und des privaten Protokollierungsschlüssels 606 als Argumente durchführt und dann das Geheimnis aus dem Ergebnis durch eine Schlüsselgenerierungsfunktion ableitet. Daher kann die Managervorrichtung 110 das Geheimnis verwenden, um den Protokolleintrag 710, 720 zu entschlüsseln.
  • In Form von Gleichungen berechnet die autorisierte Vorrichtung 111 ECC Pub ( LHEK )  als G * LHEK ,
    Figure DE112020000268T5_0002
    wobei G ein öffentlicher Generatorwert ist. ECC-PUB(LK) wurde zuvor als G*LK berechnet. Autorisierte Vorrichtung 111 berechnet dann LHEK * ECC Pub ( LK ) = LHEK * G * LK
    Figure DE112020000268T5_0003
    und verwendet das Ergebnis, um das Geheimnis abzuleiten und LHEK zu verwerfen. Die Managervorrichtung 110 greift auf den öffentlichen Schlüssel ECC-Pub(LHEK) 604 zu, bei dem es sich um G*LHEK handelt. Managervorrichtung 110 entpackt auch LK 606 und berechnet ECC Pub ( LHEK ) * LK = G * LHEK * LK ,
    Figure DE112020000268T5_0004
    das genau das von der oben berechtigten Vorrichtung berechnete Geheimnis ist. So kann die Managervorrichtung 110 den Protokolleintrag 710, 720 entschlüsseln, der unmittelbar vor dem nächsten Protokolleintrag liegt, auf den der nächste Protokollzeiger 601 zeigt.
  • Bezugnehmend auf 7 wird darauf hingewiesen, dass jeder Protokolleintrag 710, 720 unter Verwendung eines separaten, eindeutigen Verschlüsselungsschlüssels verschlüsselt ist. Das heißt, die Zugangssteuerung 102 generiert jedes Mal, wenn ein neuer Protokolleintrag geschrieben werden soll, zufällig LHEK. Dies bedeutet natürlich auch, dass der entsprechende öffentliche Schlüssel für jeden Protokolleintrag unterschiedlich ist. Daher speichert die Zugangssteuerung 102 auch den öffentlichen Schlüssel in jedem Protokolleintrag. Insbesondere weist jeder Protokolleintrag den öffentlichen Schlüssel für den vorherigen Protokolleintrag auf. So weist für das Beispiel von 7 der zweite Protokolleintrag 720 den öffentlichen Schlüssel 721 auf, der dem privaten Schlüssel entspricht, der bei der Ableitung von geheimem 713 verwendet wurde, um den ersten Protokolleintrag 710 zu verschlüsseln.
  • Unter Verwendung der beschriebenen Datenstruktur kann die Zugangssteuerung 102 alle Protokolleinträge beginnend mit dem jüngsten Eintrag (zweiter Protokolleintrag 720 in 7) sequentiell lesen und entschlüsseln. Genauer gesagt liest die Zugangssteuerung 102 zuerst den nächsten Protokollzeiger 601, subtrahiert 1 und liest den verschlüsselten zweiten Protokolleintrag 720. Die Zugangssteuerung entschlüsselt dann den privaten Protokollierungsschlüssel 606 unter Verwendung des Managerschlüssels und liest den öffentlichen Protokoll-Header-Eintragsschlüssel 604. Mit diesen beiden Schlüsseln leitet die Zugangssteuerung 102 das Geheimnis 723 ab und entschlüsselt den zweiten Protokolleintrag 720. Dadurch wird der erste öffentliche Protokoll-Header-Eintragsschlüssel 721 bereitgestellt, aus dem der Zugangssteuerung 102 zusammen mit dem privaten Protokollierungsschlüssel 606 das Geheimnis 713 ableiten kann, um den ersten Protokolleintrag 710 zu entschlüsseln usw., bis alle Protokolleinträge gelesen sind. Die Feststellung, ob alle Einträge gelesen wurden, kann dadurch erreicht werden, dass die Anzahl der gelesenen Einträge gezählt wird, bis diese Zählung gleich der Differenz zwischen dem anfänglichen Protokollzeiger 602 und dem nächsten Protokollzeiger 601 ist. Wenn diese Differenz größer als 256 ist, kann die Zugangssteuerung 102 einfach alle 256 Einträge lesen.
  • In einigen Szenarien kann es nützlich sein, einen bestimmten Protokolleintrag löschen zu können. Wenn sich zum Beispiel eine Managervorrichtung verbindet, können alle Protokolleinträge an die Managervorrichtung 110 übertragen werden, und diejenigen, die übertragen wurden, können aus dem Einrichtungsspeicher 115 in der DSD 100 gelöscht werden. Durch das Löschen und/oder Überschreiben dieses Eintrags mit Zufallsdaten wird jedoch auch der öffentliche Schlüssel des vorherigen Eintrags gelöscht, sodass alle vorherigen Einträge unlesbar werden. Daher kann es eine protokollrandomisierte Bitmap geben, bei der es sich um ein 256-Bit-Array handelt, wobei jedes Bit einem Protokolleintrag entspricht. Bei der Initialisierung werden alle Bits auf ,0' gesetzt. Als Reaktion darauf, dass ein Protokolleintrag geschrieben wird, wird das entsprechende Bit (das sich ebenfalls an der Stelle befindet, die durch den nächsten Protokollzeiger 601 angezeigt wird) auf ,1' gesetzt. Als Reaktion darauf, dass ein Protokolleintrag zum Löschen ausgewählt wird, wird dieses Bit wieder auf ,0' gesetzt. Infolgedessen schließt der Lesevorgang auch das Prüfen der protokollrandomisierten Bitmap ein, ob das entsprechende Bit zum Lesen des Protokolleintrags ,1' oder ,0' ist, um anzuzeigen, dass der Protokolleintrag gelöscht wurde. Die protokollrandomisierte Bitmap kann auch durch einen protokollrandomisierten Bitmap-Verpackungsschlüssel verschlüsselt werden, der von dem Managerschlüssel abgeleitet wird, um die protokollrandomisierte Bitmap von Zufallsdaten ohne den Managerschlüssel nicht unterscheidbar zu machen.
  • Protokollierungsverfahren
  • 8 veranschaulicht ein Verfahren 800 zum Protokollieren von Datenspeicherungsvorrichtungs-Ereignissen, wie es von der Zugangssteuerung 102 oder einem anderen Chip, Modul, Software usw., der bzw. das in die Datenspeicherungsvorrichtung 100 integriert ist, gemäß einer Ausführungsform durchgeführt wird. Die Zugangssteuerung 102 erstellt 801 erste Protokolldaten 712 (indem sie die relevanten Informationen wie den öffentlichen Schlüssel der autorisierten oder Managervorrichtung, Zeitstempel, Geostandort, Ereignistyp usw.) sammelt und 802 die ersten Protokolldaten 712 unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels verschlüsselt. Dies bedeutet, dass die Zugangssteuerung 102 mit einem öffentlichen Schlüssel gemäß RSA oder einem privaten Schlüssel gemäß Elliptische-Kurven-Kryptographie (ECC) erste Protokolldaten 712 verschlüsseln kann. Zugangssteuerung 102 speichert dann 803 einen ersten Protokolleintrag 710, der die ersten Protokolldaten 712 aufweist, die unter Verwendung des einen des ersten öffentlichen Schlüssels und des entsprechenden ersten privaten Schlüssels verschlüsselt sind. Die Zugangssteuerung 102 speichert auch 804 einen zweiten öffentlichen Schlüssel 604, der sich von dem ersten öffentlichen Schlüssel unterscheidet, auf dem Protokoll-Header 600, der von der Protokolleintragstabelle 700 getrennt ist, da der Header 600 nicht in Sequenz mit den anderen Protokolleinträgen ist.
  • Dann erstellt die Zugangssteuerung 102 805 zweite Protokolldaten 722, verschlüsselt 806 die zweiten Protokolldaten 722 unter Verwendung eines zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels (wiederum RSA oder ECC) und speichert 807 einen zweiten Protokolleintrag 720. Der zweite Protokolleintrag 720 weist den ersten öffentlichen Schlüssel auf. Dieser erste öffentliche Schlüssel 721 ist der öffentliche Schlüssel, der der Verschlüsselung der ersten Protokolldaten entspricht. Als Ergebnis besteht eine kryptographische Verknüpfung zwischen dem zweiten Protokolleintrag 720 und dem ersten Protokolleintrag 710, da der erste öffentliche Schlüssel 721, der in dem zweiten Protokolleintrag 720 gespeichert ist, verwendet werden kann, um das Verschlüsselungsgeheimnis (entweder einen asymmetrischen privaten RSA-Schlüssel, der von der Managervorrichtung gehalten wird, oder das ECC-Geheimnis, wie oben beschrieben) für den ersten Protokolleintrag 710 zu erhalten. Daher kann die Protokolleintragstabelle 700 auch als „Linkliste“ bezeichnet werden. Die zweiten Protokolldaten 722 werden unter Verwendung des einen des zweiten öffentlichen Schlüssels und des entsprechenden zweiten privaten Schlüssels verschlüsselt.
  • Für Fachleute ist erkennbar, dass zahlreiche Variationen und/oder Modifikationen an den vorstehend beschriebenen Ausführungsformen vorgenommen werden können, ohne vom weitgefassten allgemeinen Umfang der vorliegenden Offenbarung abzuweichen. Die vorliegenden Ausführungsformen sind daher in jeder Hinsicht nur als veranschaulichend und nicht als einschränkend zu betrachten.

Claims (20)

  1. Datenspeicherungsvorrichtung, aufweisend ein nicht-transitorisches Speicherungsmedium, das eingerichtet ist, um Benutzerinhaltsdaten zu speichern, und einen nichtflüchtigen Datenspeicher, der eingerichtet ist, um zu speichern: einen ersten Protokolleintrag, der die ersten Protokolldaten aufweist, die unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels verschlüsselt sind; einen zweiten öffentlichen Schlüssel, der sich von dem ersten öffentlichen Schlüssel unterscheidet; und einen zweiten Protokolleintrag, aufweisend: den ersten öffentlichen Schlüssel, und zweite Protokolldaten, die unter Verwendung des zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels verschlüsselt sind.
  2. Datenspeicherungsvorrichtung gemäß Anspruch 1, weiterhin aufweisend eine Steuerung, die dazu eingerichtet ist, um den ersten Protokolleintrag und den zweiten Protokolleintrag zu erzeugen.
  3. Datenspeicherungsvorrichtung gemäß Anspruch 2, wobei die Steuerung weiterhin dazu eingerichtet ist, um: den zweiten öffentlichen Schlüssel und den entsprechenden zweiten privaten Schlüssel zu erzeugen; die zweiten Protokolldaten unter Verwendung des zweiten privaten Schlüssels zu verschlüsseln; den zweiten öffentlichen Schlüssel zu speichern; und den zweiten privaten Schlüssel zu verwerfen.
  4. Datenspeicherungsvorrichtung gemäß Anspruch 2, wobei: der Datenspeicher weiterhin dazu eingerichtet ist, um einen einzelnen öffentlichen Protokollierungsschlüssel für den ersten Protokolleintrag und den zweiten Protokolleintrag zu speichern, wobei der öffentliche Protokollierungsschlüssel als Reaktion darauf zugänglich ist, dass eine autorisierte Vorrichtung mit der Datenspeicherungsvorrichtung verbunden ist, und die Steuerung weiterhin dazu eingerichtet ist, um die zweiten Protokolldaten unter Verwendung des öffentlichen Protokollierungsschlüssels und des zweiten privaten Schlüssels zu verschlüsseln.
  5. Datenspeicherungsvorrichtung gemäß Anspruch 4, wobei das Verschlüsseln der zweiten Protokolldaten das Bestimmen eines Geheimnisses basierend auf Elliptische-Kurven-Kryptographie unter Verwendung des öffentlichen Protokollierungsschlüssels und des zweiten geheimen Schlüssels aufweist.
  6. Datenspeicherungsvorrichtung gemäß Anspruch 5, wobei der Datenspeicher weiterhin dazu eingerichtet ist, um einen geheimen Protokollierungsschlüssel zu speichern, der dem öffentlichen Protokollierungsschlüssel entspricht.
  7. Datenspeicherungsvorrichtung gemäß Anspruch 6, wobei der geheime Protokollierungsschlüssel verschlüsselt ist und als Reaktion darauf, dass eine Managervorrichtung mit der Datenspeicherungsvorrichtung verbunden ist, zugänglich ist.
  8. Datenspeicherungsvorrichtung gemäß Anspruch 7, wobei der geheime Protokollierungsschlüssel unter Verwendung eines Managerschlüssels verschlüsselt ist.
  9. Datenspeicherungsvorrichtung gemäß Anspruch 6, wobei die Steuerung weiterhin dazu eingerichtet ist, um die zweiten Protokolldaten unter Verwendung des geheimen Protokollierungsschlüssels und des zweiten öffentlichen Schlüssels, die in dem Datenspeicher gespeichert sind, zu entschlüsseln.
  10. Datenspeicherungsvorrichtung gemäß Anspruch 9, wobei die Steuerung weiterhin dazu eingerichtet ist, um die ersten Protokolldaten unter Verwendung des geheimen Protokollierungsschlüssels und des ersten öffentlichen Schlüssels, die in dem zweiten Protokolleintrag gespeichert sind, zu entschlüsseln.
  11. Datenspeicherungsvorrichtung gemäß Anspruch 9, wobei das Entschlüsseln der zweiten Protokolldaten das Bestimmen eines Geheimnisses basierend auf Elliptische-Kurven-Kryptographie unter Verwendung des geheimen Protokollierungsschlüssels und des zweiten öffentlichen Schlüssels aufweist.
  12. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei: der erste Protokolleintrag unter Verwendung des ersten privaten Schlüssels verschlüsselt wird; und der zweite Protokolleintrag mit dem zweiten privaten Schlüssel verschlüsselt wird.
  13. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei: der erste private Schlüssel und der erste öffentliche Schlüssel für den ersten Protokolleintrag eindeutig sind; und der zweite private Schlüssel und der zweite öffentliche Schlüssel für den zweiten Protokolleintrag eindeutig sind.
  14. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei der zweite öffentliche Schlüssel getrennt von dem ersten Protokolleintrag und dem zweiten Protokolleintrag gespeichert wird.
  15. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei der Datenspeicher weiterhin dazu eingerichtet ist, um zu speichern: einen nächsten Protokolleintragszeiger, der einen Speicherungsort des zweiten Protokolleintrags angibt; und einen anfänglichen Protokolleintragszeiger, der einen Speicherungsort eines anfänglichen Protokolleintrags angibt.
  16. Datenspeicherungsvorrichtung gemäß Anspruch 15, wobei der anfängliche Protokolleintragszeiger verschlüsselt ist und als Reaktion darauf, dass eine Managervorrichtung mit der Datenspeicherungsvorrichtung verbunden ist, zugänglich ist.
  17. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei der erste öffentliche Schlüssel zusammen mit den zweiten Protokolldaten verschlüsselt wird.
  18. Datenspeicherungsvorrichtung gemäß Anspruch 1, fweiterhin aufweisend: einen Datenpfad, aufweisend: einen Datenport, der eingerichtet ist, um Daten zwischen einem Host-Computersystem und der Datenspeicherungsvorrichtung zu übertragen, die sich bei dem Host-Computersystem als eine Blockspeichervorrichtung registriert; eine Kryptographiemaschine, die zwischen den Datenanschluss und das Speicherungsmedium geschaltet ist und dazu eingerichtet ist, einen kryptographischen Schlüssel zu verwenden, um die verschlüsselten Benutzerinhaltsdaten, die in dem Speicherungsmedium gespeichert sind, als Antwort auf eine Anforderung von dem Host-Computersystem zu entschlüsseln; und einen Autorisierungsdatenspeicher, der eingerichtet ist, um mehrere Einträge zu speichern, die Autorisierungsdaten aufweisen, die jeweiligen mehreren Vorrichtungen zugeordnet sind; und eine Zugangsateuerung, die eingerichtet ist, um: von einer der mehreren Vorrichtungen, einen öffentlichen Schlüssel zu empfangen, der einem privaten Schlüssel zugeordnet ist, der auf der einen der mehreren Vorrichtungen gespeichert ist; basierend auf dem öffentlichen Schlüssel, eine Rolle der Managervorrichtung oder autorisierten Vorrichtung zu bestimmen; als Reaktion auf das Bestimmen der Rolle der autorisierten Vorrichtung, das Erzeugen von Protokolleinträgen und Beschränken des Lesens von Protokolleinträgen zu erlauben; und als Reaktion auf das Bestimmen der Rolle der Managervorrichtung das Lesen von Protokolleinträgen zu ermöglichen.
  19. Verfahren zur Protokollierung an einer Datenspeicherungsvorrichtung, wobei das Verfahren aufweist: Erstellen von ersten Protokolldaten; Verschlüsseln der ersten Protokolldaten unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels; Speichern eines ersten Protokolleintrags, aufweisend erste Protokolldaten, die unter Verwendung des einen des ersten öffentlichen Schlüssels und des entsprechenden ersten privaten Schlüssels verschlüsselt wurden; Speichern eines zweiten öffentlichen Schlüssels, der sich von dem ersten öffentlichen Schlüssel unterscheidet; Erzeugen von zweiten Protokolldaten; Verschlüsseln der zweiten Protokolldaten unter Verwendung eines zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels; und Speichern eines zweiten Protokolleintrags, wobei der zweite Protokolleintrag aufweist: den ersten öffentlichen Schlüssel, und die zweiten Protokolldaten, die unter Verwendung des einen des zweiten öffentlichen Schlüssels und des entsprechenden zweiten privaten Schlüssels verschlüsselt sind.
  20. Datenspeicherungsvorrichtung, aufweisend: Mittel zum Erzeugen erster Protokolldaten; Mittel zum Verschlüsseln der ersten Protokolldaten unter Verwendung eines ersten öffentlichen Schlüssels oder eines entsprechenden ersten privaten Schlüssels; Mittel zum Speichern eines ersten Protokolleintrags, der die ersten Protokolldaten aufweist, die unter Verwendung des ersten öffentlichen Schlüssels und/oder des entsprechenden ersten privaten Schlüssels verschlüsselt wurden; Mittel zum Speichern eines zweiten öffentlichen Schlüssels, der sich von dem ersten öffentlichen Schlüssel unterscheidet; Mittel zum Erzeugen von zweiten Protokolldaten; Mittel zum Verschlüsseln der zweiten Protokolldaten unter Verwendung eines zweiten öffentlichen Schlüssels oder eines entsprechenden zweiten privaten Schlüssels; und Mittel zum Speichern eines zweiten Protokolleintrags, wobei der zweite Protokolleintrag aufweist: den ersten öffentlichen Schlüssel, und die zweiten Protokolldaten, die unter Verwendung des einen des zweiten öffentlichen Schlüssels und des entsprechenden zweiten privaten Schlüssels verschlüsselt sind.
DE112020000268.3T 2020-01-09 2020-06-24 Sichere protokollierung von ereignissen der datenspeicherungsvorrichtungen Pending DE112020000268T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/739,051 US11088832B2 (en) 2020-01-09 2020-01-09 Secure logging of data storage device events
US16/739,051 2020-01-09
PCT/US2020/039217 WO2021141622A1 (en) 2020-01-09 2020-06-24 Secure logging of data storage device events

Publications (1)

Publication Number Publication Date
DE112020000268T5 true DE112020000268T5 (de) 2021-09-09

Family

ID=76763696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000268.3T Pending DE112020000268T5 (de) 2020-01-09 2020-06-24 Sichere protokollierung von ereignissen der datenspeicherungsvorrichtungen

Country Status (4)

Country Link
US (1) US11088832B2 (de)
CN (1) CN113383335A (de)
DE (1) DE112020000268T5 (de)
WO (1) WO2021141622A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230291579A1 (en) * 2022-03-08 2023-09-14 Western Digital Technologies, Inc. Cryptographic keys for authorization requests from a data storage device

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978475A (en) 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
KR100397316B1 (ko) * 1998-01-21 2003-09-06 비.유.지., 인크. 기억 장치, 암호화ㆍ복호화 장치 및 불휘발성 메모리의액세스 방법
JP4050497B2 (ja) * 2001-11-06 2008-02-20 インフォサイエンス株式会社 ログ情報管理装置及びログ情報管理プログラム
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
JP4323745B2 (ja) * 2002-01-15 2009-09-02 三洋電機株式会社 記憶装置
US20040054901A1 (en) * 2002-09-17 2004-03-18 Microsoft Corporation Creating and verifying a sequence of consecutive data
JP2004201038A (ja) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム
US8281152B2 (en) * 2004-06-18 2012-10-02 Emc Corporation Storage data encryption
US9075571B2 (en) 2005-07-21 2015-07-07 Clevx, Llc Memory lock system with manipulatable input device and method of operation thereof
US8832440B2 (en) 2006-01-24 2014-09-09 Clevx, Llc Data security system
US7762553B2 (en) 2006-11-25 2010-07-27 Harris Curtis J Form-fitting electronic game controller cover
JP4964714B2 (ja) * 2007-09-05 2012-07-04 株式会社日立製作所 ストレージ装置及びデータの管理方法
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US10181055B2 (en) 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
TWI537732B (zh) 2007-09-27 2016-06-11 克萊夫公司 加密之資料保全系統
US10783232B2 (en) 2007-09-27 2020-09-22 Clevx, Llc Management system for self-encrypting managed devices with embedded wireless user authentication
US20100174913A1 (en) 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
US9734356B2 (en) 2009-06-29 2017-08-15 Clevx, Llc Encrypting portable media system and method of operation thereof
US20110154023A1 (en) * 2009-12-21 2011-06-23 Smith Ned M Protected device management
US9881301B2 (en) * 2012-04-27 2018-01-30 Google Llc Conversion tracking of a user across multiple devices
US9106412B2 (en) * 2013-03-08 2015-08-11 Mcafee, Inc. Data protection using programmatically generated key pairs from a master key and a descriptor
US10089472B2 (en) * 2013-04-23 2018-10-02 Hewlett-Packard Development Company, L.P. Event data structure to store event data
WO2014207632A1 (en) * 2013-06-28 2014-12-31 Koninklijke Philips N.V. Logging device and log aggregation device
US9998914B2 (en) 2014-04-16 2018-06-12 Jamf Software, Llc Using a mobile device to restrict focus and perform operations at another mobile device
JP2015232810A (ja) * 2014-06-10 2015-12-24 株式会社東芝 記憶装置、情報処理装置および情報処理方法
US20160149711A1 (en) * 2014-11-24 2016-05-26 Wyzr Limited Distributed identification system for peer to peer message transmission
US10154020B1 (en) 2015-07-08 2018-12-11 Clevx, Llc Referral identity system and method of operation thereof
US9864878B2 (en) 2015-07-27 2018-01-09 International Business Machines Corporation Event log tamper detection
US9852300B2 (en) 2015-09-25 2017-12-26 Saife, Inc. Secure audit logging
EP3163789B1 (de) * 2015-10-29 2021-08-18 Airbus Defence and Space GmbH Vorwärtssichere absturzbeständige log-meldungensvorrichtung
US10776502B2 (en) * 2016-06-12 2020-09-15 Apple Inc. Diversification of public keys
US20190036704A1 (en) * 2017-12-27 2019-01-31 Intel Corporation System and method for verification of a secure erase operation on a storage device
US20190303603A1 (en) 2018-04-03 2019-10-03 Seagate Technology Llc Location-based security of storage drives
US20200320622A1 (en) * 2019-04-05 2020-10-08 Secude Ag Method and system for processing and documenting digital transactions
US11271751B2 (en) * 2019-06-21 2022-03-08 Oracle International Corporation Distributed data records

Also Published As

Publication number Publication date
US11088832B2 (en) 2021-08-10
WO2021141622A1 (en) 2021-07-15
CN113383335A (zh) 2021-09-10
US20210218556A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
DE112020000269T5 (de) Ferngewährung des zugangs zu einer gesperrten datenspeichervorrichtung
DE102015215120B4 (de) Verfahren zur verwendung einer vorrichtung zum entriegeln einer weiteren vorrichtung
EP3149651B1 (de) System und verfahren zur sicheren überprüfung von auditprotokollen
EP3474172B1 (de) Zugangskontrolle unter verwendung einer blockchain
DE60028778T2 (de) Verfahren zur erhaltung und verteilung von individuellen sicherungseinrichtungen
DE202018002074U1 (de) System zur sicheren Speicherung von elektronischem Material
DE102016226311A1 (de) Authentifizierung eines lokalen gerätes
DE112020000238T5 (de) Wiederherstellungsschlüssel zum entriegeln einer datenspeicherungsvorrichtung
DE112020000244T5 (de) Initialisierung einer Datenspeicherungsvorrichtung mit einer Managervorrichtung
DE112018000779T5 (de) Tokenbereitstellung für Daten
DE102017205948A1 (de) Nachrichtenauthentifizierung mit sicherer Codeverifikation
DE112008001436T5 (de) Sichere Kommunikation
EP3699791B1 (de) Zugangskontrolle mit einem mobilfunkgerät
DE112008003931T5 (de) Systeme und Verfahren für Datensicherheit
DE112020000234T5 (de) Drahtlos-sicherheitsprotokoll
CN104584509A (zh) 一种共享数据的访问控制方法、装置及系统
CN109379360B (zh) 审计方法、电子装置及计算机可读存储介质
DE112020000180T5 (de) Mehrvorrichtungsentsperrung einer datenspeichervorrichtung
DE112020000236T5 (de) Mehrrollenentsperrung einer datenspeicherungsvorrichtung
DE112019001441T5 (de) Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem
DE102016200003A1 (de) Zugriffskontrolle mittels Authentisierungsserver
DE112020000179T5 (de) Entsperren einer datenspeicherungsvorrichtung
DE112020000235T5 (de) Anmeldung einer vorautorisierten vorrichtung
DE112019003528T5 (de) Verfahren zum Einrichten einer anonymen digitalen Identität
DE112021002747T5 (de) Sicheres wiederherstellen von geheimen schlüsseln

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MEWBURN ELLIS LLP, DE

R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US

Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CA, US