DE102022200544A1 - Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit - Google Patents

Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit Download PDF

Info

Publication number
DE102022200544A1
DE102022200544A1 DE102022200544.9A DE102022200544A DE102022200544A1 DE 102022200544 A1 DE102022200544 A1 DE 102022200544A1 DE 102022200544 A DE102022200544 A DE 102022200544A DE 102022200544 A1 DE102022200544 A1 DE 102022200544A1
Authority
DE
Germany
Prior art keywords
computer program
protected
memory area
stored
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
Application number
DE102022200544.9A
Other languages
English (en)
Inventor
Camelia Maga
Frederic Stumpf
Jamshid Shokrollahi
Jens Schmuelling
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 DE102022200544.9A priority Critical patent/DE102022200544A1/de
Priority to CN202310096883.XA priority patent/CN116467755A/zh
Publication of DE102022200544A1 publication Critical patent/DE102022200544A1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerprogramms in einer Recheneinheit (2), insbesondere einem Mikrocontroller, die einen Prozessor (4), einen Speicher (6) und ein Hardware-Sicherheits-Modul (8) aufweist, wobei das zu schützende Computerprogramm eine Funktionalität mittels eines zu schützenden Algorithmus implementiert, umfassend ein Ausführen (110) eines in einem ersten Speicherbereich (10) gespeicherten Standard-Computerprogramms in dem Prozessor (4), das die Funktionalität mittels eines Standard-Algorithmus implementiert; ein Durchführen einer ersten Integritätsprüfung (120, 140) der Recheneinheit und/oder des Standard-Computerprogramms; und, wenn bei ersten Integritätsprüfung (120, 140) die Integrität bestätigt wird, ein Entschlüsseln (160) eines zweiten Speicherbereichs (12), in dem das zu schützende Computerprogramm in verschlüsselter Form gespeichert ist, unter Verwendung eines in einem Schlüsselspeicher (16) des Hardware-Sicherheits-Moduls (8) gespeicherten Schlüssels, und ein Speichern des entschlüsselten zu schützenden Computerprogramms in einem dritten Speicherbereich (14), und ein Beenden des Standard-Computerprogramms und ein Starten (170) des im dritten Speicherbereich (14) gespeicherten zu schützenden Computerprogramms in dem Prozessor.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerprogramms in einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
  • Hintergrund der Erfindung
  • Durch Steuergeräte von Maschinen und Fahrzeugen werden Funktionalitäten, insbesondere Steuerungsfunktionen, bereitgestellt, indem Computerprogramme, die entsprechende Algorithmen implementieren, ausgeführt werden. Zur Implementierung einer bestimmten Funktionalität, z.B. der Ansteuerung eines Motors, können im Allgemeinen verschiedene Computerprogramme bzw. Algorithmen verwendet werden, die die Funktionalität auf verschiedene Weise implementieren. Die Verwendung verschiedener Computerprogramme für die gleiche Funktionalität kann vom Vorliegen bestimmter Bedingung abhängig sein, die sich beispielsweise durch vorhandene Komponenten der Maschine bzw. des Fahrzeugs oder auch durch Sicherheitserfordernisse ergeben.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerprogramms in einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung bedient sich der Maßnahme, zunächst ein in einem ersten Speicherbereich gespeichertes Standard-Computerprogramm auszuführen, um eine Funktionalität der Recheneinheit bereitzustellen bzw. zu implementieren. Erst nachdem eine durchgeführte erste Integritätsprüfung erfolgreich ist, d.h. erst nachdem die Integrität der Recheneinheit und/oder darin ausgeführter Computerprogramme bestätigt ist, wird das zu schützende Computerprogramm, das die Funktionalität ebenfalls implementiert und das in einem zweiten Speicherbereich in verschlüsselter Form gespeichert ist, in einem dritten Speicherbereich entschlüsselt und ausgeführt, wobei das Standard-Computerprogramm beendet wird. Auf diese Weise wird erreicht, dass die Daten des zu schützenden Computerprogramms nur dann in entschlüsselter Form vorliegen bzw. ausgeführt werden, wenn im Rahmen der Integritätsprüfung sichergestellt ist, dass kein Angreifer Zugriff auf die Recheneinheit hat, um das zu schützende Computerprogramm bzw. dessen genaue Funktion auszulesen, d.h. das zu schützende Computerprogramm wird vor unerlaubtem Zugriff geschützt. Trotzdem kann die Funktion durch das Standard-Computerprogramm zumindest grundlegend bereitgestellt werden.
  • Im Einzelnen betrifft die Erfindung die abgesicherte Bereitstellung eines zu schützenden Computerprogramms in einer Recheneinheit, insbesondere einem Mikrocontroller, die einen Prozessor, einen Speicher und ein Hardware-Sicherheits-Modul aufweist, wobei das zu schützende Computerprogramm eine Funktionalität mittels eines zu schützenden Algorithmus implementiert. Die Erfindung umfasst (zunächst) ein Ausführen eines in einem ersten Speicherbereich gespeicherten Standard-Computerprogramms in dem Prozessor, das die Funktionalität mittels eines Standard-Algorithmus implementiert. Weiter umfasst das Verfahren ein Durchführen einer ersten Integritätsprüfung der Recheneinheit und/oder des Standard-Computerprogramms und, wenn bei der ersten Integritätsprüfung die Integrität bestätigt wird, ein Entschlüsseln (durch das Hardware-Sicherheits-Modul) eines zweiten Speicherbereichs, in dem das zu schützende Computerprogramm in verschlüsselter Form gespeichert ist, unter Verwendung eines in einem Schlüsselspeicher des Hardware-Sicherheits-Moduls gespeicherten Schlüssels, ein Speichern des entschlüsselten zu schützenden Computerprogramms in einem dritten Speicherbereich, und ein Beenden des Standard-Computerprogramms und ein Starten bzw. Ausführen des im dritten Speicherbereich gespeicherten zu schützenden Computerprogramms in dem Prozessor.
  • Bei der „Funktionalität“ handelt es sich allgemein um eine Funktion, die durch die Recheneinheit mittels Ausführens eines Computerprogramms, das einen geeigneten Algorithmus implementiert, bereitgestellt werden soll. Insbesondere kann die Funktionalität eine Steuerungsfunktion einer Maschine bzw. eines Fahrzeugs sein, die beispielsweise Sensordaten oder Ähnliches auswertet und daraus Steuerbefehle für Komponenten der Maschine bzw. des Fahrzeugs erzeugt. Die Funktionalität kann im Allgemeinen durch verschiedene Computerprogramme bzw. Algorithmen implementiert werden. Das Standard-Computerprogramm bzw. der Standard-Algorithmus bezeichnen dabei eine grundlegende Implementierung bzw. eine Basis-Implementierung der Funktionalität. Das zu schützende Computerprogramm bzw. der zu schützende Algorithmus bezeichnen eine erweiterte Implementierung, die vor dem Zugriff durch Dritte geschützt werden soll, d.h. die insbesondere Dritten nicht bekannt werden soll. Dies kann der Fall sein, wenn die erweitere Implementierung auf Daten basiert bzw. Daten enthält, die geschützt werden sollen. Der zu schützende Algorithmus könnte sich z.B. vom Standard-Algorithmus durch eine verbesserte Genauigkeit, Geschwindigkeit, Leistung o.Ä., etwa einer Steuerungsfunktionalität, unterscheiden. Ein unerlaubtes Kopieren des zu schützenden Algorithmus sollte in diesem Fall verhindert werden, um ein unerlaubte Anwendung des zu schützenden Algorithmus zu verhindern (etwa unerlaubtes Tuning von Fahrzeugen). Bei autonomen oder teilautonomen Fahrzeugen könnte auch vorgesehen sein, dass bestimmte erweiterte Eigenschaften der Funktionalität nur dann verwendet werden dürfen, wenn die Integrität der Recheneinheit sichergestellt ist, um zu verhindern, dass automatische Fahrfunktionen manipuliert werden.
  • Das Hardware-Sicherheits-Modul (HSM) dient als Vertrauensanker der Recheneinheit und verwaltet insbesondere in Speicherbereichen, auf die nur das HSM zugreifen kann, gespeicherte geheime Schlüssel, Referenz-Prüfsummen, Referenz-Signaturen, Referenz-Nachrichtenauthentifizierungscodes und/oder Ähnliches. Weiter ist das HSM bzw. sind HSM-Programme dazu eingerichtet, kryptographische Funktionen bereitzustellen, insbesondere Algorithmen zur Berechnung von Prüfsummen und Nachrichtenauthentifizierungscodes (MAC: Message Authentication Code), aber auch zur Verschlüsselung und Entschlüsselung von Daten. Das HSM stellt eine sichere Umgebung der Recheneinheit dar, eine Änderung von Daten und/oder Programmen im HSM ist nur mit entsprechender Authentifizierung möglich. Das HSM kann einen oder mehrere Prozessorkerne umfassen. Kryptographische Funktionen können insbesondere in Form von dezidierten Hardwareschaltungen realisiert sein.
  • Bei der Integritätsprüfung wird festgestellt, ob die Integrität der Recheneinheit und/oder darin ausgeführter Computerprogramme gegeben ist, d.h. insbesondere, ob ein Zugriff auf die Recheneinheit außerhalb der üblichen Funktion besteht und/oder ob ausgeführte Computerprogramme (z.B. das Standard-Computerprogramm) sich in einem korrekten (nicht manipulierten) Zustand befinden. Es wird also insbesondere ein potenzieller Angriff auf die Recheneinheit, bei dem Kenntnis über deren Funktion und insbesondere der Funktion des zu schützenden Computerprogramms erlangt werden soll, erkannt. Anders formuliert wird bei der Integritätsprüfung bestimmt, ob sich die Recheneinheit und/oder deren Computerprogramme im Rahmen eines üblichen (bekannten) Zustands befinden. Wenn das der Fall ist, wird die Integrität bestätigt bzw. die Integritätsprüfung ist erfolgreich. Andernfalls wird die Integrität nicht bestätigt bzw. die Integritätsprüfung ist nicht erfolgreich (schlägt fehl).
  • Bevorzugt erfolgt, während das zu schützende Computerprogramm ausgeführt wird, ein ein- oder mehrmaliges Durchführen einer zweiten Integritätsprüfung der Recheneinheit und/oder des zu schützenden Computerprogramms; und wenn bei der zweiten Integritätsprüfung die Integrität nicht bestätigt wird, ein Beenden des zu schützenden Computerprogramms und ein Starten des im ersten Speicherbereich gespeicherten Standard-Computerprogramms in dem Prozessor, und ein Überschreiben (bzw. Löschen) des dritten Speicherbereichs. Hierdurch kann verhindert werden, dass ein potenzieller Angreifer Kenntnis des zu schützenden Computerprogramms durch Analyse der Programmfunktion während der Ausführung oder durch Auslesen des entschlüsselten zu schützenden Computerprogramms aus dem dritten Speicherbereich erhält.
  • Bevorzugt wird die zweite Integritätsprüfung wiederholt in regelmäßigen Zeitabständen oder zu zufälligen Zeitpunkten durchgeführt. Auf diese Weise können potenzielle Angriffe, die an späteren Zeitpunkten während der Laufzeit des zu schützenden Computerprogramms gestartet werden, erkannt werden.
  • Bevorzugt umfassen die erste und/oder die zweite Integritätsprüfung eine Zugriffsprüfung, die ein Prüfen, ob ein Debugger mit der Recheneinheit verbunden ist, einschließt. Durch die Zugriffsprüfung soll erkannt werden, ob ein Dritter Zugriff (z.B. zum Datenaustausch) auf die Recheneinheit hat, während das Standard-Computerprogramm bzw. das zu schützende Computerprogramm ausgeführt wird. Der Begriff „Zugriff“ bezieht sich hier auf einen Datenaustausch (bzw. ein Datensenden und/oder -empfangen), der außerhalb des Datenaustauschs, der sich auf die Funktionalität selbst bezieht, erfolgt. Insbesondere soll erkannt werden, ob ein physikalischer Zugriff vorliegt.
  • Als „Debugger“ wird eine Vorrichtung und/oder ein Computerprogramm bezeichnet, mit dem sich der Ablauf eines Computerprogramms nachvollziehen lässt. Insbesondere kann damit nachvollzogen werden, welche Programmbefehle ausgeführt werden, welchen Inhalt Speicherzellen bzw. Prozessorregister aufweisen und/oder wie sich der Inhalt von Speicherzellen bzw. Prozessorregistern ändert. Mittels Debuggern können beispielsweise Fehler in Computerprogrammen gefunden werden. Prozessoren, insbesondere von Mikrocontrollern, können Komponenten und Funktionen, etwa einen sogenannten Debug-Modus, aufweisen, mit denen Debugger unterstützt werden. Anhand eines Status dieser Komponenten bzw. Funktionen kann erkannt werden, ob ein Debugger mit der Recheneinheit verbunden ist, insbesondere durch das HSM. Für den Zugriff von Debuggern können Schnittstellen der Recheneinheit verwendet werden. Beispielsweise eigens für Debugger vorgesehen Schnittstellen wie etwa JTAG-Schnittstelle (JTAG: Joint Test Action Group) oder ähnliche Schnittstellen (insbesondere bei Mikrocontrollern), oder auch eine OBD-Schnittstelle (OBD: On-Board-Diagnose), etwa bei Automobilen. Es können aber auch andere Schnittstellen z.B. eine CAN-Schnittstelle (CAN: Controller Area Network) verwendet werden. Im Bereich von Mikrocontroller können insbesondere sogenannte In-Circuit-Debugger verwendet werden, d.h. elektronische Geräte, die einerseits, etwa über eine der vorgenannten Schnittstellen mit der Recheneinheit, verbunden werden und andererseits mit einem Computer verbunden werden, der ein Debugging-Computerprogramm ausführt.
  • Bevorzugt umfasst die erste Integritätsprüfung eine erste Laufzeitprüfung, die ein Prüfen, ob der erste Speicherbereich unverändert ist, einschließt. Alternativ oder zusätzlich umfasst die zweite Integritätsprüfung bevorzugt eine zweite Laufzeitprüfung, die ein Prüfen, ob der dritte Speicherbereich unverändert ist, einschließt. D.h. die erste/zweite Laufzeitprüfung schließt vorzugsweise eine Prüfung, ob der Inhalt des zu prüfenden Speicherbereichs unverändert gegenüber einem bekanntermaßen korrekten Inhalt ist, ein. Dies erfolgt vorzugsweise durch einen Vergleich von Signaturen, wobei eine vom HSM verwaltete und gespeicherte Signatur (d.h. eine Referenz-Signatur), die einem Zustand des Speicherbereichs entspricht, von dem bekannt ist, dass dieser korrekt (nicht manipuliert) ist, mit einem neu berechneten Wert der Signatur verglichen wird, der basierend auf dem aktuellen Inhalt des Speicherbereichs berechnet wird. Wenn der neu berechnete Signatur-Wert gleich der gespeicherten Signatur (Referenz-Signatur) ist, so ist der Inhalt des Speicherbereichs (im Sinne des Signaturvergleichs) unverändert die Integrität wird bestätigt (zumindest im Hinblick auf die Signatur-Prüfung, wobei die Laufzeitprüfung selbstverständlich noch weitere Prüfungen umfassen kann und auch die Integrität im Hinblick auf die Zugriffsprüfung bestätigt werden muss). Wenn andererseits der neu berechnete Signatur-Wert nicht gleich der gespeicherten Signatur (Referenz-Signatur) ist, so ist der Inhalt des Speicherbereichs (im Sinne des Signaturvergleichs) verändert und die Integrität wird dann nicht bestätigt.
  • Bevorzugt wird, wenn bei der ersten und/oder der zweiten Integritätsprüfung die Integrität nicht bestätigt wird, in einem Protokollspeicherbereich des Hardware-Sicherheits-Moduls ein Eintrag gespeichert, der anzeigt, dass die Integrität nicht bestätigt wurde und, vorzugsweise, Informationen über die Integritätsprüfung, in der die Integrität nicht bestätigt wurde, enthält. Dies ermöglicht die spätere Analyse der fehlgeschlagenen Integritätsprüfungen, z.B. deren Zeitpunkte.
  • Bevorzugt wird, wenn bei der zweiten Integritätsprüfung die Integrität nicht bestätigt wird, ein im HSM gespeicherter Zähler, der anzeigt, wie oft bei der zweiten Integritätsprüfung die Integrität nicht bestätigt wurde, um eins erhöht. Wenn der Zähler eine vorbestimmte Maximalanzahl erreicht, wird der Schlüssel im bzw. vom Hardware-Sicherheits-Modul überschrieben (bzw. gelöscht) und/oder der zweite Speicherbereich überschrieben (bzw. gelöscht). Im Prinzip kann die Maximalanzahl gleich eins sein. Bevorzugt ist allerdings, dass sie größer als eins ist. Diese Ausgestaltung ist vorteilhaft, da damit das im zweiten Speicherbereich gespeicherte zu schützende Computerprogramm dauerhaft (bzw. bis es erneut aufgespielt wird) unbrauchbar gemacht wird, wenn erkannt wird, dass die Integritätsprüfungs-Fehlschläge über ein übliches Maß, etwa bedingt durch Wartungszugriffe, hinausgehen, was ein Hinweis darauf sein könnte, dass ein Angreifer wiederholt versucht, Zugriff auf das zu schützende Computerprogramm bzw. den zu schützenden Algorithmus zu erhalten.
  • Bevorzugt umfasst das Verfahren ein Übertragen zur Recheneinheit und ein Speichern des zu schützenden Computerprogramms in dem zweiten Speicherbereich in verschlüsselter Form. Diese Schritte erfolgen vor den vorstehend genannten Schritten. Indem das zu schützende Computerprogramm in dem zweiten Speicherbereich in verschlüsselter Form zur Recheneinheit übertragen wird und dort in verschlüsselter Form gespeichert wird, kann sichergestellt werden, dass Angreifer zu keinem Zeitpunkt Zugriff auf das (unverschlüsselte) zu schützende Computerprogramm haben.
  • Weiter bevorzugt liegt das zu schützende Computerprogramm in unverschlüsselter Form in einer von der Recheneinheit verschiedenen anderen Recheneinheit vor (bzw. ist dort gespeichert), wobei der im HSM gespeicherte Schlüssel kryptographisch abgesichert zu der anderen Recheneinheit übertragen wird, wobei das zu schützende Computerprogramm von der anderen Recheneinheit unter Verwendung des Schlüssels verschlüsselt wird, und wobei das verschlüsselte zu schützende Computerprogramm von der anderen Recheneinheit zu der Recheneinheit übertragen wird und in dem zweiten Speicherbereich gespeichert wird. Die andere Recheneinheit (z.B. ein Server oder ein sogenannter Cloud-Dienst) wird als sichere Umgebung angesehen. Hier sollten sich die andere Recheneinheit und die Recheneinheit (in der das zu schützende Computerprogramm bereitgestellt werden soll) gegenseitig authentifizieren, so dass keine die Information der anderen unberechtigt nutzen kann. Hier kann z.B. ein sicheres „Key Exchange“- bzw. Schlüsseltausch-Protokoll (etwa auf Basis von RSA) verwendet werden, um den Schlüssel der anderen Recheneinheit mitzuteilen. Die andere Recheneinheit verschlüsselt das zu schützende Computerprogramm mit Hilfe des empfangenen Schlüssels und sendet es in verschlüsselter Form an die Recheneinheit. Der Schlüssel kann insbesondere durch das HSM erzeugt werden.
  • Ebenso weiter bevorzugt liegen das zu schützende Computerprogramm in verschlüsselter Form und der Schlüssel in einer von der Recheneinheit verschiedenen anderen Recheneinheit vor (bzw. sind dort gespeichert), wobei das verschlüsselte zu schützende Computerprogramm und der Schlüssel kryptographisch abgesichert zu der Recheneinheit übertragen werden, und wobei das verschlüsselte zu schützende Computerprogramm in dem zweiten Speicherbereich und der Schlüssel im bzw. vom HSM gespeichert werden. In dieser Variante hat beispielsweise die Recheneinheit bereits ein Schlüsselpaar und auch die Zertifikats-Kette zur Validierung des Schlüsselpaars der Recheneinheit kann bekannt sein. In diesem Fall sendet die Recheneinheit ihren öffentlichen Schlüssel an die andere Recheneinheit, die den Schlüssel mit dem öffentlichen Schlüssel verschlüsselt und zusammen mit dem verschlüsselten zu schützenden Computerprogramm an die Recheneinheit sendet. Die Recheneinheit kopiert das verschlüsselte zu schützende Computerprogramm in den zweiten Speicherbereich. Zusätzlich entschlüsselt sie den Schlüssel mit Hilfe ihres privaten Schlüssels und kopiert ihn in den Schlüsselspeicher. Für die Kombination des verschlüsselten zu schützenden Computerprogramms und des Schlüssels kann z.B. das Format ‚RFC 5652‘ für ‚Cryptographic Message Syntax‘ benutzt werden.
  • Eine erfindungsgemäße Recheneinheit, insbesondere umfassend ein HSM, z.B. ein Steuergerät eines Fahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten 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.
  • Figurenliste
    • 1 zeigt eine Recheneinheit, die zur Implementierung eines erfindungsgemäßen Verfahrens geeignet ist.
    • 2 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform der Erfindung.
  • Ausführungsform(en) der Erfindung
  • 1 zeigt eine Recheneinheit 2, die zur Implementierung einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens geeignet ist. Die gezeigte Recheneinheit 2 umfasst einen Prozessor 4, einen Speicher 6 und ein Hardware-Sicherheits-Modul (HSM) 8. Bei der Recheneinheit 2 handelt es sich vorzugsweise um einen Mikrocontroller. Der Prozessor 2 kann einen oder mehrere Prozessorkerne umfassen. Die Recheneinheit kann im Allgemeinen auch mehrere Prozessoren mit jeweils einem oder mehreren Prozessorkernen umfassen (nicht dargestellt), wobei das Verfahren analog mit jedem Prozessor implementiert werden kann. Die Recheneinheit kann weitere, nicht dargestellte Komponenten, z.B. Schnittstellen, umfassen.
  • Der Speicher 6 kann ein flüchtiger Speicher oder ein nichtflüchtiger Speicher sein. Weitergehend kann der Speicher 6 sowohl flüchtige als auch nichtflüchtige Speicherbereiche umfassen. Im Speicher 6 sind drei Speicherbereiche vorgesehen, nämlich ein erster Speicherbereich 10, ein zweiter Speicherbereich 12 und ein dritter Speicherbereich 14 (wobei der Speicher auch noch weitere Speicherbereiche umfassen kann). Im ersten Speicherbereich 10 ist (d.h. der erste Speicherbereich ist im Rahmen der bevorzugten Ausführungsform dafür vorgesehen) ein Standard-Computerprogramm gespeichert, d.h. ein Computerprogramm, das eine Funktionalität, die durch die Recheneinheit bereitgestellt werden soll, z.B. eine Steuerungs- oder Regelungsfunktion in einem Steuergerät einer Maschine oder eines Fahrzeugs, mit einem Standard-Algorithmus implementiert. Bei Start bzw. Neustart der Recheneinheit wird, gegebenenfalls nach Initialisierung der Recheneinheit oder nach Aufruf durch ein anderes Computerprogramm, zunächst das Standard-Computerprogramm gestartet bzw. ausgeführt (durch den Prozessor 4), beispielsweise indem ein Adresszeiger, der eine Basis-Speicheradresse des Speicherbereichs, in dem die jeweilig auszuführenden Programmbefehle gespeichert sind, anzeigt, auf einen Wert entsprechend dem ersten Speicherbereich eingestellt wird.
  • Im zweiten Speicherbereich 12 ist Rahmen der bevorzugten Ausführungsform ein zu schützendes bzw. zu sicherndes Computerprogramm gespeichert, dass die Funktionalität mittels eines zu schützenden bzw. geschützten Algorithmus implementiert. Das zu schützende Computerprogramm ist in verschlüsselter Form im zweiten Speicherbereich 12 gespeichert.
  • Der dritte Speicherbereich 14 ist hier dafür vorgesehen, das zu schützende Computerprogramm oder Teile des zu schützenden Computerprogramms nach Entschlüsselung des im zweiten Speicherbereich 12 gespeicherten verschlüsselten zu schützenden Computerprogramms zu speichern. Nachdem das entschlüsselte zu schützende Computerprogramm oder Teile davon in den dritten Speicherbereich 14 geschrieben wurden, wird das entschlüsselte zu schützende Computerprogramm im dritten Speicherbereich 14 durch den Prozessor ausgeführt, um die Funktionalität zu implementieren. Die Ausführung des Standard-Computerprogramms wird beendet. Beides kann etwa erreicht werden, indem der oben genannte Adresszeiger auf einen Wert entsprechend dem dritten Speicherbereich eingestellt bzw. umgebogen wird. Das Entschlüsseln des verschlüsselten zu schützenden Computerprogramms und Speichern im dritten Speicherbereich 14 erfolgen erst, wenn eine (erste) Integritätsprüfung erfolgreich abgeschlossen wurde, d.h. wenn die Integrität bestätigt wurde.
  • Die drei Speicherbereiche können unabhängig voneinander flüchtige oder nichtflüchtige Speicherbereiche sein. Beispielsweise könnte der erste Speicherbereich 10 ein nichtflüchtiger ROM-Speicher (ROM: Read-Only-Memory, Nur-LeseSpeicher), der zweite Speicherbereich 12 ein nichtflüchtiger Flash-Speicher und der dritte Speicherbereich 14 ein flüchtiger RAM-Speicher (RAM: Random-Access-Memory, Direktzugriffsspeicher) sein.
  • Ein Entschlüsseln des im zweiten Speicherbereich 12 gespeicherten verschlüsselten zu schützenden Computerprogramms erfolgt durch das HSM 8. Ein Schlüssel, der für die Entschlüsselung verwendet wird, ist in einem Schlüsselspeicher 16 des HSM 8 gespeichert. Der Schlüsselspeicher 16 ist in einem Speicherbereich vorgesehen, auf den nur das HSM Zugriff hat. Dies kann ein Speicherbereich in einem HSM-Speicher (d.h. einem eigenen Speicher des HSM) oder auch ein Speicherbereich in einem anderen Speicherelement (etwa dem Speicher 6) sein.
  • Zusätzlich ist ein optionaler (HSM-)Protokollspeicher 18 gezeigt, auf den insbesondere nur das HSM 8 Zugriff hat. In diesem können vom HSM Ereignisse gespeichert werden, um diese zu protokollieren. Vorzugsweise werden Ergebnisse von und/oder Informationen über Integritätsprüfungen gespeichert, wenn die jeweilige Integritätsprüfung nicht erfolgreich ist, d.h. die Integrität nicht bestätigt wird.
  • 2 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform des Verfahrens zur abgesicherten Bereitstellung des zu schützenden Computerprogramms.
  • Vor den in 2 dargestellten Schritten wird in einem optionalen, nicht dargestellten Schritt das zu schützende Computerprogramm in verschlüsselter Form in dem zweiten Speicherbereich gespeichert bzw. in diesen geschrieben. Dies erfolgt vorzugsweise so, dass das zu schützende Computerprogramm in bereits verschlüsselter Form auf die Recheneinheit aufgespielt wird, d.h. von einer anderen Recheneinheit (die als sicher angesehen wird) in verschlüsselter Form kryptographisch abgesichert zur Recheneinheit übertragen wird und dort im zweiten Speicherbereich gespeichert wird.
  • In einem optionalen Schritt 100 erfolgt ein Aufruf der Funktionalität, die durch das zu schützende Computerprogramm mittels eines zu schützenden Algorithmus implementiert wird. Der Aufruf kann z.B. nach Start bzw. Neustart und Initialisierung der Recheneinheit erfolgen oder durch ein anderes (bereits ausgeführtes) Computerprogramm.
  • In Schritt 110 wird ein Standard-Computerprogramm, das die Funktionalität mittels eines Standard-Algorithmus implementiert, durch den Prozessor gestartet bzw. ausgeführt.
  • In Schritt 120 wird geprüft, ob Zugriff von außen auf die Recheneinheit vorliegt, insbesondere ob ein Debugger vorhanden ist, z.B. ob ein Debugger mit der Recheneinheit verbunden ist und/oder ob sich die Recheneinheit oder der Prozessor in einem Debug-Modus befinden. Diese Prüfung wird als (erste) Zugriffsprüfung bezeichnet und wird vorzugsweise durch das HSM ausgeführt. Wenn ein Zugriff auf die Recheneinheit vorliegt bzw. erkannt wird, insbesondere wenn ein Debugger erkannt wird, wird zu Schritt 110 zurückgesprungen, d.h. es wird mit der Ausführung des Standard-Computerprogramms fortgefahren.
  • Wenn andererseits kein Zugriff auf die Recheneinheit erkannt wird, erfolgt in Schritt 140, vorzugsweise durch das HSM, eine (erste) Laufzeitprüfung, bei der insbesondere geprüft wird, ob das Standard-Computerprogramm und/oder von der Recheneinheit ausgeführte andere Computerprogramme gegenüber einem bekannten Zustand verändert wurden bzw. manipuliert wurden. Dies kann z.B. mittels Prüfsummen, digitaler Signaturen oder Nachrichtenauthentifizierungscodes erfolgen, die für den ersten Speicherbereich bzw. Speicherbereiche, in denen die anderen Computerprogramme gespeichert sind, berechnet werden. Entsprechende Referenz-Prüfsummen, Referenz-Signaturen bzw. Referenz-MACs können im HSM oder einem Speicherbereich, auf den nur das HSM Zugriff hat, gespeichert sein. Wenn die Laufzeitprüfung nicht erfolgreich war, d.h. wenn eine Änderung oder Manipulation erkannt wurde, wird zu Schritt 110 zurückgesprungen, d.h. es wird mit der Ausführung des Standard-Computerprogramms fortgefahren.
  • Die Schritte 120 (Zugriffsprüfung) und 140 (Laufzeitprüfung), die auch in einer anderen als der gezeigten Reihenfolge, z.B. zumindest teilweise parallel oder Schritt 140 vor Schritt 120, durchgeführt werden können, können zusammen als erste Integritätsprüfung angesehen werden. Falls die erste Integritätsprüfung nicht erfolgreich ist, d.h. falls die Zugriffsprüfung und/oder die Laufzeitprüfung nicht erfolgreich sind, wird zu Schritt 110 zurückgesprungen.
  • Falls andererseits die erste Integritätsprüfung erfolgreich ist, d.h. wenn insbesondere die erste Laufzeitprüfung in Schritt 14 erfolgreich ist (keine Manipulation erkannt), erfolgt in Schritt 160 ein Entschlüsseln des im zweiten Speicherbereich gespeicherten verschlüsselten zu schützenden Computerprogramms und ein Speichern bzw. Schreiben des entschlüsselten zu schützenden Computerprogramms in dem bzw. in den dritten Speicherbereich. Das Entschlüsseln und Speichern kann jeweils auch nur Teile des verschlüsselten zu schützenden Computerprogramms umfassen, etwa wenn der dritte Speicherbereich zu klein ist, um das gesamte zu schützende Computerprogramm aufzunehmen. In diesem Fall werden jeweils bei der Ausführung benötigte Teile des zu schützenden Computerprogramms entschlüsselt und im dritten Speicherbereich gespeichert. Das Entschlüsseln erfolgt durch das HSM unter Verwendung des im Schlüsselspeicher gespeicherten Schlüssels.
  • In Schritt 170 wird das Standard-Computerprogramm beendet und das zu schützende Computerprogramm gestartet bzw. mit dessen Ausführung begonnen, d.h. es wird das entschlüsselte, im dritten Speicherbereich gespeicherte, zu schützende Computerprogramm durch den Prozessor ausgeführt.
  • In Schritt 180 erfolgt, während das zu schützende Computerprogramm ausgeführt wird, eine zweite Integritätsprüfung, insbesondere durch das HSM. Die zweite Integritätsprüfung umfasst eine zweite Zugriffsprüfung und/oder eine zweite Laufzeitprüfung. Bei der zweiten Zugriffsprüfung bzw. der zweiten Laufzeitprüfung wird vorgegangen wie bei der ersten Zugriffsprüfung bzw. der ersten Laufzeitprüfung, wobei bei der zweiten Laufzeitprüfung eine Prüfsumme bzw. MAC für den dritten Speicherbereich berechnet und geprüft wird.
  • In Schritt 190 wird, wenn die zweite Integritätsprüfung erfolgreich war, d.h. wenn kein Zugriff bei der Zugriffsprüfung und/oder keine Manipulation bei der Laufzeitprüfung festgestellt wurden, zu Schritt 180 (zweite Integritätsprüfung) zurückgesprungen. Dies erfolgt vorzugsweise nach einer gewissen Zeitspanne, die vorbestimmt oder zufällig sein kann. Das zu schützende Computerprogramm wird während Schritt 180 und Schritt 190 weiterhin ausgeführt, so dass zu gleichmäßig oder zufällig beabstandeten Zeitpunkten eine zweite Integritätsprüfung durchgeführt wird und das zu schützende Computerprogramm ausgeführt wird, solange die zweite Integritätsprüfung erfolgreich ist.
  • Andererseits, wenn die zweite Integritätsprüfung nicht erfolgreich ist, wird in Schritt 200 die Ausführung des zu schützenden Computerprogramms gestoppt bzw. beendet. Ebenso wird in diesem Fall zu Schritt 110 zurückgesprungen, d.h. es wird wieder mit der Ausführung des Standard-Computerprogramms begonnen, so dass die Funktionalität weiterhin bereitgestellt wird.
  • Im bevorzugten Schritt 210 erfolgt, insbesondere veranlasst durch das HSM, ein Überschreiben bzw. Löschen des dritten Speicherbereichs, d.h. das entschlüsselte zu schützende Computerprogramm wird gelöscht. Beim Überschreiben kann in jede Speicherzelle des dritten Speicherbereichs bzw. zumindest in den Teil des dritten Speicherbereichs, in dem das entschlüsselte zu schützende Computerprogramm gespeichert ist, ein Standardwert, z.B. eine logische ‚0‘ geschrieben werden. Alternativ könnten zufällige Werte in die Speicherzellen geschrieben werden.
  • Im bevorzugten Schritt 220 wird ein Eintrag im Protokollspeicher des HSM erzeugt, der einen Zähler, der die Anzahl der fehlgeschlagen zweiten Integritätsprüfungen anzeigt, um eins erhöht und/oder Informationen zur fehlgeschlagenen zweiten Integritätsprüfung enthält, z.B. Zeitangaben und/oder Informationen über den Grund (Zugriffsprüfung oder Laufzeitprüfung) der fehlgeschlagenen zweiten Integritätsprüfung. Weitergehend kann, etwa wenn der Zähler eine vorbestimmte Maximalanzahl erreicht, der Schlüssel im Schlüsselspeicher des HSM gelöscht bzw. überschrieben werden und/oder der zweite Speicherbereich überschrieben bzw. gelöscht werden, d.h. das verschlüsselt zu schützende Computerprogramm wird gelöscht.

Claims (13)

  1. Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerprogramms in einer Recheneinheit (2), insbesondere einem Mikrocontroller, die einen Prozessor (4), einen Speicher (6) und ein Hardware-Sicherheits-Modul (8) aufweist, wobei das zu schützende Computerprogramm eine Funktionalität mittels eines zu schützenden Algorithmus implementiert, umfassend Ausführen (110) eines in einem ersten Speicherbereich (10) gespeicherten Standard-Computerprogramms in dem Prozessor (4), das die Funktionalität mittels eines Standard-Algorithmus implementiert; Durchführen einer ersten Integritätsprüfung (120, 140) der Recheneinheit und/oder des Standard-Computerprogramms; und wenn bei ersten Integritätsprüfung (120, 140) die Integrität bestätigt wird, Entschlüsseln (160) eines zweiten Speicherbereichs (12), in dem das zu schützende Computerprogramm in verschlüsselter Form gespeichert ist, unter Verwendung eines in einem Schlüsselspeicher (16) des Hardware-Sicherheits-Moduls (8) gespeicherten Schlüssels, und Speichern des entschlüsselten zu schützenden Computerprogramms in einem dritten Speicherbereich (14), und Beenden des Standard-Computerprogramms und Starten (170) des im dritten Speicherbereich (14) gespeicherten zu schützenden Computerprogramms in dem Prozessor.
  2. Verfahren nach Anspruch 1, umfassend, während das zu schützende Computerprogramm ausgeführt wird, ein- oder mehrmaliges Durchführen einer zweiten Integritätsprüfung (180) der Recheneinheit (2) und/oder des zu schützenden Computerprogramms; wenn bei der zweiten Integritätsprüfung (180) die Integrität nicht bestätigt wird, Beenden (200) des zu schützenden Computerprogramms und Starten des im ersten Speicherbereich (10) gespeicherten Standard-Computerprogramms in dem Prozessor, und Überschreiben (210) des dritten Speicherbereichs (14).
  3. Verfahren nach Anspruch 2, wobei die zweite Integritätsprüfung (180) wiederholt in regelmäßigen Zeitabständen oder an zufälligen Zeitpunkten durchgeführt wird.
  4. Verfahren nach Anspruch 2 oder 3, wobei, wenn bei der zweiten Integritätsprüfung (180) die Integrität nicht bestätigt wird, ein im oder vom Hardware-Sicherheits-Modul (8) gespeicherter Zähler, der anzeigt, wie oft bei der zweiten Integritätsprüfung die Integrität nicht bestätigt wurde, um eins erhöht wird; wobei, wenn der Zähler eine vorbestimmte Maximalanzahl erreicht, der Schlüssel im Hardware-Sicherheits-Modul gelöscht wird und/oder der zweite Speicherbereich (12) überschrieben wird (220).
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei die erste Integritätsprüfung eine erste Zugriffsprüfung (120) und/oder die zweite Integritätsprüfung (180) eine zweite Zugriffsprüfung umfassen, wobei die die erste bzw. zweite Zugriffsprüfung ein Prüfen, ob ein Debugger mit der Recheneinheit verbunden ist, einschließt.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei die erste Integritätsprüfung eine erste Laufzeitprüfung (140) umfasst, die ein Prüfen, ob der erste Speicherbereich (10) unverändert ist, einschließt; und/oder wobei die zweite Integritätsprüfung (180) eine zweite Laufzeitprüfung umfasst, die ein Prüfen, ob der dritte Speicherbereich (14) unverändert ist, einschließt.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei, wenn bei der ersten und/oder der zweiten Integritätsprüfung (120, 140; 180) die Integrität nicht bestätigt wird, in einem Protokollspeicherbereich (18) des Hardware-Sicherheits-Moduls (8) ein Eintrag gespeichert wird, der anzeigt, dass die Integrität nicht bestätigt wurde und, vorzugsweise, Informationen über die Integritätsprüfung, in der die Integrität nicht betätigt wurde, enthält.
  8. Verfahren nach einem der vorstehenden Ansprüche, umfassend ein Übertragen und ein Speichern des zu schützenden Computerprogramms in dem zweiten Speicherbereich in verschlüsselter Form.
  9. Verfahren nach Anspruch 8, wobei das zu schützende Computerprogramm in unverschlüsselter Form in einer von der Recheneinheit (2) verschiedenen anderen Recheneinheit vorliegt; der im bzw. vom Hardware-Sicherheits-Modul (8) gespeicherte Schlüssel kryptographisch abgesichert zu der anderen Recheneinheit übertragen wird; das zu schützende Computerprogramm von der anderen Recheneinheit unter Verwendung des Schlüssels verschlüsselt wird; und das verschlüsselte zu schützende Computerprogramm von der anderen Recheneinheit zu der Recheneinheit übertragen wird und in dem zweiten Speicherbereich (12) gespeichert wird.
  10. Verfahren nach Anspruch 8, wobei das zu schützende Computerprogramm in verschlüsselter Form und der Schlüssel in einer von der Recheneinheit (2) verschiedenen anderen Recheneinheit vorliegen; das verschlüsselte zu schützende Computerprogramm und der Schlüssel kryptographisch abgesichert zu der Recheneinheit übertragen werden; und das verschlüsselte zu schützende Computerprogramm in dem zweiten Speicherbereich (12) und der Schlüssel im bzw. vom Hardware-Sicherheits-Modul gespeichert werden.
  11. Recheneinheit umfassend ein Hardware-Sicherheits-Modul, die dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
  12. Computerprogramm, das eine Recheneinheit dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird.
  13. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 12.
DE102022200544.9A 2022-01-18 2022-01-18 Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit Pending DE102022200544A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022200544.9A DE102022200544A1 (de) 2022-01-18 2022-01-18 Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit
CN202310096883.XA CN116467755A (zh) 2022-01-18 2023-01-18 用于在计算单元中安全提供所要保护的计算机程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022200544.9A DE102022200544A1 (de) 2022-01-18 2022-01-18 Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit

Publications (1)

Publication Number Publication Date
DE102022200544A1 true DE102022200544A1 (de) 2023-07-20

Family

ID=86990522

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022200544.9A Pending DE102022200544A1 (de) 2022-01-18 2022-01-18 Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit

Country Status (2)

Country Link
CN (1) CN116467755A (de)
DE (1) DE102022200544A1 (de)

Also Published As

Publication number Publication date
CN116467755A (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
DE602005001351T2 (de) Verteilte Verwaltung einer Zertifikatsrücknahmeliste
DE112005001666B4 (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
DE10392528T5 (de) Microcode-Patch-Authentifizierung
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
EP3811261B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE102016210788A1 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102015202215A1 (de) Vorrichtung und Verfahren zum sicheren Betreiben der Vorrichtung
DE102022200544A1 (de) Verfahren zur abgesicherten Bereitstellung eines zu schützenden Computerpro-gramms in einer Recheneinheit
EP3963490B1 (de) Verfahren und vorrichtung zum übertragen eines boot-codes mit verbesserter datensicherheit
DE102020216030A1 (de) Verfahren zum abgesicherten Start einer Recheneinheit
DE102020207866A1 (de) Verfahren zum Durchführen einer abgesicherten Startsequenz eines Steuergeräts
DE102015112837A1 (de) Vorrichtung und Verfahren zur Verhinderung des Klonens von Code
DE102021004427B4 (de) Verfahren zur lmplementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems
DE102021212994B3 (de) Verfahren zur Erkennung von auf eine Manipulation hindeutenden Anomalien während eines sicheren Startvorgangs einer softwaregesteuerten Vorrichtung
DE102020214499A1 (de) Verfahren zum Erzeugen von Schlüsseln und Ersetzen von Teilnehmern in einem Netzwerk
DE102022202688A1 (de) Verfahren zur Validierung von Daten in einer Recheneinheit
DE102010040115A1 (de) Verfahren zum Bereitstellen von Informationen für ein Steuergerät
DE102021006638A1 (de) Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems
DE102021006637A1 (de) Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems
DE102021202444A1 (de) Verfahren zur Aktualisierung eines Konfigurationsregisters in einem vertrauenswürdigen Modul
DE102022207547A1 (de) Verfahren zur verteilten Integritätsprüfung in einer Gruppe mehrerer Recheneinheiten und Recheneinheit
DE102019220450A1 (de) Vorrichtung mit einer Schnittstelle und Verfahren zum Betreiben einer Vorrichtung mit einer Schnittstelle
WO2024056443A1 (de) Verfahren zum überprüfen von daten in einer recheneinheit
DE102020208823A1 (de) Verfahren zur verteilten Authentifizierung einer Nachricht