DE102010037291A1 - Datenspeichervorrichtung mit Verschlüsselung und Verfahren dafür - Google Patents

Datenspeichervorrichtung mit Verschlüsselung und Verfahren dafür Download PDF

Info

Publication number
DE102010037291A1
DE102010037291A1 DE102010037291A DE102010037291A DE102010037291A1 DE 102010037291 A1 DE102010037291 A1 DE 102010037291A1 DE 102010037291 A DE102010037291 A DE 102010037291A DE 102010037291 A DE102010037291 A DE 102010037291A DE 102010037291 A1 DE102010037291 A1 DE 102010037291A1
Authority
DE
Germany
Prior art keywords
unit
data
key
encryption
crypto
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
DE102010037291A
Other languages
English (en)
Inventor
Woo-Hyun Lee
Bum-seok Suwon Yu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102010037291A1 publication Critical patent/DE102010037291A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00507Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein consecutive physical data units of the record carrier are encrypted with separate encryption keys, e.g. the key changes on a cluster or sector basis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

Eine Speichervorrichtung (200) umfasst eine Speichereinheit (230) zum Speichern von Daten, eine Prozessoreinheit (220) zum Verarbeiten der Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung (205) erhalten wird, eine Schlüsseleinrichtung (244) zum Speichern einer Vielzahl von Kryptoschlüsseln und eine Decodereinheit (242) zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung (205) erhalten wird. Eine Hardware-Verschlüsselung ist sicherer und einfacher zu verwalten.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht unter 35 U.S.C. § 119(a) die Priorität der koreanischen Patentanmeldung Nr. 2009-89644 , die am 22. September 2009 beim Koreanischen Patentamt eingereicht wurde und deren Offenbarung unter Bezugnahme hierin mit eingebunden ist.
  • HINTERGRUND DER ERFINDUNG
  • 1. Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Datenspeichervorrichtung und Verfahren zum Verschlüsseln und Entschlüsseln von Daten und betrifft insbesondere eine Vorrichtung zum Verarbeiten eines Kryptoschlüssels und Verfahren dafür.
  • 2. Beschreibung der verwandten Technik
  • Im Allgemeinen ist eine Speichereinrichtung eine Rechnereinrichtung, die Daten auf einem Speichermedium ausliest und auf dieses schreibt. Eine Datenspeichereinrichtung kann bewegliche Teile enthalten, oder sie weist keine wesentlichen beweglichen Teile auf. Ein Beispiel für eine Datenspeichereinrichtung mit beweglichen Teilen ist ein herkömmliches Plattenlaufwerk, bei dem eine Platte, d. h. eine drehende Scheibe, rotiert und das einen oder mehrere Köpfe, welche die Daten lesen und schreiben, aufweist. Eine Datenspeichereinrichtung ohne wesentliche bewegliche Teile wird im Allgemeinen ein Festkörperlaufwerk genannt.
  • Ein sicheres Plattenlaufwerk unterstützt eine Datenverschlüsselung an dem Laufwerk unter Verwendung einer teilweisen oder vollständigen Platten-Verschlüsselungs-Technik, bei der ein Verschlüsselungsschlüssel zum Verschlüsseln von Daten auf einem Speichermedium verwendet wird. Bei einem herkömmlichen System werden, als Antwort auf einen Lese- oder Schreibbefehl, verschlüsselte Daten von einem Speicher abgerufen und entschlüsselt, oder Daten werden verschlüsselt und gespeichert. Solange ein Verschlüsselungs- oder Sicherheitsschlüssel auf dem sicheren Plattenlaufwerk gespeichert werden kann, wird das Verschlüsseln und Entschlüsseln durch einen externen Prozessor in einer Host-Einrichtung oder durch einen Mikroprozessor in dem sicheren Plattenlaufwerk behandelt. Da die Daten so, wie sie bei den Lese- und Schreibbefehlen angegeben werden, zuerst verschlüsselt oder entschlüsselt werden müssen bevor sie verarbeitet werden können, weisen die Softwarelösungen zur Verschlüsselung und Entschlüsselung einen großen Durchsatz auf und nehmen Einfluss auf die Arbeitsleistung.
  • ZUSAMMENFASSUNG
  • Die vorliegende Erfindung stellt eine schnellere Arbeitsleistung und eine höhere Sicherheit bereit. Da Verschlüsselungsschlüssel innerhalb der Laufwerkshardware erzeugt und gespeichert werden, verlassen diese nie ihre Grenzen und sind nie in einem Betriebssystem oder einer Anwendungssoftware enthalten. Eine Hardware-Verschlüsselung ist sicherer und leichter zu verwalten.
  • Weitere Aspekte und Vorteile der vorliegenden Erfindung werden zum Teil in der nachfolgenden Beschreibung vorgestellt, und werden zum Teil aus der Beschreibung verständlich werden oder können durch Anwendung der Erfindung erfahren werden.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können erreicht werden durch Bereitstellen einer Speichervorrichtung umfassend eine Speichereinheit zum Speichern von Daten, eine Prozessoreinheit zum Verarbeiten der Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung erhalten wird, und eine Schlüsseleinheit zum zeitgleichen Verarbeiten einer Verschlüsselung, die dem Befehl entspricht, während die Prozessoreinheit die Daten verarbeitet.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellung einer Speichervorrichtung umfassend eine Speichereinheit zum Speichern von Daten, eine Prozessoreinheit zum Verarbeiten der Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung erhalten wird, eine Schlüsseleinheit zum Speichern einer Vielzahl von Kryptoschlüsseln und einer Decodereinheit zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung erhalten wird.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen einer Speichervorrichtung umfassend eine Prozessoreinheit zum Durchführen einer Verarbeitung von Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung erhalten wird, eine Decodereinrichtung zum Durchführen einer Auswahl von Kryptoschlüsseln in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung erhalten wird, wobei die Prozessoreinheit und die Decodereinheit die Verarbeitung der Daten und eine Auswahl der Kryptoschlüssel auf Erhalten des Befehls hin jeweils zeitgleich durchführen.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellung eines Speichersystems umfassend eine Host-Vorrichtung zum Erzeugen eines Befehls, und eine Speichervorrichtung, die mit der Host-Vorrichtung verknüpfbar ist, wobei die Speichervorrichtung eine Speichereinheit zum Speichern von Daten, eine Prozessoreinheit zum Verarbeiten der Daten in Übereinstimmung mit dem Befehl, der von der externen Einrichtung erhalten wird, eine Schlüsseleinheit zum Speichern einer Vielzahl von Kryptoschlüsseln, und eine Decodereinheit zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung erhalten wird, umfasst.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellung eines Speichersystems umfassend eine Host-Vorrichtung zum Erzeugen eines Befehls, und eine Speichervorrichtung, die mit der Host-Vorrichtung verknüpfbar ist, wobei die Speichervorrichtung eine Prozessoreinheit zum Durchführen einer Verarbeitung von Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung erhalten wird, eine Decodereinheit zum Durchführen einer Auswahl von Kryptoschlüsseln in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung erhalten wird, umfasst, wobei der Prozessor und die Decodereinheit die Verarbeitung der Daten und eine Auswahl der Kryptoschlüssel auf Erhalten des Befehls hin jeweils zeitgleich durchführen.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellung einer Speichervorrichtung umfassend eine Schlüsseleinheit zum Speichern einer Vielzahl von Kryptoschlüsseln, eine Decodereinheit zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformation, die von einer externen Einrichtung erhalten wird, eine Speichereinheit zum Speichern von Daten, und eine Steuerungsprozessoreinheit zum Verwalten von Lese- und Schreibdaten der Speichereinheit unter Verwendung des ausgewählten Speicherschlüssels, wobei die Decodereinheit einen der Kryptoschlüssel unabhängig von der Steuerungsprozessoreinheit auswählt.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellung eines Festkörperlaufwerks umfassend eine Schlüsseleinheit zum Speichern einer Vielzahl von Kryptoschlüsseln, eine Decodereinheit zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformation, die von einer externen Einrichtung erhalten wird, eine Speichereinheit zum Speichern von Daten, und eine Steuerungsprozessoreinheit zum Verwalten von Lese- und Schreibdaten der Speichereinheit unter Verwendung des ausgewählten Speicherschlüssels, wobei die Decodereinheit einen der Kryptoschlüssel unabhängig von der Steuerungsprozessoreinheit auswählt.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereistellen eines Datensystems umfassend eine Host-Vorrichtung zum Erzeugen eines Befehls, und eine Speichervorrichtung, die mit der Host-Vorrichtung verknüpfbar ist, wobei die Speichervorrichtung eine Schlüsseleinheit zum Speichern einer Vielzahl von Kryptoschlüsseln, eine Decodereinheit zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformation, die von einer externen Einrichtung erhalten wird, eine Speichereinheit zum Speichern von Daten, und eine Steuerungsprozessoreinheit zum Verwalten von Lese- und Schreibdaten der Speichereinheit unter Verwendung des ausgewählten Kryptoschlüssels, umfasst, wobei die Decodereinheit einen der Kryptoschlüssel unabhängig von der Steuerungsprozessoreinheit auswählt.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen eines Verfahrens zum Verschlüsseln von Daten, wobei das Verfahren ein Erhalten eines Befehls, ein Parsing einer Adresse von dem Befehl, ein Erhalten eines Bereichs einer logischen Blockadresse, ein Erzeugung eines Schlüsselflags, das dem Bereich der logischen Adresse entspricht und ein Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselflags, umfasst.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen eines Verfahrens zum Verschlüsseln von Daten, wobei das Verfahren ein Erhalten einer Schreibanforderung, ein Parsing einer Adresse von einer Schreibanforderung, ein Erhalten eines Bereichs einer logischen Blockadresse, ein Erzeugen eines Schlüsselkennzeichens, das dem Bereich der logischen Blockadresse entspricht, ein Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselkennzeichens, ein Verwenden des Kryptoschlüssels zum Verschlüsseln von Daten und ein Schreiben der verschlüsselten Daten in einen Speicher, umfasst.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen eines Verfahrens zum Entschlüsseln von Daten, wobei das Verfahren ein Erhalten eines Befehls, ein Parsing einer Adresse von dem Befehl, ein Erhalten eines Bereichs einer logischen Blockadresse, ein Erzeugen eines Schlüsselflags, das dem Bereich der logischen Blockadresse entspricht und ein Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselflags, umfasst.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen eines Verfahrens zum Entschlüsseln von Daten, wobei das Verfahren ein Erhalten einer Leseanforderung, ein Parsing einer Adresse der Leseanforderung, ein Erhalten eines Bereichs einer logischen Blockadresse, ein Erzeugen eines Schlüsselflags, das dem Bereich der logischen Blockadresse entspricht, ein Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselkennflags, ein Verwenden des Kryptoschlüssels zum Entschlüsseln von Daten und ein Auslesen der entschlüsselten Daten aus einem Speicher, umfasst.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen eines Verfahrens zum Durchführen eines Verschlüsselungsvorgangs in einer Speichervorrichtung, wobei das Verfahren ein Erhalten eines Befehls und ein zeitgleiches Verarbeiten von Daten in Übereinstimmung mit dem Befehl und Durchführen einer Auswahl von Kryptoschlüsseln in Übereinstimmung mit der Adressinformation des Befehls, umfasst.
  • Das Vorausgegangene und/oder andere Aspekte und Nutzen der vorliegenden Erfindung können ebenso erreicht werden durch Bereitstellen eines rechnerlesbaren Mediums zum Aufnehmen von rechnerlesbaren Codes als ein Programm zur Durchführung eines Verfahrens zum Durchführen eines Verschlüsselungsvorgangs in einer Speichervorrichtung, wobei das Verfahren ein Erhalten eines Befehls und eine zeitgleiche Verarbeitung von Daten in Übereinstimmung mit dem Befehl und Durchführen einer Auswahl eines Kryptoschlüssels in Übereinstimmung mit der Adressinformation des Befehls, umfasst.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und/oder andere Aspekte und Vorteile der vorliegenden Erfindung werden durch die nachfolgende Beschreibung der Ausführungsformen in Verbindung mit den begleitenden Zeichnungen klar und besser verständlich.
  • 1A und 1B sind Ansichten, die eine Speichervorrichtung abbilden, die gemäß einer Ausführungsform der vorliegenden Erfindung mit einer Host-Vorrichtung in Verbindung steht;
  • 2A und 2B sind Ansichten, die eine Speichervorrichtung abbilden, die gemäß einer Ausführungsform der vorliegenden Erfindung mit einer Host-Vorrichtung in Verbindung steht;
  • 3 ist eine Ansicht, die einen Abschnitt einer Speichervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung abbildet;
  • 4 ist ein Blockdiagramm, das eine Speichervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung abbildet;
  • 5 ist eine Ansicht, die ein Rahmeninformationssystem gemäß einer Ausführungsform der vorliegenden Erfindung abbildet;
  • 6 ist eine Ansicht, die ein Rahmeninformationssystem gemäß einer Ausführungsform der vorliegenden Erfindung abbildet;
  • 7 ist eine Ansicht, die ein Rahmeninformationssystem gemäß einer Ausführungsform der vorliegenden Erfindung abbildet;
  • 8 ist eine Ansicht, die eine Rechnerarchitektur, die eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung umfasst, abbildet;
  • 9 ist eine Ansicht, die eine Rechnerarchitektur, die eine Speichervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung umfasst, abbildet;
  • 10 ist eine Ansicht, die eine Rechnerarchitektur, die eine Speichervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung umfasst, abbildet;
  • 11 ist eine Ansicht, die eine Rechnerarchitektur, die eine Speichervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung umfasst, abbildet;
  • 12 ist ein Flussdiagramm, das ein Verfahren zum Verschlüsseln oder Entschlüsseln von Daten bei einer Speichervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung abbildet;
  • 13 ist ein Flussdiagramm, das ein Verfahren zum Verschlüsseln oder Entschlüsseln von Daten bei einer Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung abbildet.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Nachfolgend wird ausführlich Bezug auf die Ausführungsformen der vorliegenden Erfindung genommen, von denen Beispiele in den begleitenden Zeichnungen abgebildet sind, wobei sich durchgehend gleiche Bezugszeichen auf gleiche Elemente beziehen. Die Ausführungsformen werden untenstehend beschrieben, um die vorliegende Erfindung mit Bezugnahme auf die Figuren zu erklären.
  • Vollständige Platten-Verschlüsselungslösungen verwenden mehrere Sicherheits- oder Verschlüsselungsschlüssel zum Verschlüsseln verschiedener Partitionen. Wenn ein unautorisierter Benutzer Zugriff auf den Rechner erlangt, hat der unautorisierte Benutzer nicht zu allen Dateien Zugriff. Eine Verschlüsselung von Dateien und Ordnern erlaubt verschiedene Schlüssel für verschiedene Abschnitte der Platte. Demzufolge kann ein unautorisierter Benutzer keine Information aus noch verschlüsselten Dateien und Ordnern entnehmen.
  • Die Vorteile einer Hardware-Verschlüsselung über einen Ansatz einer lediglich programmgestützten Verschlüsselung schließen eine schnellere Arbeitsleistung und eine höhere Sicherheit ein. Da Verschlüsselungsschlüssel innerhalb der Laufwerkshardware erzeugt und gespeichert werden, verlassen diese nie ihre Grenzen und sind nie in einem Betriebssystem oder einer Anwendungssoftware enthalten. Hardware-Verschlüsselung ist sicherer und einfacher zu verwalten.
  • Ein „Verschlüsselungsschlüssel”, ein „Sicherheitsschlüssel” oder ein „Kryptoschlüssel”, Begriffe, die nachstehend austauschbar verwendet werden, können in Verbindung mit dem Advanced Encryption Standard (AES), oder dem Data Encryption Standard (DES) zum Verschlüsseln und/oder Entschlüsseln von Daten, oder mit anderen geeigneten Verschlüsselungssystemen verwendet werden.
  • Die 1A, 1B, 2A und 2B sind Ansichten, die sichere Speichervorrichtungen 100 und 200 gemäß beispielhafter Ausführungsformen der vorliegenden Erfindung abbilden.
  • Bezug nehmend auf die 1A und 1B umfasst die sichere Speichervorrichtung 100 ein Interface 110, einen Prozessor 120, eine Speichereinheit 130 und eine Schlüsseleinheit 140. Die sichere Speichervorrichtung 100 kommuniziert mit einem Host-Prozessor 108, der sich in einer Host-Vorrichtung 105 befindet.
  • In 1A befindet sich die sichere Speichervorrichtung 100 außerhalb der Host-Vorrichtung 105, die den Host-Prozessor 108 umfasst und kommuniziert durch das Interface 110. Die sichere Speichervorrichtung 100 kann durch Anschlüsse in der Host-Vorrichtung 105 lösbar an dieser angeschlossen sein.
  • In 1B befindet sich die sichere Speichervorrichtung 100 innerhalb der Host-Vorrichtung 105 und kommuniziert durch das Interface 110 mit dem Host-Prozessor 108. Die sichere Speichervorrichtung 100 kann in der Host-Vorrichtung 105 installiert sein. Die Host-Vorrichtung 105 kann mindestens eine weitere Speichervorrichtung aufweisen, welche in dieser installiert ist.
  • Ein Benutzer verwendet die Host-Vorrichtung 105. Die Host-Vorrichtung 105 kommuniziert mit der sicheren Speichervorrichtung 100, welche die Daten erkennbar verschlüsselt und entschlüsselt, die auf der sicheren Speichervorrichtung 100 gespeichert sind. Der Benutzer kann auf einen Start oder eine Inbetriebnahme ein Passwort eingeben, um auf die sichere Speichervorrichtung 100 im gesperrten Zustand zuzugreifen. Wahlweise kann der Benutzer kein Passwort eingeben, aber kann ohne Beschränkungen in einem entsperrten Zustand auf die sichere Speichervorrichtung 100 zugreifen. Sowohl im gesperrten als auch im entsperrten Zustand wurden die Daten bereits verschlüsselt. Im gesperrten Zustand steuert der Benutzer den Sicherheitsschlüssel durch Einstellen des Passworts.
  • Es ist möglich, dass ein Benutzer ein Passwort eingeben kann, um ein Dokument aus Daten mit verschiedenen Beschränkungen oder Verschlüsselungs-/Entschlüsselungs-Stufen oder Bereichen, die in der Speichereinheit 130 gespeichert sind, zu erzeugen.
  • In dem gesperrten Zustand kann ein verlorenes Passwort unter Anwendung mehrerer Techniken wiederhergestellt werden. Eine Anforderungs/Reaktions-Sequenz kann verwendet werden, um das verlorene Passwort wiederherzustellen. Alternativ können passwortgeschützte Verschlüsselungsschlüsseldateien an einem sicheren Platz erzeugt und gespeichert werden.
  • Der Prozessor 120 verarbeitet Daten in Übereinstimmung mit einem Befehl, z. B. einen Lese-/Schreibbefehl, der von dem Host-Prozessor 108 erhalten wird. Der Prozessor 120 kann ein Mikroprozessor, ein Mikrocontroller, ein digitaler Signalprozessor, ein zweckbestimmter oder ein universell programmierter Chip sein.
  • Die Speichereinheit 130 speichert Daten. Die Speichereinheit 130 kann ein Halbleiter-Festkörper-Laufwerk (SSD) zum Speichern von Daten sein. Die Speichereinheit 130 kann ein anderer Typ eines Speichers sein, wie zum Beispiel ein Flash-Speicher, ein Modul oder Paket von einer Vielzahl von Halbleiter-Speicherchips, eine Speicherkarte usw. Wahlweise kann die Speichereinheit 130 ein anderer Typ eines Speichers sein, wie zum Beispiel ein herkömmliches Festplattenlaufwerk (HDD), ein optisches Plattenlaufwerk (ODD), usw. Die Speichereinheit 130 weist einen Speicherplatz (oder physikalischen Speicherplatz) zum Speichern von Daten oder Information auf.
  • Die Schlüsseleinheit 140 verarbeitet zeitgleich eine Verschlüsselung und Entschlüsselung in Übereinstimmung mit dem Lese-/Schreibbefehl, der von dem Host-Prozessor 108 erhalten wird, während die Prozessoreinheit 120 die Daten in Reaktion auf den Befehl, der von dem Host-Prozessor 108 erhalten wird, verarbeitet. In der beispielhaften Ausführungsform der vorliegenden Erfindung parst die Schlüsseleinheit den Befehl, wobei eine Adresse von dem Befehl zurückgewonnen wird, verwendet die Adresse zum Aufsuchen eines Sicherheitsschlüssels und führt eine Verschlüsselung oder Entschlüsselung von Daten aus, die dem Lese-/Schreibbefehl entsprechen. Die Schlüsseleinheit 140 kann eine eigene Einheit sein, mit einem Speicher zum Speichern einer Sicherheitsschlüsselliste und einem zweckbestimmten oder universellen Mikroprozessor zum Durchführen des Aufsuchens eines Sicherheitsschlüssels und der Verschlüsselung von Daten.
  • Der Befehl kann einen ersten Befehl, der den Verarbeitungsdaten durch den Prozessor 110 entspricht und einen zweiten Befehl, welcher der Verschlüsselung oder der Entschlüsselung durch die Schlüsseleinheit 140 entspricht, enthalten. Ebenso kann der Befehl zeitgleich durch den Prozessor 120 und die Schlüsseleinheit 140 derart interpretiert werden, dass das Verarbeiten der Daten und das Verschlüsseln oder Entschlüsseln zeitgleich durchgeführt werden.
  • Die Sicherheitsschlüsselliste ist auf die Speichereinheit 130 bezogen. Die Speichereinheit 130 ist in n Bereiche unterteilt, und jeder Bereich weist einen einzigartigen Sicherheitsschlüssel auf, der diesem zugeordnet ist und der beim Verschlüsseln und Entschlüsseln von Daten, die in diesem enthalten sind, verwendet wird. Der Bereich kann durch den Hersteller festgelegt werden und besteht in einer Datenmenge. Die Sicherheitsschlüsselliste enthält n Sicherheitsschlüssel, die den n Bereichen der Speichereinheit 130 entsprechen. Die Daten in jedem Bereich können eine feste Blockgröße aufweisen von zum Beispiel 64 Bit, 128 Bit, 192 Bit, 256 Bit, usw., und die Sicherheitsschlüssel für jeden Bereich können z. B. 64 Bit, 128 Bit, 192 Bit, 256 Bit, usw., haben. Eine Adresse, die aus dem Lese-/Schreibbefehl, der von dem Host-Prozessor 108 erhalten wird, geparst ist, kann in Verbindung mit der Sicherheitsschlüsselliste verwendet werden, um den benötigten Sicherheitsschlüssel für eine Verschlüsselung und/oder Entschlüsselung der mit der geparsten Adresse angegebenen Daten zu bestimmen.
  • Wenn der Sicherheitsschlüssel aus der Sicherheitsschlüsselliste unter Verwendung der geparsten Adresse von dem Lese-/Schreibbefehl, der von dem Host-Prozessor 108 erhalten wird, ausgewählt worden ist, verwendet die Schlüsseleinheit 140 den Sicherheitsschlüssel zum Verschlüsseln und/oder Entschlüsseln der Daten. Die Schlüsseleinheit 140 kann Advanced Encryption Standard (AES) oder den Data Encryption Standard (DES) zum Verschlüsseln und/oder Entschlüsseln der Daten verwenden, oder kann ein anderes geeignetes Verschlüsselungssystem verwenden.
  • Die Schlüsseleinheit 140 parst die Adresse von dem Befehl und verarbeitet die Verschlüsselung und/oder Entschlüsselung ohne Verwendung des Prozessors 120. Demzufolge kann der Prozessor 120 die Daten, wie im Befehl angegeben, verarbeiten, während die Schlüsseleinheit 140 die Verschlüsselung oder Entschlüsselung der Daten zeitgleich verarbeitet. Die Schlüsseleinheit 140 ist zum Verschlüsseln oder Entschlüsseln der Daten befähigt, ohne den Prozessor 120 zu unterbrechen oder eine Steuerung zu erfordern, während der Prozessor 120 zum Verarbeiten der Daten befähigt ist, ohne die Schlüsseleinheit 140 zu unterbrechen. Weder die Schlüsseleinheit 140 noch der Prozessor 120 hat eine Priorität über den anderen, und weder die Schlüsseleinheit 140 noch der Prozessor 120 beeinträchtigt den anderen.
  • Der Prozessor 120 verarbeitet die Daten, was ein Durchführen eines Zuordnungsvorgangs zum Zuordnen einer logischen Adresse zu einer entsprechenden physikalischen Adresse in der Speichereinheit 130 in Übereinstimmung mit dem Befehl umfassen kann. Der Prozessor 120 kann weitere Verarbeitungen von Daten durchführen, die auf die Verarbeitung der Verschlüsselung durch die Schlüsseleinheit 140 folgen.
  • Der Prozessor 120 muss nicht warten oder die Verarbeitung von Daten verzögern, bis die Schlüsseleinheit 140 die Verarbeitung der Verschlüsselung oder Entschlüsselung beendet hat. Der Prozessor 120 kann einen Teil der Verarbeitung der Daten während des Verschlüsselungs- oder Entschlüsselungsablaufs durch die Schlüsseleinheit 140 durchführen. Der Prozessor 120 kann die Verarbeitung von Daten während dem Verschlüsselungs- oder Entschlüsselungsprozess durch die Schlüsseleinheit 140 derart vorbereiten, dass der Prozessor 120 die Verarbeitung von Daten in Übereinstimmung mit dem Befehl auf den Abschluss des Verschlüsselungs- oder Entschlüsselungsprozess durch die Schlüsseleinheit 140 hin abschließen kann.
  • Die Geschwindigkeit einer zeitgleichen Verarbeitung der Verschlüsselung und der Daten ist schneller als die Geschwindigkeit einer sequenziellen Verarbeitung der Verschlüsselung und der Daten. Eine Zeitdauer, die ein einzelner Taktzyklus oder eine andere Zeitdauer sein kann und für das zeitgleiche Verarbeiten der Verschlüsselung und der Daten benötigt wird ist kürzer als die Zeitdauer, die für die sequenzielle Verarbeitung der Verschlüsselung und der Daten benötigt wird.
  • Bezug nehmend auf 2A und 2B umfasst die sichere Speichervorrichtung 200 ein Interface 210, einen Prozessor 220, eine Speichereinheit 230 und eine Sicherheitseinheit 240, die eine Decodereinheit 242, eine Schlüsseleinheit 244 und eine Chiffriereinheit 246 umfasst. Die sichere Speichereinheit 200 kommuniziert mit einem Host-Prozessor 208, der in einer Host-Vorrichtung 205 angeordnet ist.
  • Bei 2A befindet sich die sichere Speichervorrichtung 200 außerhalb der Host-Vorrichtung 205, die den Host-Prozessor 208 umfasst und kommuniziert durch das Interface 210. Die sichere Speichervorrichtung 200 kann durch Anschlüsse in der Host-Vorrichtung 205 lösbar an dieser angeschlossen sein.
  • Bei 2B befindet sich die sichere Speichervorrichtung 200 innerhalb der Host-Vorrichtung 205 und kommuniziert durch das Interface 210 mit dem Host-Prozessor 208. Die sichere Speichervorrichtung 200 kann in der Host-Vorrichtung 205 installiert sein. Die Host-Vorrichtung 205 kann mindestens eine weitere Speichervorrichtung aufweisen, die in dieser installiert ist.
  • Ein Benutzer verwendet die Host-Vorrichtung 205. Die Host-Vorrichtung 205 kommuniziert mit der sicheren Speichervorrichtung 200, welche die Daten erkennbar verschlüsselt oder entschlüsselt, die auf der sicheren Speichervorrichtung 200 gespeichert sind. Der Benutzer kann nach einem Start oder einer Inbetriebnahme ein Passwort eingeben, um auf die sichere Speichervorrichtung 200 im gesperrten Zustand zuzugreifen. Alternativ kann der Benutzer kein Passwort eingeben, aber kann ohne Beschränkungen in einem entsperrten Zustand auf die sichere Speichervorrichtung 200 zugreifen. Sowohl in dem gesperrten als auch in dem entsperrten Zustand sind die Daten bereits entschlüsselt worden. Im gesperrten Zustand steuert der Benutzer den Sicherheitsschlüssel durch Einstellen des Passworts.
  • Es ist möglich, dass ein Benutzer ein Passwort eingeben kann, um ein Dokument aus Daten mit verschiedenen Beschränkungen oder Verschlüsselungs-/Entschlüsselungs-Stufen oder Bereichen, die in der Speichereinheit 230 gespeichert sind, zu erzeugen.
  • Im gesperrten Zustand kann ein verlorenes Passwort unter Verwendung mehrerer Techniken wiederhergestellt werden. Eine Aufforderungs/Reaktions-Sequenz kann verwendet werden, um das verlorene Passwort wiederherzustellen. Alternativ können passwortgeschützte Verschlüsselungsschlüsseldateien an einem sicheren Platz erzeugt und gespeichert werden.
  • Der Prozessor 220 verarbeitet Daten in Übereinstimmung mit einem Befehl, z. B. einem Lese-/Schreibbefehl, der von dem Host-Prozessor 208 erhalten wird. Der Prozessor 220 kann ein Mikroprozessor, ein Mikrocontroller, ein digitaler Signalprozessor, ein zweckbestimmter oder ein generell programmierter Chip sein.
  • Die Speichereinheit 230 speichert Daten. Die Speichereinheit 230 kann ein Halbleiter-Festkörperlaufwerk (SSD) zum Speichern von Daten sein. Die Speichereinheit 230 kann ein anderer Typ eines Speichers sein, wie zum Beispiel ein Flash-Speicher, ein Modul oder Paket einer Vielzahl von Halbleiter-Speicherchips, eine Speicherkarte, usw. Alternativ kann die Speichereinheit 230 ein anderer Typ eines Speichers sein, wie zum Beispiel ein herkömmliches Festplattenlaufwerk (HDD), ein optisches Plattenlaufwerk (ODD), usw. Die Speichereinheit 230 weist einen Speicherplatz (oder physikalischen Speicherplatz) zum Speichern von Daten oder Informationen auf.
  • Die Sicherheitseinheit 240 umfasst eine Decodereinheit 242, eine Schlüsseleinheit 244 und eine Chiffriereinheit 246.
  • Die Decodereinheit 242 parst Adressinformation von dem Befehl, der von der Host-Vorrichtung 208 erhalten wird und wählt einen entsprechenden Sicherheitsschlüssel aus. Die Decodereinheit 242, die ein eigener zweckbestimmter oder universeller Schaltkreis sein kann, kann den Befehl von dem Interface 210 über den Prozessor 220 erhalten, oder kann den Befehl direkt von dem Interface 210 erhalten und den Befehl decodieren.
  • Der Befehl kann einen ersten Befehl, der den Verarbeitungsdaten durch den Prozessor 210 entspricht und einen zweiten Befehl, welcher der Verschlüsselung oder Entschlüsselung durch die Decodereinheit 242 entspricht, umfassen. Ebenso kann der Befehl zeitgleich durch den Prozessor 220 und die Decodereinheit 242 interpretiert werden, um die Datenverarbeitung und die Verschlüsselung oder Entschlüsselung zeitgleich durchzuführen.
  • Die Decodereinheit 242 parst den Befehl und bestimmt eine Adresse von dem Befehl. Die Adresse, die von dem Lese-/Schreibbefehl, der von dem Host-Prozessor 208 erhalten wird, geparst ist, kann in Verbindung mit der Schlüsselliste, die in der Schlüsseleinheit 244 gespeichert ist, verwendet werden, um den benötigten Sicherheitsschlüssel für eine Verschlüsselung und/oder Entschlüsselung der mit der geparsten Adresse angegebenen Daten zu bestimmen.
  • Bei der beispielhaften Ausführungsform der vorliegenden Erfindung speichert die Schlüsseleinheit 244 eine Liste von Sicherheitsschlüsseln. Die Schlüsseleinheit 244 kann eine eigene Speichereinheit sein, welche die Schlüsselliste enthält, oder in der Speichereinheit 230 angeordnet sein. Die Sicherheitsschlüsselliste ist auf die Speichereinheit 230 bezogen. Die Speichereinheit 230 ist in n Bereiche eingeteilt, und jeder Bereich weist einen einzigartigen Sicherheitsschlüssel auf, der diesem zugeordnet ist und der zum Verschlüsseln und Entschlüsseln von Daten, die in diesem enthalten sind, verwendet wird. Der Bereich kann durch den Hersteller festgelegt werden und besteht in einer Datenmenge. Die Sicherheitsschlüsselliste enthält n Sicherheitsschlüssel, die den n Bereichen der Speichereinheit 130 entsprechen. Die Daten in jedem Bereich können eine feste Blockgröße von z. B. 64 Bit, 128 Bit, 192 Bit, 256 Bit, usw. aufweisen und der Sicherheitsschlüssel für jeden Bereich kann z. B. 64 Bit, 128 Bit, 192 Bit, 256 Bit, usw. haben.
  • Die Decodereinheit 242 kann die Adresse verwenden, um direkt den entsprechenden Sicherheitsschlüssel aus der Schlüsselliste, die in der Speichereinheit 230 gespeichert ist, auszuwählen, oder die Decodereinheit 242 kann ein Schlüsselflag unter Verwendung der Adresse, die von dem erhaltenen Befehl geparst wurde, erzeugen. Das Schlüsselflag kann anschließend verwendet werden, um den entsprechenden Sicherheitsschlüssel aus der Schlüsselliste, die in der Speichereinheit 230 gespeichert ist, auszuwählen. Die Decodereinheit 242 kann die Adresse mit einer Referenz vergleichen, um das Schlüsselflag zu erzeugen, das zum Auswählen des Sicherheitsschlüssels zum Verschlüsseln oder Entschlüsseln der Daten verwendet wird.
  • Die Chiffriereinheit 246 führt einen Entschlüsselungsvorgang durch, um Daten in Übereinstimmung mit dem ausgewählten Kryptoschlüssel zu entschlüsseln. Die Chiffriereinheit 246, die ein eigener, zweckbestimmter oder universeller Schaltkreis sein kann, kann ein Advanced Encryption System (AES) oder ein Data Encryption System (DES) Chiffrierer sein, oder jeder geeignete Chiffrierer.
  • Wenn der Sicherheitsschlüssel in der Schlüsseleinheit 250 gespeicherten Sicherheitsschlüsselliste durch die Decodereinheit 242 unter Verwendung der geparsten Adresse von dem Lese-/Schreibebefehl, der von dem Host-Prozessor 208 erhalten wird, ausgewählt worden ist, verwendet die Chiffriereinheit 246 dem Sicherheitsschlüssel, um Daten zu verschlüsseln und/oder zu entschlüsseln. Die Chiffriereinheit 246 kann den Advanced Encryption System (AES) oder den Data Encryption System (DES) verwenden, um die Daten zu verschlüsseln und/oder zu entschlüsseln, oder kann ein anderes Verschlüsselungssystem, wie jeweils anwendbar verwenden.
  • Die Decodereinheit 242 parst die Adresse von dem Befehl, und die Chiffriereinheit 246 verarbeitet die Verschlüsselung und/oder Entschlüsselung ohne Verwendung des Prozessors 220. Demzufolge kann der Prozessor 220 die Daten wie in dem Befehl angegeben verarbeiten, während die Decodereinheit 240 zeitgleich den Sicherheitsschlüssel auswählt. Die Chiffriereinheit 246 ist zum Verschlüsseln oder Entschlüsseln der Daten befähigt, ohne den Prozessor 220 zu unterbrechen oder eine Steuerung zu erfordern, während der Prozessor 220 zum Bearbeiten der Daten befähigt ist, ohne die Chiffriereinheit 246 zu unterbrechen. Weder die Decodereinheit 242 noch der Prozessor 220 hat Priorität über den Anderen, und weder die Decodereinheit 242 noch der Prozessor 220 beeinträchtigt den Anderen.
  • Der Prozessor 220 verarbeitet die Daten, was ein Durchführen eines Zuordnungsvorgangs zum Zuordnen einer logischen Adresse zu einer entsprechenden physikalischen Adresse in der Speichereinheit 230 in Übereinstimmung mit dem Befehl umfassen kann. Der Prozessor 220 kann weitere Verarbeitungen der Daten durchführen, die auf die Verarbeitung der Verschlüsselung durch die Chiffriereinheit 246 folgt. Der Prozessor 220 kann in Übereinstimmung mit den verarbeiteten Daten und dem Verschlüsselungsvorgang ein Signal an die Host-Vorrichtung 205 ausgeben.
  • Der Prozessor 220 muss nicht warten oder die Verarbeitung von Daten verzögern bis die Decodereinheit 242 die Verarbeitung der Verschlüsselung oder Entschlüsselung beendet hat. Der Prozessor 220 kann einen Teil der Verarbeitung von Daten während des Verschlüsselungs- oder Entschlüsselungsablaufs durch die Decodereinheit 242 durchführen. Der Prozessor 220 kann eine Verarbeitung von Daten während des Verschlüsselungs- oder Entschlüsselungsablaufs durch die Decodereinheit 242 derart vorbereiten, dass der Prozessor 220 die Verarbeitung von Daten in Übereinstimung mit dem Befehl auf den Abschluss des Verschlüsselungs- oder Entschlüsselungsablaufs durch die Decodereinheit 242 hin abschließen kann.
  • Die Geschwindigkeit einer zeitgleichen Verarbeitung der Verschlüsselung und der Daten ist schneller als die Geschwindigkeit einer sequenziellen Verarbeitung der Verschlüsselung und der Daten. Eine Zeitdauer, die ein einzelner Taktzyklus oder eine andere Zeitdauer sein kann und für das zeitgleiche Verarbeiten der Verschlüsselung und der Daten benötigt wird ist kürzer als die Zeitdauer, die für die sequenzielle Verarbeitung der Verschlüsselung und der Daten benötigt wird.
  • Der Prozessor 220 und die Decodereinheit 242 (ihren die Verarbeitung der Daten und einer Auswahl des Sicherheitsschlüssels auf Erhalten des Befehls hin jeweils zeitgleich durch. Die Host-Vorrichtung 205 kann durch. Erzeugen eines Interface Signals, das einem Benutzerfenster entspricht, mit einem Benutzer kommunizieren, um die Sicherheitsschlüssel zu ändern. Die Decodereinheit 242 kann die geänderten Sicherheitsschlüssel auswählen. Die Decodereinheit 242 wählt einen der Sicherheitsschüssel unabhängig von dem Prozessor 220 oder dem Host-Prozessor 208.
  • Dementsprechend führt der Prozessor 220 keine Verschlüsselung oder Entschlüsselung oder eine Steuerung der Decodereinheit 242 beim Auswählen des Sicherheitsschlüssels aus der Schlüsselliste, die in der Speichereinheit 244 gespeichert ist durch. Der Prozessor 220 gibt in Übereinstimmung mit den verarbeiteten Daten und dem Verschlüsselungsvorgang ein Signal an die Host-Vorrichtung 205 aus. Der Prozessor 220 verarbeitet die Daten während einer Zeitdauer, in der die Decodereinheit 242 den Sicherheitsschlüssel auswählt und die Chiffriereinheit 246 den Verschlüsselungsvorgang durchführt. Der Prozessor 220 darf ein aus den verarbeiteten Daten erzeugtes Signal ausgeben, wenn die Chiffriereinheit 246 den Verschlüsselungsvorgang abgeschlossen hat. Die Decodereinheit 242 erzeugt ein Signal, das dem Prozessor 220 einen Verschlüsselungsvorgang anzeigt.
  • Bezug nehmend auf 3 ist eine Sicherheitseinheit 340 dargestellt, die eine beispielhafte Ausführungsform der vorliegenden Erfindung zeigt. Die Decodereinheit 242, die Schlüsseleinheit 244 und die Chiffriereinheit 246 aus 2 werden mit Bezug auf die Sicherheitseinheit 340 nachstehend näher beschrieben, die eine Decodereinheit 242 eine Schlüsseleinheit 344 und eine Chiffriereinheit 346 umfasst.
  • 3 umfasst eine Decodereinheit 242, eine Schlüsseleinheit 344 und eine Chiffriereinheit 346. Die Decodereinheit 342 erhält einen Befehl und parst eine Adresse von dem Befehl. Die Adresse kann eine logische Blockadresse (LBA) sein. Die Adresse oder LBA wird zum Auswählen eines Sicherheitsschlüssels aus der Schlüsseleinheit 344 verwendet. Die Schlüsseleinheit 344 umfasst Schlüssel 1, Schlüssel 2 ... Schlüssel n. Jeder Schlüssel entspricht einem Bereich der Speichereinheit 230 der beispielhaften Ausführungsform aus 2. Der Sicherheitsschlüssel wird in der Chiffriereinheit 346 verwendet, die ein Advanced Encryption System (AES) oder ein Data Encryption System (DES) Chiffrierer oder jeder geeignete Chiffrierer sein kann.
  • Bezug nehmend auf 4 ist ein Blockdiagramm der Speichervorrichtung 400 dargestellt, die eine beispielhafte Ausführungsform der vorliegenden Erfindung zeigt. Eine Speichervorrichtung 400 kommuniziert über einen Bus 415 mit einem Prozessor 420 sowie durch ein Interface 410 mit einer externen Einrichtung 405. Ein serielles ATA-Laufwerk und ein Interface oder jeder andere geeignete Laufwerk und Interface Standart kann verwendet werden. Es kann jeder geeignete Prozessor oder Host, der Befehle senden und Daten von einem externen Speicher erhalten kann, verwendet werden. Der Prozessor 420 kann eine zusätzliche Speichereinheit wie z. B. ein ROM oder RAM zum Durchführen einer Datenverarbeitung umfassen.
  • Statt des Prozessors 420 parst ein Befehl-Parser 441 einen Befehl, wie er herkömmlich durchgeführt wird, wie z. B. einen Lese- oder Schreibebefehl und entnimmt eine Adresse. Der Vorgang des Befehl-Parsers 441 wird nachstehend in den 5 bis 7 dargestellt.
  • Die Adresse, die durch den Befehl-Parser 441 geparst ist und die eine LBA sein kann, wird durch die LBA Decodierungseinheit 442 in Verbindung mit der Schlüsseleinheit 444 verwendet, um einen Sicherheitsschlüssel zu erzeugen. Der Sicherheitsschlüssel wird in der Chiffriereinheit 446 zum Verschlüsseln oder Entschlüsseln von Daten, die in dem Speicher 430 auf der Speichervorrichtung 400 gespeichert sind, verwendet. Nach dem Verschlüsseln oder Entschlüsseln werden die Daten zum Verarbeiten an den Prozessor 420 weitergeleitet. Da das Parsing decodieren und Verschlüsseln/Entschlüsseln in einer einzige Hardwarelösung stattfindet, werden die Daten nicht zum Verschlüsseln/Entschlüsseln an den Prozessor 420 weitergeleitet bevor sie in Reaktion auf den Befehl an den Prozessor 420 weitergeleitet werden.
  • Alternativ kann die LBA Decodierungseinheit 442 die Adresse zum Erzeugen eines Schlüsselflags verwenden. Das Schlüsselflag wird anschließend an die Chiffriereinheit 446 weitergeleitet, die das Schlüsselflag zum Auswählen eines Sicherheitsschlüssels aus der Schlüsseleinheit 444 verwendet. Der Sicherheitsschlüssel wird anschließend, wie oben genannt, durch die Chiffriereinheit 446 zum Verschlüsseln oder Entschlüsseln von Daten, die in dem Speicher 430 gespeichert sind, verwendet.
  • Der Befehl-Parser 441 kann durch den Bus 415 Unterbefehle an den Prozessor 420 und auch an die LBA Decodierungseinheit 442 senden. Der Prozessor 420 und die LBA Decodierungseinheit 442 können auf Erhalten des Befehls hin das Verarbeiten von Daten und eine Auswahl des Sicherheitsschlüssels jeweils zeitgleich durchführen.
  • 5 stellt einen beispielhaften Vorgang des Befehl-Parsers 441 aus 4 dar. Der Befehl-Parser 441 erhält von einer externen Einrichtung, z. B. einer Host-Einrichtung 450, einen Befehl in Form eines Rahmens und parst den Rahmen, um eine Adresse zu bestimmen, die in dem Rahmen angegeben ist. Eine herkömmliche Host-zu-Einrichtungs-Rahmeninformationsstruktur (FIS) in einer seriellen ATA Hardware-Architektur-Implementierung umfasst: einen Rahmenanfangs(SOF)-Begrenzungszeichen, eine Nutzmenge umfassend eine Transportschichtinformation, eine zyklische Redundanzprüfung (CRC) und ein Rahmenende(EOF)-Begrenzungszeichen. Die FIS umfasst ebenso eine logische Blockadresse 500, die in Form eines Zylinders, eines Kopfs und eines Sektors bestehen kann und ein Cyl hoch und ein Cyl niedrig, ebenso wie ein Cyl hoch (exp) und ein Cyl niedrig (exp) umfasst. Cyl hoch umfasst die Inhalte eines Zylinderhochregisters der Speichereinheit 430 und Cyl niedrig umfasst die Inhalte eines Zylinder niedrig Registers der Speichereinheit 430. Cyl hoch (exp) und Cyl niedrig (exp) umfassen die Inhalte von erweiterten Adressfeldern der Speichereinheit 430. Die logische Blockadresse 500 wird durch den Befehl-Parser 441 geparst und wird durch die LBA Decodierungseinheit 442 mit der Schlüsseleinheit 444 zum Erzeugen eines Sicherheitsschlüssels oder Schlüsselflags verwendet.
  • 6 stellt eine Einrichtung-zu-Host Rahmeninformationsstruktur (FIS) in einer seriellen ATA Hardware-Architektur-Implementierung dar, die durch einen Befehl-Parser 441 aus 4 verwendet wird. Die logische Blockadresse 600 kann in der Form eines Zylinders, eines Kopfs und eines Sektors bestehen und ein Cyl hoch und ein Cyl niedrig ebenso wie ein Cyl hoch (exp) und ein Cyl niedrig (exp) umfassen. Die logische Blockadresse 600 wird durch den Befehl-Parser 441 geparst und durch die LBA Decodierungseinheit 442 mit der Schlüsseleinheit 444 zum Erzeugen eines Sicherheitsschlüssels oder eines Schlüsselflags verwendet.
  • 7 stellt eine andere Einrichtung-zu-Host Rahmeninformationsstruktur (FIS) in einer seriellen ATA Hardware-Architektur-Implementierung dar, die durch einen Befehl-Parser 441 aus 4 verwendet wird. Die logische Blockadresse 700 kann in der Form eines Zylinders, eines Kopfs und eines Sektors bestehen und ein Cyl hoch und ein Cyl niedrig ebenso wie ein Cyl hoch (exp) und ein Cyl niedrig (exp) umfassen. Die logische Blockadresse 700 wird durch den Befehl-Parser 441 geparst und durch die LBA Decodierungseinheit 442 mit der Schlüsseleinheit 444 zum Erzeugen eines Sicherheitsschlüssels oder eines Schlüsselflags verwendet.
  • 8 bis 11 stellen verschiedene Beispiele vereinfachter Computerarchitekturen von Ausführungsformen der vorliegenden Erfindung dar.
  • Bezug nehmend auf 8 kommuniziert die CPU 810 unter Verwendung des nachstehend beschriebenen Verfahrens in 12 über ein serielles ATA Interface 820 mit einem optischen Plattenlaufwerk (ODD) 830. Das ODD 830 kann einen Prozessor und eine Schlüsseleinheit umfassen, die, wie obenstehend mit Bezug auf 1 beschrieben, bei der Verschlüsselung und Entschlüsselung von Daten verwendet werden, die durch die CPU 810 verwendet werden. Wahlweise kann das ODD 830 einen Prozessor, eine Schlüsseleinheit, eine Decodierungseinheit und eine Chiffriereinheit, die, wie oben stehend mit Bezug auf 2 beschrieben, beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 810 verwendet werden.
  • Bezug nehmend auf 9 kommuniziert die CPU 910 über ein serielles ATA Interface 920 mit einem Festplattenlaufwerk (HDD) 930. Das HDD 930 kann einen Prozessor und eine Schlüsseleinheit umfassen, die, wie oben stehend mit Bezug auf 1 beschrieben, beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 910 verwendet werden. Wahlweise kann das HDD 930 einen Prozessor, eine Schlüsseleinheit, eine Decodierungseinheit und eine Chiffriereinheit umfassen, die, wie oben stehend mit Bezug auf 2 beschrieben, beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 910 verwendet werden.
  • Bezug nehmend auf 10 kommuniziert die CPU 1010 über eine Multimediakartensteuerung 1020 mit einer Multimediakarte 1030. Die Multimediakarte 1030 kann einen Prozessor und eine Schlüsseleinheit umfassen, die, wie oben stehend mit Bezug auf 1 beschrieben, beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 1010 verwendet werden. Wahlweise kann die Multimediakarte 1030 einen Prozessor, eine Schlüsseleinheit, eine Decodierungseinheit und eine Chiffriereinheit umfassen, die, wie oben stehend mit Bezug auf 2 beschrieben, beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 1010 verwendet werden.
  • Bezug nehmend auf 11 kommuniziert die CPU 1110 über ein Sicherheitsdigitalinferface 1120 mit einer Sicherheitsdigitalkarte (SD Karte) 1130. Die SD Karte 1130 kann einen Prozessor und eine Schüsseleinheit umfassen, die, wie oben stehend mit Bezug auf 1 beschrieben beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 1110 verwendet werden. Wahlweise kann die SD Karte 1130 einen Prozessor eine Schlüsseleinheit, eine Decodierungseinheit und eine Chiffriereinheit umfassen, die, wie oben stehend unter Bezug auf 2 beschrieben, beim Verschlüsseln und Entschlüsseln von Daten verwendet werden, die durch die CPU 1110 verwendet werden.
  • 12 zeigt ein Flussdiagramm einer Ausführungsform der vorlegenden Erfindung. Zur Veranschaulichung wird 12 unter Verwendung der Steuervorrichtung 400 aus 4 beschrieben. Bei Vorgang S1205 wird durch die Speichervorrichtung 400 ein Befehl erhalten. Bei Vorgang S1210 wird der Befehl durch den Befehl-Parser 441 geparst. Die logische Blockadresse (LBA) von dem Befehl wird geparst, und die LBA wird durch die LBA Decodierungseinheit 442 mit der derzeitigen LBA verglichen. Wenn sich die LBA unterscheidet, wird die neue LBA anschließend beim Vorgang S1215 durch die LBA Decodierungseinheit 442 verwendet. Wenn die LBA dieselbe ist, wird anschließend die derzeitige LBA und Sicherheitsschlüssel bei der Verschlüsselung und Entschlüsselung durch die Chiffriereinheit 446 verwendet. Bei Vorgang S1220 wird die neue LBA in der LBA Decodierungseinheit 442 zum Erzeugen eines geeigneten Schlüsselflags verwendet. Mit dem Schlüsselflag, das durch die LBA Decodierungseinheit 442 erzeugt wird, wird bei Vorgang S1225 der Sicherheitsschlüssel aus der Schlüsseleinheit 444 ausgewählt und danach beim Verschlüsseln und Entschlüsseln von Daten durch die Chiffriereinheit 446 verwendet.
  • Gleichermaßen erhält bei der sicheren Speichervorrichtung 100 aus 1 die sichere Speichervorrichtung 100 einen Befehl. Der Prozessor 120 verarbeitet Daten in Reaktion auf den Befehl, und die Schlüsseleinheit 140 wählt zeitgleich einen Sicherheitsschlüssel unter Verwendung von Adressinformationen von dem Befehl aus. Die Schlüsseleinheit 140 verwendet den Sicherheitsschlüssel zum Verschlüsseln oder Entschlüsseln der Daten.
  • Gleichermaßen erhält bei der sicheren Speichervorrichtung 200 aus 1 die sichere Speichervorrichtung 200 eine Lese-/Schreibeanforderung. Die Decodierungseinheit 242 parst eine Adresse aus der Lese-/Schreibeanforderung, die eine logische Blockadresse sein kann und erzeugt ein Schlüsselflag, das der logischen Blockadresse entspricht. Die Schlüsseleinheit 44 wählt einen Sicherheitsschlüssel unter Verwendung des Schlüsselflags aus, und die Chiffriereinheit 246 verwendet den Sicherheitsschlüssel zum Verschlüsseln der Daten oder zum Entschlüsseln der Daten, wie durch die Lese-/Schreibeanforderung angegeben. Wenn die Daten verschlüsselt oder entschlüsselt werden, werden die Daten zur weiteren Verarbeitung an den Prozessor 220 weitergeleitet, was ein Weiterleiten der verschlüsselten Daten an die Host-Vorrichtung 205 oder ein Schreiben der verschlüsselten Daten in den Speicher 230 umfasst.
  • 13 zeigt ein Flussdiagramm einer Ausführungsform der vorliegenden Erfindung. Zur Veranschaulichung wird 13 unter Verwendung der Speichervorrichtung 100 aus 1A und 1B beschrieben. Bei Vorgang S1305 wird durch die Speichervorrichtung 100 ein Befehl von der Host-Vorrichtung 105 erhalten. Der Befehl wird zeitgleich an den Prozessor 120 und die Schlüsseleinheit 140 weitergeleitet. Bei Vorgang S1310 beginnt der Prozessor 120 die Daten in Übereinstimmung mit dem Befehl zu verarbeiten. Bei Vorgang 1215 führt die Schlüsseleinheit 140 eine Verschlüsselung oder Entschlüsselung der Daten durch. Wenn die Verschlüsselung und/oder Entschlüsselung abgeschlossen ist, schließt der Prozessor 120 bei Vorgang S1220 die Verarbeitung der verschlüsselten oder entschlüsselten Daten ab. Demzufolge beginnt der Prozessor 120 mit dem Verarbeiten der Daten während die Schlüsseleinheit 140 eine Verschlüsselung oder Entschlüsselung der Daten durchführt, und wenn die Verschlüsselung oder Entschlüsselung abgeschlossen ist, wird die Verarbeitung der verschlüsselten oder entschlüsselten Daten durch den Prozessor 120 abgeschlossen.
  • Die vorliegende Erfindung kann ebenso als rechnerlesbare Codes auf einem rechnerlesbaren Medium ausgeführt werden. Das rechnerlesbare Medium kann ein rechnerlesbares Aufnahmemedium und ein rechnerlesbares Übertragungsmedium umfassen. Das computerlesbare Aufnahmedium ist jede Datenspeichereinrichtung, die die Daten als ein Programm abspeichern kann, die danach durch ein Rechnersystem ausgelesen werden können. Beispiele eines rechnerlesbaren Aufnahmemediums umfassen Festwertspeicher (ROM), Arbeitsspeicher (RAM), CD-ROMS, magnetische Bänder, Floppy Disks und optische Datenspeichereinrichtungen. Das rechnerlesbare Aufnahmemedium kann ebenso über ein Netzwerk gekoppelter Rechnersysteme derart verteilt sein, das der rechnerlesbare Code auf eine verteilte bzw. dezentralisierte Weise gespeichert und ausgeführt wird. Das rechnerlesbare Übertragungsmedium kann Trägerwellen oder Signale (z. B. verdrahtete oder drahtlose Datenübertragung durch das Internet) übertragen. Ebenso können funktionale Programme, Codes und Codesegmente zum Erreichen der vorliegenden Erfindung auf einfache Weise durch einen Programmierer ausgelegt werden, der Fachmann in dem betreffenden Gebiet der vorliegenden Erfindung ist.
  • Obwohl einige Ausführungsformen der vorliegenden Erfindung gezeigt und beschrieben wurden, versteht es sich für den Fachmann, dass in diesen Ausführungsformen Änderungen vorgenommen werden können ohne von dem Prinzip und dem Kern der Erfindung, dem durch die angehängten Ansprüche festgelegten Umfang und deren Äquivalente abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 2009-89644 [0001]

Claims (45)

  1. Speichervorrichtung mit: einer Speichereinheit (130) zum Speichern von Daten; einer Prozessoreinheit (120) zum Verarbeiten der Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung (105) erhalten wird; und einer Schlüsseleinheit (140) zum zeitgleichen Verarbeiten einer Verschlüsselung, die dem Befehl entspricht, während die Prozessoreinheit (120) die Daten verarbeitet.
  2. Speichervorrichtung nach Anspruch 1, wobei die Schlüsseleinheit (140) die Verschlüsselung zeitgleich verarbeitet, ohne die Prozessoreinheit (120) zu unterbrechen.
  3. Speichervorrichtung nach Anspruch 1, wobei die Schlüsseleinheit (140) die Verschlüsselung ohne eine Steuerung der Prozessoreinheit (120) verarbeitet.
  4. Speichervorrichtung nach Anspruch 1, wobei die Prozessoreinheit (120) die Daten verarbeitet, ohne die Schlüsseleinheit (140) zu unterbrechen.
  5. Speichervorrichtung nach Anspruch 1, wobei die Schlüsseleinheit (140) und die Prozessoreinheit (120) miteinander kommunizieren, nachdem die Schlüsseleinheit (140) die Verarbeitung der Verschlüsselung abschließt.
  6. Speichervorrichtung nach Anspruch 1, wobei die Schlüsseleinheit (140) und die Prozessoreinheit (120) die Verschlüsselung und die Daten zeitgleich verarbeiten, und sich die Verarbeitung der Daten von der Verarbeitung der Verschlüsselung unterscheidet.
  7. Speichervorrichtung nach Anspruch 1, wobei die Verarbeitung der Daten und die Verarbeitung der Verschlüsselung keine Priorität aufweisen, die in einer Reihenfolge zum sequenziellen Durchführen der Verarbeitung der Verschlüsselung und der Daten in Übereinstimmung mit dem Befehl besteht.
  8. Speichervorrichtung nach Anspruch 1, wobei die Verarbeitung der Daten und die Verarbeitung der Verschlüsselung sich nicht gegenseitig beeinträchtigen.
  9. Speichervorrichtung nach Anspruch 1, wobei die Verarbeitung der Daten eine Verarbeitung eines Zuordnungsvorgangs zur Zuordnung von logischen Adressen zu physikalischen Adressen in Übereinstimmung mit dem Befehl umfasst.
  10. Speichervorrichtung nach Anspruch 1, wobei die Prozessoreinheit (120) eine andere Verarbeitung der Daten in Übereinstimmung mit einem Ergebnis der Verarbeitung der Verschlüsselung durchführt.
  11. Speichervorrichtung nach Anspruch 1, wobei: eine erste Dauer benötigt wird, um die Verschlüsselung und die Daten sequenziell zu verarbeiten; eine zweite Dauer benötigt wird, um die Verschlüsselung und die Daten zeitgleich zu verarbeiten; und die zweite Dauer kürzer als die erste Dauer ist.
  12. Speichervorrichtung nach Anspruch 1, wobei eine Geschwindigkeit der zeitgleichen Verarbeitung der Verschlüsselung und der Daten schneller ist, als eine Geschwindigkeit der sequenziellen Verarbeitung der Verschlüsselung und der Daten.
  13. Speichervorrichtung mit: einer Speichereinheit (230) zum Speichern von Daten; einer Prozessoreinheit (220) zum Verarbeiten der Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung (205) erhalten wird; einer Schlüsseleinheit (244) zum Speichern einer Vielzahl von Kryptoschlüsseln; und einer Decodereinheit (242) zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung (205) erhalten wird.
  14. Speichervorrichtung nach Anspruch 13, wobei die Prozessoreinheit (220) und die Decodereinheit (242) die Verarbeitung der Daten und die Auswahl des Kryptoschlüssels auf Erhalten des Befehls hin jeweils zeitgleich durchführen.
  15. Speichervorrichtung nach Anspruch 13, weiterhin mit: einer Chiffrierungseinheit (246) zum Durchführen eines Verschlüsselungsvorgangs zum Verschlüsseln von Daten in Übereinstimmung mit dem ausgewählten Kryptoschlüssel.
  16. Speichervorrichtung nach Anspruch 15, wobei: die Prozessoreinheit (220) in Übereinstimmung mit den verarbeiteten Daten und dem Verschlüsselungsvorgang ein Signal an die externe Einrichtung (205) ausgibt.
  17. Speichervorrichtung nach Anspruch 15, wobei: die Prozessoreinheit (220) die die Daten während einer Dauer verarbeitet, in der die Decodereinheit (242) die Kryptoschlüssel auswählt und die Chiffrierungseinheit (246) den Verschlüsselungsvorgang durchführt.
  18. Speichervorrichtung nach Anspruch 15, wobei: der Prozessoreinheit (220) erlaubt ist, ein Signal auszugeben, das aus den verarbeiteten Daten erzeugt wird, wenn die Chiffrierungseinheit (246) den Verschlüsselungsvorgang abschließt.
  19. Speichervorrichtung nach Anspruch 13, wobei die Decodereinheit (242) ein Signal erzeugt, das der Prozessoreinheit (220) einen Verschlüsselungsvorgang anzeigt.
  20. Speichervorrichtung nach Anspruch 13, wobei die Decodereinheit (242) die Adressinformationen mit einer Referenz vergleicht, um ein Signal zum Auswählen des Kryptoschlüssels zum Verschlüsseln der Daten zu erzeugen.
  21. Speichervorrichtung nach Anspruch 13, wobei die Decodereinheit (242) ein Schlüsselflag erzeugt, das eine Auswahl von dem einen Kryptoschlüssel darstellt.
  22. Speichervorrichtung nach Anspruch 13, wobei die Vielzahl von Kryptoschlüsseln ein Vielfaches von 64 Bits aufweist.
  23. Speichervorrichtung nach Anspruch 13, wobei die Prozessoreinheit (220) keinen Verschlüsselungsvorgang der Decodereinheit (242) in Übereinstimmung mit dem Befehl durchführt.
  24. Speichervorrichtung nach Anspruch 13, wobei die Decodereinheit (242) eine Befehlsanalyseeinheit (441) zum Analysieren eines Befehls von der externen Einrichtung (405) aufweist, um die Adressinformationen in Echtzeit zu erhalten.
  25. Speichervorrichtung nach Anspruch 13, wobei die Decodereinheit (242) eine Adresskonvertierungseinheit aufweist, um die Adressinformationen mit dem einen Kryptoschlüssel, der den Adressinformationen entspricht, in Echtzeit zu verknüpfen.
  26. Speichervorrichtung nach Anspruch 13, wobei: ein Verschlüsselungsvorgang in Übereinstimmung mit dem ausgewählten Kryptoschlüssel abgeschlossen wird; und die Prozessoreinheit (220) in Übereinstimmung den Verarbeitungsdaten und dem Abschluss des Verschlüsselungsvorgangs andere Daten an die externe Einrichtung (205) ausgibt.
  27. Speichervorrichtung nach Anspruch 13, weiterhin mit: einer Interfaceeinheit (210) zum Erhalten des Befehls von der externen Einrichtung (205), wobei die Prozessoreinheit (220) und die Decodereinheit (242) den Befehl von der Interfaceeinheit (242) erhalten, um jeweils die Verarbeitung der Daten und einen Verschlüsselungsbefehl in Übereinstimmung mit dem erhaltenen Befehl durchzuführen.
  28. Speichervorrichtung nach Anspruch 15, weiterhin mit: einem Datenbus (414), der mit der Prozessoreinheit (420) und der Decodereinheit (442) verbunden ist, um den Befehl zu der betreffenden Prozessoreinheit (420) oder Decodereinheit (442) zu übermitteln.
  29. Speichervorrichtung nach Anspruch 16, wobei der Datenbus (414) einen ersten Anschluss, der mit der Prozessoreinheit (420) verbunden ist, und einen zweiten Anschluss, der mit der Decodereinheit (442) verbunden ist, aufweist.
  30. Speichervorrichtung nach Anspruch 13, weiterhin mit: einem Gehäuse, das mit der externen Einrichtung (205) verbindbar ist, um die Speichereinheit (230), die Prozessoreinheit (220), die Schlüsseleinheit (244) und die Decodereinheit (242) aufzunehmen, wobei die Prozessoreinheit (220) und die Decodereinheit (242) innerhalb des Gehäuses von einander beabstandet sind.
  31. Speichervorrichtung nach Anspruch 13, wobei die Decodereinheit (242) während der Auswahl des Kryptoschlüssels in dem Verschlüsselungsvorgang nicht durch die Prozessoreinheit (220) gesteuert wird.
  32. Speichervorrichtung mit: einer Prozessoreinheit (220) zum Durchführen einer Verarbeitung von Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung (205) erhalten wird; einer Decodereinheit (242) zum Durchführen einer Auswahl von Kryptoschlüsseln in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung (205) erhalten wird, wobei die Prozessoreinheit (220) und die Decodereinheit (242) die Verarbeitung der Daten und eine Auswahl der Kryptoschlüssel auf Erhalten des Befehls hin jeweils zeitgleich durchführen.
  33. Speichersystem mit: einer Host-Vorrichtung (205) zum Erzeugen eines Befehls; und einer Speichervorrichtung (200), die mit der Host-Vorrichtung (205) verknüpfbar ist, wobei die Speichervorrichtung (200) aufweist: eine Speichereinheit (230) zum Speichern von Daten; eine Prozessoreinheit (220) zum Verarbeiten der Daten in Übereinstimmung mit dem Befehl, der von einer externen Einrichtung erhalten wird; eine Schlüsseleinheit (244) zum Speichern einer Vielzahl von Kryptoschlüsseln; und eine Decodereinheit (242) zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung erhalten wird.
  34. Speichersystem mit: einer Host-Vorrichtung (205) zum Erzeugen eines Befehls; und einer Speichervorrichtung (200), die mit der Host-Vorrichtung (205) verknüpfbar ist, wobei die Speichervorrichtung aufweist: eine Prozessoreinheit (220) zum Durchführen einer Verarbeitung von Daten in Übereinstimmung mit einem Befehl, der von einer externen Einrichtung (208) erhalten wird; eine Decodereinheit (242; 342) zum Durchführen einer Auswahl von Kryptoschlüsseln in Übereinstimmung mit Adressinformationen von dem Befehl, der von der externen Einrichtung (208) erhalten wird, wobei die Prozessoreinheit (220) und die Decodereinheit (242; 342) die Verarbeitung der Daten und eine Auswahl der Kryptoschlüssel auf Erhalten des Befehls hin jeweils zeitgleich durchführen.
  35. Speichersystem nach Anspruch 34, wobei: die Host-Vorrichtung (205) ein Interfacesignal erzeugt, um mit einem Benutzerfenster zum Ändern des Kryptoschlüssels zu korrespondieren.
  36. Speichersystem nach Anspruch 35, wobei: wobei die Decodereinheit (242; 342) eine Auswahl des geänderten Kryptoschlüssels durchführt.
  37. Speichervorrichtung mit: einer Schlüsseleinheit (244; 344) zum Speichern einer Vielzahl von Kryptoschlüsseln; und einer Decodereinheit (242; 342) zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen, die von einer externen Einrichtung (208) erhalten werden; einer Speichereinheit (230) zum Speichern von Daten; und einer Steuerungsprozessoreinheit (220) zum Verwalten, Auslesen und Schreiben von Daten der Speichereinheit unter Verwendung des ausgewählten Kryptoschlüssels, wobei die Decodereinheit (242) einen der Kryptoschlüssel unabhängig von der Steuerungsprozessoreinheit (220) auswählt.
  38. Festkörperlaufwerk mit: einer Schlüsseleinheit (244) zum Speichern einer Vielzahl von Kryptoschlüsseln; und einer Decodereinheit (242) zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen, die von einer externen Einrichtung (205) erhalten werden; einer Speichereinheit (230) zum Speichern von Daten; und einer Steuerungsprozessoreinheit (220) zum Verwalten, Auslesen und Schreiben von Daten der Speichereinheit unter Verwendung des ausgewählten Kryptoschlüssels, wobei die Decodereinheit (242) einen der Kryptoschlüssel unabhängig von der Steuerungsprozessoreinheit (220) auswählt.
  39. Ein Datensystem mit: einer Host-Vorrichtung (205) zum erzeugen eines Befehls; und einer Speichervorrichtung (200), die mit der Host-Vorrichtung (205) verknüpfbar ist, wobei die Speichervorrichtung (200) aufweist: eine Schlüsseleinheit (244) zum Speichern einer Vielzahl von Kryptoschlüsseln; eine Decodereinheit (242) zum Auswählen von einem der Kryptoschlüssel in Übereinstimmung mit Adressinformationen, die von einer externen Einrichtung (208) erhalten werden; eine Speichereinheit (230) zum Speichern von Daten; und eine Steuerungsprozessoreinheit (220) zum Verwalten, Auslesen und Schreiben von Daten der Speichereinheit unter Verwendung des ausgewählten Kryptoschlüssels, wobei die Decodereinheit (242) einen der Kryptoschlüssel unabhängig von der Steuerungsprozessoreinheit (220) auswählt.
  40. Verfahren zum Verschlüsseln von Daten mit den Schritten: Erhalten eines Befehls; Parsen einer Adresse von dem Befehl; Erhalten eines Bereichs einer logischen Blockadresse; Erzeugen eines Schlüsselflags, das dem Bereich der logischen Blockadresse entspricht; und Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselflags.
  41. Verfahren zum Verschlüsseln von Daten mit den Schritten: Erhalten einer Schreibeanforderung; Parsen einer Adresse von der Schreibeanforderung; Erhalten eines Bereichs einer logischen Blockadresse; Erzeugen eines Schlüsselflags, das dem Bereich der logischen Blockadresse entspricht; Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselflags; Verwenden des Kryptoschlüssels zum Verschlüsseln von Daten; und Schreiben der verschlüsselten Daten in einen Speicher (230).
  42. Verfahren zum Entschlüsseln von Daten mit den Schritten: Erhalten eines Befehls; Parsen einer Adresse von dem Befehl; Erhalten eines Bereichs einer logischen Blockadresse; Erzeugen eines Schlüsselkennzeichens, das dem Bereich der logischen Blockadresse entspricht; und Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselflags.
  43. Verfahren zum Entschlüsseln von Daten mit den Schritten: Erhalten einer Leseanforderung; Parsen einer Adresse von der Leseanforderung; Erhalten eines Bereichs einer logischen Blockadresse; Erzeugen eines Schlüsselflags, das dem Bereich der logischen Blockadresse entspricht; Auswählen eines Kryptoschlüssels unter Verwendung des Schlüsselflags; Verwenden des Kryptoschlüssels zum Entschlüsseln von Daten; und Auslesen der verschlüsselten Daten aus einem Speicher (230).
  44. Verfahren zum Durchführen eines Verschlüsselungsvorgangs in einer Speichervorrichtung mit den Schritten: Erhalten eines Befehls; und zeitgleiches Verarbeiten von Daten in Übereinstimmung mit dem Befehl und Durchführen eine Auswahl von Kryptoschlüsseln in Übereinstimmung mit den Adressinformationen von dem Befehl.
  45. Rechnerlesbares Medium zum Aufnehmen von rechnerlesbaren Codes als ein Programm zur Durchführung eines Verfahrens zum Durchführen eines Verschlüsselungsvorgangs in einer Speichervorrichtung (100; 200), wobei das Verfahren aufweist: Erhalten eines Befehls; und zeitgleiches Verarbeiten von Daten in Übereinstimmung mit dem Befehl und Durchführen eine Auswahl von Kryptoschlüsseln in Übereinstimmung mit den Adressinformationen von dem Befehl.
DE102010037291A 2009-09-22 2010-09-02 Datenspeichervorrichtung mit Verschlüsselung und Verfahren dafür Pending DE102010037291A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2009-0089644 2009-09-22
KR1020090089644A KR101601790B1 (ko) 2009-09-22 2009-09-22 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법
US12/728,325 US8886956B2 (en) 2009-09-22 2010-03-22 Data storage apparatus having cryption and method thereof
US12/728,325 2010-03-22

Publications (1)

Publication Number Publication Date
DE102010037291A1 true DE102010037291A1 (de) 2011-04-21

Family

ID=43757646

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010037291A Pending DE102010037291A1 (de) 2009-09-22 2010-09-02 Datenspeichervorrichtung mit Verschlüsselung und Verfahren dafür

Country Status (6)

Country Link
US (1) US8886956B2 (de)
JP (1) JP5648209B2 (de)
KR (1) KR101601790B1 (de)
CN (1) CN102023935A (de)
DE (1) DE102010037291A1 (de)
TW (1) TWI525471B (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5488134B2 (ja) * 2010-04-01 2014-05-14 セイコーエプソン株式会社 通信システム及び通信方法
US8966201B2 (en) * 2010-12-10 2015-02-24 Sandisk Technologies Inc. Method and system for hijacking writes to a non-volatile memory
US9235532B2 (en) * 2011-06-03 2016-01-12 Apple Inc. Secure storage of full disk encryption keys
CN102955747B (zh) * 2011-08-24 2015-05-20 群联电子股份有限公司 金钥传送方法、存储器控制器与存储器储存装置
US9286241B2 (en) * 2012-02-21 2016-03-15 Microchip Technology Incorporated Cryptographic transmission system
US9684593B1 (en) * 2012-11-30 2017-06-20 EMC IP Holding Company LLC Techniques using an encryption tier property with application hinting and I/O tagging
US20140310536A1 (en) * 2013-04-16 2014-10-16 Qualcomm Incorporated Storage device assisted inline encryption and decryption
CN104182362B (zh) * 2013-05-24 2019-07-26 联想(北京)有限公司 一种数据使用控制方法及移动存储设备
US9208105B2 (en) 2013-05-30 2015-12-08 Dell Products, Lp System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support
US9665501B1 (en) * 2013-06-18 2017-05-30 Western Digital Technologies, Inc. Self-encrypting data storage device supporting object-level encryption
US9245140B2 (en) 2013-11-15 2016-01-26 Kabushiki Kaisha Toshiba Secure data encryption in shared storage using namespaces
KR102078853B1 (ko) * 2013-11-27 2020-02-18 삼성전자 주식회사 메모리 시스템, 호스트 시스템 및 메모리 시스템에서의 라이트 동작 수행 방법
CN103777904B (zh) * 2014-02-12 2017-07-21 威盛电子股份有限公司 数据储存装置以及数据加扰与解扰方法
US20150242640A1 (en) * 2014-02-24 2015-08-27 Western Digital Technologies, Inc. Encryption key selection
KR102263880B1 (ko) * 2014-06-19 2021-06-11 삼성전자주식회사 호스트 컨트롤러 및 시스템-온-칩
IL234956A (en) * 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
US10002257B2 (en) 2015-08-04 2018-06-19 Ge Aviation Systems Llc Cryptographic key loader embedded in removable data cartridge
US9990503B2 (en) 2015-08-04 2018-06-05 Ge Aviation Systems, Llc Cryptographic key server embedded in data transfer system
US10255420B2 (en) 2015-08-04 2019-04-09 Ge Aviation Systems, Llc Configuring cryptographic systems
US10116446B2 (en) 2015-08-04 2018-10-30 Ge Aviation Systems Llc Cryptographic ignition key (CIK) embedded in removable data cartridge
CN105354503B (zh) * 2015-11-02 2020-11-17 上海兆芯集成电路有限公司 储存装置数据加解密方法
CN105243344B (zh) * 2015-11-02 2020-09-01 上海兆芯集成电路有限公司 具有硬盘加密功能的芯片组以及主机控制器
CN105577661A (zh) * 2015-12-23 2016-05-11 浪潮集团有限公司 一种分步式加密存储系统及方法
US10157153B2 (en) * 2016-02-03 2018-12-18 Qualcomm Incorporated Inline cryptographic engine (ICE) for peripheral component interconnect express (PCIe) systems
CN106790221B (zh) * 2017-01-11 2020-11-03 京信通信系统(中国)有限公司 一种英特网协议安全IPSec协议加密方法和网络设备
KR20190075363A (ko) 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
KR102570581B1 (ko) * 2018-06-07 2023-08-24 삼성전자 주식회사 스토리지 장치와 재구성 가능 로직 칩을 포함하는 스토리지 장치 세트 및 이를 포함하는 스토리지 시스템
CN109492384B (zh) * 2018-09-26 2021-07-20 成都卫士通信息产业股份有限公司 接收实体访问、访问密码设备的方法、密码设备和实体
CN109951275B (zh) * 2019-02-22 2021-08-17 记忆科技(深圳)有限公司 密钥生成方法、装置、计算机设备及存储介质
US11563570B2 (en) * 2020-05-19 2023-01-24 Western Digital Technologies, Inc. Storage system and method for command execution ordering by security key
US20220269437A1 (en) * 2021-02-19 2022-08-25 Western Digital Technologies, Inc. Data Storage Device and Method for Predetermined Transformations for Faster Retrieval

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090089644A (ko) 2008-02-19 2009-08-24 넥스타테크놀로지 주식회사 위상천이방식을 이용한 양방향 모아레 투영장치

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63211049A (ja) 1987-02-27 1988-09-01 Toshiba Corp 携帯可能電子装置
JPH04182885A (ja) 1990-11-19 1992-06-30 Nippon Telegr & Teleph Corp <Ntt> 機密保護機能付きicカード
JP3982530B2 (ja) * 1996-01-17 2007-09-26 富士ゼロックス株式会社 ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法
JP3627384B2 (ja) * 1996-01-17 2005-03-09 富士ゼロックス株式会社 ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法
US7006634B1 (en) * 2000-09-28 2006-02-28 Cisco Technology, Inc. Hardware-based encryption/decryption employing dual ported key storage
WO2002052765A2 (en) * 2000-12-25 2002-07-04 Matsushita Electric Industrial Co., Ltd. Security communication packet processing apparatus and the method thereof
JP4188673B2 (ja) 2002-12-02 2008-11-26 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 記録再生装置、コンテンツ再生装置、ディスク装置、その制御方法及びプログラム
JP2004199229A (ja) 2002-12-17 2004-07-15 Sakura K C S:Kk 記憶装置に記憶されたデータを解読不能にする方法及びコンピュータプログラム。
JP4891521B2 (ja) * 2003-03-28 2012-03-07 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
DE10341618A1 (de) 2003-09-10 2005-05-04 Hyperstone Ag Verwaltung gelöschter Blöcke in Flash-Speichern
US20050086471A1 (en) * 2003-10-20 2005-04-21 Spencer Andrew M. Removable information storage device that includes a master encryption key and encryption keys
JP2005140823A (ja) 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2005185605A (ja) 2003-12-26 2005-07-14 Sankyo Kk 遊技球を用いたスロットマシン
JP4566668B2 (ja) * 2004-09-21 2010-10-20 株式会社日立製作所 記憶階層を有する計算機システムにおける暗号復号管理方法
CN101233525A (zh) * 2005-05-26 2008-07-30 松下电器产业株式会社 数据处理装置
JP4728060B2 (ja) * 2005-07-21 2011-07-20 株式会社日立製作所 ストレージ装置
JP2007336446A (ja) 2006-06-19 2007-12-27 Canon Inc データ暗号化装置
JP2008060653A (ja) * 2006-08-29 2008-03-13 Matsushita Electric Ind Co Ltd 制御装置
JP4877962B2 (ja) * 2006-10-25 2012-02-15 株式会社日立製作所 暗号化機能を備えたストレージサブシステム
JP2008299448A (ja) 2007-05-29 2008-12-11 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及び暗号鍵に関する情報の更新方法
CN201060649Y (zh) * 2007-07-26 2008-05-14 北京华大恒泰科技有限责任公司 移动硬盘加密控制装置
US8176295B2 (en) * 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
JP5488134B2 (ja) * 2010-04-01 2014-05-14 セイコーエプソン株式会社 通信システム及び通信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090089644A (ko) 2008-02-19 2009-08-24 넥스타테크놀로지 주식회사 위상천이방식을 이용한 양방향 모아레 투영장치

Also Published As

Publication number Publication date
KR20110032249A (ko) 2011-03-30
CN102023935A (zh) 2011-04-20
TWI525471B (zh) 2016-03-11
US20110072276A1 (en) 2011-03-24
KR101601790B1 (ko) 2016-03-21
TW201118639A (en) 2011-06-01
JP2011070664A (ja) 2011-04-07
US8886956B2 (en) 2014-11-11
JP5648209B2 (ja) 2015-01-07

Similar Documents

Publication Publication Date Title
DE102010037291A1 (de) Datenspeichervorrichtung mit Verschlüsselung und Verfahren dafür
CN102867153B (zh) 一种加密、解密视频文件的方法、装置及移动终端
DE102012110692A1 (de) Datenspeichervorrichtung, die eine unterteilte Datei in verschiedenen Speichermedien speichert, sowie Datenverwaltungsverfahren
DE102013203126B4 (de) System, Verfahren und Programmprodukt zum transparenten Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE102005016938B4 (de) Elektronisches Dokumentenspeicher- und Referenzsystem sowie dessen Verwendung für ein Dokumententransferverfahren
DE602004005025T2 (de) Instruktionen zur verarbeitung einer verschlusselten nachricht
DE112016004435T5 (de) Hardware-gestützte einseitige kryptografie
DE102007044330A1 (de) Verschlüsselungsprozessor und Verfahren zum Schreiben und Lesen von Daten
DE112010005842T5 (de) Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern einer Speichervorrichtung
DE102013111339A1 (de) Sicherheitsverwaltungseinheit, Hostcontrollerschnittstelle mit derselben, Verfahren zum Betreiben einer Hostcontrollerschnittstelle und Vorrichtungen mit einer Hostcontrollerschnittstelle
DE102013016993A1 (de) Embedded Multimedia Card (eMMC), einen Host steuernde eMMC und Verfahren zum Betreiben eines eMMC-Systems
DE112008003855T5 (de) System und Verfahren zum Bereitstellen von sicherem Zugriff auf einen Systemspeicher
DE112004002259T5 (de) Zugriff auf private Daten zum Status einer datenverarbeitenden Maschine von einem öffentlich zugänglichen Speicher
DE202019005682U1 (de) Hardwaregestützte Paging-Mechanismen
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE102018115683A1 (de) Domänenübergreifende sicherheit in kryptographisch partionierter cloud
DE102019109845A1 (de) Vereinheitlichte Beschleunigung eines Blockgeheimcodes eines symmetrischen Schlüssels für AES-SMS4-Camellia
DE112020005459T5 (de) Delegation eines kryptografischen schlüssels an ein speichersubsystem
DE102020121075A1 (de) Einrichtung und Verfahren zur Authentifizierung von Software
DE10214127A1 (de) Datensicherungssystem mit Adressumordnungsmechanismus für den geschützten Bereich von Speichereinrichtungen oder Datenträgern
DE112019003096B4 (de) Abgesicherte kommunikation aus einer nichtflüchtigen speichervorrichtung heraus
DE112020001061T5 (de) Verschlüsselte gang-programmierung
DE102010038179A1 (de) Individuelle Aktualisierung von Computerprogrammen
DE112020000181T5 (de) Selbstformatierende datenspeichervorrichtung
DE112020000235T5 (de) Anmeldung einer vorautorisierten vorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication