[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP3254403A1 - Device and method for generating a key in a programmable hardware module - Google Patents

Device and method for generating a key in a programmable hardware module

Info

Publication number
EP3254403A1
EP3254403A1 EP16715262.8A EP16715262A EP3254403A1 EP 3254403 A1 EP3254403 A1 EP 3254403A1 EP 16715262 A EP16715262 A EP 16715262A EP 3254403 A1 EP3254403 A1 EP 3254403A1
Authority
EP
European Patent Office
Prior art keywords
key
hardware module
bitstream
programmable hardware
generating
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
Application number
EP16715262.8A
Other languages
German (de)
French (fr)
Inventor
Dominik Merli
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
Publication of EP3254403A1 publication Critical patent/EP3254403A1/en
Ceased legal-status Critical Current

Links

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/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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17768Structural details of configuration resources for security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Definitions

  • the present invention relates to a device for generating a key in a programmable hardware module. Furthermore, the present invention relates to a programmable hardware module having such a device. Moreover, the present invention relates to a method for generating a key in a programmable hardware module.
  • Programmable hardware modules such as Field Programmable Gate Arrays (FPGAs) use bitstreams that contain all the configuration settings of the FPGA.
  • Application circuits as well as internal secrets for security applications are stored in such a bitstream.
  • SRAM-based FPGAs the bitstream is stored externally and loaded during power-up. This means that an attacker can access, analyze and manipulate the bitstream. Therefore, secrets or keys are not stored in such a bit stream.
  • keys can be generated by using Physical Unclonable Functions. Keys can be generated from physical properties, such as propagation time differences of signal paths, or hardware circuits.
  • an object of the present invention is to provide a key for a FPGA in a simple manner. Accordingly, an apparatus for generating a key in a programmable hardware module is proposed, wherein the programmable hardware module comprises a bitstream having configuration settings of the programmable hardware module Contains hardware module.
  • the apparatus comprises a readout unit for reading out at least part of the bitstream, a generation unit for generating a key based on a cryptographic function and the at least part of the bitstream, and a memory unit for storing the generated key.
  • the respective unit for example read-out unit or generation unit, can be implemented in terms of hardware and / or software technology.
  • the respective unit may be designed as a device or as part of a device, for example as a computer or as a microprocessor or as a control computer of a vehicle.
  • the respective unit may be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object.
  • the readout unit can read part of the bitstream or even the entire bitstream. This can be done directly after loading the bit stream when the programmable hardware module is turned on, or at some point in time when the configuration of the bitstream is known.
  • the read-out data of the bitstream may then be converted into a key by the generating unit using a cryptographic function.
  • the cryptographic function may process the at least part of the bitstream to generate the key. This generated key can be used for various cryptographic functions.
  • the key may be used as a private key for encryption in combination with a public key.
  • the generated key does not have to leave the device.
  • the key is not present at a particular memory location or hardware circuit within the bitstream, but represents an edited version of the entire bitstream.
  • the proposed device makes it possible in a simple way to obtain existing data in any case, that is to say anyway.
  • an already existing bitstream with configuration settings of a programmable hardware module, used to generate a key is already existing.
  • a programmable hardware module can be understood as an FPGA, for example.
  • the terms programmable hardware module and FPGA are used synonymously.
  • the device can be realized as a processor in the FPGA.
  • the device can be realized as a hardware unit in the FPGA.
  • the generation unit is configured to continuously generate a key.
  • the data of the bit stream is continuously fed to the generating unit, which continuously shifts it into the cryptographic function.
  • the cryptographic function is a cryptographic compression function.
  • the cryptographic compression function is a hash function.
  • a hash function returns a hash value as the initial value, ie as a key.
  • Such a hash value can also be used, for example, to check the integrity of the bit stream, as will be explained in more detail below.
  • the memory unit has a volatile memory.
  • the volatile memory can be deleted again at any time, for example when a manipulation is detected.
  • the volatile memory can be automatically cleared each time the FPGA is turned off.
  • the memory unit is configured to continuously store a generated key in the volatile memory.
  • the readout unit is set up to read out the at least one part of the bit stream via an internal configuration interface.
  • the FPGA has an internal configuration interface, via which the device or the readout unit can access the bit stream and read it out.
  • the device comprises an encryption unit for decrypting the bitstream using a secret key.
  • the external bitstream can be secured against attackers.
  • an attacker accesses the bitstream If he wants to, he must first break the encryption in this case. Then he can first analyze the used key generation function or cryptographic function.
  • the apparatus comprises an encryption unit for encrypting portions of the bitstream using the generated key.
  • the encryption unit may also be used to decrypt portions of the bitstream.
  • an unknown portion of the bitstream may be used to generate the key.
  • an attacker would have to reverse engineer the entire process to detect the relevant parts of the bitstream and analyze the encryption function.
  • the generation unit is configured to generate the key based on a cryptographic function, the at least part of the bitstream, and an external secret.
  • the key is based on an external secret.
  • secrets hidden in the bitstream may be used, further complicating reverse engineering.
  • the generating unit is configured to generate a plurality of keys based on a cryptographic function and a plurality of parts of the bitstream. For example, the bit stream may be divided into multiple parts, and a key may be generated based on each part or region.
  • the device comprises a checking unit for checking the integrity of the bitstream using the generated key.
  • bitstream contains configuration settings of the FPGA
  • an attacker can not integrate additional circuitry to read the key without changing the bitstream. Therefore, the original key is no longer generated and the attacker can no longer read the original key.
  • a programmable hardware module which has a device for generating a key as explained above.
  • the programmable hardware module is a Field Programmable Gate Array (FPGA).
  • FPGA Field Programmable Gate Array
  • the FPGA may be a static random-access memory (SRAM) -based FPGA.
  • SRAM static random-access memory
  • a method for generating a key in a programmable hardware module is proposed, wherein the programmable hardware module has a bit stream, which configuration settings of the contains programmable hardware module. The method comprises the steps of: reading at least a portion of the bitstream, generating a key based on a cryptographic function and the at least a portion of the bitstream, and storing the generated key.
  • a computer program product such as a computer program means may, for example, be used as a storage medium, e.g.
  • the embodiments and features described for the proposed device apply accordingly to the proposed method.
  • FIG. 1 is a schematic block diagram of one embodiment of a device for generating a key in a programmable hardware module
  • Fig. 2 is a schematic block diagram of one embodiment of an FPGA with an apparatus of Fig. 1;
  • FIG. 3 shows a schematic flow diagram of a method for generating a key in a programmable hardware module.
  • the programmable hardware module 1 shows a device 10 for generating a key in a programmable hardware module 1, which is shown in FIG.
  • the programmable hardware module 1 has a bitstream containing configuration settings of the programmable hardware module 1
  • the device 10 has a read-out unit 11, a generation unit 12, a memory unit 13, an encryption unit 14 and a checking unit 15.
  • the read-out unit 11 can read out a part, several parts or also the entire bit stream via a configuration interface 20.
  • the generating unit 12 may generate a key based on the read-out data of the bitstream and a cryptographic function, such as a hash function. In addition, an external secret can also be used.
  • the generated key can then be stored by the memory unit 13, for example in a volatile memory. The generated key can be used for different purposes.
  • the encryption unit 14 may use the generated key to encrypt or decrypt portions of the bitstream.
  • the bitstream may also be encrypted by the FPGA 1 using the generated key.
  • Another purpose is to verify the integrity of the bitstream.
  • the checking unit 15 can check the bit stream using the generated key. When the bitstream is manipulated, the originally generated key deviates from a hashed value of the manipulated bitstream, whereby an integrity check can take place.
  • the programmable hardware module may be, for example, an FPGA.
  • the FPGA 1 has an (internal) configuration interface 20.
  • a bitstream is loaded, which can be read out via the configuration interface 20 by the device 10.
  • step 301 shows a method for generating a key in a programmable hardware module 1.
  • the method comprises the steps 301 to 303.
  • step 301 at least part of the bit stream of the hardware module 1 is read out.
  • a key is generated based on a cryptographic function and the at least part of the bitstream.
  • step 303 the generated key is stored.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method for generating a key in a programmable hardware module, wherein the programmable hardware module has a bitstream containing configuration settings of the programmable hardware module. The device has a readout unit for reading at least one part of the bit stream, a generating unit for generating a key based on a cryptographic function and the at least one part of the bit stream, and a memory unit for storing the generated key. By means of the device according to the invention, a key can be generated in a simple manner using already existing information. The invention further relates to a programmable hardware module having such a device, and to a method for generating a key in a programmable hardware module.

Description

Beschreibung description
Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul Apparatus and method for generating a key in a programmable hardware module
Die vorliegende Erfindung betrifft eine Vorrichtung zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul. Des Weiteren betrifft die vorliegende Erfindung ein programmierbares Hardwaremodul mit einer solchen Vorrichtung. Darüber hinaus betrifft die vorliegende Erfindung ein Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul . The present invention relates to a device for generating a key in a programmable hardware module. Furthermore, the present invention relates to a programmable hardware module having such a device. Moreover, the present invention relates to a method for generating a key in a programmable hardware module.
Programmierbare Hardwaremodule wie FPGAs (Field Programmable Gate Arrays) benutzen Bitströme, in denen alle Konfigurationseinstellungen des FPGAs vorhanden sind. Anwendungsschal - tungen sowie interne Geheimnisse für Sicherheitsanwendungen sind in einem solchen Bitstrom gespeichert. In SRAM-basierten FPGAs wird der Bitstrom extern gespeichert und während des Einschaltens geladen. Das bedeutet, dass ein Angreifer auf den Bitstrom zugreifen kann, diesen analysieren und manipulieren kann. Daher werden Geheimnisse oder Schlüssel nicht in einem solchen Bitstrom gespeichert. Programmable hardware modules such as Field Programmable Gate Arrays (FPGAs) use bitstreams that contain all the configuration settings of the FPGA. Application circuits as well as internal secrets for security applications are stored in such a bitstream. In SRAM-based FPGAs, the bitstream is stored externally and loaded during power-up. This means that an attacker can access, analyze and manipulate the bitstream. Therefore, secrets or keys are not stored in such a bit stream.
In FPGAs können Schlüssel beispielsweise durch Verwendung von Physical Unclonable Functions erzeugt werden. Schlüssel können aus physikalischen Eigenschaften, wie Laufzeitunterschiede von Signalpfaden, oder Hardwareschaltungen erzeugt werden. For example, in FPGAs, keys can be generated by using Physical Unclonable Functions. Keys can be generated from physical properties, such as propagation time differences of signal paths, or hardware circuits.
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, auf einfache Weise einen Schlüssel für einen FPGA bereitzustellen. Demgemäß wird eine Vorrichtung zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul vorgeschlagen, wobei das programmierbare Hardwaremodul einen Bitstrom aufweist, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls enthält. Die Vorrichtung weist eine Ausleseeinheit zum Auslesen von zumindest einem Teil des Bitstroms, eine Erzeugungseinheit zum Erzeugen eines Schlüssels basierend auf einer kryptographisehen Funktion und dem zumindest einen Teil des Bitstroms, und eine Speichereinheit zum Speichern des erzeugten Schlüssels auf. Against this background, an object of the present invention is to provide a key for a FPGA in a simple manner. Accordingly, an apparatus for generating a key in a programmable hardware module is proposed, wherein the programmable hardware module comprises a bitstream having configuration settings of the programmable hardware module Contains hardware module. The apparatus comprises a readout unit for reading out at least part of the bitstream, a generation unit for generating a key based on a cryptographic function and the at least part of the bitstream, and a memory unit for storing the generated key.
Die jeweilige Einheit, zum Beispiel Ausleseeinheit oder Erzeugungseinheit, kann hardwaretechnisch und/oder auch soft- waretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steuerrechner eines Fahrzeuges ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein . Die Ausleseeinheit kann einen Teil des Bitstroms oder auch den gesamten Bitstrom auslesen. Dies kann direkt nach Laden des Bitstroms bei Einschalten des programmierbaren Hardwaremoduls erfolgen oder zu einem bestimmten Zeitpunkt, zu dem die Konfiguration des Bitstroms bekannt ist. The respective unit, for example read-out unit or generation unit, can be implemented in terms of hardware and / or software technology. In a hardware implementation, the respective unit may be designed as a device or as part of a device, for example as a computer or as a microprocessor or as a control computer of a vehicle. In a software implementation, the respective unit may be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object. The readout unit can read part of the bitstream or even the entire bitstream. This can be done directly after loading the bit stream when the programmable hardware module is turned on, or at some point in time when the configuration of the bitstream is known.
Die ausgelesenen Daten des Bitstroms können dann durch die Erzeugungseinheit unter Verwendung einer kryptographisehen Funktion in einen Schlüssel umgewandelt werden. Hierbei kann die kryptographisehe Funktion den zumindest einen Teil des Bitstroms verarbeiten, um den Schlüssel zu erzeugen. Dieser erzeugte Schlüssel kann für verschiedene kryptographisehe Funktionen eingesetzt werden. The read-out data of the bitstream may then be converted into a key by the generating unit using a cryptographic function. Here, the cryptographic function may process the at least part of the bitstream to generate the key. This generated key can be used for various cryptographic functions.
Beispielsweise kann der Schlüssel als privater Schlüssel für eine Verschlüsselung in Kombination mit einem öffentlichen Schlüssel verwendet werden. In diesem Fall muss der erzeugte Schlüssel die Vorrichtung nicht verlassen. Der Schlüssel ist hierbei nicht an einem speziellen Speicherort oder Hardwareschaltung innerhalb des Bitstroms vorhanden, sondern stellt eine bearbeitete Version des gesamten Bitstroms dar. For example, the key may be used as a private key for encryption in combination with a public key. In this case, the generated key does not have to leave the device. The key is not present at a particular memory location or hardware circuit within the bitstream, but represents an edited version of the entire bitstream.
Durch die vorgeschlagene Vorrichtung können auf einfache Weise ohnehin vorhandene Daten, d.h. ein bereits vorhandener Bitstrom mit Konfigurationseinstellungen eines programmierbaren Hardwaremoduls, dazu verwendet werden, einen Schlüssel zu erzeugen. The proposed device makes it possible in a simple way to obtain existing data in any case, that is to say anyway. an already existing bitstream with configuration settings of a programmable hardware module, used to generate a key.
Unter einem programmierbaren Hardwaremodul kann beispielsweise ein FPGA verstanden werden. Im Folgenden werden die Begriffe programmierbares Hardwaremodul und FPGA synonym ver- wendet. A programmable hardware module can be understood as an FPGA, for example. In the following, the terms programmable hardware module and FPGA are used synonymously.
Die Vorrichtung kann als Prozessor in dem FPGA realisiert werden. Alternativ kann die Vorrichtung als Hardwareeinheit in dem FPGA realisiert werden. The device can be realized as a processor in the FPGA. Alternatively, the device can be realized as a hardware unit in the FPGA.
Gemäß einer Ausführungsform ist die Erzeugungseinheit dazu eingerichtet, kontinuierlich einen Schlüssel zu erzeugen. According to one embodiment, the generation unit is configured to continuously generate a key.
Hierbei werden die Daten des Bitstroms kontinuierlich der Er- zeugungseinheit zugeführt, die diese kontinuierlich in die kryptographische Funktion verschiebt. In this case, the data of the bit stream is continuously fed to the generating unit, which continuously shifts it into the cryptographic function.
Gemäß einer weiteren Ausführungsform ist die kryptographische Funktion eine kryptographische Komprimierungsfunktion. According to another embodiment, the cryptographic function is a cryptographic compression function.
Jede Art von kryptographischer Komprimierungsfunktion, die dazu geeignet ist, einen Schlüssel zu erzeugen, kann verwendet werden. Gemäß einer weiteren Ausführungsform ist die kryptographische Komprimierungsfunktion eine Hashfunktion . Eine Hashfunktion liefert als Ausgangswert, d.h. als Schlüssel, einen Hashwert . Ein solcher Hashwert kann beispielsweise auch zur Überprüfung der Integrität des Bitstroms verwendet werden, wie im Folgenden näher erläutert wird. Any type of cryptographic compression function that is suitable for generating a key can be used. According to another embodiment, the cryptographic compression function is a hash function. A hash function returns a hash value as the initial value, ie as a key. Such a hash value can also be used, for example, to check the integrity of the bit stream, as will be explained in more detail below.
Gemäß einer weiteren Ausführungsform kann jede Art von According to another embodiment, any type of
Schlüsselableitungsfunktion zur Erzeugung des Schlüssels aus dem zumindest einen Teil des Bitstroms verwendet werden. Gemäß einer weiteren Ausführungsform weist die Speichereinheit einen flüchtigen Speicher auf. Key derivation function for generating the key from which at least a part of the bit stream are used. According to a further embodiment, the memory unit has a volatile memory.
Der flüchtige Speicher kann jederzeit wieder gelöscht werden, beispielsweise bei Erkennen einer Manipulation. Beispielswei - se kann der flüchtige Speicher bei jedem Abschalten des FPGAs automatisch gelöscht werden. The volatile memory can be deleted again at any time, for example when a manipulation is detected. For example, the volatile memory can be automatically cleared each time the FPGA is turned off.
Gemäß einer weiteren Ausführungsform ist die Speichereinheit dazu eingerichtet, kontinuierlich einen erzeugten Schlüssel in dem flüchtigen Speicher zu speichern. According to another embodiment, the memory unit is configured to continuously store a generated key in the volatile memory.
Hierbei kann ein bereits vorhandener Schlüssel durch einen neu erzeugten Schlüssel ersetzt werden. Gemäß einer weiteren Ausführungsform ist die Ausleseeinheit dazu eingerichtet, den zumindest einen Teil des Bitstroms über eine interne Konfigurationsschnittstelle auszulesen. In this case, an already existing key can be replaced by a newly generated key. In accordance with a further embodiment, the readout unit is set up to read out the at least one part of the bit stream via an internal configuration interface.
Das FPGA weist eine interne Konfigurationsschnittstelle auf, über die die Vorrichtung bzw. die Ausleseeinheit auf den Bitstrom zugreifen und diesen auslesen kann. The FPGA has an internal configuration interface, via which the device or the readout unit can access the bit stream and read it out.
Gemäß einer weiteren Ausführungsform weist die Vorrichtung eine Verschlüsselungseinheit zum Entschlüsseln des Bitstroms unter Verwendung eines geheimen Schlüssels auf. According to another embodiment, the device comprises an encryption unit for decrypting the bitstream using a secret key.
Auf diese Weise kann der externe Bitstrom gegen Angreifer gesichert werden. Wenn ein Angreifer auf den Bitstrom zugreifen möchte, muss er in diesem Fall zunächst die Verschlüsselung brechen. Anschließend kann er erst die verwendete Schlüssel - erzeugungsfunktion bzw. kryptographisehe Funktion analysieren . In this way, the external bitstream can be secured against attackers. When an attacker accesses the bitstream If he wants to, he must first break the encryption in this case. Then he can first analyze the used key generation function or cryptographic function.
Gemäß einer weiteren Ausführungsform weist die Vorrichtung eine Verschlüsselungseinheit zum Verschlüsseln von Teilen des Bitstroms unter Verwendung des erzeugten Schlüssels auf. Die Verschlüsselungseinheit kann ebenfalls zum Entschlüsseln von Teilen des Bitstroms verwendet werden. According to another embodiment, the apparatus comprises an encryption unit for encrypting portions of the bitstream using the generated key. The encryption unit may also be used to decrypt portions of the bitstream.
In einer Ausführungsform kann zur Erzeugung des Schlüssels ein unbekannter Teilbereich des Bitstroms verwendet werden. In diesem Fall müsste ein Angreifer den gesamten Prozess mittels Reverse-Engineering analysieren, um die relevanten Teile des Bitstroms zu detektieren und die Verschlüsselungsfunktion zu analysieren. Gemäß einer weiteren Ausführungsform ist die Erzeugungseinheit dazu eingerichtet, den Schlüssel basierend auf einer kryptographisehen Funktion, dem zumindest einen Teil des Bitstroms und einem externen Geheimnis zu erzeugen. Gemäß dieser Ausführungsform basiert der Schlüssel zusätzlich auf einem externen Geheimnis. Alternativ oder zusätzlich können Geheimnisse verwendet werden, die in dem Bitstrom versteckt sind, was ein Reverse-Engineering weiter erschwert. Gemäß einer weiteren Ausführungsform ist die Erzeugungseinheit dazu eingerichtet, eine Mehrzahl von Schlüsseln basierend auf einer kryptographisehen Funktion und einer Mehrzahl von Teilen des Bitstroms zu erzeugen. Der Bitstrom kann beispielsweise in mehrere Teile aufgeteilt werden und basierend auf jedem Teil oder Bereich kann ein Schlüssel erzeugt werden. Dies kann auch dazu verwendet werden, verschiedene Teile des Bitstroms auf ihre Integrität hin zu überprüfen. Die Mehrzahl von Teilen des Bitstroms können disjunkte Mengen des Bitstroms sein. Alternativ können sich die Teile des Bitstroms überschneiden. Gemäß einer weiteren Ausführungsform weist die Vorrichtung eine Überprüfungseinheit zum Überprüfen der Integrität des Bitstroms unter Verwendung des erzeugten Schlüssels auf. In one embodiment, an unknown portion of the bitstream may be used to generate the key. In this case, an attacker would have to reverse engineer the entire process to detect the relevant parts of the bitstream and analyze the encryption function. According to another embodiment, the generation unit is configured to generate the key based on a cryptographic function, the at least part of the bitstream, and an external secret. In addition, according to this embodiment, the key is based on an external secret. Alternatively or additionally, secrets hidden in the bitstream may be used, further complicating reverse engineering. According to another embodiment, the generating unit is configured to generate a plurality of keys based on a cryptographic function and a plurality of parts of the bitstream. For example, the bit stream may be divided into multiple parts, and a key may be generated based on each part or region. This can also be used to different parts of the bitstream for their integrity to check. The plurality of parts of the bitstream may be disjoint sets of the bitstream. Alternatively, the parts of the bitstream may overlap. According to a further embodiment, the device comprises a checking unit for checking the integrity of the bitstream using the generated key.
Wenn ein Angreifer den Bitstrom manipuliert, wird das Ergeb- nis der kryptographisehen Funktion unterschiedlich zu einem Ergebnis des nicht-manipulierten Bitstroms sein. Das bedeutet, dass ein anderer Schlüssel erzeugt werden würde. If an attacker manipulates the bitstream, the result of the cryptographic function will be different than a result of the un-manipulated bitstream. This means that another key would be generated.
Da der Bitstrom Konfigurationseinstellungen des FPGAs ent- hält, kann ein Angreifer keine zusätzliche Schaltung integrieren, um den Schlüssel auszulesen, ohne den Bitstrom zu verändern. Daher wird nicht mehr der ursprüngliche Schlüssel erzeugt und der Angreifer kann den ursprünglichen Schlüssel nicht mehr auslesen. Because the bitstream contains configuration settings of the FPGA, an attacker can not integrate additional circuitry to read the key without changing the bitstream. Therefore, the original key is no longer generated and the attacker can no longer read the original key.
Des Weiteren würden andere kryptographische Funktionen ebenfalls nicht mehr ordnungsgemäß funktionieren, da der Bitstrom verändert wurde . Gemäß einem weiteren Aspekt wird ein programmierbares Hardwaremodul vorgeschlagen, welches eine wie oben erläuterte Vorrichtung zum Erzeugen eines Schlüssels aufweist. Furthermore, other cryptographic functions would also not work properly because the bitstream was changed. According to a further aspect, a programmable hardware module is proposed, which has a device for generating a key as explained above.
Gemäß einer Ausführungsform ist das programmierbare Hardware- modul ein Field Programmable Gate Array (FPGA) . In one embodiment, the programmable hardware module is a Field Programmable Gate Array (FPGA).
Das FPGA kann ein SRAM (static random-access memory) -basiertes FPGA sein. Gemäß einem weiteren Aspekt wird ein Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul vorgeschlagen, wobei das programmierbare Hardwaremodul einen Bitstrom aufweist, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls enthält. Das Verfahren weist die folgenden Schritte auf: Auslesen von zumindest einem Teil des Bitstroms, Erzeugen eines Schlüssels basierend auf einer kryptographisehen Funktion und dem zumindest einen Teil des Bitstroms, und Speichern des erzeugten Schlüssels. The FPGA may be a static random-access memory (SRAM) -based FPGA. According to a further aspect, a method for generating a key in a programmable hardware module is proposed, wherein the programmable hardware module has a bit stream, which configuration settings of the contains programmable hardware module. The method comprises the steps of: reading at least a portion of the bitstream, generating a key based on a cryptographic function and the at least a portion of the bitstream, and storing the generated key.
Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst. Furthermore, a computer program product is proposed, which causes the execution of the method as explained above on a program-controlled device.
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm- Mittel, kann beispielsweise als Speichermedium, wie z.B. A computer program product, such as a computer program means may, for example, be used as a storage medium, e.g.
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. Die für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren entsprechend. 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. The embodiments and features described for the proposed device apply accordingly to the proposed method.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen . Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen. Further possible implementations of the invention also include not explicitly mentioned combinations of features or embodiments described above or below with regard to the exemplary embodiments. The skilled person will also add individual aspects as improvements or additions to the respective basic form of the invention.
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungs- formen unter Bezugnahme auf die beigelegten Figuren näher erläutert . Fig. 1 zeigt ein schematisches Blockdiagramm einer Ausführungsform einer Vorrichtung zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul; Fig. 2 zeigt ein schematisches Blockdiagramm einer Ausführungsform eines FPGAs mit einer Vorrichtung nach Fig. 1; und Further advantageous embodiments and aspects of the invention are the subject of the dependent claims and the embodiments of the invention described below. In the following, the invention will be explained in more detail by means of preferred embodiments with reference to the enclosed figures. Fig. 1 is a schematic block diagram of one embodiment of a device for generating a key in a programmable hardware module; Fig. 2 is a schematic block diagram of one embodiment of an FPGA with an apparatus of Fig. 1; and
Fig. 3 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul. 3 shows a schematic flow diagram of a method for generating a key in a programmable hardware module.
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist. In the figures, the same or functionally identical elements have been given the same reference numerals, unless stated otherwise.
Fig. 1 zeigt eine Vorrichtung 10 zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul 1, welches in Fig. 2 gezeigt ist. Das programmierbare Hardwaremodul 1 weist einen Bitstrom auf, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls 1 enthält 1 shows a device 10 for generating a key in a programmable hardware module 1, which is shown in FIG. The programmable hardware module 1 has a bitstream containing configuration settings of the programmable hardware module 1
Die Vorrichtung 10 weist eine Ausleseeinheit 11, eine Erzeugungseinheit 12, eine Speichereinheit 13, eine Verschlüsselungseinheit 14 und eine Überprüfungseinheit 15 auf. The device 10 has a read-out unit 11, a generation unit 12, a memory unit 13, an encryption unit 14 and a checking unit 15.
Die Ausleseeinheit 11 kann einen Teil, mehrere Teile oder auch den gesamten Bitstrom über eine Konfigurationsschnittstelle 20 auslesen. Die Erzeugungseinheit 12 kann basierend auf den ausgelesenen Daten des Bitstroms und einer kryptographisehen Funktion, beispielsweise einer Hashfunktion, einen Schlüssel erzeugen. Zusätzlich kann auch ein externes Geheimnis verwendet werden. Der erzeugte Schlüssel kann dann durch die Speichereinheit 13 beispielsweise in einem flüchtigen Speicher gespeichert werden . Der erzeugte Schlüssel kann für verschiedene Zwecke verwendet werden . The read-out unit 11 can read out a part, several parts or also the entire bit stream via a configuration interface 20. The generating unit 12 may generate a key based on the read-out data of the bitstream and a cryptographic function, such as a hash function. In addition, an external secret can also be used. The generated key can then be stored by the memory unit 13, for example in a volatile memory. The generated key can be used for different purposes.
Unter anderem kann die Verschlüsselungseinheit 14 den erzeug- ten Schlüssel dazu verwenden, Teile des Bitstroms zu verschlüsseln oder zu entschlüsseln. Der Bitstrom kann auch durch das FPGA 1 unter Verwendung des erzeugten Schlüssels verschlüsselt werden. Ein anderer Verwendungszweck liegt in der Überprüfung der Integrität des Bitstroms. Hierzu kann die Überprüfungseinheit 15 den Bitstrom unter Verwendung des erzeugten Schlüssels überprüfen. Bei einer Manipulation des Bitstroms weicht der ursprünglich erzeugte Schlüssel von einem Hashwert des mani- pulierten Bitstroms ab, wodurch eine Integritätsüberprüfung stattfinden kann. Among other things, the encryption unit 14 may use the generated key to encrypt or decrypt portions of the bitstream. The bitstream may also be encrypted by the FPGA 1 using the generated key. Another purpose is to verify the integrity of the bitstream. For this purpose, the checking unit 15 can check the bit stream using the generated key. When the bitstream is manipulated, the originally generated key deviates from a hashed value of the manipulated bitstream, whereby an integrity check can take place.
Fig. 2 zeigt ein programmierbares Hardwaremodul 1. Das programmierbare Hardwaremodul kann beispielsweise ein FPGA sein. 2 shows a programmable hardware module 1. The programmable hardware module may be, for example, an FPGA.
Das FPGA 1 weist eine (interne) Konfigurationsschnittstelle 20 auf. In dem FPGA 1 wird ein Bitstrom geladen, der über die Konfigurationsschnittstelle 20 durch die Vorrichtung 10 ausgelesen werden kann. The FPGA 1 has an (internal) configuration interface 20. In the FPGA 1, a bitstream is loaded, which can be read out via the configuration interface 20 by the device 10.
Fig. 3 zeigt ein Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul 1. Das Verfahren weist die Schritte 301 bis 303 auf. In Schritt 301 wird zumindest ein Teil des Bitstroms des Hardwaremoduls 1 ausgelesen. 3 shows a method for generating a key in a programmable hardware module 1. The method comprises the steps 301 to 303. In step 301, at least part of the bit stream of the hardware module 1 is read out.
In Schritt 302 wird ein Schlüssel basierend auf einer kryp- tographischen Funktion und dem zumindest einen Teil des Bit- Stroms erzeugt. In step 302, a key is generated based on a cryptographic function and the at least part of the bitstream.
In Schritt 303 wird der erzeugte Schlüssel gespeichert. Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar. In step 303, the generated key is stored. Although the present invention has been described with reference to embodiments, it is variously modifiable.

Claims

Patentansprüche claims
1. Vorrichtung (10) zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul (1) , wobei das programmierbare Hardwaremodul (1) einen Bitstrom aufweist, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls (1) enthält, mit: A device (10) for generating a key in a programmable hardware module (1), the programmable hardware module (1) having a bitstream containing configuration settings of the programmable hardware module (1), comprising:
einer Ausleseeinheit (11) zum Auslesen von zumindest einem Teil des Bitstroms,  a read-out unit (11) for reading out at least a part of the bit stream,
einer Erzeugungseinheit (12) zum Erzeugen eines Schlüssels basierend auf einer kryptographisehen Funktion und dem zumindest einen Teil des Bitstroms, und  a generation unit (12) for generating a key based on a cryptographic function and the at least part of the bitstream, and
einer Speichereinheit (13) zum Speichern des erzeugten Schlüssels .  a storage unit (13) for storing the generated key.
2. Vorrichtung nach Anspruch 1, 2. Apparatus according to claim 1,
dadurch gekennzeichnet, characterized,
dass die Erzeugungseinheit (12) dazu eingerichtet ist, kontinuierlich einen Schlüssel zu erzeugen. that the generating unit (12) is adapted to continuously generate a key.
3. Vorrichtung nach Anspruch 1 oder 2, 3. Apparatus according to claim 1 or 2,
dadurch gekennzeichnet, characterized,
dass die kryptographisehe Funktion eine kryptographisehe Komprimierungsfunktion ist. the cryptographic function is a cryptographic compression function.
4. Vorrichtung nach Anspruch 3, 4. Apparatus according to claim 3,
dadurch gekennzeichnet, characterized,
dass die kryptographisehe Komprimierungsfunktion eine Hash- funktion ist. that the cryptographic compression function is a hash function.
5. Vorrichtung nach einem der Ansprüche 1 - 4, 5. Device according to one of claims 1 - 4,
dadurch gekennzeichnet, characterized,
dass die Speichereinheit (13) einen flüchtigen Speicher aufweist . the storage unit (13) has a volatile memory.
6. Vorrichtung nach Anspruch 5, 6. Apparatus according to claim 5,
dadurch gekennzeichnet, dass die Speichereinheit (13) dazu eingerichtet ist, kontinuierlich einen erzeugten Schlüssel in dem flüchtigen Speicher zu speichern. 7. Vorrichtung nach einem der Ansprüche 1 - 6, characterized, the memory unit (13) is arranged to continuously store a generated key in the volatile memory. 7. Device according to one of claims 1 - 6,
dadurch gekennzeichnet, characterized,
dass die Ausleseeinheit (11) dazu eingerichtet ist, den zumindest einen Teil des Bitstroms über eine interne Konfigurationsschnittstelle (20) auszulesen. in that the read-out unit (11) is set up to read out the at least one part of the bit stream via an internal configuration interface (20).
8. Vorrichtung nach einem der Ansprüche 1 - 7, 8. Device according to one of claims 1 - 7,
gekennzeichnet durch marked by
eine Verschlüsselungseinheit (14) zum Verschlüsseln des Bitstroms unter Verwendung des erzeugten Schlüssels. an encryption unit (14) for encrypting the bitstream using the generated key.
9. Vorrichtung nach einem der Ansprüche 1 - 8, 9. Device according to one of claims 1 - 8,
dadurch gekennzeichnet, characterized,
dass die Erzeugungseinheit (12) dazu eingerichtet ist, den Schlüssel basierend auf einer kryptographisehen Funktion, dem zumindest einen Teil des Bitstroms und einem externen Geheimnis zu erzeugen. in that the generating unit (12) is arranged to generate the key based on a cryptographic function, the at least part of the bit stream and an external secret.
10. Vorrichtung nach einem der Ansprüche 1 - 9, 10. Device according to one of claims 1 - 9,
dadurch gekennzeichnet, characterized,
dass die Erzeugungseinheit (12) dazu eingerichtet ist, einethat the generating unit (12) is adapted to a
Mehrzahl von Schlüsseln basierend auf einer kryptographisehen Funktion und einer Mehrzahl von Teilen des Bitstroms zu erzeugen . 11. Vorrichtung nach einem der Ansprüche 1 - 10, Create a plurality of keys based on a cryptographic function and a plurality of parts of the bitstream. 11. Device according to one of claims 1 - 10,
gekennzeichnet durch marked by
eine Überprüfungseinheit (15) zum Überprüfen der Integrität des Bitstroms unter Verwendung des erzeugten Schlüssels. a checking unit (15) for checking the integrity of the bitstream using the generated key.
Programmierbares Hardwaremodul (1) , mit Programmable hardware module (1), with
einer Vorrichtung (10) nach einem der Ansprüche - 11 a device (10) according to any one of claims - 11
Erzeugen eines Schlüssels. Generate a key.
13. Programmierbares Hardwaremodul nach Anspruch 12, 13. Programmable hardware module according to claim 12,
dadurch gekennzeichnet, characterized,
dass das programmierbare Hardwaremodul (1) ein Field Program- mable Gate Array ist. the programmable hardware module (1) is a Field Programmable Gate Array.
14. Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul (1) , wobei das programmierbare Hardwaremodul (1) einen Bitstrom aufweist, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls (1) ent- hält, mit: 14. A method of generating a key in a programmable hardware module (1), the programmable hardware module (1) comprising a bitstream containing configuration settings of the programmable hardware module (1), comprising:
Auslesen (301) von zumindest einem Teil des Bitstroms, Erzeugen (302) eines Schlüssels basierend auf einer kryp- tographischen Funktion und dem zumindest einen Teil des Bitstroms, und  Reading (301) at least a portion of the bitstream, generating (302) a key based on a cryptographic function and the at least a portion of the bitstream, and
Speichern (303) des erzeugten Schlüssels.  Storing (303) the generated key.
EP16715262.8A 2015-04-14 2016-03-24 Device and method for generating a key in a programmable hardware module Ceased EP3254403A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015206643.6A DE102015206643A1 (en) 2015-04-14 2015-04-14 Apparatus and method for generating a key in a programmable hardware module
PCT/EP2016/056620 WO2016165930A1 (en) 2015-04-14 2016-03-24 Device and method for generating a key in a programmable hardware module

Publications (1)

Publication Number Publication Date
EP3254403A1 true EP3254403A1 (en) 2017-12-13

Family

ID=55699615

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16715262.8A Ceased EP3254403A1 (en) 2015-04-14 2016-03-24 Device and method for generating a key in a programmable hardware module

Country Status (6)

Country Link
US (1) US20180123789A1 (en)
EP (1) EP3254403A1 (en)
KR (1) KR20170138483A (en)
CN (1) CN107409046A (en)
DE (1) DE102015206643A1 (en)
WO (1) WO2016165930A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2735618C1 (en) * 2019-01-22 2020-11-05 Сименс Акциенгезелльшафт Computer-implemented device and method for processing data

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
EP3451573A1 (en) * 2017-08-30 2019-03-06 Siemens Aktiengesellschaft Method and system for testing a function of an encryption device
CN109635466B (en) * 2018-12-18 2023-05-23 上海复旦微电子集团股份有限公司 Function simulation method and system for configurable chip
US11343089B2 (en) * 2019-07-10 2022-05-24 Tunnel VUE Inc. Cryptography system and method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970142A (en) * 1996-08-26 1999-10-19 Xilinx, Inc. Configuration stream encryption
US6654889B1 (en) * 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US6785816B1 (en) * 2000-05-01 2004-08-31 Nokia Corporation System and method for secured configuration data for programmable logic devices
US6996713B1 (en) * 2002-03-29 2006-02-07 Xilinx, Inc. Method and apparatus for protecting proprietary decryption keys for programmable logic devices
KR100838556B1 (en) * 2004-03-18 2008-06-17 콸콤 인코포레이티드 Efficient transmission of cryptographic information in secure real time protocol
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
US7716497B1 (en) * 2005-06-14 2010-05-11 Xilinx, Inc. Bitstream protection without key storage
CN101646167A (en) * 2009-09-04 2010-02-10 西安电子科技大学 Wireless network-accessing intelligent terminal and data processing method thereof
CN101853051A (en) * 2010-04-30 2010-10-06 株洲南车时代电气股份有限公司 Man-machine interaction unit device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2735618C1 (en) * 2019-01-22 2020-11-05 Сименс Акциенгезелльшафт Computer-implemented device and method for processing data
US10872058B2 (en) 2019-01-22 2020-12-22 Siemens Aktiengesellschaft Apparatus and method for processing data by a reconfigurable part of a digital chip

Also Published As

Publication number Publication date
KR20170138483A (en) 2017-12-15
DE102015206643A1 (en) 2016-10-20
WO2016165930A1 (en) 2016-10-20
CN107409046A (en) 2017-11-28
US20180123789A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
EP2367128B1 (en) Device and method for electronic signatures
DE102012220990B3 (en) Method and arrangement for secure communication between network devices in a communication network
WO2016165930A1 (en) Device and method for generating a key in a programmable hardware module
DE102011010613B4 (en) Method for storing and restoring data, use of the methods in a storage cloud, storage server and computer program product
EP3683713B1 (en) Method, devices and system for providing secure data sets
DE102013203415A1 (en) Create a derived key from a cryptographic key using a non-cloning function
DE112013007574T5 (en) Software update device and software update program
DE102014206992A1 (en) Random number generator and method for generating random numbers
DE102016205289A1 (en) Method, processor and device for checking the integrity of user data
DE112020001061T5 (en) ENCRYPTED GEAR PROGRAMMING
EP3552344B1 (en) Bidirectionally linked blockchain structure
DE102014210282A1 (en) Generate a cryptographic key
DE102013202322A1 (en) Method for encrypted transmission of data between two components of control unit, involves transferring encrypted data from first component of control unit to second component of control unit, where encrypted data is decrypted
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
WO2016005075A1 (en) Method and system for identifying manipulation of data records
EP3667529B1 (en) Method and device for authenticating an fpga configuration
DE112021002864T5 (en) SECURE LOADING OF EMBEDDED MICROCONTROL UNIT IMAGES
EP4136863A1 (en) Method and reproduction unit for reproducing protected messages
DE102004054549B3 (en) Apparatus and method for detecting a manipulation of an information signal
DE102016207145A1 (en) Control system for processing image data
DE102014216392A1 (en) Symmetric iterated block ciphering method and corresponding device
DE102019101213A1 (en) Authentication and decryption of programmable devices
DE102014209037A1 (en) Apparatus and method for protecting the integrity of operating system instances
DE102014114222A1 (en) Method for encrypting source user data

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170907

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20190507

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20200926