[go: up one dir, main page]

DE102013227184A1 - Verfahren zur Absicherung eines Systems-on-a-Chip - Google Patents

Verfahren zur Absicherung eines Systems-on-a-Chip Download PDF

Info

Publication number
DE102013227184A1
DE102013227184A1 DE102013227184.0A DE102013227184A DE102013227184A1 DE 102013227184 A1 DE102013227184 A1 DE 102013227184A1 DE 102013227184 A DE102013227184 A DE 102013227184A DE 102013227184 A1 DE102013227184 A1 DE 102013227184A1
Authority
DE
Germany
Prior art keywords
key
puf
public
soc
chip
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
DE102013227184.0A
Other languages
English (en)
Inventor
Stefan GEHRER
Sebastien Leger
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 DE102013227184.0A priority Critical patent/DE102013227184A1/de
Priority to US14/581,522 priority patent/US9887844B2/en
Publication of DE102013227184A1 publication Critical patent/DE102013227184A1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • 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
    • 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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Absicherung eines Systems-on-a-Chip (100) mit einer hardware-programmierbaren Logikeinheit (110), wobei im Zuge eines Programmierprozesses in der hardware-programmierbaren Logikeinheit (110) mittels einer Physical Unclonable Function PUF ein öffentlicher PUF-Schlüssel und ein privater PUF-Schlüssel erzeugt werden, der öffentliche PUF-Schlüssel mittels eines zweiten privaten Schlüssels signiert wird, wobei der öffentliche PUF-Schlüssel und dessen Signatur in einem externen Speicher (120) des Systems-on-a-Chip (100) gespeichert werden, wobei ein Sicherheitsmodul mittels eines dritten privaten Schlüssels signiert wird, wobei das Sicherheitsmodul und dessen Signatur in dem externen Speicher (120) des Systems-on-a-Chip (100) gespeichert werden, wobei das Sicherheitsmodul Software umfasst, welche zur Absicherung des Systems-on-a-Chip verwendet wird.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Absicherung eines Systems-on-a-Chip.
  • Stand der Technik
  • Ein System-on-a-Chip (Ein-Chip-System, SoC) ist ein integrierter Schaltkreis (IC), bei dem eine Vielzahl an Funktionen eines entsprechenden Systems auf einem einzigen Chip (Die) integriert ist. Beispielsweise können derartige SoCs eine hardware-konfigurierbare Logikeinheit (programmierbarer Logikteil, PL) und eine Prozessoreinheit (Prozessor Systemteil, PS) umfassen.
  • Eine derartige Prozessoreinheit kann dabei einen zweckmäßigen Prozessor bzw. Prozessorkern oder einen Multicore-Prozessor umfassen. Multicore-Prozessoren umfassen dabei mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst dabei 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-konfigurierbaren Logikeinheit ist nicht unveränderlich, sondern kann jederzeit verändert werden. Hardware-konfigurierbare Logikeinheiten können dabei mittels einer Hardwarebeschreibungssprache (HDL) auf Hardware-Ebene neu programmiert bzw. neu konfiguriert werden. Somit können den hardware-konfigurierbaren Logikschaltungen unterschiedliche Funktionalitäten zugewiesen werden. Um eine hardware-konfigurierbaren Logikeinheit neu zu konfigurieren, können einzelne Schaltungsbereiche der hardware-konfigurierbaren 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-konfigurierbare Logikeinheiten können insbesondere sogenannte Field Programmable Gate Arrays (FPGAs) sein.
  • Mittels derartiger SoCs kann eine Vielzahl an Funktionalitäten realisiert werden. Dabei ist es von erheblicher Bedeutung, entsprechende Sicherheitsmaßnahmen vorzunehmen und das SoC gegen schädliche Angriffe abzusichern. Insbesondere muss dabei eine Firmware des SoC geschützt werden. Die Firmware umfasst dabei insbesondere die Programmierung der hardware-konfigurierbaren Logikeinheit (programmable logic part, PL) und der Prozessoreinheit (processor system part, PS). Beispielsweise muss die Firmware vom SoC dabei gegen Manipulation, Nachkonstruktion (Reverse Engineering) oder nicht lizensierte Vervielfältigung geschützt werden.
  • SoCs können üblicherweise gesichert werden, indem ein Datenstrom des SoC mittels einer zweckmäßigen Verschlüsselungsmethode verschlüsselt wird, beispielsweise mittels eines sogenannten Advanced Encryption Standard (AES) Algorithmus. Mittels einer derartigen Methode kann zwar der Datenstrom des SoC gesichert werden, das SoC kann jedoch nicht gegen Manipulation (vor allem auf Hardwareebene) gesichert werden. Weiterhin sind derartige Verschlüsselungsmethoden anfällig für Seitenkanalattacken.
  • SoCs können weiterhin mittels sogenannter Secure-Boot-Verfahren gesichert werden, wobei zumeist asymmetrische Verschlüsselungsverfahren zum Einsatz können. Bei derartigen asymmetrischen Verschlüsselungsverfahren werden Schlüsselpaare aus einem öffentlichen und einem privaten Schlüssel verwendet. Dabei wird die Firmware mit dem öffentlichen Schlüssel offline signiert. Im SoC wird diese Signatur mit dem öffentlichen Schlüssel geprüft. Bei derartigen Signaturverfahren ist jedoch nur die Integrität bzw. Authentizität der Daten gesichert. Eine Geheimhaltung der Daten des SoC wird nicht gewährleistet.
  • Es ist daher wünschenswert, eine Möglichkeit bereitzustellen, um ein System-on-a-Chip auf einfache Weise effektiv gegen Angriffe abzusichern.
  • Offenbarung der Erfindung
  • Erfindungsgemäß wird ein Verfahren zur Absicherung eines Systems-on-a-Chip mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Das SoC weist dabei eine hardware-programmierbare Logikeinheit (programmierbarer Logikteil) und eine Prozessoreinheit (Prozessor Systemteil, PS) auf. Die hardware-programmierbare Logikeinheit ist dabei insbesondere als ein Field Programmable Gate Array (FPGA) ausgebildet. Die Prozessoreinheit umfasst 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.
  • Zu einem ersten Zeitpunkt wird dabei ein Programmierprozess (Enrollment) des SoC durchgeführt. Dieser Programmierprozess kann beispielsweise im Zuge eines Produktionsprozesses des SoC durchgeführt werden. Im Zuge des Programmierprozesses wird in der hardware-programmierbaren Logikeinheit eine Erzeugung eines Schlüsselpaares (öffentlicher und privater Schlüssel) mittels einer sogenannten Physical Unclonable Function (PUF) durchgeführt. Dieser erzeugte öffentliche PUF-Schlüssel bzw. private PUF-Schlüssel werden letztendlich für das Erzeugen und Überprüfen von Signaturen genutzt.
  • Derartige Physical Unclonable Functions (PUFs) sind Funktionen, welche auf physikalischen Charakteristiken des SoC basieren. Eine Physical Unclonable Function wertet Fertigungsschwankungen in einem Chip bzw. in dem SoC aus und erzeugt daraus ein individuelles Chipsignal. Ein derartiges individuelles Chipsignal ist somit ein Ergebnis der auf dem SoC ausgeführten Physical Unclonable Function. 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.
  • Ein auf diese Art erzeugter (kryptografischer) öffentlicher PUF-Schlüssel wird mittels eines zweiten privaten Schlüssels (insbesondere mit einem sogenannten system developer key) signiert. Der öffentliche PUF-Schlüssel sowie dessen Signatur werden in einem externen Speicher gespeichert, insbesondere in einem Flash-Speicher. Insbesondere wird dieser zweite private Schlüssel bzw. ein zweites Schlüsselpaar aus diesem zweiten privaten Schlüssel und einem zugehörigen zweiten öffentlichen Schlüssel im Zuge des Programmierprozess des SoC ohnehin genutzt bzw. ist ohnehin bereits vorhanden (system developer key). Mittels dieses zweiten Schlüsselpaares wird somit eine Echtheit bzw. Authentizität des öffentlichen PUF-Schlüssels verifiziert.
  • Weiterhin wird ein Sicherheitsmodul ("security module"), insbesondere in Form einer Firmware, vom SoC mittels eines dritten privaten Schlüssels signiert (insbesondere mittels eines Boot Schlüssels). Das Sicherheitsmodul und dessen Signatur werden in dem externen Speicher des Systems-on-a-Chip gespeichert. Der dazu gehörige dritte öffentliche Schlüssel wird insbesondere im internen nichtflüchtigen Speicherbereich (Fuse) des SoC gespeichert. Ein derartiges Sicherheitsmodul umfasst Software, insbesondere Firmware, welche zum Absichern des SoC verwendet werden kann. Insbesondere kann diese Software zum Verschlüsseln und Entschlüsseln der SoC Firmware, weiter insbesondere zum Signieren und Verifizieren von Signaturen verwendet werden. Insbesondere umfasst dieses Sicherheitsmodul dabei die Software, welche zur Verschlüsselung des SoC verwendet wird, insbesondere die Physical Unclonable Function und zweckmäßige Methoden zur Überprüfung bzw. Verifikation von Signaturen. Weiter insbesondere umfasst das Sicherheitsmodul zweckmäßige kryptographische Algorithmen. Dieses Sicherheitsmodul kann insbesondere zu einem späteren Zeitpunkt genutzt werden, um das verschlüsselte SoC wieder zu entschlüsseln bzw. in Betrieb zu nehmen.
  • Auch der dritte private Schlüssel bzw. ein drittes Schlüsselpaar aus diesem dritten privaten Schlüssel und einem zugehörigen dritten öffentlichen Schlüssel werden im Zuge des Programmierprozess des SoC ohnehin genutzt bzw. sind ohnehin bereits vorhanden. Mittels dieses zweiten Schlüsselpaares wird somit eine Echtheit bzw. Authentizität sämtlicher Software verifiziert, welche zum Entschlüsseln des SoC genutzt werden kann.
  • Vorteile der Erfindung
  • Mittels der Erfindung kann die Firmware eines SoC und das dazu gehörige SoC mit Hilfe einer Physical Unclonable Function geschützt bzw. verschlüsselt werden. Mittels des Physical Unclonable Function wird dabei ein PUF-Schlüsselpaar erzeugt, welches eindeutig für dieses spezielle SoC ist. Dieses PUF-Schlüsselpaar wird im Zuge des Programmierprozesses eigens und individuell für das jeweilige SoC erzeugt. Mittels dieses PUF-Schlüsselpaares kann eine Echtheit bzw. Authentizität des SoC eindeutig verifiziert werden. Der Private PUF-Schlüssel verlässt dabei niemals das SoC und wird somit geheim gehalten.
  • Das Ergebnis der auf dem SoC ausgeführten Physical Unclonable Function (insbesondere ein individuelles Chipsignal) kann im übertragenen Sinn als ein Fingerabdruck des SoCs angesehen werden. Das individuelle Chipsignal bzw. das Ergebnis der auf dem SoC ausgeführten Physical Unclonable Function ist für jeden SoC eindeutig, sehr schwer bis kaum vorhersehbar, intrinsisch und kann nicht kontrolliert werden (insbesondere nicht durch einen Hersteller des SoC). Weiterhin ist das individuelle Chipsignal bzw. das Ergebnis der auf dem SoC ausgeführten Physical Unclonable Function sehr zuverlässig und leicht auszuwerten.
  • Schlüssel, welche mittels einer Physical Unclonable Function erzeugt werden, können nicht oder kaum durch Nachkonstruktion bzw. Reversed Engineering erzeugt werden. Der öffentliche und der private PUF-Schlüssel sind somit für das jeweilige SoC eindeutig und können kaum nachkonstruiert werden. Somit kann es so gut wie ausgeschlossen werden, dass ein Angreifer dieses PUF-Schlüsselpaar nachkonstruiert und einen schädlichen Angriff auf das SoC durchführt. Das SoC und die entsprechende Firmware können somit auf einfache Weise besonders effizient gegen schädliche Angriffe, insbesondere gegen Manipulation, Nachkonstruktion (Reverse Engineering) oder nicht lizensierte Vervielfältigung, abgesichert werden.
  • Insbesondere wird der Programmierprozess bzw. Produktionsprozess in einem (gegen Angriffe) sicheren und geschützten Umfeld durchgeführt. Während des Programmierprozess haben dabei ausschließlich autorisierte Mitarbeiter Zugriff auf die einzelnen Hard- und Softwareelemente. Weiter insbesondere wird für den Programmierprozess ein eigenständiges, abgetrenntes und gesichertes Netzwerk verwendet. Insbesondere werden zumindest die sicherheitskritischen Schritte des Programmierprozess in einem derartigen sicheren und geschützten Umfeld durchgeführt. Diese sicherheitskritischen Schritte umfassen dabei das Erstellen der PUF-Schlüssel sowie das Signieren mit einem der Schlüssel. Sicherheitsunkritische Schritte können dabei auch in einem nicht geschützten Umfeld durchgeführt werden. Die sicherheitsunkritischen Schritte umfassen dabei insbesondere das Übermitteln bzw. Speichern der Signaturen, Schlüssel, usw. in dem Speicherbereich des SoC.
  • Insbesondere wird im Zuge des Programmierprozesses zunächst eine Enrollment-Firmware in das SoC geladen. Diese Enrollment-Firmware umfasst dabei insbesondere die Physical Unclonable Function bzw. zweckmäßige PUF-Elemente, welche in die hardware-programmierbare Logikeinheit geladen werden. Weiterhin umfasst die Enrollment-Firmware insbesondere einen Hilfsdatengenerator, welcher für die Physical Unclonable Function benötigte Hilfsdaten erzeugt. Weiterhin umfasst die Enrollment-Firmware insbesondere einen privaten Schlüsselgenerator, der den privaten PUF-Schlüssel erzeugt, und einen öffentlichen Schlüsselgenerator, der den öffentlichen PUF-Schlüssel erzeugt. Diese Enrollment-Firmware bzw. einzelne Elemente der Enrollment-Firmware sind insbesondere Teil des Sicherheitsmoduls.
  • Nachdem der öffentliche PUF-Schlüssel und dessen Signatur, der dritte öffentliche Schlüssel bzw. dessen Hash ("Boot Key") und das Sicherheitsmodul (und dessen Signatur) in dem externen Speicher des SoC gespeichert sind und nachdem das SoC somit in einem sicheren Modus ("Secure Boot") eingestellt ist, ist das SoC verschlüsselt bzw. gesichert. Dieses verschlüsselte bzw. gesicherte SoC kann in einem nicht sicheren Umfeld verwendet werden.
  • In einer vorteilhaften Ausgestaltung der Erfindung wird nach dem Programmierprozess ein Initialisierungsprozess (Bootprozess) des SoC durchgeführt. Der Programmierprozess wird dabei insbesondere zu einem ersten Zeitpunkt durchgeführt und der Initialisierungsprozess zu einem späteren zweiten Zeitpunkt. Der Initialisierungsprozess findet insbesondere während des regulären Betriebs des SoC statt. Das SoC wird im Zuge dieses Initialisierungsprozesses insbesondere initialisiert bzw. hochgefahren ("gebootet").
  • Gemäß einer bevorzugten Ausgestaltung der Erfindung wird im Zuge des Initialisierungsprozesses die entsprechende Signatur des Sicherheitsmoduls mittels des dritten öffentlichen Schlüssels überprüft. Wird die Echtheit bzw. Authentizität des Sicherheitsmoduls mittels des dritten öffentlichen Schlüssels verifiziert, wird das Sicherheitsmodul in die hardware-programmierbare Logikeinheit geladen. Mittels des Sicherheitsmoduls wird der private PUF-Schlüssel rekonstruiert. Das SoC kann nun in einem regulären Betriebsmodus betrieben werden. Das für das SoC eindeutige PUF-Schlüsselpaar kann nun zur Verschlüsselung, Signatur, Erzeugung und Verifikation von Datenströmen im regulären Betrieb des SoC verwendet werden. Weiterhin kann das Sicherheitsmodul insbesondere als sogenannter Root of Trust verwendet werden.
  • Weiterhin kann die hardware-programmierbaren Logikeinheit in dem regulären Betriebsmodus (zumindest teilweise) neu konfiguriert werden. Nachdem das SoC initialisiert bzw. hochgefahren ist und der private PUF-Schlüssel rekonstruiert ist, kann die hardware-programmierbare Logikeinheit für den regulären Betrieb des SoC genutzt werden. Teilbereiche der hardware-programmierbaren Logikeinheit, welche speziell für den Initialisierungsprozess konfiguriert werden, können anschließend auch für den regulären Betrieb des SoC entsprechend umkonfiguriert werden. Insbesondere wird die Physical Unclonable Function, weiter insbesondere die Enrollment-Firmware, im Zuge des regulären Betriebs des SoC nicht mehr benötigt. Entsprechende Teilbereiche der hardware-programmierbaren Logikeinheit, in welchen die Enrollment-Firmware ausgeführt wird, werden somit nach dem Initialisierungsprozess neu konfiguriert. Somit wird vermieden, dass bestimmte Ressourcen des SoC ausschließlich für den Initialisierungsprozess genutzt werden können und für den regulären Betrieb nicht zur Verfügung stehen.
  • Das Erstellen des PUF-Schlüsselpaares im Zuge des Programmierprozesses und das Hochfahren des SoC im Zuge des Initialisierungsprozesses stellen eine einfache Möglichkeit zur Absicherung eines SoC dar. Durch die Kombination des Programmierprozesses und des Initialisierungsprozesses kann eine besonders effiziente Absicherung des SoC durchgeführt werden. Insbesondere kann somit die Firmware (aus hardware-konfigurierbarer Logikeinheit und Prozessoreinheit) gegen schädliche Angriffe abgesichert werden. Insbesondere kann das SoC somit gegen Manipulation, Nachkonstruktion und nicht lizensierte Vervielfältigung geschützt werden.
  • Sowohl während des Programmierprozesses als auch während des Initialisierungsprozesses verlässt der private PUF-Schlüssel die hardware-programmierbare Logikeinheit nicht. Der private PUF-Schlüssel bleibt somit stets in der hardware-programmierbaren Logikeinheit gespeichert. Somit kann ein Angriff bzw. ein Auslesen des privaten PUF-Schlüssels ausgeschlossen werden.
  • Eine erfindungsgemäße Recheneinheit, z.B. 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 einen Programmierprozess, der im Zuge einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens durchgeführt werden kann, als ein Blockdiagramm.
  • 3 zeigt schematisch einen Initialisierungsprozess, der im Zuge einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens durchgeführt werden kann, als ein Blockdiagramm.
  • 4 zeigt schematisch einen Konfigurationsprozess, der im Zuge einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens durchgeführt werden kann, als ein Blockdiagramm.
  • 5 zeigt schematisch einen Aktualisierungsprozess, der im Zuge einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens durchgeführt werden kann, als ein Blockdiagramm.
  • Ausführungsform(en) der Erfindung
  • Die 1 bis 5 werden im Folgenden zusammenhängend beschrieben.
  • 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.
  • Ein Programmierprozess gemäß dieser bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist in 2 in Form eines Blockdiagramms 200 dargestellt.
  • Das SoC 100 umfasst eine hardware-programmierbare Logikeinheit 110 in Form eines Field Programmable Gate Arrays FPGA, eine Prozessoreinheit 130 und einen externen Speicher 120 bzw. eine Speichereinheit 120, insbesondere in Form eines Flash-Speichers.
  • In einem ersten Schritt 201 wird eine sogenannte Enrollment-Firmware in das FPGA 110 geladen. Eine Hardware des FPGA 110 wird dabei entsprechend konfiguriert. Diese Enrollment-Firmware enthält eine Physical Unclonable Function Einheit (PUF-Einheit) 111, eine Hilfsdatengenerator 112, einen privaten Schlüsselgenerator 113 und einen öffentlichen Schlüsselgenerator 114. Die PUF-Einheit 111 ist dazu eingerichtet, eine Physical Unclonable Function (PUF) durchzuführen.
  • In einem Schritt 202 erzeugt der Hilfsdatengenerator 112 Hilfsdaten, welche zur Ausführung der Physical Unclonable Function durch die PUF-Einheit 111 benötigt werden. Mittels dieser Hilfsdaten kann insbesondere eine Fehlerkorrektur durchgeführt werden. Mittels einer derartigen Fehlerkorrektur kann ein Fehler der PUF-Schlüssel durch unterschiedliche Temperatur- und Spannungsschwankungen ausgeglichen werden.
  • In Schritt 203 erzeugt der private Schlüsselgenerator 113 einen privaten PUF-Schlüssel mittels der Hilfsdaten und der ausgeführten Physical Unclonable Function durch die PUF-Einheit 111. Mittels dieses privaten PUF-Schlüssels erzeugt der öffentliche Schlüsselgenerator 114 einen öffentlichen PUF-Schlüssel.
  • In Schritt 204 übermittelt die Enrollment-Firmware den öffentlichen PUF-Schlüssel und die Hilfsdaten an eine externe Recheneinheit 150, die sogenannte Produktionsrecheneinheit (Enrollement Workstation). In Schritt 205 werden die Hilfsdaten und der öffentliche PUF-Schlüssel in dieser Produktionsrecheneinheit 150 mittels eines zweiten privaten Schlüssels signiert.
  • Dieser zweite private Schlüssel bildet zusammen mit einem zweiten öffentlichen Schlüssel ein zweites Schlüsselpaar. Insbesondere wird ein privater bzw. öffentlicher Schlüssel eines Systemanbieters als zweiter privater bzw. zweiter öffentlicher Schlüssel verwendet. Ein derartiges Schlüsselpaar des Systemanbieters ("system developer key") wird von dem Systemanbieter bzw. Produkthersteller erzeugt. Insbesondere wurde dieses Schlüsselpaar des Systemanbieters im Zuge eines Herstellungsprozesses des SoC 100 erzeugt.
  • Die Hilfsdaten und deren Signatur sowie der öffentliche PUF-Schlüssel und dessen Signatur werden in Schritt 206 von der Produktionsrecheneinheit 150 in den Flash-Speicher 120 des SoC 100 geschrieben.
  • In einem Schritt 207 wird ein Sicherheitsmodul in der Produktionsrecheneinheit 150 mittels eines dritten privaten Schlüssels signiert. Insbesondere umfasst dieses Sicherheitsmodul die Software, welche zur Verschlüsselung des SoC 100 verwendet wird, insbesondere die Physical Unclonable Function und zweckmäßige Methoden zur Überprüfung bzw. Verifikation der einzelnen Signaturen. Das Sicherheitsmodul und dessen Signatur werden in Schritt 208 von der Produktionsrecheneinheit 150 in den Flash-Speicher 120 des SoC 100 geschrieben.
  • Dieser dritte private Schlüssel bildet zusammen mit einem dritten öffentlichen Schlüssel ein drittes Schlüsselpaar. Insbesondere wird ein für das SoC spezifischer privater bzw. öffentlicher Boot-Schlüssel ("SoC specific secure boot key") als dritter privater bzw. dritter öffentlicher Schlüssel verwendet. Derartige Boot-Schlüssel werden für einen Initialisierungsprozess bzw. ein Hochfahren ("booten") des SoC erzeugt. Der dritte öffentliche Schlüssel wird insbesondere in einem nichtflüchtigen und nicht manipulierbaren Speicherbereich des SoC ("Fuses") im Programmierprozess programmiert.
  • Der Programmierprozess des SoC wird in einem sicheren Umfeld durchgeführt. Dabei haben nur autorisierte Mitarbeiter Zugang zu der Produktionsrecheneinheit 150. Die Produktionsrecheneinheit 150 ist dabei nur mit einem abgesicherten Netzwerk verbunden. Weiterhin verlässt der private PUF-Schlüssel den FPGA 110 nicht. Nachdem der öffentliche PUF-Schlüssel und dessen Signatur sowie das Sicherheitsmodul und dessen Signatur in den Flash-Speicher 120 des SoC 100 geladen wurden, kann das SoC 100 außerhalb eines derartigen sicheren Umfelds betrieben werden.
  • Dabei wird das SoC zunächst in einem Initialisierungsprozess initialisiert bzw. hochgefahren. Dieser Initialisierungsprozess gemäß dieser bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist in 3 in Form eines Blockdiagramms 300 dargestellt.
  • In einem Schritt 301 lädt ein sogenannter ROM-Bootloader 131, welcher insbesondere in der Prozessoreinheit 130 ausgeführt wird, das Sicherheitsmodul und dessen Signatur aus dem Flash-Speicher 120 in den FPGA 110.
  • In Schritt 302 lädt der ROM-Bootloader 131 den öffentlichen Boot-Schlüssel aus einem sicheren Speicherteil (fuse, fuse-bit) des Flash-Speichers 120. Gegebenenfalls kann auch nur eine zugehörige Hashfunktion durch den ROM-Bootloader 131 geladen und ausgeführt werden und mit entsprechenden Werten in dem sicheren Speicherteil des Speichers 120 verglichen werden, um den öffentlichen Boot-Schlüssel zu rekonstruieren. Sollte die Ausführung der Hashfunktion zu Werten führen, welche sich von den entsprechenden Werten in dem sicheren Speicherteil des Flash-Speichers 120 unterscheiden, kann das SoC in einen ausfallsicheren Zustand überführt werden.
  • In Schritt 303 wird die geladene Signatur des Sicherheitsmoduls mittels des öffentlichen Boot-Schlüssels überprüft. Wird dabei ermittelt, dass die Signatur nicht korrekt ist und kann somit die Signatur nicht als echt verifiziert werden, wird das SoC in Schritt 303a in einen ausfallsicheren Zustand überführt.
  • Wird hingegen die Echtheit der Signatur verifiziert, wird in Schritt 304 das Sicherheitsmodul aus dem Flashspeicher 120 in den FPGA 110 des SoC 100 geladen. Des Weiteren werden die Hilfsdaten und deren Signatur aus dem Flash-Speicher 120 in den FPGA 110 des SoC 100 geladen. Eine Hardware des FPGA 110 wird dabei entsprechend konfiguriert.
  • In Schritt 305 rekonstruiert das Sicherheitsmodul, insbesondere mittels der Physical Unclonable Function, die von der PUF-Einheit 111 ausgeführt wird, mittels der Hilfsdaten den privaten PUF-Schlüssel. In Schritt 306 werden der rekonstruierte private PUF-Schlüssel sowie der öffentliche PUF-Schlüssel in dem FPGA 110 gespeichert. Auch in dem Initialisierungsprozess verlässt der private PUF-Schlüssel somit den FPGA 110 nicht.
  • Mit dem rekonstruierten privaten PUF-Schlüssel bzw. dem in dem FPGA 110 gespeicherten PUF-Schlüsselpaar kann nun ein Konfigurationsprozess des SoC durchgeführt werden. Ein derartiger Konfigurationsprozess gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist in 4 in Form eines Blockdiagramms 400 dargestellt. Der Konfigurationsprozess kann insbesondere im Zuge des Initialisierungsprozesses durchgeführt werden.
  • Im Zuge des Konfigurationsprozess werden spezielle Hardwarekonfigurationen bzw. IP-Cores geladen Diese Hardwarekonfigurationen bzw. IP-Cores geben insbesondere spezielle Konfigurationen an, nach welchen das FPGA 110 (insbesondere für den regulären Betrieb des SoC 100) konfiguriert wird. IP-Cores stellen im übertragenen Sinne Baupläne dar, nach welchen der FPGA 110 konfiguriert wird.
  • In einem Schritt 401 wird ein derartiger verschlüsselter IP-Core zusammen mit einer entsprechenden Signatur von dem Sicherheitsmodul aus dem Flash-Speicher 120 geladen. IP-Cores wurden (insbesondere im Zuge eines Herstellungsprozesses des SoC 100) mit einem speziellen Schlüssel, einem Lagerungsschlüssel ("storage key") verschlüsselt. Des Weiteren wird mittels dieses Lagerungsschlüssels die entsprechende Signatur erzeugt. Dieser Lagerungsschlüssel wird insbesondere mit dem öffentlichen PUF-Schlüssel verschlüsselt.
  • In Schritt 402 wird die Signatur des IP-Cores überprüft. Insbesondere wird die Signatur dabei auf Modifikationen überprüft. Wird ermittelt, dass die Signatur nicht korrekt ist und kann somit die Signatur nicht als echt verifiziert werden, wird das SoC in Schritt 402a in einen ausfallssicheren Zustand überführt.
  • Wird die Echtheit der Signatur verifiziert, wird in Schritt 403 der Lagerungsschlüssel mittels des privaten PUF-Schlüssels entschlüsselt. In Schritt 404 wird mittels des entschlüsselten Lagerungsschlüssels der IP-Core entschlüsselt. In Schritt 405 wird der FPGA 110 des SoC 100 gemäß dem entschlüsselten IP-Core konfiguriert.
  • Derartige Hardwarekonfigurationen bzw. IP-Cores können im Zuge des regulären Betriebs des SoC auch von einem Server in das SoC geladen werden. Ein derartiger Server ist insbesondere ein Server des Herstellers des SoC. Dies kann insbesondere im Zuge eines Aktualisierungsprozesses durchgeführt werden. Ein derartiger Aktualisierungsprozesses gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist in 5 in Form eines Blockdiagramms 500 dargestellt.
  • Dabei wird in Schritt 501 der öffentliche PUF-Schlüssel von dem SoC 100 an den Server des Herstellers übermittelt. Im Zuge dessen wird insbesondere ebenfalls eine Signatur des Herstellers von dem SoC an den Server des Herstellers übermittelt. In Schritt 502 wird diese Signatur in dem Server des Herstellers überprüft.
  • Daraufhin wird in Schritt 503 in dem Server des Herstellers ein Transportschlüssel erstellt und mit dem öffentlichen PUF-Schlüssel verschlüsselt. Dieser verschlüsselte Transportschlüssel wird in Schritt 504 von dem Server des Herstellers an das SoC übermittelt. Somit ist eine sichere Kommunikation zwischen SoC und dem Server des Herstellers etabliert.
  • In Schritt 505 übermittelt der Server des Herstellers eine neue Hardwarekonfiguration bzw. einen neuen IP-Core, welche bzw. welcher mittels des Transportschlüssels verschlüsselt wurde.
  • In Schritt 506 wird diese verschlüsselte Hardwarekonfiguration mittels des Transportschlüssels ins der SoC entschlüsselt und anschließend mittels des Lagerungsschlüssels wieder verschlüsselt. Des Weiteren wird diese erneut verschlüsselte Hardwarekonfiguration mittels des privaten PUF-Schlüssels signiert und in dem Flash-Speicher 110 des SoC 100 gespeichert.
  • 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. Diese 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.
  • Die Erfindung stellt dabei eine besonders einfache und effiziente Möglichkeit bereit, um ein SoC eines Steuergerätes in einem Kraftfahrzeug abzusichern. Durch die Erfindung können somit Angreife an 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.

Claims (13)

  1. Verfahren zur Absicherung eines Systems-on-a-Chip (100) mit einer hardware-programmierbaren Logikeinheit (110), wobei im Zuge eines Programmierprozesses (200) – in der hardware-programmierbaren Logikeinheit (110) mittels einer Physical Unclonable Function PUF ein öffentlicher PUF-Schlüssel und ein privater PUF-Schlüssel erzeugt werden (203), – der öffentliche PUF-Schlüssel mittels eines zweiten privaten Schlüssels signiert wird (205), – wobei der öffentliche PUF-Schlüssel und dessen Signatur in einem externen Speicher (120) des Systems-on-a-Chip (100) gespeichert werden (206), – wobei ein Sicherheitsmodul mittels eines dritten privaten Schlüssels signiert wird (207), – wobei das Sicherheitsmodul und dessen Signatur in dem externen Speicher (120) des Systems-on-a-Chip (100) gespeichert werden (208), – wobei das Sicherheitsmodul Software umfasst, welche zur Absicherung des Systems-on-a-Chip verwendet wird.
  2. Verfahren nach Anspruch 1, wobei nach dem Programmierprozess (200) ein Initialisierungsprozess (300) durchgeführt wird, in welchem das System-on-a-Chip initialisiert und/oder hochgefahren wird.
  3. Verfahren nach Anspruch 2, wobei im Zuge des Initialisierungsprozesses (300) – die entsprechende Signatur des Sicherheitsmoduls mittels eines dritten öffentlichen Schlüssels überprüft wird (303), – das Sicherheitsmodul in die hardware-programmierbare Logikeinheit geladen wird (304) und – mittels des Sicherheitsmoduls der private PUF-Schlüssel rekonstruiert wird (305).
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei im Zuge des Programmierprozesses (200) in der hardware-programmierbaren Logikeinheit (110) Hilfsdaten erzeugt werden, wobei die Hilfsdaten mittels des zweiten privaten Schlüssels signiert werden und wobei die Hilfsdaten mit deren Signatur zusammen mit dem öffentlichen PUF-Schlüssel und dessen Signatur in dem Speicherbereich (110) des Systems-on-a-Chip (100) gespeichert werden.
  5. Verfahren nach Anspruch 4, wobei im Zuge des Initialisierungsprozesses der private PUF-Schlüssel mittels der Hilfsdaten rekonstruiert wird.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei der öffentliche PUF-Schlüssels und/oder die Hilfsdaten im Zuge des Programmierprozesses (200) von der hardware-programmierbaren Logikeinheit (110) in eine externe Recheneinheit (150) übermittelt werden (204), in der externen Recheneinheit (150) mittels des zweiten privaten Schlüssels signiert werden (205) und wobei der öffentliche PUF-Schlüssel mit dessen Signatur und/oder die Hilfsdaten mit deren Signatur von der externe Recheneinheit (150) in den Speicherbereich (120) des Systems-on-a-Chip (100) übermittelt werden (208).
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei als zweiter privater Schlüssel ein privater Schlüssel eines Systemanbieters verwendet wird.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei als dritter privater Schlüssel ein für das System-on-a-Chip spezifischer privater Boot-Schlüssel verwendet wird.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei im Zuge des Initialisierungsprozesses (300) mittels des öffentlichen PUF-Schlüssels eine Hardwarekonfiguration aus dem Speicherbereich des Systems-on-a-Chip (110) geladen wird (401) und wobei die hardware-programmierbare Logikeinheit (100) gemäß dieser Hardwarekonfiguration konfiguriert wird (405).
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei mittels des öffentlichen PUF-Schlüssels eine Hardwarekonfiguration von einem Server in das System-on-a-Chip (100) geladen wird.
  11. Recheneinheit, die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
  12. Computerprogramm, das eine Recheneinheit dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf der Recheneinheit, insbesondere nach Anspruch 11, ausgeführt wird.
  13. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 12.
DE102013227184.0A 2013-12-27 2013-12-27 Verfahren zur Absicherung eines Systems-on-a-Chip Pending DE102013227184A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102013227184.0A DE102013227184A1 (de) 2013-12-27 2013-12-27 Verfahren zur Absicherung eines Systems-on-a-Chip
US14/581,522 US9887844B2 (en) 2013-12-27 2014-12-23 Method for safeguarding a system-on-a-chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013227184.0A DE102013227184A1 (de) 2013-12-27 2013-12-27 Verfahren zur Absicherung eines Systems-on-a-Chip

Publications (1)

Publication Number Publication Date
DE102013227184A1 true DE102013227184A1 (de) 2015-07-02

Family

ID=53372069

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013227184.0A Pending DE102013227184A1 (de) 2013-12-27 2013-12-27 Verfahren zur Absicherung eines Systems-on-a-Chip

Country Status (2)

Country Link
US (1) US9887844B2 (de)
DE (1) DE102013227184A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180217942A1 (en) * 2017-01-27 2018-08-02 Lear Corporation Hardware security for an electronic control unit
DE102017114010A1 (de) * 2017-06-23 2019-02-21 PHYSEC GmbH Verfahren zur Prüfung der Integrität einer dedizierten physikalischen Umgebung zum Schutz von Daten
DE102017219242A1 (de) * 2017-10-26 2019-05-02 Audi Ag Ein-Chip-System, Verfahren zum Betrieb eines Ein-Chip-Systems und Kraftfahrzeug
EP3819804A1 (de) * 2019-11-08 2021-05-12 Siemens Aktiengesellschaft Integritätsüberprüfung eines registerinhalts
US11556273B2 (en) 2018-06-21 2023-01-17 Technische Universität Method and unit of operating a storage means, storage means and system for data processing

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594927B2 (en) * 2014-09-10 2017-03-14 Intel Corporation Providing a trusted execution environment using a processor
US10025600B2 (en) * 2015-10-02 2018-07-17 Google Llc NAND-based verified boot
US10841087B2 (en) * 2015-11-05 2020-11-17 Mitsubishi Electric Corporation Security device, system, and security method
US9806719B1 (en) * 2016-09-29 2017-10-31 Intel Corporation Physically unclonable circuit having a programmable input for improved dark bit mask accuracy
US10069633B2 (en) * 2016-09-30 2018-09-04 Data I/O Corporation Unified programming environment for programmable devices
US11362845B2 (en) * 2016-11-30 2022-06-14 Taiwan Semiconductor Manufacturing Co., Ltd. Secure communication between server device and clients utilizing strong physical unclonable functions
JP6882666B2 (ja) * 2017-03-07 2021-06-02 富士通株式会社 鍵生成装置および鍵生成方法
GB2561881A (en) 2017-04-27 2018-10-31 Airbus Group Ltd Microcontroller
US10643006B2 (en) * 2017-06-14 2020-05-05 International Business Machines Corporation Semiconductor chip including integrated security circuit
JP6882678B2 (ja) * 2017-06-30 2021-06-02 富士通株式会社 衝突検出システムおよび衝突検出方法
US10949546B2 (en) 2017-08-02 2021-03-16 Samsung Electronics Co., Ltd. Security devices, electronic devices and methods of operating electronic devices
US10657260B2 (en) * 2017-09-19 2020-05-19 Sling Media Pvt Ltd Electronic devices and methods supporting unsecured system-on-chip secure boot functionalities
JP2019121884A (ja) 2017-12-28 2019-07-22 三菱重工業株式会社 集積回路、制御装置、情報配信方法及び情報配信システム
US11030346B2 (en) 2018-07-13 2021-06-08 Ememory Technology Inc. Integrated circuit and data processing method for enhancing security of the integrated circuit
KR102556091B1 (ko) 2018-10-04 2023-07-14 삼성전자주식회사 보안 정보의 주입을 위한 장치 및 방법
EP3702947B1 (de) * 2019-03-01 2021-10-20 Siemens Aktiengesellschaft Verfahren zur verifizierung, bei laufzeit einer komponente einer hardware-anwendung, einer gegenwärtigen konfigurationseinstellung einer durch ein konfigurierbares hardware-modul bereitgestellten ausführungsumgebung
EP3709201A1 (de) * 2019-03-13 2020-09-16 Siemens Aktiengesellschaft Verfahren zur überprüfung einer ausführungsumgebung, die für die ausführung mindestens einer hardware-anwendung verwendet wird, die von einem konfigurierbaren hardware-modul bereitgestellt wird
KR102765870B1 (ko) * 2019-08-05 2025-02-07 삼성전자주식회사 시스템 온 칩
US11683341B2 (en) * 2019-12-20 2023-06-20 Robert Bosch Gmbh System and method for network intrusion detection based on physical measurements
US11681784B2 (en) * 2020-09-03 2023-06-20 Arista Networks, Inc. Hardware license verification

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001015380A1 (fr) * 1999-08-20 2001-03-01 Sony Corporation Systeme et procede d'emission d'informations, lecteur et procede d'acces, support d'enregistrement d'informations, et dispositif et procede de production de supports d'enregistrement
US20060159269A1 (en) * 2005-01-20 2006-07-20 Matsushita Electric Industrial Co., Ltd. Cryptographic system for resource starved CE device secure upgrade and re-configuration
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
US8516269B1 (en) * 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication
US9961550B2 (en) * 2010-11-04 2018-05-01 Itron Networked Solutions, Inc. Physically secured authorization for utility applications
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
ES2615750T3 (es) * 2011-08-16 2017-06-08 Ictk Co., Ltd. Dispositivo y método para autenticación de seguridad entre dispositivos basados en PUF en comunicación máquina a máquina
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US9230112B1 (en) * 2013-02-23 2016-01-05 Xilinx, Inc. Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis
US9165143B1 (en) * 2013-03-15 2015-10-20 Xilinx, Inc. Image file generation and loading
US9208355B1 (en) * 2013-05-28 2015-12-08 Sandia Corporation Apparatus, system and method for providing cryptographic key information with physically unclonable function 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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180217942A1 (en) * 2017-01-27 2018-08-02 Lear Corporation Hardware security for an electronic control unit
CN108363347A (zh) * 2017-01-27 2018-08-03 李尔公司 用于电子控制单元的硬件安全
US10664413B2 (en) * 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit
CN108363347B (zh) * 2017-01-27 2021-07-20 李尔公司 用于电子控制单元的硬件安全
US11314661B2 (en) * 2017-01-27 2022-04-26 Lear Corporation Hardware security for an electronic control unit
DE102017114010A1 (de) * 2017-06-23 2019-02-21 PHYSEC GmbH Verfahren zur Prüfung der Integrität einer dedizierten physikalischen Umgebung zum Schutz von Daten
DE102017219242A1 (de) * 2017-10-26 2019-05-02 Audi Ag Ein-Chip-System, Verfahren zum Betrieb eines Ein-Chip-Systems und Kraftfahrzeug
US11783093B2 (en) 2017-10-26 2023-10-10 Audi Ag Single-chip system, method for operating a single-chip system, and motor vehicle
US11556273B2 (en) 2018-06-21 2023-01-17 Technische Universität Method and unit of operating a storage means, storage means and system for data processing
EP3819804A1 (de) * 2019-11-08 2021-05-12 Siemens Aktiengesellschaft Integritätsüberprüfung eines registerinhalts

Also Published As

Publication number Publication date
US20150188707A1 (en) 2015-07-02
US9887844B2 (en) 2018-02-06

Similar Documents

Publication Publication Date Title
DE102013227184A1 (de) Verfahren zur Absicherung eines Systems-on-a-Chip
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
EP2742643B1 (de) Vorrichtung und verfahren zum entschlüsseln von daten
EP2727277B1 (de) System zur sicheren übertragung von daten und verfahren
DE102014208855A1 (de) Verfahren zum Durchführen einer Kommunikation zwischen Steuergeräten
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE102009013384A1 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE102014218218A1 (de) Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip
DE102014208851A1 (de) Verfahren zum Verhindern eines unbefugten Betriebs eines Kraftfahrzeugs
DE102014208838A1 (de) Verfahren zum Betreiben eines Steuergeräts
AT517983A1 (de) Schutz eines Computersystems vor Seitenkanalattacken
DE102022212965A1 (de) Sicheres kraftfahrzeugsystem
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102015225270A1 (de) Verfahren und Sicherheitsmodul zum Bereitstellen einer Sicherheitsfunktion für ein Gerät
DE102015201298A1 (de) Verfahren zum kryptographischen Bearbeiten von Daten
DE102020117552A1 (de) Sichere hybrid-boot-systeme und sichere boot-verfahren für hybridsysteme
DE102018213615A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
DE102013202322A1 (de) Verfahren zur verschlüsselten Datenübertragung zwischen zwei Komponenten eines Steuergeräts
EP3819804A1 (de) Integritätsüberprüfung eines registerinhalts
EP3595256A1 (de) Vorrichtung und verfahren zum betreiben einer durch software gestalteten verarbeitungseinheit für ein gerät
EP3686763B1 (de) Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten
DE102014208848A1 (de) Verfahren zum Überwachen eines elektronischen Sicherheitsmoduls
EP3509247A1 (de) Verfahren und schlüsselgenerator zum rechnergestützten erzeugen eines gesamtschlüssels
WO2017108192A1 (de) Validierung und ausführung von provisionierungsdaten auf appliances
EP4141722A1 (de) Sicheres betreiben einer industriellen steuerungsvorrichtung zusammen mit einem ai-modul

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication