-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen verschlüsselte Daten und Authentifizierungsschlüssel.
-
ALLGEMEINER STAND DER TECHNIK
-
Algorithmen mit symmetrischem Schlüssel sind kryptographische Algorithmen, die die gleichen kryptographischen Schlüssel verwenden, um unverschlüsselte Daten zu verschlüsseln und verschlüsselte Daten zu entschlüsseln. Algorithmen mit symmetrischem Schlüssel können Stromchiffren oder Blockchiffren verwenden. Stromchiffren verschlüsseln Zeichen einer Nachricht nacheinander. Blockchiffren verschlüsseln einen Block von Bits, während der Klartext aufgefüllt wird. Ein Beispiel für Blockverschlüsselung ist der Advanced Encryption Standard-Algorithmus, der vom National Institute of Standards and Technology veröffentlicht wird.
-
KURZDARSTELLUNG
-
Ein Computer beinhaltet einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausführbar sind, um bei Empfangen einer Autorisierungsnachricht eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen zu übertragen, wobei der Speicher eine Ablaufzeit für die Autorisierungsnachricht beinhaltet; eine Liste der Steuermodule mit jeweiligen Status der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule zu aktualisieren, wobei jeder Status entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zur Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul zu übertragen, für das der jeweilige Status erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.
-
Die Anweisungen können Anweisungen beinhalten, eine Fehlerbenachrichtigung an einen Bediener auszugeben, wenn mindestens ein Status erfolglos ist. Die Fehlerbenachrichtigung kann jedes Steuermodul identifizieren, für das der jeweilige Status erfolglos ist.
-
Die Anweisungen können Anweisungen zum Aktualisieren der jeweiligen Status nach der Neuübertragung für jedes Steuermodul, für das der jeweilige neue Authentifizierungsschlüssel erneut übertragen wurde, beinhalten.
-
Die Anweisungen können Anweisungen zum Bestimmen auf Grundlage des Empfangens einer Erfolgsbenachrichtigung vom jeweiligen Steuermodul innerhalb eines Zeitlimits ab dem Übertragen des jeweiligen neuen Authentifizierungsschlüssels an dieses Steuermodul, ob jeder Status erfolgreich oder erfolglos ist, beinhalten.
-
Die Anweisungen können Anweisungen zum Verhindern der Übertragung der neuen Authentifizierungsschlüssel außer zwischen dem Empfang der Autorisierungsnachricht und dem Ablauf der Autorisierungsnachricht beinhalten.
-
Die Tabelle kann für die jeweiligen Steuermodule jeweilige Netzwerkadressen der jeweiligen Steuermodule, die jeweiligen Status und jeweiligen Zähler beinhalten, und jeder Zähler kann eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel angeben, die das jeweilige Steuermodul empfangen hat. Die Tabelle kann für die jeweiligen Steuermodule jeweilige Schlüsselkennungen für die jeweiligen neuen Authentifizierungsschlüssel beinhalten, die an die jeweiligen Steuermodule übertragen werden. Die Anweisungen können Anweisungen zum Ausgeben einer Übersichtstabelle an einen Bediener nach dem Aktualisieren der Tabelle beinhalten, die Übersichtstabelle kann die jeweiligen Netzwerkadressen der jeweiligen Steuermodule und die jeweiligen Status beinhalten und der Übersichtstabelle können die jeweiligen Schlüsselkennungen fehlen.
-
Ein System beinhaltet eine Vielzahl von Steuermodulen, einen Computer und ein drahtgebundenes Kommunikationsnetzwerk, das den Computer und die Steuermodule verbindet. Der Computer ist bei Empfangen einer Autorisierungsnachricht dazu programmiert, eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen zu übertragen, wobei der Computer eine Ablaufzeit für die Autorisierungsnachricht speichert; eine Liste der Steuermodule mit jeweiligen Status der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule zu aktualisieren, wobei jeder Status entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zur Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul zu übertragen, für das der jeweilige Status erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.
-
Der Computer kann ferner dazu programmiert sein, die Autorisierungsnachricht von einem Server zu empfangen, der vom drahtgebundenen Kommunikationsnetzwerk entfernt ist.
-
Der Computer kann ferner dazu programmiert sein, eine Fehlerbenachrichtigung an einen Bediener auszugeben, wenn mindestens ein Status erfolglos ist. Die Fehlerbenachrichtigung kann jedes Steuermodul identifizieren, für das der jeweilige Status erfolglos ist.
-
Der Computer kann ferner dazu programmiert sein, nach der Neuübertragung die jeweiligen Status für jedes Steuermodul zu aktualisieren, für das der jeweilige neue Authentifizierungsschlüssel erneut übertragen wurde.
-
Die Steuermodule können dazu programmiert sein, bei Empfangen des jeweiligen neuen Authentisierungsschlüssels eine Erfolgsbenachrichtigung an den Computer zu übertragen, und der Computer kann ferner dazu programmiert sein, auf Grundlage des Empfangens einer Erfolgsbenachrichtigung vom jeweiligen Steuermodul innerhalb eines Zeitlimits ab dem Übertragen des jeweiligen neuen Authentifizierungsschlüssels an dieses Steuermodul zu bestimmen, ob jeder Status erfolgreich oder erfolglos ist.
-
Der Computer kann ferner dazu programmiert sein, die Übertragung der neuen Authentifizierungsschlüssel außer zwischen dem Empfang der Autorisierungsnachricht und dem Ablauf der Autorisierungsnachricht zu verhindern.
-
Die Tabelle kann für die jeweiligen Steuermodule jeweilige Netzwerkadressen der jeweiligen Steuermodule, die jeweiligen Status und jeweiligen Zähler beinhalten, und jeder Zähler kann eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel angeben, die das jeweilige Steuermodul empfangen hat. Die Tabelle kann für die jeweiligen Steuermodule jeweilige Schlüsselkennungen für die jeweiligen neuen Authentifizierungsschlüssel beinhalten, die an die jeweiligen Steuermodule übertragen werden.
-
Jedes Steuermodul kann dazu programmiert sein, bei Empfangen des jeweiligen neuen Authentifizierungsschlüssels eine lokale Tabelle zu aktualisieren, wobei die lokale Tabelle eine Schlüsselkennung für den jeweiligen neuen Authentifizierungsschlüssel, der von diesem Steuermodul empfangen wurde, den Status für dieses Steuermodul und einen Zähler beinhalten kann, und der Zähler eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel angeben kann, die das Steuermodul empfangen hat.
-
Ein Verfahren beinhaltet, bei Empfangen einer Autorisierungsnachricht eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen zu übertragen; eine Liste der Steuermodule mit jeweiligen Status der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule zu aktualisieren, wobei jeder Status entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zu einer Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul zu übertragen, für das der jeweilige Status erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugs.
- 2 ist ein Diagramm einer Tabelle von Status von Authentifizierungsschlüsseln für Steuermodule des Fahrzeugs.
- 3 ist ein Diagramm einer Tabelle eines Status eines Authentifizierungsschlüssels, der für eines der Steuermodule lokal ist.
- 4 ist ein Diagramm einer Übersichtstabelle der Status von Authentifizierungsschlüsseln für die Steuermodule des Fahrzeugs.
- 5 ist ein Prozessablaufdiagramm eines beispielhaften Prozesses zum Aktualisieren der Authentifizierungsschlüssel für die Steuermodule des Fahrzeugs.
- 6 ist ein Prozessablaufdiagramm eines beispielhaften Prozesses zum Reagieren auf einen neuen Authentifizierungsschlüssel für die eines der Steuermodule.
-
DETAILLIERTE BESCHREIBUNG
-
Mit Bezugnahme auf die Figuren beinhaltet ein Fahrzeug 100 einen Computer 102 und eine Vielzahl von Steuermodulen 104. Die Kommunikation zwischen dem Computer 102 und den Steuermodulen 104 und zwischen den Steuermodulen 104 wird verschlüsselt, z. B. unter Verwendung eines Algorithmus mit symmetrischem Schlüssel. In einer Kommunikation, bei der es einen Sender und einen Empfänger unter dem Computer 102 und/oder den Steuermodulen 104 gibt, haben Sender und Empfänger beide den gleichen Authentifizierungsschlüssel gespeichert, den der Sender zum Verschlüsseln der Kommunikation und den der Empfänger zum Entschlüsseln der Kommunikation verwendet, was verhindern kann, dass der Inhalt der Kommunikation bekannt ist, wenn die Kommunikation abgefangen wird.
-
Wenn jedoch eine dritte Partei den Authentifizierungsschlüssel entdeckt, dann wäre die dritte Partei in der Lage, die Inhalte einer abgefangenen Kommunikation zu verstehen. Somit muss das Verteilen der Authentifizierungsschlüssel auf sichere Weise erfolgen. Eine anfängliche Verteilung von Authentifizierungsschlüsseln kann zu dem Zeitpunkt durchgeführt werden, zu dem das Fahrzeug 100 hergestellt wird. Es können jedoch Situationen auftreten, die eine nachfolgende Verteilung neuer Authentifizierungsschlüssel erfordern, z. B. wenn eines der Steuermodule 104 ersetzt wird, was bedeutet, dass das neue Steuermodul 104 nicht den gleichen Authentifizierungsschlüssel wie der Computer 102 aufweist und keine verschlüsselte Kommunikation mit dem Computer 102 (und/oder den anderen Steuermodulen 104) austauschen kann.
-
Wie hierin beschrieben, kann eine nachfolgende Autorisierung zum Verteilen von Authentifizierungsschlüsseln für ein begrenztes Fenster durch eine vertrauenswürdige Quelle bereitgestellt werden, z. B. einen entfernten Server 116, der einem Hersteller des Fahrzeugs 100 gehört, und die Autorisierung kann nur bestimmten Parteien bereitgestellt werden, z. B. vom Hersteller zugelassenen Technikern. Der Techniker fordert die Autorisierung vom entfernten Server 116 an, sodass der entfernte Server 116 die Autorisierungen verfolgen und steuern kann. Die Autorisierungsnachricht, die dem Computer 102 eine Autorisierung zum Verteilen der neuen Authentifizierungsschlüssel gewährt, kann nach kurzer Zeit ablaufen, um die Zeit zu begrenzen, in der auf die Authentifizierungsschlüssel zugegriffen werden kann. Wenn die Autorisierung abläuft und die Verteilung des neuen Authentifizierungsschlüssels an eines der Steuermodule 104 erfolglos war, müsste der Techniker die Autorisierung vom entfernten Server 116 erneut anfordern. Wie nachstehend beschrieben, kann der Computer 102 das Ablaufen der Autorisierung verzögern, wenn eines der Steuermodule 104 seinen neuen Authentifizierungsschlüssel nicht erhalten hat, wodurch die Notwendigkeit einer erneuten Anforderung umgangen wird, während die Ablaufzeit dennoch so kurz wie möglich gehalten wird.
-
Ein Computer 102 im Fahrzeug 100 beinhaltet einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausführbar sind, um bei Empfangen einer Autorisierungsnachricht eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen 104 zu übertragen, wobei der Speicher eine Ablaufzeit für die Autorisierungsnachricht beinhaltet; eine Tabelle 106 oder dergleichen, in der die Steuermodule 104 mit jeweiligen Status 108 der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule 104 aufgeführt sind, zu aktualisieren, wobei jeder Status 108 entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status 108 erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zur Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul 104 zu übertragen, für das der jeweilige Status 108 erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.
-
Die Programmierung des Computers 102 stellt die Verteilung neuer Authentifizierungsschlüssel vom Computer 102 an die Steuermodule 104 bereit, wodurch eine verschlüsselte Kommunikation zwischen dem Computer 102 und den Steuermodulen 104 ermöglicht wird, die z. B. einen Algorithmus mit symmetrischem Schlüssel verwendet. Das System stellt eine verbesserte und sichere Verteilung der neuen Authentifizierungsschlüssel bereit, da die Autorisierungsnachricht nur dann auf die Verteilung beschränkt werden kann, wenn sich der Computer 102 und die Steuermodule 104 in einer sicheren Umgebung befinden, z. B. wenn sich das Fahrzeug 100 in einem Service-Center befindet und ein Techniker daran arbeitet. Die Autorisierungsnachricht wird so eingestellt, dass sie abläuft, wodurch der Zeitraum begrenzt wird, in dem die neuen Authentifizierungsschlüssel an die Steuermodule 104 verteilt werden können. Darüber hinaus erzielt das System diese Vorteile, während es dazu beiträgt sicherzustellen, dass die neuen Authentifizierungsschlüssel erfolgreich verteilt werden, indem die Ablaufzeit der Autorisierungsnachricht vorübergehend verzögert wird, wodurch eine Notwendigkeit für den Techniker entfällt, die Autorisierungsnachricht erneut anzufordern, wenn eine der anfänglichen Übertragungen der neuen Authentifizierungsschlüssel erfolglos war.
-
In 1 kann es sich bei dem Fahrzeug 100 um eine beliebige geeignete Art von Kraftfahrzeug handeln, z. B. einen Personen- oder Nutzkraftwagen, wie etwa eine Limousine, ein Coupe, einen Truck, einen Geländewagen, ein Crossover-Fahrzeug, einen Van, einen Minivan, ein Taxi, einen Bus usw. Das Fahrzeug 100 kann zum Beispiel autonom sein. Anders ausgedrückt kann das Fahrzeug 100 derartig autonom betrieben werden, dass das Fahrzeug 100 ohne ständige Aufmerksamkeit eines Fahrers gefahren werden kann, d. h. das Fahrzeug 100 kann ohne menschliche Eingabe selbst fahren.
-
Bei dem Computer 102 handelt es sich um eine mikroprozessorbasierte Rechenvorrichtung, z. B. eine generische Rechenvorrichtung, die einen Prozessor und einen Speicher, eine elektronische Steuerung oder dergleichen, ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (application-specific integrated circuit - ASIC) usw. beinhaltet. Der Computer 102 kann einen Prozessor, einen Speicher usw. beinhalten. Der Speicher des Computers 102 kann Medien zum Speichern von Anweisungen, die durch den Prozessor ausgeführt werden können, sowie zum elektronischen Speichern von Daten und/oder Datenbanken beinhalten, und/oder der Computer 102 kann Strukturen wie etwa die Vorstehende beinhalten, durch die Programmierung bereitgestellt wird.
-
Der Computer 102 kann Daten über ein drahtgebundenes Kommunikationsnetzwerk 110, wie etwa einen Controller-Area-Network-Bus (CAN-Bus), Ethernet, WLAN, ein Local Interconnect Network (LIN), einen On-Board-Diagnoseanschluss (OBD-II) und/oder über ein beliebiges anderes drahtgebundenes Kommunikationsnetzwerk oder eine Kombination von verschiedenen Arten von drahtgebundenen Netzwerken, übertragen und empfangen. Der Computer 102 kann über das drahtgebundene Kommunikationsnetz 110 mit den Steuermodulen 104, einer Benutzerschnittstelle 112, einem Sendeempfänger 114 und anderen Komponenten kommunikativ gekoppelt sein.
-
Die Steuermodule 104 sind mikroprozessorbasierte Rechenvorrichtungen, z. B. generische Rechenvorrichtungen, die einen Prozessor und einen Speicher, elektronische Steuerungen oder dergleichen, feldprogrammierbares Gate-Arrays (FPGA), anwendungsspezifische integrierte Schaltungen (application-specific integrated circuit - ASIC) usw. beinhalten. Jedes Steuermodul 104 kann somit einen Prozessor, einen Speicher usw. beinhalten. Der Speicher jedes Steuermoduls 104 kann Medien zum Speichern von Anweisungen beinhalten, die durch den Prozessor ausgeführt werden können, sowie zum elektronischen Speichern von Daten und/oder Datenbanken dienen, und/oder jedes Steuermodul 104 kann Strukturen wie etwa die vorstehende beinhalten, durch die Programmierung bereitgestellt wird. Die Steuermodule 104 können verschiedene Systeme in dem Fahrzeug 100 betreiben, z. B. ein Karosseriesteuermodul, ein Antriebsstrangsteuermodul, ein Rückhaltesystemsteuermodul usw.
-
Die Benutzerschnittstelle 112 stellt Personen, die mit dem Fahrzeug 100 interagieren, z. B. einem Insassen im Fahrzeug 100 oder einem Techniker, der das Fahrzeug 100 wartet, Informationen bereit und empfängt Informationen von ihnen. Die Benutzerschnittstelle 112 kann sich z. B. an einem Armaturenbrett in der Fahrgastkabine des Fahrzeugs 100 oder an einer beliebigen Stelle befinden, an der sie ohne Weiteres von einem Insassen gesehen werden kann. Die Benutzerschnittstelle 112 kann Zifferblätter, Digitalanzeigen, Bildschirme, Lautsprecher und so weiter zum Bereitstellen von Informationen für den Insassen beinhalten, z. B. bekannte Elemente einer Mensch-Maschine-Schnittstelle (human-machine interface - HMI). Die Benutzerschnittstelle 112 kann Schaltflächen, Knöpfe, Tastenfelder, ein Mikrofon und so weiter zum Empfangen von Informationen vom Insassen beinhalten. Für ein weiteres Beispiel kann die Benutzerschnittstelle 112 ein On-Board-Diagnoseanschluss (OBD-II-Anschluss) zum Aufnehmen eines OBD-II-Scanners sein.
-
Der Sendeempfänger 114 ist dazu ausgelegt, Signale drahtlos mittels eines beliebigen geeigneten drahtlosen Kommunikationsprotokolls zu übertragen, wie etwa Bluetooth®, WiFi, IEEE 802.11a/b/g, sonstige HF(Hochfrequenz)-Kommunikationsverfahren usw. Der Sendeempfänger 114 kann dazu ausgelegt sein, mit einem entfernten Server 116 zu kommunizieren, das heißt einem Server, der vom Fahrzeug 100 getrennt und beabstandet ist. Der Sendeempfänger 114 kann eine Vorrichtung sein oder kann einen separaten Sender und Empfänger beinhalten.
-
Insbesondere kann der entfernte Server 116 ein Server sein, der dem Warten von Fahrzeugen, wie etwa dem Fahrzeug 100, gewidmet ist. Der entfernte Server 116 ist vom drahtgebundenen Kommunikationsnetz 110 entfernt. Der entfernte Server 116 kann wie nachstehend beschrieben die Quelle der Autorisierungsnachricht zum Verteilen der neuen Authentifizierungsschlüssel sein.
-
In 2 ist die Tabelle 106 im Speicher des Computers 102 gespeichert. Die Tabelle 106 weist Einträge für eine Vielzahl von Steuermodulen 104 im Fahrzeug 100 auf. In entsprechenden Einträgen für eines der Steuermodule 104 kann die Tabelle 106 eine Netzwerkadresse 118, eine Schlüsselkennung 120, den Status 108 und einen Zähler 122 beinhalten. Jede Netzwerkadresse 118 identifiziert einen Standort des jeweiligen Steuermoduls 104 im drahtgebundenen Kommunikationsnetz 110. Jede Schlüsselkennung 120 identifiziert den neuen Authentifizierungsschlüssel, der an das jeweilige Steuermodul 104 übertragen wird, sodass bestimmt werden kann, ob der Computer 102 und das jeweilige Steuermodul 104 den gleichen Authentifizierungsschlüssel verwenden, ohne den Authentifizierungsschlüssel übertragen und möglicherweise exponieren zu müssen. Jeder Status 108 gibt an, ob der neue Authentifizierungsschlüssel erfolgreich übertragen wurde oder nicht, und jeder Status 108 ist entweder erfolgreich oder erfolglos. Jeder Zähler 122 gibt eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel an, die das jeweilige Steuermodul 104 empfangen hat. Zum Beispiel kann jeder Zähler 122 drei Bits aufweisen, wobei 000 (binär 0) den werkseitig installierten Authentifizierungsschlüssel darstellt, und der Zähler 122 kann durch 001 (binär 1) bis 111 (binär 7) wechseln, wenn neue Authentifizierungsschlüssel an das jeweilige Steuermodul 104 übertragen werden.
-
In 3 kann ein Steuermodul 104 eine lokale Tabelle 124 im Speicher speichern. Die lokale Tabelle 124 auf jedem Steuermodul 104 kann die Schlüsselkennung 120 für den zuletzt empfangenen neuen Authentifizierungsschlüssel, der von diesem Steuermodul 104 empfangen wurde, den Status 108 für dieses Steuermodul 104 und den Zähler 122 für dieses Steuermodul 104 beinhalten. Der lokalen Tabelle 124 kann die Netzwerkadresse 118 fehlen, und es können Daten für die anderen Steuermodule 104 fehlen.
-
In 4 kann der Computer 102 eine Übersichtstabelle 126 ausgeben, z. B. über die Benutzerschnittstelle 112. Die Übersichtstabelle 126 weist Einträge für jedes Steuermodul 104 auf. In jedem Eintrag für eines der Steuermodule 104 beinhaltet die Übersichtstabelle 126 die Netzwerkadresse 118 und den Status 108 für dieses Steuermodul 104. Der Übersichtstabelle 126 fehlen die Schlüsselkennungen 120 und die Zähler 122.
-
5 ist ein Prozessablaufdiagramm, das einen beispielhaften Prozess 500 zum Aktualisieren der Authentifizierungsschlüssel der Steuermodule 104 darstellt. Im Speicher des Computers 102 sind ausführbare Anweisungen zum Ausführen der Schritte des Prozesses 500 gespeichert und/oder eine Programmierung kann in Strukturen wie vorstehend erwähnt umgesetzt sein. Als allgemeine Übersicht über den Prozess 500 verhindert der Computer 102 die Übertragung der neuen Authentifizierungsschlüssel, außer zwischen dem Empfang der Autorisierungsnachricht und dem Ablauf der Autorisierungsnachricht. Wenn der Computer 102 die Autorisierungsnachricht empfängt, generiert der Computer 102 die neuen Authentifizierungsschlüssel und überträgt für jedes einer Vielzahl von Steuermodulen 104 den jeweiligen neuen Authentifizierungsschlüssel und aktualisiert die Tabelle 106 auf Grundlage dessen, ob die Steuermodule 104 Erfolgsbenachrichtigungen übertragen, die den Empfang der neuen Authentifizierungsschlüssel angeben. Wenn einer der Status 108 erfolglos ist, verhindert der Computer 102 das Ablaufen der Autorisierung, gibt eine Fehlerbenachrichtigung aus, überträgt die neuen Authentifizierungsschlüssel erneut an die Steuermodule 104 mit den erfolglosen Status 108, wenn eine Eingabe dazu (z. B. von einem Techniker) empfangen wird, und aktualisiert die Tabelle 106. Als Nächstes, oder wenn alle Status 108 erfolgreich sind, gibt der Computer 102 die Übersichtstabelle 126 aus und lässt die Autorisierung ablaufen.
-
Der Prozess 500 beginnt in einem Block 505, in dem der Computer 102 die Übertragung der neuen Authentifizierungsschlüssel verhindert, da er nicht für eine solche Übertragung autorisiert ist. Standardmäßig ist der Computer 102 nicht autorisiert, die neuen Authentifizierungsschlüssel zu übertragen. Die Ausnahme besteht darin, dass der Computer 102 zwischen dem Empfang der Autorisierungsnachricht und dem Ablauf der Autorisierungsnachricht zum Übertragen der neuen Authentifizierungsschlüssel autorisiert ist.
-
Als Nächstes bestimmt der Computer 102 in einem Entscheidungsblock 510, ob der Computer 102 die Autorisierungsnachricht empfangen hat. Die Autorisierungsnachricht stammt vom entfernten Server 116, wird vom Sendeempfänger 114 empfangen und über das drahtgebundene Kommunikationsnetz 110 an den Computer 102 weitergeleitet. Der Speicher des Computers 102 beinhaltet eine Ablaufzeit, das heißt eine Zeitspanne, nach der die Autorisierung zum Übertragen der neuen Authentifizierungsschlüssel endet. Die Ablaufzeit kann z. B. eine Einstellung oder ein Parameter des Computers 102 sein. Alternativ kann die Autorisierungsnachricht die Ablaufzeit beinhalten. Die Ablaufzeit wird so gewählt, dass sie kurz, aber immer noch ausreichend lang ist, dass der Computer 102 die neuen Authentifizierungsschlüssel an die Steuermodule 104 übertragen kann, wenn alle Übertragungen erfolgreich sind, z. B. eine Minute. Wenn der Computer 102 die Autorisierungsnachricht nicht empfangen hat, kehrt der Prozess 500 zum Block 505 zurück, um weiter auf die Autorisierungsnachricht zu warten. Wenn der Computer 102 die Nachricht empfangen hat, geht der Prozess 500 zum Block 515 über.
-
Im Block 515 generiert der Computer 102 die neuen Authentifizierungsschlüssel. Der Computer 102 kann ein beliebiges geeignetes Verfahren zum Generieren der neuen Authentifizierungsschlüssel verwenden, z. B. einen so bekannten Pseudozufalls-Schlüsselgenerator.
-
Als Nächstes überträgt der Computer 102 in einem Block 520 einen nächsten neuen Authentifizierungsschlüssel an ein jeweiliges nächstes Steuermodul 104. Der Computer 102 kann eine Liste der Steuermodule 104 im Speicher speichern. Wenn der Computer 102 noch keinen der neuen Authentifizierungsschlüssel übertragen hat, überträgt der Computer 102 einen ersten neuen Authentifizierungsschlüssel der neuen Authentifizierungsschlüssel an ein erstes Steuermodul 104-1 auf der Liste der Steuermodule 104. Wenn der Computer 102 mindestens einen neuen Authentifizierungsschlüssel übertragen hat, überträgt der Computer 102 den nächsten neuen Authentifizierungsschlüssel an das nächste Steuermodul 104 auf der Liste, z. B. an ein zweites Steuermodul 104-2 unmittelbar nach dem ersten Steuermodul 104, bis zu einem N-ten Steuermodul 104-N aus N Steuermodulen 104 insgesamt.
-
Als nächstes wartet der Computer 102 in einem Block 525 auf ein Zeitlimit, nachdem der nächste neue Authentifizierungsschlüssel übertragen wurde. Das Zeitlimit wird so gewählt, dass es eine Zeitdauer ist, während der das nächste Steuermodul 104 den nächsten neuen Authentifizierungsschlüssel empfängt und mit einer Erfolgsbenachrichtigung antwortet, wie nachstehend in Bezug auf einen Prozess 600 beschrieben.
-
Als nächstes aktualisiert der Computer 102 in einem Block 530 die Tabelle 106 mit dem Status 108 der Übertragung des nächsten Authentifizierungsschlüssels. Wenn der Computer 102 die Erfolgsbenachrichtigung vom nächsten Steuermodul 104 innerhalb des Zeitlimits empfangen hat, wird der jeweilige Status 108 als erfolgreich aktualisiert und der Zähler 122 wird inkrementiert. Wenn der Computer 102 die Erfolgsbenachrichtigung vom nächsten Steuermodul 104 nicht innerhalb des Zeitlimits empfangen hat, wird der jeweilige Status 108 als erfolglos aktualisiert.
-
Als Nächstes bestimmt der Computer 102 in einem Entscheidungsblock 535, ob Steuermodule 104 vorhanden sind, an die der Computer 102 den jeweiligen neuen Authentifizierungsschlüssel noch nicht übertragen hat. Wenn der zuletzt übertragene neue Authentifizierungsschlüssel an das N-te Steuermodul 104-N aus den N Steuermodulen 104 insgesamt übertragen wurde, gibt es keine verbleibenden Steuermodule 104. Wenn der zuletzt übertragene neue Authentifizierungsschlüssel an ein anderes Steuermodul 104 übertragen wurde, gibt es keine verbleibenden Steuermodule 104. Wenn mindestens ein verbleibendes Steuermodul 104 vorhanden ist, kehrt der Prozess 500 zum Block 520 zurück, um den nächsten neuen Authentifizierungsschlüssel zu übertragen. Wenn keine verbleibenden Steuermodule 104 vorhanden sind, geht der Prozess 500 zu einem Entscheidungsblock 540 über.
-
Im Entscheidungsblock 540 bestimmt der Computer 102, ob die Ablaufzeit der Autorisierungsnachricht verstrichen ist. Falls nicht, kehrt der Prozess 500 zum Entscheidungsblock 540 zurück; mit anderen Worten wartet der Prozess 500, bis die Ablaufzeit verstrichen ist. Wenn die Ablaufzeit verstrichen ist, geht der Prozess 500 zu einem Entscheidungsblock 545 über.
-
Im Entscheidungsblock 545 bestimmt der Computer 102, ob die Tabelle 106 erfolglose Status 108 beinhaltet, das heißt, dass mindestens ein Status 108 erfolglos ist. Wenn mindestens ein Status 108 erfolglos ist, geht der Prozess 500 zu einem Block 550 über. Wenn alle Status 108 erfolglos sind, geht der Prozess 500 zu einem Block 575 über.
-
Im Block 550 verhindert der Computer 102, dass die Autorisierungsnachricht zur Ablaufzeit abläuft, das heißt trotz der Tatsache, dass die Ablaufzeit verstrichen ist.
-
Als Nächstes gibt der Computer 102 in einem Block 555 über die Benutzerschnittstelle 112 eine Fehlerbenachrichtigung an einen Bediener aus. Der Bediener kann z. B. ein Techniker in einem Service-Center sein. Die Fehlerbenachrichtigung kann jedes Steuermodul 104 identifizieren, für das der jeweilige Status 108 erfolglos ist. Zum Beispiel kann die Fehlerbenachrichtigung die Übersichtstabelle 126 sein. Alternativ oder zusätzlich kann die Fehlerbenachrichtigung die Form eines Diagnose-Fehlercodes (DTC) annehmen, wobei der DTC die Steuermodule 104 mit erfolglosen Status 108 identifiziert.
-
Als Nächstes bestimmt der Computer 102 in einem Entscheidungsblock 560, ob der Computer 102 z. B. über die Benutzerschnittstelle 112 eine Eingabe vom Bediener empfangen hat, die den Computer 102 anweist, die neuen Authentifizierungsschlüssel weiterhin erneut an die Steuermodule 104 mit erfolglosem Status 108 zu übertragen. Der Bediener kann eine Handlung durchführen, bevor er die Eingabe bereitstellt, z. B. die Steuermodule 104 mit erfolglosen Status 108 ersetzen. Wenn der Computer 102 die Eingabe nicht empfangen hat, kehrt der Prozess 500 zum Block 560 zurück; mit anderen Worten wartet der Prozess 500, bis der Computer 102 die Eingabe empfängt. Sobald der Computer 102 die Eingabe empfängt, geht der Prozess 500 zu einem Block 565 über.
-
Im Block 565, das heißt, nachdem verhindert wurde, dass die Autorisierungsnachricht abläuft, überträgt der Computer 102 die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul 104, für das der jeweilige Status 108 erfolglos ist. Für jedes Steuermodul 104 sendet der Computer 102 den gleichen neuen Authentifizierungsschlüssel, den der Computer 102 im vorstehenden Block 520 an das Steuermodul 104 zu übertragen versucht hat.
-
Als Nächstes aktualisiert der Computer 102 in einem Block 570, d. h. nach der Neuübertragung, die jeweiligen Status 108 für jedes Steuermodul 104, für das der jeweilige neue Authentifizierungsschlüssel erneut übertragen wurde. Für jedes Steuermodul 104, von dem der Computer 102 die Erfolgsbenachrichtigung innerhalb des Zeitlimits empfangen hat, aktualisiert der Computer 102 den jeweiligen Status 108 auf erfolgreich und inkrementiert den jeweiligen Zähler 122. Für jedes Steuermodul 104, von dem der Computer 102 die Erfolgsbenachrichtigung nicht innerhalb des Zeitlimits empfangen hat, behält der Computer 102 den jeweiligen Status 108 als erfolglos bei. Nach dem Block 570 geht der Prozess 500 zum Block 575 über.
-
Im Block 575 lässt der Computer 102 dann die Autorisierungsnachricht ablaufen.
-
Als Nächstes gibt der Computer 102 in einem Block 580 die Übersichtstabelle 126 an den Bediener aus, z. B. über die Benutzerschnittstelle 112. Nach dem Block 580 endet der Prozess 500.
-
6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 600 zum Reagieren auf einen neuen Autorisierungsschlüssel darstellt. Im Speicher jedes Steuermoduls 104 sind ausführbare Anweisungen zum Ausführen der Schritte des Prozesses 600 gespeichert und/oder eine Programmierung kann in Strukturen wie vorstehend erwähnt umgesetzt sein. Als allgemeine Übersicht über den Prozess 600 überträgt das Steuermodul 104 bei Empfangen des neuen Authentifizierungsschlüssels die Erfolgsbenachrichtigung und aktualisiert die lokale Tabelle 124.
-
Der Prozess 600 beginnt in einem Entscheidungsblock 605, in dem das Steuermodul 104 bestimmt, ob das Steuermodul 104 den jeweiligen neuen Authentifizierungsschlüssel über das drahtgebundene Kommunikationsnetz 110 empfangen hat. Wenn das Steuermodul 104 den jeweiligen neuen Authentifizierungsschlüssel nicht empfangen hat, kehrt der Prozess 600 zum Entscheidungsblock 605 zurück; mit anderen Worten wartet der Prozess 600, bis das Steuermodul 104 den jeweiligen neuen Authentifizierungsschlüssel empfängt. Sobald das Steuermodul 104 den jeweiligen neuen Authentifizierungsschlüssel empfängt, geht der Prozess 600 zu einem Block 610 über.
-
In dem Block 610 überträgt das Steuermodul 104 die Erfolgsbenachrichtigung über das drahtgebundene Kommunikationsnetz 110 an den Computer 102.
-
Als Nächstes aktualisiert das Steuermodul 104 in einem Block 615 die lokale Tabelle 124. Das Steuermodul 104 aktualisiert den Status 108 auf erfolgreich und erhöht den Zähler 122. Nach Block 615 endet der Prozess 600.
-
Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -techniken erstellt wurden, darunter unter anderem, entweder allein oder in Kombination, Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen z. B. von einem Speicher, einem computerlesbaren Medium usw. und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, darunter einen oder mehrere der hierin beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Reihe von computerlesbaren Medien gespeichert und übermittelt werden. Eine Datei in einer vernetzten Vorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw. gespeichert sind. Ein computerlesbares Medium umfasst ein beliebiges Medium, das an der Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die von einem Computer gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die nichtflüchtige Medien, flüchtige Medien usw. umfassen können, ohne darauf beschränkt zu sein. Nichtflüchtige Medien umfassen zum Beispiel optische oder magnetische Festplatten und andere Dauerspeicher. Flüchtige Medien umfassen einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der in der Regel einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien umfassen zum Beispiel: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
-
Die Offenbarung wurde auf anschauliche Weise beschrieben und es versteht sich, dass die verwendete Terminologie ihrem Wesen nach beschreibend und nicht einschränkend sein soll. Die Verwendung von „als Reaktion auf und „wenn bestimmt wird“ gibt eine kausale Beziehung an, nicht nur eine rein temporale Beziehung. Die Adjektive „erstes“ und „zweites“ werden in der gesamten Schrift als Identifikatoren verwendet und sollen keine Bedeutung, Reihenfolge oder Anzahl angeben. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Variationen der vorliegenden Offenbarung möglich und kann die Offenbarung anders als konkret beschrieben umgesetzt werden.
-
Gemäß der vorliegenden Erfindung wird ein Computer bereitgestellt, der einen Prozessor und einen Speicher aufweist, der Anweisungen speichert, die durch den Prozessor ausführbar sind, um bei Empfangen einer Autorisierungsnachricht eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen zu übertragen, wobei der Speicher eine Ablaufzeit für die Autorisierungsnachricht beinhaltet; eine Liste der Steuermodule mit jeweiligen Status der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule zu aktualisieren, wobei jeder Status entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zur Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul zu übertragen, für das der jeweilige Status erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen, eine Fehlerbenachrichtigung an einen Bediener auszugeben, wenn mindestens ein Status erfolglos ist.
-
Gemäß einer Ausführungsform identifiziert die Fehlerbenachrichtigung jedes Steuermodul, für das der jeweilige Status erfolglos ist.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Aktualisieren der jeweiligen Status nach der Neuübertragung für jedes Steuermodul, für das der jeweilige neue Authentifizierungsschlüssel erneut übertragen wurde.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Bestimmen auf Grundlage des Empfangens einer Erfolgsbenachrichtigung vom jeweiligen Steuermodul innerhalb eines Zeitlimits ab dem Übertragen des jeweiligen neuen Authentifizierungsschlüssels an dieses Steuermodul, ob jeder Status erfolgreich oder erfolglos ist.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Verhindern der Übertragung der neuen Authentifizierungsschlüssel außer zwischen dem Empfang der Autorisierungsnachricht und dem Ablauf der Autorisierungsnachricht.
-
Gemäß einer Ausführungsform beinhaltet die Tabelle für die jeweiligen Steuermodule jeweilige Netzwerkadressen der jeweiligen Steuermodule, die jeweiligen Status und jeweiligen Zähler, und jeder Zähler gibt eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel an, die das jeweilige Steuermodul empfangen hat.
-
Gemäß einer Ausführungsform beinhaltet die Tabelle für die jeweiligen Steuermodule jeweilige Schlüsselkennungen für die jeweiligen neuen Authentifizierungsschlüssel, die an die jeweiligen Steuermodule übertragen werden.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Ausgeben einer Übersichtstabelle an einen Bediener nach dem Aktualisieren der Tabelle, die Übersichtstabelle beinhalten die jeweiligen Netzwerkadressen der jeweiligen Steuermodule und die jeweiligen Status, und der Übersichtstabelle können die jeweiligen Schlüsselkennungen fehlen.
-
Gemäß einer Ausführungsform wird ein System bereitgestellt, aufweisend: eine Vielzahl von Steuermodulen; einen Computer; und ein drahtgebundenes Kommunikationsnetzwerk; wobei der Computer programmiert dazu ist: bei Empfangen einer Autorisierungsnachricht eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen zu übertragen, wobei der Computer eine Ablaufzeit für die Autorisierungsnachricht speichert; eine Liste der Steuermodule mit jeweiligen Status der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule zu aktualisieren, wobei jeder Status entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zur Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul zu übertragen, für das der jeweilige Status erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.
-
Gemäß einer Ausführungsform ist der Computer ferner dazu programmiert, die Autorisierungsnachricht von einem Server zu empfangen, der vom drahtgebundenen Kommunikationsnetzwerk entfernt ist.
-
Gemäß einer Ausführungsform ist der Computer ferner dazu programmiert, eine Fehlerbenachrichtigung an einen Bediener auszugeben, wenn mindestens ein Status erfolglos ist.
-
Gemäß einer Ausführungsform identifiziert die Fehlerbenachrichtigung jedes Steuermodul, für das der jeweilige Status erfolglos ist.
-
Gemäß einer Ausführungsform ist der Computer ferner dazu programmiert, nach der Neuübertragung die jeweiligen Status für jedes Steuermodul zu aktualisieren, für das der jeweilige neue Authentifizierungsschlüssel erneut übertragen wurde.
-
Gemäß einer Ausführungsform sind die Steuermodule dazu programmiert, bei Empfangen des jeweiligen neuen Authentisierungsschlüssels eine Erfolgsbenachrichtigung an den Computer zu übertragen, und der Computer ist ferner dazu programmiert, auf Grundlage des Empfangens einer Erfolgsbenachrichtigung vom jeweiligen Steuermodul innerhalb eines Zeitlimits ab dem Übertragen des jeweiligen neuen Authentifizierungsschlüssels an dieses Steuermodul zu bestimmen, ob jeder Status erfolgreich oder erfolglos ist.
-
Gemäß einer Ausführungsform ist der Computer ferner dazu programmiert, die Übertragung der neuen Authentifizierungsschlüssel außer zwischen dem Empfang der Autorisierungsnachricht und dem Ablauf der Autorisierungsnachricht zu verhindern.
-
Gemäß einer Ausführungsform beinhaltet die Tabelle für die jeweiligen Steuermodule jeweilige Netzwerkadressen der jeweiligen Steuermodule, die jeweiligen Status und jeweiligen Zähler, und jeder Zähler gibt eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel an, die das jeweilige Steuermodul empfangen hat.
-
Gemäß einer Ausführungsform beinhaltet die Tabelle für die jeweiligen Steuermodule jeweilige Schlüsselkennungen für die jeweiligen neuen Authentifizierungsschlüssel, die an die jeweiligen Steuermodule übertragen werden.
-
Gemäß einer Ausführungsform ist jedes Steuermodul dazu programmiert, bei Empfangen des jeweiligen neuen Authentifizierungsschlüssels eine lokale Tabelle zu aktualisieren, wobei die lokale Tabelle eine Schlüsselkennung für den jeweiligen neuen Authentifizierungsschlüssel, der von diesem Steuermodul empfangen wurde, den Status für dieses Steuermodul und einen Zähler beinhaltet, und der Zähler eine Anzahl unterschiedlicher neuer Authentifizierungsschlüssel angibt, die das Steuermodul empfangen hat.
-
Gemäß einer Ausführungsform beinhaltet ein Verfahren: bei Empfangen einer Autorisierungsnachricht eine Vielzahl von neuen Authentifizierungsschlüsseln an eine entsprechende Vielzahl von Steuermodulen zu übertragen; eine Liste der Steuermodule mit jeweiligen Status der Übertragungen der jeweiligen neuen Authentifizierungsschlüssel an die jeweiligen Steuermodule zu aktualisieren, wobei jeder Status entweder erfolgreich oder erfolglos ist; wenn mindestens ein Status erfolglos ist, zu verhindern, dass die Autorisierungsnachricht zu einer Ablaufzeit abläuft; nach dem Verhindern, dass die Autorisierungsnachricht abläuft, die jeweiligen neuen Authentifizierungsschlüssel erneut an jedes Steuermodul zu übertragen, für das der jeweilige Status erfolglos ist; und dann die Autorisierungsnachricht ablaufen zu lassen.