DE102024116338A1 - Procedure for integrity testing of a control unit - Google Patents
Procedure for integrity testing of a control unitInfo
- Publication number
- DE102024116338A1 DE102024116338A1 DE102024116338.0A DE102024116338A DE102024116338A1 DE 102024116338 A1 DE102024116338 A1 DE 102024116338A1 DE 102024116338 A DE102024116338 A DE 102024116338A DE 102024116338 A1 DE102024116338 A1 DE 102024116338A1
- Authority
- DE
- Germany
- Prior art keywords
- control unit
- hash value
- security module
- hardware security
- integrity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Verfahren sowie System (40) zur Integritätsprüfung eines Steuergeräts (10), das einen Speicher (11) für Programmanweisungen und Daten, einen Prozessor (12) zur Ausführung der Programmanweisungen sowie zur Verarbeitung der Daten und ein Hardwaresicherheitsmodul (15) aufweist, mit den Schritten:
- Anfordern der Integritätsprüfung beim Steuergerät durch eine Anforderungseinheit (20),
- Ausführen der Integritätsprüfung durch das Hardwaresicherheitsmodul unter kommunikationsvermittelnder Zwischenschaltung des Prozessors, wobei das Hardwaresicherheitsmodul ein Prüfungsresultat (R) basierend auf einem Speicherinhalt eines Bereichs des Speichers bildet, basierend auf wenigstens dem Prüfungsresultat einen zugeordneten kryptografischen Hashwert (H) erzeugt und das Prüfungsresultat sowie den Hashwert an den Prozessor zurückgibt,
- Übermitteln des Prüfungsresultats und des Hashwerts an die Anforderungseinheit als unsicheres Prüfungsresultat (R*) und unsicheren Hashwert (H*),
- Validieren des übermittelten unsicheren Prüfungsresultats durch die Anforderungseinheit, indem diese basierend auf dem übermittelten unsicheren Prüfungsresultat den zugeordneten kryptografischen Hashwert erzeugt und diesen mit dem übermittelten unsicheren Hashwert vergleicht, wobei ein Validierungsergebnis (V) positiv ausfällt und die Integrität des Steuergeräts bestimmt wird, wenn die beiden verglichenen Hashwerte übereinstimmen, und andernfalls negativ ausfällt, und
- Bereitstellen des Validierungsergebnisses.
Method and system (40) for integrity testing of a control unit (10) comprising a memory (11) for program instructions and data, a processor (12) for executing the program instructions and for processing the data and a hardware security module (15), comprising the steps:
- Requesting the integrity check at the control unit by a request unit (20),
- Executing the integrity check by the hardware security module with the processor acting as a communication intermediary, wherein the hardware security module forms a check result (R) based on a memory content of an area of the memory, generates an associated cryptographic hash value (H) based on at least the check result and returns the check result and the hash value to the processor,
- Transmitting the test result and the hash value to the requesting unit as an uncertain test result (R*) and an uncertain hash value (H*),
- Validation of the transmitted insecure test result by the requesting unit by generating the associated cryptographic hash value based on the transmitted insecure test result and comparing it with the transmitted insecure hash value, whereby a validation result (V) is positive and the integrity of the control unit is determined if the two compared hash values match, and is negative otherwise, and
- Providing the validation result.
Description
Die Erfindung betrifft ein Verfahren zur Integritätsprüfung eines Steuergeräts, insbesondere eines Steuergeräts für ein Fahrzeug, sowie ein System zur Integritätsprüfung eines Steuergeräts, insbesondere eines Steuergeräts für ein Fahrzeug.The invention relates to a method for integrity testing of a control unit, in particular a control unit for a vehicle, and to a system for integrity testing of a control unit, in particular a control unit for a vehicle.
Für heutige in Fahrzeugen eingesetzte Steuergeräte ist es aus verschiedenen Gründen erforderlich, die Integrität und Authentizität der gespeicherten bzw. ausgeführten Software (bestehend aus ausführbaren Programmanweisungen und Daten, hierin gemeinsam auch als Anwendungsdaten bezeichnet) sicherzustellen und gegenüber befugten Akteuren nachzuweisen.For various reasons, it is necessary for today's control units used in vehicles to ensure and demonstrate the integrity and authenticity of the stored or executed software (consisting of executable program instructions and data, hereinafter collectively referred to as application data) to authorized parties.
Die Sicherstellung kann beispielsweise erfolgen, indem eine von einem Prozessor (Mikroprozessor, Mikrocontroller o. ä.) des Steuergeräts getrennte, besonders gesicherte Hardwareeinheit die Authentizität und ggf. die Integrität der gespeicherten Anwendungsdaten, die später vom Prozessor ausgeführt bzw. verarbeitet werden sollen, prüft und nur dann einen Bootvorgang sowie die nachfolgende Ausführung zulässt, wenn die genannten Eigenschaften gegeben sind. Dieses Vorgehen ist als sog. „secure boot“-Konzept bekannt. Aus verschiedenen Gründen kann es jedoch erforderlich sein, dieses Konzept durch ein weiteres Konzept zu ergänzen oder sogar zu ersetzen, bei dem das Ergebnis der Prüfung der Authentizität/Integrität lediglich einer anfordernden Instanz bekannt gemacht wird. Diese Variante wird als „authenticated boot“ bezeichnet.This assurance can be achieved, for example, by using a specially secured hardware unit, separate from the processor (microprocessor, microcontroller, etc.) of the control unit, to verify the authenticity and, if necessary, the integrity of the stored application data that is later to be executed or processed by the processor. Only if these properties are met is a boot process and subsequent execution permitted. This approach is known as the "secure boot" concept. However, for various reasons, it may be necessary to supplement or even replace this concept with another approach in which the result of the authenticity/integrity check is only disclosed to a requesting instance. This variant is called "authenticated boot."
Häufig besteht die Schwierigkeit, dass zwischen der prüfenden Entität (z. B. einer Hardware-Secured Execution Environment, HSEE, ausgeführt beispielsweise als Hardware Security Modul, HSM) und der die Prüfung anfordernden Instanz keine durchgehend sichere Verbindung etabliert werden kann. Deshalb kann ohne weitere Maßnahmen nicht darauf vertraut werden, dass die zu übertragende Information unverfälscht ist. Zwar können manipulierte Anwendungsdaten des Steuergeräts durch das HSEE als solche erkannt werden, wird jedoch der Prozessor des Steuergeräts auch für die Kommunikation des Prüfresultats genutzt, sind manipulierte Programmanweisungen durchaus in der Lage, das Resultat ebenso zu manipulieren und damit den Anforderer der Prüfung zu täuschen.A common difficulty is that a consistently secure connection cannot be established between the testing entity (e.g., a Hardware-Secure Execution Environment, HSEE, implemented, for example, as a Hardware Security Module, HSM) and the instance requesting the test. Therefore, without further measures, the integrity of the transmitted information cannot be guaranteed. While the HSEE can detect manipulated application data from the control unit, if the control unit's processor is also used to communicate the test result, manipulated program instructions can indeed manipulate the result as well, thus deceiving the party requesting the test.
Weiterhin ist ohne zusätzliche Maßnahmen nicht gesichert, dass das ermittelte Prüfergebnis auch nach Weitergabe an andere Systeme zweifelsfrei dem geprüften Objekt (z. B. Steuergerät) zugeordnet und dass der Prüfzeitpunkt verfälschungsfrei nachgewiesen werden kann. Damit bestehen mehrere unabhängige Risiken bezüglich der Aussagesicherheit für den abfragenden Akteur.Furthermore, without additional measures, it is not guaranteed that the determined test result can be unambiguously assigned to the tested object (e.g., control unit) even after being transmitted to other systems, and that the test time can be verified without falsification. This presents several independent risks regarding the reliability of the information for the requesting party.
Ein Verfahren zur manipulationssicheren Übertragung von Steuerdaten ist beispielsweise aus
Vor diesem Hintergrund liegt der Erfindung die Aufgabe zugrunde, ein Verfahren und ein System zur Integritätsprüfung eines Steuergeräts, insbesondere eines Steuergeräts für ein Fahrzeug, bereitzustellen, die eine Korrektheit eines Prüfungsresultats der Integritätsprüfung sicherstellen. Das Prüfungsresultat soll bezüglich seines Inhalts nicht manipulierbar sein, ohne dass dies erkannt werden kann. Darüber hinaus sollen eine Zuordnung eines konkreten Prüfungsresultats zu dem Prüfobjekt (d. h. dem zu prüfenden Steuergerät) sowie ein Zeitpunkt seiner Ermittlung unverfälschbar sein.Against this background, the invention aims to provide a method and a system for integrity testing of a control unit, in particular a control unit for a vehicle, which ensure the correctness of the integrity test result. The test result should be tamper-proof with regard to its content, without this being detectable. Furthermore, the assignment of a specific test result to the test object (i.e., the control unit under test) and the time of its determination should be unalterable.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 sowie durch ein System mit den Merkmalen des Anspruchs 11 gelöst. Weitere besonders vorteilhafte Ausgestaltungen der Erfindung offenbaren die jeweiligen Unteransprüche.This problem is solved by a method having the features of claim 1 and by a The system is solved according to the features of claim 11. Further particularly advantageous embodiments of the invention are disclosed in the respective dependent claims.
Es sei angemerkt, dass die in den Ansprüchen einzeln aufgeführten Merkmale in beliebiger, technisch sinnvoller Weise miteinander kombiniert werden können (auch über Kategoriegrenzen, beispielsweise zwischen Verfahren und Vorrichtung, hinweg) und weitere Ausgestaltungen der Erfindung aufzeigen. Die Beschreibung charakterisiert und spezifiziert die Erfindung insbesondere im Zusammenhang mit den Figuren zusätzlich.It should be noted that the features listed individually in the claims can be combined with one another in any technically meaningful way (even across category boundaries, for example between method and apparatus) and demonstrate further embodiments of the invention. The description further characterizes and specifies the invention, particularly in conjunction with the figures.
Es sei ferner angemerkt, dass eine hierin verwendete, zwischen zwei Merkmalen stehende und diese miteinander verknüpfende Konjunktion „und/oder“ stets so auszulegen ist, dass in einer ersten Ausgestaltung des erfindungsgemäßen Gegenstands lediglich das erste Merkmal vorhanden sein kann, in einer zweiten Ausgestaltung lediglich das zweite Merkmal vorhanden sein kann und in einer dritten Ausgestaltung sowohl das erste als auch das zweite Merkmal vorhanden sein können.It should also be noted that the conjunction “and/or” used herein, which stands between two features and links them together, is always to be interpreted in such a way that in a first embodiment of the object according to the invention only the first feature may be present, in a second embodiment only the second feature may be present, and in a third embodiment both the first and the second feature may be present.
Gegenstand der Erfindung ist ein Verfahren zur Integritätsprüfung eines Steuergeräts, insbesondere eines Steuergeräts für ein Fahrzeug, das einen Speicher (z. B. RAM, E(E)PROM, Flash, ROM o. ä.) für Programmanweisungen und Daten (hierin gemeinsam auch als Anwendungsdaten bezeichnet), einen Prozessor (z. B. Mikroprozessor, Mikrocontroller o. ä.) zur Ausführung der Programmanweisungen sowie zur Verarbeitung der Daten und ein Hardwaresicherheitsmodul (z. B. Hardware Security Module, HSM, Hardware-Secured Execution Environment, HSEE) aufweist. Das Verfahren weist die Schritte auf:
- - Anfordern der Integritätsprüfung beim Steuergerät durch eine Anforderungseinheit,
- - Ausführen der Integritätsprüfung durch das Hardwaresicherheitsmodul unter kommunikationsvermittelnder Zwischenschaltung des Prozessors des Steuergeräts, wobei das Hardwaresicherheitsmodul ein Prüfungsresultat basierend auf einem Speicherinhalt wenigstens eines vorbestimmbaren Bereichs des Speichers des Steuergeräts bildet, basierend auf wenigstens dem Prüfungsresultat einen zugeordneten kryptografischen Hashwert erzeugt und das Prüfungsresultat sowie den Hashwert an den Prozessor zurückgibt,
- - Übermitteln des Prüfungsresultats und des Hashwerts an die Anforderungseinheit als unsicheres Prüfungsresultat und unsicheren Hashwert,
- - Validieren des übermittelten unsicheren Prüfungsresultats durch die Anforderungseinheit, indem diese basierend auf dem übermittelten unsicheren Prüfungsresultat den zugeordneten kryptografischen Hashwert (selbst) erzeugt und diesen mit dem übermittelten unsicheren Hashwert vergleicht, wobei ein Validierungsergebnis positiv ausfällt und die Integrität des Steuergeräts bestimmt wird, wenn die beiden verglichenen Hashwerte übereinstimmen, und andernfalls negativ ausfällt, woraufhin das Steuergerät als kompromittiert bestimmt wird, und
- - Bereitstellen des Validierungsergebnisses.
- - Requesting an integrity check at the control unit by a requesting unit,
- - Execution of the integrity check by the hardware security module via the communication-mediating intermediary of the control unit's processor, wherein the hardware security module forms a test result based on a memory content of at least one predeterminable area of the control unit's memory, generates an associated cryptographic hash value based on at least the test result, and returns the test result and the hash value to the processor.
- - Transmitting the test result and the hash value to the requesting unit as an uncertain test result and uncertain hash value,
- - Validation of the transmitted insecure test result by the requesting unit by generating the associated cryptographic hash value (itself) based on the transmitted insecure test result and comparing it with the transmitted insecure hash value, whereby a validation result is positive and the integrity of the control unit is determined if the two compared hash values match, and negative otherwise, whereupon the control unit is determined to be compromised, and
- - Providing the validation result.
Die Anforderungseinheit kann eine steuergerätexterne Einheit sein, z. B. ein Testgerät, ein funktionsseitig genormtes, generisches sog. Scantool, ein herstellerspezifisches Testwerkzeug oder ein weiteres Steuergerät und dergleichen, ebenso eine mittelbar angebundene Funktionalität in einem Backend.The request unit can be a unit external to the control unit, e.g. a test device, a functionally standardized, generic so-called scan tool, a manufacturer-specific test tool or another control unit and the like, as well as an indirectly connected functionality in a backend.
Das Hardwaresicherheitsmodul bezeichnet ein internes oder externes physisches Sicherheitsgerät für die effiziente und sichere Ausführung kryptographischer Operationen oder Applikationen für sensible Daten (hier der Anwendungsdaten des Steuergeräts). Der erforderliche Zugriff auf den Speicher des Steuergeräts durch das Hardwaresicherheitsmodul ist technisch ohne Vermittlung des Prozessors ausgeführt.The hardware security module (HSM) is an internal or external physical security device for the efficient and secure execution of cryptographic operations or applications for sensitive data (in this case, the application data of the control unit). The necessary access to the control unit's memory by the HSM is technically performed without the intervention of the processor.
Eine kryptographische Hashfunktion ist eine Hashfunktion (Streuwertfunktion), die bestimmte Eigenschaften erfüllt, mit denen sie für kryptographische Anwendungszwecke geeignet ist. Eine Hashfunktion erzeugt effizient aus einem Eingabewert, etwa einer Nachricht, einer Datei oder einem Inhalt eines Speicherbereichs, einen Ausgabewert fester Länge: den Hashwert. Für den kryptographischen Einsatz werden weitere Eigenschaften gefordert: Eine kryptographische Hashfunktion stellt eine Einwegfunktion dar, bietet Kollisionsresistenz und erzeugt einen pseudozufälligen Hashwert.A cryptographic hash function is a hash function (scatter function) that fulfills certain properties that make it suitable for cryptographic applications. A hash function efficiently generates a fixed-length output value—the hash value—from an input value, such as a message, a file, or the contents of a memory area. For cryptographic use, further properties are required: A cryptographic hash function is a one-way function, offers collision resistance, and generates a pseudorandom hash value.
Als „unsicher“ gilt ein Inhalt (z. B. unsicherer Hashwert, unsicheres Prüfungsresultat), der möglicherweise verfälscht sein kann und folglich nicht vertrauenswürdig ist.Content is considered "unsafe" (e.g., an unsafe hash value, an unsafe test result) if it may be falsified and therefore not trustworthy.
Innerhalb der Erfindung wird die Integrität des zu prüfenden Steuergeräts mit Ausnahme des definitionsgemäß vertrauenswürdigen, isolierten Hardwaresicherheitsmoduls innerhalb der zu prüfenden Steuereinheit nicht vorausgesetzt. Das Hardwaresicherheitsmodul bildet bzw. beinhaltet somit den einzigen sog. „Trust Anchor“.Within the scope of the invention, the integrity of the control unit under test is not required, with the exception of the inherently trusted, isolated hardware security module within the control unit under test. The hardware security module thus constitutes or includes the only so-called "trust anchor".
Im Fall des zu prüfenden Steuergeräts ist seine Integrität Gegenstand der Prüfung, deren Ergebnis trotz der für den Integritätsverlust ursächlichen Kompromittierung einem nur für diesen Prüfvorgang verbundenen (externen) System (d. h. Anforderungseinheit) in unverfälschbarer Form verfügbar gemacht wird.In the case of the control unit being tested, its integrity is the subject of the test, the result of which, despite the cause of the integrity loss, The compromise is made available in an unalterable form to an (external) system (i.e., request unit) connected only for this testing process.
Im Fall optional an der Weiterleitung des Prüfungsresultats beteiligter weiterer Steuergeräte ist deren Integrität irrelevant, da einer von zwei möglichen Fällen eintritt: Eine durch ein nicht integres Steuergerät vorgenommene Verfälschung wird als solche erkannt, wie dies für jedes Glied der Übertragungskette gilt. Integre Steuergeräte hingegen leiten das Prüfungsresultat unverändert weiter. Alle Steuergeräte - auch jenes, dessen Integritätsprüfungsresultat mitgeteilt werden soll - sind folglich Teil des als unsicher angenommenen Kommunikations-/Übertragungskanals.In the case of additional control units optionally involved in forwarding the test result, their integrity is irrelevant, as one of two possible scenarios occurs: A falsification by a non-integral control unit is recognized as such, as is the case for every link in the transmission chain. Integral control units, on the other hand, forward the test result unchanged. Consequently, all control units—including the one whose integrity test result is to be communicated—are part of the communication/transmission channel, which is assumed to be insecure.
Jedes nicht vertrauenswürdige Glied der Übertragungskette und damit auch jedes an der Informationsweiterleitung beteiligte Steuergerät kann Situationen verursachen, in denen die gebildete Integritätsinformation nicht auswertbar ist, diese kann jedoch nicht unerkannt verfälscht werden.Any untrusted link in the transmission chain, and therefore any control unit involved in the information forwarding, can cause situations in which the generated integrity information cannot be evaluated, but it cannot be falsified without detection.
Die Erfindung hat die Erkennung und Mitteilung einer Modifikation/Manipulation eines oder mehrerer Steuergeräte zum Gegenstand. Gegenstand der Erfindung sind nicht zwischen Steuergeräten im Betriebszustand ausgetauschte Daten einer Primärfunktion, sondern die von einer vertrauenswürdigen Instanz (d. h. dem Hardwaresicherheitsmodul) ermittelte oder auch bewertete Integrität des Steuergeräts selbst. Selbst wenn die zugehörige Information (d. h. das Prüfungsresultat) zwischen weiteren Steuergeräten zum Zweck der Weiterleitung ausgetauscht wird, ist sie und ihre Integrität für die weiteren Steuergeräte im Rahmen ihrer Primärfunktion (z. B. Steuerung einer Fahrzeugfunktion) irrelevant, da sie diese Informationen nicht auswerten, denn sie wird im Rahmen der von ihnen ausgeführten Primärfunktion nicht benötigt.The invention relates to the detection and notification of modifications/manipulations of one or more electronic control units (ECUs). The subject of the invention is not data exchanged between ECUs during operation concerning a primary function, but rather the integrity of the ECU itself as determined or evaluated by a trusted authority (i.e., the hardware security module). Even if the associated information (i.e., the test result) is exchanged between other ECUs for the purpose of forwarding, it and its integrity are irrelevant to these other ECUs within the scope of their primary function (e.g., controlling a vehicle function), as they do not evaluate this information because it is not required for their primary function.
Die Erfindung beruht auf dem Gedanken, eine Ausleitung des Prüfungsresultats von dem besonders gesicherten Hardwaresicherheitsmodul über den Prozessor des Steuergeräts als eine Form des Transports über einen unsicheren Kanal zu interpretieren und eine dafür geeignete Form der Absicherung bereitzustellen. Dabei wird die Korrektheit der ausgeleiteten Information sichergestellt. Zusätzlich kann die Zuordnung einer konkreten Prüfung zu dem Prüfobjekt (d. h. dem zu prüfenden Steuergerät) sowie ihr Zeitpunkt unverfälschbar gemacht werden.The invention is based on the idea of interpreting the transmission of the test result from the specially secured hardware security module via the control unit's processor as a form of transport over an insecure channel and providing a suitable safeguard for this transmission. This ensures the correctness of the transmitted information. In addition, the assignment of a specific test to the test object (i.e., the control unit under test) and its time can be made tamper-proof.
In jedem Fall ist eine Manipulation erkennbar. Für den durch die Anfrageeinheit erkennbaren Fall, dass diese darin besteht, trotz Anforderung gar kein Prüfungsresultat zu erhalten (beispielsweise durch Unterbindung der Kommunikation), ist die Interpretation als „worst case“ vorgesehen, was im Allgemeinen der Aussage „Manipulation erkannt“ entspricht. Dementsprechend wird eine aufgrund der kryptographischen Prüfmöglichkeit erkannte Manipulation der Kommunikationsinhalte oder die Unterdrückung der Weiterleitung direkt als das zu erzielende Ergebnis gewertet.In any case, manipulation is detectable. For the case, detectable by the query unit, that no test result is obtained despite the request (for example, due to the blocking of communication), the interpretation is intended as a "worst case," which generally corresponds to the statement "manipulation detected." Accordingly, any manipulation of the communication content or the suppression of forwarding detected by the cryptographic verification method is directly considered the desired outcome.
Der wesentliche Vorteil besteht darin, dem anfordernden Akteur (d. h. der Anforderungseinheit) eine verlässliche Information bezüglich der zu einem genau bekannten Zeitpunkt bestehenden Integrität/Authentizität der in einem konkreten Gerätexemplar (d. h. Steuergerät) befindlichen Anwendungsdaten zu übermitteln. Diese Information ist bezüglich ihres Inhaltes nicht manipulierbar, ohne dass dies erkannt wird. Sie kann keinem anderen Geräteexemplar und auch keinem anderen Zeitpunkt zugeordnet werden.The key advantage lies in providing the requesting actor (i.e., the requesting unit) with reliable information regarding the integrity/authenticity of the application data contained in a specific device instance (i.e., control unit) at a precisely known point in time. This information cannot be manipulated without detection. It cannot be attributed to any other device instance or any other point in time.
Es besteht auch keine nicht erkennbare Manipulationsmöglichkeit durch Aufzeichnung oder Kopieren der Information eines integren Steuergeräts mit dem Zweck der Vortäuschung des integren Zustands nach vorgenommener Manipulation desselben Geräts oder eines anderen Geräts mittels nach späterer Anforderung erfolgenden Wiederabspielens (Replay).There is also no possibility of undetectable manipulation by recording or copying the information of an intact control unit for the purpose of feigning the intact state after manipulation of the same or another device by means of replay upon subsequent request.
Um zu vermeiden, dass auch die übermittelten Hashwerte manipuliert bzw. durch korrekte Werte ersetzt werden können, wird in einer vorteilhaften Ausführungsform mit jedem Anfordern der Integritätsprüfung ein (neuer) Zufallswert erzeugt, von der Anforderungseinheit an das Steuergerät (d. h. an den Prozessor) übermittelt und dem Hardwaresicherheitsmodul (vom Prozessor) als unsicherer Zufallswert bereitgestellt, wobei das Ausführen der Integritätsprüfung durch das Hardwaresicherheitsmodul das Bestimmen des Hashwerts zusätzlich basierend auf dem unsicheren Zufallswert umfasst und das Validieren des übermittelten unsicheren Prüfungsresultats durch die Anforderungseinheit das Bestimmen des Hashwerts zusätzlich basierend auf dem erzeugten Zufallswert umfasst.To prevent the transmitted hash values from being manipulated or replaced with correct values, in an advantageous embodiment a (new) random value is generated with each request for the integrity check, transmitted by the requesting unit to the control unit (i.e., to the processor), and provided to the hardware security module (by the processor) as an insecure random value, wherein the execution of the integrity check by the hardware security module additionally includes determining the hash value based on the insecure random value, and the validation of the transmitted insecure check result by the requesting unit additionally includes determining the hash value based on the generated random value.
Da der Prozessor des Steuergeräts kompromittiert sein kann, ist nicht gewährleistet, dass der Zufallswert im Hardwaresicherheitsmodul unmanipuliert vorliegt. Diese Situation wird jedoch im späteren Verlauf erkannt. Der Zufallswert wird mit der vom Hardwaresicherheitsmodul an die Anforderungseinheit zu übertragenen Information (d. h. dem Prüfungsresultat) vor der Bildung des zusätzlich übertragenen, die Integrität der Information absichernden kryptographischen Hashwerts verknüpft. Nach Übertragung der Information an die Anforderungseinheit kann die Verknüpfung mit dem Zufallswert durch die Anforderungseinheit rückgängig gemacht werden. Die anschließende Prüfung des kryptografischen Hashwertes liefert dann die Aussage, ob die übermittelte Information authentisch und integer ist und zu der gestellten Anfrage passt.Since the control unit's processor may be compromised, it is not guaranteed that the random value in the hardware security module is unmodified. However, this situation is detected later. The random value is linked to the information (i.e., the test result) to be transmitted from the hardware security module to the request unit before the additionally transmitted cryptographic hash value, which ensures the integrity of the information, is generated. After the information has been transmitted to the request unit, the linking with the random value can be reversed by the request unit. The subsequent verification of the cryptographic hash value then... The hash value then provides information on whether the transmitted information is authentic and integer and matches the query.
Hierzu wird der der abfragenden Anforderungseinheit bekannte Zufallswert (er wurde von dieser erzeugt) mit dem übertragenen Resultat der Prüfung kombiniert und die Kombination derselben Hashwertbildung unterzogen wie im Hardwaresicherheitsmodul. Der Vergleich der Hashwerte erlaubt damit sowohl die Gültigkeitsprüfung der übermittelten Information als auch deren sichere Zuordnung zu der Abfrage. Ein Replay einer vorangegangenen Abfrage desselben Steuergeräts ist aufgrund der Einbeziehung der zufälligen Information ebenso ausgeschlossen wie eine Antwort eines anderen Steuergeräts.For this purpose, the random value known to the requesting unit (generated by it) is combined with the transmitted result of the check, and the combination is subjected to the same hash value calculation as in the hardware security module. Comparing the hash values thus allows both the validity check of the transmitted information and its secure assignment to the query. A replay of a previous query from the same control unit is impossible due to the inclusion of the random information, as is a response from a different control unit.
In einer weiteren bevorzugten Ausführungsform umfasst das Ausführen der Integritätsprüfung durch das Hardwaresicherheitsmodul vor dem Zurückgeben des Hashwerts an den Prozessor ein Verschlüsseln des Hashwerts, und das Validieren des übermittelten unsicheren Prüfungsresultats durch die Anforderungseinheit vor dem Vergleichen der beiden Hashwerte umfasst ein Entschlüsseln des übermittelten unsicheren Hashwerts. Das Verschlüsseln des Hashwerts entspricht einer Signatur, welche die Urheberschaft und Integrität des Hashwerts zweifelsfrei überprüfbar macht. Hierdurch wird eine zusätzliche kryptographische Sicherung der Übertragung bereitgestellt, die verhindert, dass die an die Anforderungseinheit übermittelten Hashwerte manipuliert bzw. durch korrekte Werte ersetzt werden können.In a further preferred embodiment, the execution of the integrity check by the hardware security module before returning the hash value to the processor includes encrypting the hash value, and the validation of the transmitted insecure check result by the requesting unit before comparing the two hash values includes decrypting the transmitted insecure hash value. Encrypting the hash value is equivalent to a signature, which makes the authorship and integrity of the hash value unambiguously verifiable. This provides an additional cryptographic safeguard for the transmission, preventing the hash values transmitted to the requesting unit from being manipulated or replaced with correct values.
Weitere vorteilhafte Ausführungsformen sehen vor, dass das Verschlüsseln des Hashwerts und das Entschlüsseln des übermittelten unsicheren Hashwerts mittels einer asymmetrischen kryptografischen Verschlüsselungsmethode durchgeführt wird, wobei der Hashwert durch das Hardwaresicherheitsmodul mit einem (nur) in diesem abgelegten steuergerätbezogenen privaten Schlüssel verschlüsselt wird und der übermittelte unsichere Hashwert durch die Anforderungseinheit mit einem ihr bereitstellbaren steuergerätbezogenen öffentlichen Schlüssel entschlüsselt wird.Further advantageous embodiments provide that the encryption of the hash value and the decryption of the transmitted insecure hash value are carried out using an asymmetric cryptographic encryption method, wherein the hash value is encrypted by the hardware security module with a control unit-related private key stored (only) in this module, and the transmitted insecure hash value is decrypted by the requesting unit with a control unit-related public key that can be provided to it.
Vorzugsweise wird im Rahmen des Herstellungsprozesses des Steuergeräts in einer vertrauenswürdigen Umgebung ein Schlüsselpaar für ein „public/private keypair“-basiertes asymmetrisches Verschlüsselungsverfahren erzeugt, dessen privater Schlüssel ausschließlich im Hardwaresicherheitsmodul des Steuergeräts abgelegt wird und von dort nicht extrahiert werden kann. Die vertrauenswürdige Umgebung kann die Infrastruktur eines Herstellers sein, die einmalig und ggf. kryptographisch über einen Startschlüssel gesichert den privaten Schlüssel in das Hardwaresicherheitsmodul überträgt und anschließend jede eigene Kopie vernichtet. Der individuelle öffentliche Schlüssel kann unter Nutzung eines das Steuergerät eindeutig identifizierenden Identifikationsmerkmals aufbewahrt werden, um beispielsweise später auf Anforderung durch die Anforderungseinheit an diese übermittelt werden zu können.Preferably, during the manufacturing process of the control unit, a key pair for a public/private key pair-based asymmetric encryption method is generated in a trusted environment. The private key is stored exclusively in the control unit's hardware security module and cannot be extracted from there. The trusted environment can be a manufacturer's infrastructure, which, once and optionally with cryptographic security via a start key, transfers the private key to the hardware security module and subsequently destroys any copies it makes. The individual public key can be stored using an identifier that uniquely identifies the control unit, for example, so that it can be transmitted to the requesting unit later upon request.
Alternativ zur Einbringung des Schlüsselmaterials in das Hardwaresicherheitsmodul des Steuergeräts ist es auch besonders vorteilhaft möglich, das Schlüsselpaar im Hardwaresicherheitsmodul selbst zu erzeugen, den privaten Schlüssel ausschließlich dort abzulegen (er verlässt das Hardwaresicherheitsmodul nie) und den öffentlichen Schlüssel an die vertrauenswürdige Herstellungsinfrastruktur zu übermitteln. Letztere verfährt dann wie oben beschrieben. Ein nachträgliches Ersetzen des Schlüsselpaars durch ein weiteres nachträglich erzeugtes (z. B. extern oder anderweitig erzeugtes) Schlüsselpaar ist ausgeschlossen.As an alternative to embedding the key material in the ECU's hardware security module, it is also particularly advantageous to generate the key pair within the hardware security module itself, store the private key exclusively there (it never leaves the hardware security module), and transmit the public key to the trusted manufacturing infrastructure. The latter then proceeds as described above. Subsequent replacement of the key pair with another subsequently generated (e.g., externally or otherwise) key pair is impossible.
Zusätzlich sicherheitserhöhend wirkt die Maßnahme, das erzeugte Schlüsselpaar sowie das Identifikationsmerkmal seitens der vertrauenswürdigen Herstellungsinfrastruktur ebenfalls mit „public/private-key“-Verfahren zu beglaubigen.An additional measure to increase security is to also authenticate the generated key pair and the identification feature using "public/private key" procedures by the trusted manufacturing infrastructure.
Dementsprechend umfasst in weiteren vorteilhaften Ausführungsformen das Anfordern der Integritätsprüfung durch die Anforderungseinheit das Anfordern und Bereitstellen des steuergerätbezogenen öffentlichen Schlüssels mittels eines dem Steuergerät zugeordneten individuellen Identifikationsmerkmals (z. B. Seriennummer) aus einer Datensammlung (z. B. Tabelle, Datenbank o. ä.) mehrerer steuergerätbezogener öffentlicher Schlüssel. Die Datensammlung kann von einer in Bezug auf die Anforderungseinheit externen weiteren Einheit bereitgestellt sein, beispielsweise durch einen von einem Backend bereitgestellten Dienst.Accordingly, in further advantageous embodiments, the request for the integrity check by the requesting unit comprises requesting and providing the ECU-related public key by means of an individual identification feature (e.g., serial number) assigned to the ECU from a data collection (e.g., table, database, etc.) of several ECU-related public keys. The data collection can be provided by another entity external to the requesting unit, for example, by a service provided by a backend.
In einer anderen Ausführungsform wird durch das Hardwaresicherheitsmodul als das Prüfungsresultat ein/eine aus dem Speicherinhalt des wenigstens einen vorbestimmbaren Bereichs des Speichers gebildeter Hashwert oder gebildete Prüfsumme festgelegt. Das heißt der gebildete Hashwert und/oder die Prüfsumme bilden unmittelbar das Prüfungsresultat.In another embodiment, the hardware security module defines the test result as a hash value or checksum generated from the memory contents of at least one predetermined area of the memory. That is, the generated hash value and/or checksum directly constitute the test result.
In einer alternativen Ausführungsform wird durch das Hardwaresicherheitsmodul als das Prüfungsresultat ein zweiwertiges (binäres) Ergebnis eines Vergleichs eines/einer aus dem Speicherinhalt des wenigstens einen vorbestimmbaren Bereichs des Speichers gebildeten Hashwerts oder Prüfsumme mit entsprechenden in einem manipulationssicheren Speicher des Hardwaresicherheitsmoduls gespeicherten Hash- bzw. Prüfsummenvergleichswerten festgelegt, wobei das Ergebnis des Vergleichs positiv ist und die Integrität des Steuergeräts anzeigt, wenn die miteinander verglichenen Werte übereinstimmen, und andernfalls negativ ist und eine Kompromittierung des Steuergeräts anzeigt. Die Ausführung des Integritätsprüfvorgangs kann auf diese Weise „eigenmotiviert“ durchgeführt und ausgewertet werden (sog. „on-board attestation“), z. B. bei einem Startprozess des Steuergeräts oder auch zyklisch. Einen beispielhaften Anwendungsfall für diese Ausprägung stellt aufgrund sehr hoher Sicherheitsanforderungen die Qualifikation hochautomatisierter Fahrfunktionen dar, indem diese jeweils vor ihrer Nutzung einer Prüfung automatisch unterzogen werden.In an alternative embodiment, the hardware security module outputs as the test result a binary result of a comparison of a hash value or checksum formed from the memory content of at least one predeterminable area of the memory with corresponding values stored in a tamper-proof memory of the hardware security module. Stored hash or checksum comparison values are defined, whereby the result of the comparison is positive and indicates the integrity of the control unit if the compared values match, and negative otherwise, indicating a compromise of the control unit. The integrity check can thus be performed and evaluated autonomously (so-called "on-board attestation"), e.g., during a control unit startup process or cyclically. Due to very high safety requirements, an exemplary application of this approach is the qualification of highly automated driving functions, by automatically subjecting them to a test before each use.
Der oder die Vergleichswert(e) können während des Einbringungsprozesses authentischer Software in das Steuergerät gemeinsam mit dieser abgelegt werden, solange der Erstellungs- und Einbringungsprozess in vertrauenswürdiger Umgebung erfolgt und kryptographisch abgesichert ist. Auch eine in situ-Erzeugung bei der Einbringung der Software ist möglich.The reference value(s) can be stored together with the authentic software during the software installation process in the control unit, provided that the creation and installation process takes place in a trusted environment and is cryptographically secured. In-situ generation during software installation is also possible.
Für den Fall, dass dies nicht gewährleistet werden kann oder die Einbringung von nicht authentischer Software samt ihrer kryptographischen Hashwerte dennoch gelungen ist (durch Brechen der Sicherheitsmechanismen), ist es vorteilhaft, nicht nur das binäre Vergleichsergebnis auszuleiten, sondern den ermittelten kryptografischen Hashwert als solchen (off-board attestation). Die Auswertung erfolgt dann durch die Anforderungseinheit durch Vergleich des übermittelten (unsicheren) Hashwerts mit den der Anforderungseinheit bekannten Hashwerten authentischer Software.In the event that this cannot be guaranteed, or if the introduction of inauthentic software along with its cryptographic hash values has nevertheless succeeded (by circumventing security mechanisms), it is advantageous to extract not only the binary comparison result, but also the determined cryptographic hash value itself (off-board attestation). The evaluation is then performed by the requesting entity by comparing the transmitted (insecure) hash value with the hash values of authentic software known to the requesting entity.
Eine weitere vorteilhafte Ausführungsform sieht vor, dass das Ergebnis des Vergleichs durch das Hardwaresicherheitsmodul in dem manipulationssicheren Speicher des Hardwaresicherheitsmoduls gespeichert wird. So kann das Prüfungsresultat ggf. zu Nachweiszwecken manipulationssicher im Hardwaresicherheitsmodul dokumentiert werden, insbesondere bei eigenmotivierten Integritätsprüfungen durch das Steuergerät bzw. das Hardwaresicherheitsmodul.Another advantageous embodiment provides that the result of the comparison is stored by the hardware security module in its tamper-proof memory. This allows the test result to be documented securely in the hardware security module for verification purposes, particularly in the case of self-initiated integrity checks by the control unit or the hardware security module.
In bevorzugten anderen Ausführungsformen wird das Validierungsergebnis durch die Anforderungseinheit mit einer authentischen Zeitinformation eines der Anforderungseinheit zugeordneten Zeitgebers versehen. Auf diese Weise kann der Prüfungszeitpunkt verfälschungsfrei nachgewiesen werden.In preferred other embodiments, the validation result is provided by the requesting unit with authentic time information from a timer assigned to the requesting unit. In this way, the test time can be verified without falsification.
Weiterhin gemäß einer vorteilhaften Ausführungsform wird der Bereich des Speichers des Steuergeräts von der Anforderungseinheit vorbestimmt und entsprechend mit dem Anfordern der Integritätsprüfung beim Steuergerät übermittelt. Basierend auf dem Speicherinhalt des vorbestimmten Speicherbereichs bildet das Hardwaresicherheitsmodul das Prüfungsresultat. Die konkrete Vorgabe des der Prüfung zu unterziehenden Speicherabschnitts bzw. Speicherbereichs durch die Anforderungseinheit ist damit für das zu prüfende Steuergerät im Voraus unbekannt. Darüber hinaus kann die Auswahl des konkreten Speicherbereichs bei jeder Prüfung zufällig erfolgen. Es besteht keine nicht erkennbare Manipulationsmöglichkeit durch Aufzeichnung oder Kopieren des übermittelten Prüfungsresultats eines integren Steuergeräts mit dem Zweck der Vortäuschung des integren Zustands nach vorgenommener Manipulation desselben Geräts oder eines anderen Geräts mittels nach späterer Anforderung erfolgenden Wiederabspielens.Furthermore, according to an advantageous embodiment, the memory area of the control unit is predetermined by the requesting unit and transmitted accordingly when requesting the integrity check from the control unit. Based on the memory content of the predetermined memory area, the hardware security module generates the test result. The specific memory section or area to be tested is thus unknown to the control unit in advance. Moreover, the selection of the specific memory area can be random for each test. There is no possibility of undetected manipulation by recording or copying the transmitted test result of an intact control unit for the purpose of feigning an intact state after manipulation of the same or a different device by means of subsequent replay upon a request.
Des Weiteren ist Gegenstand der Erfindung ein System zur Integritätsprüfung eines Steuergeräts, insbesondere eines Steuergeräts für ein Fahrzeug, welches das Steuergerät, das einen Speicher für Programmanweisungen und Daten (d. h. Anwendungsdaten), einen Prozessor zur Ausführung der Programmanweisungen sowie zur Verarbeitung der Daten und ein Hardwaresicherheitsmodul aufweist, und eine Anforderungseinheit zum Anfordern der Integritätsprüfung beim Steuergerät aufweist, wobei die Anforderungseinheit und das Steuergerät ausgebildet sind, unter kommunikationsvermittelnder Zwischenschaltung des Prozessors des Steuergeräts eine Kommunikationsverbindung zwischen der Anforderungseinheit und dem Hardwaresicherheitsmodul des Steuergeräts herzustellen und ein Verfahren nach einer der hierin offenbarten Ausführungsformen auszuführen.Furthermore, the invention relates to a system for integrity testing of a control unit, in particular a control unit for a vehicle, which comprises the control unit having a memory for program instructions and data (i.e., application data), a processor for executing the program instructions and for processing the data, and a hardware security module, and a request unit for requesting the integrity test from the control unit, wherein the request unit and the control unit are configured to establish a communication link between the request unit and the hardware security module of the control unit via the communication-mediating intermediary of the control unit's processor, and to execute a method according to one of the embodiments disclosed herein.
Es ist zu verstehen, dass bezüglich systembezogener Begriffsdefinitionen sowie der Wirkungen und Vorteile systemgemäßer Merkmale vollumfänglich auf die Offenbarung sinngemäßer Definitionen, Wirkungen und Vorteile des erfindungsgemäßen Verfahrens zurückgegriffen werden kann und umgekehrt. Auf eine Wiederholung von Erläuterungen sinngemäß gleicher Merkmale, deren Wirkungen und Vorteile kann somit zugunsten einer kompakteren Beschreibung verzichtet werden, ohne dass derartige Auslassungen als Einschränkung für einen der offenbarten Erfindungsgegenstände auszulegen wären.It is understood that, with regard to system-related definitions of terms as well as the effects and advantages of system-related features, full reference can be made to the disclosure of analogous definitions, effects, and advantages of the method according to the invention, and vice versa. A repetition of explanations of analogous features, their effects, and advantages can therefore be omitted in favor of a more concise description, without such omissions being to be interpreted as a limitation of any of the disclosed subject matter of the invention.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung eines nicht einschränkend zu verstehenden Ausführungsbeispiels der Erfindung, die im Folgenden unter Bezugnahme auf die Zeichnung näher erläutert wird. In dieser Zeichnung zeigen schematisch:
-
1A eine erste Hälfte eines Ablaufdiagramms eines Verfahrens nach einer Ausführungsform der Erfindung sowie ein System nach einer Ausführungsform der Erfindung; und -
1B die zweite Hälfte des Ablaufdiagramms des Verfahrens aus1A .
-
1A a first half of a flowchart of a procedure after an execution a form of the invention and a system according to an embodiment of the invention; and -
1B the second half of the flowchart of the procedure1A .
In den unterschiedlichen Figuren sind hinsichtlich ihrer Funktion gleichwertige Teile stets mit denselben Bezugszeichen versehen, so dass diese in der Regel auch nur einmal beschrieben werden.In the different figures, parts that are equivalent in function are always provided with the same reference symbols, so that they are usually only described once.
Das System 40 weist das Steuergerät 10, z. B. ein Steuergerät eines nicht näher gezeigten Fahrzeugs, auf, das wiederum einen Speicher 11 für Programmanweisungen und Daten (z. B. Parameterwerte), einen Prozessor 12 zur Ausführung der Programmanweisungen sowie zur Verarbeitung der Daten und ein Hardwaresicherheitsmodul 15 aufweist. Des Weiteren weist das System 40 eine Anforderungseinheit 20 zum Anfordern der Integritätsprüfung beim Steuergerät 10 auf, die im vorliegenden Beispiel als steuergerätexternes Testgerät ausgebildet ist. Die Anforderungseinheit 20 und das Steuergerät 10 sind ausgebildet, unter kommunikationsvermittelnder Zwischenschaltung des Prozessors 12 des Steuergeräts 10 eine Kommunikationsverbindung zwischen der Anforderungseinheit 20 und dem Hardwaresicherheitsmodul 15 des Steuergeräts 10 herzustellen und ein Verfahren nach einer der hierin offenbarten Ausführungsformen auszuführen.System 40 comprises control unit 10, e.g., a control unit of a vehicle not shown in detail, which in turn comprises a memory 11 for program instructions and data (e.g., parameter values), a processor 12 for executing the program instructions and processing the data, and a hardware security module 15. Furthermore, system 40 comprises a request unit 20 for requesting the integrity check from control unit 10, which in this example is configured as an external test device. The request unit 20 and the control unit 10 are configured to establish a communication link between the request unit 20 and the hardware security module 15 of the control unit 10 via the communication-mediating intermediary of the processor 12 of the control unit 10 and to execute a method according to one of the embodiments disclosed herein.
Insbesondere fordert die Anforderungseinheit 20 in einem Schritt 100 die Integritätsprüfung beim Steuergerät 10 an, die durch das Hardwaresicherheitsmodul 15 unter kommunikationsvermittelnder Zwischenschaltung des Prozessors 12 (vgl. Schritte 102, 140) ausgeführt wird. Basierend auf einem Speicherinhalt eines vorbestimmbaren Bereichs des Speichers 11, der beispielsweise von der Anforderungseinheit 20 vorgegeben werden kann, ohne jedoch zwingend hierauf beschränkt zu sein, bildet das Hardwaresicherheitsmodul 15 in einem Schritt 110 ein Prüfungsresultat R. Basierend auf wenigstens dem Prüfungsresultat R erzeugt das Hardwaresicherheitsmodul 15 in einem Schritt 120 einen zugeordneten kryptografischen Hashwert H. In einem Schritt 130 gibt das Hardwaresicherheitsmodul 15 das Prüfungsresultat R sowie den Hashwert H an den Prozessor 12 zurück. Hierzu können die beiden Werte in einem Schritt 129 miteinander verknüpft/kombiniert werden. In particular, in step 100, the request unit 20 requests an integrity check from the control unit 10, which is performed by the hardware security module 15 with the communication-mediating intermediary of the processor 12 (see steps 102, 140). Based on the contents of a predefined area of memory 11, which can be specified by the request unit 20, but is not necessarily limited to this, the hardware security module 15 generates a test result R in step 110. Based on at least the test result R, the hardware security module 15 generates an associated cryptographic hash value H in step 120. In step 130, the hardware security module 15 returns the test result R and the hash value H to the processor 12. For this purpose, the two values can be linked/combined in step 129.
Diese werden der Anforderungseinheit 20 anschließend in einem Schritt 140 als unsicheres Prüfungsresultat R* und unsicherer Hashwert H* übermittelt. Die verknüpften übermittelten Werte R*, H* können von der Anforderungseinheit 20 in einem Schritt 141 wieder zerlegt werden. Anschließend validiert die Anforderungseinheit 20 das übermittelte unsichere Prüfungsresultat R*, indem sie basierend auf dem übermittelten unsicheren Prüfungsresultat R* in einem Schritt 150 den zugeordneten kryptografischen Hashwert H selbst erzeugt und diesen in einem Schritt 160 mit dem übermittelten unsicheren Hashwert H* vergleicht. Die Integrität des Steuergeräts 10 wird bestimmt, wenn ein Validierungsergebnis V positiv ausfällt, d. h. die beiden in Schritt 160 verglichenen Hashwerte H und H* übereinstimmen. Andernfalls, das heißt, wenn das Validierungsergebnis V negativ ausfällt, wird das Steuergerät 10 als kompromittiert bestimmt. Das Validierungsergebnis V wird von der Anforderungseinheit 20 beispielsweise zur Weiterverarbeitung bereitgestellt.These are then transmitted to request unit 20 in step 140 as an insecure test result R* and an insecure hash value H*. The linked transmitted values R* and H* can be decomposed again by request unit 20 in step 141. Subsequently, request unit 20 validates the transmitted insecure test result R* by generating the associated cryptographic hash value H itself in step 150 based on the transmitted insecure test result R* and comparing it with the transmitted insecure hash value H* in step 160. The integrity of the control unit 10 is determined if a validation result V is positive, i.e., if the two hash values H and H* compared in step 160 match. Otherwise, that is, if the validation result V is negative, the control unit 10 is determined to be compromised. The validation result V is then made available by request unit 20, for example, for further processing.
Das Validierungsergebnis V kann in Schritt 160 optional durch die Anforderungseinheit 20 mit einer authentischen Zeitinformation T eines Zeitgebers 22 versehen werden.The validation result V can optionally be provided in step 160 by the request unit 20 with authentic time information T from a timer 22.
Dem Steuergerät 10 ist ein individuelles Identifikationsmerkmal ID (z. B. Seriennummer) zugeordnet. Das Steuergerät 10 weist eine Außenschnittstelle auf (vgl. Schritte 102, 140), über die mit der Anforderungseinheit 20 bidirektional kommuniziert werden kann.Control unit 10 is assigned an individual identification feature (ID, e.g., serial number). Control unit 10 has an external interface (see steps 102, 140) through which bidirectional communication with request unit 20 is possible.
Der Prozessor 12 bietet die Möglichkeit zur bidirektionalen Kommunikation mit der Anforderungseinheit 20 und bietet der Anforderungseinheit 20 die Ausführung verschiedener Dienste an, insbesondere eine Ausleitung der Prüfungsresultate R der internen Authentizitäts-/Integritätsprüfungen und eine Ausleitung von kryptographisch sicheren Hashwerten H über von der Anforderungseinheit 20 vorgegebene Speicherbereiche. Darüber hinaus kann der Prozessor 12 mit dem Hardwaresicherheitsmodul 15 kommunizieren und insbesondere von diesem angebotene Dienste, z. B. zur Verschlüsselung oder dem kryptographisch sicheren Hashing von Datenblöcken, in Anspruch nehmen.The processor 12 offers bidirectional communication with the request unit 20 and provides the request unit 20 with the execution of various services, in particular the output of the test results R of the internal authentication/integrity checks and the output of cryptographically secure hash values H over memory areas specified by the request unit 20. Furthermore, the processor 12 can communicate with the hardware security module 15 and, in particular, utilize services offered by it, e.g., for encryption or cryptographically secure hashing of data blocks.
Ohne zwingend hierauf beschränkt zu sein, wird bei dem in den
Ohne zwingende Beschränkung hierauf umfasst bei dem in den
Hierzu fordert die Anforderungseinheit 20 in einem Schritt 103 den dem zu prüfenden Steuergerät 10 zugeordneten öffentlichen Schlüssel Kpub,ID mittels des dem Steuergerät 10 zugeordneten individuellen Identifikationsmerkmals ID aus einer Datensammlung Kpub,ID0.n mehrerer steuergerätbezogener öffentlicher Schlüssel an. Die Datensammlung Kpub,ID0.n wird im vorliegenden Fall von einem Backend 30 bereitgestellt, ohne jedoch zwingend hierauf beschränkt zu sein. Die Datensammlung Kpub,ID0.n könnte alternativ in der Anforderungseinheit 20 gespeichert sein. Vorliegend ermittelt das Backend 30 in einem Schritt 104 anhand der ID den öffentlichen Schlüssel Kpub,ID aus der Datensammlung Kpub,ID0.n und übermittelt diesen in einem Schritt 105 an die Anforderungseinheit 20.For this purpose, in step 103, the request unit 20 requests the public key K pub,ID assigned to the control unit 10 to be tested, using the individual identification feature ID assigned to the control unit 10, from a data collection K pub,ID0.n containing several control unit-related public keys. In this case, the data collection K pub,ID0.n is provided by a backend 30, but is not necessarily limited to this. The data collection K pub,ID0.n could alternatively be stored in the request unit 20. In this case, in step 104, the backend 30 determines the public key K pub,ID from the data collection K pub,ID0.n using the ID and transmits it to the request unit 20 in step 105.
Bei dem in
Optional ist ein Vergleich des über den Speicherinhalt gebildeten Hashwerts bzw. der gebildeten Prüfsumme mit in einem manipulationssicheren Speicher 16 des Hardwaresicherheitsmoduls 15 gespeicherten Hash- bzw. Prüfsummenvergleichswerten Σx möglich, wobei ein Ergebnis des Vergleichs positiv ist und die Integrität des Steuergeräts 10 anzeigt, wenn die miteinander verglichenen Werte übereinstimmen, und andernfalls negativ ist und eine Kompromittierung des Steuergeräts 10 anzeigt.Optionally, a comparison of the hash value or checksum formed from the memory content with hash or checksum comparison values Σx stored in a tamper-proof memory 16 of the hardware security module 15 is possible, whereby a result of the comparison is positive and indicates the integrity of the control unit 10 if the compared values match, and is otherwise negative and indicates a compromise of the control unit 10.
Das Ergebnis des Vergleichs kann optional durch das Hardwaresicherheitsmodul 15 in dem manipulationssicheren Speicher 16 oder einem weiteren manipulationssicheren Speicher MR gespeichert werden, wie in
Die Anforderungseinheit 20 des in den
Das Hardwaresicherheitsmodul 15 beinhaltet die Möglichkeit zur asymmetrischen Ver- und Entschlüsselung der Kommunikation und verfügt über den privaten Teil Kpriv,ID des individuellen Schlüsselpaares für die asymmetrische Verschlüsselung bzw. Signatur. Außerdem bewahrt es eine Kopie des Identifikationsmerkmals ID des Steuergeräts 10. Das Hardwaresicherheitsmodul 15 ist ferner in der Lage, auf die im zu prüfenden Steuergerät 10 gespeicherten Anwendungsdaten ohne Vermittlung des Prozessors 12 lesend zuzugreifen, bietet einen Dienst zur kryptographisch sicheren Hashwertbildung von Datenblöcken und Kommunikationsinhalten, stellt mit Ausnahme des privaten Schlüsselmaterials den im Prozessor 12 lokalisierten Diensten über eine sichere Hardwareschnittstelle und eine zugehörige Software-API die o. e. unterlagerten Funktionen und Informationen zur Verfügung und ist dem zu prüfenden Steuergerät 10 und dessen Speicher 11 eindeutig und fest zugeordnet.The hardware security module 15 includes the capability for asymmetric encryption and decryption of communication and contains the private part K <sub>priv,ID</sub> of the individual key pair for asymmetric encryption or signature. It also stores a copy of the identification feature ID of the control unit 10. Furthermore, the hardware security module 15 is capable of read access to the application data stored in the control unit 10 under test without the mediation of the processor 12, offers a service for cryptographically secure hash value generation of data blocks and communication content, and, with the exception of the private key material, provides access to the services located in the processor 12 via a A secure hardware interface and an associated software API provide the underlying functions and information and are uniquely and permanently assigned to the control unit 10 to be tested and its memory 11.
Im Laufe des Herstellungsprozesses des Steuergeräts 10 wird die softwareseitige Individualisierung des Steuergeräts 10 vorgenommen. Es wird mindestens ein Individualisierungsmerkmal ID erzeugt, das ein Geräteexemplar eindeutig identifiziert und die Zugehörigkeit ausgeleiteter Informationen zu einem einzigen Geräteexemplar und ggf. zu der Umgebung, in die es verbaut wird (z. B. ein Fahrzeug), erkennbar macht.During the manufacturing process of the control unit 10, the software-based individualization of the control unit 10 is carried out. At least one individualization feature ID is generated, which uniquely identifies a device unit and makes it possible to recognize the belonging of extracted information to a single device unit and, if applicable, to the environment in which it is installed (e.g., a vehicle).
Im Falle der Geräteindividualisierung kann dies eine unveränderliche Seriennummer sein. In jedem Fall ist dafür Sorge zu tragen, dass die Information sicher erzeugt, ggf. übertragen und im Hardwaresicherheitsmodul 15 gespeichert wird.In the case of device customization, this can be an unchangeable serial number. In any case, care must be taken to ensure that the information is securely generated, transmitted if necessary, and stored in the hardware security module 15.
Die Einbringung des Individualisierungsmerkmals ID ist an mehreren Stationen des Herstellungsprozesses (Geräteherstellung beim Lieferanten, Integration in das Gesamtprodukt beim OEM etc.), ggf. auch mehrfach möglich.The individualization feature ID can be introduced at several stages of the manufacturing process (device manufacturing at the supplier, integration into the overall product at the OEM, etc.), possibly even multiple times.
Als Alternative ist ein im Hardwaresicherheitsmodul 15 bereits ab Produktion des Halbleiters vorhandenes Individualisierungsmerkmal (Seriennummer) nutzbar. Dieses kann beispielsweise nach Umsetzung in einer Tabelle, welche beim Hersteller des zu prüfenden Steuergeräts 10 dauerhaft vorliegt, nutzbar sein. Die Tabelle setzt das vorhandene Merkmal (Halbleiterseriennummer) auf ein Individualisierungsmerkmal ID um, das für die Zwecke des OEM besser geeignet ist (beispielsweise eine Geräteseriennummer).Alternatively, an individualization feature (serial number) already present in the hardware security module 15 from the time of semiconductor production can be used. This can be used, for example, after being converted into a table that is permanently available at the manufacturer of the control unit 10 to be tested. The table converts the existing feature (semiconductor serial number) into an individualization feature ID that is better suited for the OEM's purposes (for example, a device serial number).
Das Hardwaresicherheitsmodul 15 ist in der Lage, auf den Speicher 11 (z. B. Flash) des Prozessors 12 ohne dessen Vermittlung lesend zuzugreifen. Es kann somit Prüfsummen und kryptographisch sichere Hashwerte über beliebige Abschnitte (Adressbereiche) des Speichers 11 erzeugen, insbesondere über von außen wahlfrei vorgebbare Bereiche (z. B. durch die Anforderungseinheit 20) oder über den gesamten Speicherraum. Dies kann während der Laufzeit parallel zur Ausführung von Programmanweisungen durch den Prozessor 12, in einem Hochstartablauf (Bootvorgang) oder in einem speziellen Betriebsmodus des Steuergeräts 10 erfolgen.The hardware security module 15 is capable of reading from the memory 11 (e.g., flash) of the processor 12 without its mediation. It can thus generate checksums and cryptographically secure hash values over any section (address range) of the memory 11, in particular over externally specified areas (e.g., by the request unit 20) or over the entire memory space. This can occur during runtime in parallel with the execution of program instructions by the processor 12, during a startup process (boot procedure), or in a special operating mode of the control unit 10.
Da der Prozessor 12 des Steuergeräts 10 grundsätzlich als Teil einer unsicheren Übertragungsstrecke angesehen wird (er könnte durch Manipulation der durch ihn ausgeführten Programmanweisungen kompromittiert sein), muss ausgeschlossen werden, dass durch ihn eine Verfälschung der übertragenen Informationen (d. h. der Prüfungsresultate) erfolgt, ohne dass dies erkannt werden kann. Dies ist dadurch möglich, dass jeder Information, die vom Hardwaresicherheitsmodul 15 übertragen wird, ein kryptographisch sicherer Hashwert H beigefügt wird, der mit dem privaten Teil Kpriv,ID des Schlüsselpaars, der lediglich im Hardwaresicherheitsmodul 15 vorliegt, verschlüsselt bzw. signiert wird. Durch Entschlüsseln mit dem öffentlichen Teil Kpub,ID (welcher der Anforderungseinheit 20 nach Zuordnung über das Individualisierungsmerkmal ID des zu prüfenden Steuergeräts 10 vorliegt) und Vergleich mit dem lokal in der Anforderungseinheit 20 erzeugten Hashwert H kann die Integrität und Urheberschaft zweifelsfrei geprüft werden. Eine Abweichung wird als „worst case“-Resultat „Manipulation erkannt“ interpretiert.Since the processor 12 of the control unit 10 is fundamentally considered part of an insecure transmission path (it could be compromised by manipulation of the program instructions it executes), it must be ensured that it does not falsify the transmitted information (i.e., the test results) without this being detectable. This is achieved by appending a cryptographically secure hash value H to each piece of information transmitted by the hardware security module 15. This hash value is encrypted or signed with the private part K priv,ID of the key pair, which exists only in the hardware security module 15. By decrypting with the public part K pub,ID (which is available to the request unit 20 after assignment via the individualization feature ID of the control unit 10 being tested) and comparing it with the hash value H generated locally in the request unit 20, the integrity and authorship can be verified beyond doubt. A discrepancy is interpreted as the "worst-case" result "manipulation detected".
BEZUGSZEICHENLISTE:REFERENCE MARK LIST:
- 1010
- Steuergerätcontrol unit
- 1111
- Speicher für Programmanweisungen und DatenMemory for program instructions and data
- 1212
- Prozessorprocessor
- 1515
- HardwaresicherheitsmodulHardware security module
- 1616
- Manipulationssicherer SpeicherTamper-proof storage
- 2020
- AnforderungseinheitRequirement unit
- 2121
- Bereitstellung IdentifikationsmerkmalProvision of identification feature
- 2222
- ZeitgeberTimer
- 3030
- BackendBackend
- 4040
- Systemsystem
- HH
- Kryptografischer HashwertCryptographic hash value
- IDID
- Individuelles IdentifikationsmerkmalIndividual identification feature
- KK
- Verschlüsselter WertEncrypted value
- Kpriv,IDKpriv,ID
- Steuergerätbezogener privater SchlüsselECU-specific private key
- Kpub,IDKpub,ID
- Steuergerätbezogener öffentlicher SchlüsselECU-related public key
- Kpub,ID0.nKpub,ID0.n
- Datensammlung steuergerätbezogener öffentlicher SchlüsselData collection of control unit-related public keys
- MRMR
- Manipulationssicherer SpeicherTamper-proof storage
- RR
- PrüfungsresultatExam result
- ΣxΣx
- Hash- oder PrüfsummenvergleichswertHash or checksum comparison value
- TT
- ZeitinformationTime information
- VV
- ValidierungsergebnisValidation result
- ZZ
- ZufallswertRandom value
- [A-Z][A-Z]
- Vertrauenswürdiger, unverfälschter InhaltTrustworthy, unadulterated content
- [A-Z]*[A-Z]*
- Unsicherer, möglicherweise verfälschter InhaltUnsafe, potentially falsified content
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 10 2010 033 229 A1 [0006]DE 10 2010 033 229 A1 [0006]
- DE 10 2012 206 272 A1 [0007]DE 10 2012 206 272 A1 [0007]
Claims (11)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102024116338.0A DE102024116338A1 (en) | 2024-06-11 | 2024-06-11 | Procedure for integrity testing of a control unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102024116338.0A DE102024116338A1 (en) | 2024-06-11 | 2024-06-11 | Procedure for integrity testing of a control unit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE102024116338A1 true DE102024116338A1 (en) | 2025-12-11 |
Family
ID=97753665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102024116338.0A Pending DE102024116338A1 (en) | 2024-06-11 | 2024-06-11 | Procedure for integrity testing of a control unit |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE102024116338A1 (en) |
-
2024
- 2024-06-11 DE DE102024116338.0A patent/DE102024116338A1/en active Pending
Non-Patent Citations (3)
| Title |
|---|
| LING, Z. [et al.]: Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes. In: Journal of Systems Architecture, Vol. 119, 2021. DOI: 10.1016/j.sysarc.2021.102240 * |
| PARNO, B. [et al.]: Bootstrapping Trust in Commodity Computers. In: 2010 IEEE Symposium on Security and Privacy, 2010, S. 414-429. IEEE Xplore [online]. DOI: 10.1109/SP.2010.32 * |
| Trusted timestamping. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 19.04.2024. URL: https://en.wikipedia.org/w/index.php?title=Trusted_timestamping&oldid=1214522492 [abgerufen am 08.01.2025] * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3655880B1 (en) | Hardware system having a block chain | |
| DE102012110499B9 (en) | Safety access procedure for electronic automotive control units | |
| EP2367128B1 (en) | Device and method for electronic signatures | |
| WO2018167253A1 (en) | Logging of condition data of a device in a blockchain | |
| EP3498544B1 (en) | Method and computer program for unlocking a vehicle component and a vehicle | |
| DE102020121533A1 (en) | TRUSTED AUTOMOTIVE AUTOMOTIVE MICROCON TROLLERS | |
| DE69737905T2 (en) | Validation of cryptographic public key for smart cards | |
| EP3417395B1 (en) | Proving authenticity of a device with the aid of proof of authorization | |
| WO2008086958A1 (en) | Method and device for securing a document comprising an inserted signature image and biometric data in a computer system | |
| DE102004032057A1 (en) | Method and device for generating a secret session key | |
| DE102012208834A1 (en) | Authentication of a product to an authenticator | |
| DE112018007132T5 (en) | In-vehicle function access control system, in-vehicle device and in-vehicle function access control method | |
| DE102016210788A1 (en) | Component for processing a worthy of protection date and method for implementing a security function to protect a worthy of protection date in such a component | |
| DE102018213616A1 (en) | Cryptography module and operating method therefor | |
| EP3725055A1 (en) | Devices, methods, and computer program for releasing vehicle components, and vehicle-to-vehicle communication module | |
| DE102015202215A1 (en) | Device and method for safe operation of the device | |
| DE102024116338A1 (en) | Procedure for integrity testing of a control unit | |
| DE10020563C2 (en) | Procedures for creating and checking forgery-proof documents | |
| DE102019130067B4 (en) | Method for carrying out permission-dependent communication between at least one field device in automation technology and an operating device | |
| DE102022206796A1 (en) | Device, method, computer program for secure, highly available transmission of messages, vehicle comprising the device | |
| DE102024001630B3 (en) | Procedure for validating a signature | |
| EP4297334B1 (en) | Method for the implementation and use of cryptographic material in at least one system component of an information technology system | |
| DE102022210422B4 (en) | Method for transferring a data set between a tachograph and a control unit | |
| DE102019105246B4 (en) | AUTHENTICATION CODE VERIFICATION DEVICE AND METHOD FOR VERIFYING AN AUTHENTICATION CODE WORD | |
| DE102022003160A1 (en) | Methods for authenticating data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R012 | Request for examination validly filed | ||
| R016 | Response to examination communication |