PatentDe  


Dokumentenidentifikation DE112005002845T5 13.12.2007
Titel Verfahren, Vorrichtung und System zur sicheren Datenspeicherung
Anmelder Discretix Technologies Ltd., Netanya, IL
Erfinder Bar-El, Hagai, Rehovot, IL
Vertreter Anwaltskanzlei Gulde Hengelhaupt Ziebig & Schneider, 10179 Berlin
DE-Aktenzeichen 112005002845
Vertragsstaaten AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BW, BY, BZ, CA, CH, CN, CO, CR, CU, CZ, DE, DK, DM, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP, KE, KG, KM, KN, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, LY, MA, MD, MG, MK, MN, MW, MX, MZ, NA, NG, NI, NO, NZ, OM, PG, PH, PL, PT, RO, RU, SC, SD, SE, SG, SK, SL, SM, SY, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, YU, ZA, ZM, ZW, EP, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IS, IT, LT, LU, LV, MC, NL, PL, PT, RO, SE, SI, SK, TR, OA, BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, ML, MR, NE, SN, TD, TG, AP, BW, GH, GM, KE, LS, MW, MZ, NA, SD, SL, SZ, TZ, UG, ZM, ZW, EA, AM, AZ, BY, KG, KZ, MD, RU, TJ, TM
WO-Anmeldetag 03.11.2005
PCT-Aktenzeichen PCT/IL2005/001156
WO-Veröffentlichungsnummer 2006051522
WO-Veröffentlichungsdatum 18.05.2006
Date of publication of WO application in German translation 13.12.2007
Veröffentlichungstag im Patentblatt 13.12.2007
IPC-Hauptklasse H04L 9/00(2006.01)A, F, I, 20051103, B, H, DE

Beschreibung[de]
HINTERGRUND DER ERFINDUNG

Herkömmliche Verfahren zur Verhinderung von unautorisierter Enthüllung von Daten können verschiedene kryptografische Codes zur Anwendung bringen, zum Beispiel einen Code gemäß dem fortgeschrittenen Verschlüsselungsstandard (Advanced Encryption Standard, AES), um Daten zu verschlüsseln. Die verschlüsselten Daten können durch einen autorisierten Benutzer mittels eines geheimen Schlüssels entschlüsselt werden.

Leider bieten solche konventionellen Methoden nicht genügend Schutz gegen unautorisierte Manipulation von Daten und/oder die Möglichkeit solche Manipulation in bestimmten Situationen zu detektieren. Die verschlüsselten Daten können zum Beispiel ohne Autorisation ersetzt werden, zum Beispiel in ihrer Gesamtheit, durch eine vorherige Version der verschlüsselten Daten. Der autorisierte Benutzer kann nicht in der Lage sein, solch eine Ersetzung zu detektieren und kann unwissentlich die vorherige Version der Daten als die jetzige Version der Daten behandeln. Darüber hinaus kann bei solchen Methoden der geheime Schlüssel intern gespeichert werden, zum Beispiel auf eine Vorrichtung, welche benutzt wird, um verschlüsselte Daten zu speichern oder er kann durch den Benutzer bereitgestellt werden. Wenn intern gespeichert, kann der geheime Schlüssel ohne Autorisierung enthüllt werden, zum Beispiel durch Nachbau. Umgekehrt, wenn der geheime Schlüssel von dem Benutzer bereitgestellt wird, kann ein Gerät, welches den Schutzmechanismus benutzt, limitierte Transparenz hinsichtlich anderer Anwendungen haben und/oder kann nur begrenzte Datentypen speichern. Zum Beispiel können solche Geräte nicht anwendbar sein, um Daten zu speichern, welche nicht dem Benutzer gehören, welcher den geheimen Schlüssel besitzt, zum Beispiel weil der Benutzer die Daten beliebig ändern kann, zum Beispiel mit Hilfe des geheimen Schlüssels.

Konventionelle Geräte zur sicheren Datenspeicherung können eine physikalische Sicherheitsstruktur beinhalten, um beliebigen Zugriff auf die gespeicherten Daten zu verhindern. Jedoch können solche Sicherheitsstrukturen relativ komplex und/oder teuer sein und können deshalb keinen kosteneffektiven Schutz für große Datenmengen bieten.

ZUSAMMENFASSUNG EINIGER ANSCHAULICHER AUSFÜHRUNGSFORMEN DER ERFINDUNG

Einige anschauliche Ausführungsformen der Erfindung beinhalten ein Verfahren, Vorrichtung und/oder System zur sicheren Datenspeicherung, zum Beispiel durch Verhinderung der unautorisierten Enthüllung der gespeicherten Daten und/oder Sicherstellen der Integrität der gespeicherten Daten.

Eine Vorrichtung, die in der Lage ist, Daten sicher zu speichern, kann gemäß einiger anschaulicher Ausführungsformen der Erfindung eine sichere Kontrollanordnung beinhalten, welche einen sicheren Speicher beinhalten kann, um einen Schlüssel sicher zu speichern; ein Verschlüsselungsmodul, um einen verschlüsselten Datensatz durch Verschlüsselung eines Datensatzes, welcher gespeichert werden soll, mit Hilfe des Schlüssels zu erzeugen; und einen Controller zur Generierung einer Authentifizierungsinformation zur Authentifizierung der Integrität des verschlüsselten Datensatzes basierend auf den Schlüssel. Die Vorrichtung kann auch ein Speichermodul beinhalten, um den verschlüsselten Datensatz und die Authentifizierungsinformation zu speichern.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann eine Kapazität der Speicherung substantiell groß sein im Vergleich zu einer Kapazität des sicheren Speichers. Zum Beispiel kann die Kapazität der Speicherung mindestens einhundertmal größer sein als die Kapazität des sicheren Speichers.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann die Kapazität des sicheren Speichers zum Beispiel nicht mehr als 10 KB sein.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der sichere Speicher ein elektronisch löschbarer und programmierbarer Nur-Lese-Speicher sein oder diesen beinhalten. Einen einmalig programmierbaren Speicher oder einen Speicher implementiert durch eine oder mehrere Sicherungen und/oder der Speicher ein Flash-Memory sein oder beinhalten.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller die Authentifizierungsinformation durch Generierung einer oder mehrerer Nachrichten-Identifizierungs-Codes generieren, welche auf dem Schlüssel basieren.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller einen Gruppenauthentifizierungscode generieren zur Authentifizierung der Integrität einer Gruppe von Datensätzen, basierend auf einer Mehrzahl von Datensatzauthentifizierungscodes, welche der Gruppe von Datensätzen entsprechen.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller einen globalen Authentifizierungscode generieren zur Authentifizierung der Integrität einer Vielzahl von Gruppendatensätzen, basierend auf einer Vielzahl von Gruppenauthentifizierungscodes, welche der Vielzahl von Gruppen entsprechen. In anderen anschaulichen Ausführungsformen der Erfindung kann der globale Authentifizierungscode einer Gruppe entsprechen.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann das Verschlüsselungsmodul auch einen gespeicherten Datensatz entschlüsseln. Der Controller kann selektiv Zugang zu dem entschlüsselten Datensatz zur Verfügung stellen, basierend auf mindestens einer der Authentifikation der Integrität des gespeicherten Datensatzes, einer Authentifizierung der Integrität einer Gruppe von Datensätzen inklusive dem gespeicherten Datensatz, einer Authentifizierung einer Menge von Gruppen inklusive der Gruppe der Datensätze und einer Bestimmung, ob der gespeicherte Datensatz auf dem Laufenden ist. Der Controller kann Zugriff zu den entschlüsselten Datensatz verweigern, wenn zum Beispiel der gespeicherte Datensatz, die Integrität die Gruppe der Datensätze und/oder die Integrität der Menge der Gruppen nicht authentifiziert ist; und/oder wenn bestimmt wurde, dass der gespeicherte Datensatz nicht auf dem Laufenden ist. Der Controller kann Zugang zu dem entschlüsselten Datensatz gewähren, wenn zum Beispiel die Integrität des gespeicherten Datensatzes authentifiziert wurde, wenn bestimmt wurde, dass der gespeicherte Datensatz auf dem Laufenden ist, und mindestens eine Integrität der Gruppe der Datensätze und die Integrität der Menge der Gruppen authentifiziert wurde.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller einen Datensatzauthentifizierungscode bestimmen, welcher einem gespeicherten Datensatz entspricht, basierend auf dem Schlüssel und einen gespeicherten Initialisierungsvektor entsprechend dem gespeicherten Datensatz und um die Integrität des gespeicherten Datensatzes durch Vergleich des ermittelten Datensatzauthentifizierungscodes mit einem gespeicherten Datensatzauthentifizierungscode entsprechend dem gespeicherten Datensatz zu authentifizieren.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller einen Gruppenauthentifizierungscode bestimmen entsprechend einer gespeicherten Gruppe von Datensätzen basierend auf dem Schlüssel und einer Vielzahl von gespeicherten Datensatzauthentifizierungscodes entsprechend den Datensätzen der Gruppe, und um die Integrität der Gruppe zu authentifizieren durch Vergleich des ermittelten Gruppenauthentifizierungscodes mit einem gespeicherten Gruppenauthentifizierungscode entsprechend der Gruppe.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller einen globalen Identifizierungscode einer Menge von Gruppen von gespeicherten Datensätzen bestimmen basierend auf den Schlüssel und einer Vielzahl von gespeicherten Gruppenauthentifizierungscodes entsprechend der Menge von Gruppen, und um die Integrität der Menge der Gruppen zu authentifizieren durch Vergleich des ermittelten globalen Authentifizierungscodes mit einem gespeicherten globalen Authentifizierungscode entsprechend der Menge der Gruppen.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller Versionsinformationen, welche eine Version eines oder mehrerer Datensätze, welche in dem Speicher gespeichert sind, bezeichnet, sicher in dem Speicher speichern. Zum Beispiel kann der Controller im Speicher einen globalen Authentifizierungscode, welcher einer Menge von Gruppen entspricht, inklusive dem einen oder mehreren gespeicherten Datensätzen sicher speichern. In einem anderen Beispiel kann der Speicher einen Zähler speichern, und der Controller kann den Zähler aktualisieren, wenn er einen Datensatz speichert, und um einen Wert des Zählers sicher im Speicher zu speichern. Der Controller kann bestimmen, ob ein oder mehrere gespeicherte Datensätze auf dem neuesten Stand sind, zum Beispiel durch Vergleich der sicher gespeicherten Versionsinformation mit der entsprechenden Versionsinformation, welche im Speicher gespeichert ist.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Der Gegenstand, der als Erfindung betrachtet wird, wird im Speziellen dargelegt und klar beansprucht in dem abschließenden Teil der Spezifikation. Die Erfindung jedoch sowohl was den Aufbau und die Art und Weise der Bedienung angeht, zusammen mit den Objekten, Merkmalen und Vorteilen davon, kann am besten verstanden werden durch Verweis auf die nachfolgende detaillierte Beschreibung, wenn sie zusammen mit den Zeichnungen gelesen wird, in denen:

