-
TECHNISCHES GEBIET
-
Die veranschaulichenden Ausführungsformen betreffen im Allgemeinen Verfahren und Vorrichtungen zur dynamischen Fahrzeugschlüsselerzeugung und - handhabung.
-
ALLGEMEINER STAND DER TECHNIK
-
Das Konzept des schlüssellosen Zugangs und Startens ist in der Automobilbranche zur Norm geworden. Viele Fahrzeuge sind mit einem Drucktastenstart ausgestattet, wozu lediglich ein Fahrzeug-Funkschlüssel mit einem Transponder in dem Fahrzeug vorhanden sein muss, wenn die Taste gedrückt wird. Auf ähnliche Weise kann das Vorhandensein des Funkschlüssels die Grundlage für schlüssellosen Berührungs-Zugang sein.
-
Während die aktuellen Modelle sich auf den Funkschlüssel stützen, bei dem es sich weitgehend um eine vom Hersteller gesteuerte Vorrichtung handelt, wurden viele Vorschläge für Methoden gemacht, die sich auf digitale Schlüssel, die in einer mobilen Vorrichtung, wie etwa einem Telefon, beinhaltet sind, stützen.
-
KURZDARSTELLUNG
-
Bei einer ersten veranschaulichenden Ausführungsform beinhaltet ein System einen Prozessor, der dazu ausgelegt ist, einen neuen Zugangsschlüssel als Reaktion auf eine Zustandsänderung des Fahrzeugs zu erzeugen. Der Prozessor ist außerdem dazu ausgelegt, sich mit einer zuvor identifizierten drahtlosen Benutzervorrichtung zu verbinden. Der Prozessor ist ferner dazu ausgelegt, den neuen Zugangsschlüssel als Reaktion auf die Verbindung mit der drahtlosen Vorrichtung an die drahtlose Benutzervorrichtung zu liefern und eine Kopie des neuen Zugangsschlüssels lokal in einer Datei, die zur Referenz für einen nächsten Zugangsversuch bestimmt ist, zu speichern.
-
Bei einer zweiten veranschaulichenden Ausführungsform beinhaltet ein System einen Prozessor, der dazu ausgelegt ist, einen ersten neu erzeugten Fahrzeugzugangsschlüssel von einem Fahrzeug zu empfangen. Der Prozessor ist außerdem dazu ausgelegt, eine Vorrichtung identifizierender Parameter zu empfangen. Der Prozessor ist ferner dazu ausgelegt, zu versuchen, eine Verbindung mit einer Vorrichtung, die von den eine Vorrichtung identifizierenden Parametern identifiziert wurde, herzustellen und als Reaktion auf eine erfolgreiche Verbindung eine Kopie des ersten neu erzeugten Fahrzeugzugangsschlüssels an die Vorrichtung zu liefern.
-
Bei einer dritten veranschaulichenden Ausführungsform beinhaltet ein System einen Prozessor, der dazu ausgelegt ist, als Reaktion auf den erfassten Eingriff eines kapazitiven Fahrzeugelements ein Abfragesignal an eine drahtlose Benutzervorrichtung zu senden. Der Prozessor ist außerdem dazu ausgelegt, eine Antwort auf das Abfragesignal von der drahtlosen Vorrichtung zu empfangen, einschließlich sowohl eines verschlüsselten Schlüssels als auch eines Signals, das verwendbar ist, um die Nähe der drahtlosen Vorrichtung zu dem Fahrzeug zu erfassen. Außerdem ist der Prozessor dazu ausgelegt, ein angefordertes Zugangsniveau zu dem Fahrzeug als Reaktion auf eine Verifizierung des verschlüsselten Schlüssels als gültig und darauf, dass die erfasste Nähe der drahtlosen Vorrichtung innerhalb eines vordefinierten Schwellenwerts ist, bereitzustellen.
-
Figurenliste
-
- 1 zeigt ein veranschaulichendes Fahrzeugcomputersystem;
- 2A zeigt ein veranschaulichendes Beispiel eines Prozesses zur Codeerfassung;
- 2B zeigt ein veranschaulichendes Beispiel eines Entriegelungssignalflusses;
- 3A zeigt ein veranschaulichendes Beispiel einer Fahrzeugabschaltsequenz und eines Prozesses zur Schlüsselerzeugung;
- 3B zeigt ein veranschaulichendes Beispiel eines Signalflusses für einen Fahrzeugstartprozess;
- 3C zeigt ein veranschaulichendes Beispiel eines Prozesses für einen Abschaltsignalfluss;
- 4 zeigt ein veranschaulichendes Beispiel eines Schlüssel-Warteschlangenprozesses in der Cloud;
- 5 zeigt ein veranschaulichendes Beispiel eines Prozesses zur lokalen Schlüssel-Backup-Lieferung.
-
DETAILLIERTE BESCHREIBUNG
-
Je nach Bedarf werden hierin ausführliche Ausführungsformen offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen rein veranschaulichender Natur sind und in verschiedenen und alternativen Formen ausgeführt werden können. Die Figuren sind nicht zwingend maßstabsgetreu; einige Merkmale können vergrößert oder verkleinert dargestellt sein, um Einzelheiten bestimmter Komponenten zu zeigen. Dementsprechend sind hierin offenbarte konkrete strukturelle und funktionelle Einzelheiten nicht als einschränkend auszulegen, sondern lediglich als repräsentative Grundlage, um einen Fachmann eine vielfältige Ausführung des beanspruchten Gegenstands zu lehren.
-
1 veranschaulicht eine beispielhafte Blockstruktur für ein fahrzeugbasiertes Rechensystem 1 (vehicle based computing system - VCS) für ein Fahrzeug 31. Ein Beispiel für ein derartiges fahrzeugbasiertes Rechensystem 1 ist das SYNC-System, hergestellt durch THE FORD MOTOR COMPANY. Ein mit einem fahrzeugbasierten Rechensystem ausgestattetes Fahrzeug kann eine visuelle Front-End-Schnittstelle 4 enthalten, welche im Fahrzeug positioniert ist. Der Benutzer kann zudem in der Lage sein, mit der Schnittstelle zu interagieren, wenn diese zum Beispiel mit einem berührungsempfindlichen Bildschirm bereitgestellt ist. In einer anderen veranschaulichenden Ausführungsform erfolgt die Interaktion durch das Betätigen von Tasten, ein Sprachdialogsystem mit automatischer Spracherkennung und Sprachsynthese.
-
Bei der in 1 gezeigten veranschaulichenden Ausführungsform 1 steuert ein Prozessor 3 mindestens einen Teil des Betriebs des fahrzeugbasierten Rechensystems. Der in dem Fahrzeug bereitgestellte Prozessor ermöglicht das bordseitige Verarbeiten von Befehlen und Routinen. Ferner ist der Prozessor sowohl mit nichtdauerhaften 5 als auch dauerhaften Speichern 7 verbunden. In dieser veranschaulichenden Ausführungsform handelt es sich bei dem nichtdauerhaften Speicher um einen Direktzugriffsspeicher (random access memory-RAM) und bei dem dauerhaften Speicher um einen Festplattenspeicher (hard disk drive-HDD) oder Flash-Speicher. Im Allgemeinen kann der dauerhafte (nichtflüchtige) Speicher alle Speicherformen beinhalten, die Daten behalten, wenn ein Computer oder eine andere Vorrichtung abgeschaltet wird. Diese beinhalten HDDS, CDS, DVDS, Magnetbänder, Festkörperlaufwerke, tragbare USB-Laufwerke und eine beliebige andere geeignete Form von dauerhaftem Speicher, sind aber nicht darauf beschränkt.
-
Der Prozessor ist zudem mit einer Reihe unterschiedlicher Eingänge ausgestattet, die es dem Benutzer ermöglichen, sich über eine Schnittstelle mit dem Prozessor zu verbinden. Bei dieser veranschaulichenden Ausführungsform sind ein Mikrofon 29, ein Hilfseingang 25 (zur Eingabe 33), ein USB-Eingang 23, ein GPS-Eingang 24, ein Bildschirm 4, der eine Touchscreen-Anzeige sein kann, und ein BLUETOOTH-Eingang 15 alle bereitgestellt. Zudem ist eine Eingangswähleinheit 51 bereitgestellt, damit ein Benutzer zwischen verschiedenen Eingängen wechseln kann. Eingaben sowohl an das Mikrofon als auch den Hilfsanschluss werden durch einen Wandler 27 von analog zu digital umgewandelt, bevor sie zum Prozessor weitergeleitet werden. Wenngleich nicht gezeigt, können viele der Fahrzeugkomponenten und Hilfskomponenten, die mit dem VCS in Kommunikation stehen, ein Fahrzeugnetzwerk (wie etwa jedoch nicht beschränkt auf einen CAN-Bus) verwenden, um Daten an das und von dem VCS (oder Komponenten davon) weiterzuleiten.
-
Ausgänge zum System können eine visuelle Anzeige 4 und einen Lautsprecher 13 oder einen Stereosystemausgang beinhalten, sind jedoch nicht darauf beschränkt. Der Lautsprecher ist an einen Verstärker 11 angeschlossen und empfängt sein Signal durch einen Digital-Analog-Wandler 9 von dem Prozessor 3. Eine Ausgabe kann zudem zu einer entfernten BLUETOOTH-Vorrichtung erfolgen, wie etwa PND 54 oder einer USB-Vorrichtung, wie etwa der Fahrzeugnavigationsvorrichtung 60 entlang der bidirektionalen Datenströme, die bei 19 bzw. 21 gezeigt sind.
-
Bei einer veranschaulichenden Ausführungsform verwendet das System 1 den BLUETOOTH-Sendeempfänger 15, um mit der Mobilvorrichtung 53 eines Benutzers zu kommunizieren 17 (z. B. Mobiltelefon, Smartphone, PDA oder jede andere WLAN-fähige Vorrichtung). Die Mobilvorrichtung kann anschließend verwendet werden, um beispielsweise durch Kommunikation 55 mit einem Mobilfunkmast 57 mit einem Netzwerk 61 außerhalb des Fahrzeugs 31 zu kommunizieren 59. Bei einigen Ausführungsformen kann es sich bei dem Mast 57 um einen WLAN-Zugangspunkt handeln.
-
Eine beispielhafte Kommunikation zwischen der Mobilvorrichtung und dem BLUETOOTH-Sendeempfänger wird durch das Signal 14 wiedergegeben.
-
Das Koppeln einer Mobilvorrichtung 53 mit dem BLUETOOTH-Sendeempfänger 15 kann durch eine Taste 52 oder eine ähnliche Eingabe angewiesen werden. Dementsprechend wird die CPU angewiesen, dass der bordseitige BLUETOOTH-Sendeempfänger mit einem BLUETOOTH-Sendeempfänger in einer Mobilvorrichtung gekoppelt werden wird.
-
Zwischen der CPU 3 und dem Netzwerk 61 können Daten zum Beispiel unter Verwendung eines Datentarifs, Daten über Sprache oder DTMF-Töne kommuniziert werden, welche der Mobilvorrichtung 53 zugeordnet sind. Alternativ kann es wünschenswert sein, ein bordseitiges Modem 63 einzubeziehen, das eine Antenne 18 aufweist, um Daten zwischen der CPU 3 und dem Netzwerk 61 über das Sprachband zu kommunizieren 16. Die Mobilvorrichtung 53 kann anschließend verwendet werden, um zum Beispiel durch Kommunikation 55 mit einem Mobilfunkmast 57 mit einem Netzwerk 61 außerhalb des Fahrzeugs 31 zu kommunizieren 59. In einigen Ausführungsformen kann das Modem 63 eine Kommunikation 20 mit dem Mast 57 herstellen, um mit dem Netzwerk 61 zu kommunizieren. Als nicht einschränkendes Beispiel kann es sich beim Modem 63 um ein USB-Mobilfunkmodem und bei der Kommunikation 20 um eine Mobilfunkkommunikation handeln.
-
In einer veranschaulichenden Ausführungsform ist der Prozessor mit einem Betriebssystem bereitgestellt, das eine API zum Kommunizieren mit einer Modemanwendungssoftware beinhaltet. Die Modemanwendungssoftware kann auf ein eingebettetes Modul oder eine Firmware auf dem BLUETOOTH-Sendeempfänger zugreifen, um die drahtlose Kommunikation mit einem entfernten BLUETOOTH-Sendeempfänger (wie etwa dem in einer Mobilvorrichtung) abzuschließen. Bei Bluetooth handelt es sich um eine Teilmenge der IEEE 802 PAN-(Personal Area Network)-Protokolle. IEEE-802-LAN-(Local Area Network)-Protokolle beinhalten WLAN und haben eine beträchtliche Kreuzfunktionalität mit IEEE 802 PAN. Beide eignen sich für die drahtlose Kommunikation in einem Fahrzeug. Ein weiteres Kommunikationsmittel, welches in diesem Bereich verwendet werden kann, sind die optische Freiraumkommunikation (wie etwa IrDA) und nicht standardisierte Verbraucher-IR-Protokolle.
-
In einer anderen Ausführungsform beinhaltet die Mobilvorrichtung 53 ein Modem zur Sprachband- oder Breitbanddatenkommunikation. Bei der Daten-über-Sprache-Ausführungsform kann eine Technik umgesetzt werden, welche als Frequenzmultiplexverfahren bekannt ist, wenn der Besitzer der Mobilvorrichtung bei gleichzeitiger Datenübertragung über die Vorrichtung sprechen kann. Zu anderen Zeitpunkten, wenn der Besitzer der Vorrichtung nicht verwendet, kann für die Datenübertragung die ganze Bandbreite (300 Hz bis 3,4 kHz in einem Beispiel) verwendet werden. Obwohl das Frequenzmultiplexverfahren bei der analogen Mobilfunkkommunikation zwischen dem Fahrzeug und dem Internet geläufig sein kann und nach wie vor verwendet wird, wurde es weitgehend durch Hybride von Codemultiplexverfahren (Code Domain Multiple Access-CDMA), Zeitmultiplexverfahren (Time Domain Multiple Access - TDMA), Raummultiplexverfahren (Space Domain Multiple Access SDMA) für eine digitale Mobilfunkkommunikation ersetzt. Ist die Mobilvorrichtung des Benutzers einem Datentarif zugeordnet, besteht die Möglichkeit, dass der Datentarif eine Breitbandübertragung ermöglicht und das System eine wesentlich größere Bandbreite nutzen könnte (wodurch sich die Datenübertragungsgeschwindigkeit erhöht). In noch einer anderen Ausführungsform wird die Mobilvorrichtung 53 durch eine Mobilfünkkommunikationsvorrichtung (nicht gezeigt) ersetzt, welche in dem Fahrzeug 31 verbaut ist. In noch einer weiteren Ausführungsform kann die ND 53 eine Vorrichtung eines drahtlosen lokalen Netzwerks (LAN) sein, das zum Beispiel (und ohne Beschränkung) über ein 802.11g-Netzwerk (d. h. WLAN) oder ein WiMax-Netzwerk kommunizieren kann.
-
In einer Ausführungsform können ankommende Daten durch die Mobilvorrichtung über Daten-über-Sprache oder einen Datentarif durch den bordseitigen BLUETOOTH-Sendeempfänger und in den internen Prozessor 3 des Fahrzeugs weitergeleitet werden. Im Falle bestimmter temporärer Daten können die Daten zum Beispiel auf dem HDD oder einem anderen Speichermedium 7 gespeichert werden, bis die Daten nicht mehr benötigt werden.
-
Zusätzliche Quellen, welche eine Verbindung mit dem Fahrzeug herstellen können, sind eine persönliche Navigationsvorrichtung 54, beispielsweise mit einem USB-Anschluss 56 und/oder einer Antenne 58, eine im Fahrzeug integrierte Navigationsvorrichtung 60 mit einem USB- 62 oder einem anderen Anschluss, eine bordseitige GPS-Vorrichtung 24 oder ein separates Navigationssystem (nicht dargestellt) mit Konnektivität zum Netzwerk 61. Bei USB handelt es sich um eines einer Klasse serieller Netzwerkprotokolle. Die seriellen Protokolle IEEE 1394 (FireWire™ (Apple), i.LINK™ (Sony) und Lynx™ (Texas Instruments)), EIA (Electronics Industry Association), IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) und USB-IF (USB Implementers Forum) bilden das Rückgrat der seriellen Vorrichtung-zu-Vorrichtung-Standards. Die Mehrheit der Protokolle kann entweder für elektrische oder optische Kommunikation umgesetzt werden.
-
Ferner könnte die CPU mit einer Vielfalt von anderen Hilfsvorrichtungen 65 in Kommunikation stehen. Diese Vorrichtungen können über eine drahtlose 67 oder drahtgebundene 69 Verbindung verbunden sein. Die Hilfsvorrichtungen 65 können persönliche Medienwiedergabegeräte, drahtlose Gesundheitsvorrichtungen, tragbare Computer und dergleichen beinhalten, sind darauf jedoch nicht beschränkt.
-
Darüber hinaus oder alternativ könnte die CPU mit einem fahrzeugbasierten drahtlosen Router 73 verbunden sein, der zum Beispiel einen WLAN-Sendeempfänger 71 (IEEE 803.11) verwendet. Dies könnte der CPU ermöglichen, sich mit Fernnetzwerken in Reichweite des lokalen Routers 73 zu verbinden.
-
Zusätzlich zur Ausführung beispielhafter Prozesse durch ein sich in einem Fahrzeug befindliches Fahrzeugrechensystem können die beispielhaften Prozesse bei bestimmten Ausführungsformen durch ein Rechensystem ausgeführt werden, welches mit einem Fahrzeugrechensystem in Kommunikation steht. Ein derartiges System kann eine drahtlose Vorrichtung (z. B. und nicht beschränkt auf ein Mobiltelefon) oder ein über die drahtlose Vorrichtung verbundenes entferntes Rechensystem (z. B. und nicht beschränkt auf einen Server) beinhalten, ist darauf jedoch nicht beschränkt. Zusammen können derartige Systeme als dem Fahrzeug zugeordnete Rechensysteme (vehicle associated computing systems - VACS) bezeichnet werden. In bestimmten Ausführungsformen können bestimmte Komponenten des VACS bestimmte Teile eines Prozesses ausführen, wobei dies von der konkreten Umsetzung des Systems abhängt. Wenn ein Prozess beispielsweise und nicht darauf beschränkt einen Schritt des Sendens oder Empfangens von Informationen mit einer gekoppelten drahtlosen Vorrichtung aufweist, ist es wahrscheinlich, dass die drahtlose Vorrichtung diesen Abschnitt des Prozesses nicht durchführt, da die drahtlose Vorrichtung Informationen nicht sich selbst bzw. von sich selbst „senden und empfangen“ würde. Ein Durchschnittsfachmann versteht, wann es unangemessen ist, ein bestimmtes Rechensystem auf eine bestimmte Lösung anzuwenden.
-
Bei jeder der hier erörterten veranschaulichenden Ausführungsformen wird ein beispielhaftes nicht einschränkendes Beispiel eines Prozesses gezeigt, der durch ein Rechensystem durchgeführt werden kann. In Bezug auf den jeweiligen Prozess kann das Rechensystem, das den Prozess ausführt, für den beschränkten Zweck der Ausführung des Prozesses als ein Spezialprozessor zum Durchführen des Prozesses ausgelegt sein. Alle Prozesse müssen nicht in ihrer Gesamtheit durchgeführt werden und sind als Beispiele von Prozesstypen zu verstehen, die durchgeführt werden können, um Elemente der Erfindung zu verwirklichen. Zusätzliche Schritte können nach Bedarf zu den beispielhaften Prozessen hinzugefügt oder daraus entfernt werden.
-
In Bezug auf die veranschaulichenden Ausführungsformen, die in den veranschaulichende Prozessabläufe zeigenden Figuren beschrieben sind, ist anzumerken, dass ein Universalprozessor temporär als ein Spezialprozessor zum Zwecke des Ausführens einiger oder aller der in diesen Figuren gezeigten beispielhaften Verfahren aktiviert werden kann. Wenn Code ausgeführt wird, der Anweisungen zum Durchführen einiger oder aller Schritte des Verfahrens bereitstellt, kann der Prozessor temporär erneut als ein Spezialprozessor eingesetzt werden, und zwar solange, bis das Verfahren abgeschlossen ist. In einem weiteren Beispiel kann, bis zu einem angemessenen Grad, Firmware, die in Übereinstimmung mit einem vorkonfigurierten Prozessor handelt, bewirken, dass der Prozessor als ein Spezialprozessor handelt, der zum Zwecke des Durchführens des Verfahrens oder einer angemessenen Variation davon bereitgestellt ist.
-
Die veranschaulichenden Ausführungsformen schlagen Systeme und Verfahren vor, die sowohl das Vorhandensein einer tragbaren Vorrichtung als auch drahtlose Kommunikation in unmittelbarer Nähe einsetzen, um ein Entriegelungs- und Zündparadigma zu entwickeln. Zusätzlich zum Erfassen einer tragbaren (oder anderen mobilen) Vorrichtung in unmittelbarer Nähe, wenn eine Entriegelungsanforderung verarbeitet wird, verwendet das System zum Beispiel einen kontinuierlichen Codeerzeugungsprozess, der die Entriegelungs- und/oder Startcodes auf einer pro-Zyklus-Basis aktualisiert. Dies hilft dabei, Replay-Angriffe und andere Mechanismen, die verwendet werden können, um unangemessen die Kontrolle über ein Fahrzeug zu übernehmen, zu verhindern.
-
2A zeigt ein veranschaulichendes Beispiel eines Prozesses zur Codeerfassung. In diesem veranschaulichenden Beispiel erfasst der Prozess 201, dass die Hand eines Benutzers einen kapazitiven Türgriff berührt hat (oder anderweitig physisch mit dem Fahrzeug in Eingriff getreten ist). Als Reaktion auf das Erfassen der Griffberührung sendet 203 der Prozess eine Anfrage an eine tragbare Benutzervorrichtung, die in diesem Beispiel einen Authentifizierungscode, der von dem Fahrzeug bei einer vorherigen Abschaltung erzeugt wurde, speichert.
-
Der Prozess empfängt 205 eine Antwort von der tragbaren Benutzervorrichtung, die den von der tragbaren Benutzervorrichtung gespeicherten Code beinhaltet. Der Prozess beinhaltet außerdem eine Sicherheitsmaßnahme, um sicherzustellen, dass der Benutzer, der den Türgriff berührt, auch der Benutzer ist, der die Vorrichtung trägt (um Zugang durch eine Person, die das Fahrzeug berührt, während der eigentliche Benutzer noch 50 Fuß entfernt ist zu vermeiden) und der Prozess bestimmt 207 die Nähe der Vorrichtung in Bezug auf die tragbare Vorrichtung. Dies kann zum Beispiel Erfassen einer empfangenen Signalstärkeanzeige (received signal strength indicator - RSSI) von der tragbaren Vorrichtung beinhalten, die die Stärke des Anfragesignals, wie von der tragbaren Vorrichtung erfasst, anzeigt. Andere geeignete Mittel zum Bestimmen der Nähe (NFC/RFID, BLE usw.) sind ebenfalls angemessen.
-
Wenn sich die tragbare Vorrichtung in angemessener Nähe 209 (z. B. innerhalb einer vorbestimmten Nähe) befindet, bestimmt der Prozess 211, ob der empfangene Vorrichtungscode korrekt ist. Wenn sich die tragbare Vorrichtung außerhalb des vordefinierten Bereichs befindet, oder der Vorrichtungscode inkorrekt ist, endet der Prozess, kann aber außerdem eine Textnachricht oder andere Nachricht an eine Benutzervorrichtung senden 213, um den Benutzer zu informieren, dass ein ungültiger Zugangsversuch unternommen wurde. Wenn sich die tragbare Vorrichtung innerhalb der Nähe befindet und der Code gültig ist, kann der Prozess das Fahrzeug entriegeln 215.
-
In diesem Beispiel validiert der Prozess den Code von der Vorrichtung auf Grundlage eines lokal gespeicherten Codes, der bei einer vorherigen Abschaltung erzeugt wurde. Somit beinhalten sowohl die Vorrichtung als auch der lokale Speicher den gleichen Code (der Code, der an die Vorrichtung übertragen wurde). Wenn die Vorrichtung einen ungültigen Code hat, sind Umgehungsschritte möglich, wie in Bezug auf einige der später folgenden Figuren erörtert.
-
2B zeigt ein veranschaulichendes Beispiel eines Entriegelungssignalflusses. In diesem Beispiel tritt ein Benutzer 221 mit einer Fahrzeugfläche (wie etwa einem kapazitiven Griff) mit der Hand 231 des Benutzers in Eingriff. Dies führt dazu, dass ein Berührungserkennungssignal an dem intelligenten Griff 235 erzeugt wird. Der intelligente Griff signalisiert dem Karosseriesteuermodul (body control module - BCM) 237, das eine Verifizierungsanforderung an ein Fahrzeug-Sendeempfängermodul 233 sendet. Das Sendeempfängermodul sendet eine Anforderung für einen verschlüsselten Code an ein Sendeempfängermodul 229 der tragbaren Vorrichtung 225.
-
Als Reaktion auf die Anforderung greift das Sendeempfängermodul der tragbaren Vorrichtung auf einen gespeicherten verschlüsselten Code 221 zu, der in diesem Beispiel bei der vorherigen Fahrzeugabschaltung gespeichert wurde. Das Sendeempfängermodul der tragbaren Vorrichtung sendet diesen Code zu dem Sendeempfängermodul des Fahrzeugs zurück und sendet außerdem einen Schlüssel-ID-Code, der verwendbar ist, um den Abstand zwischen dem Fahrzeug und der tragbaren Vorrichtung zu bestimmen. Das Sendeempfängermodul des Fahrzeugs kann (zum Beispiel auf Grundlage eines vordefinierten Schwellenwerts) verifizieren, dass sich die tragbare Vorrichtung innerhalb des angemessenen Abstands befindet, und kann den empfangenen verschlüsselten Code anhand des lokal auf dem Fahrzeug gespeicherten Codes verifizieren. Das Sendeempfängermodul des Fahrzeugs sendet eine Verifizierung an das BCM, welches als Reaktion auf die Verifizierung beider Elemente ein Entriegelungssignal an den Fahrzeugverriegelungsmechanismus 239 sendet.
-
3A zeigt ein veranschaulichendes Beispiel einer Fahrzeugabschaltsequenz und eines Prozesses zur Schlüsselerzeugung. In diesem Beispiel erzeugt das Fahrzeug jedes Mal, wenn das Fahrzeug ausgeschaltet wird (und/oder in die Parkposition gebracht wird), einen neuen geheimen Code, der verwendbar ist, um das Fahrzeug zumindest zu starten. Der gleiche Code kann für Zugang und Starten verwendet werden, oder ein anderer Code kann von jedem Prozess verwendet werden. In einigen Ausführungsformen, um ein Aussperren zu vermeiden, wenn die Benutzervorrichtung bei der letzten Abschaltung nicht eingeschaltet war (und daher den neuen Code nicht empfangen hat), kann der Zugangscode ein fester Code sein und der neue Code kann lediglich zum Starten verwendet werden. Dies würde einem Benutzer zumindest den Zugang zu einem Fahrzeug bei schlechtem Wetter ermöglichen, während Startcodeprobleme gelöst werden (wie in Bezug auf 4 erörtert).
-
In diesem Beispiel erzeugt das Fahrzeug den Code bei der Abschaltung, aber der Code könnte ebenso auf Grundlage von anderen Zustandsänderungen, wie etwa jedoch nicht beschränkt auf Parkereignisse, Nähe zum Ziel, andere Fahrereignisse usw., erzeugt werden. Eine andere Alternative besteht darin, den neuen Code zu erzeugen sobald der alte Schlüssel verwendet wurde, ungültig gemacht wurde (nach Verwendung) und die geeignete drahtlose Vorrichtung (zum Empfangen des neuen Codes) verbunden ist.
-
In diesem Beispiel erfasst 301 der Prozess eine Fahrzeugabschaltung (und/oder einen Parkzustand) und erzeugt als Reaktion einen neuen Code 303. Da der Code an die drahtlose Benutzervorrichtung zur späteren Verwendung übertragen wird, bestimmt 305 der Prozess außerdem, ob die tragbare Benutzervorrichtung vorhanden und verbunden ist. Wenn die Vorrichtung vorhanden und verbunden ist, überträgt 307 der Prozess den neuen Code an die Vorrichtung und speichert 309 lokal eine Kopie des neu erzeugten Codes.
-
Wenn die Vorrichtung nicht erkannt wird, entweder beispielsweise da die Vorrichtung nicht verbunden ist oder da die Vorrichtung ausgeschaltet ist, versucht der Prozess eine Kopie des neuen Codes an die Cloud 311 zu senden. Viele tragbare Vorrichtungen haben Cloud-Zugriff (direkt 3G oder über eine BT-Verbindung mit einer übergeordneten Mobilfunkvorrichtung) und können so eine Verbindung mit einem Cloud-Account erhalten. Wenn also zum Beispiel die tragbare Vorrichtung ausgeschaltet und die Batterie leer ist, kann der Benutzer die Vorrichtung laden, während er weg von dem Fahrzeug ist, und die Vorrichtung kann sich mit der Cloud verbinden, um den neuen Code zu erhalten. Wenn das Fahrzeug den Schlüssel erfolgreich an die Cloud sendet 313, kann der Prozess eine Kopie des Codes lokal speichern 315. Wenn sich das Fahrzeug nicht erfolgreich verbindet, kann der Prozess ein internes Backup-Flag setzen 317 und den Code lokal 319 speichern.
-
Das Backup-Flag kann jederzeit gesetzt werden, wenn das Fahrzeug nicht erfolgreich ist, den Code an die Benutzervorrichtung zu übertragen, unabhängig davon, ob das Fahrzeug sich mit der Cloud verbinden kann oder nicht. Dieses Flag (oder eine ähnliche Anzeige) weist das Fahrzeug an, zu „wissen“, dass die Benutzervorrichtung nicht den korrekten Code haben kann. Wenn die Benutzervorrichtung eingeschaltet wird, wenn der Benutzer sich dem Fahrzeug nähert, nachdem er für eine Zeit weg war, führt der Kommunikationsprozess nicht zu einer Authentifizierung, außer die Benutzervorrichtung hat den Code aus der Cloud erhalten. Das Fahrzeug kann jedoch dieses Ergebnis „erwarten“ und kann einen zweiten Umgehungsprozess betreiben, um entweder dem Benutzer zu erlauben, direkt in das Fahrzeug einzusteigen oder den/die Code(s) in dem Moment, in dem sich der Benutzer nähert, zu übertragen. Dies könnte zum Beispiel eine einfache direkte Übertragung des Codes wenn die Vorrichtung sich verbindet beinhalten oder es könnte die Eingabe einer PIN oder eines Passworts, um den Tausch zu authentifizieren, beinhalten.
-
3B zeigt ein veranschaulichendes Beispiel eines Signalflusses für einen Fahrzeugstartprozess. In diesem Beispiel verwendet der Benutzer 221 seine Hand 231, um einen Fahrzeug-Drucktastenstart 323 zu betreiben. Diese Starttaste sendet ein Startsignal an das Karosseriesteuermodul 237.
-
Als Reaktion auf das Startsignal fordert das BCM einen Startcode (der gleich wie oder anders als der Zugangscode sein kann) von dem primären Fahrzeug-Sendeempfängermodul 233 an. Das Fahrzeug-Sendeempfängermodul 233 sendet eine Anforderung an das Sendeempfängermodul der tragbaren Vorrichtung 229, und fordert den verschlüsselte Startcode 227, der in dem Fahrzeugspeicher gespeichert ist, an. Das Sendeempfängermodul an der tragbaren Vorrichtung antwortet mit dem Startcode und in diesem Beispiel sendet das Sendeempfängermodul außerdem eine Schlüssel-ID, die verwendbar ist, um die Entfernung zu der tragbaren Vorrichtung von den Sendeempfängern, die die Schlüssel-ID empfangen, zu bestimmen.
-
In diesem Beispiel stellt das System vor dem Starten des Fahrzeugs sicher, dass sich die tragbare Vorrichtung innerhalb einer Fahrzeugkabine befindet, damit das primäre Sendeempfängermodul und eines oder mehrere sekundäre Sendeempfängermodule 321 die Schlüssel-ID von der tragbaren Vorrichtung empfangen. Auf Grundlage von RSSI und relativer Positionierung oder ähnlichen Vorrichtungsstandorttechniken kann der Prozess bestimmen, ob sich die tragbare Vorrichtung in einem Fahrzeug befindet oder nicht. Wenn der verschlüsselte Schlüssel korrekt ist und sich die tragbare Vorrichtung in dem Fahrzeug befindet, sendet das System die relevanten Informationen an das BCM. Die Bestimmungen über die Gültigkeit des Codes und den Vorrichtungsstandort können auch an dem BCM vorgenommen werden. Wenn alles stimmt, startet das BCM den Fahrzeugmotor.
-
3C zeigt ein veranschaulichendes Beispiel eines Prozesses für einen Abschaltsignalfluss. In diesem veranschaulichenden Beispiel drückt der Benutzer 221 die Start-/Stopptaste 323 mit seiner Hand 231. Die Taste sendet ein Abschaltsignal an das BCM 237. Als Reaktion auf die Abschaltung (und/oder das Parken) erzeugt das BCM einen neuen verschlüsselten Code und sendet den Code an das Fahrzeug-Sendeempfängermodul 233. Wie vorstehend angemerkt, kann der Auslöser für die Schlüsselerzeugung eine Vielfalt von Fahrzeugzustandsänderungen oder sogar eine Anwendungsanforderung oder einen anderen externen Auslöser beinhalten.
-
Das Fahrzeug-Sendeempfängermodul sendet den Code an eine verbundene tragbare Vorrichtung 225, wo der Code von dem Sendeempfängermodul der Vorrichtung 227 empfangen wird. Die tragbare Vorrichtung speichert den neuen Code 227 lokal und antwortet dem Fahrzeug-Sendeempfängermodul mit einer Empfangsverifizierung. Diese Verifizierung wird an das BCM weiter gegeben, damit das Fahrzeug „weiß“, dass die tragbare Benutzervorrichtung den neu erzeugten Code empfangen hat.
-
4 zeigt ein veranschaulichendes Beispiel eines Schlüssel-Warteschlangenprozesses in der Cloud. In diesem Beispiel war das Fahrzeug nicht dazu in der Lage, den neu erzeugten Schlüssel erfolgreich an die tragbare Benutzervorrichtung zu übertragen, und daher forderte das Fahrzeug an, dass der Schlüssel in der Cloud gespeichert wird für den Fernzugang durch die tragbare Vorrichtung bevor der Fahrzeugneustart angefordert wird.
-
Der Cloud-Server empfängt den Schlüssel 401 und alle relevanten eine Vorrichtung identifizierenden und/oder ein Fahrzeug identifizierenden Daten. Die Cloud versucht dann, eine Verbindung mit der tragbaren Vorrichtung 403 herzustellen. In anderen Modellen kann die Cloud darauf warten, dass die tragbare Vorrichtung versucht, die Verbindung herzustellen, oder eine für einen anderen Zweck hergestellte Verbindung erkennen und dann eine Anforderung an die tragbare Vorrichtung senden.
-
Sobald das System verbunden ist oder eine Verbindungsanforderung positiv beantwortet wurde 405, sendet 405 der Prozess den Schlüssel an eine bekannte Vorrichtung. Zum Beispiel könnte die Vorrichtungs-ID zusammen mit dem neu erzeugten Schlüssel an die Cloud gesendet worden sein. In anderen Beispielen kann die tragbare Vorrichtung oder die Mobilfunkvorrichtung (welche den Schlüssel an die tragbare Vorrichtung übertragen kann) mit einem Benutzer-Account assoziiert sein, mit dem der Schlüssel ebenfalls assoziiert ist, und dies kann die Grundlage für die Schlüssellieferung darstellen. In einem noch anderen Beispiel kann eine Form von Authentifizierung (PIN, Passwort) erforderlich sein.
-
Wenn keine Verbindung hergestellt wird, kann die Cloud weiterhin versuchen 409, den Schlüssel zu liefern bis eine Zeitüberschreitung erreicht 411 ist (oder zum Beispiel ein neuer Schlüssel geliefert wird). Wenn der Schlüssel aufgrund der Zeitüberschreitung oder der Lieferung eines neuen Schlüssels ungültig ist, kann der Prozess den alten Schlüssel löschen 413, um zu vermeiden, dass ein ungültiger Schlüssel an das Telefon gesendet wird. Die Zeitüberschreitung kann zum Beispiel ein Zeitraum von Tagen sein, wobei die Gültigkeit des neu erzeugten Schlüssels für einige Zeit erhalten bleibt, wenn ein neuer Schlüssel nicht empfangen wird. In Zukunft, wenn das Fahrzeug einen neuen Schlüssel erzeugt hat, kann das Fahrzeug die Cloud benachrichtigen oder den neuen Schlüssel an die Cloud liefern, was dazu führt, dass der alte Schlüssel ungültig gemacht und gelöscht wird.
-
5 zeigt ein veranschaulichendes Beispiel eines Prozesses zur lokalen Schlüssel-Backup-Lieferung. In diesem Beispiel war die tragbare Benutzervorrichtung oder die Vorrichtung, auf der der Schlüssel gespeichert ist, zum Zeitpunkt der Fahrzeugabschaltung nicht verbunden, und die Vorrichtung war nicht dazu in der Lage, den Schlüssel aus der Cloud zu empfangen. Um zu verhindern, dass der Benutzer ständig aus dem Fahrzeug ausgesperrt wird, versucht der Prozess eine lokal gespeicherte Version des aktuellen Schlüssels an eine bekannte Vorrichtung zu liefern, wenn der Benutzer versucht, mit der Vorrichtung, auf der ein ungültiger alter Schlüssel gespeichert ist, in das Fahrzeug einzusteigen. In diesem Beispiel erfasst der Prozess 201 die Ineingriffnahme des Fahrzeuggriffs und sendet 203 die übliche Anfrage an die Benutzervorrichtung, die den Schlüssel anfordert.
-
Es kann der Fall sein, dass das Fahrzeug „weiß“, dass der Schlüssel nicht erfolgreich geliefert wurde, aber das Fahrzeug kann versuchen, eine Standardverbindung herzustellen, in dem Fall, dass die Benutzervorrichtung dazu in der Lage war, den Schlüssel aus der Cloud zu erhalten während der Benutzer weg vom Fahrzeug war. Wenn der Prozess keine Antwort 501 erhält, kann der Prozess eine Nachricht an die tragbare Benutzervorrichtung und/oder eine sekundäre Benutzervorrichtung (z. B. Mobiltelefon) senden 505, die anzeigt, dass die tragbare Vorrichtung eingeschaltet werden sollte und die Kommunikation aktiviert werden sollte. Der Prozess kann dann den Versuch wiederholen, nachdem er einen Zeitraum gewartet hat.
-
Wenn der Prozess eine Antwort empfängt und der empfangene verschlüsselte Code/Schlüssel gültig 503 ist, kann der Prozess zu Schritt 207 aus 2 übergehen. Wenn der Schlüssel ungültig ist, kann der Prozess Anweisungen senden 507, damit die Vorrichtung versucht, den Schlüssel aus der Cloud zu erhalten. In diesem Beispiel erfordert der lokale Schlüsselabruf eine PIN und der Cloud-Schlüsselabruf nicht, sodass das System zuerst die Vorrichtung anweist, zu versuchen, den Schlüssel aus der Cloud abzurufen, um die Benutzerbeteiligung zu minimieren. Wenn die Vorrichtung mit einem gültigen Schlüssel 509, den sie aus der Cloud erhalten hat, antwortet, geht der Prozess zu Schritt 207 über.
-
Wenn die Vorrichtung nicht dazu in der Lage ist, den Schlüssel aus der Cloud zu erhalten, kann die Vorrichtung eine lokale Schlüsselanforderung stellen. Wenn der Prozess eine Anforderung 511 für eine lokale Schlüssellieferung erhält, während er auf die Lieferung des gültigen Schlüssels wartet, kann der Prozess eine Benutzer-PIN oder ein Passwort verlangen. Der Prozess empfängt 513 die Benutzer-PIN oder das Passwort (die/das auf der Vorrichtung oder auf einer Fahrzeugschnittstelle, wie etwa ein Tür-Tochpad, eingegeben wird). Wenn die PIN oder das Passwort gültig 515 ist, kann der Prozess den Schlüssel lokal an die erwartete Vorrichtung 517 übertragen. Wenn das Passwort oder die PIN ungültig ist, kann der Prozess eine Nachricht an die tragbare Vorrichtung und/oder ein Mobiltelefon senden 519, die anzeigt, dass ein ungültiger Versuch, einen lokalen Schlüssel zu erhalten, verarbeitet wurde.
-
Durch die Verwendung der veranschaulichenden Ausführungsformen wird ein sicherer und wiederholbarer Prozess zur Schlüsselerzeugung und -verwendung erhalten. Das System ist widerstandsfähig gegenüber Replay-Angriffen und ist dazu in der Lage, konstant neue Schlüssel bereitzustellen und diese Schlüssel als Grundlage für den Zugang und/oder Fahrzeugstart zu verwenden.
-
Oben werden zwar beispielhafte Ausführungsformen beschrieben, doch ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Ausbildungen der Erfindung beschreiben. Die in der Beschreibung verwendeten Ausdrücke sind beschreibende und keine einschränkenden Ausdrücke, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne von Wesen und Schutzumfang der Erfindung abzuweichen. Zusätzlich können die Merkmale verschiedener umsetzender Ausführungsformen auf logische Weise kombiniert werden, um situationsgerechte Variationen von hier beschriebenen Ausführungsformen zu bilden.