DE102022123487A1 - System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung - Google Patents

System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung Download PDF

Info

Publication number
DE102022123487A1
DE102022123487A1 DE102022123487.8A DE102022123487A DE102022123487A1 DE 102022123487 A1 DE102022123487 A1 DE 102022123487A1 DE 102022123487 A DE102022123487 A DE 102022123487A DE 102022123487 A1 DE102022123487 A1 DE 102022123487A1
Authority
DE
Germany
Prior art keywords
module
authentication code
authorization
software program
software
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
DE102022123487.8A
Other languages
English (en)
Inventor
Dominik Grass
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.)
Dr Ing HCF Porsche AG
Original Assignee
Dr Ing HCF Porsche 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 Dr Ing HCF Porsche AG filed Critical Dr Ing HCF Porsche AG
Priority to DE102022123487.8A priority Critical patent/DE102022123487A1/de
Publication of DE102022123487A1 publication Critical patent/DE102022123487A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft Verfahren zum kontrollierten Updaten einer Software für zumindest eine Steuerungseinrichtung (20) für ein Fahrzeug (10), wobei die Steuerungseinrichtung (20) ein Speichermodul (22) umfasst und/oder mit einem Speichermodul (22) verbunden ist, umfassend:- Speichern (S10) zumindest eines Teils eines Softwareprogramms (30) für die Steuerungseinrichtung (20) in zumindest einem gesicherten Speicherbereich (32, 34, 35) des Speichermoduls (22);- Übermitteln (S20) eines ersten Authentifizierungscodes von einem Hardwaremodul (50) mittels einer Schnittstelle (25) an ein Autorisierungsmodul (24);- Vergleichen (S30) des übermittelten ersten Authentifizierungscodes mit einem zweiten Authentifizierungscode von dem Autorisierungsmodul (24);- Autorisieren und Freigeben (S40) des Updatevorgangs bei einer Übereinstimmung des ersten Authentifizierungscodes mit dem zweiten Authentifizierungscode, oder- Ablehnen (S50) des Updatevorgangs bei Nichtvorliegen einer Übereinstimmung und Beibehalten der in dem gesicherten Speicherbereich (32, 34, 35) gespeicherten Version des Softwareprogramms (30).

