DE102014218218A1 - Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip - Google Patents

Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip Download PDF

Info

Publication number
DE102014218218A1
DE102014218218A1 DE102014218218.2A DE102014218218A DE102014218218A1 DE 102014218218 A1 DE102014218218 A1 DE 102014218218A1 DE 102014218218 A DE102014218218 A DE 102014218218A DE 102014218218 A1 DE102014218218 A1 DE 102014218218A1
Authority
DE
Germany
Prior art keywords
circuit area
generated
unclonable function
physical unclonable
cryptographic
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.)
Pending
Application number
DE102014218218.2A
Other languages
English (en)
Inventor
Stefan GEHRER
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102014218218.2A priority Critical patent/DE102014218218A1/de
Priority to US14/844,798 priority patent/US10547459B2/en
Publication of DE102014218218A1 publication Critical patent/DE102014218218A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip (100) mit einer hardware-programmierbaren Logikeinheit (105), wobei ein Schaltungsbereich (120) der hardware-programmierbaren Logikeinheit (105) derart konfiguriert wird, dass eine erste Physical Unclonable Function (201) zum Erzeugen eines ersten kryptographischen Schlüssels (311) ausgeführt werden kann, wobei die erste Physical Unclonable Function (201) in dem Schaltungsbereich (120) ausgeführt und der erste kryptographische Schlüssel (311) erzeugt wird und wobei der Schaltungsbereich (120) derart neu konfiguriert wird, dass eine weitere Physical Unclonable Function (202, 203) zum Erzeugen eines weiteren kryptographischen Schlüssels (312, 313) ausgeführt werden kann oder dass eine andere Funktionalität (204) ausgeführt werden kann.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip mit einer hardware-programmierbaren Logikeinheit.
  • Stand der Technik
  • Ein System-on-a-Chip (Ein-Chip-System, SoC) ist ein integrierter Schaltkreis (IC), bei dem eine Vielzahl von Funktionen eines entsprechenden Systems auf einem einzigen Chip (Die) integriert ist. Beispielsweise können derartige SoCs eine hardware-programmierbare Logikeinheit (programmierbarer Logikteil, PL) und eine Prozessoreinheit (Prozessor Systemteil, PS) umfassen.
  • Eine derartige Prozessoreinheit kann einen zweckmäßigen Prozessor bzw. Prozessorkern oder einen Multicore-Prozessor umfassen. Multicore-Prozessoren umfassen mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst zumeist eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, und weiterhin einen lokalen Speicher.
  • Eine Hardware einer hardware-programmierbaren Logikeinheit ist nicht unveränderlich, sondern kann jederzeit verändert werden. Hardware-programmierbare Logikeinheiten können zumeist mittels einer Hardwarebeschreibungssprache (HDL) auf Hardware-Ebene neu programmiert bzw. neu konfiguriert werden. Somit können einer hardware-programmierbaren Logikeinheit unterschiedliche Funktionalitäten zugewiesen werden. Um eine hardware-programmierbare Logikeinheit neu zu konfigurieren, können einzelne Schaltungsbereiche der hardware-programmierbaren Logikeinheit unterschiedlich verschaltet werden. Dabei wird eine Konfiguration von Hardwareelementen (beispielsweise Lookup Tabellen (LUT), Multiplexer (Mux), Interconnections zwischen Logikinstanzen (z.B. Programmable Interconnect Points) und/oder globale Ressourcen wie Clock, Vcc, GND) in den einzelnen Schaltungsbereichen verändert. Derartige hardware-programmierbare Logikeinheiten können insbesondere als sogenannte Field Programmable Gate Arrays (FPGAs) ausgebildet sein.
  • Mittels einer sogenannten Physical Unclonable Function (PUF) können kryptographische Schlüssel zur Verschlüsselung von Daten oder zum sicheren Austausch von Daten bzw. zur sicheren Kommunikation zwischen unterschiedlichen Recheneinheiten erzeugt werden. Wird eine derartige Physical Unclonable Function (PUF) in einem speziellen SoC ausgeführt, kann ein für diesen speziellen SoC charakteristischer kryptographischer Schlüssel erzeugt werden.
  • Derartige Physical Unclonable Functions (PUFs) sind Funktionen, welche auf physikalischen Charakteristiken des SoC basieren. Eine PUF wertet z.B. Fertigungsschwankungen in einem Chip bzw. in dem SoC aus und erzeugt daraus ein individuelles Chipsignal. Ein derartiges individuelles Chipsignal ist ein Ergebnis der auf dem SoC ausgeführten PUF. Dieses individuelle Chipsignal variiert stark zwischen unterschiedlichen Chips bzw. zwischen unterschiedlichen SoCs. Dieses individuelle Chipsignal kann im Allgemeinen dazu genutzt werden, den SoC zu authentifizieren oder um (kryptografische) Schlüssel zu erzeugen.
  • Eine PUF in einem SoC zu implementieren ist zumeist mit großem Aufwand und hohen Kosten verbunden. Zumeist kann ein bestimmter Schaltungsbereich der hardware-programmierbaren Logikeinheit des SoCs für den PUF reserviert und entsprechend konfiguriert werden. Zu diesem Zweck kann zumeist eine Vielzahl von Hardwareressourcen der hardware-programmierbaren Logikeinheit miteinander verschaltet werden.
  • Der Schaltungsbereich kann zumeist ausschließlich für diese spezielle PUF verwendet werden. Dabei geht jedoch ein großer Anteil der hardware-programmierbaren Logikeinheit des SoC verloren, der ausschließlich für diese spezielle PUF genutzt wird. Hardwareressourcen des SoC können daher nicht in vollem Umfang ausgeschöpft werden können.
  • Es ist daher wünschenswert, eine verbesserte Möglichkeit bereitzustellen, um kryptographischer Schlüssel in einem Systems-on-a-Chip mit einer hardware-programmierbaren Logikeinheit zu erzeugen.
  • Offenbarung der Erfindung
  • Erfindungsgemäß wird ein Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Das System-on-a-Chip (SoC) weist eine hardware-programmierbare Logikeinheit (programmierbarer Logikteil, PL) auf. Die hardware-programmierbare Logikeinheit ist insbesondere als ein Field Programmable Gate Array (FPGA) ausgebildet. Die hardware-programmierbare Logikeinheit weist einen Schaltungsbereich auf, der neu konfiguriert bzw. verändert werden kann. Dieser Schaltungsbereich umfasst insbesondere mehrere konfigurierbare Logikblöcke (Configurable Logic Block, CLB). Diese konfigurierbaren Logikblöcke umfassen jeweils unterschiedliche Hardwareelemente wie Lookup Tabellen (LUT), Multiplexer (Mux), und/oder Flipflop-Schaltungen. Die hardware-programmierbare Logikeinheit kann insbesondere mehrere derartiger Schaltungsbereiche umfassen. Im Zuge des Konfigurierens des Schaltungsbereichs werden insbesondere einzelne der konfigurierbaren Logikblöcke neu konfiguriert.
  • Weiterhin weist das SoC insbesondere eine Prozessoreinheit (Prozessor Systemteil, PS) auf. Die Prozessoreinheit umfasst insbesondere einen zweckmäßigen Prozessorkern oder einen zweckmäßigen Multicore-Prozessor aus mehreren (wenigstens zwei) Prozessorkernen. Weiterhin umfasst das SoC einen internen, (kleinen) nichtflüchtigen Speicherbereich (Fuse). Dieser Speicherbereich (Fuse) ist insbesondere nur ein Mal programmierbar.
  • Der Schaltungsbereich der hardware-programmierbaren Logikeinheit wird derart konfiguriert, dass dieser Schaltungsbereich eine erste Physical Unclonable Function (PUF) zum Erzeugen eines ersten kryptographischen Schlüssels ausführen kann. Insbesondere werden einzelne konfigurierbare Logikblöcke des Schaltungsbereichs entsprechend konfiguriert, um die erste Physical Unclonable Function (PUF) auszuführen. Nach Ausführen dieser ersten PUF in dem Schaltungsbereich und nach Erzeugen des ersten kryptographischen Schlüssels wird der Schaltungsbereich neu konfiguriert. Der Schaltungsbereich kann einerseits derart neu konfiguriert werden, dass eine weitere PUF zum Erzeugen eines weiteren kryptographischen Schlüssels ausgeführt werden kann. Andererseits kann der Schaltungsbereich derart neu konfiguriert werden, dass eine andere Funktionalität ausgeführt werden kann. Unter einer anderen Funktionalität sei eine zweckmäßige Funktionalität zu verstehen, die keine Physical Unclonable Function umfasst.
  • Wenn der Schaltungsbereich derart neu konfiguriert wird, dass eine weitere PUF ausgeführt werden kann, kann der Schaltungsbereich nach Ausführen dieser jeweiligen PUF erneut neu konfiguriert werden, entweder um wiederum eine weitere PUF zum Erzeugen eines weiteren kryptographischen Schlüssels auszuführen oder um eine andere Funktionalität auszuführen. Nach Ausführen einer PUF und Erzeugen eines entsprechenden Schlüssels wird insbesondere bewertet, ob in dem Schaltungsbereich eine weitere PUF ausgeführt werden soll oder ob der Schaltungsbereich für eine andere Funktionalität verwendet werden soll.
  • Die hardware-programmierbare Logikeinheit weist insbesondere eine zweckmäßige Anzahl von Schaltungsbereichen auf. Die Erfindung ist insbesondere für jede dieser unterschiedlichen Schaltungsbereiche geeignet. Es sei an dieser Stelle angemerkt, dass die nachfolgende Beschreibung im Speziellen auf "einen" bzw. "den" Schaltungsbereich gerichtet ist. Die nachfolgende Beschreibung soll in analoger Weise jedoch für sämtliche Schaltungsbereiche der hardware-programmierbaren Logikeinheit gelten.
  • Insbesondere wird der Schaltungsbereich durch die Prozessoreinheit entsprechend konfiguriert. Die Prozessoreinheit hat insbesondere uneingeschränkten Zugriff auf die hardware-programmierbare Logikeinheit und kann sämtliche Schaltungsbereiche konfigurieren.
  • Vorteile der Erfindung
  • Durch die Erfindung ist es nicht notwendig, einen speziellen Schaltungsbereich zur Ausführung einer speziellen PUF zu reservieren und ausschließlich dafür zu nutzen. Ein jeder Schaltungsbereich kann für unterschiedliche PUFs verwendet werden. Weiterhin kann nach Ausführen einer PUF auch eine andere Funktionalität im Zuge des regulären Betriebs des SoC in dem jeweiligen Schaltungsbereich ausgeführt werden.
  • Nachdem die erste PUF in dem jeweiligen Schaltungsbereich ausgeführt wurde, bleibt der Schaltungsbereich der hardware-programmierbaren Logikeinheit nicht unverändert und ungenutzt, sondern wird erfindungsgemäß neu konfiguriert und für weitere Funktionalitäten verwendet. Die Möglichkeit des Neu-Konfigurierens kann für den jeweiligen Schaltungsbereich der hardware-programmierbaren Logikeinheit genutzt werden. Hardwareressourcen des SoCs können somit flexibel und zweckmäßig genutzt und in vollem Umfang ausgeschöpft werden. Insbesondere können nacheinander unterschiedliche PUFs in dem Schaltungsbereich ausgeführt werden. Weiterhin können auch PUFs und andere Funktionalitäten abwechselnd oder je nach Bedarf in dem Schaltungsbereich ausgeführt werden.
  • Durch die Erfindung wird es ermöglicht, eine zweckmäßige Anzahl von unterschiedlichen PUFs in unterschiedlichen oder denselben Schaltungsbereichen des SoC auszuführen. Es ist somit nicht notwendig, eine einzige PUF in einem bestimmten Schaltungsbereich auszuführen. Somit können Hardwareressourcen der hardware-programmierbaren Logikeinheit, die zum Erzeugen eines kryptographischen Schlüssels einer vorgegebenen Länge benötigt werden, gegenüber herkömmlichen Verfahren zum Erzeugen eines kryptographischen Schlüssels derselben vorgegebenen Länge reduziert werden.
  • Dennoch wird gewährleistet, dass ein kryptographischer Schlüssel mit höchstmöglicher Sicherheit erzeugt werden kann. Der durch die in dem Schaltungsbereich ausgeführte PUF erzeugte kryptographische Schlüssel ist für den SoC eindeutig, sehr schwer bis kaum vorhersehbar, intrinsisch und kann nicht kontrolliert werden (insbesondere nicht durch einen Hersteller des SoCs). Ein derartiger kryptographischer Schlüssel, welcher mittels PUF erzeugt wird, kann nicht oder kaum durch Nachkonstruktion bzw. Reverse Engineering erzeugt werden. Somit kann so gut wie ausgeschlossen werden, dass ein Angreifer diesen kryptographischen Schlüssel nachkonstruiert und einen schädlichen Angriff auf das SoC durchführt.
  • Gemäß einer bevorzugten Ausführung der Erfindung wird der Schaltungsbereich so lange derart neu konfiguriert, dass jeweils eine weitere Physical Unclonable Function zum Erzeugen jeweils eines weiteren kryptographischen Schlüssels ausgeführt werden kann, bis eine bestimmte Anzahl von kryptographischen Schlüsseln erzeugt ist. In jedem Schritt wird der Schaltungsbereich jeweils entsprechend neu konfiguriert, die entsprechende weitere Physical Unclonable Function wird jeweils ausgeführt und ein entsprechender weiterer kryptographischer Schlüssel wird jeweils erzeugt. Somit werden so lange unterschiedliche kryptographische Schlüssel mittels unterschiedlicher PUFs erzeugt, bis die bestimmte Anzahl von kryptographischen Schlüsseln erreicht ist. Vorzugsweise wird der Schaltungsbereich für andere Funktionalität verwendet, wenn die bestimmte Anzahl von kryptographischen Schlüsseln erzeugt ist.
  • Vorteilhafterweise werden die in dem Schaltungsbereich erzeugten kryptographischen Schlüssel jeweils als kryptographische Teilschlüssel erzeugt. Diese unterschiedlichen kryptographischen Teilschlüssel werden zu einem kryptographischen Gesamtschlüssel zusammengesetzt. Im Gegensatz zu herkömmlichen Verfahren wird somit nicht ein kryptographischer Gesamtschlüssel durch eine einzige PUF-Implementierung erzeugt. Stattdessen wird der kryptographische Gesamtschlüssel aus einer Vielzahl von unterschiedlichen kryptographischen Teilschlüsseln durch eine Vielzahl von unterschiedlichen PUF-Implementierungen erzeugt. Insbesondere wird der kryptographische Gesamtschlüssel aus der oben erläuterten bestimmten Anzahl von kryptographischen Schlüsseln zusammengesetzt. Derartige PUFs, die jeweils einen kryptographischen Teilschlüssel erzeugen, sind einfacher und platzsparender zu implementieren als eine einzige PUF, die einen kryptographischen Gesamtschlüssel erzeugt. Somit kann verhindert werden, dass ein großer Anteil der hardware-programmierbare Logikeinheit verloren geht, um eine derartige PUF zum Erzeugen eines kryptographischen Gesamtschlüssels zu implementieren.
  • Vorzugsweise werden die in dem Schaltungsbereich erzeugten kryptographischen Schlüssel in einer Speichereinheit in dem System-on-a-Chip hinterlegt. Die Speichereinheit ist insbesondere als eine flüchtige Speichereinheit ausgebildet, beispielsweise als SRAM. Insbesondere werden die erzeugten kryptographischen Schlüssel im internen flüchtigen Speicherbereich des SoC hinterlegt. Vorzugsweise werden die kryptographischen Teilschlüssel in der Speichereinheit hinterlegt und dort zu dem kryptographischen Gesamtschlüssel zusammengesetzt.
  • Gemäß einer vorteilhaften Ausgestaltung der Erfindung wird der Schaltungsbereich konfiguriert, um die jeweilige Physical Unclonable Function auszuführen, indem jeweils zwei Lookup-Tabellen (LUT) und eine Flipflop-Schaltung miteinander verschaltet werden. Eine der Lookup-Tabellen wird insbesondere als NAND-Gatter konfiguriert. Die andere Lookup-Tabelle wird insbesondere als Inverter konfiguriert und mit der Flipflop-Schaltung verschaltet und bildet mit dieser zusammen einen sogenannten Toggle-Flipflop bzw. T-Flipflop. Diese Verschaltungen werden insbesondere mittels Schaltelementen des Schaltungsbereichs wie beispielsweise Multiplexer (Mux) durchgeführt. Um unterschiedliche PUFs in dem Schaltungsbereich zu implementieren, werden jeweils unterschiedliche Lookup-Tabellen und Flipflop-Schaltungen zweckmäßig miteinander verschaltet.
  • Wird die jeweilige Physical Unclonable Function gemäß der entsprechenden Verschaltung in dem Schaltungsbereich ausgeführt, wird ein für das SoC individuelles Chipsignal erzeugt. Dieses Chipsignal weist eine Ausgangsfrequenz auf. Die jeweilige PUF wertet insbesondere Fertigungsschwankungen in dem SoC aus und erzeugt daraus das individuelle Chipsignal. Das individuelle Chipsignal kann nicht oder kaum durch Nachkonstruktion bzw. Reversed Engineering erzeugt werden. Dieses individuelle Chipsignal stellt im übertragenen Sinne einen Fingerabdruck des SoC dar und charakterisiert das SoC eindeutig. Anhand dieses individuellen Chipsignals kann das SoC insbesondere authentifiziert werden. Weiterhin kann das individuelle Chipsignal genutzt werden, um den jeweiligen kryptografischen Schlüssel zu erzeugen.
  • Wird ein Freigabe-Signal ("enable signal"), welches dem NAND-Gatter einer speziellen PUF zugeführt wird, auf den Wert "0" gesetzt, wird das NAND-Gatter deaktiviert. Andernfalls wird die Ausgabe des NAND-Gatters dem Gatter wiederum als Eingabe zugeführt. Dies führt zu einer Oszillation der Ausgabe des NAND-Gatters. Die Frequenz dieser Oszillation ist insbesondere vergleichsweise hoch. Mittels des T-Flipflops kann diese Frequenz verringert, insbesondere halbiert werden. Diese verringerte Frequenz stellt insbesondere die Ausgangsfrequenz des Chipsignals dar.
  • Vorzugsweise wird die erste Physical Unclonable Function in einem ersten konfigurierbaren Logikblock des Schaltungsbereichs und in einem zweiten konfigurierbaren Logikblock Schaltungsbereichs ausgeführt. Durch Ausführen der ersten PUF in dem ersten konfigurierbaren Logikblock wird ein erstes Signal bzw. ein erstes Chipsignal mit einer ersten Frequenz erzeugt. Durch Ausführen der ersten PUF in dem zweiten konfigurierbaren Logikblock wird ein zweites Signal bzw. ein zweites Chipsignal mit einer zweiten Frequenz erzeugt.
  • Der erste und der zweite konfigurierbare Logikblock sind demgemäß entsprechend identisch konfiguriert und führen dieselbe PUF aus. Aufgrund von Fertigungsschwankungen zwischen dem ersten und dem zweiten Schaltungsbereich können jedoch das erste und das zweite Chipsignal unterschiedlich sein und die erste und die zweite Frequenz können voneinander abweichen. Die erste und die zweite Frequenz werden miteinander verglichen. Das Ergebnis dieses Vergleichs kann zum Erzeugen des ersten kryptographischen Schlüssels verwendet werden.
  • Insbesondere wird im Zuge dieses Vergleichs ein Bit mit einem spezifischen Wert erzeugt. Ist beispielsweise die erste Frequenz größer als die zweite Frequenz, wird ein Bit mit dem Wert "1" erzeugt. Andernfalls wird beispielsweise ein Bit mit dem Wert "0" erzeugt. Derartige Bits können dazu genutzt werden, den SoC zu authentifizieren oder um den kryptografische Schlüssel zu erzeugen.
  • Der erste und der zweite konfigurierbare Logikblock sind insbesondere benachbart in dem Schaltungsbereich angeordnet und grenzen aneinander an. Somit kann verhindert werden, dass die erste und die zweite Frequenz aufgrund unterschiedlicher Positionen auf der hardware-programmierbaren Logikeinheit verfälscht werden.
  • Nachdem das erste und das zweite Chipsignal erzeugt und deren Frequenzen miteinander verglichen wurden, werden auf analoge Weise in dem ersten und zweiten konfigurierbaren Logikblock jeweils eine weitere PUF ausgeführt. Somit wird in dem ersten konfigurierbaren Logikblock ein weiteres erstes Signal mit einer weiteren ersten Frequenz erzeugt und in dem zweiten konfigurierbaren Logikblock wird ein weiteres zweites Signal mit einer weiteren zweiten Frequenz erzeugt. Analog zu obiger Beschreibung werden diese weitere erste und diese weitere zweite Frequenz miteinander verglichen. Das Ergebnis dieses Vergleichs wird zum Erzeugen eines entsprechenden weiteren kryptographischen Schlüssels verwendet.
  • Vorzugsweise werden in dem ersten und dem zweiten konfigurierbaren Logikblock so lange derartige weitere PUFs ausgeführt, weitere Vergleiche entsprechender Frequenzen durchgeführt und analog weitere kryptographische Schlüssel erzeugt, bis eine bestimmte Anzahl von kryptographischen Schlüsseln erzeugt wird. Diese bestimmte Anzahl von kryptographischen Schlüsseln entspricht insbesondere der weiter oben erläuterten bestimmten Anzahl von kryptographischen Schlüsseln.
  • Insbesondere wird im Zuge jeder dieser Vergleiche jeweils ein Bit mit einem spezifischen Wert gemäß obiger Erläuterung erzeugt. Weiter insbesondere stellt jedes dieser Bits einen kryptographischen Teilschüssel dar, die zu dem kryptographischen Gesamtschlüssel zusammengesetzt werden. Die bestimmte Anzahl N dieser kryptographischen Teilschlüssel wird demgemäß insbesondere zu einem kryptographischen N-Bit Gesamtschlüssel zusammengesetzt.
  • Alternativ oder zusätzlich kann die erste PUF-Implementierung auch in einer Vielzahl von unterschiedlichen konfigurierbaren Logikblöcken des Schaltungsbereichen ausgeführt werden. Die erste PUF-Implementierung wird dabei insbesondere in einer Vielzahl von unterschiedlichen Paaren von konfigurierbaren Logikblöcken ausgeführt. Die konfigurierbaren Logikblöcke dieser unterschiedlichen Paare sind jeweils insbesondere benachbart bzw. grenzen aneinander an. Durch Ausführen der ersten PUF in den unterschiedlichen Paaren von konfigurierbaren Logikblöcken werden jeweils ein erstes und ein zweites Chipsignal mit einer ersten bzw. einer zweiten Frequenz erzeugt. Diese Frequenzen werden jeweils miteinander verglichen und zum Erzeugen eines entsprechenden kryptographischen Schlüssels verwendet. Insbesondere wird die erste PUF so oft in unterschiedlichen Paaren von konfigurierbaren Logikblöcken implementiert, dass die bestimmte Anzahl von M-Bits eines kryptographischen Teilschlüssels erzeugt wird. Die bestimmte Anzahl N dieser M-Bit kryptographischen Teilschlüssel wird demgemäß insbesondere zu einem kryptographischen M·N-Bit Gesamtschlüssel zusammengesetzt.
  • Gemäß einer bevorzugten Ausgestaltung der Erfindung wird das Verfahren zum Erzeugen kryptographischer Schlüssel im Zuge eines Start- bzw. Initialisierungsprozesses des System-on-a-Chip durchgeführt. Das SoC wird im Zuge dessen insbesondere aus einem deaktivierten Betriebsmodus gestartet bzw. hochgefahren ("booten"). Im Zuge eines derartigen Start- bzw. Initialisierungsprozesses des SoCs werden insbesondere zunächst der programmierbare Logikteil (PL), also die hardware-programmierbare Logikeinheit, und der Prozessor Systemteil (PS), also die Prozessoreinheit, initialisiert. Der Start- bzw. Initialisierungsprozess wird insbesondere als ein "Secure Boot"-Prozess ausgeführt. Der Start- bzw. Initialisierungsprozess wird demgemäß insbesondere von einem signierten Bootloader durchgeführt, wodurch Schadsoftware oder andere unerwünschte Programme und Programmänderungen am Starten gehindert werden.
  • Im Zuge des Start- bzw. Initialisierungsprozesses werden insbesondere sämtliche kryptographischen Schlüssel erzeugt, welche im regulären Betrieb des SoCs benötigt werden. Durch die Erfindung können die Schaltungsbereiche, in welchen die kryptographischen Schlüssel im Zuge des Start- bzw. Initialisierungsprozesses erzeugt werden, auch im regulären Betrieb des SoC für andere Funktionalitäten verwendet werden.
  • Die Erfindung eignet sich beispielsweise für SoCs, welche Teil eines Mikrocontrollers bzw. eines Steuergeräts zur Steuerung von Maschinen, Anlagen oder in der Unterhaltungselektronik, z.B. in Mobiltelefonen oder Fernsehgeräten, ausgebildet sind. Die Erfindung eignet sich besonders für die Nutzung in automotiven Anwendungen, insbesondere für Kraft- bzw. Nutzfahrzeuge. Das SoC kann dabei beispielsweise als ein Teil eines Motorsteuergeräts einer Brennkraftmaschine eines Kraftfahrzeugs ausgebildet sein. Beispielsweise besteht die Aufgabe eines derartigen Motorsteuergeräts darin, Ausgangsgrößen für Stellglieder (wie Einspritzdüse oder Zündanlage) aus einer Vielzahl von Eingangssignalen (wie z.B. Drehzahl, Temperatur oder Druck) zu berechnen.
  • In derartigen Steuergeräten, beispielsweise in einem Kraftfahrzeug, kommuniziert das SoC mit anderen Komponenten des Steuergeräts oder mit anderen Steuergeräten des Kraftfahrzeugs. Die Daten, die zwischen diesen einzelnen Komponenten des Steuergeräts ausgetauscht werden, können beispielsweise spezielle Ansteuerungsbefehle, technische Daten, Steuer- oder Kennwerte umfassen. Zum Austausch der Daten werden diese insbesondere mit kryptographischen Schlüsseln verschlüsselt bzw. entschlüsselt, welche im Zuge einer bevorzugten Ausführungsform der Erfindung erzeugt wurden.
  • Derartige Daten, Befehle bzw. Werte wurden von dem Hersteller oft in jahrelangen Entwicklungsprozessen mit hohem Forschungsaufwand durch lang andauernde und aufwendige Testreihen ermittelt und optimiert. Es ist somit im Sinne des Herstellers, dass diese Daten nicht von einer dritten Partei, einem Angreifer, ausgelesen werden können, um einen "Know-How-Schutz" zu garantieren.
  • Durch die Erfindung können somit Angriffe auf ein derartiges Steuergerät verhindert werden und ein "Know-How-Schutz" garantiert werden. Des Weiteren kann durch die erfindungsgemäße Absicherung des SoC beispielsweise unseriöses "Chiptuning" in Kraftfahrzeugen unterbunden werden. Für das "Chiptuning" werden Steuerparameter des Steuergeräts verändert, um Leistungssteigerungen herbeizuführen. Dies kann zu Bauteilschäden und Umweltverschmutzung führen, sogar zu Personenschäden, da die gesamte Fahrzeugauslegung (Antrieb, Bremsanlage) beeinträchtigt werden kann.
  • Eine erfindungsgemäße Recheneinheit, z.B. ein System-on-a-Chip oder ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Auch die Implementierung des Verfahrens in Form von Software ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt schematisch ein System-on-a-Chip, welches dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
  • 2 zeigt schematisch das System-on-a-Chip aus 1 während unterschiedlicher Schritte im Zuge einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens.
  • Ausführungsform(en) der Erfindung
  • In 1 ist ein System-on-a-Chip (SoC) 100 schematisch dargestellt, welches dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
  • Das SoC 100 umfasst eine Prozessoreinheit 110 und eine hardware-programmierbare Logikeinheit 105 in Form eines Field Programmable Gate Arrays FPGA
  • Das FPGA 105 umfasst eine Vielzahl von Schaltungsbereichen, die jeweils unterschiedlich verschaltet werden können, um jeweils unterschiedliche Funktionalitäten ausüben zu können. In 1 sind beispielsweise zwei Schaltungsbereiche 120 und 130 dargestellt.
  • Der Schaltungsbereich 130 ist beispielsweise derart konfiguriert, dass der Schaltungsbereich 130 als eine Speichereinheit genutzt werden kann. Der Schaltungsbereich 120 weist eine Vielzahl von konfigurierbaren Logikblöcken (Configurable Logic Block, CLB) auf. Beispielsweise kann der Schaltungsbereich 120 mindestens 256 derartiger konfigurierbarer Logikblöcke aufweisen. In 1 sind beispielsweise vier derartige konfigurierbare Logikblöcke 121 bis 124 dargestellt.
  • Das SoC 100 ist insbesondere in ein Steuergerät 101 eines Kraftfahrzeugs, beispielsweise in ein Motorsteuergerät, implementiert. Für eine Kommunikation zwischen unterschiedlichen Komponenten des Kraftfahrzeugs werden kryptographische Schlüssel benötigt. Diese kryptographischen Schlüssel werden im Zuge einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erzeugt, insbesondere im Zuge eines Start- bzw. Initialisierungsprozesses, wenn das SoC 100 bzw. das entsprechende Steuergerät 101 hochgefahren bzw. gestartet wird.
  • In den 2a bis 2d ist das SoC 100 gemäß 1 während unterschiedlicher Schritte im Zuge dieser bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens schematisch dargestellt.
  • Die Prozessoreinheit 110 arbeitet insbesondere einen Programmcode ab, der in dem SoC 100 gespeichert ist oder von einer externen Quelle geladen wird. Vorzugsweise ist das SoC 100 programmtechnisch so eingerichtet, dass es nur Programmcode abarbeitet, der mit einem privaten Schlüssel signiert ist, zu dem das SoC 100 einen öffentlichen Schlüssel besitzt. Der oder die öffentlichen Schlüssel sind insbesondere in einem nur einmal beschreibbaren Speicherbereich abgespeichert, so dass auch hierüber keine Angriffe auf das SoC 100 ausgeführt werden können. Zulässige öffentliche Schlüssel werden zweckmäßigerweise beim Hersteller des Steuergeräts oder des Kraftfahrzeugs in dem nur einmal beschreibbaren Speicherbereich abgespeichert.
  • In 2a konfiguriert die Prozessoreinheit 110 den Schaltungsbereich 120 des FPGA 105, um eine erste Physical Unclonable Function (PUF) 201 auszuführen. Zu diesem Zweck konfiguriert die Prozessoreinheit 110 die konfigurierbaren Logikblöcke 121 und 122 des Schaltungsbereichs 120, um jeweils die erste PUF 201 auszuführen.
  • Die erste PUF 201 wird in dem konfigurierbaren Logikblock 121 ausgeführt, wodurch ein erstes Chipsignal mit einer ersten Frequenz erzeugt wird. Die erste PUF 201 wird weiterhin in dem konfigurierbaren Logikblock 122 ausgeführt, wodurch ein zweites Chipsignal mit einer zweiten Frequenz erzeugt wird. Die erste und die zweite Frequenz werden miteinander verglichen. Im Zuge dieses Vergleichs wird ein Bit 311 mit einem spezifischen Wert erzeugt. Ist die erste Frequenz beispielsweise größer als die zweite Frequenz, erhält das Bit 311 beispielsweise den Wert "1". Andernfalls erhält das Bit 311 den Wert "0".
  • Dieses Bit 311 wird als ein erster kryptographischer Teilschlüssel erzeugt. Das Bit 311 wird in dem als Speichereinheit konfigurierten Schaltungsbereich 130 des FPGA 105 hinterlegt. Der Schaltungsbereich 130 des FPGA 105 wird in diesem Beispiel als ein interner Schlüsselspeicher verwendet.
  • In 2b konfiguriert die Prozessoreinheit 110 den Schaltungsbereich 120 des FPGA 105 neu, um eine zweite PUF 202 auszuführen. Zu diesem Zweck konfiguriert die Prozessoreinheit 110 die konfigurierbaren Logikblöcke 121 und 122 des Schaltungsbereichs 120, um jeweils die zweite PUF 201 auszuführen. Diese zweite PUF 202 wird in beiden konfigurierbaren Logikblöcken 121 und 122 ausgeführt, wodurch wiederum zwei Chipsignale erzeugt werden, deren Frequenzen miteinander verglichen werden. Im Zuge dieses Vergleichs wird ein zweites Bit 312 als ein zweiter kryptographischer Teilschlüssel erzeugt und in dem internen Schlüsselspeicher 130 hinterlegt.
  • Analog konfiguriert die Prozessoreinheit 110 in 2c den Schaltungsbereich 120 neu, um eine dritte PUF 203 auszuführen. Zu diesem Zweck konfiguriert die Prozessoreinheit 110 die konfigurierbaren Logikblöcke 121 und 122 auf analoge Weise neu, um jeweils die dritte PUF 203 auszuführen. Demgemäß werden wiederum zwei Chipsignale erzeugt, deren Frequenzen miteinander verglichen werden. Im Zuge dieses Vergleichs wird ein drittes Bit 313 als ein dritter kryptographischer Teilschlüssel erzeugt und in dem internen Schlüsselspeicher 130 hinterlegt.
  • Diese drei Bits 311, 312, 313 werden in dem Flash-Speicher 130 zu einem kryptographischen 3-Bit Gesamtschlüssel zusammengesetzt.
  • In 3d konfiguriert die Prozessoreinheit 110 die konfigurierbaren Logikblöcke 121 und 122 und somit den Schaltungsbereich 120 des FPGA 105 neu, um jeweils eine andere Funktionalität 204 bzw. 205 auszuführen.
  • Das derartige Neukonfigurieren der konfigurierbaren Logikblöcke 121 und 122 kann so lange erneut durchgeführt werden, bis eine zweckmäßige Anzahl von Bits erzeugt ist, beispielsweise mindestens 128 Bits.
  • Anstelle der konfigurierbaren Logikblöcke 121 und 122 können auch jeweils andere Paare von konfigurierbaren Logikblöcken des Schaltungsbereichs 120 neu konfiguriert werden, um jeweils ein Bit zu erzeugen. Der Schaltungsbereich 120 umfasst insbesondere mindestens so viele konfigurierbare Logikblöcke, dass deren Anzahl multipliziert mit der Anzahl an neu konfigurierten PUFs gemäß 201, 202, 203 usw. ausreicht, um insgesamt mindestens 128 Bits zu erzeugen.

Claims (12)

  1. Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip (100) mit einer hardware-programmierbaren Logikeinheit (105), – wobei ein Schaltungsbereich (120) der hardware-programmierbaren Logikeinheit (105) derart konfiguriert wird, dass eine erste Physical Unclonable Function (201) zum Erzeugen eines ersten kryptographischen Schlüssels (311) ausgeführt werden kann, – wobei die erste Physical Unclonable Function (201) in dem Schaltungsbereich (120) ausgeführt und der erste kryptographische Schlüssel (311) erzeugt wird und – wobei der Schaltungsbereich (120) derart neu konfiguriert wird, dass eine weitere Physical Unclonable Function (202, 203) zum Erzeugen eines weiteren kryptographischen Schlüssels (312, 313) ausgeführt werden kann oder dass eine andere Funktionalität (204) ausgeführt werden kann.
  2. Verfahren nach Anspruch 1, wobei der Schaltungsbereich (120) konsekutiv so lange derart neu konfiguriert wird, dass jeweils eine weitere Physical Unclonable Function (202, 203) zum Erzeugen jeweils eines weiteren kryptographischen Schlüssels (312, 313) ausgeführt werden kann, die entsprechende weitere Physical Unclonable Function (202, 203) jeweils ausgeführt wird und der entsprechende weitere kryptographische Schlüssel (312,, 313) jeweils erzeugt wird, bis eine bestimmte Anzahl von kryptographischen Schlüsseln (311, 312, 313) erzeugt ist.
  3. Verfahren nach Anspruch 2, wobei, wenn die bestimmte Anzahl von kryptographischen Schlüsseln (311, 312, 313) erzeugt ist, der Schaltungsbereich (120) derart neu konfiguriert wird, dass die andere Funktionalität (204) ausgeführt werden kann und wobei die andere Funktionalität (204) in dem Schaltungsbereich (120) ausgeführt wird.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei die in dem Schaltungsbereich (120) erzeugten kryptographischen Schlüssel (311, 312, 313) jeweils als kryptographische Teilschlüssel erzeugt werden und zu einem kryptographischen Gesamtschlüssel zusammengesetzt werden.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei die in dem Schaltungsbereich (120) erzeugten kryptographischen Schlüssel (311, 312, 313) in einer Speichereinheit (130) in dem System-on-a-Chip (100) hinterlegt werden.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei der Schaltungsbereich (120) derart konfiguriert wird, dass dieser Schaltungsbereich (120) die erste bzw. die weitere Physical Unclonable Function (201, 202, 203) zum Erzeugen des ersten bzw. des weiteren kryptographischen Schlüssels (311, 312, 313) ausführen kann, indem jeweils zwei Lookup-Tabellen und eine Flipflop-Schaltung miteinander verschaltet werden.
  7. Verfahren nach einem der vorstehenden Ansprüche, – wobei ein erster konfigurierbarer Logikblock (121) des Schaltungsbereichs (120) der hardware-programmierbaren Logikeinheit (105) derart konfiguriert wird, dass die erste Physical Unclonable Function (201) ausgeführt werden kann, wobei die erste Physical Unclonable Function (201) in dem ersten konfigurierbaren Logikblock (121) des Schaltungsbereichs (120) ausgeführt wird, wodurch ein erstes Signal mit einer ersten Frequenz erzeugt wird, – wobei ein zweiter konfigurierbarer Logikblock (122) des Schaltungsbereichs (120) der hardware-programmierbaren Logikeinheit (105) derart konfiguriert wird, dass die erste Physical Unclonable Function (201) ausgeführt werden kann, wobei die erste Physical Unclonable Function (201) in dem zweiten konfigurierbaren Logikblock (122) des Schaltungsbereichs (120) ausgeführt wird, wodurch ein zweites Signal mit einer zweiten Frequenz erzeugt wird und – wobei die erste Frequenz und die zweite Frequenz miteinander verglichen werden und aus diesem Vergleich der erste kryptographische Schlüssel (311) erzeugt wird.
  8. Verfahren nach Anspruch 7, – wobei der erste konfigurierbare Logikblock (121) des Schaltungsbereichs (120) der hardware-programmierbaren Logikeinheit (105) so lange derart neu konfiguriert wird, dass jeweils eine weitere Physical Unclonable Function (202, 203) ausgeführt werden kann, wobei jeweils die weitere Physical Unclonable Function (202, 203) in dem ersten konfigurierbaren Logikblock (121) des Schaltungsbereichs (120) ausgeführt wird, wodurch jeweils ein weiteres erstes Signal mit jeweils einer weiteren ersten Frequenz erzeugt wird, – wobei der zweite konfigurierbare Logikblock (122) des Schaltungsbereichs (120) der hardware-programmierbaren Logikeinheit (105) so lange derart neu konfiguriert wird, dass jeweils die weitere Physical Unclonable Function (202, 203) ausgeführt werden kann, wobei jeweils die weitere Physical Unclonable Function (202, 203) in dem zweiten konfigurierbaren Logikblock (122) des Schaltungsbereichs (120) ausgeführt wird, wodurch jeweils ein weiteres zweites Signal mit jeweils einer weiteren zweiten Frequenz erzeugt wird, und – wobei jeweils die weitere erste Frequenz und die weitere zweite Frequenz miteinander verglichen werden, und aus diesem Vergleich ein jeweiliger weiterer kryptographischer Schlüssel (312, 313) erzeugt wird, bis eine bestimmte Anzahl von kryptographischen Schlüsseln erzeugt ist.
  9. Verfahren nach einem der vorstehenden Ansprüche, welches im Zuge eines Initialisierungsprozesses des Systems-on-a-Chip (100) durchgeführt wird.
  10. Recheneinheit (100, 101), die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
  11. Computerprogramm, das eine Recheneinheit (100, 101) dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen, wenn es auf der Recheneinheit (100, 101) ausgeführt wird.
  12. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 11.
DE102014218218.2A 2014-09-11 2014-09-11 Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip Pending DE102014218218A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102014218218.2A DE102014218218A1 (de) 2014-09-11 2014-09-11 Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip
US14/844,798 US10547459B2 (en) 2014-09-11 2015-09-03 Method for generating a cryptographic key in a system-on-a-chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014218218.2A DE102014218218A1 (de) 2014-09-11 2014-09-11 Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip

Publications (1)

Publication Number Publication Date
DE102014218218A1 true DE102014218218A1 (de) 2016-03-17

Family

ID=55405838

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014218218.2A Pending DE102014218218A1 (de) 2014-09-11 2014-09-11 Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip

Country Status (2)

Country Link
US (1) US10547459B2 (de)
DE (1) DE102014218218A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US11797994B2 (en) * 2016-07-15 2023-10-24 Maxim Integrated Products, Inc. Systems and methods for a secure payment terminal without batteries
US10958452B2 (en) * 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
US10263793B2 (en) 2017-07-18 2019-04-16 Square, Inc. Devices with modifiable physically unclonable functions
US10819528B2 (en) 2017-07-18 2020-10-27 Square, Inc. Device security with physically unclonable functions
WO2019018557A1 (en) * 2017-07-18 2019-01-24 Square, Inc. DEVICES HAVING PHYSICALLY NON-CLONABLE FUNCTIONS
US10438190B2 (en) 2017-07-18 2019-10-08 Square, Inc. Devices with on-board physically unclonable functions
US10880085B1 (en) * 2017-08-03 2020-12-29 The University Of Tulsa Device, system, and method to facilitate secure data transmission, storage and key management
CN114830598B (zh) * 2020-11-20 2024-07-09 京东方科技集团股份有限公司 异构系统的安全防护方法、装置及处理器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4251885A (en) * 1979-03-09 1981-02-17 International Business Machines Corporation Checking programmed controller operation
US6853259B2 (en) * 2001-08-15 2005-02-08 Gallitzin Allegheny Llc Ring oscillator dynamic adjustments for auto calibration
WO2006115252A1 (ja) * 2005-04-25 2006-11-02 Matsushita Electric Industrial Co., Ltd. 情報セキュリティ装置
US8381050B2 (en) * 2009-11-25 2013-02-19 International Business Machines Corporation Method and apparatus for increased effectiveness of delay and transition fault testing
WO2011089143A1 (en) * 2010-01-20 2011-07-28 Intrinsic Id B.V. Device and method for obtaining a cryptographic key
US20110243064A1 (en) * 2010-03-31 2011-10-06 By Light Professional IT Services Systems, methods and devices for convergent communications using remote keying
EP2506176A1 (de) * 2011-03-30 2012-10-03 Irdeto Corporate B.V. Erzeugung eines einzigartigen Schlüssels bei der Chipherstellung
US9083323B2 (en) * 2013-02-11 2015-07-14 Qualcomm Incorporated Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry
US9953166B2 (en) * 2013-07-04 2018-04-24 Microsemi SoC Corporation Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor

Also Published As

Publication number Publication date
US20160080158A1 (en) 2016-03-17
US10547459B2 (en) 2020-01-28

Similar Documents

Publication Publication Date Title
DE102014218218A1 (de) Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip
DE102013227184A1 (de) Verfahren zur Absicherung eines Systems-on-a-Chip
EP2727277B1 (de) System zur sicheren übertragung von daten und verfahren
DE102015217933B4 (de) Vorrichtung zum Verarbeiten von Daten und Verfahren zum Betreiben einer solchen Vorrichtung
DE102013213473A1 (de) Schaltungsanordnung und Betriebsverfahren hierfür
EP3811260B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE102018122218A1 (de) Techniken zur Reduzierung ungleichmäßiger Alterung in integrierten Schaltungen
EP3819804A1 (de) Integritätsüberprüfung eines registerinhalts
DE102014222181A1 (de) Verfahren zum Betreiben eines Steuergeräts
EP3289685B1 (de) Verfahren und vorrichtung zur erzeugung einer geräte-spezifischen kennung und geräte umfassend einen personalisierten programmierbaren schaltungsbaustein
EP3686763B1 (de) Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten
EP3286872B1 (de) Bereitstellen eines gerätespezifischen kryptographischen schlüssels aus einem systemübergreifenden schlüssel für ein gerät
DE102016002508A1 (de) Verfahren zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines mobilen Endgeräts
DE102013208836A1 (de) Verfahren und Vorrichtung zur Erzeugung eines Hash-Werts
DE102019101213A1 (de) Authentifizierung und Entschlüsselung programmierbarer Bauelemente
EP3347848B1 (de) Speicherprogrammierbarer baustein und verfahren zur geschützten übertragung von daten auf einen speicherprogrammierbaren baustein
DE102015209120A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
EP3146520B1 (de) Programmierbares logikbauelement, schlüsselbildungsschaltung und verfahren zur bereitstellung einer sicherheitsinformation
EP3595256A1 (de) Vorrichtung und verfahren zum betreiben einer durch software gestalteten verarbeitungseinheit für ein gerät
EP3246832A2 (de) Verfahren zum schutz eines fpgas vor einer unautorisierten anwendung des rtl-quellcodes
DE102017200457A1 (de) Hardwarekonfigurierbare Logikeinheit und Mikrocontroller mit einer derartigen hardwarekonfigurierbaren Logikeinheit
DE102023130907A1 (de) Systeme und Verfahren zur Erzeugung von überarbeiteten Schaltungsdesigns für integrierte Schaltungen
DE102014210863B4 (de) Verfahren und System zur gesicherten Übertragung von Daten
EP3896589A1 (de) Verfahren und halbleitervorrichtung mit überwachungsmodul
AT517154B1 (de) Überwachung des Startvorgangs einer integrierten Schaltung

Legal Events

Date Code Title Description
R012 Request for examination validly filed