DE102019108581A1 - Datenkommunikationssystem, datenkommunikationsverfahren, server und fahrzeug - Google Patents

Datenkommunikationssystem, datenkommunikationsverfahren, server und fahrzeug Download PDF

Info

Publication number
DE102019108581A1
DE102019108581A1 DE102019108581.0A DE102019108581A DE102019108581A1 DE 102019108581 A1 DE102019108581 A1 DE 102019108581A1 DE 102019108581 A DE102019108581 A DE 102019108581A DE 102019108581 A1 DE102019108581 A1 DE 102019108581A1
Authority
DE
Germany
Prior art keywords
data
hash value
vehicle
hash
server
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.)
Withdrawn
Application number
DE102019108581.0A
Other languages
English (en)
Inventor
Seong Jin Park
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.)
Hyundai Motor Co
Kia Corp
Original Assignee
Hyundai Motor Co
Kia Motors Corp
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 Hyundai Motor Co, Kia Motors Corp filed Critical Hyundai Motor Co
Publication of DE102019108581A1 publication Critical patent/DE102019108581A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die vorliegende Anmeldung betrifft ein Datenkommunikationssystem, ein Datenkommunikationsverfahren, einen Server (104) und ein Fahrzeug (100). Das Datenkommunikationssystem kann aufweisen: eine Datensendevorrichtung (104), welche dazu eingerichtet ist, einen ersten Hashwert unter Verwendung von einem aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl zu erzeugen, Daten unter Verwendung des ersten Hashwerts zu verschlüsseln und die verschlüsselten Daten zu senden, und eine Datenempfangsvorrichtung (100), welche dazu eingerichtet ist, die von der Datensendevorrichtung (104) gesendeten Daten zu empfangen, den durch die Datensendevorrichtung (104) erzeugten ersten Hashwert aus den Daten zu separieren, einen zweiten Hashwert unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl zu berechnen und eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.

