-
EINLEITUNG
-
Die Informationen in diesem Abschnitt dienen der allgemeinen Darstellung des Kontextes der Offenbarung. Die Arbeit der gegenwärtig genannten Erfinder in dem in diesem Abschnitt beschriebenen Umfang, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung ansonsten nicht als Stand der Technik gelten, gelten gegenüber der vorliegenden Offenbarung weder ausdrücklich noch implizit als Stand der Technik.
-
Die vorliegende Offenbarung bezieht sich auf die Herstellung von Fahrzeugsteuermodulen, insbesondere auf das Bereitstellen von Fahrzeugsteuermodulen mit Sicherheitsberechtigungen.
-
Ein Fahrzeugsteuermodul kann einen oder mehrere Sicherheitsprozessorchips, Speicher, einen Sender-Empfänger und/oder andere Schaltungskomponenten beinhalten. Ein Fahrzeug kann mehrere Fahrzeugsteuermodule beinhalten. Für einige Fahrzeugsteuermodule sind Sicherheitsberechtigungen erforderlich, um bestimmte Funktionen auszuführen. So kommuniziert beispielsweise ein Fahrzeug-zu-Fahrzeug-(V2V)-Steuermodul eines ersten Fahrzeugs mit anderen V2V-Steuermodulen anderer Fahrzeuge. Um diese Kommunikation durchführen zu können, muss das V2V-Steuermodul des ersten Fahrzeugs öffentliche Zertifikate mit einem privaten Hauptschlüssel eines Fahrzeugherstellers signiert haben, um mit den anderen V2V-Steuermodulen zu kommunizieren. Die öffentlichen Zertifikate sind erforderlich, um Nachrichten, die gesendet werden, mit einer Geschwindigkeit von beispielsweise 10-mal pro Sekunde digital zu signieren. Die Nachrichten werden von nahegelegenen Fahrzeugen aufgenommen und verwendet, um Informationen zu ermitteln, die: mit dem Fahrzeug verbunden sind, das die Nachrichten sendet, anderen nahegelegenen Fahrzeugen und/oder anderen nahegelegenen Objekten. Die Nachrichten können Fahrzeugstandorte, Fahrzeuggeschwindigkeiten, Fahrtrichtungsangaben, Informationen über andere Objekte in der Nähe, Indikatoren zum Bremsverhalten von Fahrzeugen usw. beinhalten.
-
Gemäß den V2V-Kommunikationsprotokollen muss jede der Nachrichten, die von einem ersten V2V-Steuermodul eines ersten Fahrzeugs an ein zweites V2V-Steuermodul eines zweiten Fahrzeugs übertragen werden, mit einem privaten Schlüssel signiert werden, der für das erste V2V-Steuermodul eindeutig ist. Darüber hinaus muss jede der Nachrichten ein signiertes öffentliches Zertifikat beinhalten, das einen öffentlichen Schlüssel des ersten V2V Steuermoduls beinhaltet. Aus Datenschutzgründen beinhalten V2V-Kommunikationsprotokolle die Verwendung verschiedener öffentlicher Zertifikate für verschiedene Nachrichten, beispielsweise die Verwendung von 20 verschiedenen Zertifikaten innerhalb einer Woche, deren Austausch durch einen neuen Satz von 20 verschiedenen Zertifikaten in der nächsten Woche und so weiter für die Lebensdauer des Fahrzeugs. Damit ein neues Fahrzeug über einen längeren Zeitraum (z. B. 3 Jahre) ununterbrochen betrieben werden kann, bevor ein erneutes Herunterladen von Zertifikaten erforderlich ist, muss eine große vorgegebene Anzahl von öffentlichen Zertifikaten (z. B. 3000 öffentliche Zertifikate) erstellt und in jedem der V2V-Steuermodule gespeichert werden. V2V-Kommunikationsprotokolle erfordern weiterhin, dass für jedes V2V-Steuermodul ein Paket mit der vorgegebenen Anzahl von öffentlichen Zertifikaten erstellt und verschlüsselt wird. Die Verschlüsselung der öffentlichen Zertifikate verhindert, dass unbefugte Netzwerkvorrichtungen einen ganzen Satz öffentlicher Zertifikate eines Fahrzeugs lesen und dadurch Informationen über eines oder mehrere der V2V-Steuermodule erlangen.
-
KURZDARSTELLUNG
-
Eine Lieferantennetzwerkkomponente ist vorgesehen und beinhaltet einen Lieferantenprozessor und Speicher. Der Speicher ist konfiguriert, um vom Lieferantenprozessor ausführbare Anweisungen und Berechtigungspakete zu speichern. Eines der Berechtigungspakete beinhaltet Berechtigungsinformationen für mindestens einen der ersten Sicherheitsprozessorchips oder ein entsprechendes Fahrzeugsteuermodul, um vorgegebene Funktionen innerhalb eines Fahrzeugs auszuführen. Der Lieferantenprozessor ist konfiguriert, um die folgenden Anweisungen auszuführen: Empfangen eines öffentlichen Schlüssels mit Identifikator (ID) und einer Signatur öffentlicher Schlüssel vom ersten Sicherheitsprozessorchip, wobei der öffentliche Schlüssel mit ID und die öffentlichen Schlüssel mit Signatur den jeweiligen privaten Schlüsseln entsprechen, die im Sicherheitsprozessorchip gespeichert sind; Übertragen des öffentlichen Schlüssels mit ID und der öffentlichen Schlüssel mit Signatur an einen Zertifizierungsstellenprozessor eines Rechenzentrums eines Fahrzeugherstellers; und Empfangen des einen der Qualifikationspakete vom Zertifizierungsstellenprozessor vor der Montage des Fahrzeugsteuermoduls. Das Berechtigungspaket beinhaltet das Signieren von Zertifikaten. Der Lieferantenprozessor ist ferner konfiguriert, um die folgenden Anweisungen auszuführen: Lesen des öffentlichen ID-Schlüssels aus dem Fahrzeugsteuermodul nach dem Einbinden des ersten Sicherheitsprozessor-Chips in das Fahrzeugsteuermodul; Identifizieren des einen der Qualifikationspakete basierend auf dem öffentlichen ID-Schlüssel, und basierend auf der Identifizierung des anderen der Qualifikationspakete Programmieren des Fahrzeugsteuermoduls mit den Signaturzertifikaten vor der Installation des Fahrzeugsteuermoduls im Fahrzeug.
-
In weiteren Merkmalen ist der Lieferantenprozessor konfiguriert, um die folgenden Anweisungen auszuführen: Übertragen eines öffentlichen ID-Schlüssels und Signieren von öffentlichen Schlüsseln für jeden von mehreren Sicherheitsprozessor-Chips; wobei die Sicherheitsprozessor-Chips den ersten Sicherheitsprozessor-Chip beinhalten; und als Reaktion auf das Übertragen des öffentlichen ID-Schlüssels und der öffentlichen Signaturschlüssel für jeden der Sicherheitsprozessor-Chips Empfangen der Qualifikationspakete vom Zertifizierungsstellenprozessor.
-
In weiteren Merkmalen ist der Lieferantenprozessor konfiguriert, um die folgenden Anweisungen auszuführen: Warten, bis eine vorbestimmte Anzahl von Qualifikationspaketen empfangen wurde; und wenn die vorbestimmte Anzahl von Qualifikationspaketen vom Zertifizierungsstellenprozessor empfangen wurde, Programmieren mehrerer Fahrzeugsteuermodule.
-
In weiteren Merkmalen sind die Fahrzeugsteuermodule programmiert, um Fahrzeug-zu-Fahrzeug-Kommunikationsfunktionen auszuführen.
-
In weiteren Merkmalen empfängt der Lieferantenprozessor die privaten Schlüssel nicht vom ersten Sicherheitsprozessor-Chip.
-
In weiteren Merkmalen ist der Lieferantenprozessor konfiguriert, um die Anweisungen auszuführen, um nach dem Empfangen des einen der Qualifikationspakete vom Zertifizierungsstellenprozessor an den Lieferantenprozessor eine Seriennummer des Fahrzeugsteuermoduls und den öffentlichen ID-Schlüssel vom Lieferantenprozessor an den Zertifizierungsstellenprozessor zu übertragen.
-
In weiteren Merkmalen ist ein System zur Programmierung von Sicherheitszertifikaten vorgesehen, das die Netzwerkvorrichtung des Lieferanten, den Sicherheitsprozessor-Chip und eine wichtige Schlüssel-Extraktionsschnittstelle beinhaltet. Der Sicherheitsprozessor-Chip ist konfiguriert, um den externen Zugriff auf die privaten Schlüssel zu verhindern. Die Schlüssel-Extraktionsschnittstelle verbindet die Netzwerkvorrichtung des Lieferanten mit den Sicherheitsprozessor-Chips.
-
In weiteren Merkmalen ist der Sicherheitsprozessor-Chip so konfiguriert, dass er vor der Integration in das Fahrzeugsteuermodul (i) den öffentlichen ID-Schlüssel und die öffentlichen Signaturschlüssel erzeugt und (ii) den öffentlichen ID-Schlüssel und die öffentlichen Signaturschlüssel an den Lieferantenprozessor sendet.
-
In weiteren Merkmalen erzeugt der Sicherheitsprozessor-Chip die privaten Schlüssel, während er den öffentlichen ID-Schlüssel und die öffentlichen Signaturschlüssel erzeugt. Einer der privaten Schlüssel entspricht dem öffentlichen ID-Schlüssel und die anderen der privaten Schlüssel entsprechen jeweils dem öffentlichen Signaturschlüssel.
-
In weiteren Merkmalen werden die Berechtigungspakete basierend auf dem öffentlichen ID-Schlüssel verschlüsselt. Der Sicherheitsprozessor-Chip ist konfiguriert, um nach der Integration in das Fahrzeugsteuermodul das eine der Berechtigungspakete basierend auf einem privaten Schlüssel, der dem öffentlichen ID-Schlüssel entspricht, zu entschlüsseln.
-
In weiteren Merkmalen ist eine Zertifizierungsstellen-Netzwerkvorrichtung vorgesehen, die einen Zertifizierungsstellenprozessor und einen Speicher beinhaltet. Der Speicher ist zum Speichern von Anweisungen konfiguriert, die vom Zertifizierungsstellenprozessor ausgeführt werden können. Der Zertifizierungsstellenprozessor ist konfiguriert, um die folgenden Anweisungen auszuführen: Empfangen eines öffentlichen Schlüssels mit Kennung (ID) und eines öffentlichen Schlüssels mit Signatur von einem Lieferantenprozessor einer Steuermodul-Lieferanteneinrichtung, wobei der öffentliche ID-Schlüssel und der öffentliche Signaturschlüssel den jeweiligen privaten Schlüsseln entsprechen, die in einem ersten Sicherheitsprozessorchip gespeichert sind; Erstellen von Zertifikaten bzw. für die Vielzahl von öffentlichen Signaturschlüsseln; und Signieren der Zertifikate mit einem privaten Stammschlüssel eines Fahrzeugherstellers zum Bereitstellen von Signaturzertifikaten. Der Zertifizierungsstellenprozessor ist ferner konfiguriert, um die folgenden Anweisungen auszuführen: Verpacken der Signaturzertifikate in eine Datei, um ein erstes Berechtigungspaket zu erstellen, wobei die Berechtigungspakete Berechtigungsinformationen für mindestens einen der ersten Sicherheitsprozessor-Chips oder ein entsprechendes Fahrzeugsteuermodul beinhalten, um vorgegebene Funktionen innerhalb eines Fahrzeugs auszuführen, und vor der Steuermodul-Lieferanteneinrichtung, die das Fahrzeugsteuermodul einschließlich des ersten Sicherheitsprozessor-Chips herstellt, das Berechtigungspaket von der Zertifizierungsstellen-Netzwerkvorrichtung an den Lieferantenprozessor übermitteln.
-
In weiteren Merkmalen ist der Zertifizierungsstellenprozessor konfiguriert, um die Anweisungen zum Verschlüsseln der Datei einschließlich der Signaturzertifikate basierend auf dem öffentlichen ID-Schlüssel auszuführen, um das Berechtigungspaket bereitzustellen.
-
In weiteren Merkmalen ist der Zertifizierungsstellenprozessor konfiguriert, um die folgenden Anweisungen auszuführen: Empfangen eines öffentlichen ID-Schlüssels und einer Signatur eines öffentlichen Schlüssels vom Lieferantenprozessor für Sicherheitsprozessor-Chips, wobei die Sicherheitsprozessor-Chips den ersten Sicherheitsprozessor-Chip beinhalten; und Erstellen von Zertifikaten für jeden der Sicherheitsprozessor-Chips, Signieren der entsprechenden Zertifikate mit dem privaten Stammschlüssel des Fahrzeugherstellers, um mehrere Signaturzertifikate bereitzustellen, und Verpacken der entsprechenden Signaturzertifikate in eine Datei, um jeweils eines von mehreren Berechtigungspaketen bereitzustellen. Die Berechtigungspakete beinhalten das erste Berechtigungspaket. Der Zertifizierungsstellenprozessor ist ferner konfiguriert, um die Anweisungen auszuführen, die vor der Steuermodul Lieferanteneinrichtung, die Fahrzeugsteuermodule einschließlich der Sicherheitsprozessor-Chips herstellt, die Berechtigungspakete der Sicherheitsprozessor-Chips von der Zertifizierungsstellen-Netzwerkvorrichtung an den Lieferantenprozessor zur Programmierung der Sicherheitsprozessor-Chips zu übertragen.
-
In weiteren Merkmalen ist der Zertifizierungsstellenprozessor konfiguriert, um die Anweisungen auszuführen, um (i) die Dateien basierend auf den öffentlichen ID-Schlüsseln zu verschlüsseln, um die Berechtigungspakete bereitzustellen, und (ii) die Berechtigungspakete an den Lieferantenprozessor zu übertragen.
-
In weiteren Merkmalen ist der Zertifizierungsstellenprozessor konfiguriert, um die Anweisungen auszuführen, um (i) nach dem Übertragen der Datei von der Zertifizierungsstellen-Netzwerkvorrichtung an den Lieferantenprozessor eine Seriennummer des Fahrzeugsteuermoduls vom Lieferantenprozessor zu empfangen und (ii) die Seriennummer des Fahrzeugsteuermoduls zusammen mit dem öffentlichen ID-Schlüssel zu speichern.
-
In weiteren Merkmalen ist ein Sicherheitsprogrammiersystem vorgesehen, das eine erste Netzwerkvorrichtung und eine zweite Netzwerkvorrichtung beinhaltet. Die erste Netzwerkvorrichtung beinhaltet einen ersten Speicher und einen ersten Prozessor. Der erste Speicher ist konfiguriert, um Berechtigungspakete zu speichern, wobei das Berechtigungspaket Berechtigungsinformationen für einen ersten Sicherheitsprozessor-Chip beinhaltet, um vorgegebene Funktionen innerhalb eines Fahrzeugs auszuführen. Der erste Prozessor ist konfiguriert, um: einen öffentlichen Identifizierungs-(ID)-Schlüssel und öffentliche Signaturschlüssel vom ersten Sicherheitsprozessor-Chip zu empfangen, wobei der öffentliche Identifizierungsschlüssel und die öffentlichen Signaturschlüssel den jeweiligen privaten Schlüsseln entsprechen, die auf dem Sicherheitsprozessor-Chip gespeichert sind; und um den öffentlichen ID-Schlüssel und die öffentlichen Signaturschlüssel zu übertragen. Die zweite Netzwerkvorrichtung beinhaltet einen zweiten Speicher und einen zweiten Prozessor. Der zweite Prozessor ist konfiguriert, um: den öffentlichen ID-Schlüssel und die öffentlichen Signaturschlüssel vom ersten Prozessor zu empfangen; Zertifikate jeweils für die öffentlichen Signaturschlüssel zu erstellen; die Zertifikate mit einem privaten Stammschlüssel eines Fahrzeugherstellers zu signieren, um Signaturzertifikate bereitzustellen; die Signaturzertifikate zu verpacken und eines der Berechtigungspakete zu erstellen; und vor der Herstellung eines Fahrzeugsteuermoduls mit dem ersten Sicherheitsprozessor-Chip das eine der Berechtigungspakete von der zweiten Netzwerkvorrichtung an den ersten Prozessor zur Programmierung eines ersten Fahrzeugsteuermoduls zu senden. Der erste Prozessor ist konfiguriert, um: das eine der Berechtigungspakete vom zweiten Prozessor vor der Montage des ersten Fahrzeugsteuermoduls zu empfangen; den öffentlichen ID-Schlüssel vom ersten Fahrzeugsteuermodul nach dem Integrieren des ersten Sicherheitsprozessor-Chips in das erste Fahrzeugsteuermodul zu lesen; das eine der Berechtigungspakete basierend auf dem öffentlichen ID-Schlüssel zu identifizieren; und basierend auf der Identifizierung des einen der Berechtigungspakete das erste Fahrzeugsteuermodul mit den Signaturzertifikaten vor der Installation des ersten Fahrzeugsteuermoduls im Fahrzeug zu programmieren.
-
In weiteren Merkmalen ist der erste Prozessor konfiguriert, um: zu warten, bis eine vorbestimmte Anzahl von Berechtigungspaketen vom zweiten Prozessor empfangen wird; und wenn die vorbestimmte Anzahl von Berechtigungspaketen vom zweiten Prozessor empfangen wurde, das Programmieren von Fahrzeugsteuermodulen, die das erste Fahrzeugsteuermodul beinhalten.
-
Weitere Anwendungsbereiche der vorliegenden Offenbarung ergeben sich aus der ausführlichen Beschreibung, den Ansprüchen und den Zeichnungen. Die ausführliche Beschreibung und die spezifischen Beispiele dienen lediglich der Veranschaulichung und schränken den Umfang der Offenbarung nicht ein.
-
Figurenliste
-
Die vorliegende Offenbarung wird verständlicher unter Zuhilfenahme der ausführlichen Beschreibung und der zugehörigen Zeichnungen, worin gilt:
- 1 ist ein Funktionsblockdiagramm eines Beispiels eines Sicherheitsberechtigungsprogrammiersystems zur Programmierung von Sicherheitsprozessor-Chips von Fahrzeugsteuermodulen gemäß einer Ausführungsform der vorliegenden Offenbarung;
- 2 ist ein Funktionsblockdiagramm von Beispielen einer Steuermodul-Lieferanteneinrichtung und eines Rechenzentrums des Fahrzeugherstellers für das Sicherheitsberechtigungsprogrammiersystem von 1;
- 3 ist ein Funktionsblockdiagramm eines Beispiels eines Fahrzeugs mit Fahrzeugsteuermodulen, die gemäß einer Ausführungsform der vorliegenden Offenbarung programmiert sind;
- 4 veranschaulicht ein Betriebsverfahren einer Steuermodul-Lieferanteneinrichtung, das ein Verfahren zum Betreiben von Sicherheitsprozessor-Chips und ein Verfahren zum Betreiben einer Lieferantennetzwerkeinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung beinhaltet; und
- 5 veranschaulicht ein Verfahren zum Betreiben einer Zertifizierungsstellen-Netzwerkvorrichtung eines Rechenzentrums eines Fahrzeugherstellers gemäß einer Ausführungsform der vorliegenden Offenbarung.
-
In den Zeichnungen werden dieselben Bezugszeichen für ähnliche und/oder identische Elemente verwendet.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Rahmen der Herstellung von Fahrzeugen und/oder entsprechender Fahrzeugsteuermodule können öffentliche Zertifikate erstellt und auf den Fahrzeugsteuermodulen gespeichert werden. Die öffentlichen Zertifikate enthalten die Informationen, die von anderen Fahrzeugen benötigt werden, um die Authentizität der vom Fahrzeugsteuermodul signierten Nachrichten zu überprüfen, einschließlich eines öffentlichen Modulschlüssels, der einem privaten Modulschlüssel entspricht, der zum Signieren der Nachrichten verwendet wird, und einer Zertifikatssignatur, die von einem privaten Stammschlüssel eines Fahrzeugherstellers erstellt wurde. Während dieses Prozesses beinhalten die öffentlichen Zertifikate die entsprechenden öffentlichen Schlüssel und werden mit einem privaten Stammschlüssel eines Rechenzentrums der Sicherheitseinrichtung und/oder eines Informationstechnologie-(IT)-Systems eines Fahrzeugherstellers signiert. Ein einzelnes Fahrzeug kann so konzipiert sein, dass es ein oder mehrere Fahrzeugsteuermodule beinhaltet, für die öffentliche Zertifikate erstellt werden sollen. Millionen von Fahrzeugsteuermodulen, die jeweils Tausende öffentliche Zertifikate speichern, können jedes Jahr hergestellt werden. Die Fahrzeugsteuermodule können von einem Steuermodullieferanten hergestellt und an einen Fahrzeughersteller geliefert werden, der dann die Fahrzeugsteuermodule in die Fahrzeuge installieren kann. Das Erstellen und Speichern der öffentlichen Zertifikate kann sehr zeitaufwendig sein.
-
Eine Technik, die zum Erstellen und Speichern öffentlicher Zertifikate in Fahrzeugsteuermodulen verwendet werden kann, beinhaltet ein Rechenzentrum des Fahrzeugherstellers, das private Schlüssel für die Fahrzeugsteuermodule erstellt. Das Rechenzentrum des Fahrzeugherstellers ist berechtigt, öffentliche Zertifikate für die Fahrzeugsteuermodule zu erstellen und zu signieren. Die signierten öffentlichen Zertifikate beinhalten jeweilige öffentliche Schlüssel. Das Rechenzentrum der Fahrzeugherstellung kann beispielsweise 3000 private Schlüssel und 3000 signierte öffentliche Zertifikate für jedes Fahrzeugsteuermodul erstellen. Die privaten Schlüssel und das signierte öffentliche Zertifikat können zu einem Paket zusammengefasst und vom Rechenzentrum des Fahrzeugherstellers an einen Steuermodullieferanten gesendet werden. Der Steuermodullieferant kann dann die privaten Schlüssel und die signierten öffentlichen Zertifikate in die Fahrzeugsteuermodule herunterladen, während die Fahrzeugsteuermodule hergestellt werden. Diese Technik birgt jedoch die Gefahr der Offenlegung der privaten Schlüssel und erfordert teure Computer- und Netzwerkkontrollen, um die privaten Schlüssel vor der Offenlegung zu schützen. Die Übertragung der privaten Schlüssel vom Rechenzentrum des Fahrzeugherstellers zum Steuerungsmodullieferanten ist naturgemäß unsicher.
-
Eine weitere Technik beinhaltet den Versand von Steuermodulen von einem Lieferanten an einen Fahrzeughersteller, Fahrzeugsteuermodule, die keine Schlüssel und öffentliche Zertifikate beinhalten. Der Fahrzeughersteller fertigt ein Fahrzeug und installiert die Fahrzeugsteuermodule. Am Ende einer Fahrzeugmontagelinie werden das Fahrzeug und die Fahrzeugsteuermodule zugeschaltet, und jedes der Fahrzeugsteuermodule erzeugt 3000 private und öffentliche Schlüsselpaare. Die Fahrzeugsteuermodule lesen dann die öffentlichen Schlüssel aus dem Speicher aus und übertragen die öffentlichen Schlüssel an ein Rechenzentrum eines Fahrzeugherstellers. Das Rechenzentrum des Fahrzeugherstellers erstellt, signiert und gibt dann 3000 öffentliche Zertifikate mit den jeweiligen öffentlichen Schlüsseln zu jedem der Fahrzeugsteuermodule zurück. Die öffentlichen Zertifikate können nach dem Empfangen in den Speichern des Fahrzeugsteuermoduls gespeichert werden. Diese Technik führt zu Verzögerungen bei der Fahrzeugmontage von zum Beispiel mehreren Minuten pro Fahrzeug, während die privaten Schlüssel und öffentlichen Zertifikate erstellt, übertragen und heruntergeladen werden. Darüber hinaus kann jede Störung bei diesem Prozess, wie beispielsweise bei der Übertragung der privaten Schlüssel und öffentlichen Zertifikate über ein Computernetzwerk im Rechenzentrum des Fahrzeugherstellers, die Fertigstellung eines Fahrzeugs um weitere Stunden oder Tage verzögern.
-
Eine weitere Technik beinhaltet einen Steuermodullieferanten, der einen Prozess zur Herstellung eines Fahrzeugsteuermoduls ohne zuvor erzeugte und/oder gespeicherte Schlüssel durchführt. Gegen Ende des Prozesses wird das Fahrzeugsteuermodul zugeschaltet und das Fahrzeugsteuermodul: erstellt 3000 private/öffentliche Schlüsselpaare, sendet die öffentlichen Schlüssel an ein Rechenzentrum des Fahrzeugherstellers und empfängt vom Rechenzentrum 3000 öffentliche Zertifikate des Fahrzeugherstellers mit den entsprechenden öffentlichen Schlüsseln zurück. Obwohl diese Technik Verzögerungen in der Fahrzeugmontage vermeidet, gibt es Verzögerungen und damit verbundene Risiken von Stillständen bei der Herstellung der Fahrzeugsteuermodule. Wenn beispielsweise eine Netzwerkverbindung zwischen dem Steuermodullieferanten und dem Rechenzentrum des Fahrzeugherstellers langsam oder nicht verfügbar ist, würde dies zu einer Unterbrechung des Fertigungsprozesses der Steuermodule führen.
-
Die Probleme im Zusammenhang mit den vorstehend beschriebenen Techniken werden durch das Einschalten der Sicherheitsprozessor-Chips vor der Herstellung der entsprechenden Steuermodule gelöst. Die hierin dargelegten Beispiele beinhalten, bevor sie in ein Fahrzeugsteuermodul integriert werden, das Einschalten von Sicherheitsprozessor-Chips, das Erzeugen von privaten/öffentlichen Schlüsselpaaren, das Aufrechterhalten der Speicherung der privaten Schlüssel in den Sicherheitsprozessor-Chips und das Übertragen der öffentlichen Schlüssel an ein Rechenzentrum eines Fahrzeugherstellers. Die privaten Schlüssel werden nicht außerhalb der Sicherheitsprozessor-Chips erzeugt und nicht mit anderen Vorrichtungen geteilt. Infolgedessen haben nur die Sicherheitsprozessor-Chips Zugriff auf die privaten Schlüssel.
-
Die Sicherheitsprozessor-Chips können jeweils eine vorgegebene Anzahl (z. B. 3000) von privaten/öffentlichen Schlüsseln erzeugen und die öffentlichen Schlüssel an ein IT-System eines Steuermodullieferanten übertragen, der dann die öffentlichen Schlüssel in einen Lieferantenspeicher schreiben kann. Die Sicherheitsprozessor-Chips werden dann inventarisiert, während das IT-System des Steuermodullieferanten die öffentlichen Schlüssel an das Rechenzentrum des Fahrzeugherstellers sendet. Das Rechenzentrum des Fahrzeugherstellers erstellt, signiert und verpackt öffentliche Zertifikate und sendet die öffentlichen Zertifikate an den Steuermodullieferanten zurück. Nachdem der Steuermodullieferant eine vorgegebene Anzahl von Paketen erhalten hat, die zur Realisierung eines Produktionslaufs geeignet sind (z. B. 1000 Pakete für 1000 Fahrzeugsteuermodule), fährt der Steuermodullieferant mit der Herstellung der Steuermodule fort.
-
Obwohl die folgenden Beispiele in erster Linie in Bezug auf die Herstellung von Sicherheitsprozessor-Chips und Steuermodulen eines Fahrzeugs beschrieben werden, sind die Beispiele auch auf die Erzeugung anderer Sicherheitsprozessor-Chips und Steuermodule für andere Produkte, Netzwerkvorrichtungen, Systeme usw. anwendbar. Die Beispiele bieten sichere und effiziente Techniken zur Programmierung von Sicherheitsprozessor-Chips von Steuermodulen, bevor die Steuermodule in entsprechende Betriebssysteme integriert werden. Dies wird ohne Verzögerungen in der Produktionslinie bei der Herstellung der Steuermodule und/oder der Herstellung von Produkten, in die die Steuermodule integriert sind, erreicht.
-
1 zeigt ein Sicherheitsberechtigungsprogrammiersystem 10 zum Programmieren von Sicherheitsprozessor-Chips von Fahrzeugsteuermodulen. Das Sicherheitsberechtigungsprogrammiersystem 10 beinhaltet eine Sicherheitsprozessor-Chip-Lieferanteneinrichtung 12, eine Steuermodul-Lieferanteneinrichtung 14, ein Fahrzeughersteller-Rechenzentrum 16 und ein Fahrzeughersteller-Werk 18. Die Sicherheitsprozessor-Chip-Lieferanteinrichtung 12 stellt Sicherheitsprozessor-Chips 20 für Fahrzeugsteuermodule 22 her. Die Sicherheitsprozessor-Chips 20 sind integrierte Schaltungen, die von der Sicherheitsprozessor-Chip-Lieferanteneinrichtung 12 programmiert werden, um bestimmte vorgegebene Funktionen auszuführen. Die Sicherheitsprozessor-Chips 20 werden von der Sicherheitsprozessor-Chip-Lieferanteneinrichtung 12 an eine Steuermodul-Lieferanteneinrichtung 14 geliefert.
-
Die Steuermodul-Lieferanteneinrichtung 14 fertigt die Fahrzeugsteuermodule 22 mit den Sicherheitsprozessor-Chips 20. Jedes der Fahrzeugsteuermodule 22 kann einen oder mehrere der Sicherheitsprozessor-Chips 20 beinhalten. Vor der Herstellung der Fahrzeugsteuermodule 22 verbindet und speist die Steuermodul-Lieferanteneinrichtung 14 die Sicherheitsprozessor-Chips 20 mit diesen. Die Sicherheitsprozessor-Chips 20 werden beim Sicherheitsprozessor-Chipanbieter 12 vorprogrammiert, um beim Einschalten eine vorgegebene Anzahl von privaten/öffentlichen Schlüsselpaaren zu erzeugen. Nach dem Erzeugen der privaten/öffentlichen Schlüsselpaare übermittelt die Steuermodul-Lieferanteneinrichtung 14 die öffentlichen Schlüssel an das Rechenzentrum 16 des Fahrzeugherstellers. Die Signalübertragung zwischen der Lieferanteneinrichtung des Steuermoduls und dem Rechenzentrum 16 des Fahrzeugherstellers kann über ein drahtloses oder drahtgebundenes Computernetzwerk, wie beispielsweise ein Local Area Network (LAN) und/oder ein Wide Area Network (WAN), erfolgen. Eine Zertifizierungsstellen-Netzwerkvorrichtung 24 im Rechenzentrum 16 des Fahrzeugherstellers erstellt Berechtigungspakete mit signierten öffentlichen Zertifikaten. Die signierten öffentlichen Zertifikate beinhalten die jeweiligen öffentliche Schlüssel. Jedes Paket kann eine vorgegebene Anzahl von öffentlichen Zertifikaten (z. B. 3000) beinhalten. Die Zertifizierungsstellen-Netzwerkvorrichtung 24 kann beispielsweise ein Server, ein Computer oder eine andere Netzwerkvorrichtung sein. Die Berechtigungspakete werden von der Zertifizierungsstellen-Netzwerkvorrichtung 24 oder einer anderen Netzwerkvorrichtung des Rechenzentrums 16 des Fahrzeugherstellers zurück an die Steuermodul-Lieferanteneinrichtung 14 übertragen.
-
Die Steuermodul-Lieferanteneinrichtung 14 fertigt nach dem Empfangen einer vorbestimmten Anzahl von Berechtigungspaketen zum Durchführen eines Produktionslaufs die Fahrzeugsteuermodule 22, einschließlich: Programmieren der Sicherheitsprozessor-Chips mit den Berechtigungspaketen; und Bestücken der Sicherheitsprozessor-Chips, Speicherchips und/oder anderer Hardware, zum Beispiel mit gedruckten Leiterplatten. Die Sicherheitsprozessor-Chips können in System-in-Packages (SIPs) integriert werden. In einer Ausführungsform beinhalten die Fahrzeugsteuermodule ein oder mehrere SIPs. In einer weiteren Ausführungsform sind die Fahrzeugsteuermodule als SIPs implementiert. Jedes SIP kann einen oder mehrere Sicherheitsprozessor-Chips beinhalten.
-
Nach der Herstellung der Steuermodule kann die Steuermodul-Lieferanteneinrichtung 14 auch Seriennummern der Fahrzeugsteuermodule 22 und IDs der Sicherheitsprozessor-Chips zur Dokumentation und/oder zu anderen Zwecken an die Zertifizierungsstellen-Netzwerkeinrichtung 24 übermitteln, sodass der Fahrzeughersteller weiß, welche Steuermodule Qualifikationspakete für welche Sicherheitsprozessor-Chips erhalten haben.
-
Die Steuermodul-Lieferanteneinrichtung 14 liefert die hergestellten Fahrzeugsteuermodule 22, die mit den entsprechenden Berechtigungspaketen von Zertifikaten vollständig ausgestattet sind, an das Fahrzeughersteller-Werk 18, das dann die Fahrzeugsteuermodule 22 in Fahrzeuge einbaut (ein Fahrzeug 30 ist mit einem Fahrzeugsteuermodul 32 dargestellt). Durch das vollständige Programmieren der Fahrzeugsteuermodule mit den signierten öffentlichen Zertifikaten vor dem Eingang beim Fahrzeughersteller-Werk 18 ist die Gefahr einer Verzögerung der Fahrzeugherstellung durch die Programmierung und Herstellung der Fahrzeugsteuermodule ausgeschlossen.
-
2 zeigt einen Abschnitt 100 des Sicherheitsberechtigungsprogrammiersystems 10 von 1 mit der Steuermodul-Lieferanteneinrichtung 14 und dem Rechenzentrum 16 des Fahrzeugherstellers. Die Steuermodul-Lieferanteneinrichtung 14 kann eine Lieferanten-Netzwerkvorrichtung 102 und eine Schlüsselextraktionsschnittstelle 104 beinhalten, die verwendet werden kann, um die öffentlichen Schlüssel aus einem oder mehreren Sicherheitsprozessor-Chips zu extrahieren (ein Sicherheitsprozessor-Chip 106) ist dargestellt. Als Beispiel kann die Schlüsselextraktionsschnittstelle 104 eine Montageplatine beinhalten und die Sicherheitsprozessor-Chips können auf der Montageplatine angebracht oder gesteckt werden. Die Schlüsselextraktionsschnittstelle 104 kann Verbinder zum Verbinden mit einem oder mehreren Sicherheitsprozessor-Chips beinhalten. Die Lieferanten-Netzwerkvorrichtung 102 kann ein Server, Computer und/oder eine andere Netzwerkvorrichtung sein. Die Lieferanten-Netzwerkvorrichtung 102 kann ein IT-System 103 mit einem Lieferantenspeicher 110, einem Lieferantenprozessor 112 und einem Lieferanten-Sender-Empfänger 114 beinhalten.
-
Der Lieferantenspeicher 110 kann öffentliche Signaturschlüssel 120, Berechtigungspakete mit Zertifikaten 122 und eine Tabelle 124 mit Seriennummern von Steuermodulen und öffentlichen ID-Schlüsseln von Sicherheitsprozessoren speichern. Der Sicherheitsprozessor-Chip 106 kann private Signaturschlüssel 130, die einem der öffentlichen Signaturschlüssel 120 entsprechenden an den privaten Signaturschlüsseln 130 und einem Sicherheitsprozessor-Chip-ID-Paar private/öffentliche Schlüssel mit einem privaten ID-Schlüssel 131A und einem öffentlichen ID-Schlüssel 131B speichern.
-
Das Rechenzentrum 16 des Fahrzeugherstellers beinhaltet die Zertifizierungsstellen-Netzwerkvorrichtung 24, das ein IT-System 140 beinhaltet. Das IT-System 140 beinhaltet einen Zertifizierungsstellen-Sender-Empfänger 142, einen Zertifizierungsstellenprozessor 144 und einen Zertifizierungsstellenspeicher 146. Der Zertifizierungsstellenspeicher 146 enthält den privaten Stammschlüssel 119 des Fahrzeugherstellers, der zum Signieren der öffentlichen Zertifikate des Sicherheitsprozessors verwendet wird. Er enthält auch die Tabelle mit den CM-Seriennummern und den öffentlichen Sicherheitsprozessor-ID-Schlüsseln 124.
-
Der Betrieb der Lieferanten-Netzwerkvorrichtung 102 und der Zertifizierungsstellen-Netzwerkvorrichtung 24 wird im Folgenden mit Bezug auf die in den 4-5 veranschaulichten Verfahren näher beschrieben.
-
3 stellt ein Fahrzeug 200 mit Fahrzeugsteuermodulen dar, wie beispielsweise ein V2V-Steuermodul 202 und andere Fahrzeugsteuermodule 204. Obwohl das Fahrzeug 200 als mit mehreren Fahrzeugsteuermodulen ausgestattet dargestellt ist, kann das Fahrzeug 200 ein einziges Fahrzeugsteuermodul aufweisen. Außerdem, obwohl das V2V-Steuermodul 202 als mit einem Sender-Empfänger 206 und die Fahrzeugsteuermodule 204 verbunden dargestellt sind, kann das V2V-Steuermodul 202 mit einer oder mehreren der Vorrichtungen und Systeme verbunden sein, mit denen die anderen Fahrzeugsteuermodule 204 verbunden sind.
-
Das V2V-Steuermodul 202 führt eine Fahrzeug-zu-Fahrzeug-Kommunikation über den Sender-Empfänger 206 durch. Das V2V-Steuermodul 202 beinhaltet einen Speicher 203, der das Berechtigungspaket 214 speichert, das durch die Zertifizierungsstellen-Netzwerkvorrichtung 24 der 1-2 erzeugt werden kann. Das V2V-Steuermodul 202 beinhaltet auch einen Sicherheitsprozessor 210, der den Speicher 212 aufweist. Der Speicher 212 speichert private und öffentliche Schlüsselpaare 216, die vom Sicherheitsprozessor-Chip 210 erzeugt wurden, vor der Installation auf dem V2V-Steuermodul 202. Das V2V-Steuermodul 202 erzeugt Alarmsignale, um einen Fahrer des Fahrzeugs 200 zu warnen. Die Warnsignale können beispielsweise über das Infotainmentsystem 262 bereitgestellt werden.
-
Die anderen Fahrzeugsteuermodule 204 können den Betrieb verschiedener Fahrzeugsysteme steuern. Das V2V-Steuermodul 202 kann Informationen, die von den Fahrzeugsteuermodulen 204 empfangen werden, an andere V2V-Steuermodule anderer Fahrzeuge übertragen. Die Fahrzeugsysteme können ein Antriebssystem 254, ein Klimatisierungssystem 256, Sitzsysteme 258, Beleuchtungssysteme 260, Infotainmentsystem 262, Navigationssystem 264 und/oder andere Fahrzeugsysteme 266, wie beispielsweise ein Bremssystem, ein Kommunikationssystem usw. beinhalten. Die Fahrzeugsteuermodule 202, 204 können Anwendungen und entsprechende Funktionen zur Steuerung der Fahrzeugsysteme ausführen. Die Fahrzeugsysteme können Stellglieder beinhalten. So kann beispielsweise das Klimatisierungssystem 256 eine oder mehrere Pumpe(n) 269, Heizungen 270 und Ventilatoren 271 beinhalten. Diese Steuerung kann auf Signalen der Sensoren 272 beruhen und kann eine drahtlose Kommunikation über den Sender-Empfänger 206 und/oder einen anderen Sender-Empfänger beinhalten. Das Antriebssystem 254 kann einen Motor 274, ein Getriebe 276 und einen oder mehrere Elektromotoren 278 und eine Energiequelle (z. B. ein Batteriesystem) 280 beinhalten. Der Motor 274 kann ein Drosselklappensystem 282, ein Zündsystem 284 und ein Kraftstoffsystem 286 beinhalten.
-
Die hierin offenbarten Systeme können unter Nutzung zahlreicher Verfahren betrieben werden, exemplarische Verfahren sind in den 4-5 veranschaulicht. 4 stellt ein Betriebsverfahren einer Steuermodul-Lieferanteneinrichtung dar, das ein Verfahren zum Betreiben von Sicherheitsprozessor-Chips und ein Verfahren zum Betreiben einer Lieferantennetzwerkeinrichtung beinhaltet. 5 stellt ein Verfahren zum Betreiben einer Zertifizierungsstellen-Netzwerkvorrichtung eines Rechenzentrums eines Fahrzeugherstellers dar. Obwohl die folgenden Verfahren als separate Verfahren dargestellt werden, können die Verfahren und/oder Vorgänge aus separaten Verfahren kombiniert und als ein einzelnes Verfahren ausgeführt werden. Das Verfahren aus 5 kann auch durchgeführt werden, während das Verfahren aus 4 durchgeführt wird.
-
Obwohl die folgenden Vorgänge vorwiegend in Bezug auf die Implementierungen der 1-4 beschrieben sind, können die Aufgaben leicht modifiziert werden, um bei anderen Implementierungen der vorliegenden Erfindung anwendbar zu sein. Die Vorgänge können iterativ durchgeführt werden. Das Verfahren von 4 kann bei 300 beginnen. Bei 302 empfängt und inventarisiert die Steuermodul-Lieferanteneinrichtung 14 Sicherheitsprozessor-Chips (z. B. die Sicherheitsprozessor-Chips 20, 106, 210 aus den 1-3). Bei 304 sind einer oder mehrere der Sicherheitsprozessor-Chips mit der Schlüsselextraktionsschnittstelle 104 verbunden. Bei 305 schaltet der Lieferantenprozessor 112, die Schlüsselextraktionsschnittstelle 104 und/oder andere Vorrichtungen auf einen oder mehrere Sicherheitsprozessor-Chips.
-
Die folgenden Vorgänge 306, 308, 309 veranschaulichen das exemplarische Verfahren zum Betreiben der Sicherheitsprozessor-Chips. Dies wird durch das gestrichelte Kästchen A angezeigt. Bei 306 erzeugt jeder der Sicherheitsprozessor-Chips ein privates/öffentliches ID-Schlüsselpaar und eine vorgegebene Nummer (z. B. 3000) oder eine Gruppe von privaten/öffentlichen Signaturschlüsselpaaren. Das private ID-/öffentliche Schlüsselpaar dient zum Identifizieren der Gruppe von privaten/öffentlichen Signaturschlüsselpaaren und zum Identifizieren des entsprechenden Sicherheitsprozessor-Chips. Der öffentliche ID-Schlüssel wird verwendet, um die Gruppe der öffentlichen Signaturschlüssel für diesen Sicherheitsprozessor-Chip zu identifizieren.
-
Bei 308 werden die privaten/öffentlichen ID- und Signaturpaare in den Sicherheitsprozessor-Chips gespeichert. Die privaten Schlüssel werden nicht von den Sicherheitsprozessor-Chips übertragen. Die Sicherheitsprozessor-Chips sind vorprogrammiert, um eine Übertragung und/oder einen externen Zugriff auf die privaten Schlüssel zu verhindern. In einer Ausführungsform sind die Sicherheitsprozessor-Chips die einzigen Vorrichtungen, die Zugriff auf die privaten Schlüssel haben.
-
Bei 309 übertragen die Sicherheitsprozessor-Chips die ID und die Signatur öffentlicher Schlüssel an den Lieferantenprozessor 112 der Lieferanten-Netzwerkvorrichtung 102. Dies kann über die Schlüsselextraktionsschnittstelle 104 erfolgen. Der Lieferantenprozessor 112 kann die öffentlichen Schlüssel aus den Sicherheitsprozessor-Chips extrahieren. Bei 310 empfängt der Lieferantenprozessor 112 die ID und Signatur öffentlicher Schlüssel und speichert für jeden der Sicherheitsprozessor-Chips den ID öffentlichen Schlüssel und die Signatur öffentlicher Schlüssel im Lieferantenspeicher 110.
-
Bei 311 überträgt der Lieferantenprozessor 112 den öffentlichen ID- und Signaturschlüssel an den Zertifizierungsstellenprozessor 144, beispielsweise über den Lieferanten-Sender-Empfänger 114. Bei 312 werden der eine oder die mehreren Sicherheitsverarbeitungs-Chips von der Programmierschnittstelle 104 getrennt und als Sicherheitsprozessor-Chips inventarisiert, die private und öffentliche Schlüsselpaare erstellt haben. Die Sicherheitsprozessor-Chips werden anders inventarisiert, als wenn sie zum ersten Mal von der Sicherheitsprozessor-Chip-Lieferanteneinrichtung 12 bei der Steuermodul-Lieferanteneinrichtung 14 empfangen werden.
-
Bei 314 empfängt der Lieferantenprozessor 112 über den/die Lieferanten-Sender-Empfänger Berechtigungspaket(e). Jedes Berechtigungspaket wird durch den entsprechenden ID-öffentlichen Schlüssel identifiziert. Das/die Berechtigungspaket(e) werden vom Zertifizierungsstellenprozessor 144 empfangen. Bei 316 bestimmt der Lieferantenprozessor 112, ob eine Anzahl von empfangenen Berechtigungspaketen größer oder gleich einer vorgegebenen Anzahl ist. Die vorgegebene Anzahl kann eine Anzahl sein, die zum Durchführen einer Serienproduktion von Fahrzeugsteuermodulen erforderlich ist. Wenn die Anzahl der empfangenen Berechtigungspakete größer oder gleich der vorgegebenen Anzahl ist, wird der Vorgang 318 ausgeführt, andernfalls kann der Vorgang 314 ausgeführt werden.
-
Bei 318 stellt die Steuermodul-Lieferanteneinrichtung eine vorgegebene Anzahl von Fahrzeugsteuermodulen her. Bei 318A können die Sicherheitsprozessor-Chips, Speicher, Sender-Empfänger und/oder andere Vorrichtungen auf Leiterplatten installiert werden, um die Fahrzeugsteuermodule zu erstellen. Für jedes der Fahrzeugsteuermodule: wird der öffentliche ID-Schlüssel aus dem entsprechenden Sicherheitsprozessor-Chip gelesen, wie durch Vorgang 318B dargestellt; das Softwarepaket (oder Berechtigungspaket), das dem Sicherheitsprozessor-Chip entspricht, wird basierend auf dem öffentlichen ID-Schlüssel, wie durch Vorgang 318C dargestellt, identifiziert; und ein entsprechendes der Berechtigungspakete ist in das Fahrzeugsteuermodul programmiert, wie durch Vorgang bei 318D dargestellt. Der Vorgang 318D kann auch Folgendes beinhalten: den Sicherheitsprozessor-Chip des Fahrzeugsteuermoduls, der eine verschlüsselte Datei des entsprechenden empfangenen Berechtigungspakets entschlüsselt. Das Berechtigungspaket wird mit dem privaten Schlüssel entschlüsselt, der dem öffentlichen ID-Schlüssel dieses Sicherheitsprozessor-Chips entspricht, und im Speicher des Fahrzeugsteuermoduls gespeichert.
-
Bei 320 kann der Lieferantenprozessor 112 für jedes der hergestellten Fahrzeugsteuermodule eine Hardware-ID zusammen mit dem öffentlichen ID-Schlüssel des Sicherheitsprozessors an den Zertifizierungsstellenprozessor 144 übermitteln. Die Hardware-ID kann eine Seriennummer des Fahrzeugsteuermoduls sein. Dies ermöglicht, dass der Sicherheitsprozessor-Chip seinem Fahrzeugsteuermodul zugeordnet ist. Der Zertifizierungsstellenprozessor 144 kann die Seriennummern und IDs im Zertifikatsstellenspeicher 146 speichern. Die Seriennummern und IDs können vom Fahrzeughersteller, dem Rechenzentrum 16 des Fahrzeugherstellers, einem Händler des Fahrzeugherstellers und/oder einer anderen Einheit und/oder einer Netzwerkvorrichtung des Fahrzeugherstellers zu einem späteren Zeitpunkt zum Identifizieren, Kommunizieren, Lokalisieren und/oder zur Fehlerbehebung der Fahrzeugsteuermodule und/oder ihrer Sicherheitsprozessor-Chips verwendet werden. Bei 322 werden die Fahrzeugsteuermodule an das Fahrzeughersteller-Werk 18 zur Installation in entsprechende Fahrzeuge ausgeliefert. Nach dem Durchführen des Vorgangs 322 kann das Verfahren bei 324 enden.
-
Das Verfahren aus 5 kann bei 400 beginnen. Bei 402 empfängt der Zertifizierungsstellenprozessor 144 die ID und die Signatur der öffentlichen Schlüssel vom Lieferantenprozessor. Der Vorgang kann nach dem Vorgang 311 von 3 durchgeführt werden.
-
Bei 406 erstellt der Zertifizierungsstellenprozessor 144 Zertifikate für jeden der empfangenen öffentlichen Signaturschlüssel. Die Zertifikate enthalten die Informationen, die von anderen Fahrzeugen verwendet werden, um die Authentizität der vom Fahrzeugsteuermodul signierten Nachrichten zu überprüfen, einschließlich des öffentlichen Modulschlüssels, der dem privaten Modulschlüssel entspricht, der zum Signieren der Nachrichten verwendet wird. Bei 408 signiert der Zertifizierungsstellenprozessor 144 jedes Zertifikat mit dem privaten Stammschlüssel des Fahrzeugherstellers und fügt diese Signatur dem Zertifikat hinzu.
-
Bei 410 verpackt der Zertifizierungsstellenprozessor 144 die Signaturzertifikate für jeden der einen oder mehreren Sicherheitsprozessor-Chips in Dateien bzw. für Fahrzeugsteuermodule. Bei 412 verschlüsselt der Zertifizierungsstellenprozessor 144 die Dateien mit den entsprechenden öffentlichen Schlüsseln, um Berechtigungspakete bereitzustellen. Jede Datei ist mit dem öffentlichen ID-Schlüssel des Sicherheitsprozessor-Chips verschlüsselt, der dieser Datei entspricht. Diese Verschlüsselung wird durchgeführt, um zu verhindern, dass Dritte alle Zertifikate, die zu einem bestimmten Fahrzeug gehören, kennen, was es den Dritten ermöglichen könnte, das Fahrzeug mittels des in den Broadcast-Nachrichten des Fahrzeugs enthaltenen Zertifikats zu identifizieren.
-
Bei 416 sendet der Zertifizierungsstellenprozessor 144 die Berechtigungspakete über den Zertifizierungsstellen-Sender-Empfänger 142 zurück an den Lieferantenprozessor 112. Bei 418 kann der Zertifizierungsstellenprozessor 144 Seriennummern von Fahrzeugsteuermodulen und die öffentlichen ID-Schlüssel der entsprechenden Sicherheitsprozessor-Chips empfangen.
-
Bei 420 speichert der Zertifizierungsstellenprozessor 144 die Seriennummern und IDs im Zertifizierungsstellenspeicher 146. Nach dem Durchführen des Vorgangs 420 kann das Verfahren bei 422 enden.
-
Die vorstehend beschriebenen Vorgänge der 4-5 sind als veranschaulichende Beispiele zu verstehen. Die Vorgänge können je nach Anwendung sequenziell, synchron, simultan, kontinuierlich, im Laufe von Überlappungsperioden oder in einer anderen Reihenfolge ausgeführt werden. Die Durchführung eines beliebigen Vorgangs kann weggelassen oder übersprungen werden, in Abhängigkeit von der Anwendung und/oder der Folge von Ereignissen.
-
Die vorstehend beschriebenen Beispiele stellen ein sicheres, robustes und effizientes Verarbeitungssystem dar, um Steuermodule mit Sicherheitszertifikaten so auszustatten, dass die Computer- und/oder Netzwerknutzungsdauer die Fahrzeug- und/oder Steuermodulproduktion nicht beeinträchtigt. Die Beispiele ermöglichen es, dass Sicherheitszugangsdaten Monate im Voraus erstellt werden können, ohne dass ein teurer Bestand an Teilen zum Empfangen der Sicherheitszugangsdaten vorhanden ist. Private Schlüssel werden in Sicherheitsprozessor-Chips erzeugt und nicht aus den Sicherheitsprozessor-Chips entfernt. Somit werden private Schlüssel nicht zwischen einem Steuermodullieferanten (oder Hersteller) und einem Fahrzeughersteller ausgetauscht. Es werden nur öffentliche Schlüssel und öffentliche Zertifikate ausgetauscht.
-
Da die im Rechenzentrum des Fahrzeugherstellers erstellten Berechtigungspakete nicht in anderen Sicherheitsprozessoren als den Sicherheitsprozessoren mit den entsprechenden privaten Schlüsseln verwendet werden können, erfordern die Berechtigungspakete keine besondere Handhabung und/oder Schutz. Mit anderen Worten, sollte ein Angreifer Zugriff auf die Berechtigungspakete erhalten, wäre der Angreifer nicht in der Lage, Zugriff auf die Vorgänge eines Fahrzeugsteuermoduls zu erhalten, diese zu steuern und/oder außer Kraft zu setzen, ohne über die entsprechenden privaten Schlüssel zu verfügen.
-
Das Steuermodul und die Fahrzeugherstellungsprozesse sind gegen Computerausfallzeiten geschützt, die bei der Programmierung von Sicherheitsprozessor-Chips auftreten. Da die Herstellung von Steuermodulen erst beginnt, wenn alle Berechtigungsnachweise für das Steuermodul verfügbar sind, existieren keine prozess- oder reaktionszeitkritischen IT-Interaktionen, die einen Herstellungsprozess der Steuermodule unterbrechen können. Die Fahrzeugsteuermodule werden an eine vollständig provisionierte Fahrzeugherstellungseinrichtung geliefert und müssen nicht in der Fahrzeugherstellungseinrichtung (oder Montageeinrichtung) programmiert werden.
-
Die vorstehend beschriebenen Methoden ermöglichen es dem Steuermodullieferanten, einen Bestand an Sicherheitsprozessor-Chips zu führen, während Berechtigungspakete erstellt werden. Der Steuermodullieferant muss keinen Bestand an Fahrzeugsteuermodulen führen. Die geringe Menge an Bestand nach Volumen und der verhältnismäßig geringe Aufwand für die Inventarisierung von Sicherheitsprozessor-Chips ermöglicht es, mehrmonatige Puffer für Berechtigungspakete zu produzieren. Dadurch wird sichergestellt, dass die langfristige Verfügbarkeit des Computers zum Erzeugen und Herunterladen von Berechtigungspaketen keine Unterbrechungen bei der Steuerung der Modulfertigung und/oder der Fahrzeugmontage verursacht.
-
Die vorhergehende Beschreibung ist rein illustrativ und soll die vorliegende Offenbarung sowie ihre Ausführungen oder Verwendungen keineswegs einschränken. Die umfassenden Lehren der Offenbarung können in zahlreichen Formen umgesetzt werden. Obwohl die vorliegende Offenbarung also bestimmte Beispiele beinhaltet, ist der eigentliche Umfang der Offenbarung hierdurch in keiner Weise eingeschränkt, und weitere Modifikationen gehen aus dem Studium der Zeichnungen, der Beschreibung und den folgenden Ansprüchen hervor. Es sei darauf hingewiesen, dass einer oder mehrere Schritte innerhalb eines Verfahrens in anderer Reihenfolge (oder gleichzeitig) ausgeführt werden können, ohne die Prinzipien der vorliegenden Offenbarung zu verändern. Ferner, obwohl jede der Ausführungsformen oben dahingehend beschrieben ist, dass sie bestimmte Merkmale aufweist, kann/können eines oder mehrere dieser Funktionen, die in Bezug auf jede Ausführungsform der Offenbarung beschrieben sind, in jeder der anderen Ausführungsformen implementiert und/oder kombiniert werden, selbst wenn diese Kombination nicht explizit beschrieben wird. Mit anderen Worten ausgedrückt schließen sich die beschriebenen Ausführungsformen nicht gegenseitig aus, und Permutationen von einer oder mehreren Ausführungsformen gegeneinander bleiben innerhalb des Schutzumfangs dieser Offenbarung.
-
Räumliche und funktionale Beziehungen zwischen Elementen (z. B. zwischen Modulen, Schaltkreiselementen, Halbleiterschichten usw.) werden unter Verwendung von verschiedenen Begriffen beschrieben, einschließlich „verbunden“, „eingerastet“, „gekoppelt“, „benachbart“, „neben“, „oben auf“, „über“, „unter“ und „angeordnet“. Sofern nicht ausdrücklich als „direkt“ beschrieben, kann eine Beziehung eine direkte Beziehung sein, wenn eine Beziehung zwischen einem ersten und zweiten Element in der oben genannten Offenbarung beschrieben wird, wenn keine anderen intervenierenden Elemente zwischen dem ersten und zweiten Element vorhanden sind, kann jedoch auch eine indirekte Beziehung sein, wenn ein oder mehrere intervenierende(s) Element(e) (entweder räumlich oder funktional) zwischen dem ersten und zweiten Element vorhanden ist/sind. Wie hierin verwendet, sollte der Satz „zumindest eines von A, B und C“ so zu verstehen sein, dass damit eine Logik gemeint ist (A ODER B ODER C), unter Verwendung eines nicht ausschließlichen logischen ODER, und sollte nicht dahingehend zu verstehen sein, dass gemeint ist „zumindest eines von A, zumindest eines von B und zumindest eines von C.“
-
In den Figuren bezeichnen die Pfeilrichtungen, wie angezeigt, durch die Pfeilspitze im Allgemeinen den Fluss von Informationen (wie Daten oder Befehlen), die im Kontext der Darstellung relevant sind. Wenn beispielsweise Element A und Element B eine Vielzahl von Informationen austauschen, aber die Informationen, die von Element A nach Element B übertragen werden, für die Darstellung relevant sind, kann der Pfeil von Element A nach Element B zeigen. Diese unidirektionalen Pfeile implizieren nicht, dass keine anderen Informationen von Element B nach Element A übertragen werden. Zudem kann Element B im Zusammenhang mit Informationen, die von Element A nach Element B gesendet werden, Anforderungen oder Bestätigungen dieser Informationen zu Element A senden.
-
In dieser Anwendung kann einschließlich der folgenden Definitionen der Begriff „Modul“ oder der Begriff „Steuerung“ ggf. durch den Begriff „Schaltung“ ersetzt werden. Der Begriff „Modul“ kann auf Folgendes verweisen bzw. Teil von Folgendem sein oder Folgendes beinhalten: einen anwendungsspezifischen integrierten Schaltkreis (ASIC); eine digitale, analoge oder gemischt analog/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analog/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein feldprogrammierbares Gate-Array (FPGA); eine Prozessorschaltung (gemeinsam genutzt, dediziert oder Gruppe), die Code ausführt; eine Memory-Schaltung (gemeinsam genutzt, dediziert oder Gruppe), die einen von der Prozessorschaltung ausgeführten Code speichert; andere geeignete Hardware-Komponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination von einigen oder allen der oben genannten, wie zum Beispiel in einem System-on-Chip.
-
Das Modul kann eine oder mehrere Schnittstellenschaltungen beinhalten. In einigen Beispielen können die Schnittstellenschaltungen kabelgebundene oder -lose Schnittstellen beinhalten, die mit einem lokalen Netzwerk (LAN), dem Internet, einem Weitverkehrsnetz (WAN) oder Kombinationen hier aus verbunden sind. Die Funktionalität der in vorliegender Offenbarung genannten Module kann auf mehrere Module verteilt werden, die über Schnittstellenschaltungen verbunden sind. So können zum Beispiel mehrere Module einen Lastenausgleich zulassen. In einem anderen Beispiel können von einem Servermodul (z. B. Remote-Server oder Cloud) ermittelte Funktionen eines Client-Moduls übernommen werden.
-
Der Ausdruck Code, wie oben verwendet, kann Software, Firmware und/oder Mikrocode beinhalten, und auf Programme, Routinen, Funktionen, Klassen, Datenstrukturen und/oder Objekte verweisen. Der Begriff „gemeinsame Prozessorschaltung“ bezieht sich auf eine einzelne Prozessorschaltung, die ermittelten oder vollständigen Code von mehreren Modulen ausführt. Der Ausdruck „gruppierter Prozessor-Schaltkreis“ bezieht sich auf einen Prozessor-Schaltkreis, der in Kombination mit zusätzlichen Prozessor-Schaltkreisen bestimmten oder vollständigen Code von ggf. mehreren Modulen ausführt. Verweise auf mehrere Prozessorschaltungen umfassen mehrere Prozessorschaltungen auf diskreten Matrizen, mehrere Prozessorschaltungen auf einer einzelnen Scheibe, mehrere Kerne auf einer einzelnen Prozessorschaltung, mehrere Threads einer einzelnen Prozessorschaltung oder eine Kombination der oben genannten. Der Begriff „gemeinsame Memory-Schaltung“ bezieht sich auf eine einzelne Memory-Schaltung, die ermittelten oder vollständigen Code von mehreren Modulen speichert. Der Ausdruck „gruppierte Memory-Schaltung“ bezieht sich auf eine Memory-Schaltung, die in Kombination mit zusätzlichem Speicher ermittelte oder vollständige Codes von ggf. mehreren Modulen speichert.
-
Der Begriff Memory-Schaltung ist dem Begriff computerlesbares Medium untergeordnet. Der Begriff „computerlesbares Medium“, wie er hier verwendet wird, bezieht sich nicht auf flüchtige elektrische oder elektromagnetische Signale, die sich in einem Medium ausbreiten (z. B. im Falle einer Trägerwelle); der Ausdruck „computerlesbares Medium“ ist daher als konkret und nichtflüchtig zu verstehen. Nicht einschränkende Beispiele eines nichtflüchtigen konkreten computerlesbaren Mediums sind nichtflüchtige Memory-Schaltungen (z. B. Flash-Memory-Schaltungen, löschbare programmierbare ROM-Schaltungen oder Masken-ROM-Schaltungen), flüchtige Memory-Schaltungen (z. B. statische oder dynamische RAM-Schaltungen), magnetische Speichermedien (z. B. analoge oder digitale Magnetbänder oder ein Festplattenlaufwerk) und optische Speichermedien (z. B. CD, DVD oder Blu-ray).
-
Die im Rahmen dieser Anmeldung beschriebenen Vorrichtungen und Verfahren können teilweise oder vollständig mit einem speziellen Computer, der für die Ausführung ermittelter Computerprogrammfunktionen konfiguriert ist, implementiert werden. Die Funktionsblöcke, Flussdiagramm-Komponenten und weiter oben beschriebenen Elemente dienen als Softwarespezifikationen, die von entsprechend geschulten Technikern oder Programmierern in Computerprogramme umgesetzt werden können.
-
Die Computerprogramme beinhalten prozessorausführbare Anweisungen, die auf mindestens einem nicht-transitorischen greifbaren computerlesbaren Medium gespeichert sind. Die Computerprogramme können ebenfalls gespeicherte Daten enthalten oder auf gespeicherten Daten basieren. Die Computerprogramme können ein Basic-Input-Output-System (BIOS) umfassen, das mit der Hardware des speziellen Computers zusammenwirkt, Vorrichtungstreiber, die mit ermittelten Vorrichtungen des speziellen Computers, einem oder mehreren Betriebssystemen, Benutzeranwendungen, Hintergrunddiensten, im Hintergrund laufenden Anwendungen usw. zusammenwirken.
-
Die Computerprogramme können Folgendes beinhalten: (i) beschreibenden Text, der gegliedert wird, wie z. B. HTML (Hypertext Markup Language), XML (Extensible Markup Language) oder JSON (JavaScript Object Notation), (ii) Assembler Code, (iii) Objektcode, der von einem Quellcode durch einen Compiler erzeugt wurde, (iv) Quellcode zur Ausführung durch einen Interpreter, (v) Quellcode zur Kompilierung und zur Ausführung durch einen Just-in-Time-Compiler usw. Nur exemplarisch kann der Quellcode mittels der Syntax der Sprachen, einschließlich C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5. Version), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK und Python®, geschrieben werden.
-
Keines der in den Ansprüchen genannten Elemente ist als Mittel für eine Funktion (sog. „means plus function“) nach 35 U.S.C. §112(f) zu verstehen, es sei denn, ein Element wird ausdrücklich unter Verwendung des Begriffes „means for“ (Mittel für) beschrieben oder falls in einem Verfahrensanspruch die Begriffe „Vorgang für“ oder „Schritt für“ verwendet werden.