DE102019127856A1 - Procedure for safely booting a control unit and control unit - Google Patents

Procedure for safely booting a control unit and control unit Download PDF

Info

Publication number
DE102019127856A1
DE102019127856A1 DE102019127856.2A DE102019127856A DE102019127856A1 DE 102019127856 A1 DE102019127856 A1 DE 102019127856A1 DE 102019127856 A DE102019127856 A DE 102019127856A DE 102019127856 A1 DE102019127856 A1 DE 102019127856A1
Authority
DE
Germany
Prior art keywords
hsm
value
integrity
flag
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
DE102019127856.2A
Other languages
German (de)
Inventor
Michael Pernpeintner
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.)
AVL Software and Functions GmbH
Original Assignee
AVL Software and Functions GmbH
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 AVL Software and Functions GmbH filed Critical AVL Software and Functions GmbH
Priority to DE102019127856.2A priority Critical patent/DE102019127856A1/en
Publication of DE102019127856A1 publication Critical patent/DE102019127856A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Abstract

Verfahren zum sicheren Booten eines Steuergeräts, umfassend ein Hardware-Sicherheitsmodul (HSM) und einen Host, umfassend die Verfahrensschritte:
a. Anlegen einer Spannung an das Steuergerät und zumindest partielles Booten des HSM;
b. Überprüfen, ob ein dem HSM zugeordneter Flag auf einen ersten Wert oder einen zweiten Wert gesetzt ist;
c. Falls das Flag auf den zweiten Wert gesetzt ist, Durchführen einer Integritäts- und Authentifizierungsüberprüfung einer dem Steuergerät zugeordneten Software; und falls das Flag auf den ersten Wert gesetzt ist, Vervollständigen des Bootens des HSM durch Übermitteln einer Aufforderung von dem HSM an den Host zum Booten des Host;
d. falls die Integritäts- und Authentifizierungsüberprüfung positiv ist, setzen des Flag auf den ersten Wert und Rebooten des HSM;
e. Erneutes überprüfen, ob das Flag auf den ersten Wert oder den zweiten Wert gesetzt ist, wobei falls nun erkannt wird, dass das Flag auf den ersten Wert gesetzt ist, Vervollständigen des Bootens des HSM durch Übermitteln einer Aufforderung von dem HSM an den Host zum Booten des Host.

Figure DE102019127856A1_0000
Method for safely booting a control device, comprising a hardware security module (HSM) and a host, comprising the method steps:
a. Applying a voltage to the control device and at least partially booting the HSM;
b. Checking whether a flag associated with the HSM is set to a first value or a second value;
c. If the flag is set to the second value, performing an integrity and authentication check on software assigned to the control device; and if the flag is set to the first value, completing the boot of the HSM by transmitting a request from the HSM to the host to boot the host;
d. if the integrity and authentication check are positive, set the flag to the first value and reboot the HSM;
e. Check again whether the flag is set to the first value or the second value, if it is now recognized that the flag is set to the first value, completing the booting of the HSM by transmitting a request from the HSM to the host to boot of the host.
Figure DE102019127856A1_0000

Description

Die Erfindung betrifft ein Verfahren zum sicheren und schnellen Booten eines Steuergeräts sowie einem Steuergerät, wobei das Steuergerät ein Hardware-Sicherheitsmodul und einen Host umfasst.The invention relates to a method for safely and quickly booting a control device and a control device, the control device comprising a hardware security module and a host.

Es sind aus dem Stand der Technik dabei verschiedene Arten bekannt, ein Verfahren bereitzustellen, mittels welchen die Sicherheit und/oder die Geschwindigkeit beim Boot-Vorgang des Steuergeräts erhöht werden soll.Various ways are known from the prior art for providing a method by means of which the security and / or the speed during the boot process of the control device is to be increased.

Bekannt sind dabei insbesondere sequentielle Boot-Vorgänge oder parallele Boot-Vorgänge, die jedoch im Hinblick auf die Sicherheit Schwachstellen aufweisen können.In particular, sequential boot processes or parallel boot processes are known, but these can have weak points with regard to security.

Es ist demnach die Aufgabe der vorliegenden Erfindung, ein Verfahren zum sicheren und schnellen Booten eines Steuergeräts bereitzustellen, welche insbesondere während des Boot-Vorgangs nahezu keine Manipulation erlaubt und dennoch sehr schnell ein Booten des Steuergeräts erlaubt.It is therefore the object of the present invention to provide a method for safely and quickly booting a control device which, in particular, allows almost no manipulation during the booting process and yet allows the control device to be booted very quickly.

Diese Aufgabe wird gelöst durch ein Verfahren gemäß Anspruch 1 und ein Steuergerät gemäß Anspruch 10.This object is achieved by a method according to claim 1 and a control device according to claim 10.

Kerngedanke der Erfindung ist es, ein Verfahren zum sicheren Booten eines Steuergeräts, umfassend ein Hardware-Sicherheitsmodul (HSM) und einen Host, bereitzustellen, umfassend die Verfahrensschritte:

  1. a. Anlegen einer Spannung an das Steuergerät und zumindest partielles Booten des HSM;
  2. b. Überprüfen, ob ein dem HSM zugeordnetes Flag auf einen ersten Wert oder einen zweiten Wert gesetzt ist;
  3. c. Falls das Flag auf den zweiten Wert gesetzt ist, Durchführen einer Integritäts- und Authentifizierungsüberprüfung einer dem Steuergerät zugeordneten Software; und falls das Flag auf den ersten Wert gesetzt ist, Vervollständigen des Bootens des HSM durch Übermitteln einer Aufforderung von dem HSM an den Host zum Booten des Host;
  4. d. falls die Integritäts- und Authentifizierungsüberprüfung positiv ist, setzen des Flag auf den ersten Wert und Rebooten des HSM;
  5. e. Erneutes überprüfen, ob das Flag auf den ersten Wert oder den zweiten Wert gesetzt ist, wobei falls nun erkannt wird, dass das Flag auf den ersten Wert gesetzt ist, Vervollständigen des Bootens des HSM durch Übermitteln einer Aufforderung von dem HSM an den Host zum Booten des Host.
The core concept of the invention is to provide a method for safely booting a control device, comprising a hardware security module (HSM) and a host, comprising the method steps:
  1. a. Applying a voltage to the control device and at least partially booting the HSM;
  2. b. Checking whether a flag associated with the HSM is set to a first value or a second value;
  3. c. If the flag is set to the second value, performing an integrity and authentication check on software assigned to the control device; and if the flag is set to the first value, completing the boot of the HSM by transmitting a request from the HSM to the host to boot the host;
  4. d. if the integrity and authentication check are positive, set the flag to the first value and reboot the HSM;
  5. e. Check again whether the flag is set to the first value or the second value, if it is now recognized that the flag is set to the first value, completing the booting of the HSM by transmitting a request from the HSM to the host to boot of the host.

Dabei ist ein partielles Booten des HSM insbesondere dahingehend zu verstehen, dass zumindest das Übermitteln einer Aufforderung von dem HSM an den Host zum Booten des Host nicht ausgeführt wird. Diese Übermittlung der Aufforderung wird erst dann durchgeführt, wenn erkannt wurde, beispielsweise durch das HSM, bevorzugter durch eine Recheneinheit des HSM, dass das Flag auf einen ersten Wert gesetzt ist.Partial booting of the HSM is to be understood to mean that at least the transmission of a request from the HSM to the host to boot the host is not carried out. This transmission of the request is only carried out when it has been recognized, for example by the HSM, more preferably by a processing unit of the HSM, that the flag is set to a first value.

Unter dem Flag ist eine Bitstruktur zu verstehen, wobei die Bitstruktur mindestens ein Bit umfasst. Unter einem ersten Wert und einem zweiten Wert des Flag kann beispielsweise die Werte „true“ und „false“ oder „1‟ und „0“ verstanden werden. Der erste Wert bezieht sich dabei auf den Wert, den das Flag zum Booten des Host benötigt. Ebenso denkbar ist es, das Flag mit als n-Bit auszubilden, wobei n gleich 8 bevorzugt ist. Bei jedem erneuten Setzen des Flag wird ein Bit-Shift durchgeführt, und das zu setzende Bit wird rechts in dem n-Bit abgespeichert. So kann eine Überprüfung der zuletzt gesetzten Bits im Flag durchgeführt werden. Weiter bevorzugt ist es auch denkbar, dass ein Timestamp bzw. Zeitstempel hinterlegt wird, welcher angibt, wann eine Überprüfung des Flag positiv oder negativ war. Dies kann insbesondere zur Entscheidungsfindung dienen, ob das Steuergerät eventuell freigegeben wird oder nicht. Besonders bevorzugt wird zu jedem gesetzten Bit ein Zeitstempel hinterlegt oder zumindest eindeutig oder eineindeutig zugeordnet.The flag is to be understood as a bit structure, the bit structure comprising at least one bit. A first value and a second value of the flag can be understood to mean, for example, the values “true” and “false” or “1” and “0”. The first value refers to the value that the flag needs to boot the host. It is also conceivable to design the flag as an n-bit, where n equal to 8 is preferred. A bit shift is carried out each time the flag is set again, and the bit to be set is stored on the right in the n-bit. In this way, the bits last set in the flag can be checked. It is furthermore preferably also conceivable that a timestamp or timestamp is stored which indicates when a check of the flag was positive or negative. This can be used, in particular, to make a decision as to whether or not the control device may be released. A time stamp is particularly preferably stored for each bit that is set, or at least assigned uniquely or unambiguously.

Falls das Flag auf den zweiten Wert gesetzt ist, ist dies ein Indikator dafür, dass die Software manipuliert sein kann. Durch eine negativ ausgefallene Integritäts- und Authentifizierungsüberprüfung wird eben durch das Flag auf den zweiten Wert gesetzt und ein Booten des Host verhindert.If the flag is set to the second value, this is an indicator that the software can be manipulated. If the integrity and authentication check fails, the flag is set to the second value and the host is prevented from booting.

Insbesondere wird durch die Integritäts- und Authentifizierungsüberprüfung überprüft, ob die Software integer ist und ob die Quelle authentifiziert ist. Ebenso kann überprüft werden, ob eine neue Software vorhanden ist.In particular, the integrity and authentication check checks whether the software is integer and whether the source is authenticated. It can also be checked whether new software is available.

Insbesondere gibt das Flag darüber eine Auskunft, ob die vorhergehende Integritäts- und Authentifizierungsüberprüfung positiv oder negativ ausgefallen ist. Ist die Integritäts- und Authentifizierungsüberprüfung negativ ausgefallen, so ist es wahrscheinlich, dass die geprüfte Software nicht mit der Software übereinstimmt, welche vorhanden sein sollte; das heißt, die Software könnte manipuliert sein.In particular, the flag provides information as to whether the previous integrity and authentication check was positive or negative. If the integrity and authentication check have failed, it is likely that the checked software does not match the software that should be available; that is, the software could be tampered with.

Unter rebooten des HSM ist hierbei zu verstehen, dass das HSM zunächst partiell gebootet wird, so wie im Verfahrensschritt a. dargestellt, und abhängig von dem gesetzten Flag weiter entschieden wird.Rebooting the HSM here means that the HSM is first partially booted, as in method step a. and a decision is made depending on the flag set.

Gemäß einer besonders bevorzugten Ausführungsform ist es vorgesehen, dass nach dem Überprüfen und dem Feststellen, dass das Flag auf den ersten Wert gesetzt ist und vor oder während dem Übermitteln der Aufforderung von dem HSM an den Host zum Booten des Host das Flag auf den zweiten Wert gesetzt wird.According to a particularly preferred embodiment, it is provided that after checking and determining that the flag is set to the first value and before or during the transmission of the request from the HSM to the host to boot the host, the flag is set to the second value is set.

Dies bedeutet insbesondere, dass während oder nachdem die Aufforderung an den Host zum Booten des Host übermittelt wird, das zuvor gesetzte Flag, welcher erfindungsgemäß für die Übermittelung der Aufforderung auf den ersten Wert gesetzt sein muss, nun wieder auf den zweiten Wert gesetzt wird.This means in particular that during or after the request to the host to boot the host is transmitted, the previously set flag, which according to the invention must be set to the first value for the transmission of the request, is now set to the second value again.

Weiter insbesondere bedeutet dies, dass während des Boot-Vorgangs des Host keine Manipulation von außen möglich ist, da das Flag nun auf den zweiten Wert gesetzt ist. Angenommen, eine Veränderung der Software würde während des Boot-Vorgangs versucht, so wäre durch das Flag, welches nun den zweiten Wert aufweist, erfindungsgemäß eine Integritäts- und Authentifizierungsüberprüfung notwendig. Dadurch, dass die Software manipuliert worden ist, fällt die Integritäts- und Authentifizierungsüberprüfung negativ aus und das System wird für den Angreifer nicht freigegeben.Furthermore, this means in particular that no manipulation from outside is possible during the host's boot process, since the flag is now set to the second value. Assuming that a change in the software were attempted during the boot process, an integrity and authentication check would be necessary according to the invention due to the flag, which now has the second value. Because the software has been manipulated, the integrity and authentication check turns out negative and the system is not released for the attacker.

Gemäß einer weiteren bevorzugten Ausführungsform ist es vorgesehen, dass falls im Verfahrensschritt d. die Integritäts- und Authentifizierungsüberprüfung negativ ist, das Steuergerät in einen vordefinierten Zustand gebracht wird und das HSM rebootet wird.According to a further preferred embodiment, it is provided that if in method step d. the integrity and authentication check is negative, the control unit is brought into a predefined state and the HSM is rebooted.

Unter einem vordefinierten Zustand ist Vielfältiges zu verstehen und kann dabei natürlich auch von der Art des Steuergeräts abhängig sein, da Steuergeräte in verschiedenen Sicherheitsklassen vorgesehen sein können und dementsprechend eine unterschiedliche Behandlung bei Angriffen und Veränderungen auf die Software bedürfen. Beispielsweise ist der Antriebsstrang eines Fahrzeugs sicherheitstechnisch anders zu bewerten als die Medieneinheit des Fahrzeugs. Natürlich sind hier auch andere Beispiele denkbar, aus verschiedenen Bereichen, in denen Steuergeräte oder allgemein eingebettete Systeme vorgesehen sind.A predefined state is understood to mean a variety of things and can of course also be dependent on the type of control device, since control devices can be provided in different security classes and accordingly require different treatment in the event of attacks and changes to the software. For example, the drive train of a vehicle is to be assessed differently in terms of safety than the media unit of the vehicle. Of course, other examples are also conceivable here, from different areas in which control devices or generally embedded systems are provided.

Das Rebooten des HSM ist einhergehend mit Verfahrensschritt a. ohne Anlegen einer Spannung, da bereits eine Spannung angelegt ist, so dass das HSM nun wiederum partiell gebootet wird und nun wiederum das dem HSM zugeordnete Flag überprüft wird, ob das Flag auf den ersten Wert oder zweiten Wert gesetzt ist.The reboot of the HSM is accompanied by process step a. without applying a voltage, since a voltage has already been applied, so that the HSM is now partially booted again and the flag assigned to the HSM is checked again to determine whether the flag is set to the first value or the second value.

Es ist ebenso denkbar, dass ein Zähler im HSM vorgesehen ist, welcher nach jeder negativ ausgefallenen Integritäts- und Authentifizierungsüberprüfung inkrementiert wird und bei einer vorgegebenen Zählerzahl das Verfahren unterbrochen wird, um ein weiteres Booten bzw. Rebooten des HSM zu verhindern, um Gefahren weiter zu minimieren. Ebenso ist es denkbar, dass der Zähler zurückgesetzt wird, wenn ein Booten des Host erkannt wird. Diese Erkennung kann beispielsweise durch das HSM erkannt werden, wenn die Aufforderung zum Booten des Host an den Host übermittelt wird oder worden ist.It is also conceivable that a counter is provided in the HSM, which is incremented after each failed integrity and authentication check and the process is interrupted at a specified number of counters in order to prevent further booting or rebooting of the HSM in order to further increase the risk minimize. It is also conceivable that the counter is reset when booting of the host is detected. This recognition can be recognized, for example, by the HSM when the request to boot the host is or has been transmitted to the host.

Gemäß einer weiteren bevorzugten Ausführungsform ist es vorgesehen, dass sich nach dem Booten des Host das Steuergerät in einem normalen Betriebszustand befindet, wobei während des normalen Betriebszustands eine zyklische Integritäts- und Authentifizierungsüberprüfung der Software im HSM durchgeführt wird, wobei bei einer negativen Integritäts- und Authentifizierungsüberprüfung der Software das Flag auf den zweiten Wert gesetzt wird und bei einer positiven Integritäts- und Authentifizierungsüberprüfung das Flag auf den ersten Wert gesetzt wird.According to a further preferred embodiment, it is provided that after booting the host, the control device is in a normal operating state, with a cyclical integrity and authentication check of the software in the HSM being carried out during the normal operating state, with a negative integrity and authentication check being carried out the software, the flag is set to the second value and, in the event of a positive integrity and authentication check, the flag is set to the first value.

Unter einem „normalen Betriebszustand“ ist zu verstehen, dass das Steuergerät im normalen Arbeitsmodus ist und entsprechend seiner hinterlegten Software und abhängig von übergeordneten und nebengeordneten Steuergeräten arbeitet.A “normal operating state” is to be understood as meaning that the control unit is in normal operating mode and works according to its stored software and dependent on higher-level and subordinate control units.

Unter einer „zyklischen“ Integritäts- und Authentifizierungsüberprüfung ist eine wiederkehrende Integritäts- und Authentifizierungsüberprüfung zu verstehen, welche beispielsweise nach Ablauf einer vorgegebenen Zeitdauer und/oder nach Erkennen bestimmter Parameter durchgeführt wird.A “cyclical” integrity and authentication check is to be understood as a recurring integrity and authentication check which is carried out, for example, after a specified period of time and / or after certain parameters have been recognized.

Gemäß einer weiterführenden Ausführungsform wird nach der negativen zyklischen Integritäts- und Authentifizierungsüberprüfung der Software eine erneute Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt, wobei nach jeder negativen Integritäts- und Authentifizierungsüberprüfung der Software ein Zähler inkrementiert wird und bei einer vorgegebenen Zählerzahl das Steuergerät in einen definierten Zustand gebracht wird.According to a further embodiment, after the negative cyclical integrity and authentication check of the software, a renewed integrity and authentication check of the software is carried out, with a counter being incremented after each negative integrity and authentication check of the software and the control device in a defined state at a predetermined number of counters is brought.

Der Zähler kann dabei durch Erkennen einer positiven Integritäts- und Authentifizierungsüberprüfung zurückgesetzt werden, beispielsweise durch das HSM.The counter can be reset by recognizing a positive integrity and authentication check, for example by the HSM.

Dadurch, dass mehrere Male hintereinander eine negative Integritäts- und Authentifizierungsüberprüfung vorliegt, ist davon auszugehen, dass die Software manipuliert ist.Since there are negative integrity and authentication checks several times in a row, it can be assumed that the software has been tampered with.

Es ist dabei natürlich auch ratsam, die vorgegebene Zählerzahl nicht zu hoch zu wählen, denn je länger eine schadhafte Software vorliegt, desto größer könnte der Schaden sein. Es ist dabei bevorzugt, dass die Zählerzahl 2 oder 3 beträgt.It is of course also advisable not to set the specified number of meters too high, because the longer the defective software is present, the greater the damage could be. It is preferred that the counter number 2 or 3 amounts to.

Gemäß einer weiteren bevorzugten Ausführungsform wird nach der positiven Integritäts- und Authentifizierungsüberprüfung eine erneute Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt.According to a further preferred embodiment, a renewed integrity and authentication check of the software is carried out after the positive integrity and authentication check.

Eine erneute Integritäts- und Authentifizierungsüberprüfung wird bevorzugt nach einer vorgegebenen Zeitdauer durchgeführt.A renewed integrity and authentication check is preferably carried out after a predetermined period of time.

Durch eine zyklische Integritäts- und Authentifizierungsüberprüfung während des normalen Betriebszustands bzw. während der Laufzeit wird abhängig vom Ausgang der Integritäts- und Authentifizierungsüberprüfung das Flag entweder auf den ersten Wert oder den zweiten Wert gesetzt, wodurch bei einer Beendigung des normalen Betriebszustands darauf geschlossen werden kann, ob ein Fehler der Software vorliegt oder nicht.A cyclical integrity and authentication check during the normal operating state or during runtime, depending on the outcome of the integrity and authentication check, sets the flag either to the first value or the second value, which means that when the normal operating state is terminated, whether there is an error in the software or not.

Angenommen, das Flag ist auf den ersten Wert gesetzt und der normale Betriebszustand wird beendet, beispielsweise durch Ausschalten, so wird beim nächsten Boot-Vorgang des HSM erkannt, dass die Software korrekt hinterlegt ist, wodurch sofort mit dem Boot-Vorgang des Host weiter verfahren werden kann.Assuming the flag is set to the first value and the normal operating state is ended, for example by switching off, the next time the HSM boots, it is recognized that the software is stored correctly, which means that the host's boot process continues immediately can be.

Weiter angenommen, das Flag ist auf den zweiten Wert gesetzt und der normale Betriebszustand wird beendet, so wird beim nächsten Boot-Vorgang des HSM erkannt, dass die Integritäts- und Authentifizierungsüberprüfung negativ ausgefallen ist und die Überprüfung der Software fehlgeschlagen ist. Ein Booten des Host wird erfindungsgemäß zunächst verhindert und das Verfahren entsprechend durchlaufen.Assuming that the flag is set to the second value and the normal operating state is ended, the next time the HSM boots, it is recognized that the integrity and authentication check has failed and the software check has failed. Booting of the host is initially prevented according to the invention and the method is run through accordingly.

Gemäß einer weiteren bevorzugten Ausführungsform kann während des normalen Betriebszustands ein außerordentlicher Betriebszustand auftreten oder erkannt werden, welcher durch ein Softwareupdate hervorgerufen wird, wobei eine weitere Integritäts- und Authentifizierungsüberprüfung des Softwareupdates durchgeführt wird, wobei nach einer positiven Integritäts- und Authentifizierungsüberprüfung das Softwareupdate installiert wird, und wobei bevorzugt eine Integritäts- und Authentifizierungsüberprüfung der geupdateten Software durchgeführt wird und bei positiver Integritäts- und Authentifizierungsüberprüfung das Flag auf den ersten Wert gesetzt wird und das HSM rebootet wird; und wobei nach einer negativen Integritäts- und Authentifizierungsüberprüfung des Softwareupdates das Softwareupdate nicht installiert wird und das Steuergerät in einen vordefinierten Zustand gebracht wird und das HSM rebootet wird.According to a further preferred embodiment, an extraordinary operating state can occur or be recognized during the normal operating state, which is caused by a software update, a further integrity and authentication check of the software update being carried out, the software update being installed after a positive integrity and authentication check, and an integrity and authentication check of the updated software is preferably carried out and, if the integrity and authentication check is positive, the flag is set to the first value and the HSM is rebooted; and after a negative integrity and authentication check of the software update, the software update is not installed and the control device is brought into a predefined state and the HSM is rebooted.

Unter dem außerordentlichen Betriebszustand, welcher durch ein Softwareupdate hervorgerufen wird, wird verstanden, dass das Steuergerät bzw. das HSM eine Aufforderung zum Updaten der Software erhält, so dass dies nicht dem normalen Betriebszustand bzw. der Betriebslaufzeit entsprechen kann.The extraordinary operating state, which is caused by a software update, is understood to mean that the control device or the HSM receives a request to update the software, so that this cannot correspond to the normal operating state or the operating time.

Eine Aufforderung, die vorhandene Software zu updaten, könnte natürlich auch einen Manipulationsversuch an der Software bedeuten. Es ist daher vorgesehen, eine Integritäts- und Authentifizierungsüberprüfung des Softwareupdates durchzuführen, um eine Manipulation ausschließen zu können.A request to update the existing software could of course also mean an attempt to manipulate the software. It is therefore intended to carry out an integrity and authentication check of the software update in order to be able to rule out manipulation.

Wird festgestellt, dass das Softwareupdate den Vorgaben entspricht, also dass eine positive Integritäts- und Authentifizierungsüberprüfung vorliegt, so kann davon ausgegangen werden, dass kein Manipulationsversuch versucht wurde. Das Softwareupdate kann demnach installiert werden, erneut überprüft werden und bei positiver Überprüfung das Flag auf den ersten Wert gesetzt und das HSM rebootet werden.If it is determined that the software update complies with the specifications, i.e. that there is a positive integrity and authentication check, it can be assumed that no attempt at manipulation has been attempted. The software update can therefore be installed, checked again and, if the check is positive, the flag can be set to the first value and the HSM rebooted.

Sollte die Integritäts- und Authentifizierungsüberprüfung negativ ausfallen, so wird ein Manipulationsversuch angenommen und dementsprechend das Softwareupdate nicht installiert. Das Steuergerät wird in einen vordefinierten Zustand gebracht und das HSM rebootet.If the integrity and authentication check are negative, a manipulation attempt is assumed and the software update is accordingly not installed. The control unit is brought into a predefined state and the HSM is rebooted.

Vorzugsweise ist vorgesehen, dass während des normalen Betriebszustands bzw. der Betriebslaufzeit kein Update der Software installiert werden wird. Ein Update der Software ist einhergehend mit Änderungen, welche die Laufzeit beeinflussen, so dass von einem Update während der Laufzeit abzusehen ist.It is preferably provided that no software update is installed during the normal operating state or the operating time. An update of the software is accompanied by changes that affect the runtime, so that an update during the runtime is not necessary.

Gemäß einer besonders bevorzugten Ausführungsform wird die Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt durch Bildung eines Hashwertes der Software mittels des HSM und einem Vergleich mit einem originalen Hashwert der Software, welcher verschlüsselt bereitgestellt ist und mittels des HSM entschlüsselt wird, wobei die Integritäts- und Authentifizierungsüberprüfung positiv ist, wenn der Hashwert mit dem originalen Hashwert übereinstimmt.According to a particularly preferred embodiment, the integrity and authentication check of the software is carried out by forming a hash value of the software by means of the HSM and a comparison with an original hash value of the software, which is provided in encrypted form and is decrypted by means of the HSM, the integrity and authentication check is positive if the hash value matches the original hash value.

Der originale Hashwert der Software ist in einem Bereich der Software hinterlegt und wird seitens des OEM-Anbieters oder dergleichen verschlüsselt mit der Software übertragen. Ein Entschlüsseln kann dabei beispielsweise durch asymmetrische Kryptosysteme durchgeführt werden, also beispielsweise mittels private key und public key, welche in der Software und dem HSM hinterlegt sind. Daher kann zunächst lediglich das HSM auf den originalen Hashwert zugreifen und diesen verwenden.The original hash value of the software is stored in an area of the software and is transmitted encrypted with the software by the OEM provider or the like. Decryption can be carried out, for example, by asymmetrical cryptosystems, that is to say for example using private keys and public keys, which are stored in the software and the HSM. Therefore, initially only the HSM can access and use the original hash value.

Ebenso kann das HSM einen Hashwert der Software bilden und diesen gebildeten Hashwert mit dem originalen Hashwert vergleichen. Stimmen der gebildete Hashwert und der originale Hashwert überein, so liegt eine positive Integritäts- und Authentifizierungsüberprüfung vor.The HSM can also create a hash value for the software and compare this hash value with the original hash value. If the hash value formed and the original hash value match, there is a positive integrity and authentication check.

Gemäß einer weiteren bevorzugten Ausführungsform werden der Hashwert und der originale Hashwert in einem Hardware Trust Anchor hinterlegt. Der Hardware Trust Anchor kann dabei insbesondere ein Speicherbereich des HSM sein oder auch ein TPM (Trusted Platform Module), so dass diese Werte nicht manipuliert werden können.According to a further preferred embodiment, the hash value and the original hash value are stored in a hardware trust anchor. The hardware trust anchor can in particular be a memory area of the HSM or also a TPM (Trusted Platform Module) so that these values cannot be manipulated.

Ebenso vorzugsweise kann vorgesehen sein, dass bei einem Softwareupdate, das tatsächlich installiert wird, die neuen Hashwerte des originalen Hashwerts und des neuen gebildeten Hashwerts die vorhergehenden Hashwerte ersetzen.Likewise, it can preferably be provided that in a software update that is actually installed, the new hash values of the original hash value and the newly formed hash value replace the previous hash values.

Ebenso ist erfindungsgemäß ein Steuergerät vorgesehen, welches vorgesehen und geeignet ist zum Durchführen des erfindungsgemäßen Verfahrens, umfassend einen Spannungsanschluss, ein HSM und einen Host, wobei das HSM einen Speicher mit einem darin hinterlegten Flag und eine Recheneinheit umfasst, und wobei der Host mindestens einen Mikrocontroller umfasst, wobei der HSM und der Host miteinander signaltechnisch verbunden sind.A control device is also provided according to the invention, which is provided and suitable for performing the method according to the invention, comprising a voltage connection, an HSM and a host, the HSM comprising a memory with a flag stored therein and a computing unit, and the host at least one microcontroller comprises, wherein the HSM and the host are connected to one another for signaling purposes.

Weiter bevorzugt ist der Speicher des HSM als Hardware Trust Anchor ausgebildet zum Speichern des originalen Hashwerts und des gebildeten Hashwerts. Ein Vergleich des originalen Hashwerts und des gebildeten Hashwerts kann vorzugsweise durch die Recheneinheit des HSM durchgeführt werden, wobei auch andere Recheneinheiten, beispielsweise übergeordnete oder nebengeordnete außerhalb des Steuergeräts, diesen Vergleich durchführen können. Die Berechnung wird jedoch besonders bevorzugt im HSM durchgeführt. Weiter vorzugsweise werden der Hashwert bzw. die Hashwerte im HSM abgespeichert.The memory of the HSM is also preferably designed as a hardware trust anchor for storing the original hash value and the hash value formed. A comparison of the original hash value and the hash value formed can preferably be carried out by the arithmetic unit of the HSM, with other arithmetic units, for example higher-level or subordinate ones outside the control unit, also being able to carry out this comparison. However, the calculation is particularly preferably carried out in the HSM. The hash value or the hash values are also preferably stored in the HSM.

Weitere vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.Further advantageous embodiments emerge from the subclaims.

Weitere Ziele, Vorteile und Zweckmäßigkeiten der vorliegenden Erfindung sind der nachfolgenden von der Beschreibung in Verbindung mit der Zeichnung zu entnehmen. Hierbei zeigen:

  • 1 Verfahren gemäß einer besonders bevorzugten Ausführungsform;
  • 2 zeigt einen Ausschnitt des Verfahrens gemäß einer bevorzugten Ausführungsform;
  • 3 Steuergerät gemäß einer bevorzugten Ausführungsform.
Further objects, advantages and expediencies of the present invention can be taken from the description below in conjunction with the drawing. Here show:
  • 1 Method according to a particularly preferred embodiment;
  • 2 shows a section of the method according to a preferred embodiment;
  • 3 Control device according to a preferred embodiment.

In den Figuren sind gleiche Bauteile jeweils mit den entsprechenden Bezugszeichen zu verstehen. Zur besseren Übersichtlichkeit können in machen Figuren Bauteile nicht mit einem Bezugszeichen versehen sein, die jedoch an anderer Stelle bezeichnet worden sind.In the figures, the same components are to be understood with the corresponding reference symbols. For the sake of clarity, components in some figures may not be provided with a reference number, although they have been designated elsewhere.

In der 1 ist ein erfindungsgemäßes Verfahren gemäß einer besonders bevorzugten Ausführungsform zu erkennen.In the 1 a method according to the invention can be seen in a particularly preferred embodiment.

Dabei ist zur besseren Visualisierung insbesondere das Steuergerät 1, insbesondere der Mikrocontroller 1 des Steuergeräts und das darauf befindliche HSM 2 sowie ein Host 3 dargestellt, welche Teile des Steuergeräts bzw. des Mikrocontrollers sind.The control device is particularly important for better visualization 1 , especially the microcontroller 1 of the control unit and the HSM on it 2 as well as a host 3 shows which parts of the control unit or the microcontroller are.

Die jeweiligen Verfahrensschritte sind in der 1 entweder dem HSM 2 oder dem Host 3 zugeordnet.The respective procedural steps are in 1 either the HSM 2 or the host 3 assigned.

Das hier gezeigte Verfahren gemäß einer Ausführungsform startet mit einem Schritt S0, wobei eine Spannung 4 an das Steuergerät 1 bzw. den Mikrocontroller 1 des Steuergeräts und insbesondere an das HSM 2 angelegt wird, wodurch das HSM 2 automatisch partiell bootet. Hierbei werden bevorzugt bestimmte Funktionen des HSM 2 freigegeben, beispielsweise Zugriff auf einen Speicher 5 (hier nicht dargestellt) und auf eine Recheneinheit 6 (hier nicht dargestellt). Besonders bevorzugt ist in dem Speicher 5 ein Flag abgespeichert, welches einen ersten Wert oder einen zweiten Wert aufweisen kann.The method shown here according to an embodiment starts with a step S0, wherein a voltage 4th to the control unit 1 or the microcontroller 1 of the control unit and in particular to the HSM 2 is applied, whereby the HSM 2 automatically partially boots. Certain functions of the HSM are preferred here 2 released, for example access to a memory 5 (not shown here) and on a computing unit 6th (not shown here). It is particularly preferred in the memory 5 a flag is stored, which can have a first value or a second value.

In einem nachfolgenden Schritt S1 wird überprüft, ob das Flag auf den ersten Wert oder den zweiten Wert gesetzt ist, bevorzugt mittels des HSM 2, und bevorzugter mittels der Recheneinheit 6 des HSM 2.In a subsequent step S1, it is checked whether the flag is set to the first value or the second value, preferably by means of the HSM 2 , and more preferably by means of the computing unit 6th of the HSM 2 .

Falls das Flag auf den zweiten Wert gesetzt ist, wird mit dem Verfahrensschritt S2 weiter verfahren, in welchem eine Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt wird, beispielsweise durch einen Vergleich des originalen Hashwerts der Software, welcher in der Software hinterlegt ist, mit einem gebildeten Hashwert der Software, welche bevorzugt mittels der Recheneinheit 6 berechnet wird. Ebenso ist es denkbar, dass Signaturen der Software überprüft werden.If the flag is set to the second value, the procedure is continued with method step S2, in which an integrity and authentication check of the software is carried out, for example by comparing the original hash value of the software, which is stored in the software, with an established one Hash value of the software, which is preferably done by means of the computing unit 6th is calculated. It is also conceivable that the software's signatures are checked.

Falls in einem Schritt S3 festgestellt wird, dass die Integritäts- und Authentifizierungsüberprüfung negativ ist, so wird in einem Schritt S5 das Steuergerät 1 mit dem HSM 2 in einen vordefinierten Zustand überführt und das HSM 2 rebootet, dargestellt im Schritt S6. Rebooten heißt hierbei insbesondere, dass das HSM 2 erneut partiell gebootet wird, wie im Schritt S0 dargestellt.If it is established in a step S3 that the integrity and authentication check is negative, then in a step S5 the control device 1 with the HSM 2 transferred to a predefined state and the HSM 2 rebooted, shown in step S6. Rebooting means in particular that the HSM 2 is partially rebooted, as shown in step S0.

Falls hingegen im Schritt S3 festgestellt wird, dass die Integritäts- und Authentifizierungsüberprüfung positiv ist, so wird in einem nachfolgenden Schritt S4 das Flag auf den ersten Wert gesetzt und mit dem weiteren Schritt S6 fortgefahren, das heißt, rebooten des HSM 2.If, on the other hand, it is determined in step S3 that the integrity and authentication check is positive, the flag is set to the first value in a subsequent step S4 and the process continues with the further step S6, that is, rebooting the HSM 2 .

Es sei hierbei angemerkt, dass die Integritäts- und Authentifizierungsüberprüfung auch außerhalb des HSM 2 durchgeführt werden kann, beispielsweise auf einem übergeordneten oder nebengeordneten Steuergerät. Es sei angemerkt, dass eine Integritäts- und Authentifizierungsüberprüfung nur vor dem Flashen der Software mittels eines anderen Steuergeräts durchgeführt werden kann. Sobald die Software bereits aufgespielt worden ist, kann keine Überprüfung mehr durch ein externes Steuergerät durchgeführt werden.It should be noted here that the integrity and authentication check can also be carried out outside the HSM 2 can be carried out, for example on a superordinate or ancillary control unit. It should be noted that an integrity and authentication check can only be carried out before the software is flashed using another control device. As soon as the software has already been installed, no further checks can be carried out by an external control device.

Falls im Schritt S2 jedoch erkannt wird, dass das Flag auf den ersten Wert gesetzt ist, so wird mit einer Vervollständigung des Bootens des HSM 2 durch Übermitteln einer Anforderung von dem HSM 2 an den Host 3 zum Booten des Host 3 in einem Schritt S2' fortgefahren. Im nachfolgenden Schritt S10 wird der Host 3 nun gebootet und in einem Schritt S11 in einen normalen Betriebszustand gebracht, welcher während der Laufzeit das Steuergerät 1 normal arbeiten lässt, dargestellt im Schritt S12.If, however, it is recognized in step S2 that the flag is set to the first value, then the booting of the HSM is completed 2 by submitting a request from the HSM 2 to the host 3 to boot the host 3 continued in a step S2 '. In the subsequent step S10, the host becomes 3 is now booted and brought into a normal operating state in a step S11, which the control unit 1 can work normally, shown in step S12.

Während des normalen Betriebszustands wird eine zyklische Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt, dargestellt im Schritt S14. Die zyklische Integritäts- und Authentifizierungsüberprüfung wird in der nachfolgenden 2 näher dargestellt.During the normal operating state, a cyclical integrity and authentication check of the software is carried out, shown in step S14. The cyclical integrity and authentication check is described in the following 2 shown in more detail.

Weiter ist es denkbar, dass während der Laufzeit bzw. im normalen Betriebszustand ein Trigger 7 an das Steuergerät 1 übermittelt wird mit der Aufforderung eines Softwareupdates. Ein derartiger Trigger 7 könnte ein Manipulationsversuch sein, so dass dieser gesondert betrachtet werden muss. Der Host 3 wird aufgrund der Anforderung mittels des Trigger 7 von dem normalen Betriebszustand in einen außerordentlichen Betriebszustand gebracht, dargestellt durch den Verfahrensschritt S15. Nachfolgend wird mit dem Schritt S2 weiterverfahren, mit dem Durchführen einer Integritäts- und Authentifizierungsüberprüfung des Softwareupdates.It is also conceivable that a trigger occurs during the runtime or in the normal operating state 7th to the control unit 1 is transmitted with the request for a software update. One such trigger 7th could be an attempt at manipulation, so that this must be considered separately. The host 3 is based on the request by means of the trigger 7th brought from the normal operating state to an extraordinary operating state, represented by method step S15. The procedure subsequently continues with step S2, with the implementation of an integrity and authentication check of the software update.

Verläuft die Integritäts- und Authentifizierungsüberprüfung positiv, so wird das Softwareupdate installiert und dabei vorzugsweise der in der Software hinterlegte originale Hashwert und der gebildete Hashwert der neuen Software in einem Hardware Trust Anchor hinterlegt und besonders bevorzugt die zuvor abgelegten Hashwerte überschrieben.If the integrity and authentication check is positive, the software update is installed and the original hash value stored in the software and the hash value formed by the new software are preferably stored in a hardware trust anchor and the previously stored hash values are particularly preferably overwritten.

Weiter zurück zum normalen Betriebszustand ist es denkbar, dass der normale Betriebszustand beendet wird und daher das Steuergerät 1 von der Spannungsversorgung 4 getrennt wird (Schritt S16).Further back to the normal operating state, it is conceivable that the normal operating state is ended and therefore the control device 1 from the power supply 4th is separated (step S16).

In der 2 ist der Schritt S14 als Ausschnitt A der 1 genauer dargestellt.In the 2 is the step S14 as section A of the 1 shown in more detail.

In einem Schritt S20 wird vorzugsweise mittels der Recheneinheit 6 der Hashwert der Software gebildet und in einem Schritt S21 geprüft, ob der gebildete Hashwert mit dem originalen Hashwert übereinstimmt.In a step S20, the computing unit 6th the hash value of the software is formed and it is checked in a step S21 whether the hash value formed matches the original hash value.

Stimmt der gebildete Hashwert nicht mit dem originalen Hashwert überein, so wird das Flag auf den zweiten Wert gesetzt und mit dem Verfahrensschritt S22 fortgefahren, so dass eine erneute Überprüfung stattfindet. Vorzugsweise wird bei einer negativen Integritäts- und Authentifizierungsüberprüfung, hier dargestellt als Vergleich zwischen Hashwerten, ein Zähler 8 inkrementiert bis zu einem bestimmten Zählwert. Wird dieser Zählwert erreicht, so wird der normale Betriebszustand beendet (Schritt S13). Abhängig von dem vorliegenden Steuergerät wird vorzugsweise in einen vordefinierten sicheren Zustand gewechselt. Es ist ebenso denkbar, dass bereits nach der ersten negativen Integritäts- und Authentifizierungsüberprüfung der normale Betriebszustand beendet wird. Ein Zähler 8 wäre hierbei somit nicht notwendig.If the hash value that is formed does not match the original hash value, the flag is set to the second value and method step S22 is continued so that a new check takes place. A counter is preferably used in the event of a negative integrity and authentication check, shown here as a comparison between hash values 8th increments up to a certain count. If this count value is reached, the normal operating state is ended (step S13). Depending on the control device present, a change is preferably made to a predefined safe state. It is also conceivable that the normal operating state is terminated after the first negative integrity and authentication check. A counter 8th would therefore not be necessary here.

Stimmt jedoch der gebildete Hashwert mit dem originalen Hashwert überein, so wird das Flag auf den ersten Wert gesetzt (Schritt S22') und anschließend mit dem Verfahrensschritt S20 weiterverfahren. Es ist auch denkbar, dass an dieser Stelle der (zyklische) Prüfschritt verlassen wird und nach einem Ablauf einer vorgegebenen Zeit und/oder nach Auftreten eines Events oder Triggers erneut durchgeführt wird.However, if the hash value formed agrees with the original hash value, the flag is set to the first value (step S22 ') and the process is then continued with method step S20. It is also conceivable that the (cyclical) test step is exited at this point and carried out again after a predetermined time has elapsed and / or after an event or trigger has occurred.

In der weiteren 3 ist ein Mikrocontroller 1 gemäß einer bevorzugten Ausführungsform gezeigt. Der Mikrocontroller 1 umfasst: ein Hardware-Sicherheitsmodul 2, umfassend einen Speicher 5 und eine Recheneinheit 6, und einen Host 3, umfassend mindestens einen Mikrocontroller mit weiteren Recheneinheiten 9, und eine Spannungsversorgung 4.In the further 3 is a microcontroller 1 shown according to a preferred embodiment. The microcontroller 1 comprises: a hardware security module 2 , comprising a memory 5 and an arithmetic unit 6th , and a host 3 , comprising at least one microcontroller with further processing units 9 , and a power supply 4th .

In dem, bevorzugt als Hardware Trust Anchor (HTA) ausgebildeten, Speicher 5 ist insbesondere das Flag hinterlegt, in welchem vorzugsweise die originalen Hashwerte und die gebildeten Hashwerte hinterlegt werden können.In the memory, preferably designed as a hardware trust anchor (HTA) 5 In particular, the flag is stored in which the original hash values and the hash values formed can preferably be stored.

Sämtliche in den Anmeldungsunterlagen offenbarten Merkmale werden als erfindungswesentlich beansprucht, sofern sie einzeln oder in Kombination gegenüber dem Stand der Technik neu sind.All features disclosed in the application documents are claimed as essential to the invention, provided that they are new to the state of the art, individually or in combination.

BezugszeichenlisteList of reference symbols

11
Steuergerät/MikrocontrollerControl unit / microcontroller
22
Hardware-Sicherheitsmodul (HSM)Hardware security module (HSM)
33
HostHost
44th
Spannungsversorgung, SpannungPower supply, voltage
55
SpeicherStorage
66th
RecheneinheitArithmetic unit
77th
TriggerTrigger
88th
Zählercounter
99
RecheneinheitArithmetic unit

Claims (10)

Verfahren zum sicheren Booten eines Steuergeräts mit einem Mikrocontroller (1), umfassend ein Hardware-Sicherheitsmodul (HSM) (2) und einen Host (3), umfassend die Verfahrensschritte: a. Anlegen einer Spannung an das Steuergerät (1) und zumindest partielles Booten des HSM (2); b. Überprüfen, ob ein dem HSM (2) zugeordneter Flag auf einen ersten Wert oder einen zweiten Wert gesetzt ist; c. Falls das Flag auf den zweiten Wert gesetzt ist, Durchführen einer Integritäts- und Authentifizierungsüberprüfung einer dem Steuergerät (1) zugeordneten Software; und falls das Flag auf den ersten Wert gesetzt ist, Vervollständigen des Bootens des HSM (2) durch Übermitteln einer Aufforderung von dem HSM (2) an den Host (3) zum Booten des Host (3); d. falls die Integritäts- und Authentifizierungsüberprüfung positiv ist, setzen des Flag auf den ersten Wert und Rebooten des HSM (2); e. Erneutes überprüfen, ob das Flag auf den ersten Wert oder den zweiten Wert gesetzt ist, wobei falls nun erkannt wird, dass das Flag auf den ersten Wert gesetzt ist, Vervollständigen des Bootens des HSM (2) durch Übermitteln einer Aufforderung von dem HSM (2) an den Host (3) zum Booten des Host (3).Method for safely booting a control device with a microcontroller (1), comprising a hardware security module (HSM) (2) and a host (3), comprising the method steps: a. Applying a voltage to the control device (1) and at least partially booting the HSM (2); b. Checking whether a flag assigned to the HSM (2) is set to a first value or a second value; c. If the flag is set to the second value, performing an integrity and authentication check on software assigned to the control device (1); and if the flag is set to the first value, completing the booting of the HSM (2) by transmitting a request from the HSM (2) to the host (3) to boot the host (3); d. if the integrity and authentication check are positive, set the flag to the first value and reboot the HSM (2); e. Check again whether the flag is set to the first value or the second value, and if it is now recognized that the flag is set to the first value, complete the booting of the HSM (2) by transmitting a request from the HSM (2 ) to the host (3) to boot the host (3). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass nach dem Überprüfen und dem Feststellen, dass das Flag auf den ersten Wert gesetzt ist und vor oder während dem Übermitteln der Aufforderung von dem HSM (2) an den Host (3) zum Booten des Host (3) das Flag auf den zweiten Wert gesetzt wird.Procedure according to Claim 1 , characterized in that after checking and determining that the flag is set to the first value and before or during the transmission of the request from the HSM (2) to the host (3) to boot the host (3) the flag is set to the second value. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass falls im Verfahrensschritt d. die Integritäts- und Authentifizierungsüberprüfung negativ ist, das Steuergerät (1) in einen vordefinierten Zustand gebracht wird und das HSM (2) rebootet wird.Procedure according to Claim 1 or 2 , characterized in that if in process step d. the integrity and authentication check is negative, the control unit (1) is brought into a predefined state and the HSM (2) is rebooted. Verfahren nach einem der Ansprüche 1-3, dadurch gekennzeichnet, dass nach dem Booten des Host (3) das Steuergerät (1) sich in einem normalen Betriebszustand befindet, wobei während des normalen Betriebszustands eine zyklische Integritäts- und Authentifizierungsüberprüfung der Software im HSM (2) durchgeführt wird, wobei bei einer negativen Integritäts- und Authentifizierungsüberprüfung der Software das Flag auf den zweiten Wert gesetzt wird und bei einer positiven Integritäts- und Authentifizierungsüberprüfung das Flag auf den ersten Wert gesetzt wird.Method according to one of the Claims 1 - 3 , characterized in that after booting the host (3) the control device (1) is in a normal operating state, a cyclical integrity and authentication check of the software in the HSM (2) being carried out during the normal operating state, with a negative one Integrity and authentication check of the software the flag is set to the second value and in the case of a positive integrity and authentication check the flag is set to the first value. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass nach der negativen Integritäts- und Authentifizierungsüberprüfung der Software eine erneute Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt wird, wobei nach jeder negativen Integritäts- und Authentifizierungsüberprüfung der Software ein Zähler (8) inkrementiert wird und bei einer vorgegebenen Zählerzahl das Steuergerät (1) in einen definierten Zustand gebracht wird.Procedure according to Claim 4 , characterized in that after the negative integrity and authentication check of the software, a renewed integrity and authentication check of the software is carried out, with a counter (8) being incremented after each negative integrity and authentication check of the software and the control unit ( 1) is brought into a defined state. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass nach der positiven Integritäts- und Authentifizierungsüberprüfung eine erneute Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt wird.Procedure according to Claim 4 or 5 , characterized in that a renewed integrity and authentication check of the software is carried out after the positive integrity and authentication check. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass während des normalen Betriebszustands ein außerordentlicher Betriebszustand auftreten kann, welcher durch ein Softwareupdate hervorgerufen wird, wobei eine weitere Integritäts- und Authentifizierungsüberprüfung des Softwareupdates durchgeführt wird, wobei nach einer positiven Integritäts- und Authentifizierungsüberprüfung das Softwareupdate installiert wird, das Flag auf den ersten Wert gesetzt wird und das HSM (2) rebootet wird; und wobei nach einer negativen Integritäts- und Authentifizierungsüberprüfung des Softwareupdates das Softwareupdate nicht installiert wird und das Steuergerät (1) in einen vordefinierten Zustand gebracht wird und das HSM (2) rebootet wird.Method according to one of the Claims 4 to 6th , characterized in that an extraordinary operating state can occur during the normal operating state, which is caused by a software update, a further integrity and authentication check of the software update being carried out, the software update being installed after a positive integrity and authentication check, the flag on the first value is set and the HSM (2) is rebooted; and after a negative integrity and authentication check of the software update, the software update is not installed and the control device (1) is brought into a predefined state and the HSM (2) is rebooted. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Integritäts- und Authentifizierungsüberprüfung der Software durchgeführt wird durch Bildung eines Hashwerts der Software mittels des HSM (2) und einem Vergleich mit einem originalen Hashwert der Software, welcher verschlüsselt oder unverschlüsselt bereitgestellt ist und mittels des HSM (2) entschlüsselbar ist, wobei die Integritäts- und Authentifizierungsüberprüfung positiv ist, wenn der Hashwert mit dem originalen Hashwert übereinstimmt.Method according to one of the Claims 1 to 7th , characterized in that the integrity and authentication check of the software is carried out by forming a hash value of the software by means of the HSM (2) and a comparison with an original hash value of the software, which is provided in encrypted or unencrypted form and can be decrypted by means of the HSM (2) where the integrity and authentication check is positive if the hash value matches the original hash value. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Hashwert und der originale Hashwert in einem Hardware Trust Anchor hinterlegt werden.Procedure according to Claim 8 , characterized in that the hash value and the original Hash value can be stored in a hardware trust anchor. Steuergerät (1), welches vorgesehen und geeignet ist zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das Steuergerät (1) einen Spannungsanschluss, ein HSM (2) und einen Host (3) aufweist, wobei das HSM (2) einen Speicher (5) mit einem darin hinterlegten Flag und eine Recheneinheit (6) umfasst, und wobei der Host (3) mindestens eine Recheneinheit umfasst, wobei der HSM (2) und der Host (3) miteinander signaltechnisch verbunden sind.Control device (1) which is provided and suitable for performing a method according to one of the Claims 1 to 9 , characterized in that the control device (1) has a voltage connection, an HSM (2) and a host (3), the HSM (2) comprising a memory (5) with a flag stored therein and a computing unit (6), and wherein the host (3) comprises at least one processing unit, the HSM (2) and the host (3) being connected to one another for signaling purposes.
DE102019127856.2A 2019-10-16 2019-10-16 Procedure for safely booting a control unit and control unit Pending DE102019127856A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019127856.2A DE102019127856A1 (en) 2019-10-16 2019-10-16 Procedure for safely booting a control unit and control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019127856.2A DE102019127856A1 (en) 2019-10-16 2019-10-16 Procedure for safely booting a control unit and control unit

Publications (1)

Publication Number Publication Date
DE102019127856A1 true DE102019127856A1 (en) 2021-04-22

Family

ID=75268447

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019127856.2A Pending DE102019127856A1 (en) 2019-10-16 2019-10-16 Procedure for safely booting a control unit and control unit

Country Status (1)

Country Link
DE (1) DE102019127856A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021212994B3 (en) 2021-11-18 2023-04-20 Continental Automotive Technologies GmbH Method for detecting anomalies indicating tampering during a secure boot process of a software-controlled device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US6167532A (en) * 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US8839224B2 (en) * 2006-08-24 2014-09-16 Bby Solutions, Inc. System and method for automatically updating the software of a networked personal audiovisual device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US6167532A (en) * 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US8839224B2 (en) * 2006-08-24 2014-09-16 Bby Solutions, Inc. System and method for automatically updating the software of a networked personal audiovisual device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021212994B3 (en) 2021-11-18 2023-04-20 Continental Automotive Technologies GmbH Method for detecting anomalies indicating tampering during a secure boot process of a software-controlled device
WO2023088523A1 (en) 2021-11-18 2023-05-25 Continental Automotive Technologies GmbH Method for detecting anomalies suggesting a manipulation during a secure starting operation of a software-controlled device

Similar Documents

Publication Publication Date Title
DE69923466T2 (en) DEVICE FOR CHECKING THE INTEGRITY AND AUTHORIZING A COMPUTER PROGRAM BEFORE ITS EXECUTION ON A LOCAL PLATFORM
DE102016215914A1 (en) Securing a device usage information of a device
DE102008021567A1 (en) Computer system with secure boot mechanism based on symmetric key encryption
DE102013213314A1 (en) Deposit at least one computable integrity measure in a memory area of a memory
DE102016221108A1 (en) A method for updating software of a control device of a vehicle
DE102010002472A1 (en) Method for verifying a memory block of a non-volatile memory
DE102020003072B3 (en) Procedure for the secure use of cryptographic material
DE102015115287A1 (en) METHOD AND DEVICE FOR CHECKING AN IDENTIFIER
EP3811261B1 (en) Cryptography module and method for operating same
DE102019127856A1 (en) Procedure for safely booting a control unit and control unit
DE102013021231A1 (en) Method for operating an assistance system of a vehicle and vehicle control unit
EP3095065A1 (en) Device and method for detecting a manipulation to a program code
WO2004114131A1 (en) Method for booting up a software in the boot sector of a programmable read-only memory
DE102018211139A1 (en) Control device and method for its operation
DE10131577A1 (en) Process for protecting a microcomputer system against manipulation of its program
EP3752911B1 (en) Method for installing a program code packet onto a device, device, and motor vehicle
EP1892639B1 (en) Secure program code execution
EP3074862B1 (en) Method for a secure boot-up process of an electronic system
DE102021212994B3 (en) Method for detecting anomalies indicating tampering during a secure boot process of a software-controlled device
EP3876123B1 (en) Arrangement and operating method for a secure start-up of an electronic device
DE102015218882A1 (en) Method and device for checking calculation results in a system with several processing units
DE102019005545A1 (en) Method for operating a machine data communication network and machine data communication network
DE102019003673B3 (en) Side channel safe implementation
DE102022128183B3 (en) Method for starting a data processing device, data processing device and motor vehicle
EP4261722A1 (en) Output of a shared cryptographically protected device configuration information

Legal Events

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