-
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 2–11 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 4–9 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.