DE102022207547A1 - Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit - Google Patents

Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit Download PDF

Info

Publication number
DE102022207547A1
DE102022207547A1 DE102022207547.1A DE102022207547A DE102022207547A1 DE 102022207547 A1 DE102022207547 A1 DE 102022207547A1 DE 102022207547 A DE102022207547 A DE 102022207547A DE 102022207547 A1 DE102022207547 A1 DE 102022207547A1
Authority
DE
Germany
Prior art keywords
computing units
unit
computing
digital signature
computing unit
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
DE102022207547.1A
Other languages
English (en)
Inventor
Michael-Juergen HOFMANN
Michael Moeller
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022207547.1A priority Critical patent/DE102022207547A1/de
Publication of DE102022207547A1 publication Critical patent/DE102022207547A1/de
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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur verteilten Integritätsprüfung in einer Gruppe (10) mehrerer Recheneinheiten (2_1, 2_2, 2_3), wobei jede Recheneinheit einen Speicher (4_1, 4_2, 4_3) mit darin gespeicherten Daten als Speicherinhaltinhalt aufweist, wobei ein Referenzprüfwertsatz (14, 14_1, 14_2, 14_3) verwendet wird, der für jede der mehreren Recheneinheiten einen Referenzprüfwert (6_1, 6_2, 6_2) für den Speicherinhalt der Recheneinheit umfasst, wobei der Referenzprüfwertsatz (14) und eine digitale Signatur (18, 18_1, 18_2, 18_3) für den Referenzprüfwertsatz in jeder der mehreren Recheneinheiten bereitgestellt ist; wobei in jeder der Recheneinheiten jeweils ein aktueller Prüfwert (26_1, 26_2, 26_3) für den Speicherinhalt der jeweiligen Recheneinheit berechnet (150) und an wenigstes eine prüfende Recheneinheit, die wenigstens eine der mehreren Recheneinheiten ist, die von der jeweiligen Recheneinheit verschieden ist, übermittelt wird (160); wobei in der wenigstens einen prüfenden Recheneinheit, wenn in dieser die digitale Signatur für den Referenzprüfwertsatz als gültig bestimmt wurde, für jeden der von anderen Recheneinheiten übermittelten aktuellen Prüfwerte geprüft wird (170), ob dieser gegenüber dem entsprechenden Referenzprüfiniert unverändert ist.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten, eine Recheneinheit und eine vertrauenswürdige Einheit (insbesondere vertrauenswürdige Recheneinheit) sowie Computerprogramme zur Durchführung von Teilen des Verfahrens.
  • Hintergrund der Erfindung
  • Maschinen, insbesondere Fahrzeuge, können mehrere Steuergeräte umfassen, die dazu dienen, Steuerungsfunktionen zu implementieren, etwa Komponenten der Maschine zu steuern und/oder Daten der Maschine zu erfassen. Steuergeräte sind typischerweise Recheneinheiten, in denen Software bzw. Computerprogramme gespeichert sind, durch deren Ausführung die jeweiligen Steuerungsfunktionen implementiert werden. Ein wesentlicher Teil der Sicherheitsarchitektur der Maschine bzw. der Steuergeräte der Maschine besteht darin, die Ausführung manipulierter Software, d.h. manipulierter Computerprogramme, zu verhindern. Dazu kann die Integrität der Software, die durch die Steuergeräte ausgeführt wird, geschützt werden, d.h. eine Manipulation bzw. Veränderung der Software verhindert oder zumindest erkannt werden.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten, eine Recheneinheit und eine vertrauenswürdige Einheit (insbesondere vertrauenswürdige Recheneinheit) sowie Computerprogramme zur Durchführung von Teilen des Verfahrens mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung bedient sich der Maßnahme, in einer Gruppe mehrerer Recheneinheiten für jede Recheneinheit der Gruppe aktuelle Prüfwerte für deren Speicherinhalt durch andere Recheneinheiten der Gruppe, d.h. durch Recheneinheiten der Gruppe, die verschieden von der Recheneinheit mit dem zu prüfenden Speicherinhalt sind, dahingehend zu prüfen, ob diese mit entsprechenden Referenzprüfinierten übereinstimmen. Die Recheneinheiten der Gruppe überprüfen sich sozusagen gegenseitig. Eine Manipulation einer einzelnen Recheneinheit durch einen Angreifer kann durch die anderen Recheneinheiten erkannt werden. Dies ist vorteilhaft, da der Angreifer nicht nur eine einzelne oder einige wenige der Recheneinheiten manipulieren müsste, sondern eine Vielzahl von Recheneinheiten, insbesondere alle Recheneinheiten der Gruppe von Recheneinheiten.
  • Es wird ein Referenzprüfwertsatz verwendet, der für jede der mehreren Recheneinheiten einen Referenzprüfiniert für den Speicherinhalt umfasst, wobei eine digitale Signatur für den Referenzprüfwertsatz verwendet wird. Der Referenzprüfwertsatz und die digitale Signatur sind in den Recheneinheiten bereitgestellt bzw. vorhanden. Bevorzugt wird in jeder der Recheneinheiten unter Verwendung eines öffentlichen Schlüssels geprüft, ob oder ob nicht die empfangene digitale Signatur für den übermittelten Referenzprüfwertsatz gültig ist. Durch die Signatur wird sichergestellt, dass die Referenzprüfwerte korrekt übermittelt werden. Die vertrauenswürdige Einheit ist über ein drahtgebundenes oder drahtloses Datenkommunikationsnetzwerk mit den Recheneinheiten zur Datenkommunikation verbunden.
  • Es wird davon ausgegangen, dass die Recheneinheiten der Gruppe von Recheneinheiten durch ein Datenkommunikationsnetzwerk (z.B. einen Feldbus und/oder Ethernet und/oder serielle Schnittstellen und/oder Ähnliches) zum Datenaustausch miteinander verbunden sind. Jede Recheneinheit weist innerhalb der Gruppe eine eindeutige Kennung bzw. ID (Identifikations-Nummer bzw. -Zeichenkette) auf, die sie für andere Recheneinheiten und die vertrauenswürdige Einheit eindeutig identifizierbar macht.
  • Die Struktur des Referenzprüfwertsatzes ist den Recheneinheiten bekannt, jede Recheneinheit kann also die Referenzprüfwerte in dem Referenzprüfwertsatz identifizieren und entsprechenden Recheneinheiten zuordnen. Beispielsweise kann die Struktur vorbestimmt sein und die vorbestimmte Struktur den Recheneinheiten bekannt sein. Auch kann der Referenzprüfwertsatz entsprechende Metadaten umfassen, z.B. für jeden Referenzprüfiniert die ID der entsprechenden Recheneinheit.
  • Jede der Recheneinheiten umfasst einen Speicher, für dessen Speicherinhalt in jeder der Recheneinheiten jeweils ein aktueller Prüfwert berechnet und an wenigstes eine prüfende Recheneinheit, die wenigstens eine der mehreren Recheneinheiten ist, die von der jeweiligen Recheneinheit verschieden ist, übermittelt wird, wobei in der wenigstens einen prüfenden Recheneinheit, wenn in dieser die digitale Signatur für den Referenzprüfwertsatz als gültig bestimmt wurde, für jeden der von anderen Recheneinheiten übermittelten aktuellen Prüfwerte geprüft wird, ob dieser gegenüber dem entsprechenden Referenzprüfiniert unverändert ist. Vorzugsweise wirken alle (anderen) Recheneinheiten als prüfende Recheneinheiten. Mit zunehmender Anzahl von Recheneinheiten, die als prüfende Recheneinheit wirken, wird es für einen Angreifer zunehmend schwieriger, eine Manipulation vorzunehmen, da immer mehr Recheneinheiten der Gruppe in die Manipulation einbezogen werden müssen.
  • Jede Recheneinheit umfasst neben dem Speicher wenigstens einen Prozessor mit einem oder mehreren Rechenkernen, der dazu eingerichtet ist, im Speicher gespeicherte Computerprogramme auszuführen, um etwa die eigentliche Steuerungsfunktion einer als Steuergerät dienenden Recheneinheit zu implementieren. Die Berechnung der Prüfinierte (aktuelle Prüfwerte, Referenzprüfwerte), die Signaturprüfung, die Durchführung von Nachrichtenauthentifizierungsverfahren (MAC) und die Prüfung, ob aktuelle Prüfwerte mit den entsprechenden Referenzprüfwerten übereinstimmen, erfolgen unabhängig voneinander vorzugsweise durch ein Sicherheitsmodul der jeweiligen Recheneinheit. Der Prozessor, der Speicher und gegebenenfalls weitere Elemente der Recheneinheit, z.B. Schnittstellen und Ähnliches, können als „Host“ angesehen werden, bzw. diese stellen aus Sicht des Sicherheitsmoduls den Host dar. In diesem Zusammenhang kann der Speicher auch als Hostspeicher angesehen werden.
  • Das Sicherheitsmodul ist insbesondere ein Hardware-Sicherheits-Modul (HSM), d.h. im Wesentlichen durch Hardwareelemente implementiert (also nicht als im Host ausgeführtes Softwaremodul). Das Sicherheitsmodul stellt kryptographische Funktionen bereit, die von dem Host genutzt werden können, um sicherheitskritische Funktionen abzusichern, etwa die Kommunikation mehrerer Steuergeräte untereinander oder die Prüfung, ob Programmcode manipuliert wurde. Dazu verwaltet das Sicherheitsmodul insbesondere geheime Passwörter (Kennwörter) und/oder kryptographische Schlüssel und implementiert kryptographische Verfahren bevorzugt in Hardware. Diese Schlüssel werden vom Sicherheitsmodul in einem dafür vorgesehenen Bereich des Hostspeichers gespeichert und/oder in einem Sicherheitsmodul-Speicher gespeichert, d.h. einem eigenen Speicher des Sicherheitsmoduls. Das Sicherheitsmodul umfasst einen Sicherheitsmodul-Prozessor (der vom Prozessor des Hosts verschieden ist) und kann vom Host gesondert ausgeführt sein oder mit dem Host bzw. Prozessor des Hosts und dem Speicher in einem Chip integriert sein (Sicherheitsmodul und Host sind dann sozusagen durch verschiedene Prozessorkerne auf dem Chip gebildet).
  • Die Prüfwerte können mittels einer geeigneten Prüffunktion berechnet werden. Als Prüffunktion zur Berechnung der Prüfwerte kann eine Hashfunktion, insbesondere eine kryptographische Hashfunktion, verwendet werden, die Prüfwerte können dann als Hashwerte angesehen werden. Weitergehend kann die Prüffunktion das ein oder mehrmalige Anwenden wenigstens einer Hashfunktion, insbesondere wenigstens einer kryptographischen Hashfunktion, umfassen. Ebenso können Nachrichtenauthentifizierungscodes (massage authentication code, MAC) als Prüfwerte verwendet werden, deren Berechnung typischerweise ein Anwenden einer kryptographischen Hashfunktion einschließt.
  • Eine verwendete kryptographische Hashfunktion sollte eine oder mehrere der folgenden Eigenschaften aufweisen:
    • - jeder berechnete Hashwert sollte eine bestimmte, fixe Länge aufweisen, unabhängig von der Länge der eingegebenen Zeichenfolge;
    • - Kollisionsresistenz: es ist also nicht praktikabel zwei verschiedene Eingabewerte zu finden, die den gleichen Hashwert ergeben;
    • - nicht praktikabel umkehrbar;
    • - Lawineneffekt: die Hashwerte zweier Eingaben, die sich nur gering, z.B. um ein Bit unterscheiden, sollten sehr unterschiedlich sein.
    „Nicht praktikabel“ soll heißen, dass ein sehr hoher zeitlicher und/oder rechentechnischer Aufwand nötig wäre.
  • Geeignete kryptographische Hashfunktionen sind z.B. Hashfunktionen gemäß SHA-1 oder SHA-2, d.h. SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256, die etwa aus dem Dokument FIPS PUB 180-4 (http://dx.doi.org/10.6028/NIST.FIPS.180-4) des NIST (National Institute of Standards and Technology) oder auch aus RFC 6234 bekannt sind. Die Länge der Hashwerte ist bei SHA-1 160 Bit, bei Hashfunktionen der SHA-2-Familie 224, 256, 384 bzw. 512 Bit. Ebenso ist auch die Verwendung von MD5 (Message-Digest Algorithm 5, RFC1321), Länge 128 Bit, oder SHA-3 (FIPS PUB 202, http://dx.doi.org/10.6028/NIST.FIPS.202), Länge je nach Version 224, 256, 384, 512 Bit oder beliebig, möglich.
  • Die Referenzprüfwerte werden in einem Zustand der Gruppe von Recheneinheiten berechnet, in dem davon ausgegangen werden kann, dass keine Manipulation vorliegt. Z.B. bei einer (abgesicherten) Programmierung der Recheneinheiten und/oder bei der Installation in einem Fahrzeug bzw. einer Maschine.
  • Eine digitale Signatur wir insbesondere durch ein asymmetrisches Kryptosystem verwirklicht. Dabei wird für zu signierende Daten (hier der Referenzprüfwertsatz) mittels einer Signierfunktion unter Verwendung eines geheimen (privaten) Schlüssels ein Wert, als digitale Signatur bezeichnet, berechnet. Durch eine Verifizierfunktion kann unter Verwendung eines öffentlichen Schlüssels (public key) geprüft werden, ob Daten gegenüber den signierten Daten geändert wurden. Bekannte Signaturverfahren sind z.B. RSA (Rivest-Shamir-Adleman) oder DSA (Digital Signature Algorithm) oder ECDSA (Elliptic Curve Digital Signature Algorithm); vgl. etwa NIST Standard FIPS 186-4.
  • Nachrichtenauthentifizierungscodes erlauben die Prüfung der Integrität und der Authentizität einer Nachricht bzw. von Daten (hier der im Speicher gespeicherten Daten und/oder zwischen den Recheneinheiten untereinander bzw. zwischen der vertrauenswürdigen Einheit und den Recheneinheiten übermittelten Daten). Dabei verwendet ein MAC-Algorithmus als Paar von Eingaben einerseits die zu prüfenden Daten und andererseits einen geheimen Schlüssel und berechnet aus diesem Paar einen als MAC bezeichneten Prüfiniert für die Daten. Wurden die Daten geändert, so kann dies durch Vergleich mit einem früher berechneten Referenz-MAC festgestellt werden. Wenn der aktuelle MAC nicht mit dem Referenz-MAC übereinstimmt, muss davon ausgegangen werden, dass die Daten manipuliert wurden. Im Falle der Prüfung der Integrität der Daten im Speicher werden Referenz-MACs mittels der vertrauenswürdigen Einheit im Referenzprüfiniert an die Recheneinheiten übermittelt. Im Falle einer übermittelten Nachricht kann der Referenz-MAC zusammen mit der Nachricht gesendet werden. MAC-Algorithmen sind dem Fachmann an sich bekannt. Bevorzugt ist vorgesehen, einen Keyed-Hash-Message Authentication Code (HMAC; für eine mögliche Implementierung vgl. etwa NIST Standard FIPS 198 oder RFC 2104) und/oder einen Cipher-based-Message Authentication Code (CMAC; für eine mögliche Implementierung vgl. etwa NIST Special Publication 800-38B) zu verwenden.
  • Vorzugsweise wird durch die wenigstens eine prüfende Recheneinheit eine Fehlermeldung (auch als Prüfwert-Fehlermeldung bezeichnet) erzeugt, wenn festgestellt wird, dass ein aktueller Prüfwert nicht mit dem entsprechenden Referenzprüfwert übereinstimmt, wobei weiter bevorzugt die Fehlermeldung mittels einer von der prüfenden Recheneinheit gesteuerten Einrichtung und/oder einer Bedieneinrichtung für die prüfende Recheneinheit angezeigt wird. Indem die Fehlermeldung von einer anderen als der Recheneinheit, für die eine potentielle Manipulation festgestellt wurde (da der aktuelle Prüfwert nicht mit dem entsprechenden Referenzprüfiniert übereinstimmt), erzeugt wird, kann verhindert werden, dass eine manipulierte Recheneinheit die Fehlermeldung unterdrückt (wenn lediglich eine interne Integritätsprüfung erfolgt).
  • Bevorzugt umfasst das Verfahren ein Bereitstellen des Prüfiniertsatzes, wobei durch jede der mehreren Recheneinheiten der Referenzprüfwert für den Speicherinhalt der jeweiligen Recheneinheit berechnet wird und an eine vertrauenswürdige Einheit übermittelt wird, wobei durch die vertrauenswürdige Einheit die Referenzprüfwerte zu dem Referenzprüfwertsatz zusammengefasst werden und die digitale Signatur unter Verwendung eines privaten Schlüssels berechnet wird, und wobei durch die vertrauenswürdige Einheit der Referenzprüfwertsatz und die digitale Signatur an die Recheneinheiten übermittelt bzw. gesendet werden und durch die Recheneinheiten empfangen werden. Durch diese Vorgehensweise kann sichergestellt werden, dass geheime Schlüssel, die in die Berechnung der Prüfwerte eingehen, nur in der Recheneinheit (insbesondere deren Sicherheitsmodul) bekannt sein müssen, die den entsprechenden Prüfwert für ihren Speicherinhalt berechnet.
  • Bevorzugt wird in jeder der Recheneinheiten unter Verwendung eines öffentlichen Schlüssels geprüft, ob oder ob nicht die digitale Signatur für den Referenzprüfiniertsatz gültig ist. Weiter bevorzugt wird durch jede der Recheneinheiten eine Bestätigungs-Nachricht an die vertrauenswürdige Einheit und/oder wenigstens eine (vorzugsweise alle) der anderen Recheneinheiten gesendet, wenn die digitale Signatur in der jeweiligen Recheneinheit als gültig bestimmt wurde. Hierdurch kann sichergestellt werden, dass die vertrauenswürdige Einheit bzw. andere Recheneinheiten feststellen können, ob alle Recheneinheiten den Referenzprüfiniertsatz korrekt erhalten haben.
  • Bevorzugt wird in der wenigstens einen prüfenden Recheneinheit, beim Prüfen, ob ein übermittelter aktueller Prüfwert gegenüber dem entsprechenden Referenzprüfwert unverändert ist, ein Vergleichsprüfwertsatz unter Einbeziehung des aktuellen Prüfwerts oder mehrerer aktueller Prüfwerte gebildet und unter Verwendung des öffentlichen Schlüssels bestimmt, ob oder ob nicht die übermittelte digitale Signatur für den Vergleichsprüfwertsatz gültig ist. Dies ermöglicht insbesondere die gleichzeitige Prüfung mehrerer aktueller Prüfwerte.
  • Bevorzugt erfolgt in jeder der Recheneinheiten das Berechnen und Übermitteln eines aktuellen Prüfwerts für den Speicherinhalt der jeweiligen Recheneinheit wiederholt; insbesondere zu vorbestimmten Zeitpunkten. Entsprechend wird auch die Prüfung der wiederholt bestimmten, jeweils aktuellen Prüfwerte in jeder prüfenden Recheneinheit wiederholt, d.h. die Prüfung, ob diese mit dem entsprechenden Referenzprüfiniert übereinstimmen, wird für jeden neu berechneten und übermittelten aktuellen Prüfiniert (derselben Recheneinheit) wiederholt. Dies ermöglicht es, Manipulationen, die erst während des Betriebs erfolgen, zu erkennen.
  • Bevorzugt wird durch die wenigstens eine prüfende Recheneinheit die empfangene digitale Signatur an wenigstes eine vergleichende Recheneinheit, die wenigstens eine der mehreren Recheneinheiten ist, die von der jeweiligen prüfenden Recheneinheit verschieden ist, übermittelt, und durch die wenigstes eine vergleichende Recheneinheit erfolgt ein Vergleich der von der prüfenden Recheneinheit empfangenen digitalen Signatur und der von der vertrauenswürdigen Einheit empfangenen digitalen Signatur. Weiter bevorzugt erfolgt dies, wenn festgestellt wird, dass ein aktueller Prüfwert mit dem entsprechenden Referenzprüfiniert übereinstimmt. Dadurch werden die Signaturen zusätzlich vor Änderungen abgesichert bzw. Änderungen werden erkannt, so dass von einer Manipulation ausgegangen werden kann.
  • Eine erfindungsgemäße Recheneinheit (z.B. ein Steuergerät eines Fahrzeugs oder einer anderen Maschine) mit einem Speicher ist dazu eingerichtet ist, einen aktuellen Prüfiniert für den Speicherinhalt zu berechnen und an eine vertrauenswürdige Einheit und/oder an andere Recheneinheiten zu übermitteln; für einen Referenzprüfwertsatz mit Referenzprüfwerten für mehrere Recheneinheiten und eine digitale Signatur unter Verwendung eines öffentlichen Schlüssels zu prüfen, ob oder ob nicht die digitale Signatur für den Referenzprüfwertsatz gültig ist, wobei die Recheneinheit bevorzugt dazu eingerichtet ist, den Referenzprüfwertsatz und die digitale Signatur von der vertrauenswürdigen Einheit zu empfangen; und wenn die digitale Signatur für den Referenzprüfwertsatz als gültig bestimmt wird, aktuelle Prüfwerte von anderen der mehreren Recheneinheiten zu empfangen und für jeden empfangenen aktuellen Prüfwert zu prüfen, ob dieser gegenüber dem entsprechenden Referenzprüfiniert unverändert ist. Die Recheneinheit umfasst weiterhin bevorzugt ein Sicherheitsmodul, vorzugsweise als Hardware-Sicherheits-Modul (HSM) ausgeführt, das eingerichtet ist, Prüfwerte (Referenzprüfwert, aktuelle Prüfwerte) zu berechnen, digitale Signaturen zu prüfen und gegebenenfalls MACs zu berechnen bzw. zu prüfen.
  • Bevorzugt ist die Recheneinheit weiter dazu eingerichtet, eine Fehlermeldung (Prüfwert-Fehlermeldung) zu erzeugen, wenn festgestellt wird, dass ein aktueller Prüfwert nicht mit dem entsprechenden Referenzprüfiniert übereinstimmt, wobei weiter bevorzugt die Fehlermeldung mittels einer von der Recheneinheit gesteuerten Einrichtung und/oder einer Bedieneinrichtung für die Recheneinheit angezeigt wird. Die gesteuerte Einrichtung bzw. die Bedieneinrichtung kann z.B. eine Kontrollleuchte und/oder eine Anzeige und/oder ein Touchscreen sein. Auch die Ausgabe akustischer Signale ist denkbar.
  • Weiterhin ist erfindungsgemäß ein (erstes) Computerprogramm vorgesehen, das eine Recheneinheit mit einem Speicher, wenn es auf der Recheneinheit ausgeführt wird, dazu veranlasst, die vorstehend im Zusammenhang mit der erfindungsgemäßen Recheneinheit genannten Schritte auszuführen.
  • Eine erfindungsgemäße vertrauenswürdige Einheit, insbesondere vertrauenswürdige Recheneinheit, ist dazu eingerichtet, Referenzprüfwerte von mehreren Recheneinheiten zu empfangen und zu einem Referenzprüfwertsatz zusammenzufassen, eine digitale Signatur für den Referenzprüfwertsatz unter Verwendung eines privaten Schlüssels zu berechnen, und den Referenzprüfwertsatz und die digitale Signatur an die mehreren Recheneinheiten zu übermitteln. Die vertrauenswürdige Einheit kann etwa ein Computer oder ein Server sein. Auch die Bereitstellung in einem sogenannten Clouddienst ist denkbar.
  • Weiterhin ist erfindungsgemäß ein (zweites) Computerprogramm vorgesehen, das eine vertrauenswürdige Einheit, insbesondere eine vertrauenswürdige Recheneinheit, dazu veranlasst, die vorstehend im Zusammenhang mit der erfindungsgemäßen vertrauenswürdigen Einheit genannten Schritte auszuführen, wenn es auf der vertrauenswürdigen Einheit ausgeführt wird.
  • Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten (ersten und/oder zweiten) Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Kurze Beschreibung der Zeichnungen
    • 1 illustriert eine Anlernphase bzw. Initialisierungsphase gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens.
    • 2 illustriert beispielhaft die Integritätsprüfung während des regulären Betriebs der Recheneinheiten gemäß einer bevorzugten Ausführungsform.
    • 3 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform.
  • Ausführungsform(en) der Erfindung
  • 1 illustriert eine (optionale) Anlernphase bzw. Initialisierungsphase gemäß einer bevorzugten Ausführungsform der Erfindung. Gezeigt ist eine Gruppe 10 mehrerer (hier beispielsweise drei) Recheneinheiten 2_1, 2 2, 2_3, etwa mehrerer Steuergeräte, die sich z.B. innerhalb („onboard“) eines (Kraft-)Fahrzeugs oder einer anderen Maschine befinden und zu dessen/deren Steuerung dienen. Weiter ist eine vertrauenswürdige Einheit 6 dargestellt, diese ist unabhängig von der Gruppe der mehreren Recheneinheiten außerhalb („offboard“) des Fahrzeugs bzw. der Maschine realisiert. Bei dieser handelt es sich bevorzugt um eine entfernte Recheneinheit oder ein entferntes Rechnersystem, z.B. einen Computer, einen Server oder einen Cloud-Dienst. Eine einzelne vertrauenswürdige Einheit kann im Allgemeinen ihre Dienste für mehrere voneinander verschiedene Gruppen von Recheneinheiten bereitstellen, d.h. die erfindungsgemäß durch die vertrauenswürdige Einheit durchgeführten Schritte unabhängig voneinander im Zusammenhang mit verschiedenen Gruppen von Recheneinheiten jeweils wie für die gezeigte Gruppe von Recheneinheiten beschrieben durchführen.
  • Jede der Recheneinheiten 2_1, 2_2, 2_3 umfasst einen Speicher 4_1, 4_2, 4_3, in dem Daten, z.B. Programmanweisungen ausführbarer Computerprogramme oder auch andere Daten, als Speicherinhalt gespeichert sind bzw. werden können. In jeder der Recheneinheiten 2_1, 2 2, 2_3 wird (wenigstens) ein ReferenzPrüfwert 6_1, 6_2, 6_3 für den Speicherinhalt der jeweiligen Recheneinheit berechnet. Bei der Berechnung der Referenz-Prüfwerte wird jeweils ein vorbestimmter Speicherbereich des jeweiligen Speichers berücksichtigt, wobei der Speicherbereich einen Teil des jeweiligen Speichers oder den ganzen jeweiligen Speicher einbeziehen kann. Im Allgemeinen können in einer einzelnen der Recheneinheiten auch mehrere Referenz-Prüfwerte berechnet werden, etwa für mehrere Speicherbereiche des jeweiligen Speichers. Die berechneten Referenz-Prüfwerte 6_1, 6_2, 6_3 werden von den Recheneinheiten 2_1, 2_2, 2_3 an die vertrauenswürdige Einheit 12 übermittelt. Die Übermittlung erfolgt vorzugsweise in kryptographisch abgesicherter Form, insbesondere unter Verwendung eines Nachrichtenauthentifizierungsverfahrens, wobei ein Nachrichtenauthentifizierungscode (MAC) verwendet wird.
  • In der vertrauenswürdigen Einheit 12 werden die übermittelten bzw. empfangenen Referenz-Prüfwerte 6_1, 6_2, 6_3 zu einem Referenzprüfwertsatz 14 zusammengefasst, etwa durch Aneinanderhängen der Referenz-Prüfwerte in einer vorgegebenen Reihenfolge, z.B. entsprechend einer (eindeutigen) Kennung bzw. ID (Identifikations-Nummer bzw. -Zeichenkette) der Recheneinheiten und/oder einer Nummerierung der Recheneinheiten. Der Referenzprüfwertsatz kann zusätzlich Verwaltungs- und/oder Metadaten umfassen, z.B. Angaben über die Zuordnung der Referenz-Prüfwerte zu Recheneinheiten (mittels der ID) oder Ähnliches.
  • Weiter wird in der vertrauenswürdigen Einheit 12 mittels eines asymmetrischen Signaturverfahrens unter Verwendung eines privaten Schlüssels 16 eine digitale Signatur 18 für den Referenzprüfwertsatz 14 berechnet. Der Referenzprüfwertsatz 14 und die berechnete digitale Signatur 18 werden von der vertrauenswürdigen Einheit 12 an jede der Recheneinheiten 2_1, 2 2, 2 3 übermittelt. Die Übermittlung erfolgt vorzugsweise ebenfalls in kryptographisch abgesicherter Form, insbesondere unter Verwendung eines Nachrichtenauthentifizierungsverfahrens.
  • Jede der Recheneinheiten 2_1, 2_2, 2_3 empfängt somit eine lokale Kopie 14_1, 14_2, 14_3 des Referenzprüfwertsatzes 14 und eine lokale Kopie 18_1, 18_2, 18_3 der zugehörigen digitalen Signatur 18. In jeder der Recheneinheiten 2_1, 2_2, 2_3 wird bevorzugt geprüft, ob die übermittelte digitale Signatur, d.h. die jeweilige lokale Kopie 18_1, 18_2, 18_3 der digitalen Signatur, eine gültige Signatur für den übermittelten Referenzprüfwertsatz, d.h. für die lokale Kopie 14_1, 14_2, 14_3 des Referenzprüfwertsatzes, ist. Dabei wird ein öffentlicher Schlüssel, der dem privaten Schlüssel entspricht, verwendet. Dieser kann den Recheneinheiten an sich bekannt sein oder auch von der vertrauenswürdigen Einheit 12 an die Recheneinheiten 2_1, 2_2, 2_3 übermittelt werden.
  • Recheneinheiten 2_1, 2_2, 2_3, die feststellen, dass die übermittelte digitale Signatur gültig ist, senden bevorzugt eine Bestätigungsnachricht an die vertrauenswürdige Einheit 12 und/oder die anderen Recheneinheiten, so dass diese feststellen kann bzw. können, ob die Anlernphase erfolgreich abgeschlossen ist. Wenn eine Recheneinheit feststellt, dass die übermittelte digitale Signatur nicht gültig ist, sendet sie keine Bestätigungsnachricht bzw. optional eine Fehlermeldung, an die vertrauenswürdige Einheit 12 und/oder die anderen Recheneinheiten. Wenn die vertrauenswürdige Einheit 12 und/oder wenigstens eine der anderen Recheneinheiten nicht von allen Recheneinheiten 2_1, 2_2, 2_3 die Bestätigungsnachricht empfangen (oder die Fehlermeldung empfangen), wird in der vertrauenswürdigen Einheit 12 und/oder der wenigstens einen anderen Recheneinheit davon ausgegangen, dass die Anlernphase bzw. Initialisierungsphase fehlgeschlagen ist. In diesem Fall kann eine Initialisierungs-Fehlernachricht erzeugt werden, wobei eventuell mehrere Versuche die Initialisierungsphase durchzuführen erfolgen können, bevor die Initialisierungs-Fehlernachricht erzeugt wird. Die Initialisierungs-Fehlernachricht kann etwa durch die vertrauenswürdige Einheit bzw. durch die Recheneinheit, die nicht von allen Recheneinheiten Bestätigungsnachrichten erhalten hat, angezeigt werden, so dass z.B. der Fachmann bzw. ein Bediener des Fahrzeugs bzw. der Maschine eine Fehleranalyse durchführen bzw. veranlassen kann.
  • 2 illustriert beispielhaft die Integritätsprüfung während des regulären Betriebs der Recheneinheiten gemäß einer bevorzugten Ausführungsform. Die Gruppe 10 der Recheneinheiten entspricht der 1, so dass deren Beschreibung und Bezugszeichen hier nur soweit notwendig wiederholt werden. Es wird davon ausgegangen, dass die Initialisierungsphase (entsprechend 1) abgeschossen ist.
  • In jeder der Recheneinheiten 2_1, 2_2, 2_3 wird ein aktueller Prüfwert 26_1, 26_2, 26_3 für den jeweiligen Speicherinhalt 4_1, 4_2, 4_3 berechnet. Jede Recheneinheit übermittelt bzw. sendet den aktuellen Prüfwert an wenigstens eine (vorzugsweise alle) andere der Recheneinheiten, die auch als prüfende Recheneinheit bezeichnet wird. Der Übersichtlichkeit wegen ist diese Übermittlung nur für eine Recheneinheit bzw. einen aktuellen Prüfiniert dargestellt, nämlich den aktuellen Prüfwert 26_1 der Recheneinheit 2_1. Die Übermittlung aktueller Prüfwerte erfolgt vorzugsweise ebenfalls in kryptographisch abgesicherter Form, insbesondere unter Verwendung eines Nachrichtenauthentifizierungsverfahrens.
  • In den Recheneinheiten 2_2, 2_3 wird der übermittelte bzw. empfangene aktuelle Prüfwert 26_1 der Recheneinheit 2_1 dahingehend geprüft, ob er mit dem entsprechenden Referenzprüfwert 6_1, der im durch die Recheneinheit 2_2, 2_3 von der vertrauenswürdigen Einheit empfangenen Referenzprüfwertsatz, genauer dessen lokaler Kopie 14_2, 14_3, enthalten ist, übereinstimmt. Diese Prüfung kann z.B. durch direkten Vergleich erfolgen oder durch Prüfen, ob die digitale Signatur bzw. deren lokale Kopie 18_2, 18_3 für einen Vergleichsprüfwertsatz gültig ist, der unter Verwendung bzw. Einbeziehung des empfangenen aktuellen Prüfwerts 6_1 der Recheneinheit 2_1 (oder allgemeiner unter Einbeziehung mehrerer empfangender aktueller Prüfwerte) gebildet wird. Bei letzterem Vorgehen wird der Vergleichsprüfwertsatz aus den aktuellen Prüfwerten und, falls für ein oder mehrere Recheneinheiten keine aktuellen Prüfwerte vorhanden sind, den entsprechenden Referenzprüfwerten gebildet. Die Recheneinheiten 2_2, 2_3 stellen prüfende Recheneinheiten für die Recheneinheit 2_1 dar. Es wird vorausgesetzt, dass in den Recheneinheiten 2_2, 2_3, die als prüfende Recheneinheiten wirken, festgestellt wurde, dass die von der vertrauenswürdigen Einheit übermittelte digitale Signatur für den ebenso übermittelten Referenzprüfwertsatz gültig ist. Selbstverständlich kann die Recheneinheit 2_1 optional auch (intern) Prüfen, ob der eigene aktuelle Prüfwert 26_1 mit dem im Prüfiniertsatz bzw. dessen Kopie 14_1 umfassten Referenzprüfwert 6_1 übereinstimmt.
  • Wenn beim Prüfen in einer der prüfenden Recheneinheiten 2_2, 2_3 festgestellt wird, dass der empfangene aktuelle Prüfwert 26_1 nicht mit dem entsprechenden Referenzprüfwert 6_1 übereinstimmt, wenn also von einer Manipulation des Speicherinhalts 4_1 der Recheneinheit 2_1 ausgegangen werden muss, kann eine Fehlermeldung bzw. Prüfwert-Fehlermeldung von der jeweiligen prüfenden Recheneinheit 2_2, 2_3 erzeugt werden.
  • Wenn beim Prüfen in einer der prüfenden Recheneinheiten 2_2, 2_3 festgestellt wird, dass der empfangene aktuelle Prüfwert 26_1 mit dem entsprechenden Referenzprüfwert 6_1 übereinstimmt, wenn also davon ausgegangen werden kann, dass keine Manipulation des Speicherinhalts 4_1 der Recheneinheit 2_1 vorliegt, kann vorgesehen sein, dass die jeweilige prüfende Recheneinheit 2_2, 2_3 ihre lokale Kopie 18_2, 18_3 der digitalen Signatur an andere der Recheneinheiten 2_1, 2_2, 2_3 sendet und die anderen Recheneinheiten die empfange digitale Signatur mit ihrer eigenen lokalen Kopie 18_1, 18_2, 18_3 der digitalen Signatur vergleicht. Wenn diese in einer der Recheneinheiten nicht gleich sind, kann durch diese eine Signaturvergleichs-Fehlermeldung erzeugt werden. Wenn sie gleich sind, wird in der jeweiligen Recheneinheit keine Signaturvergleichs-Fehlermeldung erzeugt oder optional eine Bestätigung, dass die Signaturen gleich sind, an andere Recheneinheiten gesendet.
  • 3 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform, wobei die Schritte zum Teil bereits in Zusammenhang mit den 1 und 2 beschrieben wurden. Im bevorzugten Schritt 110 wird in jeder der Recheneinheiten ein Referenzprüfiniert für den Speicherinhalt berechnet. Als Referenzprüfiniert wird ein Prüfwert bezeichnet, der sich auf einen nicht manipulierten Zustand des Speicherinhalts bezieht, der also zu einem Zeitpunkt berechnet wird, an dem sichergestellt ist, dass der Speicherinhalt nicht manipuliert ist. Die berechneten Referenzprüfwerte werden von den Recheneinheiten an die vertrauenswürdige Einheit übermittelt.
  • Im bevorzugten Schritt 120 wird durch die vertrauenswürdige Recheneinheit aus den übermittelten bzw. empfangenden Referenzprüfwerten ein Referenzprüfwertsatz gebildet, der unter Verwendung eines geheimen Schlüssels digital signiert wird, d.h. für den eine digitale Signatur berechnet wird. Der Referenzprüfwertsatz und die digitale Signatur werden von der vertrauenswürdigen Einheit an die jede der Recheneinheiten übermittelt bzw. gesendet und in den Recheneinheiten im ebenso bevorzugten Schritt 130 empfangen. Insgesamt werdend der Referenzprüfiniertsatz und die digitale Signatur so in den Recheneinheiten bereitgestellt.
  • In Schritt 140 prüft jede der Recheneinheiten bevorzugt, ob die bereitgestellte (übermittelte bzw. empfangene) digitale Signatur eine gültige Signatur für den bereitgestellten (übermittelten bzw. empfangenen) Referenzprüfwertsatz darstellt. Wenn dies der Fall ist, kann eine Bestätigungsnachricht an die vertrauenswürdige Einheit und/oder die anderen Recheneinheiten gesendet werden. Schritt 140 erfolgt insbesondere vor den weiteren Schritten des Verfahrens.
  • In Schritt 150 werden in den Recheneinheiten aktuelle Prüfwerte für die jeweiligen Speicherinhalte berechnet. Dies erfolgt insbesondere zu bestimmten Zeitpunkten, etwa mit Start der jeweiligen Recheneinheit und/oder wiederholt zu bestimmten Zeitpunkten, etwa in regelmäßigen Zeitabständen oder an zufällig bestimmten Zeitpunkten. In Schritt 160 übermitteln bzw. senden die Recheneinheiten die aktuellen Prüfwerte an andere der mehreren Recheneinheiten, die aus Sicht der Recheneinheit, die den aktuell Prüfwert berechnet und übermittelt, als prüfende Recheneinheiten angesehen werden können. Jede Recheneinheit kann aktuelle Prüfwerte an eine jeweilige Teilmenge der anderen Recheneinheiten oder bevorzugt an alle anderen Recheneinheiten übermitteln. Schritt 150 kann, wie auch Schritt 160, für unterschiedliche Recheneinheiten unabhängig voneinander erfolgen.
  • In Schritt 170 wird, in jeder der Recheneinheit, die aktuelle Prüfwerte empfängt bzw. übermittelt bekommt, d.h. in jeder Recheneinheit, die aus Sicht einer oder mehrerer anderer Recheneinheiten als prüfende Recheneinheit wirkt, wird geprüft, ob empfangene aktuelle Prüfwerte mit den entsprechenden Referenzprüfwerten, die im von der vertrauenswürdigen Einheit empfangenen Referenzprüfwertsatz enthalten sind, übereinstimmen. Dies kann für jeden aktuellen Prüfiniert einzelnen erfolgen (etwa durch Vergleich) oder auch für mehrere aktuelle Prüfwerte gemeinsam erfolgen (etwa durch Prüfen der Gültigkeit der digitalen Signatur).
  • Wenn festgestellt wird, dass ein aktueller Prüfwert nicht mit dem entsprechenden Referenzprüfiniert übereinstimmt, wird in Schritt 180 von der prüfenden Recheneinheit (die dies feststellt) eine Fehlermeldung (Prüfwert-Fehlermeldung) erzeugt. Wenn festgestellt wird, dass ein oder mehrere aktuelle Prüfwerte mit den entsprechenden Referenzprüfwerten übereinstimmen, wird im bevorzugten Schritt 190 von der prüfenden Recheneinheit die digitale Signatur an andere Recheneinheiten übermittelt bzw. gesendet und die anderen Recheneinheiten vergleichen diese übermittelte digitale Signatur mit der gespeicherten Kopie der digitalen Signatur, die sie selbst von der vertrauenswürdigen Einheit empfangen haben. Wenn diese nicht übereinstimmen kann in der jeweiligen anderen Recheneinheit, wie bereits erwähnt, eine Signaturvergleichs-Fehlermeldung erzeugt werden.

Claims (16)

  1. Verfahren zur verteilten Integritätsprüfung in einer Gruppe (10) mehrerer Recheneinheiten (2_1, 2_2, 2_3), wobei jede Recheneinheit einen Speicher (4_1, 4_2, 4_3) mit darin gespeicherten Daten als Speicherinhalt aufweist, wobei ein Referenzprüfwertsatz (14, 14_1, 14_2, 14_3) verwendet wird, der für jede der mehreren Recheneinheiten einen Referenzprüfwert (6_1, 6_2, 6_2) für den Speicherinhalt der Recheneinheit umfasst, wobei der Referenzprüfwertsatz (14, 14_1, 14_2, 14_3) und eine digitale Signatur (18_1,18_2, 18_3) für den Referenzprüfwertsatz in jeder der mehreren Recheneinheiten bereitgestellt sind; wobei in jeder der Recheneinheiten (2_1, 2_2, 2_3) jeweils ein aktueller Prüfwert (26_1, 26_2, 26_3) für den Speicherinhalt der jeweiligen Recheneinheit berechnet (150) und an wenigstes eine prüfende Recheneinheit, die wenigstens eine der mehreren Recheneinheiten ist, die von der jeweiligen Recheneinheit verschieden ist, übermittelt wird (160); wobei in der wenigstens einen prüfenden Recheneinheit, wenn in dieser die digitale Signatur für den Referenzprüfwertsatz als gültig bestimmt wurde, für jeden der von anderen Recheneinheiten übermittelten aktuellen Prüfwerte (26_1, 26_2, 26_3) geprüft wird (170), ob dieser gegenüber dem entsprechenden Referenzprüfwert (6_1, 6_2, 6_2) unverändert ist.
  2. Verfahren nach Anspruch 1, wobei, durch die wenigstens eine prüfende Recheneinheit, eine Fehlermeldung erzeugt wird (180), wenn festgestellt wird, dass ein aktueller Prüfwert (26_1, 26_2, 26_3) nicht mit dem entsprechenden Referenzprüfwert (6_1, 6_2, 6_2) übereinstimmt; wobei bevorzugt die Fehlermeldung mittels einer von der prüfenden Recheneinheit gesteuerten Einrichtung und/oder einer Bedieneinrichtung für die prüfende Recheneinheit angezeigt wird.
  3. Verfahren nach einem der vorstehenden Ansprüche, umfassend ein Bereitstellen des Prüfiniertsatzes, wobei durch jede der mehreren Recheneinheiten (2_1, 2_2, 2_3) der Referenzprüfwert (6_1, 6_2, 6_3) für den Speicherinhalt (4_1, 4_2, 4_3) der jeweiligen Recheneinheit berechnet wird und an eine vertrauenswürdige Einheit übermittelt wird (110); wobei durch die vertrauenswürdige Einheit (12) die Referenzprüfwerte zu dem Referenzprüfwertsatz (14) zusammengefasst werden und die digitale Signatur (18) unter Verwendung eines privaten Schlüssels (16) berechnet wird (120); und wobei durch die vertrauenswürdige Einheit (12) der Referenzprüfwertsatz und die digitale Signatur an die Recheneinheiten übermittelt bzw. gesendet werden und durch die Recheneinheiten empfangen werden (130).
  4. Verfahren einem der vorstehenden Ansprüche, wobei in jeder der Recheneinheiten unter Verwendung eines öffentlichen Schlüssels (16) geprüft wird (140), ob oder ob nicht die digitale Signatur für den Referenzprüfwertsatz gültig ist.
  5. Verfahren nach Anspruch 4, wobei durch jede der Recheneinheiten (2_1, 2_2, 2_3), eine Bestätigungs-Nachricht an die vertrauenswürdige Einheit (12) und/oder wenigstens eine der anderen Recheneinheiten gesendet wird, wenn die digitale Signatur in der jeweiligen Recheneinheit als gültig bestimmt wurde.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei in der wenigstens einen prüfenden Recheneinheit (2_2, 2_3), beim Prüfen, ob ein übermittelter aktueller Prüfwert (26_1) gegenüber dem entsprechenden Referenzprüfwert (6_1) unverändert ist, der aktuelle Prüfiniert mit dem Referenzprüfwert verglichen wird.
  7. Verfahren nach einem der Ansprüche 1 bis 5, wobei in der wenigstens einen prüfenden Recheneinheit, beim Prüfen, ob ein übermittelter aktueller Prüfwert (26_1) gegenüber dem entsprechenden Referenzprüfwert (6_1) unverändert ist, ein Vergleichsprüfwertsatzes unter Einbeziehung des aktuellen Prüfwerts oder mehrerer aktueller Prüfwerte gebildet wird und unter Verwendung des öffentlichen Schlüssels bestimmt wird, ob oder ob nicht die digitale Signatur (18_3) für den Vergleichsprüfwertsatz gültig ist.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei in jeder der Recheneinheiten (2_1, 2_2, 2_3) das Berechnen und Übermitteln eines aktuellen Prüfwerts (26_1, 26_2, 26_3) für den Speicherinhalt (4_1, 4_2, 4_3) der jeweiligen Recheneinheit wiederholt erfolgt; insbesondere zu vorbestimmten Zeitpunkten.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei, bevorzugt wenn festgestellt wird, dass ein aktueller Prüfwert (26_1, 26_2, 26_3) mit dem entsprechenden Referenzprüfwert (6_1, 6_2, 6_3) übereinstimmt, durch die wenigstens eine prüfende Recheneinheit (2_2, 2_3) die empfangene digitale Signatur (18_2, 18_3) an wenigstes eine vergleichende Recheneinheit, die wenigstens eine der mehreren Recheneinheiten ist, die von der jeweiligen prüfenden Recheneinheit verschieden ist, übermittelt wird (190); und durch die wenigstes eine vergleichende Recheneinheit ein Vergleich der von der prüfenden Recheneinheit empfangenen digitale Signatur und der von der vertrauenswürdigen Einheit empfangenen digitalen Signatur erfolgt.
  10. Recheneinheit (2_1, 2_2, 2_3) mit einem Speicher (4_1, 4_2, 4_3) mit darin gespeicherten Daten als Speicherinhaltinhalt, die dazu eingerichtet ist, einen aktuellen Prüfiniert für den Speicherinhalt zu berechnen und an eine vertrauenswürdige Einheit (12) und/oder an andere Recheneinheiten zu übermitteln; für einen Referenzprüfwertsatz (14_1, 14_2, 14_3) mit Referenzprüfinierten (6_1, 6_2, 6_3) für mehrere Recheneinheiten und eine digitale Signatur (18_1, 18_2, 18_3) unter Verwendung eines öffentlichen Schlüssels zu prüfen, ob oder ob nicht die digitale Signatur für den Referenzprüfwertsatz gültig ist, wobei die Recheneinheit bevorzugt dazu eingerichtet ist, den Referenzprüfiniertsatz und die digitale Signatur von der vertrauenswürdigen Einheit zu empfangen; und, wenn die digitale Signatur für den Referenzprüfwertsatz als gültig bestimmt wird, aktuelle Prüfwerte (26_1, 26_2, 26_3) von anderen der mehreren Recheneinheiten zu empfangen und für jeden empfangenen aktuellen Prüfwert zu prüfen, ob dieser gegenüber dem entsprechenden Referenzprüfwert unverändert ist.
  11. Recheneinheit nach Anspruch 10, die weiter dazu eingerichtet ist, eine Fehlermeldung zu erzeugen, wenn festgestellt wird, dass ein aktueller Prüfwert (26_1, 26_2, 26_3) nicht mit dem entsprechenden Referenzprüfwert (6_1, 6_2, 6_3) übereinstimmt; wobei bevorzugt die Fehlermeldung mittels einer von der Recheneinheit gesteuerten Einrichtung und/oder einer Bedieneinrichtung für die Recheneinheit angezeigt wird.
  12. Gruppe (10) umfassend mehrere Recheneinheiten (2_1, 2_2, 2_3) nach Anspruch 10 oder 11, die zur Datenkommunikation miteinander verbunden sind.
  13. Vertrauenswürdige Einheit (12), insbesondere vertrauenswürdige Recheneinheit, die dazu eingerichtet ist, Referenzprüfwerte (6_1, 6_2, 6_3) von mehreren Recheneinheiten (2_1, 2_2, 2_3) zu empfangen und zu einem Referenzprüfwertsatz (14) zusammenzufassen; eine digitale Signatur (18) für den Referenzprüfwertsatz unter Verwendung eines privaten Schlüssels (16) zu berechnen; und den Referenzprüfwertsatz und die digitale Signatur an die mehreren Recheneinheiten zu übermitteln.
  14. Computerprogramm, das eine Recheneinheit mit einem Speicher mit darin gespeicherten Daten als Speicherinhaltinhalt, wenn es auf der Recheneinheit ausgeführt wird, dazu veranlasst, einen aktuellen Prüfiniert für den Speicherinhalt zu berechnen und an eine vertrauenswürdige Einheit (12) und/oder an andere Recheneinheiten zu übermitteln; für einen Referenzprüfwertsatz (14_1, 14_2, 14_3) mit Referenzprüfinierten (6_1, 6_2, 6_3) für mehrere Recheneinheiten und eine digitale Signatur (18_1, 18_2, 18_3) unter Verwendung eines öffentlichen Schlüssels zu prüfen, ob oder ob nicht die digitale Signatur für den Referenzprüfwertsatz gültig ist, wobei die Recheneinheit bevorzugt dazu veranlasst wird, den Referenzprüfiniertsatz und die digitale Signatur von der vertrauenswürdigen Einheit zu empfangen; und, wenn die digitale Signatur für den Referenzprüfwertsatz als gültig bestimmt wird, aktuelle Prüfwerte (26_1, 26_2, 26_3) von anderen der mehreren Recheneinheiten zu empfangen und für jeden empfangenen aktuellen Prüfwert zu prüfen, ob dieser gegenüber dem entsprechenden Referenzprüfwert unverändert ist.
  15. Computerprogramm, das eine vertrauenswürdige Einheit, insbesondere Recheneinheit, wenn es auf der vertrauenswürdigen Einheit ausgeführt wird, dazu veranlasst, Referenzprüfwerte (6_1, 6_2, 6_3) von mehreren Recheneinheiten (2_1, 2_2, 2_3) zu empfangen und zu einem Referenzprüfwertsatz (14) zusammenzufassen; eine digitale Signatur (18) für den Referenzprüfwertsatz unter Verwendung eines privaten Schlüssels (16) zu berechnen; und den Referenzprüfwertsatz und die digitale Signatur an die mehreren Recheneinheiten zu übermitteln.
  16. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 14 oder mit einem darauf gespeicherten Computerprogramm nach Anspruch 15.
DE102022207547.1A 2022-07-25 2022-07-25 Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit Pending DE102022207547A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022207547.1A DE102022207547A1 (de) 2022-07-25 2022-07-25 Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022207547.1A DE102022207547A1 (de) 2022-07-25 2022-07-25 Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit

Publications (1)

Publication Number Publication Date
DE102022207547A1 true DE102022207547A1 (de) 2024-01-25

Family

ID=89429692

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022207547.1A Pending DE102022207547A1 (de) 2022-07-25 2022-07-25 Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit

Country Status (1)

Country Link
DE (1) DE102022207547A1 (de)

Similar Documents

Publication Publication Date Title
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE102017125826A1 (de) Nachrichtenauthentifizierung über controller area network
DE10392528T5 (de) Microcode-Patch-Authentifizierung
DE112005001666T5 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
DE102015209116A1 (de) Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
DE102013205051A1 (de) Aktualisieren eines digitalen Geräte-Zertifikats eines Automatisierungsgeräts
DE102013108021A1 (de) Verfahren zum selektiven Software-Rollback
EP2918040A1 (de) Erstellen eines abgeleiteten schlüssels aus einem kryptographischen schlüssel mittels einer physikalisch nicht klonbaren funktion
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102013105042A1 (de) Sicheres Flashprogrammieren eines sekundären Prozessors
DE102015202935A1 (de) Verfahren zum Manipulationsschutz
DE102018101479A1 (de) Steuerungsschnittstelle für ein autonomes fahrzeug
DE102013218212A1 (de) Verfahren zum abgesicherten Übermitteln von Daten
EP3157192A1 (de) Verfahren und system für eine asymmetrische schlüsselherleitung
EP2442251B9 (de) Individuelle Aktualisierung von Computerprogrammen
EP3422628A1 (de) Verfahren, sicherheitseinrichtung und sicherheitssystem
DE102020212451A1 (de) Verfahren zum digitalen Signieren einer Nachricht
DE102008055076A1 (de) Vorrichtung und Verfahren zum Schutz von Daten, Computerprogramm, Computerprogrammprodukt
EP3811261B1 (de) Kryptografiemodul und betriebsverfahren hierfür
WO2015180867A1 (de) Erzeugen eines kryptographischen schlüssels
DE102015115295A1 (de) Verfahren und vorrichtung zur verarbeitung von daten
DE102017204250A1 (de) Verfahren und Vorrichtung zur Absicherung eines Tachometerstandes eines Fahrzeugs und Vorrichtung zur Verifikation eines Tachometerstandes eines Fahrzeugs
EP3767513B1 (de) Verfahren zur sicheren durchführung einer fernsignatur sowie sicherheitssystem
DE102022207547A1 (de) Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit