DE102010045580A1 - Circuit arrangement for use in microprocessor for e.g. smart card, has identification circuit producing key for encrypting data value to be written or decrypting data value to be read, where key depends on arrangement inherent properties - Google Patents
Circuit arrangement for use in microprocessor for e.g. smart card, has identification circuit producing key for encrypting data value to be written or decrypting data value to be read, where key depends on arrangement inherent properties Download PDFInfo
- Publication number
- DE102010045580A1 DE102010045580A1 DE201010045580 DE102010045580A DE102010045580A1 DE 102010045580 A1 DE102010045580 A1 DE 102010045580A1 DE 201010045580 DE201010045580 DE 201010045580 DE 102010045580 A DE102010045580 A DE 102010045580A DE 102010045580 A1 DE102010045580 A1 DE 102010045580A1
- Authority
- DE
- Germany
- Prior art keywords
- key
- memory
- circuit arrangement
- data
- written
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Description
Die vorliegende Erfindung betrifft eine Schaltungsanordnung sowie einen Mikroprozessor mit einer Verarbeitungseinheit und einem Speicher, der zur Ausführung eines Lese- oder Schreibzugriffs mit der Verarbeitungseinheit gekoppelt ist.The present invention relates to a circuit arrangement and a microprocessor having a processing unit and a memory which is coupled to the processing unit for the purpose of a read or write access.
Die vorliegende Erfindung betrifft außerdem ein Verfahren zum Betreiben einer Schaltungsanordnung mit einem solchen Speicher.The present invention also relates to a method of operating a circuit arrangement with such a memory.
Mikroprozessoren weisen einen Speicher auf, um dauerhaft oder flüchtig zu verarbeitende Daten oder Programme zu speichern. Bei der Abarbeitung eines 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, den Datenverkehr zu verschlüsseln oder andere sicherheitskritische Anwendungen für den Chipkarteninhaber abzuwickeln. Dabei werden sicherheitskritische Daten und Programme in den flüchtigen und nichtflüchtigen Speichereinheiten des Mikroprozessors gespeichert bzw. aus diesen gelesen. Um ein Ausspähen und Sichtbarmachen dieser Informationen zu verhindern, werden solche Daten verschlüsselt über die Busleitungen in den Speicher gesendet und dort verschlüsselt abgelegt. Verschlüsselungsverfahren sind in der Regel aufwendig und erfordert entsprechenden Hardware-Aufwand und Rechenzeit.Microprocessors have memory to store persistent or volatile data or programs. During execution of a program, the microprocessor accesses the memory to load currently needed program parts or data. Among other things, microprocessors are used in safety-critical systems, for example in chip cards. Among other things, the microprocessor is used there to encrypt the data traffic or to handle other security-critical applications for the chip card holder. Safety-critical data and programs are stored in or read from the volatile and non-volatile memory units of the microprocessor. In order to prevent this information being spied on and visualized, such data is sent in encrypted form via the bus lines to the memory and stored there encrypted. Encryption methods are usually complex and require appropriate hardware complexity and computing time.
Mikroprozessoren für beispielsweise Chipkarten oder Komponenten für Embedded Security sind vielfältigen Angriffen ausgesetzt. Unter anderem versuchen die Angreifer Daten aus dem Chip auszuspähen. Dies erfolgt beispielsweise mittels sogenannter Observing oder Physical Attacks. Eine Ausprägung hiervon ist das Aufsetzen von feinen Nadeln auf dem Datenbus zwischen den integrierten Speichern und der Verarbeitungseinheit CPU. Die von den Nadeln abgegriffenen Signale werden aufgezeichnet und ausgewertet, so dass die intern gespeicherten und geheim zu haltenden Daten in die Hände des Angreifers gelangen. Diese Art von Angriff kann durch eine Verschlüsselung der Daten abgewehrt bzw. erschwert werden. Durch die Verschlüsselung werden die Daten für die Angreifer wertlos. Ein oben beschriebener Angriff würde zunächst nur verschlüsselte und damit nicht interpretierbare Daten bringen.Microprocessors for, for example, chip cards or components for embedded security are exposed to a variety of attacks. Among other things, the attackers try to spy data from the chip. This is done for example by means of so-called observing or physical attacks. One manifestation of this is the placement of fine needles on the data bus between the integrated memories and the processing unit CPU. The signals picked up by the needles are recorded and evaluated, so that the internally stored and secret data get into the hands of the attacker. This type of attack can be prevented or made more difficult by encrypting the data. Encryption makes the data worthless to the attackers. An attack described above would initially only encrypted and thus unrecognizable data bring.
Bekannt ist die Verschlüsselung mit einem Verschlüsselungsalgorithmus (vergleichbar zu Verschlüsselungsstandards wie DES (Data Encryption Standard) oder AES (Advanced Encryption Standard)). Hierbei wird möglichst räumlich nah an der Verarbeitungseinheit, der CPU, ein kryptographisches Modul implementiert. Das kryptographische Modul verschlüsselt die Daten mittels eines, in der Regel auf einer Zufallszahl basierenden, Schlüssels. Alle zu speichernden Daten werden anschließend in verschlüsselter Form über einen Datenbus zu einem Speicher transportiert und verschlüsselt in diesem abgelegt.Encryption is known using an encryption algorithm (comparable to encryption standards such as DES (Data Encryption Standard) or AES (Advanced Encryption Standard)). In this case, as close as possible to the processing unit, the CPU, a cryptographic module is implemented. The cryptographic module encrypts the data using a key, typically based on a random number. All data to be stored are then transported in encrypted form over a data bus to a memory and stored encrypted in this.
Aus der
Nachteilig an den oben genannten Verfahren ist jedoch, dass der Schlüssel für die Verschlüsselung gespeichert werden muss. Obwohl hier teilweise aufwendig versucht wird, den Schlüssel nicht an einer Stelle zentral zu speichern, den Schlüssel zu teilen, zu verändern oder zu verstecken, kann ein Angreifer mit entsprechendem Aufwand den Schlüssel finden bzw. zusammensetzten und auslesen und nach Ermittlung des Verschlüsselungsverfahrens, die verschlüsselten Daten in Klartext zurück übersetzen. Der Angreifer wäre damit am Ziel und hätte, durch die nachträgliche Entschlüsselung, die zu schützenden Daten erfolgreich ausgespäht.A disadvantage of the above-mentioned method, however, is that the encryption key must be stored. Although it is sometimes tediously trying not to save the key centrally in one place, to divide the key, to change or to hide, an attacker can find the key with appropriate effort or composed and read and after determining the encryption method, the encrypted Translate data back to plain text. The attacker would thus be at the target and would have, by the subsequent decryption, successfully spied out the data to be protected.
Des Weiteren ist eine Verschlüsselung basierend auf chipindividuellen Parametern, so genannte „Physical Unclonable Functions” (PUFs), bekannt. PUFs können Schaltungen, Komponenten, Prozesse oder andere physikalische Systeme in einem Baustein sein, die es ermöglichen, aus mehreren Identifikationsbits einen individuellen, nicht klonbaren Identifikationscode bzw. Schlüssel zu erhalten. Ein solcher Schlüssel lässt sich immer und immer wieder aus den inhärenten Eigenschaften des Bausteins ableiten und muss nicht abgespeichert werden. PUFs basieren auf Schwankungen im Herstellungsprozess, Materialschwankungen oder Ähnlichem und sind bei der Herstellung nicht gezielt einstellbar. Durch die Bandbreite der Schwankungen und die Anzahl der verwendeten Identifikationsbits ist sichergestellt, dass jeder Baustein einer Serie einen individuellen Schlüssel erhält. Durch die Individualität der Schlüssel gibt es aber einen entscheidenden Nachteil. Es kann nicht vorhergesagt werden, ob die Verschlüsselung einer ausreichenden kryptographischen Stärke entspricht. Im ungünstigsten Fall ist der Schlüssel so schlecht, dass praktisch keine Verschlüsselung der Daten vorgenommen wird oder die Daten mit geringem Aufwand, ohne Kenntnis der konkreten Funktion, in Klartext zurückübersetzt werden können. Auch für eine oftmals notwendige Sicherheitszertifizierung ist dieses ein nicht akzeptabeler Zustand.Furthermore, an encryption based on chip-individual parameters, so-called "Physical Unclonable Functions" (PUFs) known. PUFs may be circuits, components, processes, or other physical systems in a device that make it possible to obtain an individual, non-clonable identification code or key from a plurality of identification bits. Such a key can be derived over and over again from the inherent properties of the block and does not have to be stored. PUFs are based on variations in the manufacturing process, material fluctuations or the like and are not specifically adjustable during production. The bandwidth of the fluctuations and the number of identification bits used ensures that each block in a series receives an individual key. Due to the individuality of the keys, there is a decisive disadvantage. It can not be predicted whether the encryption corresponds to a sufficient cryptographic strength. In the worst case, the key is so bad that virtually no encryption of the data is made or the data can be translated back into plain text with little effort, without knowing the specific function. Even for an often necessary safety certification this is an unacceptable condition.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine Schaltungsanordnung und ein Verfahren zum Betreiben einer Schaltungsanordnung bereitzustellen, welche ein höheres Sicherheitsniveau gegen Angriffe durch Ausspähen bietet. The present invention is therefore based on the object of providing a circuit arrangement and a method for operating a circuit arrangement, which offers a higher level of security against attacks by spying.
Diese Aufgabe wird durch eine Schaltungsanordnung mit den Merkmalen des Anspruchs 1 und durch ein Verfahren zum Betreiben einer Schaltungsanordnung mit den Merkmalen des Anspruchs 9 gelöst.This object is achieved by a circuit arrangement with the features of
Die Schaltungsanordnung weist bei einem Ausführungsbeispiel eine Verarbeitungseinheit, einen Speicher, der mit der Verarbeitungseinheit zur Ausführung eines Lese- und/oder Schreibzugriffs gekoppelt ist, eine kryptographische Einheit zum Verschlüsseln eines in den Speicher zu schreibenden Datenwertes oder Entschlüsseln eines aus dem Speicher gelesenen Datenwertes sowie eine Identifikationsschaltung auf, wobei die Identifikationsschaltung eingerichtet ist, um einen ersten Schlüssel zum Verschlüsseln, des in den Speicher zu schreibenden Datenwertes oder Entschlüsseln des aus dem Speicher gelesenen Datenwertes, zu erzeugen, wobei der erste Schlüssel von den inhärenten Eigenschaften der Schaltungsanordnung abhängt. Die Identifikationsschaltung kann beispielsweise eine PUF-Schaltung sein.In one embodiment, the circuitry includes a processing unit, a memory coupled to the processing unit for performing read and / or write access, a cryptographic unit for encrypting a data value to be written to the memory, or decrypting a data value read from the memory Identification circuit, wherein the identification circuit is adapted to generate a first key for encrypting, the data to be written into the memory or decrypting the data read from the memory, the first key depending on the inherent characteristics of the circuit. The identification circuit may be, for example, a PUF circuit.
Die Erzeugung des ersten Schlüssels aus den inhärenten Eigenschaften der Schaltungsanordnung, beispielsweise aus den so genannten „Physical Unclonable Functions” (PUFs), hat den Vorteil, dass der erste Schlüssel reproduzierbar ist. Da sich der erste Schlüssel immer und immer wieder aus den inhärenten Eigenschaften der Schaltungsanordnung ableiten lässt, muss er auch nicht gespeichert werden, was einen deutlichen Sicherheitsgewinn gegen Angriffe von Außen darstellt. PUFs basieren auf Schwankungen im Herstellungsprozess, Materialschwankungen oder Ähnlichem und sind bei der Herstellung nicht gezielt einstellbar. Durch die Bandbreite der Schwankungen und die Anzahl der verwendeten Identifikationsbits ist sichergestellt, dass jede Schaltungsanordnung einer Serie einen individuellen Schlüssel erhält.The generation of the first key from the inherent properties of the circuit arrangement, for example from the so-called "Physical Unclonable Functions" (PUFs), has the advantage that the first key is reproducible. Since the first key can be derived time and time again from the inherent properties of the circuit arrangement, it does not have to be stored, which represents a significant gain in security against attacks from outside. PUFs are based on variations in the manufacturing process, material fluctuations or the like and are not specifically adjustable during production. The bandwidth of the fluctuations and the number of identification bits used ensures that each circuit arrangement of a series receives an individual key.
Die Verschlüsselung der Datenwerte kann beispielsweise mittels Blockchiffren wie Feistelchiffre/Feistelnetzwerk oder einem Substitution-Permutation Network (SPN) in der kryptographischen Einheit erfolgen. In einer weiteren Ausführungsform erfolgt die die Verschlüsselung gemäß einem der bekannten Verschlüsselungsstandards wie DES (Data Encryption Standard) oder AES (Advanced Encryption Standard).The encryption of the data values can take place, for example, by means of block ciphers such as Feistelchiffre / Feistelnetzwerk or a substitution-permutation network (SPN) in the cryptographic unit. In a further embodiment, the encryption takes place in accordance with one of the known encryption standards such as DES (Data Encryption Standard) or AES (Advanced Encryption Standard).
In einer weiteren Ausführungsform weist die Schaltungsanordnung ferner eine Schlüsselerzeugungseinrichtung auf, wobei die Schlüsselerzeugungseinrichtung eingerichtet ist, um einen zweiten Schlüssel, mittels einer Zufallszahl und/oder eines in der Schaltungsanordnung (
Durch die Verwendung von zwei unterschiedlich erzeugten Schlüsseln zur Verschlüsselung, wird die Qualität/Stärke der Verschlüsselung der Datenwerte signifikant erhöht. Da der erste Schlüssel sich aus den inhärenten Eigenschaften der Schaltungsanordnung ergibt und demzufolge nicht abgespeichert werden muss bzw. nicht durch bestimmte Algorithmen ermittelt wird, ist er praktisch nicht zu ermitteln. Der zweite Schlüssel kann beispielsweise unter Verwendung einer Zufallszahl erzeugt werden, wobei die Zufallszahl beispielsweise durch einen Random Number Generators (RNG) generiert werden kann. Es ist aber auch möglich, dass der zweite Schlüssel zumindest teilweise ein Datum aufweist, welches in einem Speicher, beispielsweise einem Read Only Memory (ROM) oder einem Non Volatile Memory (NVM) oder durch Synthese auf der Schaltungsanordnung, versteckt oder offen hinterlegt ist. Der zweite Schlüssel kann aber auch zu einem Teil auf einer Zufallszahl basieren und zu einem weiteren Teil auf einem in der Schaltungsanordnung hinterlegtem Datum.By using two differently generated keys for encryption, the quality / strength of the encryption of the data values is significantly increased. Since the first key results from the inherent properties of the circuit arrangement and therefore does not have to be stored or is not determined by specific algorithms, it is practically impossible to determine. For example, the second key may be generated using a random number, where the random number may be generated, for example, by a Random Number Generator (RNG). But it is also possible that the second key has at least partially a date which is hidden in a memory, such as a read only memory (ROM) or a non-volatile memory (NVM) or by synthesis on the circuit arrangement, hidden or open. However, the second key can also be based in part on a random number and on another part on a date stored in the circuit arrangement.
Der erste und der zweite Schlüssel können entweder zu einem gemeinsamen Schlüssel zusammengelegt werden oder es finden zwei voneinander getrennte Verschlüsselungen des Datenwertes mittels einer oder zwei kryptographischer Einheiten statt. Eine der kryptographischen Einheiten kann dabei beispielsweise eine so genannte Memory Encryption Decryption Unit (MED) sein.The first and second keys can either be merged into a common key, or two separate encryptions of the data value take place by means of one or two cryptographic units. One of the cryptographic units can be, for example, a so-called Memory Encryption Decryption Unit (MED).
In einem Ausführungsbeispiel kann die Schlüsselerzeugungseinrichtung einen dritten und/oder einen weiteren Schlüssel, mittels einer Zufallszahl und/oder eines in der Schaltungsanordnung hinterlegten Wertes, erzeugen, wobei die kryptographische Einheit eingerichtet ist, um den ersten Schlüssel, den zweiten Schlüssel, den dritten und/oder weiteren Schlüssel zur Verschlüsselung des in den Speicher zu schreibenden Datenwertes oder zum Entschlüsseln des aus dem Speicher gelesenen Datenwertes zu verwenden.In one embodiment, the key generation means may generate a third and / or a further key, by means of a random number and / or a value stored in the circuitry, the cryptographic unit being arranged to write the first key, the second key, the third and / or or another key to encrypt the data value to be written into memory or to decrypt the data value read from the memory.
Der erste, zweite, dritte und eventuell weitere Schlüssel können beliebig zu einem oder mehreren gemeinsamen Schlüsseln zusammengelegt werden. Dieses kann beispielsweise durch bit-weises XOR bilden erfolgen. In einem weiteren Ausführungsbeispiel können mehrere Verschlüsselungen des Datenwerts mittels verschiedener Schlüssel sequenziell durchgeführt werden, wobei die Reihenfolge beliebig veränderbar ist. Für die Verschlüsselung können eine oder mehrere kryptographische Einheiten verwendet werden.The first, second, third and possibly further keys can be combined as desired to form one or more shared keys. This can be done, for example, by bit-wise XOR. In another In accordance with an embodiment, multiple encodings of the data value may be performed sequentially by means of different keys, the order being arbitrarily changeable. For encryption one or more cryptographic units can be used.
In einem Ausführungsbeispiel der Schaltungsanordnung weist der Speicher einen oder mehrere Bereiche zum Speichern eines oder mehrerer Schlüssel bzw. eines oder mehrerer Teile eines Schlüssels auf. Die Schlüssel bzw. Teile eines Schlüssels können auch in verschiedenen Speichern, versteckt oder offen, abgelegt sein, wobei der oder die Schlüssel während des Herstellungsprozesses oder während des Betriebs erzeugt und abgelegt werden können. Es kann aber auch ein Wert, welcher als Schlüssel verwendet werden kann, außerhalb des Speichers in der Schaltungsanordnung abgelegt werden.In one embodiment of the circuit arrangement, the memory has one or more areas for storing one or more keys or one or more parts of a key. The keys or parts of a key can also be stored in different stores, hidden or open, whereby the key or keys can be generated and stored during the manufacturing process or during operation. However, it is also possible for a value which can be used as a key to be stored outside the memory in the circuit arrangement.
Des Weiteren kann die Schaltungsanordnung auch in einem Mikroprozessor oder in einem Sicherheitskontroller, beispielsweise für Chipkarten, eingesetzt werden. Gerade bei sicherheitskritischen Anwendungen bietet die erfindungsgemäße Schaltungsanordnung einen guten Schutz vor Angriffen.Furthermore, the circuit arrangement can also be used in a microprocessor or in a security controller, for example for chip cards. Especially in safety-critical applications, the circuit arrangement according to the invention provides good protection against attacks.
Ein Ausführungsbeispiel eines Verfahrens zum Betreiben einer Schaltungsanordnung weist die folgenden Schritte auf: Erzeugen eines ersten Schlüssels, wobei der erste Schlüssel von einer inhärenten Eigenschaften der Schaltungsanordnung abhängt, Verschlüsseln eines in einen Speicher zu schreibenden Datenwertes unter Verwendung des ersten Schlüssels oder Entschlüsseln eines aus einem Speicher gelesenen Datenwertes unter Verwendung des ersten Schlüssels. Der erste Schlüssel kann dabei basierend auf einer PUF-Funktion erzeugt werden.An embodiment of a method of operating a circuit arrangement comprises the steps of generating a first key, wherein the first key depends on inherent characteristics of the circuitry, encrypting a data value to be written to a memory using the first key, or decrypting one from a memory read data value using the first key. The first key can be generated based on a PUF function.
Da sich der erste Schlüssel immer und immer wieder aus den inhärenten Eigenschaften, beispielsweise einer PUF-Funktion der Schaltungsanordnung ableiten lässt, muss er auch nicht gespeichert werden, was einen deutlichen Sicherheitsgewinn gegen Angriffe darstellt.Since the first key over and over again from the inherent properties, such as a PUF function of the circuit can be derived, it does not need to be stored, which represents a significant gain in security against attacks.
Ein weiteres Ausführungsbeispiel des Verfahrens zum Betreiben einer Schaltungsanordnung weist die folgenden zusätzlichen Schritte auf: Erzeugen eines zweiten Schlüssels, wobei der zweite Schlüssel von einer Zufallszahl und/oder von einem in der Schaltungsanordnung hinterlegtem Wert abhängt, Verschlüsseln des in den Speicher zu schreibenden Datenwertes unter Verwendung des ersten und zweiten Schlüssels oder Entschlüsseln des aus dem Speicher gelesenen Datenwertes unter Verwendung des ersten und zweiten Schlüssels.A further embodiment of the method for operating a circuit arrangement has the following additional steps: generating a second key, wherein the second key depends on a random number and / or on a value stored in the circuit arrangement, encrypting the data value to be written into the memory using of the first and second keys or decrypting the data read from the memory using the first and second keys.
Durch die Verwendung von zwei unterschiedlich erzeugten Schlüsseln zur Verschlüsselung, wird die Qualität/Stärke der Verschlüsselung der Datenwerte signifikant erhöht. Der erste und der zweite Schlüssel können entweder, beispielsweise mittels einer XOR-Funktion, zu einem gemeinsamen Schlüssel zusammengelegt werden oder es finden zwei voneinander getrennte Verschlüsselungen des Datenwertes mittels einer oder zwei kryptographischer Einheiten statt. Eine der kryptographischen Einheiten kann dabei beispielsweise eine so genannte Memory Encryption Decryption Unit (MED) sein.By using two differently generated keys for encryption, the quality / strength of the encryption of the data values is significantly increased. The first and second keys can either be combined to form a common key, for example by means of an XOR function, or two separate codifications of the data value take place by means of one or two cryptographic units. One of the cryptographic units can be, for example, a so-called Memory Encryption Decryption Unit (MED).
In einem Ausführungsbeispiel des Verfahrens zum Betreiben einer Schaltungsanordnung wird der in den Speicher zu schreibenden Datenwert in einem ersten Schritt mit dem ersten Schlüssel und in einem zweiten Schritt mit dem zweiten Schlüssel verschlüsselt. Die Schritte können auch vertauscht werden, so dass der in den Speicher zu schreibende Datenwert in einem ersten Schritt mit dem zweiten Schlüssel und in einem zweiten Schritt mit dem ersten Schlüssel verschlüsselt wird.In one embodiment of the method for operating a circuit arrangement, the data value to be written into the memory is encrypted in a first step with the first key and in a second step with the second key. The steps can also be swapped so that the data value to be written into the memory is encrypted in a first step with the second key and in a second step with the first key.
Ein weiteres Ausführungsbeispiel des Verfahrens zum Betreiben einer Schaltungsanordnung weist die folgenden zusätzlichen Schritte auf: Erzeugen eines dritten und/oder eines weiteren Schlüssels, wobei der dritte und/oder weitere Schlüssel von einer Zufallszahl und/oder von einem in der Schaltungsanordnung hinterlegtem Wert abhängt, Verschlüsseln des in den Speicher zu schreibenden Datenwertes unter Verwendung des ersten, zweiten, dritten und/oder weiteren Schlüssels oder Entschlüsseln des aus dem Speicher gelesenen Datenwertes unter Verwendung des ersten, zweiten, dritten und/oder weiteren Schlüssels.A further exemplary embodiment of the method for operating a circuit arrangement has the following additional steps: generating a third and / or a further key, wherein the third and / or further key depends on a random number and / or on a value stored in the circuit arrangement, encrypting the data value to be written into the memory using the first, second, third and / or further keys or decrypting the data read from the memory using the first, second, third and / or further key.
Der erste, zweite, dritte und eventuell weitere Schlüssel können beliebig zu einem oder mehreren gemeinsamen Schlüsseln zusammengelegt werden. Dieses kann beispielsweise durch bitweises XOR bilden erfolgen. In einem weiteren Ausführungsbeispiel kann die Verschlüsselungen des Datenwerts durch mehrere, aufeinander folgende, Verschlüsselungsschritte und mittels verschiedener Schlüssel erfolgen, wobei die Reihenfolge der Verschlüsselungsschritte beliebig veränderbar ist. Für die Verschlüsselung können eine oder mehrere kryptographische Einheiten verwendet werden.The first, second, third and possibly further keys can be combined as desired to form one or more shared keys. This can be done for example by bitwise XOR. In a further embodiment, the encryption of the data value by several, successive, encryption steps and by means of different keys can be done, the order of the encryption steps is arbitrarily changeable. For encryption one or more cryptographic units can be used.
In einem Ausführungsbeispiel des Verfahrens zum Betreiben einer Schaltungsanordnung wird der in den Speicher zu schreibende Datenwert in einem ersten Schritt mit dem ersten Schlüssel und in einem zweiten Schritt mit dem zweiten, dritten und/oder einem weiteren Schlüssel verschlüsselt oder in einem weiteren Ausführungsbeispiel in einem ersten Schritt mit dem zweiten, dritten und/oder einem weiteren Schlüssel und in einem zweiten Schritt mit dem ersten Schlüssel verschlüsselt.In one embodiment of the method for operating a circuit arrangement, the data value to be written into the memory is encrypted in a first step with the first key and in a second step with the second, third and / or another key or in a further embodiment in a first Step with the second, third and / or one another key and encrypted in a second step with the first key.
In einem Ausführungsbeispiel des Verfahrens zum Betreiben einer Schaltungsanordnung weist der Speicher einen oder mehrere Bereiche zum Speichern eines oder mehrerer Schlüssel bzw. eines oder mehrerer Teile eines Schlüssels auf. Der erste, zweite, dritte und/oder ein weiterer Schlüssel oder ein Teil des ersten, zweiten, dritten und/oder eines weiteren Schlüssels können beispielsweise in einem Speicher gespeichert werden. Die Schlüssel bzw. Teile eines Schlüssels können aber auch in verschiedenen Speichern, versteckt oder offen, abgelegt sein, wobei der Schlüssel während des Herstellungsprozesses oder während des Betriebs erzeugt und abgelegt werden kann. Es ist auch möglich, einen Wert, welcher als Schlüssel verwendet werden kann, außerhalb des Speichers in der Schaltungsanordnung abzulegen.In one embodiment of the method for operating a circuit arrangement, the memory has one or more areas for storing one or more keys or one or more parts of a key. The first, second, third and / or another key or part of the first, second, third and / or another key can be stored, for example, in a memory. However, the keys or parts of a key can also be stored in different stores, hidden or open, wherein the key can be generated and stored during the manufacturing process or during operation. It is also possible to store a value which can be used as a key outside of the memory in the circuit arrangement.
Nachfolgend werden bevorzugte Ausführungsbeispiele der Schaltungsanordnung anhand der Figuren näher erläutert. Es zeigen:Hereinafter, preferred embodiments of the circuit arrangement will be explained in more detail with reference to FIGS. Show it:
In
Die Erzeugung des ersten Schlüssels S1 aus den inhärenten Eigenschaften der Schaltungsanordnung
Die Verschlüsselung der Datenwerte kann beispielsweise mittels Blockchiffren wie Feistelchiffre/Feistelnetzwerk oder einem Substitution-Permutation Network (SPN) in der kryptographischen Einheit erfolgen.The encryption of the data values can take place, for example, by means of block ciphers such as Feistelchiffre / Feistelnetzwerk or a substitution-permutation network (SPN) in the cryptographic unit.
In
Durch die Verwendung von zwei unterschiedlich erzeugten Schlüsseln S1, S2 zur Verschlüsselung, wird die Qualität/Stärke der Verschlüsselung der Datenwerte signifikant erhöht. Da der erste Schlüssel S1 sich aus den inhärenten Eigenschaften der Schaltungsanordnung
Der erste Schlüssel S1 und der zweite Schlüssel S2 können entweder zu einem gemeinsamen Schlüssel zusammengelegt werden oder es finden zwei voneinander getrennte Verschlüsselungen des Datenwertes mittels einer oder zwei kryptographischer Einheiten
In einem Ausführungsbeispiel kann die Schlüsselerzeugungseinrichtung
Der erste Schlüssel S1, der zweite Schlüssel S2, der dritte Schlüssel und eventuell weitere Schlüssel können beliebig zu einem oder mehreren gemeinsamen Schlüsseln zusammengelegt werden. Dieses kann beispielsweise durch bitweises XOR bilden erfolgen. In einem weiteren Ausführungsbeispiel können mehrere Verschlüsselungen des Datenwerts mittels verschiedener Schlüssel sequenziell durchgeführt werden, wobei die Reihenfolge beliebig veränderbar ist. Für die Verschlüsselung können eine oder mehrere kryptographische Einheiten
In der Schaltungsanordnung
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- EP 1118941 B1 [0006] EP 1118941 B1 [0006]
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201010045580 DE102010045580A1 (en) | 2010-09-16 | 2010-09-16 | Circuit arrangement for use in microprocessor for e.g. smart card, has identification circuit producing key for encrypting data value to be written or decrypting data value to be read, where key depends on arrangement inherent properties |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201010045580 DE102010045580A1 (en) | 2010-09-16 | 2010-09-16 | Circuit arrangement for use in microprocessor for e.g. smart card, has identification circuit producing key for encrypting data value to be written or decrypting data value to be read, where key depends on arrangement inherent properties |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102010045580A1 true DE102010045580A1 (en) | 2012-03-22 |
Family
ID=45768848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201010045580 Ceased DE102010045580A1 (en) | 2010-09-16 | 2010-09-16 | Circuit arrangement for use in microprocessor for e.g. smart card, has identification circuit producing key for encrypting data value to be written or decrypting data value to be read, where key depends on arrangement inherent properties |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102010045580A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014205306A1 (en) * | 2014-03-21 | 2015-09-24 | Bayerische Motoren Werke Aktiengesellschaft | Method for storing an encryption key and encryption system for a motor vehicle |
ES2558078A1 (en) * | 2014-08-01 | 2016-02-01 | Universitat Pompeu Fabra | Portable electronic coin device (Machine-translation by Google Translate, not legally binding) |
US9875378B2 (en) | 2015-06-12 | 2018-01-23 | QUALCOMOM Incorporated | Physically unclonable function assisted memory encryption device techniques |
US11392301B2 (en) | 2020-04-02 | 2022-07-19 | Axiado Corporation | Secure boot hardware including hardware serial presence detection |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1118941B1 (en) | 2000-01-18 | 2008-01-02 | Infineon Technologies AG | Microprocessor system and arrangement in order to operate a microprocessor system |
-
2010
- 2010-09-16 DE DE201010045580 patent/DE102010045580A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1118941B1 (en) | 2000-01-18 | 2008-01-02 | Infineon Technologies AG | Microprocessor system and arrangement in order to operate a microprocessor system |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014205306A1 (en) * | 2014-03-21 | 2015-09-24 | Bayerische Motoren Werke Aktiengesellschaft | Method for storing an encryption key and encryption system for a motor vehicle |
ES2558078A1 (en) * | 2014-08-01 | 2016-02-01 | Universitat Pompeu Fabra | Portable electronic coin device (Machine-translation by Google Translate, not legally binding) |
US9875378B2 (en) | 2015-06-12 | 2018-01-23 | QUALCOMOM Incorporated | Physically unclonable function assisted memory encryption device techniques |
US11392301B2 (en) | 2020-04-02 | 2022-07-19 | Axiado Corporation | Secure boot hardware including hardware serial presence detection |
US11416150B2 (en) | 2020-04-02 | 2022-08-16 | Axiado Corporation | Associating a processing chip and a non-volatile memory chip |
US11520494B2 (en) | 2020-04-02 | 2022-12-06 | Axiado Corporation | Securely booting a processing chip |
US11640250B2 (en) | 2020-04-02 | 2023-05-02 | Axiado Corporation | Secure boot of a processing chip via hardware memory configuration |
US11644984B2 (en) | 2020-04-02 | 2023-05-09 | Axiado Corporation | Securely booting a processing chip to execute securely updated executable code |
US11650741B2 (en) | 2020-04-02 | 2023-05-16 | Axiado Corporation | Securely booting a processor complex via a securely bootable subsystem |
US11768611B2 (en) | 2020-04-02 | 2023-09-26 | Axiado Corporation | Secure boot of a processing chip |
US12008246B2 (en) | 2020-04-02 | 2024-06-11 | Axiado Corporation | Secure executable code update for a securely-bootable processing chip |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102011088502B3 (en) | Method and apparatus for securing block ciphers against template attacks | |
EP2899714B1 (en) | Secure provision of a key | |
DE102013203415B4 (en) | Create a derived key from a cryptographic key using a non-cloning function | |
DE60217260T2 (en) | Data processing and encryption unit | |
DE102014206992A1 (en) | Random number generator and method for generating random numbers | |
DE102009000869A1 (en) | Method and device for tamper-proof transmission of data | |
EP1099197A1 (en) | Device for supplying output data in reaction to input data, method for checking authenticity and method for encrypted data transmission | |
EP3552344B1 (en) | Bidirectionally linked blockchain structure | |
EP0981115A2 (en) | Encyphering program execution method for data encyphering in a microprocessor-supported portable data carrier | |
DE102010045580A1 (en) | Circuit arrangement for use in microprocessor for e.g. smart card, has identification circuit producing key for encrypting data value to be written or decrypting data value to be read, where key depends on arrangement inherent properties | |
DE602004001732T2 (en) | Data encryption in an electronic device with multiple symmetric processors | |
DE102008055076A1 (en) | Device and method for protecting data, computer program, computer program product | |
DE102014210282A1 (en) | Generate a cryptographic key | |
DE102015206643A1 (en) | Apparatus and method for generating a key in a programmable hardware module | |
DE10232348A1 (en) | Integrated semiconductor circuit with internal bus data transmission and associated data transmission method | |
DE102014117311B4 (en) | Communication arrangement and method for generating a cryptographic key | |
EP3629516A1 (en) | Decentralised identity management solution | |
DE112019004146T5 (en) | AUTHENTICATION OF FILES | |
DE102015208899A1 (en) | Apparatus and method for flexibly generating cryptographic private keys and device with flexibly generated cryptographic private keys | |
DE102021101697B3 (en) | DATA PROCESSING DEVICE AND METHOD FOR PROCESSING SECRET DATA | |
DE102009029749A1 (en) | System for generating arbitrarily long randomized bit lists on computers in normal operation | |
EP3371733B1 (en) | Encrypting the memory content of a memory in an embedded system | |
DE102017005057A1 (en) | Personalizing a semiconductor element | |
DE102012219205A1 (en) | Apparatus and method for carrying out a cryptographic method | |
EP1573955B1 (en) | Encoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0021240000 Ipc: G06F0021600000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0021240000 Ipc: G06F0021600000 Effective date: 20130201 |
|
R016 | Response to examination communication | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |