WO2004097646A2 - Method for the operation of a data processing unit and data processing system for carrying out the method - Google Patents

Method for the operation of a data processing unit and data processing system for carrying out the method Download PDF

Info

Publication number
WO2004097646A2
WO2004097646A2 PCT/DE2004/000794 DE2004000794W WO2004097646A2 WO 2004097646 A2 WO2004097646 A2 WO 2004097646A2 DE 2004000794 W DE2004000794 W DE 2004000794W WO 2004097646 A2 WO2004097646 A2 WO 2004097646A2
Authority
WO
WIPO (PCT)
Prior art keywords
data processing
processing unit
data
destination address
stored
Prior art date
Application number
PCT/DE2004/000794
Other languages
German (de)
French (fr)
Other versions
WO2004097646A3 (en
Inventor
Daniel DÜRR
Wolfgang Peter
Original Assignee
Conti Temic Microelectronic 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 Conti Temic Microelectronic Gmbh filed Critical Conti Temic Microelectronic Gmbh
Priority to DE112004001223T priority Critical patent/DE112004001223D2/en
Publication of WO2004097646A2 publication Critical patent/WO2004097646A2/en
Publication of WO2004097646A3 publication Critical patent/WO2004097646A3/en

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

Definitions

  • the invention relates to a method for operating a data processing unit which, if necessary, reads in data from an assigned storage unit using specifically stored destination addresses. It further relates to a data processing system, in particular for performing such a method with such a data processing unit.
  • data processing units such as, for example, ⁇ controllers, ⁇ processors or generally processors are used, in which stored functional sequences are processed according to a predefined flow chart.
  • the respective data processing unit usually accesses information stored in an assigned storage unit, for example individual program functions or data records being read in for further processing.
  • a suitable destination address is usually transmitted from the data processing unit to the storage unit in the manner of an index point or starting point for the following information to be read in, the starting point for the information to be read in being predefined on the basis of the destination address thus specified ,
  • the respective memory contents can generally be read directly, so that an information element that is read in corresponds directly to an information element to be executed.
  • chers, X-ray methods or grinding the housing in principle it is possible for the program or work program stored in the data processing unit or the higher-level data processing system to be restored or reconstructed in the manner of a recompilation on the basis of the memory addresses and contents.
  • the complete program along with the associated constant values and possible application data can thus be restored, so that decryption would also be conceivable even for programs or functions that are actually to be kept secret.
  • the invention is therefore based on the object of specifying a method for operating a data processing unit of the type mentioned above, with which, in the manner of reliable secrecy, it is possible to provide particularly favorable protection against unauthorized decryption of programs stored on the data processing unit.
  • a data processing system with such a data processing unit that is particularly suitable for carrying out the method is to be specified.
  • this object is achieved according to the invention in that, before the data processing unit accesses the storage unit, the destination address output by the data processing unit is converted into an actual destination address using a stored encryption algorithm.
  • the invention is based on the consideration that a particularly effective protection against the reconstruction of stored programs can be achieved for the data processing unit by the systematic combination of individual program modules and necessary for recompilation Systematically complicates data content.
  • a suitable concealment of cross-links between individual components or elements of the stored programs or data content should be provided.
  • a particularly suitable starting point for this is a targeted concealment of the target addresses via which the data processing unit selectively accesses the memory unit.
  • a suitable encryption algorithm such as DES, Triple DES or the like can be used for encryption. be used.
  • a particularly effective concealment of the destination addresses used can be achieved in a simple manner by advantageously using an encryption algorithm based on a CRC ("Cyclic Redundancy Check") polynomial to convert the destination address into the actual destination address.
  • CRC Cyclic Redundancy Check
  • the object is achieved with a coding module which is connected on the data side between the data processing unit and the storage unit and which converts the destination address output by the data processing unit into an actual destination address when the storage unit is accessed.
  • the coding module advantageously uses a CRC polynomial to convert the target addresses.
  • the CRC polynomial is generated individually for the respective data processing unit, so that a non-transferable coding that is specifically tailored to the respective data processing unit can be achieved.
  • the data processing system advantageously comprising a controller module that controls access to the storage unit
  • the elements forming the coding module in particular the functional components used for the encryption of the destination addresses
  • the elements forming the coding module are stored decentrally.
  • Such a decentralized deposit does not allow closed, consistent decryption of the encryption method used overall.
  • the elements forming the coding module are stored in a further advantageous embodiment in an area of the controller module that is difficult to access.
  • An area that is difficult to access in spatial terms is, in particular, an area that is comparatively deep or internal in the hardware architecture of the controller module and that is accessible destructively or invasively only after removal of other essential components of the controller module.
  • the advantages achieved by the invention consist in particular in that the encryption of the target addresses when the data processing unit accesses the memory unit as required, in the event of unauthorized access to the memory contents, largely precludes a consistent reconstruction of the stored programs or functional units.
  • the program and data contents are therefore not readily readable, and in particular data material that may have been obtained without authorization cannot be used without knowledge of the method used for the encryption and its parameters.
  • the "hiding" or “hiding" of the entry or interrupt vector table on the memory unit that is possible in this way comparatively effectively prevents a redesign of programmed software.
  • An additional generic modification of the code in the individual programming of the controller or the data processing unit means that no more conclusions can be drawn about the structure of programs stored there, even when knowledge is transferred between data processing units of the same type.
  • the figure schematically shows a data processing system.
  • the data processing system 1 according to the figure comprises a data processing unit 2 which, depending on the determination and function, handles calculation or control tasks according to predetermined flow charts.
  • suitable programs or modules are stored in the programming of the data processing unit 2, which, taken on their own or in their interaction, fulfill the specified functional sequences.
  • the data processing unit 2 accesses an assigned storage unit 4 as required.
  • the program or module that is currently running in the data processing unit triggers access to the storage unit 4 to obtain additional information as required or to call up additional functions as required, with an associated, the target address characterizing the memory area used is used.
  • This destination address is also output by the data processing unit 2 to the storage unit 4, so that the call up of the correct data required in each case is ensured.
  • the programs running in their entirety in the data processing system 2 can be decrypted by suitable reconstruction of the individual components.
  • the data processing system 1 is designed to reliably prevent such an unauthorized intervention for decrypting information that may be secret.
  • a coding module 6 is connected on the data side between the data processing unit 2 and the storage unit 4.
  • the coding module 6 uses a CRC polynomial in the manner of an encryption, the destination addresses which arrive when the data processing unit 2 accesses the storage unit 4 and which are used to characterize the storage location for the respective data are converted into actual destination addresses. For example, the so-called
  • the coding module 6 then forwards the actually used target addresses converted in this way, together with any additional data which may be required, to the memory unit 4, so that the requested data are read out on the basis of the actual target addresses generated in the coding module.
  • the data read in this way are returned to the data processing unit 2 bypassing the coding module 6 via a data line 8.
  • the data processing system 1 comprises a controller module, which is no longer shown in the schematic structure according to the figure, and which physically controls the individual accesses of the data processing unit 2 to the memory unit 4.
  • the elements that form the coding module 6 in their entirety are decentralized and also stored in a location that is difficult to access in space, so that even in the event of destructive or invasive interventions in the controller module, it is not possible to reconstruct the encryption methods used.

Abstract

The invention relates to a method for the operation of a data processing unit (2), which reads data on demand from a provided storage unit (4), by recourse to specifically deposited target addresses, whereby the target addresses given by the data processing unit (2) are converted into an actual address by means of a deposited encoding algorithm, before an access to the storage unit (4) occurs.

Description

Beschreibungdescription
Verfahren zum Betreiben einer Datenverarbeitungseinheit sowie Datenverarbeitungssystem zur Durchführung des VerfahrensMethod for operating a data processing unit and data processing system for performing the method
Die Erfindung betrifft ein Verfahren zum Betreiben einer Datenverarbeitungseinheit, die bedarfsweise unter Rückgriff auf spezifisch hinterlegte Zieladressen Daten aus einer zugeordneten Speichereinheit einliest . Sie bezieht sich weiter auf ein Datenverarbeitungssystem, insbesondere zur Durchführung eines derartigen Verfahrens mit einer derartigen Datenverarbeitungseinheit .The invention relates to a method for operating a data processing unit which, if necessary, reads in data from an assigned storage unit using specifically stored destination addresses. It further relates to a data processing system, in particular for performing such a method with such a data processing unit.
In Datenverarbeitungssystemen kommen üblicherweise Datenverarbeitungseinheiten wie beispielsweise μ.-Controller, μ-Pro- zessoren oder allgemein Prozessoren, zum Einsatz, in denen eingespeicherte Funktionsabläufe nach einem vorgegebenen Ablaufplan abgearbeitet werden. Dazu greift die jeweilige Datenverarbeitungseinheit üblicherweise auf in einer zugeordneten Speichereinheit hinterlegte Informationen zu, wobei beispielsweise einzelne Programmfunktionen oder auch Datensätze zur weiteren Be- oder Verarbeitung eingelesen werden. Beim bedarfsweisen Zugriff der Datenverarbeitungseinheit auf die jeweilige Speichereinheit wird dabei üblicherweise in der Art eines Indexpunkts oder Startpunkts für die folgende, einzulesende Information eine geeignete Zieladresse von der Datenverarbeitungseinheit an die Speichereinheit übermittelt, wobei anhand der solchermaßen vorgegebenen Zieladresse der Startpunkt für die einzulesenden Informationen vorgegeben wird.In data processing systems, data processing units such as, for example, μ controllers, μ processors or generally processors are used, in which stored functional sequences are processed according to a predefined flow chart. For this purpose, the respective data processing unit usually accesses information stored in an assigned storage unit, for example individual program functions or data records being read in for further processing. When the data processing unit accesses the respective storage unit as required, a suitable destination address is usually transmitted from the data processing unit to the storage unit in the manner of an index point or starting point for the following information to be read in, the starting point for the information to be read in being predefined on the basis of the destination address thus specified ,
Bei einem derartigen System können jedoch im Allgemeinen die jeweiligen Speicherinhalte direkt lesbar sein, so dass ein eingelesenes Informationselement unmittelbar auch einem auszuführenden Informationselement entspricht. Dadurch ist es bei unauthorisiertem Zugriff auf ein Speicherabbild, beispielsweise durch unauthorisiertes Auslesen des Programmspei- chers, Röntgenmethoden oder Abschleifen des Gehäuses, grundsätzlich möglich, dass das in der Datenverarbeitungseinheit oder dem übergeordneten Datenverarbeitungssystem hinterlegte Programm oder Arbeitsprogramm anhand der Speicheradressen und -inhalte in der Art einer Rekompilierung wiederherzustellen oder zu rekonstruieren. Insbesondere kann somit das komplette Programm nebst zugehöriger Konstantwerte und möglicher Applikationsdaten wiederhergestellt werden, so dass auch bei eigentlich geheim zu haltenden Programmen oder Funktionen eine Entschlüsselung denkbar wäre.In such a system, however, the respective memory contents can generally be read directly, so that an information element that is read in corresponds directly to an information element to be executed. This makes it unauthorized to access a memory image, for example by unauthorized reading of the program memory. chers, X-ray methods or grinding the housing, in principle it is possible for the program or work program stored in the data processing unit or the higher-level data processing system to be restored or reconstructed in the manner of a recompilation on the basis of the memory addresses and contents. In particular, the complete program along with the associated constant values and possible application data can thus be restored, so that decryption would also be conceivable even for programs or functions that are actually to be kept secret.
Gerade bei geheimhaltungsbedürftigen Programmabläufen oder Informationsinhalten ist somit eine Absicherung gegen unberechtigten Zugriff nur bedingt möglich.Protection against unauthorized access is therefore only possible to a limited extent, particularly in the case of program sequences or information content requiring confidentiality.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum Betreiben einer Datenverarbeitungseinheit der oben genannten Art anzugeben, mit dem in der Art einer zuverlässigen Geheimhaltung eine besonders günstige Absicherung gegen un- authorisiertes Entschlüsseln von auf der Datenverarbeitungseinheit hinterlegten Programmen möglich ist. Zudem soll ein für die Durchführung des Verfahrens besonders geeignetes Datenverarbeitungssystem mit einer derartigen Datenverarbeitungseinheit angegeben werden.The invention is therefore based on the object of specifying a method for operating a data processing unit of the type mentioned above, with which, in the manner of reliable secrecy, it is possible to provide particularly favorable protection against unauthorized decryption of programs stored on the data processing unit. In addition, a data processing system with such a data processing unit that is particularly suitable for carrying out the method is to be specified.
Bezüglich des Verfahrens wird diese Aufgabe erfindungsgemäß gelöst, indem vor einem Zugriff der Datenverarbeitungseinheit auf die Speichereinheit die von der Datenverarbeitungseinheit jeweils ausgegebene Zieladresse über einen hinterlegten Ver- schlüsselungsalgorithmus in eine tatsächliche Zieladresse umgesetzt wird.With regard to the method, this object is achieved according to the invention in that, before the data processing unit accesses the storage unit, the destination address output by the data processing unit is converted into an actual destination address using a stored encryption algorithm.
Die Erfindung geht dabei von der Überlegung aus, dass für die Datenverarbeitungseinheit eine besonders wirkungsvolle Absi- cherung gegen die Rekonstruktion hinterlegter Programme erreichbar ist, indem die für eine Rekompilierung erforderliche systematische Zusammenfügung einzelner Programmbausteine und Dateninhalte systematisch erschwert wird. Dazu sollte eine geeignete Verschleierung von Querverknüpfungen zwischen einzelnen Bestandteilen oder Elementen der hinterlegten Programme oder Dateninhalte vorgesehen sein. Als ein besonders geeigneter Ansatzpunkt hierfür ist eine gezielte Verschleierung der Zieladressen vorgesehen, über die die Datenverarbeitungseinheit selektiv auf die Speichereinheit zugreift. Mit einer derartigen Verschlüsselung der Zieladressen ist somit ein konsistentes Zusammenfügen einzelner Programmelemente ohne Kenntnis des für die Verschleierung verwendeten Verschlüsselungsalgorithmus weitgehend ausgeschlossen. Mit der Verschlüsselung wird insbesondere die sogenannte Einsprungs- tabelle oder Interrupt-Vektor-Tabelle geeignet modifiziert, in der insbesondere die Zieladressen für die Initialisierung von Unterfunktionen oder Unterprogrammen auf der Speichereinheit hinterlegt sind.The invention is based on the consideration that a particularly effective protection against the reconstruction of stored programs can be achieved for the data processing unit by the systematic combination of individual program modules and necessary for recompilation Systematically complicates data content. For this purpose, a suitable concealment of cross-links between individual components or elements of the stored programs or data content should be provided. A particularly suitable starting point for this is a targeted concealment of the target addresses via which the data processing unit selectively accesses the memory unit. With such an encryption of the destination addresses, a consistent joining together of individual program elements without knowledge of the encryption algorithm used for the obfuscation is largely ruled out. The encryption, in particular, suitably modifies the so-called entry table or interrupt vector table, in which in particular the destination addresses for the initialization of subfunctions or subroutines are stored on the memory unit.
Zur Verschlüsselung kann ein geeigneter Verschlüsselungsalgorithmus wie beispielsweise DES, Triple DES o.a. eingesetzt sein. Eine besonders wirksame Verschleierung der verwendeten Zieladressen ist dabei auf einfache Weise erreichbar, indem vorteilhafterweise zur Umsetzung der Zieladresse in die tatsächliche Zieladresse ein Verschlüsselungsalgorithmus auf Basis eines CRC ("Cyclic Redundancy Check" ) -Polynoms verwendet wird.A suitable encryption algorithm such as DES, Triple DES or the like can be used for encryption. be used. A particularly effective concealment of the destination addresses used can be achieved in a simple manner by advantageously using an encryption algorithm based on a CRC ("Cyclic Redundancy Check") polynomial to convert the destination address into the actual destination address.
Für eine besonders hohe Absicherung gegen unauthorisierte Entschlüsselung hinterlegter Programme ist zudem vorgesehen, dass eine Übertragung von bei der Analyse einer Datenverar- beitungseinheit gewonnenen Erkenntnissen auf eine baugleiche, andere Datenverarbeitungseinheit grundsätzlich unmöglich ist. Dazu wird vorteilhafterweise selbst für den Fall, dass eine Herstellung der jeweiligen Datenverarbeitungseinheit in vergleichsweise großen Stückzahlen vorgesehen ist, für jede in- dividuelle Datenverarbeitungseinheit spezifisch ein eigener, nicht auf eine baugleiche andere Datenverarbeitungseinheit übertragbarer Verschlüsselungsalgorithmus verwendet. Damit ist selbst für den Fall, dass in der Art eines unauthorisier- ten Zugriffs durch Demontage der Datenverarbeitungseinheit von deren sämtlichen Komponenten inklusive den für die Speicherung des Verschlüsselungsalgorithmus vorgesehenen Elemβn- ten ein komplettes Speicherabbild beschafft wird, die Nutzung von daraus gewonnenen Erkenntnissen für die unauthorisierte Entschlüsselung baugleicher, anderer Datenverarbeitungseinheiten ausgeschlossen.For a particularly high level of security against unauthorized decryption of stored programs, it is also provided that it is fundamentally impossible to transfer the knowledge gained in the analysis of a data processing unit to an identical, different data processing unit. For this purpose, even in the event that the respective data processing unit is to be manufactured in comparatively large numbers, an individual encryption algorithm is used specifically for each individual data processing unit that cannot be transferred to an identical data processing unit. In order to Even in the event that a type of unauthorized access is obtained by dismantling the data processing unit from all of its components, including the elements provided for storing the encryption algorithm, a complete memory image is used, the knowledge gained from this is used for the unauthorized decryption identical, other data processing units excluded.
Bezüglich des Datenverarbeitungssystems wird die genannteWith regard to the data processing system, the aforementioned
Aufgabe gelöst mit einem datenseitig zwischen die Datenverarbeitungseinheit und die Speichereinheit geschalteten Codiermodul, das bei einem Zugriff auf die Speichereinheit die von der Datenverarbeitungseinheit jeweils ausgegebene Zieladresse in eine tatsächliche Zieladresse umsetzt.The object is achieved with a coding module which is connected on the data side between the data processing unit and the storage unit and which converts the destination address output by the data processing unit into an actual destination address when the storage unit is accessed.
Vorteilhafterweise greift das Codiermodul dabei zur Umsetzung der Zieladressen auf ein CRC-Polynom zurück. In weiterer vorteilhafter Ausgestaltung ist das CRC-Polynom dabei individu- eil für die jeweilige Datenverarbeitungseinheit erzeugt, so dass eine spezifisch auf die jeweilige Datenverarbeitungseinheit zugeschnittene, nicht übertragbare Codierung erreichbar ist.The coding module advantageously uses a CRC polynomial to convert the target addresses. In a further advantageous embodiment, the CRC polynomial is generated individually for the respective data processing unit, so that a non-transferable coding that is specifically tailored to the respective data processing unit can be achieved.
Eine weitere Absicherung insbesondere im Hinblick auf unauthorisierte analytische Zugriffe auf die jeweilige Datenverarbeitungseinheit ist erreichbar, indem das Datenverarbeitungssystem vorteilhafterweise ein Controllermodul umfasst, das die Zugriffe auf die Speichereinheit steuert, wobei die das Codiermodul bildenden Elemente, insbesondere die für die Verschlüsselung der Zieladressen verwendeten funktionalen Bestandteile, dezentral hinterlegt sind. Durch eine derartige dezentrale Hinterlegung ist nämlich eine geschlossene, konsistente Entschlüsselung des insgesamt verwendeten Verschlüs- selungsverfahrens nicht ohne weiteres möglich. Um dabei auch eine besonders gute Absicherung gegen eine Informationsbeschaffung durch destruktive und/oder invasive Maßnahmen in die Hardwarekomponenten zu erreichen, sind die das Codiermodul bildenden Elemente in weiterer vorteilhafter Ausgestaltung in einem räumlich schwer zugänglichen Bereich des Controllermoduls hinterlegt. Als räumlich schwer zugänglicher Bereich kommt dabei insbesondere ein in der Hardwarearchitektur des Controllermoduls vergleichsweise tief- oder innenliegender Bereich in Betracht, der destruktiv oder inva- siv lediglich nach Abtrag anderer wesentlicher Bestandteile des Controllermoduls zugänglich ist.A further safeguard, in particular with regard to unauthorized analytical access to the respective data processing unit, can be achieved by the data processing system advantageously comprising a controller module that controls access to the storage unit, the elements forming the coding module, in particular the functional components used for the encryption of the destination addresses , are stored decentrally. Such a decentralized deposit does not allow closed, consistent decryption of the encryption method used overall. In order to achieve particularly good protection against information acquisition by destructive and / or invasive measures in the hardware components, the elements forming the coding module are stored in a further advantageous embodiment in an area of the controller module that is difficult to access. An area that is difficult to access in spatial terms is, in particular, an area that is comparatively deep or internal in the hardware architecture of the controller module and that is accessible destructively or invasively only after removal of other essential components of the controller module.
Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, dass gerade durch die Verschlüsselung der Ziela- dressen beim bedarfsweisen Zugriff der Datenverarbeitungseinheit auf die Speichereinheit bei einem unauthorisierten Zugriff auf die Speicherinhalte eine konsistente Rekonstruktion der hinterlegten Programme oder Funktionseinheiten weitgehend ausgeschlossen ist. Die Programm- und Dateninhalte sind somit nicht ohne weiteres auslesbar, wobei insbesondere möglicherweise unauthorisiert gewonnenes Datenmaterial ohne Kenntnis des bei der Verschlüsselung verwendeten Verfahrens und seiner Parameter nicht verwertet werden kann. Gerade das solchermaßen mögliche "Verstecken" oder "Verbergen" der Einsprung- oder Interrupt-Vektor-Tabelle auf der Speichereinheit unterbindet vergleichsweise wirkungsvoll ein Redesign von programmierter Software. Durch eine zusätzliche generische Abwandlung des Codes bei der individuellen Programmierung des Controllers oder der Datenverarbeitungseinheit lasen sich auch bei der Übertragung von Erkenntnissen zwischen Datenverarbeitungseinheiten gleichen Typs keine Rückschlüsse mehr auf die Struktur von dort hinterlegten Programmen ziehen.The advantages achieved by the invention consist in particular in that the encryption of the target addresses when the data processing unit accesses the memory unit as required, in the event of unauthorized access to the memory contents, largely precludes a consistent reconstruction of the stored programs or functional units. The program and data contents are therefore not readily readable, and in particular data material that may have been obtained without authorization cannot be used without knowledge of the method used for the encryption and its parameters. The "hiding" or "hiding" of the entry or interrupt vector table on the memory unit that is possible in this way comparatively effectively prevents a redesign of programmed software. An additional generic modification of the code in the individual programming of the controller or the data processing unit means that no more conclusions can be drawn about the structure of programs stored there, even when knowledge is transferred between data processing units of the same type.
Ein Ausführungsbeispiel der Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigt die Figur schematisch ein Datenverarbeitungssystem. Das Datenverarbeitungssystem 1 gemäß der Figur umfasst eine Datenverarbeitungseinheit 2, die bestimmungs- und funktionsabhängig nach vorgegebenen Ablaufplänen Berechnungs- oder Steuerungsaufgaben abwickelt. Dazu werden bei der Programmie- rung der Datenverarbeitungseinheit 2 geeignete Programme oder Module hinterlegt, die für sich genommen oder in ihrem Zusammenspiel die vorgegebenen Funktionsabläufe erfüllen.An embodiment of the invention is explained in more detail with reference to a drawing. The figure schematically shows a data processing system. The data processing system 1 according to the figure comprises a data processing unit 2 which, depending on the determination and function, handles calculation or control tasks according to predetermined flow charts. For this purpose, suitable programs or modules are stored in the programming of the data processing unit 2, which, taken on their own or in their interaction, fulfill the specified functional sequences.
Beispielsweise zur Initialisierung weiterer Unterfunktionen oder auch zur Beschaffung notwendiger Zwischen- oder Zusatzdaten greift die Datenverarbeitungseinheit 2 bedarfsweise auf eine zugeordnete Speichereinheit 4 zu. Dabei löst das in der Datenverarbeitungseinheit jeweils gerade ablaufende Programm oder Modul zur bedarfsweisen Beschaffung weiterer Informatio- nen oder zum bedarfsweisen Aufruf weiterer Funktionen den Zugriff auf die Speichereinheit 4 aus, wobei zum Auffinden der korrekten jeweils benötigten Daten auf der Speichereinheit 4 auf eine zugeordnete, den jeweils genutzten Speicherbereich charakterisierende Zieladresse zurückgegriffen wird. Diese Zieladresse wird von der Datenverarbeitungseinheit 2 mit an die Speichereinheit 4 ausgegeben, so dass der Aufruf der korrekten jeweils benötigten Daten sichergestellt ist.For example, for the initialization of further sub-functions or also for the acquisition of necessary intermediate or additional data, the data processing unit 2 accesses an assigned storage unit 4 as required. The program or module that is currently running in the data processing unit triggers access to the storage unit 4 to obtain additional information as required or to call up additional functions as required, with an associated, the target address characterizing the memory area used is used. This destination address is also output by the data processing unit 2 to the storage unit 4, so that the call up of the correct data required in each case is ensured.
Allerdings könnte bei einem unauthorisierten Zugriff auf die Speicherinhalte in der Datenverarbeitungseinheit 2 und der Speichereinheit 4 bei Kenntnis der die einzelnen Segmente miteinander verknüpfenden Zieladressen eine Entschlüsselung der in ihrer Gesamtheit im Datenverarbeitungssystem 2 ablaufenden Programme durch geeignete Rekonstruktion der einzelnen Bestandteile möglich sein. Das Datenverarbeitungssystem 1 ist jedoch dafür ausgelegt, einen derartigen unauthorisierten Eingriff zur Entschlüsselung möglicherweise geheimnisrelevanter Informationen sicher zu unterbinden.However, in the event of unauthorized access to the memory contents in the data processing unit 2 and the memory unit 4, if the destination addresses linking the individual segments are known, the programs running in their entirety in the data processing system 2 can be decrypted by suitable reconstruction of the individual components. However, the data processing system 1 is designed to reliably prevent such an unauthorized intervention for decrypting information that may be secret.
Dazu ist datenseitig zwischen die Datenverarbeitungseinheit 2 und die Speichereinheit 4 ein Codiermodul 6 geschaltet. Das Codiermodul 6 setzt dabei unter Rückgriff auf ein CRC-Polynom in der Art einer Verschlüsselung die bei einem Zugriff der Datenverarbeitungseinheit 2 auf die Speichereinheit 4 eintreffenden, zur Charakterisierung des Speicherorts für die jeweiligen Daten mitgelieferten Zieladressen in tatsächliche Zieladressen um. Dabei wird beispielsweise die sogenannteFor this purpose, a coding module 6 is connected on the data side between the data processing unit 2 and the storage unit 4. The coding module 6 uses a CRC polynomial in the manner of an encryption, the destination addresses which arrive when the data processing unit 2 accesses the storage unit 4 and which are used to characterize the storage location for the respective data are converted into actual destination addresses. For example, the so-called
Einsprungs- oder Interrupt-Vektor-Tabelle durch Verschlüsselung auf der Grundlage des CRC-Polynoms geeignet modifiziert. Anschließend gibt das Codiermodul 6 die solchermaßen umgesetzten tatsächlich genutzten Zieladressen gemeinsam mit mög- licherweise zusätzlich benötigten Daten an die Speichereinheit 4 weiter, so dass das Auslesen der angeforderten Daten anhand der im Codiermodul generierten, tatsächlichen Zieladressen erfolgt . Die solchermaßen ausgelesenen Daten werden unter Umgehung des Codiermoduls 6 über eine Datenleitung 8 an die Datenverarbeitungseinheit 2 zurückgegeben.Entry or interrupt vector table appropriately modified by encryption based on the CRC polynomial. The coding module 6 then forwards the actually used target addresses converted in this way, together with any additional data which may be required, to the memory unit 4, so that the requested data are read out on the basis of the actual target addresses generated in the coding module. The data read in this way are returned to the data processing unit 2 bypassing the coding module 6 via a data line 8.
Hardewareseitig umfasst das DatenverarbeitungsSystem 1 ein im schematischen Aufbau nach der Figur nicht mehr dargestelltes Controllermodul, das physikalisch die einzelnen Zugriffe der Datenverarbeitungseinheit 2 auf die Speichereinheit 4 steuert. In diesem Controllermodul sind die in ihrer Gesamtheit das Codiermodul 6 bildenden Elemente dezentral und zudem an einer räumlich schwer zugänglichen Stelle hinterlegt, so dass auch bei destruktiven oder invasiven Eingriffen in das Controllermodul eine Rekonstruktion der verwendeten Verschlüsselungsverfahren nicht möglich ist. On the hardware side, the data processing system 1 comprises a controller module, which is no longer shown in the schematic structure according to the figure, and which physically controls the individual accesses of the data processing unit 2 to the memory unit 4. In this controller module, the elements that form the coding module 6 in their entirety are decentralized and also stored in a location that is difficult to access in space, so that even in the event of destructive or invasive interventions in the controller module, it is not possible to reconstruct the encryption methods used.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
1 DatenverarbeitungsSystem1 data processing system
2 Datenverarbeitungseinheit 4 Speichereinheit2 data processing unit 4 storage unit
6 Codiermodul 8 Datenleitung 6 coding module 8 data line

Claims

Patentansprüche claims
1. Verfahren zum Betreiben einer Datenverarbeitungseinheit (2), die bedarfsweise unter Rückgriff auf spezifisch hinter- legte Zieladressen Daten aus einer zugeordneten Speichereinheit (4) einliest, wobei vor einem Zugriff auf die Speichereinheit (4) die von der Datenverarbeitungseinheit (2) jeweils ausgegebene Zieladresse über einen hinterlegten Verschlüsselungsalgorithmus in eine tatsächliche Zieladresse um- gesetzt wird.1. Method for operating a data processing unit (2) which, if necessary, reads in data from an assigned storage unit (4) using specifically stored destination addresses, the output from the data processing unit (2) being output before access to the storage unit (4) The destination address is converted into an actual destination address using a stored encryption algorithm.
2. Verfahren nach Anspruch 1, bei dem zur Umsetzung der Zieladresse ein Verschlüsselungsalgorithmus auf Basis eines CRC-Polynoms verwendet wird.2. The method according to claim 1, in which an encryption algorithm based on a CRC polynomial is used to convert the destination address.
3. Verfahren nach Anspruch 1 oder 2, bei dem zur Umsetzung der Zieladresse ein spezifisch für die Datenverarbeitungs- einheit (2) erzeugter Verschlüsselungsalgorithmus verwendet wird.3. The method according to claim 1 or 2, in which an encryption algorithm generated specifically for the data processing unit (2) is used to convert the destination address.
4. Datenverarbeitungssystem (1), insbesondere zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 3, mit einer Datenverarbeitungseinheit (2), die bedarfsweise unter Rückgriff auf spezifisch hinterlegte Zieladressen Daten aus einer zugeordneten Speichereinheit (4) einliest, und mit einem datenseitig zwischen die Datenverarbeitungseinheit (2) und die Speichereinheit (4) geschalteten Codiermodul (6) , das bei einem Zugriff auf die Speichereinheit (4) die von der Datenverarbeitungseinheit (2) jeweils ausgegebene Zieladresse in einen tatsächliche Zieladresse umsetzt.4. Data processing system (1), in particular for carrying out the method according to one of claims 1 to 3, with a data processing unit (2) which, if necessary, reads in data from an assigned storage unit (4) using specifically stored destination addresses, and with a data side between the data processing unit (2) and the memory unit (4) are connected coding module (6) which, when the memory unit (4) is accessed, converts the destination address output by the data processing unit (2) into an actual destination address.
5. Datenverarbeitungseinheit (2) nach Anspruch 4, dessen Codiermodul (6) zur Umsetzung der Zieladressen auf ein CRC- Polynom zurückgreift. 5. Data processing unit (2) according to claim 4, whose coding module (6) uses a CRC polynomial to convert the destination addresses.
6. DatenverarbeitungsSystem (1) nach Anspruch 5, bei dem das CRC-Polynom individuell für die Datenverarbeitungseinheit (2) erzeugt ist.6. Data processing system (1) according to claim 5, in which the CRC polynomial is generated individually for the data processing unit (2).
7. Datenverarbeitungssystem (1) nach einem der Ansprüche 4 bis 6 mit einem Controllermodul, das die Zugriffe auf die Speichereinheit (4) steuert, und in dem die das Codiermodul (6) bildenden Elemente dezentral hinterlegt sind.7. Data processing system (1) according to one of claims 4 to 6 with a controller module that controls the access to the memory unit (4), and in which the elements forming the coding module (6) are stored decentrally.
8. Datenverarbeitungssystem (1) nach Anspruch 7, bei dem das Codiermodul (6) bildende Elemente in einem räumlich schwer zugänglichen Bereich des Controllermoduls hinterlegt sind. 8. Data processing system (1) according to claim 7, in which the coding module (6) forming elements are stored in a spatially difficult to access area of the controller module.
PCT/DE2004/000794 2003-04-25 2004-04-14 Method for the operation of a data processing unit and data processing system for carrying out the method WO2004097646A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE112004001223T DE112004001223D2 (en) 2003-04-25 2004-04-14 Method for operating a data processing unit and data processing system for carrying out the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2003118730 DE10318730A1 (en) 2003-04-25 2003-04-25 Method for operating a data processing unit and data processing system for performing the method
DE10318730.8 2003-04-25

Publications (2)

Publication Number Publication Date
WO2004097646A2 true WO2004097646A2 (en) 2004-11-11
WO2004097646A3 WO2004097646A3 (en) 2005-04-14

Family

ID=33154405

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2004/000794 WO2004097646A2 (en) 2003-04-25 2004-04-14 Method for the operation of a data processing unit and data processing system for carrying out the method

Country Status (2)

Country Link
DE (2) DE10318730A1 (en)
WO (1) WO2004097646A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596644B2 (en) 2006-01-11 2009-09-29 Solarflare Communications, Inc. Transmit rate pacing system and method
EP2363807B1 (en) * 2005-09-21 2020-03-25 Xilinx, Inc. Address encryption/rate pacing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4120030A (en) * 1977-03-11 1978-10-10 Kearney & Trecker Corporation Computer software security system
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
EP0617383A2 (en) * 1993-03-20 1994-09-28 Motorola, Inc. Data storage device
FR2716550A1 (en) * 1994-02-24 1995-08-25 Bertin & Cie Embedded encrypted bulk memory with data protection
US20020144208A1 (en) * 2001-03-30 2002-10-03 International Business Machines Corporation Systems and methods for enabling computation of CRC' s N-bit at a time
WO2002093387A2 (en) * 2001-05-17 2002-11-21 Koninklijke Philips Electronics N.V. Method and device for protecting data transmission between a central processor and a memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2704341B1 (en) * 1993-04-22 1995-06-02 Bull Cp8 Device for protecting the keys of a smart card.
DE10130797A1 (en) * 2001-06-26 2003-01-02 Infineon Technologies Ag Interface for data transmission
DE10131575A1 (en) * 2001-07-02 2003-01-16 Bosch Gmbh Robert Method for protecting a microcomputer system against manipulation of data stored in a memory arrangement of the microcomputer system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4120030A (en) * 1977-03-11 1978-10-10 Kearney & Trecker Corporation Computer software security system
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
EP0617383A2 (en) * 1993-03-20 1994-09-28 Motorola, Inc. Data storage device
FR2716550A1 (en) * 1994-02-24 1995-08-25 Bertin & Cie Embedded encrypted bulk memory with data protection
US20020144208A1 (en) * 2001-03-30 2002-10-03 International Business Machines Corporation Systems and methods for enabling computation of CRC' s N-bit at a time
WO2002093387A2 (en) * 2001-05-17 2002-11-21 Koninklijke Philips Electronics N.V. Method and device for protecting data transmission between a central processor and a memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KRAWCZYK H ED - DESMEDT Y G INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH: "LFSR-BASED HASHING AND AUTHENTICATION" ADVANCES IN CRYPTOLOGY (CRYPTO). SANTA BARBARA, AUG. 21 - 25, 1994, PROCEEDINGS OF THE ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE (CRYPTO), BERLIN, SPRINGER, DE, Bd. CONF. 14, 21. August 1994 (1994-08-21), Seiten 129-139, XP000467659 ISBN: 3-540-58333-5 *

Also Published As

Publication number Publication date
WO2004097646A3 (en) 2005-04-14
DE112004001223D2 (en) 2006-03-30
DE10318730A1 (en) 2004-11-11

Similar Documents

Publication Publication Date Title
DE69729557T2 (en) METHOD AND APPARATUS FOR SOFTWARE ACCESS TO A MICROPROCESSOR SERIAL NUMBER
EP0932867B1 (en) Electronic data processing circuit
DE60127310T2 (en) DEVICE FOR PROTECTING DIGITAL DATA
DE112012006329B4 (en) Programmable logic controller with authentication unit and encryption filter to restrict access
EP2193471A1 (en) Method and system for the protection against access to a machine code of a device
EP2510475B1 (en) Hardware device
WO2004097646A2 (en) Method for the operation of a data processing unit and data processing system for carrying out the method
EP2394232B1 (en) Device and method for preventing unauthorized use and/or manipulation of software
EP2405317B1 (en) Method for entering parameters for a security device securely
DE10125383B4 (en) Encryption of control programs
DE10347431B4 (en) Remote maintenance system with access to data requiring authorization
EP2524333A1 (en) Method for providing a secure counter on a terminal
DE10101972A1 (en) Device with a control device and a non-volatile memory and method for operating such a device
WO2006063876A1 (en) Method and device for encoding and for carrying out a software library
WO2006133934A1 (en) Method for operating a portable data carrier
EP3441945A1 (en) Method for operating an access control system comprising a server, at least one access control device and at least one point-of-sale terminal for access rights for the area covered by the access control system
EP0732657B1 (en) Method and apparatus for enciphering and deciphering information
EP0137075B1 (en) Method for the protection of machine readable programmes against reading and copying
DE69738364T2 (en) Process for preserving the completeness of software
EP1394680A1 (en) Procedure for providing data
DE4419635C2 (en) Microcontroller backup procedures
DE10051941C2 (en) Device-specific write protection coupling to protect digital data processing systems against intruders during the installation phase of programs
DE3633297A1 (en) Highly effective system to protect software against unauthorised use or misuse on computer system(s) other than that (those) which are supplied with a protective system
WO2022013213A1 (en) Computer-implemented method for reading and storing patient data
WO2024038210A1 (en) Method for providing a digital key

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): 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 KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REF Corresponds to

Ref document number: 112004001223

Country of ref document: DE

Date of ref document: 20060330

Kind code of ref document: P

122 Ep: pct application non-entry in european phase