DE102016007498A1 - Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs - Google Patents

Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs Download PDF

Info

Publication number
DE102016007498A1
DE102016007498A1 DE102016007498.1A DE102016007498A DE102016007498A1 DE 102016007498 A1 DE102016007498 A1 DE 102016007498A1 DE 102016007498 A DE102016007498 A DE 102016007498A DE 102016007498 A1 DE102016007498 A1 DE 102016007498A1
Authority
DE
Germany
Prior art keywords
program file
assistance system
control device
vehicle
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016007498.1A
Other languages
English (en)
Inventor
Christoph Dalke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Audi AG
Original Assignee
Audi AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Audi AG filed Critical Audi AG
Priority to DE102016007498.1A priority Critical patent/DE102016007498A1/de
Publication of DE102016007498A1 publication Critical patent/DE102016007498A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum manipulationssicheren Bereitstellen einer Funktionalität eines Assistenzsystems (2) eines Kraftfahrzeugs (1) durch eine Programmdatei (11), mit einem Übermitteln einer mittels des Assistenzsystems (2) ausführbaren Programmdatei (11) mit einer Quellenkennung von einer fahrzeugexternen Recheneinrichtung (12) an eine fahrzeuginterne Steuereinrichtung (3) des Assistenzsystems (2), wobei die Quellenkennung vom Inhalt der Programmdatei (11) abhängt, mit einem Speichern der übermittelten Programmdatei (11) mit der Quellenkennung auf der fahrzeuginternen Steuereinrichtung (3), mit einem Empfangen eines Ausführsignals zum Ausführen der gespeicherten Programmdatei (11) mittels der Steuereinrichtung (3) durch die Steuereinrichtung (3), mit einem Prüfen eines Abbruchkriteriums für das Ausführen der Programmdatei (11) durch die Steuereinrichtung (3), mit einem Nichtausführen der Programmdatei (11) trotz des empfangenen Ausführsignals und damit Nichtbereitstellen der Funktionalität des Assistenzsystems (2) bei einem erfüllten Abbruchkriterium und mit einem Ausführen der Programmdatei (11) und damit Bereitstellen der Funktionalität des Assistenzsystems (2) bei einem verletzten Abbruchkriterium, um eine Funktionalität des Assistenzsystems (2) eines Kraftfahrzeugs (1) manipulationssicher bereitzustellen. Die Erfindung betrifft auch ein entsprechendes Assistenzsystem (2).

