DE102023109062A1 - System und Verfahren zum Implementieren eines sicheren Boot-Ereignisses mit einem aus einer Vielzahl von in Frage kommenden öffentlichen Schlüsseln aus Schlüsselsätzen für die Infrastruktur-Authentifizierung - Google Patents

System und Verfahren zum Implementieren eines sicheren Boot-Ereignisses mit einem aus einer Vielzahl von in Frage kommenden öffentlichen Schlüsseln aus Schlüsselsätzen für die Infrastruktur-Authentifizierung Download PDF

Info

Publication number
DE102023109062A1
DE102023109062A1 DE102023109062.3A DE102023109062A DE102023109062A1 DE 102023109062 A1 DE102023109062 A1 DE 102023109062A1 DE 102023109062 A DE102023109062 A DE 102023109062A DE 102023109062 A1 DE102023109062 A1 DE 102023109062A1
Authority
DE
Germany
Prior art keywords
public key
firmware image
active
soc
bootloader
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
DE102023109062.3A
Other languages
English (en)
Inventor
Brian Farrell
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102023109062A1 publication Critical patent/DE102023109062A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • 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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

Ein System zur Implementierung eines sicheren Boot-Ereignisses umfasst ein System auf einem Chip (SoC). Das SoC enthält Hash-Werte von Schlüsseln, die in einem einmalig programmierbaren Speicher gespeichert sind. Jeder der Hash-Werte von Schlüsseln ist für die Verwendung mit einem aus einer Vielzahl von in Frage kommenden Authentifizierungsschlüsselsätzen konfiguriert. Das SoC enthält ferner im RAM gespeicherte Firmware. Die Firmware enthält einen sekundären Bootloader, eine Vielzahl öffentlicher Schlüssel und entsprechende Signaturen. Die öffentlichen Schlüssel und die entsprechenden Signaturen sind für die Verwendung mit einem der Schlüsselsätze konfiguriert. Der SoC enthält außerdem einen primären Bootloader, der im programmierbaren Speicher gespeicherte Sicherungen verwendet. Die Sicherungen aktivieren einen ausgewählten Hash-Wert von Schlüsseln, der auf einem Ökosystem basiert, in dem das System arbeiten soll. Der ausgewählte Hashwert und ein entsprechender öffentlicher Schlüssel und eine Signatur definieren einen aktiven Authentifizierungsschlüsselsatz. Während des Ereignisses verwendet der primäre Bootloader den aktiven Authentifizierungsschlüsselsatz, um ein heruntergeladenes Update der Firmware zu authentifizieren.

Description

  • Technisches Gebiet
  • Die Offenbarung bezieht sich im Allgemeinen auf ein System und ein Verfahren zur Implementierung eines sicheren Boot-Ereignisses mit einem aus einer Vielzahl von Public-Key-Infrastruktur (PKI)-Authentifizierungsschlüsselsätzen.
  • Einführung
  • Ein System auf einem Chip (SoC) kann ein integrierter Schaltkreis sein, der so konfiguriert ist, dass er als computerisierte Einheit arbeitet. Ein computergestütztes Steuersystem kann eine Vielzahl von SoCs enthalten, die eine Vielzahl von Funktionen erfüllen.
  • Ein Gerät, das einen einmalig programmierbaren Speicher enthält, kann einen primären Bootloader speichern und ausführen, der bei einem Reset-Ereignis oder beim Einschalten dazu verwendet werden kann, bestimmte Aufgaben auszuführen, um den Betrieb des computergestützten Steuersystems einzuleiten. Der einmalig programmierbare Speicher kann einen Nur-Lese-Speicher (ROM) und programmierbare elektronische Sicherungen enthalten. Der primäre Bootloader kann das Laden eines Betriebssystems in den Speicher des rechnergestützten Steuersystems ermöglichen. Das Gerät, das den einmalig programmierbaren Speicher enthält, kann ein SoC sein. PKI beschreibt ein System, das die Verwendung digitaler Signaturen zur Überprüfung der Authentizität von Daten (z. B. Firmware-Images) ermöglicht.
  • Beschreibung der Erfindung
  • Ein System zur Implementierung eines sicheren Boot-Ereignisses wird bereitgestellt. Das System umfasst eine Leiterplatte. Die Leiterplatte enthält ein System auf einem Chip (SoC). Das SoC enthält einmalig programmierbaren Speicher, der zum Speichern einer computerisierten Programmierung konfiguriert ist, und eine Vielzahl von Public-Key-Hashwerten, die in dem einmalig programmierbaren Speicher gespeichert sind. Jeder der Vielzahl von Public-Key-Hashwerten ist für die Verwendung mit einem von mehreren in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Der SoC umfasst ferner einen Direktzugriffsspeicher (RAM), der zum Speichern eines Firmware-Images konfiguriert ist, und das Firmware-Image, das zur Ausführung durch den SoC konfiguriert und im RAM gespeichert ist. Das Firmware-Image enthält einen sekundären Bootloader und eine Vielzahl öffentlicher Schlüssel (Public Keys). Jeder der Vielzahl von öffentlichen Schlüssel ist für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätze konfiguriert. Das Firmware-Image enthält außerdem eine Vielzahl von Signaturen. Jede der Vielzahl von Signaturen ist für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Der SoC enthält außerdem einen primären Bootloader, der in dem einmalig programmierbaren Speicher gespeichert ist. Der primäre Bootloader innerhalb des Speichers des SoC verwendet eine Vielzahl von Sicherungen, die zur selektiven Aktivierung eines ausgewählten Public-Key-Hashwerts aus der Vielzahl von Public-Key-Hashwerten konfiguriert sind. Der ausgewählte Public-Key-Hashwert wird auf der Grundlage eines Ökosystems ausgewählt, in dem das System betrieben werden soll. Der ausgewählte Public-Key-Hashwert wird verwendet, um einen aktiven öffentlichen Schlüssel aus der Vielzahl von öffentlichen Schlüssel auszuwählen. Der ausgewählte Public-Key-Hashwert wird verwendet, um eine aktive Signatur aus der Vielzahl von Signaturen auszuwählen. Der ausgewählte Public-Key-Hashwert, der aktive öffentliche Schlüssel und die aktive Signatur definieren einen aktiven Firmware-Image-Authentifizierungsschlüsselsatz aus der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen. Der SoC ist so konfiguriert, dass er eine Aktualisierung des Firmware-Images über einen externen Flash ausführen kann. Während des sicheren Bootvorgangs verwendet der primäre Bootloader den aktiven Firmware-Image-Authentifizierungsschlüsselsatz, um das Firmware-Image zu authentifizieren.
  • In einigen Ausführungsformen umfasst das Ökosystem, in dem das System arbeiten soll, eine geografische Region, in der das System arbeiten soll.
  • In einigen Ausführungsformen umfasst das Ökosystem, in dem das System betrieben werden soll, ein Unternehmen, an das das System verkauft wird.
  • In einigen Ausführungsformen wird einer der Public-Key-Hashwerte als anfänglich aktiver Public-Key-Hashwert ausgewählt. Während eines anfänglichen sicheren Boot-Ereignisses werden der anfänglich aktive Public-Key-Hashwert und ein entsprechender Schlüssel aus der Vielzahl der öffentlichen Schlüssel verwendet, um eine Standard-Vertrauensbasis zwischen dem primären Bootloader und dem sekundären Bootloader einzurichten.
  • In einigen Ausführungsformen wird, nachdem der ausgewählte Public-Key-Hashwert aus der Vielzahl der Public-Key-Hashwerte ausgewählt wurde, ein Rest der Vielzahl der Public-Key-Hashwerte widerrufen.
  • In einigen Ausführungsformen enthält das Firmware-Image ferner eine Signaturtabelle mit einer zweiten Vielzahl von Signaturen, wobei die zweite Vielzahl von Signaturen für die Authentifizierung eines aus einem Hypervisor-Modul, einem Betriebssystem-Bootloader-Modul oder einem Betriebssystem-Kernel-Modul konfiguriert ist.
  • Gemäß einer alternativen Ausführungsform wird ein System zur Implementierung eines sicheren Boot-Ereignisses bereitgestellt. Das System umfasst eine Vorrichtung mit einer Leiterplatte. Die Leiterplatte enthält ein System auf einem Chip (SoC). Das SoC enthält einen einmalig programmierbaren Speicher, der zum Speichern einer computerisierten Programmierung konfiguriert ist, und eine Vielzahl von Public-Key-Hashwerten, die in dem einmalig programmierbaren Speicher gespeichert sind. Jeder der Vielzahl von Public-Key-Hashwerten ist für die Verwendung mit einem aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Das SoC umfasst ferner einen Direktzugriffsspeicher (RAM), der zum Speichern eines Firmware-Images konfiguriert ist, und das Firmware-Image, das zur Ausführung durch den SoC konfiguriert und im RAM gespeichert ist. Das Firmware-Image enthält einen sekundären Bootloader und eine Vielzahl öffentlicher Schlüssel. Jeder der Vielzahl von öffentlichen Schlüsseln ist für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Die Firmware enthält außerdem eine Vielzahl von Signaturen. Jede der Vielzahl von Signaturen ist für die Verwendung mit einem der Vielzahl in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Das SoC enthält außerdem einen primären Bootloader, der in dem einmalig programmierbaren Speicher gespeichert ist. Der primäre Bootloader innerhalb des Speichers des SoC verwendet eine Vielzahl von Sicherungen, die zur selektiven Aktivierung eines ausgewählten Public-Key-Hashwerts aus der Vielzahl von Public-Key-Hashwerten konfiguriert sind. Der ausgewählte Public-Key-Hashwert wird auf der Grundlage eines Ökosystems ausgewählt, in dem das System betrieben werden soll. Der ausgewählte Public-Key-Hashwert wird verwendet, um einen aktiven öffentlichen Schlüssel aus der Vielzahl von öffentlichen Schlüssel auszuwählen. Der ausgewählte Public-Key-Hashwert wird verwendet, um eine aktive Signatur aus der Vielzahl der Signaturen auszuwählen. Der ausgewählte Public-Key-Hashwert, der aktive öffentliche Schlüssel und die aktive Signatur definieren einen aktiven Schlüsselsatz für die Authentifizierung des Firmware-Abbildes aus der Vielzahl der in Frage kommenden Schlüsselsätze für die Authentifizierung des Firmware-Abbildes. Das SoC ist so konfiguriert, dass es eine Aktualisierung des Firmware-Images über einen externen Flash ausführen kann. Während des sicheren Bootvorgangs verwendet der primäre Bootloader den aktiven Firmware-Image-Authentifizierungsschlüsselsatz, um das Firmware-Image zu authentifizieren.
  • In einigen Ausführungsformen umfasst die Vorrichtung ein Fahrzeug.
  • In einigen Ausführungsformen umfasst das Ökosystem, in dem das System arbeiten soll, eine geografische Region, in der das System arbeiten soll.
  • In einigen Ausführungsformen umfasst das Ökosystem, in dem das System betrieben werden soll, ein Unternehmen, an das das System verkauft wird.
  • In einigen Ausführungsformen wird einer der Public-Key-Hashwerte als anfänglich aktiver Public-Key-Hashwert ausgewählt. Während eines anfänglichen sicheren Boot-Ereignisses werden der anfänglich aktive Public-Key-Hashwert und ein entsprechender Schlüssel aus der Vielzahl der öffentlichen Schlüssel verwendet, um eine Standard-Vertrauensbasis zwischen dem primären Bootloader und dem sekundären Bootloader einzurichten.
  • In einigen Ausführungsformen wird, nachdem der ausgewählte Public-Key-Hashwert aus der Vielzahl von Public-Key-Hashwerten ausgewählt wurde, ein Rest der Vielzahl von Public-Key-Hashwerten widerrufen.
  • In einigen Ausführungsformen beinhaltet das Firmware-Image ferner eine Signaturtabelle mit einer zweiten Vielzahl von Signaturen, wobei die zweite Vielzahl von Signaturen für die Authentifizierung eines aus einem Hypervisor-Modul, einem Betriebssystem-Bootloader-Modul und einem Betriebssystem-Kernel-Modul konfiguriert ist.
  • Gemäß einer alternativen Ausführungsform wird ein Verfahren zur Implementierung eines sicheren Boot-Ereignisses bereitgestellt. Das Verfahren umfasst, innerhalb eines einmalig programmierbaren Speichers eines System on a Chip (SoC), das Speichern einer Vielzahl von Public-Key-Hashwerten innerhalb des einmalig programmierbaren Speichers. Jeder der Vielzahl von Public-Key-Hashwerten ist für die Verwendung mit einem aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Das Verfahren umfasst ferner das Speichern eines Firmware-Images im Direktzugriffsspeicher (RAM) des SoC. Das Firmware-Image ist so konfiguriert, dass es von dem SoC ausgeführt werden kann, und enthält einen sekundären Bootloader und eine Vielzahl öffentlicher Schlüssel. Jeder der Vielzahl von öffentlichen Schlüsseln ist für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Das Firmware-Image enthält außerdem eine Vielzahl von Signaturen. Jede der Vielzahl von Signaturen ist für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert. Das Verfahren umfasst ferner, innerhalb des einmalig programmierbaren Speichers, das zusätzliche Speichern eines primären Bootloaders, der eine Vielzahl von Sicherungen enthält, die für die selektive Aktivierung eines ausgewählten Public-Key-Hashwertes aus der Vielzahl von Public-Key-Hashwerten konfiguriert sind. Das Verfahren umfasst ferner das Aktivieren des ausgewählten Public-Key-Hashwerts auf der Grundlage eines Ökosystems, in dem das System betrieben werden soll. Das Verfahren umfasst ferner die Verwendung des ausgewählten Public-Key-Hashwerts zur Auswahl eines aktiven öffentlichen Schlüssels aus der Vielzahl der öffentlichen Schlüssel und die Verwendung des ausgewählten Public-Key-Hashwerts zur Auswahl einer aktiven Signatur aus der Vielzahl der Signaturen. Das Verfahren umfasst ferner das Definieren eines aktiven Firmware-Image-Authentifizierungsschlüsselsatzes aus der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen auf der Grundlage des ausgewählten Public-Key-Hashwerts, des aktiven öffentlichen Schlüssels und der definierten aktiven Signatur. Das Verfahren umfasst ferner das Ausführen einer Aktualisierung des Firmware-Images durch einen externen Flash und, während des sicheren Boot-Ereignisses, das Betreiben des primären Bootloaders, um den aktiven Firmware-Image-Authentifizierungsschlüsselsatz zur Authentifizierung des Firmware-Images zu verwenden.
  • In einigen Ausführungsformen umfasst das Ökosystem, in dem das System arbeiten soll, eine geografische Region, in der das System arbeiten soll.
  • In einigen Ausführungsformen umfasst das Ökosystem, in dem das System betrieben werden soll, ein Unternehmen, an das das System verkauft wird.
  • In einigen Ausführungsformen umfasst das Verfahren ferner das Auswählen eines der Vielzahl von Public-Key-Hashwerten als anfänglichen aktiven Public-Key-Hashwert. Das Verfahren umfasst ferner, während eines anfänglichen sicheren Boot-Ereignisses, die Verwendung des anfänglich aktiven Public-Key-Hashwerts und eines entsprechenden aus der Vielzahl der öffentlichen Schlüssel, um eine Standard-Vertrauensbasis zwischen dem primären Bootloader und dem sekundären Bootloader einzurichten.
  • In einigen Ausführungsformen umfasst das Verfahren ferner, nachdem der ausgewählte Public-Key-Hashwert aus der Vielzahl von Public-Key-Hashwerten ausgewählt wurde, das Widerrufen eines Restes der Vielzahl von Public-Key-Hashwerten.
  • In einigen Ausführungsformen enthält das Firmware-Image ferner eine Signaturtabelle mit einer zweiten Vielzahl von Signaturen. Das Verfahren umfasst ferner die Verwendung der zweiten Vielzahl von Signaturen zur Authentifizierung eines aus einem Hypervisor-Modul, einem Betriebssystem-Bootloader-Modul, und einem Betriebssystem-Kernel-Modul.
  • Die obigen Merkmale und Vorteile sowie andere Merkmale und Vorteile der vorliegenden Offenbarung sind aus der folgenden detaillierten Beschreibung der besten Modi zur Durchführung der Offenbarung in Verbindung mit den beigefügten Zeichnungen ohne weiteres ersichtlich.
  • Kurzbeschreibung der Zeichnungen
    • 1 zeigt schematisch eine beispielhafte Leiterplatte mit einem SoC, bei dem einer aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen als aktiver Firmware-Image-Authentifizierungsschlüsselsatz durch den primären Bootloader unter Verwendung eines einmalig programmierbaren Speichers, wie z. B. elektronische Sicherungen, innerhalb des SoC gemäß der vorliegenden Offenbarung ausgewählt wird;
    • 2 zeigt schematisch einen Datenfluss, bei dem anfänglich geladene Images (z. B. der sekundäre Bootloader), die für einen sicheren Bootvorgang zu signieren sind, von jedem einer Vielzahl von Firmware-Image-Authentifizierungsschlüsselsatzmodulen in Vorbereitung eines anfänglichen Bootvorgangs gemäß der vorliegenden Offenbarung signiert werden;
    • 3 zeigt schematisch einen Datenfluss, bei dem die Signaturtabelle von 1, die vom sekundären Bootloader verwendet werden soll, durch Verwendung von Adressen, an denen Signaturen gespeichert werden, und von Adressen, an denen Signaturen gespeichert werden, gemäß der vorliegenden Offenbarung erstellt wird;
    • 4 ist ein Flussdiagramm, das ein Verfahren zum Erstellen und Auswählen eines aktiven Firmware-Image-Authentifizierungsschlüsselsatzes innerhalb der Leiterplatte von 1 in Übereinstimmung mit der vorliegenden Offenbarung darstellt; und
    • 5 zeigt schematisch ein beispielhaftes Gerät mit einer zentralen Steuereinheit, die die Leiterplatte von 1 enthält, in Übereinstimmung mit der vorliegenden Offenbarung.
  • Detaillierte Beschreibung
  • Ein computergestütztes Steuersystem kann zum Betrieb eines Fahrzeugs, eines Flugzeugs, eines Bootes, eines Stromerzeugungssystems oder anderer ähnlicher Systeme verwendet werden. Das computergestützte Steuersystem kann einen SoC enthalten, der auf einer Leiterplatte installiert ist und zur Ausführung von Funktionen des computergestützten Steuersystems dient. Ein SoC kann einen einmalig programmierbaren Speicher enthalten, der zum Speichern und Betreiben von festen oder unveränderlichen Programmen und Daten verwendet werden kann. Der einmalig programmierbare Speicher kann Festwertspeicher (ROM), programmierbare elektronische Sicherungen und jede andere Art von einmalig programmierbarem Speicher umfassen. Ein SoC kann außerdem einen Direktzugriffsspeicher (RAM) enthalten, in den die Programmierung und die Daten bei jedem Einsatz des computergestützten Steuersystems geladen und bearbeitet werden können. Programme oder Firmware-Images können extern aktualisiert werden, zum Beispiel durch ein externes Flash-Programm.
  • Ein SoC kann einen primären Bootloader betreiben, der für die Durchführung von Boot-Ereignissen einschließlich Reset-Ereignissen und Einschalt-Ereignissen nützlich ist. Während eines Boot-Ereignisses kann der primäre Bootloader die Gültigkeit oder Authentizität der auf dem SoC gespeicherten Firmware-Images feststellen, um sicherzustellen, dass keine gefälschte, gehackte oder bösartige Firmware im SoC vorhanden ist.
  • Der primäre Bootloader kann einen gespeicherten öffentlichen Schlüssel verwenden, um die Authentifizierung der gespeicherten Images durchzuführen. Das vorliegende System und Verfahren umfasst die Authentifizierung von Firmware-Images innerhalb eines SoC. Das SoC authentifiziert seine eigene Firmware unter Verwendung des unveränderlichen primären Bootloaders als Vertrauensbasis. Diese Vertrauensbasis wird durch iterative Authentifizierungsprozesse auf jedes authentifizierte Image innerhalb des SoC ausgeweitet, bis das SoC sicher gebootet ist und der Inhalt des SoC verifiziert ist. Wird die Authentizität eines Images innerhalb des SoC bestritten, können Abhilfemaßnahmen ergriffen werden, wie z. B. die Unterbrechung des Bootvorgangs oder die Isolierung des SoC vom übrigen computergestützten Steuersystem.
  • Ein Hersteller von elektronischen Geräten oder SoCs, die an der Authentifizierung von Firmware-Images teilnehmen, installiert oder lädt einen gespeicherten öffentlichen Schlüssel auf jedes elektronische Gerät oder SoC herunter. Die Sicherheit des Schlüssels ist wichtig für den ordnungsgemäßen Betrieb eines computergestützten Steuersystem. Ein erster Schlüssel, der für die Verwendung in einem Ökosystem konfiguriert wurde, kann möglicherweise nicht in einem zweiten Ökosystem verwendet werden. Die Ökosysteme, in denen das computergestützte Steuersystem betrieben werden kann, können auf unterschiedlichen Unterscheidungen beruhen. Ein Ökosystem kann auf einer physischen Region beruhen, in der das computergestützte Steuersystem verkauft oder verwendet wird. Ein Ökosystem kann darauf beruhen, an welchen von mehreren Kunden oder Endartikelherstellern das rechnergestützte Steuersystem geliefert wird. Ein SoC, das für Kunde A mit einem für die Verwendung durch Kunde A konfigurierten Schlüssel konstruiert wurde, kann möglicherweise nicht bei Kunde B verwendet werden.
  • Es werden ein System und ein Verfahren bereitgestellt, bei dem eine Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen für ein SoC verteilt werden und ein aktiver Firmware-Image-Authentifizierungsschlüsselsatz auf der Grundlage eines Ökosystems ausgewählt wird, in dem das computergestützte Steuersystem arbeiten soll.
  • Das offenbarte System und Verfahren kann die Aktivierung eines gespeicherten öffentlichen Schlüssels oder die Deaktivierung nicht ausgewählter gespeicherter öffentlicher Schlüssel in dem einmalig programmierbaren Speicher des SoC umfassen. Der in dem einmalig programmierbaren Speicher des SoC gespeicherte Code kann Sicherungen enthalten, die so konfiguriert sind, dass sie jedem der in Frage kommenden gespeicherten Schlüssel entsprechen. Bei der Bestimmung oder Auswahl eines Ökosystems, in dem das computergestützte Steuersystem arbeiten soll, können die Sicherungen verwendet oder „ausgelöst“ werden, um festzulegen, welcher Schlüssel zur Authentifizierung der Firmware-Images verwendet werden soll. In der ersten Ausführungsform kann ein externer Flash oder ein ähnliches Ereignis verwendet werden, um die Sicherungen innerhalb des primären Bootloaders auszulösen und den aktiven Schlüssel auszuwählen, der vom primären Bootloader aus der Vielzahl der in Frage kommenden gespeicherten Schlüssel verwendet werden soll.
  • Das offenbarte System und Verfahren kann eine Änderung der Programmierung eines sekundären Bootloaders im RAM des SoC beinhalten, wobei der sekundäre Bootloader beispielsweise durch externen Flash aktualisiert oder neu programmiert wird. Während eines Boot-Ereignisses kommuniziert der primäre Bootloader mit dem sekundären Bootloader als Teil einer Sequenz von Boot-Ereignisaufgaben. Der sekundäre Bootloader kann dann, nachdem er vom primären Bootloader initiiert wurde, während des Boot-Ereignisses zusätzliche Funktionen ausführen.
  • Der primäre Bootloader kann anfänglich mit einer Reihe von Public-Key-Hashwerten versehen sein, die so konfiguriert sind, dass sie entsprechende Schlüssel und Signaturen im sekundären Bootloader authentifizieren. Ein Public-Key-Hashwert im einmalig programmierbaren Speicher des SoC, der vom primären Bootloader verwendet wird, und ein öffentlicher Schlüssel und eine Signatur, die im sekundären Bootloader gespeichert sind oder auf die dieser zugreifen kann, können gemeinsam als Schlüsselsatz für die Authentifizierung des Firmware-Images bezeichnet werden. Der SoC kann eine Vielzahl von Firmware-Image-Authentifizierungsschlüsselsätzen enthalten, die jeweils als aktiver Firmware-Image-Authentifizierungsschlüsselsatz ausgewählt werden können.
  • Der primäre Bootloader und der sekundäre Bootloader können jeweils anfänglich mit Daten programmiert sein, die der Vielzahl von Firmware-Image-Authentifizierungsschlüsselsätzen entsprechen. Der primäre Bootloader kann so programmiert sein, dass er einen der Public-Key-Hashwerte als Standard- oder Anfangsschlüssel für ein erstes Boot-Ereignis verwendet, und er kann zusätzlich so programmiert sein, dass er Sicherungen aktiviert, die in den primären Bootloader für die Auswahl eines aktiven Firmware-Image-Authentifizierungsschlüsselsatzes einprogrammiert sind. Firmware-Images, wie z. B. der sekundäre Bootloader, werden aus dem externen Flash in den SoC-RAM geladen und authentifiziert, nachdem der erste sichere Bootvorgang eingeleitet wurde. Während der gesamten Lebensdauer des SoC kann der sekundäre Bootloader einen der im SoC gespeicherten Schlüssel verwenden, der dem aktiven Firmware-Image-Authentifizierungsschlüsselsatz entspricht, um mit dem primären Bootloader zu kommunizieren.
  • Das offenbarte System und Verfahren bietet eine Reihe von hervorragenden Vorteilen. Durch die Möglichkeit, einen SoC oder eine Vorrichtung mit einer Vielzahl von anfänglich gespeicherten Schlüsselsätzen zu erstellen und einen aus der Vielzahl der anfänglich gespeicherten Schlüsselsätze zur Verwendung auszuwählen, kann der Hersteller des SoC oder der Vorrichtung eine Version des SoC oder der Vorrichtung herstellen, die in einem aus einer Vielzahl von Ökosystemen arbeiten kann. Der Hersteller kann eine gleiche Version des SoC für die Verwendung durch Unternehmen A in Land A und alternativ für die Verwendung durch Unternehmen B in Land B herstellen.
  • Nun unter Bezugnahme auf die Zeichnungen, in denen sich gleiche Bezugszeichen auf gleiche Merkmale in den verschiedenen Ansichten beziehen, zeigt 1 schematisch eine beispielhafte Leiterplatte 5 mit einem SoC 10, in dem einer aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen als aktiver Firmware-Image-Authentifizierungsschlüsselsatz ausgewählt wird, indem Sicherungen innerhalb des einmalig programmierbaren Speichers 18, wie z. B. Sicherungen, innerhalb des SoC 10 verwendet und vom primären Bootloader 20 genutzt werden. Die Leiterplatte 5 kann als eine elektronische Steuereinheit (ECU) bezeichnet werden. Das SoC 10 enthält den einmalig programmierbaren Speicher 18, in dem das Programm des primären Bootloaders 20 gespeichert ist. Das SoC 10 umfasst eine Vielzahl von Public-Key-Hashwerten 22, 24, 26, die im einmalig programmierbaren Speicher 18 des SoC 10 gespeichert sind und entsprechend einer Vielzahl von entsprechenden in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert sind.
  • Der SoC 10 enthält einen RAM-Speicher 31, in den ein Firmware-Image mit einem sekundären Bootloader 54 und einer Vielzahl von öffentlichen Schlüsseln 41, 42, 43 von einem externen Flash-Speicher 12 geladen oder aktualisiert wird. Der Hash-Wert 22 des öffentlichen Schlüssels entspricht dem öffentlichen Schlüssel 41 und kann verwendet werden, um dessen Authentizität zu bestätigen. Der Public-Key-Hashwert 24 entspricht dem öffentlichen Schlüssel 42 und kann zur Bestätigung seiner Authentizität verwendet werden. Der Public-Key-Hashwert 26 entspricht dem öffentlichen Schlüssel 43 und kann zur Bestätigung der Authentizität dieses Schlüssels verwendet werden. Das im RAM-Speicher 31 gespeicherte Firmware-Image enthält zusätzlich eine Signaturtabelle 60, in der für jeden öffentlichen Schlüssel 41, 42, 43 eine entsprechende Signatur 51, 52, 53 abgerufen und im RAM-Speicher 31 gespeichert werden kann. Zusätzlich kann auf eine Signatur2 65, eine Signatur3 66, eine Signatur4 67 und eine Signatur(n) 68 an den jeweiligen Adressen 61, 62, 63, 64 zugegriffen werden, die für die Fortsetzung des Boot-Ereignisses und des Authentifizierungsprozesses des Firmware-Images innerhalb eines Hypervisor-Moduls 70, eines Betriebssystem-Bootloader-Moduls 80, eines Betriebssystem-Kernel-Moduls 90 und anderer nachfolgender Module nützlich sind. Die Signatur2 65, Signatur3 66, Signatur4 67 und Signatur(n) 68 können als Signaturen beschrieben werden, die so konfiguriert sind, dass sie den sekundären Bootloader in die Lage versetzen, nachfolgende Prozesse eines Boot-Ereignisses fortzusetzen. Die Signatur2 65, Signatur3 66, Signatur4 67 und Signatur(n) 68 können Firmware-Image-Authentifizierungsschlüsselsätze sein, wobei für jeden Firmware-Image-Authentifizierungsschlüsselsatz unterschiedliche Werte für jede der Signaturen 65, 66, 67, 68 gespeichert werden.
  • Der primäre Bootloader 20 kann mit einer anfänglichen Schlüsselauswahl programmiert werden, z. B. mit einem ersten Public-Key-Hash 22, der im einmalig programmierbaren Speicher 18 als Werkseinstellung gespeichert ist. Diese anfängliche Schlüsselauswahl kann dazu dienen, eine erstmalige Inbetriebnahme der Leiterplatte 5 zu ermöglichen, so dass nach dieser ersten Inbetriebnahme ein aktiver Firmware-Image-Authentifizierungsschlüsselsatz ausgewählt werden kann. Der externe Flash-Speicher 12 kann zur Eingabe in die Leiterplatte 5 verwendet werden. Der primäre Bootloader 20 kann ein Image im externen Flash 12 authentifizieren.
  • Der aktive Firmware-Image-Authentifizierungsschlüsselsatz kann auf der Grundlage einer Reihe von Faktoren ausgewählt werden, z. B. in welchem Ökosystem die Leiterplatte 5 betrieben werden soll. In der Ausführungsform von 1 wird der Public-Key-Hashwert 22 als aktiver Public-Key-Hashwert ausgewählt. In anderen Ausführungsformen kann der Public-Key-Hashwert 24 oder der Public-Key-Hashwert 26 als aktiver Schlüssel ausgewählt werden. Das Ökosystem kann durch ein Land beschrieben oder definiert werden, in dem die Leiterplatte 5 betrieben oder verkauft werden soll, oder durch ein Unternehmen, an das die Leiterplatte 5 verkauft werden soll. Je nachdem, welcher der Public-Key-Hashwerte 22, 24, 26 als aktiver Schlüssel ausgewählt wird, können die übrigen nicht ausgewählten Schlüssel widerrufen, deaktiviert oder gelöscht werden. In einer Ausführungsform wird der sekundäre Bootloader 54 als Firmware-Image von einem externen Flash 12 zum Herunterladen in den RAM-Speicher 31 des SoC 10 bereitgestellt. Je nachdem, welcher der Public-Key-Hashwerte 22, 24, 26 als aktiver Schlüssel ausgewählt wird, authentifiziert der primäre Bootloader 20 während eines Bootvorgangs den im externen Flash-Speicher 12 gespeicherten sekundären Bootloader 54. Dazu verifiziert er die Signatur des sekundären Bootloaders 54 mit dem aktiven öffentlichen Schlüssel.
  • Sobald der primäre Bootloader 20 die Authentizität des sekundären Bootloaders 54 verifiziert hat, kann dem sekundären Bootloader 54 nun vertraut werden und er kann dazu verwendet werden, die Aufgaben des Boot-Ereignisses weiter voranzutreiben oder auszuführen. Der sekundäre Bootloader 54 kann einen gespeicherten öffentlichen Schlüssel 55 verwenden, um eine gespeicherte Kopie der Signatur2 65 in einem Hypervisor-Modul 70 im Vergleich zu der Signatur2 65 der Signaturtabelle 60 zu überprüfen. Nach der Überprüfung der gespeicherten Kopie der Signatur2 65 im Hypervisor-Modul 70 kann der sekundäre Bootloader 54 dem Hypervisor-Modul 70 erlauben, die Programmierung als vertrauenswürdige Firmware auszuführen.
  • Das Hypervisor-Modul 70 kann einen gespeicherten öffentlichen Schlüssel 72 verwenden, um eine gespeicherte Kopie der in einem Betriebssystem-Bootloader-Modul 80 gespeicherten Signatur3 66 im Vergleich zur Signatur3 66 der Signaturtabelle 60 zu überprüfen. Nach Überprüfung der gespeicherten Kopie der Signatur3 66 kann das Hypervisor-Modul 70 dem Betriebssystem-Bootloader-Modul 80 erlauben, die Programmierung als vertrauenswürdige Firmware auszuführen.
  • Das Betriebssystem-Bootloader-Modul 80 kann einen gespeicherten öffentlichen Schlüssel 82 verwenden, um eine gespeicherte Kopie der in einem Betriebssystem-Bootloader-Modul 90 gespeicherten Signatur4 67 im Vergleich zur Signatur4 67 der Signaturtabelle 60 zu überprüfen. Nach der Verifizierung der gespeicherten Kopie der Signatur4 67 kann das Betriebssystem-Bootloader-Modul 80 dem Betriebssystem-Kernel-Modul 90 erlauben, die Programmierung als vertrauenswürdige Firmware auszuführen. Das Hypervisor-Modul 70, das Betriebssystem-Bootloader-Modul 80 und das Betriebssystem-Kernel-Modul 90 sind nicht-einschränkende Beispiele für Module, die authentifiziert und in einem Boot-Ereignis verwendet werden können.
  • Das SoC 10 enthält drei beispielhafte gespeicherte Public-Key-Hashwerte 22, 24, 26, von denen einer als aktiver Schlüssel ausgewählt wird, der einem aktiven Firmware-Image-Authentifizierungsschlüsselsatz entspricht. Der aktive Public-Key-Hashwert der Public-Key-Hashwerte 22, 24, 26 wird auf der Grundlage der Programmierung von Sicherungen und anderen Arten von einmalig programmierbaren Speichern ausgewählt, auf die der primäre Bootloader 20 innerhalb des einmalig programmierbaren Speichers 18 zugreift. Nach der Auswahl des aktiven Schlüssels der Public-Key-Hashwerte 22, 24, 26 wird diese Auswahl durch den sekundären Bootloader 54 kaskadiert, indem ein entsprechender aktiver Schlüssel der öffentlichen Schlüssel 41, 42, 43 ausgewählt wird und eine geeignete Signatur der Signaturen 51, 52, 53 ausgewählt wird. Der entsprechende erste, zweite und dritte der Public-Key-Hashwerte 22, 24, 26, der öffentlichen Schlüssel 41, 42, 43 und der Signaturen 51, 52, 53 können als in Frage kommende Firmware-Image-Authentifizierungsschlüsselsätze beschrieben werden, aus denen je nach Ökosystem, in dem die Leiterplatte 5 betrieben oder verkauft werden soll, ausgewählt werden kann. Der ausgewählte aktive Public-Key-Hashwert der Public-Key-Hashwerte 22, 24, 26; der ausgewählte aktive öffentliche Schlüssel der öffentlichen Schlüssel 41, 42, 43; und die entsprechende Signatur der Signaturen 51, 52, 53 werden während der gesamten Lebensdauer der Leiterplatte 5 verwendet. Die drei beispielhaften Schlüsselsätze von 1 sind beispielhaft. Der SoC 10 kann zwischen zwei, drei, vier oder mehr Schlüsselsätzen für die Authentifizierung von Firmware-Images wählen.
  • Der aktive Firmware-Image-Authentifizierungsschlüsselsatz wird durch Setzen von Sicherungen oder einer anderen Art von einmalig programmierbarem Speicher in Verbindung mit den Public-Key-Hashwerten 22, 24, 26 geändert. Die öffentlichen Schlüssel 41, 42, 43 können geladen oder durch den externen Flash-Speicher 12 bereitgestellt werden. Die Sicherungs-Einstellungen bestimmen, welcher aus der Vielzahl der in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätze als der aktive Firmware-Image-Authentifizierungsschlüsselsatz ausgewählt wird.
  • 2 zeigt schematisch einen Datenfluss 100, bei dem anfänglich geladene Images (z. B. der sekundäre Bootloader 54), die für einen sicheren Bootvorgang zu signieren sind, von jedem einer Vielzahl von Firmware-Image-Authentifizierungsschlüsselsatzmodulen 130, 140, 150 in Vorbereitung auf einen anfänglichen Bootvorgang signiert werden. Eine Softpart-Freigabeanwendung 110 ist als im RAM-Speicher 31 gespeicherte Programmierung dargestellt. Die Softpart-Freigabeanwendung 110 enthält eine anfängliche unsignierte Version des sekundären Bootloaders 54 einschließlich des öffentlichen Schlüssels 55. Eine Signieranwendung 120 empfängt den unsignierten sekundären Bootloader 54 von der Softpart-Freigabeanwendung 110. Die Signieranwendung 120 verteilt den unsignierten sekundären Bootloader 54 an jedes der Firmware-Image-Authentifizierungsschlüsselsatzmodule 130, 140, 150. Das Firmware-Image-Authentifizierungsschlüsselsatzmodul 130 stellt den öffentlichen Schlüssel 41 und die Signatur 51 bereit, die mit einem ersten Firmware-Image-Authentifizierungsschlüsselsatz verbunden sind. Das Firmware-Image-Authentifizierungsschlüsselsatzmodul 140 liefert den öffentlichen Schlüssel 42 und die Signatur 52, die zu einem zweiten Satz von Firmware-Image-Authentifizierungsschlüsselsatz gehören. Das Firmware-Image-Authentifizierungsschlüsselsatzmodul 150 stellt den öffentlichen Schlüssel 43 und die Signatur 53 bereit, die zu einem dritten Firmware-Image-Authentifizierungsschlüsselsatz gehören.
  • Die Signieranwendung 120 fügt die öffentlichen Schlüssel 41, 42, 43 und die Signaturen 51, 52, 53 an den sekundären Bootloader 54 an. Die Signieranwendung 120 kann zusätzlich eine Zertifizierungskette an den sekundären Bootloader 54 anhängen. Die Signieranwendung 120 wandelt den unsignierten sekundären Bootloader 54 in einen signierten sekundären Bootloader 54 um und überträgt diesen signierten sekundären Bootloader 54 an die Softpart-Freigabeanwendung 110 zur Verwendung in einem anfänglichen Bootvorgang.
  • 3 zeigt schematisch einen Datenfluss 170, in dem die Signaturtabelle 160 von 1, die vom sekundären Bootloader 54 verwendet werden soll, durch Verwendung von Adressen, an denen Signaturen 51, 52, 53 gespeichert sind, und Adressen 61, 62, 63, 64, an denen Signaturen 65, 66, 67, 68 gespeichert sind, erstellt wird. Der Datenfluss 170 umfasst die Softpart-Freigabeanwendung 110, die Signieranwendung 120 und die Firmware-Image-Authentifizierungsschlüsselsatzmodule 130, 140, 150 von 3. Die Softpart-Freigabeanwendung 110 enthält eine Signaturtabelle 160, die für das sichere Booten einzeln signiert werden muss. Die Softpart-Freigabeanwendung 110 enthält außerdem Adressen 162 von Signaturen 51, 52, 53, 65, 66, 67, 68. Die Signieranwendung 120 empfängt die Images 160 und die Adressen 162 und stellt die Images 160 und die Adressen 162 jedem der Firmware-Image-Authentifizierungsschlüsselsatzmodule 130, 140, 150 zur Verfügung.
  • Das Firmware-Image-Authentifizierungsschlüsselsatzmodul 130 empfängt die Images 160 und die Adressen 162 und stellt eine Signatur 51 und PKI-Authentifizierungs-Schlüsselsatz-spezifische Werte der Signatur2 65, der Signatur3 66, der Signatur4 67 und der Signatur 5 68 bereit, um eine Signaturtabelle 60 mit den Adressen 61, 62, 63, 64 und der entsprechenden Signatur2 65, der entsprechenden Signatur3 66, der entsprechenden Signatur4 67 und der entsprechenden Signatur 5 68 zu füllen.
  • Das Firmware-Image-Authentifizierungsschlüsselsatzmodul 140 empfängt die Images 160 und die Adressen 162 und stellt eine Signatur 52 und PKI-Authentifizierungs-Schlüsselsatz-spezifische Werte der Signatur2 65, der Signatur3 66, der Signatur4 67 und der Signatur 5 68 bereit, um eine Signaturtabelle 60 mit den Adressen 61, 62, 63, 64 und der entsprechenden Signatur2 65, der entsprechenden Signatur3 66, der entsprechenden Signatur4 67 und der entsprechenden Signatur 5 68 zu füllen.
  • Das Firmware-Image-Authentifizierungsschlüsselsatzmodul 150 empfängt die Images 160 und die Adressen 162 und stellt eine Signatur 53 und PKI-Authentifizierungs-Schlüsselsatz-spezifische Werte der Signatur2 65, der Signatur3 66, der Signatur4 67 und der Signatur 5 68 bereit, um eine Signaturtabelle 60 mit den Adressen 61, 62, 63, 64 und der entsprechenden Signatur2 65, der entsprechenden Signatur3 66, der entsprechenden Signatur4 67 und der entsprechenden Signatur 5 68 zu füllen.
  • Die Signieranwendung 120 fügt die Signaturen 51, 52, 53, die Adressen 61, 62, 63, 64 und die entsprechende Signatur2 65, die entsprechende Signatur3 66, die entsprechende Signatur4 67 und die entsprechende Signatur5 68 an die Signaturtabelle 60 an. Die Signieranwendung 120 stellt jedem der Firmware-Image-Authentifizierungsschlüsselsatzmodule 130, 140 und 150 Images und Adressen zur Verfügung, sammelt Daten und stellt der Softpart-Freigabeanwendung 110 die Authentifizierungstabelle 60 mit allen Werten der Authentifizierungstabelle 60 zur Verfügung.
  • 4 ist ein Flussdiagramm, das ein Verfahren 200 zum Erstellen und Auswählen eines aktiven Firmware-Image-Authentifizierungsschlüsselsatzes innerhalb der Leiterplatte 5 von 1 veranschaulicht. Das Verfahren 200 bezieht sich auf physische Komponenten der Leiterplatte 5 von 1, obwohl alternative Komponenten in Übereinstimmung mit dem Verfahren 200 verwendet werden können. Das Verfahren 200 beginnt in Schritt 202. In Schritt 204 beginnt ein Teil des Verfahrens 200, in dem der SoC 10 hergestellt wird. In Schritt 206 wird das SoC 10 hergestellt und zunächst mit dem primären Bootloader 20 programmiert. Das SoC 10 umfasst einen einmalig programmierbaren Speicher 18, und der primäre Bootloader 20 ist in dem einmalig programmierbaren Speicher 18 gespeichert. Mehrere Public-Key-Hashwerte 22, 24, 26 sind zusätzlich im einmalig programmierbaren Speicher 18 des SoC 10 gespeichert. Die Public-Key-Hashwerte 22, 24, 26 entsprechen jeweils einem aus einer Vielzahl von Schlüsselsätzen zur Authentifizierung von Firmware-Images. Einer der Public-Key-Hashwerte 22, 24, 26 wird als ein anfänglich aktiver Schlüssel ausgewählt, der zur Authentifizierung von Firmware innerhalb des SoC 10 verwendet werden kann. In Schritt 208 beginnt ein Teil des Verfahrens 200, in dem die Leiterplatte 5 oder das Steuergerät hergestellt wird. In Schritt 210 wird die SoC 10 an der Leiterplatte 5 befestigt und die öffentlichen Schlüssel aus der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen werden in dem einmalig programmierbaren Speicher 18 der SoC 10 verschmolzen. In Schritt 212 wird der anfänglich aktive Schlüssel der Public-Key-Hashwerte 22, 24, 26 innerhalb des SoC 10 verwendet, um einen Prozess zur Durchführung eines sicheren Boot-Ereignisses einzuleiten. Dieses sichere Boot-Ereignis kann beschrieben werden, um eine Standard-Vertrauensbasis (RoT) vom primären Bootloader 20 zum sekundären Bootloader 54 einzurichten. Als Teil dieses sicheren Boot-Ereignisses kann ein aktiver Firmware-Image-Authentifizierungsschlüsselsatz durch die programmierten Sicherungen des primären Bootloaders 20 ausgewählt werden, wodurch ein entsprechender der Public-Key-Hashwerte 22, 24, 26 als aktiv bezeichnet wird. In Schritt 214 wird ein Teil des Verfahrens 200 gestartet, bei dem die Leiterplatte 5 in ein größeres System, z. B. ein Fahrzeug, eingebaut wird. In Schritt 216 wird der aktive Schlüssel, der während der Lebensdauer der Leiterplatte 5 verwendet werden soll, festgelegt, und die nicht ausgewählten Schlüssel werden auf ungültig gesetzt. In Schritt 218 kann die Signatur auf Images wie dem sekundären Bootloader 54, die durch den primären Bootloader 20 authentifiziert wurden, ersetzt werden, wenn der aktive Schlüssel zwischen dem ersten sicheren Bootvorgang und der Installation in dem größeren System geändert wurde. Die Leiterplatte 5 kann durch nachfolgende Boot-Ereignisse verwendet werden, wobei der aktive Firmware-Image-Authentifizierungsschlüsselsatz verwendet wird, um sichere Boot-Ereignisse bereitzustellen. In Schritt 220 endet das Verfahren 200. Es sind eine Reihe zusätzlicher und/oder alternativer Verfahrensschritte denkbar, und die Offenbarung soll nicht auf die hier aufgeführten Beispiele beschränkt sein.
  • 5 zeigt schematisch eine beispielhafte Vorrichtung 300 mit einer zentralen Steuereinheit 310, die die Leiterplatte 5 von 1 enthält. In der Ausführungsform von 5 umfasst die Vorrichtung 300 ein Fahrzeug. In anderen Ausführungsformen kann die Vorrichtung 300 ein Energieerzeugungssystem, ein Boot, ein Flugzeug oder eine andere Vorrichtung sein, die ein computergesteuertes Steuersystem einschließlich der Leiterplatte 5 verwendet. Die Vorrichtung 300 umfasst ein drahtloses Kommunikationsgerät 301, die zentrale Steuereinheit 310 und eine elektrische Maschine 320. Die elektrische Maschine 320 umfasst eine Ausgangswelle 322, die so konfiguriert ist, dass sie ein nützliches Ausgangsdrehmoment bereitstellt. Die zentrale Steuereinheit 310 ist mit einem optionalen Eingangsanschluss 312 dargestellt. Das externe Flashgerät 12 kann entweder über die drahtlose Kommunikationsvorrichtung 301, z. B. durch drahtlose Kommunikation mit einer entfernten Servervorrichtung, oder über den Eingangsanschluss 312 mit der zentralen Steuereinheit 310 und der zugehörigen Leiterplatte 5 verbunden werden und diese mit Programmen oder Daten versorgen.
  • Während die besten Modi zur Durchführung der Offenbarung im Detail beschrieben wurden, werden Fachleute auf dem Gebiet, auf das sich diese Offenbarung bezieht, verschiedene alternative Designs und Ausführungsformen zur Durchführung der Offenbarung im Rahmen der beigefügten Ansprüche erkennen.

Claims (10)

  1. Ein System zum Implementieren eines sicheren Boot-Ereignisses, umfassend: eine Leiterplatte, beinhaltend: ein System auf einem Chip, SoC, einschließlich: einmalig programmierbarer Speicher, der konfiguriert ist zum Speichern einer computergestützten Programmierung; eine Vielzahl von Public-Key-Hashwerten, die in dem einmalig programmierbaren Speicher gespeichert sind, wobei jeder der Vielzahl von Public-Key-Hashwerten für die Verwendung mit einem aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; Direktzugriffsspeicher, RAM, der zum Speichern eines Firmware-Images konfiguriert ist; wobei das Firmware-Image konfiguriert ist, von dem SoC ausgeführt zu werden und in dem RAM gespeichert ist, und beinhaltet: einen sekundären Bootloader; eine Vielzahl von öffentlichen Schlüsseln, wobei jeder der Vielzahl von öffentlichen Schlüsseln für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; und eine Vielzahl von gespeicherten Signaturen, wobei jede der Vielzahl von Signaturen für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; und einen primären Bootloader, der in dem einmalig programmierbaren Speicher gespeichert ist und eine Vielzahl von Sicherungen verwendet, die zum selektiven Aktivieren eines ausgewählten Public-Key-Hashwerts aus der Vielzahl von Public-Key-Hashwerten konfiguriert sind; und wobei der ausgewählte Public-Key-Hashwert auf der Grundlage eines Ökosystems ausgewählt wird, in dem das System betrieben werden soll; wobei der ausgewählte Public-Key-Hashwert verwendet wird, um einen aktiven öffentlichen Schlüssel aus der Vielzahl von öffentlichen Schlüsseln auszuwählen; wobei der ausgewählte Public-Key-Hashwert verwendet wird, um eine aktive Signatur aus der Vielzahl von Signaturen auszuwählen; wobei der ausgewählte Public-Key-Hashwert, der aktive öffentliche Schlüssel und die aktive Signatur einen aktiven Firmware-Image-Authentifizierungsschlüsselsatz aus der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen definieren; wobei das SoC konfiguriert ist, eine Aktualisierung des Firmware-Images über einen externen Flash auszuführen; und wobei der primäre Bootloader während des sicheren Boot-Ereignisses den aktiven Firmware-Image-Authentifizierungsschlüsselsatz verwendet, um das Firmware-Image zu authentifizieren.
  2. System nach Anspruch 1, wobei das Ökosystem, in dem das System betrieben werden soll, eine geographische Region umfasst, in der das System arbeiten soll.
  3. System nach Anspruch 1, wobei das Ökosystem, in dem das System betrieben werden soll, ein Unternehmen umfasst, an das das System verkauft wird.
  4. System nach Anspruch 1, wobei einer der Public-Key-Hashwerte als anfänglich aktiver Public-Key-Hashwert ausgewählt wird; und wobei während eines anfänglichen sicheren Boot-Ereignisses der anfänglich aktive Public-Key-Hashwert und ein entsprechender Schlüssel aus der Vielzahl von öffentlichen Schlüsseln verwendet werden, um eine Standard-Vertrauensbasis zwischen dem primären Bootloader und dem sekundären Bootloader einzurichten.
  5. System nach Anspruch 4, wobei nach der Auswahl des ausgewählten Public-Key-Hashwerts aus der Vielzahl von Public-Key-Hashwerten ein Rest der Vielzahl von Public-Key-Hashwerten widerrufen wird.
  6. System nach Anspruch 1, wobei das Firmware-Image ferner eine Signaturtabelle mit einer zweiten Vielzahl von Signaturen enthält, wobei die zweite Vielzahl von Signaturen für die Authentifizierung eines aus einem Hypervisor-Modul, einem Betriebssystem-Bootloader-Modul, und einem Betriebssystem-Kernel-Modul konfiguriert ist.
  7. System zum Implementieren eines sicheren Boot-Ereignisses, umfassend: einer Vorrichtung mit einer Leiterplatte, beinhaltend: ein System auf einem Chip, SoC, einschließlich: einmalig programmierbarer Speicher, der konfiguriert ist zum Speichern einer computergestützten Programmierung; eine Vielzahl von Public-Key-Hashwerten, die in dem einmalig programmierbaren Speicher gespeichert sind, wobei jeder der Vielzahl von Public-Key-Hashwerten für die Verwendung mit einem aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; Direktzugriffsspeicher, RAM, der zum Speichern eines Firmware-Images konfiguriert ist; wobei das Firmware-Image konfiguriert ist, von dem SoC ausgeführt zu werden und in dem RAM gespeichert ist, und beinhaltet: einen sekundären Bootloader; eine Vielzahl von öffentlichen Schlüsseln, wobei jeder der Vielzahl von öffentlichen Schlüsseln für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; und eine Vielzahl von Signaturen, wobei jede der Vielzahl von Signaturen für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; und einen primären Bootloader, der in dem einmalig programmierbaren Speicher gespeichert ist und eine Vielzahl von Sicherungen verwendet, die zum selektiven Aktivieren eines ausgewählten Public-Key-Hashwerts aus der Vielzahl von Public-Key-Hashwerten konfiguriert sind; und wobei der ausgewählte Public-Key-Hashwert auf der Grundlage eines Ökosystems ausgewählt wird, in dem das System betrieben werden soll; wobei der ausgewählte Public-Key-Hashwert verwendet wird, um einen aktiven öffentlichen Schlüssel aus der Vielzahl von öffentlichen Schlüsseln auszuwählen; wobei der ausgewählte Public-Key-Hashwert verwendet wird, um eine aktive Signatur aus der Vielzahl von Signaturen auszuwählen; wobei der ausgewählte Public-Key-Hashwert, der aktive öffentliche Schlüssel und die aktive Signatur einen aktiven Firmware-Image-Authentifizierungsschlüsselsatz aus der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen definieren; wobei das SoC konfiguriert ist, eine Aktualisierung des Firmware-Images über einen externen Flash auszuführen; und wobei der primäre Bootloader während des sicheren Boot-Ereignisses den aktiven Firmware-Image-Authentifizierungsschlüsselsatz verwendet, um das Firmware-Image zu authentifizieren.
  8. System nach Anspruch 7, wobei die Vorrichtung ein Fahrzeug umfasst.
  9. System nach Anspruch 7, wobei das Ökosystem, in dem das System betrieben werden soll, eine geografische Region umfasst, in der das System arbeiten soll.
  10. Verfahren zum Implementieren eines sicheren Boot-Ereignisses, das Verfahren umfassend: innerhalb eines einmalig programmierbaren Speichers eines Systems auf einem Chip, SoC, Speichern einer Vielzahl von Public-Key-Hashwerten innerhalb des einmalig programmierbaren Speichers, wobei jeder der Vielzahl von Public-Key-Hashwerten für die Verwendung mit einem aus einer Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; innerhalb eines Direktzugriffsspeichers, RAM, des SoC, Speichern eines Firmware-Image, wobei das Firmware-Image konfiguriert ist, von dem SoC ausgeführt zu werden und beinhaltet: einen sekundären Bootloader; eine Vielzahl von öffentlichen Schlüsseln, wobei jeder der Vielzahl von öffentlichen Schlüsseln für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; und eine Vielzahl von gespeicherten Signaturen, wobei jede der Vielzahl von Signaturen für die Verwendung mit einem der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen konfiguriert ist; und innerhalb des einmalig programmierbaren Speichers, zusätzlich Speichern eines primären Bootloaders, der eine Vielzahl von Sicherungen innerhalb des SoC verwendet, die zum selektiven Aktivieren eines ausgewählten Public-Key-Hashwerts aus der Vielzahl von Public-Key-Hashwerten konfiguriert sind; Aktivieren des ausgewählten Public-Key-Hashwerts auf der Grundlage eines Ökosystems, in dem das System arbeiten soll; Verwenden des ausgewählten Public-Key-Hashwerts zur Auswahl eines aktiven öffentlichen Schlüssels aus der Vielzahl von öffentlichen Schlüsseln; Verwendung des ausgewählten Public-Key-Hashwerts zur Auswahl einer aktiven Signatur aus der Vielzahl von Signaturen; Definieren eines aktiven Firmware-Image-Authentifizierungsschlüsselsatzes aus der Vielzahl von in Frage kommenden Firmware-Image-Authentifizierungsschlüsselsätzen auf der Grundlage des ausgewählten Public-Key-Hashwerts, des aktiven öffentlichen Schlüssels und der aktiven Signatur; Ausführen einer Aktualisierung des Firmware-Images durch einen externen Flash; und während des sicheren Boot-Ereignisses, Betreiben des primären Bootloaders, so dass er den aktiven Firmware-Image-Authentifizierungsschlüsselsatz zur Authentifizierung des Firmware-Images verwendet.
DE102023109062.3A 2022-10-28 2023-04-11 System und Verfahren zum Implementieren eines sicheren Boot-Ereignisses mit einem aus einer Vielzahl von in Frage kommenden öffentlichen Schlüsseln aus Schlüsselsätzen für die Infrastruktur-Authentifizierung Pending DE102023109062A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/975,695 2022-10-28
US17/975,695 US20240143772A1 (en) 2022-10-28 2022-10-28 System and method to implement a secure boot event with one of a plurality of candidate public key infrastructure authentication key sets

Publications (1)

Publication Number Publication Date
DE102023109062A1 true DE102023109062A1 (de) 2024-05-08

Family

ID=90732408

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023109062.3A Pending DE102023109062A1 (de) 2022-10-28 2023-04-11 System und Verfahren zum Implementieren eines sicheren Boot-Ereignisses mit einem aus einer Vielzahl von in Frage kommenden öffentlichen Schlüsseln aus Schlüsselsätzen für die Infrastruktur-Authentifizierung

Country Status (3)

Country Link
US (1) US20240143772A1 (de)
CN (1) CN117951707A (de)
DE (1) DE102023109062A1 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856538B2 (en) * 2012-07-27 2014-10-07 GM Global Technology Operations LLC Secured flash programming of secondary processor
US10339317B2 (en) * 2015-12-18 2019-07-02 Intel Corporation Computing devices
US11068598B2 (en) * 2018-11-01 2021-07-20 Dell Products L.P. Chassis internal device security
US10896033B2 (en) * 2018-12-31 2021-01-19 Micron Technology, Inc. Configurable NAND firmware search parameters
US11216597B2 (en) * 2020-05-14 2022-01-04 Nuvoton Technology Corporation Security system and method for preventing rollback attacks on silicon device firmware

Also Published As

Publication number Publication date
US20240143772A1 (en) 2024-05-02
CN117951707A (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE69717063T2 (de) Verfahren und System zur sicheren Datenverarbeitung
DE102022105069A1 (de) Systeme, verfahren und vorrichtungen für gesicherte nichtflüchtige speicher
DE112019005701T5 (de) Sichere boot-unterstützung für vorrichtungen und zugehörige systeme, verfahren und vorrichtungen
DE102008021567A1 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE102010039963A1 (de) Verfahren und System zum Verifizieren einer Software-Plattform eines Fahrzeugs
DE102012215729A1 (de) System und Verfahren zum Authentisieren mehrerer Dateien unter Verwendung einer getrennten digitalen Signatur
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE102009013384A1 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102016205289A1 (de) Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
DE102013213314A1 (de) Hinterlegen mindestens eines berechenbaren Integritätsmesswertes in einem Speicherbereich eines Speichers
DE102016210788A1 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102021101891B4 (de) Computergerät, Speichermedium und Verfahren zum Bestimmen, ob eine Aktion auf einem Computergerät ausgeführt werden soll, basierend auf der Analyse von Endorsement-Informationen eines Sicherheits-Coprozessors
DE102021127242A1 (de) System und Verfahren zum Signieren und Verriegeln einer Boot-Informationsdatei für ein Host-Computersystem
WO2022008201A1 (de) Verfahren zur erweiterten validierung eines containerabbilds
DE102009008362A1 (de) Mechanismus zum sicheren Herunterladen von Code in ein gesichertes System
DE102018213615A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
DE102023109062A1 (de) System und Verfahren zum Implementieren eines sicheren Boot-Ereignisses mit einem aus einer Vielzahl von in Frage kommenden öffentlichen Schlüsseln aus Schlüsselsätzen für die Infrastruktur-Authentifizierung
DE102010029061A1 (de) Verfahren und Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne
DE102022129538A1 (de) Datenintegritätsvalidierung von externem speicher
EP3924807A1 (de) Verfahren und vorrichtung zum verarbeiten von in einer speichereinrichtung gespeicherten daten
DE102018211139A1 (de) Steuergerät sowie Verfahren zu dessen Betrieb

Legal Events

Date Code Title Description
R012 Request for examination validly filed