DE112009004491T5 - System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät - Google Patents

System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät Download PDF

Info

Publication number
DE112009004491T5
DE112009004491T5 DE112009004491T DE112009004491T DE112009004491T5 DE 112009004491 T5 DE112009004491 T5 DE 112009004491T5 DE 112009004491 T DE112009004491 T DE 112009004491T DE 112009004491 T DE112009004491 T DE 112009004491T DE 112009004491 T5 DE112009004491 T5 DE 112009004491T5
Authority
DE
Germany
Prior art keywords
electronic device
memory
component
data
random encryption
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.)
Withdrawn
Application number
DE112009004491T
Other languages
English (en)
Inventor
Craig A. Walrath
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112009004491T5 publication Critical patent/DE112009004491T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

Ein verbessertes Verfahren zum sicheren Speichern und Wiedergewinnen von Informationen in einem elektronischen Gerät ist vorgesehen. Das Verfahren weist das Erzeugen einer Mehrzahl von Zufallsverschlüsselungsschlüsseln und das Speichern der Mehrzahl von Zufallsverschlüsselungsschlüsseln in einer Speicherregion einer ersten Komponente des elektronischen Geräts auf. Das Verfahren kann zusätzlich das Verschlüsseln von Daten aufweisen unter Verwendung eines unterschiedlichen der Mehrzahl von Zufallsverschlüsselungsschlüsseln für jede einer Mehrzahl von Speicherregionen einer zweiten Komponente des elektronischen Geräts. Das Verfahren kann auch das Übertragen verschlüsselter Daten an den Speicher der zweiten Komponente des elektronischen Geräts aufweisen.

Description

  • Hintergrund
  • In einem typischen Computersystem wird der Systemspeicher als eine temporäre Speicherung für verschiedene Datentypen verwendet. Wie hierin verwendet wird, bezieht sich der Begriff „Daten” auf Computercode, Steuerinformationen, Software-Algorithmen, Betriebssysteme (BS), Anwendungen, Sicherheitsschlüssel, Berechtigungsnachweise, finanzielle Informationen, persönliche Informationen oder alle anderen Arten von Informationen. In jüngster Zeit verwenden Hacker mehrere neue oder modifizierte Techniken, um Zugriff auf die Daten zu erhalten, die auf einem Computersystem gespeichert sind.
  • Beispielsweise können sie nicht nur ein Betriebscomputersystem, wie z. B. einen Notebook-Computer nicht nur wegen des Computers selbst stehlen, sondern auch wegen der Daten, die auf dem System gespeichert sind. Selbst wenn das System verriegelt ist (beispielsweise mit einem Passwort) kann ein Hacker in der Lage sein, das System neu zu starten (beispielsweise mit einem USB-Token (USB = Universalerienbus), während die Inhalte des Systemspeichers intakt bleiben.
  • Darüber hinaus können Hacker jede Anzahl von bösartigen Techniken verwenden, um die Daten wiederzugewinnen, die in dem Speicher eines Computersystems gespeichert sind. Gestohlene Informationen, die auf diese Weise erhalten werden, können auf unbefugte Weise verwendet werden, um Schaden für den Besitzer der Daten zu verursachen. Eine neuere Technik, die jetzt durch Hacker verwendet wird, ist das physikalische Entfernen von Speichermodulen (Systemspeicher, Graphikspeicher oder dergleichen) von einem Computer eines Nutzers, wobei möglicherweise die Speichermodule eingefroren werden, um den Verfall der darin enthaltenen Daten zu verzögern. Der Hacker installiert nachfolgend die gestohlenen Speichermodule in einen anderen Computer, um den Inhalt zu lesen, da die Inhalte des Systemspeichers in einem unverschlüsselten Format gespeichert sind.
  • Kurze Beschreibung der Zeichnungen
  • Bestimmte beispielhafte Ausführungsbeispiele sind in der folgenden detaillierten Beschreibung unter Bezugnahme auf die Zeichnungen beschrieben. Es zeigen:
  • 1 ein Blockdiagramm eines Computersystems gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 ein Blockdiagramm eines Speicherteilsystems des in 1 gezeigten Computersystems gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 ein Flussdiagramm, das ein Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung zeigt; und
  • 4 ein Flussdiagramm, das ein alternatives Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung zeigt.
  • Detaillierte Beschreibung spezifischer Ausführungsbeispiele
  • 1 ist ein Blockdiagramm eines Computersystems gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung. Das Computersystem wird allgemein mit dem Bezugszeichen 100 bezeichnet. Für Durchschnittsfachleute auf diesem Gebiet ist klar, dass das Computersystem 100 Hardware-Elemente einschließlich Schaltungsanordnung, Software-Elemente einschließlich Computercode, der auf einem maschinenlesbaren Medium gespeichert ist, aufweisen kann, oder eine Kombination von sowohl Hardware- als auch Software-Elementen. Außerdem sind die in 1 gezeigten Funktionsblöcke lediglich ein Beispiel für Funktionsblöcke, die in einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung implementiert werden können. Durchschnittsfachleute auf diesem Gebiet wären ohne Weiteres in der Lage, basierend auf Entwurfsüberlegungen für ein bestimmtes Computersystem spezifische Funktionsblöcke zu definieren.
  • Ein Prozessor 102, wie z. B. eine zentrale Verarbeitungseinheit oder CPU ist angepasst, um den Gesamtbetrieb des Computersystems 100 zu steuern. Der Prozessor 102 ist mit einer Speichersteuerung 104 verbunden, die angepasst ist, um Daten von einem Systemspeicher 106 zu lesen und in denselben zu schreiben. Die Speichersteuerung 104 kann Speicher aufweisen, der eine nicht-flüchtige Speicherregion und eine flüchtige Speicherregion umfasst.
  • Der Systemspeicher 106 kann aus einer Mehrzahl von Speichermodulen bestehen, wie es für einen Durchschnittsfachmann auf diesem Gebiet klar ist. Außerdem kann der Systemspeicher 106 nicht-flüchtige und flüchtige Abschnitte aufweisen. Ein System-BIOS (BIOS = Basic Input/Output System) kann in einem nicht-flüchtigen Teil des Systemspeichers 106 gespeichert sein. Das System-BIOS ist angepasst, um einen Hochfahr- oder Bootprozess zu steuern und um den Betrieb des Computersystems 100 auf niedriger Ebene zu steuern.
  • Der Prozessor 102 ist mit zumindest einem Systembus 108 verbunden, um Kommunikation zwischen dem Prozessor 102 und anderen Systemgeräten zu ermöglichen. Der Systembus kann unter einem Standardprotokoll arbeiten, wie z. B. einer Variation des PCI-Busses (PCI = Peripheral Component Interconnect = Preipheriekomponentenverbindung) oder dergleichen. Bei dem in 1 gezeigten beispielhaften Ausführungsbeispiel verbindet der Systembus 108 einen oder mehrere Prozessoren 102 mit einem Festplattenlaufwerk 110, einer Graphiksteuerung 112 und zumindest einem Eingabegerät 114. Das Festplattenlaufwerk 110 liefert nicht-flüchtige Speicherung für Daten, die durch das Computersystem verwendet werden. Die Graphiksteuerung 112 ist wiederum mit einem Anzeigegerät 116 verbunden, das ein Bild an einen Nutzer liefert basierend auf Aktivitäten, die durch das Computersystem 100 durchgeführt werden.
  • Wie es nachfolgend näher beschrieben wird, ist ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung angepasst, um Datendiebstahl zu verhindern durch Bereitstellen einer sicheren Kommunikation zwischen Komponenten in dem Computersystem 100. Sichere Kommunikation würde auch das Verschlüsseln und Speichern von Informationen im Speicher sowie die Wiedergewinnung der Informationen und das Entschlüsseln der Informationen umfassen. Bei einem nachfolgend näher beschriebenen beispielhaften Ausführungsbeispiel ist die Speichersteuerung 104 angepasst, um sichere verschlüsselte Kommunikation mit dem Systemspeicher 106 bereitzustellen. Für Durchschnittsfachleute auf diesem Gebiet ist jedoch klar, dass die hierin offenbarten Techniken verwendet werden können, um sichere Kommunikation zwischen beinah allen Komponenten in dem Computersystem 100 zu liefern. Beispielsweise könnte der Prozessor 102 und/oder die Speichersteuerung 104 angepasst sein, um sicher mit allen Geräten zu kommunizieren, mit denen sie die Fähigkeit haben, Daten auszutauschen. Darüber hinaus können beispielhafte Ausführungsbeispiele der vorliegenden Erfindung sichere verschlüsselte Daten bereitstellen, die auf der Festplatte 110, der Graphiksteuerung 112, dem Prozessor 102 oder der Speichersteuerung 104 zu speichern sind oder von denselben wiederzugewinnen sind, und könnten eine Mehrzahl von Speicherteilsystemen in dem Computersystem haben (z. B. könnten ein Verschlüsselungsspeicherteilsystem für den Graphikspeicher haben). Die Speichervorrichtung, die verschlüsselte sicher Daten speichert, kann einen Cache-Speicher oder jeden anderen Speicher aufweisen, der zur Verwendung in einer bestimmten Anwendung geeignet ist.
  • 2 ist ein Blockdiagramm eines Speicherteilsystems des in 1 gezeigten Computersystems gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung. Das Speicherteilsystem wird allgemein mit dem Bezugszeichen 200 bezeichnet, Das Speicherteilsystem 200 umfasst die Speichersteuerung 104 und den Systemspeicher 106. Der Systemspeicher 106 kann in eine Mehrzahl von Speicherregionen unterteilt sein, die unterschiedlichen Nutzungen oder Speichertypen entsprechen können. Bei dem in 2 gezeigten beispielhaften Ausführungsbeispiel der vorliegenden Erfindung enthält der Systemspeicher eine erste Speicherregion 216 und eine zweite Speicherregion 218. Zusätzliche Speicherregionen können ebenfalls existieren, wie es durch eine n-te Speicherregion 218 angezeigt ist. Wie es nachfolgend beschrieben wird, kann ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung einen anderen Zufallsverschlüsselungsschlüssel und/oder eine andere Verschlüsselungsebene für unterschiedliche Speicherregionen umfassen.
  • Gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung kann sichere Übertragung von Daten in einem weiten Feld von Gegebenheiten initiiert werden. Beispielsweise kann ein sicherer Kommunikationsweg initiiert werden durch Erzeugen eines Zufallsverschlüsselungsschlüssels, wenn das Computersystem 100 neu gestartet wird oder anderweitig eine Systemrücksetzung empfängt. Sichere Kommunikation könnte initiiert werden durch Erzeugen eines Zufallsverschlüsselungsschlüssels, wenn das Computersystem 100 den Betreib wieder aufnimmt nach einem Ruhezustand, davon abhängig, ob eine Systemrücksetzung benötigt wird, um den Betrieb wieder aufzunehmen oder nicht. Gleichartig dazu könnte ein Zufallsverschlüsselungsschlüssel erzeugt werden, wenn das Computersystem 100 nach einem Stand-By-Zustand den Betrieb wieder aufnimmt. Sichere Kommunikation kann zusätzlich initiiert werden durch Erzwingen einer Systemspeicherverschlüsselungsauffrischung, die neue Verschlüsselungsschlüssel erzeugen könnte für den gesamten oder einen Teil des Speichers, auf den die Daten geschrieben werden. Zufallsverschlüsselungsschlüssel könnten zusätzlich erzeugt werden basierend auf Daten und/oder einer Zeit, wie z. B. zu einer bestimmten Tageszeit oder nachdem eine voreingestellte Zeitperiode abgelaufen ist.
  • Bei dem in 2 gezeigten beispielhaften Ausführungsbeispiel wird ein Zufallsverschlüsselungsschlüssel erzeugt und zu der Speichersteuerung 104 übertragen. Der Zufallsverschlüsselungsschlüssel kann in einer Verschlüsselungsschlüsselpeicherregion 202 gespeichert werden. Die Verschlüsselungsschlüsselspeicherregion 202 kann eine nicht-flüchtige Speicherregion oder eine flüchtige Speicherregion umfassen. Die Verschlüsselungsschlüsselspeicherregion 202 kann verwendet werden, um eine Mehrzahl von Zufallsverschlüsselungsschlüsseln zu speichern. Beispielsweise kann die Verschlüsselungsschlüsselspeicherregion 202 einen ersten Verschlüsselungsschlüssel 204 und einen zweiten Verschlüsselungsschlüssel 206 speichern. Mehr Verschlüsselungsschlüssel können gespeichert werden, wie es durch einen n-ten Verschlüsselungsschlüssel 208 angezeigt ist. Die Verwendung der Mehrzahl von Verschlüsselungsschlüsseln ist hierin näher erläutert.
  • Bei einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung weist die Verschlüsselungsschlüsselspeicherregion 202 ein Nur-Schreib-/einmal beschreibbares Register auf, das über eine Systemrücksetzung zurückgesetzt wird. Wie es nachfolgend erläutert wird, wird der Zufallsverschlüsselungsschlüssel verwendet, um Daten zu verschlüsseln, die in den Systemspeicher 106 geschrieben werden. Bei einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung ist die Speichersteuerung 104 in einem ersten integrierten Schaltungsbauelement enthalten und der Systemspeicher 106 ist in einem zweiten integrierten Schaltungsbauelement enthalten.
  • Durchschnittsfachleute auf diesem Gebiet werden erkennen, dass der Verschlüsselungsschlüssel auf eine Vielzahl von Weisen erzeugt werden kann. Beispielsweise kann der Verschlüsselungsschlüssel erzeugt werden durch eine Verwaltungsmaschine, die dem Computersystem 100 zugeordnet ist. Ein Beispiel einer Verwaltungsmaschine umfasst die Intel® Verwaltungsmaschine (Management Engine), erhältlich von der Intel Corporation aus Santa Clara, CA. Der Verschlüsselungsschlüssel könnte zusätzlich erzeugt werden basierend auf und ansprechend auf Nutzereingabe, wie z. B. Eingabe von einem Administrator, einem Systemverwaltungsbefehl oder dergleichen. Der Verschlüsselungsschlüssel könnte beispielsweise erzeugt werden durch Systemkomponenten, wie z. B. den Prozessor 102, die Speichersteuerung 104, ein Vertrauenswürdige-Plattform-Modul (TPM; TPM = Trusted Platform Module) oder dergleichen. Außerdem könnte der Verschlüsselungsschlüssel über eine Firmenverbindung empfangen werden. Der Zufallsverschlüsselungsschlüssel kann durch ein System-BIOS erzeugt werden, das verschiedene Initialisierungsfunktionen durchführt, wenn das Computersystem 100 hochgefahren wird. Bei einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung wird der Zufallsverschlüsselungsschlüssel erzeugt, ohne Daten zu verwenden, die entdeckt werden könnten durch Rückwärtsbearbeitung (reverse engineering) jedes integrierten Schaltungsbauelements in dem Computersystem 100.
  • Bei einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung werden eine Mehrzahl von Zufallsverschlüsselungsschlüsseln erzeugt und selektiv durch die Speichersteuerung 104 verwendet, um Daten zu verschlüsseln. Die Mehrzahl von Zufallsverschlüsselungsschlüsseln kann beispielsweise durch die Speichersteuerung 104 erzeugt werden. Alternativ kann die Mehrzahl von Zufallsverschlüsselungsschlüsseln durch eine andere Komponente des Computersystems 100 bereitgestellt werden, wie z. B. das System-BIOS. Gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung könnten unterschiedliche Bereiche des Systemspeichers 106 mit unterschiedlichen Zufallsverschlüsselungsschlüsseln verschlüsselt werden. Unterschiedliche Verschlüsselungsschlüssel könnten für jede Seite in dem Systemspeicher 106 verwendet werden. Bei anderen beispielhaften Ausführungsbeispielen könnten mehrere Verschlüsselungsschlüssel für jede Seite des Speichers verwendet werden. Unterschiedliche Verschlüsselungsschlüssel könnten für unterschiedliche Geräte oder unterschiedliche Speichertypen verwendet werden. Außerdem könnten unterschiedliche Verschlüsselungsschlüssel für unterschiedliche Speicherregionen verwendet werden, abhängig davon, wie die Region verwendet wird. Beispielsweise kann ein Betriebssystembereich des Speichers mit einem anderen Zufallsverschlüsselungsschlüssel verschlüsselt werden bezüglich eines Nicht-Betriebssystem-Programmbereichs des Speichers und eines Nutzerdatenbereichs des Speichers. Unterschiedliche Verschlüsselungsschlüssel könnten für Cache-Speicher verwendet werden bezüglich des Systemspeichers und unterschiedliche Verschlüsselungsschlüssel könnten für flüchtigen Speicher verwendet werden bezüglich des nicht-flüchtigen Speichers. Unterschiedliche Zufallsverschlüsselungsschlüssel könnten während unterschiedlichen Betriebsweisen verwendet werden. Die Verwendung mehrerer Zufallsverschlüsselungsschlüssel macht es für einen Hacker schwierig, einen Zahlengenerator zu verwenden, um alle der Zufallsverschlüsselungsschlüssel zu identifizieren, die verwendet wurden, um die Inhalte des Systemspeichers 106 zu verschlüsseln.
  • Bei dem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung, das in 2 gezeigt ist, verwendet ein Verschlüsselungsblock 210 der Speichersteuerung 104 den aktuellen Zufallsverschlüsselungsschlüssel, um alle Daten zu verschlüsseln, die in den Systemspeicher 106 geschrieben sind. Bevor dieselben an den Verschlüsselungsblock 204 geliefert werden, können die Daten in einem Schreibpuffer 212 gepuffert werden.
  • Für Durchschnittsfachleute auf diesem Gebiet ist klar, dass jede geeignete Methode der Verschlüsselung verwendet werden kann, um Daten zu verschlüsseln, abhängig von Systementwurfsüberlegungen. Darüber hinaus kann ein relativ einfaches, schnelles Verfahren der Verschlüsselung, wie z. B. ein XOR-Verfahren verwendet werden, um die Auswirkung auf Systemleistungsfähigkeit zu minimieren. Robustere Methoden der Verschlüsselung können verwendet werden, um das Decodieren von Daten für Hacker schwieriger zu machen. Für Durchschnittsfachleute auf diesem Gebiet ist klar, dass eine höhere Verschlüsselungsebene die Systemleistungsfähigkeit reduzieren kann, aber den Vorteil hat, es für Hacker schwieriger zu machen, die Daten zu entschlüsseln. Unterschiedliche Verschlüsselungsebenen können abhängig von einer Anzahl von Faktoren gewählt werden, wie z. B. Betriebsmodus des Systems (Startmodus, Konfigurationsmodus, Bauzeit-Modus, Firmen- und/oder System-Verwaltungsmodus, normaler Betriebsmodus oder dergleichen). Außerdem können abhängig von dem Nutzer unterschiedliche Verschlüsselungsebenen verwendet werden (beispielsweise ob der Nutzer administrative Privilegien hat). Die Verschlüsselungsebene kann je nach Nutzer und/oder nach den Rechten des Nutzers an dem System variieren. Beispielsweise kann eine sicherere Verschlüsselungsebene verwendet werden, wenn der Nutzer Administratorrechte an dem System hat. Außerdem können variable Verschlüsselungsebenen verwendet werden für unterschiedliche Speicherbereiche oder unterschiedliche Speichertypen. Darüber hinaus ist für Durchschnittsfachleute auf diesem Gebiet klar, dass der spezifische Verschlüsselungsalgorithmus, der durch den Verschlüsselungsblock 210 verwendet wird, kein wesentliches Merkmal der vorliegenden Erfindung ist.
  • Bei einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung kann ein einfacher Verschlüsselungsalgorithmus, wie z. B. ein XOR-Algorithmus durch den Verschlüsselungsblock 210 verwendet werden, um die Auswirkung auf den Durchsatz des Speicherteilsystems 200 zu minimieren. Ein beispielhafter XOR-Algorithmus weist das Durchführen einer XOR-Operation unter Verwendung der Daten, die in den Systemspeicher geschrieben werden, und des Zufallsverschlüsselungsschlüssels auf. Das folgende Beispiel stellt dar, wie ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung verbesserte Sicherheit liefert für Daten, die in dem Systemspeicher gespeichert sind. Angenommen, Datenelemente A und B sind in den Systemspeicher zu speichern, nachdem dieselben unter Verwendung eines Zufallsverschlüsselungsschlüssels R XOR-verschlüsselt wurden. Dieser Prozess kann unter Verwendung der folgenden Gleichungen beschrieben werden: A ⊕ R = C B ⊕ R = D wobei C die verschlüsselte Version von A ist und D die verschlüsselte Version von B ist. Die verschlüsselten Daten C und D werden in dem Systemspeicher gespeichert anstatt A oder B selbst.
  • Mit einer gewissen mathematischen Manipulation wird das folgende Ergebnis erhalten: C ⊕ D = A ⊕ B
  • Somit kann ein fähiger Hacker in der Lage sein, Daten von einem gestohlenen Speichermodul zu manipulieren, um ein gewisses Konglomerat von A und B wieder zu erzeugen. Trotzdem wäre es äußerst schwierig, A und B selbst zu erhalten ohne Zugriff auf den Zufallsverschlüsselungsschlüssel R. Die Verwendung eines beispielhaften Ausführungsbeispiels der vorliegenden Erfindung macht es wesentlich schwieriger, eine unbefugte Wiederherstellung von Daten von dem Systemspeicher durchzuführen.
  • Wenn verschlüsselte Daten von dem Systemspeicher 106 gelesen werden, werden diese durch einen Entschlüsselungsblock 214 in der Speichersteuerung 104 entschlüsselt. Der Entschlüsselungsblock 214 führt die Entschlüsselung durch unter Verwendung des Zufallsverschlüsselungsschlüssels, der verwendet wurde, um die Verschlüsselung der Daten durch den Verschlüsselungsblock 210 durchzuführen. Die entschlüsselten Daten können dann an den Prozessor 102 geliefert werden. Ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung liefert verbesserte Datensicherheit durch Schreiben nur verschlüsselter Daten in den Systemspeicher 106.
  • Falls die Verschlüsselungsschlüsselspeicherregion 202 einen flüchtigen Speicher aufweist, reduziert ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung das Risiko, dass ein Hacker oder anderer potentieller Datendieb in der Lage wäre, den Verschlüsselungsschlüssel wiederzugewinnen und Zugriff auf Daten zu gewinnen, die mit dem bestimmten Zufallsverschlüsselungsschlüssel verschlüsselt wurden und nachfolgend in dem Systemspeicher 106 gespeichert wurden. Die Speichersteuerung 104 könnte nicht rückwärts bearbeitet werden oder „freigelegt” werden, um den Schlüssel zu bestimmen, da der Wert des Schlüssels nicht in der Verschlüsselungsschlüsselspeicherregion 202 vorliegen würde auf die Entfernung von Leistung an die Speichersteuerung hin. Dies würde Zugriff auf Daten verhindern, die verschlüsselt wurden unter Verwendung des bestimmten Zufallsverschlüsselungsschlüssels, selbst wenn die Daten, die in dem Systemspeicher gespeichert sind, auf irgendeine Weise beibehalten würden, beispielsweise durch Einfrieren von Speichermodulen, die den Systemspeicher aufweisen oder dergleichen.
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines geschützten Systemspeichers zeigt, wie z. B. des Systemspeichers 106 (1) gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung. Das Verfahren wird allgemein mit dem Bezugszeichen 300 bezeichnet. Bei Block 302 beginnt das Verfahren.
  • Bei Block 304 wird eine Mehrzahl von Zufallsverschlüsselungsschlüsseln erzeugt. Wie es bei Block 306 gezeigt ist, wird die Mehrzahl von Zufallsverschlüsselungsschlüsseln in einer ersten Komponente eines elektronischen Geräts gespeichert, wie z. B. dem Computersystem 100 (1).
  • Daten werden verschlüsselt unter Verwendung eines unterschiedlichen der Mehrzahl von Zufallsverschlüsselungsschlüsseln für jede einer Mehrzahl von Speicherregionen einer zweiten Komponente des elektronischen Geräts, wie es bei Block 308 gezeigt ist. Die verschlüsselten Daten werden an den Speicher der zweiten Komponente des elektronischen Geräts übertragen, wie es bei Block 310 gezeigt ist. Bei Block 312 endet das Verfahren.
  • 4 ist ein Flussdiagramm, das ein alternatives Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät gemäß einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung zeigt. Das Verfahren wird allgemein mit dem Bezugszeichen 400 bezeichnet. Bei Block 402 beginnt das Verfahren.
  • Bei Block 404 wird zumindest ein Zufallsverschlüsselungsschlüssel erzeugt. Der zumindest eine Zufallsverschlüsselungsschlüssel wird in einer Speicherregion einer ersten Komponente eines elektronischen Geräts gespeichert, wie es bei Block 406 gezeigt ist.
  • Bei Block 408 werden Daten auf einer Mehrzahl unterschiedlicher Verschlüsselungsebenen verschlüsselt unter Verwendung des zumindest einen Zufallsverschlüsselungsschlüssels. Die verschlüsselten Daten werden zu einem Speicher einer zweiten Komponente des elektronischen Geräts übertragen, wie es bei Block 410 gezeigt ist. Bei Block 412 endet das Verfahren.
  • Ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung schafft ein sicheres Kommunikationsverfahren zwischen einer Speichersteuerung und einem Systemspeicher, der beispielsweise aus einer Mehrzahl von Speichermodulen besteht. Ein solches beispielhaftes Ausführungsbeispiel schützt Systemspeicher vor einem großen Bereich von Hackerangriffen. Insbesondere ist ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung angepasst, um Systemspeicher vor physikalischen Angriffen und Hochfahr-Angriffen zu schützen. Darüber hinaus können Standardspeicherkomponenten und Module verwendet werden. Kein zusätzlicher Aufwand ist erforderlich, wenn eine neue Generation von Speichertechnologie eingeführt wird. Ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung schafft Systemspeichersicherheit ohne die Systemleistungsfähigkeit wesentlich zu beeinträchtigen und ohne die Betriebssystem- und Softwareanwendungsleistungsfähigkeit zu beeinträchtigen. Schließlich kann ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung mit minimaler Beeinträchtigung der Gesamtsystemkosten und -komplexität implementiert werden.

Claims (15)

  1. Ein Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät, wobei das Verfahren folgende Schritte aufweist: Erzeugen einer Mehrzahl von Zufallsverschlüsselungsschlüsseln; Speichernder Mehrzahl von Zufallsverschlüsselungsschlüsseln in einer Speicherregion einer ersten Komponente des elektronischen Geräts; Verschlüsseln von Daten unter Verwendung eines unterschiedlichen der Mehrzahl von Zufallsverschlüsselungsschlüsseln für jede einer Mehrzahl von Speicherregionen einer zweiten Komponente des elektronischen Geräts; und Übertragen verschlüsselter Daten an den Speicher der zweiten Komponente des elektronischen Geräts.
  2. Das Verfahren gemäß Anspruch 1, bei dem jede der Mehrzahl von Speicherregionen der zweiten Komponente des elektronischen Geräts einer Speicherseite entspricht.
  3. Das Verfahren gemäß Anspruch 1, bei dem jede der Mehrzahl von Speicherregionen der zweiten Komponente des elektronischen Geräts einem bestimmten Speichertyp entspricht.
  4. Das Verfahren gemäß Anspruch 3, bei dem zumindest eine der Mehrzahl der Speicherregionen der zweiten Komponente des elektronischen Geräts einer Cache-Speicherregion, einer nicht-flüchtigen Speicherregion oder einer flüchtigen Speicherregion entspricht.
  5. Das Verfahren gemäß Anspruch 1, bei dem zumindest eine der Mehrzahl von Speicherregionen der zweiten Komponente des elektronischen Geräts einem Betriebssystembereich des Speichers, einem Nicht-Betriebsprogrammbereich des Speichers oder einem Nutzerdatenbereich des Speichers entspricht.
  6. Das Verfahren gemäß Anspruch 1, das folgende Schritte aufweist: Lesen verschlüsselter Daten von der zweiten Komponente des elektronischen Geräts; und Entschlüsseln der verschlüsselten Daten, die von der zweiten Komponente des elektronischen Geräts gelesen werden unter Verwendung des einen der Mehrzahl von Zufallsverschlüsselungsschlüsseln, der verwendet wurde, um die Daten zu verschlüsseln.
  7. Das Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem zumindest einer der Mehrzahl von Zufallsverschlüsselungsschlüsseln durch ein Basiseingabe/Ausgabesystem (BIOS) des elektronischen Geräts, durch einen Prozessor des elektronischen Geräts, durch eine Speichersteuerung des elektronischen Geräts, durch ein Vertrauenswürdige-Plattform-Modul (TPM) des elektronischen Geräts erzeugt wird, ansprechend auf eine Nutzereingabe, wenn das elektronische Gerät hochgefahren wird, wenn das elektronische Gerät den Betrieb nach einem Ruhe- oder ausgesetzten Zustand wieder aufnimmt, wenn eine Systemrücksetzung des elektronischen Geräts auftritt, zu einer bestimmten Tageszeit oder nachdem eine voreingestellte Zeitperiode abgelaufen ist.
  8. Ein Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät, wobei das Verfahren folgende Schritte aufweist: Erzeugen zumindest eines Zufallsverschlüsselungsschlüssels; Speichern des zumindest einen Zufallsverschlüsselungsschlüssels in einer Speicherregion einer ersten Komponente des elektronischen Geräts; Verschlüsseln von Daten auf einer Mehrzahl unterschiedlicher Verschlüsselungsebenen unter Verwendung des zumindest einen Zufallsverschlüsselungsschlüssels; und Übertragen verschlüsselter Daten an einen Speicher einer zweiten Komponente des elektronischen Geräts.
  9. Das Verfahren gemäß Anspruch 8, bei dem der Speicher der zweiten Komponente eine Mehrzahl von Speichertypen aufweist, und bei dem eine unterschiedliche der Mehrzahl unterschiedlicher Speicherebenen verwendet wird abhängig von dem Speichertyp der zweiten Komponente, in der verschlüsselte Daten zu speichern sind.
  10. Das Verfahren gemäß Anspruch 9, bei dem ein erster Typ der Mehrzahl von Speichertypen eine Cache-Speicherregion, eine nicht-flüchtige Speicherregion oder eine flüchtige Speicherregion umfasst.
  11. Das Verfahren gemäß Anspruch 8, das folgende Schritte aufweist: Lesen verschlüsselter Daten von der zweiten Komponente des elektronischen Geräts; und Entschlüsseln der verschlüsselten Daten, die von der zweiten Komponente des elektronischen Geräts gelesen werden unter Verwendung der einen der Mehrzahl unterschiedlicher Verschlüsselungsebenen, die verwendet wurde, um die Daten zu verschlüsseln.
  12. Das Verfahren gemäß Anspruch 8, bei dem eine andere der Mehrzahl unterschiedlicher Speicherebenen verwendet wird, abhängig von einem Modus des elektronischen Geräts.
  13. Das Verfahren gemäß Anspruch 8, bei dem eine erste der Mehrzahl unterschiedlicher Verschlüsselungsebenen XOR-Verschlüsselung umfasst.
  14. Das Verfahren gemäß einem der Ansprüche 8 bis 13, bei dem der zumindest eine Zufallsverschlüsselungsschlüssel durch ein Basiseingabe/Ausgabesystem (BIOS) des elektronischen Geräts, durch einen Prozessor des elektronischen Geräts, durch eine Speichersteuerung des elektronischen Geräts, durch ein Vertrauenswürdige-Platfform-Modul (TPM) des elektronischen Geräts erzeugt wird, ansprechend auf eine Nutzereingabe, wenn das elektronische Gerät hochgefahren wird, wenn das elektronische Gerät den Betrieb nach einem Ruhe- oder ausgesetzten Zustand wieder aufnimmt, wenn eine Systemrücksetzung des elektronischen Geräts auftritt, zu einer bestimmten Tageszeit oder nachdem eine voreingestellte Zeitperiode abgelaufen ist.
  15. Ein Computersystem, das folgende Merkmale aufweist: eine Festplatte, die angepasst ist, um Daten für die Verwendung durch das Computersystem zu speichern; einen Prozessor, der angepasst ist, um Daten zu lesen, die auf der Festplatte gespeichert sind; und eine erste Komponente, die angepasst ist, um eine Mehrzahl von Zufallsverschlüsselungsschlüsseln zu empfangen, um die Mehrzahl von Zufallsverschlüsselungsschlüsseln in einer Speicherregion zu speichern, um Daten unter Verwendung eines unterschiedlichen der Mehrzahl von Verschlüsselungsschlüsseln für jede einer Mehrzahl von Speicherregionen einer zweiten Komponente des Computersystems zu verschlüsseln, um Daten auf einer Mehrzahl unterschiedlicher Verschlüsselungsebenen zu verschlüsseln unter Verwendung zumindest eines der Mehrzahl von Zufallsverschlüsselungsschlüsseln, und um verschlüsselte Daten an den Speicher der zweiten Komponente des Computersystems zu übertragen.
DE112009004491T 2009-03-23 2009-03-23 System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät Withdrawn DE112009004491T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/037950 WO2010110780A1 (en) 2009-03-23 2009-03-23 System and method for securely storing data in an electronic device

Publications (1)

Publication Number Publication Date
DE112009004491T5 true DE112009004491T5 (de) 2012-09-06

Family

ID=42781286

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112009004491T Withdrawn DE112009004491T5 (de) 2009-03-23 2009-03-23 System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät

Country Status (5)

Country Link
US (1) US8839000B2 (de)
CN (1) CN102362280A (de)
DE (1) DE112009004491T5 (de)
GB (1) GB2481161B (de)
WO (1) WO2010110780A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379846B2 (en) * 2009-05-21 2013-02-19 Freescale Semiconductor, Inc. Encryption apparatus and method therefor
DE112010005842T8 (de) * 2010-10-05 2014-07-17 Hewlett-Packard Development Company, L.P. Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern in einer Speichervorrichtung
US8630418B2 (en) * 2011-01-05 2014-01-14 International Business Machines Corporation Secure management of keys in a key repository
US8949622B2 (en) * 2012-01-09 2015-02-03 Imation Corp. Secure removable drive system
US8744078B2 (en) * 2012-06-05 2014-06-03 Secure Channels Sa System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
JP5961059B2 (ja) * 2012-07-18 2016-08-02 キヤノン株式会社 情報処理装置およびその起動方法
US9148281B2 (en) 2013-03-05 2015-09-29 International Business Machines Corporation Random number generation
US9378156B2 (en) * 2014-10-03 2016-06-28 Dell Products L.P. Information handling system secret protection across multiple memory devices
US10146942B2 (en) * 2015-02-24 2018-12-04 Dell Products, Lp Method to protect BIOS NVRAM from malicious code injection by encrypting NVRAM variables and system therefor
US20160378686A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Memory encryption exclusion method and apparatus
US10223289B2 (en) * 2015-07-07 2019-03-05 Qualcomm Incorporated Secure handling of memory caches and cached software module identities for a method to isolate software modules by means of controlled encryption key management
EP3185464B1 (de) * 2015-12-21 2020-05-20 Hewlett-Packard Development Company, L.P. Schlüsselerzeugungs-informationsbäume
FI20165911L (fi) * 2016-11-30 2018-05-31 Sam Widlund Menetelmä ja järjestelmä tiedon salaukseen
TWI615732B (zh) * 2016-12-27 2018-02-21 瑞昱半導體股份有限公司 電子裝置之電子元件、啟動電子裝置的方法及加密方法
WO2019110511A1 (en) * 2017-12-04 2019-06-13 British Telecommunications Public Limited Company Software container application encryption
US11151266B2 (en) * 2017-12-06 2021-10-19 International Business Machines Corporation Secure data storage and access during transition operations
JP7048411B2 (ja) 2018-05-22 2022-04-05 キオクシア株式会社 メモリシステムおよび制御方法
KR102660388B1 (ko) * 2019-05-09 2024-04-26 에스케이하이닉스 주식회사 메모리 모듈, 메모리 모듈의 동작 방법, 메모리 시스템 및 메모리 모듈의 동작 방법
CN110309083B (zh) * 2019-06-28 2021-09-07 兆讯恒达科技股份有限公司 一种存储器数据加扰方法
CN110309678B (zh) * 2019-06-28 2021-03-19 兆讯恒达科技股份有限公司 一种内存加扰的方法
US10868679B1 (en) * 2019-07-25 2020-12-15 Cypress Semiconductor Corporation Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems
EP3916600A1 (de) * 2020-05-27 2021-12-01 Mettler-Toledo (Albstadt) GmbH Verfahren zum betrieb eines elektronischen datenverarbeitungssystems sowie elektronisches datenverarbeitungssystem
US11861020B2 (en) 2020-06-26 2024-01-02 Intel Corporation Generating keys for persistent memory

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2082146C (en) * 1991-10-29 2005-11-15 Brendan Beahan Communications security and trusted path method and means
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
CN1265494A (zh) 2000-04-24 2000-09-06 后健慈 加解密内存及其存取控制方法
US7277542B2 (en) 2000-09-25 2007-10-02 Broadcom Corporation Stream cipher encryption application accelerator and methods thereof
US7069447B1 (en) * 2001-05-11 2006-06-27 Rodney Joe Corder Apparatus and method for secure data storage
JP2003085149A (ja) * 2001-06-07 2003-03-20 Systemneeds Inc 指紋認証装置及び認証システム
CN1592877B (zh) 2001-09-28 2010-05-26 高密度装置公司 用于对大容量存储设备上数据加密/解密的方法和装置
JP4045777B2 (ja) * 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
US6917953B2 (en) * 2001-12-17 2005-07-12 International Business Machines Corporation System and method for verifying database security across multiple platforms
US7035953B2 (en) 2002-05-03 2006-04-25 Hewlett-Packard Development Company, L.P. Computer system architecture with hot pluggable main memory boards
US7269739B2 (en) 2002-05-30 2007-09-11 International Business Machines Corporation Method and system for allowing for the secure transmission and reception of data in a processing system
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
JP2005227995A (ja) * 2004-02-12 2005-08-25 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7500098B2 (en) 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
US7477740B2 (en) 2005-01-19 2009-01-13 International Business Machines Corporation Access-controlled encrypted recording system for site, interaction and process monitoring
CN100333746C (zh) 2005-02-23 2007-08-29 上海中医药大学附属曙光医院 一种治疗慢性充血性心力衰竭的中药制剂的制备方法
US7370978B2 (en) * 2005-05-09 2008-05-13 Anderson Daryl E Encrypting data
US20080025504A1 (en) * 2005-11-23 2008-01-31 Robert Rapp Computer or digital device data encryption/decryption performed by using a random analog source
KR101426479B1 (ko) 2007-04-17 2014-08-05 삼성전자주식회사 스토리지 정보 보호 시스템 및 방법
KR20080100673A (ko) * 2007-05-14 2008-11-19 삼성전자주식회사 암호화 기반의 프로세서 보안 방법 및 장치

Also Published As

Publication number Publication date
CN102362280A (zh) 2012-02-22
GB2481161A (en) 2011-12-14
US8839000B2 (en) 2014-09-16
WO2010110780A1 (en) 2010-09-30
US20120017097A1 (en) 2012-01-19
GB201116379D0 (en) 2011-11-02
GB2481161B (en) 2014-08-13

Similar Documents

Publication Publication Date Title
DE112009004491T5 (de) System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät
DE112008003855B4 (de) System und Verfahren zum Bereitstellen von sicherem Zugriff auf einen Systemspeicher
DE112010005842T5 (de) Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern einer Speichervorrichtung
DE69725833T2 (de) Gesicherte zweiteilige Benutzer-Authentifizierung in einem Rechnernetz
EP3259698B1 (de) Autonom bootendes system mit einem sicherheitsmodul
DE102019113352A1 (de) Technologien für sichere e/a mit speicherverschlüsselungs-engines
DE112005003513B4 (de) Sicherheitschip
DE102013108394A1 (de) Verfahren zum Verwalten eines Schlüssels für sicheres Speichern von Daten und Vorrichtung dafür
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE112008003931T5 (de) Systeme und Verfahren für Datensicherheit
DE112011105678T5 (de) Entsperren eines Speichergeräts
DE112020000269T5 (de) Ferngewährung des zugangs zu einer gesperrten datenspeichervorrichtung
DE10393662T5 (de) Bereitstellen eines sicheren Ausführungsmodus in einer Preboot-Umgebung
DE102018115683A1 (de) Domänenübergreifende sicherheit in kryptographisch partionierter cloud
US8200964B2 (en) Method and apparatus for accessing an encrypted file system using non-local keys
DE112017005005T5 (de) Systeme, vorrichtungen, und verfahren zur plattformsicherheit
DE112015007220T5 (de) Techniken zum Koordinieren von Vorrichtungshochfahrsicherheit
DE102018126136A1 (de) Technologien zur biometrischen Authentifizierung vor dem Booten
DE112021005968T5 (de) Krypto-löschung von in einer „key per io“-fähigen einheit gespeicherten daten über eine interne aktion
DE112020000236T5 (de) Mehrrollenentsperrung einer datenspeicherungsvorrichtung
DE112006004173T5 (de) Schutz eines programmierbaren Speichers gegen unberechtigte Veränderung
DE102005014352A1 (de) Verfahren und Steuervorrichtung zur Steuerung eines Zugriffs eines Computers auf Nutzdaten
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
DE112020000235T5 (de) Anmeldung einer vorautorisierten vorrichtung
DE112010005847T5 (de) Modifizieren einer Länge eines Elements, um einen Verschlüsselungsschlüssel zu bilden

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021240000

Ipc: G06F0021600000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021240000

Ipc: G06F0021600000

Effective date: 20130201

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee