-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich auf kryptographische Techniken zum Steuern eines elektronischen Zugriffs auf elektronische Steuereinheiten (ECUs) in einem Fahrzeug oder einer anderen Maschine oder Einrichtung.
-
HINTERGRUND
-
Viele Fahrzeuge und andere Einrichtungen umfassen elektronische Steuereinheiten (ECUs), die eine Vielzahl von Tasks verwalten. Die ECUs können programmiert sein, um von einem Computer lesbare Anweisungen auszuführen und basierend auf jenen Anweisungen mechanische und/oder elektrische Einrichtungen zu steuern. Beispielsweise kann ein Antriebsstrangsteuermodul (PCM) als zentrale Entscheidungsautorität für den Antriebsstrang eines Fahrzeugs fungieren und die Form einer ECU annehmen, um diesen Zweck zu erfüllen. Es kann eine Anzahl von Fahrzeugmotorparametern durch das PCM gesteuert werden, wie beispielsweise Zünd-Timing eines Verbrennungsmotors (ICE) oder eines Abgasrückführungsventils (EGR-Ventils), um einige zu nennen.
-
Die Hersteller der Fahrzeuge oder Einrichtungen wünschen möglicherweise, den Zugriff auf die Anweisungen oder andere Betriebsaspekte der ECUs zu regulieren. Unter Verwendung des obigen Beispiels kann ein Fahrzeughersteller möglicherweise wünschen, einen Zugriff auf die Anweisungen und andere Merkmale der ECU auf autorisierte Einzelpersonen zu beschränken. In der Vergangenheit wurde der Zugriff auf die ECUs unter Verwendung eines Passworts gewährt oder verweigert. Für gewöhnlich benutzt jedoch eine große Anzahl von ECUs ein Passwort, und wenn das Passwort für eine ECU herausgefunden wird, kann solch ein Herausfinden unter Verwendung dieses Passworts alle anderen ECUs ebenfalls schutzlos machen.
-
ZHAO, Rui; YUE, Chuan; SUN, Kun: Vulnerability and risk analysis of two commercial browser and cloud based password managers. In: ASE Science Journal, Vol. 1, 2013, Nr. 4, S. 1-15 beschreiben eine Verletzlichkeits- und Risikoanalyse von kommerziellen browser- und cloudbasierten Passwortverwaltern. Die
US 2006 / 0 059 109 A1 beschreibt einen passwortgeschützten und schlüssellosen Zugriff auf ein Fahrzeug. KALISKI, Burt: PKCS #5: Password-Based Cryptography specification, Version 2.0. IETF RFC 2898, September 2000 beschreibt eine passwortbasierte Kryptographie-Spezifikation. Die
EP 1 419 636 B1 offenbart ein Verfahren zum automatischen Login einer in einem Kraftfahrzeug befindlichen Teilnehmerstation in einem externen Informationssystem. AKGÜN, Mete; KAVAK, Pinar; DEMIRCI, Hüseyin: New results on the key scheduling algorithm of RC4. In: International Conference on Cryptology in India. Berlin, Heidelberg: Springer, 2008. S. 40-52. DOI: 10.1007/978-3-540-89754_54 beschreiben neue Ergebnisse des Schlüsselplanungsalgorithmus RC4. Linear cryptanalysis. In: Wikipedia, The Free Encyclopedia. Bearbeitungsstand 29. August 2013, URL: https://en.wikipedia.org/w/index.php?title=Linear_cryptanalysis&oldid=570700006 beschreibt Grundlagen zur Kryptoanalyse.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren zum Bereitstellen eines Zugriffs auf eine passwortgeschützte elektronische Steuereinheit unter Verwendung von Verschlüsselung bereitzustellen.
-
ZUSAMMENFASSUNG
-
Diese Aufgabe wird gelöst durch ein Verfahren zum Bereitstellen eines Zugriffs auf eine passwortgeschützte elektronische Steuereinheit (ECU) unter Verwendung von Verschlüsselung. Das Verfahren umfasst, dass ein kryptographischer Schlüssel für die ECU unter Verwendung eines Master-Passworts, einer Seriennummer der ECU und einer passwortbasierten Schlüsselableitungsfunktion erzeugt wird; der erzeugte kryptographische Schlüssel in ein ECU-Passwort umgewandelt wird; und unter Verwendung des ECU-Passworts auf Daten von der ECU zugegriffen wird, wobei das Verfahren ferner die Schritte umfasst, dass: die Seriennummer von einem Benutzer empfangen wird; das ECU-Passwort aus der empfangenen Seriennummer und dem Master-Passwort an einem von dem Benutzer entfernten Ort erzeugt wird; und das ECU-Passwort an den Benutzer übertragen wird.
-
Gemäß einem anderen offenbarten Verfahren, das nicht Teil der Erfindung ist, wird ein Verfahren zum Regulieren eines Zugriffs auf eine elektronische Steuereinheit (ECU) unter Verwendung von Verschlüsselung bereitgestellt. Das Verfahren umfasst, dass ein Master-Passwort elektronisch von einer zentralen Einrichtung empfangen wird; eine Seriennummer der ECU detektiert wird; das Master-Passwort und die Seriennummer einer passwortbasierten Schlüsselableitungsfunktion bereitgestellt werden; ein kryptographischer Schlüssel basierend auf dem Master-Passwort und der Seriennummer ausgegeben wird; und der kryptographische Schlüssel in ein ECU-Passwort umgewandelt wird.
-
Gemäß noch einem anderen offenbarten Verfahren, das nicht Teil der Erfindung ist, wird ein Verfahren zum Bereitstellen von eindeutigen Passwörtern für mehrere elektronische Steuereinheiten (ECUs) unter Verwendung eines Master-Passworts, das die ECUs gemeinsam haben, bereitgestellt. Das Verfahren umfasst, dass mehrere Fahrzeugsystemmodule für Fahrzeuge produziert werden, wobei die Fahrzeugsystemmodule eine gemeinsame Fahrzeugteilenummer und eine Seriennummer, die für jedes der Fahrzeugsystemmodule eindeutig ist, aufweisen; ein ECU-Passwort für jedes Fahrzeugsystemmodul unter Verwendung der Seriennummer, die für dieses Fahrzeugsystemmodul eindeutig ist, und eines Master-Passworts, das der gemeinsamen Fahrzeugteilenummer zugehörig ist, erzeugt wird; und das erzeugte ECU-Passwort in jedem Fahrzeugsystemmodul gespeichert wird.
-
Figurenliste
-
Hierin nachfolgend werden eine oder mehrere Ausführungsformen der Erfindung in Verbindung mit den beigefügten Zeichnungen beschrieben, in denen gleiche Bezugszeichen gleiche Elemente bezeichnen, und wobei:
- 1 ein Blockdiagramm ist, dass eine Ausführungsform eines Kommunikationssystems zeigt, das das hierin offenbarte Verfahren verwenden kann; und
- 2 ein Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Regulieren eines Zugriffs auf eine ECU unter Verwendung von Verschlüsselung zeigt;
- 3 ein Flussdiagramm ist, das eine Ausführungsform eines Kryptographieschlüssel-Arrays und eines ECU-Passwort-Arrays zeigt; und
- 4 eine Darstellung einer Ausführungsform eines Verfahrens zum Kombinieren eines Schlüsselmaterialausgangs von einer passwortbasierten Schlüsselableitungsfunktion zu einem Array ist.
-
DETAILLIERTE BESCHREIBUNG DER DARGESTELLTEN AUSFÜHRUNGSFORMEN
-
Das System und das Verfahren, die nachstehend beschrieben werden, umfassen elektronische Steuereinheiten (ECUs von electronic control units), die unter Verwendung von sowohl einem Master-Passwort als auch einer Seriennummer einer bestimmten ECU verschlüsselt werden können. Das Master-Passwort kann zusammen mit der Seriennummer (die als Salt fungiert) in eine passwortbasierte Schlüsselableitungsfunktion (PBKDF von password-based key derivation function), eingegeben werden, welche einen Verschlüsselungsschlüssel basierend auf sowohl dem Master-Passwort als auch der Seriennummer ausgibt. Der Verschlüsselungsschlüssel kann dann in ein ECU-Passwort umgewandelt werden, das in die ECU eingegeben werden kann. Die Umwandlung kann auf eine Vielzahl von Arten durchgeführt werden, wie beispielsweise Verwenden einer Nachschlagetabelle, was nachstehend ausführlicher erläutert wird. Wenn das ECU-Passwort erzeugt wurde, ist sehr wahrscheinlich, dass es für jede ECU eindeutig ist, da jedes ECU-Passwort unter Verwendung einer anderen Seriennummer erzeugt wurde.
-
Wenn später ein Techniker oder eine andere autorisierte Person versucht, Zugriff auf die ECU zu erlangen, kann er das ECU-Passwort erneut erzeugen, indem er die Seriennummer der ECU findet und sie zusammen mit dem Master-Passwort in die PBKDF eingibt. Bei einer Realisierung kann das Master-Passwort an einem zentralen Ort gesichert sein, so dass autorisierte Benutzer die Seriennummer an den zentralen Ort übertragen, an dem sie mit dem Master-Passwort in die PBKDF kombiniert werden kann, um das ECU-Passwort für eine bestimmte ECU auszugeben. Das ECU-Passwort kann dann dem autorisierten Benutzer bereitgestellt werden, um Zugriff auf die bestimmte ECU zu erlangen. Bei dieser Anordnung kann das Master-Passwort im Vergleich zu vorherigen Systemen, die ein gemeinsames oder einzelnes Master-Passwort für viele Einrichtungen führten, so dass ein Herausfinden des einzelnen Master-Passworts zu einem Zugriff auf alle ECUs führte, vertraulich aufbewahrt werden und sehr sicher sein. Das Erzeugen des ECU-Passworts unter Verwendung der PBKDF beschränkt den Zugriff auf eine bestimmte ECU.
-
Ferner kann das Master-Passwort, das in die PBKDF eingegeben und verwendet wird, um letztlich ein ECU-Passwort zu erzeugen, im Vergleich zu gemeinsamen Master-Passwörtern, die in der Vergangenheit für große Anzahlen von ECUs verwendet wurden und tatsächlich durch die ECU empfangen werden, eine große Stärke aufweisen. ECUs sind oftmals durch die Menge an Speicherplatz beschränkt, die für eine Passwortspeicherung zur Verfügung steht. Der beschränkte Speicherplatz beschränkt wiederum die Größe, und daher die Stärke, des Passworts, das durch die ECU empfangen werden kann. Bei einer gemeinsamen Realisierung kann die ECU ein Passwort empfangen, das nicht größer als 8 Bytes/64 Bits ist. Wenn ein gemeinsames Master-Passwort bei einer ECU verwendet und als 8 Bytes realisiert wird, kann es einfacher sein, dies zu erraten oder auf andere Weise herauszufinden als längere oder größere Passwörter. Das vorliegende System und das vorliegende Verfahren können jedoch ein viel längeres und stärkeres Master-Passwort realisieren, das verwendet wird, um schließlich ein ECU-Passwort zu erzeugen als jenes, das normalerweise direkt durch die ECU selbst angenommen werden würde. Bei einer Realisierung kann das Master-Passwort 64 Bits oder größer sein. Während die hierin offenbarten Systeme und Verfahren in Bezug auf ein Fahrzeug beschrieben sind und das Fahrzeug ECUs verwendet, sei angemerkt, dass das System und das Verfahren auch auf ECUs angewandt werden können, die in anderen Szenarien verwendet werden. Wie hierin verwendet kann die ECU eine elektronische Einrichtung mit einer Seriennummer sein, die zumindest eines der folgenden aufweist: einen Mikrocontroller/Mikroprozessor, einen Transceiver, einen analogen Sensor, einen analogen Schaltkreis, Leistungsregelungsschaltkreise oder ein Gehäuse.
-
Bezug nehmend auf 1 ist eine Betriebsumgebung gezeigt, die ein Mobilfahrzeugkommunikationssystem 10 umfasst und die verwendet werden kann, um das hierin offenbarte Verfahren zu realisieren. Das Kommunikationssystem 10 umfasst allgemein ein Fahrzeug 12, ein oder mehrere drahtlose Trägersysteme 14, ein Bodenkommunikationsnetz 16, einen Computer 18 und ein Call Center 20. Es ist zu verstehen, dass das offenbarte Verfahren mit jeder Anzahl von verschiedenen Systemen verwendet werden kann und nicht speziell auf die hier gezeigte Betriebsumgebung beschränkt ist. Auch sind die Architektur, die Konstruktion, der Aufbau und der Betrieb des Systems 10 sowie seine einzelnen Komponenten in der Technik allgemein bekannt. Somit liefern die folgenden Absätze lediglich einen kurzen Überblick über solch ein beispielhaftes System 10; andere Systeme, die hier nicht gezeigt sind, könnten jedoch auch das offenbarte Verfahren einsetzen.
-
Das Fahrzeug 12 ist bei der dargestellten Ausführungsform als ein Personenkraftwagen gezeigt, es sei jedoch angemerkt, dass auch jedes andere Fahrzeug verwendet werden kann, das Motorräder, Lastwagen, Geländewagen (SUVs von sports utility vehicles), Wohnmobile (RVs von recreational vehicles), Schiffe, Luftfahrzeuge etc. umfasst. Ein Teil der Fahrzeugelektronik 28 ist in 1 allgemein gezeigt und umfasst eine Telematikeinheit 30, ein Mikrofon 32, einen oder mehrere Druckknöpfe oder andere Steuereingabeeinrichtungen 34, ein Audiosystem 36, eine visuelle Anzeige 38 und ein GPS-Modul 40 sowie eine Anzahl von Fahrzeugsystemmodulen (VSMs von vehicle system modules) 42. Einige dieser Einrichtungen können direkt mit der Telematikeinheit verbunden sein, wie beispielsweise das Mikrofon 32 und der Druckknopf/die Druckknöpfe 34, wohingegen andere indirekt unter Verwendung einer oder mehrerer Netzverbindungen, wie beispielsweise eines Kommunikationsbusses 44 oder eines Unterhaltungsbusses 46, verbunden sind. Beispiele geeigneter Netzverbindungen umfassen ein Controller Area Network (CAN), einen Media Oriented System Transfer (MOST), ein Local Interconnection Network (LIN), ein Local Area Network (LAN) und andere geeignete Verbindungen, wie beispielsweise Ethernet oder andere, die den bekannten ISO-, SAE- und IEEE-Standards und -Spezifikationen entsprechen, nur um einige zu nennen.
-
Die Telematikeinheit 30 kann eine OEM-Einrichtung (eingebettet) oder eine Nachrüsteinrichtung sein, die in dem Fahrzeug eingebaut ist und die eine drahtlose Sprach- und/oder Datenübermittlung über das drahtlose Trägersystem 14 und über einen drahtlosen Netzbetrieb ermöglicht. Dies ermöglicht dem Fahrzeug, mit dem Call Center 20, anderen telematikfähigen Fahrzeugen oder einer anderen Entität oder Einrichtung zu kommunizieren. Die Telematikeinheit verwendet vorzugsweise Funkübertragungen, um einen Kommunikationskanal (einen Sprachkanal und/oder einen Datenkanal) mit dem drahtlosen Trägersystem 14 herzustellen, sodass Sprach- und/oder Datenübertragungen über den Kanal gesendet und empfangen werden können. Durch Bereitstellen von sowohl einer Sprach- als auch einer Datenübermittlung ermöglicht die Telematikeinheit 30 dem Fahrzeug, eine Anzahl von verschiedenen Diensten anzubieten, die jene umfassen, die mit Navigation, Telefonie, Notfallunterstützung, Diagnose, Infotainment etc. in Beziehung stehen. Die Daten können über eine Datenverbindung, wie beispielsweise über eine Paketdatenübertragung über einen Datenkanal, oder über einen Sprachkanal unter Verwendung von in der Technik bekannten Techniken gesendet werden. Für kombinierte Dienste, die sowohl eine Sprachkommunikation (z.B. mit einem menschlichen Berater oder einer Sprachausgabeeinheit an dem Call Center 20) als auch eine Datenkommunikation (z.B. um GPS-Ortsdaten oder Fahrzeugdiagnosedaten für das Call Center 20 bereitzustellen) umfassen, kann das System einen einzelnen Anruf über einen Sprachkanal verwenden und nach Bedarf zwischen einer Sprach- und einer Datenübertragung über den Sprachkanal umschalten, und dies kann unter Verwendung von Fachleuten bekannten Techniken erfolgen.
-
Gemäß einer Ausführungsform verwendet die Telematikeinheit 30 eine zellulare Kommunikation gemäß entweder GSM- oder CDMA-Standards und umfasst sie somit einen standardisierten zellularen Chipsatz 50 für Sprachübermittlungen wie Freisprechanrufe, ein Drahtlosmodem für eine Datenübertragung, eine elektronische Verarbeitungseinrichtung 52, eine oder mehrere digitale Speichereinrichtungen 54 und eine Dualantenne 56. Es sei angemerkt, dass das Modem entweder durch eine Software realisiert sein kann, die in der Telematikeinheit gespeichert ist und durch den Prozessor 52 ausgeführt wird, oder dass es eine separate Hardwarekomponente sein kann, die sich in der Telematikeinheit 30 oder außerhalb dieser befindet. Das Modem kann unter Verwendung jeder Anzahl von verschiedenen Standards oder Protokollen arbeiten, wie beispielsweise EVDO, CDMA, GPRS und EDGE. Ein drahtloser Netzbetrieb zwischen dem Fahrzeug und anderen vernetzten Einrichtungen kann auch unter Verwendung der Telematikeinheit 30 ausgeführt werden. Zu diesem Zweck kann die Telematikeinheit 30 ausgestaltet sein, um gemäß einem oder mehreren drahtlosen Protokollen, wie beispielsweise einem beliebigen der IEEE 802.11-Protokolle, WiMAX oder Bluetooth, drahtlos zu kommunizieren. Bei einer Verwendung für eine paketvermittelte Datenübermittlung, wie beispielsweise TCP/IP, kann die Telematikeinheit mit einer statischen IP-Adresse konfiguriert sein oder kann sie aufgebaut sein, um automatisch eine zugeordnete IP-Adresse von einer anderen Einrichtung an dem Netzwerk, wie beispielsweise einem Router, oder von einem Netzadressenserver zu empfangen.
-
Der Prozessor 52 kann jeder Typ von Einrichtung sein, der elektronische Anweisungen verarbeiten kann, und kann Mikroprozessoren, Mikrocontroller, Host-Prozessoren, Controller, Fahrzeugkommunikationsprozessoren und anwendungsspezifische integrierte Schaltkreise (ASICs von application specific integrated circuits) umfassen. Er kann ein dedizierter Prozessor sein, der nur für die Telematikeinheit 30 verwendet wird, oder er kann von anderen Fahrzeugsystemen gemeinsam genutzt werden. Der Prozessor 52 führt verschiedene Typen von digital gespeicherten Anweisungen aus, wie beispielsweise Software- oder Firmwareprogramme, die in dem Speicher 54 gespeichert sind und der Telematikeinheit ermöglichen, eine große Vielzahl von Diensten bereitzustellen. Beispielsweise kann der Prozessor 52 Programme ausführen oder Daten verarbeiten, um mindestens einen Teil des hierin erläuterten Verfahrens auszuführen.
-
Die Telematikeinheit 30 kann verwendet werden, um einen vielseitigen Bereich von Fahrzeugdiensten bereitzustellen, die eine drahtlose Übermittlung zu und/oder von dem Fahrzeug umfassen. Solche Dienste umfassen: Turn-by-Turn-Anweisungen und andere navigationsbezogene Dienste, die in Verbindung mit dem GPS-basierten Fahrzeugnavigationsmodul 40 bereitgestellt werden; eine Airbag-Einsatzbenachrichtigung und andere Notfall- oder Pannenhilfedienste, die in Verbindung mit einem oder mehreren Kollisionssensorschnittstellenmodulen bereitgestellt werden, wie beispielsweise einem Karosseriesteuermodul (nicht gezeigt); eine Diagnoseberichterstattung unter Verwendung eines oder mehrerer Diagnosemodule; und Infotainment-bezogene Dienste, bei denen Musik, Webseiten, Filme, Fernsehprogramme, Videospiele und/oder andere Informationen durch ein Infotainment-Modul (nicht gezeigt) heruntergeladen werden und für eine sofortige oder spätere Wiedergabe gespeichert werden. Die oben aufgelisteten Dienste sind keineswegs eine vollständige Liste aller Fähigkeiten der Telematikeinheit 30, sondern sind lediglich eine Aufzählung einiger der Dienste, die die Telematikeinheit anbieten kann. Ferner sei angemerkt, dass mindestens einige der zuvor genannten Module in Form von Softwareanweisungen realisiert sein könnten, die innerhalb oder außerhalb der Telematikeinheit 30 gespeichert sind, dass sie Hardwarekomponenten sein könnten, die sich innerhalb oder außerhalb der Telematikeinheit 30 befinden, oder dass sie miteinander oder mit anderen Systemen, die sich in dem Fahrzeug befinden, integriert sein könnten und/oder von diesen gemeinsam genutzt werden könnten, nur um einige Möglichkeiten zu nennen. In dem Fall, dass die Module als VSMs 42 realisiert sind, die außerhalb der Telematikeinheit 30 angeordnet sind, könnten sie den Fahrzeugbus 44 verwenden, um Daten und Befehle mit der Telematikeinheit auszutauschen.
-
Das GPS-Modul 40 empfängt Funksignale von einer Konstellation 60 von GPS-Satelliten. Aus diesen Signalen kann das Modul 40 die Fahrzeugposition ermitteln, die verwendet wird, um dem Fahrer des Fahrzeugs Navigations- und andere positionsbezogene Dienste bereitzustellen. Eine Navigationsinformation kann an der Anzeige 38 (oder an einer anderen Anzeige innerhalb des Fahrzeugs) dargestellt werden oder kann verbal dargestellt werden, wie es bei einem Bereitstellen einer Turn-by-Turn-Navigation der Fall ist. Die Navigationsdienste können unter Verwendung eines dedizierten fahrzeuginternen Navigationsmoduls (das Teil des GPS-Moduls 40 sein kann) bereitgestellt werden, oder es können einige oder alle Navigationsdienste über die Telematikeinheit 30 ausgeführt werden, wobei die Positionsinformation zu Zwecken des Bereitstellens von Navigationskarten, Kartenanmerkungen (Punkte von Interesse, Restaurants etc.), Routenberechnungen und dergleichen für das Fahrzeug an einen entfernten Ort gesendet wird. Die Positionsinformation kann dem Call Center 20 oder einem anderen entfernten Computersystem, wie beispielsweise einem Computer 18, zu anderen Zwecken, wie beispielsweise einer Flottenverwaltung, bereitgestellt werden. Es können auch neue oder aktualisierte Kartendaten von dem Call Center 20 über die Telematikeinheit 30 auf das GPS-Modul 40 heruntergeladen werden.
-
Abgesehen von dem Audiosystem 36 und dem GPS-Modul 40 kann das Fahrzeug 12 andere Fahrzeugsystemmodule (VSMs) 42 in Form von elektronischen Hardwarekomponenten umfassen, die an dem Fahrzeug angeordnet sind und typischerweise einen Eingang von einem oder mehreren Sensoren empfangen und den erfassten Eingang verwenden, um Diagnose-, Überwachungs-, Steuerungs-, Berichterstattungs- und/oder andere Funktionen durchzuführen. Jedes der VSMs 42 ist vorzugsweise durch den Kommunikationsbus 44 mit den anderen VSMs sowie mit der Telematikeinheit 30 verbunden und kann programmiert sein, um Fahrzeugsystem- und -teilsystemdiagnosetests auszuführen. Beispielsweise kann ein VSM 42 ein Motorsteuermodul (ECM von engine control module) sein, das verschiedene Aspekte des Motorbetriebs steuert, wie beispielsweise Kraftstoffzündung und Zündzeitpunkt, kann ein anderes VSM 42 ein Antriebsstrangsteuermodul sein, das den Betrieb einer oder mehrerer Komponenten des Fahrzeugantriebsstrangs reguliert, und kann ein anderes VSM 42 ein Karosseriesteuermodul sein, das verschiedene elektrische Komponenten überwacht, die sich an dem Fahrzeug befinden, wie beispielsweise die Zentralverriegelung und die Scheinwerfer des Fahrzeugs. Gemäß einer Ausführungsform ist das Motorsteuermodul mit fahrzeugeigenen Diagnosemerkmalen (OBD-Merkmalen von onboard diagnostic features) ausgestattet, die eine Vielzahl von Echtzeitdaten bereitstellen, wie beispielsweise die, die von verschiedenen Sensoren einschließlich Fahrzeugemissionssensoren empfangen werden und eine standardisierte Reihe von Diagnosefehlercodes (DTCs von diagnostic trouble codes) bereitstellen, die einem Ingenieur ermöglichen, Fehlfunktionen in dem Fahrzeug schnell zu identifizieren und zu beheben. Fachleute werden erkennen, dass die oben erwähnten VSMs nur Beispiele einiger der Module sind, die in dem Fahrzeug 12 verwendet werden können, da auch zahlreiche andere möglich sind.
-
Die Fahrzeugelektronik 28 umfasst auch eine Anzahl von Fahrzeugbenutzerschnittstellen, die Fahrzeuginsassen ein Mittel zum Bereitstellen und/oder Empfangen einer Information bereitstellen und das Mikrofon 32, einen Druckknopf/Druckknöpfe 34, das Audiosystem 36 und die visuelle Anzeige 38 umfassen. Wie hierin verwendet umfasst der Begriff „Fahrzeugbenutzerschnittstelle“ breit jede geeignete Form von elektronischer Einrichtung, die sowohl Hardwareals auch Softwarekomponenten umfasst und sich an dem Fahrzeug befindet und einem Fahrzeugbenutzer ermöglicht, mit einer oder über eine Komponente des Fahrzeugs zu kommunizieren. Das Mikrofon 32 stellt einen Audioeingang für die Telematikeinheit bereit, um dem Fahrer oder einem anderen Insassen zu ermöglichen, Sprachbefehle bereitzustellen und über das drahtlose Trägersystem 14 Freisprechanrufe auszuführen. Zu diesem Zweck kann es mit einer fahrzeugeigenen automatisierten Sprachverarbeitungseinheit verbunden sein, die eine in der Technik bekannte Mensch-Maschine-Schnittstellentechnologie (HMI-Technologie) verwendet. Der Druckknopf/die Druckknöpfe 34 ermöglicht/ermöglichen eine manuelle Benutzereingabe in die Telematikeinheit 30, um drahtlose Telefonanrufe zu initiieren und andere Daten, eine Antwort oder einen Steuereingang bereitzustellen. Es können separate Druckknöpfe verwendet werden, um im Gegensatz zu regulären Dienstunterstützungsanrufen an das Call Center 20 Notrufe zu initiieren. Das Audiosystem 36 stellt einen Audioausgang für einen Fahrzeuginsassen bereit und kann ein dediziertes, unabhängiges System oder ein Teil des primären Fahrzeugaudiosystems sein. Gemäß der bestimmten hier gezeigten Ausführungsform ist das Audiosystem 36 funktional mit sowohl dem Fahrzeugbus 44 als auch dem Unterhaltungsbus 46 gekoppelt und kann es eine AM-, FM- und Satellitenradio-, CD-, DVD- und eine andere Multimediafunktionalität bereitstellen. Diese Funktionalität kann in Verbindung mit oder unabhängig von dem oben beschriebenen Infotainment-Modul bereitgestellt werden. Die visuelle Anzeige 38 ist vorzugsweise eine Graphikanzeige, wie beispielsweise ein Touchscreen an dem Armaturenbrett, oder eine Head-Up-Anzeige, die an der Windschutzscheibe reflektiert wird, und kann verwendet werden, um eine Vielzahl von Eingabe- und Ausgabefunktionen bereitzustellen. Es können auch verschiedene andere Fahrzeugbenutzerschnittstellen verwendet werden, da die Schnittstellen von 1 nur ein Beispiel einer bestimmten Realisierung sind.
-
Das drahtlose Trägersystem 14 ist vorzugsweise ein Mobiltelefonsystem, das mehrere Mobilfunkmasten 70 (nur einer gezeigt), eine oder mehrere Mobilfunkvermittlungsstellen (MSCs von mobile switching centers) 72 sowie beliebige andere Netzkomponenten umfasst, die erforderlich sind, um das drahtlose Trägersystem 14 mit dem Bodennetz 16 zu verbinden. Jeder Mobilfunkmast 70 umfasst sendende und empfangende Antennen und eine Basisstation, wobei die Basisstationen von unterschiedlichen Mobilfunkmasten entweder direkt oder über ein Zwischengerät, wie beispielsweise einen Basisstationscontroller, mit der MSC 72 verbunden sind. Das zellulare System 14 kann jede geeignete Kommunikationstechnologie realisieren, die beispielsweise analoge Technologien, wie beispielsweise AMPS, oder die neueren digitalen Technologien, wie beispielsweise CDMA (z.B. CDMA2000) oder GSM/GPRS, umfasst. Fachleute werden erkennen, dass verschiedene Mobilfunkmast/Basisstation/MSC-Anordnungen möglich sind und mit dem drahtlosen System 14 verwendet werden könnten. Beispielsweise könnten die Basisstation und der Mobilfunkmast zusammen an dem gleichen Ort angeordnet sein, oder sie könnten entfernt voneinander angeordnet sein, könnte jede Basisstation für einen einzelnen Mobilfunkmast verantwortlich sein oder könnte eine einzelne Basisstation verschiedene Mobilfunkmasten bedienen und könnten verschiedene Basisstationen mit einer einzelnen MSC gekoppelt sein, nur um einige der möglichen Anordnungen zu nennen.
-
Abgesehen von einem Verwenden des drahtlosen Trägersystems 14 kann ein anderes drahtloses Trägersystem in Form einer Satellitenkommunikation verwendet werden, um eine unidirektionale oder bidirektionale Kommunikation mit dem Fahrzeug bereitzustellen. Dies kann unter Verwendung eines oder mehrerer Kommunikationssatelliten 62 und einer Uplink-Übertragungsstation 64 erfolgen. Eine unidirektionale Kommunikation kann beispielsweise Satellitenfunkdienste umfassen, bei denen Programminhalt (Nachrichten, Musik, etc.) durch die Übertragungsstation 64 empfangen wird, für ein Hochladen verpackt wird und dann an den Satelliten 62 gesendet wird, der die Programme an Teilnehmer ausstrahlt. Eine bidirektionale Kommunikation kann beispielsweise Satellitentelefoniedienste umfassen, die den Satelliten 62 verwenden, um Telefonverkehr zwischen dem Fahrzeug 12 und der Station 64 weiterzuleiten. Bei einer Verwendung kann diese Satellitentelefonie entweder zusätzlich zu dem drahtlosen Trägersystem 14 oder anstatt dieses eingesetzt werden.
-
Das Bodennetz 16 kann ein herkömmliches bodenbasiertes Telekommunikationsnetz sein, das mit einem oder mehreren Festnetztelefonen verbunden ist und das drahtlose Trägersystem 14 mit dem Call Center 20 verbindet. Beispielsweise kann das Bodennetz 16 ein Fernsprechnetz (PSTN von public switched telephone network) umfassen, wie beispielsweise jenes, das verwendet wird, um eine Festnetztelefonie, paketvermittelte Datenübermittlungen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Bodennetzes 16 könnten durch die Verwendung eines standardisierten drahtgebundenen Netzes, eines Faser- oder anderen optischen Netzes, eines Kabelnetzes, von Hochspannungsleitungen, anderen drahtlosen Netzen, wie beispielsweise Wireless Local Area Networks (WLANs), oder Netzen, die einen drahtlosen Breitbandzugriff (BWA von broadband wireless access) bereitstellen, oder jeder Kombination hiervon realisiert sein. Ferner muss das Call Center 20 nicht über das Bodennetz 16 verbunden sein, sondern könnte es ein Drahtlostelefoniegerät umfassen, sodass es direkt mit einem drahtlosen Netz, wie beispielsweise dem drahtlosen Trägersystem 14, kommunizieren kann.
-
Der Computer 18 kann einer einer Anzahl von Computern sein, auf die über ein privates oder öffentliches Netz, wie beispielsweise das Internet, zugegriffen werden kann. Jeder solche Computer 18 kann für einen oder mehrere Zwecke, wie beispielsweise einen Web-Server, verwendet werden, auf den durch das Fahrzeug über die Telematikeinheit 30 und den drahtlosen Träger 14 zugegriffen werden kann. Andere derartige Computer 18, auf die zugegriffen werden kann, können beispielsweise umfassen: einen Computer einer Dienstzentrale, an dem Diagnoseinformationen und andere Fahrzeugdaten von dem Fahrzeug über die Telematikeinheit 30 hochgeladen werden können; einen Client-Computer, der durch den Fahrzeughalter oder einen anderen Teilnehmer zu Zwecken wie beispielsweise Zugreifen auf oder Empfangen von Fahrzeugdaten oder Einstellen oder Konfigurieren von Teilnehmervorlieben oder Steuern von Fahrzeugfunktionen verwendet wird; oder einen dritten Speicher, für den oder von dem Fahrzeugdaten oder andere Informationen geliefert werden, entweder durch Kommunizieren mit dem Fahrzeug 12 oder dem Call Center 20 oder beiden. Der Computer 18 kann auch realisiert sein, um mehrere ECUs oder VSMs 42, die ECUs aufweisen oder verwenden, zu programmieren. Eine derartige Programmierung könnte an einer Produktionsstätte, die das VSM 42 zusammenbaut, oder dem Fahrzeug 12 selbst durchgeführt werden. Ein Computer 18 kann auch zum Bereitstellen einer Internetkonnektivität, wie beispielsweise von DNS-Diensten, oder als ein Netzadressenserver, der DHCP oder ein anderes geeignetes Protokoll verwendet, um dem Fahrzeug 12 eine IP-Adresse zuzuordnen, verwendet werden.
-
Das Call Center 20 ist entworfen, um der Fahrzeugelektronik 28 eine Anzahl von verschiedenen System-Backend-Funktionen bereitzustellen und umfasst gemäß der hier gezeigten beispielhaften Ausführungsform allgemein eine(n) oder mehrere Schalter 80, Server 82, Datenbanken 84, menschliche Berater 86 sowie ein automatisiertes Sprachausgabesystem (VRS von voice response system) 88, die alle in der Technik bekannt sind. Diese verschiedenen Call Center-Komponenten sind vorzugsweise über ein drahtgebundenes oder drahtloses lokales Netz 90 miteinander gekoppelt. Der Schalter 80, der ein Telekommunikationsanlagenschalter (PBX-Schalter von private branch exchange switch) sein kann, leitet eingehende Signale derart weiter, dass Sprachübertragungen für gewöhnlich entweder durch ein normales Telefon an den menschlichen Berater 86 oder unter Verwendung von VolP an das automatisierte Sprachausgabesystem 88 gesendet werden. Das Telefon des menschlichen Beraters kann auch VolP verwenden, wie es durch die gestrichelte Linie in 1 gezeigt ist. VolP und andere Datenübermittlungen über den Schalter 80 werden über ein Modem (nicht gezeigt) realisiert, das zwischen dem Schalter 80 und dem Netz 90 verbunden ist. Die Datenübertragungen werden über das Modem an den Server 82 und/oder die Datenbank 84 weitergeleitet. Die Datenbank 84 kann eine Kontoinformation, wie beispielsweise eine Teilnehmerauthentifizierungsinformation, Fahrzeugidentifikatoren, Profilaufzeichnungen, Verhaltensmuster und andere entsprechende Teilnehmerinformationen, speichern. Datenübertragungen können auch durch drahtlose Systeme, wie beispielsweise 802.11x, GPRS und dergleichen, ausgeführt werden. Obwohl die gezeigte Ausführungsform als in Verbindung mit einem mit Personal besetzten Call Center 20 unter Verwendung des menschlichen Beraters 86 verwendet beschrieben wurde, sei angemerkt, dass das Call Center stattdessen das VRS 88 als einen automatisierten Berater verwenden kann oder eine Kombination aus dem VRS 88 und dem menschlichen Berater 86 verwendet werden kann.
-
Nun auf 2 Bezug nehmend ist ein Verfahren 200 zum Regulieren eines Zugriffs auf eine elektronische Steuereinheit (ECU) unter Verwendung von Verschlüsselung gezeigt. Das Verfahren 200 beginnt in Schritt 210 durch elektronisches Empfangen eines Master-Passworts von einer zentralen Einrichtung. Wie oben erwähnt werden ECUs in einer Vielzahl von elektronischen Einrichtungen verwendet. Das Verfahren 200 wird in Bezug auf VSM 42 beschrieben, wobei jedoch angemerkt sei, dass Aspekte des Verfahrens 200 auf andere elektronische Einrichtungen als das VSM 42 angewandt werden können. Während das VSM 42 hergestellt oder in dem Fahrzeug 12 installiert wird, kann die ECU des VSM 42 anfänglich mit von einem Computer lesbaren Anweisungen, wie beispielsweise Firmware und anderweitiger Software, programmiert werden und auch mit einem ECU-Passwort codiert werden. ECUs umfassen im Allgemeinen Computerverarbeitungsfähigkeiten, die einen Takt, eine Speichereinrichtung und Eingänge/Ausgänge (I/O) in einem Gehäuse umfassen. Ein Beispiel der ECU ist der von Motorola hergestellte Mikroprozessor MPC 555. Das ECU-Passwort kann für jedes VSM 42 oder für die ECU, die in dem VSM 42 umfasst ist, eindeutig sein. Dies wird nachstehend ausführlicher erläutert. Um das ECU-Passwort zu erzeugen, kann ein Master-Passwort verwendet werden, das mehreren VSMs zugeordnet ist. Beispielsweise kann dem VSM 42 eine Fahrzeugteilenummer zugeordnet sein, die das VSM 42 und ein anderes Modul mit der gleichen Fahrzeugteilenummer identifiziert. Die Fahrzeugteilenummer kann aus mehreren Seriennummern bestehen, die jeweils eindeutig unterschiedliche VSMs mit einer Fahrzeugteilenummer darstellen. Anders ausgedrückt können, wenn ein PCM als Beispiel verwendet wird, zwei unterschiedliche PCMs eine einzelne Fahrzeugteilenummer aufweisen, jedoch dadurch unterschieden werden, dass sie unterschiedliche Seriennummern aufweisen.
-
Das Master-Passwort kann nicht nur basierend auf der Anzahl von Zeichen, die in dem Master-Passwort umfasst sind, sondern auch auf dem Zeichensatz, aus dem die Zeichen ausgewählt werden, und darauf, wie jene Zeichen codiert werden, sorgfältig ausgewählt werden. Der Zeichensatz kann als Sammlung von Symbolen beschrieben werden, die das Master-Passwort bilden. Beispielsweise umfasst der für die numerischen Passwörter verwendete Zeichensatz die arabischen Ziffern von null bis neun. Die Zeichencodierung kann auf eine Vielzahl von Arten realisiert werden, da unterschiedliche Schemas zum Codieren von Zeichen in binäre Daten verfügbar sind. Diese Schemas umfassen ASCII, UTF-8, UTF-16, UTF-32, ISO 8859 sowie andere. Bei dieser Realisierung können Zeichen unter Verwendung von UTF-8 codiert werden, was rückwärts kompatibel mit (herkömmlich codiertem) ASCII ist. Bei UTF-8 werden die Zeichen als 8-Bit-Codes codiert: ein Zeichen pro Byte.
-
Eine Zeichennachschlagetabelle (CLT von character lookup table) kann UTF-8-Zeichencodes bereitstellen, auf die von einem Index aus zugegriffen werden kann. Nachstehend wird eine Tabelle bereitgestellt, die derart gefüllt ist, dass sich der „0“-Index-Wert auf den niederwertigsten UTF-8-Zeichencode in dem Zeichensatz bezieht, wobei die nächsthöheren UTF-8-Zeichencodes aufsteigende Tabellenindizes einnehmen. Nachstehend ist ein Beispiel in einer CLT-Tabelle für den Zeichensatz {a, b, c, A, B, C, 1, 2, 3} gezeigt. Die Anzahl von Zeilen in der Tabelle ist gleich der Anzahl von Zeichen in dem Zeichensatz, und die Anzahl von Bytes, die erforderlich sind, um die Tabelle zu adressieren, ist L
index = [log
256N
charset], wobei [ ] einen Wert bezeichnet, der auf die nächste ganze Zahl aufgerundet wird. Unter Verwendung der neun Zeichen des Zeichensatzes werden 0,396 Bytes benötigt, um die Tabelle zu adressieren, was aufgerundet 1 ergibt.
Index | Zeichen | UTF-8-Code (hexadezimal) |
0 | 1 | 0x31 |
1 | 2 | 0x32 |
2 | 3 | 0x33 |
3 | A | 0x41 |
4 | B | 0x42 |
5 | C | 0x43 |
6 | a | 0x61 |
7 | b | 0x62 |
8 | c | 0x63 |
-
Die Stärke des Master-Passworts kann als die minimale Anzahl von binären Bits definiert werden, die notwendig wären, um alle möglichen Werte darzustellen, aus denen das Master-Passwort bestehen könnte. Beispielsweise weist eine PIN mit 3 Stellen 1000 verschiedene Kombinationen (000 bis 999) auf, und die Stärke des Passworts kann wie folgt berechnet werden: Stärke = log21000. Daher weisen PINs mit 3 Stellen eine Stärke von etwa 10 Bits (9,96) auf. Es sei jedoch angemerkt, dass die Passwortstärke wesentlich geringer sein kann als die Anzahl an Bits, die erforderlich sind, um den Wert des Passworts selbst zu codieren. Wenn beispielsweise eine UTF-8-Codierung verwendet wird, werden 8 Bits für jedes Zeichen verwendet, was bedeutet, dass jedes Zeichen in einem Passwort einer von 28 = 256 Werten sein könnte. Bei einigen Realisierungen kann der Zeichensatz auf Zeichen beschränkt sein, die mit einer Tastatur eingegeben werden können. Jedes Zeichen in einem Passwort weist normalerweise weniger als die 256 möglichen Werte auf; 10 für nur Zahlen und 62 für Zahlen und Großbuchstaben/Kleinbuchstaben. Unter Verwendung des obigen Beispiels einer PIN mit 3 Stellen gibt es 1000 mögliche Kombinationen. Beim Codieren der PIN unter Verwendung des UTF-8-Standards, der jedes Zeichen mit 8 Bits codiert, wären insgesamt 24 Bits notwendig, um diese Information zu codieren. Die Anzahl von Bits, die verwendet wird, um die PIN zu codieren, unterscheidet sich von der Passwortstärke, die 10 Bits beträgt.
-
Bei dieser Realisierung verwendet das Master-Passwort eine Stärke von 64 Bits. Die minimale Passwortlänge eines Passworts mit einer Sicherheit von 64 Bits, L
PW, hängt von der Größe des Zeichensatzes des Passworts ab. Im Speziellen kann
die Länge des Master-Passworts darstellen, wobei N
charset die Anzahl an Zeichen in dem Zeichensatz des Master-Passworts ist. Die hier beschriebene 64-Bit-Größe des Master-Passworts ist Messgröße der Passwortstärke und nicht die Pufferlänge. Die folgenden Tabellen zeigen Beispiele der minimalen Master-Passwortlängen in Zeichen, die verwendet werden, um die 64-Bit-Passwortanforderung zu erfüllen, wobei unterschiedliche Zeichensätze gegeben sind.
Satzname | Ncharset | LPW |
Zahlen | 10 | 20 |
Kleinbuchstaben oder Großbuchstaben | 26 | 14 |
Kleinbuchstaben oder Großbuchstaben und Zahlen | 36 | 13 |
Kleinbuchstaben und Großbuchstaben und Zahlen | 62 | 11 |
Alle druckbaren ASCII-Zeichen | 95 | 10 |
-
Ungeachtet seiner Form kann ein Master-Passwort jeder Fahrzeugteilenummer zugeordnet werden, und das Master-Passwort kann an einem zentralen Ort gespeichert werden. Der zentrale Ort kann sich an dem Call Center 20 oder an einem anderen entfernten Backoffice-Server befinden, um einige Beispiele zu liefern. Bevor das VSM 42 in dem Fahrzeug 12 installiert wird, kann das Master-Passwort elektronisch von der zentralen Einrichtung an den Ort der Herstellung oder Installation übermittelt werden. Bei einem Beispiel könnte die zentrale Einrichtung durch die Server 82 realisiert sein, die sich an dem Call Center 20 befinden. Wenn die Programmierung durch Computer 18 ausgeführt werden soll, kann das Master-Passwort elektrisch von den Servern 82 über das Bodennetz 16 an Computer 18 übertragen werden. Es sei jedoch angemerkt, dass das Master-Passwort auch auf andere Arten übermittelt werden kann, wie beispielsweise durch ein von einem Computer lesbares Medium (z.B. einen Speicherstick) oder drahtlos über das drahtlose Trägersystem 14. Das Verfahren 200 fährt mit Schritt 220 fort.
-
In Schritt 220 wird eine Seriennummer des VSM 42 unter Verwendung der ECU detektiert. Als Teil des Erzeugens des ECU-Passworts kann der Computer 18 die Seriennummer des VSM 42 detektieren. Beispielsweise kann der Computer 18 elektrisch oder kommunikativ mit einem optischen Leser (nicht gezeigt) gekoppelt sein, der die Seriennummer von einer Außenfläche des VSM 42 liest und die Seriennummer in Daten umwandelt, die die numerischen, alphabetischen oder anderen Zeichen, die die Seriennummer umfassen, darstellen. Bei einem anderen Beispiel kann der Computer 18 elektrisch oder kommunikativ mit dem VSM 42 gekoppelt sein und kann er unter Verwendung einer Computeranweisung auf die Seriennummer zugreifen, die in einer Speichereinrichtung an dem VSM 42 gespeichert wurde. Bei einer Realisierung kann die Speichereinrichtung von der ECU selbst mitgeführt werden. Sobald der Computer 18 das Master-Passwort für das VSM 42 und die Seriennummer des VSM 42 erhalten hat, fährt das Verfahren 200 mit Schritt 230 fort.
-
In Schritt 230 werden das Master-Passwort und die Seriennummer an eine passwortbasierte Schlüsselableitungsfunktion (PBKDF) geliefert und wird ein kryptographischer Schlüssel basierend auf dem Master-Passwort und der Seriennummer ausgegeben. PBKDFs sind Schlüsselableitungsfunktionen, in die eine Anzahl von Variablen eingegeben werden kann und die einen Schlüssel ausgeben können, der von jenen Variablen abgeleitet wird. Diese eingegebenen Variablen umfassen ein Passwort, ein Salt, eine Anzahl von Iterationen und eine Ausgangslänge für einen abgeleiteten Schlüssel (DK von derived key). Hier wird das Master-Passwort für die Passwortvariable verwendet, während die Seriennummer des VSM 42 für das Salt verwendet wird. Das Master-Passwort umfasst für gewöhnlich einen Umfang an Informationen, die ein Mensch interpretieren und verstehen kann, und ein kryptographischer Schlüssel, der von der PBKDF ausgegeben wird, kann einen Umfang an Informationen umfassen, die durch ein kryptographisches Primitiv, wie beispielsweise Blockverschlüsselungen (z.B. AES), eingesetzt werden. Ein Unterschied zwischen dem Master-Passwort und dem DK, der durch die PBKDF ausgegeben wird, ist, dass Passwörter für gewöhnlich nicht für eine direkte Verwendung als Schlüssel für kryptographische Primitiven, wie beispielsweise Blockverschlüsselungen, geeignet sind. Beispielsweise wird ein Master-Passwort, das aus Zahlen sowie Großbuchstaben und Kleinbuchstaben - insgesamt 62 Zeichen - ausgewählt wird und für eine AES-128-Blockverschlüsselung verwendet wird, in Betracht gezogen. Die Stärke von AES-128 beträgt 128 Bits, und somit sollte ein Master-Passwort mit der gleichen Stärke verwendet werden. Mit einem 62-elementigen Zeichensatz kann berechnet werden, dass insgesamt log62(2128) ≈ 22 Zeichen in dem Master-Passwort umfasst sein können, wenn die PBKDF verwendet wird, um einen Schlüssel auszugeben, der für eine AES-128-Blockverschlüsselung verwendet wird. Wenn das Master-Passwort mit UTF-8 codiert wird, ist es 22 x 8 = 176 Bits lang. AES-128 benötigt jedoch einen Schlüssel, der exakt eine Länge von 128 Bits aufweist, so dass wortbasierte Master-Passwörter nicht das gleiche sind wie der DK.
-
Bei einer Realisierung kann die PBKDF unter Verwendung der passwortbasierten Schlüsselableitungsfunktion 2 (PBKDF2) wie in RFC2898, Abschnitt 5.2 [1] definiert, was durch die Internet Engineering Task Force (IETF) veröffentlicht ist, ausgeführt werden, um den Schlüssel zu erzeugen, wenn das Master-Passwort und die ECU-Seriennummer gegeben sind. Es kann die Pseudozufallsfunktion (PRF von pseudo-random function) HMAC-SHA256 verwendet werden, und der Iterationszählwert kann von einer Variable, i
count, erhalten werden, die mit 10.000 initialisiert werden kann. Die Ausgangslänge des abgeleiteten Schlüssels, dkLen, kann als das Produkt der Master-Passwortlänge (in diesem Fall eine Länge von 64 Bits) und der minimalen Anzahl an Bytes (L
index), die erforderlich sind, um die CLT zu adressieren, plus Eins, definiert werden:
-
Das „+1“ in der obigen Gleichung kann verwendet werden, um die Wahrscheinlichkeit zu reduzieren, dass der Ausgang der PBKDF-Funktion einen Modulo-Rest erzeugt. Der Schlüssel, der von der PBKDF ausgegeben wird, kann in einem Array (DK) mit einer Länge von dkLen Bytes angeordnet werden. Das Verfahren 200 fährt mit Schritt 240 fort.
-
In Schritt 240 kann der kryptographische Schlüssel dann in ein ECU-Passwort umgewandelt werden. Davor kann der ausgegebene oder abgeleitete kryptographische Schlüssel analysiert werden, um eine Restbildung in dem Schlüssel zu identifizieren. Bei einem Beispiel kann eine Umwandlung unter Verwendung eines Modulus-Operators realisiert werden, der den kryptographischen Schlüssel in Zeichen des Zeichensatzes übersetzt. Der Modulus-Operator kann den Ausgang des kryptographischen Schlüssels auf eine Art und Weise in den Zeichensatz umwandeln, die dem Betrieb einer Uhr ähnlich ist. Wenn sich die Uhr von einer Stunde zur nächsten bewegt, ist diese Bewegung linear und periodisch. Bei einem darstellenden Beispiel wird, wenn begonnen wurde, Uhrwerte beginnend bei ein Uhr über eine lange Zeitdauer aufzuzeichnen, ungeachtet dessen, wie viel Zeit verstrichen ist, die an der Uhr angegebene Stunde immer einen Wert zwischen 1 und 12 haben. Im Gegensatz dazu kann eine Restbildung auftreten, wenn die zufällige Zeitdauer einen maximalen Wert aufweist, der nicht ein ganzzahliges Vielfaches von 12 ist. In jenen Fällen haben einige Zahlen eine höhere Wahrscheinlichkeit des Auftretens als andere Zahlen. Daher kann bei einigen Realisierungen der kryptographische Schlüssel vor einer Umwandlung in das ECU-Passwort hinsichtlich einer Restbildung analysiert werden. Wie bei dem obigen Uhrbeispiel kann der Verschlüsselungsschlüssel überprüft werden, um herauszufinden, ob ein Rest hinsichtlich des ausgegebenen Schlüssels vorliegt. Wenn dies der Fall ist, kann der Schlüssel abgewiesen werden, kann die Anzahl von Iterationen (icount) erhöht werden und kann der Schlüssel erneut erzeugt und wieder hinsichtlich eines Rests überprüft werden.
-
Bei einer anderen Ausführungsform kann die Erzeugung der ECU-Passwörter vereinfacht werden, indem ein Zeichensatz gewählt wird, dessen Länge die Anzahl an unterschiedlichen Werten, die durch L
PW Bytes dargestellt werden können, ohne Rest teilt. Im Speziellen können die Überprüfungen hinsichtlich eines Modulo-Rests vollständig entfernt werden. Solch eine Realisierung kann die Notwendigkeit des Hinzufügens eines „+1“-Bytes zu der L
index-Länge sowie die Notwendigkeit eines erneuten Formatierens der Folge des Materials des abgeleiteten Schlüssels, DK, beseitigen; stattdessen wird der DK direkt Byte für Byte in PW
out umgewandelt, indem einfach berechnet wird:
-
Sobald der kryptographische Schlüssel seine Überprüfung hinsichtlich Rest bestanden hat, kann die DK-Folge in ein ganzzahliges Array, gekennzeichnet mit iCTL, aufgegliedert werden. Das iCTL-Array kann eine Länge LPW aufweisen, und jeder Eintrag in das Array kann Lindex+1 Bytes von der DK-Folge verwenden. Solch eine Anordnung ist in 3 graphisch gezeigt. Das in 3 gezeigte Beispiel zeigt ein 64-Bit-Master-Passwort, das eine Ncharset von 62 (was Großbuchstaben und Kleinbuchstaben und Zahlen entspricht), eine Lindex von 1 und LPW gleich 11 verwendet. Es sei angemerkt, dass das Array im Big-Endian-Format vorliegt, bei dem das höchstwertige Byte an der kleinsten Adresse gespeichert wird. Es sei jedoch angemerkt, dass solch ein Format nicht notwendig ist und dass andere Formate möglich sind.
-
Das i
CTL-Array-Werte-Modulo (N
charset) wird bei dem CTL verwendet, um die Zeichen, in Big Endian-Reihenfolge, in einer abgeleiteten Passwortfolge, P
Wout, zu erhalten:
-
Um den kryptographischen Schlüssel - in diesem Fall umfasst in dem DK-Array - in das ECU-Passwort, dargestellt durch das iCTL-Array, umzuwandeln, kann ein Modulo-Operator, der den Zeichensatz verwaltet, verwendet werden, um jedem Wert in dem DK-Array Elemente des Zeichensatzes zuzuordnen. Das ECU-Passwort kann dann in einen Speicherabschnitt des VSM 42 und/oder die ECU, die durch das VSM 42 mitgeführt wird, geschrieben werden.
-
Wenn das ECU-Passwort erzeugt wurde, muss es nicht in einer zentralen Datenbank gespeichert werden. Stattdessen kann das Master-Passwort verwendet werden, um das ECU-Passwort für jedes VSM mit einer gemeinsamen Fahrzeugteilenummer unter Verwendung der PBKDF nach Bedarf zu erzeugen. Bei einem Beispiel dafür, wie dies erfolgen kann, wünscht möglicherweise ein Techniker Zugriff auf das VSM 42. Er kann die Seriennummer an dem VSM 42 lesen und diese Seriennummer einem Webportal oder einem Berater an dem Call Center 20 liefern. Das ECU-Passwort für das bestimmte VSM 42 kann dann an einem Ort, der von dem Techniker entfernt ist, unter Verwendung des Master-Passworts und der PBKDF erzeugt werden. Sobald das ECU-Passwort erzeugt wurde, kann es elektronisch über das drahtlose Trägersystem 14 und/oder das Bodennetz 16 an den Techniker übertragen werden. Auf diese Weise wird ein Zugriff auf das Master-Passwort erheblich beschränkt. Und das ECU-Passwort für das VSM 42 ist nicht für andere VSMs mit der gleichen Fahrzeugteilenummer gültig. Dann endet das Verfahren 200.
-
Bezug nehmend auf 4 ist ein System 400 zum Regulieren eines Zugriffs auf die ECU 402 des VSM 42 unter Verwendung von Verschlüsselung gezeigt. Bei dem System 400 kann der Computer 18 das Master-Passwort von einer entfernt angeordneten zentralen Einrichtung über das Bodennetz 16 empfangen. Der Computer 18 kann dann, bei diesem Beispiel unter Verwendung einer Leitung 404, kommunikativ mit dem VSM 42 gekoppelt werden. Der Computer 18 kann die Seriennummer für das VSM 42 erhalten und das ECU-Passwort wie oben in Bezug auf 2 - 3 beschrieben erzeugen. Danach kann der Computer 18 das ECU-Passwort in einen Speicherabschnitt der ECU 402 schreiben, an dem das ECU-Passwort gespeichert wird. Bei einigen Realisierungen kann das Schreiben des ECU-Passworts in den Speicherabschnitt der ECU eine schmelzbare Verbindung zerstören, wodurch Änderungen des gespeicherten ECU-Passworts verhindert werden.