Description

  • Die Erfindung betrifft ein Verfahren zum manipulationssicheren Bereitstellen einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs durch eine Programmdatei. Sie betrifft auch ein Assistenzsystem für ein Kraftfahrzeug, mit einer fahrzeuginternen Steuereinrichtung, welche zum Speichern einer durch die fahrzeuginterne Steuereinrichtung ausführbaren Programmdatei und einer zugeordneten Quellenkennung ausgelegt ist.
  • In Kraftfahrzeugen werden immer stärkere Recheneinheiten verwendet, welche oft auch öffentlich bekannte Betriebssysteme wie Unix oder Linux als Betriebssystem verwenden. Im Bereich der Kraftfahrzeug-Unterhaltungs- und Informationssysteme, der sogenannten Infotainment Systeme, ist dies beispielsweise QNX und Linux. Durch manipulative Angriffe („hacken”) kann nun ein Angreifer gegebenenfalls eigene Programmdateien auf das Infotainment System und entsprechende Steuereinheiten übertragen und so in ein Assistenzsystem des Kraftfahrzeug bringen. Mit den Programmdateien oder Tools können dann weitere Angriffe auf Systeme des Kraftfahrzeugs, beispielsweise Fahrerassistenzsysteme, ausgeführt werden. Bekannte Maßnahmen, beispielsweise ein sicherer Startmechanismus wie der bekannte Secure Boot Mechanismus, der beispielsweise im Unified extensible firmware interface 2.3.1 realisiert ist, schützen die Integrität des Festspeichers und der Ausführung beim Hochfahren oder Booten des Systems, können allerdings ein Ausführen von Programmdateien welche beispielsweise von einer NAND- oder SD-Karte gelesen werden, nicht verhindern.
  • Entsprechend können Angreifer, Manipulatoren, Nachrüster oder Diebe wenn es Ihnen gelungen ist, ihre eigenen Programmen auf dem System zu speichern diese auch ausführen, und so beispielsweise die originalen Softwarebausteine beziehungsweise Programmdateien zur Laufzeit modifizieren oder manipulieren und so in eine Funktionalität von Assistenzsystemen des Kraftfahrzeugs eingreifen, oder ihre Tools oder Programme nutzen, um weitere Sicherheitslücken im Kraftfahrzeug auszunutzen. Gerade in modernen Informationsunterhaltungssystemen, welche über eine Vielzahl von unterschiedlichen Schnittstellen verfügen, ist es sehr schwierig bis unmöglich, sämtliche Schnittstellen sicher zu gestalten und so ein unbefugtes Speichern von Programmdateien in dem Informationsunterhaltungssystem zu unterbinden.
  • Ist ein Programm von Unbefugten erst einmal in dem System, kann zum Beispiel auch ein weiterer Angriff auf fahrzeuginterne Steuereinheiten wie Controller stattfinden, welche an die Fahrzeugbusse angebunden sind. Als Ergebnis kann der Angreifer möglicherweise Kontrolle über das Kraftfahrzeug übernehmen. Dies ist bekanntermaßen bereits erfolgt. Eine weitere Gefahr ist, dass auf die genannte Weise auch die Software oder die Programmdateien von gestohlener Ware modifiziert werden können und damit ein über die Software realisierter Komponenten- oder Diebstahlschutz umgangen werden kann.
  • In diesem Zusammenhang offenbart die DE 10 2014 208 385 A1 ein Verfahren zum sicheren Laden und Übertragen beziehungsweise Empfangen von Softwareobjekten in eine elektronische Steuereinheit eines Kraftfahrzeugs.
  • Die DE 10 2012 109 615 A1 offenbart ein Verfahren zum Verifizieren, dass Betriebssoftware und Kalibrierfiles ordnungsgemäß in ein Steuergerät flashprogrammiert wurden, bevor erlaubt wird, dass die Betriebssoftware in dem Steuergerät ausgeführt wird.
  • Die DE 10 2011 007 853 A1 offenbart ein Kommunikationssystem zum Senden und Empfangen von Kommunikationsdaten zusammen mit beigefügten Signaturdaten zur Verifizierung der Kommunikationsdaten.
  • Es ergibt sich die Aufgabe, eine Funktionalität eines Assistenzsystems eines Kraftfahrzeugs manipulationssicher bereitzustellen.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausführungsformen ergeben sich aus den abhängigen Patentansprüchen, der Beschreibung und der Figur.
  • Die Erfindung betrifft ein Verfahren zum manipulationssicheren Bereitstellen einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs durch eine Programmdatei, beziehungsweise ein Verfahren zum manipulationssicheren Ausführen einer Programmdatei zum Bereitstellen einer Funktionalität des Assistenzsystems.
  • Ein Schritt ist dabei ein Übermitteln einer mittels des Assistenzsystems ausführbaren Programmdatei mit einer Quellenkennung von einer fahrzeugexternen Recheneinrichtung an eine fahrzeuginterne Steuereinrichtung des Assistenzsystems. Bei der ausführbaren Programmdatei kann es sich dabei um eine Binärdatei handeln. Dabei hängt die Quellenkennung vom ursprünglichen Inhalt der Programmdatei ab. Sie hängt also von dem Inhalt der Programmdatei ab, wie sie auf der fahrzeugexternen Recheneinrichtung hinterlegt wurde, bevor sie an die fahrzeuginterne Steuereinrichtung übermittelt wurde. Insbesondere ist die Quellenkennung der fahrzeugexternen Recheneinrichtung dabei eindeutig zuordenbar. Ein weiterer Schritt ist das Speichern der übermittelten Programmdatei mit der Quellenkennung auf der fahrzeuginternen Steuereinrichtung.
  • Ein nächster Schritt ist ein Empfangen eines Ausführsignals zum Ausführen der gespeicherten Programmdatei mittels der Steuereinrichtung durch die Steuereinrichtung. Die Steuereinrichtung empfängt also das Ausführsignal, in welchem sie angewiesen wird, die gespeicherte Programmdatei auszuführen. Es folgt ein Prüfen eines Abbruchkriteriums für das Ausführen der Programmdatei durch die Steuereinrichtung. Dabei ist beispielsweise das Abbruchkriterium verletzt, wenn ein Überprüfen der Programmdatei und der Quellenkennung durch die Steuereinrichtung gemäß einer vorgegebenen Vorschrift ergibt, dass die Quellenkennung der Programmdatei zugeordnet ist, und in allen anderen Fällen erfüllt. Bei einem verletzten Abbruchkriterium ist der nächste Schritt dann ein Ausführen der Programmdatei und damit Bereitstellen der Funktionalität des Assistenzsystems, bei einem erfüllten Abbruchkriterium ist der nächste Schritt das Nichtausführen der Programmdatei trotz des empfangenen Ausführsignals und damit ein Nichtbereitstellen der Funktionalität des Assistenzsystems.
  • Das hat den Vorteil, dass vor dem Ausführen und entsprechenden Bereitstellen der Funktionalität des Assistenzsystems ein Überprüfen der Programmdatei erfolgt und somit eine manipulierte Programmdatei, welche beispielsweise eine ursprüngliche Funktionalität verfälscht oder fehlerhaft bereitstellt oder eine nicht autorisierte, beispielsweise gefährliche Funktionalität bereitstellt, verhindert werden kann. Gerade in modernen Kraftfahrzeugen in welchen zugehörige Assistenzsysteme, beispielsweise Informationsunterhaltungssysteme, eine Vielzahl von Schnittstellen aufweisen, die schwierig zu überwachen oder sicher zu gestalten sind, ergeben sich hier große Vorteile. Gerade weil im Kraftfahrzeug sämtliche Hardwarekomponenten bekannt sind und einer einzigen Quelle entstammen, kann das genannte Prüfen des Abbruchkriteriums als zweite Barriere nach beispielsweise einem abgesicherten Übertragungsmechanismus für das Übermitteln der Programmdatei realisiert werden. Es wird somit die Sicherheit im Kraftfahrzeug durch ein manipulationssicheres Bereitstellen einer Funktionalität des Assistenzsystems erhöht.
  • In einer besonders vorteilhaften Ausführungsform umfasst das Verfahren auch ein Hinterlegen eines privaten Schlüssels eines Verschlüsselungs- und/oder Signieralgorithmus' auf der fahrzeugexternen Recheneinrichtung. Insbesondere kann es sich bei dem Verschlüsselungs- und/oder Signieralgorithmus um einen asymmetrischen Verschlüsselungs- und/oder Signieralgorithmus handeln. Dabei erfolgt auch ein Erzeugen der Quellenkennung in Form einer Signatur, mit einem Signieren der ausführbaren und zu übermittelnden Programmdatei mit der dem privaten Schlüssel zugeordneten Signatur durch die fahrzeugexterne Recheneinrichtung entsprechend einer dem Verschlüsselungs- und/oder Signieralgorithmus zugeordneten vorgegebenen Vorschrift. Somit betrifft dann das Übermitteln der Programmdatei mit der Quellenkennung die signierte Programmdatei mit der Signatur. Ebenfalls erfolgt hier ein Hinterlegen des zum privaten Schlüssel korrespondierenden öffentlichen Schlüssels des Verschlüsselungs- und/oder Signieralgorithmus' auf der fahrzeuginternen Steuereinrichtung. Dabei umfasst das Prüfen des Abbruchkriteriums ein Überprüfen der Signatur der gespeicherten Programmdatei mittels des öffentlichen Schlüssels durch die fahrzeuginterne Steuereinrichtung. Das Abbruchkriterium ist dabei erfüllt, falls das Überprüfen ergibt, dass die auf oder in der fahrzeuginternen Steuereinrichtung hinterlegte Signatur nicht dem privaten Schlüssel zugeordnet ist oder die gespeicherte Programmdatei keine Signatur aufweist. Verletzt ist das Abbruchkriterium, falls das Überprüfen ergibt, dass die Signatur dem privaten Schlüssel zugeordnet ist.
  • Das hat den Vorteil, dass durch die Steuereinrichtung nur Programmdateien oder Software ausgeführt werden kann, welche auf der fahrzeugexternen Recheneinrichtung signiert wurde, also beispielsweise von einem Lieferanten des Assistenzsystems oder des Kraftfahrzeugs. Selbst wenn somit ein Angreifer beispielsweise über Sicherheitslücken in Übertragungsprotokollen einen Schadcode oder eine Programmdatei in die Steuereinrichtung einspeisen kann, so wird ein Ausführen der entsprechenden Software verhindert. Des Weiteren wird so verhindert, dass gestohlene Komponenten zur Laufzeit des Fahrerassistenzsystems manipuliert, also „gepatcht” werden. Überdies wird auch ein reverse engineering, also ein Nachbau des Systems erschwert.
  • In einer vorteilhaften Ausführungsform ist vorgesehen, dass das Assistenzsystem ein Fahrerassistenzsystem und/oder ein Informations-Unterhaltungssystem umfasst oder ist. Das Fahrerassistenzsystem und/oder das Informations-Unterhaltungssystem kann auch als Fahrerassistenzmoduls bzw. Informations-Unterhaltungsmodul bezeichnet werden. Bei einem Fahrerassistenzsystem werden oft kritische Funktionalitäten für die Fahrsicherheit des Kraftfahrzeugs bereitgestellt, sodass hier eine Manipulation besonders schwerwiegende Folgen hat. Entsprechend ist ein manipulationssicheres Bereitstellen einer Funktionalität besonders vorteilhaft. Moderne Informations- und Unterhaltungssysteme weisen typischerweise eine Vielzahl von Schnittstellen und Softwarekomponenten auf, sodass eine Sicherheitslücke in zumindest einer Schnittstelle oder Komponente besonders wahrscheinlich ist. Eine solche kann wie weitere oben beschrieben zum Hacken des Systems genutzt werden, weshalb hier das beschriebene Verfahren, welches eine zusätzliche, von weiteren Maßnahmen unabhängige Möglichkeit darstellt, das Hacken des Systems zu verhindern, besonders vorteilhaft ist. Gerade wenn das Assistenzsystem sowohl ein Fahrerassistenzsystem als auch ein Informations- und Unterhaltungssystem mit einer Vielzahl von Schnittstellen umfasst, ist das Verfahren so besonders vorteilhaft.
  • In einer weiteren Ausführungsform ist vorgesehen, dass bei dem Signieren der Programmdatei auch zumindest eine weitere Datei mitsigniert, das heißt also in der Signatur berücksichtigt wird. Insbesondere kann es sich bei der weiteren Datei um eine Programmbibliothek handeln. Da aus Gründen der Effizienz oft auch in Assistenzsystemen eines Kraftfahrzeugs in der Steuereinrichtung weitere Dateien wie Programmbibliotheken hinterlegt sind, auf welche mehrere Programme oder Programmdateien zugreifen, kann letztlich eine Manipulation der Funktionalität des Assistenzsystems nur ausgeschlossen werden, wenn nicht nur die ausführbare Programmdatei selber, sondern auch weitere Dateien, auf welche die Programmdatei zugreift, bei dem manipulationssicheren Verfahren mitberücksichtigt werden.
  • In einer anderen vorteilhaften Ausführungsform ist vorgesehen, dass die Signatur in einem Dateikopf, einem so genannten Header, der Programmdatei gespeichert wird. Insbesondere kann es sich hier um einen ELF-Header, also einen Header im executable-and-linking Format handeln. Dies ermöglicht ein besonders praktisches Handhaben von Programmdatei und Signatur durch die Steuereinrichtung.
  • Es kann hier gemäß einer weiteren vorteilhaften Ausführungsform vorgesehen sein, dass das Signieren ein Bilden einer Prüfsumme der signierten beziehungsweise in der Signatur berücksichtigten Datei gemäß einer vorgegebenen Streuwertfunktion, einer so genannten Hashfunktion oder eines Hash-Algorithmus, umfasst. Dabei kann eine charakteristische Information über die vorgegebene Streuwertfunktion beziehungsweise die verwendete vorgegebene Streuwertfunktion in dem Dateikopf der Programmdatei abgespeichert werden. Dies ist besonders vorteilhaft, da möglicherweise unterschiedliche Streuwertfunktionen für unterschiedliche Programmdateien genutzt werden und eine eventuelle Verwechselung hier die Folge hat, dass die Programmdatei nicht mehr ausgeführt wird. Das Hinterlegen der charakteristischen Information über die vorgegebene Streuwertfunktion in dem Dateikopf erhöht somit die Zuverlässigkeit des Verfahrens.
  • In einer besonders vorteilhaften Ausführungsform ist vorgesehen, dass das Prüfen und/oder das Ausführen in einer vertrauenswürdigen Laufzeitumgebung erfolgt. Eine vertrauenswürdige Laufzeitumgebung kann hier auch als sichere Ausführungsumgebung für Programmdateien oder Applikationen bezeichnet werden. Insbesondere kann so das Prüfen und/oder Ausführen in einer so genannten TrustZone, wie sie durch die ARMv7 Architektur vorgegebenen ist oder in einer vergleichbaren Laufzeitumgebung erfolgen. Das hat den Vorteil, dass ein Manipulieren oder Hacken des Prüfens oder des Ausführens selber erschwert oder verhindert wird.
  • In einer besonders vorteilhaften Ausführungsform ist vorgesehen, dass die Steuereinrichtung zum Ausführen der Programmdatei ausgebildet ist und gemäß eines vorgegebenen sicheren Startmechanismus nur mit einem signierten Urlader oder Bootloader und/oder einem signierten Betriebssystemkern, einem so genannten Kernel, betrieben werden kann. Bei dem sicheren Startmechanismus handelt es sich um einen so genannten secure boot Mechanismus wie er beispielsweise in der Spezifikation für das unified extensible firmware interface (UEFI) 2.3.1 eingeführt wurde, handeln. Das hat den Vorteil, dass von dem Hochfahren des Systems bis zum Ausführen der Programmdatei eine lückenlose sichere Kette für das Ausführen von Programmdateien oder Software realisiert ist, welche zur Laufzeit nicht manipuliert werden kann. Damit ist das Bereitstellen der Funktionalität des Assistenzsystems besonders manipulationssicher. Dies macht gerade in einem Kraftfahrzeug Sinn, da hier sämtliche Komponenten inklusive der Programmdatei über den Hersteller des Kraftfahrzeugs, der naturgemäß die beste Kenntnis über gewünschte und unerwünschte Funktionalitäten des Assistenzsystems hat, bereitgestellt werden. Der Hersteller kann und muss dann als so genannter Gatekeeper entscheiden, welche Programmdateien auf der Steuereinrichtung ausführbar sein sollen und welche nicht.
  • Die Erfindung betrifft auch ein Assistenzsystem für ein Kraftfahrzeug, mit einer fahrzeuginternen Steuereinrichtung, welche zum Speichern einer ausführbaren Datei und einer zugeordneten Quellenkennung ausgelegt ist. Die fahrzeuginterne Steuereinrichtung kann dabei zum Steuern weiterer Komponenten oder Module des Assistenzsystems durch ein Übermitteln von Signalen an die weiteren Komponenten ausgelegt sein. In dem Fall ist die Steuereinrichtung auch ausgelegt eine Programmdatei zum Erzeugen der übermittelten Signale auszuführen. Das Assistenzsystem weist dabei eine Empfangseinrichtung zum Empfangen der Programmdatei mit der Quellenkennung von der fahrzeugexternen Recheneinrichtung auf. Außerdem ist die fahrzeuginterne Steuereinrichtung ausgelegt, vor dem Ausführen der Programmdatei stets ein Abbruchkriterium für das Ausführen der Programmdatei zu überprüfen und die Programmdatei trotz eines empfangenen Ausführsignals nicht auszuführen, wenn das Abbruchkriterium erfüllt ist. Die fahrzeuginterne Steuereinrichtung ist somit ausgelegt, die Programmdatei nur auszuführen, wenn das Abbruchkriterium nicht erfüllt, d. h. verletzt ist.
  • Vorteile und vorteilhafte Ausführungsformen des Assistenzsystems entsprechen den Vorteilen und vorteilhaften Ausführungsformen des Verfahrens.
  • Die Erfindung betrifft auch ein Kraftfahrzeug mit einem solchen Assistenzsystem.
  • Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen, sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen verwendbar, ohne den Rahmen der Erfindung zu verlassen. Es sind somit auch Ausführungen von der Erfindung als umfasst und offenbart anzusehen, die in den Figuren nicht explizit gezeigt und erläutert sind, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungen hervorgehen und erzeugbar sind. Es sind auch Ausführungen und Merkmalskombinationen als offenbart anzusehen, die somit nicht alle Merkmale eines ursprünglich formulierten unabhängigen Anspruchs aufweisen. Es sind darüber hinaus Ausführungen und Merkmalskombinationen, insbesondere durch die oben dargelegten Ausführungen, als offenbart anzusehen, die über die in den Rückbezügen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand einer schematischen Zeichnung näher erläutert.
  • Dabei zeigt die einzige Fig. ein Kraftfahrzeug mit einer beispielhaften Ausführungsform eines Assistenzsystems.
  • Das im Kraftfahrzeug 1 verbaute Assistenzsystem 2 umfasst dabei in der gezeigten Ausführungsform neben einer Steuereinrichtung 3 und einer Empfangseinrichtung 4 ein Fahrerassistenzmodul 5 sowie ein Informations- und Unterhaltungsmodul 6. Das Informations- und Unterhaltungsmodul 6 ist dabei vorliegend zur audiovisuellen Ausgabe von Signalen über einen Lautsprecher 7 und eine Anzeige 8 ausgelegt. Das Fahrerassistenzmodul 5 ist im gezeigten Beispiel mit einem Motor 9 und Radmodulen 10 mit Rädern und vorliegend auch Bremsen gekoppelt. Die Empfangseinrichtung 4 dient hier dem Empfangen einer Programmdatei 11 von einer fahrzeugexternen Recheneinrichtung 12. Die Programmdatei 11 ist dabei auf der Steuereinrichtung 3 des Assistenzsystems 2 ausführbar. Das Information- und Unterhaltungsmodul 6 ist vorliegend auch mit einer Schnittstelleneinrichtung 17, über welche an das Informations- und Unterhaltungsmodul 6 weitere Informationen und Dateien bereitstellbar sind gekoppelt.
  • Im gezeigten Beispiel wird nun vor der Inbetriebnahme des Fahrerassistenzsystems 2 auf der fahrzeugexternen Recheneinrichtung 12 ein privater Schlüssel eines Signieralgorithmus hinterlegt. Mit diesem wird eine Quellenkennung in Form einer Signatur 15 erzeugt. Bei dem Erzeugen erfolgt hier ein Signieren der ausführbaren Programmdatei mit der dem privaten Schlüssel zugeordneten Signatur 15 durch die fahrzeugexterne Recheneinrichtung 12.
  • Sodann wird dann im gezeigten Beispiel über eine Drahtlosverbindung 15, beispielsweise über eine Mobilfunkverbindung oder ein W-LAN oder auch eine Bluetooth-Verbindung die Programmdatei 11 an das Kraftfahrzeug 1 beziehungsweise die Empfangseinrichtung 4 des Assistenzsystems 2 und somit die Steuereinrichtung 3 übermittelt. Die übermittelte Programmdatei 11 enthält nun vorliegend in einem Header, einer Kopfdatei 13, beispielsweise einem ELF-Header, die Signatur 15 sowie eine charakteristische Information 14 über eine vorgegebene Streuwertfunktion. Dies erfolgt vorliegend, da in dem gezeigten Beispiel das Signieren das Bilden einer Prüfsumme der signierten Programmdatei 11 gemäß der Streuwertfunktion umfasst. Die übermittelte Programmdatei 11 wird nun mit der Signatur 15 auf der fahrzeuginternen Steuereinrichtung 3 gespeichert. Bevor nun eine Funktionalität des Assistenzsystems durch ein Ausführen der Programmdatei 11 und somit entsprechende Funktionen des Fahrerassistenzmoduls 5 oder des Information- und Unterhaltungsmoduls 6 bereitgestellt werden können, erfolgt hier auch ein Hinterlegen eines zu dem privaten Schlüssel korrespondieren öffentlichen Schlüssels des Signieralgorithmus auf der fahrzeuginternen Steuereinrichtung 3.
  • Empfängt nun die die Steuereinrichtung 3 ein Ausführsignal zum Ausführen der gespeicherten Programmdatei, und somit zum Bereitstellen einer mit der Programmdatei realisierten Funktionalität des Assistenzsystems 2, so wird durch die Steuereinrichtung 3 vor dem Ausführen der Programmdatei ein Abbruchkriterium geprüft.
  • Dieses Prüfen umfasst im gezeigten Beispiel ein Überprüfen der Signatur 15 der gespeicherten Programmdatei 11 mittels des öffentlichen Schlüssels durch die fahrzeuginterne Steuereinrichtung 3. Wenn das Abbruchkriterium erfüllt ist, also vorliegend falls das Überprüfen ergibt, dass die Signatur 15 nicht dem privaten Schlüssel und der Programmdatei 11 zugeordnet ist oder dass die gespeicherte Programmdatei 11 wider Erwarten keine Signatur 15 aufweist, beziehungsweise in der der Steuereinrichtung 3 keine Signatur 15 hinterlegt ist, welche zu der Programmdatei 11 passt, ist das Abbruchkriterium erfüllt. Das Abbruchkriterium ist im gezeigten Beispiel verletzt, falls das Überprüfen ergibt, dass die Signatur 15 dem privaten Schlüssel zugeordnet ist.
  • Ist das Abbruchkriterium erfüllt, so wird nun trotz des empfangenen Ausführsignals die Programmdatei 11 nicht ausgeführt, also die gemäß dem Ausführsignal bereitzustellende Funktionalität des Assistenzsystems 2 nicht bereitgestellt. Dies kann über eine Signalisiereinrichtung, beispielsweise über eine Kontrollleuchte oder eine Ausgabe über die Anzeigeeinheit 8, auch dem Fahrer 18 des Kraftfahrzeugs 1 signalisiert werden.
  • Dabei ist vorliegend der Urlader oder Bootloader sowie der Betriebssystemkern oder Kernel der Steuereinrichtung 3 mit einem sicheren Startmechanismus, einem so genannten secure-boot-Mechanismus, abgesichert. Vorliegend wird entsprechend der Kernel und/oder Bootloader mit dem public key gestartet, welcher somit Teil des sicheren Startmechanismus und vor Manipulationen geschützt ist. Bei dem Laden jedes ausführbaren Programms und somit auch der Programmdatei 11 wird vorliegend stets die entsprechende Kopfdatei 13, der ELF-Header mit der Signatur 15 geprüft. Ist die Signatur 15 nicht in Ordnung, wird das Programm nicht geladen, ist sie korrekt wird das Programm ausgeführt und die der Programmdatei 11 entsprechende Funktionalität zur Verfügung gestellt.
  • Somit wird also in einem Assistenzsystem 2, welches wie hier gezeigt sowohl über ein Fahrerassistenzmodul 5 Zugriff auf sicherheitskritische Funktionalitäten hat und andererseits über ein Informations- und Unterhaltungsmodul 6 mit einer Schnittstelleneinrichtung 17 von einem Fahrer 18 und weiteren Personen mit Informationen und möglicherweise auch manipulierenden oder manipulierten Dateien in Kontakt kommt die Funktionalität des Assistenzsystems 2 über eine Programmdatei 11 manipulationssicher bereitgestellt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102014208385 A1 [0005]
    • DE 102012109615 A1 [0006]
    • DE 102011007853 A1 [0007]

Claims (11)

  1. Verfahren zum manipulationssicheren Bereitstellen einer Funktionalität eines Assistenzsystems (2) eines Kraftfahrzeugs (1) durch eine Programmdatei (11), mit den Schritten: – Übermitteln einer mittels des Assistenzsystems (2) ausführbaren Programmdatei (11) mit einer Quellenkennung von einer fahrzeugexternen Recheneinrichtung (12) an eine fahrzeuginterne Steuereinrichtung (3) des Assistenzsystems (2), wobei die Quellenkennung vom Inhalt der Programmdatei (11) abhängt; – Speichern der übermittelten Programmdatei (11) mit der Quellenkennung auf der fahrzeuginternen Steuereinrichtung (3); – Empfangen eines Ausführsignals zum Ausführen der gespeicherten Programmdatei (11) mittels der Steuereinrichtung (3) durch die Steuereinrichtung (3); – Prüfen eines Abbruchkriteriums für das Ausführen der Programmdatei (11) durch die Steuereinrichtung (3); – Nichtausführen der Programmdatei (11) trotz des empfangenen Ausführsignals und damit Nichtbereitstellen der Funktionalität des Assistenzsystems (2) bei einem erfüllten Abbruchkriterium; und – Ausführen der Programmdatei (11) und damit Bereitstellen der Funktionalität des Assistenzsystems (2) bei einem verletzten Abbruchkriterium.
  2. Verfahren nach Anspruch 1, mit einem – Hinterlegen eines privaten Schlüssels eines Signieralgorithmus' auf der fahrzeugexternen Recheneinrichtung; – Erzeugen der Quellenkennung in Form einer Signatur (15), mit einem Signieren der ausführbaren Programmdatei (11) mit der dem privaten Schlüssel zugeordneten Signatur (15) durch die fahrzeugexterne Recheneinrichtung (12), sodass das Übermitteln die signierte Programmdatei (11) betrifft; – Hinterlegen eines zum privaten Schlüssel korrespondierenden öffentlichen Schlüssels des Signieralgorithmus' auf der fahrzeuginternen Steuereinrichtung (3); wobei das – Prüfen des Abbruchkriteriums ein Überprüfen der Signatur (15) der gespeicherten Programmdatei (11) mittels des öffentlichen Schlüssels durch die fahrzeuginterne Steuereinrichtung (3) umfasst; und das – Abbruchkriterium erfüllt ist, falls das Überprüfen ergibt, dass die Signatur (15) nicht dem privaten Schlüssel zugeordnet ist oder die gespeicherte Programmdatei (11) keine Signatur (15) aufweist, und das Abbruchkriterium verletzt ist, falls das Überprüfen ergibt, dass die Signatur (15) dem privaten Schlüssel zugeordnet ist.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Assistenzsystem (2) ein Fahrerassistenzsystem und/oder ein Informations-Unterhaltungssystem umfasst.
  4. Verfahren nach einem der Ansprüche 2 bis 3, wobei bei dem Signieren der Programmdatei (11) auch zumindest eine weitere Datei mit signiert wird, insbesondere eine Programmbibliothek.
  5. Verfahren nach einem der Ansprüche 2 bis 4, wobei die Signatur (15) in einem Dateikopf (13) der Programmdatei (11) gespeichert wird.
  6. Verfahren nach einem der Ansprüche 2 bis 5, wobei das Signieren ein Bilden einer Prüfsumme der signierten Programmdatei (11) gemäß einer vorgegebenen Streuwertfunktion umfasst.
  7. Verfahren nach Anspruch 6, wobei eine charakteristische Information (14) über die vorgegebene Streuwertfunktion in dem Dateikopf (13) der Programmdatei (11) abgespeichert wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Prüfen in einer vertrauenswürdigen Laufzeitumgebung erfolgt.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Steuereinrichtung (3) zum Ausführen der Programmdatei (11) ausgebildet ist und gemäß eines vorgegebenen sicheren Startmechanismus' nur mit einem signierten Urlader und/oder einem signierten Betriebssystemkern betrieben werden kann.
  10. Assistenzsystem (2) für ein Kraftfahrzeug (1), mit einer fahrzeuginternen Steuereinrichtung (3), welche zum Speichern einer ausführbaren Programmdatei (11) und einer zugeordneten Quellenkennung ausgelegt ist, dadurch gekennzeichnet, dass das Assistenzsystem (2) eine Empfangseinrichtung (4) zum Empfangen der Programmdatei (11) mit der Quellenkennung von der fahrzeugexternen Recheneinrichtung (12) aufweist, und dass die fahrzeuginterne Steuereinrichtung (3) ausgelegt ist, vor dem Ausführen der Programmdatei (11) ein Abbruchkriterium für das Ausführen der Programmdatei (11) zu überprüfen, und die Programmdatei (11) trotz eines empfangenen Ausführsignals nicht auszuführen, wenn das Abbruchkriterium erfüllt ist.
  11. Kraftfahrzeug (1) mit einem Assistenzsystem (2) nach Anspruch 10.
DE102016007498.1A 2016-06-18 2016-06-18 Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs Pending DE102016007498A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016007498.1A DE102016007498A1 (de) 2016-06-18 2016-06-18 Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016007498.1A DE102016007498A1 (de) 2016-06-18 2016-06-18 Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs

Publications (1)

Publication Number Publication Date
DE102016007498A1 true DE102016007498A1 (de) 2017-12-21

Family

ID=60481001

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016007498.1A Pending DE102016007498A1 (de) 2016-06-18 2016-06-18 Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs

Country Status (1)

Country Link
DE (1) DE102016007498A1 (de)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US20060185017A1 (en) * 2004-12-28 2006-08-17 Lenovo (Singapore) Pte. Ltd. Execution validation using header containing validation data
US20090249064A1 (en) * 2008-03-04 2009-10-01 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
DE102011007853A1 (de) 2010-04-22 2012-01-19 Denso Corporation Fahrzeug-Fahrzeug-Kommunikationssystem
DE102012109615A1 (de) 2011-10-28 2013-05-02 Gm Global Technology Operations, Llc Verwendung eines Manifest zur Präsenzaufzeichnung von gültiger Software und Kalibrierung
DE102014208385A1 (de) 2013-05-29 2014-12-04 Gm Global Technology Operations, Llc Verfahren zum Verbessern der sicheren Flash-Programmierung
US20150146711A1 (en) * 2000-03-09 2015-05-28 David Corts System and method for transmitting digital multimedia data with analog broadcast data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150146711A1 (en) * 2000-03-09 2015-05-28 David Corts System and method for transmitting digital multimedia data with analog broadcast data
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US20060185017A1 (en) * 2004-12-28 2006-08-17 Lenovo (Singapore) Pte. Ltd. Execution validation using header containing validation data
US20090249064A1 (en) * 2008-03-04 2009-10-01 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
DE102011007853A1 (de) 2010-04-22 2012-01-19 Denso Corporation Fahrzeug-Fahrzeug-Kommunikationssystem
DE102012109615A1 (de) 2011-10-28 2013-05-02 Gm Global Technology Operations, Llc Verwendung eines Manifest zur Präsenzaufzeichnung von gültiger Software und Kalibrierung
DE102014208385A1 (de) 2013-05-29 2014-12-04 Gm Global Technology Operations, Llc Verfahren zum Verbessern der sicheren Flash-Programmierung

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Digital Signature. In: Wikipedia, The Free Encyclopedia. Bearbeitungsstand: 15. Juni 2016. URL: https://en.wikipedia.org/wiki/Digital_signature?oldid=725363834 [abgerufen am 8. März 2017] *
Digital Signature. In: Wikipedia, The Free Encyclopedia. Bearbeitungsstand: 15. Juni 2016. URL: https://en.wikipedia.org/wiki/Digital_signature?oldid=725363834 [abgerufen am 8. März 2017]
Public-key cryptography. In: Wikipedia, The Free Encyclopedia. Bearbeitungsstand: 16. Juni 2016. URL: https://en.wikipedia.org/wiki/Public-key_cryptography?oldid=725489963 [abgerufen am 8. März 2017] *
Public-key cryptography. In: Wikipedia, The Free Encyclopedia. Bearbeitungsstand: 16. Juni 2016. URL: https://en.wikipedia.org/wiki/Public-key_cryptography?oldid=725489963 [abgerufen am 8. März 2017]

Similar Documents

Publication Publication Date Title
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE112016002785T5 (de) Elektronische Steuereinheiten für Fahrzeuge
EP2494526A1 (de) Verfahren zum betreiben eines tachographen und tachograph
DE102018214999A1 (de) Vorrichtung zur Absicherung von Diagnosebefehlen an ein Steuergerät und entsprechendes Kraftfahrzeug
DE102017209468A1 (de) Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand
DE102016221108A1 (de) Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
KR102002517B1 (ko) 전자식 제어기 보안 기능 설정 방법 및 시스템
DE102016210788A1 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
EP3695337B1 (de) Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems
WO2008090027A1 (de) Ein-chip-computer und tachograph
EP3369027A1 (de) Verfahren und sicherheitsmodul zum bereitstellen einer sicherheitsfunktion für ein gerät
WO2017162424A1 (de) Verfahren und einrichtung zum bereitstellen einer kryptographischen sicherheitsfunktion für den betrieb eines geräts
DE102018213616A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
DE102007051440B4 (de) Verfahren und Vorrichtung zur Freischaltung von Software in einem Kraftfahrzeug
WO2018059964A1 (de) Verfahren zum gesicherten zugriff auf daten eines fahrzeugs
DE102014204417A1 (de) Vorrichtung und Verfahren zum Detektieren einer Manipulation an einem Programmcode
DE102016202527A1 (de) Recheneinheit für ein Kraftfahrzeug
DE102016007498A1 (de) Manipulationssichere Bereitstellung einer Funktionalität eines Assistenzsystems eines Kraftfahrzeugs
DE102018211139A1 (de) Steuergerät sowie Verfahren zu dessen Betrieb
DE102021208459B4 (de) Verfahren zur authentischen Datenübertragung zwischen Steuergeräten eines Fahrzeugs, Anordnung mit Steuergeräten, Computerprogramm und Fahrzeug
EP4028878B1 (de) Verfahren zum sicheren starten einer gerätesoftware, insbesondere eines betriebssystems, eines elektronischen gerätes
DE102022119774A1 (de) Verfahren und System zur Durchführung einer sicheren Boot-Prozedur unter Verwendung einer mehrstufigen Sicherheitsverifizierung in einem Mikrocontroller eines Fahrzeugs
EP3752911A1 (de) Verfahren zum installieren eines programmcodepakets in ein gerät sowie gerät und kraftfahrzeug
WO2023083500A1 (de) Verfahren, fahrzeugkomponente und computerprogramm zum einräumen einer berechtigung zum ausführen eines computerprogramms durch eine fahrzeugkomponente eines fahrzeugs
DE102009058754A1 (de) Verfahren zur Reprogrammierung eines oder mehrerer Steuergeräte eines Fahrzeugs und Steuergerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021120000

Ipc: G06F0021510000

R016 Response to examination communication
R082 Change of representative

Representative=s name: HOFSTETTER, SCHURACK & PARTNER - PATENT- UND R, DE