Description

  • Die Erfindung betrifft ein Verfahren, ein System und ein Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung eines Fahrzeugs.
  • Moderne Fahrzeuge sind mit einer Vielzahl von Steuerungseinrichtungen ausgestattet, die jeweils ein oder mehrere Softwareprogramme umfassen, beispielsweise für das Batteriemanagement einer Batterie bei einem Elektrofahrzeug oder für die Steuerung von Fahrzeugfunktionen wie der Lenkung. Diese Softwareprogramme werden häufig aktualisiert, wenn eine neue Version der jeweiligen Software zur Verfügung steht, da entweder neue Funktionalitäten entwickelt wurden oder aufgrund anderer technischer Entwicklungen. Da Steuerungseinrichtungen von Fahrzeugen zudem über Schnittstellen zum Internet bzw. über Mobilfunkmodule für Mobilfunkverbindungen verfügen, wird die Software von Fahrzeugen zunehmend über eine Funkübertragung im Rahmen eines Remote Software Update aktualisiert, so dass es nicht mehr erforderlich ist, für das Update einer Software eine Werkstatt aufzusuchen. Aktualisierungen von Software mittels einer Funkübertragung werden auch als Over-the-Air-Updates (OTA) bezeichnet.
  • Obgleich für Softwareaktualisierungen hohe Sicherheitsanforderungen beachtet werden müssen, kann es gleichwohl zu einem Laden einer fehlerhaften Software oder einer falschen Software in eine Steuerungseinrichtung kommen, da beispielsweise versehentlich eine Softwareversion „per Mausklick“ ausgewählt wird, die nicht passend für das jeweilige Fahrzeug ist. Darüber hinaus kann es zu Hackerangriffen kommen, bei denen bewusst eine schadhafte Software in eine Steuerungseinrichtung eines Fahrzeugs geladen wird. Wenn es sich dabei um sicherheitsrelevante Software handelt wie beispielsweise die Software für Fahrerassistenzsysteme wie eine Geschwindigkeitsbegrenzung oder für das Auflösen eines Airbags, könnte hierdurch das Verhalten des Fahrzeugs in einer Weise geändert werden, bei der möglicherweise für die Insassen des Fahrzeugs, aber auch für andere Verkehrsteilnehmer eine große Gefahr besteht.
  • Es ist daher erforderlich, für das Laden und Updaten von sicherheitsrelevanter Software für Steuereinrichtungen eines Fahrzeugs weitere Sicherheitsmaßnahmen vorzusehen, damit ein unbeabsichtigtes oder beabsichtigtes Laden von fehlerhafter oder schadhafter Software in Steuereinrichtungen eines Fahrzeugs durch Dritte vermieden werden kann bzw. die Manipulation von sicherheitsrelevanter Software verhindert wird.
  • Die DE 10 2017 209468 A1 offenbart ein Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand. In einem gegen Umprogrammierung abgesicherten Speicherbereich des Fahrzeugsteuergeräts ist eine ursprüngliche Version der Software des Fahrzeugsteuergeräts, ein erster Bootloader zum Laden der ursprünglichen Version der Software des Fahrzeugsteuergeräts sowie ein Pre-Bootloader gespeichert. In einem weiteren Speicherbereich des Fahrzeugsteuergeräts sind eine spätere Version der Software und ein zweiter Bootloader zum Laden der späteren Version der Software gespeichert. Der Pre-Bootloader überprüft eine Bedingung und lädt bei Erfüllung der Bedingung den ersten Bootloader und bei Nichterfüllung der Bedingung den zweiten Bootloader.
  • Die DE 10 2018 214999 A1 offenbart eine Vorrichtung zur Absicherung von Diagnosebefehlen an ein Steuergerät, wobei ein abgesicherter Bereich auf einer Sicherheitsanforderungsstufe vorgesehen ist und Diagnosebefehle an den abgesicherten Bereich nur selektiv weitergegeben werden.
  • Die DE 10 2018 200318 A1 offenbart ein Verfahren zur Absicherung eines Software-Updates eines KFZ-Steuergerätes.
  • Die DE 10 2018 124934 A1 offenbart ein Fahrzeug mit einem automatisierten Softwareaktualisierungssystem, wobei ein Fahrzeugruhezustand erfasst wird, um die Softwareaktualisierung in einem abgesicherten Modus durchführen zu können.
  • Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin, Möglichkeiten zum Laden und Updaten von Software für Steuereinrichtungen eines Fahrzeugs zu schaffen, die sich durch eine hohe Sicherheit und hohe Zuverlässigkeit auszeichnen sowie Manipulationen durch Dritte verhindern.
  • Diese Aufgabe wird hinsichtlich eines Verfahrens durch die Merkmale des Patentanspruchs 1, hinsichtlich eines Systems durch die Merkmale des Patentanspruchs 10 und hinsichtlich eines Computerprogrammprodukts durch die Merkmale des Patentanspruchs 15 erfindungsgemäß gelöst. Die weiteren Ansprüche betreffen bevorzugte Ausgestaltungen der Erfindung.
  • Gemäß einem ersten Aspekt stellt die Erfindung ein Verfahren zum kontrollierten Updaten einer Software für zumindest eine Steuerungseinrichtung für ein Fahrzeug bereit. Die Steuerungseinrichtung umfasst ein Speichermodul und/oder ist mit einem Speichermodul verbunden. Das Verfahren umfasst die Verfahrensschritte:
    • - Speichern zumindest eines Teils eines Softwareprogramms für die Steuerungseinrichtung in zumindest einem gesicherten Speicherbereich des Speichermoduls;
    • - Übermitteln eines ersten Authentifizierungscodes von einem Hardwaremodul mittels einer Schnittstelle an ein Autorisierungsmodul;
    • - Vergleichen des ersten übermittelten Authentifizierungscodes mit einem zweiten Authentifizierungscode von dem Autorisierungsmodul;
    • - Autorisieren und Freigeben des Updatevorgangs bei einer Übereinstimmung des ersten Authentifizierungscodes mit dem zweiten Authentifizierungscode, oder
    • - Ablehnen des Updatevorgangs bei Nichtvorliegen einer Übereinstimmung und Beibehalten der in dem gesicherten Speicherbereich gespeicherten Version des Softwareprogramms.
  • In einer Weiterentwicklung des vorgesehen, dass es sich bei dem Authentifizierungscode um einen mehrstelligen individuellen numerischen oder alphanumerischen PIN-Code handelt, wobei der PIN-Code insbesondere als 4- oder 6-stelliger Code ausgebildet ist.
  • In einer vorteilhaften Ausführungsform handelt es sich bei dem Authentifizierungscode um einen individuellen Barcode, einen individuellen QR-Code oder eine Gesichtserkennung.
  • In einer weiteren Ausführungsform ist der zweite Authentifizierungscode in dem Autorisierungsmodul gespeichert.
  • Vorteilhaftweise ist eine Authentifizierungsstelle für die Generierung des Authentifizierungscodes vorgesehen und der Authentifizierungscode wird von der Authentifizierungsstelle kryptographisch verschlüsselt an das Hardwaremodul und das Autorisierungsmodul gesendet.
  • In einer vorteilhaften Weiterentwicklung ist vorgesehen, dass zur Eingabe des Authentifizierungscodes eine Erkennung eines Transponders durch das Autorisierungsmodul erforderlich ist.
  • In einer weiteren Ausführungsform sind zumindest zwei gesicherte Speicherbereiche vorgesehen zum Speichern jeweils eines Teils des Softwareprogramms.
  • Insbesondere ist für jeden der Speicherbereich ein separater Autorisierungsvorgang zum Updaten der dort gespeicherten Teile des Softwareprogramms erforderlich.
  • In einer Weiterentwicklung ist vorgesehen, dass bei einer erfolgreichen Autorisierung das Autorisierungsmodul ein Funkmodul autorisiert, eine aktualisierte Version des Softwareprogramms von einer Cloud-Computing-Infrastruktur und/oder von einem Server und/oder fälschungssicher von einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle herunterzuladen.
  • Gemäß einem zweiten Aspekt stellt die Erfindung ein System zum kontrollierten Updaten einer Software für zumindest eine Steuerungseinrichtung für ein Fahrzeug bereit. Das System umfasst die Steuerungseinrichtung und ein Hardwaremodul, wobei die Steuerungseinrichtung ein Speichermodul, ein Autorisierungsmodul und eine Schnittstelle umfasst und mit dem Hardwaremodul über die Schnittstelle verbindbar ist. Das Speichermodul umfasst zumindest einen gesicherten Speicherbereich zum Speichern zumindest eines Teils eines Softwareprogramms für die Steuerungseinrichtung. Das Hardwaremodul ist ausgebildet, einen ersten Authentifizierungscode mittels der Schnittstelle an das Autorisierungsmodul zu übermitteln. Das Autorisierungsmodul ist ausgebildet, den übermittelten ersten Authentifizierungscode mit einem zweiten Authentifizierungscode zu vergleichen und einen Updatevorgang bei einer Übereinstimmung des ersten Autorisierungscodes mit dem zweiten Authentifizierungscode zu autorisieren und freizugeben, oder den Updatevorgang bei Nichtvorliegen einer Übereinstimmung abzulehnen und die in dem gesicherten Speicherbereich gespeicherte Version des Softwareprogramms beizubehalten.
  • Eine Weiterentwicklung ist vorgesehen, dass es sich bei dem Authentifizierungscode um einen mehrstelligen individuellen numerischen oder alphanumerischen PIN-Code, einen individuellen Barcode, einen individuellen QR-Code oder eine Gesichtserkennung handelt.
  • In einer vorteilhaften Ausführungsform ist vorgesehen, dass zusätzlich zur Eingabe des Authentifizierungscodes eine Erkennung eines Transponders durch das Autorisierungsmodul erforderlich ist.
  • In einer weiteren Ausführungsform ist vorgesehen, dass zumindest zwei gesicherte Speicherbereiche vorgesehen sind zum Speichern jeweils eines Teils des Softwareprogramms.
  • In einer Weiterentwicklung ist vorgesehen, dass für jeden der Speicherbereiche ein separater Autorisierungsvorgang zum Updaten der dort gespeicherten Teile des Softwareprogramms erforderlich ist.
  • In einer vorteilhaften Ausführungsform ist vorgesehen, dass bei einer erfolgreichen Autorisierung das Autorisierungsmodul ein Funkmodul autorisiert, eine aktualisierte Version des Softwareprogramms von einer Cloud-Computing-Infrastruktur und/oder von einem Server und/oder fälschungssicher von einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle herunterzuladen.
  • Gemäß einem dritten Aspekt stellt die Erfindung ein Computerprogrammprodukt bereit, das einen ausführbaren Programmcode umfasst, der so konfiguriert ist, dass er bei seiner Ausführung das Verfahren gemäß dem ersten Aspekt ausführt.
  • Nachfolgend wird die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert.
  • Dabei zeigt:
    • 1 eine schematische Darstellung eines erfindungsgemäßen Systems;
    • 2 eine schematische Darstellung einer erfindungsgemäßen Steuerungseinrichtung;
    • 3 ein Flussdiagramm zur Erläuterung der einzelnen Verfahrensschritte des erfindungsgemäßen Verfahrens;
    • 4 ein Blockdiagramm eines Computerprogrammprodukt gemäß einer Ausführungsform des dritten Aspekts der Erfindung.
  • Zusätzliche Kennzeichen, Aspekte und Vorteile der Erfindung oder ihrer Ausführungsbeispiele werden durch die ausführliche Beschreibung in Verbindung mit den Ansprüchen ersichtlich.
  • 1 zeigt ein erstes Ausführungsbeispiel eines Systems 100 zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung eines Fahrzeugs 10. Bei dem Fahrzeug 10 kann es sich beispielsweise um ein Kraftfahrzeug, ein Motorrad, ein Fahrrad, ein autonom fahrendes Fahrzeug, ein landwirtschaftliches Fahrzeug wie ein Mähdrescher, einen sich bewegenden Roboter in der Produktion oder in Service- und Pflegeeinrichtungen, ein Wasserfahrzeug oder ein Flugobjekt wie eine Drohne handeln.
  • Das Fahrzeug 10 umfasst ein oder mehrere Steuerungseinrichtungen 20, die vorzugsweise jeweils zumindest ein Speichermodul 22 und zumindest einen Prozessor 23 umfassen. In dem Speichermodul 22 ist zumindest ein Softwareprogramm 30 gespeichert, auf das der Prozessor 23 zugreifen kann, um das Softwareprogramm 30 auszuführen. Für das Ausführen des Softwareprogramms 30 durch den Prozessor 23 sind üblicherweise weitere, hier nicht dargestellte flüchtige Speichereinheiten in Form von zumindest eines Arbeitsspeichers (engl. Random-Access Memory, RAM) vorgesehen.
  • Unter einer „Speichereinheit“ oder „Speichermodul“ ist im Zusammenhang mit der Erfindung insbesondere ein nichtflüchtiger Speicher wie ein Flashspeicher oder ein dauerhafter Speicher wie eine Festplatte oder ein Datenträger zu verstehen, Es können aber auch andere Speichertechnologien verwendet werden.
  • Unter einem „Prozessor“ kann im Zusammenhang mit der Erfindung beispielsweise eine Maschine oder eine elektronische Schaltung verstanden werden. Bei einem Prozessor kann es sich insbesondere um einen Hauptprozessor (engl. Central Processing Unit, CPU), einen Mikroprozessor oder einen Mikrocontroller, beispielsweise eine anwendungsspezifische integrierte Schaltung oder einen digitalen Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Programmbefehlen, etc. handeln. Auch kann unter einem Prozessor ein virtualisierter Prozessor, eine virtuelle Maschine oder eine Soft-CPU verstanden werden. Es kann sich beispielsweise auch um einen programmierbaren Prozessor handeln, der mit Konfigurationsschritten zur Ausführung des genannten erfindungsgemäßen Verfahrens ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die erfindungsgemäßen Merkmale des Verfahrens, der Komponente, der Module, oder anderer Aspekte und/oder Teilaspekte der Erfindung realisiert.
  • Unter einem „Modul“ kann im Zusammenhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbefehlen verstanden werden. Beispielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszuführen, damit der Prozessor und/oder die Steuereinheit Funktionen ausführt, um das erfindungsgemäße Verfahren oder einen Schritt des erfindungsgemäßen Verfahrens zu implementieren oder realisieren.
  • Unter einem „Softwareprogramm“ wird im Rahmen der Erfindung sowohl Systemsoftware als auch Anwendungssoftware verstanden. Systemsoftware umfasst dabei insbesondere Softwarebetriebssysteme, Dienstprogramme, Datenbankverwaltungsprogramme, Firmware und Middleware. Der Begriff umfasst zudem neben Programmbefehlen auch Dateien, Diagramme, Zielgrößen, Betriebsparameter, Grenzwerte, Messwerte, Kennwerte etc., die sich in einer digitalen Form mittels digitaler Daten abbilden lassen.
  • Im Rahmen der Erfindung kann auch vorgesehen sein, dass mehrere der Steuerungseinrichtungen 20 auf ein zentrales Speichermodul 22 mittels einer Kommunikationsverbindung zugreifen können, wobei in dem zentralen Speichermodul 22 eine Vielzahl von Softwareprogrammen 30 für die verschiedenen Steuerungseinrichtungen 20 gespeichert sind. Die Kommunikationsverbindung kann beispielsweise als ein CAN-Bus-System (Controller Area Network) ausgebildet sein. Es können aber auch drahtlose Verbindungen vorgesehen sein.
  • Die Steuerungseinrichtungen 20 sind für die verschiedenen Komponenten und Funktionalitäten eines Fahrzeugs 10 ausgelegt, wie beispielsweise eine Steuerungseinrichtung 20 für das Batteriemanagement einer Hochvoltbatterie bei einem Elektrofahrzeug. Mittels einer dafür ausgebildeten Software kann der Ladezustand der Hochvolt-Batterie erkannt werden und die Temperatur, die Spannung und die Stromstärke können gesteuert werden, um einen sicheren Betrieb der Batterie zu gewährleisten. Ein anderes Beispiel ist eine Fahrerassistenzfunktion für die Beeinflussung des Brems- und Beschleunigungsverhaltens oder der Lenkfunktionen eines Fahrzeugs 10. Ein weiteres Beispiel ist die Steuerung des Auslöseverhaltens eines Airbags, um eine sichere Funktionsfähigkeit sicherzustellen. Bei diesen Steuerungseinrichtungen 20 handelt es sich um Einrichtungen, die sicherheitsrelevante Funktionalitäten des Fahrzeugs 10 steuern. Dementsprechend ist es für den sicheren Betrieb des Fahrzeugs 10 von hoher Relevanz, dass die dafür eingesetzte Software sicher und zuverlässig ist und nur von berechtigten Benutzern geändert werden kann.
  • Wie in 2 dargestellt, umfasst das Speichermodul 22 zumindest einen gesicherten Speicherbereich 32, der von anderen Speicherbereichen abgegrenzt ist. In dem gesicherten Speicherbereich 32 ist das Softwareprogramm 30 oder zumindest ein sicherheitsrelevanter Teil des Softwareprogramms 30 gespeichert. Auf diesen gesicherten Speicherbereich 32 kann mittels einer Funkverbindung nicht zugegriffen werden und eine Änderung der dort gespeicherten Daten des Softwareprogramms 30 bzw. von Teilen des Softwareprogramms 30 ist nur nach einer Autorisierung durch authentifizierte Benutzer möglich. Insbesondere sind mehrere gesicherte Speicherbereiche 32, 34, 35 in dem Speichermodul 22 vorhanden. Dabei kann vorgesehen sein, dass das Softwareprogramm 30 bzw. sicherheitsrelevante Teile des Softwareprogramms in verschiedenen Speicherbereichen 32, 34, 35 gespeichert ist/sind, wobei es sich auch um redundante Speicherungen handeln kann. Insbesondere sind in den Speicherbereichen 32, 34, 35 jeweils verschiedene Teile der Softwareprogramms 30 gespeichert, so dass erst nach dem Laden der verschiedenen Teile des Softwareprogramms 30 aus den verschiedenen Speicherbereichen 32, 34, 35 durch den Prozessor 23 das Softwareprogramm 30 von dem Prozessor 23 ausgeführt werden kann.
  • Des Weiteren umfasst die Steuerungseinrichtung 20 eine Schnittstelle 25 zum Anschließen eines Hardwaremoduls 50. Das Hardwaremodul 50 kann beispielsweise als USB-Stick oder als Hardware-Schlüssel wie ein Token ausgebildet sein und umfasst eine Authentifizierungsapplikation 52. Insbesondere ist die Schnittstelle 25 als Steckverbindung ausgebildet, in die das Hardwaremodul 50 einsteckbar ist.
  • Das Hardwaremodul 50 kann aber auch als Mobilgerät ausgebildet sein und die Schnittstelle 25 ist dann für die Verbindung mit dem Mobilgerät konfiguriert. Die Kommunikationsverbindung zwischen der Schnittstelle 25 und dem Mobilgerät kann wiederum mittels einer drahtgebundenen Verbindung oder drahtlos erfolgen. In einer beispielhaften Ausführungsform ist das Mobilgerät ein Smartphone, ein Mobiltelefon, ein persönlicher digitaler Assistent (PDA) oder ein Tablet, auf dem eine Authentifizierungsapplikation 52 installiert ist.
  • Die Schnittstelle 25 kann auch für den kontaktlosen Austausch von Daten insbesondere mittels RFID-Technik oder NFC-Technik durch elektromagnetische Induktion ausgebildet sein.
  • Zudem kann ein Funkmodul 27 für eine Funkverbindung vorgesehen sein. Die verschiedenen Steuerungseinrichtungen 20 können jeweils über separate Funkmodule 27 verfügen, aber es kann auch ein zentrales Funkmodul 27 in dem Fahrzeug 10 vorgesehen sein. Die Funkverbindung kann als Mobilfunkverbindung und/oder einer Nahfeldkommunikationsverbindung wie Bluetooth®, Ethernet, NFC (engl. near field communication) oder Wi-Fi® ausgebildet sein.
  • Insbesondere kann das Funkmodul 27 als Mobilfunkmodul des 5G-Standards oder 6G-Standards ausgebildet sein. 5G ist der Mobilfunkstandard der fünften Generation und zeichnet sich im Vergleich zum 4G-Mobilfunkstandard durch höhere Datenraten bis zu 10 Gbit/sec, der Nutzung höherer Frequenzbereiche wie beispielsweise 2100, 2600 oder 3600 Megahertz, eine erhöhte Frequenzkapazität und damit einen erhöhten Datendurchsatz und eine Echtzeitdatenübertragung aus, da bis zu eine Million Geräte pro Quadratkilometer gleichzeitig ansprechbar sind. Die Latenzzeiten betragen wenige Millisekunden bis unter 1 ms, so dass Echtzeitübertragungen von Daten und von Berechnungsergebnissen möglich sind. Diese Geschwindigkeit bei der Datenübermittlung ist sinnvoll, wenn cloudbasierte Lösungen für ein Updaten eines Softwareprogramms 30 verwendet werden sollen. Cloudbasierte Lösungen bieten den Vorteil von hohen und damit schnellen Rechenleistungen. Um die Verbindung zu einer Cloud-Computing-Infrastruktur 70 mittels einer Mobilfunkverbindung zu schützen, sind insbesondere kryptographische Verschlüsselungsverfahren vorgesehen.
  • Erfindungsgemäß ist ein Updaten des Softwareprogramms 30 durch Installation einer aktualisierten Version des Softwareprogramms 30 nur möglich, wenn eine Autorisierung durch ein Authentifizierungsverfahren durchgeführt worden ist. Hierzu kann vorgesehen sein, dass ein autorisierter Benutzer das Hardwaremodul 50 mit der Schnittstelle 25 verbindet. In diesem Fall ist vorgesehen, das nur autorisierte Benutzer über ein derartiges Hardwaremodul 50 verfügen. Für die Überprüfung, ob es sich bei dem mit der Schnittstelle 25 verbundenen Hardwaremodul tatsächlich um ein autorisiertes Hardwaremodul 50 handelt, ist ein Autorisierungsmodul 24 vorgesehen. In dem Autorisierungsmodul 24 sind Authentifizierungsdaten gespeichert, die mit den von dem Hardwaremodul 50 übermittelten Authentifizierungsdaten verglichen werden können.
  • Bei den Authentifizierungsdaten kann es sich um einen statischen Authentifizierungscode wie einen mehrstelligen individuellen numerischen oder alphanumerischen Code handeln, wie beispielsweise ein 4- oder 6- stelliger PIN (Persönliche Identifikationsnummer) Code, der auf dem Hardwaremodul 50 gespeichert ist. Der eingegebene Authentifizierungscode wird mit den in dem Autorisierungsmodul 24 gespeicherten Codes verglichen und wenn der eingegebene Code mit einem gespeicherten Code identisch ist, kann ein Updatevorgang freigegeben werden. Neben statischen Authentifizierungscodes können aber auch dynamische Authentifizierungscodes beispielsweise nach einem Startwert-Schlüssel-Verfahren (engl. seed and key) verwendet werden. Des Weiteren kann es sich bei dem Authentifizierungscode auch um einen individuellen 2-D Barcode (QR-Code) mit und ohne Weblink handeln, der beispielsweise von einer Kamera, mit der die Schnittstelle 25 ausgestattet ist, abgescannt wird. Auch ist es im Rahmen der Erfindung möglich, eine Authentifizierung über eine Gesichtserkennung und dergleichen durchzuführen.
  • In einer weiteren Ausführungsform kann vorgesehen sein, dass die Authentifizierungscodes nicht direkt in dem Autorisierungsmodul 24 gespeichert sind, sondern beispielsweise in der Cloud-Computing-Infrastruktur 70 oder fälschungssicher in einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle. Das Autorisierungsmodul 24 steht mit der Cloud-Computing-Infrastruktur 70 und/oder einem Speichermodul des dezentralen Netzwerks des Distributed-Ledgers über eine Mobilfunkverbindung in Verbindung. Auch ist es denkbar, dass sowohl das Autorisierungsmodul 24 als auch das Hardwaremodul 50 mit einer Authentifizierungsstelle in Verbindung stehen, die die erforderlichen Authentifizierungscodes generiert und sowohl an das Autorisierungsmodul 24 als auch an das Hardwaremodul 50 sendet. Hierbei kann vorgesehen sein, dass der generierte Authentifizierungscode von der Authentifizierungsstelle kryptographisch verschlüsselt an das Hardwaremodul 50 und an das Autorisierungsmodul 24 gesendet wird.
  • Wenn eine Identität der von dem Hardwaremodul 50 bereitgestellten Authentifizierungscodes und der in dem Autorisierungsmodul 24 gespeicherten Authentifizierungscodes von dem Autorisierungsmodul 24 festgestellt werden konnte, kann der Zugriff auf eine aktualisierte Version des Softwareprogramms 30 freigegeben werden. Die aktualisierte Version des Softwareprogramms 30 kann auf dem Hardwaremodul 25 geladen sein. Es ist aber auch möglich, dass das Autorisierungsmodul 24 das Funkmodul 27 autorisiert, eine aktualisierte Version des Softwareprogramms 30 von der Cloud-Computing-Infrastruktur 70, oder einem Server herunterzuladen, falls die aktualisierte Version des Softwareprogramms 30 dort gespeichert ist. Insbesondere ist die aktualisierte Version des Softwareprogramms 30 fälschungssicher in einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle gespeichert, um Manipulationen an der aktualisierten Version des Softwareprogramms 30 zu verhindern, und kann entsprechend heruntergeladen werden.
  • In einer Weiterentwicklung kann vorgesehen sein, dass zumindest zwei Autorisierungsvorgänge durchgeführt werden für zumindest zwei Teile des Softwareprogramms 30. So kann ein erster Autorisierungsvorgang für den in dem ersten Speicherbereich 32 abgelegten ersten Teil des Softwareprogramms 30 erforderlich sein und ein zweiter Autorisierungsvorgang für den in dem zweiten Speicherbereich 34 abgelegten zweiten Teil des Softwareprogramms 30. Beispielsweise kann nach einem erfolgreich durchgeführten Autorisierungsvorgang für den ersten Teil des Softwareprogramms 30, das in dem ersten Speicherbereich 32 abgelegt ist, eine aktualisierte Version des ersten Teils des Softwareprogramms 30 von dem Hardwaremodul 50 beziehungsweise von der Cloud-Computing-Infrastruktur 70 oder einem anderen Server heruntergeladen werden und in dem ersten Speicherbereich 32 gespeichert werden. Nun ist ein zweiter Autorisierungsvorgang für den zweiten Teil des Softwareprogramms 30, das in dem zweiten Speicherbereich 34 abgelegt ist, erforderlich. Hierfür sind andere Authentifizierungscodes und gegebenenfalls auch andere autorisierte Benutzer erforderlich. Erst nach einer erfolgreichen Durchführung des zweiten Autorisierungsvorgangs kann der zweite Teil des Softwareprogramms 30 von dem Hardwaremodul 50 und/oder der Cloud-Computing-Infrastruktur 70 und/oder einem anderen Server heruntergeladen werden. Es kann auch vorgesehen sein, dass der erste und der zweite Teil der aktualisierten Version des Softwareprogramms 30 jeweils fälschungssicher in einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle gespeichert sind, um Manipulationen an der aktualisierten Version des Softwareprogramms 30 zu verhindern.
  • Das Autorisierungsmodul 24 kann zudem Algorithmen der künstlichen Intelligenz und der maschinellen Bildanalyse umfassen, um die Autorisierung durchzuführen. Bei den Algorithmen der künstlichen Intelligenz kann es sich um Deep Learning mit beispielsweise neuronalen Netzwerken und/oder Transformer mit Encodern und Decodern und/oder Lernverstärkungs-Agenten (LV) (Reinforcement Learning Agent) handeln.
  • Ein neuronales Netzwerk besteht aus Neuronen, die in mehreren Schichten angeordnet und unterschiedlich miteinander verbunden sind. Ein Neuron ist in der Lage, an seinem Eingang Informationen von außerhalb oder von einem anderen Neuron entgegenzunehmen, die Information in einer bestimmten Art zu bewerten und sie in veränderter Form am Neuronen-Ausgang an ein weiteres Neuron weiterzuleiten oder als Endergebnis auszugeben. Hidden-Neuronen sind zwischen den Input-Neuronen und Output-Neuronen angeordnet. Je nach Netzwerktyp können mehrere Schichten von Hidden-Neuronen vorhanden sein. Sie sorgen für die Weiterleitung und Verarbeitung der Informationen. Output-Neuronen liefern schließlich ein Ergebnis und geben dieses an die Außenwelt aus. Durch die Anordnung und die Verknüpfung der Neuronen entstehen verschiedene Typen von neuronalen Netzwerken wie vorwärtsgekoppelte Netzwerke (engl. feedforward network, FNN), rückgekoppelte Netzwerke (engl. recurrent network, RNN) oder gefaltete neuronale Netzwerke (engl. convolutional neural network, CNN). Die Netzwerke lassen sich durch unbeaufsichtigtes oder überwachtes Lernen trainieren.
  • In 3 sind die Verfahrensschritte zum kontrollierten Updaten einer Software für zumindest eine Steuerungseinrichtung für ein Fahrzeug dargestellt.
  • In einem Schritt S10 wird zumindest ein Teil eines Softwareprogramms 30 für die Steuerungseinrichtung 20 in zumindest einem gesicherten Speicherbereich 32, 34, 35 des Speichermoduls 22 gespeichert.
  • In einem Schritt S20 wird ein erster Authentifizierungscode von einem Hardwaremodul 50 mittels einer Schnittstelle 25 an ein Autorisierungsmodul 24 übermittelt.
  • In einem Schritt S30 wird der erste übermittelte Authentifizierungscode mit einem zweiten Authentifizierungscode von dem Autorisierungsmodul 24 verglichen.
  • In einem Schritt S40 wird ein Updatevorgang bei einer Übereinstimmung des ersten Authentifizierungscodes mit dem zweiten Authentifizierungscode autorisiert und freigegeben.
  • In einem Schritt S50 wird der Updatevorgang bei Nichtvorliegen einer Übereinstimmung abgelehnt und die in dem gesicherten Speicherbereich 32, 34, 35 gespeicherte Version des Softwareprogramms 30 beibehalten.
  • 4 stellt schematisch ein Computerprogrammprodukt 200 dar, das einen ausführbaren Programmcode 250 umfasst, der konfiguriert ist, um das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung auszuführen.
  • Mit der vorliegenden Erfindung können sicherheitsrelevante Softwareprogramme sowie allgemein sicherheitsrelevante Daten wie Kennwerte und Betriebsbereiche in einen speziellen abgesicherten Speicherbereich eines Speichermoduls gespeichert werden, so dass sie durch ein Standard-Update von Software mittels einer Funkverbindung nicht geändert werden können. Da derartige Speicherbereiche hardwarebasiert sind, kann eine Manipulation durch unberechtigte Dritte ausgeschlossen werden. Änderungen in der Software durch Updaten der Softwareversion sind nur nach einem Autorisierungsvorgang möglich, bei dem sich berechtigte Benutzer für die Durchführung des Updatevorgangs authentifizieren müssen. Um auch Manipulationen an der aktualisierten Version des Softwareprogramms auszuschließen, ist insbesondere vorgesehen, die aktualisierte Version des Softwareprogramms fälschungssicher in einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle zu speichern. Mit dem Verfahren und dem System gemäß der vorliegenden Erfindung kann somit sichergestellt werden, dass sicherheitsrelevante Softwareprogramme nur von befugten berechtigten Benutzern geändert werden können.
  • Bezugszeichen
  • 10
    Fahrzeug
    20
    Steuerungseinrichtung
    22
    Speichermodul
    23
    Prozessor
    24
    Autorisierungsmodul
    25
    Schnittstelle
    27
    Funkmodul
    30
    Softwareprogramm
    32
    gesicherter Speicherbereich
    34
    gesicherter Speicherbereich
    35
    gesicherter Speicherbereich
    50
    Hardwaremodul
    52
    Authentifizierungsapplikation
    70
    Cloud-Computing-Infrastruktur
    100
    System
    200
    Computerprogrammprodukt
    250
    Programmcode
  • 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 102017209468 A1 [0005]
    • DE 102018214999 A1 [0006]
    • DE 102018200318 A1 [0007]
    • DE 102018124934 A1 [0008]

Claims (15)

  1. Verfahren zum kontrollierten Updaten einer Software für zumindest eine Steuerungseinrichtung (20) insbesondere für ein Fahrzeug (10), wobei die Steuerungseinrichtung (20) ein Speichermodul (22) umfasst und/oder mit einem Speichermodul (22) verbunden ist, umfassend: - Speichern (S10) zumindest eines Teils eines Softwareprogramms (30) für die Steuerungseinrichtung (20) in zumindest einem gesicherten Speicherbereich (32, 34, 35) des Speichermoduls (22); - Übermitteln (S20) eines ersten Authentifizierungscodes von einem Hardwaremodul (50) mittels einer Schnittstelle (25) an ein Autorisierungsmodul (24); - Vergleichen (S30) des ersten übermittelten Authentifizierungscodes mit einem zweiten Authentifizierungscode von dem Autorisierungsmodul (24); - Autorisieren und Freigeben (S40) eines Updatevorgangs bei einer Übereinstimmung des ersten Authentifizierungscodes mit dem zweiten Authentifizierungscode, oder - Ablehnen (S50) des Updatevorgangs bei Nichtvorliegen einer Übereinstimmung und Beibehalten der in dem gesicherten Speicherbereich (32, 34, 35) gespeicherten Version des Softwareprogramms (30).
  2. Verfahren nach Anspruch 1, wobei es sich bei dem Authentifizierungscode um einen mehrstelligen individuellen numerischen oder alphanumerischen PIN-Code handelt, und wobei der PIN-Code insbesondere als 4- oder 6-stelliger Code ausgebildet ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei es sich bei dem Authentifizierungscode um einen individuellen Barcode, einen individuellen QR-Code oder eine Gesichtserkennung handelt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei der zweite Authentifizierungscode in dem Autorisierungsmodul (24) gespeichert ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei eine Authentifizierungsstelle für die Generierung des Authentifizierungscodes vorgesehen ist und der Authentifizierungscode von der Authentifizierungsstelle kryptographisch verschlüsselt an das Hardwaremodul (50) und das Autorisierungsmodul (24) gesendet wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei zusätzlich zur Eingabe des Authentifizierungscodes eine Erkennung eines Transponders durch das Autorisierungsmodul (24) erforderlich ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei zumindest zwei gesicherte Speicherbereiche (32, 34) vorgesehen sind zum Speichern jeweils eines Teils des Softwareprogramms (30).
  8. Verfahren nach Anspruch 7, wobei für jeden der Speicherbereiche (32, 34) ein separater Autorisierungsvorgang zum Updaten der dort gespeicherten Teile des Softwareprogramms (30) erforderlich ist.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei bei einer erfolgreichen Autorisierung das Autorisierungsmodul (24) ein Funkmodul (27) autorisiert, eine aktualisierte Version des Softwareprogramms (30) von einer Cloud-Computing-Infrastruktur (70) und/oder von einem Server und/oder fälschungssicher von einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle herunterzuladen.
  10. System (100) zum kontrollierten Updaten einer Software für zumindest eine Steuerungseinrichtung (20) für ein Fahrzeug (10) umfassend die Steuerungseinrichtung (20) und ein Hardwaremodul (50), wobei die Steuerungseinrichtung (20) ein Speichermodul (22), ein Autorisierungsmodul (24) und eine Schnittstelle (25) umfasst und mit dem Hardwaremodul (50) über die Schnittstelle (25) verbindbar ist, wobei das Speichermodul (22) zumindest einen gesicherten Speicherbereich (32, 34, 35) umfasst zum Speichern zumindest eines Teils eines Softwareprogramms (30) für die Steuerungseinrichtung (20), wobei das Hardwaremodul (50) ausgebildet ist, einen ersten Authentifizierungscode mittels der Schnittstelle (25) an das Autorisierungsmodul (24) zu übermitteln; wobei das Autorisierungsmodul (24) ausgebildet ist, den übermittelten ersten Authentifizierungscode mit einem zweiten Authentifizierungscode zu vergleichen und einen Updatevorgang bei einer Übereinstimmung des ersten Authentifizierungscode mit dem zweiten Authentifizierungscode zu autorisieren und freizugeben, oder den Updatevorgang bei Nichtvorliegen einer Übereinstimmung abzulehnen und die gespeicherte Version des Softwareprogramms (30) beizubehalten.
  11. System (100) nach Anspruch 10, wobei es sich bei dem Authentifizierungscode um einen mehrstelligen individuellen numerischen oder alphanumerischen PIN-Code, einen individuellen Barcode, einen individuellen QR-Code oder eine Gesichtserkennung handelt.
  12. System (100) nach Anspruch 10 oder11, wobei zusätzlich zur Eingabe des Authentifizierungscodes eine Erkennung eines Transponders durch das Autorisierungsmodul (24) erforderlich ist.
  13. System (100) nach einem der Ansprüche 10 bis 12, wobei zumindest zwei gesicherte Speicherbereiche (32, 34) vorgesehen sind zum Speichern jeweils eines Teils des Softwareprogramms (30), und wobei für jeden der Speicherbereiche (32, 34) ein separater Autorisierungsvorgang zum Updaten der dort gespeicherten Teile des Softwareprogramms (30) erforderlich ist.
  14. System (100) nach einem der Ansprüche 10 bis 13, wobei bei einer erfolgreichen Autorisierung das Autorisierungsmodul (24) ein Funkmodul (27) autorisiert, eine aktualisierte Version des Softwareprogramms (30) von einer Cloud-Computing-Infrastruktur (70) und/oder von einem Server und/oder fälschungssicher von einem Distributed-Ledger wie einer Blockchain oder einem IOTA-Tangle herunterzuladen.
  15. Computerprogrammprodukt (200), umfassend einen ausführbaren Programmcode (250), der so konfiguriert ist, dass er bei seiner Ausführung das Verfahren nach einem der Ansprüche 1 bis 9 ausführt.
DE102022123487.8A 2022-09-14 2022-09-14 System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung Pending DE102022123487A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022123487.8A DE102022123487A1 (de) 2022-09-14 2022-09-14 System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022123487.8A DE102022123487A1 (de) 2022-09-14 2022-09-14 System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung

Publications (1)

Publication Number Publication Date
DE102022123487A1 true DE102022123487A1 (de) 2024-03-14

Family

ID=90054865

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022123487.8A Pending DE102022123487A1 (de) 2022-09-14 2022-09-14 System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung

Country Status (1)

Country Link
DE (1) DE102022123487A1 (de)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015203776A1 (de) 2015-03-03 2016-09-08 Robert Bosch Gmbh Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs
DE102016008613A1 (de) 2016-07-15 2018-01-18 Audi Ag Verfahren zum Installieren eines Steuerprogramms eines Steuergeräts eines Kraftfahrzeugs und Einsetzvorrichtung
DE102017209468A1 (de) 2017-06-06 2018-12-06 Robert Bosch Gmbh Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand
WO2019033116A1 (en) 2017-08-11 2019-02-14 Verimatrix, Inc. SYSTEMS AND METHODS FOR RIGHTS CONTROL OF NETWORK CONNECTED DEVICES OR IOT DEVICES USING INFORMATION STORED IN A DISTRIBUTED REGISTER
DE102018124934A1 (de) 2017-10-11 2019-04-11 Ford Global Technologies, Llc Hybridelektrofahrzeug mit automatisiertem Softwareaktualisierungssystem
DE102018214999A1 (de) 2017-10-13 2019-04-18 Robert Bosch Gmbh Vorrichtung zur Absicherung von Diagnosebefehlen an ein Steuergerät und entsprechendes Kraftfahrzeug
DE102018200318A1 (de) 2018-01-11 2019-07-11 Bayerische Motoren Werke Aktiengesellschaft Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels
US10409585B2 (en) 2018-02-14 2019-09-10 Micron Technology, Inc. Over-the-air (OTA) update for firmware of a vehicle component
US20200057704A1 (en) 2016-10-31 2020-02-20 Harman Becker Automotive Systems Gmbh Software update mechanism for safety critical systems
EP3491576B1 (de) 2016-08-01 2021-09-01 Data I/O Corporation Vorrichtungsprogrammierung mit systemgenerierung

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015203776A1 (de) 2015-03-03 2016-09-08 Robert Bosch Gmbh Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs
DE102016008613A1 (de) 2016-07-15 2018-01-18 Audi Ag Verfahren zum Installieren eines Steuerprogramms eines Steuergeräts eines Kraftfahrzeugs und Einsetzvorrichtung
EP3491576B1 (de) 2016-08-01 2021-09-01 Data I/O Corporation Vorrichtungsprogrammierung mit systemgenerierung
US20200057704A1 (en) 2016-10-31 2020-02-20 Harman Becker Automotive Systems Gmbh Software update mechanism for safety critical systems
DE102017209468A1 (de) 2017-06-06 2018-12-06 Robert Bosch Gmbh Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand
WO2019033116A1 (en) 2017-08-11 2019-02-14 Verimatrix, Inc. SYSTEMS AND METHODS FOR RIGHTS CONTROL OF NETWORK CONNECTED DEVICES OR IOT DEVICES USING INFORMATION STORED IN A DISTRIBUTED REGISTER
DE102018124934A1 (de) 2017-10-11 2019-04-11 Ford Global Technologies, Llc Hybridelektrofahrzeug mit automatisiertem Softwareaktualisierungssystem
DE102018214999A1 (de) 2017-10-13 2019-04-18 Robert Bosch Gmbh Vorrichtung zur Absicherung von Diagnosebefehlen an ein Steuergerät und entsprechendes Kraftfahrzeug
DE102018200318A1 (de) 2018-01-11 2019-07-11 Bayerische Motoren Werke Aktiengesellschaft Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels
US10409585B2 (en) 2018-02-14 2019-09-10 Micron Technology, Inc. Over-the-air (OTA) update for firmware of a vehicle component

Similar Documents

Publication Publication Date Title
EP2959655B1 (de) Kraftfahrzeug mit nachträglich per anwendungsprogramm veränderbarem fahrverhalten
EP1959606B1 (de) Sicherheitseinheit
EP3488556B1 (de) Sicheres konfigurieren eines gerätes
DE102011081804B4 (de) Verfahren und System zum Bereitstellen von gerätespezifischen Betreiberdaten, welche an ein Authentisierungs-Credential gebunden werden, für ein Automatisierungsgerät einer Automatisierungsanlage
DE102015203776A1 (de) Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
EP3688928B1 (de) Dataculestruktur und verfahren zum manipulationssicheren speichern von daten
EP3654222B1 (de) Fahrzeug, netzwerkkomponente, verfahren, computerprogramm und vorrichtung zum generieren einer kennung für einen ausrüstungszustand eines fahrzeugs
DE102022123487A1 (de) System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung
EP3725055B1 (de) Vorrichtungen, verfahren und computerprogramm zum freischalten von fahrzeugkomponenten, fahrzeug-zu-fahrzeug-kommunikationsmodul
WO2018059964A1 (de) Verfahren zum gesicherten zugriff auf daten eines fahrzeugs
DE112020001126T5 (de) Fahrzeugsteuergerät
DE102021208459B4 (de) Verfahren zur authentischen Datenübertragung zwischen Steuergeräten eines Fahrzeugs, Anordnung mit Steuergeräten, Computerprogramm und Fahrzeug
DE102015015627B3 (de) Verfahren zum Übertragen eines Funktionsbefehls zwischen einem Kraftfahrzeug und einer fahrzeugexternen Einrichtung sowie Schnittstellenvorrichtung und System
DE102022113922A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102009058754B4 (de) Verfahren zur Reprogrammierung eines oder mehrerer Steuergeräte eines Fahrzeugs und Steuergerät
EP1455312B1 (de) Verfahren und Einrichtung zur Wartung von sicherheitsrelevanten Programmcode eines Kraftfahrzeuges
EP1642185A1 (de) Verfahren zur authentifikation von einer insbesondere in ein steuergerät eines kraftfahrzeugs ladbaren softwarekomponente
DE102014222181A1 (de) Verfahren zum Betreiben eines Steuergeräts
EP3876477B1 (de) Verfahren zur überprüfung eines istzustands elektronischer komponenten
DE102016008613A1 (de) Verfahren zum Installieren eines Steuerprogramms eines Steuergeräts eines Kraftfahrzeugs und Einsetzvorrichtung
DE102019201133A1 (de) Kraftfahrzeug
EP4374274A1 (de) Sicheres betreiben einer industriellen steuerungsvorrichtung zusammen mit einem ai-modul
EP4187846A1 (de) Steuerung eines zugriffs auf ein gerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication