DE102019220450A1 - Device with an interface and method for operating a device with an interface - Google Patents
Device with an interface and method for operating a device with an interface Download PDFInfo
- Publication number
- DE102019220450A1 DE102019220450A1 DE102019220450.3A DE102019220450A DE102019220450A1 DE 102019220450 A1 DE102019220450 A1 DE 102019220450A1 DE 102019220450 A DE102019220450 A DE 102019220450A DE 102019220450 A1 DE102019220450 A1 DE 102019220450A1
- Authority
- DE
- Germany
- Prior art keywords
- computer program
- prg1
- external unit
- interface
- analysis flag
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
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)
- Storage Device Security (AREA)
Abstract
Verfahren (300) zum Betreiben einer Vorrichtung (100), die eine Schnittstelle (120) zum Datenaustausch mit einer externen Einheit (200) aufweist und wenigstens eine erste Speichereinrichtung (130) zum nichtflüchtigen Speichern eines ersten Analyse-Flags (FA), und wenigstens eine zweite Speichereinrichtung (140) zum Speichern von wenigstens einem, insbesondere durch eine Recheneinrichtung (110) der Vorrichtung (100) ausführbaren, Computerprogramm (PRG1), wobei das Verfahren (300) die folgenden Schritte umfasst: Prüfen (310), ob das erste Analyse-Flag (FA) in der ersten Speichereinrichtung (130) gesetzt ist, und wenn das erste Analyse-Flag gesetzt ist, ein Schritt (320a) zum Übertragen des wenigstens eine Computerprogramms (PRG1), von der externen Einheit (200) über die Schnittstelle (120) in die zweite Speichereinrichtung (140) der Vorrichtung (100) ausgeführt wird, und/oder in ein Schritt (320b) zum Ausführen des Computerprogramms (PRG1) durch die Recheneinrichtung (110) ausgeführt wird, und wenn das erste Analyse-Flag (FA) nicht gesetzt ist, der Schritt zum Übertragen und/oder der Schritt zum Ausführen nicht ausgeführt wird.Method (300) for operating a device (100) which has an interface (120) for data exchange with an external unit (200) and at least one first memory device (130) for non-volatile storage of a first analysis flag (FA), and at least a second memory device (140) for storing at least one computer program (PRG1), in particular executable by a computing device (110) of the device (100), the method (300) comprising the following steps: checking (310) whether the first Analysis flag (FA) is set in the first memory device (130), and if the first analysis flag is set, a step (320a) for transmitting the at least one computer program (PRG1) from the external unit (200) via the Interface (120) is executed in the second memory device (140) of the device (100), and / or in a step (320b) for executing the computer program (PRG1) by the computing device (110) d, and if the first analysis flag (FA) is not set, the step for transmitting and / or the step for executing is not carried out.
Description
Stand der TechnikState of the art
Die Offenbarung betrifft ein Verfahren zum Betreiben einer Vorrichtung, die eine Schnittstelle zum Datenaustausch mit einer externen Einheit aufweist.The disclosure relates to a method for operating a device which has an interface for data exchange with an external unit.
Die Offenbarung betrifft ferner eine Vorrichtung mit einer Schnittstelle zum Datenaustausch mit einer externen Einheit.The disclosure also relates to a device with an interface for exchanging data with an external unit.
Offenbarung der ErfindungDisclosure of the invention
Bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben einer Vorrichtung, die eine Schnittstelle zum Datenaustausch mit einer externen Einheit aufweist und wenigstens eine erste Speichereinrichtung zum nichtflüchtigen Speichern eines ersten Analyse-Flags, und wenigstens eine zweite Speichereinrichtung zum Speichern von wenigstens einem, insbesondere durch eine Recheneinrichtung der Vorrichtung ausführbaren, Computerprogramm, wobei das Verfahren die folgenden Schritte umfasst: Prüfen, ob das erste Analyse-Flag in der zweiten Speichereinrichtung gesetzt ist, und wenn das erste Analyse-Flag gesetzt ist, ein Schritt zum Übertragen des wenigstens eine Computerprogramms, von der externen Einheit über die Schnittstelle in die zweite Speichereinrichtung der Vorrichtung ausgeführt wird, und/oder in ein Schritt zum Ausführen des Computerprogramms durch die Recheneinrichtung ausgeführt wird, und wenn das erste Analyse-Flag nicht gesetzt ist, der Schritt zum Übertragen und/oder der Schritt zum Ausführen nicht ausgeführt wird.Preferred embodiments relate to a method for operating a device which has an interface for data exchange with an external unit and at least one first memory device for non-volatile storage of a first analysis flag, and at least one second memory device for storing at least one, in particular by one Computing device of the device executable, computer program, the method comprising the following steps: checking whether the first analysis flag is set in the second memory device, and if the first analysis flag is set, a step for transmitting the at least one computer program from of the external unit is executed via the interface in the second memory device of the device, and / or is executed in a step for executing the computer program by the computing device, and if the first analysis flag is not set, the step of transmitting and / or the step to execute is not carried out.
Das erste Analyse-Flag dient im Allgemeinen als ein Statusindikator zum Kennzeichnen eines bestimmten Zustands. Das erste Analyse-Flag kann gesetzt, gelöscht oder geprüft werden. Erfindungsgemäß wird anhand des ersten Analyse-Flags der Zugriff über die Schnittstelle der Vorrichtung freigegeben oder verweigert.The first analysis flag generally serves as a status indicator for identifying a particular condition. The first analysis flag can be set, deleted or checked. According to the invention, access via the interface of the device is enabled or denied on the basis of the first analysis flag.
Gemäß einer bevorzugten Ausführungsform umfasst das Computerprogramm einen Bootloader für die Recheneinrichtung. Der Bootloader kann, sobald er ausgeführt wird, dann beispielsweise das nachfolgende Laden und/oder Ausführen wenigstens eines weiteren Computerprogramms durch die Recheneinrichtung steuern.According to a preferred embodiment, the computer program comprises a boot loader for the computing device. As soon as it is executed, the bootloader can then, for example, control the subsequent loading and / or execution of at least one further computer program by the computing device.
Bei weiteren bevorzugten Ausführungsformen handelt es sich bei dem Computerprogramm um ein Computerprogramm zum Steuern der Ausführung einer Software, insbesondere einer Prüfsoftware, insbesondere einer End-of-Line (EoL) Software. Gemäß weiteren bevorzugten Ausführungsformen kann das Computerprogramm auch die Prüfsoftware, insbesondere die End-of-Line (EoL) Software, oder Teile davon umfassen. Die Schnittstelle zum Übertragen des Computerprogramms wird im Folgenden auch EoL-Schnittstelle genannt.In further preferred embodiments, the computer program is a computer program for controlling the execution of software, in particular test software, in particular end-of-line (EoL) software. According to further preferred embodiments, the computer program can also include the test software, in particular the end-of-line (EoL) software, or parts thereof. The interface for transmitting the computer program is also referred to below as the EoL interface.
Bei weiteren bevorzugten Ausführungsformen wird die Vorrichtung durch Ausführen des Computerprogramms und/oder Übertragen des Computerprogramms in einen Analyse-Zustand versetzt. Vorteilhafterweise gibt das erste Analyse-Flag an, ob die Erfindung in den Analyse-Zustand versetzt werden kann. Erfindungsgemäß erfolgt das Ausführen und/oder Übertragen des Computerprogramms, also ein Zugriff über die EoL Schnittstelle, nur, wenn das Analyse-Flag gesetzt ist. Ein unerlaubtes Ausführen und/oder Übertragen kann als anhand des Analyse-Flags verhindert und so eine Betriebssicherheit der Vorrichtung erhöht werden.In further preferred embodiments, the device is put into an analysis state by executing the computer program and / or transmitting the computer program. The first analysis flag advantageously indicates whether the invention can be placed in the analysis state. According to the invention, the computer program is executed and / or transmitted, that is to say access via the EoL interface, only when the analysis flag is set. Unauthorized execution and / or transmission can be prevented on the basis of the analysis flag and thus the operational reliability of the device can be increased.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung, wenn das erste Analyse-Flag nicht gesetzt ist, in einen Applikations-Zustand versetzt wird.In further preferred embodiments it is provided that the device is put into an application state if the first analysis flag is not set.
Vorteilhafterweise wird das erfindungsgemäße Verfahren bei einem Bootvorgang der Vorrichtung ausgeführt, wobei in Abhängigkeit des Analyse-Flags die Vorrichtung weiter entweder in einen Analyse-Zustand oder in einen Applikationszustand versetzt werden kann.The method according to the invention is advantageously carried out when the device is booted, with the device being able to be switched to either an analysis state or an application state as a function of the analysis flag.
Bei weiteren bevorzugten Ausführungsformen ist das Computerprogramm vorteilhafterweise dazu ausgebildet ist, Operationen, insbesondere systemnahe Operationen, insbesondere eine Hardware-Prüfung, insbesondere Hardware-Endprüfung, der Vorrichtung, und/oder eine Bedatung der Vorrichtung, insbesondere Übertragen von wenigstens einer Funktion und/oder wenigstens einer Konfiguration, auszuführen. Beispielsweise kann das Computerprogramm auch zum Ausführen einer Aktivierungssoftware, insbesondere eine Function-on-Demand Aktivierungssoftware zum Freischalten von Funktionen der Vorrichtung, ausgebildet sein. Gemäß weiteren Ausführungsformen kann das Computerprogramm auch die Aktivierungssoftware oder Teile davon umfassen.In further preferred embodiments, the computer program is advantageously designed to carry out operations, in particular system-related operations, in particular a hardware test, in particular a final hardware test, of the device and / or data input to the device, in particular transferring at least one function and / or at least a configuration. For example, the computer program can also be designed to run activation software, in particular function-on-demand activation software for activating functions of the device. According to further embodiments, the computer program can also comprise the activation software or parts thereof.
Bei weiteren bevorzugten Ausführungsformen ist die Vorrichtung ein Steuergerät (Electronic Control Unit, ECU), insbesondere für ein Kraftfahrzeug, beispielsweise für eine Brennkraftmaschine eines Kraftfahrzeugs. Bei weiteren bevorzugten Ausführungsformen ist die Anwendung des Prinzips gemäß den Ausführungsformen jedoch nicht auf den Kraftfahrzeugbereich bzw. den Bereich von Steuergeräten beschränkt.In further preferred embodiments, the device is an electronic control unit (ECU), in particular for a motor vehicle, for example for an internal combustion engine of a motor vehicle. In further preferred embodiments, however, the application of the principle according to the embodiments is not limited to the motor vehicle sector or the area of control devices.
Bei weiteren bevorzugten Ausführungsformen ist die wenigstens eine zweite Speichereinrichtung eine Speichereinrichtung zum flüchtigen Speichern von wenigstens einem, insbesondere durch die Vorrichtung ausführbaren, Computerprogramm. Dies kann beispielsweise vorteilhaft sein, wenn das Computerprogrammes, insbesondere ein Computerprogramm zum Steuern der Ausführung einer Prüfsoftware, insbesondere einer End-of-Line (EoL) Software, oder der Prüfsoftware, insbesondere die End-of-Line (EoL) Software, oder Teilen davon, nicht permanent in der Speichereinrichtung gespeichert werden soll.In further preferred embodiments, the at least one second memory device is a memory device for volatile storage of at least one computer program, in particular that can be executed by the device. This can be advantageous, for example, if the computer program, in particular a computer program for controlling the execution of test software, in particular end-of-line (EoL) software, or the test software, in particular end-of-line (EoL) software, or parts of it, should not be stored permanently in the storage device.
Bei weiteren bevorzugten Ausführungsformen umfasst das Computerprogramm privilegierte Rechte, insbesondere kann beim Ausführen des Computerprogramms, insbesondere beim Ausführen einer Prüfsoftware, insbesondere einer End-of-Line (EoL) Software, ein Zugriff auf Hardware der Vorrichtung und/oder das Auslesen und/oder Schreiben von Speichereinrichtungen der Vorrichtung möglich sein. Ein potenzieller Missbrauch dieser privilegierten Rechte kann anhand dem erfindungsgemäßen Verfahren vermieden werden.In further preferred embodiments, the computer program includes privileged rights, in particular when executing the computer program, in particular when executing test software, in particular end-of-line (EoL) software, access to hardware of the device and / or reading and / or writing of storage devices of the device be possible. A potential abuse of these privileged rights can be avoided using the method according to the invention.
Bei weiteren bevorzugten Ausführungsformen umfasst die erste Speichereinrichtung einen Speicherbereich mit privilegierten Zugriffsrechten. Vorteilhafterweise ist der Schreib- und/oder Lesezugriff auf diesen Speicherbereich nur durch ein Software-Sicherheitsmodul (SSM) möglich.In further preferred embodiments, the first memory device comprises a memory area with privileged access rights. The write and / or read access to this memory area is advantageously only possible through a software security module (SSM).
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Speichereinrichtung ein Hardware-Sicherheitsmodul (HSM), insbesondere ein Kryptographie-Modul, umfasst, oder Teil eines Hardware-Sicherheitsmodul (HSM), insbesondere eines Kryptographie-Modul, ist. Das Hardware-Sicherheitsmodul ist beispielsweise zur Ausführung von kryptographischen Verfahren bzw. Algorithmen oder zumindest von Teilen hiervon ausgebildet.In further preferred embodiments it is provided that the first storage device comprises a hardware security module (HSM), in particular a cryptography module, or is part of a hardware security module (HSM), in particular a cryptography module. The hardware security module is designed, for example, to execute cryptographic methods or algorithms or at least parts thereof.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Hardware-Sicherheitsmodul (HSM) über einen geschützten, insbesondere separaten, Speicher zur Speicherung des ersten Analyse-Flags verfügt.In further preferred embodiments it is provided that the hardware security module (HSM) has a protected, in particular separate, memory for storing the first analysis flag.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter umfasst: Prüfen, ob ein weiteres Analyse-Flag gesetzt ist, und wenn das weitere Analyse-Flag gesetzt ist, der Schritt zum Prüfen des ersten Analyse-Flag ausgeführt wird. Dies kann sich insbesondere aus Performance- bzw. Taktzeitgründen beim Bootvorgang der Vorrichtung als vorteilhaft erweisen. Das erste Analyse-Flag, das in der ersten Speichereinrichtung der Vorrichtung gespeichert ist, wird nur dann geprüft, wenn das weitere Analyse-Flag auch gesetzt ist. Das weitere Analyse-Flag ist beispielsweise in einer hoch performant auslesbaren Speichereinrichtung der Vorrichtung, insbesondere in einem Arbeitsspeicher, RAM, random access memory, insbesondere einem Retention RAM, abgespeichert. Ein Retention RAM ist ein flüchtiger Speicher, dessen Speicherinhalt bei einem Soft-/Software-Reset erhalten bleibt. Bei einem Hard-/Hardware-Reset wird der Speicher zurückgesetzt.In further preferred embodiments it is provided that the method further comprises: checking whether a further analysis flag is set, and if the further analysis flag is set, the step of checking the first analysis flag is carried out. This can prove to be advantageous in particular for reasons of performance or cycle time when the device is booted. The first analysis flag, which is stored in the first storage device of the device, is only checked if the further analysis flag is also set. The further analysis flag is stored, for example, in a high-performance readable memory device of the device, in particular in a working memory, RAM, random access memory, in particular a retention RAM. A retention RAM is a volatile memory, the memory content of which is retained in the event of a software / software reset. The memory is reset with a hardware / hardware reset.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass, wenn das erste Analyse-Flag gesetzt ist, zwischen dem Schritt des Prüfens des ersten Analyse-Flag und dem Schritt des Übertragens des Computerprogramms ein Schritt zum Authentisieren der externen Einheit und/oder eines Benutzers der externen Einheit ausgeführt wird, wobei nach erfolgreichem Authentisieren der Schritt zum Übertragen des wenigstens eine Computerprogramms, über die Schnittstelle in die zweite Speichereinrichtung der Vorrichtung ausgeführt wird, und nach nicht erfolgreichem Authentisieren das wenigstens eine Computerprogramms, nicht übertragen wird.In further preferred embodiments it is provided that, when the first analysis flag is set, a step for authenticating the external unit and / or a user of the external unit between the step of checking the first analysis flag and the step of transmitting the computer program is carried out, wherein after successful authentication the step of transmitting the at least one computer program is carried out via the interface into the second memory device of the device, and after unsuccessful authentication the at least one computer program is not transmitted.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter umfasst: Authentifizieren des übertragenen Computerprogramms, wobei nach erfolgreichem Authentifizieren des übertragenen Computerprogramms das Ausführen des übertragenen Computerprogramms durch die Vorrichtung erfolgt, und nach nicht erfolgreichem Authentifizieren des Computerprogramms das Nicht-Ausführen des übertragenen Computerprogramms erfolgt. Das Authentifizieren umfasst insbesondere eine Integritäts -und/oder Authentizitätsprüfung des übertragenen Computerprogramms.In further preferred embodiments it is provided that the method further comprises: authenticating the transmitted computer program, the transmitted computer program being executed by the device after the transmitted computer program has been successfully authenticated, and the transmitted computer program not being executed after the computer program has not been successfully authenticated . The authentication includes in particular an integrity and / or authenticity check of the transmitted computer program.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren nach wenigstens einem der vorhergehenden Ansprüche, wobei das Authentisieren der externen Einheit und/oder eines Benutzers der externen Einheit und/oder das Authentifizieren des übertragenen Computerprogramms unter Verwendung eines signaturbasierten oder schlüsselabhängigen, prüfsummenbasierten auch als Message Authentification Code, MAC, bezeichneten, Ansatzes erfolgt. Bei dem signaturbasierten Ansatz wird die Signatur mit einem privaten Schlüssel durch einen zugehörigen, öffentlichen Schlüssel verifiziert. Bei dem schlüsselabhängigen, prüfsummenbasierten Ansatz wird auf Basis eines geheimen Schlüssels eine Prüfsumme, auch als Message Authentification Code, MAC, bezeichnet, berechnet und anhand des geheimen Schlüssels verifiziert.In further preferred embodiments it is provided that the method according to at least one of the preceding claims, wherein the authentication of the external unit and / or a user of the external Unit and / or the authentication of the transmitted computer program using a signature-based or key-dependent, checksum-based approach, also referred to as a Message Authentication Code, MAC. In the signature-based approach, the signature with a private key is verified by an associated public key. In the key-dependent, checksum-based approach, a checksum, also referred to as a message authentication code, MAC, is calculated on the basis of a secret key and verified using the secret key.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Authentisieren der externen Einheit und/oder eines Benutzers der externen Einheit und/oder das Authentifizieren des übertragenen Computerprogramms unter Verwendung von wenigstens einem kryptographischen, insbesondere privaten, Schlüssel, erfolgt. Vorteilhafterweise kann das Authentisieren und/oder Authentifizieren unter Verwendung eines asymmetrischen Schlüsselpaars oder unter Verwendung eines signierten, kryptographischen Hash oder unter Verwendung einer schlüsselabhängigen, kryptographischen Prüfsumme erfolgen.In further preferred embodiments it is provided that the authentication of the external unit and / or a user of the external unit and / or the authentication of the transmitted computer program takes place using at least one cryptographic, in particular private, key. The authentication and / or authentication can advantageously take place using an asymmetric key pair or using a signed, cryptographic hash or using a key-dependent, cryptographic checksum.
Vorteilhafterweise werden zum Authentisieren der externen Einheit und/oder eines Benutzers der externen Einheit und zum Authentifizieren des übertragenen Computerprogramms voneinander verschiedene Schlüssel verwendet.Advantageously, different keys are used to authenticate the external unit and / or a user of the external unit and to authenticate the transmitted computer program.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Authentisieren der externen Einheit und/oder eines Benutzers der externen Einheit und/oder das Authentifizieren des übertragenen Computerprogramms weiter umfasst: Erzeugen einer Challenge, insbesondere umfassend eine Zufallszahl und/oder eine Pseudozufallszahl, Übertragen der Challenge an die externe Einheit und Empfangen der Challenge von der externen Einheit. Das Signieren der Challenge erfolgt durch die externe Einheit. Bei dem signaturbasierten Ansatz signiert die externe Einheit die Challenge mit dem kryptographischen, insbesondere privaten Schlüssel. Der zugehörige öffentliche Schlüssel zur Verifikation des privaten Schlüssels ist in der Vorrichtung gespeichert. Bei dem schlüsselabhängigen, prüfsummenbasierten Ansatz überträgt die externe Einheit eine schlüsselabhängige Prüfsumme, auch als Message Authentification Code, MAC, bezeichnet, wobei der Message Authentification Code basierend auf einem geheimen Schlüssel berechnet wird. Zur Verifikation des Message Authentification Code ist der geheime Schlüssel in der Vorrichtung gespeichert.In further preferred embodiments it is provided that the authentication of the external unit and / or a user of the external unit and / or the authentication of the transmitted computer program further comprises: generating a challenge, in particular comprising a random number and / or a pseudo-random number, transmitting the challenge to the external entity and receiving the challenge from the external entity. The challenge is signed by the external unit. In the signature-based approach, the external unit signs the challenge with the cryptographic, in particular private, key. The associated public key for verification of the private key is stored in the device. In the key-dependent, checksum-based approach, the external unit transmits a key-dependent checksum, also referred to as a message authentication code, MAC, the message authentication code being calculated based on a secret key. To verify the message authentication code, the secret key is stored in the device.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter umfasst: Setzen des ersten und/oder weiteren Analyse-Flags. Durch Setzen des ersten und gegebenenfalls des weiteren Analyse-Flags wird der Zugriff über die EoL-Schnittstelle freigegeben ohne irreversible Änderungen an der Hardware der Vorrichtung vorzunehmen.In further preferred embodiments it is provided that the method further comprises: setting the first and / or further analysis flag. By setting the first and possibly the further analysis flag, access via the EoL interface is enabled without making irreversible changes to the hardware of the device.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter umfasst: Löschen des ersten und/oder weiteren Analyse-Flags. Durch Löschen des ersten und gegebenenfalls des weiteren Analyse-Flags wird der Zugriff über die EoL-Schnittstelle abgeriegelt ohne irreversible Änderungen an der Hardware der Vorrichtung vorzunehmen.In further preferred embodiments it is provided that the method further comprises: deleting the first and / or further analysis flag. By deleting the first and possibly the further analysis flag, access via the EoL interface is blocked without making irreversible changes to the hardware of the device.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Setzen und/oder Löschen des ersten und/oder weiteren Analyse-Flags durch die externe Einheit und/oder eines Benutzers der externen Einheit erfolgt.In further preferred embodiments it is provided that the first and / or further analysis flags are set and / or deleted by the external unit and / or a user of the external unit.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass vor dem Setzen und/oder Löschen ein Schritt zum Authentisieren der externen Einheit und/oder eines Benutzers der externen Einheit ausgeführt wird, und das Setzen und/oder Löschen nur nach erfolgreichem Authentisieren erfolgt. Es kann sich demgegenüber auch als vorteilhaft erweisen, wenn das Löschen des ersten und/oder des weiteren Analyse-Flags ohne vorhergehende Authentisierung erfolgen kann.In further preferred embodiments it is provided that a step for authenticating the external unit and / or a user of the external unit is carried out before the setting and / or deletion, and the setting and / or deletion only takes place after successful authentication. In contrast, it can also prove to be advantageous if the first and / or the further analysis flag can be deleted without prior authentication.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Prüfen des ersten und/oder weiteren Analyse-Flags in Abhängigkeit einer Nutzungsphase, insbesondere eine Phase eines Lebenszyklus, der Vorrichtung ausgeführt wird.In further preferred embodiments it is provided that the checking of the first and / or further analysis flag is carried out as a function of a usage phase, in particular a phase of a life cycle, of the device.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung mit einer Schnittstelle zum Datenaustausch mit einer externen Einheit und mit wenigstens einer ersten Speichereinrichtung zum nichtflüchtigen Speichern eines ersten Analyse-Flags und mit wenigstens einer zweiten Speichereinrichtung zum Speichern von wenigstens einem, insbesondere durch die Vorrichtung ausführbaren Computerprogramm, insbesondere zum Steuern einer Ausführung einer Prüfsoftware, insbesondere einer End-of-Line Software, wobei die Vorrichtung zum Ausführen des Verfahrens gemäß den Ausführungsformen ausgebildet ist.Further preferred embodiments relate to a device with an interface for data exchange with an external unit and with at least one first memory device for non-volatile storage of a first analysis flag and with at least one second memory device for storing at least one computer program, in particular that can be executed by the device, in particular for controlling an execution of a test software, in particular an end-of-line software, wherein the device is designed to execute the method according to the embodiments.
Bei weiteren bevorzugten Ausführungsformen ist die Schnittstelle der Vorrichtung vorzugsweise bidirektionale, Kommunikationsschnittstelle (Adressbus und/oder Datenbus und/oder serieller Kommunikationsbus oder dergleichen), über die die Vorrichtung zum Datenaustausch mit einer externen Einheit, insbesondere zum Prüfen der Vorrichtung, verbindbar ist.In further preferred embodiments, the interface of the device is preferably bidirectional communication interface (address bus and / or data bus and / or serial communication bus or the like), via which the device can be connected for data exchange with an external unit, in particular for testing the device.
Bei weiteren bevorzugten Ausführungsformen ist die zweite Speichereinrichtung eine Speichereinrichtung zum flüchtigen Speichern des wenigstens einen, insbesondere durch die Vorrichtung ausführbaren, Computerprogramms. Bei weiteren bevorzugten Ausführungsformen ist die zweite Speichereinrichtung ein Arbeitsspeicher, RAM, random access memory.In further preferred embodiments, the second memory device is a memory device for volatile storage of the at least one computer program, in particular that can be executed by the device. In further preferred embodiments, the second memory device is a working memory, RAM, random access memory.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Schnittstelle eine Prüf- und/oder Diagnoseschnittstelle, insbesondere eine Ethernet- oder CAN-Schnittstelle, ist.In further preferred embodiments it is provided that the interface is a test and / or diagnostic interface, in particular an Ethernet or CAN interface.
Bei weiteren bevorzugten Ausführungsformen umfasst die erste Speichereinrichtung einen Speicherbereich mit privilegierten Zugriffsrechten. Vorteilhafterweise ist der Schreib- und/oder Lesezugriff auf diesen Speicherbereich nur durch ein Software-Sicherheitsmodul (SSM) möglich.In further preferred embodiments, the first memory device comprises a memory area with privileged access rights. The write and / or read access to this memory area is advantageously only possible through a software security module (SSM).
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Speichereinrichtung ein Hardware-Sicherheitsmodul (HSM), insbesondere ein Kryptographie-Modul, umfasst, oder Teil eines Hardware-Sicherheitsmodul (HSM), insbesondere eines Kryptographie-Modul, ist. Das Hardware-Sicherheitsmodul ist beispielsweise zur Ausführung von kryptographischen Verfahren bzw. Algorithmen oder zumindest von Teilen hiervon ausgebildet.In further preferred embodiments it is provided that the first storage device comprises a hardware security module (HSM), in particular a cryptography module, or is part of a hardware security module (HSM), in particular a cryptography module. The hardware security module is designed, for example, to execute cryptographic methods or algorithms or at least parts thereof.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Hardware-Sicherheitsmodul (HSM) über einen geschützten, insbesondere separaten, Speicher zur Speicherung des ersten Analyse-Flags verfügt.In further preferred embodiments it is provided that the hardware security module (HSM) has a protected, in particular separate, memory for storing the first analysis flag.
Bei weiteren bevorzugten Ausführungsformen hat nur die Vorrichtung, insbesondere die Recheneinrichtung der Vorrichtung, die zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist, Lesezugriff auf den geschützten, insbesondere separaten, Speicher, insbesondere auf das in dem Hardware-Sicherheitsmodul gespeicherte erste Analyse-Flag. Vorteilhafterweise kann auch vorgesehen sein, dass das Hardware-Sicherheitsmodul eine Kopie des ersten Analyse-Flags in einer Speichereinrichtung, insbesondere einen Shared RAM Memory, auf die die Recheneinrichtung Zugriff hat, hinterlegt.In further preferred embodiments, only the device, in particular the computing device of the device, which is designed to carry out the method according to the embodiments, has read access to the protected, in particular separate, memory, in particular to the first analysis flag stored in the hardware security module. It can advantageously also be provided that the hardware security module stores a copy of the first analysis flag in a memory device, in particular a shared RAM memory, to which the computing device has access.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung eine Recheneinrichtung, insbesondere durch eine Recheneinrichtung eines Computers, insbesondere durch eine Recheneinrichtung einer Vorrichtung gemäß den Ausführungsformen, insbesondere zum Ausführen des Verfahrens gemäß den Ausführungsformen, aufweist.In further preferred embodiments it is provided that the device has a computing device, in particular a computing device of a computer, in particular a computing device of a device according to the embodiments, in particular for carrying out the method according to the embodiments.
Bei weiteren bevorzugten Ausführungsformen weist die Recheneinrichtung der Vorrichtung wenigstens eines der folgenden Elemente auf: einen Mikroprozessor, einen Mikrocontroller, einen digitalen Signalprozessor (DSP), einen programmierbaren Logikbaustein (z.B. FPGA, field programmable gate array), einen ASIC (anwendungsspezifischen integrierten Schaltkreis), eine Hardwareschaltung. Bei weiteren bevorzugten Ausführungsformen sind auch Kombinationen hieraus denkbar.In further preferred embodiments, the computing device of the device has at least one of the following elements: a microprocessor, a microcontroller, a digital signal processor (DSP), a programmable logic module (e.g. FPGA, field programmable gate array), an ASIC (application-specific integrated circuit), a hardware circuit. In further preferred embodiments, combinations of these are also conceivable.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, insbesondere in Form eines Computerprogramms, die bei der Ausführung durch einen Computer, insbesondere durch eine Recheneinrichtung eines Computers, insbesondere durch eine Recheneinrichtung einer Vorrichtung gemäß den Ausführungsformen, diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen. Bei weiteren bevorzugten Ausführungsformen kann vorgesehen sein, dass das Speichermedium die erste Speichereinrichtung der Vorrichtung umfasst oder Teil der ersten Speichereinrichtung der Vorrichtung ist.Further preferred embodiments relate to a computer-readable storage medium, comprising instructions, in particular in the form of a computer program, which, when executed by a computer, in particular by a computing device of a computer, in particular by a computing device of a device according to the embodiments, cause it to execute the method according to carry out the embodiments. In further preferred embodiments it can be provided that the storage medium comprises the first storage device of the device or is part of the first storage device of the device.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein Computerprogramm, das computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer, insbesondere durch eine Recheneinrichtung eines Computers, insbesondere durch eine Recheneinrichtung einer Vorrichtung gemäß den Ausführungsformen, das Verfahren gemäß den Ausführungsformen abläuft.Further preferred embodiments relate to a computer program that includes computer-readable instructions, when they are executed by a computer, in particular by a computing device of a computer, in particular by a computing device of a device according to the embodiments, the method according to the embodiments.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt.Further preferred embodiments relate to a data carrier signal which the computer program transmits according to the embodiments.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen zum Aktivieren, insbesondere Reaktivieren einer Schnittstelle, insbesondere einer Prüf-, insbesondere einer End-of-Line (EoL) - Schnittstelle, und/oder zum Deaktivieren der Schnittstelle der Vorrichtung einer Vorrichtung zum Übertragen eines durch die Vorrichtung ausführbaren Computerprogramms, insbesondere zum Steuern einer Ausführung einer Prüfsoftware, insbesondere einer End-of-Line (EoL) Software in Abhängigkeit eines ersten und/oder eines weiteren Analyse-Flags
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen zum Freigeben oder Nicht-Freigeben der Ausführung eines durch die Vorrichtung ausführbaren, über die Schnittstelle der Vorrichtung übertragenen Computerprogramms.Further preferred embodiments relate to a use of the method according to the embodiments and / or the device according to the embodiments and / or the computer program according to the embodiments for enabling or not enabling the execution of a computer program that can be executed by the device and transmitted via the interface of the device .
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.Further features, possible applications and advantages of the invention emerge from the following description of exemplary embodiments of the invention, which are shown in the figures of the drawing. All of the features described or illustrated form the subject matter of the invention individually or in any combination, regardless of how they are summarized in the claims or their back-reference and regardless of their formulation or representation in the description or in the drawing.
In der Zeichnung zeigt:
-
1 ein vereinfachtes Blockdiagramm einer Vorrichtung gemäß bevorzugten Ausführungsformen und eine externe Einheit; -
2 schematisch ein vereinfachtes Flussdiagramm von Teilen eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen; -
3 schematisch ein vereinfachtes Flussdiagramm von Teilen eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen; -
4 schematisch ein vereinfachtes Flussdiagramm von Teilen eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen; -
5 schematisch ein vereinfachtes Flussdiagramm von Teilen eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen, und -
6 schematisch ein vereinfachtes Flussdiagramm von Teilen eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen.
-
1 a simplified block diagram of an apparatus according to preferred embodiments and an external unit; -
2 schematically, a simplified flow diagram of parts of a method according to further preferred embodiments; -
3 schematically, a simplified flow diagram of parts of a method according to further preferred embodiments; -
4th schematically, a simplified flow diagram of parts of a method according to further preferred embodiments; -
5 schematically a simplified flow diagram of parts of a method according to further preferred embodiments, and -
6th schematically a simplified flow diagram of parts of a method according to further preferred embodiments.
Bei weiteren bevorzugten Ausführungsformen kann die Vorrichtung
Die Vorrichtung
Bei weiteren bevorzugten Ausführungsformen weist die Recheneinrichtung
Die Vorrichtung
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Schnittstelle
Vorteilhafterweise ist über die Schnittstelle
Gemäß einer bevorzugten Ausführungsform umfasst die Vorrichtung
Bei der zweiten Speichereinrichtung
Bei weiteren bevorzugten Ausführungsformen umfasst das Computerprogramm
Aufgrund des charakteristischen Verhaltens von flüchtigen Speichern wird das Computerprogramm
Bei dem Computerprogramm
Bei weiteren bevorzugten Ausführungsformen ist das Computerprogramm
Das Computerprogramm
Bei der ersten Speichereinrichtung
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Speichereinrichtung
Die Vorrichtung
Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren
Prüfen 310 , ob das erste Analyse-FlagFA in der ersten Speichereinrichtung130 gesetzt ist, und wenn das erste Analyse-Flag gesetzt ist, Ausführen eines Schritts320a zum Übertragen des wenigstens eine ComputerprogrammsPRG1 , von der externen Einheit200 über dieSchnittstelle 120 indie zweite Speichereinrichtung 140 der Vorrichtung 100 , und/oder Ausführen eines Schritts320b zum Ausführen des Computerprogramms durch die Recheneinrichtung, und wenn das erste Analyse-FlagFA nicht gesetzt ist, der Schritt zum Übertragen320a und/oder der Schritt zum Ausführen320b nicht ausgeführt wird.
- Check
310 whether the first analysis flagFA in thefirst storage device 130 is set, and if the first analysis flag is set, then take astep 320a for transmitting the at least one computer programPRG1 , from theexternal unit 200 through theinterface 120 into thesecond storage device 140 thedevice 100 , and / or executing astep 320b for executing the computer program by the computing device, and if the first analysis flagFA is not set, the step to transfer320a and / or the step of performing320b not running.
Vorteilhafterweise wird, wenn das erste Analyse-Flag
Im Anschluss an das Übertragen
Nach Ausführen des Computerprogramms
Bei weiteren bevorzugten Ausführungsformen erfolgt das Übertragen
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass in einem Schritt
Das weitere Analyse-Flag ist beispielsweise in einer hoch performant auslesbaren Speichereinrichtung der Vorrichtung, insbesondere in einem Arbeitsspeicher, RAM, random access memory abgespeichert. Dies kann sich insbesondere aus Performance- bzw. Taktzeitgründen beim Bootvorgang der Vorrichtung als vorteilhaft erweisen. Das erste Analyse-Flag
Das weitere Analyse-Flag
Weitere bevorzugte Ausführungsformen des Verfahrens werden im Folgenden unter Bezugnahme auf
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass zwischen dem Schritt
Bei weiteren bevorzugten Ausführungsformen ist ein Schritt
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Authentisieren
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Authentisieren
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Authentisieren
Das Authentisieren
Das Authentisieren der externen Einheit
Bei weiteren Ausführungsformen ist vorgesehen, dass das Erzeugen
In einem Schritt
Im Falle einer erfolgreichen Verifikation
Gemäß der dargestellten Ausführungsform ist weiter vorgesehen, dass das Verfahren weiter umfasst: Authentifizieren
Zu diesem Zweck signiert die externe Einheit
In einem Schritt
Im Falle einer erfolgreichen Verifikation
Weitere bevorzugte Ausführungsformen des Verfahrens werden im Folgenden unter Bezugnahme auf
Bei weiteren bevorzugten Ausführungsformen umfasst das Verfahren
Gemäß einer weiteren Ausführungsform umfasst das Verfahren
Das Versetzen der Vorrichtung
Gemäß weiterer bevorzugter Ausführungsformen umfasst das Verfahren
Gemäß einer weiteren Ausführungsform umfasst das Verfahren
Auf diese Weise kann Absicherung des EoL-Zugangs Aktivieren des Analyse-Zustands ohne des Systemverhalten der Vorrichtung irreversibel zu ändern.In this way, securing the EoL access can activate the analysis state without irreversibly changing the system behavior of the device.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Setzen
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass vor dem Setzen
Bei weiteren Ausführungsformen kann ein automatisches Löschen des ersten und/oder weiteren Analyse-Flags
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Prüfen
Weitere Ausführungsformen betreffen die Verwendung des Verfahrens
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019220450.3A DE102019220450A1 (en) | 2019-12-20 | 2019-12-20 | Device with an interface and method for operating a device with an interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019220450.3A DE102019220450A1 (en) | 2019-12-20 | 2019-12-20 | Device with an interface and method for operating a device with an interface |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019220450A1 true DE102019220450A1 (en) | 2021-06-24 |
Family
ID=76206436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019220450.3A Pending DE102019220450A1 (en) | 2019-12-20 | 2019-12-20 | Device with an interface and method for operating a device with an interface |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019220450A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010008816A1 (en) * | 2010-02-22 | 2011-08-25 | Continental Automotive GmbH, 30165 | Method for online communication |
US20170093866A1 (en) * | 2015-09-25 | 2017-03-30 | Argus Cyber Security Ltd. | System and method for controlling access to an in-vehicle communication network |
US20180060589A1 (en) * | 2016-09-01 | 2018-03-01 | Nxp B.V. | Apparatus and associated method for authenticating firmware |
-
2019
- 2019-12-20 DE DE102019220450.3A patent/DE102019220450A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010008816A1 (en) * | 2010-02-22 | 2011-08-25 | Continental Automotive GmbH, 30165 | Method for online communication |
US20170093866A1 (en) * | 2015-09-25 | 2017-03-30 | Argus Cyber Security Ltd. | System and method for controlling access to an in-vehicle communication network |
US20180060589A1 (en) * | 2016-09-01 | 2018-03-01 | Nxp B.V. | Apparatus and associated method for authenticating firmware |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102017202423A1 (en) | Controlled secure code authentication | |
DE102013108020A1 (en) | Authentication scheme for activating a special privilege mode in a secure electronic control unit | |
DE102012109615B4 (en) | Using a manifest to record the presence of valid software and calibration | |
DE102013108022A1 (en) | Method for activating the development mode of a secure electronic control unit | |
DE102012109617A1 (en) | A method for replacing a public key of a bootloader | |
DE102015209108A1 (en) | Method and decision gateway for authorizing a function of an embedded controller | |
DE102016205289A1 (en) | Method, processor and device for checking the integrity of user data | |
DE102016221108A1 (en) | A method for updating software of a control device of a vehicle | |
DE102016210788B4 (en) | Component for processing data worthy of protection and method for implementing a security function for protecting data worthy of protection in such a component | |
EP2542995A2 (en) | Method for verifying a memory block of a nonvolatile memory | |
EP3811261B1 (en) | Cryptography module and method for operating same | |
DE112019005417T5 (en) | Backing up data logs in memory devices | |
DE102014210282A1 (en) | Generate a cryptographic key | |
DE102019220450A1 (en) | Device with an interface and method for operating a device with an interface | |
DE102020207866A1 (en) | Method for performing a secure start sequence of a control unit | |
DE102020216048A1 (en) | Device with an interface and method for operating a device with an interface | |
DE102014222181A1 (en) | Method for operating a control device | |
DE102021212994B3 (en) | Method for detecting anomalies indicating tampering during a secure boot process of a software-controlled device | |
DE102020212988A1 (en) | Safe booting of a computer system | |
DE102022202691A1 (en) | Method for carrying out a secure start sequence of a computing unit | |
DE102020207863A1 (en) | Process for the secure update of control units | |
DE102022200544A1 (en) | Method for the secure provision of a computer program to be protected in a computing unit | |
WO2024056443A1 (en) | Method for checking data in a computer unit | |
DE102021003840A1 (en) | Procedure for verifying digital signatures, vehicle processing unit and vehicle | |
DE102020216071A1 (en) | Method for operating a device, a control unit of a motor vehicle, and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |