ROHRAUER PETER (DE)
WAGNER THOMAS (DE)
WICK OLIVER (DE)
ZIMMERMANN SEBASTIAN (DE)
US6490513B1 | 2002-12-03 | |||
US20160323741A1 | 2016-11-03 | |||
US20160330027A1 | 2016-11-10 |
Patentansprüche 1 . Verfahren zum Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten, das Verfahren umfassend: Empfangen eines kryptografischen Schlüsselpaares umfassend einen öffentlichen, kryptografischen Schlüssel und einen privaten, kryptografischen Schlüssels; Empfangen des Datensatzes des Fahrzeugs; Verschlüsseln des empfangenen Datensatzes mittels des öffentlichen, kryptographischen Schlüssels; Übermitteln des verschlüsselten Datensatzes an einen Datenspeicher zum Speichern des verschlüsselten Datensatzes; Erzeugen eines kryptographischen Hashwerts des verschlüsselten Datensatzes; Übermitteln des Hashwerts des verschlüsselten Datensatzes an eine Blockchain- Datenbank zum Speichern des Hashwerts des verschlüsselten Datensatzes; Empfangen einer Anfragenachricht eines Dritten zum Abrufen des Datensatzes; Erzeugen einer ersten Anfragenachricht an den Datenspeicher und einer zweiten Anfragenachricht an die Blockchain-Datenbank in Abhängigkeit der empfangenen Anfragenachricht; Übermitteln der ersten Anfragenachricht an den Datenspeicher und der zweiten Anfragenachricht an die Blockchain-Datenbank; Empfangen des verschlüsselten Datensatzes von dem Datenspeicher in Antwort auf die erste Anfragenachricht und den Hashwert des verschlüsselten Datensatzes von der Blockchain- Datenbank in Antwort auf die zweite Anfragenachricht; Validieren des verschlüsselten Datensatzes mittels des Hashwerts; und Falls das Validieren des verschlüsselten Datensatzes erfolgreich ist: Entschlüsseln des verschlüsselten Datensatzes mittels des privaten, kryptographischen Schlüssels; und Übermitteln des Datensatzes in Antwort auf die Anfragenachricht des Dritten an einen Server des Dritten. 2. Verfahren nach Anspruch 1 , wobei der Datensatz des Fahrzeugs einen vorzugsweise eindeutigen Bezeichner umfasst, der das Fahrzeug und/oder einen Eigentümer und/oder einen Besitzer und/oder einen Insassen des Fahrzeugs identifiziert. 3. Verfahren nach einem der vorhergehenden Ansprüche, das Verfahren weiterhin umfassend: Empfangen eines ausführbaren Programmcodes des Eigentümers des Fahrzeugs, wobei der ausführbare Programmcode mit dem Datensatz des Fahrzeugs verknüpft ist, und/oder wobei der ausführbare Programmcode Befehle umfasst, die bei einer Anfrage des Datensatzes durch den Dritten ausgeführt werden und den Zugriff auf den Datensatz durch den Dritten prüfen. 4. Verfahren nach Anspruch 3, wobei das Empfangen der Anfragenachricht des Dritten zum Abrufen des Datensatzes umfasst: Ausführen des ausführbaren Programmcodes, der mit dem Datensatz verknüpft ist; Falls der ausgeführte Programmcode anzeigt, dass dem Dritten erlaubt ist, auf den Datensatz zuzugreifen: Erzeugen einer ersten Anfragenachricht an den Datenspeicher und einer zweiten Anfragenachricht an die Blockchain-Datenbank in Abhängigkeit der empfangenen Anfragenachricht: Übermitteln der ersten Anfragenachricht an den Datenspeicher und der zweiten Anfragenachricht an die Blockchain-Datenbank; Empfangen des verschlüsselten Datensatzes von dem Datenspeicher in Antwort auf die erste Anfragenachricht und den Hashwert des verschlüsselten Datensatzes von der Blockchain-Datenbank in Antwort auf die zweite Anfragenachricht; Validieren des verschlüsselten Datensatzes mittels des Hashwerts; und Falls das Validieren des verschlüsselten Datensatzes erfolgreich ist: Entschlüsseln des verschlüsselten Datensatzes mittels des privaten, kryptographischen Schlüssels; und Übermitteln des Datensatzes in Antwort auf die Anfragenachricht des Dritten an einen Server des Dritten. 5. Verfahren nach einem der Ansprüche 3 bis 4, wobei der ausführbare Programmcode ein Skript ist; und/oder wobei der ausführbare Programmcode ein Smart-Contract-Skript ist. 6. Computerlesbares Medium zum Bereitstellen eines Datensatzes eines Fahrzeugs, wobei das computer-lesbare Medium Instruktionen umfasst, die, wenn ausgeführt auf einem Computer, das Verfahren nach einem der Ansprüche 1 bis 5 ausführen. 7. System zum Bereitstellen eines Datensatzes eines Fahrzeugs, wobei das System einen Prozessor umfasst, der dazu ausgebildet ist, das Verfahren nach einem der Ansprüche 1 bis 5 auszuführen. 8. Fahrzeug umfassend ein System zum Bereitstellen eines Datensatzes eines Fahrzeugs nach Anspruch 7. |
Die Erfindung betrifft ein Verfahren zum Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten. Insbesondere betrifft die Erfindung ein computerlesbares Medium, ein System, und ein Fahrzeug umfassend das System zum Bereitstellen eines Datensatzes eines
Fahrzeugs an einen Dritten.
Bekannt sind vernetzte Fahrzeuge, d.h. Daten der Fahrzeuge können aus den Fahrzeugen an einen zentralen Backend-Server übertragen und von einem zentralen Backend-Server empfangen werden. Von dem zentralen Backend-Server können die Daten der Fahrzeuge an einen Server eines Dritten verteilt werden. Zum Abrufen der Daten von dem zentralen Backend- Server kann sich ein Dritter auf dem zentralen Backend-Server registrieren und diese Daten von dem zentralen Backend-Server abrufen.
Es ist daher eine Aufgabe der Erfindung, die Sicherheit, insbesondere die
Informationssicherheit, und/oder die Transparenz bei einem Bereitstellen eines Datensatzes eines Fahrzeugs an Dritte effizient zu erhöhen. Insbesondere ist es eine Aufgabe der Erfindung die Vertraulichkeit und/oder die Integrität eines Datensatzes eines Fahrzeugs beim Bereitstellen des Datensatzes an Dritte effizient zu verbessern.
Gelöst wird diese Aufgabe durch die Merkmale der unabhängigen Ansprüche. Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den abhängigen
Ansprüchen.
Gemäß einem ersten Aspekt zeichnet sich die Erfindung aus durch ein Verfahren zum
Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten. Das Bereitstellen des Datensatzes, kann ein Verteilen des Datensatzes über ein Kommunikationsnetzwerk von dem Fahrzeug an einen Server eines Fahrzeugherstellers und/oder an einen Server des Dritten umfassen. Ein Datensatz kann ein Datum oder mehrere Daten des Fahrzeugs, insbesondere ein Datum oder mehrere Daten eines oder mehrerer Sensoren, Aktoren und/oder eines oder mehrerer Steuergeräte des Fahrzeugs, umfassen. Zusätzlich oder alternativ kann ein Datensatz Umfelddaten des Fahrzeugs und/oder Nutzerdaten des Fahrzeugs umfassen. Das Verfahren umfasst ein Empfangen eines kryptografischen Schlüsselpaares umfassend einen privaten und einen öffentlichen, kryptographischen Schlüssel. Alternativ kann das Verfahren mehrere kryptografische Schlüsselpaare empfangen. Beispielsweise können ein kryptografisches Schlüsselpaar mit einem Eigentümer des Fahrzeugs, ein Schlüsselpaar mit einem Besitzer des Fahrzeugs, und/oder ein Schlüsselpaar mit einem Fahrer oder Insassen des Fahrzeugs verknüpft sein. Das kryptografische Schlüsselpaar oder ein Schlüssel, z.B. der private, kryptografische Schlüssel oder der öffentliche, kryptografische Schlüssel, der kryptografischen Schlüsselpaares kann auf einem mobilen Endgerät des Eigentümers des Fahrzeugs, des Besitzers des Fahrzeugs, des Fahrzeugnutzers, und/oder des Fahrzeuginsassen, einem Steuergerät des Fahrzeugs oder einem sonstigen Datenträger wie einer Smart Card
gespeichert sein. Beispielsweise kann der private, kryptographische Schlüssel auf einem sicheren Element, engl. Secure Element, des mobilen Endgeräts oder dem Steuergerät oder einer Smart Card gespeichert sein. Vorzugsweise ist nur der öffentliche, kryptographische Schlüssel des kryptografischen Schlüsselpaares in dem Fahrzeug gespeichert. Der private, kryptografische Schlüssel des kryptografischen Schlüsselpaares ist vorzugsweise in dem mobilen Endgerät, z.B. einem Fahrzeugschlüssei des Eigentümers des Fahrzeugs, gespeichert. Das Verfahren umfasst weiterhin ein Empfangen des Datensatzes des Fahrzeugs, und ein Verschlüsseln des empfangenen Datensatzes mittels des öffentlichen, kryptographischen Schlüssels. Ferner umfasst das Verfahren ein Übermitteln des verschlüsselten Datensatzes an einen Datenspeicher, z.B. einem Datenbankserver, zum Speichern des verschlüsselten
Datensatzes, ein Erzeugen eines Hashwerts des verschlüsselten Datensatzes mittels des privaten, kryptographischen Schlüssels des Eigentümers des Fahrzeugs, und ein Übermitteln des Hashwerts des verschlüsselten Datensatzes an eine verteilte, dezentrale Datenbank, z.B. eine Blockchain-Datenbank, zum Speichern des Hashwerts des verschlüsselten Datensatzes.
Weiterhin umfasst das Verfahren ein Empfangen einer Anfragenachricht eines Dritten zum Abrufen des Datensatzes, ein Erzeugen einer ersten Anfragenachricht an den Datenspeicher und einer zweiten Anfragenachricht an die Blockchain-Datenbank in Abhängigkeit der empfangenen Anfragenachricht, ein Übermitteln der ersten Anfragenachricht an den
Datenspeicher und der zweiten Anfragenachricht an die Blockchain-Datenbank, und ein
Empfangen des verschlüsselten Datensatzes von dem Datenspeicher in Antwort auf die erste Anfragenachricht und den Hashwert des verschlüsselten Datensatzes von der Blockchain- Datenbank in Antwort auf die zweite Anfragenachricht. Das Verfahren validiert den
verschlüsselten Datensatz mittels des Hashwerts, entschlüsselt den verschlüsselten Datensatz mittels des privaten, kryptographischen Schlüssels, falls das Validieren des verschlüsselten Datensatzes erfolgreich ist, und übermittelt den Datensatz in Antwort auf die Anfragenachricht des Dritten an einen Server des Dritten. Falls der private, kryptographische Schlüssel beim Entschlüsseln des verschlüsselten Datensatz nicht verfügbar ist, kann der verschlüsselte Datensatz auf ein Gerät, z.B. ein mobiles Endgerät oder ein Steuergerät des Fahrzeugs, übertragen werden, um das Entschlüsseln des verschlüsselten Datensatzes auf diesem Gerät mittels des privaten, kryptografischen Schlüssels auszuführen. Alternativ kann beim
Entschlüsseln des verschlüsselten Datensatzes, der private, kryptografische Schlüssel bei einem Gerät, z.B. bei einem mobilen Endgerät oder einem Steuergerät, angefragt werden, und an ein Gerät, welches das Verfahren ausführt, zum Entschlüsseln des verschlüsselten
Datensatzes übertragen werden. Beispielsweise kann das kryptographische Schlüsselpaar mit einer Person, z.B. dem Eigentümer, dem Besitzer, dem Fahrer, oder einem Insassen, verknüpft sein. Die Person kann einen Zugriff auf den privaten, kryptographischen Schlüssel durch einen Dritten autorisieren.
Vorteilhafterweise kann durch Speichern des Hashwerts des verschlüsselten Datensatzes in der Blockchain-Datenbank, die Sicherheit und die Transparenz eines Bereitstellens der
Fahrzeugdaten effizient erhöht werden. Ein Dritter kann durch das Speichern des Hashwerts in der Blockchain-Datenbank transparent überprüfen, welche Datensätze in der Blockchain gespeichert sind. Ferner kann beispielsweise der Eigentümer des Fahrzeugs kann einen Zugriff auf den Datensatz autorisieren, und damit einen Zugriff auf den Datensatz oder Teile des Datensatzes steuern. Ferner kann durch die Verschlüsselung des Datensatzes in dem
Datenspeicher und die Speicherung des Hashwerts in der Blockchain-Datenbank die
Vertraulichkeit des Datensatzes für den Eigentümer des Fahrzeugs sichergestellt werden. Für den Dritten kann durch das Speichern des Hashwerts in der Blockchain-Datenbank die
Integrität des Datensatzes zugesichert werden. Der Dritte kann somit Veränderungen des Datensatzes des Fahrzeugs effizient erkennen. Ein Zugriff auf den Datensatz des Fahrzeugs kann durch den Dritten somit transparent und diskriminierungsfrei erfolgen.
Gemäß einer vorteilhaften Ausgestaltung kann der Datensatz des Fahrzeugs einen
vorzugsweise eindeutigen Bezeichner umfassen, der das Fahrzeug und/oder einen Eigentümer und/oder einen Besitzer und/oder einen Insassen des Fahrzeugs identifiziert. Hiermit kann der Datensatz eindeutig einer Person und/oder einem Fahrzeug zugeordnet werden. Gemäß einer weiteren, vorteilhaften Ausgestaltung kann das Verfahren weiterhin ein
Empfangen eines ausführbaren Programmcodes des Eigentümers des Fahrzeugs, wobei der ausführbare Programmcode mit dem Datensatz des Fahrzeugs verknüpft ist, und/oder wobei der ausführbare Programmcode Befehle umfasst, die bei einer Anfrage des Datensatzes durch den Dritten ausgeführt werden und den Zugriff auf den Datensatz durch den Dritten überprüfen. Hiermit kann ein Zugriff auf den Datensatz des Fahrzeugs durch den Eigentümer des
Fahrzeugs und/oder einen Fahrzeughersteller flexibel gesteuert werden.
Gemäß einer weiteren, vorteilhaften Ausgestaltung kann das Empfangen der Anfragenachricht des Dritten zum Abrufen des Datensatzes ein Ausführen des ausführbaren Programmcodes, der mit dem Datensatz verknüpft ist, und, falls der ausgeführte Programmcode anzeigt, dass dem Dritten erlaubt ist, auf den Datensatz zuzugreifen, ein Erzeugen einer ersten
Anfragenachricht an den Datenspeicher und einer zweiten Anfragenachricht an die Blockchain- Datenbank in Abhängigkeit der empfangenen Anfragenachricht, ein Übermitteln der ersten Anfragenachricht an den Datenspeicher und der zweiten Anfragenachricht an die Blockchain- Datenbank, ein Empfangen des verschlüsselten Datensatzes von dem Datenspeicher in Antwort auf die erste Anfragenachricht und den Hashwert des verschlüsselten Datensatzes von der Blockchain-Datenbank in Antwort auf die zweite Anfragenachricht, und ein Validieren des verschlüsselten Datensatzes mittels des Hashwerts umfassen. Falls das Validieren des verschlüsselten Datensatzes erfolgreich ist, kann das Verfahren ein Entschlüsseln des verschlüsselten Datensatzes mittels des privaten, kryptographischen Schlüssels, und ein Übermitteln des Datensatzes in Antwort auf die Anfragenachricht des Dritten an einen Server des Dritten ausführen. Hiermit kann ein Zugriff auf den Datensatz des Fahrzeugs durch den Eigentümer des Fahrzeugs und/oder den Fahrzeughersteller flexibel gesteuert werden
Gemäß einer weiteren vorteilhaften Ausgestaltung kann der ausführbare Programmcode ein Skript oder der ausführbare Programmcode ein Smart-Contract-Skript sein. Ein Smart-Contract- Skript umfasst Anweisungen, die Regelungen eines vorzugsweise digitalen Vertrags
implementieren. Beispielsweise kann ein Smart-Contract-Skript Anweisungen umfassen, die einen Zugriff auf Daten und/oder eine Verarbeitung von Daten regeln, die mit dem Smart- Contract-Skript verknüpft sind. Hiermit kann ein Zugriff und eine Verarbeitung von Daten transparent und flexibel durch einen Eigentümer eines Fahrzeugs und/oder durch den
Fahrzeughersteller gesteuert werden. Gemäß einem weiteren Aspekt zeichnet sich die Erfindung aus durch ein computerlesbares Medium zum Bereitstellen eines Datensatzes eines Fahrzeugs, wobei das computer-lesbare Medium Instruktionen umfasst, die, wenn ausgeführt auf einem Computer, das oben
beschriebene Verfahren ausführen.
Gemäß einem weiteren Aspekt zeichnet sich die Erfindung aus durch ein System zum
Bereitstellen eines Datensatzes eines Fahrzeugs, wobei das System einen Prozessor umfasst, der dazu ausgebildet ist, das oben beschriebene Verfahren auszuführen.
Gemäß einem weiteren Aspekt zeichnet sich die Erfindung aus durch ein Fahrzeug umfassend ein System, wie oben beschrieben, zum Bereitstellen eines Datensatzes eines Fahrzeugs.
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Alle vorstehend in der Beschreibung genannten Merkmale und
Merkmalkombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren allein gezeigten Merkmale und Merkmalkombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder aber in Alleinstellung verwendbar.
Im Folgenden wird anhand der beigefügten Zeichnungen ein bevorzugtes Ausführungsbeispiel der Erfindung beschrieben. Daraus ergeben sich weitere Details, bevorzugte Ausgestaltungen und Weiterbildungen der Erfindung. Im Einzelnen zeigt schematisch Fig. 1 ein beispielhaftes Sequenzdiagramm eines Verfahrens zum Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten.
Im Detail zeigt Fig. 1 ein beispielhaftes Sequenzdiagramm 100 eines Verfahrens zum
Bereitstellen eines Datensatzes eines Fahrzeugs 106 an einen Dritten 104. Eine Anwendung 108 kann das Verfahren implementieren. Die Anwendung 108 kann beispielsweise auf einem Backend-Server eines Herstellers des Fahrzeugs 106 ausgeführt werden. Die Anwendung kann eine verteilte Anwendung sein, d.h. ein Teil der Anwendung kann auf einem Steuergerät des Fahrzeugs ausgeführt werden, z.B. Verschlüsseln und Speichern des Datensatzes, und ein Teil kann auf dem Backend-Server des Herstellers ausgeführt werden, z.B. Valideren und
Entschlüsseln des Datensatzes. Die Anwendung 108 kann eine kryptografisches Schlüsselpaar, vorzugsweise mindestens einen öffentlichen, kryptografischen Schlüssel des kryptografischen Schlüsselpaars, von einem Eigentümer 102, insbesondere von einem vorzugsweise mobilen Endgerät des Eigentümers 102 des Fahrzeugs 106, z.B. von einem Computer, einem
Smartphone, oder einem Schlüssel, empfangen 1 14. Der öffentliche, und optional der private, kryptografische Schlüssel des Eigentümers 102 des Fahrzeugs 106 kann über eine
verschlüsselte Kommunikationsverbindung empfangen werden. Alternativ kann der
kryptografische Schlüssel in einer Schlüsseldatenbank des Backend-Servers des
Fahrzeugherstellers gespeichert sein und aus der Schlüsseldatenbank durch die Anwendung 108 abgerufen werden. Die Anwendung 108 kann ferner einen Datensatz oder mehrere Datensätze des Fahrzeugs 106 empfangen 1 16. Der Datensatz bzw. die Datensätze des Fahrzeugs 106 können über eine verschlüsselte, drahtlose oder drahtgebundene
Kommunikationsverbindung mit dem Fahrzeug 106 von der Anwendung 108 empfangen werden. Die Anwendung 108 kann einen Datensatz oder Datensätze mittels einer
Kommunikation nach einem Push- oder einem Pull-Prinzip von dem Fahrzeug 106 empfangen.
Die Anwendung 108 kann mittels des öffentlichen, kryptografischen Schlüssels, der
beispielsweise in einer Schlüsseldatenbank der Anwendung 108 und/oder in dem Fahrzeug 106 gespeichert ist, den bzw. die empfangene Datensätze verschlüsseln und den verschlüsselten Datensatz bzw. die verschlüsselten Datensätze an einen Datenspeicher 1 10 zum Speichern des verschlüsselten Datensatzes bzw. der verschlüsselten Datensätze übermitteln 1 18. Der Datenspeicher 1 10 kann eine Datenbank oder ein Dateisystem eines nicht-flüchtigen Speichers sein. Der Datenspeicher 1 10 kann ein zentraler Datenspeicher sein. Beispielsweise kann der Datenspeicher 1 10 eine relationale Datenbank des Backends des Fahrzeugherstellers sein. Die Anwendung 108 kann ferner einen Hashwert des verschlüsselten Datensatzes erzeugen und den Hashwert des verschlüsselten Datensatzes bzw. der verschlüsselten Datensätze an eine Blockchain-Datenbank 1 12 zum Speichern des Hashwerts des verschlüsselten Datensatzes bzw. der verschlüsselten Datensätze übermitteln 120. Das Übermitteln und Speichern des verschlüsselten Datensatzes sowie des zugehörigen Hashwerts kann parallel oder sequentiell durch die Anwendung 108 ausgeführt werden. Vorzugsweise kann die Anwendung 108 eine Bestätigungsnachricht über ein erfolgtes Speichern des verschlüsselten Datensatzes sowie des dazugehörigen Hashwerts empfangen werden.
Zusätzlich kann die Anwendung 108 einen ausführbaren Programmcode, z.B. ein Smart- Contract-Skript, von dem Eigentümer 102 des Fahrzeugs 106 und/oder von dem Fahrzeug 106 empfangen. Der ausführbare Programmcode umfasst Anweisungen und/oder ein Protokoll, welche einen Zugriff auf den Datensatz, Änderungen an dem Datensatz, und/oder Verarbeitungsvorschriften des Datensatzes umfassen können. Der ausführbare Programmcode kann mit dem Datensatz des Fahrzeugs 106 empfangen werden. Der ausführbare
Programmcode kann von dem Eigentümer 102 des Fahrzeugs empfangen werden und mit dem Datensatz des Fahrzeugs 106 verknüpft sein. Die Anwendung 108 kann den ausführbaren Programmcode ausführen.
Zusätzlich oder alternativ kann die Anwendung 108 den ausführbaren Programmcode, vorzugsweise zusammen mit dem Hashwert des verschlüsselten Datensatzes, an die
Blockchain-Datenbank 1 12 übermitteln. Der ausführbare Programmcode kann mit dem
Hashwert des Datensatzes verknüpft sein. Die Blockchain-Datenbank kann den ausführbaren Programmcode speichern und jedes Mal ausführen, wenn ein Zugriff auf den gespeicherten Hashwert erfolgt. Die Anwendung kann ferner eine Änderung des ausführbaren
Programmcodes von dem Eigentümer 102 des Fahrzeugs und/oder dem Fahrzeug empfangen und an die Blockchain-Datenbank 1 12 übermitteln. Die Blockchain-Datenbank 1 12 kann die Änderung der ausführbaren Programmcodes empfangen und speichern, so dass der geränderte, ausführbare Programmcode bei einem Zugriff auf den Hashwert des Datensatzes ausgeführt wird.
Zum Abrufen des verschlüsselten Datensatzes und des dazugehörigen Hashwerts kann die Anwendung 108 eine Anfragenachricht eines Dritten 104, insbesondere eines Servers des Dritten 104, zum Abrufen des Datensatzes bzw. der Datensätze des Fahrzeugs 106 empfangen 122. Die Anfragenachricht kann beispielsweise den Eigentümer 102, das Fahrzeug 106, eine Komponente des Fahrzeugs 106, und/oder den Datensatz bzw. Datensätze des Fahrzeugs 106 eindeutig identifizieren. Der Dritte 104 kann sich vor einem Senden der Anfragenachricht an die Anwendung 108 mittels bekannter Authentifikationsverfahren bei der Anwendung 108 authentifizieren. Die Anwendung 108 kann die Anfragenachricht des Dritten 104 vorzugsweise nur empfangen, falls der Dritte 104 sich erfolgreich gegenüber der Anwendung 108
authentifiziert hat.
Ferner kann die Anwendung 108 den ausführbaren Programmcode ausführen, der mit dem durch den Dritten 104 angefragten Datensatz verknüpft ist. Falls der ausgeführte
Programmcode anzeigt, dass der es dem Dritten 104 erlaubt ist, auf den Datensatz zuzugreifen und/oder den Datensatz zu verarbeiten, kann die Anwendung 108 die nachfolgend beschriebenen Schritte des Verfahrens ausführen. Andernfalls kann die Anwendung 108 eine Nachricht an den Dritten 104 übermittelt, die anzeigt, dass der Dritte 104 keine Berechtigung hat, auf den Datensatz zuzugreifen und/oder den Datensatz zu verarbeiten.
In Abhängigkeit der empfangenen Anfragenachricht des Dritten 104 kann die Anwendung 108 eine erste Anfragenachricht an den Datenspeicher 1 10 erzeugen und die erste
Anfragenachricht an den Datenspeicher 1 10 übermitteln 126. In Antwort auf die erste
Anfragenachricht kann die Anwendung 108 den verschlüsselten Datensatz von dem
Datenspeicher 1 10 empfangen 128.
Die Anwendung 108 kann den, von dem Datenspeicher 1 10 empfangenen, verschlüsselten Datensatz mittels des von der Blockchain-Datenbank 1 12 empfangenen Hashwerts validieren. Falls das Validieren des verschlüsselten Datensatzes durch die Anwendung 108 erfolgreich ist, kann der verschlüsselte Datensatz mittels des privaten, kryptographischen Schlüssels entschlüsselt werden. Dazu kann die Anwendung 108 den privaten, kryptographischen
Schlüssel aus der Schlüsseldatenbank der Anwendung 108 auslesen.
Falls der private, kryptographische Schlüssel des Eigentümers 102 des Fahrzeugs 106 der Anwendung 108 nicht vorliegt, kann die Anwendung 108 den zu entschlüsselnden Datensatz an den Eigentümer des Fahrzeugs 102 zur Entschlüsselung mittels des privaten,
kryptographischen Schlüssel des Eigentümers des Fahrzeugs übermitteln 123 und den entschlüsselten Datensatz wieder empfangen 124.
In Abhängigkeit der empfangenen Anfragenachricht des Dritten 104 kann die Anwendung 108 eine zweite Anfragenachricht erzeugen und die zweite Anfragenachricht an die Blockchain- Datenbank 1 12 übermitteln 130. In Antwort auf die zweite Anfragenachricht kann die
Blockchain-Datenbank 1 12 den Hashwert des verschlüsselten Datensatzes an die Anwendung 108 übertragen. Schließlich kann die Anwendung 108 den Datensatz über eine vorzugsweise verschlüsselte Kommunikationsverbindung in Antwort auf die Anfragenachricht des Dritten 104 an den Dritten 104, insbesondere an einen Server des Dritten 104, übermitteln 134.
Vorteilhafterweise kann durch ein Verwenden einer Blockchain-Datenbank die Integrität und Vertrauenswürdigkeit der Datensätze des Fahrzeugs effizient erhöht werden. Es ist kein zentraler Server notwendig, um die Datensätze eines Fahrzeugs an Dritte zu verteilen bei gleichzeitiger Transparenz für den Dritten und Datensicherheit für den Eigentümer des Fahrzeugs. Der Eigentümer des Fahrzeugs kann flexibel durch einen Smart-Contract bzw. ein Smart-Contract Skript definieren, wer die Datensätze des Fahrzeugs zugreifen und/oder verarbeiten kann. Das Smart-Contract-Skript kann der Eigentümer des Fahrzeugs flexibel anpassen und somit den Zugriff und die Verarbeitung der Datensätze seines Fahrzeugs steuern. Für den Dritten hat die Verwendung der Blockchain-Datenbank den Vorteil, dass der Dritte stets transparent überprüfen kann, ob die Datensätze des Fahrzeugs verändert wurden oder unvollständig sind. Somit kann der Dritte diskriminierungsfrei auf die Datensätze des Fahrzeugs zugreifen und diese verarbeiten, sofern das Smart-Contract-Skript des Eigentümers des Fahrzeugs dies ermöglicht. Durch die verschlüsselte Speicherung und die verschlüsselte Verteilung der Datensätze ist zudem die Vertraulichkeit sichergestellt.
Bezugszeichenliste
100 Sequenzdiagramm
102 Eigentümer
104 Dritter
106 Fahrzeug
108 Anwendung bzw. App
1 10 Datenspeicher
1 12 Blockchain-Datenbank
1 14 empfangen eines privaten, kryptographischen Schlüssels
1 16 empfangen eines Datensatzes eines Fahrzeugs
1 18 übermitteln des verschlüsselten Datensatzes
120 übermitteln des Hashwerts
122 empfangen einer Anfragenachricht
123 übermitteln einer Nachricht zum Übertragen des privaten, kryptographischen Schlüssels
124 empfangen eines privaten, kryptographischen Schlüssels
126 übermitteln einer ersten Anfragenachricht
128 empfangen einer Antwort auf die erste Anfragenachricht
130 übermitteln einer zweiten Anfragenachricht
132 übermitteln einer Antwort auf die zweite Anfragenachricht
134 übermitteln des Datensatzes an den Dritten
Next Patent: POLYURETHANE-BASED BINDER SYSTEM