PatentDe  


Dokumentenidentifikation DE102005031611A1 11.01.2007
Titel Nachweis einer Veränderung der Daten eines Datensatzes
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Sonnekalb, Steffen Marc, 82024 Taufkirchen, DE
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 06.07.2005
DE-Aktenzeichen 102005031611
Offenlegungstag 11.01.2007
Veröffentlichungstag im Patentblatt 11.01.2007
IPC-Hauptklasse G06F 12/14(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06F 11/08(2006.01)A, L, I, 20051017, B, H, DE   
Zusammenfassung Auf die unerwünschte Veränderung von verschlüsselten Datenworten eines gespeicherten verschlüsselten Datensatzes (30) kann dadurch geschlossen werden, dass eine Redundanzinformation (22) den Datenwörtern (20a-20d) eines Datensatzes (20) vor der Verschlüsselung zugeordnet wird, wobei die Redundanzinformation (22) ebenfalls verschlüsselt und zumindest teilweise zusammen mit den verschlüsselten Datenwörtern des verschlüsselten Datensatzes (24) als verschlüsseltes Redundanzdatenwort (28) gespeichert wird. Auf die Veränderung der gespeicherten verschlüsselten Datenworte (30) kann geschlossen werden, indem die durch das Entschlüsseln der verschlüsselten Datenworte (30) entstandenen entschlüsselten Datenworte (34) dazu verwendet werden, ein neues Redundanzdatenwort (36) zu bilden, welches in ein neues verschlüsseltes Redundanzdatenwort (38) verschlüsselt wird. Ein Vergleich des neuen verschlüsselten Redundanzdatenwortes (38) mit dem verschlüsselten Redundanzdatenwort (28) ermöglicht, zu überprüfen, ob die verschlüsselten Daten verändert wurden.

Beschreibung[de]

Die vorliegende Erfindung befasst sich mit einer Vorrichtung und einem Verfahren zum Nachweis einer Veränderung der Daten eines Datensatzes, die beispielsweise bei der Verarbeitung oder Speicherung von Daten in einem Datenverarbeitungssystem zur Sicherung der Datenintegrität angewendet werden können.

In vielen Anwendungsszenarien ist es wünschenswert, gespeicherte Daten vor dem Zugriff unberechtigter Personen zu schützen, weswegen diese verschlüsselt in einem Speicher abgelegt werden. Insbesondere Sicherheitsanwendungen fordern heute den Schutz der Daten durch eine Verschlüsselungseinheit. Darüber hinaus muss sichergestellt werden, dass gelesene Daten korrekt sind, diese also vor dem Lesen nicht verändert wurden. Daten können beispielsweise bei ihrem Transfer über ein Bussystem oder während ihrer Verweildauer im Speicher durch zufällig auftretende Fehler, wie das Kippen eines einzelnen Bits, verändert werden. Weiterhin gewinnt auch der Schutz von Datenverarbeitungseinheiten gegen Fehlverhalten (durch Angriffe auf die Datenverarbeitungseinheit) immer mehr an Bedeutung. Ein Angreifer, der die Sicherheit eines Datenverarbeitungssystems durch einen Angriff beeinträchtigen will, wird gespeicherte Daten mutwillig verändern und dabei meist mehr als ein Bit eines gespeicherten oder über einen Bus übertragenen Datenwortes verändern. Zusätzlich zur Verschlüsselung der Daten ist es also erforderlich, eine zufällige oder absichtlich herbeigeführte Veränderung von Daten zu erkennen.

Die Verschlüsselung von Daten vor ihrer Speicherung bzw. vor ihrem Transfer über ein Bussystem, wird dabei durch eine Verschlüsselungseinheit (MED) vorgenommen, die nach einem kryptographischen Algorithmus einzelne Datenworte fester, systemabhängiger Wortlänge, in verschlüsselte Datenworte derselben Wortlänge verschlüsselt.

Aufgrund der Notwendigkeit, Datenveränderungen zu erkennen und einzelne Bitfehler zu korrigieren, wird bisher ein Fehlerkorrekturpolynom (ECC-Polynom) oder ein anderes auf Redundanzbildung basierendes Fehlerkorrekturverfahren auf die bereits verschlüsselten Daten angewendet. Durch die Anwendung der Fehlerkorrekturmechanismen nach der Verschlüsselung durch die verschlüsselnde MED wird die MED selbst in der Regel nicht geschützt, bzw. muss durch aufwendige Zusatzhardware überprüft werden. Ebenfalls ist für die Implementierung der Fehlerkorrektur nach der Verschlüsselung eine dedizierte Extrahardware vonnöten. Durch das bislang angewendete Verfahren wird also die erforderliche Hardware in ihrem Umfang deutlich vergrößert bzw. der Stromverbrauch einer Datenverarbeitungseinrichtung wird durch die zusätzliche Hardware erhöht, was unter anderem im Hinblick auf eine mögliche Verwendung in mobilen Endgeräten zu vermeiden ist.

Die Deutsche Patentanmeldung 10 2005 001953.6 beschreibt ein Verfahren und eine Vorrichtung, bei der die Redundanzinformation, also die Fehlerkorrekturinformation, durch eine bitweise Exklusiv-Oder-Verknüpfung der einzelnen Datenworte eines Datensatzes noch vor der Verschlüsselung der Datenworte durch die MED gebildet wird. Das Fehlercodewort bzw. die Redundanzinformation hat in diesem Verfahren dieselbe Wortlänge wie die Datenworte und die MED. In dem in der DE 10 2005 001953.6 beschriebenen Verfahren kann das Fehlercodewort verschlüsselt oder unverschlüsselt zusammen mit den Datenworten eines Datensatzes übertragen bzw. gespeichert werden, wodurch das Erkennen von Veränderungen der Daten bei deren Übertragung oder Speicherung ermöglicht wird und die Veränderung eines der Datenworte eines Datensatzes um ein einzelnes Bit korrigiert werden kann. Das in der DE 10 2005 001953.6 vorgeschlagene Verfahren hat dabei den Nachteil, dass ohne Änderung der Hardware keine Fehlercodes kleiner der Datenbreite bzw. der Wortlänge der MED generiert werden können. Dies ist insbesondere dann nachteilig, wenn die individuellen Schutzanforderungen bereits mit einer geringeren Bitzahl des Fehlercodes erreicht werden könnten. Um eine geringere Bitzahl des Fehlercodes zu erreichen, müssen entweder massive Änderungen an der Verschlüsselungseinheit durchgeführt werden, oder die eigentlich überflüssigen Bits des Fehlercodes müssen zusammen mit den Datenworten gespeichert werden, was den Speicherbedarf deutlich erhöht. Dies ist beispielsweise für mobile Anwendungen oder Anwendungen im embedded-Bereich von Nachteil, wo oftmals nur begrenzter Speicherplatz zur Verfügung steht.

Bei den bestehenden Lösungen ist also bei der Implementierung eines Fehlerkorrekturcodes bzw. einer flexiblen Anpassung des Schutzumfanges an die Sicherheitsanforderungen eine signifikante Änderung oder Erweiterung der bestehenden Hardware vonnöten.

Die Aufgabe der vorliegenden Erfindung besteht darin, eine effizientere Vorrichtung und ein Verfahren zu schaffen, mit dem die Veränderung von Daten in einem Speicher oder während der Datenverarbeitung nachgewiesen werden kann.

Diese Aufgabe wird durch eine Vorrichtung gemäß einem der Ansprüche 1, 7 oder 13 und ein Verfahren gemäß Anspruch 14 oder 15 gelöst.

Der Kerngedanke der vorliegenden Erfindung besteht darin, dass auf die Veränderung von verschlüsselten Datenworten eines verschlüsselten Datensatzes dadurch geschlossen werden kann, dass eine Redundanzinformation den dem verschlüsselten Datensatz zugrundeliegenden Datenworten eines Datensatzes vor der Verschlüsselung zugeordnet wird, wobei die Redundanzinformation ebenfalls verschlüsselt und, zumindest teilweise, als verschlüsseltes Redundanzdatenwort zusammen mit den verschlüsselten Datenworten des verschlüsselten Datensatzes gespeichert wird. Auf die Veränderung der gespeicherten verschlüsselten Datenworte kann geschlossen werden, indem die durch das Entschlüsseln der verschlüsselten Datenworte entstandenen entschlüsselten Datenworte dazu verwendet werden, ein neues Redundanzdatenwort zu bilden, welches in ein neues verschlüsseltes Redundanzdatenwort verschlüsselt wird. Ein Vergleich des neuen verschlüsselten Redundanzdatenwortes mit dem verschlüsselten Redundanzdatenwort ermöglicht es, zu überprüfen, ob die verschlüsselten Daten verändert wurden. Durch die Tatsache, dass die Konsistenzprüfung durch Vergleich der Fehlerkorrekturworte nach deren Verschlüsselung durchgeführt wird, wird unter Ausnutzung einer Verschlüsselungs-Hardware ein starker Fehlerschutz ermöglicht, wobei nur wenige zusätzliche Hardwarekomponenten erforderlich sind. Anders ausgedrückt reicht es erfindungsgemäß bereits aus, beim Ablegen oder Speichern der verschlüsselten Datenworte, nur einen Teil eines verschlüsselten Redundanzdatenwortes zu speichern, da es trotzdem möglich ist, anhand eines nur teilweise gespeicherten Redundanzdatenwortes zu überprüfen, ob die verschlüsselten Daten verändert wurden.

Bei einem Ausführungsbeispiel der vorliegenden Erfindung wird einem aus mehreren Datenworten bestehenden Datensatz zunächst eine Redundanzinformation in Form eines Redundanzdatenwortes hinzugefügt. Vor dem Speichern des Datensatzes und des dazugehörigen Redundanzdatenwortes werden die Datenworte wortweise durch eine Verschlüsselungseinrichtung (MED) verschlüsselt, wobei auch das Redundanzdatenwort verschlüsselt wird.

Beim Lesen der Daten kann nun anhand des verschlüsselt gespeicherten Redundanzdatenwortes festgestellt werden, ob die gespeicherten Daten während ihrer Verweildauer im Speicher verändert wurden. Dazu werden zunächst die verschlüsselten Datenworte des Datensatzes sowie das verschlüsselte Redundanzdatenwort aus dem Speicher gelesen, das verschlüsselte Redundanzdatenwort wird zur weiteren Verwendung zwischengespeichert und die verschlüsselten Datenworte werden von der MED entschlüsselt. Ob die verschlüsselten Datenworte während ihrer Verweildauer im Speicher verändert wurden, die gelesenen entschlüsselten Datenworte also als integer betrachtet werden können, kann dadurch überprüft werden, dass aus den entschlüsselten Datenworten ein neues Redundanzdatenwort gebildet wird, welches von der MED verschlüsselt wird. Bei einer Übereinstimmung dieses neuen verschlüsselten Redundanzdatenwortes mit dem verschlüsselten Redundanzdatenwort wird davon ausgegangen, dass die verschlüsselten Datenworte während ihrer Verweildauer im Speicher nicht verändert oder manipuliert wurden.

In dem oben beschriebenen Ausführungsbeispiel der vorliegenden Erfindung wird die MED-Hardware selbst ausgenützt, um einen hohen Fehlerschutz zu ermöglichen. Durch die Bildung der Redundanz vor der Verschlüsselung durch die MED werden dabei selbst Fehler, die in der MED-Operation selbst auftreten, erkannt.

In einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird die Redundanzinformation dadurch gebildet, dass die einzelnen Datenworte eines Datensatzes bitweise miteinander durch eine Exklusiv-Oder-Verknüpfung verknüpft werden, so dass ein Redundanzdatenwort entsteht, dass der Länge der Datenworte entspricht. Durch diese einfache Form der Redundanzbildung mittels Exklusiv-Oder-Verknüpfung ist nur ein minimaler zusätzlicher Hardwareaufwand erforderlich, somit entsteht eine kleine integrierte Lösung, die vollständig in den normalen Datenfluss bestehender Systeme integriert werden kann. Durch den sehr geringen zusätzlichen Hardwareaufwand wird ein Fehlerschutz ermöglicht, der im Wesentlichen die MED-Hardware selbst ausnutzt und keine signifikante Erhöhung des Stromverbrauches hervorruft, bzw. im Betrieb keine signifikanten Stromspitzen erzeugt.

In einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird das verschlüsselte Redundanzdatenwort vor dem Speichern um eine vom Benutzer festlegbare Anzahl von Bits gekürzt, so dass ein verkürztes verschlüsseltes Redundanzdatenwort entsteht, welches zusammen mit den verschlüsselten Datenworten des verschlüsselten Datensatzes gespeichert wird. Die Länge des gekürzten verschlüsselten Redundanzdatenwortes hängt dabei von dem gewünschten Schutzumfang ab, d.h. von der Wahrscheinlichkeit, mit der ein gespeicherter Datensatz aus verschlüsselten Datenworten so verändert werden kann, dass aus den veränderten entschlüsselten Datenworten ein neues Redundanzdatenwort gebildet wird, welches nach Verschlüsselung und Beschneidung dem gespeicherten verschlüsselten Redundanzdatenwort entspricht. Je kleiner diese Wahrscheinlichkeit ist, desto größer ist der Schutzumfang.

Auf vorteilhafte Art und Weise kann durch die vorliegende Erfindung somit ein Fehlercode beliebiger Größe generiert wer den, ohne dass Änderungen an der Ver-/Entschlüsselungseinheit MED selbst vorgenommen werden müssen. Dies ist z.B. dann besonders vorteilhaft, wenn in einem Datenverarbeitungssystem parallel mehrere Speicherbereiche mit verschiedenen Sicherheitsanforderungen (also Redundanzdatenwortlängen bzw. Codelängen) existieren. Bereits existierende Hardwaredesigns können leicht modifiziert werden, um die zusätzliche Funktionalität der Fehlerkorrektur zu implementieren.

Bei hohen Schutzanforderungen kann die Codelänge prinzipiell leicht dadurch erhöht werden, dass aus den Datenworten des Datensatzes während der Redundanzbildung auf verschiedene Art und Weise mehrere voneinander unabhängige Redundanzdatenworte gebildet werden. Diese unabhängigen Redundanzdatenworte werden dann wortweise verschlüsselt und auf die gewünschte Länge beschnitten, wobei sich mit der Erhöhung der Redundanzinformation auch der Schutzumfang erhöht. Dadurch kann der Schutzumfang in nahezu beliebiger Art und Weise frei bestimmt werden.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:

1 Ein System zum sicheren Speichern und Lesen von Daten.

2 Eine Hardwareimplementierung eines Systems zum sicheren Speichern und Lesen von Daten.

Anhand der schematischen Darstellung in 1 soll im Folgenden die Funktionsweise des erfindungsgemäßen Systems zum sicheren Handhaben von Daten dargestellt werden. 1 zeigt einen Prozessor 2, eine Redundanzeinrichtung 4, eine Ver-/Entschlüsselungseinrichtung 6, eine Redundanzverarbeitungseinrichtung 8 und einen Datenspeicher 10.

Der Prozessor 2 verarbeitet bzw. erzeugt Datenworte, die gegen Fehler gesichert und verschlüsselt im Speicher 10 abgelegt werden bzw. aus diesem ausgelesen werden sollen. Zu diesem Zweck ist der Prozessor 2 über Datenverbindungen, die sowohl das Senden als auch das Empfangen von Daten erlauben, mit der Redundanzeinrichtung 4 verbunden, welche mit der Ver-/Entschlüsselungseinrichtung 6 verbunden ist, die wiederum mit der Redundanzverarbeitungseinrichtung 8 verbunden ist, wobei die Redundanzverarbeitungseinrichtung 8 mit dem Datenspeicher 10 verbunden ist.

Im Folgenden soll zunächst die Funktionsweise der erfindungsgemäßen Vorrichtung beim Schreiben von Daten in den Speicher beschrieben werden. Dazu werden zunächst vom Prozessor 2 diejenigen 4 Datenworte 20a bis 20d eines Datensatzes 21 erzeugt, die im Datenspeicher 10 abgespeichert werden sollen, wobei in dem hier beschriebenen erfindungsgemäßen Ausführungsbeispiel ein zu speichernder Datensatz 21 aus genau vier Datenworten 20a bis 20d besteht. Die Datenworte 20a bis 20d werden zunächst an die Redundanzeinrichtung 4 übermittelt, wobei die Redundanzeinrichtung 4 aus den Datenworten 20a bis 20d ein dem Datensatz 21 zugeordnetes Fehlercodewort 22 bildet. Dabei kann diese Redundanz- bzw. Fehlercodebildung durch einen beliebigen geeigneten Fehlercodemechanismus erfolgen. Nach der Bildung des Fehlercodeworts 22 werden die Datenworte 20a bis 20d des Datensatzes 21 und das Fehlercodewort 22 an die Ver-/Entschlüsselungseinrichtung 6 übermittelt, von der sie durch ein vorgegebenes Verschlüsselungsverfahren wortweise in die verschlüsselten Datenworte eines verschlüsselten Datensatzes 24 und in ein verschlüsseltes Fehlercodewort 26 verschlüsselt werden.

Der verschlüsselte Datensatz 24 und das ihm zugeordnete verschlüsselte Fehlercodewort 26 wird daraufhin an die Redundanzverarbeitungseinrichtung 8 übertragen, die eine vorbestimmte Anzahl von Bits des verschlüsselten Fehlercodewortes 26 am Ende des verschlüsselten Fehlercodewortes 26 verwirft, so dass am Ausgang der Redundanzverarbeitungseinrichtung 8 der verschlüsselte Datensatz 24 und ein reduziertes verschlüsseltes Fehlercodewort 28 bereitgestellt werden, wobei der verschlüsselte Datensatz 24 zusammen mit dem ihm zugeordneten reduzierten verschlüsselten Fehlercodewort 28 im Speicher 10 gespeichert werden.

Das erfindungsgemäße Vorgehen hat den Vorteil, dass der zur Verfügung stehende Speicherplatz bestmöglich genutzt werden kann, da der benötigte Speicherplatz erfindungsgemäß mit dem gewünschten Schutzumfang skaliert, wie im Folgenden kurz erläutert wird.

Die Verschlüsselungseinrichtung arbeitet natürlicherweise mit einer Wortbreite, die der Breite der zu verschlüsselnden Datenworte entspricht. Bislang war es natürlich möglich, einen Fehlercode geringerer Länge als der Wortbreite der Verschlüsselungseinrichtung zu generieren. Dieser musste allerdings aufgrund obiger Einschränkung unverschlüsselt gespeichert werden, was mit offensichtlichen negativen Auswirkungen auf die Datensicherheit einher geht. Soll der Fehlercode verschlüsselt gespeichert werden, musste die Fehlercodelänge nach dem Stand der Technik also mindestens der Wortlänge der MED entsprechen (oder ein ganzzahliges Vielfaches derselben sein), auch wenn der erforderlichen Schutzumfang prinzipiell mit geringerer Wortbreite erzielt werden kann.

Die vorliegende Erfindung ermöglicht es nun auf vorteilhafte Art und Weise, sowohl den Fehlercode verschlüsselt zu speichern, als auch dessen Länge beliebig an den Schutzbedarf anzupassen. In diesem Zusammenhang sei erneut darauf hingewiesen, dass proportional zur Erhöhung der Anzahl der beim Übergang vom verschlüsselten Fehlercode 26 zum reduzierten verschlüsselten Fehlercodewort 28 verworfenen Bits der Schutzumfang der erfindungsgemäßen Vorrichtung abnimmt.

Das Lesen von verschlüsselt gespeicherten Daten und die Prüfung, ob abgespeicherte Daten im Speicher verändert wurden, wird im Folgenden kurz erläutert. Dazu wird zunächst aus dem Speicher 10 ein verschlüsselter Datensatz 30 und das ihm zugeordnete reduzierte verschlüsselte Fehlercodewort 32 aus dem Speicher gelesen. In 1 ist dabei der während des Speichervorganges im Speicher 10 gespeicherte verschlüsselte Datensatz 24 ( ) und das ihm zugeordnete reduzierte verschlüsselte Fehlercodewort 28 ( ) mit einer vom gelesenen Datensatz 30 ( ) und dem gelesenen reduzierten verschlüsselten Fehlercodewort 32 ( ) abweichenden Notation versehen, um die Möglichkeit anzudeuten, dass sowohl die ursprünglich gespeicherten Datenworte des verschlüsselten Datensatzes 24 als auch das ursprünglich gespeicherte reduzierte verschlüsselte Fehlercodewort 28 während ihrer Verweildauer im Speicher 10 verändert wurden.

Beim Lesevorgang wird der verschlüsselte Datensatz 30 und das reduzierte verschlüsselte Fehlercodewort 32 zunächst vom Speicher 10 in die Redundanzverarbeitungseinrichtung 8 übertragen, welche das reduzierte verschlüsselte Fehlercodewort 32 zwischenspeichert und den verschlüsselten Datensatz 30 an die Ver-/Entschlüsselungseinrichtung 6 übermittelt.

Von der Ver-/Entschlüsselungseinrichtung 6 werden die Datenworte des verschlüsselten Datensatzes 30 wortweise in entschlüsselte Datenworte eines entschlüsselten Datensatzes 34 entschlüsselt, woraufhin der entschlüsselte Datensatz 34 an die Redundanzeinrichtung 4 übermittelt wird.

Diese überträgt zum einen den entschlüsselten Datensatz 34 an den Prozessor 2, zum anderen verarbeitet sie den entschlüsselten Datensatz 34, um ein dem entschlüsselten Datensatz 34 zugeordnetes Testfehlercodewort 36 zu bilden.

Das Testfehlercodewort 36 wird daraufhin an die Ver-/Entschlüsselungseinrichtung 6 übermittelt, welche aus dem Testfehlercodewort 36 ein verschlüsseltes Testfehlercodewort 38 bildet. Das verschlüsselte Testfehlercodewort 38 wird an die Redundanzverarbeitungseinrichtung 8 übermittelt, welche die vorbestimmte Anzahl von Bits des verschlüsselten Testfehlercodeworts 38 verwirft, und daraus das reduzierte verschlüsselte Testfehlercodewort 40 bildet.

Die Entscheidung, ob der verschlüsselte Datensatz 30 oder das ihm zugeordnete reduzierte verschlüsselte Fehlercodewort 32 während ihrer Verweildauer im Datenspeicher 10 verändert wurden, kann nun durch einen Vergleich des reduzierten verschlüsselten Fehlercodewortes 32 und des reduzierten verschlüsselten Testfehlercodewortes 40 bestimmt werden. Ist das reduzierte verschlüsselte Fehlercodewort 32 und das reduzierte verschlüsselte Testfehlercodewort 40 identisch, wird davon ausgegangen, dass im Datenspeicher 10 weder der verschlüsselte Datensatz 30 noch das reduzierte verschlüsselte Fehlercodewort 32 verändert wurden, der an den Prozessor 2 übermittelte entschlüsselte Datensatz 34 also unmanipuliert ist und sicher verwendet werden kann.

Im in 1 beschriebenen Zyklus aus Schreiben und Lesen, ist bei einer Übereinstimmung des reduzierten verschlüsselten Fehlercodewortes 32 und des reduzierten verschlüsselten Testfehlercodewortes 40 also kein Fehler aufgetreten und der verschlüsselte Datensatz 24 und das reduzierte verschlüsselte Fehlercodewort 28 sind mit dem gelesenen verschlüsselten Datensatz 30 und dem ihm zugeordneten reduzierten verschlüsselten Fehlercodewort 32 identisch, die Daten sind also Unmanipuliert.

Ergibt der Vergleich zwischen dem reduzierten verschlüsselten Testfehlercodewort 40 und dem reduzierten verschlüsselten Fehlercodewort 32, dass sich die beiden Codeworte unterscheiden, können geeignete Maßnahmen getroffen werden, z.B. kann das Verwerfen des entschlüsselten Datensatzes 34 ausgelöst werden.

In der vorliegenden Erfindung werden die starken Nichtlinearitäten und Bitabhängigkeiten der Ver-/Entschlüsselungseinrichtung 6 (MED) verwendet, um auf eine einfache Art und Weise einen starken Fehlerschutz, sowohl für die verschlüsselten Daten als auch für die Entschlüsselungsoperation und die Verschlüsselungsoperation selbst aufzubauen. Dabei wird primär die Ver-/Entschlüsselungseinrichtung 6 (MED) selbst verwendet und nur ein geringer Extrateil Hardware benötigt, um die eigentliche Korrektheitsprüfung durchzuführen. Die Fehlerprüfung benötigt dabei selbst nicht mehr Zeit wie eine normale Verschlüsselungsoperation.

Der besondere Vorteil liegt dabei zum einen darin, dass nur wenig zusätzliche Hardware zur Fehlerüberprüfung implementiert werden muss, und dass durch das Anbringen der Redundanz vor der eigentlichen Verschlüsselung sowohl der Verschlüsselungsvorgang als auch der Entschlüsselungsvorgang geschützt sind, während derer es prinzipiell auch zu fehlerhaften Bittransaktionen kommen kann.

Ein weiterer wesentlicher Vorteil besteht darin, dass der Schutzumfang über die Länge des reduzierten verschlüsselten Fehlercodewortes 28 vom Benutzer variabel an die Schutzanforderung angepasst werden kann, ohne die eigentliche Ver-/Entschlüsselungseinheit 6 modifizieren zu müssen. Dabei ist zum einen bei verringerten Schutzumfang eine erhebliche Speicherplatzersparnis im Datenspeicher 10 möglich, da die Länge des reduzierten verschlüsselten Fehlercodewortes 28 deutlich geringer ist als die Länge eines Datenwortes des verschlüsselten Datensatzes 24. Durch die erfindungsgemäße Vorrichtung ist es dadurch sogar möglich, innerhalb eines Datenverarbeitungssystems bei unterschiedlich sensiblen Daten unterschiedliche Stärken des Fehlerschutzes in verschieden Speicherbereichen des Datenspeichers 10 zu realisieren.

Wird eine MED benützt, bei der die Erzeugung des verschlüsselnden Schlüssels abhängig von der physikalischen Speicheradresse ist, an welcher ein Datenwort im Datenspeicher 10 gespeichert werden soll, so ist durch die vorliegende Erfindung zusätzlich die Selektion des auszulesenden Datenwortes, also die Adressierung des Speicherbereichs im Datenspeicher 10 selbst, geschützt, da auch bei einer fehlerhaften Adressangabe das reduzierte verschlüsselte Testfehlercodewort 40 nicht mehr mit dem reduzierten verschlüsselten Fehlercodewort 32, das direkt aus dem Speicher gelesen wird, übereinstimmt.

Die 2 zeigt ein System zum sicheren Schreiben und Lesen von Daten und die Implementierung desselben unter Ausnutzung der stark nichtlinearen Eigenschaften einer Ver-/Entschlüsselungseinheit MED.

2 zeigt einen unverschlüsselten Datensatz 50, bestehend aus vier unverschlüsselten Datenworten 50a bis 50d, einen ersten Multiplexer 52 mit einem ersten Dateneingang 52a und einem zweiten Dateneingang 52b, einen zweiten Multiplexer 54 mit einem ersten Dateneingang 54a und einem zweiten Dateneingang 54b, eine Verknüpfungseinrichtung 56 und einen Zwischenspeicher 58 auf einer unverschlüsselten Seite 60 des Datenpfads. Ferner ist eine Ver-/Entschlüsselungseinrichtung 62dargestellt, welche die unverschlüsselte Seite 60 von einer verschlüsselten Seite 64 des Datenpfades trennt. Auf der verschlüsselten Seite 64 sind ein verschlüsselter Datensatz 66, bestehend aus vier verschlüsselten Datenworten 66a bis 66d, ein dem verschlüsselten Datensatz 66 zugeordnetes verschlüsseltes Fehlercodewort 68 sowie eine Codevergleichseinrichtung 70 gezeigt.

Über eine Datenverbindung können die unverschlüsselten Datenworte 50a bis 50d des unverschlüsselten Datensatzes an den ersten Dateneingang 52a des ersten Multiplexers 52 sowie an den ersten Dateneingang 54a des zweiten Multiplexers 54 übertragen werden. Der Datenausgang des ersten Multiplexers 52 ist mit einem von zwei Dateneingängen der Verknüpfungseinrichtung 56 verbunden, der Datenausgang der Verknüpfungseinrichtung 56 ist mit dem Dateneingang des Zwischenspeichers 58 verbunden, wobei der Datenausgang des Zwischenspeichers 58 sowohl mit einem zweiten Dateneingang der Verknüpfungseinrichtung 56 als auch mit dem zweiten Dateneingang 54b des zweiten Multiplexers 54 verbunden ist. Der Datenausgang des zweiten Multiplexers 54 ist mit einem verschlüsselnden Dateneingang 72 der Ver-/Entschlüsselungseinrichtung 62 verbunden. Über einen verschlüsselten Datenausgang 74 der Ver-/Entschlüsselungseinrichtung 62 können verschlüsselte Datenworte sowohl als verschlüsselte Datenworte 66a bis 66d des verschlüsselten Datensatzes 66 gespeichert werden, als auch an einen von zwei Dateneingängen der Codevergleichseinrichtung 70 übermittelt werden. Die verschlüsselten Datenworte 66a bis 66d sowie das verschlüsselte Fehlercodewort können an einen entschlüsselnden Dateneingang 76 der Ver-/Entschlüsselungseinrichtung 62 übertragen werden, ein entschlüsselter Datenausgang 78 der Ver-/Entschlüsselungseinrichtung 62 ist zum Einen mit dem zweiten Dateneingang 52b des ersten Multiplexers 52 verbunden, zum Anderen können entschlüsselte Datenworte vom entschlüsselten Datenausgang 78 dazu verwendet werden, den vollständigen unverschlüsselten Datensatz 50, bestehend aus den vier unverschlüsselten Datenworten 50a bis 50d, zu bilden.

Bei dem in 2 beschriebenen Ausführungsbeispiel der vorliegenden Erfindung wird das Redundanzdatenwort durch eine einfache, bitweise Exklusiv-Oder-Verknüpfung der unverschlüsselten Datenworte 50a bis 50d gebildet. Während vier erster Schritte eines vollständigen Schreibvorganges werden zunächst die vier unverschlüsselten Datenworte 50a-50d verschlüsselt und als verschlüsselte Datenworte 66a-66d gespeichert, wobei simultan aus den vier unverschlüsselten Datenworten 50a bis 50d ein Fehlercodewort gebildet wird, das in einem fünften Schritt ebenfalls verschlüsselt und als verschlüsseltes Fehlercodewort 68 gespeichert wird.

Während der ersten vier Schritte des Schreibvorganges ist der erste Multiplexer 52 so geschalten, dass die an seinem ersten Dateneingang 52a anliegenden unverschlüsselten Datenworte 50a bis 50d an den Datenausgang des Multiplexers 52 weitergegeben werden, der zweite Multiplexer 54 wird so betrieben, dass die an seinem ersten Dateneingang 54a anliegenden unverschlüsselten Datenworte 50a bis 50d an seinen Datenausgang durchgeschalten sind, diese also am verschlüsselnden Dateneingang 72 der Ver-/Entschlüsselungseinrichtung 62 anliegen. Die Verknüpfungseinrichtung 56 ist so beschaffen, dass sie die an ihren beiden Dateneingängen anliegende Datenworte mittels einer bitweisen Exklusiv-Oder-Verknüpfung in ein neues Datenwort transformiert, welches dann am Datenausgang der Verknüpfungseinrichtung 56 bereitsteht und im Zwischenspeicher 58 gespeichert wird. Dabei wird das im Zwischenspeicher 58 gespeicherte Datenwort als ein Eingangsdatenwort der Verknüpfungseinrichtung 56 verwendet. Während der ersten vier Schritte eines Speichervorganges werden also über den zweiten Multiplexer 54 die einzelnen unverschlüsselten Datenworte 50a bis 50d von der Ver-/Entschlüsselungseinrichtung 62 verschlüsselt und als verschlüsselte Datenworte 66a bis 66d gespeichert. Zeitgleich zum Verschlüsseln und Speichern der entschlüsselten Datenworte 50a bis 50d wird aus diesen ein Fehlercodewort bestimmt, wie es im folgenden beschrieben wird.

Während des ersten Schrittes des Speichervorganges wird das erste unverschlüsselte Datenwort 50a über den Multiplexer 52 an den ersten Dateneingang der Verknüpfungseinrichtung 56 gelegt, wo es mit einem Datenwort bitweise XOR'iert wird, welches dieselbe Länge hat wie das unverschlüsselte Datenwort 50a, dessen Bits jedoch alle Null sind. Daher wird in dem ersten Schritt das Datenwort 50a nicht verändert, es wird am Datenausgang der Verknüpfungseinrichtung 56 unverändert ausgegeben und in dem Zwischenspeicher 58 gespeichert. Im zweiten Schritt wird das zweite unverschlüsselte Datenwort 50b an den ersten Eingang der Verknüpfungseinrichtung 56 angelegt, wobei nun am zweiten Eingang der Verknüpfungseinrichtung 56 das im Zwischenspeicher 58 gespeicherte erste Datenwort 50a anliegt. Dadurch wird am Datenausgang der Verknüpfungseinrichtung 56 nun ein Datenwort zur Verfügung gestellt und im Zwischenspeicher 58 gespeichert, das durch bitweise Exklusiv- Oder-Verknüpfung der Datenworte 50a und 50b gebildet wird. Nach Beendigung des vierten Schritts befindet sich also im Zwischenspeicher 58 ein Datenwort, das durch bitweise XOR'ierung der vier unverschlüsselten Datenworte 50a bis 50d des unverschlüsselten Datensatzes 50 erzeugt wurde, das also dem gewünschten Fehlercodewort entspricht. Im fünften Schritt einer Datenspeicherung wird nun der zweite Multiplexer 54 so umgeschalten, dass das an seinem zweiten Dateneingang 54b anliegende Fehlercodewort an den Datenausgang des Multiplexers 54 geschalten wird, so dass dieses am verschlüsselnden Dateneingang 72 der Ver-/Entschlüsselungseinrichtung 62 anliegt, um das Fehlercodewort ebenfalls zu verschlüsseln.

In dem in 2 gezeigten Ausführungsbeispiel wird das Fehlercodewort nach der Verschlüsselung zusätzlich um eine vorbestimmte Anzahl der letzten Bits gekürzt, so dass das verschlüsselte Fehlercodewort 68 entsteht, das den verschlüsselten Datenworten 66a bis 66d des verschlüsselten Datensatzes 66 zugeordnet ist, und anhand dessen während des Lesens überprüft werden kann, ob die unverschlüsselten Datenworte 50a bis 50d während der Verschlüsselung oder des Transfers über eine Datenverbindungen verändert wurden, ob also die Datenintegrität gesichert ist. Das Lesen der Daten und das Überprüfen der Integrität der Daten wird im Folgenden anhand von 2 beschrieben.

Der Lesevorgang lässt sich wie der Schreibvorgang in fünf logische Schritte unterteilen. Während der ersten vier Schritte werden die verschlüsselten Datenworte 66a bis 66d über den entschlüsselnden Dateneingang 76 der Ver-/Entschlüsselungseinrichtung 62 entschlüsselt, um damit den entschlüsselten Datensatz 50 zu bilden. Zeitgleich wird aus den entschlüsselten gelesenen Datenworten 50a-50d auf die selbe Art und Weise, wie sie beim Schreibvorgang bereits beschrieben wurde, ein neues Fehlercodewort ermittelt. Dazu ist der erste Multiplexer 52 so geschalten, dass die an seinem zweiten Dateneingang 52b anliegenden Datenworte an den Datenausgang des Multiplexers 52 durchgeschalten sind, so dass während der vier ersten Leseschritte durch bitweise XOR'ierung der entschlüsselten gelesenen Datenworte ein neues Fehlercodewort gebildet wird. Im fünften Schritt des Lesevorganges wird das neue Fehlercodewort über den zweiten Multiplexer 54 an den verschlüsselnden Eingang 72 der Ver-/Entschlüsselungseinrichtung 62 weitergeleitet, die das neue Fehlercodewort in ein neues verschlüsseltes Fehlercodewort verschlüsselt. Das neue verschlüsselte Fehlercodewort wird daraufhin um dieselbe Anzahl von Bits gekürzt, wie es für das verschlüsselte Fehlercodewort 68 beim Schreiben der Fall war. Die Codevergleichseinrichtung 70 vergleicht die an ihren beiden Dateneingängen anliegenden Datenworte, das neue verschlüsselte Fehlercodewort und das verschlüsselten Fehlercodewort 68, welches während des Schreibens des verschlüsselten Datensatzes 66 erzeugt wurde. Stimmt das neue verschlüsselte Fehlercodewort und das verschlüsselte Fehlercodewort 68 überein, wird angenommen, dass die gelesenen entschlüsselten Daten des verschlüsselten Datensatzes 66 den ursprünglichen, unverschlüsselten Datenworten 50a bis 50d des unverschlüsselten Datensatzes 50 entsprechen, dass also die Datenintegrität während des gesamten Schreib- und Lesevorganges gewahrt wurde.

Wie es anhand von 2 zu sehen ist, ist die Erweiterung eines bestehenden Systems zur Verschlüsselung und Entschlüsselung von Daten um die Funktionalität der Fehlererkennung mit einem sehr geringen zusätzlichen Hardwareaufwand möglich, so dass wenig zusätzliche Fläche auf einem Siliziumchip verbraucht wird und sich ein nur minimal erhöhter Stromverbrauch ergibt.

Durch die geschickte parallele Erzeugung des Fehlercodeworts und der Speicherung der verschlüsselten Daten entsteht durch die Fehlererkennungsmöglichkeit nur ein geringer zusätzlicher zeitlicher Aufwand, der dabei im wesentlichen von der Dauer einer Verschlüsselungsoperation der Ver-/Entschlüsselungseinrichtung 62 abhängt.

Obwohl in der in 2 beschriebenen Ausführungsform der vorliegenden Erfindung die Erzeugung des Fehlercodewortes durch einfache XOR'ierung der unverschlüsselten Datenworte 50a bis 50d erfolgt, ist auch jedwede andere Form der Bildung eines Fehlercodewortes ebenso geeignet, die Integrität der Daten erfindungsgemäß sicherzustellen. So ist beispielsweise die Anwendung eines Fehlerkorrekturpolynoms oder die Verwendung von Hardware-effizienten Hsiao-Codes denkbar.

Entsprechend den individuellen Anforderungen des Datenschutzes ist es mit der erfindungsgemäßen Vorrichtung zum Handhaben von Daten möglich, den Schutzumfang zu variieren. Das Prinzip, das in dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung in 2 dargestellt ist, ist gerade bei Codes geringerer Länge als der Wortbreite der Ver-/Entschlüsselungseinrichtung 62 (MED), eine Verknüpfung der Klartextdaten zu einem Codewort der Breite der MED zu generieren (bevorzugt XOR'ierung aller Worte, auch Anwendung „echter" Fehlercodes ist natürlich möglich). Dieses Wort wird dann einfach verschlüsselt und danach auf die gewählte kürzere Länge geschnitten (z.B. durch Verwerfen der oberen n MSBs). Dieses so generierte Codewort wird dann gespeichert. Werden nun die verschlüsselten Daten gelesen und entschlüsselt, so kann die Korrektheit der Daten festgestellt werden durch die erneute Verknüpfung der Klartextdaten zu einem Codewort, dessen Verschlüsselung, Beschneidung und anschließendem Vergleich mit dem gespeicherten Codewort. Für gewünschten größeren Schutzumfang, also für größere Codes, werden in einer alternativen Ausführungsform der vorliegenden Erfindung einfach die Klartextdaten auf verschiedene Weise miteinander verknüpft. Die entstehenden n Codeworte werden daraufhin wie oben beschrieben verschlüsselt, auf die benötigte Gesamtlänge beschnitten und abgespeichert. Die Überprüfung auf die Datenintegrität hin erfolgt dabei auf äquivalente Art und Weise wie bereits anhand des Ausführungsbeispiels in 2 beschrieben.

Darüber hinaus ist es mit einer erfindungsgemäßen Vorrichtung zum Handhaben von Daten möglich, einen in den verschlüsselten Daten aufgetretenen Ein-Bit-Fehler zu korrigieren, wenn auf das Beschneiden zumindest eines verschlüsselten Fehlercodewortes verzichtet wird. Dabei wird die hohe Nichtlinearität einer MED dazu verwendet, einen Fehlercode zu implementieren, der zusätzlich die Möglichkeit bietet einen Ein-Bit-fehler schnell zu korrigieren.

Obwohl im Ausführungsbeispiel in 1 ein vollständiges System zum Lesen und zum Speichern von Daten beschrieben wurde, kann in einer alternativen Ausführungsform der vorliegenden Erfindung lediglich die Schreibfunktionalität implementiert werden, um beispielsweise Daten für eine spätere Verwendung sicher zu speichern. Demzufolge kann in 1 auf die Entschlüsselungsfunktion der Ver-/Entschlüsselungseinrichtung 6 vollständig verzichtet werden, die Redundanzverarbeitungseinrichtung 8 beschränkt sich dabei lediglich auf die Funktion, die gewünschte Anzahl von Bits des verschlüsselten Fehlercodewortes 26 zu verwerfen, um das reduzierte verschlüsselte Fehlercodewort 28 zu bilden, welches dann zusammen mit dem verschlüsselten Datensatz 24 in einem nicht-flüchtigen Speicher gespeichert werden kann. Die so gespeicherten Daten können beispielsweise mit dem Speichermedium transferiert werden, wobei durch ein späteres Auslesen sichergestellt werden kann, dass die Daten während ihres Transports nicht manipuliert wurden.

In einem weiteren vorteilhaften Ausführungsbeispiel der vorliegenden Erfindung ist es daher vorteilhaft, die Lesefunktionalität des Systems zum sicheren Speichern und Lesen von Daten allein in Hardware zu implementieren. Damit kann beispielsweise überprüft werden, ob Daten, die auf einem Datenträger angeliefert werden, während ihres Transfers bzw. während des Transports manipuliert wurden oder nicht. Dazu müssen verschlüsselte Datenworte eines verschlüsselten Datensatzes 30 von der Ver-/Entschlüsselungseinrichtung 6 entschlüsselt werden, um einen entschlüsselten Datensatz 34 zu erhalten. Zusätzlich muss das aus dem Speicher 10 gelesene, reduzierte verschlüsselte Fehlercodewort 32 von der Redundanzverarbeitungseinrichtung 8 zwischengespeichert werden, die Redundanzbildungseinrichtung 4 in 1 wird für das Lesen benötigt, um aus den entschlüsselten Datenworten des entschlüsselten Datensatzes 34 ein Testfehlercodewort 36 zu bilden, das nach Verschlüsselung durch die Ver/Entschlüsselungseinrichtung 6 und anschließender Beschneidung auf die gewünschte Länge mit dem reduzierten verschlüsselten Fehlercodewort 32 durch die Redundanzverarbeitungseinrichtung 8 verglichen wird, um so ein eventuelles Verändern der Daten zu entdecken.

Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Nachweis einer Veränderung der Daten eines Datensatzes in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das erfindungsgemäße Verfahren zum Nachweis einer Veränderung der Daten eines Datensatzes ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.

2
Prozessor
4
Redundanzeinrichtung
6
Ver-/Entschlüsselungseinrichtung
8
Redundanzverarbeitungseinrichtung
10
Datenspeicher
20a-20d
Datenworte
21
Datensatz
22
Fehlercodewort
24
verschlüsselter Datensatz
26
verschlüsseltes Fehlercodewort
28
reduziertes verschlüsseltes Fehlercodewort
30
verschlüsselter Datensatz
32
reduziertes verschlüsseltes Fehlercodewort
34
entschlüsselter Datensatz
36
Testfehlercodewort
38
verschlüsseltes Testfehlercodewort
40
reduziertes verschlüsseltes Testfehlercodewort
50
unverschlüsselter Datensatz
50a-50d
unverschlüsselte Datenworte
52
erster Multiplexer
52a
erster Dateneingang
52b
zweiter Dateneingang
54
zweiter Multiplexer
54a
erster Dateneingang
54b
zweiter Dateneingang
56
Verknüpfungseinrichtung
58
Zwischenspeicher
60
unverschlüsselte Seite
62
Ver-/Entschlüsselungseinrichtung
64
verschlüsselte Seite
66
verschlüsselter Datensatz
66a-66d
verschlüsselte Datenworte
68
verschlüsseltes Fehlercodewort
70
Codevergleichseinrichtung
72
verschlüsselnder Dateneingang
74
verschlüsselter Datenausgang
76
entschlüsselnder Dateneingang
78
entschlüsselter Datenausgang


Anspruch[de]
Vorrichtung zum Handhaben von Datenworten (20a-20d; 50a-50d) eines Datensatzes (21; 50), mit folgenden Merkmalen:

einer Redundanzeinrichtung (4; 56), die ausgebildet ist, um aus den Datenworten (20a-20d; 50a-50d) des Datensatzes (21; 50) ein dem Datensatz (21; 50) zugeordnetes Redundanzdatenwort (22) zu bestimmen;

einer Verschlüsselungseinrichtung (6; 62), die ausgebildet ist, um die Datenworte (20a-20d; 50a-50d) in verschlüsselte Datenworte (24; 66a-66d) zu verschlüsseln und um das Redundanzdatenwort (22) in ein verschlüsseltes Redundanzdatenwort (26) zu verschlüsseln; und

einer Verarbeitungseinrichtung (8) zum Verarbeiten der verschlüsselten Datenworte (24) und des verschlüsselten Redundanzdatenwortes (26) unter Verwerfen vorbestimmter Bits des verschlüsselten Redundanzdatenwortes (26).
Vorrichtung gemäß Anspruch 1, bei der die Redundanzeinrichtung (4; 56) ausgebildet ist, um das Redundanzdatenwort (22) durch bitweise Exklusiv-Oder-Verknüpfung aller Datenworte (20a-20d; 50a-50d) des Datensatzes (21; 50) zu bilden. Vorrichtung gemäß einem der Ansprüche 1 oder 2, bei der die Verschlüsselungseinrichtung (6; 62) ausgebildet ist, um die Datenworte (20a-20d; 50a-50d) und das Redundanzdatenwort (22) abhängig von einer Speicheradresse zu verschlüsseln. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Verarbeitungseinrichtung (8) ausgebildet ist, um eine vorbestimmte Anzahl der letzten Bits des verschlüsselten Redundanzdatenwortes (26) zu verwerfen. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Verarbeitungseinrichtung (8) ausgebildet ist, um die verschlüsselten Datenworte (24) und das verschlüsselte Redundanzdatenwort (26) nach der Verarbeitung in einem Speicher (10) zu speichern oder über einen Datenbus zu übertragen, wobei die vorbestimmten zu verwerfenden Bits nicht gespeichert beziehungsweise übertragen werden. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Redundanzeinrichtung (4; 56) ausgebildet ist, um eine Mehrzahl von Redundanzdatenworten aus den Datenworten (20a-20d; 50a-50d) des Datensatzes (21; 50) zu bestimmen, wobei die Verschlüsselungseinrichtung (6; 62) ausgebildet ist, um aus der Mehrzahl von Redundanzdatenworten eine Mehrzahl von verschlüsselten Redundanzdatenworten zu bilden und wobei die Verarbeitungseinrichtung (8) ausgebildet ist, um die Mehrzahl von verschlüsselten Redundanzdatenworten jeweils unter Verwerfen vorbestimmter Bits der einzelnen Redundanzdatenworte zu verarbeiten. Vorrichtung zum Handhaben von verschlüsselten Datenworten (30; 66a-66d) eines verschlüsselten Datensatzes (30; 66) mit folgenden Merkmalen:

einer Bereitstellungseinrichtung zum Bereitstellen der verschlüsselten Datenworte (30; 66a-66d) des verschlüsselten Datensatzes (30; 66) und eines verschlüsselten Redundanzdatenwortes (32; 68), welches den verschlüsselten Datenworten (30; 66a-66d) zugeordnet ist;

einer Entschlüsselungseinrichtung (6; 62), die ausgebildet ist, um die verschlüsselten Datenworte (30; 66a-66d) des verschlüsselten Datensatzes (30; 66) in entschlüsselte Datenworte (34; 50a-50d) eines entschlüsselten Datensatzes (34; 50) zu entschlüsseln;

einer Redundanzeinrichtung (4; 56), die ausgebildet ist, um aus den entschlüsselten Datenworten (34; 50a-50d) ein neues Redundanzdatenwort (36) zu bilden, welches den entschlüsselten Datenworten (34; 50a-50d) zugeordnet ist;

einer Verschlüsselungseinrichtung (6; 62), die ausgebildet ist, um aus dem neuen Redundanzdatenwort (36) ein neues verschlüsseltes Redundanzdatenwort (38) zu bilden; und

einer Vergleichseinrichtung (8; 70) zum Durchführen eines zumindest teilweisen Vergleiches zwischen dem verschlüsselten Redundanzdatenwort (32; 68) und dem neuen verschlüsselten Redundanzdatenwort (40).
Vorrichtung gemäß Anspruch 7, mit folgenden zusätzlichen Merkmalen:

bei der die Bereitstellungseinrichtung zusätzlich ausgebildet ist, um das verschlüsselte Redundanzdatenwort (32) durch Verwerfen vorbestimmter Bits eines vollständigen verschlüsselten Redundanzdatenwortes bereitzustellen;

bei der die Vergleichseinrichtung (8; 70) zusätzlich ausgebildet ist, um bei dem Vergleich zwischen dem verschlüsselten Redundanzdatenwort (32; 68) und dem neuen verschlüsselten Redundanzdatenwort (38) diejenigen Teile des neuen verschlüsselten Redundanzdatenwortes (38) unbeachtet zu lassen, die den vorbestimmten Bits des vollständigen verschlüsselten Datenwortes entsprechen.
Vorrichtung gemäß einem der Ansprüche 7 oder 8, bei der die Redundanzeinrichtung (4; 56) ausgebildet ist, um das neue Redundanzdatenwort (36) durch bitweise Exklusiv-Oder-Verknüpfung aus den entschlüsselten Datenworten (34; 50a-50d) zu bilden. Vorrichtung gemäß einem der Ansprüche 7 bis 9, bei der die Bereitstellungseinrichtung ausgebildet ist, um die verschlüsselten Datenworte (30; 66a-66d) und das verschlüsselte Redundanzdatenwort (32; 68) aus einem Speicher (10) zu lesen oder über einen Datenbus zu empfangen. Vorrichtung gemäß einem der Ansprüche 7 bis 10, bei der die Entschlüsselungseinrichtung (6; 62) ausgebildet ist, um die verschlüsselten Datenworte (30; 66a-66d) abhängig von einer Speicheradresse zu entschlüsseln und bei der die Verschlüsselungseinrichtung (6; 62) ausgebildet ist, um das neue verschlüsselte Redundanzdatenwort (38) abhängig von einer Speicheradresse zu bilden. Vorrichtung gemäß einem der Ansprüche 7 bis 11, bei der die Bereitstellungseinrichtung ausgebildet ist, um das verschlüsselte Redundanzdatenwort (32; 68) durch Verwerfen einer vorbestimmten Anzahl der letzten Bits eines vollständigen verschlüsselten Redundanzdatenwortes bereitzustellen, wobei die Vergleichseinrichtung (8; 70) ausgebildet ist, um bei dem Vergleich zwischen dem verschlüsselten Redundanzdatenwort (32; 68) und dem neuen verschlüsselten Redundanzdatenwort (38) die vorbestimmte Anzahl der letzten Bits des verschlüsselten Redundanzdatenwortes (32) und des neuen verschlüsselten Redundanzdatenwortes (38) unbeachtet zu lassen. System zum sicheren Handhaben von Datensätzen (21, 30) mit folgenden Merkmalen:

einer Ver-/Entschlüsselungseinrichtung (6), die ausgebildet ist, um aus Datenworten (20a-20d) eines Datensatzes (21) verschlüsselte Datenworte (24) zu bilden, aus einem den Datenworten (20a-20d) zugeordneten Redundanzdatenwort (22) ein verschlüsseltes Redundanzdatenwort (26) zu bilden, und um aus einem neuen Redundanzdatenwort (36) ein neues verschlüsseltes Redundanzdatenwort (38) zu bilden, wobei die Ver-/Entschlüsselungseinrichtung (6) ferner ausgebildet ist, um aus verschlüsselten Datenworten (30) entschlüsselte Datenworte (34) zu bilden;

einer Redundanzeinrichtung (4), die ausgebildet ist, um aus den Datenworten (20a-20d) das Redundanzdatenwort (22) zu bilden und um aus den entschlüsselten Datenworten (34) das neue Redundanzdatenwort (36) zu bilden; und

einer Vergleichseinrichtung (8) zum Durchführen eines zumindest teilweisen Vergleiches zwischen dem verschlüsselten Redundanzdatenwort (32) und dem neuen verschlüsselten Redundanzdatenwort (38).
Verfahren zum Handhaben von Datenworten (20a-20d; 50a-50d) eines Datensatzes (21; 50) mit folgenden Schritten:

Bestimmen eines Redundanzdatenwortes (22) aus den Datenworten (20a-20d; 50a-50d) des Datensatzes (21; 50), welches dem Datensatz (21; 50) zugeordnet ist;

Verschlüsseln der Datenworte (20a-20d; 50a-50d) in verschlüsselte Datenworte (24; 60a-60d) und Verschlüsseln des Redundanzdatenwortes (22) in ein verschlüsseltes Redundanzdatenwort (26); und

Verarbeiten der verschlüsselten Datenworte (24) und des verschlüsselten Redundanzdatenwortes (26) unter Verwerfen vorbestimmter Bits des verschlüsselten Redundanzdatenwortes (26).
Verfahren zum Handhaben von verschlüsselten Datenworten (30; 66a-66d) eines verschlüsselten Datensatzes (30; 66) mit folgenden Schritten:

Bereitstellen der verschlüsselten Datenworte (30; 66a-66d) des verschlüsselten Datensatzes (30; 66) und eines verschlüsselten Redundanzdatenwortes (32; 68), welches den verschlüsselten Datenworten (30; 66a-66d) zugeordnet ist;

Entschlüsseln der verschlüsselten Datenworte (30; 66a-66d) des verschlüsselten Datensatzes (30; 66) in entschlüsselte Datenworte (34; 50a-50d) eines entschlüsselten Datensatzes (34; 50);

Bilden eines neuen Redundanzdatenwortes (36) aus den entschlüsselten Datenworten (34; 50a-50d), welches den entschlüsselten Datenworten (34; 50a-50d) zugeordnet ist;

Verschlüsseln des neuen Redundanzdatenwortes (36) in ein neues verschlüsseltes Redundanzdatenwort (38); und

Durchführen eines zumindest teilweisen Vergleiches zwischen dem verschlüsselten Redundanzdatenwort (32) und dem neuen verschlüsselten Redundanzdatenwort (38).
Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 14 oder 15, wenn das Programm auf einem Computer abläuft.






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