DE102015208525A1 - Generate a cryptographic key - Google Patents

Generate a cryptographic key Download PDF

Info

Publication number
DE102015208525A1
DE102015208525A1 DE102015208525.2A DE102015208525A DE102015208525A1 DE 102015208525 A1 DE102015208525 A1 DE 102015208525A1 DE 102015208525 A DE102015208525 A DE 102015208525A DE 102015208525 A1 DE102015208525 A1 DE 102015208525A1
Authority
DE
Germany
Prior art keywords
subkey
key
function
circuit unit
cryptographic key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102015208525.2A
Other languages
German (de)
Inventor
Kai Fischer
Erwin Hess
Andreas Mucha
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.)
Siemens AG
Original Assignee
Siemens 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
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102015208525.2A priority Critical patent/DE102015208525A1/en
Publication of DE102015208525A1 publication Critical patent/DE102015208525A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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/3278Cryptographic 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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

Abstract

Die Erfindung betrifft eine Schaltkreiseinheit zum Generieren eines kryptographischen Schlüssels, aufweisend einen nichtflüchtigen Speicher zum permanenten Speichern eines ersten Teilschlüssels, einen auf einer physikalisch unklonbaren Funktion beruhenden Schlüsselgenerator zum Generieren eines zweiten Teilschlüssels, wobei die physikalisch unklonbare Funktion charakteristisch für mindestens einen Teilbereich der Schaltkreiseinheit ist, eine Verknüpfungseinheit mit implementierter Verknüpfungsfunktion zum Generieren des kryptographischen Schlüssels aus dem ersten Teilschlüssel und dem zweiten Teilschlüssel. Somit wird mit Hilfe der Kombination eines PUF-basierten Schlüssels und eines auf dem Speicherinhalt eines nichtflüchtigen Speichers beruhenden Schlüssels die Sicherheit für einen kryptographischen Schlüssel erhöht.The invention relates to a circuit unit for generating a cryptographic key, comprising a nonvolatile memory for permanently storing a first subkey, a key generator based on a physically unclonable function for generating a second subkey, the physically unclonable function being characteristic of at least a portion of the circuit unit, a linking unit with an implemented linking function for generating the cryptographic key from the first subkey and the second subkey. Thus, with the help of the combination of a PUF-based key and a key based on the memory contents of a nonvolatile memory, security for a cryptographic key is increased.

Description

Die Erfindung betrifft eine Schaltkreiseinheit sowie ein Verfahren zum Generieren eines kryptographischen Schlüssels mit Hilfe eines nichtflüchtigen Speichers und einer physikalisch unklonbaren Funktion. The invention relates to a circuit unit and a method for generating a cryptographic key using a non-volatile memory and a physically non-cloning function.

Für die Durchführung kryptographischer Verfahren werden kryptographische Schlüssel benötigt, die auf Implementierungsplattformen, d.h. beispielsweise auf Integrierten Schaltkreisen, auf denen das kryptographische Verfahren durchgeführt werden soll, sicher bereitgestellt werden müssen. Für symmetrische kryptographische Verfahren werden symmetrische Schlüssel eingesetzt, wobei diese ein gemeinsames Geheimnis zweier Parteien darstellen und somit geheim zu halten sind. In asymmetrischen Verschlüsselungsverfahren beruht die Sicherheit des kryptographischen Verfahrens auf der Geheimhaltung des privaten Schlüssels. Symmetrische sowie asymmetrische kryptographische Verfahren werden für Verschlüsselung, beispielsweise von in Speichern abgelegten Daten oder von in einer Kommunikation zu übertragenen Daten, sowie in Authentisierungsverfahren eingesetzt. Da die Sicherheit bei den genannten Verfahren von der Geheimhaltung des symmetrischen oder privaten Schlüssels abhängt, besteht ein Bedarf, den symmetrischen oder privaten Schlüssel gegen unbefugtes Auslesen zu schützen. Insbesondere ist oftmals ein Hinterlegen des geheim zu haltenden Schlüssels auf einem Gerät notwendig. In diesen Fällen muss das Hinterlegen oder Speichern gesichert werden. The execution of cryptographic techniques requires cryptographic keys that rely on implementation platforms, e.g. For example, on integrated circuits on which the cryptographic method is to be performed, must be provided securely. Symmetric keys are used for symmetric cryptographic methods, which represent a shared secret of two parties and are thus to be kept secret. In asymmetric encryption methods, the security of the cryptographic method relies on secrecy of the private key. Symmetric and asymmetric cryptographic methods are used for encryption, for example of data stored in memories or of data to be transmitted in a communication, as well as in authentication methods. Since the security in these methods depends on the secrecy of the symmetric or private key, there is a need to protect the symmetric or private key against unauthorized reading. In particular, depositing the key to be kept secret on a device is often necessary. In these cases, the deposit or save must be saved.

Immer leistungsfähigere und billiger werdende Ausrüstung vereinfacht zunehmend den unberechtigten Zugriff auf sensitives Schlüsselmaterial. More and more efficient and cheaper equipment increasingly simplifies the unauthorized access to sensitive key material.

Es sind nichtflüchtige Speicher, sogenannte Non Volatile Memories, beispielsweise EEPROM-Speicher oder Flash-Speicher, bekannt, auf welchen Schlüssel permanent abgelegt werden. Der Schlüssel ist damit grundsätzlich durch physikalischen Zugriff auf die Speicherzellen auslesbar, insbesondere im stromlosen Zustand. Es sind statische oder dynamische Schutzmaßnahmen bekannt, die für spezielle Sicherheitschips verwendet werden und die entweder aufwändig und teuer aufgrund von Prozessschritten bei der Halbleiterherstellung, wie dem Aufbringen von Metallschichten oder Vergraben in den Halbleiterstrukturen, sind oder nur dann wirksam sind, wenn der Chip mit Energie versorgt wird. There are non-volatile memories, so-called non-volatile memories, such as EEPROM memory or flash memory, known on which key permanently stored. The key is therefore basically readable by physical access to the memory cells, especially in the de-energized state. Static or dynamic protective measures are known which are used for special security chips and which are either complicated and expensive due to process steps in semiconductor manufacturing, such as the deposition of metal layers or burial in the semiconductor structures, or are only effective when the chip is energized is supplied.

Es ist überdies bekannt, sensitives Schlüsselmaterial verschlüsselt in einem Speicher abzulegen. Für den Verschlüsselungsschlüssel, mit welchem der zu schützende Schlüssel im Speicher verschlüsselt vorliegt, ist dann allerdings wiederum zu schützen. It is also known to store sensitive key material encrypted in a memory. However, the encryption key with which the key to be protected is encrypted in memory must then be protected again.

Insbesondere für Schlüsselspeicher, welche auf eingebetteten Systemen oder Embedded Devices vorgesehen sind, gibt es keine Möglichkeit über ein Interface eine Benutzereingabe zu verwenden, um einen kryptographischen Schlüssel geschützt zu hinterlegen oder geschützt bereitzustellen. Beispielsweise entfällt die Möglichkeit einer Passworteingabe durch einen autorisierten Nutzer, welcher Zugriff auf den kryptographischen Schlüssel haben soll. In particular for key memories which are provided on embedded systems or embedded devices, there is no possibility via an interface to use a user input in order to store or protect a cryptographic key in a protected manner. For example, eliminates the possibility of password entry by an authorized user who should have access to the cryptographic key.

Ist auf einer Implementierungsplattform kein interner, nichtflüchtiger Speicher vorgesehen, so kann sensitives Schlüsselmaterial außerhalb der Implementierungsplattform, das heißt extern, permanent gespeichert und bei Aktivierung des integrierten Schaltkreises über eine Datenverbindung zugeführt werden. Das Schlüsselmaterial ist in diesem Fall auf der Übertragungsstrecke leicht angreifbar. Somit sind zusätzliche physikalische Schutzmaßnahmen für die Platine, auf welcher der Chip und der externe Schlüsselspeicher verbaut sind, zwingend erforderlich, damit der Schlüssel nicht auf der Verbindungsstrecke zwischen Speicher und integriertem Schaltkreis in Klartext auslesbar ist. Dies ist aufwändig in der Realisierung. If no internal, non-volatile memory is provided on an implementation platform, sensitive key material outside the implementation platform, ie externally, can be permanently stored and supplied via a data connection when the integrated circuit is activated. The key material in this case is easily attacked on the transmission link. Thus, additional physical protection measures for the board on which the chip and the external key memory are installed, imperative, so that the key is not readable on the link between memory and integrated circuit in plain text. This is complicated in the realization.

Es ist ferner die Verwendung physikalisch unklonbarer Funktionen oder Physical Unclonable Functions, im Folgenden kurz PUF genannt, vorgesehen, um ein Abspeichern eines kryptographischen Schlüssels oder ein manuelles Eingeben des Schlüssels oder ein Übertragen des Schlüssels zu vermeiden. Mittels einer Halbleiter-PUF, das heißt einer physikalisch unklonbaren Funktion, die mit Hilfe üblicher Halbleitertechnologie physikalisch implementiert werden kann, ist ein Schlüssel ad hoc bei Bedarf erzeugbar. Die PUF-Eigenschaft einer solchen Halbleiterschaltung besteht darin, dass es weder für den Designer der Schaltung, noch für den Hersteller des Halbleiters oder einen potentiellen Angreifer möglich ist, das Verhalten der Schaltung direkt zu analysieren oder den Ausgabewert der Schaltung gezielt zu beeinflussen oder vorherzusagen. Ebenso wenig ist es möglich, die Funktion identisch zu reproduzieren, obwohl es möglich ist, die zugehörige Schaltung zu reproduzieren. It is also the use of physically unclonable functions or Physical Unclonable Functions, hereinafter referred to as PUF, provided in order to avoid storing a cryptographic key or a manual input of the key or a transfer of the key. By means of a semiconductor PUF, that is, a physically non-clonable function that can be physically implemented using conventional semiconductor technology, a key can be generated ad hoc if required. The PUF characteristic of such a semiconductor circuit is that it is not possible for the designer of the circuit, nor for the manufacturer of the semiconductor or a potential attacker to directly analyze the behavior of the circuit or to influence or predict the output value of the circuit targeted. Nor is it possible to reproduce the function identically, although it is possible to reproduce the associated circuit.

Für die Ableitung eines Schlüssels mit einer Halbleiter-PUF, der für den Einsatz in kryptographischen Verfahren geeignet sein soll, ist es nötig, dass die PUF-Funktionswerte, oder sogenannten Responses, eine Entropie aufweisen, die vergleichbar ist mit der eines Zufallszahlengenerators. Außerdem sollten nachfolgende Läufe oder Beaufschlagungen der PUF mit der Response stets den gleichen Funktionswert liefern. Überdies sollten identische Halbleiter-PUFs auf logisch identischen, aber nicht physisch identischen Chips jeweilige PUF-Funktionswerte liefern, die nicht miteinander korreliert sind. Dieses Idealverhalten einer PUF liegt in der Realität in der Regel nicht vor. For the derivation of a key with a semiconductor PUF, which should be suitable for use in cryptographic methods, it is necessary that the PUF function values, or so-called responses, have an entropy which is comparable to that of a random number generator. In addition, subsequent runs or injections of the PUF should always provide the same functional value with the response. Moreover, identical semiconductor PUFs on logically identical but not physically identical chips should provide respective PUF function values that are uncorrelated. This Ideal behavior of a PUF is generally not present in reality.

Somit werden deutlich mehr Bits benötigt, um einen Schlüssel vorgegebener Länge mit guten statistischen Eigenschaften zu erzeugen, wenn PUF-Funktionswerte zur Erzeugung des Schlüssels verwendet werden sollen im Vergleich mit von einem Zufallszahlengenerator gelieferten Werten. Ferner liefert eine PUF bei wiederholtem Auslesen nicht notwendigerweise immer denselben Funktionswert, so dass in der Regel ein Fehlerkorrekturverfahren notwendig ist. Thus, significantly more bits are needed to produce a key of given length with good statistical properties when PUF function values are to be used to generate the key compared to values provided by a random number generator. Furthermore, a PUF does not necessarily always deliver the same function value when read out repeatedly, so that as a rule an error correction method is necessary.

Vor diesem Hintergrund ist es Aufgabe der vorliegenden Erfindung, für eine Schaltkreiseinheit einen verbesserten sicheren Schlüsselspeicher sowie ein verbessertes Verfahren zum Generieren eines kryptographischen Schlüssels für eine Schaltkreiseinheit bereit zu stellen. Against this background, it is an object of the present invention to provide for a circuit unit an improved secure key memory and an improved method for generating a cryptographic key for a circuit unit.

Diese Aufgabe wird durch die angegebenen unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den Unteransprüchen angegeben. This object is solved by the specified independent claims. Advantageous embodiments and further developments are specified in the subclaims.

Erfindungsgemäß weist eine Schaltkreiseinheit zum Generieren eines kryptographischen Schlüssels einen nichtflüchtigen Speicher zum permanenten Speichern eines ersten Teilschlüssels auf sowie einen auf einer physikalisch unklonbaren Funktion beruhenden Schlüsselgenerator zum Generieren eines zweiten Teilschlüssels, wobei die physikalisch unklonbare Funktion charakteristisch für mindestens einen Teilbereich der Schaltkreiseinheit ist, sowie eine Verknüpfungseinheit mit implementierter Verknüpfungsfunktion zum Generieren des kryptographischen Schlüssels aus dem ersten Teilschlüssel und dem zweiten Teilschlüssel. According to the invention, a circuit unit for generating a cryptographic key comprises a nonvolatile memory for permanently storing a first subkey and a key generator based on a physically unclonable function for generating a second subkey, wherein the physically unclonable function is characteristic of at least a portion of the circuit unit, and a Linkage unit with implemented linking function for generating the cryptographic key from the first subkey and the second subkey.

Somit wird ein nichtflüchtiger Schlüsselspeicher kombiniert mit einem Schlüsselgenerator auf Basis einer physikalisch unklonbaren Funktion und es wird ein kryptographischer Schlüssel aus über die beiden Prinzipien ermittelten Teilschlüsseln generiert. Thus, a non-volatile key memory is combined with a key generator based on a physically unclonable function, and a cryptographic key is generated from sub-keys determined by the two principles.

Der nichtflüchtige Speicher enthält den ersten Teilschlüssel. Der erste Teilschlüssel ist somit permanent im nichtflüchtigen Speicher gespeichert. Er kann im Rahmen eines üblichen Key-Management-Prozesses verändert oder überschrieben werden. Auf der Schaltkreiseinheit gibt es ferner einen Schlüsselgenerator, der auf Basis einer physikalisch unklonbaren Funktion einen zweiten Teilschlüssel generieren kann. Dieser zweite Teilschlüssel ist im stromlosen Zustand der Schaltkreiseinheit nicht vorhanden, sondern wird erst durch Aktivierung des Schlüsselgenerators, das heißt durch Aktivierung der PUF-Schaltung oder Anwenden der physikalisch unklonbaren Funktion generiert. Aus dem ersten Teilschlüssel und dem zweiten Teilschlüssel wird der kryptographische Schlüssel gebildet, welcher für das kryptographische Verfahren genutzt wird. The nonvolatile memory contains the first subkey. The first subkey is thus permanently stored in the nonvolatile memory. It can be changed or overwritten as part of a standard key management process. There is also a key generator on the circuit unit that can generate a second subkey based on a physically unclonable function. This second subkey is not present in the de-energized state of the circuit unit, but is generated only by activation of the key generator, that is by activation of the PUF circuit or applying the physically unclonable function. From the first subkey and the second subkey the cryptographic key is formed, which is used for the cryptographic method.

Der im nichtflüchtigen Speicher abgelegte erste Teilschlüssel alleine besitzt für einen Angreifer keine ausreichende Aussagekraft, um einen für das auf der Implementierungsplattform genutzte Kryptoverfahren geeigneten Schlüssel ableiten zu können. Erst durch die Verknüpfung mit dem zweiten Teilschlüssel ist der kryptographische Schlüssel, der als Arbeitsschlüssel genutzt wird und von Wert ist für einen Angreifer, erhältlich. Dieser kryptographische Schlüssel kann also durch Analyse der Schaltkreiseinheit oder der Implementierungsplattform, auf der das kryptographische Verfahren verwendet werden soll, im stromlosen Zustand nicht gewonnen werden. Der dynamisch erzeugte zweite Teilschlüssel verhindert somit das Auslesen des kryptographischen Schlüssels im stromlosen Zustand. Ein Auslesen des kryptographischen Schlüssels wird auf diese Weise erheblich erschwert. The first subkey alone stored in the nonvolatile memory alone does not have sufficient significance for an attacker in order to be able to derive a key suitable for the crypto method used on the implementation platform. Only by linking with the second subkey is the cryptographic key, which is used as a work key and of value to an attacker, available. Thus, by analyzing the circuit unit or the implementation platform on which the cryptographic method is to be used, this cryptographic key can not be obtained in the de-energized state. The dynamically generated second sub-key thus prevents the reading of the cryptographic key in the de-energized state. Reading out the cryptographic key is made considerably more difficult in this way.

