DE102020127888A1 - Verbessern von fahrzeugkommunikationssicherheit - Google Patents

Verbessern von fahrzeugkommunikationssicherheit Download PDF

Info

Publication number
DE102020127888A1
DE102020127888A1 DE102020127888.8A DE102020127888A DE102020127888A1 DE 102020127888 A1 DE102020127888 A1 DE 102020127888A1 DE 102020127888 A DE102020127888 A DE 102020127888A DE 102020127888 A1 DE102020127888 A1 DE 102020127888A1
Authority
DE
Germany
Prior art keywords
type
vehicle
data message
network
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020127888.8A
Other languages
English (en)
Inventor
Humberto Eduardo Franyie Quintana
Daniel Aaron Zajac
Jiguo Song
Xin Ye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102020127888A1 publication Critical patent/DE102020127888A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/68Gesture-dependent or behaviour-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C2205/00Indexing scheme relating to group G07C5/00
    • G07C2205/02Indexing scheme relating to group G07C5/00 using a vehicle scan tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Small-Scale Networks (AREA)

Abstract

Diese Offenbarung stellt Verbessern von Fahrzeugkommunikationssicherheit bereit. Es ist ein Verfahren offenbart; das Verfahren kann Folgendes beinhalten: Empfangen einer Sicherheitsnachricht von einem Gateway-Computer an jedem einer Vielzahl von Netzwerkcomputern, wobei die Sicherheitsnachricht einen aktuellen Modus des Fahrzeugs identifiziert, wobei der aktuelle Modus einen Fahrzeugzustand angibt; Speichern des aktuellen Modus; Empfangen einer Datennachricht; und Bestimmen auf Grundlage des aktuellen Modus, ob die Datennachricht angenommen werden soll.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugkommunikationssysteme.
  • ALLGEMEINER STAND DER TECHNIK
  • Immer mehr Fahrzeuge sind mit Ausrüstung ausgestattet, die eine Kommunikation außerhalb des Fahrzeugs ermöglicht. Diese Kommunikationen können nicht autorisierten Benutzern - außerhalb des Fahrzeugs - einen Weg bereitstellen, um die Programmierung von bordeigenen Fahrzeugcomputern zu ändern.
  • KURZDARSTELLUNG
  • Ein System kann Folgendes umfassen: eine Vielzahl von Netzwerkcomputern, die über ein lokales Netzwerk in einem Fahrzeug kommunikativ an einen Gateway-Computer und aneinander gekoppelt sind, wobei jeder der Vielzahl von Netzwerkcomputern Folgendes umfasst: einen oder mehrere Prozessoren; und einen Speicher, der erste Anweisungen, die durch den einen oder die mehreren Prozessoren ausführbar sind, speichert, wobei die ersten Anweisungen Folgendes umfassen: über das lokale Netzwerk eine Sicherheitsnachricht von dem Gateway-Computer, die einen aktuellen Modus des Fahrzeugs identifiziert, zu empfangen, wobei der aktuelle Modus einen Fahrzeugzustand angibt; den aktuellen Modus zu speichern; eine Datennachricht zu empfangen; und auf Grundlage des aktuellen Modus zu bestimmen, ob die Datennachricht angenommen werden soll.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel ist der aktuelle Modus einer von einer Vielzahl von vorbestimmten Modi.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel wird die Datennachricht entweder über das lokale Netzwerk oder von einem Computer außerhalb des lokalen Netzwerks empfangen.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel ist eine Kommunikationsvorrichtung über einen Diagnoseanschluss kommunikativ an das lokale Netzwerk gekoppelt.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel basiert das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einem Typ der Datennachricht.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel ist die Art der Datennachricht eine von Folgendem: eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art fahrzeuginternes Telematikprotokoll (on-vehicle telematics protocol - OVTP) (beliebig), eine Art Netzwerkverwaltung (beliebig), eine Art Diagnose nur Auslesen, eine Art Diagnose alles außer nur Auslesen, eine Art neuer Programmschlüssel, eine Art Betrieb nur Auslesen, eine Art Betrieb alles außer nur Auslesen, eine Art OTVP nur Auslesen, eine Art OTVP alles außer nur Auslesen, eine Art Netzwerkverwaltung nur Auslesen, eine Art Netzwerkverwaltung alles außer nur Auslesen, eine Art Diagnose vorbestimmter Anwendungsfall oder eine Art Diagnose alles außer vorbestimmter Anwendungsfall.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel umfassen die ersten Anweisungen ferner, die Datennachricht anzunehmen, wenn die Art eine einer Art Diagnose (beliebig), einer Art Diagnose nur Auslesen, einer Art neuer Programmschlüssel oder einer Art Diagnose vorbestimmter Anwendungsfall unabhängig vom aktuellen Modus ist.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel weist der Fahrzeugzustand eines von Folgendem auf: das Fahrzeug steht und die Fahrzeugstromversorgung ist AN; das Fahrzeug bewegt sich und die Fahrzeugstromversorgung ist AN; oder das Fahrzeug steht und die Stromversorgung ist AUS.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel ist der Fahrzeugzustand eines von Folgendem: ein Toleranzzeitraumzustand oder ein In-Bewegung-Zustand, wobei sich das Fahrzeug in Bewegung befindet und ein vorbestimmtes Fließbandwerkzeug oder ein vorbestimmtes Fahrzeughändlerwerkzeug dazu berechtigt ist, mit mindestens einem der Vielzahl von Netzwerkcomputern zu kommunizieren.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel umfasst das Empfangen der Datennachricht Folgendes: Lesen einer Kopf- oder Fußzeile der Datennachricht.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel umfasst das Bestimmen, die Datennachricht anzunehmen, Folgendes: Nutzdaten der Datennachricht zu lesen, mindestens einen Teil der Nutzdatennachricht zu speichern, in den Nutzdaten der Datennachricht gespeicherte Daten auszuführen, oder eine Kombination davon.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel basiert das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einer Art der Datennachricht, wobei die ersten Anweisungen ferner Folgendes umfassen: zu bestimmen, dass der aktuelle Modus angibt, dass das Fahrzeug steht und dass die Fahrzeugstromversorgung AN ist; zu bestimmen, dass die Art eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art bordeigenes Telematikprotokoll (OTVP) (beliebig) oder eine Art Netzwerkverwaltung (beliebig) ist; und dann die Datennachricht anzunehmen.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel, ferner umfassend den Gateway-Computer, wobei der Gateway-Computer Folgendes umfasst: einen oder mehrere zweite Prozessoren; und einen zweiten Speicher, der zweite Anweisungen speichert, die durch den einen oder die mehreren zweiten Prozessoren ausführbar sind, wobei die zweiten Anweisungen Folgendes umfassen: mindestens eine Angabe, ob das Fahrzeug steht oder sich bewegt und ob die Fahrzeugleistung AN oder AUS ist, zu empfangen; den aktuellen Modus auf Grundlage der mindestens einen Angabe zu bestimmen; und die Sicherheitsnachricht, die den aktuellen Modus beinhaltet, für die Vielzahl von Netzwerkcomputern bereitzustellen.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel umfassen die zweiten Anweisungen ferner Folgendes: die Datennachricht von einer Kommunikationsvorrichtung zu empfangen; und die Datennachricht an die Vielzahl von Netzwerkcomputern weiterzuleiten.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel umfassen die zweiten Anweisungen ferner Folgendes: die Datennachrichten vor dem Durchlaufen der Datennachricht unter Verwendung eines Firewall-Programms, das in dem zweiten Speicher des Gateway-Computers gespeichert ist, zu scannen.
  • Gemäß mindestens einem zusätzlichen veranschaulichenden Beispiel wird ein Verfahren beschrieben, das Folgendes umfasst: Empfangen einer Sicherheitsnachricht von einem Gateway-Computer an jedem einer Vielzahl von Netzwerkcomputern, wobei die Sicherheitsnachricht einen aktuellen Modus eines Fahrzeugs identifiziert, wobei der aktuelle Modus einen Fahrzeugzustand angibt; Speichern des aktuellen Modus; Empfangen einer Datennachricht; und Bestimmen auf Grundlage des aktuellen Modus, ob die Datennachricht angenommen werden soll.
  • Gemäß dem mindestens einen vorstehend dargelegten Verfahrensbeispiel wird die Sicherheitsnachricht von jedem der Vielzahl von Netzwerkcomputern über ein lokales Netzwerk empfangen, wobei eine Kommunikationsvorrichtung über einen Diagnoseanschluss kommunikativ an das lokale Netzwerk gekoppelt ist.
  • Gemäß dem mindestens einen vorstehend dargelegten Verfahrensbeispiel basiert das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einem Typ der Datennachricht.
  • Gemäß dem mindestens einen vorstehend dargelegten Verfahrensbeispiel weist der Fahrzeugzustand eines von Folgendem auf: das Fahrzeug steht und die Fahrzeugstromversorgung ist AN; das Fahrzeug bewegt sich und die Fahrzeugstromversorgung ist AN; oder das Fahrzeug steht und die Stromversorgung ist AUS.
  • Gemäß dem mindestens einen vorstehend dargelegten Verfahrensbeispiel ist der Fahrzeugzustand eines von Folgendem: ein Toleranzzeitraumzustand oder ein In-Bewegung-Zustand, wobei sich das Fahrzeug in Bewegung befindet und ein vorbestimmtes Fließbandwerkzeug oder ein vorbestimmtes Fahrzeughändlerwerkzeug dazu berechtigt ist, mit mindestens einem der Vielzahl von Netzwerkcomputern zu kommunizieren.
  • Gemäß dem mindestens einen vorstehend dargelegten Beispiel ist eine Rechenvorrichtung offenbart, die zumindest einen Prozessor und zumindest einen Speicher umfasst, der dazu programmiert ist, eine beliebige Kombination der Beispiele für das bzw. die vorstehend dargelegte(n) Verfahren auszuführen.
  • Gemäß dem mindestens einen Beispiel ist ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium beinhaltet, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausführbar sind, wobei die Anweisungen des Computerprogrammprodukts eine beliebige Kombination der vorstehend dargelegten Beispiele für das/die Verfahren und/oder eine beliebige Kombination der Anweisungen, die durch den einen oder die mehreren Prozessoren ausführbar sind, beinhalten, wie vorstehend und hierin dargelegt ist.
  • Figurenliste
    • 1 ist eine schematische Darstellung eines Fahrzeugkommunikationssystems, das ein lokales Netzwerk umfasst, das einen Gateway-Computer und andere kommunikativ gekoppelte Netzwerkcomputer umfasst.
    • 2 ist eine schematische Darstellung, die ein Beispiel für den Gateway-Computer veranschaulicht.
    • 3 ist eine schematische Darstellung, die ein Beispiel für den Netzwerkcomputer veranschaulicht.
    • 4 ist ein Ablaufdiagramm, das einen Prozess zum Verwenden des Kommunikationssystems zum Verbessern von Datensicherheit veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Unter Bezugnahme auf die Figuren, in denen gleiche Bezugszeichen gleiche oder ähnliche Merkmale und/oder Funktionen angeben, ist ein Kommunikationssystem 10 für ein Fahrzeug 12 gezeigt, das die Fahrzeugsicherheit erhöht, indem Sicherheitsfunktionen sowohl an einem Gateway-Computer 14 als auch an jedem einer Vielzahl von Netzwerkcomputern 16, 18, 20, 22 hinzugefügt werden, wobei der Gateway-Computer 14 und andere Netzwerkcomputer 16-22 ein lokales Netzwerk 30 (manchmal auch als Local Area Network bezeichnet) bilden. Auf diese Weise (und wie nachstehend näher beschrieben) kann der Gateway-Computer 14 eine primäre Sicherheitsfunktion nutzen (z. B. als ein Gatekeeper für das lokale Netzwerk 30; z. B. Implementieren einer Firewall-Funktionalität als ein Portal dazu) und jeder Netzwerkcomputer 16-22 kann eine sekundäre Sicherheitsfunktion nutzen (z. B. jede mit einer separaten Firewall-Funktionalität programmiert). Auf diese Weise wird unabhängig davon, ob eine Datennachricht von oder über den Gateway-Computer 14 (und über das lokale Netzwerk 30, z. B. eine Front-Door-Nachricht) empfangen wird oder ob eine Datennachricht über eine direkte oder indirekte Kommunikation mit einem anderen bordeigenen Fahrzeugcomputer empfangen wird (z. B. von oder über einen Computer außerhalb des lokalen Netzwerks 32 und nicht über das lokale Netzwerk 30, z. B. eine Back-Door-Nachricht), Datensicherheit des/der entsprechenden Netzwerkcomputer(s) 16, 18, 20, 22 verbessert. Wie weiter unten erläutert, kann der Gateway-Computer 14, wenn sich ein Zustand des Fahrzeugs 12 ändert, die anderen Netzwerkcomputer 16-22 in einem von einer Vielzahl von vorbestimmten Modi anweisen, und jeder der Netzwerkcomputer 16-22 kann diesen aktuellen Modus speichern. Wenn sich der Zustand des Fahrzeugs 12 ändert, kann der Gateway-Computer 14 jeden der Netzwerkcomputer 16-22 mit dem aktuellen Modus aktualisieren (z. B. anders als der vorherige Modus). Wenn eine Datennachricht von den Netzwerkcomputern 16-22 empfangen wird (z. B. entweder eine Front-Door-Nachricht oder eine Back-Door-Nachricht), können die Netzwerkcomputer 16-22 bestimmen, ob sie die Inhalte der Datennachricht in Abhängigkeit von einer Art der Datennachricht und dem aktuellen Modus annehmen (z. B. lesen und/oder ausführen) möchten. Dieser Prozess wird nach einer Beschreibung der in 1 dargestellten Elemente näher beschrieben.
  • Das veranschaulichte Fahrzeug 12 in 1 ist ein Personenkraftwagen; dies ist jedoch nur ein Beispiel. Das Fahrzeug 12 kann stattdessen ein Pickup-Truck, ein Geländewagen (Sport Utility Vehicle - SUV), ein Wohnmobil, ein Bus, ein Wasserfahrzeug, ein Luftfahrzeug oder ein beliebiges anderes geeignetes Fahrzeug sein, das ein Kommunikationssystem 10 umfasst.
  • Das Kommunikationssystem 10 kann das lokale Netzwerk 30, eine oder mehrere Rechenvorrichtungen (wie etwa einen Computer 32) und einen Diagnoseanschluss 40 umfassen. Jedes wird der Reihe nach erörtert.
  • Wie vorstehend beschrieben, kann das lokale Netzwerk 30 den Gateway-Computer 14, die Vielzahl von Netzwerkcomputern 16-22 und eine Netzwerkverbindung 42 umfassen. Gemäß zumindest einigen Beispielen kann die Hardware des Gateway-Computers 14 und der Netzwerkcomputer 16-22 ähnlich oder gleich sein. Somit wird die Hardware von nur einem (dem Gateway-Computer 14) nachstehend ausführlich beschrieben. Die Software, die Firmware oder der andere Anweisungscode oder die Programmierung jeder Vorrichtung (hier einfach als „Anweisungen“ bezeichnet) kann jedoch variieren; gleichermaßen können die verschiedenen Sensoren und andere Elektronik, an die jeder Computer kommunikativ gekoppelt sein kann, ebenfalls variieren. Nicht einschränkende Beispiele für Anweisungen, die durch die verschiedenen vernetzten Computer ausgeführt werden können, folgen ebenfalls.
  • Der Gateway-Computer 14 ist ebenfalls ein vernetzter Computer (Teil des lokalen Netzwerks 30) und dient dem lokalen Netzwerk 30 als Gatekeeping-Funktion. Zum Beispiel kann der Gateway-Computer 14 zwischen den Netzwerkcomputern 16-22 und anderen Rechenvorrichtungen an Bord des Fahrzeugs 12 positioniert sein. In einigen Beispielen kann der Gateway-Computer 14 kommunikativ an eine Fahrzeugtelematikvorrichtung gekoppelt sein oder sogar eine solche sein (die z. B. zur drahtlosen Kommunikation mit großer Reichweite und/oder kurzer Reichweite mit Vorrichtungen außerhalb des Fahrzeugs in der Lage ist). In anderen Beispielen kann der Gateway-Computer 14 kommunikativ an eine Mensch-Maschine-Schnittstellen (human-machine interface - HMI)-Vorrichtung gekoppelt sein, wie etwa eine Fahrzeughaupteinheit oder dergleichen (ebenfalls nicht gezeigt). Und in mindestens einem Beispiel ist der Gateway-Computer 14 kommunikativ an den Diagnoseanschluss 40 gekoppelt. Es gibt zudem andere Beispiele. Dementsprechend kann der Gateway-Computer 14 einzigartig positioniert sein, um den Nachrichtenfluss zwischen einer elektronischen Vorrichtung außerhalb des Netzwerks (vielleicht einer elektronischen Vorrichtung außerhalb des Fahrzeugs) und einem oder mehreren der Netzwerkcomputer 16-22 zu steuern.
  • Wie in 1-2 gezeigt, kann der Gateway-Computer 14 einen oder mehrere Prozessoren 50 (zu Veranschaulichungszwecken ist nur einer gezeigt), einen Speicher 52 und einen oder mehrere Kommunikationsanschlüsse 54, 56 umfassen. Der/die Prozessor(en) 50 kann/können dazu programmiert sein, digitale Anweisungen zu verarbeiten und/oder auszuführen, um mindestens einige der hierin beschriebenen Aufgaben auszuführen. Nicht einschränkende Beispiele für den bzw. die Prozessor(en) 50 beinhalten einen oder mehrere von einem Mikroprozessor, einem Mikrocontroller oder einer Steuerung, einer anwendungsspezifischen integrierten Schaltung (Application Specific Integrated Circuit - ASIC), einem feldprogrammierbaren Gate-Array (Field-Programmable Gate Array - FPGA), einer oder mehreren elektrischen Schaltungen, die diskrete digitale und/oder analoge elektronische Komponenten umfassen, die dazu angeordnet sind, vorbestimmte Aufgaben oder Anweisungen durchzuführen, usw. - um nur einige zu nennen. In mindestens einem Beispiel lesen der/die Prozessor(en) 50 aus dem Speicher 52 aus und führen einen oder mehrere Sätze von Anweisungen (z. B. Computerprogramme) aus, die als ein Computerprogrammprodukt verkörpert sein können, das auf einem nichttransitorischen computerlesbaren Speichermedium (z.B. Speicher 52) gespeichert ist. Gemäß der Veranschaulichung beinhalten einige Anweisungen 58, die durch den/die Prozessor(en) 50 ausführbar sind, dass sie als Firewall für das lokale Netzwerk 30 dienen und diagnostische Kommunikationen zwischen den Netzwerkcomputern 16-22 und dem Diagnoseanschluss 40 ermöglichen. Andere nicht einschränkende Beispiele für Anweisungen 58 werden nachstehend in den unter Verwendung von Ablaufdiagrammen veranschaulichten Prozessen beschrieben, wobei diese und andere Anweisungen in einer beliebigen geeigneten Sequenz ausgeführt werden können, sofern nicht anders angegeben. Diese Anweisungen und die nachstehend beschriebenen beispielhaften Prozesse sind lediglich Ausführungsformen und sollen nicht einschränkend sein.
  • Der Speicher 52 kann ein beliebiges nichttransitorisches computernutzbares oder -lesbares Medium beinhalten, das eine/n oder mehrere Speichervorrichtungen oder -artikel einschließen kann. Zu beispielhaften nichttransitorischen computernutzbaren Speichervorrichtungen gehören eine herkömmliche Festplatte, Festkörperspeicher, Direktzugriffsspeicher (Random Access Memory - RAM), Festwertspeicher (Read-Only Memory - ROM), löschbarer programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM) und beliebige andere flüchtige oder nichtflüchtige Medien. Nichtflüchtige Medien beinhalten zum Beispiel optische Platten oder Magnetplatten und anderen dauerhaften Speicher und flüchtige Medien können zum Beispiel auch dynamischen Direktzugriffsspeicher (Dynamic Random-Access Memory - DRAM) beinhalten. Diese Speichervorrichtungen sind nicht einschränkende Beispiele; z. B. gibt es andere Formen computerlesbarer Medien, die magnetische Medien, Compact-Disc-ROM (CD-ROMs), Digital Video Disc (DVDs), andere optische Medien, einen beliebigen Speicherchip oder eine beliebige Speicherkassette oder ein beliebiges anderes Medium, das ein Computer auslesen kann, beinhalten. Wie vorstehend erörtert, können auf dem Speicher 52 ein oder mehrere Sätze mit Anweisungen (z. B. wie etwa Anweisungen 58) gespeichert sein, die als Software, Firmware oder andere Programmieranweisungen verkörpert sein können, die durch den/die Prozessor(en) 50 ausführbar sind - einschließlich unter anderem der vorstehend dargelegten Anweisungsbeispiele. Im Betrieb kann der bzw. können die Prozessor(en) 50 Daten aus dem Speicher 52 auslesen und/oder Daten auf diesen schreiben.
  • Zwei Kommunikationsanschlüsse 54, 56 sind in 2 gezeigt; dies ist jedoch lediglich ein Beispiel. In anderen Beispielen können mehr oder weniger Anschlüsse verwendet werden. Gemäß dem veranschaulichten Beispiel kann der Anschluss 54 den/die Prozessor(en) 50 mit dem lokalen Netzwerk 30 verbinden und kann der Anschluss 56 den/die Prozessor(en) 50 mit dem Diagnoseanschluss 40 verbinden. Somit können gemäß einem Beispiel Daten, die über das lokale Netzwerk 30 gesendet werden, in Hardware aufgeteilt werden. Auch dies ist lediglich ein Beispiel und nicht in allen Beispielen erforderlich.
  • Wie vorstehend beschrieben, können die Anweisungen 58 auf dem Speicher 52 gespeichert sein und durch den/die Prozessor(en) 50 ausführbar sein. Die Anweisungen 58 können beliebige geeignete Befehle umfassen, die es dem Gateway-Computer 14 ermöglichen, Firewall-Anweisungen einzusetzen, um Datennachrichten zu filtern, die von außerhalb des lokalen Netzwerks 30 empfangen werden können, wobei z. B. eine beabsichtigte Empfängervorrichtung einer der vernetzten Computer 16-22 ist. Somit kann der Gateway-Computer 14 in einigen Fällen Nachrichten an die vernetzten Computer 16-22 weiterleiten, und in anderen Fällen kann der Gateway-Computer 14 bestimmen, derartige Nachrichten zu blockieren und/oder nicht weiterzuleiten. Somit kann der Gateway-Computer 14 dazu programmiert sein, potentiell unerwünschte Nachrichten herauszufiltern, was es nicht zulässt, dass derartige Datennachrichten die vernetzten Computer 16-22 über die Netzwerkverbindung 42 erreichen. Darüber hinaus kann der Gateway-Computer 14, wie nachstehend beschrieben, einen aktuellen Modus des Fahrzeugs 12 bestimmen und den aktuellen Modus den vernetzten Computern 16-22 bereitstellen. Wie in einem nachfolgenden Prozess 400 beschrieben, können die vernetzten Computer 16-22 den aktuellen Modus verwenden, um zu bestimmen, ob eine empfangene Nachricht angenommen werden soll.
  • Nun unter Bezugnahme auf die Vielzahl von Netzwerkcomputern 16-22 veranschaulichen 1 und 3 ein Beispiel. Wie vorstehend erörtert, kann gemäß zumindest einem Beispiel die Hardware eines beliebigen der Netzwerkcomputer 16-22 ähnlich oder gleich zu der Hardware des Gateway-Computers 14 sein. Somit wird die Hardware der vernetzten Computer (z. B. des Netzwerkcomputers 16), z. B. ein oder mehrere Prozessoren 60, ein Speicher 62 und ein oder mehrere Kommunikationsanschlüsse 64, 66, nicht erneut im Detail beschrieben. Dementsprechend versteht es sich, dass die Hardware des Prozessors/der Prozessoren 60 ähnlich oder gleich dem/den Prozessor(en) 50 sein kann, die Hardware des Speichers 62 ähnlich oder gleich dem Speicher 52 sein kann und der Anschluss/die Anschlüsse 64, 66 ähnlich oder gleich dem Anschluss/den Anschlüssen 54, 56 sein kann. Im Fall des Anschlusses/der Anschlüsse kann der Anschluss 64 mit dem lokalen Netzwerk 30 verbunden sein und kann der Anschluss 66 (falls vorhanden) mit Sensoren, einem Computer außerhalb des lokalen Netzwerks (z. B. dem Computer 32) oder dergleichen verbunden sein.
  • Anweisungen 68 können in dem Speicher 62 gespeichert sein und können durch den Prozessor/die Prozessoren 60 ausführbar sein. Die Anweisungen 68 können beliebige geeignete Befehle umfassen, die es dem jeweiligen Netzwerkcomputer (z. B. dem Netzwerkcomputer 16) ermöglichen, sowohl eine Fahrzeugfunktion auszuführen als auch Firewall-Anweisungen einzusetzen, um Datennachrichten, die von dem jeweiligen Netzwerkcomputer empfangen werden, weiter zu filtern.
  • Gemäß einem nicht einschränkenden Beispiel könnte der Netzwerkcomputer 16 ein Karosseriesteuermodul (body control module - BCM) sein, der Netzwerkcomputer 18 könnte ein Motorsteuermodul (engine control module - ECM) sein, der Netzwerkcomputer 20 könnte ein elektronisches Bremssteuermodul (electronic brake control module - EBCM) sein und der Netzwerkcomputer 22 könnte ein Getriebesteuermodul (transmission control module - TCM) sein. Es versteht sich, dass, da jeder der jeweiligen Netzwerkcomputer eine andere Fahrzeugfunktion erfüllen kann, jeder Netzwerkcomputer einige für ihn eindeutige Anweisungen aufweisen kann. Gemäß mindestens einem Beispiel jedoch teilt jeder der Netzwerkcomputer 16-22 einige gemeinsame Anweisungen, d. h. die durch den Prozess 400 (nachstehend erörtert) beispielhaft dargelegten Anweisungen veranschaulichen, dass jeder der Computer 16-22 Anweisungen umfassen kann, um zu bestimmen, ob eine Datennachricht auf Grundlage eines Modus des Fahrzeugs 12 angenommen werden soll (wobei der Modus anhand einer Sicherheitsnachricht, die von dem Gateway-Computer 14 empfangen wird, und/oder einer Art der Datennachricht bestimmt werden kann).
  • Es versteht sich, dass die Anzahl von fünf Netzwerkcomputern (Computer 16, 18, 20, 22 und Gateway-Computer 14) lediglich ein Beispiel ist. In anderen Beispielen können mehr oder weniger Computer verwendet werden. Ferner sind die genannten Fahrzeugfunktionen (z. B. Karosseriesteuerung, Motorsteuerung, Bremssteuerung und/oder Getriebesteuerung) lediglich Beispiele; und es gibt auch andere Beispiele für computerimplementierte Funktionen.
  • Wie vorstehend beschrieben, kann das lokale Netzwerk 30 eine Netzwerkverbindung 42 umfassen, um die Computer 14-22 miteinander zu verbinden. Die Netzwerkverbindung 42 kann eine drahtgebundene oder drahtlose Verbindung sein, die einem lokalen Netzwerk zugeordnet ist. Zum Beispiel beinhalten drahtgebundene Umsetzungen eines oder mehrere von einem Controller-Area-Network(CAN)-Bus, Ethernet, Local Interconnect Network (LIN) oder dergleichen. Drahtlose Umsetzungen beinhalten ein Netzwerk für drahtlose Nahbereichskommunikation (short-range wireless communication - SRWC). Zum Beispiel können SRWC-Netzwerke ein Wi-Fi-Protokoll, ein Wi-Fi Direct-Protokoll, ein Bluetooth- oder Bluetooth Low Energy (BLE)-Protokoll oder dergleichen einsetzen. Die Beispiele für drahtgebundene und drahtlose Netzwerkverbindungen sollen veranschaulichend und nicht einschränkend sein.
  • Es versteht sich, dass das Fahrzeug 12 in vielen Fällen andere bordeigene Computer aufweisen kann, die nicht Teil des lokalen Netzwerks 30 sind. Zum Beispiel kann das Fahrzeug 12 mehrere lokale Netzwerke (außer dem lokalen Netzwerk 30) aufweisen und/oder einige Computer können nicht Teil eines lokalen Netzwerks an Bord des Fahrzeugs 12 sein. Der Computer 32 außerhalb des lokalen Netzwerks ist als ein Beispiel veranschaulicht. Zum Beispiel kann der Computer 32 kommunikativ mit dem Computer 16 gekoppelt sein, aber nicht Teil des lokalen Netzwerks 30 sein. Zum Beispiel ist der Computer 32 in 1 über eine Verbindung 69 kommunikativ mit dem Netzwerkcomputer 16 gekoppelt. Somit ist, wie hierin verwendet, ein Netzwerkcomputer (z. B. wie etwa die Computer 16-22) als ein Computer definiert, der Teil eines lokalen Netzwerks (auch bekannt als ein Local Area Network) ist, und wie hierin verwendet, ist ein Computer außerhalb des lokalen Netzwerks (z. B. wie etwa der Computer 32) als ein Computer definiert, der nicht Teil des lokalen Netzwerks ist. Wenngleich dies nicht erforderlich ist, kann es sich bei einem Netzwerkcomputer um einen handeln, der mit einem Bus oder einem drahtlosen Netzwerk verbunden ist, das auch eine Verbindung mit einem Gateway-Computer umfasst, wohingegen ein Computer außerhalb des lokalen Netzwerks nicht Teil desselben lokalen Netzwerks 30 ist. Jedoch kann der Computer 32 in einigen Beispielen (wie durch die gestrichelten Linien angegeben) Teil eines anderen lokalen Netzwerks sein (d. h. anders als das lokale Netzwerk 30). Ein nicht einschränkendes Beispiel ist, dass der Computer 32 einen Teil eines LIN bildet, das sich von dem lokalen Netzwerk 30 unterscheidet. Unabhängig davon versteht es sich, dass der Kommunikationspfad zwischen solchen Computern wie dem Computer 32 und einem der Netzwerkcomputer (z. B. dem Netzwerkcomputer 16) typischerweise nicht durch den Gateway-Computer 14 verläuft. Dementsprechend kann es sein, dass der Gateway-Computer 14 nicht in der Lage ist, Durchgangsverkehr zu überwachen. Der nachstehend beschriebene Prozess bezieht sich auf Front-Door-Nachrichten und Back-Door-Nachrichten. Wie hierin verwendet, ist eine Front-Door-Nachricht als eine Datennachricht definiert, die von dem Gateway-Computer 14 kommt oder diesen durchläuft und den Netzwerkcomputern 16-22 des lokalen Netzwerks 30 über die Netzwerkverbindung 42 bereitgestellt wird. Und wie hierin verwendet, ist eine Back-Door-Nachricht als eine Datennachricht definiert, die auf eine beliebige andere Weise empfangen wird (z. B. eine, die durch eine Verbindung, wie etwa die Verbindung 69, empfangen wird).
  • Im Allgemeinen kann der Computer 32 eine ähnliche Hardware aufweisen wie die vorstehend beschriebenen Computer 16-22. Er kann jedoch erneut eine andere Funktionalität aufweisen.
  • Der Diagnoseanschluss 40 kann ein beliebiger geeigneter Datenanschluss sein, der kommunikativ an den Gateway-Computer 14 gekoppelt ist. Ein nicht einschränkendes Beispiel für den Diagnoseanschluss 40 ist ein bordeigener Diagnose (on-board diagnostics - OBD)-Anschluss) (z. B. OBD oder OBD-II). Da OBD-Anschlüsse im Allgemeinen auf dem Fachgebiet bekannt sind, werden diese nicht ausführlicher beschrieben, außer es ist anzumerken, dass derartige Anschlüsse mit Vorrichtungen verbunden werden können, die eine drahtgebundene und/oder drahtlose Kommunikationsfähigkeit aufweisen. Ein derartiges Beispiel für eine Vorrichtung, die kommunikativ an den Diagnoseanschluss 40 gekoppelt werden kann, ist ein Diagnoserechenwerkzeug 70 (siehe 1).
  • Wie hierin verwendet, ist das Diagnoserechenwerkzeug 70 als eine elektronische Rechenvorrichtung definiert, die in der Lage ist, Datennachrichten durch den Diagnoseanschluss 40 zu senden. In einigen Beispielen ist das Diagnosewerkzeug 70 ein autorisiertes Werkzeug eines Erstausrüsters (original equipment manufacturer - OEM) zum Lesen von Daten von Bordcomputern; derartige Vorrichtungen senden typischerweise über den Diagnoseanschluss 40 eine Anforderung (eine Datennachricht) an einen Bordcomputer (z. B. einen von vernetzten Computern 16-22) und empfangen dann eine Antwort. Falls beispielsweise ein derartiges Diagnosewerkzeug 70 Daten von dem Computer 16 anfordert, würde die Anforderung den Gateway-Computer 14 und den Netzwerkcomputer 16 über die Netzwerkverbindung 42 durchlaufen. Gleichermaßen würde jede Antwort von dem Netzwerkcomputer 16 über die Netzwerkverbindung 42, durch die Gateway-Vorrichtung 14 und über den Diagnoseanschluss 40 zu dem Diagnosewerkzeug 70 geleitet. Andere Beispiele des Diagnosewerkzeugs 70 beinhalten ein Drittwerkzeug (z. B. von einem Mechaniker oder Techniker verwendet), einen Dongle (der von einem Drittanbieter verwendet werden kann, um Fahrzeuginformationen zu überwachen) oder dergleichen.
  • In einigen Fällen kann die Sicherheit des Diagnosewerkzeugs 70 beeinträchtigt sein. Alternativ kann das Werkzeug 70 in einigen Fällen vorgeben, eine autorisierte Vorrichtung zu sein, stattdessen aber für böswillige Zwecke verwendet werden (z. B. um die Leistung oder Ausführung eines oder mehrerer Fahrzeugcomputer (z. B. wie etwa eines der Netzwerkcomputer 16-22) zu hacken oder zu verändern. Der nachstehend beschriebene Prozess 400 erläutert, dass, da davon ausgegangen werden kann, dass die Datennachricht, die von dem Diagnosewerkzeug 70 an die Netzwerkcomputer 16-22 gesendet wird, authentisch ist, der Gateway-Computer 14 dazu programmiert ist, diese Pseudodiagnosemeldungen einfach an das lokale Netzwerk 30 weiterzuleiten. Dementsprechend erläutert der Prozess 400, wie an den Netzwerkcomputern 16-22 vorhandene Firewalls die Wahrscheinlichkeit minimieren können, dass jeglicher böswilliger Code, der durch derartige Pseudodiagnosemeldungen übertragen wird, von den Computern 16-22 gelesen oder ausgeführt wird.
  • 4 ist ein Ablaufdiagramm(e), das/die einen Prozess 400 zum Verwenden des Kommunikationssystems 10 veranschaulicht. Der Prozess 400 umfasst Softwareanweisungen, die durch den Gateway-Computer 14 und die Vielzahl von Netzwerkcomputern 16-22 ausführbar sind (z. B. durch den/die entsprechenden Prozessor(en) der Computer 14-22 ausführbar und in entsprechenden Speichern der Computer 14-22 gespeichert). Nicht einschränkende Beispiele für Softwareanweisungen sind als Anweisungsblöcke in dem Diagramm veranschaulicht. Es versteht sich, dass, obwohl dies nicht unbedingt explizit im Prozess 400 erläutert wird, auch andere Softwareanweisungen ausgeführt werden können.
  • Die Blöcke 405-420 können durch den Gateway-Computer 14 ausgeführt werden. Der Prozess 400 kann bei Block 405 beginnen, wobei der Gateway-Computer 14 mindestens eine Angabe eines Fahrzeugzustands empfängt. Nicht einschränkende Beispiele für den Fahrzeugzustand können beinhalten, ob das Fahrzeug steht oder sich bewegt, ob die Fahrzeugstromversorgung AN oder AUS ist, und können vorbestimmte Anwendungsfälle (das Fahrzeug bewegt sich auf einem Fließband oder ist bei einem Händler) beinhalten. Zum Beispiel kann der Gateway-Computer 14 eine Angabe empfangen, ob sich das Fahrzeug 12 bewegt, indem er Daten von Radsensoren (nicht gezeigt) empfängt, Daten von einem Getriebesteuermodul empfängt oder dergleichen. Der Gateway-Computer 14 kann eine Angabe darüber, ob die Fahrzeugstromversorgung AN oder AUS ist, von einer Zündsteuervorrichtung (nicht gezeigt) [für Fahrzeuge mit Verbrennungsmotor], von einer elektronischen Antriebseinheit (nicht gezeigt) [für Elektrofahrzeuge] oder dergleichen empfangen.
  • Danach kann Block 410 folgen. In Block 410 kann der Gateway-Computer 14 auf Grundlage der Angabe(n) einen aktuellen Modus des Fahrzeugs 12 bestimmen. Der aktuelle Modus kann aus einer Vielzahl von vorbestimmten Modi ausgewählt werden, die einem Zustand des Fahrzeugs 12 entsprechen. Tabelle I veranschaulicht beispielhafte Modi und dass den Modi eine eindeutige Kennung zugewiesen werden kann (z. B. 1, 2, 3, 4). Zum Beispiel kann sich ein erster Modus auf ein Szenario beziehen, in dem das Fahrzeug steht (z. B. in PARKEN), die Stromversorgung angeschaltet ist und sich die Türen in einem entriegelten Zustand befinden. Ein zweiter Modus kann sich auf ein Szenario beziehen, in dem sich das Fahrzeug bewegt (z. B. in FAHREN oder RÜCKWÄRTS) und die Stromversorgung AN ist. Ein zweiter Modus kann sich auf ein Szenario beziehen, in dem das Fahrzeug steht (z. B. in PARKEN) und die Stromversorgung AUS ist. Und ein vierter Modus kann sich auf ein Szenario beziehen, das ein vorbestimmter Anwendungsfall ist. Nicht einschränkende Beispiele für einen vorbestimmten Anwendungsfall umfassen einen Toleranzzeitraum oder einen Zustand in Bewegung. Zum Beispiel kann ein Toleranzzeitraum ein Zustand sein, der es bestimmten technischen Testnachrichten, Kalibrierungsnachrichten usw. ermöglicht, durch den Gateway-Computer 14 zu den jeweiligen Netzwerkcomputern 16-22 zu gelangen (und die die jeweiligen Netzwerkcomputer 16-22 akzeptieren können und, falls erforderlich, eine Antwort senden). Der Toleranzzeitraum kann als eine vorübergehende Außerkraftsetzung dienen, z. B. Ermöglichen, dass Datennachrichten von dem Diagnoseanschluss 40 durch den Gateway-Computer 14 und zu den Netzwerkcomputern 16-22 in Szenarien geleitet werden, in denen dies andernfalls ausgeschlossen wäre (z. B. in Fällen, in denen das Fahrzeug in Bewegung ist). Beispiele für Anwendungsfälle, die den Toleranzzeitraum verwenden können, beinhalten einen Anwendungsfall für einen Kundenflugschreiber, einen Anwendungsfall für eine 360-Grad-Kamerakalibrierung, einen Anwendungsfall für eine adaptive Geschwindigkeitsregelung, einen Anwendungsfall für ein Spurhaltesystem, einen Anwendungsfall für eine Radausrichtung und einen Scheinwerferanwendungsfall, um nur einige Beispiele zu nennen. Ein Zustand in Bewegung kann umfassen, dass sich das Fahrzeug in Bewegung befindet, z. B. um die Bedienbarkeit von Fließbandwerkzeugen während der Herstellung zu ermöglichen oder um die Bedienbarkeit von Technikerwerkzeugen bei einem Fahrzeughändler zu ermöglichen, wobei die Bedienbarkeit das Kommunizieren mit mindestens einem der Vielzahl von Netzwerkcomputer beinhaltet. Es versteht sich, dass der Gateway-Computer 14 während des gesamten Prozesses 400 kontinuierlich oder wiederholt Angaben des Fahrzeugzustands überwachen und auf Grundlage davon einen aktualisierten aktuellen Modus bestimmen kann. Tabelle I
    Aktueller Modus Fahrzeugzustand Nachrichtenart Anweisungen, die auf dem Netzwerkcomputer gespeichert sind
    1 Fahrzeug steht, Stromversorgung AN Diagnose (beliebig) Annehmen
    1 Fahrzeug steht, Stromversorgung AN Betrieb (beliebig) Annehmen
    1 Fahrzeug steht, Stromversorgung AN OTVP (beliebig) Annehmen
    1 Fahrzeug steht, Stromversorgung AN Netzwerkverwaltung (beliebig) Annehmen
    2 Fahrzeug bewegt sich, Stromversorgung AN Diagnose nur Auslesen Annehmen
    2 Fahrzeug bewegt sich, Stromversorgung AN Diagnose alles außer nur Auslesen Ignorieren
    2 Fahrzeug bewegt sich, Stromversorgung AN Betrieb (beliebig) Annehmen
    2 Fahrzeug bewegt sich, Stromversorgung AN OTVP (beliebig) Annehmen
    2 Fahrzeug bewegt sich, Stromversorgung AN Netzwerkverwaltung (beliebig) Annehmen
    3 Fahrzeug steht, Stromversorgung AUS Diagnose nur Auslesen ODER neuer Programmschlüssel Annehmen
    3 Fahrzeug steht, Stromversorgung AUS Diagnose alles außer nur Auslesen Ablehnen
    3 Fahrzeug steht, Stromversorgung AUS Betrieb nur Auslesen ODER neuer Programmschlüssel Annehmen
    3 Fahrzeug steht, Stromversorgung AUS Betrieb alles außer nur Auslesen Ablehnen
    3 Fahrzeug steht, Stromversorgung AUS OTVP nur Auslesen ODER neuer Programmschlüssel Annehmen
    3 Fahrzeug steht, Stromversorgung AUS OTVP alles außer nur Auslesen Ablehnen
    3 Fahrzeug steht, Stromversorgung AUS Netzwerkverwaltung nur Auslesen ODER neuer Programmschlüssel Annehmen
    3 Fahrzeug steht, Stromversorgung AUS Netzwerkverwaltung alles außer nur Auslesen Ablehnen
    4 Vorbestimmter Anwendungsfall Diagnose vorbestimmter Anwendungsfall Annehmen
    4 Vorbestimmter Anwendungsfall Diagnose alles außer vorbestimmter Anwendungsfall Ablehnen
    4 Vorbestimmter Anwendungsfall Betrieb (beliebig) Ablehnen
    4 Vorbestimmter Anwendungsfall OTVP (beliebig) Ablehnen
    4 Vorbestimmter Anwendungsfall Netzwerkverwaltung (beliebig) Ablehnen
  • In Block 415, der auf Block 410 folgt, kann der Gateway-Computer 14 eine Sicherheitsnachricht über die Netzwerkverbindung 42 an jeden der Netzwerkcomputer 16-22 (des lokalen Netzwerks 30) übertragen. Die Sicherheitsnachricht kann den aktuellen Modus umfassen. Gemäß einem Beispiel weist ein Header oder Footer der Sicherheitsnachricht eine Kennung auf, die, wenn sie von den Netzwerkcomputern 16-22 empfangen wird, jedem Computer ermöglicht, die Sicherheitsnachricht anzunehmen. Zum Beispiel versteht es sich, dass eine Datennachricht einen Header, Nutzdaten und manchmal einen Footer umfassen kann, wobei die Nutzdaten an den Header angehängt werden und, falls vorhanden, der Footer an die Nutzdaten angehängt wird. Typischerweise umfasst der Header oder Footer Kennungen, die es dem Empfängercomputer ermöglichen, zu bestimmen, ob die Datennachricht angenommen werden soll.
  • Wie weiter unten erläutert, tritt Block 420 (ausgeführt durch den Gateway-Computer 14) nach Block 430 (ausgeführt an jedem der Netzwerkcomputer 16-22) auf. In Block 420 kann der Gateway-Computer 14 eine Datennachricht an den Rest des lokalen Netzwerks 30 senden oder weiterleiten (z. B. auf die Netzwerkverbindung 42). In einigen Beispielen kann die Datennachricht über den Diagnoseanschluss 40 (und/oder von dem Diagnosewerkzeug 70) empfangen werden. Zum Beispiel kann ein Header der Datennachricht dem Gateway-Computer 14 angeben, dass die Datennachricht eine Diagnose betrifft. In anderen Beispielen kann die Datennachricht durch den Gateway-Computer 14 oder einen anderen Bordcomputer erzeugt werden, der kommunikativ mit dem Gateway-Computer 14 gekoppelt ist. Wie vorstehend erörtert, kann der Gateway-Computer 14 möglicherweise nicht in der Lage sein, zu bestimmen, ob die Datennachricht in allen Fällen echt ist. Somit kann die Datennachricht in zumindest einigen Beispielen eine pseudodiagnostische Nachricht sein, z. B. aus einer böswilligen Quelle.
  • Block 425 kann durch einen anderen Computer ausgeführt werden, der Teil des Fahrzeugs 12 sein kann oder nicht. Wie Block 420 tritt dies nach Block 430 auf (der von jedem der Netzwerkcomputer 16-22 ausgeführt wird). Gemäß mindestens einem Beispiel wird Block 425 ausgeführt, indem der Computer 32 außerhalb des lokalen Netzwerks eine Datennachricht über die Verbindung 69 an den Netzwerkcomputer 16 sendet. Es gibt zudem andere Beispiele.
  • Unter Bezugnahme auf die Blöcke 430-455 werden diese Blöcke von jedem der Netzwerkcomputer 16-22 ausgeführt. Der Einfachheit halber werden die Blöcke 430-455 jedoch nur in Bezug auf einen (z. B. den Netzwerkcomputer 16) beschrieben, obwohl die Blöcke 430-455 von jedem der Netzwerkcomputer 16-22 ausgeführt werden.
  • In Block 430 empfängt der Netzwerkcomputer 16 die Sicherheitsnachricht, die von dem Gateway-Computer 14 gesendet wurde (in Block 415 gesendet). Der Netzwerkcomputer 16 bestimmt (z. B. extrahiert den Modus des Gateway-Computers 14 aus dem empfangenen Signal) den aktuellen Modus aus der Datennachricht (z. B. aus dem Header oder Footer) und speichert ihn im Speicher 62.
  • In Block 435, der folgt, empfängt der Netzwerkcomputer 16 die Datennachricht entweder von dem Gateway-Computer 14 (gesendet gemäß Block 420) oder von dem Computer 32 außerhalb des lokalen Netzwerks (gesendet gemäß Block 425). Im hier verwendeten Sinne ist „Empfangen einer Datennachricht“ so definiert, dass die Datennachricht an einen Netzwerkcomputer übermittelt wird und der Netzwerkcomputer mindestens eine Kennung aus der Datennachricht bestimmt, ohne Nutzdaten der Datennachricht zu lesen, ohne eine der Nutzdatennachrichten in dem jeweiligen Speicher des Netzwerkcomputers zu speichern Nachricht, und ohne Daten, die in den Nutzdaten der Datennachricht gespeichert sind, auszuführen. Zum Beispiel kann das Empfangen einer Datennachricht das Lesen eines Headers oder Footers der Datennachricht und/oder das Bestimmen einer Kennung in dem Header und/oder Footer beinhalten.
  • Der Header oder Footer kann eine Kennung enthalten, die eine Datennachrichtsart angibt, z. B. wie etwa eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art fahrzeuginternes Telematikprotokoll (on-vehicle telematics protocol - OVTP) (beliebig), eine Art Netzwerkverwaltung (beliebig), eine Art Diagnose nur Auslesen, eine Art Diagnose alles außer nur Auslesen, eine Art neuer Programmschlüssel, eine Art Betrieb nur Auslesen, eine Art Betrieb alles außer nur Auslesen, eine Art OTVP nur Auslesen, eine Art OTVP alles außer nur Auslesen, eine Art Netzwerkverwaltung nur Auslesen, eine Art Netzwerkverwaltung alles außer nur Auslesen, eine Art Diagnose vorbestimmter Anwendungsfall oder eine Art Diagnose alles außer vorbestimmter Anwendungsfall.
  • Eine Art Diagnose (beliebig) bezieht sich auf eine beliebige Diagnoseklassifizierung (z. B. einschließlich Arten, bei denen es sich um Unified Diagnostic Services (UDS)-Nachrichten handelt), wobei UDS-Nachrichten im Fach bekannt sind. Eine Art Betrieb (beliebig) bezieht sich auf Nachrichten, die Fahrzeugsteuersignale betreffen, die Beschleunigung, Entschleunigung oder Bremsung des Fahrzeugs und/oder Fahrzeuglenkung steuern (z. B. Fahrzeuggeschwindigkeit, Zündzustand, Gangwählerstatus und dergleichen). Eine Art OVTP (beliebig) bezieht sich auf beliebige fahrzeuginterne Kommunikationssignale (z. B. diejenigen, die zu dem lokalen Netzwerk 30 und anderen fahrzeuginternen Netzwerken gehören). Eine Art Netzwerkverwaltung (beliebig) bezieht sich auf beliebige Steuersignale für elektronische Steuereinheiten (electronic control units - ECU) des Fahrzeugs, wenn der Zustand des Fahrzeugs 12 AUS (nicht mit Strom versorgt) ist, und beinhaltet ECU-Steuersignale in Bezug auf Fahrzeugaufweckprotokolle, um Fahrzeuginformationen zu sammeln oder ein kundenbetriebenes angetriebenes Merkmal zu aktivieren, das Informationen von einer anderen ECU und/oder Fahrzeug-Schlaf-Protokolle erfordert, die das Abschalten einiger Fahrzeugcomputer, die Informationen von einem anderen Fahrzeugcomputer bei Einleitung eines AUS-Zustands des Fahrzeugs benötigen, verzögern oder verhindern.
  • Arten nur Auslesen (z. B. Art Diagnose nur Auslesen, Art Betrieb nur Auslesen, Art OTVP nur Auslesen oder Art Netzverwaltung nur Auslesen) beziehen sich auf Datennachrichtenarten, die Nur-Auslese-Informationen von einem bestimmten Fahrzeugcomputer anfordern (z. B. Anfordern von Informationen von einem der Netzwerkcomputer 16-22) (z. B. fordert diese Datennachrichtenart nur an, dass der Netzwerkcomputer gelesene Daten an das anfordernde Diagnosewerkzeug 70 überträgt; z. B. befiehlt er dem jeweiligen Netzwerkcomputer nicht, etwas anderes zu tun). Arten alles außer nur Auslesen (z. B. Art Diagnose alles außer nur Auslesen, eine Art Betrieb alles außer nur Auslesen, eine Art OTVP alles außer nur Auslesen oder eine Art Netzwerkverwaltung alles außer nur Auslesen) bezieht sich auf Datennachrichtenarten, die alles andere als das einfache Auslesen von Daten beinhalten (z. B. könnte dies Befehle, Ablaufsequenzen, Kalibrierungen, Neukonfigurationen, Neuprogrammierung usw. beinhalten). Ferner können Arten alles außer Auslesen Auslesedaten plus etwas anderes als Auslesedaten beinhalten.
  • Eine Art neuer Programmschlüssel bezieht sich auf das Programmieren einer neuen Fahrzeugzündung oder eines anderen Startschlüssels. Und wie der Name schon sagt, bezieht sich eine Art Diagnose vorbestimmter Anwendungsfall auf eine Nachricht, die Daten bezüglich eines vorbestimmten (z. B. vorprogrammierten) Anwendungsfalls anfordert oder einen vorprogrammierten Anwendungsfall für einen oder mehrere Netzwerkcomputer ausführt (dies kann Auslese-Diagnosenachrichten beinhalten). Und eine Art Diagnose alles außer vorbestimmter Anwendungsfall bezieht sich auf beliebige Diagnosemeldungen, die nicht zu dem vorbestimmten Anwendungsfall gehören.
  • In dem darauffolgenden Block 440 bestimmt der jeweilige Netzwerkcomputer (16), der die Datennachricht in Block 435 empfangen hat, einen Typ der Datennachricht. Erneut kann der Typ anhand einer Kennung in einem Header oder Footer der Datennachricht bestimmt werden. Tabelle I und die vorherige Beschreibung von Arten von Datennachrichten führen Beispiele auf. Es gibt noch weitere Beispiele für Nachrichtentypen.
  • In Block 445 bestimmt der Netzwerkcomputer 16 auf Grundlage des aktuellen Modus und des Datennachrichtentyps, ob die Datennachricht angenommen werden soll. Tabelle I veranschaulicht nicht einschränkende Beispiele, ob die Datennachricht auf Grundlage des aktuellen Modus und Typs angenommen wird oder nicht. Im hier verwendeten Sinne ist „Annehmen einer Datennachricht“ so definiert, dass der Netzwerkcomputer (der die Datennachricht empfangen hat) eine Nutzdaten der Datennachricht liest, mindestens einen Teil der Nutzdatennachricht in dem Netzwerkcomputerspeicher 62 speichert und/oder beliebige Daten, die in den Nutzdaten der Datennachricht gespeichert sind, ausführt. Wenn eine Datennachricht angenommen wird, kann der Prozess 400 zu Block 450 übergehen. Und wenn die Datennachricht nicht angenommen wird (z. B. sie ignoriert oder abgelehnt werden soll), kann der Prozess 400 zu Block 405 (oder einem beliebigen anderen geeigneten Anweisungsblock) übergehen. In diesem letzteren Fall kann der Prozess 400 zurückspringen und mindestens einen Teil des Prozesses wiederholen.
  • In Block 450 nimmt der Netzwerkcomputer 16 die Nachricht an.
  • Und in Block 455, der folgt, kann der Netzwerkcomputer 16 eine Fahrzeugfunktion als Reaktion auf die Datennachricht durchführen oder anderweitig ausführen. In einigen Beispielen kann eine einzelne Datennachricht ausreichend sein, um die Fahrzeugfunktion durchzuführen. In anderen Beispielen müssen die Nutzdaten mehrerer Datennachrichten möglicherweise zuerst empfangen werden, bevor der Netzwerkcomputer 16 einen Befehl rekonstruiert und eine Fahrzeugfunktion ausführen kann. Ferner wird in einigen Beispielen Block 455 weggelassen (z. B. ist 455 optional).
  • Im Anschluss an Block 455 kann der Prozess enden. Alternativ kann der Prozess 400 zurückspringen und mindestens einen Teil des Prozesses wiederholen (z. B. erneut bei Block 405 oder einem anderen Block beginnen). Typischerweise wird der Prozess 400 iterativ während eines Zündzyklus (z. B. eines Stromversorgung-AN-Zustands) durchgeführt.
  • Andere Beispiele des Prozesses 400 existieren ebenfalls. Zum Beispiel kann der Gateway-Computer ein Firewall-Programm speichern und ausführen, das eingehende Datennachrichten scannt und nur Datennachrichten an die Netzwerkcomputer 16-22 weitergibt, die gescannt werden und ein vorbestimmtes Firewall-Sicherheitsprotokoll bestehen.
  • Es versteht sich, dass der Prozess 400 mehrere Datensicherheitsschichten bereitstellt. Zum Beispiel kann der Gateway-Computer 14 in Bezug auf Haustürnachrichten (die durch den Gateway-Computer 14 geleitet werden) eine Firewall nutzen und verhindern, dass einige unerwünschte Datennachrichten jemals die Netzwerkcomputer 16-22 erreichen. Ferner kann unabhängig davon, ob eine Front-Door-Nachricht oder eine Back-Door-Nachricht (z. B. solche, die über den Computer 32 außerhalb des lokalen Netzwerks bereitgestellt werden können) an jeden der Netzwerkcomputer 16-22 geliefert wird, jeder der Computer 16-22 eine zweite Verteidigungslinie gegen potentiell unerwünschte Datennachrichten anwenden. Zum Beispiel kann jeder Netzwerkcomputer 16-22 die Datennachricht empfangen, eine Art der Datennachricht bestimmen, den aktuellen Modus bestimmen (der durch den Gateway-Computer 14 aktualisiert wird) und bestimmen, ob die Datennachricht auf Grundlage des aktuellen Modus und der Art angenommen werden soll.
  • Somit wurde ein Fahrzeugkommunikationssystem beschrieben, das einen Gateway-Computer, eine Vielzahl von Netzwerkcomputern und eine Netzwerkverbindung beinhaltet, die den Gateway-Computer kommunikativ an die Vielzahl von Netzwerkcomputern koppelt. Der Gateway-Computer kann einen aktuellen Modus zum Zwecke des Durchleitens von Datennachrichten an die Netzwerkcomputer bestimmen, und die Netzwerkcomputer können diesen aktuellen Modus speichern. Der Gateway-Computer kann einige Nachrichten filtern (z. B. sie nicht durchlassen). In einigen Beispielen kann der Gateway-Computer Datennachrichten an die Netzwerkcomputer weiterleiten, und die Netzwerkcomputer können auf Grundlage eine Art der Nachricht und des aktuellen Modus bestimmen, ob die Datennachricht angenommen werden soll.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten von AppLink/Smart Device Link Middleware, Microsoft Windows®, Unix (z. B. das Betriebssystem Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, Linux, Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, BlackBerry OS, vertrieben durch Blackberry, Ltd. in Waterloo, Kanada, und Android, entwickelt von Google, Inc.
  • Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend aufgeführten, ausführbar sein können. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -techniken erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl, Python usw. Einige dieser Anwendungen können auf einer Rechenmaschine, wie etwa der sog. Java Virtual Machine, der sog. Dalvik Virtual Machine oder dergleichen, kompiliert und ausgeführt werden. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, darunter einen oder mehrere der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden.
  • Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nichttransitorisches (z. B. physisches) Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Nichtflüchtige Medien beinhalten zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (DRAM) beinhalten, der typischerweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfasern, einschließlich der Drähte, die einen an einen Prozessor eines Computers gekoppelten Systembus umfassen. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer ausgelesen werden kann.
  • Wenn Datenbanken, Datendepots oder andere Datenspeicher hierin beschrieben sind, können diese verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedene(n) Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines Datenbankverwaltungssystems (Database Management System - DBMS) usw. Jeder solche Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorangehend erwähnten, und es wird auf eine oder mehrere von einer Vielfalt von Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein DBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. tragbaren Vorrichtungen, Servern, PCs usw.) umgesetzt sein, die auf zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann solche auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Der Prozessor ist über Schaltungen, Chips oder eine andere elektronische Komponente umgesetzt und kann einen oder mehrere Mikrocontroller, einen oder mehrere feldprogrammierbare Gate-Arrays (Field Programmable Gate Array - FPGA), eine oder mehrere anwendungsspezifische Schaltungen (Application Specific Circuit - ASIC), einen oder mehrere digitale Signalprozessoren (Digital Signal Processor - DSP), eine oder mehrere kundenspezifisch integrierte Schaltungen usw. beinhalten. Der Prozessor kann programmiert sein, um die Sensordaten zu verarbeiten.
  • Der Speicher (oder die Datenspeichervorrichtung) wird über Schaltkreise, Chips oder andere elektronische Komponenten umgesetzt und kann eine(n) oder mehrere von einem Festwertespeicher (Read Only Memory - ROM), Direktzugriffsspeicher (Random Access Memory - RAM), Flash-Speicher, elektrisch programmierbaren Festspeicher (EPROM), elektrisch programmierbaren und löschbaren Festspeicher (Electrically Programmable and Erasable ROM - EEPROM), einer eingebetteten Multimediakarte (embedded MultiMediaCard - eMMC), einer Festplatte oder beliebigen flüchtigen oder nichtflüchtigen Medien usw. beinhalten. Der Speicher kann von Sensoren gesammelte Daten speichern.
  • Die Offenbarung ist auf veranschaulichende Weise beschrieben worden und es versteht sich, dass die Terminologie, die verwendet worden ist, beschreibenden und nicht einschränkenden Charakters sein soll. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Variationen der vorliegenden Offenbarung möglich und die Offenbarung kann anders als konkret beschrieben umgesetzt werden.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, aufweisen: eine Vielzahl von Netzwerkcomputern, die über ein lokales Netzwerk in einem Fahrzeug kommunikativ an einen Gateway-Computer und aneinander gekoppelt sind, wobei jeder der Vielzahl von Netzwerkcomputern Folgendes umfasst: einen oder mehrere Prozessoren; und einen Speicher, der erste Anweisungen, die durch den einen oder die mehreren Prozessoren ausführbar sind, speichert, wobei die ersten Anweisungen Folgendes umfassen: über das lokale Netzwerk eine Sicherheitsnachricht von dem Gateway-Computer, die einen aktuellen Modus des Fahrzeugs identifiziert, zu empfangen, wobei der aktuelle Modus einen Fahrzeugzustand angibt; den aktuellen Modus zu speichern; eine Datennachricht zu empfangen; und auf Grundlage des aktuellen Modus zu bestimmen, ob die Datennachricht angenommen werden soll.
  • Gemäß einer Ausführungsform ist der aktuelle Modus einer von einer Vielzahl von vorbestimmten Modi.
  • Gemäß einer Ausführungsform wird die Datennachricht entweder über das lokale Netzwerk oder von einem Computer außerhalb des lokalen Netzwerks empfangen.
  • Gemäß einer Ausführungsform ist eine Kommunikationsvorrichtung über einen Diagnoseanschluss kommunikativ an das lokale Netzwerk gekoppelt.
  • Gemäß einer Ausführungsform basiert das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einem Typ der Datennachricht.
  • Gemäß einer Ausführungsform ist die Art der Datennachricht eine von Folgendem: eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art fahrzeuginternes Telematikprotokoll (on-vehicle telematics protocol - OVTP) (beliebig), eine Art Netzwerkverwaltung (beliebig), eine Art Diagnose nur Auslesen, eine Art Diagnose alles außer nur Auslesen, eine Art neuer Programmschlüssel, eine Art Betrieb nur Auslesen, eine Art Betrieb alles außer nur Auslesen, eine Art OTVP nur Auslesen, eine Art OTVP alles außer nur Auslesen, eine Art Netzwerkverwaltung nur Auslesen, eine Art Netzwerkverwaltung alles außer nur Auslesen, eine Art Diagnose vorbestimmter Anwendungsfall oder eine Art Diagnose alles außer vorbestimmter Anwendungsfall.
  • Gemäß einer Ausführungsform umfassen die ersten Anweisungen ferner, die Datennachricht anzunehmen, wenn die Art eine einer Art Diagnose (beliebig), einer Art Diagnose nur Auslesen, einer Art neuer Programmschlüssel oder einer Art Diagnose vorbestimmter Anwendungsfall unabhängig vom aktuellen Modus ist.
  • Gemäß einer Ausführungsform weist der Fahrzeugzustand eines von Folgendem auf: das Fahrzeug steht und die Fahrzeugstromversorgung ist AN; das Fahrzeug bewegt sich und die Fahrzeugstromversorgung ist AN; oder das Fahrzeug steht und die Stromversorgung ist AUS.
  • Gemäß einer Ausführungsform ist der Fahrzeugzustand eines von Folgendem: ein Toleranzzeitraumzustand oder ein In-Bewegung-Zustand, wobei sich das Fahrzeug in Bewegung befindet und ein vorbestimmtes Fließbandwerkzeug oder ein vorbestimmtes Fahrzeughändlerwerkzeug dazu berechtigt ist, mit mindestens einem der Vielzahl von Netzwerkcomputem zu kommunizieren.
  • Gemäß einer Ausführungsform umfasst das Empfangen der Datennachricht Folgendes: Lesen einer Kopf- oder Fußzeile der Datennachricht.
  • Gemäß einer Ausführungsform umfasst das Bestimmen, die Datennachricht anzunehmen, Folgendes: Nutzdaten der Datennachricht zu lesen, mindestens einen Teil der Nutzdatennachricht zu speichern, in den Nutzdaten der Datennachricht gespeicherte Daten auszuführen, oder eine Kombination davon.
  • Gemäß einer Ausführungsform basiert das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einer Art der Datennachricht, wobei die ersten Anweisungen ferner Folgendes umfassen: zu bestimmen, dass der aktuelle Modus angibt, dass das Fahrzeug steht und dass die Fahrzeugstromversorgung AN ist; zu bestimmen, dass die Art eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art bordeigenes Telematikprotokoll (OTVP) (beliebig) oder eine Art Netzwerkverwaltung (beliebig) ist; und dann die Datennachricht anzunehmen.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch den Gateway-Computer, wobei der Gateway-Computer Folgendes umfasst: einen oder mehrere zweite Prozessoren; und einen zweiten Speicher, der zweite Anweisungen speichert, die durch den einen oder die mehreren zweiten Prozessoren ausführbar sind, wobei die zweiten Anweisungen Folgendes umfassen: mindestens eine Angabe, ob das Fahrzeug steht oder sich bewegt und ob die Fahrzeugleistung AN oder AUS ist, zu empfangen; den aktuellen Modus auf Grundlage der mindestens einen Angabe zu bestimmen; und die Sicherheitsnachricht, die den aktuellen Modus beinhaltet, für die Vielzahl von Netzwerkcomputern bereitzustellen.
  • Gemäß einer Ausführungsform umfassen die zweiten Anweisungen ferner Folgendes: die Datennachricht von einer Kommunikationsvorrichtung zu empfangen; und die Datennachricht an die Vielzahl von Netzwerkcomputern weiterzuleiten.
  • Gemäß einer Ausführungsform umfassen die zweiten Anweisungen ferner Folgendes: die Datennachrichten vor dem Durchlaufen der Datennachricht unter Verwendung eines Firewall-Programms, das in dem zweiten Speicher des Gateway-Computers gespeichert ist, zu scannen.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Empfangen einer Sicherheitsnachricht von einem Gateway-Computer an jedem einer Vielzahl von Netzwerkcomputern, wobei die Sicherheitsnachricht einen aktuellen Modus eines Fahrzeugs identifiziert, wobei der aktuelle Modus einen Fahrzeugzustand angibt; Speichern des aktuellen Modus; Empfangen einer Datennachricht; und Bestimmen auf Grundlage des aktuellen Modus, ob die Datennachricht angenommen werden soll.
  • In einem Aspekt der Erfindung wird die Sicherheitsnachricht von jedem der Vielzahl von Netzwerkcomputern über ein lokales Netzwerk empfangen, wobei eine Kommunikationsvorrichtung über einen Diagnoseanschluss kommunikativ an das lokale Netzwerk gekoppelt ist.
  • In einem Aspekt der Erfindung basiert das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einem Typ der Datennachricht.
  • In einem Aspekt der Erfindung weist der Fahrzeugzustand eines von Folgendem auf: das Fahrzeug steht und die Fahrzeugstromversorgung ist AN; das Fahrzeug bewegt sich und die Fahrzeugstromversorgung ist AN; oder das Fahrzeug steht und die Stromversorgung ist AUS.
  • In einem Aspekt der Erfindung ist der Fahrzeugzustand eines von Folgendem: ein Toleranzzeitraumzustand oder ein In-Bewegung-Zustand, wobei sich das Fahrzeug in Bewegung befindet und ein vorbestimmtes Fließbandwerkzeug oder ein vorbestimmtes Fahrzeughändlerwerkzeug dazu berechtigt ist, mit mindestens einem der Vielzahl von Netzwerkcomputern zu kommunizieren.

Claims (15)

  1. System, umfassend: eine Vielzahl von Netzwerkcomputern, die über ein lokales Netzwerk in einem Fahrzeug kommunikativ mit einem Gateway-Computer und miteinander gekoppelt sind, wobei jeder der Vielzahl von Netzwerkcomputern Folgendes umfasst: einen oder mehrere Prozessoren; und einen Speicher, auf dem erste Anweisungen gespeichert sind, die durch einen oder mehrere Prozessoren ausgeführt werden können, wobei die ersten Anweisungen Folgendes umfassen: über das lokale Netzwerk von dem Gateway-Computer eine Sicherheitsnachricht zu empfangen, die einen aktuellen Modus des Fahrzeugs identifiziert, wobei der aktuelle Modus einen Fahrzeugzustand angibt; den aktuellen Modus zu speichern; eine Datennachricht zu empfangen; und auf Grundlage des aktuellen Modus, zu bestimmen, ob die Datennachricht angenommen werden soll.
  2. System nach Anspruch 1, wobei der aktuelle Modus einer aus einer Vielzahl von vorbestimmten Modi ist.
  3. System nach Anspruch 1, wobei die Datennachricht entweder über das lokale Netzwerk oder von einem Computer außerhalb des lokalen Netzwerks empfangen wird.
  4. System nach Anspruch 1, wobei eine Kommunikationsvorrichtung über einen Diagnoseanschluss kommunikativ an das lokale Netzwerk gekoppelt ist.
  5. System nach Anspruch 1, wobei das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einem Typ der Datennachricht basiert.
  6. System nach Anspruch 5, wobei die Art der Datennachricht eine von Folgendem ist: eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art fahrzeuginternes Telematikprotokoll (on-vehicle telematics protocol - OVTP) (beliebig), eine Art Netzwerkverwaltung (beliebig), eine Art Diagnose nur Auslesen, eine Art Diagnose alles außer nur Auslesen, eine Art neuer Programmschlüssel, eine Art Betrieb nur Auslesen, eine Art Betrieb alles außer nur Auslesen, eine Art OTVP nur Auslesen, eine Art OTVP alles außer nur Auslesen, eine Art Netzwerkverwaltung nur Auslesen, eine Art Netzwerkverwaltung alles außer nur Auslesen, eine Art Diagnose vorbestimmter Anwendungsfall oder eine Art Diagnose alles außer vorbestimmter Anwendungsfall.
  7. System nach Anspruch 5, wobei die ersten Anweisungen ferner umfassen, die Datennachricht anzunehmen, wenn die Art eine einer Art Diagnose (beliebig), einer Art Diagnose nur Auslesen, einer Art neuer Programmschlüssel oder einer Art Diagnose vorbestimmter Anwendungsfall unabhängig vom aktuellen Modus ist.
  8. System nach Anspruch 1, wobei der Fahrzeugzustand eines von Folgendem aufweist: das Fahrzeug steht und die Fahrzeugstromversorgung ist AN; das Fahrzeug bewegt sich und die Fahrzeugstromversorgung ist AN; oder das Fahrzeug steht und die Stromversorgung ist AUS.
  9. System nach Anspruch 1, wobei der Fahrzeugzustand eines von Folgendem ist: ein Toleranzzeitraumzustand oder ein In-Bewegung-Zustand, wobei sich das Fahrzeug in Bewegung befindet und ein vorbestimmtes Fließbandwerkzeug oder ein vorbestimmtes Fahrzeughändlerwerkzeug dazu berechtigt ist, mit mindestens einem der Vielzahl von Netzwerkcomputern zu kommunizieren.
  10. System nach Anspruch 1, wobei das Empfangen der Datennachricht Folgendes umfasst: Lesen einer Kopf- oder Fußzeile der Datennachricht.
  11. System nach Anspruch 1, wobei das Bestimmen, die Datennachricht anzunehmen, Folgendes umfasst: Nutzdaten der Datennachricht zu lesen, mindestens einen Teil der Nutzdatennachricht zu speichern, in den Nutzdaten der Datennachricht gespeicherte Daten auszuführen, oder eine Kombination davon.
  12. System nach Anspruch 1, wobei das Bestimmen, ob die Datennachricht angenommen werden soll, ferner auf einer Art der Datennachricht basiert, wobei die ersten Anweisungen ferner Folgendes umfassen: zu bestimmen, dass der aktuelle Modus angibt, dass das Fahrzeug steht und dass die Fahrzeugstromversorgung AN ist; zu bestimmen, dass die Art eine Art Diagnose (beliebig), eine Art Betrieb (beliebig), eine Art bordeigenes Telematikprotokoll (OTVP) (beliebig) oder eine Art Netzwerkverwaltung (beliebig) ist; und dann die Datennachricht anzunehmen.
  13. System nach Anspruch 1, ferner umfassend den Gateway-Computer, wobei der Gateway-Computer Folgendes umfasst: einen oder mehrere zweite Prozessoren; und einen zweiten Speicher, der zweite Anweisungen speichert, die durch den einen oder die mehreren zweiten Prozessoren ausführbar sind, wobei die zweiten Anweisungen Folgendes umfassen: mindestens eine Angabe, ob das Fahrzeug steht oder sich bewegt und ob die Fahrzeugleistung AN oder AUS ist, zu empfangen; den aktuellen Modus auf Grundlage der mindestens einen Angabe zu bestimmen; und die Sicherheitsnachricht, die den aktuellen Modus beinhaltet, für die Vielzahl von Netzwerkcomputern bereitzustellen.
  14. System nach Anspruch 13, wobei die zweiten Anweisungen ferner Folgendes umfassen: die Datennachricht von einer Kommunikationsvorrichtung zu empfangen; und die Datennachricht an die Vielzahl von Netzwerkcomputern weiterzuleiten.
  15. Verfahren zum Ausführen der Anweisungen nach einem der Ansprüche 1-14.
DE102020127888.8A 2019-10-24 2020-10-22 Verbessern von fahrzeugkommunikationssicherheit Pending DE102020127888A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/662,449 2019-10-24
US16/662,449 US20210127268A1 (en) 2019-10-24 2019-10-24 Vehicle communication security

Publications (1)

Publication Number Publication Date
DE102020127888A1 true DE102020127888A1 (de) 2021-04-29

Family

ID=75378932

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020127888.8A Pending DE102020127888A1 (de) 2019-10-24 2020-10-22 Verbessern von fahrzeugkommunikationssicherheit

Country Status (3)

Country Link
US (1) US20210127268A1 (de)
CN (1) CN112714147A (de)
DE (1) DE102020127888A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230016493A (ko) * 2021-07-26 2023-02-02 현대자동차주식회사 차량 제어 장치 그 제어 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7362214B2 (en) * 2005-03-30 2008-04-22 Aisin Aw Co., Ltd. Branching device for transmission line and monitoring apparatus using the same
ES2805290T3 (es) * 2012-03-29 2021-02-11 Arilou Information Security Tech Ltd Dispositivo para proteger un sistema electrónico de un vehículo
US9868418B2 (en) * 2016-05-12 2018-01-16 Ford Global Technologies, Llc Vehicle network communication protection
US10055904B2 (en) * 2016-06-23 2018-08-21 Ford Global Technologies, Llc Vehicle gateway network protection
IT201600109368A1 (it) * 2016-10-28 2018-04-28 Magneti Marelli Spa "Dispositivo di protezione da attacchi informatici al veicolo tramite connettore diagnostico e corrispondente procedimento"

Also Published As

Publication number Publication date
US20210127268A1 (en) 2021-04-29
CN112714147A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
EP1516292B1 (de) Verfahren und vorrichtung für einen fahrzeugbezogenen telematikdienst
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
DE102017113435A1 (de) Fahrzeug-Gateway-Netzwerkschutz
DE102018103187A1 (de) Erweitertes zentrales Gateway zur Fahrzeugvernetzung
DE102015121091A1 (de) Telematik-Update-Softwarekompatibilität
DE102012220187B4 (de) Fahrzeugeigene Kommunikationsvorrichtung und Kommunikationssystem für ein Fahrzeug
DE102019108442A1 (de) Automatisierte Fahrzeugsysteme und Steuerlogik für den intelligenten Datenaustausch unter Verwendung verbesserter Bloom-Filter
DE102020214378A1 (de) Vorrichtung und verfahren zum steuern von aktualisierungen von ecus von einem fahrzeug
DE102017119373A1 (de) Aktualisierung der servers der netzwerkadresse der mobilvorrichtung
DE102010024858A1 (de) Verfahren und Vorrichtungen zum Initiieren von Servicesitzungen zwischen Fahrzeugen und Serviceanbietern
DE102021209039A1 (de) Vorrichtung und verfahren zum verwalten einer aktualisierung einer ecu eines fahrzeugs
DE102016116035A1 (de) Überwachung von Nicht-Start-Ereignissen
DE102018127702A1 (de) VIN-ESN-signierte Befehle und lokales Vertrauensnetz auf Fahrzeugebene
DE102018113863A1 (de) Fehlerisolierung für ein Controller Area Network
DE102013205390A1 (de) Datenausgabevorrichtung für ein fahrzeug
DE102018105612A1 (de) Fahrzeugkommunikation
DE102020122489A1 (de) Zugriffsautorisierung für verteiltes fahrzeugnetzwerk
DE102020127888A1 (de) Verbessern von fahrzeugkommunikationssicherheit
DE102015226147B4 (de) Verfahren, Prozessorvorrichtung, Kraftfahrzeug mit einer solchen Prozessorvorrichtung und Telematiksystem für die automatische Konfiguration telematischer Datenübermittlungen des Kraftfahrzeugs
DE102021127713A1 (de) System und verfahren zum steuern eines geofence
DE102014018460A1 (de) Verfahren zur Steuerung des Betriebs wenigstens einer Funktionskomponente eines Kraftfahrzeugs und Kraftfahrzeug
DE112019002392T5 (de) Fahrzeugsteuergerät, verfahren zur verwaltung von interruptinformationen und programm zur verwaltung von interruptinformationen
DE102021100155A1 (de) System und verfahren für dynamisches softwaremanagement
DE102023107659A1 (de) Unleugbarer verlauf von fahrzeugänderungen
DE102016205827B3 (de) Verfahren, Vorrichtung, Fahrzeug und Zentralstelle zum Feststellen einer Aktualität einer lokalen Benutzereinstellung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: ISARPATENT - PATENT- UND RECHTSANWAELTE BARTH , DE