Description

  • Technisches Gebiet
  • Ausführungsformen der vorliegenden Anmeldung betreffen ein Fahrzeug und insbesondere eine Datenkommunikation zwischen dem Fahrzeug und einem Server.
  • Hintergrund
  • Datensicherheit ist einer der wichtigsten Faktoren zur Kommunikation zwischen einem Fahrzeug und einem Server. Konventionell wurden Daten durch Hinzufügung eines Hashwerts zu einem zu übertragenden Inhalt erzeugt, um die Sicherheit der Datenkommunikation zu erhöhen. Jedoch können Datensicherheitstechniken, welche auf der Verwendung von solchen Hashwerten basieren, den gesendeten Inhalt nicht zuverlässig schützen, falls die Hashfunktion zum Erzeugen des Hashwerts aufgrund eines Hacking-Angriffs oder anderer böswilliger Angriffe offenbart ist.
  • Erläuterung der Erfindung
  • Es ist ein Aspekt der vorliegenden Anmeldung, die Datensicherheit in Datenkommunikationen zwischen einer Datensendevorrichtung und einer Datenempfangsvorrichtung zu verbessern.
  • Zusätzliche Aspekte der Anmeldung werden zum Teil in der nachfolgenden Beschreibung ausgeführt und werden zum Teil aus der Beschreibung ersichtlich oder können durch Umsetzung der Anmeldung gelernt werden.
  • Gemäß Ausführungsformen der vorliegenden Anmeldung kann ein Datenkommunikationssystem aufweisen: eine Datensendevorrichtung, welche dazu eingerichtet ist, einen ersten Hashwert zu erzeugen unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl (z.B. Basis- oder Ursprungszahl - Englisch „seed number“), Daten unter Verwendung des ersten Hashwerts zu verschlüsseln und die verschlüsselten Daten zu senden, und eine Datenempfangsvorrichtung, welche dazu eingerichtet ist, die von der Datensendevorrichtung gesendeten Daten zu empfangen, den durch die Datensendevorrichtung erzeugten ersten Hashwert aus den Daten zu separieren (z.B. aus den Daten zu extrahieren), einen zweiten Hashwert zu berechnen unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl und eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  • Die Datensendevorrichtung kann einen ersten Verzögerungsfunktionserzeuger aufweisen, welcher dazu eingerichtet ist, die erste Ausgangszahl unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus der Mehrzahl von vorherigen Hashwerten zu erzeugen.
  • Die Datenempfangsvorrichtung kann einen zweiten Verzögerungsfunktionserzeuger aufweisen, welcher dazu eingerichtet ist, die zweite Ausgangszahl unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten zu erzeugen.
  • Die Datenempfangsvorrichtung kann einen Vergleicher aufweisen, welcher dazu eingerichtet ist, den zweiten Hashwert, welcher unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus der Mehrzahl von vorherigen Hashwerten als die zweite Ausgangszahl berechnet ist, mit dem aus den Daten separierten ersten Hashwert zu vergleichen und zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  • Die erste Ausgangszahl kann einen vorbestimmten Anfangswert nutzen, wenn der erste Hashwert durch die Datensendevorrichtung erzeugt wird.
  • Ferner kann ein Datenkommunikationsverfahren gemäß Ausführungsformen der vorliegenden Anmeldung aufweisen: Erzeugen, mittels einer Datensendevorrichtung, eines ersten Hashwerts unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl, Verschlüssen, mittels der Datensendevorrichtung, von Daten unter Verwendung des ersten Hashwerts, Senden, mittels der Datensendevorrichtung, der verschlüsselten Daten, Empfangen, mittels einer Datenempfangsvorrichtung, der von der Datensendevorrichtung gesendeten Daten, Separieren, mittels der Datenempfangsvorrichtung, des durch die Datensendevorrichtung erzeugten ersten Hashwerts aus den Daten (z.B. Extrahieren des ersten Hashwerts aus den Daten), Berechnen, mittels der Datenempfangsvorrichtung, eines zweiten Hashwerts unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl, und Ermitteln, mittels der Datenempfangsvorrichtung, einer Validität der Daten basierend darauf, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  • Das Verfahren kann ferner aufweisen: Erzeugen, mittels der Datensendevorrichtung, der ersten Ausgangszahl unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus der Mehrzahl von vorherigen Hashwerten.
  • Das Verfahren kann ferner aufweisen: Erzeugen, mittels der Datenempfangsvorrichtung, der zweiten Ausgangszahl unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) der vorherigen Hashwerte.
  • Das Verfahren kann ferner aufweisen: Vergleichen, mittels der Datenempfangsvorrichtung, des zweiten Hashwerts, welcher unter Verwendung von einem von den vorherigen Hashwerten als die zweite Ausgangszahl berechnet ist, mit dem aus den Daten separierten ersten Hashwert, und Ermitteln, mittels der Datenempfangsvorrichtung, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  • Die erste Ausgangszahl kann einen vorbestimmten Anfangswert nutzen, wenn der erste Hashwert durch die Datensendevorrichtung erzeugt wird.
  • Gemäß Ausführungsformen der vorliegenden Erfindung kann ferner ein Datenkommunikationssystem aufweisen: einen Server, welcher dazu eingerichtet ist, einen ersten Hashwert zu erzeugen unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl, Daten unter Verwendung des ersten Hashwerts zu verschlüsseln und die verschlüsselten Daten zu senden, und ein Fahrzeug (z.B. ein Kraftfahrzeug, insbesondere ein Personenkraftfahrzeug), welches dazu eingerichtet ist, die von dem Server gesendeten Daten zu empfangen, den durch den Server erzeugten ersten Hashwert aus den Daten zu separieren (z.B. aus den Daten zu extrahieren), einen zweiten Hashwert zu berechnen unter Verwendung von einem (z.B. genau einem, mindestens einem, etc.) aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl und eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  • Ferner kann gemäß Ausführungsformen der vorliegenden Anmeldung ein Server aufweisen: einen Verzögerungsfunktionserzeuger, welcher dazu eingerichtet ist, einen vorherigen Hashwert zu erzeugen, einen Hashwerterzeuger, welcher dazu eingerichtet ist, einen neuen Hashwert zu erzeugen unter Verwendung des vorherigen Hashwerts als eine Ausgangszahl, einen Datenkonfigurator (z.B. Datenerzeugungseinrichtung, Datenzusammenstelleinrichtung), welcher dazu eingerichtet ist, die Daten unter Verwendung des neuen Hashwerts zu verschlüsseln, und einen Sender, welcher dazu eingerichtet ist, die verschlüsselten Daten zu senden.
  • Die Ausgangszahl kann einen vorbestimmten Anfangswert nutzen, wenn der neue Hashwert durch den Hashwerterzeuger erzeugt wird.
  • Gemäß Ausführungsformen der vorliegenden Anmeldung kann zudem ein Fahrzeug (z.B. ein Kraftfahrzeug, insbesondere ein Personenkraftfahrzeug) aufweisen: einen Empfänger, welcher dazu eingerichtet ist, unter Verwendung eines ersten Hashwerts verschlüsselte Daten zu empfangen, einen Datenseparator (z.B. Datentrenner), welcher dazu eingerichtet ist, den ersten Hashwert aus den Daten zu separieren (z.B. den ersten Hashwert aus den Daten zu extrahieren), einen Verzögerungsfunktionserzeuger, welcher dazu eingerichtet ist, eine Ausgangszahl unter Verwendung eines vorherigen Hashwerts zu berechnen und einen zweiten Hashwert unter Verwendung der berechneten Ausgangszahl zu berechnen, und einen Vergleicher, welcher dazu eingerichtet ist, eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  • Die Ausgangszahl kann einen vorbestimmten Anfangswert nutzen, wenn der erste Hashwert erzeugt wird.
  • Figurenliste
  • Diese und/oder weitere Aspekte der Anmeldung werden aus der folgenden Beschreibung der Ausführungsformen in Verbindung mit den beigefügten Zeichnungen deutlicher ersichtlich und verstanden, wobei:
    • 1 eine Ansicht ist, welche eine Kommunikation zwischen einem Fahrzeug und einem Telematikzentrum (Server) gemäß Ausführungsformen der vorliegenden Anmeldung darstellt,
    • 2 eine Ansicht ist, welche ein Steuerungssystem von jedem von dem Fahrzeug und einem Server gemäß Ausführungsformen der vorliegenden Anmeldung darstellt,
    • 3A und 3B Ansichten sind, welche ein Fahrzeugsteuerungsverfahren gemäß Ausführungsformen der vorliegenden Anmeldung darstellen, und
    • 4 eine Ansicht ist, welche einen Gegenseitige-Aktualisierungsbestätigung-Vorgang des in 3A und 3B dargestellten Fahrzeugsteuerungsverfahrens darstellt.
  • Es ist zu verstehen, dass die vorstehend genannten Zeichnungen nicht notwendigerweise maßstabsgetreu sind und eine etwas vereinfachte Darstellungsweise von verschiedenen Eigenschaften darstellen, um die Grundprinzipien der Erfindung aufzuzeigen. Die spezifischen Konstruktionsmerkmale der vorliegenden Anmeldung, einschließlich z.B. konkrete Abmessungen, Ausrichtungen, Positionen und Formen, wie sie hierin offenbart sind, werden (zumindest) teilweise von der jeweiligen geplanten Anwendung und Nutzungsumgebung vorgegeben.
  • Detaillierte Beschreibung der Ausführungsformen
  • Nachstehend wird werden Ausführungsformen der vorliegenden Anmeldung unter Bezugnahme auf die beigefügten Zeichnungen im Detail beschrieben. Wie es den Fachleuten in der Technik jedoch klar ist, können die beschriebenen Ausführungsformen auf zahlreiche verschiedene Weisen modifiziert werden, ohne jeweilig vom Sinn oder Umfang der vorliegenden Anmeldung abzuweichen. Gleiche Bezugszeichen beziehen sich durchgehend durch die Beschreibung ferner auf gleiche Elemente.
  • Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens von bestimmten Ausführungsformen und ist nicht dazu gedacht, die Erfindung zu beschränken. Die wie hierin verwendeten Singular-Formen „ein“, „eine“, „eines“ und „der“, „die“, „das“ sind dazu gedacht, auch die Mehrzahlformen einzuschließen, außer der Kontext weist eindeutig auf etwas anderes hin. Ferner ist zu verstehen, dass die Begriffe „aufweisen“ und/oder „aufweisend“ bei Verwendung in dieser Beschreibung das Vorliegen von genannten Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Gruppen davon spezifizieren, jedoch nicht die Anwesenheit oder das Hinzufügen von einem oder mehreren Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Gruppen davon ausschließen. Wie hierin verwendet, weist der Begriff „und/oder“ irgendeine und alle Kombinationen von einem oder mehreren der dazugehörig aufgezählten Gegenstände auf.
  • Es versteht sich, dass der Begriff „Fahrzeug“ oder „Fahrzeug-...“ oder irgendein ähnlicher Begriff, welcher hier verwendet wird, Kraftfahrzeuge im Allgemeinen, wie z.B. Personenkraftfahrzeuge, einschließlich sogenannter Sportnutzfahrzeuge (SUV), Busse, Lastwagen, zahlreiche kommerzielle Fahrzeuge, Wasserfahrzeuge, einschließlich einer Vielzahl an Booten und Schiffen, Flugzeuge und dergleichen einschließt und Hybridfahrzeuge, elektrische Fahrzeuge, Plug-in-Hybridelektrofahrzeuge, wasserstoffbetriebene Fahrzeuge und andere Fahrzeuge für alternative Treibstoffe (z.B. Treibstoffe, welche aus anderen Ressourcen als Erdöl hergestellt werden) einschließt. Ein Hybridfahrzeug, auf welches hier Bezug genommen wird, ist ein Fahrzeug, das zwei oder mehr Energiequellen hat, z.B. Fahrzeuge, welche sowohl mit Benzin als auch elektrisch betrieben werden.
  • Es ist zudem zu verstehen, dass eines oder mehrere der nachstehenden Verfahren durch wenigstens eine Steuereinheit durchgeführt werden können. Der Begriff „Steuereinheit“ kann sich auf eine Hardware-Vorrichtung, welche einen Speicher und einen Prozessor aufweist, beziehen. Der Speicher ist dazu eingerichtet, Programmbefehle zu speichern, und der Prozessor ist speziell dazu eingerichtet, die Programmbefehle auszuführen, um einen oder mehr Vorgänge, welche weiter unten beschrieben werden, durchzuführen. Die Steuereinheit kann Betriebe von Einheiten, Modulen, Bauteilen, Vorrichtungen oder dergleichen, wie hierin beschrieben, steuern. Ferner ist es zu verstehen, dass die nachfolgenden Verfahren durch eine Vorrichtung, welche die Steuereinheit aufweist, zusammen mit einer oder mehreren Komponenten ausgeführt werden kann, wie es für einen Fachmann in der Technik ersichtlich ist.
  • Ferner kann die Steuereinheit der vorliegenden Anmeldung als nichtflüchtige, computerlesbare Medien, welches ausführbare Programminstruktionen enthält, die mittels eines Prozessors ausgeführt werden, enthält, ausgeführt sein. Beispiele der computerlesbaren Medien weisen auf, sind aber nicht beschränkt auf, Nur-LeseSpeicher (Englisch „Read Only Memory“, kurz: ROM), Speicher mit wahlfreiem Zugriff (Englisch „Random Access Memory“, kurz: RAM), Compact-Disk-(CD)-ROMs, Magnetbänder, Disketten, Flash-Speicher, Chipkarten (z.B. Smartcards, Speicherkarten) und optische Datenspeichervorrichtungen. Das computerlesbare Aufzeichnungsmedium kann auch in netzwerkverbundenen Computersystemen verteilt werden, so dass die computerlesbaren Medien in einem Computernetzwerk verteilt sein, so dass die Programmbefehle auf eine verteilte Weise gespeichert sind und ausgeführt werden, z.B. mittels eines Telematikservers oder eines Steuereinrichtungsbereich-Netzwerks (auch Steuergerätenetzwerk oder „Controller Area Network“ genannt, kurz CAN).
  • Bezugnehmend jetzt auf die vorliegenden offenbarten Ausführungsformen ist 1 eine Ansicht, welche eine Kommunikation zwischen einem Fahrzeug und einem Telematikzentrum (Server) gemäß Ausführungsformen der vorliegenden Anmeldung darstellt.
  • Wie in 1 dargestellt, kann ein Fahrzeug 100 mit einem Server 104 eines Telematikzentrums 102, welches sich an einem entfernten Standort befindet, kommunizieren. Der Server 104 des Telematikzentrums 102 kann ein Aktualisieren von Software oder Firmware diverser Vorrichtungen des Fahrzeugs 100 durch Drahtloskommunikation unterstützen. Der Server 104 und das Fahrzeug 100 sind Elemente, welche jeweilig als eine Datensendevorrichtung (d.h. Server) zum Senden von Daten und als eine Datenempfangsvorrichtung (d.h. Fahrzeug) zum Empfangen von Daten ein Datenkommunikationssystem bilden.
  • 2 ist eine Ansicht, welche ein Steuerungssystem von jedem von dem Fahrzeug und einem Server gemäß Ausführungsformen der vorliegenden Anmeldung darstellt.
  • Der Server 104 kann einen Hashwert zu dem Inhalt (Englisch „content“), welcher zum Aktualisieren der Software oder Firmware des Fahrzeugs 100 notwendig ist, hinzufügen und den hinzugefügten Hashwert an das Fahrzeug 100 senden. Der Server 104 kann einen Inhaltsspeicher 212, einen Datenkonfigurator (z.B. eine Datenerzeugungseinrichtung, Datenzusammenstelleinrichtung) 214, einen Hashwerterzeuger 216, einen Verzögerungsfunktionserzeuger 218 (d.h. ersten Verzögerungsfunktionserzeuger) und einen Sender 220 aufweisen.
  • Der Inhaltsspeicher 212 des Servers 104 kann Inhalt (d.h. Daten), welcher von dem Server 104 aus an das Fahrzeug 100 zu senden ist, speichern. Der in dem Inhaltsspeicher 212 gespeicherte Inhalt kann beispielhaft Software, Firmware, Sollwerte, etc., welche durch eine in dem Fahrzeug 100 eingebaute elektronische Steuereinheit (ECU) auszuführen sind, sein. Alternativ kann der in dem Inhaltsspeicher 212 gespeicherte Inhalt zum Beispiel zur Navigation zu verwendende Kartendaten umfassen.
  • Der Datenkonfigurator 214 kann den Hashwert mit dem von dem Server 104 aus an das Fahrzeug 100 zu sendenden Inhalt (d.h. den Daten) kombinieren und zu sendende Daten erzeugen (z.B. zusammenbauen). Der Hashwert, hierin auch alternativ als ein „erster Hashwert“ bezeichnet, wird durch den Hashwerterzeuger 216 wie nachstehend beschrieben erzeugt.
  • Der Hashwerterzeuger 216 kann einen Hashwert erzeugen und den erzeugten Hashwert an den Datenkonfigurator 214 und den Verzögerungsfunktionserzeuger 218 senden. Hierzu kann der Hashwerterzeuger 216 eine Funktion zum Erzeugen des Hashwerts aufweisen. Der Inhalt des Inhaltsspeichers 212 und eine Ausgangszahl (z.B. Basis- oder Ursprungszahl - Englisch „seed number“) des Verzögerungsfunktionserzeugers 218 können in den Hashwerterzeuger 216 eingegeben werden. Die Ausgangszahl, hierin alternativ als eine „erste Ausgangszahl“ bezeichnet, kann dazu verwendet werden, den Hashwert, welcher eine Zufallszahl ist, zu erzeugen.
  • Der Verzögerungsfunktionserzeuger 218 kann eine vorherige Ausgangszahl (d.h. einen Anfangswert oder Hashwert) speichern. Der Verzögerungsfunktionserzeuger 218 kann einen Anfangswert empfangen. Der Anfangswert kann die anfänglich in dem Verzögerungsfunktionserzeuger 218 festgelegte Ausgangszahl sein. Wenn eine erste Ausgangszahl erzeugt wird, kann der Anfangswert verwendet werden. Wenn eine zweite Ausgangszahl und nachfolgende Ausgangszahlen erzeugt werden, kann eine neue Ausgangszahl unter Verwendung eines in der Vergangenheit erzeugten Hashwerts (z.B. eines unmittelbar zuvor erzeugten Hashwerts oder eines zu einer spezifischen Zeit in der Vergangenheit erzeugten Hashwerts) erzeugt werden. Die Anfangswerte des Verzögerungsfunktionserzeugers 218 können von Fahrzeug zu Fahrzeug unterschiedliche Werte haben.
  • Das heißt, ein m-ter erzeugter Hashwert kann als die Ausgangszahl verwendet werden, wenn ein (m+1)-ter Hashwert erzeugt wird. Der (m+1)-te erzeugte Hashwert kann als die Ausgangszahl verwendet werden, wenn ein (m+2)-ter Hashwert erzeugt wird. Die Erzeugung der Ausgangszahl ist nicht auf die Verwendung des vorherigen Hashwerts beschränkt, und irgendeiner von den vorherigen Hashwerten kann gemäß einer angekündigten Regel ausgewählt werden und zur Erzeugung einer neuen Ausgangszahl verwendet werden. Beispielsweise kann eine Ausgangszahl vor einer fünften Ausgangszahl anstatt der jüngst erzeugten Ausgangszahl verwendet werden. Alternativ kann eine neue Ausgangszahl unter Verwendung der Fahrzeugnummer erzeugt werden.
  • Der Sender 220 kann vorgesehen sein, um Daten von dem Server 104 an das Fahrzeug 100 zu senden. Der Sender kann Daten verschlüsseln und senden.
  • Das Fahrzeug 100 kann Daten (einschließlich Inhalt und Hashwerte), welche zum Aktualisieren der Software oder Firmware notwendig sind, von dem Server 104 empfangen und eine Aktualisierung nach dem Bestätigen des Hashwertvergleichs durchführen. Hierzu kann das Fahrzeug 100 einen Empfänger 250, einen Datenseparator (z.B. Datentrenner) 252, einen Inhaltsspeicher 254, einen Hashwerterzeuger (d.h. eine Hashfunktion) 256, einen Vergleicher 258 und einen Verzögerungsfunktionserzeuger 260 (d.h. zweiten Verzögerungsfunktionserzeuger) aufweisen.
  • Der Empfänger 250 kann vorgesehen sein, um von dem Server 104 an das Fahrzeug 100 gesendete Daten zu empfangen. Der Empfänger 250 kann die Verschlüsselung der empfangenen Daten aufheben, falls notwendig.
  • Der Datenseparator 252 kann den Inhalt und den Hashwert aus den durch den Empfänger 250 empfangenen Daten separieren (z.B. den Inhalt und den Hashwert aus den durch den Empfänger 250 empfangenen Daten separat extrahieren).
  • Der Inhaltsspeicher 254 kann den Inhalt, wobei der Hashwert aus den empfangenen Daten separiert ist, speichern. Der in dem Inhaltsspeicher 254 gespeicherte Inhalt kann zum Aktualisieren der Software oder Firmware des Fahrzeugs 100 verwendet werden.
  • Der Hashwerterzeuger (d.h. die Hashfunktion) 256 des Fahrzeugs 100 kann einen Hashwert, hierin alternativ als ein „zweiter Hashwert“ bezeichnet, erzeugen und den erzeugten Hashwert an den Vergleicher 258 und den Verzögerungsfunktionserzeuger 260 senden. Hierzu kann der Hashwerterzeuger 256 die Funktion zum Erzeugen des Hashwerts aufweisen. Der Inhalt des Inhaltsspeichers 254 und eine Ausgangszahl des Verzögerungsfunktionserzeugers 260 können in den Hashwerterzeuger 215 eingegeben werden. Die Ausgangszahl, hierin alternativ als eine „zweite Ausgangszahl“ bezeichnet, kann dazu verwendet werden, einen Hashwert, welcher eine Zufallszahl ist, zu erzeugen.
  • Der Vergleicher 258 kann zwei Hashwerte vergleichen und eine Übereinstimmung bestätigen. Einer von den zwei Hashwerten kann der Hashwert (d.h. erste Hashwert), welcher aus dem Inhalt in dem Datenseparator 252 separiert wird, sein. Der andere von den zwei Hashwerten kann der Hashwert (d.h. zweite Hashwert), welcher durch Anwenden der Hashfunktion in dem Hashwerterzeuger 256 erzeugt wird, sein. Wenn die zwei Hashwerte miteinander übereinstimmen, kann erkannt werden, dass der von dem Server 104 gesendete Inhalt geschützt und auf normale Weise durch das Fahrzeug 100 empfangen wird und die Anforderungen an Vollständigkeit und Validität erfüllt.
  • Der Verzögerungsfunktionserzeuger 260 des Fahrzeugs 100 kann eine vorherige Ausgangszahl (d.h. Anfangswert oder Hashwert) speichern und eine neue Ausgangszahl unter Verwendung der vorherigen Ausgangszahl (d.h. Anfangswert oder Hashwert) erzeugen. Der Verzögerungsfunktionserzeuger 260 kann den Anfangswert empfangen. Der Anfangswert kann die anfänglich in dem Verzögerungsfunktionserzeuger 260 festgelegte Ausgangszahl sein. Wenn ein erster Hashwert erzeugt wird, kann der Anfangswert verwendet werden. Wenn ein zweiter Hashwert und nachfolgende Hashwerte erzeugt werden, kann ein neuer Hashwert unter Verwendung eines zuvor, in einigen Fällen unmittelbar zuvor, erzeugten Hashwerts erzeugt werden. Die Anfangswerte des Verzögerungsfunktionserzeugers 260 können von Fahrzeug zu Fahrzeug unterschiedliche Werte haben.
  • Die Verzögerungsfunktionserzeuger 218 und 260 können vorgesehen sein, um die Sicherheit der von dem Server 104 an das Fahrzeug 100 gesendeten Daten im Zusammenwirken mit den Hashwerterzeugern 216 und 256 weiter zu erhöhen. Ein im Vergleich zu einem Fall, bei welchem die Hashwerterzeuger 216 und 256 einen Hashwert unabhängig erzeugen, höheres Sicherheitsniveau kann sichergestellt werden, wenn ein Hashwert von den Hashwerterzeugern 216 und 256 basierend auf der durch die Verzögerungsfunktionserzeuger 218 und 260 erzeugten Ausgangszahl erzeugt wird. Das heißt, das eine primäre Sicherheit beim Vorgang des Erzeugens einer Ausgangszahl in den Verzögerungsfunktionserzeugern 218 und 260 sichergestellt wird und eine zusätzliche sekundäre Sicherheit beim Vorgang des Erzeugens eines Hashwerts in den Hashwerterzeugern 216 und 256 basierend auf der Ausgangszahl der Verzögerungsfunktionserzeuger 218 und 260 sichergestellt wird, so dass ein höheres Sicherheitsniveau im Vergleich zu dem Fall, bei welchem die Hashwerterzeuger 216 und 256 einen Hashwert unabhängig erzeugen, gewährleistet werden kann.
  • 3A und 3B Ansichten sind, welche ein Fahrzeugsteuerungsverfahren gemäß Ausführungsformen der vorliegenden Anmeldung darstellen. 3A ist eine Ansicht, welche eine Steuerung in dem Server 104 darstellt, und 3B ist eine Ansicht, welche eine Steuerung in dem Fahrzeug 100 darstellt. Vorgänge 306, 310 und 356 des Servers 104 von 3A sind jeweilig verbunden mit Vorgängen 324, 340 und 374 des Fahrzeugs von 3B. Das bedeutet, dass die Steuerungsvorgänge von 3A und 3B nicht voneinander getrennt sind, sondern eine Reihe von Vorgängen zum Aktualisieren der Software und/oder Firmware mit wechselseitigem Zusammenhang, wie zum Beispiel Übertragung, Empfang und Bestätigung, aufweisen. Ein Fahrzeugsteuerungsverfahren gemäß Ausführungsformen der vorliegenden Anmeldung wird daher unter Bezugnahme auf 3A und 3B beschrieben.
  • Wie in 3A dargestellt, kann der Server 104 einen Hashwert zum an das Fahrzeug 100 zu sendenden Inhalt hinzufügen, die Daten erzeugen und senden und den Hashwert in dem Verzögerungsfunktionserzeuger 218 speichern.
  • Zunächst kann der Server 104 einen ersten an das Fahrzeug 100 als ein Client zu sendenden Inhalt auswählen (302). Der erste Inhalt kann zum Beispiel die aktuelle Version (Version 1.0) der Software zum Betreiben der ECU sein. Die Auswahl des ersten Inhalts kann in Abhängigkeit von einem vorbestimmten Software- und/oder Firmware-Aktualisierungsplan erfolgen oder einem Nutzer als Option bereitstehen.
  • Wenn der an das Fahrzeug 100 zu sendende erste Inhalt ausgewählt ist, kann der Hashwerterzeuger 216 einen Hashwert unter Verwendung der Hashfunktion erzeugen (304). Der Hashwerterzeuger 216 kann einen Anfangswert (z.B. „1234“), welcher durch den Verzögerungsfunktionserzeuger 218 bereitgestellt wird, verwenden, wenn ein Hashwert zum ersten Mal erzeugt wird, und einen neuen Hashwert unter Verwendung eines zuvor (z.B. unmittelbar zuvor) erzeugten Hashwerts erzeugen, wenn der zweite Hashwert und wenn nachfolgende Hashwerten erzeugt werden. In diesem Beispiel wird der unter Verwendung des Anfangswerts erstmalig erzeugte Hashwert als „5678“ angenommen.
  • Da der zu sendende Inhalt (d.h. erste Inhalt) und der Hashwert „5678“ gesichert sind, kann der Datenkonfigurator 214 den ersten Inhalt mit dem Hashwert „5678“ kombinieren, um die zu sendenden Daten zu erzeugen (z.B. zusammenbauen) (306). Das heißt, dass die Daten von der Art <der erste Inhalt + 5678> durch den Datenkonfigurator 214 ausgestaltet werden können. Die Daten werden durch den Sender 220 an das Fahrzeug 100, welches der Client ist, gesendet.
  • Der Hashwerterzeuger 216 des Servers 104 kann zudem den erzeugten Hashwert „5678“ an den Verzögerungsfunktionserzeuger 218 senden. Der Verzögerungsfunktionserzeuger 218 kann den von dem Hashwerterzeuger 216 kommend empfangenen Hashwert „5678“ speichern. Der in dem Verzögerungsfunktionserzeuger 218 gespeicherte Hashwert „5678“ kann dazu verwendet werden, den nächsten Hashwert zu erzeugen.
  • Durch diesen Vorgang kann die Übertragung des ersten Inhalts (Version 1.0) von dem Server 104 an das Fahrzeug 100 abgeschlossen werden.
  • Als nächstes wird ein Aktualisierungsvorgang in dem Fahrzeug 100 unter Verwendung der von dem Server 104 gesendeten Daten unter Bezugnahme auf 3B beschrieben.
  • Wie in 3B dargestellt, kann der Datenseparator 252 des Fahrzeugs 100 die von dem Server 104 gesendeten Daten durch den Empfänger 250 empfangen und den Inhalt und den Hashwert aus den empfangenen Daten separieren (z.B. aus diesen separat extrahieren) (326). Das heißt, dass die empfangenen Daten durch den Trennvorgang des Datenseparators 252 in <Erster Inhalt (Version 1.0)> und <Hashwert „5678“> separiert werden können.
  • Wenn das Empfangen und Trennen der Daten abgeschlossen ist, kann der Hashwerterzeuger 256 des Fahrzeugs 100 einen Hashwert basierend auf dem empfangenen ersten Inhalt (Version 1.0) erzeugen (330). Der durch den Hashwerterzeuger 256 des Fahrzeugs 100 zu dieser Zeit erzeugte Hashwert kann basierend auf dem ersten Inhalt und dem Anfangswert „1234“ erzeugt werden, wie in dem Hashwerterzeuger 216 des Servers 104. Wenn daher die Datenübertragung von dem Server 104 an das Fahrzeug 100 normal durchgeführt wurde, sollten der Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und der durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugte Hashwert gleich zueinander sein und „5678“ betragen.
  • Der Vergleicher 258 des Fahrzeugs 100 kann den Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und den durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugten Hashwert vergleichen (334). Der Vergleich des Vergleichers 258 dient dazu, zu bestätigen, ob der Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und der durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugte Hashwert miteinander übereinstimmen.
  • Wenn der Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und der durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugte Hashwert miteinander als „5678“ übereinstimmen (Übereinstimmung in 334), kann das Fahrzeug 100 eine Aktualisierung unter Verwendung des empfangenen ersten Inhalts (Version 1.0) durchführen und wird der Hashwert „5678“ in dem Verzögerungsfunktionserzeuger 260 des Fahrzeugs 100 gespeichert (336). Der gespeicherte Hashwert „5678“ kann dazu verwendet werden, den nächsten Hashwert zu erzeugen.
  • Durch diese Reihe von Vorgängen kann der Server 104 Daten zum Aktualisieren des Fahrzeugs 100 senden und Daten von dem Fahrzeug 100 empfangen, um die Aktualisierung durchzuführen. Als Nächstes kann ein Vorgang des Bestätigens, ob die in den Verzögerungsfunktionserzeugern 218 und 260 des Servers 104 und des Fahrzeugs 100 gespeicherten Hashwerte übereinstimmen (d.h. synchronisiert sind) oder ob nicht, durchgeführt werden. Hierzu können eine Gegenseitige-Aktualisierungsbestätigung 310 von 3A und eine Gegenseitige-Aktualisierungsbestätigung 340 von 3B durchgeführt werden.
  • Die spezifischen Inhalte der Gegenseitige-Aktualisierungsbestätigung 310 von 3A und der Gegenseitige-Aktualisierungsbestätigung 340 von 3B werden später im Detail in 4 beschrieben.
  • Zurückkehrend zu 3A kann, nach der Aktualisierung der primären Software und/oder Firmware in dem Fahrzeug 100 durch die Übertragung des ersten Inhalts des Fahrzeugs 100 von dem Server 104, eine Anfrage zur Aktualisierung von dem bestehenden ersten Inhalt auf den neuen ersten Inhalt erzeugt werden. In diesem Fall kann der Server 104 einen zweiten Inhalt, welcher an das Fahrzeug 100 als ein Client zu senden ist, auswählen, wie in 3A dargestellt (352). Der zweite Inhalt kann zum Beispiel eine neue Version (Version 2.0) einer Software zum Betreiben der ECU sein. Die Auswahl des zweiten Inhalts kann in Abhängigkeit von dem vorbestimmten Software- und/oder Firmware-Aktualisierungsplan erfolgen oder einem Nutzer als Option bereitstehen.
  • Wenn der an das Fahrzeug 100 zu sendende zweite Inhalt ausgewählt ist, kann der Hashwerterzeuger 216 einen Hashwert unter Verwendung der Hashfunktion erzeugen (354). Der Hashwerterzeuger 216 des Servers 104 hat den Hashwert „5678“ unter Verwendung des Anfangswerts „1234“ für die Übertragung des ersten Inhalts erzeugt. Zur Zeit der Übertragung des zweiten Inhalts kann ein neuer Hashwert für die Übertragung des zweiten Inhalts unter Verwendung des in dem vorherigen Schritt erzeugten und in dem Verzögerungsfunktionserzeuger 218 gespeicherten Hashwerts „5678“ erzeugt werden. In der Ausführungsform wird der neue Hashwert, welcher unter Verwendung des existierenden Hashwerts „5678“ erzeugt wird, als „9743“ angenommen.
  • Da der zu sendende Inhalt (d.h. zweite Inhalt) und der Hashwert „9743“ gesichert sind, kann der Datenkonfigurator 214 den zweiten Inhalt mit dem Hashwert „9743“ kombinieren, um die zu sendenden Daten zu erzeugen (z.B. zusammenbauen) (356). Das heißt, dass die Daten von der Art <der zweite Inhalt + 9743> durch den Datenkonfigurator 214 ausgestaltet werden können. Die Daten werden durch den Sender 220 an das Fahrzeug 100, welches der Client ist, gesendet.
  • Der Hashwerterzeuger 216 des Servers 104 kann zudem den erzeugten Hashwert „9743“ an den Verzögerungsfunktionserzeuger 218 senden. Der Verzögerungsfunktionserzeuger 218 kann den von dem Hashwerterzeuger 216 kommend empfangenen Hashwert „9743“ speichern. Der in dem Verzögerungsfunktionserzeuger 218 gespeicherte neue Hashwert „9743“ kann dazu verwendet werden, den nächsten Hashwert zu erzeugen.
  • Durch diesen Vorgang kann die Übertragung des zweiten Inhalts (Version 2.0) von dem Server 104 an das Fahrzeug 100 abgeschlossen werden.
  • Das Fahrzeug 100, welches bereits die Aktualisierung unter Verwendung des ersten Inhalts (Version 1.0) abgeschlossen hat, kann die Aktualisierung nochmals unter Verwendung der neuen Daten (Version 2.0), welche vom Server 104 gesendet wurden, durchführen. Nachstehend wird ein Vorgang des weiteren Aktualisierens des Fahrzeugs 100 unter Verwendung von neuem Inhalt, der von dem Server 104 gesendet wurde, unter Bezugnahme auf 3B beschrieben.
  • Wie in 3B dargestellt, kann der Datenseparator 252 des Fahrzeugs 100 die von dem Server 104 gesendeten Daten durch den Empfänger 250 empfangen und den Inhalt und den Hashwert aus den empfangenen Daten separieren (z.B. aus diesen separat extrahieren) (376). Das heißt, dass die empfangenen Daten durch den Trennvorgang des Datenseparators 252 in <Zweiter Inhalt (Version 2.0)> und <Hashwert „9743“> separiert werden können.
  • Wenn das Empfangen und Trennen der Daten abgeschlossen ist, kann der Hashwerterzeuger 256 des Fahrzeugs 100 einen Hashwert basierend auf dem empfangenen zweiten Inhalt (Version 2.0) erzeugen (380). Der durch den Hashwerterzeuger 256 des Fahrzeugs 100 zu dieser Zeit erzeugte Hashwert kann basierend auf dem zweiten Inhalt und dem vorherigen Hashwert „5678“, welcher in dem Verzögerungsfunktionserzeuger 260 gespeichert ist, erzeugt werden, wie in dem Hashwerterzeuger 216 des Servers 104. Wenn daher die Datenübertragung von dem Server 104 an das Fahrzeug 100 normal durchgeführt wurde, sollten der Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und der durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugte Hashwert gleich zueinander sein und „9743“ betragen.
  • Der Vergleicher 258 des Fahrzeugs 100 kann den Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und den durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugten Hashwert vergleichen (384). Der Vergleich des Vergleichers 258 dient dazu, zu bestätigen, ob der Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und der durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugte Hashwert miteinander übereinstimmen.
  • Wenn der Hashwert der von dem Server 104 an das Fahrzeug 100 übertragenen Daten und der durch den Hashwerterzeuger 256 des Fahrzeugs 100 erzeugte Hashwert miteinander als „9743“ übereinstimmen (Übereinstimmung in 384), kann das Fahrzeug 100 eine Aktualisierung unter Verwendung des empfangenen zweiten Inhalts (Version 2.0) durchführen und wird der Hashwert „9743“ in dem Verzögerungsfunktionserzeuger 260 des Fahrzeugs 100 gespeichert (386). Der gespeicherte Hashwert „9743“ kann dazu verwendet werden, den nächsten Hashwert zu erzeugen.
  • Durch diese Reihe von Vorgängen kann der Server 104 Daten zum Aktualisieren des Fahrzeugs 100 senden und Daten von dem Fahrzeug 100 empfangen, um die Aktualisierung durchzuführen. Als Nächstes kann ein Vorgang des Bestätigens, ob die in den Verzögerungsfunktionserzeugern 218 und 260 des Servers 104 und des Fahrzeugs 100 gespeicherten Hashwerte übereinstimmen (d.h. synchronisiert sind) oder ob nicht, durchgeführt werden. Hierzu können die Gegenseitige-Aktualisierungsbestätigung 310 von 3A und die Gegenseitige-Aktualisierungsbestätigung 340 von 3B durchgeführt werden.
  • Die spezifischen Inhalte der Gegenseitige-Aktualisierungsbestätigung 310 von 3A und der Gegenseitige-Aktualisierungsbestätigung 340 von 3B werden später im Detail in 4 beschrieben.
  • Wenn die zwei in den Vergleichsvorgängen 334 und 384 in 3B zu vergleichenden Hashwerte nicht miteinander übereinstimmen (Nichtübereinstimmung in 334 und/oder 384), wird ermittelt, dass die Datenübertragung von dem Server 104 zum Fahrzeug 100 nicht normal durchgeführt wird, und wird der Nutzer darüber informiert, dass die Aktualisierung der Software und/oder Firmware nicht auf normale Weise durchgeführt wird, indem der Nutzer über den Datenübertragungsfehler informiert wird (338).
  • 4 ist eine Ansicht, welche einen Gegenseitige-Aktualisierungsbestätigung-Vorgang des in 3A und 3B dargestellten Fahrzeugsteuerungsverfahrens darstellt. Wenn die Aktualisierung der Software und/oder Firmware in dem Fahrzeug 100 unter Verwendung der Inhalte der von dem Server 104 an das Fahrzeug 100 gesendeten Daten abgeschlossen ist, können der Server 104 und das Fahrzeug 100 eine Reihe von Vorgängen zum Bestätigen, ob die Aktualisierung normal abgeschlossen wurde. Wenn der Server 104 nicht normal auf die Bestätigungsanfrage von dem Fahrzeug 100 an den Server 104 antwortet, führen sowohl der Server 104 als auch das Fahrzeug 100 den Gegenseitige-Aktualisierungsbestätigung-Vorgang durch, um die Hashwerte abzugleichen.
  • Wie in 4 dargestellt, kann das Fahrzeug 100 eine Aktualisierungsbestätigungsnachricht an den Server 104 senden, um den Server 104 darüber zu benachrichtigen, dass die Aktualisierung abgeschlossen wurde (412).
  • Der Server 104 kann erkennen, dass die Software und/oder Firmware in dem Fahrzeug 100 normal aktualisiert wurde, durch Empfangen der von dem Fahrzeug 100 gesendeten Aktualisierungsbestätigungsnachricht. Dementsprechend kann der Server 104 eine Ankunftsbestätigungsnachricht erzeugen und diese an das Fahrzeug 100 senden, wenn die von dem Fahrzeug 100 gesendete Aktualisierungsbestätigungsnachricht normal an dem Server 104 ankommt (JA in 416).
  • Außerdem kann der Server 104 den in dem Verzögerungsfunktionserzeuger 218 des Servers 104 gespeicherten Hashwert beibehalten, ohne diesen zu verändern (420), da die Aktualisierung der Software und/oder Firmware auf normale Weise abgeschlossen wurde und der Server 104 bereits auf die Anfrage des Fahrzeugs 100 nach einer Bestätigung geantwortet hat.
  • In Schritt 416 kann zur Ermittlung, ob die Aktualisierungsbestätigungsnachricht angekommen ist, wenn die Aktualisierungsbestätigungsnachricht nicht angekommen ist (Nein in 416), ein neuer spezifischer Hashwert (z.B. eine spezifische Funktion) in dem Verzögerungsfunktionserzeuger 218 des Servers 104 gespeichert werden (424).
  • Das Fahrzeug 100 kann bestätigen, ob eine Ankunftsbestätigungsnachricht von dem Server 104 kommend empfangen wird (432).
  • Da die Aktualisierung der Software und/oder Firmware auf normale Weise abgeschlossen ist und der Server 104 bereits auf die Anfrage des Fahrzeugs 100 nach einer Bestätigung geantwortet hat, wenn die Ankunftsbestätigungsnachricht von dem Server 104 kommend empfangen wurde (Ja in 432), kann das Fahrzeug 100 den in dem Verzögerungsfunktionserzeuger 260 des Fahrzeugs 100 gespeicherten Hashwert beibehalten, ohne diesen zu verändern (434).
  • Wenn die Ankunftsbestätigungsnachricht von dem Server 104 nicht empfangen wird (Nein und n-maliges erneutes Versuchen in 432), kann das Fahrzeug 100 den Bestätigungsvorgang für eine vorbestimmte Anzahl an Malen (z.B. n-mal) erneut versuchen, um präzise zu bestätigen, ob die Ankunftsbestätigungsnachricht von dem Server 104 kommend doch empfangen wurde.
  • Wenn die Ankunftsbestätigungsnachricht von dem Server 104 nicht empfangen wird (Nein und (n+1)-Male 432), kann das Fahrzeug 100 einen spezifischen Hashwert zusammen mit dem in dem Verzögerungsfunktionserzeuger 260 gespeicherten Hashwert als einen bei der Erzeugung des nächsten Hashwerts zu nutzenden Ausgangszahl-Kandidaten speichern (436).
  • Wenn der nächste Hashwert erzeugt wird, wird ein neuer Hashwert unter Verwendung des vorherigen Hashwerts, d.h. des in dem vorliegenden Verzögerungsfunktionserzeuger 260 als die Ausgangszahl gespeicherten Hashwerts erzeugt, und es wird überprüft, ob der neue Hashwert mit dem in dem Server 104 erzeugten Hashwert übereinstimmt. Wenn die Hashwerte nicht übereinstimmen, kann ein neuer Hashwert unter Verwendung des spezifischen Hashwerts, welcher als der Kandidat gesetzt ist, als die Ausgangszahl erzeugt werden.
  • Der in dem vorstehend beschriebenen Schritt 424 des Servers 104 gespeicherte spezifische Hashwert und der in dem Fahrzeug 100 als der Kandidat gesetzte spezifische Hashwert sollten auf dasselbe vorbestimmte Verfahren zwischen dem Server 104 und dem Fahrzeug 100 im Voraus festgelegt sein. Beispielsweise kann der Anfangswert auf den spezifischen Hashwert gesetzt werden. Alternativ kann der Hashwert vor dem jüngst gespeicherten Hashwert als der spezifische Hashwert gesetzt werden. Außerdem kann ein Wert, welcher durch Anwenden einer vorbestimmten Funktion, welche zu einer Fahrzeugidentifikationsnummer vorbestimmt ist, erzeugt wird, als der spezifische Hashwert gesetzt werden.
  • Durch diesen Vorgang wird eine Synchronisation zwischen dem Server 104 und dem Fahrzeug 100 zur Erzeugung eines Hashwerts durchgeführt und kann ein Hashwert einer vorbestimmten Art erzeugt werden.
  • Wie aus der vorstehenden Beschreibung ersichtlich ist, kann durch die Anwendung von Ausführungsformen der vorliegenden Anmeldung die Sicherheit von Daten bei einer Datenkommunikation zwischen der Datensendevorrichtung und der Datenempfangsvorrichtung erhöht werden.
  • Die obige Beschreibung der vorliegenden Erfindung/Anmeldung dient Veranschaulichungszwecken, und ein Fachmann in der Technik erkennt, dass weitere spezielle Modifikationen auf einfache Weise vorgenommen werden können, ohne dabei vom technischen Wesen oder den wesentlichen Merkmalen der vorliegenden Anmeldung abzuweichen. Die vorstehenden Ausführungsformen sollen daher in allen Belangen als veranschaulichend und nicht als einschränkend angesehen werden. Der Umfang der Erfindung/Offenbarung ist nicht durch die detaillierte Beschreibung, welche vorstehend ausgeführt wird, zu beschränken, und es ist zu verstehen, dass alle Änderungen oder Modifikationen, welche aus den Definitionen und dem Umfang der Ansprüche und deren Äquivalente abgeleitet werden, in den Umfang der Erfindung/Offenbarung fallen.

Claims (15)

  1. Datenkommunikationssystem, aufweisend: eine Datensendevorrichtung (104), welche dazu eingerichtet ist, einen ersten Hashwert unter Verwendung von einem aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl zu erzeugen, Daten unter Verwendung des ersten Hashwerts zu verschlüsseln und die verschlüsselten Daten zu senden, und eine Datenempfangsvorrichtung (100), welche dazu eingerichtet ist, die von der Datensendevorrichtung (104) gesendeten Daten zu empfangen, den durch die Datensendevorrichtung (104) erzeugten ersten Hashwert aus den Daten zu separieren, einen zweiten Hashwert unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl zu berechnen und eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  2. Datenkommunikationssystem nach Anspruch 1, wobei die Datensendevorrichtung (104) aufweist: einen ersten Verzögerungsfunktionserzeuger (218), welcher dazu eingerichtet ist, die erste Ausgangszahl unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten zu erzeugen.
  3. Datenkommunikationssystem nach Anspruch 1 oder 2, wobei die Datenempfangsvorrichtung (100) aufweist: einen zweiten Verzögerungsfunktionserzeuger (260), welcher dazu eingerichtet ist, die zweite Ausgangszahl unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten zu erzeugen.
  4. Datenkommunikationssystem nach irgendeinem der Ansprüche 1 bis 3, wobei die Datenempfangsvorrichtung (100) aufweist: einen Vergleicher (258), welcher dazu eingerichtet ist, den zweiten Hashwert, welcher unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten als die zweite Ausgangszahl berechnet ist, mit dem aus den Daten separierten ersten Hashwert zu vergleichen und zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  5. Datenkommunikationssystem nach irgendeinem der Ansprüche 1 bis 4, wobei die erste Ausgangszahl einen vorbestimmten Anfangswert nutzt, wenn der erste Hashwert durch die Datensendevorrichtung (104) erzeugt wird.
  6. Datenkommunikationsverfahren, aufweisend: Erzeugen (304, 354), mittels einer Datensendevorrichtung (104), eines ersten Hashwerts unter Verwendung von einem aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl, Verschlüssen, mittels der Datensendevorrichtung (104), von Daten unter Verwendung des ersten Hashwerts, Senden, mittels der Datensendevorrichtung (104), der verschlüsselten Daten, Empfangen, mittels einer Datenempfangsvorrichtung (100), der von der Datensendevorrichtung (104) gesendeten Daten, Separieren (326, 376), mittels der Datenempfangsvorrichtung (100), des durch die Datensendevorrichtung (104) erzeugten ersten Hashwerts aus den Daten, Berechnen (330, 380), mittels der Datenempfangsvorrichtung (100), eines zweiten Hashwerts unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl, und Ermitteln, mittels der Datenempfangsvorrichtung (100), einer Validität der Daten basierend darauf, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  7. Verfahren nach Anspruch 6, ferner aufweisend: Erzeugen (304, 354), mittels der Datensendevorrichtung (104), der ersten Ausgangszahl unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten.
  8. Verfahren nach Anspruch 6 oder 7, ferner aufweisend: Erzeugen (330, 380), mittels der Datenempfangsvorrichtung (100), der zweiten Ausgangszahl unter Verwendung von einem der vorherigen Hashwerte.
  9. Verfahren nach irgendeinem der Ansprüche 6 bis 8, ferner aufweisend: Vergleichen (334, 384), mittels der Datenempfangsvorrichtung (100), des zweiten Hashwerts, welcher unter Verwendung von einem von den vorherigen Hashwerten als die zweite Ausgangszahl berechnet ist, mit dem aus den Daten separierten ersten Hashwert, und Ermitteln, mittels der Datenempfangsvorrichtung (100), ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  10. Verfahren nach irgendeinem der Ansprüche 6 bis 9, wobei die erste Ausgangszahl einen vorbestimmten Anfangswert nutzt, wenn der erste Hashwert durch die Datensendevorrichtung (104) erzeugt wird.
  11. Datenkommunikationssystem, aufweisend: einen Server (104), welcher dazu eingerichtet ist, einen ersten Hashwert unter Verwendung von einem aus einer Mehrzahl von vorherigen Hashwerten als eine erste Ausgangszahl zu erzeugen, Daten unter Verwendung des ersten Hashwerts zu verschlüsseln und die verschlüsselten Daten zu senden, und ein Fahrzeug (100), welches dazu eingerichtet ist, die von dem Server (104) gesendeten Daten zu empfangen, den durch den Server (104) erzeugten ersten Hashwert aus den Daten zu separieren, einen zweiten Hashwert unter Verwendung von einem aus der Mehrzahl von vorherigen Hashwerten als eine zweite Ausgangszahl zu berechnen und eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  12. Server (104), aufweisend: einen Verzögerungsfunktionserzeuger (218), welcher dazu eingerichtet ist, einen vorherigen Hashwert zu erzeugen, einen Hashwerterzeuger (216), welcher dazu eingerichtet ist, einen neuen Hashwert unter Verwendung des vorherigen Hashwerts als eine Ausgangszahl zu erzeugen, einen Datenkonfigurator (214), welcher dazu eingerichtet ist, die Daten unter Verwendung des neuen Hashwerts zu verschlüsseln, und einen Sender (220), welcher dazu eingerichtet ist, die verschlüsselten Daten zu senden.
  13. Der Server nach Anspruch 12, wobei die Ausgangszahl einen vorbestimmten Anfangswert nutzt, wenn der neue Hashwert durch den Hashwerterzeuger erzeugt wird.
  14. Fahrzeug (100), aufweisend: einen Empfänger (250), welcher dazu eingerichtet ist, Daten, die unter Verwendung eines ersten Hashwerts verschlüsselt sind, zu empfangen, einen Datenseparator (252), welcher dazu eingerichtet ist, den ersten Hashwert aus den Daten zu separieren, einen Verzögerungsfunktionserzeuger (260), welcher dazu eingerichtet ist, eine Ausgangszahl unter Verwendung eines vorherigen Hashwerts zu berechnen und einen zweiten Hashwert unter Verwendung der berechneten Ausgangszahl zu berechnen, und einen Vergleicher (258), welcher dazu eingerichtet ist, eine Validität der Daten basierend darauf zu ermitteln, ob der berechnete zweite Hashwert mit dem aus den Daten separierten ersten Hashwert übereinstimmt.
  15. Fahrzeug nach Anspruch 14, wobei die Ausgangszahl einen vorbestimmten Anfangswert nutzt, wenn der erste Hashwert erzeugt wird.
DE102019108581.0A 2018-11-14 2019-04-02 Datenkommunikationssystem, datenkommunikationsverfahren, server und fahrzeug Withdrawn DE102019108581A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180140200A KR20200056192A (ko) 2018-11-14 2018-11-14 데이터 통신 시스템과 데이터 통신 방법, 서버, 차량
KR10-2018-0140200 2018-11-14

Publications (1)

Publication Number Publication Date
DE102019108581A1 true DE102019108581A1 (de) 2020-05-14

Family

ID=70469117

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019108581.0A Withdrawn DE102019108581A1 (de) 2018-11-14 2019-04-02 Datenkommunikationssystem, datenkommunikationsverfahren, server und fahrzeug

Country Status (4)

Country Link
US (1) US20200153633A1 (de)
KR (1) KR20200056192A (de)
CN (1) CN111193587A (de)
DE (1) DE102019108581A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11469881B2 (en) * 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
US11456874B2 (en) * 2019-09-19 2022-09-27 Denso International America, Inc. Vehicle control system for cybersecurity and financial transactions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8441391B2 (en) * 2010-05-05 2013-05-14 Roundtrip Llc Ultra-secure communication methods and apparatus
KR20150074414A (ko) * 2013-12-24 2015-07-02 현대자동차주식회사 펌웨어 업그레이드 방법 및 그 시스템
KR20160037649A (ko) * 2014-09-29 2016-04-06 한전케이디엔주식회사 일방향 데이터 전송 시스템 및 이를 이용한 신뢰성 향상 방법
US10432421B2 (en) * 2014-11-20 2019-10-01 National University Corporation Nagoya University Communication control device and communication system
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
KR101963776B1 (ko) * 2016-04-19 2019-07-31 주식회사 엔지스테크널러지 차량 시스템의 소프트웨어 보안 업데이트 방법 및 장치
KR101778455B1 (ko) * 2016-07-19 2017-09-26 홍익대학교세종캠퍼스산학협력단 해쉬 체인을 이용한 전자 영수증 관리 방법
US10075425B1 (en) * 2016-08-26 2018-09-11 Amazon Technologies, Inc. Verifiable log service
KR101946527B1 (ko) * 2016-10-27 2019-02-11 아주대학교산학협력단 차량과 단말 간 통신 시스템 및 그 통신 방법
KR102542546B1 (ko) * 2016-11-22 2023-06-13 현대모비스 주식회사 텔레매틱스 서버 및 이의 차량 원격 진단 방법
CN106685653B (zh) * 2016-12-29 2020-07-07 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
US10330784B2 (en) * 2017-04-07 2019-06-25 Qualcomm Incorporated Secure range determination protocol
US20190394046A1 (en) * 2018-06-22 2019-12-26 Sf Motors, Inc. Secure firmware updates for remote vehicles

Also Published As

Publication number Publication date
CN111193587A (zh) 2020-05-22
KR20200056192A (ko) 2020-05-22
US20200153633A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
DE112012003795B4 (de) Verfahren und system für eine fahrzeug-information-integritätsverifikation
DE102016110169A1 (de) Diebstahlverhinderung für autonome Fahrzeuge
DE112016006538T5 (de) Programmaktualisierungssystem, Programmaktualisierungsverfahren und Computerprogramm
DE112017007515T5 (de) Fahrzeuginternes Authentifikationssystem, fahrzeuginternes Authentifikationsverfahren und fahrzeuginternes Authentifikationsprogramm
DE102018120915A1 (de) Fahrzeuginterne Gruppenschlüsselverteilung
DE112018003933T5 (de) Detektor, Detektionsverfahren und Detektionsprogramm
DE102017124640A1 (de) Fahrzeuginternes Authentifizierungssystem
DE112014004313T5 (de) Überschreiboperation-Erkennungssystem, Überschreiboperation-Erkennungseinrichtung und Informationsverarbeitungseinrichtung
DE112013006375T5 (de) Authentifizierungsverarbeitungsvorrichtung, Authentifizierungsverarbeitungssystem, Authentifizierungsverarbeitungsverfahren und Authentifizierungsverarbeitungsprogramm
DE112018001489T5 (de) Fahrzeuggebundene Kommunikationsvorrichtung, Computerprogramm und Nachrichtenermittlungsverfahren
DE102019108581A1 (de) Datenkommunikationssystem, datenkommunikationsverfahren, server und fahrzeug
EP3684015B1 (de) Vorrichtung und verfahren zur klassifizierung von daten insbesondere für ein controller area netzwerk oder ein automotive ethernet netzwerk
DE112015004391T5 (de) Überschreiboperations-Erkennungssystem und Informationsverarbeitungseinrichtung
DE112017007755T5 (de) Schlüsselverwaltungsvorrichtung und kommunikationsgerät
DE102020126906A1 (de) Validieren von fahrzeugen, die innerhalb bestimmter regionen fahren
DE102015011920A1 (de) Verfahren zur Überprüfung der Datenintegrität einer C2C Übertragung
DE102021209058A1 (de) System und Verfahren zur Verwaltung der Aktualisierung einer elektronischen Steuereinheit eines Fahrzeugs
DE102022208218A1 (de) Einrichtung zum Durchführen eines OTA-Updates für ein Fahrzeug und Verfahren derselben
DE102020207065B3 (de) Fahrzeug, Verfahren, Computerprogramm und Vorrichtung zum Zusammenführen von Objektinformationen über ein oder mehrere Objekte in einem Umfeld eines Fahrzeugs
DE112020005980T5 (de) Ermittlungsvorrichtung, Ermittlungsprogramm und Ermittlungsverfahren
DE102020122049A1 (de) Taas für verzögerungstolerante blockchain-netzwerke
EP3945702A1 (de) Kanalbasierte kommunikation in einem iot-netzwerk
DE112019002569T5 (de) Fahrzeuggebundenes Kommunikationssystem, Bestimmungseinrichtung, Kommunikationseinrichtung, Bestimmungsverfahren und Computerprogramm
DE102018215141A1 (de) Verfahren zur Verbesserung des Nutzungsgrades einer Fahrzeug-zu-X Kommunikationsvorrichtung sowie Fahrzeug-zu-X Kommunikationsvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee