DE102015206643A1 - Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul - Google Patents

Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul Download PDF

Info

Publication number
DE102015206643A1
DE102015206643A1 DE102015206643.6A DE102015206643A DE102015206643A1 DE 102015206643 A1 DE102015206643 A1 DE 102015206643A1 DE 102015206643 A DE102015206643 A DE 102015206643A DE 102015206643 A1 DE102015206643 A1 DE 102015206643A1
Authority
DE
Germany
Prior art keywords
key
bitstream
hardware module
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.)
Withdrawn
Application number
DE102015206643.6A
Other languages
English (en)
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
Priority to DE102015206643.6A priority Critical patent/DE102015206643A1/de
Priority to US15/565,472 priority patent/US20180123789A1/en
Priority to CN201680021752.3A priority patent/CN107409046A/zh
Priority to EP16715262.8A priority patent/EP3254403A1/de
Priority to KR1020177033011A priority patent/KR20170138483A/ko
Priority to PCT/EP2016/056620 priority patent/WO2016165930A1/de
Publication of DE102015206643A1 publication Critical patent/DE102015206643A1/de
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/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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (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

Es 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 kryptographischen Funktion und dem zumindest einen Teil des Bitstroms, und eine Speichereinheit zum Speichern des erzeugten Schlüssels auf. Durch die vorgeschlagene Vorrichtung kann auf einfache Weise ein Schlüssel unter Verwendung bereits vorhandener Informationen erzeugt werden. Des Weiteren werden ein programmierbares Hardwaremodul mit einer solchen Vorrichtung sowie ein Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul vorgeschlagen.

Description

  • 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.
  • Programmierbare Hardwaremodule wie FPGAs (Field Programmable Gate Arrays) benutzen Bitströme, in denen alle Konfigurationseinstellungen des FPGAs vorhanden sind. Anwendungsschaltungen 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.
  • 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.
  • 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 kryptographischen Funktion und dem zumindest einen Teil des Bitstroms, und eine Speichereinheit zum Speichern des erzeugten Schlüssels auf.
  • Die jeweilige Einheit, zum Beispiel Ausleseeinheit oder Erzeugungseinheit, kann hardwaretechnisch und/oder auch softwaretechnisch 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.
  • Die ausgelesenen Daten des Bitstroms können dann durch die Erzeugungseinheit unter Verwendung einer kryptographischen Funktion in einen Schlüssel umgewandelt werden. Hierbei kann die kryptographische Funktion den zumindest einen Teil des Bitstroms verarbeiten, um den Schlüssel zu erzeugen. Dieser erzeugte Schlüssel kann für verschiedene kryptographische Funktionen eingesetzt werden.
  • 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.
  • 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.
  • Unter einem programmierbaren Hardwaremodul kann beispielsweise ein FPGA verstanden werden. Im Folgenden werden die Begriffe programmierbares Hardwaremodul und FPGA synonym verwendet.
  • Die Vorrichtung kann als Prozessor in dem FPGA realisiert werden. Alternativ kann die Vorrichtung als Hardwareeinheit in dem FPGA realisiert werden.
  • Gemäß einer Ausführungsform ist die Erzeugungseinheit dazu eingerichtet, kontinuierlich einen Schlüssel zu erzeugen.
  • Hierbei werden die Daten des Bitstroms kontinuierlich der Erzeugungseinheit zugeführt, die diese kontinuierlich in die kryptographische Funktion verschiebt.
  • Gemäß einer weiteren Ausführungsform ist die kryptographische Funktion eine kryptographische Komprimierungsfunktion.
  • 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.
  • Gemäß einer weiteren Ausführungsform kann jede Art von 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.
  • Der flüchtige Speicher kann jederzeit wieder gelöscht werden, beispielsweise bei Erkennen einer Manipulation. Beispielsweise kann der flüchtige Speicher bei jedem Abschalten des FPGAs automatisch gelöscht werden.
  • Gemäß einer weiteren Ausführungsform ist die Speichereinheit dazu eingerichtet, kontinuierlich einen erzeugten Schlüssel in dem flüchtigen Speicher zu speichern.
  • 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.
  • Das FPGA weist eine interne Konfigurationsschnittstelle auf, über die die Vorrichtung bzw. die Ausleseeinheit auf den Bitstrom zugreifen und diesen auslesen kann.
  • Gemäß einer weiteren Ausführungsform weist die Vorrichtung eine Verschlüsselungseinheit zum Entschlüsseln des Bitstroms unter Verwendung eines geheimen Schlüssels auf.
  • 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üsselerzeugungsfunktion bzw. kryptographische Funktion analysieren.
  • 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.
  • 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 kryptographischen 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 kryptographischen 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.
  • Wenn ein Angreifer den Bitstrom manipuliert, wird das Ergebnis der kryptographischen Funktion unterschiedlich zu einem Ergebnis des nicht-manipulierten Bitstroms sein. Das bedeutet, dass ein anderer Schlüssel erzeugt werden würde.
  • Da der Bitstrom Konfigurationseinstellungen des FPGAs enthä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.
  • 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.
  • Gemäß einer Ausführungsform ist das programmierbare Hardwaremodul ein 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 kryptographischen Funktion und dem zumindest einen Teil des Bitstroms, und Speichern des erzeugten Schlüssels.
  • Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst.
  • 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.
  • Die für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren entsprechend.
  • 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.
  • 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ührungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert.
  • 1 zeigt ein schematisches Blockdiagramm einer Ausführungsform einer Vorrichtung zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul;
  • 2 zeigt ein schematisches Blockdiagramm einer Ausführungsform eines FPGAs mit einer Vorrichtung nach 1; und
  • 3 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul.
  • In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
  • 1 zeigt eine Vorrichtung 10 zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul 1, welches in
  • 2 gezeigt ist. Das programmierbare Hardwaremodul 1 weist einen Bitstrom auf, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls 1 enthält
  • Die Vorrichtung 10 weist eine Ausleseeinheit 11, eine Erzeugungseinheit 12, eine Speichereinheit 13, eine Verschlüsselungseinheit 14 und eine Überprüfungseinheit 15 auf.
  • 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 kryptographischen 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.
  • Unter anderem kann die Verschlüsselungseinheit 14 den erzeugten 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 manipulierten Bitstroms ab, wodurch eine Integritätsüberprüfung stattfinden kann.
  • 2 zeigt ein programmierbares Hardwaremodul 1. Das programmierbare Hardwaremodul kann beispielsweise ein FPGA sein.
  • 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.
  • 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.
  • In Schritt 302 wird ein Schlüssel basierend auf einer kryptographischen Funktion und dem zumindest einen Teil des Bitstroms erzeugt.
  • In Schritt 303 wird der erzeugte Schlüssel gespeichert.
  • Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar.

Claims (14)

  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: einer Ausleseeinheit (11) zum Auslesen von zumindest einem Teil des Bitstroms, einer Erzeugungseinheit (12) zum Erzeugen eines Schlüssels basierend auf einer kryptographischen Funktion und dem zumindest einen Teil des Bitstroms, und einer Speichereinheit (13) zum Speichern des erzeugten Schlüssels.
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Erzeugungseinheit (12) dazu eingerichtet ist, kontinuierlich einen Schlüssel zu erzeugen.
  3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die kryptographische Funktion eine kryptographische Komprimierungsfunktion ist.
  4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die kryptographische Komprimierungsfunktion eine Hashfunktion ist.
  5. Vorrichtung nach einem der Ansprüche 1–4, dadurch gekennzeichnet, dass die Speichereinheit (13) einen flüchtigen Speicher aufweist.
  6. Vorrichtung nach Anspruch 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, dadurch gekennzeichnet, dass die Ausleseeinheit (11) dazu eingerichtet ist, den zumindest einen Teil des Bitstroms über eine interne Konfigurationsschnittstelle (20) auszulesen.
  8. Vorrichtung nach einem der Ansprüche 1–7, gekennzeichnet durch eine Verschlüsselungseinheit (14) zum Verschlüsseln des Bitstroms unter Verwendung des erzeugten Schlüssels.
  9. Vorrichtung nach einem der Ansprüche 1–8, dadurch gekennzeichnet, dass die Erzeugungseinheit (12) dazu eingerichtet ist, den Schlüssel basierend auf einer kryptographischen Funktion, dem zumindest einen Teil des Bitstroms und einem externen Geheimnis zu erzeugen.
  10. Vorrichtung nach einem der Ansprüche 1–9, dadurch gekennzeichnet, dass die Erzeugungseinheit (12) dazu eingerichtet ist, eine Mehrzahl von Schlüsseln basierend auf einer kryptographischen Funktion und einer Mehrzahl von Teilen des Bitstroms zu erzeugen.
  11. Vorrichtung nach einem der Ansprüche 1–10, gekennzeichnet durch eine Überprüfungseinheit (15) zum Überprüfen der Integrität des Bitstroms unter Verwendung des erzeugten Schlüssels.
  12. Programmierbares Hardwaremodul (1), mit einer Vorrichtung (10) nach einem der Ansprüche 1–11 zum Erzeugen eines Schlüssels.
  13. Programmierbares Hardwaremodul nach Anspruch 12, dadurch gekennzeichnet, dass das programmierbare Hardwaremodul (1) ein Field Programmable Gate Array ist.
  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) enthält, mit: Auslesen (301) von zumindest einem Teil des Bitstroms, Erzeugen (302) eines Schlüssels basierend auf einer kryptographischen Funktion und dem zumindest einen Teil des Bitstroms, und Speichern (303) des erzeugten Schlüssels.
