EP1118941B1 - Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung - Google Patents

Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung Download PDF

Info

Publication number
EP1118941B1
EP1118941B1 EP00100954A EP00100954A EP1118941B1 EP 1118941 B1 EP1118941 B1 EP 1118941B1 EP 00100954 A EP00100954 A EP 00100954A EP 00100954 A EP00100954 A EP 00100954A EP 1118941 B1 EP1118941 B1 EP 1118941B1
Authority
EP
European Patent Office
Prior art keywords
memory
data
key
microprocessor arrangement
arrangement according
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.)
Expired - Lifetime
Application number
EP00100954A
Other languages
English (en)
French (fr)
Other versions
EP1118941A1 (de
Inventor
Holger Sedlak
Berndt Gammel
Oliver Kniffler
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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
Priority to DE50014893T priority Critical patent/DE50014893D1/de
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to AT00100954T priority patent/ATE382897T1/de
Priority to EP00100954A priority patent/EP1118941B1/de
Priority to PCT/DE2001/000018 priority patent/WO2001053931A2/de
Priority to JP2001554159A priority patent/JP2003521034A/ja
Priority to CNB018038042A priority patent/CN1202478C/zh
Publication of EP1118941A1 publication Critical patent/EP1118941A1/de
Priority to US10/197,792 priority patent/US7526655B2/en
Application granted granted Critical
Publication of EP1118941B1 publication Critical patent/EP1118941B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • 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 microprocessor arrangement comprising a processing unit and a memory coupled to the processing unit for performing a read or write access.
  • the invention also relates to a method of operating a microprocessor device having such a memory.
  • Microprocessors need a memory to store permanently or volatile data or programs to be processed. During execution of the program, the microprocessor accesses the memory to load currently needed program parts or data.
  • microprocessors are used in safety-critical systems, for example in chip cards.
  • the microprocessor is used there to encrypt data traffic or to handle other security-critical applications for the chip card holder.
  • Safety-critical data and programs are stored in the volatile and non-volatile memory units of the microprocessor. In order to prevent spying and visualization of this information, such data is stored in encrypted form.
  • the encryption method is relatively expensive and requires corresponding hardware complexity and computing time during the read and write accesses to these memories.
  • the data currently to be processed by the central processing and control unit (CPU) of the microprocessor are therefore cached in further memories which can respond much faster.
  • a cache memory is provided in the data to be read from the slower encrypted memories or to be written there be cached.
  • registers are provided in which current data values to be processed or operating settings are temporarily stored.
  • the object of the invention is to provide a microprocessor arrangement which has a higher security against spying stored data.
  • Another object of the invention is to provide a method of operating a microprocessor device having a memory.
  • a microprocessor arrangement comprising: a processing unit; a memory coupled to the processing unit for performing a read or write access; a cryptographic unit for encrypting and decrypting data values written or read into the memory; Means for providing a variable key, wherein the means are controllable such that the key is changed, if in memory no more read data values are included.
  • this object is achieved by a method for operating a microprocessor arrangement which a processing unit and a memory coupled to the processing unit for performing a read or write access in which, during access to the memory by the microprocessor device, the data values are encrypted or decrypted according to a key and the key is changed if none data to be read is more contained in the memory.
  • a cryptographic unit is inserted in the access path to a memory which is coupled to the processing unit, for example a cache memory or a register.
  • the key under whose use the encryption or decryption is operated is changed. So that the reading in and out of the memory can be carried out with the same key, the key is changed only if no readable data values are contained in the memory.
  • the encryption process itself can be relatively simple. The data are stored in non-volatile memory, so that even after switching off the supply voltage no usable information is available and repeated Auslese Listee have no success. During operation, the time available to spy the key up to a key change is low. Overall, the combination of changeable keys with a simple encryption method provides sufficiently high security against attack.
  • the invention is particularly useful in conjunction with another, slower memory in which the data is stored with hard, expensive encryption.
  • the data is temporarily buffered for provision to the central processing unit of the processor in the memory connected according to the invention.
  • the other hard-coded memories can be nonvolatile memories such as ROMs or E 2 PROMs or volatile RAMs.
  • the CPU accesses this memory via a bus.
  • the cache memory is located between bus and CPU.
  • the registers are conventionally connected directly to the CPU.
  • the cache memory is characterized in that in an access request to an external, ie only accessible via the bus memory first checks whether a data value is included in the cache memory.
  • the cache memory contains a memory field for this purpose in order to be able to determine the presence of the requested data value.
  • the memory cells of the memory cell array are static or dynamic memory cells.
  • a register bank is characterized by containing a plurality of registers directly accessible by the CPU. For example, the registers provide operands for logic operations to be processed in the CPU, or status and configuration set values.
  • the register cells are designed as bistable flip-flops or flip-flops.
  • the circuitry overhead for encryption provides logical linking elements, conveniently exclusive-OR gates, connected in the data lines in the access path of the memory.
  • the memory data to be stored or read is linked to a keyword via the Exclusive OR gates.
  • the keyword is provided by a register which contains the key that can be changed from time to time.
  • the keywords are preferably generated randomly.
  • a random number generator is used, which is connected on the output side to the key register. The random generator provides the key physically randomly or pseudo-randomly.
  • the random number generator is then caused to provide a new keyword when there is no valid data left in memory. This is true, on the one hand, when all data read into the memory has already been read out again. On the other hand, this also applies if the processor is switched to another application and is reinitialized for this purpose. Conventionally, then, the contents of the memory had to be completely erased, so that data from the previous application is no longer available for the subsequent application. In the invention, initializing the memory by resetting each memory cell is no longer required. Rather, it is enough to change only the key randomly. The data values contained in the memory are then no longer decryptable. Resetting each individual memory cell is no longer necessary.
  • the microprocessor according to FIG. 1 comprises a data bus 1, via which the various functional units of the microprocessor exchange data, control or program information with one another.
  • the data bus 1 comprises a plurality of lines for transmitting the useful and control information.
  • a central processing unit 2 controls the program flow and performs calculations.
  • Data and program information are permanently stored immutable in a ROM memory 3 or permanently changed in one E 2 PROM 4.
  • Volatile data is stored in a RAM memory 5.
  • at least one peripheral unit 6 is provided to receive data from the outside or to deliver it to the outside. All functional units are arranged on a single integrated semiconductor chip.
  • the units 2, ..., 6 are all connected to the bus 1 and exchange about the information to be processed. Access control to the bus is monitored by a bus control unit 7.
  • the data stored in the memories 3, 4, 5 are encrypted.
  • the data values are output to the bus, the data is decrypted and forwarded as plain text.
  • a corresponding encryption and decryption unit 71 (MED - Memory En- / Decryption).
  • the unit 71 obtains a corresponding encryption. Since the data contained in the memories 3, 4, 5 are longer-term volatile or non-volatile, the cryptographic method processed by the MED unit 71 is correspondingly expensive. Memory access takes a relatively long time.
  • each of the memories 3, 4, 5 can be assigned directly to a cryptographic unit.
  • a cache memory 8 is provided.
  • the memory 8 is located in the signal path between the bus controller 7 and the CPU 2.
  • the data currently requested by the CPU 2 and a suitable environment of this data are buffered.
  • a read request to one of the memories 3, 4, 5 is processed in such a way that it is first checked in the cache memory 8 whether the requested data is contained there. If not, the data and the corresponding environment are reloaded from the external memories into the cache. If the requested data is contained in the cache 8, reloading is unnecessary.
  • the cache memory 8 is divided into an instruction cache memory and a data cache memory in the embodiment. In the former, command sequences of the program being processed are buffered, in the latter the associated data. In principle, other structures for the cache memory are possible.
  • the cache memory can also be designed as a shared cache for instructions and data (unified cache). Again, in the case of an associative cache memory architecture, such a unit is divided into an associative memory for the addresses and the associated command / data memory portion. Querying associative memory quickly determines if the requested date is in the cache. If the date does not exist (so-called cache miss), a request for reloading is output to the corresponding external memory. Corresponding processes run back into the RAM 5 when writing a data value.
  • the information received via the bus 1 is encrypted in plain text by a cryptographic unit 81.
  • the device 81 decrypts the data stored encrypted in the cache memory 8.
  • they are decrypted by a cryptographic unit 82.
  • the unit 82 encrypts information to be cached in the cache memory 8.
  • the key supplied to the cryptographic units 81, 82 is identical and is changed randomly if there are no longer valid data to be read in the cache memory 8.
  • Operators and status information for the CPU 2 are stored in a register bank 9.
  • One or more of the registers arranged in the register bank 9 can be directly and immediately accessed by the CPU 2.
  • the current key used in the units 81 and 82 on the one hand and the unit 91 on the other hand is suitably different.
  • a key register 83 contains the currently used key.
  • the key is provided by a random generator 84 which generates the keyword physically true random or pseudorandom.
  • Respective exclusive OR gates 85a, 85b and 85c are connected in the data signal or bit lines carrying the information written in or read from the cache memory 8.
  • Each of the exclusive-OR gates 85 is also connected to an output of the register 83.
  • the exclusive-OR gates 85 are located both on the side facing the bus 1 and on the CPU 2 side facing the cache memory 8.
  • keyword encryption When reading data in the cache memory 8 is due to the exclusive-OR operation of the data values with the supplied from the register 83 keyword encryption.
  • complementary decryption is performed by the same exclusive-OR operation with the same keyword.
  • the keyword provided by the register 83 must remain unchanged unchanged.
  • Each of the n bit lines corresponds to one bit of the keyword.
  • the keyword is changed when the cache memory 8 does not contain any valid data, ie such data which is still to be read out. Then, the random generator 84 is activated to calculate a randomly generated new keyword. There are no longer valid data in the memory 8 if all the data stored there are read out again. Furthermore, the keyword is when initializing the Cache memory 8, a so-called cache flush to change. A cache flush takes place, for example, when the program processed by the microprocessor changes, when the application, ie the application in which the microprocessor is used, changes.
  • the cryptographic unit 91 is constructed according to one of the cryptographic units in the access path to the cache memory 8 in detail. Its key register is then loaded with a new random value if all the registers of the register bank 9 no longer contain any valid data to be read or have to be reinitialized.
  • the invention provides increased security of spying on temporarily stored data by encrypting the data and changing the key from time to time. Even if the program flow is the same for several times, the stored data is different due to different keys.

Description

  • Die Erfindung betrifft eine Mikroprozessoranordnung mit einer Verarbeitungseinheit und einem Speicher, der zur Ausführung eines Lese- oder Schreibzugriffs mit der Verarbeitungseinheit gekoppelt ist.
  • Die Erfindung betrifft außerdem ein Verfahren zum Betreiben einer Mikroprozessoranordnung mit einem solchen Speicher.
  • Mikroprozessoren benötigen einen Speicher, um dauerhaft oder flüchtig zu verarbeitende Daten oder Programme zu speichern. Bei der Abarbeitung des Programms greift der Mikroprozessor auf den Speicher zu, um aktuell benötigte Programmteile oder Daten zu laden. Mikroprozessoren finden unter anderem Anwendung in sicherheitskritischen Systemen, beispielsweise in Chipkarten. Der Mikroprozessor wird dort unter anderem dazu verwendet, um Datenverkehre zu verschlüsseln oder andere sicherheitskritische Anwendungen für den Chipkarteninhaber abzuwickeln. Dabei sind sicherheitskritische Daten und Programme in den flüchtigen und nichtflüchtigen Speichereinheiten des Mikroprozessors gespeichert. Um ein Ausspähen und Sichtbarmachen dieser Informationen zu verhindern, sind solche Daten verschlüsselt gespeichert. Das Verschlüsselungsverfahren ist relativ aufwendig und erfordert entsprechenden Hardware-Aufwand und Rechenzeit während den Lese- und Schreibzugriffen auf diese Speicher.
  • Die aktuell von der zentralen Verarbeitungs- und Steuereinheit (CPU) des Mikroprozessors zu verarbeitenden Daten werden daher in weiteren Speichern zwischengespeichert, die wesentlich schneller antworten können. Zum einen ist ein Cache-Speicher vorgesehen, in dem aus den langsameren verschlüsselten Speichern auszulesende oder dorthin zu schreibende Daten zwischengespeichert werden. Zum anderen sind Register vorgesehen, in denen aktuelle zu verarbeitende Datenwerte oder Betriebseinstellungen zwischengespeichert werden.
  • Da bei einer Zugriffsanfrage an den Cache-Speicher oder eines der Register die Informationen möglichst schon im nächsten Arbeitstakt zur Verfügung stehen sollen, wird dort eine Verschlüsselung der zwischengespeicherten Information bisher nicht erwogen. Wenn man herkömmliche Verschlüsselungsverfahren für die Verschlüsselung des Inhalts von Cache-Speichern oder Registern anwenden würde, wäre die Antwortzeit zu groß. Daher werden die Daten in Cache-Speichern und den Arbeitsregistern des Prozessors bisher im Klartext zwischengespeichert. Problematisch ist, daß die Daten durch geeignete Meßmethoden ausgespäht werden könnten.
  • Das Dokument US-A-5 987 572 Offenbart eine Anordnung gemäss dem Oberbegriff des Anspruchs 1.
  • Die Aufgabe der Erfindung besteht darin, eine Mikroprozessoranordnung anzugeben, die eine höhere Sicherheit vor einem Ausspähen abgespeicherter Daten aufweist.
  • Eine weitere Aufgabe der Erfindung besteht darin, ein Verfahren zum Betreiben einer Mikroprozessoranordnung mit einem Speicher anzugeben.
  • Betreffend die Anordnung wird diese Aufgabe durch eine Mikroprozessoranordnung gelöst, die umfaßt: eine Verarbeitungseinheit; einen Speicher, der mit der Verarbeitungseinheit zur Ausführung eines Lese- oder Schreibzugriffs gekoppelt ist; eine kryptographische Einheit zur Verschlüsselung und Entschlüsselung von in den Speicher geschriebenen oder gelesenen Datenwerten; Mittel zur Bereitstellung eines veränderbaren Schlüssels, wobei die Mittel derart steuerbar sind, daß der Schlüssel geändert wird, wenn im Speicher keine auszulesenden Datenwerte mehr enthalten sind.
  • Betreffend das Verfahren wird diese Aufgabe durch ein Verfahren zum Betreiben einer Mikroprozessoranordnung gelöst, die eine Verarbeitungseinheit und einen Speicher enthält, der mit der Verarbeitungseinheit zur Ausführung eines Lese- oder Schreibzugriffs gekoppelt ist, bei dem während eines Zugriffs auf den Speicher durch die Mikroprozessoranordnung die Datenwerte gemäß einem Schlüssel ver- oder entschlüsselt werden und der Schlüssel geändert wird, wenn keine auszulesenden Daten im Speicher mehr enthalten sind.
  • Bei einer Mikroprozessoranordnung gemäß der Erfindung ist im Zugangspfad zu einem Speicher, der mit der Verarbeitungseinheit gekoppelt ist, beispielsweise ein Cache-Speicher oder ein Register, im Unterschied zu bekannten Mikroprozessoranordnungen zusätzlich eine kryptographische Einheit eingefügt. Der Schlüssel, unter dessen Verwendung die Ver- bzw. Entschlüsselung betrieben wird, wird verändert. Damit das Ein- und Auslesen in bzw. aus dem Speicher mit dem gleichen Schlüssel ausgeführt werden kann, erfolgt der Wechsel des Schlüssels nur, wenn im Speicher keine auszulesenden Datenwerte mehr enthalten sind. Wegen des wechselnden Schlüssels kann das Verschlüsselungsverfahren selbst relativ einfach sein. Die Daten sind im Speicher nichtflüchtig gespeichert, so daß auch nach dem Abschalten der Versorgungsspannung keine verwertbaren Informationen mehr vorliegen und wiederholte Ausleseversuche keinen Erfolg haben. Während des Betriebs ist die verfügbare Zeit zum Ausspähen des Schlüssels bis zu einem Schlüsselwechsel gering. Insgesamt bietet die Kombination aus veränderbaren Schlüssel mit einem einfachen Verschlüsselungsverfahren ausreichend hohe Sicherheit vor einem Angriff.
  • Die Erfindung eignet sich besonders in Verbindung mit einem weiteren, langsameren Speicher, in welchem die Daten mit einer harten, aufwendigen Verschlüsselung gespeichert sind. Die Daten werden zur schellen Bereitstellung an die zentrale Verarbeitungseinheit des Prozessors im erfindungsgemäß beschalteten Speicher zwischengepuffert. Die weiteren, hart verschlüsselten Speicher können nichtflüchtige Speicher wie ROMs oder E2PROMs oder flüchtige RAMs sein. In herkömmlichen Prozessorarchitekturen greift die CPU über einen Bus auf diese Speicher zu. Der Cache-Speicher liegt demgegenüber zwischen Bus und CPU. Bei der Anwendung der Erfindung auf eine Registerbank sind die Register wie herkömmlich direkt an die CPU angeschlossen. Der Cache-Speicher ist dadurch gekennzeichnet, daß bei einer Zugriffsanfrage an einen externen, d.h. nur über den Bus zugänglichen Speicher zuerst überprüft wird, ob ein Datenwert im Cache-Speicher enthalten ist. Ist der Datenwert dort enthalten, wird er aus dem Cache-Speicher und nicht aus dem externen Speicher an den Prozessor ausgegeben. Wenn der nachgefragte Datenwert nicht im Cache-Speicher enthalten ist, wird der Cache-Speicher zuerst mit dem Datenwert und ein geeignetes Umfeld dieses Datenwerts nachgeladen, wobei der angeforderte Datenwert auch an die CPU ausgegeben wird. Der Cache-Speicher enthält hierzu ein Speicherfeld, um das Vorhandensein des angeforderten Datenwerts feststellen zu können. Die Speicherzellen des Speicherzellenfeldes sind statische oder dynamische Speicherzellen. Eine Registerbank ist dadurch gekennzeichnet, daß sie eine Vielzahl von Registern enthält, die von der CPU direkt ansprechbar sind. Die Register stellen beispielsweise Operanden für in der CPU zu verarbeitende logische Verknüpfungen bereit oder Status- und Konfigurationseinstellwerte. Die Registerzellen sind als bistabile Kippstufen oder Flipflops ausgeführt.
  • Der Schaltungsaufwand für die Verschlüsselung sieht logische Verknüpfungselemente, zweckmäßigerweise Exklusiv-ODER-Gatter, vor, die in die Datenleitungen im Zugriffspfad des Speichers geschaltet sind. Die zu speichernden oder auszulesenden Daten des Speichers werden mit einem Schlüsselwort über die Exklusiv-ODER-Gatter verknüpft. Das Schlüsselwort wird von einem Register bereitgestellt, welches den von Zeit zu Zeit veränderbaren Schlüssel enthält. Die Schlüsselworte werden vorzugsweise zufallsgesteuert erzeugt. Hierzu dient ein Zufallsgenerator, der ausgangsseitig mit dem Schlüsselregister verbunden ist. Der Zufallsgenerator stellt den Schlüssel physikalisch zufällig oder pseudozufällig bereit.
  • Der Zufallsgenerator wird dann zur Bereitstellung eines neuen Schlüsselworts veranlaßt, wenn im Speicher keine gültigen Daten mehr vorhanden sind. Dies trifft einerseits dann zu, wenn alle in den Speicher eingelesenen Daten bereits wieder ausgelesen sind. Dies trifft andererseits auch dann zu, wenn der Prozessor auf eine andere Anwendung umgeschaltet wird und hierzu neu initialisiert wird. Auf herkömmliche Weise mußte dann der Inhalt des Speichers vollständig gelöscht werden, so daß für die nachfolgende Anwendung keine Daten der vorhergehenden Anwendung mehr verfügbar sind. Bei der Erfindung ist ein Initialisieren des Speichers, indem jede Speicherzelle zurückgesetzt wird, nicht mehr erforderlich. Es genügt vielmehr, nur den Schlüssel zufallsgesteuert zu verändern. Die im Speicher enthaltenen Datenwerte sind dann nicht mehr entschlüsselbar. Ein Rücksetzen jeder einzelnen Speicherzelle ist nicht mehr erforderlich.
  • Nachfolgend wird die Erfindung anhand des in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Einander entsprechende Elemente sind mit gleichen Bezugszeichen versehen. Es zeigen:
  • Figur 1
    ein Blockschaltbild eines Mikroprozessors gemäß der Erfindung und
    Figur 2
    einen Cache-Speicher, der erfindungsrelevante Details zeigt.
  • Der Mikroprozessor gemäß Figur 1 umfaßt einen Datenbus 1, über den die verschiedenen Funktionseinheiten des Mikroprozessors miteinander Daten-, Steuerungs- oder Programminformation austauschen. Der Datenbus 1 umfaßt eine Vielzahl von Leitungen zur Übermittlung der Nutz- und Steuerungsinformation. Eine zentrale Verarbeitungseinheit 2 steuert den Programmablauf und führt Berechnungen aus. Daten- und Programminformation sind dauerhaft unveränderbar in einem ROM-Speicher 3 gespeichert oder dauerhaft veränderbar in einem E2PROM 4. Flüchtige Daten werden in einem RAM-Speicher 5 abgelegt. Außerdem ist mindestens eine periphere Einheit 6 vorgesehen um Daten von außen zu empfangen oder nach außen abzugeben. Alle Funktionseinheiten sind auf einem einzigen integrierten Halbleiterchip angeordnet. Die Einheiten 2, ..., 6 sind alle an den Bus 1 angeschlossen und tauschen darüber die zu verarbeitende Information aus. Die Zugriffssteuerung auf den Bus wird von einer Bussteuerungseinheit 7 überwacht.
  • Die in den Speichern 3, 4, 5 abgelegten Daten sind verschlüsselt. Beim Ausgeben der Datenwerte auf den Bus werden die Daten entschlüsselt und als Klartext weitergeleitet. Hierzu dient eine entsprechende Ver- und Entschlüsselungseinheit 71 (MED - Memory En-/Decryption). Beim Einspeichern von Datenwerten in den RAM-Speicher 5 besorgt die Einheit 71 eine entsprechende Verschlüsselung. Da die in den Speichern 3, 4, 5 enthaltenen Daten längerdauernd flüchtig oder nichtflüchtig zur Verfügung stehen ist das von der MED-Einheit 71 abgearbeitete kryptographische Verfahren entsprechend aufwendig. Speicherzugriffe dauern relativ lange. Alternativ zu der zentralen MED-Einheit 71 kann jedem der Speicher 3, 4, 5 direkt eine kryptographische Einheit zugeordnet sein.
  • Um Datenzugriffe auf die externen Speicher 3, 4, 5 zu beschleunigen, ist ein Cache-Speicher 8 vorgesehen. Der Speicher 8 liegt im Signalpfad zwischen der Bussteuerung 7 und der CPU 2. Im Cache-Speicher 8 werden die aktuell von der CPU 2 angeforderten Daten und ein geeignetes Umfeld dieser Daten zwischengespeichert. Eine Leseanfrage an einen der Speicher 3, 4, 5 wird derart abgearbeitet, daß zuerst im Cache-Speicher 8 überprüft wird, ob dort die angeforderten Daten enthalten sind. Falls nicht, werden die Daten und das entsprechende Umfeld aus den externen Speichern in den Cache nachgeladen. Wenn die angeforderten Daten im Cache 8 enthalten sind, erübrigt sich das Nachladen.
  • Der Cache-Speicher 8 ist im Ausführungsbeispiel in einen Befehls-Cache-Speicher und einen Daten-Cache-Speicher aufgeteilt. In ersterem werden Befehlsfolgen des gerade abgearbeiteten Programms zwischengespeichert, in letzterem die zugehörigen Daten. Prinzipiell sind auch andere Strukturen für den Cache-Speicher möglich. Der Cache-Speicher kann auch als gemeinsamer Cache für Befehle und Daten ausgelegt sein (Unified Cache). Im Falle einer assoziativen Cache-Speicher-Architektur ist eine solche Einheit wiederum ist in einen Assoziativspeicher für die Adressen aufgeteilt und den zugehörigen Befehls-/Daten-Speicherteil. Durch Abfrage des Assoziativspeichers wird sehr schnell festgestellt, ob das angeforderte Datum im Cache enthalten ist. Wenn das Datum nicht vorhanden ist (sogenannter Cache-Miss) wird eine Anfrage zum Nachladen an den entsprechenden externen Speicher ausgegeben. Entsprechende Vorgänge laufen beim Schreiben eines Datenwerts zurück in das RAM 5 ab.
  • Beim Nachladen des Cache-Speichers 8 werden die über den Bus 1 empfangenen Informationen in Klartext durch eine kryptographische Einheit 81 verschlüsselt. Bei einem Schreibvorgang werden durch die Einrichtung 81 die im Cache-Speicher 8 verschlüsselt gespeicherten Daten entschlüsselt. Bei der Übermittlung der im Cache-Speicher 8 verschlüsselt gespeicherten Daten an die CPU 2 werden sie durch eine kryptographische Einheit 82 entschlüsselt. Bei einem Schreibvorgang verschlüsselt die Einheit 82 im Cache-Speicher 8 zwischenzuspeichernde Information. Wie weiter unten noch beschrieben, ist der den kryptographischen Einheiten 81, 82 zugeführte Schlüssel identisch und wird zufallsgesteuert verändert, wenn sich im Cache-Speicher 8 keine gültigen auszulesenden Daten mehr befinden.
  • Operatoren und Statusinformation für die CPU 2 sind in einer Registerbank 9 gespeichert. Auf eines oder mehrere der in der Registerbank 9 angeordneten Register kann die CPU 2 direkt und unmittelbar zugreifen. Dort gespeicherte Daten werden durch eine kryptographische Einheit 91 beim Zugriff auf eines der Register der Registerbank 9 ver- oder entschlüsselt. Der in den Einheiten 81 und 82 einerseits und der Einheit 91 andererseits verwendete momentane Schlüssel ist zweckmäßiger Weise verschieden.
  • Die kryptographischen Einheiten sind am Beispiel des Cache-Speichers 8 in Figur 2 im Detail dargestellt. Ein Schlüsselregister 83 enthält den momentan verwendeten Schlüssel. Der Schlüssel wird von einem Zufallsgenerator 84 bereitgestellt, welcher das Schlüsselwort physikalisch echt zufällig oder pseudo-zufällig erzeugt. In die Datensignal- oder Bitleitungen, welche die in den Cache-Speicher 8 eingeschriebene oder davon ausgelesene Information führen sind jeweilige Exklusiv-ODER-Gatter 85a, 85b und 85c geschaltet. Jedes der Exklusiv-ODER-Gatter 85 ist außerdem mit einem Ausgang des Registers 83 verbunden. Die Exklusiv-ODER-Gatter 85 liegen sowohl auf der dem Bus 1 zugewandten als auch auf der der CPU 2 zugewandten Seite des Cache-Speichers 8. Beim Einlesen von Daten in den Cache-Speicher 8 erfolgt aufgrund der Exklusiv-ODER-Verknüpfung der Datenwerte mit dem aus dem Register 83 zugeführten Schlüsselwort eine Verschlüsselung. Beim Auslesen erfolgt durch die gleiche Exklusiv-ODER-Verknüpfung mit dem gleichen Schlüsselwort die komplementäre Entschlüsselung. Solange im Cache-Speicher 8 gültige Daten zum Auslesen gespeichert sind, muß das vom Register 83 bereitgestellte Schlüsselwort unverändert gleich bestehen bleiben. Jeder der n Bitleitungen entspricht ein Bit des Schlüsselworts.
  • Gemäß der Erfindung wird das Schlüsselwort dann geändert, wenn der Cache-Speicher 8 keine gültigen Daten, d.h. solche Daten, die noch auszulesen sind, enthält. Dann wird der Zufallsgenerator 84 aktiviert, um ein zufallsgesteuert erzeugtes neues Schlüsselwort zu berechnen. Es sind keine gültigen Daten im Speicher 8 mehr enthalten, wenn alle dort zwischengespeicherten Datenwerten wieder ausgelesen sind. Des weiteren ist das Schlüsselwort bei einer Initialisierung des Cache-Speichers 8, einem sogenannten Cache-Flush, zu verändern. Ein Cache-Flush erfolgt beispielsweise bei einer Änderung des vom Mikroprozessor abgearbeiteten Programms, wenn die Applikation, d.h. der Anwendungsfall, in welchem der Mikroprozessor eingesetzt wird, wechselt. In diesem Fall kann auch auf einen Cache-Flush und ein dadurch bedingtes vollständiges Initialisieren und Rücksetzen sämtlicher Speicherzellen des Cache-Speichers 8 verzichtet werden, da durch ein Wechseln des Schlüsselworts im Register 83 die Daten ohnehin nicht mehr entschlüsselbar sind.
  • Die kryptographische Einheit 91 ist entsprechend einer der kryptographischen Einheiten im Zugangspfad an den Cache-Speicher 8 im Detail aufgebaut. Deren Schlüsselregister wird dann mit einem neuen Zufallswert geladen, wenn sämtliche Register der Registerbank 9 keine gültigen auszulesenden Daten mehr enthalten oder neu initialisiert werden müssen.
  • Durch die Erfindung wird eine erhöhte Sicherheit von einem Ausspähen von temporär gespeicherten Daten erhalten, indem die Daten verschlüsselt gespeichert werden und der Schlüssel von Zeit zu Zeit geändert wird. Auch bei mehrfach gleichem Programmablauf sind die gespeicherten Daten aufgrund unterschiedlicher Schlüssel verschieden. Der vom Mikroprozessor während der Abarbeitung des Programms gezogene Strom, insbesondere die Stromspitzen oder Stromtäler, ist unterschiedlich. Dadurch werden Angriffsverfahren, die eine Auswertung des Stromprofils anwenden, erschwert.

Claims (13)

  1. Mikroprozessoranordnung, die umfaßt:
    - eine Verarbeitungseinheit (2),
    - einen Speicher (8, 9), der mit der Verarbeitungseinheit (2) zur Ausführung eines Lese- oder Schreibzugriffs gekoppelt ist,
    - eine kryptographische Einheit (81, 82; 91) zur Verschlüsselung und Entschlüsselung von in den Speicher (8; 9) geschriebenen oder gelesenen Datenwerten,
    - Mittel (83) zur Bereitstellung eines veränderbaren Schlüssels, dadurch gekennzeichnet, dass
    - die Mittel (83) derart steuerbar sind, daß der Schlüssel geändert wird, wenn im Speicher (8) keine auszulesenden Datenwerte mehr enthalten sind.
  2. Mikroprozessoranordnung nach Anspruch 1,
    gekennzeichnet durch
    einen weiteren Speicher (3, 4, 5), in dem Datenwerte verschlüsselt speicherbar sind, und eine Entschlüsselungseinrichtung (71), durch die die Datenwerte des weiteren Speichers (3, 4, 5) beim Auslesen entschlüsselbar sind.
  3. Mikroprozessoranordnung nach Anspruch 1 oder 2,
    dadurch gekennzeichnet, daß
    der Speicher ein Cache-Speicher (8) ist.
  4. Mikroprozessoranordnung nach Anspruch 3,
    dadurch gekennzeichnet, daß
    der Cache-Speicher (8) eine Zugriffssteuerung enthält, durch die zuerst überprüfbar ist, ob ein Datenwert einer Zugriffsanfrage der Verarbeitungseinheit (2) im Cache-Speicher (8) enthalten sind, so daß dann, wenn die Datenwerte der Zugriffsanfrage im Cache-Speicher (8) enthalten sind, aus dem Cache-Speicher (8) ausgelesen werden.
  5. Mikroprozessoranordnung nach 3 oder 4,
    dadurch gekennzeichnet, daß
    ein Bus (1) zur Abwicklung von Datenverkehr vorgesehen ist, daß der Speicher (8) in den Datenpfad zwischen Bus (1) und Verarbeitungseinheit (2) geschaltet ist und daß der weitere Speicher (3, 4, 5) über den Bus (1) mit der Verarbeitungseinheit (2) verbunden ist.
  6. Mikroprozessoranordnung nach Anspruch 1 oder 2,
    dadurch gekennzeichnet, daß
    der Speicher ein Register (9) ist, das Registerzellen umfaßt, die als bistabile Kippstufen ausgeführt sind.
  7. Mikroprozessoranordnung nach einem der Ansprüche 1 bis 6,
    dadurch gekennzeichnet, daß
    die Mittel zur Bereitstellung des veränderbaren Schlüssels ein Register (83) umfassen und daß die Registerausgänge über logische Verknüpfungselemente (85a, 85b, 85c) mit den Leitungen gekoppelt sind, über die auf Speicherzellen im Speicher (8) zugreifbar ist.
  8. Mikroprozessoranordnung nach Anspruch 7,
    gekennzeichnet durch
    einen Zufallsgenerator (84), der mit dem Register (83) zur Einspeisung des Schlüssels gekoppelt ist.
  9. Mikroprozessoranordnung nach Anspruch 8,
    dadurch gekennzeichnet, daß
    das Register (83) aus dem Zufallsgenerator (84) dann ladbar ist, wenn der Mikroprozessor zur Abarbeitung einer anderen Anwendung initialisiert wird.
  10. Verfahren zum Betreiben einer Mikroprozessoranordnung, die eine Verarbeitungseinheit (2) und einen Speicher (8; 9) enthält, der mit der Verarbeitungseinheit zur Ausführung eines Lese- oder Schreibzugriffs gekoppelt ist, bei dem während eines Zugriffs auf den Speicher (8; 9) durch die Mikroprozessoranordnung die Datenwerte gemäß einem Schlüssel ver- oder entschlüsselt werden und der Schlüssel geändert wird, wenn keine auszulesenden Daten im Speicher (8; 9) mehr enthalten sind.
  11. Verfahren zum Betreiben einer Mikroprozessoranordnung nach Anspruch 10,
    dadurch gekennzeichnet, daß
    der Schlüssel zufallsgesteuert geändert wird.
  12. Verfahren zum Betreiben einer Mikroprozessoranordnung nach Anspruch 10 oder 11,
    dadurch gekennzeichnet, daß
    der Schlüssel geändert wird, wenn der Speicher (8; 9) vollständig ausgelesen ist.
  13. Verfahren zum Betreiben einer Mikroprozessoranordnung nach Anspruch 10 oder 11,
    dadurch gekennzeichnet, daß
    der Schlüssel geändert wird, wenn das Programm, welches von der Mikroprozessoranordnung verarbeitet wird, gewechselt wird.
EP00100954A 2000-01-18 2000-01-18 Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung Expired - Lifetime EP1118941B1 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AT00100954T ATE382897T1 (de) 2000-01-18 2000-01-18 Mikroprozessoranordnung und verfahren zum betreiben einer mikroprozessoranordnung
EP00100954A EP1118941B1 (de) 2000-01-18 2000-01-18 Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
DE50014893T DE50014893D1 (de) 2000-01-18 2000-01-18 Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
JP2001554159A JP2003521034A (ja) 2000-01-18 2001-01-05 マイクロプロセッサシステムおよびそれを操作する方法
PCT/DE2001/000018 WO2001053931A2 (de) 2000-01-18 2001-01-05 Mikroprozessoranordnung und verfahren zum betreiben einer mikroprozessoranordnung
CNB018038042A CN1202478C (zh) 2000-01-18 2001-01-05 微处理器设备和操作微处理器设备的方法
US10/197,792 US7526655B2 (en) 2000-01-18 2002-07-18 Microprocessor configuration and method for operating a microprocessor configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00100954A EP1118941B1 (de) 2000-01-18 2000-01-18 Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung

Publications (2)

Publication Number Publication Date
EP1118941A1 EP1118941A1 (de) 2001-07-25
EP1118941B1 true EP1118941B1 (de) 2008-01-02

Family

ID=8167654

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00100954A Expired - Lifetime EP1118941B1 (de) 2000-01-18 2000-01-18 Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung

Country Status (7)

Country Link
US (1) US7526655B2 (de)
EP (1) EP1118941B1 (de)
JP (1) JP2003521034A (de)
CN (1) CN1202478C (de)
AT (1) ATE382897T1 (de)
DE (1) DE50014893D1 (de)
WO (1) WO2001053931A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010045580A1 (de) 2010-09-16 2012-03-22 Infineon Technologies Ag Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10158393A1 (de) * 2001-11-28 2003-06-12 Infineon Technologies Ag Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage
DE10201442C1 (de) * 2002-01-16 2003-07-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Multiplizieren oder Dividieren eines ersten Operanden mit bzw. durch einen zweiten Operanden
DE10205316B4 (de) * 2002-02-08 2008-01-17 Infineon Technologies Ag Schlüsselmanagementeinrichtung und Verfahren zur verschlüsselten Ablage von digitalen Datenwörtern
FR2840748B1 (fr) * 2002-06-05 2004-08-27 France Telecom Procede et systeme de verification de signatures electroniques et carte a microcircuit pour la mise en oeuvre du procede
US6870873B2 (en) * 2003-05-28 2005-03-22 Systems Spray-Cooled, Inc. Device for improved slag retention in water cooled furnace elements
BR0318492A (pt) * 2003-09-05 2006-09-12 Telecom Italia Spa rede dependente de chave combinatória para criptografia/decifração de dados digitais de entrada, bloco para ser usado para funções criptográficas controladas por chave secreta, método para criptografia/decifração de dados digitais de entrada, dispositivo de processamento de dados, e, dispositivo de multimìdia para armazenar e reproduzir dados digitais
US20050172113A1 (en) * 2004-01-30 2005-08-04 Ati Technologies, Inc. Method and apparatus for basic input output system loading
CA2593441A1 (en) * 2005-02-11 2006-08-17 Universal Data Protection Corporation Method and system for microprocessor data security
US7725719B2 (en) 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
DE102006006057B4 (de) 2006-02-09 2007-12-27 Infineon Technologies Ag Datenverschlüsselungsvorrichtung und Verfahren zum Verschlüsseln von Daten
US7681047B2 (en) 2006-04-18 2010-03-16 International Business Machines Corporation Decryption of data in storage systems
TWI444021B (zh) * 2007-09-17 2014-07-01 Htc Corp 解譯串列傳輸訊號之方法
US8726043B2 (en) * 2009-04-29 2014-05-13 Empire Technology Development Llc Securing backing storage data passed through a network
US8799671B2 (en) * 2009-05-06 2014-08-05 Empire Technology Development Llc Techniques for detecting encrypted data
US8924743B2 (en) * 2009-05-06 2014-12-30 Empire Technology Development Llc Securing data caches through encryption
US8858867B2 (en) 2011-02-01 2014-10-14 Superior Machine Co. of South Carolina, Inc. Ladle metallurgy furnace having improved roof
EP2595458A1 (de) 2011-11-16 2013-05-22 Dahwa International Limited Fluoreszenzlampe
CN107590402A (zh) * 2017-09-26 2018-01-16 杭州中天微系统有限公司 一种存储数据加解密装置及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866770A (en) * 1986-07-08 1989-09-12 Scientific Atlanta, Inc. Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system
US4944008A (en) * 1988-02-18 1990-07-24 Motorola, Inc. Electronic keying scheme for locking data
US5224166A (en) 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US5987572A (en) * 1997-09-29 1999-11-16 Intel Corporation Method and apparatus employing a dynamic encryption interface between a processor and a memory
US6442568B1 (en) * 1998-12-11 2002-08-27 Compaq Computer Corporation Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment
JP2000276457A (ja) * 1999-03-25 2000-10-06 Mitsubishi Electric Corp データ共有コンピュータシステム及びクライアント

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010045580A1 (de) 2010-09-16 2012-03-22 Infineon Technologies Ag Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung

Also Published As

Publication number Publication date
ATE382897T1 (de) 2008-01-15
US7526655B2 (en) 2009-04-28
CN1202478C (zh) 2005-05-18
US20030005314A1 (en) 2003-01-02
WO2001053931A3 (de) 2001-12-20
CN1395702A (zh) 2003-02-05
JP2003521034A (ja) 2003-07-08
EP1118941A1 (de) 2001-07-25
DE50014893D1 (de) 2008-02-14
WO2001053931A2 (de) 2001-07-26

Similar Documents

Publication Publication Date Title
EP1118941B1 (de) Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
EP1668516B1 (de) Entschlüsselung und verschlüsselung bei schreibzugriffen auf einen speicher
EP1249010B1 (de) Mikroprozessoranordnung mit verschlüsselung
DE19782169C2 (de) Kryptographisch geschütztes Seitenwechsel-Subsystem
EP1668515B1 (de) Wortindividuelle schlüsselerzeugung
DE3102150A1 (de) "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage
DE19536169A1 (de) Multifunktionale Chipkarte
DE60013424T2 (de) Datenverarbeitungsvorrichtung und integrierter Schaltkreis
EP0128362A1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE60020794T2 (de) Verschlüsselungsschaltungsarchitektur zur gleichzeitigen Ausführung mehrerer Verschlüsselungsalgorithmen ohne Leistungseinbusse
EP0935214B1 (de) Chipkarte mit integrierter Schaltung
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
EP1449091B1 (de) Verfahren zum synchronisieren eines speichers mit dem hauptspeicher einer rechenanlage
EP1247186B1 (de) Speicherzugriffsverfahren und schaltungsanordung
DE3740834A1 (de) Aufrechterhaltung der kohaerenz zwischen einem mikroprozessorenintegrierten cache-speicher und einem externen speicher
DE1499742A1 (de) Steuerbare Speicherzugriffsvorrichtung fuer Speichereinrichtungen von Datenverarbeitungsanlagen mit Multiprogrammverarbeitung
EP1481327B1 (de) Auf zufall basierender ersetzungsalgorithmus für eine cachespeichereinheit
DE10205316B4 (de) Schlüsselmanagementeinrichtung und Verfahren zur verschlüsselten Ablage von digitalen Datenwörtern
EP3251281B1 (de) Intrinsische authentifizierung von programcode
DE19643688C2 (de) Verfahren zur Steuerung einer Cachespeichereinheit mit konfliktfreiem Parallelzugriff auf virtuelle, 2-dimensionale Adreßräume
EP1355269A1 (de) Datenverbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls
DE10344636B4 (de) Datenabhängige Ver/Entschlüsselung
DE10303752B4 (de) Steuerung einer Cachespeicheranordnung mit zufälligen Zurückschreibevorgängen
EP1904980A1 (de) Verfahren zum betreiben eines tragbaren datenträgers
DE4028982C2 (de) Verfahren zum Kryptieren von Daten eines Arbeitsplatzcomputers und Vorrichtung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17P Request for examination filed

Effective date: 20020118

AKX Designation fees paid

Free format text: AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REF Corresponds to:

Ref document number: 50014893

Country of ref document: DE

Date of ref document: 20080214

Kind code of ref document: P

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
GBV Gb: ep patent (uk) treated as always having been void in accordance with gb section 77(7)/1977 [no translation filed]
BERE Be: lapsed

Owner name: INFINEON TECHNOLOGIES A.G.

Effective date: 20080131

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080413

ET Fr: translation filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080131

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080602

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080402

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080131

Ref country code: IE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080131

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20081003

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080131

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080118

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080118

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080403

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 17

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 18

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 19

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20190123

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20190321

Year of fee payment: 20

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 50014893

Country of ref document: DE