-
Die vorliegende Erfindung betrifft im Allgemeinen ein System und ein Verfahren für den sicheren Nachrichtenaustausch zwischen Fahrzeugen und in bestimmten Ausführungsformen ein System und ein Verfahren für den Nachrichtenaustausch zwischen Fahrzeugen über eine Public Key Infrastructure (PKI).
-
Mit wachsender Größe und Komplexität von Beförderungssystemen steigt auch der Bedarf an effektiven Kollisionsvermeidungssystemen für mehrere Fahrzeuge, um die Sicherheit der sich innerhalb dieser Systeme bewegenden Fahrzeuge zu verbessern. Solche Kollisionsvermeidungssysteme können auf den Nachrichtenaustausch zwischen Fahrzeugen und einer Infrastruktur zurückgreifen, um verkehrsbezogene und Kollisions-Sicherheitsinformationen zu übertragen.
-
Die kryptographischen Informationen solcher Kollisionsvermeidungssysteme müssen jedoch sicher sein, um zu gewährleisten, dass sowohl sicherheitsrelevante Nachrichten zwischen Fahrzeugen authentisch sind als auch die Privatsphäre der Fahrzeuginhaber und ihr Fahrverhalten geschützt sind. Das Bereitstellen dieser kryptographischen Unterstützung für übertragene Nachrichten schafft beträchtliche Herausforderungen. Um die Kosten des Bordsystems (On-Board Equipment, OBE) eines jeden Fahrzeugs zu minimieren, sind Verfahren zum Verteilen von kryptografischen Schlüsseln erforderlich, die ohne genaue Uhrzeit/Kalender-Einhaltung oder -synchronisierung in Fahrzeugen auskommen.
-
Um darüber hinaus die Privatsphäre der Fahrzeuginhaber zu schützen, sollten Mechanismen bereitgestellt werden, um kryptographische Zertifikate sicher und anonym an Fahrzeuge zu übermitteln und diese Zertifikate anonym für Fahrzeuge zu widerrufen, die eine Sicherheitsgefahr darstellen. Wenn die Anzahl der Zertifikate und die Größe der Zertifikatssperrlisten (Certificate Revocation Lists, CRLs) jedoch nicht minimiert werden kann, ist die für eine Umsetzung solch eines Kollisionsvermeidungssystem erforderliche Kommunikationsinfrastruktur durch die wachsende geographische Abdeckung des Systems und die wachsende Anzahl an Fahrzeugen unerschwinglich.
-
Eine Aufgabe besteht insbesondere darin, die Sicherheit des Nachrichtenaustausches zu verbessern.
-
Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind insbesondere den abhängigen Ansprüchen entnehmbar.
-
Diese hierin vorgeschlagenen Beispiele können insbesondere auf zumindest einer der nachfolgenden Lösungen basieren. Insbesondere können Kombinationen der nachfolgenden Merkmale eingesetzt werden, um ein gewünschtes Ergebnis zu erreichen. Die Merkmale des Verfahrens können mit (einem) beliebigen Merkmal(en) der Vorrichtung, des Geräts oder Systems oder umgekehrt kombiniert werden.
-
Es wird ein Verfahren zur Fahrzeug-Nachrichtenübermittlung vorgeschlagen, umfassend die folgenden Schritte:
- – Erhalten vertrauenswürdiger Ausgangsinformationen umfassend einen öffentlichen Stammschlüssel (RPK) durch ein erstes Fahrzeug;
- – Erhalten eines Nachrichtenauthentifizierungssatzes umfassend einen ersten Pool von Gruppenzertifikat(GC)-Sätzen und ein erstes Fahrzeug-Authentifizierungszertifikat (VAC) durch das erste Fahrzeug, wobei das erste VAC eine erste verschlüsselte Seriennummer (ESN) des ersten Fahrzeugs umfasst;
- – Auswählen eines ersten GC-Satzes aus dem ersten Pool durch das erste Fahrzeug, wobei der erste GC-Satz ein erstes GC und einen ersten privaten Gruppenschlüssel (Gpk) umfasst;
- – Ermitteln einer ersten Signatur entsprechend einer ersten Nachricht und einer Digest-Funktion durch das erste Fahrzeug, wobei die erste Nachricht das erste GC umfasst;
- – Senden eines ersten Datagramms, das die erste Nachricht und die erste Signatur umfasst, durch das erste Fahrzeug;
- – Empfangen eines zweiten Datagramms, das ein zweites GC und eine zweite Signatur umfasst, durch das erste Fahrzeug, wobei das zweite GC eine Kopie eines im ersten Pool enthaltenen GC ist;
- – Empfangen eines dritten Datagramms, das ein drittes GC und eine dritte Signatur umfasst, durch das erste Fahrzeug, wobei das dritte GC keine Kopie eines im ersten Pool enthaltenen GC ist;
- – Überprüfen des zweiten Datagramms entsprechend der Digest-Funktion und des RPK; und
- – Überprüfen des dritten Datagramms entsprechend der Digest-Funktion und des RPK.
-
Es ist eine Weiterbildung, dass
- – das erste GC einen ersten öffentlichen Gruppenschlüssel(GPK)-Rekonstruktionswert für einen ersten GPK umfasst; und
- – der erste GPK ein passender öffentlicher Schlüssel des ersten Gpk ist.
-
Es ist eine Weiterbildung, dass
- – das Ermitteln der ersten Signatur weiterhin entsprechend dem ersten Gpk erfolgt;
- – das zweite GC einen zweiten GPK-Rekonstruktionswert umfasst;
- – das Überprüfen des zweiten Datagramm umfasst:
– Ermitteln eines zweiten GPK entsprechend dem zweiten GPK-Rekonstruktionswert und dem RPK durch das erste Fahrzeug; und
– Überprüfen des zweiten Datagramms entsprechend der Digest-Funktion und dem zweiten GPK durch das erste Fahrzeug;
- – das dritte GC einen dritten GPK-Rekonstruktionswert umfasst; und
- – das Überprüfen des dritten Datagramms umfasst:
– Ermitteln eines dritten GPK entsprechend dem dritten GPK-Rekonstruktionswert und dem RPK durch das erste Fahrzeug; und
– Überprüfen des dritten Datagramms entsprechend der Digest-Funktion und dem dritten GPK durch das erste Fahrzeug.
-
Es ist eine Weiterbildung, dass das Verfahren umfasst:
- – Ermitteln eines ersten dynamischen privaten Fahrzeug-Schlüssels (VDpk) entsprechend dem ersten Gpk durch das erste Fahrzeug; und
- – Ermitteln eines ersten Rekonstruktionswerts eines dynamischen öffentlichen Schlüssels (VDPK) eines Fahrzeugs für einen ersten VDPK, der ein passender öffentlicher Schlüssel des ersten VDpk ist, durch das erste Fahrzeug;
– wobei die erste Nachricht weiterhin den ersten VDPK-Rekonstruktionswert umfasst;
– wobei das Ermitteln der ersten Signatur weiterhin entsprechend dem ersten VDpk erfolgt;
– wobei das zweite Datagramm weiterhin einen zweiten GPK-Rekonstruktionswert und einen zweiten VDPK-Rekonstruktionswert umfasst;
– wobei das Überprüfen des zweiten Datagramms umfasst:
– Ermitteln eines zweiten GPK entsprechend dem zweiten GPK-Rekonstruktionswert und dem RPK durch das erste Fahrzeug;
– Ermitteln eines zweiten VDPK entsprechend dem zweiten VDPK-Rekonstruktionswert und dem zweiten GPK durch das erste Fahrzeug; und
– Überprüfen des zweiten Datagramms entsprechend der Digest-Funktion und dem zweiten VDPK durch das erste Fahrzeug;
– wobei das dritte Datagramm weiterhin einen dritten GPK-Rekonstruktionswert und einen dritten VDPK-Rekonstruktionswert umfasst; und
– wobei das Überprüfen des dritten Datagramm umfasst:
– Ermitteln eines dritten GPK entsprechend dem dritten GPK-Rekonstruktionswert und dem RPK durch das erste Fahrzeug;
– Ermitteln eines dritten VDPK entsprechend dem dritten VDPK-Rekonstruktionswert und dem dritten GPK durch das erste Fahrzeug; und
– Überprüfen des dritten Datagramms entsprechend der Digest-Funktion und dem dritten VDPK durch das erste Fahrzeug.
-
Es ist eine Weiterbildung, dass das Verfahren umfasst:
- – Verknüpfen der ersten ESN entsprechend einer Nonce, um eine verknüpfte ESN zu erzeugen; und
- – Verschlüsseln der verknüpften ESN entsprechend dem RPK und dem ersten Gpk, um eine erste doppelt verschlüsselte Seriennummer (DESN) des ersten Fahrzeugs zu erzeugen;
– wobei die erste Nachricht weiterhin die erste DESN umfasst;
– wobei das zweite Datagramm weiterhin eine zweite DESN eines zweiten Fahrzeugs umfasst; und
– wobei das dritte Datagramm weiterhin Senderdaten umfasst, die eines von einer dritten DESN eines dritten Fahrzeugs und der zweiten DESN umfasst.
-
Es ist eine Weiterbildung, dass das Verfahren umfasst:
- – Ermitteln eines öffentlichen Fahrzeug-Authentifizierungsschlüssels (VAPK), der ein passender öffentlicher Schlüssel eines privaten Fahrzeug-Authentifizierungsschlüssels (VApk) ist, durch das erste Fahrzeug;
- – Verschlüsseln des VAPK entsprechend dem RPK durch das erste Fahrzeug, um einen RPK-verschlüsselten VAPK zu erzeugen; und
- – Senden einer Registrierungsanfrage umfassend den RPK-verschlüsselten VAPK und eine erste Fahrzeug-Seriennummer (SN) des ersten Fahrzeugs, durch das erste Fahrzeug;
– wobei die vertrauenswürdigen Ausgangsinformationen weiterhin den VApk und die erste SN umfassen; und
– wobei das Erhalten des Nachrichtenauthentifizierungssatzes umfasst:
– Empfangen eines Registrierungspakets durch das erste Fahrzeug; und
– Entschlüsseln des Registrierungspakets entsprechend dem VApk durch das erste Fahrzeug, um den Nachrichtenauthentifizierungssatz zu erhalten.
-
Es ist eine Weiterbildung, dass das Verfahren umfasst:
- – Empfangen einer Zertifikatsperrliste (CRL) durch das erste Fahrzeug;
- – Ermitteln entsprechend der CRL, dass ein empfangenes GC gesperrt ist, durch das erste Fahrzeug, wobei das empfangene GC mindestens eines vom zweiten GC oder vom dritten GC umfasst; und
- – Senden einer Warnnachricht, die anzeigt, dass das empfangene GC gesperrt ist, durch das erste Fahrzeug.
-
Auch wird ein System zur Fahrzeug-Nachrichtenübermittlung angegeben, umfassend:
- – ein Bordsystem (OBE), das eingerichtet ist, sich in einem ersten Fahrzeug zu befinden, wobei das OBE umfasst:
– einen Prozessor; und
– einen nicht flüchtigen, computerlesbaren Datenträger;
- – wobei vertrauenswürdige Ausgangsinformationen in dem nicht flüchtigen, computerlesbaren Datenträger gespeichert sind, die vertrauenswürdigen Ausgangsinformationen einen öffentlichen Stammschlüssel (RPK) umfassen, und
- – wobei die Programmierung für die Ausführung durch den Prozessor in dem nicht flüchtigen, computerlesbaren Datenträger gespeichert ist, wobei die Programmierung Anweisungen umfasst, um:
– einen Nachrichtenauthentifizierungssatz umfassend einen ersten Pool von Gruppenzertifikat(GC)-Sätzen und ein erstes Fahrzeug-Authentifizierungszertifikat (VAC) zu erhalten, wobei das erste VAC eine erste verschlüsselte Seriennummer (ESN) des ersten Fahrzeugs umfasst;
– einen ersten GC-Satz aus dem ersten Pool auszuwählen, wobei der erste GC-Satz ein erstes GC und einen ersten privaten Gruppenschlüssel (Gpk) umfasst;
– eine erste Signatur entsprechend einer ersten Nachricht und einer Digest-Funktion zu ermitteln, wobei die erste Nachricht das erste GC umfasst;
– ein erstes Datagramm umfassend die erste Nachricht und die erste Signatur zu senden;
– ein zweites Datagramm umfassend ein zweites GC und eine zweite Signatur zu empfangen, wobei das zweite GC eine Kopie eines im ersten Pool enthaltenen GC ist;
– ein drittes Datagramm umfassend ein drittes GC und eine dritte Signatur zu empfangen, wobei das dritte GC keine Kopie eines im ersten Pool enthaltenen GC ist;
– das zweite Datagramm entsprechend der Digest-Funktion und dem RPK zu überprüfen; und
– das dritte Datagramm entsprechend der Digest-Funktion und dem RPK zu überprüfen.
-
Es ist eine Weiterbildung, dass
- – das erste GC einen Rekonstruktionswert eines ersten öffentlichen Gruppenschlüssels (GPK) für einen ersten GPK umfasst; und
- – der erste GPK ein passender öffentlicher Schlüssel des ersten Gpk ist.
-
Es ist eine Weiterbildung, dass
- – die Anweisungen zum Ermitteln der ersten Signatur die Anweisungen umfassen, die erste Signatur entsprechend der ersten Nachricht, der Digest-Funktion und dem ersten Gpk zu ermitteln;
- – das zweite GC einen zweiten GPK-Rekonstruktionswert umfasst;
- – die Anweisungen zum Überprüfen des zweiten Datagramms Anweisungen umfassen, um:
– einen zweiten GPK entsprechend dem zweiten GPK-Rekonstruktionswert und dem RPK zu ermitteln; und
– das zweite Datagramm entsprechend der Digest-Funktion und dem zweiten GPK zu überprüfen;
- – das dritte GC einen dritten GPK-Rekonstruktionswert umfasst; und
- – die Anweisungen zum Überprüfen des dritten Datagramms Anweisungen umfassen, um:
– einen dritten GPK entsprechend dem dritten GPK Rekonstruktionswert und dem RPK zu ermitteln; und
– das dritte Datagramm entsprechend der Digest-Funktion und dem dritten GPK zu überprüfen.
-
Es ist eine Weiterbildung, dass
- – die Programmierung weiterhin Anweisungen umfasst, um:
– durch das erste Fahrzeug einen ersten dynamischen privaten Schlüssel des Fahrzeugs (VDpk) entsprechend dem ersten Gpk zu ermitteln; und
– durch das erste Fahrzeug einen ersten Rekonstruktionswert eines dynamischen öffentlichen Schlüssels des Fahrzeugs (VDPK) für einen ersten VDPK zu ermitteln, der ein passender öffentlicher Schlüssel des ersten VDpk ist;
- – die erste Nachricht weiterhin den ersten VDPK-Rekonstruktionswert umfasst;
- – die Anweisungen zum Ermitteln der ersten Signatur Anweisungen umfassen, um die erste Signatur entsprechend der ersten Nachricht, der Digest-Funktion und dem ersten VDpk zu ermitteln;
- – das zweite Datagramm weiterhin einen zweiten GPK-Rekonstruktionswert und einen zweiten VDPK-Rekonstruktionswert umfasst;
- – die Anweisungen zum Überprüfen des zweiten Datagramms Anweisungen umfassen, um:
– einen zweiten GPK entsprechend dem zweiten GPK-Rekonstruktionswert und dem RPK zu ermitteln;
– einen zweiten VDPK entsprechend dem zweiten VDPK-Rekonstruktionswert und dem zweiten GPK zu ermitteln; und
– das zweite Datagramm entsprechend der Digest-Funktion und dem zweiten VDPK zu überprüfen;
- – das dritte Datagramm weiterhin einen dritten GPK-Rekonstruktionswert und einen dritten VDPK-Rekonstruktionswert umfasst; und
- – die Anweisungen zum Überprüfen des dritten Datagramms Anweisungen umfassen, um:
– einen dritten GPK entsprechend dem dritten GPK-Rekonstruktionswert und dem RPK zu ermitteln;
– einen dritten VDPK entsprechend dem dritten VDPK-Rekonstruktionswert und dem dritten GPK zu ermitteln; und
– das dritte Datagramm entsprechend der Digest-Funktion und dem dritten VDPK zu überprüfen.
-
Es ist eine Weiterbildung, dass
- – die Programmierung weiterhin Anweisungen umfasst, um:
– die erste ESN entsprechend einer Nonce zu verknüpfen, um eine verknüpfte ESN zu erstellen; und
– die verknüpfte ESN entsprechend dem RPK und dem ersten Gpk zu verschlüsseln, um eine erste doppelt verschlüsselte Seriennummer (DESN) des ersten Fahrzeugs zu erstellen;
- – die erste Nachricht weiterhin die erste DESN umfasst;
- – das zweite Datagramm weiterhin eine zweite DESN eines zweiten Fahrzeugs umfasst; und
- – das dritte Datagramm weiterhin Senderdaten umfasst umfassend eines von einer dritten DESN eines dritten Fahrzeugs und der zweiten DESN.
-
Es ist eine Weiterbildung, dass
- – die Programmierung weiterhin Anweisungen umfasst, um:
– einen öffentlichen Fahrzeug-Authentifizierungsschlüssel (VAPK) zu ermitteln, der ein passender öffentlicher Schlüssel eines privaten Fahrzeug-Authentifizierungsschlüssels (VApk) ist;
– den VAPK entsprechend dem RPK zu verschlüsseln, um einen RPK-verschlüsselten VAPK zu erstellen; und
– eine Registrierungsanfrage zu senden, die den RPK-verschlüsselten VAPK und eine erste Fahrzeug-Seriennummer (SN) des ersten Fahrzeugs umfasst;
- – die vertrauenswürdigen Ausgangsinformationen weiterhin den VApk und die erste SN umfassen; und
- – die Anweisungen zum Erhalten des Nachrichtenauthentifizierungssatzes Anweisungen umfassen, um:
– ein Registrierungspaket zu empfangen; und
– das Registrierungspaket entsprechend dem VApk zu entschlüsseln, um den Nachrichtenauthentifizierungssatz zu erhalten.
-
Es ist eine Weiterbildung, dass die Programmierung weiterhin Anweisungen umfasst, um:
- – eine Zertifikatsperrliste (CRL) zu empfangen;
- – entsprechend der CRL zu ermitteln, dass ein empfangenes GC gesperrt ist, wobei das empfangene GC mindestens eines von dem zweiten GC und dem dritten GC umfasst; und
- – eine Warnnachricht zu senden, die anzeigt, dass das empfangene GC gesperrt ist.
-
Ferner wird ein kryptografisches Unterstützungssystem angegeben, umfassend:
- – einen Registrierungsstelle(RA)-Knoten umfassend mindestens einen RA-Prozessor, eine RA-Netzwerkschnittstelle und einen RA-Speichersatz;
- – wobei die RA-Netzwerkschnittstelle einen vorgeschalteten ("upstream") RA-Anschluss umfasst; und
- – wobei der RA-Speichersatz mindestens einen nicht flüchtigen, computerlesbaren Datenträger umfasst, auf dem die RA-Programmierung zur Ausführung durch den mindestens einen RA-Prozessor gespeichert ist, wobei die RA-Programmierung Anweisungen umfasst, um:
– eine erste anonyme Registrierungsanfrage über den vorgeschalteten RA-Anschluss zu senden, die eine erste verschlüsselte Seriennummer (ESN) und einen verschlüsselten, ersten öffentlichen Authentifizierungsschlüssel eines Fahrzeugs (VAPK) umfasst;
– ein erstes Registrierungspaket an dem vorgeschalteten RA-Anschluss zu empfangen, umfassend:
– einen verschlüsselten ersten Pool von Gruppenzertifikaten (GCs), der entsprechend dem ersten VAPK verschlüsselt ist, wobei der erste Pool ein erstes GC umfasst;
– über den vorgeschalteten RA-Anschluss eine zweite anonyme Registrierungsanfrage zu senden, umfassend eine zweite ESN und einen verschlüsselten zweiten VAPK; und
– an dem vorgeschalteten RA-Anschluss ein zweites Registrierungspaket zu empfangen umfassend:
– einen verschlüsselten zweiten Pool von GCs, der entsprechend dem zweiten VAPK verschlüsselt ist, wobei der zweite Pool umfasst:
– das erste GC; und
– ein zweites GC, das nicht im ersten Pool enthalten ist.
-
Es ist eine Weiterbildung, dass
- – die RA-Netzwerkschnittstelle weiterhin einen nachgeschalteten ("downstream") RA-Anschluss umfasst; und
- – die Programmierung weiterhin Anweisungen umfasst, um:
– an dem nachgeschalteten RA-Anschluss eine Sperranfrage zu empfangen, die eine erste Fahrzeug-Seriennummer (SN) umfasst;
– die erste Fahrzeug-SN entsprechend einem RA-Schlüssel zu verschlüsseln, der im RA-Speichersatz gespeichert ist, um die erste ESN zu erstellen;
– über den vorgeschalteten RA-Anschluss eine anonyme Sperranfrage zu senden, die die erste ESN umfasst;
– an dem vorgeschalteten RA-Anschluss eine Zertifikatsperrliste (CRL) zu empfangen; und
– über den nachgeschalteten RA-Anschluss die CRL zu senden.
-
Es ist eine Weiterbildung, dass
- – die RA-Netzwerkschnittstelle weiterhin mindestens einen nachgeschalteten RA-Anschluss umfasst; und
- – die Programmierung weiterhin Anweisungen umfasst, um:
– an dem mindestens einen nachgeschalteten RA-Anschluss eine Bedrohungssperranfrage zu empfangen, die eine doppelt verschlüsselte Seriennummer (DESN) umfasst;
– über den vorgeschalteten RA-Anschluss eine Entschlüsselungs-Sperranfrage zu senden, die die DESN umfasst;
– an dem vorgeschalteten RA-Anschluss eine dritte ESN zu empfangen;
– an dem vorgeschalteten RA-Anschluss eine Zertifikatsperrliste (CRL) zu empfangen;
– die dritte ESN entsprechend einem RA-Schlüssel zu entschlüsseln, der in dem RA-Speichersatz gespeichert ist, um eine dritte Fahrzeug-SN zu erstellen; und
– die CRL über den dem mindestens einen nachgeschalteten RA-Anschluss entsprechend der dritten Fahrzeug-SN zu senden.
-
Es ist eine Weiterbildung, dass
- – die RA-Netzwerkschnittstelle weiterhin einen nachgeschalteten RA-Anschluss umfasst; und
- – die RA-Programmierung weiterhin Anweisungen umfasst, um:
– an dem nachgeschalteten RA-Anschluss eine erste Registrierungsanfrage zu empfangen, die eine erste Fahrzeug-Seriennummer (SN) und den verschlüsselten ersten VAPK umfasst;
– die erste Fahrzeug-SN entsprechend einem RA-Schlüssel zu verschlüsseln, der in dem RA-Speichersatz gespeichert ist, um die erste ESN zu erstellen; und
– über den vorgeschalteten RA-Anschluss das erste Registrierungspaket zu senden, wobei das erste Registrierungspaket weiterhin ein verschlüsseltes erstes Authentifizierungszertifikat eines Fahrzeugs (VAC) umfasst, das entsprechend dem ersten VAPK verschlüsselt ist.
-
Es ist eine Weiterbildung, dass das System ferner umfasst:
- – einen Zertifikatsstellen(CA)-Knoten umfassend mindestens einen CA-Prozessor, eine CA-Netzwerkschnittstelle und einen CA-Speichersatz;
- – wobei die CA-Netzwerkschnittstelle einen nachgeschalteten CA-Anschluss und einen vorgeschalteten CA-Anschluss umfasst;
- – wobei der nachgeschaltete CA-Anschluss in Kommunikation mit dem vorgeschalteten RA-Anschluss steht; und
- – wobei der CA-Speichersatz mindestens einen nicht flüchtigen, computerlesbaren Datenträger umfasst, auf dem die CA-Programmierung für die Ausführung durch den mindestens einen CA-Prozessor gespeichert ist, wobei die CA-Programmierung Anweisungen umfasst, um:
– an dem nachgeschalteten CA-Anschluss die erste anonyme Registrierungsanfrage zu empfangen;
– über den vorgeschalteten CA-Anschluss eine VAC-Anfrage zu senden, die die anonyme Registrierungsanfrage enthält;
– an dem vorgeschalteten CA-Anschluss den ersten VAPK und das verschlüsselte erste VAC zu empfangen;
– entsprechend einem pseudo-zufälligen Auswahlalgorithmus den ersten Pool von GCs aus einem globalen Pool von GCs auszuwählen, die im CA-Speichersatz gespeichert sind, wobei jedes GC im ersten Pool einen entsprechenden GC-Bezeichner umfasst; und
– in dem CA-Speichersatz eine GC-Zuordnung zu speichern, die die GC-Bezeichner des ersten Pools und die erste ESN umfasst;
– den ersten Pool entsprechend dem VAPK zu verschlüsseln, um den verschlüsselten ersten Pool zu erstellen; und
– über den nachgeschalteten CA-Anschluss das Registrierungspaket zu senden.
-
Es ist eine Weiterbildung, dass die CA-Programmierung weiterhin Anweisungen umfasst, um:
- – einen ersten Stapel unsignierter GCs zu generieren;
- – über den vorgeschalteten Anschluss eine GC-Signierungsanfrage zu senden, die den ersten Stapel umfasst;
- – an dem vorgeschalteten Anschluss einen zweiten Stapel zu empfangen, der signierte Versionen der unsignierten GCs des ersten Stapels umfasst; und
- – den zweiten Stapel im CA-Speichersatz zu speichern, um den globalen Pool von GCs zu vergrößern.
-
Es ist eine Weiterbildung, dass die CA-Programmierung weiterhin Anweisungen umfasst, um:
- – eine anonyme Sperranfrage zu erhalten, die die erste ESN umfasst;
- – vom CA-Speichersatz einen ersten Sperrsatz zu erhalten, der die GC-Bezeichner darstellt, die der ESN zugeordnet sind;
- – aus dem globalen Pool von GCs für jeden entsprechenden GC-Bezeichner, der im ersten Sperrsatz dargestellt ist, ein entsprechendes GC zu sperren, das den entsprechenden GC-Bezeichner umfasst; und
- – eine Zertifikatsperrliste (CRL) zu ermitteln, die anzeigt, dass jeder GC-Bezeichner, der vom ersten Sperrsatz dargestellt wird, gesperrt ist.
-
Es ist eine Weiterbildung, dass die Anweisungen zum Erhalten der anonymen Sperranfrage Anweisungen umfassen, um:
- – an dem nachgeschalteten Anschluss eine Bedrohungssperranfrage zu empfangen, die eine doppelt verschlüsselte SN (DESN) umfasst;
- – über den vorgeschalteten Anschluss eine Entschlüsselungsanfrage zu senden, die die DESN umfasst; und
- – an dem vorgeschalteten Anschluss die erste ESN zu empfangen.
-
Auch wird ein Verfahren zur Zertifikatsperrung angegeben umfassend die Schritte:
- – Erhalten eines ersten Zertifikats mit einer ersten Zertifikats-Seriennummer (SN), die nicht größer als die maximal zulässige Zertifikats-SN ist, durch einen ersten Knoten;
- – Erhalten einer Zertifikatsperrliste (CRL), die von einer Sperrstation gesendet wird, durch den ersten Knoten; und
- – Ermitteln entsprechend der CRL durch den ersten Knoten, ob das erste Zertifikat gesperrt ist;
- – wobei die CRL einen Bitvektor umfasst, der eine erste Größe in Bit hat;
- – wobei die erste Größe der maximal zulässigen Zertifikats-SN entspricht; und
- – wobei jedes Bit in dem Bitvektor eine entsprechende Positionsnummer und einen entsprechenden Bit-Wert hat, der einen Sperrstatus eines entsprechenden signierten Zertifikats anzeigt, das eine Zertifikats-SN hat, die der entsprechenden Positionsnummer entspricht, so dass das entsprechende signierte Zertifikat gesperrt ist, wenn der entsprechende Bit-Wert ein erster Wert ist, und nicht gesperrt ist, wenn der entsprechende Bit-Wert ein zweiter Wert ist.
-
Es ist eine Weiterbildung, dass das Erhalten der CRL umfasst:
- – Empfangen einer komprimierten Datei, die von der Sperrstation gesendet wurde, durch den ersten Knoten; und
- – Dekomprimieren der komprimierten Datei durch den ersten Knoten, um die CRL zu erhalten.
-
Es ist eine Weiterbildung, dass
- – der erste Knoten ein erstes Fahrzeug ist; und
- – die Sperrstation eine stationäre Einheit umfasst, die mindestens einen Fahrweg entweder des ersten Fahrzeugs oder den eines zweiten Fahrzeugs abdeckt.
-
Nach einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren für den Nachrichtenaustausch zwischen Fahrzeugen bereitgestellt. Das Verfahren schließt ein Erhalten vertrauenswürdiger Anfangsinformationen, die einen öffentlichen Stammschlüssel (Root Public Key, RPK) einschließen, durch ein erstes Fahrzeug ein. Das Verfahren schließt weiterhin ein Erhalten eines Nachrichtenauthentifizierungssatzes, der einen ersten Pool an Gruppenzertifikatsätzen (Group Certificates, GCs) und ein erstes Fahrzeug-Authentifizierungszertifikat (Vehicle Authentication Certificate, VAC) umfasst, durch das erste Fahrzeug ein. Das erste VAC schließt eine erste verschlüsselte Seriennummer (Encrypted Serial Number, ESN) des ersten Fahrzeugs ein. Das Verfahren schließt zudem ein Auswählen eines ersten GC-Satzes aus dem ersten Pool durch das erste Fahrzeug ein. Der erste GC-Satz schließt ein erstes GC und einen ersten privaten Gruppenschlüssel (Group Private Key, GPK) ein. Das Verfahren schließt weiterhin ein Ermitteln einer ersten Signatur durch das erste Fahrzeug entsprechend einer ersten Nachricht und Digest-Funktion ein. Die erste Nachricht schließt das erste GC ein. Das Verfahren schließt darüber hinaus ein Versenden eines ersten Datagramms, das die erste Nachricht und die erste Signatur beinhaltet, durch das erste Fahrzeug, ein Empfangen eines zweiten Datagramms, das ein zweites GC und eine zweite Signatur beinhaltet, durch das erste Fahrzeug, wobei das zweite GC eine Kopie eines im ersten Pool enthaltenen GC ist, und ein Empfangen eines dritten Datagramms, das ein drittes GC und eine dritte Signatur beinhaltet, durch das erste Fahrzeug ein, wobei das dritte GC keine Kopie eines im ersten Pool enthaltenen GC ist. Das Verfahren schließt weiterhin ein Überprüfen des zweiten Datagramms entsprechend der Digest-Funktion und des RPK und ein Überprüfen des dritten Datagramms entsprechend der Digest-Funktion und des RPK ein.
-
Nach einer anderen Ausführungsform der vorliegenden Erfindung wird ein System für den Nachrichtenaustausch zwischen Fahrzeugen bereitgestellt. Das System schließt ein OBE ein, das konfiguriert ist, sich in einem ersten Fahrzeug zu befinden. Das OBE schließt einen Prozessor und einen nicht flüchtigen, computerlesbaren Datenträger ein.
-
Vertrauenswürdige Ausgangsinformationen werden in dem nicht flüchtigen, computerlesbaren Datenträger gespeichert, und diese Ausgangsinformationen beinhalten einen RPK. Eine Programmierung zur Ausführung durch den Prozessor ist auf dem nicht flüchtigen, computerlesbaren Datenträger gespeichert und diese Programmierung beinhaltet Anweisungen, um einen Nachrichtenauthentifizierungssatz zu erhalten, der einen ersten Pool aus GC-Sätzen und ein erstes VAC umfasst. Das erste VAC schließt eine erste ESN des ersten Fahrzeugs ein. Die Programmierung schließt weiterhin Anweisungen ein, um einen ersten GC-Satz aus dem ersten Pool auszuwählen, wobei der erste GC-Satz ein erstes GC und einen ersten Gpk beinhaltet, eine erste Signatur entsprechend einer ersten Nachricht und einer Digest-Funktion zu ermitteln, wobei die erste Nachricht das erste GC beinhaltet, und ein erstes Datagramm zu versenden, das die erste Nachricht und die erste Signatur beinhaltet. Die Programmierung schließt weiterhin Anweisungen ein, um ein zweites Datagramms zu empfangen, das ein zweites GC und eine zweite Signatur beinhaltet, wobei das zweite GC eine Kopie eines im ersten Pool enthaltenen GCs ist, und ein drittes Datagramm zu empfangen, das ein drittes GC und eine dritte Signatur beinhaltet, wobei das dritte GC keine Kopie eines im ersten Pool enthaltenen GCs ist. Die Programmierung schließt weiterhin Anweisungen ein, um das zweite Datagramm entsprechend der Digest-Funktion und des RPK zu überprüfen und das dritte Datagramm entsprechend der Digest-Funktion und des RPK zu überprüfen.
-
Nach einer weiteren Ausführungsform der vorliegenden Erfindung wird ein kryptografisches Unterstützungssystem bereitgestellt. Das System schließt einen Registrierungsstellen(Registration Authority, RA)-Knoten ein, der mindestens einen RA-Prozessor, eine RA-Netzwerkschnittstelle und einen RA-Speichersatz enthält. Die RA-Netzwerkschnittstelle schließt einen vorgeschalteten RA-Anschluss ein, und der RA-Speichersatz schließt mindestens einen nicht flüchtigen, computerlesbaren Datenträger ein, auf dem die RA-Programmierung für die Ausführung durch den mindestens einen RA-Prozessor gespeichert ist. Die RA-Programmierung schließt Anweisungen ein, um eine erste anonyme Registrierungsanfrage am vorgeschalteten RA-Anschluss zu senden, die eine erste ESN und einen verschlüsselten ersten öffentlichen Fahrzeug-Authentifizierungsschlüssel (Vehicle Authentication Public Key, VAPK) beinhaltet, und ein erstes Registrierungspaket am vorgeschalteten RA-Anschluss zu empfangen, das einen verschlüsselten ersten GC-Pool enthält, der entsprechend dem ersten VAPK verschlüsselt ist. Der erste Pool enthält ein erstes GC. Die RA-Programmierung schließt darüber hinaus Anweisungen ein, um eine zweite anonyme Registrierungsanfrage am vorgeschalteten RA-Anschluss zu versenden, die eine zweite ESN und einen verschlüsselten zweiten VAPK enthält, und ein zweites Registrierungspaket am vorgeschalteten RA-Port zu empfangen, das einen verschlüsselten zweiten GC-Pool enthält, der entsprechend dem zweiten VAPK verschlüsselt ist. Der zweite Pool schließt das erste GC und ein zweites GC ein, das nicht im ersten Pool enthalten ist.
-
Nach einer weiteren Ausführungsform der vorliegenden Erfindung wird ein Zertifikatsperrverfahren bereitgestellt. Das Verfahren schließt ein Erhalten eines ersten Zertifikats mit einer ersten Zertifikatsseriennummer (Serial Number, SN), die nicht größer als die maximal zulässige Zertifikats-SN ist, durch einen ersten Knoten, ein Erhalten einer CRL, die von einer Sperrstation versendet wird, durch den ersten Knoten und ein Ermitteln durch den ersten Knoten entsprechend der CRL, ob das erste Zertifikat gesperrt ist, ein. Die CRL schließt einen Bitvektor mit einer ersten Bit-Größe ein, die der maximal zulässigen Zertifikats-SN entspricht. Jedes Bit im Bitvektor hat eine entsprechende Positionsnummer und einen entsprechenden Bit-Wert, der den Sperrstatus eines entsprechenden signierten Zertifikats mit einer Zertifikats-SN anzeigt, die der entsprechenden Positionsnummer entspricht. Das entsprechende signierte Zertifikat ist gesperrt, wenn der entsprechende Bit-Wert ein erster Wert ist, und nicht gesperrt, wenn der entsprechende Bit-Wert ein zweiter Wert ist.
-
Für ein umfassenderes Verständnis der vorliegenden Erfindung und der damit verbundenen Vorteile wird nun Bezug auf die folgenden Beschreibungen genommen, die in Verbindung mit den dazugehörigen Zeichnungen stehen, in denen:
-
1, die 1A und 1B einschließt, ein Verfahren für den Nachrichtenaustausch zwischen Fahrzeugen veranschaulicht, das durch eine PKI gemäß den Ausführungsformen der vorliegenden Erfindung unterstützt wird;
-
2 einen Fahrzeugprozessor veranschaulicht, der eine sichere Nachricht gemäß einer ersten Ausführungsform der vorliegenden Erfindung erstellen kann;
-
3 das Empfangen einer sicheren Nachricht in der Ausführungsform des Prozessors aus 2 veranschaulicht;
-
4 gemäß Ausführungsformen der vorliegenden Erfindung einen Fahrzeugprozessor veranschaulicht, der den Vorteil einer kleineren Nachrichtengröße hat;
-
5 das Empfangen einer sicheren Nachricht in der Ausführungsform des Prozessors aus 4 veranschaulicht;
-
6, die 6A und 6B einschließt, eine PKI und andere Infrastrukturknoten veranschaulicht, die einen Nachrichtenaustausch zwischen Fahrzeugen gemäß Ausführungsformen der vorliegenden Erfindung unterstützen;
-
7 ein Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Registrieren bei der PKI gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht;
-
8 ein Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Vorbereiten der PKI für die Fahrzeugregistrierung gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht;
-
9, die 9A und 9B einschließt, Ausführungsformen von Sperrverfahren der vorliegenden Erfindung veranschaulicht;
-
10, die 10A und 10B einschließt, Verfahren zur Erstellung und Überprüfung sicherer Nachrichten gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht; und
-
11 ein Blockdiagramm ist, das ein Verarbeitungssystem veranschaulicht, das für die Umsetzung der Ausführungsformen von hierin offenbarten Vorrichtungen und Verfahren verwendet werden kann.
-
Ein Vorteil der vorliegenden Erfindung ist, dass GCs von mehreren Fahrzeugen gemeinsam genutzt werden, um die Zahl der Zertifikate zu verringern, die in jedem Fahrzeug heruntergeladen und gespeichert werden müssen, und dass in einer Ausführungsform die Zertifikate innerhalb des sicheren Prozessors (Secure Processor, SP) eines jeden Fahrzeug-OBEs generiert werden. Die vorliegende Erfindung minimiert weiterhin die Anforderungen an die Infrastruktur auf Fahrzeugfahrwegen und die Anforderungen an die genaue Uhrzeit/Kalender-Einhaltung und -synchronisierung in Fahrzeugen. Die vorliegende Erfindung verwendet zudem einen einfachen Zertifikatsperrmechanismus und erfordert keine häufige Neuberechnung der gesperrten Fahrzeug-Bezeichner. Die Ausführungsformen der vorliegenden Erfindung ermöglichen einen Betrieb ohne Kompromittieren des Datenschutzes für mindestens ein Jahr, selbst wenn keine Kommunikation mit Geräten entlang des Fahrzeugfahrwegs stattfindet, wie zum Beispiel in abgelegenen Gebieten.
-
In einer Ausführungsform wird die vorliegende Erfindung in einem Kollisionsvermeidungssystem für mehrere Fahrzeuge verwendet. Das System verfügt über mehrere Infrastrukturknoten, wie zum Beispiel PKI-Knoten, Fahrwegeinheiten (Travel Path Units, TPUs), die entlang von Fahrzeugfahrwegen aufgestellt sind, und Wartungseinheiten (Maintenance Units, MUs), die sich in Reparatur- und Wartungsstationen für Fahrzeuge befinden. In einer Ausführungsform sind die TPUs Straßenrandeinheiten (Road-Side Units, RSUs), die entlang von Straßen aufgestellt sind. In einer Ausführungsform kann das System mehr als 100 Millionen Fahrzeugen kryptographische Unterstützung bieten. Jedes Fahrzeug hat ein OBE, das Sicherheitsnachrichten an andere Fahrzeuge sendet und für die kryptographische Unterstützung mit den Infrastrukturknoten kommuniziert.
-
1, die 1A und 1B einschließt, veranschaulicht ein Verfahren für den Nachrichtenaustausch zwischen Fahrzeugen durch eine Ausführungsform eines Fahrzeug-OBEs 102, das von einer PKI 104 unterstützt wird. 1A veranschaulicht Verbindungen zwischen den verschiedenen Knoten des Systems. 1B veranschaulicht eine Ausführungsform der CRL 132A, die in dem System verwendet werden kann.
-
Bezugnehmend auf 1A ist ein Fahrzeug-OBE 102 mit der PKI 104 über eine temporäre oder dauerhafte Verbindung, wie zum Beispiel eine Mobilfunkverbindung oder Wi-Fi-Verbindung über eine Verbindung zu einer MU 106, die entweder drahtlos oder kabelgebunden ist, oder über eine kabellose Verbindung zwischen dem OBE 102 und einer RSU 108, zum Beispiel unter Verwendung einer 5,9-GHz-Mikrowellen-Nahbereichskommunikation (Dedicated Short Range Communications, DSRC) verbunden. Sicherheitsnachrichten enthalten Roh- oder analysierte Fahrzeuginstrumentendaten, die das OBE 102 über eine drahtlose oder kabelgebundene Verbindung mit dem Fahrzeugarmaturenbrett 110 erhält, das zum Beispiel das Tachometer, Bremssystem und Geopositionierungssystem des Fahrzeugs einschließt. Diese Instrumentendaten schließen zum Beispiel Geschwindigkeitsinformationen, Bremsinformationen und GPS-Daten ein. Das OBE 102 moduliert diese Sicherheitsnachrichten und überträgt sie dann mit einer Antenne 114 drahtlos an andere Fahrzeuge 112. Das OBE 102 empfängt zum Beispiel mit der gleichen Antenne 114 auch Sicherheitsnachrichten von den anderen Fahrzeugen 112 und demoduliert diese empfangenen Sicherheitsnachrichten.
-
Nochmals bezugnehmend auf 1A schließt die Ausführungsform des OBE 102 einen SP 116 ein, der zum Beispiel ein anwendungsspezifischer integrierter Schaltkreis (Application Specific Integrated Circuit, ASIC), eine anwenderprogrammierbare Gatteranordnung (Field-Programmable Gate Array, FPGA), ein Mikroprozessor usw. sein kann. In einigen Ausführungsformen ist der SP ein manipulationssicheres Hardware-Sicherheitsmodul (HSM), das ein internes Modul, eine Steckkarte oder eine externe Vorrichtung ist. Ein HSM bietet zum Beispiel Originalitätsschutz, wie Protokollieren- und Warnen, Manipulationsschutz (z. B. das Löschen von Schlüsseln bei Erkennung von Manipulation oder Datenbusprüfung) und einen sicheren Schlüsselbackup (z. B. das Sichern von Schlüsseln in einer verschlüsselten Form im internen Speicher des HSM, externes Backup von Schlüsseln mit einer Smartcard oder anderen Security-Token usw.). In anderen Ausführungsformen ist das OBE 102 ein HSM.
-
Der SP 116 erhält vertrauenswürdige Ausgangsinformationen, die ein oder mehrere Stammzertifikate (Root Certificates, RCs) 118 der PKI 104, einen privaten Fahrzeug-Authentifizierungsschlüssel (Vehicle Authentification Private Key, VApk) 120 und einen VAPK 121 beinhalten, der ein passendes Paar eines privaten (Private Key) und öffentlichen (Public Key) Schlüssels ist, und eine Fahrzeugseriennummer (SN) 122, die für jedes von der PKI 104 versorgte Fahrzeug eindeutig ist. Diese vertrauenswürdigen Ausgangsinformationen können zum Beispiel von einem vertrauenswürdigen OBE-Hersteller, einer sicheren Verbindung zur PKI 104 oder einem anderen sicheren Verteilungsschema vorgeladen werden.
-
Die SN 122 kann durch den SP 116 generiert werden und kann zum Beispiel eine Fahrzeugidentifikationsnummer (Vehicle Identification Number, VIN) des Fahrzeugs sein, oder die SN 122 kann von der PKI 104 zugewiesen werden. Jedes RC 118 schließt eine Signatur ein, welche die PKI 104 mit einem privaten Stammschlüssel 124 generiert. Jedes RC 118 schließt zudem einen RPK ein, der ein passender öffentlicher Schlüssel des Rpk 124 ist, eine RC-SN oder einen anderen Bezeichner, ein Ablaufdatum und einen Algorithmus-Bezeichner für den asymmetrischen Verschlüsselungsalgorithmus ein, der zum Signieren des RC 118 verwendet wurde, wie zum Beispiel ein „Elliptic Curve Digital Signature Algorithm“ (ECDSA).
-
Nach dem Versenden einer Registrierungsanfrage an die PKI 104, erhält das OBE 102 einen von der PKI 104 generierten Nachrichtenauthentifizierungssatz. Dieser Nachrichtenauthentifizierungssatz beinhaltet GC-Sätze und ein VAC 126, welches eine ESN enthält, die für jedes von der PKI 104 versorgte Fahrzeug eindeutig ist. In einer Ausführungsform kann die ESN mit einem Nachrichtenauthentifizierungscode (Message Authentication Code, MAC) gekennzeichnet werden. Das VAC 126 wird verwendet, um das OBE 102 bei den Infrastrukturknoten von 104, 106, 108 oder anderen vertrauenswürdigen Geräten zu authentifizieren, um eine sichere Sitzung aufzubauen und abgelaufene, kompromittierte oder gesperrte Zertifikate, wie zum Beispiel GCs und RCs, zu aktualisieren oder beim Zeitpunkt seines Ablaufens ein neues VAC 126 zu erhalten. Die ESN kann auch verwendet werden, um das OBE 102 zu identifizieren, wenn es das System bedroht oder sich anderweitig fehlverhält, z. B. durch das Versenden von Nachrichten, die nicht ihrer Signatur entsprechen oder die sich auf andere Art und Weise als falsche Nachrichten erweisen.
-
Die von der PKI 104 empfangenen GC-Sätze werden in einem lokalen Pool 128 des SP 116 gespeichert. Jeder GC-Satz schließt ein GC und einen Gpk ein, der zu dem GC gehört. Der lokale Pool 128 enthält zum Beispiel 10.000 GC-Sätze. Jedes GC schließt einen RC-Bezeichner, eine GC-Seriennummer oder einen anderen Bezeichner und ein Ablaufdatum ein. Jedes GC ist ein implizites Zertifikat, das einen Rekonstruktionswert für einen öffentlichen Gruppenschlüssel (GPK) enthält, der ein passender öffentlicher Schlüssel des Gpk ist. Geeignete Schemata zum Erzeugen solcher impliziten Zertifikate und ihrer zugehörigen privaten Schlüssel schließen zum Beispiel das Optimal Mail-Zertifikat-Schema (Optimal Mail Certificates, OMC) und das „Elliptic Curve Qu-Vanstone“(ECQV)-Schema ein. In einer Ausführungsform eines impliziten Signaturverfahrens wird der entsprechende Gpk für jedes GC von der PKI mit einem Rpk für das RC generiert, das im GC erkannt wird, und ein RPK des identifizierten RC kann verwendet werden, um den GPK von seinem Rekonstruktionswert zu rekonstruieren. In einer alternativen Ausführungsform ist jedes GC ein explizites Zertifikat, das explizit sowohl eine Rpk-generierte Signatur als auch den GPK einschließt.
-
Die GC-Sätze im lokalen Pool 128 werden pseudo-zufällig aus einem globalen Pool 130 der GC-Sätze der PKI 104 ausgewählt. Da die GC-Sätze der OBEs in den anderen Fahrzeugen 112 ebenso pseudo-zufällig vom globalen Pool 130 ausgewählt werden, kann jedes im lokalen Pool 128 gespeicherte GC auch im lokalen Pool eines OBE eines anderen Fahrzeugs entsprechend einer endlichen Wahrscheinlichkeit, die größer als Null und kleiner als eins ist, gespeichert werden. Darüber hinaus kann ein GC, das in einer von einem anderen Fahrzeug empfangenen Nachricht enthalten ist, auch im lokalen Pool 128 des Ziel-OBE 102 entsprechend dieser endlichen Wahrscheinlichkeit vorhanden sein.
-
Der SP 116 nimmt eine weitere pseudo-zufällige Auswahl eines aktuellen GC-Satzes 135 von seinem lokalen Pool 128 in Intervallen vor, so dass er V2X-Nachrichten aufbauen kann, die Nachrichten an die anderen Fahrzeuge 112 oder an Infrastrukturknoten von 104, 106, 108 sind. Ein vorab ausgewählter aktueller GC-Satz 135 schließt ein aktuelles GC 136 und dessen entsprechenden aktuellen Gpk 138 ein. Wenn der aktuelle GC-Satz 135 veraltet ist, wählt der SP einen neuen aktuellen GC-Satz vom lokalen Pool 128 aus. Der aktuelle GC-Satz 135 ist veraltet, wenn er länger als ein pseudo-zufällig festgelegtes Zeitintervall der aktuelle GC-Satz war. Dieses Zeitintervall kann einen erwarteten Wert von zum Beispiel fünf Minuten haben. In anderen Ausführungsformen ist der aktuelle GC-Satz 135 in exakten Intervallen von zum Beispiel fünf Minuten veraltet. Der SP 116 erkennt dann ein aktuelles RC 140, das dem RC-Bezeichner im aktuellen GC 136 entspricht.
-
Das OBE 102 kann auch eine von der PKI 104 gesendete CRL 132 empfangen und sie als eine lokale CRL 134 speichern. Der SP 116 kann mit der lokalen CRL 134 überprüfen, ob eines der in seinem lokalen Pool 128 gespeicherten GCs gesperrt wurde. In einer Ausführungsform eines Over-The-Air-Sperrverfahrens (Over-The-Air Revocation, OTAR) bestimmt der SP 116 mithilfe der lokalen CRL 134, ob eine von einem anderen OBE 102 empfangene Nachricht ein gesperrtes GC enthält. Wenn dem so ist, ignoriert das OBE 102 die empfangene Nachricht und sendet umgehend eine Warnnachricht an die OBEs der anderen Fahrzeuge 112 mit dem Hinweis, dass das GC gesperrt wurde. Die Warnnachricht enthält eine Liste der gesperrten GC-Bezeichner, die von der PKI 104 generiert und mit einem Rpk 124 digital signiert wurden. Wenn das OBE 102 eine solche Warnnachricht empfängt, die gleichermaßen auch von den OBEs der anderen Fahrzeuge 112 generiert wird, überprüft das OBE 102 seine Signatur mithilfe des passenden RPK und aktualisiert die lokale CRL 134, so dass sie das gesperrte GC enthält.
-
1B veranschaulicht eine Ausführungsform der CRL 132A, die mit der vorliegenden Erfindung verwendet werden kann. Die globale CRL 132A ist eine bitcodierte Datei oder ein anderer Bitvektor, die bzw. der mit herkömmlichen Komprimierungsalgorithmen komprimiert und an das OBE 102 weitergeleitet werden kann. In der CRL 132A wird der Sperrstatus eines jeden Zertifikats (z. B. GCs 1421 bis 142M in 1B) durch ein einzelnes Bit in einer Position dargestellt, die von der SN des Zertifikats adressiert wird. Ein Bit-Wert in der Bitposition, die der Zertifikats-SN entspricht, zeigt an, dass das Zertifikat gesperrt ist, während der entgegengesetzte Bit-Wert anzeigt, dass es nicht gesperrt ist.
-
In einer Ausführungsform muss die CRL 132A mindestens so viele Bitpositionen enthalten wie eine maximal zulässige Zertifikats-Seriennummer von P. Die Bits in dieser CRL 132A sind in den Positionen von 0 bis P-1 nummeriert und als von 0 bis P/8-1 nummerierte Bytes gespeichert. Die entsprechende SN für jede Bitposition innerhalb der CRL 132A kann berechnet werden, indem die Byte-Zahl mit 8 multipliziert, dann die Position des Bits innerhalb des Bytes addiert und schließlich eins addiert wird. Zum Beispiel ist ein GC 1422 mit einer SN von 5 gesperrt, wenn die Bitzahl 4 in Bytezahl 0 der CRL 132A 1 ist, ansonsten ist das GC noch aktiv. Verwendet eine PKI 104 100 Millionen GCs, wäre die Größe einer bitcodierten nicht komprimierten lokalen CRL 132A in der vorangehenden Ausführungsform 12,5 Mbyte. In einem Beispiel werden 100.000.000 GCs von der PKI 104 verwendet, doch 1.000 OBEs 102 weisen ein Fehlverhalten auf oder sind beeinträchtigt, und jedes OBE 102 hat 10.000 gesperrte GCs, so dass insgesamt bis zu 10 Million GCs (10 % aller GCs) in der PKI 104 gesperrt sind. Ein geeigneter Komprimierungsalgorithmus kann die globale, von der PKI 104 gesendete CRL 132A, die 10 Millionen (oder 10 %) ihrer Bit-Werte auf 1 gesetzt hat, auf eine komprimierte Größe von maximal 1 bis 2 Megabytes komprimieren. In einer Ausführungsform listet die CRL 132A nur Zertifikate von Fahrzeugen auf, die ein Fehlverhalten aufweisen. In anderen Ausführungsformen listet die CRL 132A auch Zertifikate auf, die gesperrt werden, wenn ein Fahrzeug außer Betrieb geht.
-
In einer alternativen Ausführungsform zeigt ein Bit-Wert von 0 in einer CRL an, dass ein entsprechendes Zertifikat gesperrt ist. In einer anderen alternativen Ausführungsform kann die CRL mehrere statt einzelne Bits verwenden, um nicht nur eine SN, sondern auch eine Versionsnummer für jedes Zertifikat darzustellen, die als neue Version neu ausgegeben werden kann. Das Verwenden mehrerer Bits ermöglicht ein Erhöhen der Lebenszeit der CRL, indem gesperrte Mehrfach-Bitpositionen für neu ausgegebene Zertifikate nochmals verwendet werden. Zum Beispiel kann eine Mehrfach-Bitposition, die 4 Bits enthält (und Mehrfach-Bit-Werte von 0 bis 15 darstellt) zum Codieren eines einzelnen Zertifikatsperrstatus in der globalen CRL verwendet werden. In diesem Beispiel stellt ein Mehrfach-Bit-Wert von 0 dar, dass keine Zertifikat-Versionen gesperrt sind, und Mehrfach-Bit-Werte von 1 bis 14 stellen entsprechend dar, dass die Versionen 1 bis 13 des Zertifikats gesperrt sind. Ein Mehrfach-Bit-Wert von 15 zeigt an, dass das Zertifikat bis zu seinem Ablaufdatum gesperrt ist. Wenn ein Zertifikat gesperrt wird, wird seine Versionsnummer in der globalen CRL von der PKI 104 um einen Schritt erhöht (z. B. von 1 auf 2) und eine CRL-Aktualisierung an die OBEs weitergeleitet. Ein OBE 102 vergleicht die Versionsnummer eines empfangenen oder gespeicherten GCs mit der entsprechenden Versionsnummer, die als Mehrfach-Bit-Wert seiner lokalen CRL 134 an der entsprechenden Mehrfach-Bitposition gespeichert ist. Wenn der in der lokalen CRL 134 gespeicherte Mehrfach-Bit-Wert größer als die Versionsnummer des GC ist, wird das GC gesperrt.
-
2 zeigt eine erste Ausführungsform eines SP 116, der eine V2X-Nachricht erstellen kann. Eine „Elliptic Curve Integrated Encryption Scheme“(ECIES)-Verschlüsselungs-Engine 203 verknüpft die ESN mit einer Nonce 204. In anderen Ausführungsformen schließt die verknüpfte ESN auch einen MAC ein. Erneut bezugnehmend auf 2 verschlüsselt der SP 116 die verknüpfte ESN entsprechend dem aktuellen Gpk 138, dem RPK des aktuellen RC 140 und dem ECIES-Algorithmus, um eine doppelt verschlüsselte Seriennummer (DESN) des Fahrzeugs zu erstellen.
-
In der ersten Ausführungsform generiert der SP 116 ein V2X-Datagramm 206, das einen Nachrichtendatensatz, eine Kopie des aktuellen GCs 136, eine Kopie eines dynamischen Fahrzeugzertifikats (Vehicle Dynamic Certificate, VDC) 208, das die DESN enthält, und eine Signatur von einem dynamischen privaten Fahrzeugschlüssel (Vehicle Dynamic Private Schlüssel, VDpk) 210 beinhaltet. Das VDC 208 ist ein implizites Zertifikat, das die DESN und einen Rekonstruktionswert für einen dynamischen öffentlichen Fahrzeugschlüssel (Vehicle Dynamic Public Key, VDPK) enthält, der ein passender öffentlicher Schlüssel des VDpk 210 ist. Eine ECQV-Engine 201 generiert diesen VDPK-Rekonstruktionswert. Das VDC 208 schließt auch ein VDC-Ablaufdatum und eine VDC-Ablaufuhrzeit ein. Der VDpk 210 wird von der ECQV-Engine 201 mithilfe des VDPK-Rekonstruktionswerts und des aktuellen Gpk 138 generiert. Der SP 116 baut dann eine Nachricht auf, die einen Nachrichtendatensatz, das aktuelle GC 136 und das VDC 208 beinhaltet. Der SP 116 berechnet eine Nachrichtensignatur, indem er diese Nachricht zuerst an eine Digest-Engine 214 sendet, die zum Beispiel mit einer sicheren Hashfunktion wie SHA-256 einen Digest der Nachricht berechnet. Eine ECDSA-Signatur-Engine 216 berechnet dann unter Verwendung des Nachrichten-Digest und des VDpk 210 die Nachrichtensignatur. Das OBE 102 moduliert und verbreitet dann das V2X-Datagramm 206, das die Nachricht und die Nachrichtensignatur einschließt.
-
3 veranschaulicht ein Empfangen eines V2X-Datagramms in der Ausführungsform des SP in 2. Wenn das OBE 102 ein V2X-Datagramm 206 empfängt und moduliert, das gleichermaßen von einem OBE eines anderen Fahrzeugs oder von einem Infrastrukturelement generiert wurde, authentifiziert es das Datagramm 206. Dieses empfangene Datagramm 206 schließt einen GPK-Rekonstruktionswert in einem empfangenen GC 302 und einen VDPK-Rekonstruktionswert in einem empfangenen VDC 304 ein. Das empfangene VDC 304 schließt zudem Senderdaten in Form der DESN des versendenden OBEs ein. Der SP 116 rekonstruiert den authentifizierenden GPK 306 in der ECQV-Engine 201 unter Verwendung des empfangenen GPK-Rekonstruktionswerts und eines RPKs eines authentifizierenden RC 308, welches das RC ist, das in dem empfangenen GC 302 identifiziert wurde. Dieses authentifizierende RC 308 wurde von der PKI 104 sowohl mit dem SP 116 als auch mit dem Sender des Datagramms 206 vorher vereinbart (pre-shared).
-
Der SP 116 rekonstruiert dann den authentifizierenden VDPK 310 in der ECQV-Engine 201 unter Verwendung des empfangenen VDPK-Rekonstruktionswerts und des authentifizierenden GPKs 306. Der SP 116 berechnet seinen eigenen Digest der Datagramm-Nachricht in der Digest-Engine 214 und überprüft anschließend mithilfe des berechneten Digest und des authentifizierenden VDPK 310 in einer ECDSA-Verifizierungsengine 312 die Signatur des empfangenen Datagramms 206. Ist die Signaturüberprüfung erfolgreich, wird das Datagramm 206 als echt verifiziert.
-
4 zeigt eine zweite Ausführungsform eines SP 116, die den Vorteil einer verringerten Größe der V2X-Nachricht hat. Der Unterschied zwischen dieser Ausführungsform und der Ausführungsform von 2 ist, dass ein übertragenes V2X-Datagramm 402 statt von einem VDpk von dem aktuellen Gpk 138 signiert wird, und dass das V2X-Datagramm 402 direkt eine DESN und kein VDC beinhaltet. Der SP 116 berechnet die Signatur einer ausgehenden Nachricht, indem er einen Digest dieser Nachricht in der Digest-Engine 214 berechnet und anschließend die Nachrichtensignatur in der ECDSA-Signatur-Engine 216 unter Verwendung des Nachrichten-Digest und des aktuellen Gpk 138 generiert. Das OBE 102 verbreitet dann das Datagramm 402, das den Nachrichtendatensatz, eine Kopie des aktuellen GC 136, die DESN und die Nachrichtensignatur enthält.
-
5 veranschaulicht ein Empfangen einer V2X-Nachricht, die nach der Ausführungsform des SP aus 4 generiert wird. Das zu authentifizierende V2X-Datagramm 402 enthält ein empfangenes GC 302, das einen GPK-Rekonstruktionswert beinhaltet. Die ECQV-Engine 201 rekonstruiert einen Authentifizierungs-GPK 306 unter Verwendung des GPK-Rekonstruktionswerts und des RPK eines Authentifizierungs-RC 308, das im empfangenen GC 302 erkannt wird. Die Digest-Engine 214 berechnet im empfangenen Datagramm 206 einen zweiten Digest der Nachricht. Die ECDSA-Verifizierungsengine 312 überprüft anschließend mit dem berechneten Digest und dem Authentifizierungs-GPK 306 die Nachrichtensignatur. Ist die Signaturüberprüfung erfolgreich, wird das Datagramm 402 als echt verifiziert.
-
6, die 6A und 6B einschließt, veranschaulicht eine PKI und andere Infrastrukturknoten, die die OBEs unterstützen. 6A veranschaulicht eine Ausführungsform der PKI 104, die die Fahrzeug-OBEs 6021 bis 602N versorgt. 6B veranschaulicht eine Ausführungsform eines Systems, in dem auch die Infrastrukturknoten der MU 106 und RSU 108 verwendet werden.
-
Bezugnehmend auf 6A schließt nun eine Ausführungsform der PKI 104, die die Fahrzeug-OBEs 6021 bis 602N versorgt, eine Registrierungsstelle (Registration Authority, RA) 604, die über eine temporäre oder dauerhafte Verbindung mit den nachgeschalteten Fahrzeug-OBEs 6021 bis 602N, einer Zertifizierungsstelle (Certificate Authority, CA) 606 und einer Stamm-CA 608 verbunden ist. Die Stamm-CA 608 schließt ein Stamm-CA-Hardware-Sicherheitsmodul (Root CA Hardware Security Module, HSM-Root CA) 609 ein. Das HSM-Stamm-CA speichert dann sicher einen Satz von RCs 118, der zu den vertrauenswürdigen Ausgangsinformationen gehört, die in die OBEs 6021 bis 602N vorgeladen sind. Das HSM-Stamm-CA kann auch einen entsprechenden Rpk 610 sicher speichern, der ein passender privater Schlüssel für den RPK jedes RCs im Satz von RCs 118 ist.
-
Die CA 606 befindet sich in einer Zwischenebene, die der RA 604 vorgeschaltet und der Stamm-CA 608 nachgeschaltet ist. Die CA 606 wird von einem CA-Hardware-Sicherheitsmodul (HSM-CA) 620 und einer GC-Zuordnungsdatenbank 622 versorgt. Das HSM-CA 620 schließt zudem eine sichere Datenbank 624 ein, die den globalen Pool 130 der GC-Sätze speichert. In einer ersten Ausführungsform wird die RA 604 von einem RA-Hardware-Sicherheitsmodul (HSM-RA) 612 versorgt, das einen sicheren Cryptoprozessor einschließt, der unter Verwendung eines oder mehrerer privater RA-Schlüssel (RA Private Key, RApk) 614 und eines oder mehrerer öffentlicher RA-Schlüssel (RA Public Key, RAPK) 616 eine Verschlüsselung und Entschlüsselung ausführt, wobei jeder RApk 614 einem RA-Zertifikat (RA Certificate, RAC) in einem Satz von RACs 618 entspricht, der (entweder explizit oder implizit) von der Stamm-CA 608 signiert ist. In einer zweiten Ausführungsform führt das HSM-RA eine Verschlüsselung und Entschlüsselung unter Verwendung eines oder mehrerer symmetrischer RA-Schlüssel (RA Symmetric Keys, RASKs) aus. In beiden der zwei vorangehenden Ausführungsformen ist jeder RApk 614 oder RASK ein geheimer Schlüssel, der nur der RA bekannt ist.
-
6B zeigt eine Ausführungsform eines Systems, in dem auch die Infrastrukturknoten der MU 106 und RSU 108 verwendet werden. Ein OBE 6021, das in Verbindung mit einer MU 106 oder RSU 108 steht, kann sein VAC 126 und seinen VApk 120 zum gegenseitigen Authentifizieren und zum Aufbauen eines sicheren Kanals zur RA 604 verwenden.
-
Eine MU 108 ist drahtlos oder kabelgebunden mit der RA 604 verbunden und baut bei der Fahrzeugwartung einen sicheren Kommunikationskanal zwischen der RA 604 und einem Fahrzeug-OBE 6021 auf, um abgelaufene, ablaufende oder gesperrte GC-Sätze in ihrem lokalen Pool 128 zu aktualisieren. Jede MU 106 speichert MU-Authentifizierungszertifikate (MU Authentifizierung Certificates, MUACs) 626, die (entweder explizit oder implizit) von der CA 606 oder Stamm-CA 608 signiert werden. Jedes MUAC 626 hat einen entsprechenden privaten MU-Schlüssel (MU Private Key, MUpk) 628, der ein passender privater Schlüssel eines im MUAC 626 enthaltenen öffentlichen MU-Schlüssels (MU Public Key, MUPK) ist. Die MU 106 aktualisiert mithilfe einer gegenseitigen Authentifizierungssequenz für ein verbundenes OBE 6021 die GC-Gruppen. Die MU 106 muss dem OBE 6021 nachweisen, dass sie über ein gültiges MUAC 626 (das einen gültigen MUPK enthält) und einen gültigen entsprechenden MUpk 628 verfügt. Das OBE 6021 muss im Gegenzug der MU 106 nachweisen, dass es ein gültiges VAC 126, einen gültigen VApk 120 und einen gültigen VAPK 121 hat. Eine gegenseitige Authentifizierung wird durch Generieren von ECDSA-Signaturen über zufällige, von beiden Seiten generierte Aufgaben durchgeführt. Die erfolgreiche Überprüfung der Signaturen auf beiden Seiten ermöglicht eine weitere Kommunikation in einem sicheren Kanal zwischen dem OBE 6021 und der MU 106. Die CA 606 kann dem OBE 6021 dann über diesen sicheren Kommunikationskanal einen Stapel (batch) von GC-Gruppen übertragen, der aus dem globalen Pool 130 an GC-Gruppen ausgewählt und unter Verwendung des VAPK 121 des OBE verschlüsselt wurde.
-
Eine RSU 108 ist entlang des Fahrwegs von Fahrzeugen aufgestellt, die von der PKI 104 versorgt werden. Jede RSU 108 speichert RSU-Authentifizierungszertifikate (RSU Authentication Certificates, RSUACs) 630, die von der CA 606 oder der Stamm-CA 608 (entweder explizit oder implizit) signiert werden. Jedes RSUAC 630 hat einen entsprechenden privaten RSU-Schlüssel (RSUpk) 632, der ein passender privater Schlüssel eines öffentlichen RSU-Schlüssels (RSUPK) ist, der in jedem entsprechenden zugehörigen RSUAC 630 enthalten ist. Jede RSU 108 kommuniziert in regelmäßigen Abständen mit der RA 604 über eine drahtlose oder kabelgebundene Verbindung, um eine aktualisierte CRL 132 sicher herunterzuladen, die von der CA 606 ausgegeben wurde, oder um aktualisierte RCs sicher herunterzuladen, um abgelaufene, ablaufende oder gesperrte RCs im RC-Satz 118 eines sich in der Nähe befindenden OBE 6021 zu ersetzen. Die RSU 108 überträgt dann dem OBE 6021 kabellos die CRL 132- oder RC-Aktualisierungen.
-
Das VAC 126 eines sich fehlverhaltenden OBE, zum Beispiel des OBE 6021, kann von einem anderen OBE, zum Beispiel OBE 6022, verwendet werden, um das OBE 6021 als Sicherheitsrisiko zu identifizieren. Das OBE 6021 wird dann von der PKI 104 gesperrt, und alle GCs im lokalen Pool 128 des OBE 6021 werden ebenso von der PKI 104 identifiziert, um diese potentiell kompromittierten GCs in allen anderen Fahrzeugen zu sperren. Um eine globale CRL 132 für solch eine Sperrung auszugeben und zu verbreiten, ist die Kenntnis von zwei privaten/geheimen Schlüsseln (einem RASK oder RApk 614 und einem Rpk 610) der PKI-Stellen erforderlich, um die DESN zu entschlüsseln, die im VAC 126 enthalten ist (und in ein V2X-Datagramm kopiert wird, das vom OBE 6021 an das OBE 6022 gesendet wurde). In einer Ausführungsform schließt die PKI 104 zudem eine oder mehrere Verknüpfungsstellen ein, die zwischen der RA 604 und den OBEs 6021–602N angeschlossen sind und die mithilfe von in den OBEs 6021 bis 602N gespeicherten Verknüpfungszertifikaten die Identität der OBEs 6021 bis 602N vor den anderen Knoten der PKI 104 weiter verbergen.
-
7 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Registrieren bei der PKI veranschaulicht. Bevor ein OBE beginnen kann, Nachrichten an andere OBEs zu senden, muss es zuerst einen Nachrichtenauthentifizierungssatz empfangen, indem es bei der PKI registriert wird. In Kasten 702 sendet das OBE zuerst eine Registrierungsanfrage an die RA. Diese Registrierungsanfrage beinhaltet den VAPK des OBE, den das OBE unter Verwendung eines RPK von einem seiner lokal gespeicherten RCs verschlüsselt hat. Diese Registrierungsanfrage beinhaltet zudem die Fahrzeug-SN. In Kasten 704 weist die RA dann das HSM-RA an, die Fahrzeug-SN zu verschlüsseln, um eine ESN zu erstellen. Die RA sendet der CA dann eine anonyme Registrierungsanfrage, die die ESN und den RPK-verschlüsselten VAPK enthält. In einer Ausführungsform wird die ESN in dieser anonymen Registrierungsanfrage mit einem MAC gekennzeichnet, der von dem HSM-RA unter Verwendung einer kryptographischen MAC-Funktion entsprechend der Fahrzeug-SN und einem RASK generiert wird. In Kasten 706 leitet die CA die anonyme Registrierungsanfrage als VAC-Anfrage an den Stamm weiter. In Kasten 708 entschlüsselt der Stamm mit einem Rpk den RPK-verschlüsselten VAPK, um den VAPK zu erhalten. Der Stamm verpackt diesen VAPK und die ESN in einem VAC, das für jedes von der PKI versorgte Fahrzeug eindeutig ist. Der Stamm signiert das VAC unter Verwendung eines Rpk, der einem RC entspricht, das in dem VAC identifiziert wurde. Der Stamm verschlüsselt das VAC unter Verwendung des VAPK und sendet das VAPK-verschlüsselte VAC an die CA.
-
In Kasten 710 fordert die CA dann vom HSM-CA einen Stapel von GC-Sätzen an. Das HSM-CA stellt der CA einen pseudo-zufällig gewählten Stapel von GC-Sätzen aus dem globalen Pool bereit (z. B. 1.000 GCs, jedes mit seinem Gpk). In einer Ausführungsform wird der Algorithmus, der den Stapel von GC-Sätzen pseudo-zufällig auswählt, so gewählt, dass er die Anzahl doppelter GCs in den OBEs mehrerer Fahrzeuge minimiert, d. h. dass bei Sperren aller GCs eines Fahrzeugs eine Mindestzahl an GCs im lokalen Pool eines jeden anderen Fahrzeugs gesperrt wird.
-
In Kasten 712 sendet die CA dann die ESN und die GC-Bezeichner der ausgewählten GC-Sätze an die GC-Zuordnungsdatenbank, die eine Zuordnung zwischen der ESN und den GC-Bezeichnern speichert. Um die Privatsphäre von Fahrzeugnutzern zu schützen, wird die Beziehung zwischen den GC-Bezeichnern und den Fahrzeug-OBEs nur unter Verwendung einer ESN statt einer unverschlüsselten Fahrzeug-SN indiziert (die mit der RA, aber nicht mit der CA oder dem Stamm geteilt wird).
-
In Kasten 714 verschlüsselt die CA dann mit dem VAPK die ausgewählten GC-Sätze. Dann sendet die CA der RA ein Registrierungspaket, das das VAPK-verschlüsselte VAC und den VAPK-verschlüsselten Stapel von GC-Sätzen enthält. Die RA leitet dieses Registrierungspaket an das anfragende OBE weiter. Das OBE kann mithilfe des VApk das VAPK-verschlüsselte VAC und den VAPK-verschlüsselten Stapel von GC-Sätzen entschlüsseln, um das VAC und den Stapel von GC-Sätzen zu erhalten.
-
In 8 wird eine Ausführungsform eines Verfahrens zum Vorbereiten der PKI für eine OBE-Registrierung veranschaulicht. Diese Vorbereitung erfolgt in regelmäßigen Abständen, zum Beispiel einmal im Jahr. In Kasten 802 generiert die CA zuerst einen Stapel von GC-Grundelementen, von denen jedes einen Gpk und ein unsigniertes GC enthält. Die CA sendet die unsignierten GCs an die Stamm-CA. In Kasten 804 signiert der Stamm jedes unsignierte GC (entweder explizit oder implizit) unter Verwendung eines Rpk für ein RC, das in dem unsignierten GC erkannt wurde. Wird dieses Signieren von einem impliziten Signaturschema ausgeführt, verwendet die Stamm-CA den entsprechenden Rpk für jedes unsignierte GC, um einen entsprechenden Rekonstruktionswert für einen GPK zu erzeugen, der ein passender öffentlicher Schlüssel des unsignierten Gpk des GCs ist, und fügt anschließend diesen GPK-Rekonstruktionswert in das signierte GC ein. In Kasten 806 empfängt die CA dann die GCs von der Stamm-CA und speichert jedes mit seinem Gpk in der HSM-CA-Datenbank, um den globalen Pool an GC-Sätzen zu vergrößern. Jeder so erzeugte GC-Satz ist für einen langen Zeitraum gültig, zum Beispiel für ein Jahr.
-
9, die 9A und 9B einschließt, veranschaulicht Ausführungsformen von Sperrverfahren der vorliegenden Erfindung. 9A veranschaulicht eine Ausführungsform eines Sperrverfahrens, in dem ein sich fehlverhaltendes OBE der PKI von einem anderen OBE als Sicherheitsgefahr gemeldet wird. 9B veranschaulicht eine Ausführungsform eines Sperrverfahrens, in dem ein OBE selbst eine Kompromittierung seiner eigenen Sicherheit berichtet.
-
Bezugnehmend auf 9A wird das VAC eines sich fehlverhaltenden OBE in einer Ausführungsform eines Sperrverfahrens von einem zweiten OBE zum Kennzeichnen des sich fehlverhaltenden OBE gegenüber der PKI als Sicherheitsgefahr verwendet. In Kasten 902 empfängt die RA eine Sperranfrage für ein bedrohendes OBE. Diese Bedrohungssperranfrage schließt eine DESN des bedrohenden OBEs ein, die in ein VDC enthalten war, das von dem berichtenden OBE empfangen wurde. In Kasten 904 leitet die RA diese DESN im Rahmen einer Entschlüsselungs-Sperranfrage an die CA weiter. Die CA leitet die DESN dann im Rahmen einer Entschlüsselungsanfrage an die Stamm-CA weiter. In Kasten 906 entschlüsselt die Stamm-CA die DESN dann mithilfe eines Rpk, um eine ESN des bedrohenden OBEs zu erhalten. Die Stamm-CA sendet diese ESN dann an die CA, so dass die CA diese anonyme Sperranfrage verarbeiten kann. In Kasten 908 fragt die CA bei der GC-Zuordnungsdatenbank einen Sperrsatz an, der GC-Bezeichner enthält, die der zu sperrenden OBE zugeordnet sind. Die GC-Zuordnungsdatenbank berechnet diesen Sperrsatz und sendet ihn zurück an die CA. In Kasten 910 sendet die CA diesen Sperrsatz dann an das HSM-CA, das alle GCs sperrt, die im Sperrsatz erkannt werden. In Kasten 912 aktualisiert die CA dann die CRL der PKI, um anzuzeigen, dass jedes im Sperrsatz erkannte GC gesperrt ist. In Kasten 914 sendet die RA die ESN des zu sperrenden OBEs dann an das HSM-RA für die Entschlüsselung. Das HSM-RA entschlüsselt diese ESN und sendet die SN des gesperrten OBE zurück an die RA. In einer Ausführungsform wurde die ESN mit einem MAC gekennzeichnet, der das HSM-RA unter Verwendung eines RASK authentifiziert. In Kasten 916 gibt die RA dann die aktualisierte CRL an ein oder mehrere OBEs aus, die mit der RA verbunden sind.
-
In der Ausführungsform des Sperrverfahrens von 9B kann ein OBE selbst eine Kompromittierung seiner eigenen Sicherheit berichten. In Kasten 903 sendet das OBE eine Sperranfrage an die RA, die die Fahrzeug-SN enthält. In Kasten 905 sendet die RA dem HSM-RA die SN dann zur Entschlüsselung. Das HSM-RA stellt dann eine ESN für das kompromittierte OBE bereit. Die RA sendet diese ESN dann im Rahmen einer anonymen Sperranfrage an die CA. In einer Ausführungsform wird die ESN in dieser anonymen Sperranfrage mit einem MAC gekennzeichnet, der von dem HSM-RA unter Verwendung einer kryptographischen MAC-Funktion entsprechend der Fahrzeug-SN und einem RASK generiert wird.
-
In Kasten 908 fordert die CA dann bei der GC-Zuordnungsdatenbank einen Sperrsatz an, der die GC-Bezeichner enthält, dem zu sperrenden OBE zugeordnet sind. Die GC-Zuordnungsdatenbank berechnet diesen Sperrsatz und sendet ihn zurück an die CA. In Kasten 910 sendet die CA diesen Sperrsatz dann an das HSM-CA, das alle GCs sperrt, die im Sperrsatz erkannt werden. In Kasten 911 aktualisiert die CA dann die CRL der PKI, um anzuzeigen, das jede im Sperrsatz erkannte GC gesperrt ist, und die CA sendet diese aktualisierte CRL an die RA. In Kasten 916 gibt die RA die aktualisierte CRL an ein oder mehrere OBEs aus, die mit der RA verbunden sind.
-
10, die 10A und 10B einschließt, veranschaulicht Ausführungsformen von Verfahren zur V2X-Nachrichtgenerierung und -überprüfung. 10A zeigt eine erste Ausführungsform eines Verfahrens zur V2X-Nachrichtgenerierung und -überprüfung. 10B zeigt eine zweite Ausführungsform eines Verfahrens zum Nachrichtenaustausch, das den Vorteil einer verringerten V2X-Nachrichtengröße hat.
-
Bezugnehmend auf 10A ist nun eine erste Ausführungsform eines Verfahrens zur V2X-Nachrichtgenerierung und -überprüfung gezeigt. In Kasten 1002 wählt ein SP eines Fahrzeug-OBE aus seinem lokalen Pool pseudo-zufällig ein aktuelles GC und einen aktuellen Gpk aus. In Kasten 1004 verknüpft die ECIES-Verschlüsselungs-Engine die ESN dann mit einer Nonce und verschlüsselt diese verknüpfte ESN entsprechend dem RPK des aktuellen RC, dem aktuellen Gpk und dem ECIES-Algorithmus, um eine DESN des Fahrzeugs zu erstellen.
-
In Kasten 1006 generiert eine ECQV-Engine des SPs ein VDC, das einen VDPK-Rekonstruktionswert und ein Ablaufdatum und eine Ablaufuhrzeit enthält. Die ECQV-Engine generiert auch einen VDpk unter Verwendung des aktuellen Gpk. Der SP erstellt dann eine Nachricht, die einen Nachrichtendatensatz, das aktuelle GC und das VDC enthält. In Kasten 1008 berechnet der SP eine Nachrichtensignatur. Eine Digest-Engine berechnet zuerst einen Digest einer Nachricht, der einen Nachrichtendatensatz, das aktuelle GC und das VDC enthält. Eine ECDSA-Signatur-Engine berechnet dann unter Verwendung des Nachrichten-Digest und des VDpk die Nachrichtensignatur. Das OBE moduliert und verbreitet dann ein V2X-Datagramm, das die Nachricht und die Nachrichtensignatur enthält.
-
In Kasten 1010 empfängt und demoduliert ein anderes OBE 102 das V2X-Datagramm und authentifiziert dann das Datagramm. Dieses empfangene Datagramm enthält einen GPK-Rekonstruktionswert in dem empfangenen GC und einen VDPK-Rekonstruktionswert in dem empfangenen VDC. Der empfangende SP rekonstruiert den authentifizierenden GPK in einer ECQV-Engine unter Verwendung des empfangenen GPK-Rekonstruktionswerts und eines RPK eines authentifizierenden RC, welches das RC ist, das in dem empfangenen GC erkannt wurde. Der SP rekonstruiert dann den authentifizierenden VDPK in der ECQV-Engine unter Verwendung des empfangenen VDPK-Rekonstruktionswerts und des authentifizierenden GPK. In Kasten 1012 berechnet der SP in einer Digest-Engine seinen eigenen Digest der Datagramm-Nachricht. In Kasten 1014 verwendet der SP den berechneten Digest und den authentifizierenden VDPK in einer ECDSA-Prüf-Engine, um die Signatur des empfangenen Datagramms zu überprüfen. Ist die Signaturprüfung wie in Kasten 1016 erfolgreich, wird das Datagramm in Kasten 1018 als echt verifiziert. Schlägt die Signaturprüfung fehl, wird das Datagramm in Kasten 1020 als unecht gekennzeichnet.
-
10B zeigt eine Ausführungsform eines zweiten Verfahrens zum Nachrichtenaustausch, das den Vorteil einer verringerten V2X-Nachrichtengröße hat. Der Unterschied zu der Ausführungsform aus 10A liegt darin, dass ein übertragenes V2X-Datagramm vom aktuellen Gpk statt von einem VDpk signiert wird und die im V2X-Datagramm enthaltene Nachricht direkt eine DESN enthält, aber kein VDC enthält. In Kasten 1002 wählt ein SP pseudo-zufällig ein aktuelles GC und einen aktuellen Gpk aus seinem lokalen Pool aus. In Kasten 1004 verknüpft der SP die ESN mit einer zufälligen Nonce und verschlüsselt diese, um die DESN zu erhalten. In Kasten 1009 berechnet der SP die Signatur einer ausgehenden Nachricht, indem er in einer Digest-Engine einen Digest dieser Nachricht berechnet und anschließend die Nachrichtensignatur in einer ECDSA-Signatur-Engine unter Verwendung des Nachrichten-Digest und des aktuellen Gpk generiert. Das OBE verbreitet dann das V2X-Datagramm, das den Nachrichtendatensatz, das aktuelle GC, die DESN und die Nachrichtensignatur beinhaltet.
-
In Kasten 1011 empfängt und demoduliert ein anderes OBE das zu authentifizierende V2X-Datagramm. Dieses V2X-Datagramm enthält ein empfangenes GC, das den GPK-Rekonstruktionswert beinhaltet. Eine ECQV-Engine rekonstruiert einen Authentifizierungs-GPK unter Verwendung des GPK-Rekonstruktionswerts und des RPK eines Authentifizierung-RC, das in dem empfangenen GC erkannt wird. In Kasten 1012 berechnet der SP in einer Digest-Engine seinen eigenen Digest der Datagramm-Nachricht. In Kasten 1014 überprüft eine ECDSA-Prüf-Engine die Nachrichtensignatur mithilfe des berechneten Digest und des Authentifizierungs-GPK. Ist die Signaturüberprüfung in Kasten 1016 erfolgreich, wird das Datagramm in Kasten 1018 als echt verifiziert. Schlägt die Signaturüberprüfung fehl, wird das Datagramm in Kasten 1020 als unecht gekennzeichnet.
-
11 zeigt ein Blockdiagramm eines Verarbeitungssystems, das zum Umsetzen der hierin offenbarten Vorrichtungen und Verfahren verwendet werden kann. Bestimmte Vorrichtungen können alle der gezeigten Komponenten verwenden, oder nur einen Teilsatz der Komponenten, und die Integrationsstufen können sich von Vorrichtung zu Vorrichtung unterscheiden. Weiterhin kann eine Vorrichtung mehrere Instanzen einer Komponente haben, wie zum Beispiel mehrere Verarbeitungseinheiten, Prozessoren, Speicher, Sender, Empfänger usw. In einer Ausführungsform umfasst das Verarbeitungssystem einen Computerarbeitsplatz. Das Verarbeitungssystem kann eine Verarbeitungseinheit umfassen, die über ein oder mehrere Eingabe-/Ausgabe-Vorrichtungen verfügt, wie zum Beispiel einen Lautsprecher, ein Mikrophon, eine Maus, ein Touchscreen, ein Keypad, eine Tastatur, einen Drucker, eine Anzeige usw. Die Verarbeitungseinheit kann eine CPU, einen Speicher, eine Massenspeichervorrichtung, einen Videoadapter und eine Eingabe/Ausgabe-Schnittstelle einschließen, die an einen Bus angeschlossen sind. In einer Ausführungsform können mehrere Verarbeitungseinheiten in einem einzelnen Verarbeitungssystem oder in mehreren Verarbeitungssystemen einen verteilten Verarbeitungspool oder einen verteilten Bearbeitungspool bilden.
-
Der Bus kann eine oder mehrere Arten verschiedener Busarchitekturen sein, einschließlich eines Speicherbusses oder Speicher-Controllers, eines Peripheriebusses, Videobusses o. ä. Die CPU kann jede Art von elektronischem Datenverarbeitungsgerät umfassen. Der Speicher kann jede Art von Systemspeicher umfassen, wie zum Beispiel einen Speicher mit wahlfreiem Zugriff (random access memory, RAM), einen statischen RAM (SRAM), dynamischen RAM (DRAM), synchronen DRAM (SDRAM), einen nur-Lese-Speicher (read-only memory, ROM), eine Kombination davon o. ä. In einer Ausführungsform kann der Speicher einen ROM für die Verwendung beim Boot-up und einen DRAM für die Programm- und Datenspeicherung beim Ausführen von Programmen einschließen.
-
Die Massenspeichervorrichtung kann jede Art von Speichervorrichtung umfassen, die konfiguriert ist, Daten, Programme und andere Informationen zu speichern und Daten, Programme und andere Informationen über den Bus zugänglich zu machen. Die Massenspeichervorrichtung kann zum Beispiel ein oder mehrere Halbleiterlaufwerke (solid state drive), Festplattenlaufwerke, magnetische Festplattenlaufwerke, optische Plattenlaufwerke o. ä. umfassen.
-
Der Videoadapter und die Eingabe-/Ausgabe-Schnittstelle bieten Schnittstellen zum Anschließen von externen Eingabe- und Ausgabevorrichtungen an die Verarbeitungseinheit. Wie veranschaulicht, schließen Beispiele für Eingabe- und Ausgabe-Vorrichtungen die Anzeige, die an den Videoadapter angeschlossen ist, und die Maus/Tastatur/den Drucker, die oder der an die Eingabe-/Ausgabe-Schnittstelle angeschlossen ist, ein. Andere Vorrichtungen können an die Verarbeitungseinheit angeschlossen werden, und es können zusätzliche oder weniger Schnittstellenkarten verwendet werden. Zum Beispiel kann eine serielle Schnittstelle, wie zum Beispiel eine USB-Schnittstelle (Universal Serial Bus) (nicht gezeigt) verwendet werden, um eine Schnittstelle für einen Drucker bereitzustellen.
-
Die Verarbeitungseinheit schließt zudem eine oder mehrere Netzwerkschnittstellen ein, die Drahtverbindungen, wie zum Beispiel ein Ethernetkabel o. ä. und/oder drahtlose Verbindungen für den Zugang zu Knoten oder anderen Netzwerken umfassen können. Die Netzwerkschnittstelle ermöglicht der Verarbeitungseinheit, über die Netzwerke mit entfernt angeordneten Einheiten zu kommunizieren. Zum Beispiel kann die Netzwerkschnittstelle eine drahtlose Kommunikation über einen oder mehrere Sender/Sendeantennen und einen oder mehrere Empfänger/Empfängerantennen bereitstellen. In einer Ausführungsform ist die Verarbeitungseinheit für die Datenverarbeitung und Kommunikation mit entfernt angeordneten Geräten, wie zum Beispiel anderen Verarbeitungseinheiten, dem Internet, entfernt angeordneten Speicheranlagen o. ä., mit einem lokalen Netzwerk (local area network) oder einem Weitverkehrsnetz (wide area network) verbunden. Die Netzwerkschnittstelle kann so konfiguriert sein, dass sie verschiedene verbindungsspezifische virtuelle oder physische Anschlüsse hat, die kommunikativ mit einem oder mehreren dieser entfernt angeordneten Vorrichtungen verbunden sind.
-
Auch wenn diese Erfindung mit Bezug zu den veranschaulichenden Ausführungsformen beschrieben wurde, darf diese Beschreibung nicht in beschränkender Weise ausgelegt werden. Verschiedene Modifizierungen und Kombinationen der veranschaulichenden Ausführungsformen und anderer Ausführungsformen der Erfindung werden einem Fachmann mit Bezug zu der Beschreibung ersichtlich. Daher sollen die angehängten Ansprüche auch solche Modifikationen oder Ausführungsformen einschließen.