DE102015206643.6A 2015-04-14 2015-04-14 Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul Withdrawn DE102015206643A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102015206643.6A DE102015206643A1 (de) 2015-04-14 2015-04-14 Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul
US15/565,472 US20180123789A1 (en) 2015-04-14 2016-03-24 Apparatus and method for generating a key in a programmable hardware module
CN201680021752.3A CN107409046A (zh) 2015-04-14 2016-03-24 用于在可编程的硬件模块中生成密钥的装置和方法
EP16715262.8A EP3254403A1 (de) 2015-04-14 2016-03-24 Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul
KR1020177033011A KR20170138483A (ko) 2015-04-14 2016-03-24 프로그램가능 하드웨어 모듈에서 키를 생성하기 위한 디바이스 및 방법
PCT/EP2016/056620 WO2016165930A1 (de) 2015-04-14 2016-03-24 Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015206643.6A DE102015206643A1 (de) 2015-04-14 2015-04-14 Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul

Publications (1)

Publication Number Publication Date
DE102015206643A1 true DE102015206643A1 (de) 2016-10-20

Family

ID=55699615

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015206643.6A Withdrawn DE102015206643A1 (de) 2015-04-14 2015-04-14 Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul

Country Status (6)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451573A1 (de) * 2017-08-30 2019-03-06 Siemens Aktiengesellschaft Verfahren und system zum prüfen einer funktion einer verschlüsselungseinrichtung
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
EP3686763A1 (de) * 2019-01-22 2020-07-29 Siemens Aktiengesellschaft Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635466B (zh) * 2018-12-18 2023-05-23 上海复旦微电子集团股份有限公司 一种用于可配置芯片的功能仿真方法及系统
US11343089B2 (en) * 2019-07-10 2022-05-24 Tunnel VUE Inc. Cryptography system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001084323A1 (en) * 2000-05-01 2001-11-08 Nokia Internet Communications, Inc. System and method for secured configuration data for programmable logic devices
WO2005091108A1 (en) * 2004-03-19 2005-09-29 Nokia Corporation Secure mode controlled memory

Family Cites Families (7)

* 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
US6996713B1 (en) * 2002-03-29 2006-02-07 Xilinx, Inc. Method and apparatus for protecting proprietary decryption keys for programmable logic devices
CA2560550A1 (en) * 2004-03-18 2005-09-29 Qualcomm Incorporated Efficient transmission of cryptographic information in secure real time protocol
US7716497B1 (en) * 2005-06-14 2010-05-11 Xilinx, Inc. Bitstream protection without key storage
CN101646167A (zh) * 2009-09-04 2010-02-10 西安电子科技大学 无线上网智能终端及其数据处理方法
CN101853051A (zh) * 2010-04-30 2010-10-06 株洲南车时代电气股份有限公司 一种人机交互单元设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001084323A1 (en) * 2000-05-01 2001-11-08 Nokia Internet Communications, Inc. System and method for secured configuration data for programmable logic devices
WO2005091108A1 (en) * 2004-03-19 2005-09-29 Nokia Corporation Secure mode controlled memory

Cited By (5)

* 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
EP3319265B1 (de) * 2016-11-08 2020-12-09 Honeywell International Inc. Erzeugung konfigurationsbasierter kryptographischer schlüssel
EP3451573A1 (de) * 2017-08-30 2019-03-06 Siemens Aktiengesellschaft Verfahren und system zum prüfen einer funktion einer verschlüsselungseinrichtung
EP3686763A1 (de) * 2019-01-22 2020-07-29 Siemens Aktiengesellschaft Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten
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
US20180123789A1 (en) 2018-05-03
EP3254403A1 (de) 2017-12-13
KR20170138483A (ko) 2017-12-15
WO2016165930A1 (de) 2016-10-20
CN107409046A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
EP2367128B1 (de) Verfahren und Vorrichtung zur elektronischen Signatur
EP3254403A1 (de) Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul
DE102013203415B4 (de) Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
DE102012220990B3 (de) Verfahren und Anordnung zur sicheren Kommunikation zwischen Netzwerkeinrichtungen in einem Kommunikationsnetzwerk
DE102014206992A1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE112013007574T5 (de) Softwareaktualisierungsvorrichtung und Software-Aktualisierungsprogramm
DE102016205289A1 (de) Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
EP3552344B1 (de) Bidirektional verkettete blockchainstruktur
DE112020001061T5 (de) Verschlüsselte gang-programmierung
DE102014210282A1 (de) Erzeugen eines kryptographischen Schlüssels
DE102013202322A1 (de) Verfahren zur verschlüsselten Datenübertragung zwischen zwei Komponenten eines Steuergeräts
DE202012101671U1 (de) Sichere elektronische Unterzeichnung von Information
DE102010045580A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
EP1810442A1 (de) Vorrichtung und verfahren zum detektieren einer manipulation eines informationssignals
DE112010005847T5 (de) Modifizieren einer Länge eines Elements, um einen Verschlüsselungsschlüssel zu bilden
EP3667529B1 (de) Verfahren und vorrichtung zum authentisieren einer fpga-konfiguration
EP1930834A1 (de) Kryptographisch gesichertes Prozessorsystem
DE112021002864T5 (de) Sicheres laden von eingebetteten mikrosteuereinheiten-images
DE102016207145A1 (de) Steuersystem für eine Verarbeitung von Bilddaten
DE102015212657A1 (de) Bereitstellen eines gerätespezifischen kryptographischen Schlüssels aus einem systemübergreifenden Schlüssel für ein Gerät
DE102014216392A1 (de) Symmetrisches Iteriertes Blockchiffrierverfahren und entsprechende Vorrichtung
DE102021004427B4 (de) Verfahren zur lmplementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems
DE102015214427A1 (de) Ableitung eines Sitzungsschlüssels mit Zugriff auf eine physikalisch unklonbare Funktion
EP3371733A1 (de) Verschlüsseln des speicherinhalts eines speichers in einem eingebetteten system

Legal Events

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