-
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.