-
HINTERGRUND DER OFFENBARUNG
-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft im Allgemeinen ein Verfahren zum Ausführen einer Querauthentifizierung bzw. Cross-Authentifizierung in einem Fahrzeug und insbesondere ein Verfahren zum Bereitstellen einer Querauthentifizierung zwischen einer Fahrzeugsteuerung und einem externen Gerät basierend auf einer geheimen Information.
-
Stand der Technik
-
Viele in jüngster Vergangenheit gebaute Fahrzeuge schließen vielfache elektronische Steuereinrichtungen unter den elektronischen Steuereinrichtungen zum Verbessern des Komforts und der Sicherheit von Fahrern und Optimieren der fahrzeuginternen Kommunikationsnetzwerke ein. Da die Anzahl von fahrzeuginternen elektronischen Steuerungen ansteigt und das Vernetzen mit externen Geräten möglich wird, erhöht sich die Bedeutung der Fahrzeugsicherheit.
-
Dementsprechend kann das Testen elektronischer Steuerungen ausgeführt werden, um die Sicherheit und Zuverlässigkeit zu verbessern. Um eine Fahrzeugsteuerung zu testen und interne Daten der Fahrzeugsteuerung zu aktualisieren, wird eine Authentifizierung einer externen Testeinrichtung benötigt. Wenn die Fahrzeugsteuerung als Antwort auf eine Authentifizierungsanfrage der Testeinrichtung einen Setzwert an die Testeinrichtung überträgt, erzeugt die Testeinrichtung üblicherweise bei einer Authentifizierungsprozedur zwischen einer Fahrzeugsteuerung und einer Testeinrichtung einen Schlüsselwert unter Verwendung des empfangenen Setzwerts. Der erzeugte Schlüsselwert wird dann an eine elektronische Steuerung übermittelt und die elektronische Steuerung erlaubt einen Zugriff der Testeinrichtung in Abhängigkeit davon, ob der von der Testeinrichtung empfangene Schlüsselwert gleich einem Schlüsselwert ist, der intern entsprechend einem vorbestimmten Algorithmus erzeugt worden ist. Da der übliche Setzschlüsselalgorithmus die Sicherheit durch Behalten des Algorithmus zum Empfangen des Netzwerks und Erzeugen des geheimen Schlüssels aufrechterhält, kann die Sicherheit gefährdet sein, wenn der Setzschlüsselalgorithmus offengelegt oder analysiert wird.
-
Ferner offenbart die
US 2012/0114124 A1 ein Verfahren zum Managen einer Authentifizierung und von Geheimschlüsseln in einem Sensornetzwerk. Die
DE 10 2013 206 185 A1 offenbart ein Verfahren zur Datenübertragung zwischen einem Sensor und einer elektronischen Steuer- und/oder Regeleinrichtung, wobei die Sensordaten über einen ersten logischen Datenübertragungskanal mit einer ersten Datenübertragungsrate und Sicherheitsdaten zur Sicherung der übertragenen Sensordaten und/oder des Sensors über einen zweiten logischen Datenübertragungskanal mit einer zweiten Datenübertragungsrate von dem Sensor an die ECU übertragen werden.
-
DARSTELLUNG DER ERFINDUNG
-
Dementsprechend ist die vorliegende Erfindung auf ein Verfahren zum Bereitstellen einer Querauthentifizierung basierend auf einer geheimen Information gerichtet, das im Wesentlichen ein oder mehrere Probleme aufgrund der Limitationen und Nachteile des Stands der Technik vermeidet. Eine Aufgabe der vorliegenden Erfindung ist, ein Verfahren zum Ausführen einer Querauthentifizierung basierend auf einer geheimen Information bereitzustellen. Eine weitere Aufgabe der vorliegenden Erfindung ist, ein Verfahren und zum Ausführen einer Querauthentifizierung basierend auf einer geheimen Information bereitzustellen, welches imstande ist, eine Querauthentifizierung basierend auf einem zuvor mitgeteilten bzw. ausgetauschten geheimen Schlüssel unabhängig von einem Setzwert auszuführen.
-
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren nach Anspruch 1 und ein Verfahren nach Anspruch 19 gelöst. Besonders bevorzugte Weiterbildungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
-
Zusätzliche Vorteile, Aufgaben und Merkmale der Erfindung werden zum Teil in der folgenden Beschreibung vorgebracht und werden zum Teil dem Fachmann bei Untersuchung des Folgenden deutlich oder können durch Ausführen der Erfindung erlernt werden. Die Absichten und andere Vorteile der Erfindung können durch die Struktur umgesetzt und erreicht werden, die insbesondere in der geschriebenen Beschreibung und Ansprüchen hiervon genauso wie den angehängten Zeichnungen hervorgehoben wird.
-
Zudem können verschiedene Ausführungsformen basierend auf technischen Merkmalen der vorliegenden Erfindung durch einen Fachmann basierend auf der detaillierten Beschreibung der vorliegenden Erfindung entwickelt und verstanden werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die begleitenden Zeichnungen, die enthalten sind, um ein zusätzliches Verständnis der Offenbarung bereitzustellen und in diese Anmeldung einbezogen sind sowie ein Teil davon darstellen, veranschaulichen Ausführungsformen der Offenbarung und dienen zusammen mit der Beschreibung dazu, das Prinzip der Offenbarung zu erklären. Bei den Zeichnungen ist:
- 1 ein Diagramm, das den Aufbau eines Querauthentifizierungssystems basierend auf einer geheimen Information in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung zeigt;
- 2 ein Flussdiagramm, das ein Querauthentifizierungsverfahren in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht;
- 3 ein Diagramm, das ein Sitzungsschlüsselerzeugungsverfahren in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht;
- 4 ein Diagramm, das ein Sitzungsschlüsselerzeugungsverfahren in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht;
- 5 ein Diagramm, das eine Antwortschlüsselerzeugungsprozedur in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht;
- 6 ein Flussdiagramm, das ein Querauthentifizierungsverfahren bei einer Fahrzeugsteuerung in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht; und
- 7 ein Flussdiagramm, das ein Querauthentifizierungsverfahren bei einem externen Gerät in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Es wird nun im Detail auf Ausführungsformen der vorliegenden Offenbarung Bezug genommen, von der Beispiele in den begleitenden Zeichnungen veranschaulicht sind. Die Endungen „modul“ und „einheit“ von Elementen hierin werden aus Gründen der einfachen Beschreibung eingesetzt und können somit austauschbar verwendet werden und weisen keine unterscheidbaren Bedeutungen oder Funktionen auf.
-
Obwohl alle Elemente, welche die Ausführungsformen der vorliegenden Offenbarung ausmachen, als in einer einzigen Einheit oder als einzige Einheit betrieben beschrieben werden, ist die vorliegende Offenbarung nicht notwendigerweise auf solche Ausführungsformen beschränkt. In Übereinstimmung mit Ausführungsformen können sämtliche Elemente gezielt in eine oder mehrere Einheiten integriert und als eine oder mehrere Einheiten in dem Objekt und dem Schutzbereich der vorliegenden Offenbarung betrieben werden. Jedes der Elemente kann als unabhängige Hardware umgesetzt werden. Alternativ können einige oder sämtliche Elemente gezielt in einem Computerprogramm kombiniert werden, das ein Programmmodul aufweist, welches einige oder alle Funktionen in einem oder mehreren Hardwareteilen kombiniert ausführt. Code und Codesegmente, die das Computerprogramm ausmachen, können auf einfache Weise durch den Fachmann durchdacht werden, den die vorliegende Offenbarung betrifft. Das Computerprogramm kann in einem computerlesbaren Medium gespeichert sein, sodass das Computerprogramm durch einen Computer gelesen und ausgeführt wird, um Ausführungsformen der vorliegenden Offenbarung umzusetzen. Computerprogrammspeichermedien können magnetische Aufzeichnungsmedien, optische Aufzeichnungsmedien und Trägerwellenmedien aufweisen.
-
Die Begriffe „umfasst“, „schließt ein“ oder „weist auf“, die hierin beschrieben werden, sollten nicht so ausgelegt werden, dass sie andere Elemente ausschließen, sondern ferner solche anderen Elemente einschließen, da die entsprechenden Elemente inhärent sein können, außer es wird gegenteilig darauf hingewiesen. Sämtliche Begriffe einschließlich technischer oder wissenschaftlicher Begriffe haben die gleichen Bedeutungen, wie sie im Allgemeinen durch einen gewöhnlichen Fachmann verstanden werden, an den sich die vorliegende Offenbarung richtet, außer es wird gegenteilig darauf hingewiesen. Allgemein verwendete Begriffe, wie zum Beispiel in einem Wörterbuch definierte Begriffe, sollten so ausgelegt werden, dass sie aus dem Zusammenhang mit den Bedeutungen des in Beziehung stehenden Stands der Technik übereinstimmen. Außer offensichtlich in der vorliegenden Offenbarung definiert, sollten solche Begriffe nicht als ideale oder übermäßig formale Bedeutungen aufweisend ausgelegt werden.
-
Es ist verständlich, dass obwohl die Begriffe erster, zweiter, A, B, (a), (b), etc. hierin verwendet werden können, um verschiedene Elemente der vorliegenden Offenbarung zu beschreiben, werden diese Begriffe nur dazu verwendet, ein Element von einem weiteren bzw. anderen Element zu unterscheiden und die Art, Ordnung oder Reihenfolge entsprechender Elemente sind nicht durch diese Begriffe beschränkt. Es ist verständlich, dass wenn auf ein Element als „verbunden mit“, „elektrisch verbunden mit“ oder „gekoppelt mit“ einem anderen Element Bezug genommen wird, ein Element mit einem anderen Element über ein weiteres Element „verbunden“, „elektrisch verbunden“ oder „gekoppelt“ sein kann, obwohl ein Element direkt mit einem anderen Element verbunden oder direkt elektrisch verbunden sein kann.
-
Es ist verständlich, dass der Begriff „Fahrzeug“ oder „Fahrzeug-“ oder andere ähnliche Begriffe, wie sie hierin verwendet werden, Motorfahrzeuge im Allgemeinen einschließen, wie zum Beispiel Personenkraftwagen einschließlich Sport-Utility-Vehicle (SUV), Busse, Laster, verschiedene kommerzielle Fahrzeuge, Wasserfahrzeuge einschließlich einer Vielfalt von Booten und Schiffen, Flugzeuge und Ähnliches und Hybridfahrzeuge, elektrische Fahrzeuge, elektrische Plug-in Hybridfahrzeuge, wasserstoffbetriebene Fahrzeuge und andere Fahrzeuge mit alternativen Kraftstoffen (zum Beispiel Kraftstoffe, die von anderen Quellen als Erdöl abgeleitet werden). Auf ein Hybridfahrzeug wird hierin als ein Fahrzeug Bezug genommen, das zwei oder mehr Leistungsquellen aufweist, zum Beispiel sowohl ein kraftstoffbetriebenes als auch elektrisch betriebenes Fahrzeug.
-
Zudem ist es verständlich, dass eine oder mehrere der unten stehenden Verfahren oder Aspekte davon durch mindestens eine Steuerung ausgeführt werden können. Der Begriff „Steuerung“ kann auf einer Hardwareeinrichtung Bezug nehmen, die einen Speicher und einen Prozessor aufweist. Der Speicher ist eingerichtet, Programmanweisungen zu speichern und der Prozessor ist speziell programmiert, um die Programmanweisungen auszuführen, um einen oder mehrere Prozesse, die weiter unten beschrieben werden, auszuführen. Darüber hinaus ist es verständlich, dass die nachfolgenden Verfahren durch eine Vorrichtung ausgeführt werden können, welche die Steuerung in Verbindung mit einer oder mehreren anderen Komponenten aufweist, wie es ein gewöhnlicher Fachmann annähme.
-
Darüber hinaus kann die Steuerung der vorliegenden Offenbarung als nicht flüchtige computerlesbare Medien auf einem computerlesbaren Medium verkörpert sein, das ausführbare Programmanweisungen enthält, die durch einen Prozessor, eine Steuerung oder Ähnliches ausgeführt werden. Beispiele für computerlesbare Medien schließen ROM, RAM, Compact Disc (CD)-ROMs, magnetische Bänder, Floppy Disks, Flash Drives, Smartcards und optische Datenspeichereinrichtungen ein, sind aber nicht hierauf beschränkt. Das computerlesbare Aufzeichnungsmedium bzw. Aufnahmemedium kann auch in netzwerkgekoppelten Computersystemen verteilt sein, sodass die computerlesbaren Medien auf eine verteilte Weise gespeichert und ausgeführt werden, zum Beispiel durch einen Telematikserver oder ein Controller Area Network (CAN).
-
Nunmehr Bezug nehmend auf die offenbarten Ausführungsformen ist 1 ein Diagramm, das den Aufbau eines Querauthentifizierungssystems basierend auf einer geheimen Information in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
-
Wie in 1 gezeigt, kann das Querauthentifizierungssystem ein externes Gerät 10 und eine Fahrzeugsteuerung 20 aufweisen. Zum Beispiel kann das externe Gerät 10 eine Testeinrichtung oder eine On-Board-Diagnoseeinrichtung (OBD) zum Testen eines Fahrzeugzustands über ein vorbestimmtes Terminal oder eine drahtlose Verbindung sein. Das externe Gerät 10 und die Fahrzeugsteuerung 20 kann Kommunikationseinheiten 11 und 21 zum jeweiligen Übertragen und Empfangen von Signalen über eine drahtgebundene oder drahtlose Verbindung aufweisen.
-
Zudem können das externe Gerät 10 und die Fahrzeugsteuerung 20 respektive Zufallszahlengeneratoren 12 und 22 für eine Querauthentifizierung, Wiederholzahlengeneratoren 13 und 23, Sitzungsschlüsselgeneratoren 14 und 24, Antwortschlüsselgeneratoren 15 und 25, Authentikatoren 16 und 26 und Steuerungen 17 und 27 zum Steuern des allgemeinen Betriebs der Einrichtungen aufweisen. Zufallszahlengeneratoren 12 und 22 können Zufallszahlen mit einer vorbestimmten Länge erzeugen. Beispielsweise kann der Zufallszahlengenerator 12 des externen Geräts 10 eine Zufallszahl R erzeugen, die eine vorbestimmte Länge aufweist, und eine Authentifizierungsanfragenachricht einschließlich der erzeugten Zufallszahl R an die Fahrzeugsteuerung 20 übertragen. Zudem kann der Zufallszahlengenerator der Fahrzeugsteuerung 20 bei Empfangen der Authentifizierungsanfragenachricht eine Zufallszahl S erzeugen, die eine vorbestimmte Länge aufweist.
-
Die Wiederholzahlengeneratoren 13 und 23 können eine Variable i (diese wird nachfolgend abwechselnd auch als Wiederholungszahl i verwendet), die ein Parameter zum Bestimmen der Berechnungskomplexität eines Authentifizierungsalgorithmus und einer Sicherheitsstufe unter Verwendung der Zufallszahl R, die durch den Zahlengenerator 12 des externen Geräts 10 erzeugt worden ist, und/oder der Zufallszahl S, die durch den Zufallszahlengenerator 22 der Fahrzeugsteuerung 20 erzeugt worden ist, ist. Nachfolgend wird auf eine Funktion zum Erzeugen einer Variable i unter Verwendung der Zufallszahl R und/oder der Zufallszahl S als ein Parameter der Einfachheit der Beschreibung halber als eine erste Funktion f1 Bezug genommen.
-
Beispielsweise kann die Wiederholungszahl i durch die Gleichung 1 erzeugt werden.
wobei L
s(R) eine Funktion zum zyklischen Verschieben der Zufallszahl R durch die Anzahl von Bits der Zufallszahl S sein kann. Wenn die Reihenfolge der Bits der Zufallszahl R beispielsweise (x
n-1, x
n-2,..., x
1, x
0)
2 ist, kann die Funktion L
s(R) zyklisch nach links durch die Anzahl von Bits der Zufallszahl S verschoben werden, um (x
n-s-1,..., x
1, x
0, x
n-1, x
n- 2,..., x
n-s)
2 zu erzeugen.
-
Die Sitzungsschlüsselgeneratoren 14 und 24 können einen ersten Sitzungsschlüssel Ks unter Verwendung einer zweiten Funktion f2, welche die Wiederholungszahl i aufweist, einen zuvor ausgetauschten geheimen Schlüssel (pre-shared secrect key) K und die Zufallszahl S als Parameter erzeugen. Die Sitzungsschlüsselgeneratoren 14 und 24 können einen zweiten Sitzungsschlüssel KS2 unter Verwendung der Wiederholungszahl i, des ersten Sitzungsschlüssel Ks und einem ersten Antwortschlüssel ATester oder einen zweiten Antwortschlüssel AECU erzeugen.
-
Der Sitzungsschlüsselerzeugungsvorgang wird nunmehr im Detail unter Bezugnahme auf die 3 und 4 beschrieben.
-
Die Antwortschlüsselgeneratoren 15 und 25 können die Wiederholungszahl i, den Sitzungsschlüssel K, die Zufallszahl R und/oder die Zufallszahl S als ein Parameter empfangen und Antwortschlüssel erzeugen. Für die Einfachheit der Beschreibung wird nachfolgend auf eine Funktion, die zum Erzeugen des Antwortschlüssels verwendet wird, als dritte Funktion Bezug genommen.
-
Beispielsweise kann der Antwortschlüsselgenerator 25 der Fahrzeugsteuerung 20 die Wiederholungszahl i, den ersten Sitzungsschlüssel Ks, die Zufallszahl R und die Zufallszahl S als Parameter empfangen und den zweiten Antwortschlüssel AECU erzeugen. Auf ähnliche Weise kann der Antwortschlüsselgenerator 15 des externen Geräts 10 die Wiederholungszahl i, den ersten Sitzungsschlüssel Ks, die Zufallszahl R und die Zufallszahl S als Parameter empfangen und den ersten Antwortschlüssel ATester erzeugen.
-
Außerdem kann der Antwortschlüsselgenerator 25 der Fahrzeugsteuerung 20 beim Empfangen des ersten Antwortschlüssels ATester von dem externen Gerät 10 einen dritten Antwortschlüssel BECU in Abhängigkeit davon erzeugen, ob der erste Antwortschlüssel ATester und der zweite Antwortschlüssel AECU gleich bzw. identisch sind. Auf ähnliche Weise kann der Antwortschlüsselgenerator 15 des externen Geräts 10 einen vierten Antwortschlüssel BTester erzeugen.
-
Der Antwortschlüsselerzeugungsvorgang der Antwortschlüsselgeneratoren 15 und 25 wird nachfolgend im Detail unter Bezugnahme auf die 5 beschrieben.
-
Die Authentikatoren 16 und 26 können bestimmen, ob der von einem anderen Gerät empfangene Antwortschlüssel und der intern erzeugte Antwortschlüssel einander gleichen, und bestimmen, ob eine Authentifizierung eines anderen Geräts basierend auf einem Ergebnis der Bestimmung erfolgreich ist.
-
Beispielsweise kann der Authentikator 16 des externen Geräts 10 bestimmen, dass eine Authentifizierung der Fahrzeugsteuerung 10 erfolgreich ist, wenn der intern erzeugte vierte Antwortschlüssel BTester und der dritte Antwortschlüssel BECU, der von der Fahrzeugsteuerung 10 empfangen wird, gleich sind. Als ein weiteres Beispiel kann der Authentikator 26 der Fahrzeugsteuerung 20 bestimmen, dass eine Authentifizierung des externen Geräts 10 erfolgreich ist, wenn der erste von dem externen Gerät 10 empfangene Antwortschlüssel ATester und der intern erzeugte zweite Antwortschlüssel AECU gleich sind.
-
Dementsprechend können das externe Gerät 10 und die Fahrzeugsteuerung 20 in Übereinstimmung mit der vorliegenden Offenbarung einer Querauthentifizierung durch Erzeugen der Antwortschlüssel unter Verwendung des zuvor ausgetauschten geheimen Schlüssels und Austauschen der erzeugten Antwortschlüssel miteinander ausführen.
-
2 ist ein Flussdiagramm, das ein Querauthentifizierungsverfahren in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
-
Wie in 2 gezeigt, kann der zuvor ausgetauschte Geheimschlüssel K zwischen dem externen Gerät 10 und der Fahrzeugsteuerung 20 beibehalten werden. Beispielsweise kann die Länge des geheimen Schlüssels K eine beliebige von 80 Bit bis 128 Bits sein. Das externe Gerät 10 kam die Zufallszahl R erzeugen und einer Authentifizierungsanfragenachricht einschließlich der erzeugten Zufallszahl R an die Fahrzeugsteuerung 20 übertragen (S201 bis 203).
-
Die Fahrzeugsteuerung 20 erzeugt und überträgt die Zufallszahl S an das externe Gerät 10 bei Empfangen der Authentifizierungsanfragenachricht (S205 bis S207). Zu diesem Zeitpunkt kann die Fahrzeugsteuerung 20 die Wiederholungszahl i unter Verwendung der ersten Funktion mit der Zufallszahl R und der Zufallszahl S als Parameter berechnen (S209).
-
Nachfolgend kann die Fahrzeugsteuerung 20 die Wiederholungszahl i, den geheimen Schlüssel K und die Zufallszahl S als die Parameter der zweiten Funktion eingeben und den ersten Sitzungsschlüssel Ks erzeugen (S211).
-
Das externe Gerät 10 kann bei Empfang der Zufallszahl S, die der Setzwert ist, die Wiederholungszahl i unter Verwendung der ersten Funktion mit der zuvor erzeugten Zufallszahl R und der von der Fahrzeugsteuerung 20 empfangenen Zufallszahl S als Parameter erzeugen (S215).
-
Außerdem kann das externe Gerät 10 die Wiederholungszahl i, den Geheimschlüssel K und die Zufallszahl S als die Parameter der zweiten Funktion eingeben und den ersten Sitzungsschlüssel Ks erzeugen (S216).
-
Das externe Gerät 10 kann unter Verwendung der dritten Funktion, welche die Wiederholungszahl i, den ersten Sitzungsschlüssel Ks, die Zufallszahl R und die Zufallszahl S als die Parameter aufweist, den ersten Antwortschlüssel ATester erzeugen und an die Fahrzeugsteuerung 20 übertragen (S219 bis S221) .
-
Zu diesem Zeitpunkt kann das externe Gerät 20 den vierten Antwortschlüssel BTester unter Verwendung des erzeugten ersten Antwortschlüssels ATester erzeugen. Genauer gesagt kann das externe Gerät 10 den Wiederholungsschlüssel j unter Verwendung einer vierten Funktion erzeugen, die den ersten Antwortschlüssel ATester und die Wiederholungszahl i als Parameter aufweist, und den zweiten Sitzungsschlüssel KS2 unter Verwendung einer fünften Funktion erzeugen, welche die erzeugte Wiederholungszahl j und den zuvor erzeugten ersten Sitzungsschlüssel Ks als Parameter aufweist. Nachfolgend kann das externe Gerät 10 den vierten Antwortschlüssel BTester unter Verwendung einer sechsten Funktion als Transformationsvariable j, den zweiten Sitzungsschlüssel KS2, die Zufallszahl R und die Zufallszahl S als Parameter erzeugen.
-
Die Fahrzeugsteuerung 20 kann überprüfen, ob der empfangene erste Antwortschlüssel ATester und der intern erzeugte zweite Antwortschlüssel AECU gleich sind (S223). Wenn die Schlüssel als Überprüfungsergebnis gleich sind, kann die Wiederholungszahl j unter Verwendung der vierten Funktion erzeugt werden, die den ersten Antwortschlüssel AECU und die Wiederholungszahl i als Parameter aufweist, und der zweite Sitzungsschlüssel KS2 kann unter Verwendung der fünften Funktion erzeugt werden, welche die erzeugte Wiederholungszahl j und den zuvor erzeugten ersten Sitzungsschlüssel Ks als Parameter aufweist. Nachfolgend kann die Fahrzeugsteuerung 20 den dritten Antwortschlüssel BECU unter Verwendung der sechsten Funktion erzeugen, welche die Transformationsvariable j, den zweiten Sitzungsschlüssel KS2, die Zufallszahl R und die Zufallszahl S als Parameter aufweist. Wenn die Schlüssel als Überprüfungsergebnis aus Schritt S223 nicht gleich sind, kann die Fahrzeugsteuerung 20 eine Zufallszahl unter Verwendung eines vorbestimmten Zufallszahlengenerators erzeugen. Zu diesem Zeitpunkt kann die erzeugte Zufallszahl der dritte Antwortschlüssel BECU werden.
-
Die Fahrzeugsteuerung 20 kann den dritten Antwortschlüssel BECU an das externe Gerät 10 übertragen (S225).
-
Das externe Gerät 10 kann bestimmen, ob der empfangene dritte Antwortschlüssel BECU gleich dem zuvor erzeugten vierten Antwortschlüssel BTester ist (S227). Wenn die Schlüssel als Bestimmungsergebnis gleich sind, kann das externe Gerät 10 bestimmen, dass die Authentifizierung der Fahrzeugsteuerung 20 erfolgreich ist. Wenn die Schlüssel im Gegensatz dazu als Bestimmungsergebnis aus Schritt S227 nicht gleich sind, kann das externe Gerät 10 bestimmen, dass die Authentifizierung der Fahrzeugsteuerung 20 fehlgeschlagen ist.
-
3 ist ein Diagramm, das ein Sitzungsschlüsselerzeugungsverfahren in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Genauer gesagt zeigt 3 das Verfahren zum Erzeugen des ersten Sitzungsschlüssels Ks, wenn die Länge des zuvor festgelegten geheimen Schlüssels K 301 der externen Einrichtung 10 80 Bit beträgt.
-
Wie in 3 gezeigt, kann das externe Gerät 10 die Zufallszahl S 302, die der von der Fahrzeugsteuerung 20 empfangene Setzwert ist, um die Länge des geheimen Schlüssels K 301 wiederholt verknüpfen bzw. verbinden und dann K' 304 mit einer Länge von 80 Bit über eine XOR-Operation 303 erzeugen. Beispielsweise werden zwei Zufallszahlen S 302 und untere 16 Bit der Zufallszahl S 302 verknüpft, um eine Bitreihenfolge zu erzeugen, die eine Länge von 80 Bit aufweist. Zu diesem Zeitpunkt kann das externe Gerät 10 eine bitweise XOR-Operation der erzeugten Bitreihenfolge und des geheimen Schlüssels K 301 ausführen, um K' 304 zu erzeugen.
-
Wie durch das Bezugszeichen 320 gekennzeichnet, kann das externe Gerät 10 nachfolgend den erzeugten K' 304 um die Wiederholungszahl i zyklisch nach links oder rechts verschieben und dann die bitweise XOR-Operation des zyklisch verschobenen K'(Li(K')) und K' 304 ausführen, wodurch der erste Sitzungsschlüssel Ks erzeugt wird.
-
4 ist ein Diagramm, das ein Sitzungsschlüsselerzeugungsverfahren in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Genauer gesagt zeigt 4 das Verfahren zum Erzeugen des ersten Sitzungsschlüssels Ks, wenn die Länge des zuvor festgelegten Geheimschlüssels K 401 des externen Geräts 10 128 Bit beträgt.
-
Wie in 4 gezeigt, kann das externe Gerät 10 die Zufallszahl S 402 wiederholt um die Länge des geheimen Schlüssels K 401 verknüpfen, welche der von der Fahrzeugsteuerung 20 empfangene Setzwert ist, und dann K' 404 mit einer Länge von 128 Bit über eine XOR-Operation 403 erzeugen.
-
Wenn die Zufallszahl S 402 einer Länge von 32 Bit aufweist, können beispielsweise, wie durch das Bezugszeichen 410 gekennzeichnet, vier Zufallszahlen S 402 verbunden werden, um eine Bitreihenfolge mit einer Länge von 128 Bit zu erzeugen. Zu diesem Zeitpunkt kann das externe Gerät 10 eine bitweise XOR-Operation der erzeugten Bitreihenfolge und des Geheimschlüssels K 401 ausführen, um K' 404 zu erzeugen.
-
Wie durch das Bezugszeichen 420 gekennzeichnet, kann das externe Gerät 10 nachfolgend den erzeugten K' 404 durch die Wiederholungszahl i zyklisch nach links oder rechts verschieben und dann die bitweise XOR-Operation des zyklisch versetzten K'(Li(K')) und K' 404 ausführen und dadurch den ersten Sitzungsschlüssel Ks erzeugen.
-
Obwohl der Vorgang zum Erzeugen des ersten Sitzungsschlüssels Ks des externen Geräts 10 oben beschrieben worden ist, kann der zweite Sitzungsschlüssel KS2 in Übereinstimmung mit der vorliegenden Offenbarung ebenfalls unter Verwendung der in den 3 bis 4 gezeigten Verfahren erzeugt werden.
-
5 ist ein Diagramm, das einer Antwortschlüsselerzeugungsprozedur in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Genauer gesagt ist 5 ein Diagramm, das die Prozedur zum Erzeugen des ersten Antwortschlüssels ATester des externen Geräts 10 veranschaulicht.
-
Wie in
5 gezeigt, kann das externe Gerät 10 die bitweise XOR-Operation der intern erzeugten Zufallszahl R und der von der Fahrzeugsteuerung 20 empfangenen Zufallszahl S, wie in Gleichung 5-1 unten gezeigt, ausführen und einen 4-Bit l
i erzeugen. Hierbei kann i einen Wert von 0 bis 7 aufweisen.
-
Nachfolgend kann das externe Gerät 10 eine Substitution von l
i durch Bezugnahme auf einen Satz ein h(l
i) ausführen, wie in Gleichung 5-2 gezeigt.
wobei h(l
i) = {9, 4, 10, 11, 13, 1, 8, 5, 6, 2, 0, 3, 12, 14, 15, 17} ist.
-
Danach kann das externe Gerät 10 das substituierte Ergebnis h(l
7)∥ h(l
6)∥ h(l
5)∥ h(l
4)∥ h(l
3)∥ h(l
2)∥ h(l
1)∥ h(l
0) mit einer vorbestimmten 4x4-Matrix multiplizieren, um l'
7∥l'
6∥l'
5∥l'
4∥l'
3∥l'
2∥l'
1∥l'
0 zu erzeugen, wie in Gleichung 5-3 unten gezeigt.
-
Beispielsweise kann unter Bezugnahme auf Gleichung 5-3 von oben l'7 als h(l7)⊕h(l5)⊕2h(l3)⊕3h(l1) berechnet werden.
-
Wenn eine binäre Zahl x (x3, x2, x1, x0) ist, können 2x und 3x als (x2, x1, x0⊕x3, x3). bzw. (x2⊕x3, x1⊕x2, x0⊕x1⊕x3, x0⊕x3, definiert werden.
-
Schließlich kann das externe Gerät 10, wie unten in Gleichung 5-4 gezeigt, den ersten Antwortschlüssel A
Tester erzeugen.
wobei w
j (K
s) = L
37j mod (secret key size) (K
s) mod 2
32 definiert werden kann. Hier ist Ks der in
3 oder
4 berechnete Wert des ersten Sitzungsschlüssels Ks und j kann ein Wert sein, der durch Addieren von 4 zu der Wiederholungszahl i ermittelt wird, wobei 4 eine minimale Wiederholungszahl einer Funktion g
3 ist. Außerdem kann w
j(K
s) eine Funktion zum zyklischen Verschieben der unteren 32 Bit des ersten Sitzungsschlüssels Ks um 37 Bit nach links sein.
-
Obwohl die minimale Wiederholungszahl der Funktion g3 zum Erzeugen des Antwortschlüssels als 4 definiert ist, ist die vorliegende Offenbarung diesbezüglich nicht beschränkt. Zusätzlich oder alternativ kann die minimale Wiederholungszahl in Übereinstimmung mit der für das ECU und die Art des ECU benötigten Sicherheitsstufe anders festgelegt sein. Beispielsweise kann die minimale Wiederholungszahl eines ECU mit einer hohen ECU-Stufe höher festgelegt sein als die einer ECU mit einer niedrigen ECU-Stufe. Obwohl die Sitzungsschlüsselerzeugungsprozedur und die Antwortschlüsselerzeugungsprozedur des externen Geräts 10 in den 3 bis 5 beschrieben wird, kann die Sitzungsschlüsselerzeugungsprozedur und die Antwortschlüsselerzeugungsprozedur der Fahrzeugsteuerung 20 unter Verwendung des gleichen oder ähnlicher Verfahren ausgeführt werden.
-
6 ist ein Flussdiagramm, das ein Querauthentifizierungsverfahren in einer Fahrzeugsteuerung in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
-
Wie in 6 gezeigt, kann die Fahrzeugsteuerung 20 bei Empfang der Authentifizierungsanfragenachricht von dem externen Gerät 10 die Zufallszahl S erzeugen und an das externe Gerät 10 übertragen (S601). Die Authentifizierungsanfragenachricht kann die durch das externe Gerät 10 erzeugte Zufallszahl R enthalten.
-
Die Fahrzeugsteuerung 20 kann die Variable i, welche die Wiederholungszahl ist, unter Verwendung der ersten Funktion erzeugen, welche die Zufallszahl S als ein Parameter aufweist, und den ersten Sitzungsschlüssel Ks unter Verwendung der zweiten Funktion erzeugen, welche die erzeugte Variable i und den zuvor gespeicherten geheimen Schlüssel K als Parameter aufweist (S603 bis S605).
-
Die Fahrzeugsteuerung 20 kann den zweiten Antwortschlüssel AECU bei Empfang des ersten Antwortschlüssels ATester von dem externen Gerät 10 unter Verwendung der dritten Funktion erzeugen, welche die Zufallszahl S, die Variable i und den ersten Sitzungsschlüssel Ks als Parameter aufweist (S607 bis S609). Wenn die Zufallszahl R in der Authentifizierungsanfragenachricht einbezogen ist, kann die Fahrzeugsteuerung 20 den ersten Antwortschlüssel ATester unter Verwendung der Zufallszahl R zusätzlich zu der Zufallszahl S, der Variable i und dem ersten Sitzungsschlüssel Ks erzeugen.
-
Nachfolgend kann die Fahrzeugsteuerung 20 bestimmen, ob der erste Antwortschlüssel ATester gleich dem zweiten Antwortschlüssel AECU ist (S611).
-
Wenn die Schlüssel als Überprüfungsergebnis gleich sind, kann die Fahrzeugsteuerung 20 die Variable j unter Verwendung der vierten Funktion erzeugen, die den zweiten Antwortschlüssel AECU und die Variable i als Parameter aufweist, und den zweiten Sitzungsschlüssel KS2 unter Verwendung der fünften Funktion erzeugen, die den ersten Sitzungsschlüssel Ks, der im Schritt S605 erzeugt wird, und die Variable j als Parameter aufweist (S615).
-
Hier kann die vierte Funktion eine Funktion für ein zyklisches Verschieben des zweiten Antwortschlüssels AECU um die Variable i nach links sein und kann mit der ersten Funktion korrespondieren. Außerdem kann die fünfte Funktion eine Funktion zum Ausführen der in 3 oder 4 gezeigten Sitzungsschlüsselerzeugungsprozedur unter Verwendung der Variable j, des Sitzungsschlüssels Ks und der Zufallszahl S als Parameter sein und kann mit der zweiten Funktion des Schritts S605 korrespondieren bzw. entspricht dieser.
-
Die Fahrzeugsteuerung 20 kann den dritten Antwortschlüssel BECU unter Verwendung der sechsten Funktion erzeugen, welche die Zufallszahl S, die Variable j und den zweiten Sitzungsschlüssel KS2 aufweist, und dann den erzeugten dritten Antwortschlüssel BECU an das externe Gerät 10 übertragen (S617 bis S619). Es ist anzumerken, dass wenn die Zufallszahl R in der Authentifizierungsanfragenachricht einbezogen ist, die Fahrzeugsteuerung 20 ferner die Zufallszahl R verwenden kann, um den dritten Antwortschlüssel BECU zu erzeugen.
-
Hier kann die sechste Funktion eine Funktion zum Ausführen der in 5 gezeigten Antwortschlüsselerzeugungsprozedur sein und kann mit der dritten Funktion aus Schritt S609 korrespondieren.
-
Wenn sich die Schlüssel basierend auf dem Bestimmungsergebnis einander nicht gleichen, kann die Fahrzeugsteuerung 20 über einen festgelegten Zufallsgenerator eine Zufallszahl erzeugen und die erzeugte Zufallszahl festlegen und an das externe Gerät 10 als dritten Antwortschlüssel BECU übertragen (S618 bis S619). In diesem Fall kann das externe Gerät 10 bestätigen, dass sich der intern erzeugte vierte Antwortschlüssel BTester und der der von der Fahrzeugsteuerung 20 empfangene dritte Antwortschlüssel BECU voneinander unterscheiden und bestimmen, dass die Authentifizierung der Fahrzeugsteuerung 20 fehlgeschlagen ist.
-
7 ist ein Flussdiagramm, das ein Querauthentifizierungsverfahren bei einem externen Gerät in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
-
Wie in 7 gezeigt, kann das externe Gerät 10 die Authentifizierungsanfragenachricht an die Fahrzeugsteuerung 20 übertragen (S701). Die Authentifizierungsanfragenachricht kann die Zufallszahl R einbeziehen, die durch das externe Gerät 10 erzeugt wird.
-
Das externe Gerät 10 kann die Variable i, welche die Wiederholungszahl ist, bei Empfang der Zufallszahl S von der Fahrzeugsteuerung 20 unter Verwendung der ersten Funktion, welche die Zufallszahl S als Parameter aufweist, erzeugen (S703 bis S705).
-
Das externe Gerät 10 kann den ersten Sitzungsschlüssel Ks unter Verwendung der zweiten Funktion, welche die erzeugte Variable i aufweist, den zuvor gespeicherten Geheimschlüssel K und die Zufallszahl S als Parameter erzeugen (S707).
-
Nachfolgend kann das externe Gerät 10 den dritten Antwortschlüssel ATester unter Verwendung der dritten Funktion, welche die Zufallszahl S, die Variable i und den ersten Sitzungsschlüssel Ks als Parameter aufweist, erzeugen und dann den erzeugten dritten Antwortschlüssel ATester an die Fahrzeugsteuerung 20 übertragen (S709). Wenn die Zufallszahl R in die Authentifizierungsanfragenachricht einbezogen ist, kann das externe Gerät 10 ferner die Zufallszahl R verwenden, um den ersten Antwortschlüssel ATester zu erzeugen.
-
Das externe Gerät 10 kann die Variable j unter Verwendung der vierten Funktion erzeugen, die den ersten Antwortschlüssel ATester und die Variable i als Parameter aufweist, und den zweiten Sitzungsschlüssel KS2 unter Verwendung der fünften Funktion erzeugen, welche die Variable j und den ersten Sitzungsschlüssel Ks als Parameter aufweist. Die vierte Funktion kann eine Funktion zum zyklischen Verschieben des ersten Antwortschlüssels ATester um die Variable i nach links sein. Außerdem kann die fünfte Funktion, ähnlich wie bei der zweiten Funktion aus Schritt S707, eine Funktion zum Ausführen der in 3 oder 4 gezeigten Sitzungsschlüsselerzeugungsprozedur unter Verwendung der Variablen j, des ersten Sitzungsschlüssels Ks und der Zufallszahl S sein.
-
Das externe Gerät 10 kann den vierten Antwortschlüssel BTester unter Verwendung der sechsten Funktion erzeugen, welche die Zufallszahl S, die Variable j und den zweiten Sitzungsschlüssel KS2 als Parameter aufweist (S713). Hier kann die sechste Funktion die in 5 gezeigte Antwortschlüsselerzeugungsprozedur ausführen und mit der dritten Funktion aus Schritt S709 korrespondieren.
-
Das externe Gerät 10 kann bei Empfang des dritten Antwortschlüssels BECU von der Fahrzeugsteuerung 20 bestimmen, ob der zuvor erzeugte vierte Antwortschlüssel BTester gleich dem dritten Antwortschlüssel BECU ist (S714 bis S715).
-
Wenn der vierte Antwortschlüssel BTester gleich dem dritten Antwortschlüssel BECU ist, kann das externe Gerät 10 bestimmen, dass die Authentifizierung der Fahrzeugsteuerung 20 erfolgreich ist (S717). Wenn dagegen der vierte Antwortschlüssel BTester nicht gleich dem dritten Antwortschlüssel BECU ist, kann das externe Gerät 10 bestimmen, dass die Authentifizierung der Fahrzeugsteuerung 20 fehlgeschlagen ist (S719).
-
Beispielhafte Effekte des Verfahrens und der Vorrichtung in Übereinstimmung mit der vorliegenden Offenbarung sind wie folgt:
- Als Erstes ist es möglich, ein Verfahren und eine Vorrichtung zum Ausführen einer Querauthentifizierung basierend auf einer geheimen Information bereitzustellen. Als Zweites ist es möglich, ein Verfahren und eine Vorrichtung zum Ausführen einer Querauthentifizierung basierend auf einer geheimen Information bereitzustellen, die imstande ist, eine Querauthentifizierung basierend auf einem zuvor ausgetauschten geheimen Schlüssel unabhängig von einem Setzwert auszuführen. Als Drittes ist es möglich, eine Sicherheitsstufe eines Sicherheitsschlüssels dynamisch zu verändern und eine Komplexität durch dynamisches Verändern einer Wiederholungszahl i entsprechend eines Setzwerts zu berechnen. Als Viertes ist es möglich, eine Sicherheitsstufe durch Bereitstellen von Sicherheitsschlüsseln verschiedener Länge zu steuern.
-
Es ist dem Fachmann verständlich, dass die vorliegende Offenbarung mit anderen spezifischen Ausführungen umgesetzt werden kann, ohne den Grundgedanken und den Schutzbereich der vorliegenden Offenbarung zu verlassen. Dementsprechend ist die obige detaillierte Beschreibung mit allen Aspekten nicht als die vorliegende Offenbarung beschränkend zu verwechseln und sollte als Beispiel betrachtet werden. Der Schutzbereich der vorliegenden Offenbarung sollte durch vernünftige Interpretation der beigefügten Ansprüche bestimmt werden und sämtliche äquivalenten Modifikationen, die ohne Verlassen der vorliegenden Offenbarung ausgeführt werden, sollten in den folgenden Ansprüchen einbezogen sein.