DE102020207863A1 - Process for the secure update of control units - Google Patents
Process for the secure update of control units Download PDFInfo
- Publication number
- DE102020207863A1 DE102020207863A1 DE102020207863.7A DE102020207863A DE102020207863A1 DE 102020207863 A1 DE102020207863 A1 DE 102020207863A1 DE 102020207863 A DE102020207863 A DE 102020207863A DE 102020207863 A1 DE102020207863 A1 DE 102020207863A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- hsm
- update
- integrity
- program
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur sicheren Aktualisierung eines Steuergeräts, das einen Host, der dazu eingerichtet ist, ein Aktualisierungsprogramm und ein oder mehrere Anwendungsprogramme auszuführen, einen Speicher, der Programme und Daten enthält, und ein Hardware-Sicherheits-Modul (HSM) umfasst, das dazu eingerichtet ist, die Integrität von Speicherbereichen des Speichers zu prüfen und einen Schreibzugriff auf den Speicher zu sperren und freizugeben, umfassend ein Starten (6, 8) des Hosts und des HSM; ein Sperren (12) des Schreibzugriffs auf den Speicher durch das HSM; ein Prüfen (16) der Integrität eines das Aktualisierungsprogramm enthaltenden ersten Speicherbereichs des Speichers durch das HSM; und, wenn die Integrität des ersten Speicherbereichs beim Prüfen bestätigt wird, ein Freigeben (18) des Schreibzugriffs auf den Speicher durch das HSM und Starten des Aktualisierungsprogramms. The invention relates to a method for the secure update of a control device which comprises a host which is set up to execute an update program and one or more application programs, a memory which contains programs and data, and a hardware security module (HSM), which is set up to check the integrity of memory areas of the memory and to block and enable write access to the memory, comprising starting (6, 8) the host and the HSM; blocking (12) write access to the memory by the HSM; checking (16) the integrity of a first memory area of the memory containing the update program by the HSM; and, if the integrity of the first memory area is confirmed during the checking, enabling (18) the write access to the memory by the HSM and starting the update program.
Description
Die vorliegende Erfindung betrifft ein Verfahren zur sicheren Aktualisierung eines Steuergeräts sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for secure updating of a control device as well as a computing unit and a computer program for its implementation.
Stand der TechnikState of the art
In Maschinen und Fahrzeugen werden programmierbare Steuergeräte eingesetzt, um diese oder auch Komponenten davon, zu steuern. Beispielsweise kann ein Kraftfahrzeug Steuergeräte für die Motorsteuerung, für das Bremssystem usw. enthalten. Die Steuergeräte umfassen einen Prozessor mit einem oder typischerweise mit mehreren Prozessor-Kernen (vereinfacht auch als Host bzw. Hostsystem bezeichnet), die in einem Speicher gespeicherte Anwendungsprogramme ausführen, um die Steuerungsfunktion des Steuergeräts zu erzielen. Hersteller von Maschinen oder Fahrzeugen programmieren bei der Produktion einer Maschine oder eines Fahrzeugs die dabei eingesetzten Steuergeräte normalerweise neu mit herstellerspezifischen Anwendungsprogrammen. Ebenso muss aufgrund der Langlebigkeit moderner Maschinen und Fahrzeuge die Steuerungsfunktion von Steuergeräten an sich ändernde Anforderungen anpassbar sein. Es muss also möglich sein, eine Aktualisierung bzw. Neuprogrammierung der Steuergeräte durchzuführen, d.h. die im Speicher gespeicherten Daten und Programme sollten verändert werden können.Programmable control devices are used in machines and vehicles to control them or their components. For example, a motor vehicle can contain control units for engine control, for the brake system, etc. The control devices comprise a processor with one or typically with a plurality of processor cores (also referred to in simplified terms as a host or host system) which execute application programs stored in a memory in order to achieve the control function of the control device. Manufacturers of machines or vehicles normally reprogram the control devices used during the production of a machine or vehicle with manufacturer-specific application programs. Likewise, due to the longevity of modern machines and vehicles, the control function of control units must be adaptable to changing requirements. It must therefore be possible to update or re-program the control units, i.e. it should be possible to change the data and programs stored in the memory.
Aus Sicherheitsgründen muss verhindert werden, dass Anwendungssoftware oder Daten, die im Speicher des Steuergeräts bzw. eines dortigen Mikroprozessors oder Mikrocontrollers gespeichert sind, unerlaubterweise verändert werden. For security reasons, it must be prevented that application software or data that are stored in the memory of the control device or a microprocessor or microcontroller there is changed without permission.
Dazu kann ein passwortbasierter Schreibschutz für den Speicher verwendet werden, der über Hardware aufgehoben und aktiviert werden kann. Erst wenn nach Eingabe des Passworts der Speicherschutz aufgehoben wurde, kann der Speicher des Steuergeräts geändert bzw. neu beschrieben werden, z.B. eine neue Software eingespielt werden oder andere Daten in den Speicher geschrieben werden. Das Passwort wird für jedes Steuergerät individuell generiert und von einem sogenannten Hardware-Sicherheits-Modul, HSM; das das Passwort in einem dafür vorgesehenen Speicherbereich speichert, verwaltet. Soll eine Aktualisierung durchgeführt werden, wird dass Passwort vom Hardware-Sicherheits-Modul von der Person bzw. der Anwendung, die eine Aktualisierung bzw. Änderung der gespeicherten Software oder Daten durchführen will, bzw. ein von der Person dazu verwendetes Programmiergerät, angefordert und überprüft. Eine weitere Absicherung des Aktualisierungs- bzw. Neuprogrammierungsvorgangs eines Steuergeräts ist üblicherweise nicht vorgesehen.For this purpose, a password-based write protection can be used for the memory, which can be deactivated and activated via hardware. Only when the memory protection has been removed after entering the password can the memory of the control unit be changed or rewritten, e.g. new software can be imported or other data can be written to the memory. The password is generated individually for each control device and is processed by a so-called hardware security module, HSM; that saves the password in a memory area provided for this purpose. If an update is to be carried out, the password from the hardware security module is requested and checked by the person or the application who wants to update or change the stored software or data, or a programming device used by the person . A further safeguarding of the update or reprogramming process of a control device is usually not provided.
Offenbarung der ErfindungDisclosure of the invention
Erfindungsgemäß werden ein Verfahren zur sicheren Aktualisierung eines Steuergeräts sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for the secure updating of a control device as well as a computing unit and a computer program for its implementation with the features of the independent patent claims are proposed. Advantageous refinements are the subject matter of the subclaims and the description below.
Erfindungsgemäß wird das Aufheben des Schreibschutzes des Speichers solange durch das Hardware-Sicherheits-Modul blockiert, bis die Programmiersoftware, d.h. das Aktualisierungsprogramm, authentifiziert wurde, was durch eine Integritätsprüfung eines ersten Speicherbereichs, in dem das Aktualisierungsprogramm enthalten ist, erfolgt. Durch die Integritätsprüfung kann festgestellt werden, ob dieser Speicherbereich und damit das Aktualisierungsprogramm, unerlaubterweise verändert wurde. Nur wenn die Integrität des ersten Speicherbereichs beim Prüfen bestätigt wird, wird der Schreibzugriff durch das HSM freigegeben und das Aktualisierungsprogramm gestartet. Damit wird ein erhöhter Schutz der Anwendungssoftware des Steuergeräts vor Manipulationen erreicht. According to the invention, the removal of the write protection of the memory is blocked by the hardware security module until the programming software, i.e. the update program, has been authenticated, which is done by checking the integrity of a first memory area in which the update program is contained. The integrity check can be used to determine whether this memory area and thus the update program have been changed without permission. The HSM only enables write access and starts the update program if the integrity of the first memory area is confirmed during the check. This increases the protection of the control unit's application software against manipulation.
Der Host bzw. das Hostsystem umfasst einen Prozessor, der dazu eingerichtet ist, Software bzw. Computerprogramme (vereinfacht als Programme bezeichnet) auszuführen, um Funktionen des Steuersystems zu verwirklichen. Der Host kann weitere Elemente, wie etwa einen Arbeitsspeicher (z.B. einen Direktzugriffsspeicher, random access memory, RAM), Kommunikationsschnittstellen, insbesondere zur Kommunikation mit dem Speicher, dem HSM und externen Geräten, und/oder ähnliches umfassen. Die Software ist in dem Speicher des Steuergeräts, der nichtflüchtig ist, z.B. einem Flash-Speicher, einer Festplatte, oder einer SSD (solid state disk), enthalten bzw. gespeichert. Der Speicher des Steuergeräts ist wiederbeschreibbar. Unter dem Begriff ‚Speicher‘ ist der Speicher des Steuergeräts zu verstehen, soweit nichts anderes vermerkt ist. Die Software kann einerseits wenigstens ein Anwendungsprogramm, das dazu dient, Steuerfunktionen des Steuergeräts zu implementieren, wenn es von dem Host ausgeführt wird, und andererseits ein Aktualisierungsprogramm (Programmiersoftware), das u.a. dazu dient, den Speicher oder Teile davon mit Software (Programmdaten) oder Daten neu zu beschreiben, wenn es von dem Host ausgeführt wird, umfassen. D.h. mittels des Aktualisierungsprogramms, das sozusagen eine Programmiersoftware zur Neuprogrammierung des Steuergeräts darstellt, kann das Steuergerät aktualisiert bzw. neu programmiert werden. Die Aktualisierung kann Programme, deren Ablauf die Funktion des Steuergeräts bestimmt, und/oder Daten, die für die Funktion des Steuergeräts benötigt werden, etwa Initialisierungsparameter oder Programmparameter, betreffen. Bei der Aktualisierung bzw. dem Neuprogrammieren werden der Speicher bzw. Speicherbereiche ganz oder teilweise mit Aktualisierungsdaten (neuen Programmen, d.h. Software, und/oder anderweitigen neuen Daten) neu beschrieben. Das Aktualisierungsprogramm kann gegebenenfalls, wenn nötig, weitere Aktionen durchführen, z.B. Bestimmen, welche Programme/Daten aktualisiert werden müssen, oder einen Neustart des Steuergeräts nach der Aktualisierung veranlassen.The host or the host system comprises a processor which is set up to execute software or computer programs (simply referred to as programs) in order to implement functions of the control system. The host can comprise further elements, such as a main memory (for example a random access memory, RAM), communication interfaces, in particular for communication with the memory, the HSM and external devices, and / or the like. The software is contained or stored in the non-volatile memory of the control unit, e.g. a flash memory, a hard disk or an SSD (solid state disk). The memory of the control unit is rewritable. The term “memory” refers to the memory of the control unit, unless otherwise noted. The software can on the one hand at least one application program that is used to implement control functions of the control unit when it is executed by the host, and on the other hand an update program (programming software) that is used, among other things, to update the memory or parts of it with software (program data) or Include rewriting data when executed by the host. That is, by means of the update program, which, so to speak, represents programming software for reprogramming the control device, the control device can be updated or reprogrammed will. The update can relate to programs, the sequence of which determines the function of the control device, and / or data that are required for the function of the control device, such as initialization parameters or program parameters. During the update or reprogramming, the memory or memory areas are completely or partially rewritten with update data (new programs, ie software, and / or other new data). If necessary, the update program can carry out further actions, for example determining which programs / data have to be updated, or initiate a restart of the control device after the update.
Das Hardware-Sicherheits-Modul, kurz als HSM bezeichnet, stellt kryptographische Funktionen bereit, die von dem Host genutzt werden können, um sicherheitskritische Funktionen, etwa die Kommunikation mehrerer Steuergeräte untereinander, abzusichern. Dazu verwaltet das HSM insbesondere geheime Passwörter (Kennwörter) und/oder kryptographische Schlüssel und implementiert kryptographische Verfahren bevorzugt in Hardware. Diese Schlüssel werden vom HSM in einem dafür vorgesehenen Bereich des Speichers gespeichert und/oder in einem HSM-Speicher gespeichert, d.h. einem eigenen Speicher des HSM. Das HSM umfasst einen Prozessor (der vom Host-Prozessor verschieden ist) und kann vom Host gesondert ausgeführt sein oder mit dem Host bzw. Host-Prozessor und dem Speicher in einem Chip integriert sein (HSM und Host sind dann sozusagen durch verschiedene Prozessor-Kerne auf dem Chip gebildet bzw. abgebildet). Das HSM ist dazu eingerichtet, einen Schreibschutz für den Speicher bereitzustellen, d.h. einen Schreibzugriff auf den Speicher zu sperren oder freizugeben. Nur wenn der Schreibzugriff freigegeben ist, kann eine Aktualisierung, die ein Neubeschreiben des Speichers erfordert, durchgeführt werden. Das HSM ist weiter dazu eingerichtet, die Integrität von Speicherbereichen zu prüfen, um die Authentizität von im jeweiligen Speicherbereich enthaltenen Computerprogrammen bzw. Software und/oder enthaltenen Daten zu prüfen.The hardware security module, referred to as HSM for short, provides cryptographic functions that can be used by the host to secure security-critical functions, such as communication between several control units. For this purpose, the HSM manages in particular secret passwords and / or cryptographic keys and implements cryptographic methods preferably in hardware. These keys are stored by the HSM in a designated area of the memory and / or stored in an HSM memory, i.e. the HSM's own memory. The HSM comprises a processor (which is different from the host processor) and can be implemented separately from the host or integrated with the host or host processor and the memory in a chip (HSM and host are then, so to speak, through different processor cores formed or mapped on the chip). The HSM is set up to provide write protection for the memory, i.e. to block or enable write access to the memory. An update that requires rewriting of the memory can only be carried out if write access is enabled. The HSM is also set up to check the integrity of memory areas in order to check the authenticity of computer programs or software and / or data contained in the respective memory area.
Bei der Integritäts-Prüfung wird bestimmt, ob der Inhalt des entsprechenden Speicherbereichs unverändert gegenüber einem bekanntermaßen korrekten Inhalt ist. Dazu kann z.B. ein Prüfwert oder ein Hashwert der im Speicherbereich gespeicherten Daten berechnet werden und mit einem zu einem früheren Zeitpunkt, an dem bekannt war, dass der Speicherbereich korrekte, nicht manipulierte Software und/oder Daten enthielt, berechneten Wert verglichen werden. Bevorzugt erfolgt für die Integritäts-Prüfung ein Abgleich eines MAC, d.h. eines Nachrichtenauthentifizierungscodes (Message Authentication Code). Bei der Berechnung eines MAC geht zusätzlich zu der ursprünglichen Nachricht, hier den im Speicherbereich gespeicherten Daten, bzw. einem Hashwert davon, ein geheimer Schlüssel ein, den das HSM verwaltet. Dadurch können sogenannte Kollisions-Angriffe (bzw. hier Pre-Image-Angriffe) verhindert werden. Bevorzugt wird ein sogenannter CMAC (Cipher-based Message Authentication Code) verwendet.During the integrity check, it is determined whether the content of the corresponding memory area is unchanged compared to a known correct content. For this purpose, e.g. a check value or a hash value of the data stored in the memory area can be calculated and compared with a value calculated at an earlier point in time at which it was known that the memory area contained correct, non-manipulated software and / or data. A MAC, i.e. a message authentication code, is preferably compared for the integrity check. When calculating a MAC, in addition to the original message, here the data stored in the memory area or a hash value thereof, a secret key that the HSM manages. This way, so-called collision attacks (or here pre-image attacks) can be prevented. A so-called CMAC (Cipher-based Message Authentication Code) is preferably used.
Bevorzugt umfasst das Verfahren nach dem Starten des Aktualisierungsprogramms weiterhin ein Bestimmen, durch das Aktualisierungsprogramm, ob eine Aktualisierung stattfinden soll; ein Sperren des Schreibzugriffs durch das HSM, wenn bestimmt wird, dass keine Aktualisierung stattfinden soll; ein Aktualisieren des Steuergeräts, wenn bestimmt wird, dass eine Aktualisierung stattfinden soll, wobei das Aktualisieren Schreiben von Aktualisierungsdaten in den Speicher durch das Aktualisierungsprogramm und anschließendes Sperren des Schreibzugriffs durch das HSM und/oder Neustarten des Steuergeräts umfasst; und ein Ausführen wenigstens eines des einen oder der mehreren Anwendungsprogramme durch den Host. Vor dem Ausführen des wenigstens einen Anwendungsprogramms (des einen oder der mehreren Anwendungsprogramme) umfasst das Verfahren weiter bevorzugt ein Prüfen der Integrität eines zweiten Speicherbereichs, der das wenigstens eine Anwendungsprogramm enthält, durch das HSM, und, wenn die Integrität des zweiten Speicherbereichs beim Prüfen nicht bestätigt wird, ein Unterbinden der Ausführung des wenigstens einen Anwendungsprogramms.Preferably, after the update program has started, the method further comprises determining, by the update program, whether an update should take place; blocking write access by the HSM if it is determined that no update should take place; an updating of the control device if it is determined that an update should take place, wherein the updating comprises writing of update data into the memory by the update program and then blocking the write access by the HSM and / or restarting the control device; and the host executing at least one of the one or more application programs. Before executing the at least one application program (the one or more application programs), the method further preferably comprises checking the integrity of a second memory area containing the at least one application program by the HSM, and if the integrity of the second memory area is not checked during the check is confirmed, a prohibition of the execution of the at least one application program.
Diese Ausgestaltungen sind vorteilhaft, da die eigentliche Funktion des Startgeräts ohne Verzögerung gestartet wird, wenn keine Aktualisierung stattfinden soll, und auch die Authentizität des Anwendungsprogramms sichergestellt wird, dieses also nicht, während der Schreibzugriff freigegeben war, manipuliert wurde.These refinements are advantageous since the actual function of the starter device is started without delay if no update is to take place, and the authenticity of the application program is also ensured, that is to say it was not manipulated while the write access was enabled.
Das Verfahren kann ein Anfordern und Überprüfen eines Passworts vor dem Freigeben des Schreibzugriffs umfassen. Dies wird zweckmäßigerweise durchgeführt, um zu prüfen, ob eine Person und/oder ein Gerät bzw. eine Anwendung, die bzw. das die Aktualisierung durchführen und dazu den Speicher neu beschreiben will, dazu berechtigt ist.The method can include requesting and checking a password before enabling write access. This is expediently carried out in order to check whether a person and / or a device or an application that wants to carry out the update and to rewrite the memory for this purpose is authorized to do so.
Bevorzugt umfasst das Prüfen der Integrität des ersten Speicherbereichs und/oder des zweiten Speicherbereichs ein Abgleichen eines Nachrichtenauthentifizierungscodes (MAC, Message Authentication Code). Bei der Berechnung eines MAC wird ein geheimer Schlüssel, der vom HSM verwaltet wird, verwendet, der eine zusätzliche Sicherheit vor einer Manipulation der jeweiligen Speicherbereiche bietet.The checking of the integrity of the first memory area and / or the second memory area preferably includes a comparison of a message authentication code (MAC). When calculating a MAC, a secret key that is managed by the HSM is used, which offers additional security against manipulation of the respective memory areas.
Das Verfahren kann weiter, wenn die Integrität des ersten Speicherbereichs und/oder des zweiten Speicherbereichs beim Prüfen nicht bestätigt wird, ein Stoppen des Hosts und/oder ein Ausgeben einer Fehlermeldung umfassen. Damit kann verhindert werden, dass ein möglicherweise manipuliertes Steuergerät weiterläuft und sicherheitskritische Funktionen möglicherweise fehlerhaft ausführt. Die Fehlermeldung kann an einen Nutzer ausgegeben werden. Ebenso ist es möglich, die Fehlermeldung an ein oder mehrere andere Steuergeräte weiterzugeben. Beispielsweise weisen Kraftfahrzeuge eine Vielzahl von Steuergeräten auf. Stellt eines davon, etwa ein Steuergerät für das Bremssystem, mittels einer gescheiterten Integritäts-Prüfung einen möglichen Manipulationsversuch fest, kann dieses an andere Steuergeräte eine entsprechende Fehlermeldung ausgeben bzw. senden, so dass diese darauf reagieren, z.B. nicht starten oder anhalten, können. Etwa könnte ein Motorsteuergerät den Motor stoppen, wenn das Steuergerät des Bremssystems einen möglichen Manipulationsversuch meldet.The method can continue if the integrity of the first memory area and / or the second memory area is not confirmed during the check will include stopping the host and / or outputting an error message. This can prevent a possibly manipulated control unit from continuing to run and possibly incorrectly executing safety-critical functions. The error message can be output to a user. It is also possible to pass the error message on to one or more other control units. For example, motor vehicles have a large number of control units. If one of them, for example a control unit for the brake system, detects a possible manipulation attempt by means of a failed integrity check, it can output or send a corresponding error message to other control units so that they can react to it, e.g. not start or stop. For example, an engine control unit could stop the engine if the brake system control unit reports a possible manipulation attempt.
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing unit according to the invention, for example a control unit of a motor vehicle, is set up, in particular in terms of programming, to carry out a method according to the invention.
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for performing all method steps is advantageous, since this causes particularly low costs, especially if an executing control device is used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. A program can also be downloaded via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and embodiments of the invention emerge from the description and the accompanying drawing.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.
FigurenlisteFigure list
-
1 zeigt den prinzipiellen Aufbau eines Steuergeräts, wie es der Erfindung zugrunde liegen kann.1 shows the basic structure of a control device on which the invention can be based. -
2 zeigt eine Übersicht über die prinzipielle Struktur einer bevorzugten Ausführungsform des Verfahrens zur sicheren Aktualisierung eines Steuergeräts.2 shows an overview of the basic structure of a preferred embodiment of the method for secure updating of a control device. -
3 zeigt ein Ablaufdiagramm einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens.3 shows a flow chart of a preferred embodiment of the method according to the invention.
Ausführungsformen der ErfindungEmbodiments of the invention
Das Steuergerät
Der Vollständigkeit halber ist noch eine Kommunikationsschnittstelle
Mehrere oder auch alle der einzelnen Teile (Host
In
Mit Starten des Steuergeräts, z.B. mit dem Anschalten des Steuergeräts, startet der Host in Block bzw. Schritt
Nach Initialisierung des Hosts in Schritt
Wenn die Integrität des Speicherbereichs bestätigt wird, d.h. wenn das Aktualisierungsprogramm erfolgreich authentifiziert wird, wird der Schreibzugriff auf den Speicher in Schritt
Nach der Initialisierung des Hosts wird das HSM aufgerufen, in Schritt
Wenn beim Prüfen die Integrität des ersten Speicherbereichs nicht bestätigt wird, Pfeil
Wenn die Integrität des ersten Speicherbereichs beim Prüfen bestätigt wird, Pfeil
Nach Freigabe
Wenn festgestellt wird, dass eine Aktualisierung durchgeführt werden soll, Pfeil
Wenn (durch das Aktualisierungsprogramm) andererseits festgestellt wird, dass keine Neuprogrammierung durchgeführt werden soll, Pfeil
Nachdem der Speicherzugriff in Schritt
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020207863.7A DE102020207863A1 (en) | 2020-06-25 | 2020-06-25 | Process for the secure update of control units |
CN202110703464.9A CN114091008A (en) | 2020-06-25 | 2021-06-24 | Method for securely updating a control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020207863.7A DE102020207863A1 (en) | 2020-06-25 | 2020-06-25 | Process for the secure update of control units |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020207863A1 true DE102020207863A1 (en) | 2021-12-30 |
Family
ID=78826900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020207863.7A Pending DE102020207863A1 (en) | 2020-06-25 | 2020-06-25 | Process for the secure update of control units |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114091008A (en) |
DE (1) | DE102020207863A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013213314A1 (en) | 2013-07-08 | 2015-01-08 | Siemens Aktiengesellschaft | Deposit at least one computable integrity measure in a memory area of a memory |
DE102015209116A1 (en) | 2015-05-19 | 2016-11-24 | Robert Bosch Gmbh | Method and update gateway for updating an embedded controller |
-
2020
- 2020-06-25 DE DE102020207863.7A patent/DE102020207863A1/en active Pending
-
2021
- 2021-06-24 CN CN202110703464.9A patent/CN114091008A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013213314A1 (en) | 2013-07-08 | 2015-01-08 | Siemens Aktiengesellschaft | Deposit at least one computable integrity measure in a memory area of a memory |
DE102015209116A1 (en) | 2015-05-19 | 2016-11-24 | Robert Bosch Gmbh | Method and update gateway for updating an embedded controller |
Non-Patent Citations (2)
Title |
---|
CHERUVU, Sunil [et al.]: IoT Vertical Applications and Associated Security Requirements. In: Demystifying Internet of Things Security. Apress, Berkeley, CA (USA), 2020 (online veröffentlicht am 14. August 2019). S. 413–462. DOI: 10.1007/978-1-4842-2896-8_6 |
IDREES, Muhammad Sabir [et al.]: Secure automotive on-board protocols: a case of over-the-air firmware updates. In: International Workshop on Communication Technologies for Vehicles. Berlin, Heidelberg : Springer, 2011. S. 224–238. DOI: 10.1007/978-3-642-19786-4_20 |
Also Published As
Publication number | Publication date |
---|---|
CN114091008A (en) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012109615B4 (en) | Using a manifest to record the presence of valid software and calibration | |
DE102008021567A1 (en) | Computer system with secure boot mechanism based on symmetric key encryption | |
DE102015209108A1 (en) | Method and decision gateway for authorizing a function of an embedded controller | |
WO2019081395A1 (en) | Method and device for updating software of a motor vehicle control unit | |
DE102014220616A1 (en) | Method for loading executable program instructions into a chip card in active operation | |
EP3811261B1 (en) | Cryptography module and method for operating same | |
DE102010002472A1 (en) | Method for verifying a memory block of a non-volatile memory | |
DE102020207866A1 (en) | Method for performing a secure start sequence of a control unit | |
DE102020207863A1 (en) | Process for the secure update of control units | |
DE102020207862A1 (en) | Procedure for the secure update of control units | |
DE102022119774A1 (en) | Method and system for performing a secure boot procedure using multi-level security verification in a vehicle microcontroller | |
DE102020207861A1 (en) | Method for carrying out a secured start sequence of a control unit | |
DE102020216030A1 (en) | Procedure for the secure start of a computing unit | |
DE102018217969A1 (en) | Computing device and operating method therefor | |
DE102021126509B4 (en) | Portable chip device and method for performing a software module update in a portable chip device | |
WO2018153559A1 (en) | Method and validation unit for controlling the loading of crypto keys, in particular "key blobs", usable in it systems, in particular embedded systems | |
DE102021212994B3 (en) | Method for detecting anomalies indicating tampering during a secure boot process of a software-controlled device | |
DE102011111698A1 (en) | Method for performing log-in at computer system, involves passing user-specific information and/or another user-specific information by authentication instance to another authentication instance in which former instance is arranged | |
DE102019220450A1 (en) | Device with an interface and method for operating a device with an interface | |
DE102020212988A1 (en) | Safe booting of a computer system | |
EP4078314A1 (en) | Apparatus having an interface, and method for operating an apparatus having an interface | |
DE102021211591A1 (en) | Method and device for processing data | |
WO2024056443A1 (en) | Method for checking data in a computer unit | |
DE102020207614A1 (en) | Computing facility and operating procedures therefor | |
DE102021214195A1 (en) | Procedure for installing an update for a hardware security module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |