DE102012109617A1 - Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders - Google Patents

Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders Download PDF

Info

Publication number
DE102012109617A1
DE102012109617A1 DE201210109617 DE102012109617A DE102012109617A1 DE 102012109617 A1 DE102012109617 A1 DE 102012109617A1 DE 201210109617 DE201210109617 DE 201210109617 DE 102012109617 A DE102012109617 A DE 102012109617A DE 102012109617 A1 DE102012109617 A1 DE 102012109617A1
Authority
DE
Germany
Prior art keywords
key
memory
public
public key
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
DE201210109617
Other languages
English (en)
Inventor
Kevin M. Baltes
Thomas M. Forest
Ansaf I. Alrabady
Mark H. Costin
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 DE102012109617A1 publication Critical patent/DE102012109617A1/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
    • 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/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/3247Cryptographic 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 digital signatures
    • 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/84Vehicles

Abstract

Ein System und Verfahren zum Schreiben eines neuen öffentlichen Schlüssels oder eines öffentlichen Ersatzschlüssels in einen Bootloader, der in einem Speichersegment in dem Speicher einer ECU eines Fahrzeugs abgespeichert ist, ohne dass der gesamte Bootloader neu geschrieben werden muss. Das Verfahren beinhaltet das Definieren einer Schlüsseltabelle in dem Bootloader-Speichersegment, welches eine Zahl von vakanten Speicherplätzen beinhaltet, die verfügbar sind, um öffentliche Ersatzschlüssel, wenn diese benötigt werden, zu speichern. Die Schlüsseltabelle ist eine separate Sektion auf dem Bootloader-Speichersegment, so dass die SchlüsseltabellenSpeicherplätze nicht von dem Bootloader-Code verwendet werden.

Description

  • QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNGEN
  • Diese Anmeldung beansprucht das Prioritätsdatum der U.S. Provisional Patent Application Serial No. 61/552,962 mit dem Titel: ”Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders”, angemeldet am 28. Oktober 2011.
  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf ein System und ein Verfahren zum Ersetzen des öffentlichen Schlüssels, der ein Teil eines Bootloaders ist, der in einem Steuergerät gespeichert ist, und insbesondere auf ein System und ein Verfahren zum Ersetzen des öffentlichen Schlüssels, der ein Teil eines Bootloaders ist, der in einer elektronischen Steuereinheit (ECU) eines Fahrzeugs ist, wobei das Verfahren das Definieren einer Schlüsseltabelle beinhaltet, die Speicherplätze beinhaltet, die ein Teil des Bootloader-Flashspeichersegments sind, aber verfügbar sind, um separat öffentliche Ersatzschlüssel zu speichern.
  • 2. Diskussion des Standes der Technik
  • Die meisten modernen Fahrzeuge beinhalten elektronische Steuereinheiten (ECUs), oder Steuergeräte, die den Betrieb der Fahrzeugsysteme, beispielsweise des Antriebsstrang, des Klimasteuersystems, des Infotainment-Systems, der Body-Systeme, der Chassis-Systeme und dergleichen steuern. Diese Steuergeräte benötigen eine besondere Software, um die Steuerfunktionen durchzuführen. Mit der zunehmenden Zahl und Komplexität dieser Steuergeräte und der wachsenden Furcht, die von Entwicklern von Schadsoftware ausgeht, ist es wichtiger denn je, die Herkunftsquelle und den Inhalt von binären Files, die in Automobilsteuergeräte geladen werden, zu authentifizieren. Die Konsequenzen vom Gebrauch von Software, die nicht einwandfrei validiert wurde oder die – schlimmer noch – schadhaft entworfen wurde, in einem Fahrzeugsteuergerät, beinhaltet das unbeabsichtigte Verhalten des Fahrzeugs oder seiner Systeme, den Verlust von Antidiebstahl- Eigenschaften auf dem Fahrzeug, das potentielle Herumpfuschen an Komponenten wie beispielsweise dem Kilometerzähler und der Verlust von anderen Fahrzeugmerkmalen und Funktionen.
  • Eine bekannte digitale Codiertechnik wird als asymmetrische Schlüsselkryptographie bezeichnet, die digitale Signaturen zum Authentifizieren von Files, die in Steuergeräte programmiert sind, verwendet. Wie von Fachleuten gut verstanden ist, verwendet die asymmetrische Schlüsselkryptographie ein Paar von mathematisch miteinander in Beziehung stehenden Schlüsseln, die als öffentlicher Schlüssel und als privater Schlüssel bekannt sind, um eine Botschaft zu verschlüsseln und zu entschlüsseln. Um eine digitale Signatur zu generieren, verwendet ein Signierer seinen privaten Schlüssel, der nur ihm selbst bekannt ist, um eine Botschaft zu verschlüsseln. Die digitale Signatur kann dann von einer anderen Partei später unter Verwendung des öffentlichen Schlüssels, der mit dem privaten Schlüssel des Signierers gepaart ist, entschlüsselt werden.
  • Flashing ist ein gut bekanntes Verfahren zum Hochladen von Software, Kalibrier-Files und anderen Anwendungen in den Speicher einer ECU eines Fahrzeugs oder eines anderen programmierbaren Gerätes. Ein Bootloader ist ein embedded Softwareprogramm, das auf die ECU geladen ist, das ein Interface zwischen der ECU und einem Programmiergerät bereitstellt, welches die Software flashprogrammiert. Der Bootloader verwendet typischerweise asymmetrische Schlüsselkryptographie und speichert einen öffentlichen Schlüssel, der verwendet werden muss, um die digitale Signatur zu dekodieren, die von dem Programmiergerät übermittelt ist, bevor der ECU gestattet wird, die Software oder die Kalibrierung auszuführen.
  • Falls der öffentliche Schlüssel in dem Bootloader kompromittiert ist oder aus anderen Gründen ersetzt werden muss, ist es wünschenswert, ein sicheres Verfahren durch geeignetes Service-Personal bereitzustellen, das es gestattet, den Schlüssel zu ersetzen. Der Bootloader verwendet hauptsächlich nur ein Flashsegment des Speichers, welches den öffentlichen Schlüssel beinhaltet, so dass der öffentliche Schlüssel nicht mit einer separaten programmierbaren Kalibrierung hergestellt werden kann. Falls der öffentliche Schlüssel ersetzt werden muss, muss demzufolge der ganze Bootloader überschrieben und ersetzt werden, was nicht gewünscht ist, da ein unterbrochener Betrieb zu einer ECU führen kann, die nicht länger programmiert werden kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Im Einklang mit den Lehren der vorliegenden Erfindung werden ein System und ein Verfahren zum Schreiben eines neuen öffentlichen Schlüssels oder eines öffentlichen Ersatzschlüssels in einen Bootloader, der in einem Speichersegment in dem Speicher einer ECU eines Fahrzeugs gespeichert ist, ohne den gesamten Bootloader zu überschreiben. Das Verfahren umfasst das Definieren einer Schlüsseltabelle in dem Bootloader-Speichersegment, das eine Zahl von vakanten Speicherplätzen beinhaltet, die verfügbar sind, um öffentliche Ersatzschlüssel zu speichern, falls diese gebraucht werden. Jeder Speicherplatz in der Schlüsseltabelle beinhaltet ein Gültigkeits-Flag, das anzeigt, ob der Speicherplatz mit einem gültigen öffentlichen Schlüssel geladen ist, wobei der Bootloader den letzten Schlitz in der Schlüsseltabelle, der einen gültigen öffentlichen Schlüssel aufweist, verwendet. Die Schlüsseltabelle ist eine separate reservierte Sektion des Bootloader-Speichersegments, so dass die Schlüsseltabellen-Speicherplätze normalerweise nicht von dem Bootloader Code verwendet werden.
  • Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beigefügten Patentansprüchen in Verbindung mit den beigefügten Figuren deutlich.
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1 ist ein schematisches Blockdiagramm, das ein Verfahren zum Zertifizieren einer digitalen Signatur zeigt;
  • 2 ist ein Blockdiagramm für ein Verfahren zum Signieren und Verifizieren eines elektronischen Inhalts unter Verwendung einer digitalen Signatur, welches die Lieferung von Inhalt- und Signatur-Files von einer Programmierquelle zum Ausführen eines Steuergerätes beinhaltet;
  • 3 ist ein schematisches Diagramm, das zeigt, wie elektronischer Inhalt und eine digitale Signatur zu einem Steuergerät eines Fahrzeugs physikalisch geliefert werden.
  • 4 ist eine Darstellung eines Teils eines ECU-Speichers das Schlüsseltabellen-Speichersegmente zum Speichern von öffentlichen Ersatzschlüsseln beinhaltet, welcher separat zu dem Bootloader-Speichersegment ist;
  • 5 ist ein Flussdiagramm, das ein Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloader in einem Speicher einer ECU eines Fahrzeugs zeigt;
  • 6 ist ein Flussdiagramm, das eine Operation zum Ersetzen des Schlüssels mit einem eingebauten Wiederherstellungssystem zeigt; und
  • 7 ist ein Flussdiagramm, das ein Verfahren zum Lesen des Schlüssels zeigt.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
  • Die folgende Diskussion der Ausführungsformen der Erfindung, die auf ein System und ein Verfahren zum Ersetzen eines öffentlichen Schlüssels in einem Bootloader, der in einem Speicher einer ECU eines Fahrzeugs gespeichert ist, gerichtet ist, ist rein beispielhafter Natur und in keiner Weise dazu gedacht, die Erfindung oder ihre Anwendungen oder Verwendungen zu begrenzen. Beispielsweise kann die Technik zum Ersetzen des öffentlichen Schlüssels in dem Bootloader für die ECU oder eines Fahrzeugs bestimmt sein, wie hier erörtert wird.
  • Fachleute können jedoch leicht erkennen, dass das Verfahren zum Ersetzen eines öffentlichen Schlüssels in einem Bootloader auch bei anderen Steuergeräten Anwendung haben kann.
  • 1 ist ein Blockdiagramm 10 eines bekannten Verfahrens zum Verwenden digitaler Signaturen mit asymmetrischen Schlüsseln zum Authentifizieren von Files, die in Steuergeräten programmiert sind. Wie Fachleuten gut bekannt ist, verwendet die asymmetrische Schlüsselkryptographie ein Paar von mathematisch miteinander in Beziehung stehenden Schlüsseln, die als privater Schlüssel und öffentlicher Schlüssel bekannt sind, um eine Botschaft zu verschlüsseln und zu entschlüsseln. Um eine digitale Signatur zu erstellen, verwendet ein Signierer seinen privaten Schlüssel, der nur ihm selbst bekannt ist, um eine digitale Botschaft zu verschlüsseln. Die digitale Signatur kann dann später von einer anderen Partei mithilfe des öffentlichen Schlüssels entschlüsselt werden, der mit dem privaten Schlüssel des Signierers gepaart ist, um ein File oder eine Botschaft zu authentifizieren.
  • In einem Signierschritt 12 wird ein Inhalt-File 14 bereitgestellt, wobei das Inhalt-File 14 ein Teil einer Software, ein kalibriertes File oder anderer „soft-part”-Inhalt sein kann, um in einem Steuergerät verwendet zu werden. Eine Hash-Berechnung wird auf dem Inhalt-File 14 ausgeführt, um einen Hash-Wert 16 zu generieren, der das Inhalt-File 14 verschlüsselt. Der Hash-Wert 16 wird dann mit dem privaten Schlüssel des Signierers verschlüsselt, um eine digitale Signatur 18 zu erstellen, wobei die digitale Signatur 18 nur für dieses jeweilige Inhalt-File gut ist.
  • Die digitale Signatur 18 und das Inhalt-File 14 werden dann in einem Verifizier-Schritt 20 verwendet, der dann durch den Bootloader in der ECU in der Anwendung, die hierin diskutiert wird, ausgeführt werden würde. Die digitale Signatur 18 wird unter Verwendung des öffentlichen Schlüssels des Signierers entschlüsselt, um einen entschlüsselten Hash-Wert 22 zu generieren. In der Zwischenzeit wird eine Hash-Berechnung auf dem Inhalt-File 14 von dem Verifizierer ausgeführt, um einen berechneten Hash-Wert 24 zu generieren. Im Kasten 26 wird der entschlüsselte Hash-Wert 22 mit dem berechneten Hash-Wert 24 verglichen. Falls der entschlüsselte Hash-Wert 22 mit dem berechneten Hash-Wert 24 übereinstimmt, dann wird im Oval 28 eine Gültigkeitsbestimmung ausgegeben und das Inhalt-File 14 wird verwendet. Falls der entschlüsselte Hash-Wert 22 nicht mit dem berechneten Hash-Wert 24 übereinstimmt, dann wird eine Bestimmung der Ungültigkeit im Oval 30 ausgegeben und das Inhalt-File 14 wird nicht verwendet.
  • 2 ist ein Blockdiagramm 40, das ein Verfahren zum Signieren und Verifizieren eines elektronischen Inhalts mithilfe einer digitalen Signatur, welches die Lieferung von Inhalt- und Signatur-Files von einer Programmierquelle an ein ausführendes Steuergerät beinhaltet. Eine Fileaufbewahrung 42 speichert eine ausführbare Software, ein kalibriertes File oder ein anderes ”soft-part” File, was allgemein als ein Inhalt-File 44 bekannt ist. Das Inhalt-File 44 ist typischerweise ein binäres File. Es wird gewünscht, eine digitale Signatur 46 für das Inhalt-File 44 zu erhalten. Um für das Inhalt-File 44 eine digitale Signatur zu erhalten, wird das Inhalt-File 44 an einen Signier-Server 48 übermittelt. Auf dem Signier-Server 48 wird eine Hash-Berechnung auf dem Inhalt-File 44 ausgeführt, um einen Hash-Wert 52 zu generieren. Der Hash-Wert 52 wird mithilfe des auf dem Signier-Server 48 abgespeicherten privaten Schlüssels verschlüsselt, wobei die Verschlüsselung die digitale Signatur 46 generiert. Die digitale Signatur 46 wird dann zurück an die Aufbewahrung 42 übermittelt.
  • An diesem Punkt liegen der Inhalt-File 44 und die digitale Signatur 46 beide in der Aufbewahrung 42. Die Herausforderung ist dann, das Inhalt-File 44 und die digitale Signatur 46 durch die verschiedenen Anwendungssysteme, die von dem Automobilhersteller verwendet werden, zu übermitteln, und das Inhalt-File 44 auf einem Steuergerät in einem Fahrzeug zu installieren und zu validieren. Im Allgemeinen wird ein Automobilhersteller zumindest zwei Organisationen oder Abteilungen haben, die für das Installieren von Software und Kalibrieren-Files auf Steuergeräten in Fahrzeugen verantwortlich sind, nämlich die Produktion und der Service. Die 2 zeigt eine Herstellungsdatenbank 56, die von der Produktionsabteilung des Automobilherstellers zum Verwalten elektronischer Files, welche als ”Teile” in der Produktion von Fahrzeugen verwendet werden. Die 2 zeigt analog dazu eine Service-Datenbank 62, die von der Serviceabteilung des Automobilherstellers zum Verwalten elektronischer Files, die als ”Service-Teile” in Fahrzeugen installiert sind, an welchen in einer Service-Werkstatt gearbeitet wird. Wie in der 2 ersichtlich ist, erhalten sowohl die Produktionsdatenbank 56 als auch die Service-Datenbank 62 Kopien des Inhalt-Files 44 und der digitalen Signatur 46, welche für die jeweiligen Funktionen der Produktionsabteilung und der Service-Abteilung verwendet werden.
  • Um das Inhalt-File 44 tatsächlich auf ein Steuergerät in einem Fahrzeug zu installieren, wird ein Programmierwerkzeug 68 verwendet. Wie gezeigt, erhält das Programmierwerkzeug 68 ebenfalls eine Kopie des Inhalt-Files 44 und die digitale Signatur 46. Das bedeutet, dass die Produktionsabteilung das Inhalt-File 44 und die digitale Signatur 46 von der Produktionsdatenbank 56 an das Programmierwerkzeug 68 für die Installation auf einem neu produzierten Fahrzeug bereitstellen kann, oder, dass die Service-Abteilung das Inhalt-File 44 und die digitale Signatur 46 von der Service-Datenbank 62 an das Programmierwerkzeug 68 für die Installation auf einem in Stand zu setzenden Fahrzeug bereitstellen kann.
  • Der nächste Schritt für das Programmierwerkzeug 68 ist es, das Inhalt-File 44 an ein Steuergerät in einem Fahrzeug zu installieren. Die ECU 74 ist das Steuergerät, das das Inhalt-File 44 tatsächlich verwenden wird. Nachfolgend findet eine kurze Diskussion der Architektur der ECU 74 statt. Die Software auf der ECU 74 besteht aus einem Bootloader, einer ausführbaren Software und einem oder mehreren Kalibrier-Files. Zu Diskussionszwecken wird angenommen, dass die ECU 74 eine einzelne Central Processing Unit (CPU) aufweist. In tatsächlichen Fahrzeugen könnte die ECU 74 mehrere CPUs aufweisen und jede der CPU würde einen Bootloader, eine ausführbare Software und eines oder mehrere Kalibrier-Files aufweisen.
  • Der Bootloader in der ECU 74 ist für das Validieren und Installieren neuer ausführbarer Softwares und Kalibrier-Files verantwortlich. Die in diesem Absatz beschriebenen Funktionen werden demnach von dem Bootloader in der ECU 74 ausgeführt. Das Programmierwerkzeug 68 übermittelt das Inhalt-File 44 und die digitale Signatur 46 an die ECU 74. Die digitale Signatur 46 wird von dem Bootloader unter Verwendung des öffentlichen Schlüssels der Aufbewahrung 42 entschlüsselt, um einen entschlüsselten Hash-Wert 78 zu generieren. Der öffentliche Signierschlüssel kann in der ECU 74 vorhanden sein oder an die ECU 74 in Verbindung mit dem Inhalt-File 44 und der digitalen Signatur 46 geliefert werden. In der Zwischenzeit wird eine Hash-Berechnung auf dem Inhalt-File 44 von dem Bootloader ausgeführt, um einen berechneten Hash-Wert 84 zu generieren. Im Kasten 80 wird der entschlüsselte Hash-Wert 78 mit dem berechneten Hash-Wert 84 verglichen. Falls der entschlüsselte Hash-Wert 78 mit dem berechneten Hash-Wert 84 übereinstimmt, dann wird eine Bestimmung auf Gültigkeit 88 erlassen und das Inhalt-File 44 wird verwendet. Falls das zu verwendende Inhalt-File 44 eine ausführbare Software ist, installiert der Bootloader diese als neue ausführbare Software auf der ECU 74. Falls das zu verwendende Inhalt-File 44 ein Kalibrier-File ist, installiert der Bootloader diese als eine von einem oder mehreren Kalibrier-Files auf der ECU 74. Falls der entschlüsselte Hash-Wert 78 nicht mit dem berechneten Hash-Wert 84 übereinstimmt, dann wird eine Bestimmung 86 auf Ungültigkeit erlassen und das Inhalt-File 44 wird nicht auf der ECU 74 verwendet.
  • Die 3 ist ein schematisches Diagramm, das zeigt, wie elektronische Inhalt-Files und digitale Signatur-Files physikalisch an ein Steuergerät eines Fahrzeugs geliefert werden. Ein Fahrzeug 36 beinhaltet die in 2 gezeigte und oben diskutierte ECU 74. Die ECU 74 kann den Motor, das Getriebe, das Chassis, den Body, das Infotainment oder ein anderes System auf dem Fahrzeug 36 steuern. Das Inhalt-File 44 und die digitale Signatur 46 werden an eine zentrale Datenbank geliefert, die hier als die Produktions-Datenbank 56 gezeigt ist. Der Transfer des Inhalt-Files 44 und der digitalen Signatur 46 an die Produktions-Datenbank 56 kann über ein Firmennetzwerk stattfinden. Die Produktions-Datenbank 56 stellt das Inhalt-File 44 und die digitale Signatur 46 dem Programmierwerkzeug 68 zur Verfügung, wobei dieser Transfer durch Anfügen des Programmierwerkzeugs 68 an einen Computer, der Zugang zu der Datenbank 56 hat, erreicht werden kann. Das Programmierwerkzeug 68 kommuniziert mit der ECU 74 über eine Verbindung 38, die drahtgebunden oder drahtlos sein kann. Mit der hergestellten Verbindung 38 können das Inhalt-File 44 und die digitale Signatur 46 von dem Programmierwerkzeug 68 auf die ECU 74 runtergeladen werden, wobei der Bootloader die oben diskutierten Sicherheitsverifikationsfunktionen ausführen kann.
  • Die vorliegende Erfindung schlägt eine Technik zum Beschreiben oder Flashprogrammieren eines neuen öffentlichen Schlüssels oder eines öffentlichen Ersatzschlüssels für einen Bootloader, der in dem Speicher eine ECU eines Fahrzeugs gespeichert ist, vor, um einen existierenden öffentlichen Schlüssel zu ersetzen, falls der gegenwärtig gespeicherte öffentliche Schlüssel kompromittiert worden ist oder aus einem anderen Grund ersetzt werden muss. Wie oben diskutiert, erfordert eine sichere Flash-Programmierung einen in dem Bootloader eingebetteten öffentlichen Schlüssel. Die vorliegende Erfindung beschreibt eine kosteneffektive und verlässliche Technik, um den öffentlichen Schlüssel in dem Bootloader zu ersetzen. Das Verfahren beinhaltet die Verwendung des Flashspeichers der ECU, um die Schlüssel, eine Datenstruktur die ein Flash-Schreiben ohne ein Löschen unterstützt, und einen Algorithmus zum verlässlichen Ersetzen der Schlüssel beinhaltet. Die Technik beinhaltet das Reservieren einer dedizierten Speichersektion in dem Speicher der ECU, welche verfügbar ist, um mehrere öffentliche Schlüssel zu speichern, wobei die Speichersektion auf eine Schlüsseltabelle bezogen ist, und wobei die Schlüsseltabelle in dem gleichen Flashspeichersegment wie die Bootloader-Software oder der Bootloader-Code ist oder sein kann. Wenn das Bootloader-Programm zum ersten Mal beschrieben oder mit Software und/oder Kalibrier-Files Flashprogrammiert wird, wird die Schlüsseltabelle leer gelassen, außer beim Speichern des originalen öffentlichen Schlüssels in den ersten Schlüsseltabellen-Speicherschlitz. Dies gestattet es, die Schlüsseltabelle später zu überschreiben, ohne dabei das Flashspeichersegment, in dem der Bootloader gespeichert ist, zu löschen. Jeder Speicherplatz in der Schlüsseltabelle umfasst ein Schlüssel-Gültigkeits-Flag, das, wenn es gesetzt ist, anzeigt, dass der Schlüssel in diesem Speicherplatz ein gültiger Schlüssel ist. Der Bootloader wird den letzten gültigen Schlüssel in der Schlüsseltabelle verwenden.
  • Wenn der öffentliche Schlüssel des Bootloaders ersetzt werden muss, wird der Ersatzschlüssel in die erste leere Zeile oder den Speicherplatz in der Schlüsseltabelle geschrieben und es werden keine anderen vorher abgespeicherten öffentlichen Schlüssel modifiziert oder gelöscht. Falls keine Speicherplätze in der Schlüsseltabelle zur Verfügung stehen, um einen öffentlichen Ersatzschlüssel zu erhalten oder die Schlüsselersetzung fehlschlägt, antwortet der Algorithmus an den Antragsteller, der versucht den neuen Schlüssel zu schreiben, mit einer geeigneten Antwort, die anzeigt, dass das Schreiben fehlgeschlagen ist. Der Bootloader wird den letzten gültigen Schlüssel in der Schlüsseltabelle während der sicheren Flash Programmierfunktion um auf die ECU zu schreiben. Es kann ein sicherer Mechanismus verwendet werden, um den Schlüssel zu ersetzen, wobei die ECU-spezifische Routine unter Verwendung des gegenwärtig gültigen Schlüssels der ECU signiert werden kann und Instruktionen und Routinen unter Verwendung ähnlicher Strategien als sichere Flash-Programmierung ausgeführt werden können.
  • 4 ist eine Darstellung eines Teils eines Speichers 120 einer ECU, die ein Speichersegment 122 mit Speicherplätzen 124 zeigt, in welchem ein Bootloader in der ECU 74 abgespeichert ist. Einige der Speicherplätze 124 in dem Speichersegment 122, im vorliegenden Fall vier Schlitze, sind als eine Schlüsseltabelle 126 definiert und sind nur für das Speichern öffentlicher Schlüssel in dem Bootloader-Speichersegment 122 vorgesehen. Die Schlüsseltabelle 126 kann irgendwo auf dem Bootloader-Speichersegment 122 lokalisiert sein. Der originale öffentliche Schlüssel wird in den ersten Schlitz 128 in der Schlüsseltabelle 126 abgespeichert und die übrigen Schlitze in der Schlüsseltabelle 126 werden für zukünftige Ersatzschlüssel offen gelassen. Die leeren Schlüsselschlitze sind für einen ungültigen Schlüsseleintrag voreingestellt. Der Bootloader wird dazu programmiert, den letzten gültigen Schlüssel in der Liste von Schlüsseln in der Schlüsseltabelle 126 zu verwenden. Jeder Speicherplatz in der Schlüsseltabelle 126 beinhaltet eine Gültigkeits-Flag 130, dass diejenigen Schlüssel identifiziert, die gegenwärtig gültig sind, wobei der Bootloader den letzten gültigen Schlüssel in der Schlüsseltabelle 126 als den ”gegenwärtig gültigen Schlüssel” verwendet. Diejenigen Schlitze in der Schlüsseltabelle 126, die leer sind, sind durch den voreingestellten gelöschten Speicherzustand mit einem Ungültigkeits-Flag versehen und würden demnach nicht verwendet werden. Falls ein Schlüssel-Flashprozess ausgeführt wird und die Stromversorgung unterbrochen ist, wobei der Ersatzschlüssel in den nächsten verfügbaren Schlüsseltabellen-Speicherplatz geschrieben hätte werden können, wird dieser Speicherplatz immer noch ein gesetztes Ungültigkeits-Flag beinhalten, da der neue Schlüssel-Flashprozess nicht vollständig ausgeführt worden ist. Demnach wird der Bootloader diesen zuletzt geschriebenen Schlüssel nicht verwenden, sondern auf den vorhergehenden gültigen Schlüssel über ihm zurückgreifen.
  • Wenn der Flashprozess zum Schreiben des neuen Schlüssels vollständig ausgeführt wurde und derjenige Speicherplatz der Schlüsseltabelle 126 als gültig angezeigt wird, dann wird der Bootloader diesen Schlüssel als den gültigen Schlüssel verwenden, auch wenn die Speicherplätze über diesem Schlüssel als ebenfalls gültig angezeigt werden. Wenn ein Flash-Prozess für einen neuen Schlüssel unterbrochen wird, kann immer noch ein vorheriger gültiger Schlüssel verwendet werden. Der voreingestellte gelöschte Zustand des Flashspeichers, der verwendet wird, um die Schlüssel zu speichern, würde den Effekt haben, dass der Schlüssel als ungültig angesehen werden würde. Der erste gelöschte Speicherplatz kann ebenfalls verwendet werden, um den letzten gültigen Schlüssel schnell zu finden. Jede Integritätsprüfung des Bootloader-Speichersegments 122, die während eines Normalbetriebs ausgeführt wird, sollte die Schlüsseltabelleneinträge auslassen, solange bis die Prüfsumme aktualisiert ist, um neu geschriebene Schlüsseldaten zu berücksichtigen. Wenn die Speicherplätze allesamt in der Schlüsseltabelle 126 mit Schlüsseln ausgefüllt sind, muss der gesamte Bootloader überschrieben werden, um den öffentlichen Schlüssel zu ersetzen und die Schlüsseltabelle 126 wieder neu zu eröffnen.
  • 5 ist ein Flussdiagramm 90, das ein Verfahren zum Ersetzen eines öffentlichen Bootloader-Schlüssels in den Speicher einer ECU eines Fahrzeugs, wie oben diskutiert, zeigt. Eine Bootloader-Programmier-Ausführungseinheit im Kasten 92 steuert den Bootloader in dem Speicher der ECU und kann ein Service- oder Programmierwerkzeug in einer Service-Werkstätte sein. Die Bootloader-Programmier-Ausführungseinheit kann mit dem Bootloader im Kasten 94 Kontakt herstellen, um eine Operation auszuführen, beispielsweise einen Datentransfer, eine Wartung, ein Reprogrammieren, ein Reflashing etc. Der Bootloader bestimmt, ob eine Aktualisierung eines öffentlichen Schlüssels in der Entscheidungsraute 96 angefordert ist, und falls dies nicht der Fall ist, kehrt er zum Kasten 92 zurück, um Instruktionen von der Bootloader-Programmier-Ausführungseinheit für den nächsten Flash Prozess abzuwarten. Falls eine Aktualisierung des öffentlichen Schlüssels in der Entscheidungsraute 96 angefordert ist, bestimmt dann der Bootloader, ob die Anforderung in der Entscheidungsraute 98 gültig ist, und wenn dies der Fall ist, lokalisiert der Bootloader den ersten verfügbaren Speicherplatz der Schlüsseltabelle im Kasten 100, der verfügbar ist, um den öffentlichen Ersatzschlüssel aufzunehmen. Jeder geeignete sichere Prozess kann dazu verwendet werden, um zu bestimmen, ob die Anfrage gültig ist. Der Bootloader bestimmt dann in der Entscheidungsraute 102, ob ein Speicherplatz verfügbar ist, um den Ersatzschlüssel aufzunehmen und, falls dies der Fall ist, schreibt den öffentlichen Ersatzschlüssel im Kasten 104 in diesen Schlitz in der Schlüsseltabelle. Der Bootloader bestimmt dann in der Entscheidungsraute 106, ob der öffentliche Ersatzschlüssel in den Speicher der ECU geschrieben wurde, und, falls dies der Fall ist, markiert diesen neuen Schlüssel im Kasten 108 als gültig und sendet eine positive Antwort-Nachricht an den Antragsteller im Kasten 110. Falls in der Entscheidungsraute 98 die Anfrage ungültig ist oder ein verfügbarer Schlitz in der Schlüsseltabelle in der Entscheidungsraute 102 nicht gefunden wird oder das Schreiben des Ersatzschlüssels in der Entscheidungsraute 106 nicht sauber erfolgte, sendet dann der Bootloader eine negative Antwort-Nachricht an den Antragsteller im Kasten 112.
  • Die 6 ist ein Flussdiagramm 140, das einen Prozess zum Ersetzen des öffentlichen Schlüssels mit einem eingebauten Wiederherstellsystem zeigt. Der Algorithmus initiiert im Kasten 142 das Starten des Prozesses zum Ersetzen des Schlüssels. Im Kasten 144 setzt der Algorithmus einen Schlüsselindex in den letzten Speicherplatz in der Schlüsseltabelle 126., der nicht leer ist, um zu bestimmen, ob dieser Speicherplatz einen gültigen Schlüssel besetzt. In der Entscheidungsraute 146 bestimmt der Algorithmus, ob der neue Ersatzschlüssel, der in die Schlüsseltabelle geschrieben werden soll, der gleiche ist, wie der Schlüssel, der in den letzten besetzten Speicherplatz in der Schlüsseltabelle 126, um zu bestimmen, ob der letzte geschriebene Schlüssel gültig geschrieben wurde. Falls der neue Schlüssel der gleiche wie der Schlüssel im letzten Schlitz in der Entscheidungsraute 146 ist, bestimmt der Algorithmus dann, ob das Gültigkeits-Flag 130 für diesen Schlüssel in der Entscheidungsraute 148 auf gültig gesetzt worden ist. Falls das Gültigkeits-Flag 130 für den Schlüssel auf gültig gesetzt worden ist und der neue Schlüssel der gleiche wie der Schlüssel ist, der Flashprogrammiert werden soll, dann endet der Prozess im Kasten 150. Wenn das Gültigkeits-Flag nicht in der Entscheidungsraute 148 auf gültig gesetzt worden ist, dann setzt der Algorithmus das Gültigkeit-Flag im Kasten 152 auf gültig und der Prozess endet in dem Kasten 150. Falls der neue Schlüssel, der Flash-programmiert wird, nicht der gleiche wie der Schlüssel in dem letzten ausgeführten Schlitz der Schlüsseltabelle 126 in der Entscheidungsraute 146 ist, dann schreibt der Algorithmus den neuen Schlüssel im Kasten 154 in den nächsten offenen Schlitz in der Schlüsseltabelle 126 und setzt das Gültigkeits-Flag für den neuen Schlitz im Kasten 156 auf gültig.
  • 7 ist ein Flussdiagramm 160, das ein Verfahren zum Lesen des Schlüssels während einer normalen Flash-Operation zeigt. Der Algorithmus initiiert eine Sequenz im Kasten 162 zum Lesen des Schlüssels und identifiziert dann im Kasten 164 den letzten Schlüssel in der Schlüsseltabelle 126, der ein Gültigkeits-Flag beinhaltet. Der Algorithmus liest den Schlüsselwert in diesem Schlitz im Kasten 166 und der Prozess endet im Kasten 168.
  • Wie von Fachleuten gut verstanden wird, können verschiedene oder einige Schritte und Verfahren, die hier erörtert wurden, um die Erfindung zu beschreiben, von einem Computer, einem Prozessor oder einer anderen elektronischen Recheneinheit ausgeführt werden, die mithilfe elektrischer Phänomene Daten manipuliert und/oder transformiert. Diese Computer und elektrischen Geräte können verschiedene flüchtige und/oder nicht flüchtige Speicher inklusive einem festen computerlesbaren Medium mit einem darauf befindlichen ausführbaren Programm beinhalten, das verschiedene Codes oder ausführbare Instruktionen beinhaltet, die von dem Computer oder Prozessor ausgeführt werden, wobei der Speicher und/oder das computerlesbare Medium alle Formen und Arten von einem Speicher und anderen computerlesbaren Medien beinhalten kann.
  • Die vorhergehende Diskussion zeigt und beschreibt rein exemplarische Ausführungsbeispiele der vorliegenden Erfindung. Ein Fachmann kann leicht aus der Diskussion und den beigefügten Figuren und Patentansprüchen erkennen, dass zahlreiche Änderungen, Modifikationen und Variationen gemacht werden können, ohne dabei den Geist und den Bereich der Erfindung zu verlassen, wie er mit den folgenden Patentansprüchen definiert ist.

Claims (10)

  1. Ein Verfahren zum Ersetzen eines öffentlichen Schlüssels in einem Bootloader, der in einem Steuergerät abgespeichert ist, wobei das Verfahren umfasst: – Definieren eines Bootloader-Speichersegments in einem Speicher in dem Steuergerät, in dem der Bootloader gespeichert wird; – Definieren einer Schlüsseltabelle in dem Bootloader-Speichersegment, die eine Vielzahl von verfügbaren Speicherplätzen zum Speichern öffentlicher Schlüssel beinhaltet; – Speichern eines originalen öffentlichen Schlüssels in einen ersten Speicherplatz in der Schlüsseltabelle und Leerlassen des Rests der Speicherplätze in der Schlüsseltabelle; und – Speichern eines öffentlichen Ersatzschlüssels in einen nächsten Speicherplatz unter einen zuletzt gespeicherten öffentlichen Schlüssel in der Schlüsseltabelle.
  2. Verfahren nach Anspruch 1, des Weiteren vor dem Speichern des Ersatzschlüssels das Bestimmen, ob eine Anfrage, einen Ersatzschlüssel zu speichern, gültig ist, umfassend.
  3. Verfahren nach Anspruch 1, wobei das Speichern des originalen öffentlichen Schlüssels in einen ersten Speicherplatz das Setzen eines Gültigkeits-Flag auf gültig in dem ersten Speicherplatz und das Setzen aller anderen Speicherplätze in der Schlüsseltabelle auf ungültig beinhaltet.
  4. Verfahren nach Anspruch 3, wobei das Speichern des öffentlichen Ersatzschlüssels in einen nächsten Speicherplatz das Setzen des Gültigkeits-Flag für den nächsten Speicherplatz auf gültig beinhaltet.
  5. Verfahren nach Anspruch 1, wobei das Speichern eines öffentlichen Ersatzschlüssels das Bestimmen, ob der öffentliche Ersatzschlüssel der gleiche wie ein in dem letzten Speicherplatz in der Schlüsseltabelle, die einen öffentlichen Schlüssel beinhaltet, ist, und das Bestimmen, ob das Gültigkeits-Flag für diesen Speicherplatz auf gültig gesetzt ist, beinhaltet.
  6. Verfahren nach Anspruch 5, des Weiteren umfassend das Setzen des Gültigkeits-Flag auf gültig, falls der öffentliche Ersatzschlüssel der gleiche wie der öffentliche Schlüssel ist, der bereits in dem letzten Speicherplatz ist, und falls das Gültigkeits-Flag auf ungültig gesetzt worden war.
  7. Verfahren nach Anspruch 1, des Weiteren umfassend das Löschen der gesamten Schlüsseltabelle, falls alle Speicherplätze in der Schlüsseltabelle besetzt sind und es notwendig ist, den öffentlichen Schlüssel zu ersetzen.
  8. Verfahren nach Anspruch 1, wobei der öffentliche Schlüssel in einem asymmetrischen Schlüssel-Kryptographieverfahren zum sicheren Flash-Programmieren in das Steuergerät verwendet wird, das ein Verfahren zum Hashing eines Inhalt-Files, das auf das Steuergerät gespeichert wird, und das Verifizieren einer digitalen Signatur des Hash des Inhalt-Files unter Verwendung des öffentlichen Schlüssels, beinhaltet.
  9. Verfahren nach Anspruch 1, wobei das Steuergerät eine elektronische Steuereinheit (ECU) auf einem Fahrzeug ist.
  10. Ein System zum Ersetzen eines öffentlichen Schlüssels in einem Bootloader, der in einem Steuergerät gespeichert ist, wobei das System umfasst: – Mittel zum Definieren eines Bootloader-Speichersegments in einem Speicher in dem Steuergerät, in das der Bootloader gespeichert wird; – Mittel zum Definieren einer Schlüsseltabelle in dem Bootloader-Speichersegment, das eine Vielzahl von verfügbaren Speicherplätzen zum Speichern öffentlicher Schlüssel umfasst; – Mittel zum Speichern eines originalen öffentlichen Schlüssels in einen ersten Speicherplatz in der Schlüsseltabelle und Leerlassen des Rests der Speicherplätze in der Schlüsseltabelle; und – Mittel zum Speichern eines öffentlichen Ersatzschlüssels in einem nächsten Speicherplatz unter einem zuletzt gespeicherten öffentlichen Schlüssel in der Speichertabelle.
DE201210109617 2011-10-28 2012-10-10 Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders Pending DE102012109617A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161552962P 2011-10-28 2011-10-28
US61/552,962 2011-10-28
US13/557,046 2012-07-24
US13/557,046 US9021246B2 (en) 2011-10-28 2012-07-24 Method to replace bootloader public key

Publications (1)

Publication Number Publication Date
DE102012109617A1 true DE102012109617A1 (de) 2013-05-02

Family

ID=48084483

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201210109617 Pending DE102012109617A1 (de) 2011-10-28 2012-10-10 Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders

Country Status (3)

Country Link
US (1) US9021246B2 (de)
CN (1) CN103218569B (de)
DE (1) DE102012109617A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018211139A1 (de) 2018-07-05 2020-01-09 Robert Bosch Gmbh Steuergerät sowie Verfahren zu dessen Betrieb

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2854066B1 (de) * 2013-08-21 2018-02-28 Nxp B.V. System und Verfahren zur Kontrolle der Integrität von Firmware mit Benutzung von mehreren Schlüsseln und OTP-Speicher
US9407638B2 (en) 2013-08-26 2016-08-02 The Boeing Company System and method for trusted mobile communications
KR102227263B1 (ko) * 2013-12-31 2021-03-15 삼성전자주식회사 보안 부트 변경 변경시스템, 방법 및 이 변경시스템을 구비한 전자장치
US9344439B2 (en) * 2014-01-20 2016-05-17 The Boeing Company Executing unprotected mode services in a protected mode environment
US9798887B2 (en) * 2015-08-26 2017-10-24 Qualcomm Incorporated Computing device to securely activate or revoke a key
CN106789672B (zh) * 2017-01-18 2020-08-04 北京经纬恒润科技有限公司 一种报文路由处理方法及装置
US10430178B2 (en) 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
DE102018215141A1 (de) * 2018-09-06 2020-03-12 Continental Teves Ag & Co. Ohg Verfahren zur Verbesserung des Nutzungsgrades einer Fahrzeug-zu-X Kommunikationsvorrichtung sowie Fahrzeug-zu-X Kommunikationsvorrichtung
US11829517B2 (en) * 2018-12-20 2023-11-28 Intel Corporation Method and apparatus for trust domain creation and destruction
EP3736716B1 (de) * 2019-05-10 2021-12-22 Aptiv Technologies Limited Verfahren zum schutz einer elektronischen steuerungseinheit
KR102645542B1 (ko) * 2019-11-06 2024-03-11 한국전자통신연구원 차량 내부 네트워크 장치 및 방법
CN113708920A (zh) * 2020-05-22 2021-11-26 华为技术有限公司 一种基于冗余密码算法进行安全启动的方法及设备
CN114268447B (zh) * 2020-09-16 2023-04-07 京东科技信息技术有限公司 一种文件传输方法、装置、电子设备和计算机可读介质
US11804962B2 (en) 2021-04-29 2023-10-31 GM Global Technology Operations LLC System and method for establishing an in-vehicle cryptographic manager
FR3126249B1 (fr) * 2021-08-18 2023-07-07 Continental Automotive Procédé, dispositif et système d’autorisation d’accès à un véhicule partagé

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313705B2 (en) * 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP4488354B2 (ja) * 2002-09-16 2010-06-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 電子機器へのデータのローディング方法
KR101066063B1 (ko) * 2003-01-07 2011-09-20 퀄컴 인코포레이티드 암호화 키를 대체하기 위한 시스템, 장치 및 방법
KR20060008338A (ko) * 2003-06-24 2006-01-26 바이에리셰 모토렌 베르케 악티엔게젤샤프트 프로그래밍 가능한 읽기 전용 메모리의 부트 섹터에소프트웨어를 부팅 업 하는 방법
US20070055881A1 (en) * 2005-09-02 2007-03-08 Fuchs Kenneth C Method for securely exchanging public key certificates in an electronic device
US8171283B2 (en) * 2007-03-19 2012-05-01 Telcordia Technologies, Inc. Vehicle segment certificate management using short-lived, unlinked certificate schemes
US8560823B1 (en) * 2007-04-24 2013-10-15 Marvell International Ltd. Trusted modular firmware update using digital certificate
CN101400059B (zh) * 2007-09-28 2010-12-08 华为技术有限公司 一种active状态下的密钥更新方法和设备
KR100925327B1 (ko) * 2007-11-26 2009-11-04 한국전자통신연구원 다운로더블 제한 수신 시스템에서 호스트의 망 이동 여부감지 방법 및 그 장치
CN101340282B (zh) * 2008-05-28 2011-05-11 北京易恒信认证科技有限公司 复合公钥的生成方法
US8761390B2 (en) * 2008-06-30 2014-06-24 Gm Global Technology Operations Production of cryptographic keys for an embedded processing device
US9800413B2 (en) * 2008-08-15 2017-10-24 Gm Global Technology Operations, Inc. System and method for performing an asymmetric key exchange between a vehicle and a remote device
TW201015322A (en) * 2008-10-08 2010-04-16 Ee Solutions Inc Method and system for data secured data recovery
US9652755B2 (en) * 2009-08-11 2017-05-16 Silver Spring Networks, Inc. Method and system for securely updating field upgradeable units
US20110154501A1 (en) * 2009-12-23 2011-06-23 Banginwar Rajesh P Hardware attestation techniques
US8489893B2 (en) * 2010-01-29 2013-07-16 Hewlett-Packard Development Company, L.P. Encryption key rotation messages written and observed by storage controllers via storage media
US8578362B2 (en) * 2011-03-18 2013-11-05 Hamilton Sundstrand Corporation Method for downloading software to an electronics product
US8949813B2 (en) * 2011-07-29 2015-02-03 Dell Products Lp Systems and methods for facilitating activation of operating systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018211139A1 (de) 2018-07-05 2020-01-09 Robert Bosch Gmbh Steuergerät sowie Verfahren zu dessen Betrieb

Also Published As

Publication number Publication date
CN103218569B (zh) 2016-05-18
US9021246B2 (en) 2015-04-28
US20130111203A1 (en) 2013-05-02
CN103218569A (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
DE102012109617A1 (de) Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders
DE102013108021A1 (de) Verfahren zum selektiven Software-Rollback
DE102012109615B4 (de) Verwendung eines Manifests zur Präsenzaufzeichnung von gültiger Software und Kalibrierung
DE102013105042A1 (de) Sicheres Flashprogrammieren eines sekundären Prozessors
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102012109619A1 (de) Verfahren zum Bereitstellen einer digitalen Signatur zum Sichern einer Flash-Programmierfunktion
DE102016106802A1 (de) Fahrzeugsteuerungsspeichermethoden und -systeme
DE10318031A1 (de) Verfahren zur Sicherstellung der Integrität und Authentizität von Flashware für Steuergeräte
DE112014005412T5 (de) Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE102011075776A1 (de) Verfahren und System zum Aktualisieren eines gemeinsam genutzten Speichers
WO2013000854A1 (de) Fahrzeugeinheit und verfahren zum betreiben der fahrzeugeinheit
DE102016205289A1 (de) Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
US20140058532A1 (en) Method for partial flashing of ecus
DE102010038179B4 (de) Individuelle Aktualisierung von Computerprogrammen
WO2017102295A1 (de) Verfahren und sicherheitsmodul zum bereitstellen einer sicherheitsfunktion für ein gerät
DE102018213615A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
EP3754530B1 (de) Verfahren zum nachladen von software auf eine chipkarte durch einen nachladeautomaten
WO2004090695A1 (de) Verfahren zur überprüfung der datenintegrität von software in steuergeräten
DE102018211139A1 (de) Steuergerät sowie Verfahren zu dessen Betrieb
EP2394232A2 (de) Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software
DE102005046696A1 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
DE102019214922A1 (de) Konfigurationsverfahren für eine Eisenbahnsignalanlage und Aktualisierungssystem
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
DE102020212988A1 (de) Sicheres Hochfahren eines Computersystems
DE102021003840A1 (de) Verfahren zur Überprüfung digitaler Signaturen, Fahrzeug-Recheneinheit und Fahrzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: SCHWEIGER, MARTIN, DIPL.-ING. UNIV., DE