1 eine schematische Blockdiagrammillustration einer Rechenplattform inklusive einer sicheren Speicheranordnung gemäß einiger anschaulicher Ausführungsformen der Erfindung ist;

2 eine schematische Illustration eines Ablaufdiagramms eines Verfahrens zur sicheren Speicherung von Daten gemäß einiger anschaulicher Ausführungsbeispiele der Erfindung ist; und

3 eine schematische Illustration eines Ablaufdiagramms eines Verfahrens, sicher gespeicherte Daten abzufragen gemäß einiger anschaulicher Ausführungsformen der Erfindung ist.

Es wird verstanden, dass zur Einfachheit und Klarheit der Abbildung, Elemente, die in den Zeichnungen gezeigt werden, nicht notwendigerweise akkurat oder maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Abmessungen einiger Elemente im Vergleich zu anderen Elementen zur Klarheit übertrieben oder einige physikalische Komponenten in einem funktionalen Block oder Element beinhaltet sein. Darüber hinaus können dort, wo es als angemessen angesehen wird, Bezugszeichen in den Zeichnungen wiederholt werden, um sich entsprechende oder analoge Elemente zu kennzeichnen. Darüber hinaus können einige der Blöcke, welche in den Zeichnungen dargestellt sind, zu einer einzelnen Funktion kombiniert sein.

DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN DER ERFINDUNG

In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein umfassendes Verständnis der Erfindung bereitzustellen. Es wird jedoch verstanden, dass die vorliegende Erfindung von denjenigen, die durchschnittliche Fähigkeiten auf dem Gebiet haben, auch ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen können wohlbekannte Verfahren, Prozeduren, Komponenten und Schaltkreise nicht im Detail beschrieben worden sein, um die vorliegende Erfindung nicht zu vernebeln.

Es wird verstanden, dass der Ausdruck „Verhinderung unautorisierter Enthüllung gespeicherter Daten" wie er hier verwendet wird, sich auf die Sicherstellung der gespeicherten Daten beziehen kann, nicht ohne Autorisierung verstanden werden kann, zum Beispiel auch wenn vollständiger Zugriff zum Beispiel teilweiser oder vollständiger physikalischer und/oder elektronischer Zugriff auf die gespeicherten Daten erlangt wird. Der Ausdruck „Sicherstellung der Integrität der gespeicherten Daten" wie er hier verwendet wird, kann sich auf die Sicherstellung beziehen, dass die gespeicherten Daten teilweise oder im Ganzen nicht manipuliert, geändert, verfälscht und/oder durch andere Daten ersetzt wurden, zum Beispiel ohne Autorisierung und/oder in einer Art und Weise die nicht detektiert werden kann, zum Beispiel mit hoher Wahrscheinlichkeit durch einen autorisierten Benutzer.

Es wird verstanden, dass der Ausdruck „sicher gespeicherte Daten" wie er hier benutzt wird sich darauf beziehen kann, unautorisierte Enthüllung von gespeicherten Daten zu verhindern und/oder die Integrität der gespeicherten Daten sicherzustellen.

Einige anschauliche Ausführungsformen der Erfindung beinhalten ein Verfahren, Vorrichtung und/oder System zur sicheren Datenspeicherung wie nachfolgend beschrieben.

Teile der Diskussion hierin können sich für anschauliche Zwecke darauf beziehen, einen Datensatz („Datensatz") sicher zu speichern. Jedoch sind Ausführungsformen der Erfindung in diesem Hinblick nicht beschränkt und können zum Beispiel beinhalten, einen Datenblock, einen Datenteil, eine Datensequenz, einen Datenframe, ein Datenfeld, einen Inhalt, ein Element, eine Nachricht, einen Schlüssel, einen Code oder dergleichen sicher zu speichern.

Es wird auf 1 Bezug genommen, welche schematisch eine Rechnerplattform 100 illustriert gemäß einiger anschaulicher Ausführungsformen der Erfindung.

Obwohl die vorliegende Erfindung diesbezüglich nicht beschränkt ist, kann die Rechnerplattform 100 eine tragbare Vorrichtung sein. Nicht limitierende Beispiele einer solchen tragbaren Vorrichtung beinhalten Mobiltelefone, Laptop- und Notebook-Computer, PDA (personal digital assistants), Speicherkarten, Speichereinheiten und dergleichen. Alternativ kann die Rechnerplattform auch eine nichttragbare Vorrichtung sein, wie zum Beispiel ein Tischcomputer.

Gemäß dem anschaulichen Ausführungsformen der 1 kann die Rechnerplattform 100 eine absicherbare Speichervorrichtung 102, wie nachfolgend beschrieben, beinhalten. Plattform 100 kann zusätzlich einen Prozessor 104, eine Speichereinheit 106, und optional eine Ausgabeeinheit 108, eine Eingabeeinheit 110, Netzwerkverbindung 112 und/oder irgendeine andere passende Hardwarekomponente und/oder Softwarekomponente beinhalten.

Nach einigen anschaulichen Ausführungsformen der Erfindung kann der Prozessor 104 eine zentrale Recheneinheit (CPU, Central Processing Unit), einen digitalen Signalprozessor (DSP, Digital Signal Processor), einen Mikroprozessor, einen Wirtsrechner, eine Vielzahl von Prozessoren, einen Controller, einen Chip, einen Mikrochip, oder irgendeinen anderen Mehrzweck- oder spezifischen Prozessor oder Controller beinhalten. Eingabeeinheit 110 kann zum Beispiel eine Tastatur, eine Maus, ein Touch-Pad oder anderes passendes Zeigegerät oder Eingabegerät umfassen. Die Ausgabeeinheit 108 kann zum Beispiel einen Kathodenröhrenstrahl(CRT)-Monitor, Flüssigkristallanzeige(LCD)-Monitor oder einen anderen passenden Monitor oder Anzeigeeinheit umfassen. Der Speicher 106 kann zum Beispiel einen frei adressierbaren Festspeicher (RAM, Random Access Memory), einen Nur-Lese-Speicher (Read Only Memory, ROM), einen dynamischen frei adressierbaren Festspeicher (Dynamic RAM, DRAM), einen synchronen DRAM (SD-RAM), einen Flash-Speicher, einen flüchtigen Speicher, einen nichtflüchtigen Speicher, einen Pufferspeicher, einen Puffer, eine Kurzzeitspeichereinheit, eine Langzeitspeichereinheit oder andere passende Speichereinheiten oder Speichereinheiten umfassen. Die Netzwerkverbindung 112 kann adaptiert werden, um mit einem Kommunikationsnetzwerk zu interagieren, zum Beispiel einen lokalen Netzwerk (LAN, local area network), einem Weitverkehrsnetz (wide area network, WAN), oder einem globalen Kommunikationsnetzwerk, zum Beispiel das Internet. Gemäß einiger Ausführungsbeispiele kann das Kommunikationsnetzwerk ein drahtloses Kommunikationsnetzwerk beinhalten, wie zum Beispiel ein drahtloses LAN(WLAN)-Kommunikationsnetzwerk. Obwohl der Geltungsbereich der vorliegenden Erfindung nicht in dieser Hinsicht limitiert ist, kann das Kommunikationsnetzwerk ein Mobilfunkkommunikationsnetzwerk beinhalten mit einer Plattform 100, die zum Beispiel eine Basisstation, eine Mobilstation oder ein Handapparat sein kann. Das Handykommunikationsnetzwerk gemäß einiger Ausführungsbeispiele der Erfindung kann ein Partnerschaftsprojekt der dritten Generation sein (3GPP) wie zum Beispiel Frequency Domain Duplexing (FDD), Global System for Mobile communication (GSM), Wideband Code Division Multiple Access (WDDMA), Handy-Netzwerke und dergleichen.

Obwohl die vorliegende Erfindung in dieser Hinsicht nicht limitiert ist, kann die Speichervorrichtung 102 eine tragbare Speichervorrichtung sein, zum Beispiel eine tragbare Speicherkarte, Diskette, Chip und/oder irgendeine andere tragbare Speichervorrichtung, welche zum Beispiel von einer Rechnerplattform 100 losgelöst werden kann. Gemäß anderer Ausführungsformen kann die Speicheranordnung 102 eine nichttragbare Speichervorrichtung sein, zum Beispiel eine Speicherkarte, Diskette, Chip und/oder eine beliebige andere Speichereinheit oder -element, welches integral mit der Computerplattform 100 verbunden ist.

Gemäß einer anschaulichen Ausführungsform der Erfindung kann die Speichervorrichtung 102 eine sichere Speicheranordnung 114 umfassen, welche geeignet ist, Daten sicher zu speichern, zum Beispiel einen oder mehrere Datensätze empfangen vom Prozessor 104, Speicher 106, Eingabeeinheit 110, Mehrzweckverbindung 112 und/oder einer beliebigen anderen Komponente oder Plattform 100 und/oder assoziiert mit der Plattform 100 zum Beispiel intern oder extern wie nachfolgend beschrieben.

Gemäß anschaulicher Ausführungsformen der Erfindung kann die sichere Speicheranordnung 114 ein Speichermodul 120 beinhalten und geschützte Kontrollanordnung 118.

Gemäß anschaulicher Ausführungsformen der Erfindung kann die Kontrollanordnung 118 einen beliebigen Schutzmechanismus beinhalten, zum Beispiel eine beliebige „physikalische" Schutzstruktur und/oder eine beliebige andere geeignete Schutzkonfiguration, wie sie in diesem technischen Bereich bekannt ist, um die Enthüllung irgendeines Teils des Inhaltes der Anordnung 118 zu verhindern und um jeden Versuch zu verhindern, auf einen beliebigen Teil des Inhalts der Anordnung 118 zuzugreifen, teilweise oder im Ganzen und/oder um jeden Versuch zu verhindern, den Ablauf der Anordnung 118 zu stören.

Gemäß anschaulicher Ausführungsformen der Erfindung kann die Anordnung 118 auch imstande sein, einen Datensatz, der im Speichermodul 120 gespeichert werden soll, zu empfangen und das Speichermodul 120 mit einem verschlüsselten Datensatz zu versorgen wie unten beschrieben. Die Anordnung 118 kann auch in der Lage sein, einen verschlüsselten Datensatz, den sie vom Speichermodul 120 empfangen hat, zu entschlüsseln, zum Beispiel, wie unten beschrieben. Die Anordnung 118 kann auch in der Lage sein, zum Beispiel, bevor sie einen Datensatz im Speichermodul 120 speichert und/oder bevor sie einen Datensatz, den sie vom Speichermodul 120 abgefragt hat, ausgibt, zu verifizieren, dass der Datensatz und/oder jeder andere Inhalt des Speichermoduls 120 nicht manipuliert, geändert, verfälscht und/oder durch anderen Inhalt ersetzt wurde, zum Beispiel ohne Autorisierung, wie unten beschrieben.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann die Anordnung 118 einen Controller 121, einen Speicher 122 und ein Verschlüsselungs-/Entschlüsselungsmodul 124 beinhalten.

Der Speicher 122 kann einen beliebigen passenden Speicher, zum Beispiel einen nichtflüchtigen RAM-Speicher, zum Beispiel einen elektronisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), einen einmalig programmierbaren (OTP) Speicher, einen Speicher, der durch eine oder mehrere Sicherungen implementiert ist, wie in diesem technischen Bereich bekannt ist. Der Speicher 122 kann in der Lage sein, einen geheimen Vorrichtungsschlüssel 191 zu speichern, zum Beispiel eine zufällig generierte Sequenz, zum Beispiel eine zufällige Folge generiert durch den Controller 121 mit einer vorgegebenen Länge, zum Beispiel 128 Bit. Der Speicher 122 kann auch Datenintegritätsinformationen 193 zum Beispiel einen „Speichersignaturwert" und/oder einen „Generationenzähler"-Wert speichern wie unten beschrieben.

In einigen anschaulichen Ausführungsformen der Erfindung kann die Kapazität des Speichers 122 vergleichsweise klein sein. In einem nichtlimitierten Beispiel kann die Kapazität des Speichers 122 nicht mehr als 10 KB sein.

Das Verschlüsselungs-/Entschlüsselungsmodul 124 kann eine beliebige passende Hardware und/oder Software umfassen, zum Beispiel eine Verschlüsselungs-/Entschlüsselungsmaschine wie sie in dem technischen Bereich bekannt ist, welche einen Datensatz verschlüsseln kann, der im Speichermodul 120 gespeichert werden soll oder einen Datensatz entschlüsseln kann, welcher vom Speichermodul 120 abgefragt wurde, zum Beispiel wie unten beschrieben. Zum Beispiel kann das Modul 124 einen AES-CBC Codierungsalgorithmus implementieren oder jeden anderen beliebigen Verschlüsselungs-/Entschlüsselungsalgorithmen wie sie zum Beispiel in dem technischen Bereich bekannt sind.

Gemäß einige anschaulicher Ausführungsformen der Erfindung kann der Controller 121 eine CPU, einen DSP, einen Mikroprozessor, einen Wirtsprozessor, eine Vielzahl von Prozessoren, einen Chip, einen Mikrochip oder jeden anderen passenden Mehrzweck- oder spezifischen Prozessor oder Controller umfassen.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der Controller 121 optional in der Lage sein, zufällig einen Datensatz-Initialisierungsvektor (IV) zu erzeugen. Zum Beispiel kann der Datensatz-IV einen Block von Bits mit vorgegebener Länge beinhalten, zum Beispiel 128 Bit, entsprechend zum Beispiel dem Codierungsalgorithmus, welcher durch das Verschlüsselungs-/Entschlüsselungsmodul 124 implementiert wurde, zum Beispiel wie unten beschrieben. Der Controller 121 kann optional in der Lage sein, einen beliebigen anderen vorbestimmten Initialisierungsvektor (IV) zu generieren, zum Beispiel einen Tabellen-IV entsprechend einer Tabelle von Datensätzen und/oder einen zusammengesetzten IV entsprechend einem zusammengesetzten Nachrichtenauthentifizierungscode (Massage Authentication Code, MAC). Gemäß anderer Ausführungsformen der Erfindung kann ein oder mehrere IV durch eine beliebige andere passende Einheit, Modul oder Element außer des Controllers 121 erzeugt werden.

Der Controller 121 und/oder das Modul 124 kann in der Lage sein, einen Authentifizierungsschlüssel zu erlangen, zum Beispiel einen MAC-Schlüssel, zum Beispiel vom Vorrichtungsschlüssel 191 und/oder beliebige andere passende Werte und/oder Parameter, zum Beispiel einen Hash-Algorithmus, einen Blockverschlüsselungsalgorithmus, einen CBC-MAC-Algorithmus und/oder ein beliebiges anderes passendes Verfahren, wie es in dem technischen Bereich bekannt ist. Der Controller 121 und/oder das Modul 124 kann auch in der Lage sein, einen Datensatzauthentifizierungscode zu berechnen, zum Beispiel einen Datensatz-MAC entsprechend zum Beispiel einem Datensatz erhalten vom Speichermodul 120 oder beabsichtigt im Speichermodul 120 gespeichert zu werden und optional dem Datensatz-IV. Der Controller 121 und/oder das Modul 124 können auch einen oder mehrere andere Authentifizierungscodes oder MACs berechnen, zum Beispiel einen Tabellenauthentifizierungscode entsprechend zweier oder mehrerer Datensatzauthentifizierungscodes einer Tabelle, die im Speichermodul 120 gespeichert ist und/oder einem zusammengesetzten Authentifizierungscode entsprechend einer oder mehrerer Tabellenauthentifizierungscodes und/oder anderen Inhalten des Speichermoduls 120 wie unten im Detail beschrieben. Der Controller 121 und/oder das Modul 124 kann auch in der Lage sein, einen oder mehrere Authentifizierungscodes zu berechnen, zum Beispiel den Authentifizierungsschlüssel zum Beispiel den MAC-Schlüssel und einen passenden Authentifizierungsalgorithmus zu implementieren zum Beispiel einen AES-MAC-Algorithmus oder einen HMAC-Algorithmus, wie er in dem technischen Bereich bekannt ist.

Obwohl einige anschauliche Ausführungsformen der Erfindung hierin beschrieben werden, mit Verweis darauf, einen MAC als einen Authentifizierungscode oder -schlüssel zu implementieren, soll trotzdem von den Fachleuten in dem technischen Gebiet verstanden werden, dass die Erfindung nicht in dieser Hinsicht begrenzt ist, dass beliebige andere passenden Authentifizierungscodes und/oder -schlüssel wie in anderen Ausführungsformen dieser Erfindung benutzt werden können.

Einige anschauliche Ausführungsformen der Erfindung sind hierin beschrieben mit Verweis auf einen Controller, zum Beispiel Controller 121 und ein Verschlüsselungs-/Entschlüsselungsmodul, zum Beispiel den Verschlüsselungs-/Entschlüsselungsmodul 124, implementiert als unterschiedliche Elemente einer Kontrollanordnung, zum Beispiel der Anordnung 118. Jedoch soll von den Fachleuten in dem technischen Bereich verstanden werden, dass die Erfindung nicht in dieser Hinsicht begrenzt ist, und dass in anderen Ausführungsformen der Erfindung die Kontrollanordnung ein Modul beinhalten kann, welches in der Lage ist, die Funktionalität sowohl des Controllers als auch des Verschlüsselungs-/Entschlüsselungsmoduls ausführen.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann das Speichermodul 120 zum Beispiel einen RAM, einen DRAM, einen SD-RAM, einen Flash-Speicher oder andere passende zum Beispiel nichtflüchtige Speicher oder Speicher beinhalten.

Gemäß einiger anschaulicher Ausführungsformen kann das Speichermodul in der Lage sein, eine relativ große Menge von Daten zu speichern, zum Beispiel verglichen mit der Menge der Daten, die im geschützten Speicher 122 gespeichert werden können. In einigen anschaulichen Ausführungsformen der Erfindung kann die Kapazität des Speichermoduls 120 substantiell groß sein im Vergleich zu der Kapazität des Speichers 122. In einem nicht limitierten Beispiel kann die Kapazität des Speichers 120 mindestens einhundertmal größer sein als die Kapazität des Speichers 122.

Obwohl die vorliegende Erfindung nicht in dieser Hinsicht limitiert ist, kann das Speichermodul 120 zum Beispiel integral mit der Kontrollanordnung 118 verbunden sein. Gemäß anderer Ausführungsformen kann das Speichermodul 120 von der Kontrollanordnung 118 loslösbar sein.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann das Speichermodul 120 Daten in einer oder mehreren Tabellen 160 speichern. Jede der Tabellen 160 kann zum Beispiel ein oder mehrere Felder 162 beinhalten, welche erste, zweite und dritte Teilbereiche 164, 166 und 168 beinhalten. In einigen Ausführungsformen kann der Teilbereich 166 verschlüsselte Datensätze, welche er von der Anordnung 118 erhalten hat, speichern und die Teilbereiche 164 und 168 können einen IV und einen Datensatz-MAC entsprechend dem Datensatz des Teilbereichs 164 speichern wie zum Beispiel unten beschrieben. Jedoch soll von den Fachleuten des technischen Gebietes verstanden werden, dass gemäß anderer Ausführungsformen der Erfindung die Tabelle 160 jede beliebige Anordnung eines oder mehrerer Felder zur Datenspeicherung beinhalten kann, zum Beispiel einen Authentifizierungscode und/oder IV-Daten, in einem beliebigen Format und/oder Reihenfolge, zum Beispiel eine verbundene Liste variabler Länge. Der Datensatzauthentifizierungscode entsprechend einem spezifischen Datensatz kann verwendet werden zum Beispiel um die Integrität eines spezifischen Datensatzes zu sicherzustellen wie unten beschrieben.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann das Speichermodul 120 optional einen oder mehrere Tabellenauthentifizierungscodes speichern, zum Beispiel Tabellen-MACs 170 entsprechend den Inhalten einer oder mehrerer Tabellen 160. Der Controller 121 und/oder Modul 124 kann in der Lage sein, einen Tabellen-MAC 170 zu berechnen, zum Beispiel, wenn er einen oder mehrere Datensätze in Tabelle 160 speichert, oder wenn er einen oder mehrere Datensätze der Tabelle 160 abruft oder ändert, wie zum Beispiel unten beschrieben. Der Tabellenauthentifizierungscode einer spezifischen Tabelle kann zum Beispiel mit Hilfe aller Datensatzauthentifizierungscodes einer spezifischen Tabelle berechnet werden. Die Tabellenauthentifizierungscode entsprechend einer spezifischen Tabelle kann benutzt werden zum Beispiel, um die Integrität einer spezifischen Tabelle als ganze sicherzustellen, wie unten beschrieben.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann das Speichermodul 120 auch einen Generationenzähler 190 zum Beispiel der eine vorgegebene Länge hat, zum Beispiel eine Länge von 128 Bit oder eine beliebige andere Länge. Der Zähler 190 kann einen beliebigen Zähler oder passenden zählerähnlicher zum Beispiel ein grauer Zähler beinhalten oder sein. Der Wert, welcher in dem Generationenzähler 190 gespeichert ist, kann modifiziert werden, zum Beispiel erhöht werden, zum Beispiel um 1, wenn er einen oder mehrere Datensätze in dem Speichermodul 120 speichert oder wenn er einen oder mehrere Datensätze des Speichermoduls 120 verändert, zum Beispiel wie unten beschrieben. Gemäß anderer anschaulicher Ausführungsformen darf das Speichermodul 120 keinen Generationenzähler 190 implementieren. In solchen Ausführungsformen kann eine andere Aktualisierungs-Verifikationsinformation zum Beispiel ein Speichersignaturwert benutzt werden, um zu verifizieren, dass die Inhalte des Speichermoduls 120 auf dem Laufenden sind, zum Beispiel wie unten beschrieben.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann das Speichermodul 120 auch einen zusammengesetzten Authentifizierungscode speichern, zum Beispiel einen zusammengesetzten MAC 180, zum Beispiel entsprechend dem gesamten Inhalt des Speichermoduls 120, zum Beispiel inklusive aller Tabellenauthentifizierungscodes und optional dem Wert des Generationenzählers 190, zum Beispiel, wenn er implementiert ist. Der zusammengesetzte Authentifizierungscode kann zum Beispiel mit Hilfe aller Tabellenauthentifizierungscodes berechnet werden; oder mit Hilfe aller Datensatzauthentifizierungscodes, zum Beispiel wenn nur eine Tabelle implementiert ist. Der Controller 121 kann in der Lage sein, einen zusammengesetzten MAC 180 zu berechnen, zum Beispiel wenn ein oder mehrerer Datensätze im Speichermodul 120 gespeichert werden, oder wenn einer oder mehrere Datensätze des Speichermoduls 120 geändert werden, zum Beispiel wie unten beschrieben. Der zusammengesetzte Authentifizierungscode kann benutzt werden zum Beispiel, um die Integrität des ganzen Speichermoduls 120 sicherzustellen, zum Beispiel wie unten beschrieben. Gemäß einiger Ausführungsformen der Erfindung kann das Speichermodul 120 zusätzlich oder alternativ eine beliebige andere passende Datentintegritätsinformation beinhalten, zum Beispiel eine oder mehrere Tabellen IVs und/oder einen zusammengesetzten IV.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann die Speicheranordnung 102 zusätzlich ein Eingabe-/Ausgabeinterface 116 beinhalten, welches in der Lage ist, zum Beispiel vom Prozessor 104, Speicher 106, Eingabeeinheit 110 und/oder Netzwerkverbindung 112 Daten zu empfangen, die im Speichermodul 120 gespeichert werden sollen und die Daten dem Controller 118 in einem passenden Format bereitzustellen. Das Interface 116 kann auch in der Lage sein, vom Controller 118 Daten zu empfangen, die im Speichermodul 120 gespeichert waren und die Daten dem Prozessor 104, Speicher 106, Ausgabeeinheit 108 und/oder Netzwerkverbindung 112 in einem passenden Format bereitzustellen. Das Interface 116 kann eine beliebige passende Hardware und/oder Software umfassen, zum Beispiel wie im technischen Bereich bekannt.

Es wird auch auf 2 verwiesen, welche schematisch ein Verfahren zur sicheren Datenspeicherung illustriert gemäß einiger anschaulicher Ausführungsformen der Erfindung.

Obwohl die vorliegende Erfindung in dieser Hinsicht nicht limitiert ist, kann das Verfahren von 2 durch den Controller 121 implementiert werden, zum Beispiel, wenn versucht wird, einen oder mehrere Datensätze in dem Speichermodul 120 zu speichern.

Gemäß anschaulicher Ausführungsformen der Erfindung kann das Verfahren beinhalten, einen Datensatz zu empfangen, der gespeichert werden soll („der jetzige Datensatz"), wie bei Block 202 angezeigt. Zum Beispiel kann die Kontrollanordnung 118 vom Interface 116 einen Datensatz empfangen, der dazu gedacht ist, im Speichermodul 120 gespeichert zu werden.

Wie angezeigt bei Block 204 kann das Verfahren optional die Generierung eines Datensatz-IVs und Speicherung des generierten Datensatz-IVs beinhalten bei einem Teil des Feldes, welches dazu gedacht ist, den jetzigen Datensatz im Speichermodul 120 zu speichern. Zum Beispiel kann der Controller 121 den Datensatz-IV generieren und kann den Datensatz-IV im Teilbereich 164 der Tabelle 160 speichern.

Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann der jetzige Datensatz dazu gedacht sein, einen Teil oder den ganzen Datensatz zu ersetzen, der gegenwärtig im Speichermodul 120 („der gespeicherte Datensatz") gespeichert wird, zum Beispiel in mindestens einem Teil des Teilbereichs 166. Wie angezeigt bei Block 206 kann gemäß diesen anschaulichen Ausführungsformen das Verfahren optional beinhalten, die Integrität des gespeicherten Datensatzes zu verifizieren. Die Verifikation der Integrität des gespeicherten Datensatzes kann zum Beispiel beinhalten den Datensatz-Verifizierungscode des gespeicherten Datensatzes zu berechnen, zum Beispiel mit Hilfe der entsprechenden gespeicherten Datensatz-IVs und eines geheimen Schlüssels, zum Beispiel Schlüssel 191 und Bestimmung, ob der berechnete Datensatzauthentifizierungscode mit dem Datensatzverifizierungscode, welcher in Teilbereich 168 („der gespeicherte Datensatzauthentifizierungscode") übereinstimmt. Falls der berechnete Datensatzauthentifizierungscode und der gespeicherte Datensatzauthentifizierungscode nicht übereinstimmen, kann das anzeigen, dass der gespeicherte Datensatz geändert, ersetzt oder verfälscht wurde, zum Beispiel ohne Autorisation zu einem Zeitpunkt, nachdem der Datensatz ursprünglich gespeichert wurde. Daher kann das Verfahren wie angezeigt bei Block 208 beinhalten, dass verhindert, zum Beispiel abgelehnt, gestoppt oder abgebrochen wird, dass die Vorrichtung den gegenwärtigen Datensatz speichert, wenn der berechnete Datensatzauthentifizierungscode nicht mit dem gespeicherten Datensatzauthentifizierungscode übereinstimmt.

Wie angezeigt bei Block 210, kann das Verfahren Verschlüsselung des jetzigen Datensatzes beinhalten, zum Beispiel kann das Verschlüsselungs-/Entschlüsselungsmodul 124 den gegenwärtigen Datensatz mit Hilfe eines geheimen Schlüssels verschlüsseln, zum Beispiel mit Vorrichtungsschlüssel 191 oder einen beliebigen anderen passenden geheimen Schlüssel und optional dem vom Controller 121 generierten Datensatz-IV.

Wie angezeigt bei Block 212 kann das Verfahren beinhalten, einen jetzigen Datensatzauthentifizierungscode zu berechnen, welcher dem jetzigen verschlüsselten Datensatz oder dem jetzigen Datensatz entspricht und, optional dem Datensatz-IV und zum Beispiel mit Hilfe des Authentifizierungscodeschlüssels wie oben beschrieben. Der Controller 121 kann den jetzigen Datensatzauthentifizierungscode im Teilbereich 168 speichern. Gemäß einiger anschaulicher Ausführungsformen der Erfindung kann die Berechnung des jetzigen Datensatzauthentifizierungscodes ausgeführt werden, nachdem der jetzige Datensatz verschlüsselt wurde, zum Beispiel wie in 2 illustriert. Jedoch soll von den Fachleuten des Fachgebiets verstanden werden, dass gemäß anderer Ausführungsformen der Erfindung die Berechnung des jetzigen Datensatzauthentifizierungscodes auch vor der Verschlüsselung des jetzigen Datensatzes ausgeführt werden kann.

Wie angezeigt bei Block 214 kann das Verfahren auch optional beinhalten, die Integrität der Tabelle mit dem gespeicherten Datensatz („die gespeicherte Tabelle") zu verifizieren. Die Verifikation der Integrität der gespeicherten Tabelle kann beinhalten, zum Beispiel den Tabellenauthentifizierungscode („der berechnete Tabellenauthentifizierungscode") zu berechnen, zum Beispiel entsprechend dem gespeicherten Datensatzauthentifizierungscode und allen anderen Datensatzauthentifizierungscodes der gespeicherten Tabelle; und Bestimmung, ob der berechnete Tabellenauthentifizierungscode dem Tabellenauthentifizierungscode entspricht, der zurzeit im Speichermodul 120 gespeichert ist („der gespeicherte Tabellenauthentifizierungscode"). Falls der berechnete Tabellenauthentifizierungscode und der gespeicherte Tabellenauthentifizierungscode nicht übereinstimmen, kann das bedeuten, dass die gespeicherte Tabelle verändert, ersetzt oder verfälscht wurde, teilweise oder im Ganzen, zum Beispiel ohne Autorisation zu einem Zeitpunkt nach der ursprünglichen Speicherung des Datensatzes. Deshalb kann, wie bei Block 216 angezeigt, das Verfahren beinhalten, dass weiterer Zugriff auf die gespeicherte Tabelle abgelehnt, zum Beispiel gestoppt, verhindert oder abgebrochen wird und/oder der Tabellenauthentifizierungscodes des gespeicherten Tabelle nicht aktualisiert wird, zum Beispiel wenn der berechnete Tabellenauthentifizierungscode nicht mit dem gespeicherten Tabellenauthentifizierungscode übereinstimmt.

Wie angezeigt bei Block 218, wenn der berechnete Tabellenauthentifizierungscode mit dem gespeicherten Tabellenauthentifizierungscode übereinstimmt, dann kann das Verfahren auch umfassen, einen jetzigen Tabellenauthentifizierungscode zu berechnen, zum Beispiel mit Hilfe des jetzigen Datensatzauthentifizierungscodes und anderen Datensatzauthentifizierungscodes der gespeicherten Tabelle und Ersetzen des gespeicherten Tabellenauthentifizierungscodes durch den jetzigen Tabellenauthentifizierungscode.

Gemäß anderer Ausführungsformen der Erfindung ist es nicht notwendig, einen Tabellenauthentifizierungscode zu implementieren, zum Beispiel, wenn das Speichermodul 120 nur eine Tabelle beinhaltet. In solch einem Fall, kann zum Beispiel die Verifikation des zusammengesetzten Authentifizierungscodes des Speichermoduls, zum Beispiel vorher berechnet mit Hilfe eines oder mehrerer, zum Beispiel aller Datensatzauthentifizierungscodes ausreichend sein zu verifizieren, dass die Inhalte der einzelnen Tabelle nicht verändert, ersetzt oder verfälscht wurden, teilweise oder im Ganz zum Beispiel ohne Autorisation.

Wie angezeigt bei Block 220 kann das Verfahren auch beinhalten, die Integrität des Speichermoduls 120 zu verifizieren. Die Verifikation der Integrität des Speichermoduls 120 kann zum Beispiel beinhalten, den zusammengesetzten Authentifizierungscode („der kalkulierte zusammengesetzte Authentifizierungscode") zu berechnen, zum Beispiel entsprechend einem gespeicherten Tabellenauthentifizierungscode und allen anderen Tabellenauthentifizierungscodes und/oder dem Wert gespeichert im Generationenzähler 190 und Bestimmung, ob der berechnete zusammengesetzte Authentifizierungscode mit dem zusammengesetzten Authentifizierungscode der zurzeit im Speichermodul 120 gespeichert ist („der gespeicherte zusammengesetzte Authentifizierungscode"), übereinstimmt. Falls der berechnete zusammengesetzte Authentifizierungscode und der gespeicherte zusammengesetzte Authentifizierungscode nicht übereinstimmen, kann das anzeigen, dass die Inhalte des Speichermoduls 120 verändert, ersetzt oder verfälscht wurden teilweise oder im Ganzen, zum Beispiel ohne Autorisation. Deshalb kann, wie angezeigt bei Block 221, das Verfahren beinhalten, jeden weiteren Zugriff auf den zusammengesetzten Authentifizierungscode zu stoppen oder abzulehnen und/oder den zusammengesetzten Authentifizierungscode nicht zu aktualisieren, zum Beispiel, wenn der berechnete zusammengesetzte Authentifizierungscode nicht mit dem gespeicherten zusammengesetzten Authentifizierungscode übereinstimmt.

Es wird verstanden, dass ein Angriff, zum Beispiel durch einen unautorisierten Benutzer beinhalten kann, die ganzen Inhalte des Speichermoduls 120 durch Inhalt, der vorher im Speichermodul 120 gespeichert war, zu ersetzen. So ein Angriff kann durch Verifikation der Integrität des Datensatzes, der Tabellen und/oder der Gesamtheit des Speichermoduls 120 nicht entdeckt werden.

Deshalb kann, wie angezeigt bei Block 225, gemäß einiger anschaulicher Ausführungsformen der Erfindung, das Verfahren auch beinhalten sicherzustellen, ob die Inhalte des Speichermoduls 120 ordentlich und komplett auf dem neuesten Stand sind, d.h. sicherzustellen, ob das Speichermodul 120 die Daten beinhaltet, die kürzlich mit Autorisation gespeichert wurden, zum Beispiel, ob der berechnete zusammengesetzte Authentifizierungscode mit dem gespeicherten zusammengesetzten Authentifizierungscode übereinstimmt.

Wie angezeigt bei Block 226 kann das Sicherstellen, ob die Inhalte des Speichermoduls 120 auf dem neuesten Stand sind, beinhalten, gemäß einiger anschaulicher Ausführungsformen der Erfindung, die Werte des Generationszählers 190 mit den Generationszählerwerten zu vergleich, die im Speicher 122 der Kontrollanordnung 118 gespeichert sind, zum Beispiel der Generationszählerwert der Datenintegritätsinformation 193.

Wie angezeigt bei Block 230, kann das Verfahren auch beinhalten, den Generationszählerwert zu verändern, zum Beispiel, wenn ein Vergleich zwischen dem Generationszählerwert des Speichermoduls 120 und dem Generationszählerwert des Speichers 122 anzeigt, dass die Inhalte des Speichermoduls 120 auf dem neuesten Stand sind. Zum Beispiel der Generationszählerwert kann erhöht werden, zum Beispiel um 1, wenn der Generationszählerwert des Speichermoduls 120 gleich oder größer ist als der Generationszählerwert des Speichers 122.

Wie angezeigt bei Block 232 kann das Verfahren auch beinhalten, den aktualisierten Generationszählerwert in den Speicher 122 zu kopieren. Gemäß anderer Ausführungsformen kann der Generationszähler aktualisiert werden gemäß eines beliebigen anderen vorbestimmten Aktualisierungsschemas, zum Beispiel so, dass der Generationszählerwert aktualisiert wird nur für einige Fälle, wenn ein Datensatz im Speichermodul 120 gespeichert oder geändert wird.

Wie angezeigt bei Block 222 kann die Sicherstellung, ob die Werte des Speichermoduls 120 auf dem neuesten Stand sind, beinhalten, einen derzeitigen zusammengesetzten Authentifizierungscode zu berechnen, zum Beispiel mit Hilfe des derzeitigen Tabellenauthentifizierungscodes, anderer Tabellenauthentifizierungscodes oder Datensatzauthentifizierungscodes der gespeicherten Tabelle und optional des aktualisierten Generationenzählerwert, zum Beispiel, wenn anwendbar in dem gegebenen Kontext, und Ersetzen des gespeicherten zusammengesetzten Authentifizierungscodes durch den jetzigen zusammengesetzten Authentifizierungscode. Gemäß einiger Ausführungsformen, zum Beispiel wobei Sicherstellen, ob die Inhalte des Speichermoduls 120 ordentlich und komplett auf dem neuesten Stand sind, beinhaltet die Benutzung des Generationenzählers, wie oben beschrieben, der Generationenzählerwert kann aktualisiert werden bevor der zusammengesetzte Authentifizierungscode berechnet wird, und Berechnung des zusammengesetzten Authentifizierungscodes kann beinhalten, den aktualisierten Generationenzähler zu benutzen.

Wie angezeigt bei Block 224 kann gemäß anderer anschaulicher Ausführungsformen der Erfindung die Sicherstellung, ob die Inhalte des Speichermoduls 120 auf dem neuesten Stand sind, beinhalten, den gegenwärtigen zusammengesetzten Authentifizierungscode in den Speicher 122 zu kopieren als Datenintegritätsinformation 193, zum Beispiel, wenn der Generationenzähler 193 nicht implementiert ist.

Es wird von den Fachleuten verstanden werden, dass die obigen Operationen, zum Beispiel, wenn in der obigen Reihenfolge ausgeführt, einen effizienten Schutz gegen einige Wettlaufsituations-Attacken, das sind Attacken, welche während einer Zeitperiode, wo zwei oder mehrere Prozesse gegenseitig interferieren, ausgeführt werden, da die unterschiedlichen Integritäts-Verifikations-Operationen nicht zusammen gruppiert sind, zum Beispiel am Beginn des Prozesses und/oder die unterschiedlichen Speicheroperationen sind nicht zusammen gruppiert. Jedoch wird von den Fachleuten verstanden, dass eine beliebige Kombination der obigen Aktionen implementiert werden kann, um Daten sicher zu speichern gemäß Ausführungsformen der Erfindung. Darüber hinaus können auch andere Aktionen oder Abfolgen von Aktionen benutzt werden.

Es wird auch auf 3 verwiesen, welche schematisch ein Verfahren zur sicheren Abfrage von gespeicherten Daten illustriert gemäß einiger anschaulicher Ausführungsformen der Erfindung.

Obwohl die vorliegende Erfindung in dieser Hinsicht nicht limitiert ist, kann das Verfahren von 3 vom Controller 121 implementiert werden, zum Beispiel, wenn ein oder mehrere Datensätze vom Speichermodul 120 abgefragt werden.

Wie angezeigt bei Block 302, kann das Verfahren beinhalten, ein Feld inklusive eines verschlüsselten Datensatzes zum Beispiel vom Speichermodul 120 abzufragen. Zum Beispiel kann der Controller 121 ein Feld 162 abfragen, welches einen Teilbereich 166 inklusive des verschlüsselten Datensatzes enthält, und einen Teilbereich 164 und 168, welche den korrespondierenden Datensatz-IV bzw. den gespeicherten Datensatzauthentifizierungscode enthalten.

Wie angezeigt bei Block 304 kann das Verfahren beinhalten, den abgefragten Datensatz zu entschlüsseln, zum Beispiel mit Hilfe eines Vorrichtungsschlüssel 191 und optional mit einem abgefragte Datensatz-IV.

Wie angezeigt bei Block 306 kann das Verfahren auch die Verifikation der Integrität des abgefragten Datensatzes umfassen. Verifikation der Integrität des abgefragten Datensatzes kann zum Beispiel beinhalten, den Datensatzauthentifizierungscode zu berechnen, welcher dem abgefragten Datensatz entspricht, und optional dem abgefragten Datensatz-IV, und Vergleich des berechneten Datensatzauthentifizierungscodes mit dem abgefragten Datensatzauthentifizierungscode.

Wie angezeigt bei Block 308 kann das Verfahren auch beinhalten, den Transfer des verschlüsselten abgefragten Datensatzes zum Interface 116 zu stoppen, abzubrechen oder zu verweigern, zum Beispiel, wenn der berechnete Datensatzauthentifizierungscode nicht mit dem abgefragten Datensatzauthentifizierungscode übereinstimmt.

Wie angezeigt bei Block 310, kann das Verfahren auch beinhalten, die Integrität der Tabelle („die jetzige Tabelle") zu verifizieren, von der der Datensatz abgefragt wurde. Verifikation der Integrität der jetzigen Tabelle kann beinhalten zum Beispiel den Tabellenauthentifizierungscode vom Speichermodul 120 abzufragen, der der jetzigen Tabelle entspricht, Berechnung des Tabellenauthentifizierungscodes entsprechend dem Datensatzauthentifizierungscodes der jetzigen Tabelle und Vergleich des berechneten Tabellenauthentifizierungscodes mit dem abgefragten Tabellenauthentifizierungscode.

Wie angezeigt bei Block 312 kann das Verfahren auch beinhalten, den Transfer des abgefragten verschlüsselten Datensatzes zum Interface 116 zu stoppen, abzubrechen oder zu verweigern, zum Beispiel wenn der berechnete Tabellenauthentifizierungscode nicht mit dem Tabellenauthentifizierungscode übereinstimmt, der im Speichermodul 120 gespeichert ist.

Wie angezeigt bei Block 314 kann das Verfahren auch beinhalten, die Integrität des Speichermoduls 120 zu verifizieren. Verifikation der Integrität des Speichermoduls 120 kann beinhalten, zum Beispiel den zusammengesetzten Authentifizierungscode des Speichermoduls 120 zu berechnen, zum Beispiel entsprechend den Tabellenauthentifizierungscodes des Speichermoduls 120, und optional den Generationenzähler des Speichermoduls 120; und Vergleich des berechneten zusammengesetzten Authentifizierungscodes mit dem zusammengesetzten Authentifizierungscode, der im Speichermodul gespeichert ist.

Wie angezeigt bei Block 316, kann das Verfahren auch beinhalten, den Transfer des verschlüsselten abgefragten Datensatzes zum Interface 116 zu stoppen, abzubrechen oder zu verweigern, zum Beispiel, wenn der berechnete zusammengesetzte Authentifizierungscode nicht mit dem zusammengesetzten Authentifizierungscode übereinstimmt, der im Speichermodul 120 gespeichert ist.

Wie angezeigt bei Block 327, kann das Verfahren auch beinhalten, zu bestimmen, ob die Inhalte des Speichermoduls 120 auf dem neuesten Stand sind.

Wie angezeigt bei Block 318, gemäß einiger anschaulicher Ausführungsformen der Erfindung, kann die Bestimmung, ob die Inhalte des Speichermoduls 120 auf dem neuesten Stand sind, beinhalten, die Generationszählerwerte 190 des Speichermoduls 120 mit den Generationszählerwerten zu vergleichen, die im Speicher 122 der Kontrollanordnung 118 gespeichert sind, zum Beispiel die Generationszählerwerte der Datenintegritätsinformation 193.

Wie angezeigt bei Block 320 kann das Verfahren auch beinhalten, den Transfer des verschlüsselten abgefragten Datensatzes zum Interface 116 zu stoppen, abzubrechen oder zu verweigern, zum Beispiel, wenn der Generationenzählerwert des Speichermoduls 120 kleiner ist als der Generationenzählerwert, gespeichert im Speicher 122, zum Beispiel der Generationenzählerwert der Datenintegritätsinformation 193.

Wie angezeigt bei Block 322, kann gemäß anderen anschaulichen Ausführungsformen der Erfindung die Bestimmung, ob die Inhalte des Speichermoduls 120 auf dem neuesten Stand sind beinhalten, den Speichersignaturwert, der im Speicher 122 gespeichert ist, zu vergleichen, zum Beispiel als Datenintegritätsinformation 193 mit dem zusammengesetzten MAC 180.

Wie angezeigt bei Block 324 kann das Verfahren beinhalten, den Transfer des verschlüsselten abgefragten Datensatzes zu Interface 116 zu stoppen, abzubrechen oder abzulehnen, zum Beispiel, wenn die Speichersignatur, gespeichert als Datenintegritätsinformation 193 nicht mit dem zusammengesetzten MAC 180 übereinstimmt.

Wie angezeigt bei Block 326 kann das Verfahren auch die Bereitstellung des entschlüsselten Datensatzes beinhalten, zum Beispiel zu Interface 116, zum Beispiel, wenn die Datensatzintegritätswerte verifiziert wurden, die Tabellenintegrität verifiziert wurde, die Integrität des Speichermoduls 120 verifiziert wurde und bestimmt wurde, dass das Speichermodul 120 auf dem neuesten Stand ist.

Ausführungsformen der vorliegenden Erfindung können durch Software, Hardware oder eine beliebige Kombination von Software und/oder Hardware, wie sie für bestimmte Anwendungen passend ist oder in Übereinstimmung mit spezifischen Design-Ansprüchen implementiert werden. Ausführungsformen der vorliegenden Erfindung können Einheiten und Untereinheiten umfassen, welche separat voneinander oder miteinander kombiniert sein können, im gesamten oder als Stück, und welche mit Hilfe spezifischer Mehrzweck- oder allgemeiner Prozessoren oder Vorrichtungen, wie sie in diesem technischen Bereich bekannt sind, implementiert werden können. Einige Ausführungsformen der vorliegenden Erfindung können Puffer, Register, Speichereinheiten und/oder Speichereinheiten beinhalten zur zeitweiligen oder Langzeitspeicherung von Daten und/oder um die Operationen eines spezifischen Ausführungsbeispiels zu erleichtern.

Während gewisse Merkmale der Erfindung hierin illustriert und beschrieben wurden, können viele Veränderungen, Ersetzungen, Änderungen und Entsprechungen den Fachleuten in den Sinn kommen. Deshalb soll verstanden werden, dass die beigefügten Ansprüche dazu gedacht sind, alle solche Modifikationen und Änderungen abzudecken, die in den wahren Geist der Erfindung fallen.

Zusammenfassung

Einige anschauliche Ausführungsformen der Erfindung beinhalten ein Verfahren, Vorrichtung und/oder System zur sicheren Datenspeicherung, zum Beispiel durch Verhinderung der unautorisierten Enthüllung der gespeicherten Daten und/oder Sicherstellen der Integrität der gespeicherten Daten. Eine Vorrichtung, die in der Lage ist, Daten sicher zu speichern, kann gemäß einiger anschaulicher Ausführungsformen der Erfindung eine sichere Kontrollanordnung beinhalten, welche einen sicheren Speicher beinhalten kann, um einen Schlüssel sicher zu speichern; ein Verschlüsselungsmodul, um einen verschlüsselten Datensatz durch Verschlüsselung eines Datensatzes, welcher gespeichert werden soll, mit Hilfe des Schlüssels zu erzeugen; und einen Controller zur Generierung einer Authentifizierungsinformation zur Authentifizierung der Integrität des verschlüsselten Datensatzes basierend auf den Schlüssel. Die Vorrichtung kann auch ein Speichermodul beinhalten, um den verschlüsselten Datensatz und die Authentifizierungsinformation zu speichern. Andere Ausführungsformen werden beschrieben und beansprucht.


Anspruch[de]
Eine Vorrichtung zur sicheren Datenspeicherung, umfassend:

eine sichere Kontrollanordnung umfassend:

einen sicheren Speicher zur sicheren Speicherung eines Schlüssels;

ein Verschlüsselungsmodul zur Generierung eines verschlüsselten Datensatzes durch Verschlüsselung eines Datensatzes, welcher mit Hilfe besagten Schlüssels gespeichert werden soll; und

einen Controller zur Generierung von Authentifizierungsinformation zur Authentifizierung der Integrität besagten verschlüsselten Datensatzes basierend auf besagtem Schlüssel; und

einen Speicher zur Speicherung des besagten verschlüsselten Datensatzes und besagter Authentifizierungsinformation.
Vorrichtung nach Anspruch 1, wobei besagter Controller imstande ist, einen Gruppenauthentifizierungscode zu generieren zur Authentifizierung der Integrität einer Gruppe von Datensätzen basierend auf einer Vielzahl von Datensatzauthentifizierungscodes entsprechend besagter Gruppe von Datensätzen. Vorrichtung nach Anspruch 2, wobei besagter Controller imstand ist, einen globalen Authentifizierungscode zu generieren zur Authentifizierung der Integrität einer Vielzahl von Gruppen von Datensätzen basierend auf einer Vielzahl von Gruppenauthentifizierungscodes entsprechend besagter Vielzahl von Gruppen. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagtes Verschlüsselungsmodel imstande ist, einen gespeicherten Datensatz zu entschlüsseln, und wobei besagter Controller imstande ist, selektiv Zugriff zu dem entschlüsselten Datensatz bereitzustellen, basierend auf mindestens einer der Authentifizierung der Integrität besagten gespeicherten Datensatzes, wobei eine Authentifizierung der Integrität einer Gruppe von Datensätzen besagten Datensatz beinhaltet, und die Authentifizierung einer Menge von Gruppen die besagte Gruppe der Datensätze beinhaltet, und eine Bestimmung, ob der besagte gespeicherte Datensatz auf dem neuesten Stand ist. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass besagter Controller imstande ist, Zugriff zu besagtem entschlüsselten Datensatz zu verweigern, wenn mindestens eine der Integritäten besagten gespeicherten Datensatzes, die Integrität besagter Gruppe von Datensätzen und die Integrität besagter Menge von Gruppen nicht authentifiziert ist. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass besagter Controller imstande ist, Zugriff zu besagtem entschlüsselten Datensatz zu verweigern, falls ermittelt wurde, dass besagter Datensatz nicht auf dem Laufenden ist. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass besagter Controller imstande ist, Zugriff zu besagtem entschlüsselten Datensatz zu gewährleisten, wenn die Integrität besagten gespeicherten Datensatzes authentifiziert wurde, wobei festgestellt wurde, dass der besagte gespeicherte Datensatz auf dem neuesten Stand ist, und mindestens eine der Integritäten besagter Gruppe an Datensätzen, und die Integrität besagter Menge von Gruppen authentifiziert ist. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagter Controller imstande ist, einen Datensatzauthentifizierungscode zu bestimmen, welcher einem gespeicherten Datensatz entspricht, basierend auf besagtem Schlüssel, und um die Integrität besagten gespeicherten Datensatzes zu authentifizieren durch Vergleich des ermittelten Datensatzauthentifizierungscodes mit einem gespeicherten Datensatzauthentifizierungscode, entsprechend besagtem gespeicherten Datensatz. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagter Controller imstande ist, einen Gruppenauthentifizierungscode zu bestimmen, entsprechend einer gespeicherten Gruppe von Datensätzen, basierend auf besagtem Schlüssel und einer Vielzahl von gespeicherten Datensatzauthentifizierungscodes, entsprechend Datensätzen besagter Gruppe, und zur Authentifizierung der Integrität besagter Gruppe durch Vergleich des ermittelten Gruppenauthentifizierungscodes mit einem gespeicherten Gruppenauthentifizierungscode entsprechend besagter Gruppe. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagter Controller imstande ist, einen globalen Authentifizierungscode einer Menge von Gruppen an gespeicherten Datensätzen zu bestimmen, basierend auf besagtem Schlüssel und einer Vielzahl von gespeicherten Gruppenauthentifizierungscodes, entsprechend besagter Menge von Gruppen, und zur Authentifizierung der Integrität besagter Menge von Gruppen durch Vergleich des ermittelten globalen Authentifizierungscodes mit einem gespeicherten globalen Authentifizierungscode, entsprechend besagter Menge von Gruppen. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagter Controller imstande ist, Versionsinformationen, welche die Version eines oder mehrerer Datensätze anzeigt, welche in besagtem Speicher gespeichert sind, sicher in besagtem sicheren Speicher zu speichern. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass besagter Controller imstande ist, einen globalen Authentifizierungscode in besagten sicheren Speicher sicher zu speichern entsprechend einer Menge von Gruppen inklusive besagtem einen oder mehrerer gespeicherter Datensätze. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass wobei besagter Speicher imstande ist, einen Zähler zu speichern, und wobei besagter Controller imstande ist, besagten Zähler zu aktualisieren, wenn ein Datensatz gespeichert wird, und einen Wert besagten Zählers sicher in besagtem Speicher zu speichern. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass besagter Controller imstande ist, zu bestimmen, ob besagter ein oder mehrere gespeicherte Datensätze auf dem neuesten Stand sind, durch Vergleich der sicher gespeicherten Versionsinformation mit der entsprechenden Versionsinformation, die in besagtem Speicher gespeichert ist. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagte sichere Kontrollanordnung adaptiert ist, unautorisierte Enthüllungen der Inhalte besagter Kontrollanordnung zu verhindern, und unautorisierten Zugriff zu den Inhalten besagter Kontrollanordnung zu verhindern. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass eine Kapazität besagten Speichers substantiell groß ist verglichen mit einer Kapazität besagten sicheren Speichers. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Kapazität des besagten Speichers mindestens einhundertmal größer als die Kapazität besagten sicheren Speichers ist. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Kapazität besagten sicheren Speichers nicht mehr als 10 kB ist. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagter sicherer Speicher einen Speicher umfasst, welcher ausgewählt ist von der Gruppe bestehend aus einem elektronisch löschbaren programmierbaren Nur-Lesespeicher, einen einmalig programmierbaren Speicher, und einen Speicher implementiert durch eine oder mehrere Sicherungen. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass besagter Speicher einen Flash-Speicher beinhaltet. Ein Verfahren zur sicheren Datenspeicherung mit folgenden Schritten:

sichere Speicherung eines Schlüssels in einem ersten Speicher;

Generierung eines verschlüsselten Datensatzes durch Verschlüsselung eines Datensatzes, welcher mit Hilfe besagten Schlüssels gespeichert werden soll;

Generierung von Authentifizierungsinformation durch Authentifizierung der Integrität besagten verschlüsselten Datensatzes basierend auf besagtem Schlüssel; und

Speicherung besagten verschlüsselten Datensatzes und besagter Authentifizierungsinformation in einem zweiten Speicher, welcher mit besagtem ersten Speicher verknüpfbar ist.
Verfahren nach Anspruch 21, gekennzeichnet dadurch, dass die Generierung besagter Authentifizierungsinformation umfasst einen Gruppenauthentifizierungscode zu generieren zur Authentifizierung der Integrität einer Gruppe von Datensätzen basierend auf einer Vielzahl von Datensatzauthentifizierungscodes entsprechend besagter Gruppe von Datensätzen. Verfahren nach Anspruch 22, gekennzeichnet dadurch, dass die Generierung besagter Authentifizierungsinformation die Generierung eines globalen Authentifizierungscodes zur Authentifizierung der Integrität einer Vielzahl von Gruppen von Datensätzen umfasst, basierend auf einer Vielzahl von Gruppenauthentifizierungscodes entsprechend besagter Vielzahl von Gruppen. Verfahren nach Anspruch 21, umfassend:

Entschlüsselung eines gespeicherten Datensatzes; und

selektive Bereitstellung von Zugang zu den entschlüsselten Datensätzen basierend auf mindestens einer der Authentifizierung der Integrität besagten gespeicherten Datensatzes, wobei eine Authentifizierung der Integrität einer Gruppe von Datensätzen besagten gespeicherten Datensatzes beinhaltet und

wobei eine Authentifizierung besagter Menge von Gruppen besagte Gruppe von Datensätzen beinhaltet, und eine Bestimmung, ob besagter gespeicherter Datensatz auf dem neuesten Stand ist.
Verfahren nach Anspruch 24, umfassend:

Verweigerung des Zugriffs zu besagtem entschlüsselten Datensatz, wenn mindestens eine der Integritäten besagten gespeicherten Datensatzes, die Integrität besagter Gruppe von Datensätzen, und die Integrität besagter Menge von Gruppen nicht authentifiziert ist.
Verfahren nach Anspruch 25, umfassend:

Verweigerung des Zugriffs zu besagtem entschlüsselten Datensatz, wenn ermittelt wurde, dass der besagte Datensatz nicht auf dem neuesten Stand ist.
Verfahren nach Anspruch 25, umfassend:

Bereitstellung des Zugriffs zu besagtem entschlüsselten Datensatz, wenn die Integrität besagten gespeicherten Datensatzes authentifiziert wurde, ermittelt wurde, dass besagter gespeicherter Datensatz auf dem neuesten Stand ist, und mindestens eine der Integritäten besagter Gruppe an Datensätzen, und die Integrität besagter Menge von Gruppen authentifiziert ist.
Verfahren nach Anspruch 21, umfassend:

Bestimmung eines Datensatzauthentifizierungscodes entsprechend einem Datensatz gespeichert in besagtem zweiten Speicher, basierend auf besagtem Schlüssel; und

Authentifizierung der Integrität besagten gespeicherten Datensatzes durch Vergleich des ermittelten Datensatzauthentifizierungscodes mit einem gespeicherten Datensatzauthentifizierungscode entsprechend besagtem gespeicherten Datensatz.
Verfahren nach Anspruch 21, umfassend:

Bestimmung eines Gruppenauthentifizierungscodes entsprechend einer Gruppe von Datensätzen gespeichert in besagtem zweiten Speicher basierend auf besagtem Schlüssel und einer Vielzahl von gespeicherten Datensatzauthentifizierungscodes entsprechend Datensätzen besagter Gruppe; und

Authentifizierung der Integrität besagter Gruppe durch Vergleich des ermittelten Gruppenauthentifizierungscodes mit einem gespeicherten Gruppenauthentifizierungscode entsprechend besagter Gruppe.
Verfahren nach Anspruch 21, umfassend:

Bestimmung eines globalen Authentifizierungscodes einer Menge von Gruppen von Datensätzen, gespeichert in besagtem zweiten Speicher, basierend auf besagtem Schlüssel und einer Vielzahl von gespeicherten Gruppenauthentifizierungscodes entsprechend besagter Menge an Gruppen; und

Authentifizierung der Integrität besagter Menge an Gruppen durch Vergleich des ermittelten globalen Authentifizierungscodes mit einem gespeicherten globalen Authentifizierungscode entsprechend besagter Mengen von Gruppen.
Verfahren nach Anspruch 21, umfassend:

sichere Speicherung in besagtem ersten Speicher von Versionsinformationen, welche die Version eines oder mehrerer Datensätze angibt, welche in besagtem zweiten Speicher gespeichert sind.
Verfahren nach Anspruch 31, dadurch gekennzeichnet, dass die sichere Speicherung besagter Versionsinformation die sichere Speicherung eines globalen Authentifizierungscodes umfasst, entsprechend einer Menge von Gruppen inklusive besagten eines oder mehrerer gespeicherter Datensätze. Verfahren nach Anspruch 31, umfassend:

Aktualisierung eines Zählers, wenn ein Datensatz in besagtem zweiten Speicher gespeichert wird; und sichere Speicherung eines Wertes besagten Zählers in besagtem ersten Speicher.
Verfahren nach Anspruch 31, umfassend:

Bestimmung, ob besagter einer oder mehrere gespeicherte Datensätze auf dem neuesten Stand sind durch Vergleich besagter sicher gespeicherter Versionsinformation mit entsprechender Versionsinformation, gespeichert in besagtem zweiten Speicher in Verbindung mit besagtem einen oder mehreren gespeicherten Datensätzen.
Verfahren nach Anspruch 21, dadurch gekennzeichnet, dass die sichere Speicherung besagten Schlüssel, die Verhinderung unautorisierter Enthüllung besagten Schlüssels und Verhinderung unautorisierten Zugriffs zu besagtem Schlüssel umfasst. Verfahren nach Anspruch 21, wobei eine Kapazität besagten zweiten Speichers substantiell groß ist verglichen zu einer Kapazität des ersten Speichers. Verfahren nach Anspruch 36, dadurch gekennzeichnet, dass die Kapazität besagten zweiten Speichers mindestens einhundertmal größer ist als die Kapazität besagten ersten Speichers. Verfahren nach Anspruch 21, wobei die Kapazität besagten ersten Speichers nicht größer als 10 kB ist. Verfahren nach Anspruch 21, wobei besagter erster Speicher einen Speicher umfasst, welcher von der Gruppe, bestehend aus einem elektronisch löschbaren programmierbaren Nur-Lesespeicher, einen einmalig programmierbaren Speicher und einen Speicher implementiert durch eine oder mehrere Sicherungen, ausgewählt wurde. Verfahren nach Anspruch 21, wobei besagter zweiter Speicher einen Flash-Speicher umfasst. Eine Rechenplattform, umfassend:

eine sichere Speicheranordnung zur sicheren Speicherung von Daten umfassend:

eine sichere Kontrollanordnung, umfassend:

einen Speicher zur sicheren Speicherung eines Schlüssels;

ein Verschlüsselungsmodul zur Generierung eines verschlüsselten Datensatzes durch Verschlüsselung eines Datensatzes, welcher gespeichert werden soll mit Hilfe besagten Schlüssels; und

einen Controller zur Generierung von Authentifizierungsinformationen zur Authentifizierung der Integrität besagten verschlüsselten Datensatzes basierend auf besagtem Schlüssel; und

einen Speicher zur Speicherung besagten verschlüsselten Datensatzes und besagter Authentifizierungsinformation; und

einen Prozessor zur Bearbeitung eines oder mehrerer sicher gespeicherter Datensätze, welche von besagter sicherer Speicherkonfiguration abgefragt wurden.
Die Rechenplattform nach Anspruch 41, dadurch gekennzeichnet, dass besagter Controller imstande ist, einen Gruppenauthentifizierungscode zu generieren zur Authentifizierung der Integrität einer Gruppe von Datensätzen basierend auf einer Vielzahl von Datensatzauthentifizierungscodes entsprechend besagter Gruppe von Datensätzen. Die Rechenplattform nach Anspruch 41, dadurch gekennzeichnet dass, besagtes Verschlüsselungsmodul imstande ist, einen gespeicherten Datensatz zu entschlüsseln und wobei besagter Controller imstande ist, selektiv Zugriff zu dem entschlüsselten Datensatz zu gewährleisten, basierend auf mindestens einer der Authentifizierungen der Integrität besagten gespeicherten Datensatzes, wobei eine Authentifizierung der Integrität einer Gruppe von Datensätzen besagten gespeicherten Datensatzes umfasst, und wobei eine Authentifizierung einer Menge von Gruppen besagte Gruppe von Datensätzen umfasst und eine Bestimmung, ob besagter gespeicherter Datensatz auf dem neuesten Stand ist. Die Rechenplattform nach Anspruch 41, dadurch gekennzeichnet dass, besagter Controller imstande ist, einen Datensatzauthentifizierungscode zu bestimmen, entsprechend einem gespeicherten Datensatz basierend auf besagtem Schlüssel und zur Authentifizierung der Integrität besagten gespeicherten Datensatzes durch Vergleich des ermittelten Datensatzauthentifizierungscodes mit einem gespeicherten Datensatzauthentifizierungscode, entsprechend besagtem gespeicherten Datensatz. Die Rechenplattform nach Anspruch 41, dadurch gekennzeichnet dass, besagter Controller imstande ist, einen Gruppenauthentifizierungscode zu bestimmen, entsprechend einer gespeicherten Gruppe von Datensätzen, basierend auf besagtem Schlüssel und einer Vielzahl von besagten Datensatzauthentifizierungscodes, entsprechend Datensätzen besagter Gruppe, und zur Authentifizierung der Integrität besagter Gruppe durch Vergleich des ermittelten Gruppenauthentifizierungscodes mit einem gespeicherten Gruppenauthentifizierungscode entsprechend besagter Gruppe. Die Rechenplattform nach Anspruch 41, dadurch gekennzeichnet, dass besagter Controller imstande ist, einen globalen Authentifizierungscode einer Menge von Gruppen gespeicherter Datensatze zu bestimmen, basierend auf besagtem Schlüssel und einer Vielzahl von gespeicherten Gruppenauthentifizierungscodes entsprechend besagter Menge von Gruppen und zur Authentifizierung der Integrität besagter Menge von Gruppen durch Vergleich des ermittelten globalen Authentifizierungscodes mit einem gespeicherten globalen Authentifizierungscode entsprechend besagter Mengen von Gruppen. Die Rechenplattform nach Anspruch 41, wobei besagter Controller imstande ist, Versionsinformationen in besagtem Speicher sicher zu speichern, wobei die Versionsinformation die Version eines oder mehrerer Datensätze angibt, welcher im besagten Speicher gespeichert ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com