DE10124139A1 - Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher - Google Patents

Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher

Info

Publication number
DE10124139A1
DE10124139A1 DE10124139A DE10124139A DE10124139A1 DE 10124139 A1 DE10124139 A1 DE 10124139A1 DE 10124139 A DE10124139 A DE 10124139A DE 10124139 A DE10124139 A DE 10124139A DE 10124139 A1 DE10124139 A1 DE 10124139A1
Authority
DE
Germany
Prior art keywords
key
memory
addresses
key2
key1
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10124139A
Other languages
English (en)
Inventor
Wolfgang Buhr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Corporate Intellectual Property GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Corporate Intellectual Property GmbH filed Critical Philips Corporate Intellectual Property GmbH
Priority to DE10124139A priority Critical patent/DE10124139A1/de
Priority to PCT/IB2002/001690 priority patent/WO2002093387A2/en
Priority to EP02727912A priority patent/EP1393187A2/de
Priority to JP2002589995A priority patent/JP2004525470A/ja
Priority to CN02801718.8A priority patent/CN1251091C/zh
Priority to US10/477,984 priority patent/US20040128458A1/en
Publication of DE10124139A1 publication Critical patent/DE10124139A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Abstract

Die Erfindung betrifft ein Verfahren zur zweistufigen Verwürfelung der Adressen (LogAdr), mit denen ein Zentralprozessor (10) auf einen Speicher (13) zugreift. Eine erste Verschlüsselungslogik (11) wendet dabei einen fest vorgegebenen, unveränderbaren Schlüssel (KEY1) an, während eine zweite Verschlüsselungslogik (12) einen veränderbaren, im Speicher (13) abgelegten zweiten Schlüssel (KEY2) anwendet. Die in der Initialisierungsphase des Zentralprozessors (10) eingelesenen Konfigurationsdaten sind vorzugsweise in einem speziellen Konfigurationsbereich abgelegt, auf den über einen Bypass (15) unter Umgehung der zweiten Verschlüsselungslogik (12) zugegriffen wird. Die Aktivierung des Bypasses erfolgt durch eine Bypass-Logik (14), welche die in erster Stufe verschlüsselten Adressen (Cipher1) mit während der Initialisierungsphase abgespeicherten Werten (SecRowCipher1, SecRowCipher2) vergleicht.

Description

