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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/76—Protecting 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]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
- H03K19/17768—Structural details of configuration resources for security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash 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 nach1 ; 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 Vorrichtung10 zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul1 , welches in -
2 gezeigt ist. Das programmierbare Hardwaremodul1 weist einen Bitstrom auf, welcher Konfigurationseinstellungen des programmierbaren Hardwaremoduls1 enthält - Die Vorrichtung
10 weist eine Ausleseeinheit11 , eine Erzeugungseinheit12 , eine Speichereinheit13 , eine Verschlüsselungseinheit14 und eine Überprüfungseinheit15 auf. - Die Ausleseeinheit
11 kann einen Teil, mehrere Teile oder auch den gesamten Bitstrom über eine Konfigurationsschnittstelle20 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 FPGA1 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 Hardwaremodul1 . Das programmierbare Hardwaremodul kann beispielsweise ein FPGA sein. - Das FPGA
1 weist eine (interne) Konfigurationsschnittstelle20 auf. In dem FPGA1 wird ein Bitstrom geladen, der über die Konfigurationsschnittstelle20 durch die Vorrichtung10 ausgelesen werden kann. -
3 zeigt ein Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul1 . Das Verfahren weist die Schritte301 bis303 auf. - In Schritt
301 wird zumindest ein Teil des Bitstroms des Hardwaremoduls1 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)
- 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. - Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Erzeugungseinheit (
12 ) dazu eingerichtet ist, kontinuierlich einen Schlüssel zu erzeugen. - Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die kryptographische Funktion eine kryptographische Komprimierungsfunktion ist.
- Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die kryptographische Komprimierungsfunktion eine Hashfunktion ist.
- Vorrichtung nach einem der Ansprüche 1–4, dadurch gekennzeichnet, dass die Speichereinheit (
13 ) einen flüchtigen Speicher aufweist. - 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. - 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. - 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. - 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. - 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. - 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. - Programmierbares Hardwaremodul (
1 ), mit einer Vorrichtung (10 ) nach einem der Ansprüche 1–11 zum Erzeugen eines Schlüssels. - Programmierbares Hardwaremodul nach Anspruch 12, dadurch gekennzeichnet, dass das programmierbare Hardwaremodul (
1 ) ein Field Programmable Gate Array ist. - 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.
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)
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)
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)
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)
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 | 株洲南车时代电气股份有限公司 | 一种人机交互单元设备 |
-
2015
- 2015-04-14 DE DE102015206643.6A patent/DE102015206643A1/de not_active Withdrawn
-
2016
- 2016-03-24 CN CN201680021752.3A patent/CN107409046A/zh active Pending
- 2016-03-24 EP EP16715262.8A patent/EP3254403A1/de not_active Ceased
- 2016-03-24 WO PCT/EP2016/056620 patent/WO2016165930A1/de active Application Filing
- 2016-03-24 KR KR1020177033011A patent/KR20170138483A/ko not_active Application Discontinuation
- 2016-03-24 US US15/565,472 patent/US20180123789A1/en not_active Abandoned
Patent Citations (2)
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)
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 |