-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Authentifizierung unter ECUs in einem Fahrzeugsystem mit einer Vielzahl von ECUs.
-
Beschreibung des Standes der Technik
-
In den letzten Jahren hat sich die Anzahl von Computern (elektronischen Steuerungseinheiten (ECUs)), die an einem Fahrzeug angebracht sind, erhöht, und die ECUs arbeiten miteinander zusammen, um eine komplizierte Steuerung durchzuführen. Es ist vorstellbar, dass solch ein Fahrzeugnetzwerksystem ein Ziel von Angriffen werden kann, wie etwa eine Kontamination durch illegale Daten, ein unerlaubtes Überschreiben eines ECU-Programms, ein Austausch mit einer illegalen ECU und eine Hinzufügung einer illegalen ECU.
-
Als Gegenmaßnahme gegen solche Attacken schlägt der AUTOSAR-Standard eine Mitteilungsauthentifizierung unter Verwendung eines gemeinsamen Schlüssels vor. Wenn zum Beispiel eine Maschine gestartet wird, wird eine Challenge-Response-Authentifizierung (Aufforderung-Antwort-Authentifizierung) unter Verwendung eines gemeinsamen Schlüssels durchgeführt und ein Sitzungsschlüssel wird verteilt, wenn die Authentifizierung erfolgreich ist. Nachfolgend wird eine Mitteilungsauthentifizierung mit einem Mitteilungsauthentifizierungscode (”Message Authentication Code”, MAC) unter Verwendung des Sitzungsschlüssels nach einer Mitteilungsübertragung durchgeführt.
-
Zusätzlich offenbart das nachstehende Patentdokument 1 einen Aufbau eines Adhoc-Netzwerks durch gegenseitig gültige Einrichtungen, bei dem die Einrichtungen entsprechend eine Ad-hoc-Netzwerk-ID, eine Ausschlussliste, die spezifische Einrichtungen spezifiziert, die von einem Ad-hoc-Netzwerk, das durch die Ad-hoc-Netzwerk-ID identifiziert ist, auszuschließen sind, und ein Einrichtungszertifikat, das durch eine Zertifizierungsbehörde erzeugt wird, speichern und Einrichtungszertifikate miteinander austauschen, um zu überprüfen, ob die Einrichtungen dazu in der Lage sind, ein Ad-hoc-Netzwerk aufzubauen. In diesem Fall wird dadurch, dass keine gegenseitige Authentifizierung mit Einrichtungen durchgeführt wird, die in der Ausschlussliste registriert sind, verhindert, dass die Einrichtungen, die in der Ausschlussliste registriert sind, dem Netzwerk beitreten.
- Patentdokument 1: japanische Patentoffenlegungsschrift Nr. JP 2007-074390 (A)
-
KURZFASSUNG DER ERFINDUNG
-
Bei einer Authentifizierung unter Verwendung eines gemeinsamen Schlüssels, wie in dem Fall von AUTOSAR, da der gemeinsame Schlüssel im Voraus verteilt werden muss, ist es eine Frage, wie der gemeinsame Schlüssel in eine neue ECU einzubringen ist, insbesondere wenn eine ECU ausfällt und ersetzt werden muss. Während es dankbar ist, dass ECUs, in die der gemeinsame Schlüssel im Voraus eingebracht ist, vorbereitet werden können, bedeutet dies, dass eine gewaltige Menge von Austausch-ECUs im Voraus vorbereitet werden muss. Zusätzlich kann ein Einsatz eines Mechanismus, der es ermöglicht, einen gemeinsamen Schlüssel zu einem späteren Zeitpunkt zu überschreiben, eine Sicherheitslücke erzeugen.
-
Mit dem in Patentdokument 1 beschriebenen Verfahren, da Einrichtungen, denen es nicht erlaubt ist, dem Netzwerk beizutreten, unter Verwendung einer Ausschlussliste spezifiziert sind, muss die Ausschlussliste wann immer nötig geändert werden. Wenn die Ausschlussliste nicht rechtzeitig aktualisiert wird, kann es vorkommen, dass eine unerlaubte Einrichtung, der es nicht erlaubt werden sollte, dem Netzwerk beizutreten, dem Netzwerk beitritt.
-
Die vorliegende Erfindung wurde unter Berücksichtigung der vorstehend beschriebenen Probleme vorgenommen und es ist eine Aufgabe davon, eine Technik für eine Authentifizierung in einem Fahrzeugsystem bereitzustellen, die einfach angewendet werden kann, auch wenn eine ECU ausgetauscht wird.
-
Ein erster Aspekt der vorliegenden Erfindung ist ein Fahrzeugsystem, das durch eine Master-ECU und eine allgemeine ECU gebildet ist, bei dem die Master-ECU und die allgemeine ECU eine gegenseitige Authentifizierung unter Verwendung eines Verschlüsselungssystems mit einem öffentlichen Schlüssel („public key encryption system”) durchführen. Dabei wird eine Gültigkeit einer ECU dadurch verifiziert, dass spezifische Daten bezüglich der ECU in einem elektronischen Zertifikat umfasst sind.
-
In dem vorliegenden Aspekt ist die Master-ECU mit einem privaten Schlüssel der Master-ECU (ein privater Master-ECU-Schlüssel bzw. „master ECU private key”) und einem elektronischen Zertifikat (einem elektronischen Zertifikat der allgemeinen ECU bzw. elektronisches Allgemein-ECU-Zertifikat bzw. „general ECU electronic certificate”), das einem öffentlichen Schlüssel der allgemeinen ECU (öffentlicher Allgemein-ECU-Schlüssel bzw. „general public ECU key”) entspricht, bereitgestellt. Das elektronische Allgemein-ECU-Zertifikat umfasst spezifizierte Daten bezüglich der allgemeinen ECU. Zusätzlich ist die allgemeine ECU mit einem privaten Schlüssel der allgemeinen ECU (ein privater Allgemein-ECU-Schlüssel bzw. „general ECU private key”) und einem elektronischen Zertifikat (einem elektronischen Zertifikat der Master-ECU bzw. elektronisches Master-ECU-Zertifikat bzw. „master ECU electronic certificate”), das einem öffentlichen Schlüssel der Master-ECU (öffentlicher Master-ECU-Schlüssel bzw. „master ECU private key”) entspricht, bereitgestellt. Das elektronische Master-ECU-Zertifikat umfasst spezifizierte Daten bezüglich der Master-ECU.
-
Die allgemeine ECU hängt eine digitale Signatur unter Verwendung des privaten Allgemein-ECU-Schlüssels an Übertragungsdaten, die die spezifizierten Daten der allgemeinen ECU umfassen, an und überträgt die Übertragungsdaten an die Master-ECU.
-
Die Master-ECU verifiziert unter Verwendung des elektronischen Zertifikats der allgemeinen ECU bzw. des elektronischen Allgemein-ECU-Zertifikats die Übertragungsdaten, an die die digitale Signatur angehängt ist und die von der allgemeinen ECU übertragen werden, und verifiziert gleichzeitig, ob die spezifizierten Daten, die in den Übertragungsdaten enthalten sind, mit den spezifizierten Daten, die in dem elektronischen Zertifikat der allgemeinen ECU enthalten sind, übereinstimmen. Wenn sowohl die Übertragungsdaten als auch die spezifizierten Daten als gültig bestimmt werden, wird bestimmt, dass die allgemeine ECU gültig ist.
-
Eine erfolgreiche Verifizierung der digitalen Signatur zeigt, dass eine Übertragungsquelle der Übertragungsdaten und Inhalte der Daten gültig sind. Mit anderen Worten ist gezeigt, dass keine Vortäuschung oder Irritation durchgeführt wurde. Zusätzlich zeigt ein Übereinstimmen der übertragenen spezifizierten Daten mit den spezifizierten Daten, die in dem elektronischen Zertifikat gespeichert sind, dass ein Programm der allgemeinen ECU nicht manipuliert wurde.
-
Des Weiteren, nachdem die Gültigkeit der allgemeinen ECU bestätigt ist, hängt die Master-ECU eine digitale Signatur unter Verwendung des privaten Schlüssels der Master-ECU an Übertragungsdaten, die die spezifizierten Daten der Master-ECU und einen Sitzungsschlüssel umfassen, an und überträgt die Übertragungsdaten an die allgemeine ECU. Wenn der Sitzungsschlüssel übertragen wird, wird der Sitzungsschlüssel vorzugsweise verschlüsselt übertragen, so dass nur die allgemeine ECU, die ein Übertragungsziel ist, den Sitzungsschlüssel lesen kann. Speziell wird der Sitzungsschlüssel vorzugsweise unter Verwendung des öffentlichen Schlüssels der allgemeinen ECU verschlüsselt übertragen. Der Sitzungsschlüssel ist, nachdem eine gegenseitige Authentifizierung volständigt ist, als ein allgemeiner Schlüssel zur Kommunikation zwischen der Master-ECU und der allgemeinen ECU zu verwenden.
-
Die allgemeine ECU verifiziert unter Verwendung des elektronischen Master-ECU-Zertifikats die Übertragungsdaten, an die die digitale Signatur angehängt ist und die von der Master-ECU übertragen werden, und verifiziert gleichzeitig, ob die spezifizierten Daten, die in den Übertragungsdaten enthalten sind, mit den spezifizierten Daten, die in dem elektronischen Master-ECU-Zertifikat enthalten sind, übereinstimmen. Wenn bestimmt ist, dass sowohl die Übertragungsdaten als auch die spezifizierten Daten gültig sind, wird bestimmt, dass die Master-ECU gültig ist. Dieser Prozess ist ähnlich zu der Gültigkeitsverifikation der allgemeinen ECU durch die Master-ECU. Wenn die Gültigkeit der Master-ECU bestätigt werden kann, bestimmt die allgemeine ECU, dass die Master-ECU gültig ist und verwendet den Sitzungsschlüssel, der in den Übertragungsdaten enthalten ist, als einen gemeinsamen Schlüssel für zukünftige Kommunikationen.
-
Dementsprechend können die Master-ECU und die allgemeine ECU eine gegenseitige Authentifizierung durchführen und einen Sitzungsschlüssel (einen gemeinsamen Schlüssel), der in nachfolgenden Kommunikation zu verwenden ist, austauschen. In dem vorliegenden Aspekt wird ein Verschlüsselungssystem mit einem öffentlichen Schlüssel verwendet und die Master-ECU und die allgemeine ECU speichern elektronische Zertifikate. Da ein elektronisches Zertifikat selbst eine Information ist, die nicht verborgen werden muss, kann das elektronische Zertifikat in einem gewöhnlichen Speicher gespeichert werden. Deshalb, wenn eine ECU ausgetauscht wird, da nur ein elektronisches Zertifikat, das in einer anderen ECU gespeichert ist und sich auf die Austauschobjekt-ECU bezieht, aktualisiert werden muss, kann ein Austausch einer ECU einfach durchgeführt werden. Mit anderen Worten gibt es keine Notwendigkeit, Austausch-ECUs im Übermaß vorzubereiten, und ein Mechanismus, der eine Sicherheitslücke erzeugen könnte, muss nicht eingeführt werden, um eine ECU auszutauschen.
-
In dem vorliegenden Aspekt ist die allgemeine ECU vorzugsweise in einer Vielzahl vorhanden, ist die Master-ECU mit einem elektronischen Allgemein-ECU-Zertifikat entsprechend jeder der allgemeinen ECUs bereitgestellt ist, überträgt die Master-ECU einen gleichen Schlüssel als einen Sitzungsschlüssel an die entsprechenden allgemeinen ECUs und verwenden die allgemeinen ECUs den Sitzungsschlüssel als einen gemeinsamen Schlüssel zur Kommunikation zwischen der Master-ECU und anderen allgemeinen ECUs.
-
Dementsprechend kann jede allgemeine ECU den Sitzungsschlüssel durch einfaches Durchführen einer gegenseitigen Authentifizierung mit der Master-ECU teilen. Mit anderen Worten können die entsprechenden allgemeinen ECUs einander über eine Authentifizierung mit der Master-ECU authentifizieren.
-
In dem vorliegenden Aspekt können spezifizierte Daten bezüglich der allgemeinen ECU ein gültiger Digest-Wert („digest value”) (Hash-Wert („hash value”)) eines Ausführungsprogramms der allgemeinen ECU sein. In diesem Fall kann die allgemeine ECU einen Digest-Wert eines Ausführungsprogramms berechnen, eine digitale Signatur unter Verwendung des privaten Allgemein-ECU-Schlüssels an Übertragungsdaten, die den Digest-Wert umfassen, anhängen und die Übertragungsdaten an die Master-ECU übertragen.
-
Dementsprechend, wenn ein Programm der allgemeinen ECU manipuliert wurde, da der Digest-Wert, der in den Übertragungsdaten enthalten ist, mit dem Digest-Wert, der in dem elektronischen Zertifikat enthalten ist, nicht übereinstimmt, kann die Master-ECU erfassen, dass das Ausführungsprogramm der allgemeinen ECU manipuliert wurde.
-
Zusätzlich, in dem vorliegenden Aspekt, können die spezifizierten Daten bezüglich der allgemeinen ECU eine ID bzw. Kennung (eindeutig identifizierbare Daten) der allgemeinen ECU sein. In diesem Fall, nach einem Bestätigen der Integrität eines Ausführungsprogramms unter Verwendung eines sicheren Startens bzw. Bootens („secure boot”), kann die allgemeine ECU eine digitale Signatur unter Verwendung des privaten Allgemein-ECU-Schlüssels an Übertragungsdaten, die die ID der allgemeinen ECU umfassen, anhängen und die Übertragungsdaten an die Master-ECU übertragen.
-
Wie vorstehend beschrieben kann die Integrität des Ausführungsprogramms der allgemeinen ECU ebenso durch Übertragen der ID der allgemeinen ECU sichergestellt werden, nachdem die allgemeine ECU unter Verwendung eines sicheren Bootens bestätigt, dass das Ausführungsprogramm nicht manipuliert wurde.
-
In dem vorliegenden Aspekt, da elektronische Zertifikate verwendet werden, speichert jede ECU einen öffentlichen Root-Schlüssel, der ein öffentlicher Schlüssel einer Root-Zertifikat-Behörde ist. Jede ECU kann einen öffentlichen Root-Schlüssel in einem nicht wiederschreibbaren Speicher oder in einem wiederbeschreibbaren Speicher speichern. Wenn der öffentliche Root-Schlüssel nicht aktualisiert werden muss, kann der öffentliche Root-Schlüssel in einem nicht wiederschreibbaren Speicher gespeichert werden. Andererseits, wenn der öffentliche Root-Schlüssel aktualisiert werden muss, muss der öffentliche Root-Schlüssel in einem wiederbeschreibbaren Speicher gespeichert werden. In diesem Fall, um eine Manipulation des öffentlichen Root-Schlüssels zu verhindern, kann eine digitale Signatur unter Verwendung eines privaten Schlüssels (eines privaten Master-ECU-chlüssels oder eines privaten Allgemein-ECU-Schlüssels) der Host-Einrichtung erzeugt werden und der öffentliche Root-Schlüssel kann in Verknüpfung mit der digitalen Signatur gespeichert werden.
-
In dem vorliegenden Aspekt muss eine Master-ECU nicht notwendigerweise mit einem elektronischen Allgemein-ECU-Zertifikat im Voraus bereitgestellt werden, muss eine allgemeine ECU nicht notwendigerweise mit einem elektronischen Master-ECU-Zertifikat im Voraus bereitgestellt werden, und elektronische Zertifikate können in einem gegenseitigen Authentifizierungsprozess verteilt werden. In diesem Fall muss die Master-ECU im Voraus mit einem elektronischen Master-ECU-Zertifikat bereitgestellt werden und muss die allgemeine ECU im Voraus mit einem elektronischen Allgemein-ECU-Zertifikat bereitgestellt werden. Speziell, wenn die allgemeine ECU das elektronische Master-ECU-Zertifikat nicht aufweist, überträgt die allgemeine ECU das elektronische Allgemein-ECU-Zertifikat zusammen mit den Übertragungsdaten, an die die digitale Signatur angehängt ist, an die Master-ECU und die Master-ECU verifiziert das elektronische Allgemein-ECU-Zertifikat unter Verwendung eines öffentlichen Root-Schlüssels und speichert das elektronische Allgemein-ECU-Zertifikat, wenn das elektronische Allgemein-ECU-Zertifikat gültig ist. Zusätzlich, wenn die Master-ECU das elektronische Allgemein-ECU-Zertifikat nicht aufweist, überträgt die Master-ECU das elektronische Master-ECU-Zertifikat zusammen mit den Übertragungsdaten, an die die digitale Signatur angehängt ist, an die allgemeine ECU und die allgemeine ECU verifiziert das elektronische Master-ECU-Zertifikat unter Verwendung des öffentlichen Root-Schlüssels und speichert das elektronische Master-ECU-Zertifikat, wenn das elektronische Master-ECU-Zertifikat gültig ist.
-
Gemäß solch einer Konfiguration, auch wenn jede ECU in einem Fahrzeugsystem ein elektronisches Zertifikat einer anderen ECU im Voraus nicht besitzt, kann eine gegenseitige Authentifizierung zwischen ECUs durchgeführt werden. Deshalb kann, wenn eine ECU ausgetauscht wird, eine Operation zum Aktualisieren eines elektronischen Zertifikats einer anderen ECU weggelassen werden.
-
Außerdem kann die vorliegende Erfindung als ein Fahrzeugsystem mit zumindest einem Teil der vorstehend beschriebenen Mittel betrachtet werden. Die vorliegende Erfindung kann ebenso als ein Authentifizierungsverfahren eines Fahrzeugsystems betrachtet werden, in dem zumindest ein Teil der vorstehend beschriebenen Mittel ausgeführt wird. Weiterhin kann die vorliegende Erfindung ebenso als ein Computerprogramm, das veranlasst, dass das Verfahren durch einen Computer ausgeführt wird, oder als ein computerlesbares Speichermedium, das das Computerprogramm auf eine nichtflüchtige Weise speichert, betrachtet werden. Die entsprechenden Mittel und Prozesse, die vorstehend beschrieben sind, können auf irgendeine mögliche Weise miteinander kombiniert werden, um die vorliegende Erfindung zu bilden.
-
Gemäß der vorliegenden Erfindung kann ein Authentifizierungsprozess in einem Fahrzeugsystem einfach angewendet werden, auch wenn eine ECU ausgetauscht wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein schematisches Systemdiagramm gemäß einem ersten Ausführungsbeispiel;
-
2 ist ein Diagramm, das ein Format eines elektronischen Zertifikats gemäß dem ersten Ausführungsbeispiel zeigt;
-
3 ist ein Ablaufdiagramm, das einen Ablauf eines gegenseitigen Authentifizierungsprozesses von ECUs gemäß dem ersten Ausführungsbeispiel zeigt;
-
4A ist ein Diagramm, das ein Verfahren des Erzeugens und Verteilens eines elektronischen Zertifikats während eines Fahrzeugzusammenbaus gemäß dem ersten Ausführungsbeispiel darstellt, und 4B ist ein Diagramm, das ein Verfahren des Erzeugens und Verteilens eines elektronischen Zertifikats während eines Versands einer Austausch-ECU darstellt;
-
5 ist ein Diagramm, das ein Format eines elektronischen Zertifikats gemäß einem zweiten Ausführungsbeispiel zeigt;
-
6 ist ein Ablaufdiagramm, das einen Ablauf eines gegenseitigen Authentifizierungsprozesses von ECUs gemäß dem zweiten Ausführungsbeispiel zeigt;
-
7A zeigt eine Konfiguration einer Austausch-ECU gemäß einem dritten Ausführungsbeispiel und 7B ist ein Ablaufdiagramm, das einen Ablauf eines gegenseitigen Authentifizierungsprozesses von ECUs gemäß dem dritten Ausführungsbeispiel zeigt; und
-
8 ist ein Diagramm, das eine funktionale Konfiguration einer ECU gemäß einer Modifikation zeigt.
-
BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
-
(Erstes Ausführungsbeispiel)
-
<Konfiguration>
-
Ein Fahrzeugsystem gemäß einem ersten Ausführungsbeispiel wird mit Bezug auf 1 beschrieben. Das Fahrzeugsystem wird durch eine Vielzahl von Computern (ECUs) gebildet, die mit einem CAN-Bussystem verbunden sind. Obwohl vier ECUs inklusive einer Master-ECU (100m), einer allgemeinen ECU a (100a), einer allgemeinen ECU b (100b) und einer allgemeinen ECU c (100c) in 1 verbunden sind, ist die Anzahl von ECUs in dem Fahrzeugsystem nicht besonders beschränkt.
-
Jede ECU 100 besitzt einen Prozessor (eine Verarbeitungseinrichtung), einen Sicherheitschip (eine manipulationsresistente Einrichtung), einen Speicher, eine Kommunikationseinrichtung und Ähnliches. Außerdem arbeitet der Sicherheitschip unabhängig von anderen Prozessoren und ist dazu in der Lage, Programme und Daten sicher zu speichern und auszuführen. Während die Master-ECU 100m sich nicht besonders von den allgemeinen ECUs hinsichtlich einer Hardwarekonfiguration unterscheidet, wird vorzugsweise eine ECU mit reichlichen Verarbeitungsressourcen als die Master-ECU verwendet.
-
Da die entsprechenden ECUs ungefähr ähnliche funktionale Konfigurationen aufwiesen, wird die Master-ECU 100m als ein Beispiel beschrieben. Die Master-ECU 100m speichert ein Ausführungsprogramm 111m und ein Root-Zertifikat 112m in einem Festwertspeicher (einem ROM) 110m. Das Ausführungsprogramm 111m ist ein Programm, das Funktionen beschreibt, die durch die Master-ECU m nach einem Systemstart bereitzustellen sind. Das Root-Zertifikat 112m ist ein elektronisches Zertifikat entsprechend einem öffentlichen Schlüssel einer Root-Zertifikat-Behörde.
-
Zusätzlich speichert die Master-ECU 100m eine Verschlüsselungsmaschine 121m und einen privaten Schlüssel 122m in einer manipulationsresistenten Einrichtung 120m. Die Verschlüsselungsmaschine 121m stellt Funktionen bereit, wie etwa eine Erzeugung eines Paars eines privaten Schlüssels und eines öffentlichen Schlüssels, eine Ausgabe eines öffentlichen Schlüssels, einen Verschlüsselungsprozess, einen Entschlüsselungsprozess, ein Anhängen einer digitalen Signatur, eine Verifikation einer digitalen Signatur und eine Berechnung eines Hash-Werts. Zusätzlich ist der private Schlüssel 122m ein privater Schlüssel der Master-ECU 100m.
-
Des Weiteren speichert die Master-ECU 100m elektronische Zertifikate von allen allgemeinen ECUs in dem System (in diesem Fall elektronische Zertifikate 131a, 131b und 131c entsprechend der allgemeinen ECU a, der allgemeinen ECU b und der allgemeinen ECU c) in einem Flashspeicher (lesbarer/beschreibbarer Speicher) 130m.
-
Außerdem unterscheiden sich eine Master-ECU und eine allgemeine ECU voneinander hinsichtlich Arten von elektronischen Zertifikaten, die in einem Flashspeicher gespeichert sind. Während eine Master-ECU elektronische Zertifikate von allen allgemeinen ECUs wie vorstehend beschrieben in einem Flashspeicher speichert, speichert eine allgemeine ECU nur ein elektronisches Zertifikat 131m der Master-ECU in einem Flashspeicher.
-
<Elektronisches Zertifikat>
-
2 ist ein Diagramm, das ein Format eines elektronischen Zertifikats zeigt. 2 zeigt ein Format eines elektronischen Zertifikats entsprechend einem öffentlichen Schlüssel der allgemeinen ECU a als ein Beispiel. Das elektronische Zertifikat 131 der allgemeinen ECU a wird durch einen öffentlichen Schlüssel 21 der allgemeinen ECU a, ein Ablaufdatum 22 eines privaten Schlüssels der allgemeinen ECU a, andere Informationen 23, einen Digest-Wert 24 eines authentischen Programms 111a, das in der allgemeinen ECU a zu speichern ist, und eine digitale Signatur 25 mit Bezug auf alle diese Elemente von Informationen gebildet. Für das elektronische Zertifikat 131 kann zum Beispiel der X.509 v3 Standard angewendet werden. Da dieser Standard einen erweiterten Bereich bereitstellt, kann der Digest-Wert 24 des Programms in dem erweiterten Bereich gespeichert werden.
-
Der Digest-Wert wird ebenso ein Zusammenfassungswert oder ein Hash-Wert genannt und ist ein Wert einer festen Länge, der unter Verwendung einer vorgeschriebenen Berechnungsprozedur von Quellendaten erhalten wird. Sogar eine kleine Differenz der Quellendaten kann eine signifikante Differenz in Digest-Werten ergeben. Obwohl der gleiche Digest-Wert manchmal von unterschiedlichen Elementen von Daten erhalten werden kann (Kollision von Hash-Werten), kann eine Identität von Daten unter Verwendung eines Digest-Werts verifiziert werden, da es keinen Weg gibt, Quellendaten zum Erhalten eines gleichen Digest-Werts effizient herzuleiten.
-
<Authentifizierungsprozedur>
-
Als Nächstes wird mit Bezug auf das Ablaufdiagramm in 3 ein Ablauf eines gegenseitigen Authentifizierungsprozesses zwischen ECUs in dem Fahrzeugsystem beschrieben. In dem vorliegenden Ausführungsbeispiel führt jede allgemeine ECU eine gegenseitige Authentifizierung mit der Master-ECU durch, um einen Sitzungsschlüssel (einen gemeinsamen Schlüssel) auszutauschen. Durch Verteilen eines gleichen Sitzungsschlüssels an alle allgemeinen ECUs ermöglicht die Master-ECU, dass eine Kommunikation unter Verwendung des Sitzungsschlüssels unter allen ECUs in dem System durchgeführt wird.
-
3 stellt ein Beispiel eines Falls dar, in dem eine gegenseitige Authentifizierung zwischen der Master-ECU m und der allgemeinen ECU a durchgeführt wird. Dieser Prozess wird vorzugsweise zu Zeitpunkten von zum Beispiel einem Versand bzw. Ausliefern eines Fahrzeugs von einer Fabrik, einer Aktualisierung eines gemeinsamen Schlüssels und einem Austausch einer ECU durchgeführt. Jedoch kann der Prozess jedes Mal durchgeführt werden, wenn das Fahrzeugsystem gestartet wird.
-
Zuerst erzeugt die Master-ECU m eine Zufallszahl rm unter Verwendung der Verschlüsselungsmaschine 121m (S101). Auf eine ähnliche Weise erzeugt die allgemeine ECU eine Zufallszahl ra unter Verwendung der Verschlüsselungsmaschine 121a (S201). Diese Zufallszahlen werden erzeugt, um sicherzustellen, dass nachfolgende Mitteilungsaustauschprozesse Authentifizierungsprozesse in einer vorliegenden Sitzung sind. Diese Zufallszahlen müssen nicht notwendigerweise verwendet werden und können weggelassen werden.
-
Die Master-ECU m überträgt die Zufallszahl rm an die allgemeine ECU a (S102). Die allgemeine ECU a verwendet die Verschlüsselungsmaschine 121a in der manipulationsresistenten Einrichtung 120a, um einen Digest-Wert Da des Ausführungsprogramms 111a zu berechnen (S202). Zusätzlich verwendet die allgemeine ECU a die Verschlüsselungsmaschine 121a, um eine digitale Signatur S1 mit Bezug auf einen gekoppelten Wert des Digest-Werts Da, der Zufallszahl rm und der Zufallszahl ra zu erzeugen (S203). Die digitale Signatur S1 bezeichnet Daten, die durch Verschlüsseln eines Hash-Werts des gekoppelten Werts des Digest-Werts Da, der Zufallszahl rm und der Zufallszahl ra mit dem privaten Schlüssel 122a der allgemeinen ECU a erhalten werden. Die allgemeine ECU a überträgt den Digest-Wert Da, die Zufallszahl rm, die Zufallszahl ra und die digitale Signatur S1 an die Master-ECU m (S204).
-
Die Master-ECU m erzeugt einen Sitzungsschlüssel K unter Verwendung der Verschlüsselungsmaschine 121m (S103). Speziell ist der Sitzungsschlüssel K eine Zufallszahl. Wie vorstehend beschrieben, könnte eine Erzeugung eines Sitzungsschlüssels einmal während des gegenseitigen Authentifizierungsprozesses ausreichend sein, da ein Sitzungsschlüssel in dem Fahrzeugsystem geteilt wird.
-
Wenn die Master-ECU m eine Mitteilung mit einer digitalen Signatur von der allgemeinen ECU a empfängt, bestätigt die Master-ECU m eine Integrität der digitalen Signatur unter Verwendung des elektronischen Zertifikats der allgemeinen ECU a (S104). Speziell werden ein Digest-Wert des empfangenen Digest-Werts Da, die Zufallszahl rm und die Zufallszahl ra erhalten und die digitale Signatur wird mit einem öffentlichen Schlüssel (der in dem elektronischen Zertifikat enthalten ist) der allgemeinen ECU a entschlüsselt. Wenn diese Werte übereinstimmen, kann garantiert werden, dass die Übertragungsquelle der Daten die allgemeine ECU a ist und die Übertragungsdaten nicht manipuliert wurden. Wenn eine Integrität der digitalen Signatur nicht bestätigt werden kann, wird der Prozess abgebrochen, da es eine Möglichkeit gibt, dass eine Vortäuschung oder eine Manipulation durchgeführt wurden.
-
Als Nächstes gleich die Master-ECU m ab, ob der Digest-Wert Da des Programms der allgemeinen ECU a, der in den Übertragungsdaten enthalten ist, mit dem Digest-Wert 24, der in dem elektronischen Zertifikat der allgemeinen ECU a enthalten ist, übereinstimmt (S105). Übereinstimmende Digest-Werte geben an, dass das Programm 111a, das in der allgemeinen ECU gespeichert ist, authentisch ist oder, mit anderen Worten, dass das Programm 111a keiner Manipulation oder Ähnlichem unterzogen wurde. Aufgrund der bisherigen Prozesse kann die Master-ECU m bestätigen, dass die allgemeine ECU a gültig ist. Andererseits, wenn die Digest-Werte nicht übereinstimmen, wird der Prozess abgebrochen, da es eine Möglichkeit gibt, dass das Programm manipuliert wurde.
-
Unter Verwendung der Verschlüsselungsmaschine 121m verschlüsselt die Master-ECU m den Sitzungsschlüssel K, der in Schritt S103 erzeugt wird, mit dem öffentlichen Schlüssel (der in dem elektronischen Zertifikat enthalten ist) der allgemeinen ECU a, um einen verschlüsselten Sitzungsschlüssel EK zu erhalten (S106). Zusätzlich verwendet die Master-ECU m die Verschlüsselungsmaschine 121m, um einen Digest-Wert Dm des Programms 111m zu berechnen (S107). Des Weiteren verwendet die Master-ECU m die Verschlüsselungsmaschine 121m, um eine digitale Signatur S2 mit Bezug auf einen gekoppelten Wert des Digest-Werts Dm, der Zufallszahl rm, der Zufallszahl ra und des verschlüsselten Sitzungsschlüssels EK zu erzeugen (S108). Die digitale Signatur S2 sind Daten, die durch Verschlüsseln eines Hash-Werts des gekoppelten Werts des Digest-Werts Dm, der Zufallszahl rm, der Zufallszahl ra und des verschlüsselten Sitzungsschlüssels EK mit dem privaten Schlüssel 122m der Master-ECU m erhalten werden. Die Master-ECU m überträgt den Digest-Wert Dm, die Zufallszahl rm, die Zufallszahl ra, den verschlüsselten Sitzungsschlüssel EK und die digitale Signatur S2 an die allgemeine ECU a (S109).
-
Wenn die allgemeine ECU a eine Mitteilung mit einer digitalen Signatur von der Master-ECU m empfängt, bestätigt die allgemeine ECU a eine Integrität der digitalen Signatur unter Verwendung des elektronischen Zertifikats der Master-ECU m (S205). Speziell wird ein Digest-Wert des empfangenen Digest-Werts Dm, einer Zufallszahl rm, einer Zufallszahl ra und eines verschlüsselten Sitzungsschlüssel EK erhalten und die digitale Signatur wird mit einem öffentlichen Schlüssel (der in dem elektronischen Zertifikat enthalten ist) der Master-ECU m entschlüsselt. Wenn diese Werte übereinstimmen, kann garantiert werden, dass die Übertragungsquelle der Daten die Master-ECU m ist und die Übertragungsdaten nicht manipuliert wurden. Wenn eine Integrität der digitalen Signatur nicht bestätigt werden kann, wird der Prozess abgebrochen, da es eine Möglichkeit gibt, dass eine Vortäuschung oder Manipulation durchgeführt wurde.
-
Als Nächstes gleicht die allgemeine ECU a ab, ob der Digest-Wert Dm des Programms der Master-ECU m, der in den Übertragungsdaten enthalten ist, mit dem Digest-Wert 24, der in dem elektronischen Zertifikat der Master-ECU m enthalten ist, übereinstimmt (S206). Übereinstimmende Digest-Werte geben an, dass das Programm 111m, das in der Master-ECU m gespeichert ist, authentisch ist oder, mit anderen Worten, dass das Programm 111m keiner Manipulation oder Ähnlichem unterzogen wurde. Aufgrund der bisherigen Prozesse kann die allgemeine ECU a bestätigen, dass die Master-ECU m gültig ist. Andererseits, wenn die Digest-Werte nicht übereinstimmen, wird der Prozess beendet, dass es eine Möglichkeit gibt, dass das Programm manipuliert wurde.
-
Wenn die Gültigkeit der Master-ECU m bestätigt ist, entschlüsselt die allgemeine ECU a den verschlüsselten Sitzungsschlüssel EK unter Verwendung des privaten Schlüssels 122a der allgemeinen ECU a selbst (S207). Dementsprechend kann der Sitzungsschlüssel K zwischen der Master-ECU m und der allgemeinen ECU a geteilt werden. Nachfolgend wird eine sichere Kommunikation unter Verwendung des Sitzungsschlüssels zwischen der Master-ECU m und der allgemeinen ECU a durchgeführt. Zum Beispiel kann durch Erzeugen und Übertragen eines Mitteilungsauthentifizierungscodes (eines MAC) einer Übertragungsmitteilung unter Verwendung des Sitzungsschlüssels eine Sicherheit einer Kommunikation sichergestellt werden.
-
Außerdem, wie vorstehend beschrieben, führt jede allgemeine ECU eine gegenseitige Authentifizierung mit der Master-ECU m durch und empfängt den gleichen Sitzungsschlüssel K von der Master-ECU m. Deshalb, da der gleiche Sitzungsschlüssel K unter allen ECUs in dem Fahrzeugsystem geteilt werden kann, kann ebenso eine Kommunikation unter Verwendung des Sitzungsschlüssels K in einer Kommunikation unter den allgemeinen ECUs durchgeführt werden.
-
Ein Durchführen des Authentifizierungsprozesses wie vorstehend beschrieben ermöglicht, dass ein Verschlüsselungssystem mit einem öffentlichen Schlüssel verwendet werden kann, um zu bestätigen, dass die ECUs in dem Fahrzeugsystem gültig sind und dass das Ausführungsprogramm authentisch ist. Zusätzlich kann ein Sitzungsschlüssel unter gegenseitig authentifizierten ECUs geteilt werden.
-
<Verfahren des Erzeugens und Verteilens eines elektronischen Zertifikats>
-
Nachstehend wird ein Verfahren des Erzeugens und Verteilens eines elektronischen Zertifikats in dem Fahrzeugsystem beschrieben.
-
4A ist ein Diagramm, das ein Verfahren des Erzeugens und Verteilens eines elektronischen Zertifikats während eines Fahrzeugzusammenbaus darstellt. Eine Verwaltungseinrichtung bei einer Fahrzeugfabrik gibt eine Anweisung zur Erzeugung eines Paars eines öffentlichen Schlüssels und eine Anweisung zur Extrahierung eines öffentlichen Schlüssels an alle ECUs, die an einem einzelnen Fahrzeug angebracht sind, aus (S301). Eine ECU, die diese Anweisungen empfangen hat, verwendet eine Verschlüsselungsmaschine, um ein Paar eines privaten Schlüssels und eines öffentlichen Schlüssels zu erzeugen (S302), speichert das Paar in einem Speicher und überträgt den öffentlichen Schlüssel an die Verwaltungseinrichtung (S303). Die Verwaltungseinrichtung überträgt den öffentlichen Schlüssel der ECU und einen Digest-Wert eines authentischen Programms, das an der ECU anzubringen ist, an eine Zertifizierungsbehörde (eine Root-Zertifikat-Behörde) und fordert eine Erzeugung eines elektronischen Zertifikats an (S304). Die Zertifizierungsbehörde erzeugt ein elektronisches Zertifikat entsprechend dem empfangenen öffentlichen Schlüssel und einem Programm-Digest-Wert und überträgt das elektronische Zertifikat an die Verwaltungseinrichtung (S305). Wie in 2 gezeigt ist, umfasst das erzeugte elektronische Zertifikat den öffentlichen Schlüssel und den Programm-Digest-Wert der ECU und eine digitale Signatur für die Gesamtheit der Informationen ist angehängt, und wird unter Verwendung eines privaten Schlüssels der Zertifizierungsbehörde erzeugt. Nach einem Empfangen des elektronischen Zertifikats von der Zertifizierungsbehörde sichert die Verwaltungseinrichtung ein Ausführungsprogramm, das elektronische Zertifikat und ein Root-Zertifikat in Speichern der ECUs (S307, S308). Als das Ausführungsprogramm wird ein Ausführungsprogramm entsprechend jeder ECU in einem ROM gespeichert. Zusätzlich wird das elektronische Zertifikat in einem Flashspeicher gespeichert. Des Weiteren werden die elektronischen Zertifikate von allen allgemeinen ECUs in der Master-ECU gespeichert, aber nur das elektronische Zertifikat der Master-ECU wird in einer allgemeinen ECU gespeichert. Das Root-Zertifikat ist ein elektronisches Zertifikat entsprechend einem öffentlichen Schlüssel der Zertifizierungsbehörde. Das Root-Zertifikat wird in dem ROM von jeder ECU gespeichert.
-
Dementsprechend kann eine Konfiguration des Fahrzeugsystems wie etwa das, das in 1 gezeigt ist, konstruiert werden.
-
Ein Verfahren des Erzeugens und Verteilens einer Austausch-ECU wird nun mit Bezug auf 4B beschrieben. Sogar in diesem Fall wird ein elektronisches Zertifikat mit einem Programm-Digest-Wert einer Austausch-ECU dadurch erzeugt, dass eine Anforderung an eine Zertifizierungsbehörde gemäß dem Verfahren von Schritten S301 bis S306, die in 4A gezeigt sind, vorgenommen wird. Wie in 4B gezeigt ist, sichert die Verwaltungseinrichtung ein Ausführungsprogramm 111 und ein Root-Zertifikat 112 in einer Austausch-ECU 100 und sichert gleichzeitig ein elektronisches Zertifikat 131 der Austausch-ECU in einem Speichermedium 200 (ein Flashspeicher, eine CD-ROM, oder Ähnliches), das ein separates Medium für die ECU ist. Die Austausch-ECU 100 wird zusammen mit dem Speichermedium 200, das das elektronische Zertifikat 131 speichert, verschickt.
-
Als Nächstes wird eine Prozedur des Austauschens einer ECU in dem Fahrzeugsystem beschrieben.
-
Wenn die Austausch-ECU eine allgemeine ECU ist, wird das elektronische Zertifikat der Austausch-ECU, das in dem Speichermedium 200 gespeichert ist, an die Master-ECU in dem Fahrzeugsystem übertragen, um das elektronische Zertifikat in dem Flashspeicher der Master-ECU zu aktualisieren. Außerdem kann die Master-ECU die Gültigkeit des elektronischen Zertifikats mit einem Root-Zertifikat verifizieren. Zusätzlich empfängt die Austausch-ECU das elektronische Zertifikat von der Master-ECU und speichert das elektronische Zertifikat in einem Flashspeicher. Die Gültigkeit des elektronischen Zertifikats kann auf eine ähnliche Weise wie vorstehend beschrieben unter Verwendung eines Root-Zertifikats verifiziert werden.
-
Wenn die Austausch-ECU eine Master-ECU ist, wird das elektronische Zertifikat der Austausch-ECU, das in dem Speichermedium 200 gespeichert ist, an alle allgemeinen ECUs in dem Fahrzeugsystem übertragen, um das elektronische Zertifikat in den Flashspeichern der allgemeinen ECUs zu aktualisieren. Zusatzlich empfängt die Austausch-ECU elektronische Zertifikate von allen allgemeinen ECUs in dem Fahrzeugsystem und speichert die elektronischen Zertifikate in einem Flashspeicher. Die Gültigkeit der elektronischen Zertifikate kann auf eine ähnliche Weise wie vorstehend beschrieben mit einem Root-Zertifikat verifiziert werden.
-
Auf diese Weise, wenn eine illegale ECU angebracht wird, kann ein Anbringen der illegalen ECU erfasst werden, da eine Verifikation eines elektronischen Zertifikats von dieser fehlschlägt. Zusätzlich, wenn eine ECU eine gültige ECU ist, aber ein Programm, das darin gespeichert ist, manipuliert wurde und nicht länger gültig ist, kann das Programm durch einen gegenseitigen Authentifizierungsprozess erfasst werden (3). Des Weiteren, da ein elektronisches Zertifikat nur in einem Flashspeicher gespeichert werden muss und nicht in einer manipulationsresistenten Einrichtung gespeichert werden muss, muss eine Schnittstelle, die eine Sicherheitslücke werden könnte, nicht vorbereitet werden, um eine ECU zu ersetzen. Außerdem, da eine Kommunikation (Hotline) mit einer Zertifizierungsbehörde nicht durchgeführt werden muss, wenn eine ECU ausgetauscht wird, kann eine ECU einfach ausgetauscht werden.
-
(Zweites Ausführungsbeispiel)
-
In dem ersten Ausführungsbeispiel wird die Authentizität eines Programms durch Speichern eines Programm-Digest-Werts in einem elektronischen Zertifikat und Übertragen eines Programm-Digest-Werts einer Host-Einrichtung an eine ECU, die ein Authentifizierungsziel in einem Authentifizierungsprozess ist, bestätigt. Das vorliegende Ausführungsbeispiel ist vom ersten Ausführungsbeispiel bezüglich eines Verfahrens des Verifizierens der Gültigkeit eines Programms verschieden. In dem vorliegenden Ausführungsbeispiel verifiziert jede ECU die Gültigkeit eines Programms unter Verwendung eines sicheren Bootens (”secure boot”).
-
Da eine Konfiguration einer ECU in dem zweiten Ausführungsbeispiel ungefähr ähnlich zu der in dem ersten Ausführungsbeispiel ist (1), wird eine detaillierte Beschreibung davon weggelassen. Ein Unterschied von dem ersten Ausführungsbeispiel liegt in Daten, die in einem elektronischen Zertifikat umfasst sind.
-
5 ist ein Diagramm, das ein Format eines elektronischen Zertifikats gemäß dem zweiten Ausführungsbeispiel zeigt. Während der Digest-Wert 24 eines gültigen Programms, das in einer ECU zu speichern ist, in einem erweiterten Bereich des elektronischen Zertifikats 131 in dem ersten Ausführungsbeispiel gespeichert ist, wird in dem vorliegenden Ausführungsbeispiel stattdessen eine Kennung (ID) 26 einer ECU gespeichert. Eine Kennung einer ECU kann irgendein Format aufweisen, solange die Kennung Daten sind, die ermöglichen, dass eine ECU eindeutig identifiziert wird.
-
Zusätzlich wird in dem vorliegenden Ausführungsbeispiel, da die Gültigkeit eines Programms durch ein sicheres Booten bestätigt wird, ein gültiger Digest-Wert eines Programms, das in einer ECU zu speichern ist, in einer manipulationsresistenten Einrichtung gespeichert. Der Programm-Digest-Wert ist der gleiche wie der, der in dem erweiterten Bereich eines elektronischen Zertifikats in dem ersten Ausführungsbeispiel gespeichert ist.
-
6 ist ein Ablaufdiagramm, das einen Ablauf eines gegenseitigen Authentifizierungsprozesses unter ECUs in einem Fahrzeugsystem gemäß dem zweiten Ausführungsbeispiel zeigt. In dem vorliegenden Ausführungsbeispiel wird zuerst die Gültigkeit eines Ausführungsprogramms entsprechend unter Verwendung eines sicheren Boot-Verfahrens durch die Master-ECU m und die allgemeine ECU a verifiziert (S301, S401). Bei einem sicheren Booten berechnet eine Verschlüsselungsmaschine einen Digest-Wert eines Programms, das in einem Speicher gespeichert ist, und vergleicht den Digest-Wert mit einem Digest-Wert eines gültigen Programms, der in der manipulationsresistenten Einrichtung gespeichert ist. Wenn die Digest-Werte übereinstimmen, wird bestimmt, dass das Programm gültig ist, aber wenn die Digest-Werte nicht übereinstimmen, wird bestimmt, dass das Programm ungültig ist. Die Master-ECU m und die allgemeine ECU a führen Prozesse nachfolgend zu Schritten S301 und S401 nur durch, wenn durch das sichere Booten bestimmt ist, dass das Programm gültig ist.
-
Die nachfolgenden Prozesse sind grundlegend ähnlich zu denen in dem ersten Ausführungsbeispiel und ein Unterschied ist, dass eine ECU-Kennung anstelle des Berechnens und Übertragens eines Programm-Digest-Werts übertragen wird. In Schritten S403 und S404 erzeugt zum Beispiel die allgemeine ECU a eine digitale Signatur S1 mit Bezug auf einen gekoppelten Wert einer ECUIDa der Host-Einrichtung, einer Zufallszahl rm und einer Zufallszahl ra und überträgt diese Elemente von Daten und die digitale Signatur an die Master-ECU. Der Integritätsverifizierungsprozess (S305) der digitalen Signatur durch die Master-ECU m ist ähnlich zu dem in dem ersten Ausführungsbeispiel. Zusätzlich ist die Verifikation einer Gültigkeit einer ECU durch Bestimmen, ob die Daten (ECUIDa), die von der allgemeinen ECU a übertragen werden, die ein Authentifizierungsziel ist, mit Daten übereinstimmen, die in dem elektronischen Zertifikat gespeichert sind, in Schritt S306 die gleiche wie in dem ersten Ausführungsbeispiel. Es gibt jedoch einen Unterschied in verwendeten Daten zwischen einem Digest-Wert eines Programms und einer Kennung einer ECU. Der Prozess einer Übertragung von der Master-ECU m an die allgemeine ECU a (Schritte S308 und S309 und S405 bis S407) ist ähnlich zu dem der vorstehend beschrieben wurde.
-
Aufgrund solcher Prozesse kann ein ähnlicher Effekt wie in dem ersten Ausführungsbeispiel erzeugt werden. Außerdem sind ein Verfahren des Erzeugens und Verteilens eines elektronischen Zertifikats nach einem Fahrzeugzusammenbau, ein Verfahren des Erzeugens und Verteilens einer Austausch-ECU und eine Austauschprozedur ähnlich zu denen des ersten Ausführungsbeispiels.
-
(Drittes Ausführungsbeispiel)
-
In dem ersten und zweiten Ausführungsbeispiel, die vorstehend beschrieben wurden, wird, wenn eine ECU ausgetauscht wird, eine Operation durchgeführt, um ein elektronisches Zertifikat einer Austausch-ECU in andere ECUs in einem Fahrzeugsystem zu installieren. Das vorliegende Ausführungsbeispiel ermöglicht es, dass eine Arbeitslast während eines ECU-Austauschs durch Weglassen dieser Operation reduziert wird.
-
7A ist ein Diagramm, das eine Konfiguration einer Austausch-ECU r gemäß dem vorliegenden Ausführungsbeispiel zeigt. Während ein elektronisches Zertifikat der Austausch-ECU r in einem Speichermedium gespeichert wird, das von dem ECU-Hauptgehäuse in dem ersten Ausführungsbeispiel verschieden ist ( 4B), wird in dem vorliegenden Ausführungsbeispiel ein elektronisches Zertifikat 131r der Austausch-ECU r in einem Flashspeicher 130r der ECU r gespeichert.
-
In dem vorliegenden Ausführungsbeispiel, wenn eine ECU ausgetauscht wird, wird nur ein Schritt des einfachen Austauschens der ECU durchgeführt und ein Prozess des Aktualisierens eines elektronischen Zertifikats einer anderen ECU in dem Fahrzeugsystem wird nicht durchgeführt. Deshalb, unmittelbar nach einem Austausch der ECU, hält die Austausch-ECU r kein elektronisches Zertifikat einer anderen ECU und halten die ECUs nicht das elektronische Zertifikat der Austausch-ECU r.
-
7B ist ein Ablaufdiagramm, das einen Ablauf eines gegenseitigen Authentifizierungsprozesses zwischen ECUs (in diesem Fall zwischen der Master-ECU m und der allgemeinen ECU a) gemäß dem vorliegenden Ausführungsbeispiel zeigt. Da in dem vorliegenden Ausführungsbeispiel eine ECU ein elektronisches Zertifikat eines Authentifizierungspartners nicht halten könnte, ist ein zusätzlicher Prozess im Vergleich mit dem ersten Ausführungsbeispiel notwendig. Außerdem, unabhängig davon, ob die ausgetauschte ECU die Master-ECU m oder die allgemeine ECU a (oder beide) ist, ermöglicht dieser Prozess, dass eine gegenseitige Authentifizierung zwischen ECUs durchgeführt wird. Zusätzlich zeigt das Ablaufdiagramm in 7B einfach einen Teil von Inhalten der Prozesse, die in 3 gezeigt sind, oder lässt diese weg, um Unterschiede von den Prozessen gemäß dem ersten Ausführungsbeispiel hervorzuheben (3).
-
Als Erstes startet die Master-ECU einen gegenseitigen Authentifizierungsprozess (S800). Speziell erzeugt die Master-ECU m eine Zufallszahl ra und überträgt die Zufallszahl ra an die allgemeine ECU a auf eine ähnliche Weise wie in Schritt S101. Wenn der gegenseitige Authentifizierungsprozess startet, bestimmt die allgemeine ECU a, ob ein elektronisches Zertifikat m der Master-ECU m in einem Speicher gespeichert ist oder nicht (S801).
-
Wenn die allgemeine ECU a das elektronische Zertifikat m hält (Ja in S801), werden ein Digest-Wert Da eines Ausführungsprogramms 111r einer allgemeinen ECU r und Zufallszahlen rm und ra und eine digitale Signatur S1 mit Bezug auf einen gekoppelten Wert von diesen Werten an die Master-ECU m auf eine ähnliche Weise wie in dem ersten Ausführungsbeispiel übertragen (S802). Dieser Prozess ist ähnlich zu dem Prozess von Schritten S202 bis S204, der in 3 gezeigt ist.
-
Wenn die allgemeine ECU a das elektronische Zertifikat m nicht hält (Nein in S801), wird andererseits ein elektronisches Zertifikat a der Host-Einrichtung zusätzlich zu dem Digest-Wert Da des Ausführungsprogramms 111r der allgemeinen ECU r und den Zufallszahlen rm und ra übertragen (S803). Dadurch kann das elektronische Zertifikat a als ein Objekt der digitalen Signatur S1 betrachtet werden oder nicht.
-
Wenn die Master-ECU m Daten inklusive des Digest-Werts Da des Programms von der allgemeinen ECU a empfängt, bestimmt die Master-ECU m, ob die empfangenen Daten das elektronische Zertifikat a enthalten (genauer ein elektronisches Zertifikat einer Datenübertragungsquelle) (S804). Wenn das elektronische Zertifikat a in den empfangenen Daten enthalten ist (Ja in S804), bestimmt die Master-ECU m, ob das elektronische Zertifikat a bereits registriert ist (in einem Speicher gehalten wird) oder nicht (S805). Wenn die Master-ECU m das elektronische Zertifikat a nicht hält (Nein in S805), bestätigt die Master-ECU m eine Gültigkeit des elektronischen Zertifikats a mit der Verschlüsselungsmaschine 121m unter Verwendung eines Root-Zertifikats 112m und, sobald die Gültigkeit bestätigt ist, registriert sie das elektronische Zertifikat a (speichert das elektronische Zertifikat a in einen Speicher) (S806). Außerdem, wenn die Gültigkeit des elektronischen Zertifikats a nicht bestätigt werden kann, wird der Authentifizierungsprozess abgebrochen und nachfolgende Prozesse werden nicht durchgeführt.
-
Andererseits, wenn das elektronische Zertifikat a nicht in den Daten enthalten ist, die durch die Master-ECU m empfangen werden (Nein in S804), oder wenn das elektronische Zertifikat a, das in den empfangenen Daten enthalten ist, bereits registriert ist (Ja in S805), wird der Prozess von Schritt S806 nicht durchgeführt.
-
Als Nächstes bestätigt die Master-ECU m eine Gültigkeit der Daten, die von der allgemeinen ECU a empfangen werden, unter Verwendung des elektronischen Zertifikats a (S807). Speziell wird eine Verifizierung einer digitalen Signatur und eine Verifizierung eines Digest-Werts (Vergleich des Digest-Werts, der in den empfangenen Daten enthalten ist, und des Digest-Werts, der in dem elektronischen Zertifikat a enthalten ist) durchgeführt. Diese Prozesse sind ähnlich zu den Prozessen von Schritten S104 und S105, die in 3 gezeigt sind.
-
Sobald die Gültigkeit der allgemeinen ECU a bestätigt ist, hängt die Master-ECU m eine digitale Signatur an das elektronische Zertifikat m der Host-Einrichtung an und überträgt das elektronische Zertifikat m zusammen mit dem Digest-Wert Dm des Programms 111m der Host-Einrichtung, den Zufallszahlen rm und ra und dem verschlüsselten Sitzungsschlüssel EK (S808). Diese Prozesse sind ähnlich zu den Prozessen von Schritten S106 bis S109, die in 3 gezeigt sind, und Schritt S803, der vorstehend beschrieben wird. Außerdem muss das elektronische Zertifikat m nicht immer übertragen werden und kann nur übertragen werden, wenn das elektronische Zertifikat a der allgemeinen ECU a in Daten, die von der allgemeinen ECU a übertragen werden, enthalten ist. Dies liegt daran, dass ansonsten die allgemeine ECU a das elektronische Zertifikat m hält.
-
Wenn die allgemeine ECU a Daten, die das elektronische Zertifikat m enthalten, von der Master-ECU m empfängt, überprüft die allgemeine ECU a die Gültigkeit des elektronischen Zertifikats m und, sobald die Gültigkeit bestätigt ist, registriert sie das elektronische Zertifikat m (speichert das elektronische Zertifikat m in einem Speicher) (S809). Zusätzlich überprüft die allgemeine ECU a die Gültigkeit der Daten, die von der Master-ECU m übertragen werden, unter Verwendung des elektronischen Zertifikats m und, sobald die Gültigkeit bestätigt ist, registriert sie das elektronische Zertifikat m (speichert das elektronische Zertifikat m in einem Speicher) (S809). Dieser Prozess ist ähnlich zu dem Prozess von Schritten S205 bis S207, die in 3 gezeigt sind. Außerdem, wenn die Gültigkeit des elektronischen Zertifikats m nicht bestätigt werden kann, wird der Authentifizierungsprozess abgebrochen und nachfolgende Prozesse werden nicht durchgeführt. Nachfolgende Prozesse sind ähnlich zu denen, die in dem Ablaufdiagramm in 3 gezeigt sind, und eine Beschreibung von diesen wird weggelassen.
-
Gemäß dem vorliegenden Ausführungsbeispiel kann eine gegenseitige Authentifizierung unter ECUs in einem Fahrzeugsystem angemessen nach einem Austausch einer ECU durchgeführt werden, ohne die Notwendigkeit des Aktualisierens von elektronischen Zertifikaten, die in der ECU gespeichert sind, während des Austauschs der ECU. Mit anderen Worten kann eine Arbeitslast während einem ECU-Austausch reduziert werden.
-
In dem vorliegenden Ausführungsbeispiel, da eine Verteilung eines elektronischen Zertifikat und ein Verifizierungsprozess des elektronischen Zertifikats in einem anfänglichen gegenseitigen Authentifizierungsprozess nach einem Austausch einer ECU erforderlich sind, erhöht sich die Anzahl von Schritten und mehr Zeit ist erforderlich, bis die Authentifizierung beendet ist. Nachdem jedoch eine Verteilung (Registrierung) des elektronischen Zertifikats beendet ist, kann ein gegenseitiger Authentifizierungsprozess mit ähnlichen Prozessinhalten wie in dem ersten Ausführungsbeispiel durchgeführt werden.
-
Während ein Beispiel, in dem eine gegenseitige Authentifizierung unter Verwendung eines Digest-Werts eines Ausführungsprogramms auf eine ähnliche Weise wie in dem ersten Ausführungsbeispiel durchgeführt wird, vorstehend beschrieben wurde, kann das vorliegende Ausführungsbeispiel ebenso auf das zweite Ausführungsbeispiel angewendet werden, in dem eine gegenseitige Authentifizierung unter Verwendung einer Technik eines sicheren Bootens und einer Kennung einer ECU durchgeführt wird.
-
Zusätzlich, während ein Beispiel des Zeitpunkts des Austauschs einer ECU vorstehend beschrieben wurde, kann ein elektronisches Zertifikat von jeder ECU ebenso unter Verwendung eines ähnlichen Verfahrens zu dem vorstehend Beschriebenen zu einem Zeitpunkt des Zusammenbaus eines Fahrzeugs registriert werden.
-
(Modifikationen)
-
Die vorstehend beschriebenen Ausführungsbeispiele stellen lediglich Beispiele dar und die vorliegende Erfindung kann mit verschiedenen Modifikationen implementiert werden, ohne sich vom Geist und Umfang der Erfindung zu entfernen.
-
Während zum Beispiel in der vorstehend vorgenommen Beschreibung das Ausführungsprogramm 111 einer ECU in dem ROM 110 gespeichert ist, kann das Ausführungsprogramm stattdessen in dem Flashspeicher (lesbarer/beschreibbarer Speicher) 130 gespeichert werden. Dies liegt daran, dass, obwohl ein Speichern eines Programms in einem Flashspeicher das Programm relativ anfälliger für Manipulationen macht, auch wenn das Programm manipuliert wird, die Manipulation durch einen Authentifizierungsprozess unter Verwendung eines Programm-Digest-Werts erfasst werden kann.
-
Zusätzlich, während in der vorstehend vorgenommen Beschreibung nur ein Sitzungsschlüssel, der von einer Master-ECU an eine allgemeine ECU zu übertragen ist, übertragen wird, nachdem dieser verschlüsselt wurde, können alle Mitteilungen unter ECUs in einem gegenseitigen Authentifizierungsprozess übertragen werden, nachdem diese verschlüsselt wurden. Speziell kann durch Übertragen von Übertragungsdaten nach einer Verschlüsselung unter Verwendung eines öffentlichen Schlüssels eines Kommunikationspartners nur der Kommunikationspartner die Übertragungsdaten lesen.
-
Des Weiteren, während die Zufallszahlen rm und ra in der vorstehend vorgenommen Beschreibung verwendet werden, werden diese Zufallszahlen verwendet, um sicherzustellen, dass eine Mitteilung, die nach einer Authentifizierung übertragen wird, für eine vorliegende Sitzung ist, und die Zufallszahlen müssen nicht notwendiger Weise verwendet werden.
-
Außerdem, während in der vorstehend vorgenommen Beschreibung ein Root-Zertifikat in einem ROM unter Berücksichtigung der Tatsache gespeichert wird, dass das Root-Zertifikat nicht aktualisiert werden muss, kann ein Root-Zertifikat in einem Flashspeicher gespeichert werden, um eine Aktualisierung eines privaten Schlüssels durch eine Root-Zertifikat-Behörde unterzubringen. Eine Konfiguration in diesem Fall ist in 8 gezeigt. Wie in 8 gezeigt ist, wird ein Root-Zertifikat 112 in einem Flashspeicher gespeichert. Da es ein Risiko gibt, dass das Root-Zertifikat 112, das in dem Flashspeicher gespeichert wird, manipuliert wird, wird in diesem Fall, wenn das Root-Zertifikat 112 akzeptiert (gespeichert) wird, eine digitale Signatur 132 des Root-Zertifikats unter Verwendung eines privaten Schlüssels 122 einer ECU erzeugt und in dem Flashspeicher gespeichert. Dementsprechend kann die ECU bestätigen, dass das Root-Zertifikat 112 gültig ist. Ein anderes Verfahren des Unterbringens einer Aktualisierung eines Root-Zertifikats ist es, das Root-Zertifikat in einem sicheren Speicher zu speichern.
-
Zusätzlich, während vorstehend ein Beispiel beschrieben wurde, in dem nur eine Master-ECU in einem Fahrzeugsystem vorhanden ist, kann eine Vielzahl von Master-ECUs in dem Fahrzeugsystem vorhanden sein. In diesem Fall kann jede Master-ECU eine eindeutige Gruppe bilden und einen eindeutigen Sitzungsschlüssel in der Gruppe verwenden, oder der gleiche Sitzungsschlüssel kann durch alle der Gruppen verwendet werden. Des Weiteren kann eine Konfiguration einer Master-ECU und allgemeiner ECUs mit drei oder mehr Ebenen konstruiert werden, in der die Master-ECU auf der obersten Ebene eine gegenseitige Authentifizierung mit den ECUs in der Ebene darunter durchführt, um einen Sitzungsschlüssel zu teilen, und die Master-ECU in der zweiten Ebene eine gegenseitige Authentifizierung mit den ECUs in der darunterliegenden Ebene durchführt. Dementsprechend kann die Last auf die Master-ECUs verteilt werden und gleichzeitig kann die Zeit, die erforderlich ist, um die Zuverlässigkeit des gesamten Fahrzeugsystems zu bestätigen, reduziert werden. Außerdem kann ein ähnliches Verfahren verwendet werden, wenn eine Master-ECU nicht eingesetzt wird und entsprechende ECUs eine gegenseitige Authentifizierung durchführen und einen Sitzungsschlüssel auf einer Eins-zu-Eins-Basis teilen.
-
Es ist ein Fahrzeugsystem bereitgestellt, das durch eine Master-ECU und eine allgemeine ECU gebildet ist. Die allgemeine ECU hängt eine digitale Signatur an Übertragungsdaten, die die Daten (zum Beispiel einen Digest-Wert eines Programms) enthalten, an und überträgt die Übertragungsdaten an die Master-ECU. Die Master-ECU verifiziert die digitale Signatur und die Daten und bestimmt, wenn sowohl die digitale Signatur als auch die Daten gültig sind, dass die allgemeine ECU gültig ist. Die Master-ECU hängt eine digitale Signatur an Übertragungsdaten, die die Daten der Master-ECU und einen Sitzungsschlüssel enthalten, an und überträgt die Übertragungsdaten an die allgemeine ECU. Die allgemeine ECU verifiziert die digitale Signatur und die Daten und, wenn sowohl die digitale Signatur als auch die Daten gültig sind, verwendet die allgemeine ECU den Sitzungsschlüssel, der in den Übertragungsdaten enthalten ist, als gemeinsamen Schlüssel, wenn nachfolgende Kommunikationen durchgeführt werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2007-074390 (A) [0004]