Technisches Gebiet
Die Erfindung betrifft ein Verfahren zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher, wobei die vom Zentralprozessor ausgegebenen logischen Adressen mit einem ersten, unveränderlich gespeicherten Schlüssel codiert werden. Ferner betrifft die Erfindung eine Datenverarbeitungseinheit enthaltend einen Zentralprozessor, der mit einem Speicher über Adreßleitungen sowie Datenleitungen verbunden ist, sowie eine in den Adreßleitungen angeordnete erste Verschlüsselungslogik, welche die vom Zentralprozessor ausgegebenen logischen Adressen mit einem ersten, unveränderlich gespeicherten Schlüssel codiert.
Stand der Technik
Die Verbindung eines Zentralprozessors mit einem Speicher ist in fast allen Datenver­ arbeitungssystemen vorhanden. Um die im Speicher enthaltenen Daten dabei vor einem Mißbrauch zu schützen, ist es bekannt, sie dort verschlüsselt abzuspeichern. Ein dynamisches Verfahren zur Verschlüsselung der in einem Speicher abgelegten Daten ist beispielsweise in der US 5,987,572 beschrieben. Bei diesem Verfahren werden die Daten mit einem veränderlichen Schlüssel codiert, was jedoch einen erheblichen Rechenaufwand bedeutet.
Daneben sind Verschlüsselungsverfahren insbesondere für Smartcards bekannt. Smartcards finden zunehmend in der Form von Scheckkarten, Geldkarten, Ausweiskarten oder dergleichen als Träger von sicherheitsrelevanten Daten Anwendung und haben einen nicht-flüchtigen Speicher, dessen Inhalt auch nach Abschalten des Prozessors bzw. ohne externe Stromversorgung erhalten bleibt. Bei den bekannten Verschlüsselungsverfahren für Smartcards werden die Adressen des Speichers mit einem in der Hardware verdrahteten oder fest in ROM-Speichern abgelegten Schlüssel "verwürfelt". Dies bedeutet, daß die vom Zentralprozessor ausgegebene beziehungsweise verwendete logische Adresse eines Datums vermöge des Schlüssels bijektiv auf eine andere Adresse abgebildet wird, unter welcher sich dann das Datum physikalisch im Speicher befindet. Dieses Verfahren ist zwar verhältnismäßig einfach, es hat jedoch den Nachteil, daß eine einmal analysierte und entschlüsselte Verwürfelung auf alle Systeme des gleichen Typs beziehungsweise mit demselben ROM-Code übertragbar ist. Eine einzige mißbräuchliche Entschlüsselung gefährdet demnach die Sicherheit einer Vielzahl von Smartcards. Weiterhin ist es nachteilig, daß für ein Unbrauchbarmachen des Speicherinhaltes der gesamte Inhalt gelöscht werden muß, da sich Daten im Speicher stets an derselben (verwürfelten) Adresse wiederfinden lassen.
Darstellung der Erfindung
Vor diesem Hintergrund war es Aufgabe der vorliegenden Erfindung, ein Verfahren sowie eine Datenverarbeitungseinheit bereitzustellen, welche einen größeren Schutz der Daten in dem einem Zentralprozessor zugeordneten Speicher bieten.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 sowie eine Datenverarbeitungseinheit mit den Merkmalen des Anspruchs 7 gelöst. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen enthalten.
Das Verfahren dient der Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher und verhindert insbesondere, daß die im Speicher enthaltenen Daten mißbräuchlich ausgelesen und verwendet werden können. Bei dem Verfahren werden die vom Zentralprozessor verwendeten und ausgegebenen logischen Adressen von Daten mit einem ersten, unveränderlich gespeicherten Schlüssel codiert. Die Speicherung dieses ersten Schlüssels kann zum Beispiel in einer Hardwareverdrahtung oder in ROM-Speichern (einschließlich EPROM, EEPROM etc.) geschehen. Das Verfahren ist weiterhin dadurch gekennzeichnet, daß zumindest ein Teil der mit dem ersten Schlüssel codierten Adressen ein zweites Mal mit einem zweiten, veränderbar gespeicherten Schlüssel codiert wird.
Die zweite Verschlüsselung der Adressen mit einem veränderbaren Schlüssel hat den Vorteil, daß für jedes derartige Datenverarbeitungssystem durch Vorgabe eines individuellen zweiten Schlüssels eine individuelle Verschlüsselung der Daten erreicht werden kann. Selbst wenn daher bei einem mißbräuchlichen Angriff die erste Verschlüsselungsstufe beziehungsweise der erste Schlüssel entziffert werden sollten, wären hiermit nicht die Daten von allen gleichen Systemen mit demselben ersten Schlüssel decodierbar, da diese jeweils mit einem anderen zweiten Schlüssel verwürfelt werden. Das Verfahren bietet somit eine erheblich größere Sicherheit für die im Speicher abgelegten Daten.
Darüber hinaus hat das Verfahren auch den Vorteil, daß der Inhalt des Speichers durch ein Verändern oder Überschreiben des veränderbaren zweiten Schlüssels unbrauchbar gemacht werden kann. Dies ist möglich, ohne daß hierzu der gesamte Speicher zu löschen oder mit Zufallszahlen zu überschreiben wäre.
Gemäß einer Weiterbildung des Verfahrens wird der Speicher logisch in einen Konfigurationsbereich und einen Nutzdatenbereich unterteilt, wobei der Zugriff auf den Konfigurationsbereich nur mit dem ersten Schlüssel codiert wird, während der Zugriff auf den Nutzdatenbereich zusätzlich mit dem zweiten Schlüssel codiert wird. Wie der Name des "Konfigurationsbereiches" bereits andeutet, werden hierin vorzugsweise für die Konfiguration des Datenverarbeitungssystems beziehungsweise des Zentralprozessors relevante Daten gespeichert. Auf diese Weise kann der Prozessor somit ohne Kenntnis beziehungsweise ohne Anwendung des zweiten Schlüssels zugreifen. Dies ist insbesondere bei einer Initialisierung des Zentralprozessors vorteilhaft, da dann die Konfigurationsdaten stets an derselben, vom zweiten Schlüssel unabhängigen Stelle gefunden werden.
Bei einem wie beschrieben unterteilten Speicher wird der zweite Schlüssel vorzugsweise im Konfigurationsbereich gespeichert. Er kann dann bei der Initialisierung des Zentralprozessors aus diesem Bereich ausgelesen und nachfolgend für die zweite Codierung verwendet werden. Dabei braucht für die Speicherung des zweiten Schlüssels kein zusätzlicher Speicher bereitgestellt zu werden, was insbesondere bei Smartcards vorteilhaft ist.
Gemäß einer Weiterbildung des Verfahrens werden diejenigen logischen Adressen, welche bei einer aufeinanderfolgenden Codierung mit zunächst dem ersten und dann dem zweiten Schlüssel Werte annehmen, die den nur mit dem ersten Schlüssel codierten Adressen des Konfigurationsbereiches entsprechen, vor einem Zugriff auf den Speicher ein weiteres Mal mit dem zweiten Schlüssel codiert. Dieses Vorgehen hat folgenden Hintergrund: Da bei der Abbildung des Konfigurationsbereiches in den Speicher nur der erste Schlüssel angewendet wird, kollidiert dieser Bereich im Speicher mit Adressen, die nach Codierung mit sowohl dem ersten als auch dem zweiten Schlüssel an dieselbe Stelle abgebildet werden. Um diese Kollision und damit einen Datenverlust zu verhindern, wird auf die zuletzt genannten Adressen ein zweites Mal der zweite Schlüssel angewendet, wodurch diese Adressen an diejenigen freien Plätze weitergeleitet werden, die der Konfigurationsbereich bei Anwendung einer ersten und zweiten Verschlüsselung angenommen hätte.
Vorzugsweise sind die Codierungen mit dem ersten beziehungsweise dem zweiten Schlüssel so definiert, daß bei zweifacher Anwendung der ersten Codierung beziehungsweise bei zweifacher Anwendung der zweiten Codierung sich gerade die identische Abbildung ergibt. Jede Codierungsfunktion stellt somit zugleich ihre eigene Inverse dar.
Nach einer anderen Weiterbildung des Verfahrens werden der zweite Schlüssel und/oder Größen, an denen nur mit dem ersten Schlüssel zu kodierende Adressen erkannt werden können, während der Initialisierung des Zentralprozessors gelesen beziehungsweise berechnet. Die Initialisierungsphase des Zentralprozessors kann somit bei allen in ihrer Hardware und den fest gespeicherten Konfigurationen gleichen Systemen identisch ablaufen, wobei jedoch während der Initialisierungsphase bei jedem System individuelle Daten erzeugt und gespeichert werden, welche nachfolgend für eine individuelle Verschlüsselung sorgen.
Die Erfindung betrifft weiterhin eine Datenverarbeitungseinheit enthaltend einen Zentral­ prozessor, der mit einem Speicher über Adreßleitungen sowie Datenleitungen verbunden ist. Ferner enthält die Datenverarbeitungseinheit eine in den Adreßleitungen angeordnete erste Verschlüsselungslogik, welche die vom Zentralprozessor ausgegebenen logischen Adressen mit einem ersten, unveränderlich gespeicherten Schlüssel codiert. Die Datenverarbeitungseinheit ist dadurch gekennzeichnet, daß sie eine in den Adreßleitungen angeordnete zweite Ver­ schlüsselungslogik enthält, welche die mit dem ersten Schlüssel codierten Adressen zumindest teilweise ein zweites Mal mit einem zweiten, veränderbar gespeicherten Schlüssel codiert. Bei einer derartigen Datenverarbeitungseinheit kann es sich insbesondere um eine sogenannte Smartcard handeln.
Die Datenverarbeitungseinheit hat den Vorteil, daß sie abhängig vom zweiten Schlüssel eine individuelle Verschlüsselung beziehungsweise Verwürfelung der Daten im Speicher erlaubt. Die mißbräuchliche Entschlüsselung der ersten Verschlüsselungslogik mit dem ersten Schlüssel liefert somit nicht automatisch den Zugriff auf die Daten sämtlicher gleichartiger Daten­ verarbeitungseinheiten. Vielmehr müßte für einen solchen Zugriff erst bei jeder Daten­ verarbeitungseinheit der zweite Schlüssel verschafft werden.
Die Datenverarbeitungseinheit ist ferner vorzugsweise so ausgestaltet beziehungsweise eingerichtet, daß mit ihr ein Verfahren der oben erläuterten Art durchgeführt werden kann.
Insbesondere kann die Datenverarbeitungseinheit eine Bypass-Logik enthalten, welche die von der ersten Verschlüsselungslogik erzeugten und/oder verwendeten (logischen) Adressen als Eingabe erhält und eine Umgehung ("Bypass") der zweiten Verschlüsselungslogik aktiviert, wenn diese Adressen vorgegebenen Werten entsprechen. Mit Hilfe der Bypass-Logik kann somit selektiv eine Abschaltung der zweiten Verschlüsselung erfolgen. Dies ist insbesondere bei Verwendung eines oben erläuterten Konfigurationsbereiches sinnvoll, welcher nur mit der ersten Verschlüsselungslogik verschlüsselt werden soll.
Kurze Beschreibung der Zeichnungen
Im Folgenden wird die Erfindung mit Hilfe der Figuren beispielhaft erläutert. Es zeigt:
Fig. 1 schematisch die Komponenten einer erfindungsgemäßen Datenverarbeitungseinheit;
Fig. 2 schematisch die Abbildungen von Adressen durch verschiedene Verschlüsselungsstufen.
Bester Weg zur Ausführung der Erfindung
Fig. 1 zeigt die wesentlichen Komponenten einer Datenverarbeitungseinheit 100 mit einem Zentralprozessor 10 und einem damit verbundenen Speichermodul 13. Bei der Einheit kann es sich insbesondere um eine Smartcard 100 handeln, wobei der Speicher 13 ein nichtflüchtiger Speicher ist, in welchem aus Kostengründen sowohl Programm-Code und Daten als auch speziell zu sichernde Kontrolldaten und Konfigurationsparameter abgelegt werden.
Um den Inhalt des Speichers 13 vor einer physikalischen Analyse zu schützen, ist es bekannt, die von dem Zentralprozessor 10 verwendeten und auf die Adreßleitung gelegten logischen Adressen LogAdr über eine erste Verschlüsselungslogik 11 zu codieren. Dabei werden die logischen Adressen LogAdr vermöge eines in der Hardware verdrahteten oder in einem ROM- Speicher abgelegten Schlüssel KEY1 mit einer bijektiven Abbildung C1 zu Adressen "Cipher1" transformiert. Die über die Datenleitung 19 übertragenen Daten beziehungsweise die Adressen werden somit vor ihrem Ablegen im Speicher 13 "verwürfelt".
Da die bekannten Systeme mit nur einer Verschlüsselungslogik 11, die einen feststehenden Schlüssel KEY1 verwendet, keinen individuellen Schutz der Daten im Speicher 13 bieten, wird erfindungsgemäß eine zweite Verschlüsselungslogik 12 in die Adreßleitung zwischen der ersten Verschlüsselungslogik 11 und dem Speicher 13 angeordnet. Die zweite Verschlüsse­ lungslogik 12 verwendet für ihre bijektive Transformation C2 einen zweiten Schlüssel KEY2. Dieser ist im Gegensatz zum ersten Schlüssel KEY1 nicht fest vorgegeben, sondern veränderbar im Speicher 13 abgelegt. Der Wert dieses zweiten Schlüssels KEY2 wird während der Initialisierung über die Datenleitung 19 aus dem Speicher 13 eingelesen.
Die sequentielle Anwendung der ersten Verschlüsselung C1 und der zweiten Verschlüsselung C2 gewährleistet somit eine Verwürfelung der Adressen LogAdr zu physikalischen Speicheradressen PhyAdr im Speicher 13, die für jede Smartcard 100 individuell über den zweiten Schlüssel KEY2 vorgegeben werden kann.
Während der Initialisierungsphase des Zentralprozessors 10 wird die zweite Verschlüsselungslogik 12 vorzugsweise ausgeschaltet, damit die Konfigurationsdaten des Zentralprozessors stets an denselben, durch die erste Verschlüsselungslogik 11 und den ersten Schlüssel KEY1 vorgegebenen Stellen des Speichers 13 gefunden werden. Eine solche "feste" Lage des Konfigurationsbereiches ermöglicht es zudem, den zweiten Schlüssel KEY2 erst während der Initialisierung aus dem Speicher 13 auszulesen, so daß er anschließend für die Verschlüsselungslogik 12 zur Verfügung steht.
Um den Zugriff auf den Konfigurationsbereich im Speichermodul 13 unter Umgehung der zweiten Verschlüsselungslogik 12 durchführen zu können, enthält die Datenverarbeitungs­ einheit 100 einen Bypass 15, welcher die zweite Verschlüsselungslogik 12 umgeht, sowie eine Bypass-Logik 14, welche den Bypass 15 selektiv ein- oder ausschalten kann. Die Bypass- Logik 14 erhält über eine Leitung 16 an ihrem Eingang die aktuelle, mit der ersten Ver­ schlüsselungslogik 11 verschlüsselte Adresse Cipher1. Dieser Wert wird mit den zwei abgespeicherten Werten SecRowCipher1 sowie SecRowCipher2 verglichen. Sofern Cipher1 einem der beiden gespeicherten Werte gleich ist, aktiviert die Bypass-Logik 14 den Bypass 15, so daß der Zugriff auf den Speicher 13 unter Umgehung der zweiten Verschlüsselungslogik 12 erfolgt.
Die beiden oben genannten gespeicherten Adressen SecRowCipher1 und SecRowCipher2 werden während der Initialisierung des Zentralprozessors 10 über die Verbindungsleitungen 17 und 18 gespeichert. Die Initialisierung verläuft dabei im Einzelnen wie folgt ab:
Zunächst speichert die zweite Verschlüsselungslogik 12 während der Initialisierung den aus dem Konfigurationsbereich des Speichers 13 ausgelesenen zweiten Schlüssel KEY2 in einem lokalen Speicher. Dabei ist während der gesamten Initialisierungsphase der Bypass 15 aktiviert, so daß der Zugriff auf den Speicher 13 allein über die erste Verschlüsselungslogik 11 mit den Adressen PhyAdr = Cipher1 erfolgt. Gegen Ende der Initialisierungsphase speichert die zweite Verschlüsselungslogik 12 dann sowohl die mit dem ersten Schlüssel KEY1 erzeugte Cipher1 Adresse des Konfigurationsbereiches nach SecRowCipher1 als auch die zusätzlich mit dem zweiten Schlüssel KEY2 erzeugte Cipher2 Adresse des Konfigurationsbereiches nach SecRowCipher2. Dies geschieht unter weiterhin aktiviertem Bypass 15.
Nach Beendigung der Initialisierungsphase wird der Bypass 15 dann generell deaktiviert, um grundsätzlich beide Verwürfelungen C1 und C2 auf die Speicheradressen LogAdr anzuwenden.
Nur wenn die Bypass-Logik 14 an ihrem Eingang als Cipher1 Adresse eine der beiden während der Initialisierungsphase gespeicherten Adressen SecRowCipher1 oder SecRowCipher2 erkennt, aktiviert sie für diesen Zugriff den Bypass 15, so daß die zweite Ver­ schlüsselungslogik 12 umgangen wird. Dadurch bleiben die Adressen des Konfigurationsbereiches von der zweiten Verwürfelung C2 unberührt.
In Fig. 2 sind die in einem Datenverarbeitungssystem 100 nach Fig. 1 stattfindenden Verwürfelungen beziehungsweise Abbildungen der Adressen schematisch dargestellt.
Die logischen Adressen LogAdr werden zunächst von der ersten Verschlüsselungslogik 11 jeweils mit der Abbildung C1 in eine Adresse Cipher1 umgewandelt. Durch Anwendung der zweiten Verschlüsselungslogik 12 mit der Abbildung C2 wird dann aus jeder dieser Adressen Cipher1 eine zweifach verschlüsselte Adresse Cipher2 erzeugt, die auf einen physikalischen Speicherort PhyAdr des Speichers zeigt.
Würden die Abbildungen C1 und C2 auf alle logischen Adressen LogAdr hintereinander angewandt, so würde sich insgesamt eine bijektive Verwürfelung dieser Adressen in den Adressraum PhyAdr des Speichers ergeben.
Aus den oben erläuterten Gründen ist es jedoch erwünscht, im logischen Adressraum einen Konfigurationsbereich K vorzusehen, welcher nur mit der ersten Verwürfelung C1 auf einen Bereich K' im Speicher abgebildet wird. Dies wird in der Datenverarbeitungseinheit 100 nach Fig. 1 dadurch erreicht, daß die Bypass-Logik 14 für eine Umgehung der zweiten Ver­ schlüsselungslogik 12 sorgt, wenn sie an ihrem Eingang die mit C1 verschlüsselte Adresse des Konfigurationsbereichs, d. h. SecRowCipher1, erkennt.
Der Bereich K' des Speichers, in welchen der Konfigurationsbereich K durch alleinige Anwendung der ersten Verschlüsselung C1 abgebildet wird, würde normalerweise durch die sequentielle Anwendung der ersten Verschlüsselung C1 und der zweiten Verschlüsselung C2 von einem anderen Bereich X des logischen Adreßraumes LogAdr belegt. Um diese Kollision zu verhindern, wird der genannte Bereich X in den freien Bereich K" = X" des Speichers abgebildet, in welchem der Konfigurationsbereich K bei sequentieller Anwendung der ersten Verschlüsselung C1 und der zweiten Verschlüsselung C2 läge. Das geschieht, indem der Bereich X des logischen Adreßraumes durch die ersten Verschlüsselung C1 und eine zweifache Anwendung der zweiten Verschlüsselung (C2)2 abgebildet wird.
Die erläuterte Verschiebung des Bereichs X vereinfacht sich dann erheblich, wenn die zweite Verschlüsselung C2 ihre eigene Inverse ist, so daß sie bei doppelter Anwendung die Identität ergibt. In diesem Falle kann auf die doppelte Anwendung der zweiten Verschlüsselung (C2)2 verzichtet werden, und der Bereich X ist - ebenso wie der Konfigurationsbereich K - lediglich mit der ersten Verschlüsselung C1 in den Speicher abzubilden. Die Bypass-Logik 14 der Datenverarbeitungseinheit 100 aus Fig. 1 erkennt diese Situation daran, daß an ihrem Eingang die Adresse SecRowCipher2 anliegt, welche der Adresse des Konfigurations­ bereiches K" im Speicher entspricht, die sich bei Anwendung der ersten Verschlüsselung C1 und der zweiten Verschlüsselung C2 auf den Konfigurationsbereich K ergibt.
Das mit Hilfe der Figuren beispielhaft dargestellte Verfahren hat den Vorteil, daß die Verwürfelung der Benutzerdaten jederzeit, zum Beispiel bei der Personalisierung des Speichers 13 beim Kunden, durch Programmieren des zweiten Schlüssels KEY2 im Konfigurationsbereich geändert und damit individuell vergeben werden kann. Dies erhöht den Aufwand der mißbräuchlichen Ausforschung erheblich, da jedes System eine individuelle Verwürfelung aufweist, die nicht auf andere Systeme übertragbar ist. Außerdem führt jede Manipulation am Konfigurationsbereich des Speichers 13, die den zweiten Schlüssel KEY2 verändert, zu einer sofortigen Veränderung der Verwürfelung des Nutzdatenbereichs und damit zu einem Unbrauchbarmachen der Nutzerdaten, welche mit einer Speicherinitialisierung mit Zufallsdaten vergleichbar ist. Dieser zusätzliche Verwürfelungs­ mechanismus für den Nutzdatenbereich beeinträchtigt den sicheren Zugriff auf den Konfigurationsbereich des Speichers 13 während der Initialisierungsphase jedoch nicht.
Bezugszeichen
100
Datenverarbeitungseinheit
10
Zentralprozessor
11
erste Verschlüsselungslogik
12
zweite Verschlüsselungslogik
13
Speicher
14
Bypass-Logik
15
Bypass
16
Leitung
17
,
18
Initialisierungsleitung
19
Datenleitung
LogAdr logische Adresse
Cipher1 einmal verschlüsselte Adresse
Cipher2 zweifach verschlüsselte Adresse
KEY1, KEY2 Schlüssel
PhyAdr physikalische Adresse
K Konfigurationsbereich
C1 erste Verwürfelungsabbildung
C2 zweite Verwürfelungsabbildung

Claims (9)

1. Verfahren zur Sicherung der Datenübertragung zwischen einem Zentral­ prozessor (10) und einem Speicher (13), wobei die vom Zentralprozessor ausgegebenen logischen Adressen (LogAdr) mit einem ersten, unveränderlich gespeicherten Schlüssel (KEY1) codiert werden, dadurch gekennzeichnet, daß zumindest ein Teil der so codierten Adressen ein zweites Mal mit einem zweiten, veränderbar gespeicherten Schlüssel (KEY2) codiert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher (13) logisch in einen Konfigurationsbereich (K) und einen Nutzdatenbereich unterteilt ist, wobei der Zugriff auf den Konfigurations­ bereich nur mit dem ersten Schlüssel (KEY1) codiert wird, während der Zugriff auf den Nutzdatenbereich zusätzlich mit dem zweiten Schlüssel (KEY2) codiert wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der zweite Schlüssel (KEY2) im Konfigurationsbereich (K) gespeichert ist.
4. Verfahren nach mindestens einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß diejenigen logischen Adressen (X), welche bei sequentieller Codierung (C1, C2) mit dem ersten und dem zweiten Schlüssel (KEY1, KEY2) Werte annehmen, die den nur mit dem ersten Schlüssel (KEY1) codierten (C1) Adressen des Konfigurationsbereiches (K) entsprechen, vor einem Zugriff auf den Speicher (18) ein weiteres Mal mit dem zweiten Schlüssel (KEY2) codiert (C2) werden.
5. Verfahren nach mindestens einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Codierung (C1, C2) mit dem ersten und/oder mit dem zweiten Schlüssel (KEY1, KEY2) bei zweifacher Anwendung die Identität ergibt.
6. Verfahren nach mindestens einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der zweite Schlüssel (KEY2) und/oder Größen (SecRowCipher1, SecRowCipher2), an denen nur mit dem ersten Schlüssel (KEY1) zu kodierende Adressen erkannt werden können, während der Initialisierung des Zentral­ prozessor (10) gelesen beziehungsweise berechnet werden.
7. Datenverarbeitungseinheit (100), enthaltend einen Zentralprozessor (10), der mit einem Speicher (13) über Adreßleitungen sowie Datenleitungen (19) verbunden ist, sowie eine in den Adreßleitungen angeordnete erste Verschlüsselungslogik (11), welche die vom Zentralprozessor ausgegebenen logischen Adressen mit einem ersten, unveränderlich gespeicherten Schlüssel (KEY1) codiert, dadurch gekennzeichnet, daß sie eine in den Adreßleitungen angeordnete zweite Ver­ schlüsselungslogik (12) enthält, welche die mit dem ersten Schlüssel (KEY1) codierten Adressen zumindest teilweise ein zweites Mal mit einem zweiten, veränderbar gespeicher­ ten Schlüssel (KEY2) codiert.
8. Datenverarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, daß sie so eingerichtet ist, daß sie ein Verfahren nach mindestens einem der Ansprüche 1 bis 6 durchführen kann.
9. Datenverarbeitungseinheit nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß sie eine Bypass-Logik (14) enthält, welche die von der ersten Verschlüsselungslogik (11) erzeugten und/oder verwendeten Adressen (Cipher1) als Eingabe erhält, und welche eine Umgehung (15) der zweiten Verschlüsselungslogik (12) aktiviert, wenn die genannten Adressen vorgegebenen Werten (SecRowCipher1, SecRowCipher2) entsprechen.
DE10124139A 2001-05-17 2001-05-17 Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher Withdrawn DE10124139A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10124139A DE10124139A1 (de) 2001-05-17 2001-05-17 Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher
PCT/IB2002/001690 WO2002093387A2 (en) 2001-05-17 2002-05-15 Method and device for protecting data transmission between a central processor and a memory
EP02727912A EP1393187A2 (de) 2001-05-17 2002-05-15 Verfahren und vorrichtung zum schutz der datenübertragung zwischen einem zentralprozessor und einem speicher
JP2002589995A JP2004525470A (ja) 2001-05-17 2002-05-15 中央処理装置とメモリとの間でのデータ送信を保護する方法及び装置
CN02801718.8A CN1251091C (zh) 2001-05-17 2002-05-15 保护中央处理器和存储器之间数据传输的方法和装置
US10/477,984 US20040128458A1 (en) 2001-05-17 2002-05-15 Method and device for protecting data transmission between a central processor and a memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10124139A DE10124139A1 (de) 2001-05-17 2001-05-17 Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher

Publications (1)

Publication Number Publication Date
DE10124139A1 true DE10124139A1 (de) 2002-11-21

Family

ID=7685199

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10124139A Withdrawn DE10124139A1 (de) 2001-05-17 2001-05-17 Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher

Country Status (6)

Country Link
US (1) US20040128458A1 (de)
EP (1) EP1393187A2 (de)
JP (1) JP2004525470A (de)
CN (1) CN1251091C (de)
DE (1) DE10124139A1 (de)
WO (1) WO2002093387A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005051577A1 (de) * 2005-10-21 2007-05-03 Engel Technologieberatung, Entwicklung/Verkauf Von Soft- Und Hardware Kg Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10318730A1 (de) * 2003-04-25 2004-11-11 Conti Temic Microelectronic Gmbh Verfahren zum Betreiben einer Datenverarbeitungseinheit sowie Datenverarbeitungssystem zur Durchführung des Verfahrens
JP4630643B2 (ja) * 2004-11-18 2011-02-09 株式会社メガチップス 半導体メモリおよび半導体メモリのテスト方法
EP1768028A1 (de) * 2005-09-22 2007-03-28 STMicroelectronics (Research & Development) Limited Peripherieadressierung in einer integrierten Schaltung
US8473754B2 (en) 2006-02-22 2013-06-25 Virginia Tech Intellectual Properties, Inc. Hardware-facilitated secure software execution environment
DE102007021256A1 (de) * 2007-05-07 2008-11-13 Giesecke & Devrient Gmbh Verfahren zum Speichern von Anwendungsdaten in einen Datenträger mit einem verschlüsselnden Speicher-Controller
JP5571883B2 (ja) * 2007-06-18 2014-08-13 軒▲ソン▼科技有限公司 デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体
CN101577086B (zh) * 2008-05-09 2012-01-04 联阳半导体股份有限公司 串联电路的自动寻址方法及串接数量的自动检测方法
EP2151763A1 (de) * 2008-07-28 2010-02-10 Nagravision S.A. Verfahren und Verfahren zur Verschleierung virtueller oder physischer Speicherabbildung
US8375225B1 (en) 2009-12-11 2013-02-12 Western Digital Technologies, Inc. Memory protection
US20150363333A1 (en) * 2014-06-16 2015-12-17 Texas Instruments Incorporated High performance autonomous hardware engine for inline cryptographic processing
KR102208072B1 (ko) 2014-09-01 2021-01-27 삼성전자주식회사 데이터 처리 시스템
US10346318B2 (en) * 2016-09-13 2019-07-09 Intel Corporation Multi-stage memory integrity method and apparatus

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US892826A (en) 1907-12-27 1908-07-07 Ira L Graham Reinforced concrete post.
US4120030A (en) * 1977-03-11 1978-10-10 Kearney & Trecker Corporation Computer software security system
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4525599A (en) * 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
US4698617A (en) * 1984-05-22 1987-10-06 American Microsystems, Inc. ROM Protection scheme
GB8507427D0 (en) 1985-03-21 1985-05-01 Robertson J A Prevention of soft & hardware copying
US4716546A (en) * 1986-07-30 1987-12-29 International Business Machines Corporation Memory organization for vertical and horizontal vectors in a raster scan display system
US5095525A (en) 1989-06-26 1992-03-10 Rockwell International Corporation Memory transformation apparatus and method
US5214704A (en) * 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
WO2004077300A1 (ja) * 1992-01-22 2004-09-10 Yoshimasa Kadooka Icメモリカード及びそのデータ保護方法
US6094703A (en) * 1995-02-21 2000-07-25 Micron Technology, Inc. Synchronous SRAM having pipelined memory access enable for a burst of addresses
US5892826A (en) * 1996-01-30 1999-04-06 Motorola, Inc. Data processor with flexible data encryption
JPH09312099A (ja) * 1996-05-21 1997-12-02 Toshiba Microelectron Corp 半導体記憶装置及びそのアクセス方法
KR100201396B1 (ko) * 1996-07-20 1999-06-15 구본준 이피롬의 비화코드 해독 방지회로
US5848159A (en) * 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
US5987572A (en) 1997-09-29 1999-11-16 Intel Corporation Method and apparatus employing a dynamic encryption interface between a processor and a memory
US5943283A (en) * 1997-12-05 1999-08-24 Invox Technology Address scrambling in a semiconductor memory
US6449476B1 (en) * 1999-03-12 2002-09-10 Qualcomm Incorporated System and method for independently downloading features into a set of storage locations in a wireless communication device
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
JP4028798B2 (ja) * 2000-06-02 2007-12-26 株式会社ルネサステクノロジ 不揮発性半導体記憶装置および情報配信システムにおける情報管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005051577A1 (de) * 2005-10-21 2007-05-03 Engel Technologieberatung, Entwicklung/Verkauf Von Soft- Und Hardware Kg Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens
DE102005051577B4 (de) * 2005-10-21 2008-04-30 Engel Solutions Ag Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens

Also Published As

Publication number Publication date
US20040128458A1 (en) 2004-07-01
WO2002093387A2 (en) 2002-11-21
CN1251091C (zh) 2006-04-12
WO2002093387A3 (en) 2003-01-30
CN1471671A (zh) 2004-01-28
JP2004525470A (ja) 2004-08-19
EP1393187A2 (de) 2004-03-03

Similar Documents

Publication Publication Date Title
DE69730712T2 (de) Kommunikationssystem mit gesicherter, unabhängiger verwaltung mehrerer anwendungen pro gebraucherkarte, gebraucherkarte und verwaltungsverfahren dafür
DE2837201C2 (de)
DE19536169A1 (de) Multifunktionale Chipkarte
DE10124139A1 (de) Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher
DE19633466C2 (de) Nachinitialisierung von Chipkarten
DE10115118A1 (de) Verfahren zur Übertragung von Daten über einen Datenbus
EP0558132A2 (de) Anordnung zum Datenaustausch
EP1065598A1 (de) Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür
DE60116195T2 (de) Vorrichtung und Verfahren zur Verschleierung von Eingangsparametern
EP1196902B1 (de) Verfahren zum betreiben eines zur ausführung von nachladbaren funktionsprogrammen ausgebildeten datenträgers
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
EP0811204A1 (de) Verarbeitung langer nachrichten in einer prozessorkarte
EP1073019A2 (de) Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
DE60013518T2 (de) Versicherte Personalisierung von Chipkarten
EP1661069A2 (de) Prozessorschaltung und verfahren zum zuordnen eines logikchips zu einem speicherchip
EP1658575B1 (de) Datenübertragungssystem und verfahren zum betreiben eines datenübertragungssystems
DE60114299T2 (de) Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher
WO2005043804A1 (de) Verfahren und vorrichtung zur ver- und entschlüsselung
DE69934707T2 (de) Gegenmassnahmenvorrichtung in einem elektronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durchzuführen
DE19709975C2 (de) Mikrocomputer
DE60033654T2 (de) Verfahren zur sicherung von softwareanwendungen mit hilfe einer einheit zur verarbeitung und speicherung geheimer daten und system dafür
EP0732657B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Information
DE10344636A1 (de) Datenabhängige Ver/Entschlüsselung
DE10235381A1 (de) Verfahren zum Überspielen wenigstens eines Datensatzes aus einer externen Datenquelle in eine Recheneinheit, sowie Recheneinheit
DE102005033473A1 (de) Speicheranordnung und Verfahren zum Betrieb einer Speicheranordnung

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: PHILIPS INTELLECTUAL PROPERTY & STANDARDS GMBH, 20

8139 Disposal/non-payment of the annual fee