DE102013225445A1 - Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule - Google Patents

Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule Download PDF

Info

Publication number
DE102013225445A1
DE102013225445A1 DE102013225445.8A DE102013225445A DE102013225445A1 DE 102013225445 A1 DE102013225445 A1 DE 102013225445A1 DE 102013225445 A DE102013225445 A DE 102013225445A DE 102013225445 A1 DE102013225445 A1 DE 102013225445A1
Authority
DE
Germany
Prior art keywords
authenticity
control module
program
data
bypassing
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.)
Ceased
Application number
DE102013225445.8A
Other languages
English (en)
Inventor
Ansaf I. Alrabady
Kevin M. Baltes
J. David Rosa
Thomas M. Forest
Alan D. Wist
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 DE102013225445A1 publication Critical patent/DE102013225445A1/de
Ceased 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
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • 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
    • 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]
    • 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

Landscapes

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

Abstract

Es werden Verfahren und Systeme vorgestellt zum Umgehen einer Authentizitätsprüfung eines geschützten Sicherheitsmoduls. In einer Ausführungsform enthält das Verfahren: Empfangen von Authentizitätsdaten von einer sicheren Quelle, bei dem die Authentizitätsdaten eine Signatur und einen Identifikator enthalten, die für das Steuermodul eindeutig sind, Programmieren des Steuermoduls mit den Authentizitätsdaten und Umgehen der Authentizitätsprüfung eines Steuerprogramms des Steuermoduls, basierend auf den Authentizitätsdaten.

Description

  • TECHNISCHES GEBIET
  • Das technische Gebiet betrifft allgemein Verfahren und Systeme zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule.
  • HINTERGRUND
  • Fahrzeugsteuermodule steuern den Betrieb einer oder mehrerer Komponenten eines Fahrzeugs. Beispielsweise kann ein Steuermodul als ein Motorsteuermodul oder als ein Getriebesteuermodul funktionieren, das den Betrieb des Motors oder des Getriebes des Fahrzeugs steuert. Im Allgemeinen umfasst ein Fahrzeugsteuermodul ein Steuerprogramm, dass Befehle zum Steuern des Betriebs der Komponente beinhält. Das Steuerprogramm kann, ohne darauf beschränkt zu sein, ein Boot-Programm, ein Anwendungsprogramm und Kalibrierungsdaten enthalten. Der Speicher des Steuermoduls kann gelöscht werden und/oder überschrieben werden, um das Steuerprogramm zu ersetzen oder upzudaten.
  • Ein geschütztes Produktionssteuermodul setzt typischerweise voraus, dass das Steuerprogramm digital signiert ist, um das Steuerprogramm zu ersetzen oder upzudaten. Um signiert zu werden, enthält das Steuerprogramm eine digitale Signatur, die für ein bestimmtes Steuermodul authentisch ist. Die digitale Signatur wird üblicherweise von einer sicheren Quelle wie z. B. einem sicheren Server generiert.
  • Folglich ist es wünschenswert, Verfahren und Systeme zum Updaten oder Ersetzen eines Steuerprogramms einer geschützten Steuerung mit einem unsignierten Steuerprogramm zu ersetzen. Weiterhin werden weitere erwünschte Merkmale und Charakteristika der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den anhängenden Patentansprüchen in Verbindung mit den beiliegenden Zeichnungen und den vorstehenden Abschnitten Technisches Gebiet und Hintergrund deutlich.
  • ÜBERSICHT
  • Es werden Verfahren und Systeme zum Umgehen einer Authentizitätsüberprüfung für ein geschütztes Steuermodul bereitgestellt. In einer Ausführungsform umfasst ein Verfahren: Empfangen von Authentizitätsdaten von einer sicheren Quelle, wobei die Authentizitätsdaten eine Signatur und eine für das Steuermodul einmalige Kennung beinhalten; und Umgehen der Authentizitätsüberprüfung eines Steuerprogramms des Steuermoduls, basierend auf den Authentizitätsdaten.
  • In einer weiteren Ausführungsform umfasst ein System ein geschütztes Steuermodul, das einen nicht-flüchtigen Speicher enthält. Ein Steuerprogramm umfasst Authentizitätsdaten, empfangen von einer sicheren Quelle, speichert die Authentizitätsdaten im nicht-flüchtigen Speicher und umgeht die Authentizitätsüberprüfung, basierend auf den Authentizitätsdaten, wobei die Authentizitätsdaten eine Signatur und eine Kennung umfassen, die für das Steuermodul einmalig ist.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Die beispielhaften Ausführungsformen werden nachstehend anhand der folgenden Zeichnungsfiguren beschrieben, wobei gleiche Bezugszeichen gleiche Elemente bezeichnen, und wobei.
  • 1 ein funktionales Blockdiagramm eines Steuermoduls ist, das ein Authentizitäts-Bypass-System gemäß verschiedenen Ausführungsformen umfasst;
  • 2, 3 Blockdiagramme sind, die den Speicher des Steuermoduls und ein Authentizitäts-Bypass-System gemäß verschiedenen Ausführungsformen zeigen;
  • 4, 5 Flussdiagramme sind, die Authentizitäts-Bypass-Verfahren zeigen, die bei den Authentizitäts-Bypass-Systemen nach den 2 und 3 gemäß verschiedenen Ausführungsformen durchgeführt werden können;
  • 6 ein Blockdiagramm ist, das den Speicher des Steuermoduls und ein Authentizitäts-Bypass-System zeigt;
  • 7, 8, 9 Flussdiagramme sind, die Authentizitäts-Bypass-Verfahren zeigen, die beim Authentizitäts-Bypass-System nach 6 gemäß verschiedenen Ausführungsformen durchgeführt werden können;
  • 10 ein Blockdiagramm ist, das den Speicher des Steuermoduls und ein Authentizitäts-Bypass-System gemäß verschiedenen Ausführungsformen zeigt;
  • 11 ein Flussdiagramm ist, das ein Authentizitäts-Bypass-Verfahren zeigt, das beim Authentizitäts-Bypass-System nach 10 gemäß verschiedenen Ausführungsformen durchgeführt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachstehende ausführliche Beschreibung ist ihrer Natur nach lediglich beispielhaft und ist nicht dazu gedacht, Anwendung und Benutzung zu beschränken. Weiterhin besteht keine Absicht, durch irgendeine auf dem vorhergehend präsentierten technischen Gebiet, Hintergrund, Übersicht oder durch die nachfolgende ausführliche Beschreibung ausgedrückte oder implizierte Theorie gebunden zu sein. Soweit hier verwendet, beziehen sich die Begriffe Modul und/oder Anordnung auf eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam benutzt, zugeordnet oder als Gruppe) und Speicher, die eines oder mehrere Software- oder Firmwareprogramme ausführen, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bieten.
  • Nunmehr unter Bezugnahme auf die 1 enthält ein Steuermodul 20 im Allgemeinen einen flüchtigen Speicher 20, einen nicht-flüchtigen Speicher 24, eine zentrale Recheneinheit 26 (CPU) und ein Eingangs-/Ausgangsinterface 26. Obwohl nicht dargestellt, kann das Steuermodul 20 auch ein Spannungsversorgungsmodul und/oder andere Standardkomponenten aufweisen. Das Steuermodul 20 speichert im nicht-flüchtigen Speicher 24 und/oder im flüchtigen Speicher 22 ein Steuerprogramm 30. Basierend auf Befehlen des Steuerprogramms 30 bewirkt die CPU 26 ein Steuern einer Komponente 32 eines Fahrzeugs 33.
  • Der flüchtige Speicher 22 speichert flüchtige vom Steuerprogramm 30 verwendete Daten. Generell geht der Inhalt des flüchtigen Speichers 22 beim Herunterfahren verloren und/oder er wird bei einem Reset des Steuermoduls 20 reinitialisiert (z. B. mit „null” beschrieben). Der flüchtige Speicher 22 kann jedoch einen temporären Speicherbereich zum Bewahren permanenter Daten aufweisen. Während des Betriebs des Steuermoduls 20 können bestimmte Daten im temporären Speicherbereich gespeichert werden. Die Daten können dann vor Herunterfahren des Steuermoduls 20 in einen zur Verfügung stehenden Bereich des nicht-flüchtigen Speichers 24 transferiert werden. Auf diese Art werden die im temporären Speicherbereich gespeicherten Daten im nichtflüchtigen Speicher 24 erhalten, bevor der flüchtige Speicher 22 gelöscht wird.
  • Der nicht-flüchtige Speicher 24 speichert das Steuerprogramm 30. Bei verschiedenen Ausführungsformen beinhält der nicht-flüchtige Speicher 24 wieder beschreibbare und/oder nicht wieder beschreibbare Bereiche. Das Steuerprogramm beinhält allgemein ein Boot-Programm 34, das Anwendungsprogramm 36 und eine oder mehrere Kalibrierungsdateien 38. Bei verschiedenen Ausführungsformen können das Boot-Programm 34, das Anwendungsprogramm 36 und die Kalibrierungsdateien 38 in einem beliebigen Bereich der wieder beschreibbaren und der nicht wieder beschreibbaren Bereiche gespeichert werden. Wie in den 2, 3, 6 und 10 dargestellt, kann der nicht-flüchtige Speicher 24 in einen Boot-Speicher 40, einen Anwendungsspeicher 42 und einen Kalibrierungsspeicher 44 partitioniert sein. Der Boot-Speicher 40 speichert das Boot-Programm 34. Der Anwendungsspeicher 42 speichert das Anwendungsprogramm 36. Der Kalibrierungsspeicher 44 speichert die Kalibrierungsdateien 38.
  • Wiederum Bezug nehmend auf die 1 wird im Allgemeinen das Boot-Programm 34 durch die CPU 26 beim unter Spannung setzen oder beim Rücksetzen des Steuermoduls 20 (d. h., wenn sich das Steuermodul 20 in einem „Boot-Modus” befindet) ausgeführt. Beispielsweise kann das Boot-Programm 34 ermitteln, ob korrekte Anwendungs- oder Kalibrierungsdaten vorliegen. Zusätzlich kann das Boot-Programm 34 die Integrität des Anwendungsprogramms oder der Kalibrierungsdateien überprüfen. Falls das Boot-Programm 34 Anwesenheit und Integrität aller notwendigen Software und/oder Daten bestätigt, führt die CPU 26 das Anwendungsprogramm 36 aus (d. h., wenn sich das Steuermodul 20 in einem „Anwendungsmodus” befindet).
  • Das Anwendungsprogramm 36 wird durch die CPU 26 ausgeführt, um eine oder mehrere Komponenten 32 des Fahrzeugs 33 zu steuern. Die CPU 26 führt Befehle des Anwendungsprogramms 36 unter Verwenden von Kalibrierungsdaten aus den Kalibrierungsdateien 38 aus. Die Kalibrierungsdaten können für eine oder mehrere Komponenten 32 und/oder für das ausgewählte Fahrzeug 33 spezifisch sein.
  • Ein Daten-Rückschreibemodul 50 kommuniziert mit dem Steuermodul 20 über ein Medium 52 (z. B. entweder über Draht oder drahtlos) und das Eingangs-/Ausgangsinterface 28, um das im nicht-flüchtigen Speicher 24 gespeicherte Steuerprogramm 30 zu löschen oder neu zu schreiben. Bei verschiedenen Ausführungsformen kann das Daten-Rückschreibemodul 50 Teil des Fahrzeugs 33 sein und/oder es kann als ein vom Fahrzeug 33 separates Teil (wie dargestellt) implementiert sein.
  • Das zurück zu schreibende Steuerprogramm 30 umfasst ein Authentizitäts-Bypass-System 54 gemäß verschiedener Ausführungsformen. Wie noch in Bezug auf die 211 detaillierter besprochen werden wird, kann das Authentizitäts-Bypass-System 54 beliebig im Boot-Programm 34, im Anwendungsprogramm 36 und/oder in den Kalibrierungsdateien 38 implementiert sein. Im Allgemeinen speichert das Authentizitäts-Bypass-System 54 und führt Authentizitäts-Bypass-Verfahren aus, die durch das Steuermodul 20 benutzt werden können, wenn das Steuermodul 20 ein geschütztes Produktionssteuerungsmodul zum Umgehen einer Authentizitätsüberprüfung ist. Die Authentizitäts-Bypass-Systeme und -Verfahren verwenden Authentizitäts-Bypass-Daten 56.
  • Bei verschiedenen Ausführungsformen werden die Authentizitäts-Bypass-Daten 56 auf Anfrage (z. B. durch einen Produktionsserver, der Produktionssteuermodulinformation speichert) durch eine sichere Quelle 58 generiert. Im Minimum enthalten die Authentizitäts-Bypass-Daten 56 eine Authentizitätssignatur 57 und einen Steuermodulidentifikator 59 (bezeichnet als ECU ID). Die Signatur 57 und der ECU ID 59 sind für jedes Produktionssteuermodul 20 eindeutig.
  • Nunmehr unter Bezugnahme auf die 2 und 3 zeigt ein Blockdiagramm Authentizitäts-Bypass-Systeme 54-1, 54-2 gemäß verschiedener Ausführungsformen. Bei diesen Ausführungsformen speichern die Authentizitäts-Bypass-Systeme 54 die Authentizitäts-Bypass-Daten 56 in Form eines Sicherheitstickets 60. Das Sicherheitsticket 60 wird dann verwendet, um eine Authentizitäts-Bypass-Funktion 62 des Boot-Programms 34 an- und abzuschalten.
  • Bei verschiedenen anderen Ausführungsformen wird, wie in 2 gezeigt, das Sicherheitsticket 60 an einem bestimmten Speicherort des Kalibrierungsspeichers 44 gespeichert. Das im Kalibrierungsspeicher 44 gespeicherte Sicherheitsticket 60 basiert z. B. auf herkömmlichen Kalibrierdateienprogrammiermethoden des Daten-Rückschreibemoduls 50 (1).
  • Bei verschiedenen Ausführungsformen wird, wie in 3 gezeigt, das Sicherheitsticket 60 in einem bestimmten Speicherort (z. B. einem Speicherort, der benutzt wird, um ein EEPROM zu emulieren) gespeichert, der vom Boot-Speicher 40, dem Anwendungsspeicher 42 und dem Kalibrierungspeicher 44 getrennt ist und der als Authentizitätsspeicher 64 bezeichnet wird. Das Sicherheitsticket 60 wird im Authentizitätsspeicher 64 mittels einer Schlüsselschreibfunktion 66 des Anwendungsprogramms gespeichert.
  • Wenn sich beispielsweise, wie in 4 gezeigt und weiterhin mit Bezug auf die 1 und 2, das Zentralmodul 20 (1) beim Punkt 100 im Anwendungsmodus befindet, wird ermittelt, ob am Abfragepunkt 110 eine Anforderung, das Sicherheitsticket 60 (z. B. das durch das Daten-Rückschreibemodul 50 generiert wird) in den Authentizitätsspeicher 64 zu schreiben, empfangen wird. Falls die Anforderung am Abfragepunkt 110 empfangen wird, wird optional das Sicherheitsticket im Block 120 verifiziert. Das Sicherheitsticket 60 wird in den Authentizitätsspeicher 64 im Block 130 geschrieben. Falls jedoch die Anforderung am Abfragepunkt 110 nicht empfangen wird, kann das Verfahren im Anwendungsmodus am Punkt 140 fortfahren.
  • Wenn sich beispielsweise, wie in 5 gezeigt und weiterhin mit Bezug auf die 1, 2 und 3, das Steuermodul 20 beim Punkt 150 im Boot-Modus befindet (z. B. nach einem Rest des Steuermoduls 20), wird ermittelt, ob am Abfragepunkt 160 das Sicherheitsticket 60 im Authentizitätsspeicher 64 gespeichert ist. Falls das Sicherheitsticket 60 am Abfragepunkt 160 im Authentizitätsspeicher 64 gespeichert ist, werden die Authentizitätsdaten 56 im Block 170 aus dem Sicherheitsticket 60 ausgelesen. Auf Basis der Signaturdaten 56 wird am Abfragepunkt 180 ermittelt, ob das Sicherheitsticket 60 echt ist. Falls am Abfragepunkt 180 die Signatur 57 anzeigt, dass das Sicherheitsticket 60 echt ist, wird am Abfragepunkt 190 die ECU ID 59 ausgewertet. Falls jedoch das Sicherheitsticket 60 am Abfragepunkt 180 nicht echt ist, wird das Verfahren mit Durchführen der Authentizitätsprüfung im Block 200 fortgeführt. Danach kann das Verfahren im Boot-Modus am Punkt 230 fortfahren.
  • Falls am Abfragepunkt 190 die ECU ID 59 nicht mit der im Boot-Programm 62 gespeicherten ECU ID übereinstimmt, fährt das Verfahren mit der Authentizitätsprüfung im Block 200 fort. Danach kann das Verfahren im Boot-Modus am Punkt 230 fortfahren.
  • Falls am Abfragepunkt 190 die ECU ID 59 mit der im Boot-Programm 34 gespeicherten ECU ID übereinstimmt, wird im Block 210 die Authentizitäts-Bypass-Marke des Boot-Programms 34 auf WAHR gesetzt (d. h., die Bypass-Funktion wird freigegeben) und die Überprüfung auf Authentizität von programmierten Anwendungsprogrammen oder von Kalibrierungsdateien im Block 220 wird umgangen. Danach kann das Verfahren im Boot-Modus am Punkt 230 fortfahren.
  • Nunmehr unter Bezugnahme auf die 6 zeigt ein Blockdiagramm ein Authentizitäts-Bypass-System 54-3 entsprechend verschiedenen anderen Ausführungsformen. Bei dieser Ausführungsform speichert das Authentizitäts-Bypass-System 54-3 die Authentizitäts-Bypass-Daten 56 in Form eines Authentizitäts-Bypass-Programms 68. Das Authentizitäts-Bypass-Programm 68 wird dann verwendet, um ein Produktions-Boot-Programm 34-1 zu reprogrammieren mittels eines Entwicklungs-Boot-Programms 34-2, welches eine Signatur-Bypass-Funktion 70 beinhält. Bei verschiedenen Ausführungsformen wird beim Reprogrammieren das Authentizitäts-Bypass-Programm 68 im Anwendungsspeicher 42 durch beispielsweise das Produktions-Boot-Programm 34-1 gespeichert.
  • Wenn sich beispielsweise, wie in den 49 gezeigt und weiterhin mit Bezug auf die 1 und 6, am Punkt 300 der 7 das Steuermodul 20 im Produktions-Boot-Modus befindet, wird ermittelt, ob am Abfragepunkt 310 das Authentizitäts-Bypass-Programm 68 empfangen wird. Falls das Authentizitäts-Bypass-Programm 68 am Abfragepunkt 310 nicht empfangen wird, fährt das Verfahren im Produktions-Boot-Modus am Punkt 320 fort. Falls jedoch das Authentizitäts-Bypass-Programm 68 am Abfragepunkt 310 empfangen wird, werden im Block 330 die Sicherheitsdaten 56 des Bypass-Programmms 68 im Block 330 gelesen und an den Abfragepunkten 340 und 350 ausgewertet. Falls am Abfragepunkt 340 die Signatur 57 anzeigt, dass das Authentizitäts-Bypass-Programm 68 echt ist, fährt dann das Steuermodul 20 mit Auswerten der ECU ID am Abfragepunkt 350 fort. Andernfalls, falls die Signatur 57 anzeigt, dass das Authentizitäts-Bypass-Programm 68 am Abfragepunkt 340 nicht echt ist, wird das Authentizitäts-Bypass-Programm 68 im Block 360 zurückgewiesen und das Steuermodul 20 fährt am Punkt 320 im Produktions-Boot-Modus fort.
  • Falls am Abfragepunkt 350 die ECU ID 59 mit einer im Produktions-Boot-Programm 34-1 gespeicherten ECU ID übereinstimmt, wird das Bypass-Programm 68 im Anwendungsspeicher 42 im Block 370 gespeichert und das Steuermodul 20 fährt am Punkt 320 im Produktions-Boot-Modus fort. Falls jedoch am Abfragepunkt 350 die ECU ID 59 mit der im Produktions-Boot-Programm 34-1 gespeicherten ECU ID nicht übereinstimmt, wird das Bypass-Programm 68 im Block 360 zurückgewiesen und das Steuermodul 20 fährt am Punkt 320 im Produktions-Boot-Modus fort.
  • Wenn sich, wie in 8 gezeigt, das Steuermodul 20 am Punkt 380 im Anwendungsmodus befindet, wird wahlweise ermittelt, ob das Authentizitäts-Bypass-Programm 68 am Abfragepunkt 390 anliegt. Falls das Authentizitäts-Bypass-Programm 68 am Abfragepunkt 390 nicht anliegt, fährt das Steuermodul 20 im Punkt 400 im Anwendungsmodus fort.
  • Falls jedoch festgestellt wird, dass das Authentizitäts-Bypass-Programm 68 im Anwendungsspeicher 42 vorhanden ist, wird das Authentizitäts-Bypass-Programm 68 im Block 410 ausgeführt. Beispielsweise löscht das Authentizitäts-Bypass-Programm 68. das Produktions-Boot-Programm 34-1 im Block 420 aus dem Bootspeicher 40 und schreibt im Block 430 das Entwicklungs-Boot-Programm 34-2 in den Bootspeicher 40. Anschließend fährt das Steuermodul 20 im Punkt 400 im Anwendungsmodus fort.
  • Wenn sich, wie in 9 gezeigt, das Steuermodul 20 im Punkt 440 im Entwicklungs-Boot-Modus befindet (beispielsweise nach einem Reset des Steuermoduls 20), wird ermittelt, ob die Authentizitäts-Bypass-Funktion 70 am Abfragepunkt 450 freigegeben ist. Falls die Authentizitäts-Bypass-Funktion 70 am Abfragepunkt 450 nicht freigegeben ist, wird die Authentizitätsüberprüfung im Block 460 durchgeführt und das Steuermodul 20 fährt am Punkt 470 im Entwicklungs-Boot-Modus fort. Falls jedoch die Authentizitäts-Bypass-Funktion 70 am Abfragepunkt 450 freigegeben ist, wird im Block 480 die Authentizitätsüberprüfung umgangen und das Steuermodul 20 fährt am Punkt 470 im Entwicklungs-Boot-Modus fort.
  • Nunmehr unter Bezugnahme auf die 10 zeigt ein Blockdiagramm ein Authentizitäts-Bypass-System 54-4 entsprechend verschiedener anderer Ausführungsformen. Bei dieser Ausführungsform speichert das Authentizitäts-Bypass-System 54-4 Authentizitäts-Bypass-Daten 56 in Gestalt eines Authentizitäts-Bypass-Headers 72. Der Authentizitäts-Bypass-Header 72 ist am Anwendungsprogramm 36 und/oder in der Kalibrierdatei 38 angebracht oder in jeder der Anwendungsdateien des Anwendungsprogramms 36 und/oder in jeder der Kalibrierdateien 38. Der/die Authentizitäts-Bypass-Header 72 wird/werden dann verwendet, um eine Authentizitäts-Bypass-Funktion 74 des Boot-Programms 34 an- und abzuschalten, weil das Anwendungsprogramm 36 und/oder die Kalibrierdateien 38 in das Steuermodul 20 programmiert werden sollen.
  • Falls, wenn sich beispielsweise, wie in 11 gezeigt und weiterhin mit Bezug auf die 1 und 10, das Steuermodul 20 am Punkt 500 im Boot-Modus befindet, ein Programmierpaket einschließlich dem Anwendungsprogramm 36 und/oder den Kalibrierdaten 38 am Abfragepunkt 510 empfangen wird, wird/werden der/die Header 72 im Block 520 extrahiert und in den Abfragepunkten 530 und 540 ausgewertet. Falls jedoch das Programmierpaket nicht am Abfragepunkt 510 empfangen wird, fährt das Steuermodul 20 am Punkt 550 im Boot-Modus fort.
  • Falls am Abfragepunkt 530 die Signatur 57 des Headers 72 anzeigt, dass das Anwendungsprogramm 36 (oder die Anwendungsdatei) oder die Kalibrierdatei 38 echt ist, fährt das Steuermodul 20 dann mit Auswerten der ECU ID 59 des Headers im Abfragepunkt 540 fort. Andererseits, wenn am Abfragepunkt 530 die Signatur 57 anzeigt, dass das Anwendungsprogramm 36 (oder die Anwendungsdatei) oder die Kalibrierdatei 38 nicht echt ist, werden das Anwendungsprogramm 36 oder die Kalibrierdatei 38 im Block 560 zurückgewiesen und das Steuermodul 20 fährt am Punkt 550 im Boot-Modus fort.
  • Falls am Abfragepunkt 540 die ECU ID 59 mit einer im Boot-Programm 34 gespeicherten ECU ID übereinstimmt, werden im Block 570 das Anwendungsprogramm 36 oder die Kalibrierdatei 38 im Anwendungsspeicher 42 oder im Kalibrierspeicher 44 (ohne Durchführen der Authentizitätsüberprüfung) gespeichert. Falls jedoch am Abfragepunkt 540 die ECU ID 59 nicht mit der im Boot-Programm 34 gespeicherten ECU ID übereinstimmt, wird im Block 560 das Anwendungsprogramm 36 oder die Kalibrierdatei 38 zurückgewiesen und das Steuermodul 20 fährt am Punkt 550 im Boot-Modus fort.
  • Während wenigstens eine beispielhafte Ausführungsform in der vorstehenden ausführlichen Beschreibung vorgestellt worden ist, sollte doch anerkannt werden, dass es eine enorme Anzahl von Varianten gibt. Es sollte auch anerkannt werden, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen lediglich Beispiele sind, die nicht dazu vorgesehen sind, den Umfang, die Anwendbarkeit oder die Gestaltung der Offenbarung in irgend einer Weise zu beschränken. Vielmehr wird die vorstehende ausführliche Beschreibung dem Fachmann einen geeigneten Plan bieten, die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen zu implementieren. Es sollte selbstverständlich sein, dass verschiedene Änderungen in der Funktion und in der Anordnung von Elementen gemacht werden können, ohne vom Umfang der Offenbarung abzuweichen, wie in den beigefügten Patentansprüchen und deren rechtlichen Äquivalenten dargelegt.
  • WEITERE AUSFÜHRUNGSFORMEN
    • 1. Verfahren zum Umgehen einer Authentizitätsprüfung für ein geschütztes Steuermodul, enthaltend: Empfangen von Authentizitätsdaten von einer sicheren Quelle, wobei die Authentizitätsdaten eine Signatur und einen Identifikator umfassen, die eindeutig für das Steuermodul sind; Programmieren des Steuermoduls mit den Authentizitätsdaten; und Umgehen der Authentizitätsprüfung eines Steuerprogramms des Steuermoduls, basierend auf den Authentizitätsdaten.
    • 2. Verfahren nach Ausführungsform 1, weiterhin enthaltend Kombinieren der Authentizitätsdaten mit wenigstens einer Datei des Steuerprogramms, und wobei das Programmieren des Steuermoduls mit den Authentizitätsdaten Programmieren des Steuermoduls mit der wenigstens einen Datei und den Authentizitätsdaten enthält.
    • 3. Verfahren nach Ausführungsform 2, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms enthält, wenn die Signatur der Authentizitätsdaten gültig ist und wenn die ID mit einem Identifikator des Steuermoduls übereinstimmt.
    • 4. Verfahren nach Ausführungsform 1, bei dem das Programmieren des Steuermoduls mit den Authentizitätsdaten Speichern der Authentizitätsdaten als ein Authentizitätsanwendungsprogramm in einem Anwendungsspeicher enthält.
    • 5. Verfahren nach Ausführungsform 4, weiter enthaltend Ausführen des Authentizitätsanwendungsprogramms, um ein Produktions-Boot-Programm vom Boot-Speicher zu löschen und um ein Entwicklungs-Boot-Programm zum Boot-Speicher zu schreiben.
    • 6. Verfahren nach Ausführungsform 5, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms durch das Entwicklungs-Boot-Programm durchgeführt wird.
    • 7. Verfahren nach Ausführungsform 6, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms enthält, wenn die Authentizitätsdaten gültig sind und wenn die ID mit einem Identifikator des Steuermoduls übereinstimmt.
    • 8. Verfahren nach Ausführungsform 1, bei dem das Programmieren des Steuermoduls mit den Authentizitätsdaten ein Speichern der Authentizitätsdaten in einem bestimmten Speicherbereich enthält.
    • 9. Verfahren nach Ausführungsform 8, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms enthält, wenn die Authentizitätsdaten gültig sind und wenn die Authentizitätsdaten im bestimmten Speicherbereich gespeichert werden.
    • 10. Verfahren nach Ausführungsform 9, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms weiterhin ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms zusätzlich dann enthält, wenn die Signatur der Authentizitätsdaten gültig ist und wenn die ID mit einem Identifikator des Steuermoduls übereinstimmt.
    • 11. Verfahren nach Ausführungsform 8, bei dem sich der bestimmte Speicherbereich in einem Kalibrierungsspeicher befindet.
    • 12. Verfahren nach Ausführungsform 8, bei dem sich der bestimmte Speicherbereich in einem Speicherbereich befindet, der nicht Teil des Anwendungsspeichers und des Kalibrierungsspeichers ist.
    • 13. Verfahren nach Ausführungsform 1, bei dem die Authentizitätsdaten in das Steuermodul in Form eines Dateiheaders programmiert werden.
    • 14. Verfahren nach Ausführungsform 1, bei dem die Authentizitätsdaten in das Steuermodul in Form eines Anwendungsprogramms programmiert werden.
    • 15. Verfahren nach Ausführungsform 1, bei dem die Authentizitätsdaten in das Steuermodul in Form eines Sicherheitstickets programmiert werden.
    • 16. System zum Umgehen einer Authentizitätsprüfung, enthaltend: ein geschütztes Steuermodul, das einen nicht-flüchtigen Speicher umfasst; und ein Steuerprogramm, das Authentizitätsdaten umfasst, die von einer sicheren Quelle empfangen werden, und das, basierend auf den Authentizitätsdaten, die Authentizitätsprüfung umgeht, wobei die Authentizitätsdaten eine Signatur und einen Identifikator (ID) beinhalten, die für das Steuermodul eindeutig sind.
    • 17. System nach Ausführungsform 16, bei dem der nichtflüchtige Speicher wenigstens in einen Boot-Speicher, einen Anwendungsspeicher und einen Kalibrierungsspeicher eingeteilt ist, und bei dem die Authentizitätsdaten im Anwendungsspeicher gespeichert sind.
    • 18. System nach Ausführungsform 16, bei dem der nichtflüchtige Speicher wenigstens in einen Boot-Speicher, einen Anwendungsspeicher und einen Kalibrierungsspeicher eingeteilt ist, und bei dem die Authentizitätsdaten im Kalibrierungsspeicher gespeichert sind.
    • 19. System nach Ausführungsform 16, bei dem der nichtflüchtige Speicher wenigstens in einen Boot-Speicher, einen Anwendungsspeicher, einen Kalibrierungsspeicher und einen Authentizitätsspeicher eingeteilt ist, und bei dem die Authentizitätsdaten im Authentizitätsspeicher gespeichert sind.

Claims (10)

  1. Verfahren zum Umgehen einer Authentizitätsprüfung für ein geschütztes Steuermodul, enthaltend: Empfangen von Authentizitätsdaten von einer sicheren Quelle, wobei die Authentizitätsdaten eine Signatur und einen Identifikator umfassen, die eindeutig für das Steuermodul sind; Programmieren des Steuermoduls mit den Authentizitätsdaten; und Umgehen der Authentizitätsprüfung eines Steuerprogramms des Steuermoduls, basierend auf den Authentizitätsdaten.
  2. Verfahren nach Patentanspruch 1, weiterhin enthaltend Kombinieren der Authentizitätsdaten mit wenigstens einer Datei des Steuerprogramms, und wobei das Programmieren des Steuermoduls mit den Authentizitätsdaten Programmieren des Steuermoduls mit der wenigstens einen Datei und den Authentizitätsdaten enthält.
  3. Verfahren nach einem der vorhergehenden Patentansprüche, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms enthält, wenn die Signatur der Authentizitätsdaten gültig ist und wenn die ID mit einem Identifikator des Steuermoduls übereinstimmt.
  4. Verfahren nach einem der vorhergehenden Patentansprüche; bei dem das Programmieren des Steuermoduls mit den Authentizitätsdaten Speichern der Authentizitätsdaten als ein Authentizitätsanwendungsprogramm in einem Anwendungsspeicher enthält.
  5. Verfahren nach einem der vorhergehenden Patentansprüche, weiter enthaltend Ausführen des Authentizitätsanwendungsprogramms, um ein Produktions-Boot-Programm vom Boot-Speicher zu löschen und um ein Entwicklungs-Boot-Programm zum Boot-Speicher zu schreiben.
  6. Verfahren nach einem der vorhergehenden Patentansprüche, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms durch das Entwicklungs-Boot-Programm durchgeführt wird.
  7. Verfahren nach einem der vorhergehenden Patentansprüche, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms enthält, wenn die Authentizitätsdaten gültig sind und wenn die ID mit einem Identifikator des Steuermoduls übereinstimmt.
  8. Verfahren nach einem der vorhergehenden Patentansprüche, bei dem das Programmieren des Steuermoduls mit den Authentizitätsdaten ein Speichern der Authentizitätsdaten in einem bestimmten Speicherbereich enthält.
  9. Verfahren nach einem der vorhergehenden Patentansprüche, bei dem das Umgehen der Authentizitätsprüfung des Steuerprogramms ein selektives Umgehen der Authentizitätsprüfung des Steuerprogramms enthält, wenn die Authentizitätsdaten gültig sind und wenn die Authentizitätsdaten im bestimmten Speicherbereich gespeichert werden.
  10. Verfahren nach einem der vorhergehenden Patentansprüche, bei dem sich der bestimmte Speicherbereich in einem Kalibrierungsspeicher befindet.
DE102013225445.8A 2012-12-20 2013-12-10 Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule Ceased DE102013225445A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/722,810 US10038565B2 (en) 2012-12-20 2012-12-20 Methods and systems for bypassing authenticity checks for secure control modules
US13/722,810 2012-12-20

Publications (1)

Publication Number Publication Date
DE102013225445A1 true DE102013225445A1 (de) 2014-06-26

Family

ID=50878995

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013225445.8A Ceased DE102013225445A1 (de) 2012-12-20 2013-12-10 Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule

Country Status (3)

Country Link
US (1) US10038565B2 (de)
CN (1) CN103886245B (de)
DE (1) DE102013225445A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013142948A1 (en) 2012-03-30 2013-10-03 Irdeto Canada Corporation Method and system for preventing and detecting security threats
JP6560604B2 (ja) * 2015-12-08 2019-08-14 Kddi株式会社 管理装置、管理方法、及びプログラム
JP6260067B1 (ja) 2016-08-09 2018-01-17 Kddi株式会社 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
CN109314644B (zh) 2016-08-10 2021-08-27 Kddi株式会社 数据提供系统、数据保护装置、数据提供方法以及存储介质
JP6454919B2 (ja) * 2017-10-10 2019-01-23 Kddi株式会社 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP6554704B2 (ja) * 2017-10-18 2019-08-07 Kddi株式会社 データ提供システム及びデータ提供方法
US10430178B2 (en) 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
US11954205B2 (en) 2022-06-24 2024-04-09 GM Global Technology Operations LLC Security control for electronic control unit

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697948B1 (en) 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US6892303B2 (en) * 2000-01-06 2005-05-10 International Business Machines Corporation Method and system for caching virus-free file certificates
US6928550B1 (en) * 2000-01-06 2005-08-09 International Business Machines Corporation Method and system for generating and using a virus free file certificate
US7788553B2 (en) * 2000-01-06 2010-08-31 Super Talent Electronics, Inc. Mass production testing of USB flash cards with various flash memory cells
US7487112B2 (en) * 2000-06-29 2009-02-03 Barnes Jr Melvin L System, method, and computer program product for providing location based services and mobile e-commerce
JP2002278839A (ja) * 2001-03-15 2002-09-27 Sony Corp データアクセス管理システム、メモリ搭載デバイス、およびデータアクセス管理方法、並びにプログラム記憶媒体
EP1361527A1 (de) 2002-05-07 2003-11-12 Sony Ericsson Mobile Communications AB Verfahren zum Laden einer Anwendung in einem Gerät, Gerät und Chipkarte dafür
WO2005060256A1 (en) * 2003-12-18 2005-06-30 Matsushita Electric Industrial Co., Ltd. Method for authenticating and executing an application program
GB2413653B (en) 2004-04-29 2007-11-28 Symbian Software Ltd Installation of software on removable media
US8296561B2 (en) * 2006-07-03 2012-10-23 Panasonic Corporation Certifying device, verifying device, verifying system, computer program and integrated circuit
US8677144B2 (en) * 2008-02-25 2014-03-18 Cavium, Inc. Secure software and hardware association technique
US8291496B2 (en) * 2008-05-12 2012-10-16 Enpulz, L.L.C. Server based malware screening
EP2447843B1 (de) 2010-10-06 2013-07-03 Siemens Aktiengesellschaft Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
CN202009452U (zh) 2010-11-17 2011-10-12 苏州冠捷科技有限公司 一种电视机应用程序升级的验证系统
US8688313B2 (en) * 2010-12-23 2014-04-01 Aes Technologies, Llc. Remote vehicle programming system and method
JP5696564B2 (ja) * 2011-03-30 2015-04-08 富士通株式会社 情報処理装置および認証回避方法
US20130007348A1 (en) * 2011-07-01 2013-01-03 Apple Inc. Booting Raw Memory from a Host
CN102314578B (zh) 2011-09-26 2015-10-28 浪潮(北京)电子信息产业有限公司 一种实现软件保护的系统及方法

Also Published As

Publication number Publication date
US20140181526A1 (en) 2014-06-26
CN103886245B (zh) 2018-10-02
US10038565B2 (en) 2018-07-31
CN103886245A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
DE102013225445A1 (de) Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule
DE112012003795B4 (de) Verfahren und system für eine fahrzeug-information-integritätsverifikation
DE112014005412T5 (de) Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE60119412T2 (de) Speicherüberschreibungssystem für eine Fahrzeugsteuereinrichtung
DE112014004313T5 (de) Überschreiboperation-Erkennungssystem, Überschreiboperation-Erkennungseinrichtung und Informationsverarbeitungseinrichtung
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102012109615A1 (de) Verwendung eines Manifest zur Präsenzaufzeichnung von gültiger Software und Kalibrierung
DE102012109617A1 (de) Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders
DE112016002785T5 (de) Elektronische Steuereinheiten für Fahrzeuge
EP2542995A2 (de) Verfahren zum verifizieren eines speicherblocks eines nicht-flüchtigen speichers
EP3811261B1 (de) Kryptografiemodul und betriebsverfahren hierfür
EP3599567A1 (de) Vorrichtung und verfahren für eine integritätsüberprüfung einer oder mehrerer gerätekomponenten
DE10002203B4 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
DE102016200413A1 (de) Mikrocomputer
WO2004090695A1 (de) Verfahren zur überprüfung der datenintegrität von software in steuergeräten
DE10131577A1 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
DE10238094B4 (de) Verfahren zum Schutz gegen Manipulationen in einem Steuergerät für mindestens eine Kfz-Komponente und Steuergerät
DE102021121039A1 (de) Autonomes-fahren-aufzeichnungsvorrichtung und betriebsverfahren dafür
EP1293858B1 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
EP3647983A1 (de) Vorrichtung und betriebsverfahren zum überprüfen von betriebsdaten einer gesicherten start-betriebsphase eines insbesondere in einer industriellen anlagenumgebung verwendbaren gerätes
DE102017201555B4 (de) Datenintegritätseinrichtung
EP3876123B1 (de) Anordnung und betriebsverfahren für einen sicheren hochfahrablauf einer elektronischen einrichtung
DE102021003840A1 (de) Verfahren zur Überprüfung digitaler Signaturen, Fahrzeug-Recheneinheit und Fahrzeug
DE102015204172A1 (de) Programmverwaltungsvorrichtung, fahrzeugsteuervorrichtung und programmverwaltungsprogramm
DE102019220244A1 (de) Verfahren zur Speicherung von Betriebsdaten eines Kraftfahrzeuges

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final