Zugleich sind die statistischen Eigenschaften des ersten Teilschlüssels, welcher im nichtflüchtigen Speicher gespeichert wird, frei vorgebbar. Wird ein erster Teilschlüssel so gewählt, dass er zufällig und gleich verteilt ausgestaltet ist, so sind diese Eigenschaften bei geeigneter Wahl der Verknüpfungsfunktion auf den kryptographischen Schlüssel vererbbar. Somit kann der erste Teilschlüssel als statistisches Korrektiv für den zweiten Teilschlüssel angesehen werden, welcher mit Hilfe der PUF erzeugt wird. At the same time, the statistical properties of the first subkey, which is stored in the nonvolatile memory, are freely definable. If a first subkey is chosen such that it is random and equally distributed, these properties can be inherited by a suitable choice of the linking function on the cryptographic key. Thus, the first subkey can be regarded as a statistical corrective for the second subkey, which is generated using the PUF.

In der Regel ist ein gewisser Aufwand bei der Nachbearbeitung eines PUF-Outputs nötig, bevor dieser als Schlüssel verwendet werden kann. Insbesondere weist in der Regel der Output einer PUF nicht genügend Entropie auf, um direkt einen geeigneten kryptographischen Schlüssel erzeugen zu können. Überdies sind Hilfsdatensätze nötig, welche für Fehlerkorrekturverfahren zusammen mit dem Rohoutput der PUF verwendet werden. Durch die Kombination oder Verknüpfung mit dem ersten Teilschlüssel vererben sich die Eigenschaften im Hinblick auf ausreichende Entropie auf den generierten kryptographischen Schlüssel, so dass Kompressionsfunktionen etc. überflüssig sind. Somit kann der Aufwand der Nachbearbeitung von PUF-Responses verringert werden, wobei zugleich zur Ableitung des korrekten kryptographischen Schlüssels ein Zugriff auf den Original-Schaltkreis vorhanden sein muss, um zunächst in einem Zwischenschritt den zweiten Teilschlüssel, der für die Generierung des kryptographischen Schlüssels vorliegen muss, zu erhalten. As a rule, a certain amount of effort is required in postprocessing a PUF output before it can be used as a key. In particular, the output of a PUF usually does not have enough entropy to directly generate a suitable cryptographic key. Moreover, auxiliary data sets are needed, which are used for error correction methods together with the raw output of the PUF. Due to the combination or linking with the first subkey, the properties are inherited with regard to sufficient entropy on the generated cryptographic key, so that compression functions etc. are superfluous. Thus, the cost of post-processing of PUF responses can be reduced, at the same time to derive the correct cryptographic key access to the original circuit must be present to first in an intermediate step, the second subkey, which must be present for the generation of the cryptographic key , to obtain.

Eine Korrelation zwischen PUF-Funktionswerten, die aus logisch identischen Halbleiter-PUFs erhältlich sind, ist für die Erstellung eines sicheren kryptographischen Schlüssels ebenfalls unschädlich, da auch der zweite, PUF-basierte Schlüssel alleine für einen Angreifer wertlos ist und erst nach Verknüpfung mit dem ersten Teilschlüssel für das kryptographische Verfahren verwendbar ist. A correlation between PUF function values that are available from logically identical semiconductor PUFs is essential for creating a secure Cryptographic key also harmless, as well as the second, PUF-based key is worthless to an attacker alone and is usable only after linking with the first subkey for the cryptographic process.

Besteht Bedarf, einen kryptographischen Schlüssel zu erneuern, beispielsweise im Rahmen eines Schlüsselupdates oder eines Re-Keyings, so ist dies in Verbindung mit der vorliegenden Erfindung vorteilhaft über einen Austausch des ersten Teilschlüssels möglich. Somit kann auf vorteilhafte Weise darauf verzichtet werden, lediglich physikalisch unklonbare Funktionen vorzusehen, welche eine Variabilität des PUF-Funktionswertes durch Variation von Eingangswerten der PUF erlauben. Herkömmlicherweise ist die Variabilität der PUF und damit die Variabilität eines auf Basis der PUF gebildeten Schlüssels durch den Challengeraum limitiert. Nur für die Anzahl unterschiedlicher Challenge-Sätze, für die stabile und unterschiedliche Responses erzeugt werden können, ist ein jeweiliger Schlüssel ableitbar. Durch das Verknüpfen des PUF-basierten zweiten Teilschlüssels mit dem ersten Teilschlüssel kann die Variabilität des insgesamt ableitbaren kryptographischen Schlüssels also enorm erhöht werden und es bleibt dennoch zugleich die Verankerung an die Hardware des verwendeten Schaltkreises erhalten. If there is a need to renew a cryptographic key, for example as part of a key update or a re-keying, this is advantageously possible in connection with the present invention via an exchange of the first subkey. Thus, it can be advantageously omitted to provide only physically unclonable functions, which allow a variability of the PUF function value by varying input values of the PUF. Conventionally, the variability of the PUF and thus the variability of a key formed on the basis of the PUF is limited by the challenge space. Only for the number of different challenge sets for which stable and different responses can be generated, a respective key is derivable. By linking the PUF-based second subkey to the first subkey, the variability of the overall derivable cryptographic key can thus be increased enormously, and yet at the same time the anchoring to the hardware of the circuit used is retained.

Somit werden durch die Verknüpfung des ersten Teilschlüssels mit dem zweiten Teilschlüssel die Schwachstellen des jeweiligen Schlüssels bei separater Verwendung auf vorteilhafte Weise behoben und zugleich die jeweiligen Vorzüge ausgenutzt und somit ein erhöhtes Sicherheitsniveau bei der Nutzung oder Schlüsselspeicherung eines kryptographischen Schlüssels, der als Arbeitsschlüssel dient, erreicht. Thus, by linking the first subkey with the second subkey, the vulnerabilities of the respective key are advantageously remedied separately and at the same time exploiting the respective merits, thus achieving an increased level of security in the use or key storage of a cryptographic key serving as a work key ,

Gemäß einer Ausgestaltung ist der nichtflüchtige Speicher als elektrisch löschbarer, programmierbarer Nur-Lesespeicher oder als Flash-Speicher ausgebildet. Ein elektrisch löschbarer, programmierbarer Nur-Lesespeicher, auch als Electrically Erasable Programmable Read Only Memory, kurz EEPROM, bekannt, oder ein Flash-Speicher speichern den ersten Teilschlüssel in Speicherzellen ab. Zusätzlich kann das Absichern des ersten Teilschlüssels vor Auslesen noch erhöht werden, wenn der erste Teilschlüssel über dynamische Schutzmaßnahmen gesichert in einem Speicherbereich abgelegt ist. Solche Schutzmaßnahmen umfassen insbesondere Sensorik, wobei der integrierte Schaltkreis den Schlüsselspeicher versucht zu löschen oder mit ein Zufallswert zu überschreiben, falls die Sensorik ausgelöst wird, um auf diese Weise sensible Schlüsselinformationen zu vernichten. Für einen Angriff auf die Implementierungsplattform im laufenden Betrieb, d.h. bei vorhandener Stromversorgung oder bei entsprechender Speisung über eine Batterie, ist der erste Teilschlüssel somit verstärkt geschützt. Der Aufwand bei der Absicherung des ersten Teilschlüssels kann je nach gewünschtem Sicherheitsgrad und Kosten flexibel gewählt werden. According to one embodiment, the non-volatile memory is designed as an electrically erasable, programmable read-only memory or as a flash memory. An electrically erasable programmable read only memory, also known as Electrically Erasable Programmable Read Only Memory, EEPROM for short, or a flash memory stores the first subkey in memory cells. In addition, the protection of the first subkey before reading out can be increased if the first subkey is stored in a memory area via dynamic protection measures. Such protection measures include, in particular, sensors, wherein the integrated circuit attempts to erase or randomly overwrite the key memory if the sensor system is triggered in order to destroy sensitive key information in this way. For an attack on the implementation platform during operation, i. with existing power supply or with appropriate power supply via a battery, the first subkey is thus increasingly protected. The effort required to secure the first subkey can be chosen flexibly depending on the desired level of security and costs.

Gemäß einer Ausgestaltung ist die Schaltkreiseinheit als integrierter Schaltkreis ausgebildet. Elektronische Schaltkreise auf Halbleitersubstrat eignen sich insbesondere für die Realisierung des Schaltkreiseinheit in Kombination mit einem EEPROM oder Flash-Speicher und mit einer Halbleiter-PUF, das heißt einer physikalisch unklonbaren Funktion, die mit Hilfe üblicherweise Halbleitertechnologie physikalisch implementiert werden kann. Es kann insbesondere vorteilhaft ein programmierbares Hardwaremodul wie ein FPGA als programmierbarer integrierter Schaltkreis vorgesehen sein. According to one embodiment, the circuit unit is designed as an integrated circuit. Electronic circuits on a semiconductor substrate are particularly suitable for implementing the circuit unit in combination with an EEPROM or flash memory and with a semiconductor PUF, that is, a physically non-clonic function that can be physically implemented using conventional semiconductor technology. In particular, a programmable hardware module, such as an FPGA, can be provided as a programmable integrated circuit.

Gemäß einer Ausgestaltung ist der physikalisch unklonbaren Funktion ein für den integrierten Schaltkreis charakteristischer Funktionswert zugeordnet. Insbesondere wird auch das kryptographische Verfahren, für welches der kryptographische Schlüssel benötigt wird, auf dem integrierten Schaltkreis implementiert. Somit wird sichergestellt, dass nur auf dem dafür vorgesehenen Chip, insbesondere dem Original-Chip, ein dazu passender kryptographischer Schlüssel erzeugt werden kann. Dieser wird beispielsweise für die Entschlüsselung von Daten, die durch die Schaltkreiseinheit bearbeitet werden, verwendet. In einem anderen Szenario wird mittels des generierten kryptographischen Schlüssels eine Kommunikation mit einem externen Gerät abgesichert. Dabei wird zugleich die Schaltkreiseinheit, oder zumindest ein Teilbereich der Schaltkreiseinheit, auf Unversehrtheit hin überprüft, da ein passender Schlüssel nur erzeugt werden kann, wenn Zugriff auf die originale und zumindest in Teilbereichen unversehrte Schaltkreiseinheit vorliegt. According to one embodiment, the physically non-clonic function is assigned a characteristic value characteristic of the integrated circuit. In particular, the cryptographic method for which the cryptographic key is needed is also implemented on the integrated circuit. This ensures that only on the appropriate chip, especially the original chip, a matching cryptographic key can be generated. This is used, for example, for decrypting data being processed by the circuit unit. In another scenario, the generated cryptographic key is used to secure communication with an external device. At the same time, the circuit unit, or at least a subarea of the circuit unit, is checked for integrity, since a suitable key can only be generated if there is access to the original circuit unit, which is intact, at least in some areas.

Gemäß einer Ausgestaltung sind der erste Teilschlüssel und/ oder der zweite Teilschlüssel zufällig und gleichverteilt ausgebildet. Je besser die statistischen Eigenschaften eines der beiden Teilschlüssel in Hinblick auf kryptographische Anforderungen wie Zufälligkeit und Gleichverteilung sind, desto geringer können die Anforderungen an den jeweils anderen Teilschlüssel in Hinblick auf die Entropie sein. So können zweite Teilschlüssel, für die ein Nachbearbeitungsverfahren notwendig wäre, damit sie für den Einsatz in kryptographischen Verfahren geeignet sind, mit Hilfe des ersten Teilschlüssels zu einem kryptographischen Schlüssel verarbeitet werden, der die Anforderungen für den Einsatz in Kryptoverfahren erfüllt. Insbesondere steht somit eine größere Menge verwendbarer physikalisch unklonbarer Funktionen zur Verfügung, wenn der erste Teilschlüssel Anforderungen an einen kryptographischen Schlüssel in Hinblick auf statistische Eigenschaften erfüllt und sich diese mittels einer geeigneten Verknüpfungsfunktion auf den kryptographischen Schlüssel übertragen. Es können so PUFs zur Erstellung des zweiten Teilschlüssels verwendet werden, ohne dass eine aufwendige Nachbearbeitung nötig ist. Ebenso kann es vorgesehen sein, dass der zweite Teilschlüssel zufällig und gleichverteilt ausgestaltet ist, indem entsprechend geeignete PUFs oder eine entsprechend gute Nachbearbeitung durchgeführt wird und dieser zweite Teilschlüssel als Ausgleich für einen ersten Teilschlüssel verwendet wird, der diese Eigenschaften nicht aufweist. So können die Stärken der beiden Teilschlüssel in Hinblick auf statistische Eigenschaften variabel genutzt werden. According to one embodiment, the first subkey and / or the second subkey are random and equally distributed. The better the statistical properties of one of the two subkeys with respect to cryptographic requirements such as randomness and uniform distribution, the lower the requirements for the other subkey with regard to entropy. Thus, second subkeys for which a postprocessing procedure would be necessary to be suitable for use in cryptographic methods can be processed with the aid of the first subkey into a cryptographic key that fulfills the requirements for use in cryptographic methods. In particular, therefore, a greater amount of useable physically unclonable functions is available when the first subkey satisfies cryptographic key requirements in terms of statistical properties and by means of a suitable one Transfer function to the cryptographic key. PUFs can thus be used to create the second subkey, without the need for elaborate postprocessing. Likewise, it can be provided that the second subkey is configured randomly and equally distributed by suitably suitable PUFs or a correspondingly good post-processing is performed and this second subkey is used to compensate for a first subkey that does not have these properties. Thus, the strengths of the two subkeys can be variably used in terms of statistical properties.

Gemäß einer Ausgestaltung ist die Verknüpfungsfunktion derart ausgebildet, dass der kryptographische Schlüssel ebenfalls zufällig und gleich verteilt ausgebildet ist. Dies wird alternativ dadurch erreicht, dass der erste Teilschlüssel zufällig und gleich verteilt ausgebildet ist und/oder dass der zweite Teilschlüssel zufällig und gleich verteilt ist und eine geeignete Verknüpfungsfunktion gewählt wird. Alternativ wird durch Anwenden der Verknüpfungsfunktion zugleich ein Nachbearbeitungsverfahren durchgeführt, das den dritten kryptographischen Schlüssel im Hinblick auf seine kryptographischen Eigenschaften optimiert. According to one embodiment, the linking function is designed such that the cryptographic key is also formed randomly and equally distributed. This is alternatively achieved in that the first subkey is formed randomly and equally distributed and / or that the second subkey is randomly and equally distributed and a suitable link function is selected. Alternatively, by applying the concatenation function, a postprocessing process is simultaneously performed which optimizes the third cryptographic key with regard to its cryptographic properties.

Gemäß einer Ausgestaltung ist die Verknüpfungsfunktion als logische XOR-Funktion ausgebildet. Es gibt zahlreiche Wahlmöglichkeiten für geeignete Verknüpfungsfunktionen, die die beiden Teilschlüssel geeignet kombinieren können. Die bitweise XOR-Funktion ist besonders vorteilhaft, um statistische Eigenschaften des ersten und/oder zweiten Teilschlüssels auf den kryptographischen Schlüssel zu vererben, auch wenn einer der beiden Teilschlüssel diese Eigenschaften nicht besitzt. Ebenso verwendbar sind XNOR-Funktionen. Ebenso geeignet ist ein Aufaddieren der als Zahlen oder als Polynome aufgefassten Teilschlüssel mit anschließendem Abschneiden oder ein Multiplizieren. Geeignet sind insbesondere Einwegfunktionen wie Hash-Funktionen, wobei als Input der erste und der zweite Teilschlüssel geeignet verknüpft und dann gehasht werden. Beispielsweise wird der erste Teilschlüssel konkateniert mit dem zweiten Teilschlüssel. Alternativ besteht der Input aus einer bestimmten Reihung der Bits des ersten und des zweiten Teilschlüssels. Alternativ werden nur bestimmte Teile des ersten und des zweiten Teilschlüssels verknüpft. In einer anderen Variante werde Keyed-Hasfunktionen verwendet, wie z.B. HMAC, bei welchen einer der Teilschlüssel als Schlüssel verwendet wird und der andere der beiden Teilschlüssel als Input. Alternativ sind beliebige Kombinationen von Bitvermischungen möglich. According to one embodiment, the logic function is designed as a logical XOR function. There are numerous choices for suitable linking functions that can suitably combine the two subkeys. The bitwise XOR function is particularly advantageous for inheriting statistical properties of the first and / or second subkey on the cryptographic key, even if one of the two subkeys does not have these properties. Also usable are XNOR functions. It is also suitable to add up the subkeys understood as numbers or as polynomials with subsequent truncation or multiplication. In particular, one-way functions such as hash functions are suitable, with the first and the second sub-keys being suitably linked as input and then being hashed. For example, the first subkey is concatenated with the second subkey. Alternatively, the input consists of a particular order of the bits of the first and second subkeys. Alternatively, only certain parts of the first and second subkeys are linked. In another variant, keyed hash functions are used, such as HMAC, where one of the subkeys is used as a key and the other of the two subkeys is used as input. Alternatively, any combinations of bitmixings are possible.

Gemäß einer Ausgestaltung ist ein Funktionswert der physikalisch unklonbaren Funktion veränderbar durch Daten des nichtflüchtigen Speichers. Wird die physikalisch unklonbare Funktion derart auf der Schaltkreiseinheit implementiert, dass der Speicherinhalt des nichtflüchtigen Speichers die Response oder den Outputwert der physikalisch unklonbaren Funktion beeinflusst, so bewirkt eine Veränderung des Speicherinhalts des nichtflüchtigen Speichers eine Veränderung des kryptographischen Schlüssels in zweifacher Hinsicht: einerseits wird dadurch der erste Teilschlüssel, der durch den Speicherinhalt, also die Daten des nichtflüchtigen Speichers, gebildet wird, verändert, andererseits wird auch der zweite Teilschlüssel verändert, da der Funktionswert der PUF verändert wird. Insbesondere beinhaltet der Speicher Konfigurationsdaten für die PUF. Werden diese geändert, so ändern sich nicht nur der erste Teilschlüssel aufgrund des Speicherinhalts, sondern auch die Konfiguration der PUF und damit der PUF-Funktionswert. Durch Änderung der Konfigurationsdaten ist also ein geänderter Output der PUF einstellbar und somit ein veränderter zweiter Teilschlüssel erhältlich. According to one embodiment, a function value of the physically unclonable function is changeable by data of the nonvolatile memory. If the physically unclonable function is implemented on the circuit unit such that the memory content of the nonvolatile memory affects the response or the output value of the physically unclonable function, changing the memory contents of the nonvolatile memory causes a change of the cryptographic key in two ways: on the one hand first subkey, which is formed by the memory contents, that is, the data of the nonvolatile memory, changes, on the other hand, the second subkey is also changed, since the function value of the PUF is changed. In particular, the memory contains configuration data for the PUF. If these are changed, not only the first subkey changes due to the memory contents, but also the configuration of the PUF and thus the PUF function value. By changing the configuration data, a modified output of the PUF can therefore be set and thus a modified second subkey can be obtained.

Die Erfindung betrifft ferner ein Verfahren zum Generieren eines kryptographischen Schlüssels, aufweisend die folgenden Schritte:

  • – Ermitteln eines ersten in einem nichtflüchtigen Speicher einer Schaltkreiseinheit gespeicherten Teilschlüssels in einem ersten Schritt;
  • – Ermitteln eines zweiten Teilschlüssels mittels eines Funktionswertes einer auf der Schaltkreiseinheit implementierten physikalisch unklonbaren Funktion in einem zweiten Schritt, wobei der Funktionswert charakteristisch für mindestens einen Teilbereich der Schaltkreiseinheit ist;
  • – Verknüpfen des ersten Teilschlüssels und des zweiten Teilschlüssels zu dem kryptographischen Schlüssel mittels einer Verknüpfungsfunktion in einem dritten Schritt.
The invention further relates to a method for generating a cryptographic key, comprising the following steps:
  • Determining a first subkey stored in a nonvolatile memory of a circuit unit in a first step;
  • Determining a second subkey by means of a function value of a physically unclonable function implemented on the circuit unit in a second step, the function value being characteristic of at least a subarea of the circuit unit;
  • - Linking the first subkey and the second subkey to the cryptographic key by means of a link function in a third step.

Die Reihenfolge des ersten und des zweiten Verfahrensschrittes ist nicht beschränkt, d.h. die Schritte können zeitgleich oder zeitlich versetzt in jeder beliebigen Reihenfolge durchgeführt werden. The order of the first and second process steps is not limited, i. The steps can be performed simultaneously or staggered in any order.

Gemäß einer Ausgestaltung wird als erster Teilschlüssel ein Schlüssel mit zufälligen und gleich verteilten Eigenschaften gespeichert. According to one embodiment, a key with random and equally distributed properties is stored as the first subkey.

Gemäß einer Ausgestaltung wird durch das Verknüpfen mittels der Verknüpfungsfunktion der kryptographische Schlüssel mit den Eigenschaften zufällig und gleichverteilt erzeugt. According to one embodiment, the linking by means of the linking function generates the cryptographic key with the properties random and uniformly distributed.

Gemäß einer Ausgestaltung wird der Funktionswert durch Daten des nichtflüchtigen Speichers verändert. According to one embodiment, the function value is changed by data of the non-volatile memory.

Die Erfindung betrifft ferner ein Computerprogrammprodukt mit einem Computerprogramm, das Mittel zur Durchführung des oben beschriebenen Verfahrens aufweist, wenn das Computerprogramm auf einer programmgesteuerten Einrichtung zur Ausführung gebracht wird. The invention further relates to a computer program product with a computer program having means for carrying out the method described above, when the computer program executed on a program-controlled device.

Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen. Als programmgesteuerte Einrichtung kommt insbesondere eine Steuereinrichtung, wie zum Beispiel ein Mikroprozessor für eine Smartcard oder dergleichen in Frage. Das Verfahren oder die Vorrichtung kann auch festverdrahtet oder in konfigurierbaren FPGAs implementiert werden. A computer program product, such as a computer program means may, for example, be used as a storage medium, e.g. Memory card, USB stick, CD-ROM, DVD, or even in the form of a downloadable file provided by a server in a network or delivered. This can be done, for example, in a wireless communication network by transmitting a corresponding file with the computer program product or the computer program means. As a program-controlled device is in particular a control device, such as a microprocessor for a smart card or the like in question. The method or device may also be hardwired or implemented in configurable FPGAs.

Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen mit Hilfe der Figuren näher erläutert. Es zeigen: The invention will be explained in more detail by means of embodiments with the aid of the figures. Show it:

1 eine schematische Darstellung der Schaltkreiseinheit zum Generieren eines kryptographischen Schlüssels gemäß einem ersten Ausführungsbeispiel der Erfindung; 1 a schematic representation of the circuit unit for generating a cryptographic key according to a first embodiment of the invention;

2 eine schematische Darstellung des Verfahrens zum Generieren eines kryptographischen Schlüssels gemäß einem zweiten Ausführungsbeispiel der Erfindung. 2 a schematic representation of the method for generating a cryptographic key according to a second embodiment of the invention.

1 zeigt schematisch eine Schaltkreiseinheit 1, die gemäß einem ersten Ausführungsbeispiel der Erfindung als integrierter Schaltkreis oder Integrated Circuit, kurz IC, ausgebildet ist. Dieser integrierte Schaltkreis bildet die Implementierungsplattform, auf welcher ein kryptographisches Verfahren implementiert ist. Dies bedeutet, dass auf dem integrierten Schaltkreis ein kryptographisches Verfahren, beispielsweise die Ver- oder Entschlüsselung von Daten, mittels eines kryptographischen Schlüssels durchgeführt wird. Somit soll auf dem integrierten Schaltkreis der kryptographische Schlüssel verfügbar sein. 1 schematically shows a circuit unit 1 , which is formed according to a first embodiment of the invention as an integrated circuit or integrated circuit, short IC. This integrated circuit forms the implementation platform on which a cryptographic method is implemented. This means that a cryptographic method, for example the encryption or decryption of data, is carried out on the integrated circuit by means of a cryptographic key. Thus, the cryptographic key should be available on the integrated circuit.

Der integrierte Schaltkreis weist einen nichtflüchtigen Speicher 100 auf, der ein EEPROM-Speicher ist. Auf diesem EEPROM-Speicher ist ein erster Teilschlüssel 10 hinterlegt. Grundsätzlich, das heißt sofern keine geeigneten Schutzmaßnahmen vorgesehen sind, ist der Speicherinhalt des EEPROM-Speichers angreifbar durch Ausleseangriffe. Somit kann der erste Teilschlüssel 10 missbräuchlich auf relativ einfache Weise ausgelesen werden. In Varianten des Ausführungsbeispiels ist daher ein zusätzlicher Schutz des ersten Teilschlüssels vorgesehen, welcher beispielsweise darin besteht, dass eine Schutzschicht, wie eine Neutralisierungsschicht oder eine dichte Mäanderstruktur, über den Speicherbereich gelegt werden. The integrated circuit has a nonvolatile memory 100 which is an EEPROM memory. On this EEPROM memory is a first subkey 10 deposited. In principle, that is to say unless suitable protective measures are provided, the memory content of the EEPROM memory can be attacked by read-out attacks. Thus, the first subkey 10 be read abusively in a relatively simple manner. In variants of the exemplary embodiment, therefore, an additional protection of the first sub-key is provided, which consists, for example, in that a protective layer, such as a neutralization layer or a dense meander structure, is laid over the memory area.

Der integrierte Schaltkreis weist überdies einen Schlüsselgenerator 200 auf, welcher einen zweiten Teilschlüssels 20 mittels einer physikalisch unklonbaren Funktion, kurz PUF, erzeugt. Als PUF ist beispielsweise eine Delay-PUF, eine Arbiter-PUF, eine SRAM-PUF, eine Ringoszillator-PUF, eine Bistable-Ring-PUF, eine Flipflop-PUF, eine Glitch-PUF oder eine Butterfly-PUF auf der Implementierungsplattform vorgesehen. Abhängig von den Randbedingungen wie beispielsweise der verfügbaren Schaltungsfläche, der physikalischen Realisierung der integrierten Halbleiter-Schaltkreiseinheit, Anforderungen an Stromverbrauch oder Laufzeit oder dem geforderten Sicherheitsniveau wird eine geeignete PUF-Variante ausgewählt. Die PUF wird zur Generierung des zweiten Teilschlüssels 20 mit einer oder mehreren Challenges beaufschlagt. Die Response oder Responses, die zu der oder den Challenges gehören, bilden den oder die PUF-Funktionswerte. Der PUF-basierte Schlüsselgenerator kann weiterhin eine Fehlerkorrekturvorrichtung beinhalten, die es erlaubt den charakteristischen Funktionswert auch dann stabil zu reproduzieren, wenn die unmittelbaren Responses der PUF gewissen Schwankungen unterworfen sind. Dazu können in einem nichtflüchtigen Speicher abgelegte Hilfsdaten herangezogen werden, die es einem Angreifer jedoch nicht erlauben, Rückschlüsse auf den zweiten Teilschlüssel 20 zu ziehen. Abhängig von der Beschaffenheit der Implementierungsplattform oder der Wahl der darauf implementierten PUF unterscheidet sich der PUF-Funktionswert unter Umständen erheblich von einem Zufallsvektor, das heißt der PUF-Funktionswert oder die Response hat gegebenenfalls eine deutlich schlechtere Entropie als der Output eines Zufallsgenerators. The integrated circuit also has a key generator 200 on which a second subkey 20 by means of a physically unclonable function, PUF for short. As PUF, for example, a delay PUF, an arbiter PUF, an SRAM PUF, a ring oscillator PUF, a bistable ring PUF, a flip flop PUF, a glitch PUF or a butterfly PUF are provided on the implementation platform. Depending on the boundary conditions such as the available circuit area, the physical realization of the integrated semiconductor circuit unit, requirements for power consumption or running time or the required level of security, a suitable PUF variant is selected. The PUF is used to generate the second subkey 20 with one or more challenges. The responses or responses that belong to the challenge or challenges form the PUF function value (s). The PUF-based key generator may further include an error correction device which allows the characteristic function value to be stably reproduced even if the immediate responses of the PUF are subject to certain fluctuations. For this purpose, auxiliary data stored in a non-volatile memory can be used, but this does not allow an attacker to draw conclusions about the second partial key 20 to draw. Depending on the nature of the implementation platform or the choice of PUF implemented thereon, the PUF function value may differ significantly from a random vector, ie the PUF function value or the response may have a significantly worse entropy than the output of a random number generator.

Die PUF ist in einer Variante des Ausführungsbeispiels variabel konfigurierbar, das heißt, kann für verschiedene Sätze von Challenges unterschiedliche, voneinander unterscheidbare zweite Teilschlüssel, ausgeben. Damit weist die PUF eine gewisse Variabilität auf, welche jedoch durch die Menge der möglichen Eingangsdaten oder Challenges limitiert ist. Der Satz von Challenges, der zum zweiten Teilschlüssel 20 führt, ist also nicht fest, sondern kann insbesondere durch den nichtflüchtigen Speicher konfiguriert werden. In a variant of the exemplary embodiment, the PUF is variably configurable, that is to say, different sets of challenges can be issued with different, differentiable second subkeys. Thus, the PUF has a certain variability, which, however, is limited by the amount of possible input data or challenges. The set of challenges, the second subkey 20 is therefore not fixed, but can be configured in particular by the non-volatile memory.

Es ist überdies auf der Schaltkreiseinheit 1 eine Verknüpfungseinheit 300 vorgesehen, welche eine Verknüpfungsfunktion ausführt. Es ist vorzugsweise eine XOR-Funktion vorgesehen, welche den ersten Teilschlüssel 10 und den zweiten Teilschlüssel 20 bitweise XOR verknüpft. Das Ergebnis der Verknüpfungsfunktion ist der kryptographische Schlüssel 30. Dieser steht nun auf dem integrierten Schaltkreis zur Verfügung und kann insbesondere in einen Krypto-Algorithmus eingehen. Es kann ebenso aufgrund des erzeugten kryptographischen Schlüssels 30 eine Authentifizierung des integrierten Schaltkreises durchgeführt werden. It is also on the circuit unit 1 a linking unit 300 provided, which performs a linking function. It is preferably an XOR function provided which the first subkey 10 and the second subkey 20 linked bitwise XOR. The result of the join function is the cryptographic key 30 , This is now on the integrated circuit to In particular, it can enter into a crypto-algorithm. It may also be due to the generated cryptographic key 30 an authentication of the integrated circuit are performed.

Ist der erste Teilschlüssel 10 noch durch einen Angriff, insbesondere auch im stromlosen Zustand, gefährdet, da der erste Teilschlüssel 10 gegebenenfalls auslesbar ist, so bewirkt die Verknüpfung des ersten Teilschlüssels 10 mit dem zweiten Teilschlüssel 20 zur Generierung des kryptographischen Schlüssels 30, dass für einen Angriff die Kenntnis über den ersten Teilschlüssel 10 nicht mehr ausreichend ist. Ein Angreifer muss physikalischen Zugriff auf den integrierten Schaltkreis haben, um den korrekten Schlüssel abzuleiten. Das Ableiten des korrekten kryptographischen Schlüssels 30 ist aufgrund des PUF-basierten zweiten Teilschlüssels 20 nur auf dem Original-Schaltkreis möglich ist. Die Eigenschaften der PUF stellen sicher, dass der geeignete zweite Teilschlüssel 20, der für die Generierung des passenden kryptographischen Schlüssels 30 notwendig ist, auf einer nachgebauten oder manipulierten Schaltkreiseinheit nicht möglich ist. Überdies ist auch das Auslesen des zweiten Teilschlüssels im stromlosen Zustand nicht möglich. Is the first subkey 10 still endangered by an attack, especially in the de-energized state, since the first subkey 10 if necessary, the linkage of the first subkey causes 10 with the second subkey 20 for generating the cryptographic key 30 that for an attack the knowledge about the first subkey 10 is no longer sufficient. An attacker must have physical access to the integrated circuit to derive the correct key. Deriving the correct cryptographic key 30 is due to the PUF-based second subkey 20 only possible on the original circuit. The properties of the PUF make sure that the appropriate second subkey 20 which is responsible for generating the appropriate cryptographic key 30 necessary, on a replica or manipulated circuit unit is not possible. Moreover, the reading of the second sub-key in the de-energized state is not possible.

Andererseits kann auf dem integrierten Schaltkreis eine PUF vorgesehen sein, welche einen für die Schaltkreiseinheit 1 charakteristischen PUF-Funktionswert bereitstellt, ohne dass der daraus generierbare Schlüssel bereits die Anforderungen an einen kryptographischen Schlüssel erfüllen muss. Insbesondere ist es nicht nötig, dass die statistischen Eigenschaften des zweiten Teilschlüssels 20 bereits ausreichend sind für die Verwendung als abgeleiteten kryptographischen Schlüssel. Beispielsweise kann die Gleichverteilung der auftretenden Bits 0 und 1 von einer idealen Gleichverteilung deutlich abweichen. Der erste Teilschlüssel 10 wirkt dann als statistisches Korrektiv und gleich die Ungleichverteilung des zweiten Teilschlüssels aus, wenn eine geeignete Verknüpfungsfunktion vorgesehen ist. Gleichzeitig wird die limitierte Variabilität der PUF und die damit verbundene limitierte Anzahl ableitbarer kryptographischer Schlüssel dadurch ausgeglichen, dass eine beliebige Anzahl an verschiedenen ersten Teilschlüsseln in dem EEPROM-Speicher speicherbar ist, so dass für jeden der unterschiedlichen ersten Teilschlüssel ein unterschiedlicher kryptographischer Schlüssel ableitbar ist. Somit wirkt der zweite Teilschlüssel für den ersten Teilschlüssel als Hardware-Verankerung und verhindert ein Auslesen des kryptographischen Schlüssels im stromlosen Zustand. Zugleich wirkt die Verknüpfung mit dem ersten Teilschlüssel 10 für den zweiten Teilschlüssel 20 als Nachbearbeitungsverfahren zur Verbesserung der statistischen Eigenschaften und sicheren Unterscheidung der Hardware. On the other hand, a PUF may be provided on the integrated circuit, which one for the circuit unit 1 provides characteristic PUF function value without the key that can be generated from it already having to meet the requirements for a cryptographic key. In particular, it is not necessary that the statistical properties of the second subkey 20 are already sufficient for use as a derived cryptographic key. For example, the uniform distribution of occurring bits 0 and 1 may differ significantly from an ideal uniform distribution. The first subkey 10 then acts as a statistical corrective and equal to the unequal distribution of the second subkey, if a suitable link function is provided. At the same time, the limited variability of the PUF and the associated limited number of derivable cryptographic keys is compensated by the fact that any number of different first sub-keys can be stored in the EEPROM memory, so that a different cryptographic key can be derived for each of the different first sub-keys. Thus, the second subkey for the first subkey acts as a hardware anchor and prevents readout of the cryptographic key in the de-energized state. At the same time, the link with the first subkey works 10 for the second subkey 20 as a post-processing method to improve the statistical properties and secure differentiation of the hardware.

Durch die Kopplung des PUF-basierten zweiten Teilschlüssels 20 mit dem ersten Teilschlüssel 10 wird überdies die Möglichkeit geschaffen, auf einer Implementierungsplattform verschiedene kryptographische Schlüssel, beispielsweise für verschiedene Anwendungen oder Zwecke, abzuleiten. Dazu kann der Speicherbereich separate Speicherabschnitte aufweisen, das heißt verschiedene Speicherinhalte für verschiedene Anwendungen. Es können somit auf vorteilhafte Weise verschiedene erste Teilschlüssel erstellt werden, die insbesondere zweckgebunden sind. Es kann dazu insbesondere eine Steuervorrichtung vorgesehen sein, welche einen Ableitungsparameter vorgibt in Abhängigkeit von einem Zweck für einen angeforderten Schlüssel. Somit ist insgesamt der kryptographische Schlüssel 30 konfigurierbar mit Hilfe des ersten Teilschlüssels 10 und es kann zugleich das aufwändige Vorsehen einer konfigurierbaren PUF vermieden werden. By coupling the PUF-based second subkey 20 with the first subkey 10 Furthermore, the possibility is created to derive various cryptographic keys on an implementation platform, for example for different applications or purposes. For this purpose, the memory area can have separate memory sections, that is, different memory contents for different applications. It can thus be created in an advantageous manner, different first part of the key, which are particularly earmarked. In particular, a control device may be provided for this, which specifies a derivation parameter depending on a purpose for a requested key. Thus, overall, the cryptographic key 30 configurable using the first subkey 10 and at the same time the time-consuming provision of a configurable PUF can be avoided.

Es ist gemäß einem zweiten Ausführungsbeispiel der Erfindung ebenso vorteilhaft möglich, ein Schlüssel-Update durchzuführen. 2 zeigt schematisch Schritte zur Durchführung des Verfahrens gemäß dem zweiten Ausführungsbeispiel. In einem ersten Schritt S1 wird der erste Teilschlüssel gebildet. Zeitgleich, zeitlich vorher oder zeitlich nach dem ersten Schritt S1 wird der Schritt S2 durchgeführt, bei welchem der zweite Teilschlüssel ermittelt wird. In einem dritten Schritt S3 werden die beiden Teilschlüssel verknüpft zu dem kryptographischen Schlüssel. It is also advantageously possible according to a second embodiment of the invention to carry out a key update. 2 schematically shows steps for performing the method according to the second embodiment. In a first step S1, the first subkey is formed. At the same time, before or after the first step S1, the step S2 is performed, in which the second subkey is determined. In a third step S3, the two subkeys are linked to the cryptographic key.

In einem vierten Schritt S4 ist es vorgesehen, dass beispielsweise einer Steuereinheit des integrierten Schaltkreises ein Befehl zu einem Schlüssel-Update vorgegeben wird. Beispielsweise ist das Schlüssel-Update in zeitlich regelmäßigen Abständen vorgesehen oder wird durch einen Kompromittierungsversuch innerhalb eines Netzwerkes, zu dem ein eingebettetes System mit dem Integrierten Schaltkreis gehört, angestoßen. Daraufhin veranlasst die Steuereinheit ein Überschreiben des Speicherinhalts des nichtflüchtigen Speichers der Schaltkreiseinheit, so dass ein geänderter, vom Speicherinhalt des nichtflüchtigen Speichers abhängiger erster Teilschlüssel erzeugt wird. In a fourth step S4, it is provided that, for example, a control unit of the integrated circuit is given a command for a key update. For example, the key update is scheduled at regular intervals or is triggered by a compromise attempt within a network that includes an embedded system with the integrated circuit. The control unit then causes the memory contents of the nonvolatile memory of the circuit unit to be overwritten so that a modified first partial code dependent on the memory content of the nonvolatile memory is generated.

Überdies bilden die Daten oder Teile der Daten des nichtflüchtigen Speichers die Konfigurationsdaten der physikalisch unklonbaren Funktion. Somit verändert eine Änderung des Speicherinhalts des nichtflüchtigen Speichers auch die Konfiguration der PUF, so dass auch der zweite Teilschlüssel erneuert wird. Für ein Schlüsselupdate werden entsprechend neue Fehlerkorrektur- bzw. Helper-Daten zur Verfügung gestellt, die für die Erstellung des erneuerten zweiten Teilschlüssels passend sind. Der aus den beiden Teilschlüsseln gebildete kryptographische Schlüssel, der für eine nachfolgende kryptographische Operation verwendet werden soll, ist somit in zweifacher Hinsicht aktualisiert worden. Weder die Kenntnis des ersten Teilschlüssels noch des zweiten Teilschlüssels vor dem Schlüssel-Update kann somit von einem Angreifer brauchbar verwendet werden. Moreover, the data or parts of the data of the nonvolatile memory constitute the configuration data of the physically unclonable function. Thus, a change in the memory contents of the nonvolatile memory also changes the configuration of the PUF, so that the second subkey is also renewed. Correspondingly, for a key update, new error correction or helper data are made available which are suitable for the creation of the renewed second subkey. The cryptographic key formed from the two subkeys to be used for a subsequent cryptographic operation has thus been updated in two ways. Neither the knowledge of the first subkey nor the second subkey prior to the key update can thus be usefully used by an attacker.

Somit wird mit Hilfe der Kombination eines PUF-basierten Schlüssels und eines auf dem Speicherinhalt eines nichtflüchtigen Speichers beruhenden Schlüssels ein gesichertes Verfahren für ein Schlüssel-Update bereitgestellt. Thus, with the help of the combination of a PUF-based key and a key based on the memory contents of a nonvolatile memory, a secure method for a key update is provided.

Obwohl die Erfindung im Detail durch Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. While the invention has been further illustrated and described in detail by way of embodiments, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention.

Claims (13)

Schaltkreiseinheit (1) zum Generieren eines kryptographischen Schlüssels (30), aufweisend: – einen nichtflüchtigen Speicher (100) zum permanenten Speichern eines ersten Teilschlüssels (10); – einen auf einer physikalisch unklonbaren Funktion beruhenden Schlüsselgenerator (200) zum Generieren eines zweiten Teilschlüssels (20), wobei die physikalisch unklonbare Funktion charakteristisch für mindestens einen Teilbereich der Schaltkreiseinheit (1) ist, – eine Verknüpfungseinheit (300) mit implementierter Verknüpfungsfunktion zum Generieren des kryptographischen Schlüssels (30) aus dem ersten Teilschlüssel (10) und dem zweiten Teilschlüssel (20). Circuit unit ( 1 ) for generating a cryptographic key ( 30 ), comprising: - a nonvolatile memory ( 100 ) for permanently storing a first subkey ( 10 ); A key generator based on a physically nonclonable function ( 200 ) for generating a second subkey ( 20 ), wherein the physically unclonable function is characteristic of at least a portion of the circuit unit ( 1 ), - a linking unit ( 300 ) with implemented linking function for generating the cryptographic key ( 30 ) from the first subkey ( 10 ) and the second subkey ( 20 ). Schaltkreiseinheit (1) nach Anspruch 1, wobei der nichtflüchtige Speicher (100) als elektrisch löschbarer programmierbarer Nur-Lese-Speicher oder als Flash-Speicher ausgebildet ist. Circuit unit ( 1 ) according to claim 1, wherein the nonvolatile memory ( 100 ) is designed as an electrically erasable programmable read-only memory or as a flash memory. Schaltkreiseinheit (1) nach Anspruch 1 oder 2, wobei die Schaltkreiseinheit (1) als integrierter Schaltkreis ausgebildet ist. Circuit unit ( 1 ) according to claim 1 or 2, wherein the circuit unit ( 1 ) is designed as an integrated circuit. Schaltkreiseinheit (1) nach Anspruch 3, wobei der physikalisch unklonbaren Funktion ein für den integrierten Schaltkreis (1) charakteristischer Funktionswert zugeordnet ist. Circuit unit ( 1 ) according to claim 3, wherein the physically non-clonable function is one for the integrated circuit ( 1 ) characteristic function value is assigned. Schaltkreiseinheit (1) nach einem der vorstehenden Ansprüche, wobei der erste Teilschlüssel (10) und/ oder der zweite Teilschlüssel (20) zufällig und gleichverteilt ausgebildet sind. Circuit unit ( 1 ) according to one of the preceding claims, wherein the first subkey ( 10 ) and / or the second subkey ( 20 ) are formed randomly and equally distributed. Schaltkreiseinheit (1) nach einem der vorstehenden Ansprüche, wobei die Verknüpfungsfunktion derart ausgebildet ist, dass der kryptographische Schlüssel (30) zufällig und gleichverteilt ausgebildet ist. Circuit unit ( 1 ) according to one of the preceding claims, wherein the linking function is designed such that the cryptographic key ( 30 ) is formed randomly and equally distributed. Schaltkreiseinheit (1) nach einem der vorstehenden Ansprüche, wobei die Verknüpfungsfunktion als logische XOR-Verknüpfung ausgebildet ist. Circuit unit ( 1 ) according to one of the preceding claims, wherein the link function is formed as a logical XOR link. Schaltkreiseinheit (1) nach einem der vorstehenden Ansprüche, wobei ein Funktionswert der physikalisch unklonbaren Funktion veränderbar ist durch Veränderung von Daten des nicht-flüchtigen Speichers (100). Circuit unit ( 1 ) according to one of the preceding claims, wherein a function value of the physically unclonable function is changeable by changing data of the non-volatile memory ( 100 ). Verfahren zum Generieren eines kryptographischen Schlüssels, aufweisend die folgenden Schritte: – Ermitteln eines ersten in einem nichtflüchtigen Speicher einer Schaltkreiseinheit gespeicherten Teilschlüssels in einem ersten Schritt (S1); – Ermitteln eines zweiten Teilschlüssels mittels eines Funktionswertes einer auf der Schaltkreiseinheit implementierten physikalisch unklonbaren Funktion in einem zweiten Schritt (S2), wobei der Funktionswert charakteristisch für mindestens einen Teilbereich der Schaltkreiseinheit ist; – Verknüpfen des ersten Teilschlüssels und des zweiten Teilschlüssels zu dem kryptographischen Schlüssel mittels einer Verknüpfungsfunktion in einem dritten Schritt (S3). A method for generating a cryptographic key, comprising the following steps: Determining a first subkey stored in a nonvolatile memory of a circuit unit in a first step (S1); Determining a second subkey by means of a function value of a physically unclonable function implemented on the circuit unit in a second step (S2), the function value being characteristic for at least a subarea of the circuit unit; - Linking the first subkey and the second subkey to the cryptographic key by means of a link function in a third step (S3). Verfahren nach Anspruch 9, wobei als erster Teilschlüssel ein Schlüssel mit zufälligen und gleichverteilten Eigenschaften gespeichert wird. The method of claim 9, wherein as the first subkey a key with random and evenly distributed properties is stored. Verfahren nach Anspruch 9 oder 10, wobei durch das Verknüpfen mittels der Verknüpfungsfunktion der kryptographische Schlüssel mit den Eigenschaften zufällig und gleichverteilt erzeugt wird. Method according to claim 9 or 10, wherein the linking by means of the linking function generates the cryptographic key with the properties random and evenly distributed. Verfahren nach einem der Ansprüche 9 bis 11, wobei der Funktionswert durch eine Veränderung von Daten des nichtflüchtigen Speichers verändert wird. The method of any one of claims 9 to 11, wherein the function value is changed by changing data of the nonvolatile memory. Computerprogrammprodukt mit einem Computerprogramm, das Mittel zur Durchführung des Verfahrens nach einem der Ansprüche 9 bis 12 aufweist, wenn das Computerprogramm auf einer programmgesteuerten Einrichtung zur Ausführung gebracht wird.  A computer program product comprising a computer program comprising means for performing the method of any one of claims 9 to 12 when the computer program is executed on a program-controlled device.
DE102015208525.2A 2015-05-07 2015-05-07 Generate a cryptographic key Withdrawn DE102015208525A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015208525.2A DE102015208525A1 (en) 2015-05-07 2015-05-07 Generate a cryptographic key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015208525.2A DE102015208525A1 (en) 2015-05-07 2015-05-07 Generate a cryptographic key

Publications (1)

Publication Number Publication Date
DE102015208525A1 true DE102015208525A1 (en) 2016-03-24

Family

ID=55444975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015208525.2A Withdrawn DE102015208525A1 (en) 2015-05-07 2015-05-07 Generate a cryptographic key

Country Status (1)

Country Link
DE (1) DE102015208525A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110289244A (en) * 2019-07-23 2019-09-27 南方电网科学研究院有限责任公司 A kind of crypto chip
CN113168481A (en) * 2018-12-18 2021-07-23 微安科技有限公司 Device-specific encryption key generator and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053304A2 (en) * 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof
EP2560318A2 (en) * 2011-08-17 2013-02-20 Nxp B.V. Cryptographic circuit and method therefor
DE102013203415A1 (en) * 2013-02-28 2014-08-28 Siemens Aktiengesellschaft Create a derived key from a cryptographic key using a non-cloning function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053304A2 (en) * 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof
EP2560318A2 (en) * 2011-08-17 2013-02-20 Nxp B.V. Cryptographic circuit and method therefor
DE102013203415A1 (en) * 2013-02-28 2014-08-28 Siemens Aktiengesellschaft Create a derived key from a cryptographic key using a non-cloning function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113168481A (en) * 2018-12-18 2021-07-23 微安科技有限公司 Device-specific encryption key generator and method
CN110289244A (en) * 2019-07-23 2019-09-27 南方电网科学研究院有限责任公司 A kind of crypto chip

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
DE102013203415B4 (en) Create a derived key from a cryptographic key using a non-cloning function
EP2727277B1 (en) System and method for the secure transmission of data
DE60126968T2 (en) SYSTEM FOR THE PROTECTION OF DYNAMIC AND STATIC DATA AGAINST UNMATCHED MANIPULATIONS
DE102015101620A1 (en) Provision of security credentials
DE112005001672T5 (en) A method of providing a secret direct-proof key to devices using an online service
DE102009001718A1 (en) Method for providing cryptographic key pairs
DE102009024604A1 (en) Generation of a session key for authentication and secure data transmission
DE102017214359A1 (en) A method for safely replacing a first manufacturer's certificate already placed in a device
WO2011054639A1 (en) Cryptographic hardware module or method for updating a cryptographic key
DE102013213316A1 (en) Random bitstream generator with improved backward commonality
EP2567501A1 (en) Method for the cryptographic protection of an application
EP3337085B1 (en) Reloading cryptographic program instructions
EP2499774B1 (en) Method and system for the accelerated decryption of cryptographically protected user data units
DE102014210282A1 (en) Generate a cryptographic key
DE102015001847A1 (en) One-time encryption of meter data
DE102015208525A1 (en) Generate a cryptographic key
CN105871551B (en) User based on proxy re-encryption cancels access control method
WO2018104277A1 (en) Bidirectionally linked blockchain structure
DE102015208899A1 (en) Apparatus and method for flexibly generating cryptographic private keys and device with flexibly generated cryptographic private keys
EP3509247A1 (en) Method and key generator for creating an overall key with the support of a computer
DE102018002466A1 (en) Method and device for establishing a secure data transmission connection
DE102014213454A1 (en) Method and system for detecting a manipulation of data records
EP3618348B1 (en) Distributed database system, industry automation system and method for operating a distributed database system
EP3288215A1 (en) Method and device for outputting authenticity certifications and a security module

Legal Events

Date Code Title Description
R163 Identified publications notified
R230 Request for early publication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee