DE102022202691A1 - Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit - Google Patents

Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit Download PDF

Info

Publication number
DE102022202691A1
DE102022202691A1 DE102022202691.8A DE102022202691A DE102022202691A1 DE 102022202691 A1 DE102022202691 A1 DE 102022202691A1 DE 102022202691 A DE102022202691 A DE 102022202691A DE 102022202691 A1 DE102022202691 A1 DE 102022202691A1
Authority
DE
Germany
Prior art keywords
protection
memory
security module
memory area
execution
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
DE102022202691.8A
Other languages
English (en)
Inventor
Frederic Stumpf
Peter Poinstingl
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 DE102022202691.8A priority Critical patent/DE102022202691A1/de
Priority to CN202310270471.3A priority patent/CN116776333A/zh
Publication of DE102022202691A1 publication Critical patent/DE102022202691A1/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
    • G06F21/575Secure boot
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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
    • G06F21/72Protecting 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 in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (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 Durchführung einer abgesicherten Startsequenz einer Rechen-einheit (2), die einen Host (4) mit einem Hostprozessor (12), einen Speicher (10), ein Sicherheitsmodul (6) und eine durch das Sicherheitsmodul konfigurierbare Speicherschutzeinheit (8) aufweist, die dazu eingerichtet ist, für wenigstens einen konfigurierbaren Bereich des Speichers entsprechend einer jeweiligen Konfiguration wahlweise eines oder mehreres von einem Schreib-schutz, einem Leseschutz und einem Ausführungsschutz für Zugriffe durch den Host zu implementieren, wobei mit Start der Recheneinheit das Sicherheitsmodul (6) und die Speicherschutzeinheit (8) gestartet werden (100, 105) und der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für einen Lade-Speicherbereich (72) des Speichers, in dem ein Ladeprogramm gespeichert ist, aktiviert werden; wobei die Integrität des Lade-Speicherbereichs (72) durch das Sicherheitsmodul geprüft wird (110); wobei, wenn die Integrität des Lade-Speicherbereichs bestätigt wird, die Speicherschutzeinheit (8) durch das Sicherheitsmodul (6) konfiguriert wird (120), den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich (72) zu deaktivieren (125), und die Ausführung des Ladeprogramms im Host gestartet wird (130).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit sowie eine Recheneinheit zu dessen Durchführung.
  • Hintergrund der Erfindung
  • Steuergeräte von Kraftfahrzeugen oder anderen Maschinen können mit einem Sicherheitsmodul, etwa einem sogenannten Hardware-Sicherheits-Modul (HSM), ausgestattet sein, das Funktionen bereitstellt, um die Funktion des Steuergeräts, insbesondere die Ausführung von Anwendungsprogrammen bzw. Computerprogrammen durch das Steuergerät, kryptographisch abzusichern. Beispielsweise kann die Authentizität von Anwendungsprogrammen vor ihrer Ausführung geprüft werden, oder das HSM kann Verschlüsselungen und/oder Entschlüsselungen von Daten durchführen, etwa von Daten, die vom Steuergerät an eine andere Recheneinheit gesendet werden oder von einer anderen Recheneinheit empfangen werden. Typischerweise ist das HSM zusammen mit einem Hauptprozessor des Steuergeräts in einem Mikrochip integriert, um eine hohe Verarbeitungsgeschwindigkeit zu gewährleisten.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit sowie eine Recheneinheit 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, mit Start der Recheneinheit ein Sicherheitsmodul und eine Speicherschutzeinheit zu starten und einen Schreibschutz und/oder einen Leseschutz und/oder einen Ausführungsschutz für einen Lade-Speicherbereich eines Speichers, in dem ein Ladeprogramm gespeichert ist, zu aktivieren. Anschließend wird die Integrität des Lade-Speicherbereichs durch das Sicherheitsmodul geprüft und, wenn die Integrität des Lade-Speicherbereichs bestätigt wird, wird die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich zu deaktivieren, und es wird die Ausführung des Ladeprogramms in einem Host gestartet. Dadurch, dass die Schutzfunktionen während der Integritätsprüfung aktiviert sind, wird die Lücke für Angriffe, die dadurch entsteht, dass der Zeitpunkt des Starts des Ladeprogramms unterschiedlich vom Zeitpunkt der Integritätsprüfung des Lade-Speicherbereichs ist, geschlossen bzw. zumindest verkleinert.
  • Der Host, der wenigstens eine Speicher, das Sicherheitsmodul und die Speicherschutzeinheit sind in der Recheneinheit umfasst. Der Host weist einen Hostprozessor auf. Die Speicherschutzeinheit ist durch das Sicherheitsmodul konfigurierbar und ist dazu eingerichtet, für wenigstens einen konfigurierbaren Bereich des wenigstens einen Speichers entsprechend einer jeweiligen Konfiguration wahlweise den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für Zugriffe durch den Host zu implementieren. Da die Speicherschutzeinheit durch das Sicherheitsmodul konfigurierbar ist, ist es möglich, den Speicherschutz dynamisch für verschiedene Speicherbereiche, in denen sich zu jeweiligen Zeitpunkt zu validierende Daten befinden, zu aktivieren. Bevorzugt ist die Speicherschutzeinheit nicht durch den Host konfigurierbar. Dies ist vorteilhaft, da so verhindert wird, dass ein manipuliertes, bereits ausgeführtes Computerprogramm die Schutzfunktionen umgeht, z.B. um ein weiteres manipuliertes Computerprogramm zur Ausführung zu bringen.
  • „Leseschutz“ heißt, dass die in dem Speicherbereich gespeicherten Daten vom Host nicht gelesen werden können. „Schreibschutz“ heißt, dass der Host keine neuen Daten in den Speicherbereich schreiben kann bzw. die Daten im Speicherbereich nicht ändern kann. „Ausführungsschutz“ heißt, dass, wenn die Daten im Speicherbereich ein Computerprogramm sind, der Host dieses Computerprogramm nicht ausführen kann. In der vorliegenden Anmeldung ist der Ausführungsschutz typischerweise mit einem Leseschutz verbunden. Ein Ausführungsschutz ohne Leseschutz hieße, dass die Daten vom Host nicht als Maschinenbefehle (opcode) interpretiert werden, dass also die Speicherschutzeinheit verhindert, dass die Daten in eine Befehlsdekodiereinheit des Hostprozessors geladen werden. Ein Lesen an sich, d.h. Laden in generische Datenregister des Hostprozessors (d.h. außerhalb der Befehlsdekodiereinheit), wäre in diesem Fall möglich.
  • 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 (Integritäts-)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 Prozessor (der vom Hostprozessor verschieden ist) und kann vom Host gesondert ausgeführt sein oder mit dem Host bzw. Hostprozessor und dem Speicher in einem Chip integriert sein (Sicherheitsmodul und Host sind dann sozusagen durch verschiedene Prozessorkerne auf dem Chip gebildet bzw. abgebildet). Das Sicherheitsmodul ist dazu eingerichtet, die Integrität von Speicherbereichen zu prüfen.
  • Bei der Integritätsprüfung wird insbesondere eine Funktion, d.h. eine Prüfwertfunktion bzw. kryptographische Hashfunktion, auf die Daten im zu prüfenden Speicherbereich angewendet und der erhaltene aktuelle Prüfiniert mit einem Referenz-Prüfiniert verglichen. Sind diese gleich, wird davon ausgegangen (im Sinne der Integritätsprüfung bzw. der Hashfunktion), dass die Daten unverändert sind, die Integrität wird also bestätigt. Sind diese nicht gleich, wird davon ausgegangen, dass die Daten verändert sind bzw. manipuliert wurden, die Integrität wird also nicht bestätigt. Referenz-Prüfwerte können z.B. in einem nichtflüchtigen Sicherheitsmodul-Speicher gespeichert sein. Referenz-Prüfwerte können vom Sicherheitsmodul verwaltet bzw. gespeichert werden. Geeignete 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.
  • Es können auch Nachrichtenauthentifizierungscodes (MAC: Message Authentication Code) zur Integritätsprüfung genutzt werden. Etwa HMAC (hash-based message authentication code; Hash-basierter Nachrichtenauthentifizierungscode) entsprechend RFC2104 bzw. FIPS PUB 198 (http://csrc.nist.gov/publications/fips/fips 198-1/FI PS-198-1_final. pdf). HMAC umfasst das mehrmalige Anwenden einer Hashfunktion, insbesondere eine der vorstehend genannten kryptographischen Hashfunktionen. Allgemeiner kann auch ein anderer Nachrichtenauthentifizierungscode (MAC) verwendet werden, in dessen Abbildung ein Schlüssel (z.B. vom Sicherheitsmodul gespeichert) und eine Nachricht (Daten im Speicherbereich) eingehen. Die HMAC-Abbildung bzw. die MAC-Abbildung eines Schlüssels und einer Nachricht auf einen Authentifizierungscode (Prüfwert) stellen entsprechend Prüfwertfunktionen dar. Weitere Beispiele für Nachrichtenauthentifizierungscodes neben HMAC sind CMAC (Cipher-Based Message Authentication Code), GMAC (Galois Message Authentication Code) oder SipHash.
  • Bevorzugt werden mit Start der Recheneinheit der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für einen Systemkern-Speicherbereich des Speichers, in dem ein Systemkernprogramm gespeichert ist, aktiviert, wobei durch das Ladeprogramm eine Prüfung der Integrität des einen Systemkern-Speicherbereichs durch das Sicherheitsmodul veranlasst wird und wobei, wenn die Integrität des Systemkern-Speicherbereichs bestätigt wird, die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert wird, den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich zu deaktivieren, und die Ausführung des Systemkernprogramms im Host gestartet wird (wenn die Integrität des Systemkern-Speicherbereichs bestätigt wird).
  • Das Systemkernprogramm (z.B. ein Betriebssystem) ist ein Computerprogramm, das grundlegende Funktionen implementiert, die die Verwaltung und Ausführung von Anwendungsprogrammen betreffen. Beispiele für solche Funktionen sind: den Start und das Beenden von Anwendungsprogrammen zu veranlassen, den Anwendungsprogrammen Hardwareressourcen (Rechenzeit, Speicherplatz in einem flüchtigen Speicher, ...) zuzuteilen, oder Schnittstellen zu Kommunikation mit externen Geräten (andere Recheneinheiten, Sensoren, gesteuerte Komponenten) zu implementieren. Weitergehend, insbesondere für den Fall, dass lediglich ein Anwendungsprogramm vorgesehen ist, kann das Systemkernprogramm selbst ein Anwendungsprogramm sein bzw. ein Anwendungsprogramm einschließen.
  • Bevorzugt werden mit Start der Recheneinheit der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für wenigstens einen Anwendungs-Speicherbereich des Speichers, in dem wenigstens ein Anwendungsprogramm gespeichert ist, aktiviert, wobei durch das Ladeprogramm oder gegebenenfalls das Systemkernprogramm eine Prüfung der Integrität des wenigstens einen Anwendungs-Speicherbereichs durch das Sicherheitsmodul veranlasst wird, und wobei, wenn die Integrität des wenigstens einen Anwendungs-Speicherbereichs bestätigt wird, die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert wird, den Leseschutz und/oder den Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich zu deaktivieren, und die Ausführung des wenigstens einen Anwendungsprogramms im Host gestartet wird (wenn die Integrität des Anwendungs-Speicherbereichs bestätigt wird).
  • Anwendungsprogramme sind Computerprogramme, die die eigentliche Funktionalität der Recheneinheit implementieren. Im Falle eines Steuergeräts sind dies z.B. Steuerungsfunktionen, wobei Anwendungsprogramme Daten von Sensoren oder gesteuerten Komponenten empfangen und/oder Steuersignale für gesteuerte Komponenten erzeugen. Es kann lediglich ein Anwendungsprogramm vorhanden sein oder es können mehrere Anwendungsprogramme vorhanden sein. Im Falle mehrerer Anwendungsprogramme können die vorstehend genannten Schritte für jedes einzelne der Anwendungsprogramme durchgeführt werden. Vorzugsweise werden die Integritätsprüfung und der Start on Anwendungsprogrammen durch das Systemkernprogramm veranlasst. Es kann prinzipiell auch vorgesehen sein, dass die Integritätsprüfung und der Start von Anwendungsprogrammen durch das Ladeprogramm veranlasst wird, insbesondere, wenn lediglich ein einzelnes Anwendungsprogramm vorgesehen ist.
  • Bevorzugt ist die Speicherschutzeinheit dazu eingerichtet, bei Start eine Standardkonfiguration zu implementieren, in welcher der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für den Lade-Speicherbereich aktiviert sind. Alternativ, ebenso bevorzugt, wird bei Start des Sicherheitsmoduls die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert, den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich zu aktivieren. Vorzugsweise sind in der Standardkonfiguration weiterhin der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für den Systemkern-Speicherbereich aktiviert. Alternativ, ebenso vorzugsweise, wird bei Start des Sicherheitsmoduls, die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert, den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich zu aktivieren. Vorzugsweise sind in der Standardkonfiguration weiterhin der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich aktiviert. Alternativ, ebenso vorzugsweise, wird bei Start des Sicherheitsmoduls, die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert, den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich zu aktivieren.
  • Diese Ausgestaltungen betreffen Möglichkeiten, die anfängliche Aktivierung der Schutzfunktionen für die jeweiligen Speicherbereiche (Lade-Speicherbereich, Systemkern-Speicherbereich, Anwendungs-Speicherbereich) effektiv zu implementieren. Insbesondere so, dass keine zwischenzeitlichen Zeiträume vor Integritätsprüfung des jeweiligen Speicherbereichs auftreten, in denen die Schutzfunktionen nicht aktiviert sind.
  • Bevorzugt konfiguriert, wenn die Integrität des Lade-Speicherbereichs nicht bestätigt wird, das Sicherheitsmodul die Speicherschutzeinheit nicht, den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich zu deaktivieren, und weiter bevorzugt wird eine Fehlermeldung erzeugt und/oder gespeichert. Bevorzugt konfiguriert, wenn die Integrität des Systemkern-Speicherbereichs nicht bestätigt wird, das Sicherheitsmodul die Speicherschutzeinheit nicht, den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich zu deaktivieren, und weiter bevorzugt wird eine Fehlermeldung erzeugt und/oder gespeichert. Bevorzugt konfiguriert, wenn die Integrität des wenigstens einen Anwendungs-Speicherbereichs nicht bestätigt wird, das Sicherheitsmodul die Speicherschutzeinheit nicht, den Leseschutz und/oder den Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich zu deaktivieren, und weiter bevorzugt wird eine Fehlermeldung erzeugt und/oder gespeichert.
  • Diese Ausgestaltungen, die den Fall betreffen, dass die Integrität eines der Speicherbereich nicht bestätigt wird, sind vorteilhaft, da so die Ausführung der jeweiligen Computerprogramme durch den Host effektiv verhindert werden kann. Die Fehlermeldung ermöglicht es die potentielle Manipulation zu erkennen und dient der Fehleranalyse, z.B. welches Computerprogramm betroffen ist.
  • Bevorzugt wird, wenn eine Anfrage von einer Programmiereinheit zur Neuprogrammierung des Ladeprogramms und/oder des Systemkernprogramms und/oder des wenigstens einen Anwendungsprogramms empfangen wird, durch das Sicherheitsmodul die Authentizität der Programmiereinheit geprüft und, wenn die Authentizität bestätigt wird, konfiguriert das Sicherheitsmodul die Speicherschutzeinheit, den Schreibschutz für den Lade-Speicherbereich und/oder den Systemkern-Speicherbereich und/oder den wenigstens einen Anwendungs-Speicherbereich zu deaktivieren. Durch diese Ausgestaltung wird eine Aktualisierung der Computerprogramme ermöglicht.
  • Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs oder einer anderen Maschine, weist einen Host mit einem Hostprozessor einen Speicher, ein Sicherheitsmodul und eine durch das Sicherheitsmodul konfigurierbare Speicherschutzeinheit auf, die dazu eingerichtet ist, für wenigstens einen konfigurierbaren Bereich des wenigstens einen Speichers entsprechend einer jeweiligen Konfiguration wahlweise eines oder mehreres von einem Schreibschutz, einem Leseschutz und einem Ausführungsschutz zu implementieren. Die Recheneinheit ist dazu eingerichtet, alle Verfahrensschritte eines erfindungsgemäßen durchzuführen.
  • 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 zeigt beispielhaft eine Recheneinheit, in der das Verfahren zur Durchführung einer abgesicherten Startsequenz implementiert werden kann.
    • 2 illustriert den Ablauf des Verfahrens zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit gemäß einer bevorzugten Ausführungsform.
  • Ausführungsform(en) der Erfindung
  • 1 zeigt beispielhaft eine Recheneinheit 2, in der das Verfahren zur Validierung von Daten implementiert werden kann. Die Recheneinheit 2, z.B. ein Steuergerät eines Kraftfahrzeugs oder einer anderen Maschine, umfasst einen Host 4, ein Sicherheitsmodul 6, eine Speicherschutzeinheit 8, einen nichtflüchtigen Speicher 10 und optional einen flüchtigen Speicher 11.
  • Der Host 4 umfasst einen Hostprozessor 12 mit einem oder mehreren Prozessorkernen und optional einen flüchtigen Arbeitsspeicher 14 (RAM: Random Access Memory). Neben den gezeigten Elementen kann der Host selbstverständlich noch weitere Elemente umfassen, insbesondere Schnittstellen zur Datenkommunikation mit anderen Elementen der Recheneinheit und/oder Elementen außerhalb der Recheneinheit (etwa Sensoren oder gesteuerte Komponenten eines von der Recheneinheit gesteuerten Kraftfahrzeugs oder einer von der Recheneinheit gesteuerten Maschine). Der Host implementiert, durch Ausführen entsprechender Computerprogramme (Anwendungsprogramme), die eigentlichen Funktionalitäten der Recheneinheit 2, z.B. die Steuerungsfunktionalität im Falle eines Steuergeräts.
  • Im nichtflüchtigen Speicher 10 (z.B. ein Flashspeicher) können Computerprogramme und für die Ausführung benötigte Daten gespeichert sein bzw. werden. Der optionale flüchtige Speicher 11 (z.B. RAM-Speicher) kann vorgesehen sein, um einen Datenaustausch zwischen Host und Sicherheitsmodul zu ermöglichen, ist also ein gemeinsam genutzter flüchtiger Speicher. Der Host 4 ist, wie durch eine Linie angedeutet, zur Datenkommunikation mit dem nichtflüchtigen Speicher 10 und gegebenenfalls dem flüchtigen Speicher 11 verbunden. Der Speicher 10 und gegebenenfalls der flüchtige Speicher 11 kann als Hostspeicher angesehen werden, auf den der Host abhängig von durch die Speicherschutzeinheit 8 implementierten Schutzfunktionen (siehe weiter unten) zugreifen kann. Die Verbindungen zur Datenkommunikation und auch zum Sicherheitsmodul sind hier im Einzelnen nicht explizit dargestellt, sondern nur allgemein durch Linien angedeutet. Die Verbindungen können z.B. mittels eines Busses und/oder Punkt-zu-Punkt-Verbindungen realisiert sein.
  • Das Sicherheitsmodul 6, insbesondere ein Hardware-Sicherheits-Modul (HSM), dient als Vertrauensanker der Recheneinheit 2. Das Sicherheitsmodul 6 umfasst beispielhaft einen oder mehrere Prozessorkerne 22, einen flüchtigen Sicherheitsmodul-Speicher 22 (z.B. RAM-Speicher) und einen nichtflüchtigen Sicherheitsmodul-Speicher 24. Im nichtflüchtigen Sicherheitsmodul-Speicher 24 können kryptographische Daten, z.B. kryptographische Schlüssel bzw. Kennworte, gespeichert sein. Auch können dort Computerprogramme gespeichert sein, die Sicherheitsmodul-Funktionalitäten implementieren. Statt oder zusätzlich zum nichtflüchtigen Sicherheitsmodul-Speicher 24 kann auch ein geschützter Speicherbereich (d.h. ein Speicherbereich auf den der Host nicht zugreifen kann) im nichtflüchtigen Speicher 10 vorgesehen sein, in dem kryptographische Daten bzw. Computerprogramme des Sicherheitsmoduls gespeichert sein können. Im Prinzip ist es auch möglich, dass der eine oder die mehreren Prozessorkerne 22 die Sicherheitsmodul-Funktionalitäten ohne Ausführung von Computerprogrammen (Software) implementieren, z.B. als Zustandsmaschine. Außerdem kann das Sicherheitsmodul 6 weitere Hardwareelemente 26 umfassen (nur eines beispielhaft dargestellt), die spezifische sicherheitsrelevante oder kryptographische Funktionalitäten implementieren, z.B. Fehlerkorrekturverfahren (ECC: Error Correcting Code), Zufallszahlengeneratoren (RNG: Random Number Generator), Hashverfahren, asymmetrische kryptographische Verfahren (etwa RSA: Rivest-Shamir-Adleman) oder symmetrische kryptographische Verfahren (etwa AES: Advanced Encryption Standard). Weiter sind Schnittstellen zur Datenkommunikation mit dem Host 4, dem nichtflüchtigen Speicher 10, gegebenenfalls dem flüchtigen Speicher 11 und der Speicherschutzeinheit 8 vorgesehen (im Einzelnen nicht dargestellt).
  • Die Speicherschutzeinheit 8 ist konfigurierbar, z.B. mittels Konfigurationsregistern 28. Von der Speicherschutzeinheit 8 implementierte Speicherschutzfunktionen sind also nicht statisch sondern dynamisch. Die Recheneinheit 2 ist so eingerichtet, dass die Konfiguration der Speicherschutzeinheit 8 nur durch das Sicherheitsmodul 6 erfolgen kann, z.B. durch Schreiben einer Konfiguration in die Konfigurationsregister 28. Der Host 2 kann die Speicherschutzeinheit 8 nicht konfigurieren bzw. allgemeiner nicht auf Funktionalitäten der Speicherschutzeinheit 8 zugreifen. Es kann vorgesehen sein, dass die Speicherschutzeinheit 8 bei Start bzw. Initialisierung eine Standardkonfiguration einnimmt, d.h. dass bei Start Speicherschutzfunktionen entsprechend einer vorbestimmten Standardkonfiguration implementiert werden. Da die Konfigurationsregister typischerweise flüchtige Speicherzellen sind, wird dadurch verhindert, dass nach einem Neustart ein unbestimmter Speicherschutz besteht.
  • Ein Speicherschutz kann für spezifizierte (konfigurierbare) Speicherbereiche gesetzt werden, z. B. Speicherbereiche, die sich von einer Anfangsadresse bis zu einer Endadresse erstrecken. Mögliche Schutzfunktionen sind: Leseschutz (r), Schreibschutz (w) und Ausführungsschutz (x). Ein entsprechender Eintrag in den Konfigurationsregistern 28 könnte etwa wie folgt aussehen: (Anfangsadresse, Endadresse, r, w, x), wobei Anfangsadresse und Endadresse den Speicherbereich anzeigen und r, w, x Bits sind, die anzeigen, ob der entsprechende Zugriff erlaubt ist oder nicht. Versucht der Host 4 auf den nichtflüchtigen Speicher 10 (oder gegebenenfalls den flüchtigen Speicher 11) zuzugreifen, wird von der Speicherschutzeinheit 8 geprüft, ob der entsprechende Zugriff erlaubt ist (z.B. anhand der Konfigurationsregister 28). Wenn der Zugriff nicht erlaubt ist, wird der Zugriff unterbunden, insbesondere von der Speicherschutzeinheit 8. Weiterhin kann ein Fehler (Ausnahmefehler, Exception) angezeigt werden und eine entsprechende Fehlerbehandlungsroutine, etwa im Sicherheitsmodul, aufgerufen werden. In der vorbestimmten Standardkonfiguration sind zweckmäßigerweise Leseschutz und/oder Schreibschutz und/oder Ausführungsschutz für alle Speicherbereiche oder für bestimmte Speicherbereiche aktiviert.
  • Das Sicherheitsmodul 6 kann unabhängig vom Speicherschutz auf den nichtflüchtigen Speicher 10 (und gegebenenfalls den flüchtigen Speicher 11) zugreifen. Der Speicherschutz betrifft also nur Zugriffe des Hosts auf den nichtflüchtigen Speicher 10 (und gegebenenfalls den flüchtigen Speicher 11), d.h. der Leseschutz, der Schreibschutz bzw. der Ausführungsschutz werden für den Host implementiert.
  • 2 illustriert den Ablauf des Verfahrens zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit gemäß einer bevorzugten Ausführungsform. Die Figur ist in vier Spalten geteilt, wobei jede Spalte jeweils ein Element der Recheneinheit betrifft und in diesem Element durchgeführte Verfahrensschritte bzw. den jeweiligen Zustand des Elements anzeigt. Im Einzelnen sind eine Spalte 40 für den Host, eine Spalte 50 für das Sicherheitsmodul, eine Spalte 60 für die Speicherschutzeinheit und eine Spalte 70 für den nichtflüchtigen Speicher vorgesehen.
  • In der Spalte 70 für den nichtflüchtigen Speicher sind jeweils drei Speicherbereiche des Speichers dargestellt (im Allgemeinen kann der Speicher selbstverständlich noch weitere als die dargestellten drei Speicherbereiche aufweisen, es ist also ein Teil des Speichers dargestellt). Dargestellt sind ein Lade-Speicherbereich 72, ein Systemkern-Speicherbereich 74 und ein Anwendungs-Speicherbereich 76. Es ist jeweils angedeutet, ob oder ob nicht Speicherschutzfunktionen für die einzelnen Speicherbereiche aktiviert sind, wobei ein Speicherbereich mit Schraffur ein Speicherbereich mit aktivierten Speicherschutzfunktionen ist und ein Speicherbereich ohne Schraffur ein Speicherbereich mit (zumindest teilweise) deaktivierten Speicherschutzfunktionen ist. Im Lade-Speicherbereich 72 ist ein Ladeprogramm, im Systemkern-Speicherbereich 74 ist ein Systemkernprogramm und im Anwendungs-Speicherbereich 76 ist ein Anwendungsprogramm gespeichert.
  • Mit Start der Recheneinheit wird in Schritt 100 das Sicherheitsmodul gestartet und ebenso wird in Schritt 105 die Speicherschutzeinheit gestartet. Weiter wird der Host gestartet, ohne dass dieser zunächst ein Computerprogramm ausführt (nicht dargestellt). Mit Start der Recheneinheit werden Speicherschutzfunktionen für die drei dargestellten Speicherbereiche aktiviert, dies sind der Lese- und/oder der Schreib- und/oder der Ausführungsschutz. Hierzu kann die Speicherschutzeinheit eingerichtet sein, mit Start diese Speicherschutzfunktionen automatisch zu implementieren, insbesondere mittels einer entsprechenden vorbestimmten Standardkonfiguration, die bei Start automatisch implementiert wird. Alternativ oder zusätzlich kann das Sicherheitsmodul eingerichtet sein, mit Start die Speicherschutzeinheit so zu konfigurieren, dass der Lese- und/oder der Schreib- und/oder der Ausführungsschutz aktiviert werden.
  • In Schritt 110 führt das Sicherheitsmodul eine Integritätsprüfung des Lade-Speicherbereichs 72 durch. Wenn die Integrität des Lade-Speicherbereichs 72 nicht bestätigt wird, wenn also eine potentielle Manipulation erkannt wird, werden die Speicherschutzfunktionen bevorzugt beibehalten (nicht dargestellt). Weiterhin kann eine entsprechende Fehlermeldung erzeugt und/oder gespeichert werden (etwa im nichtflüchtigen Sicherheitsmodul-Speicher). Zusätzlich könnte hier die Recheneinheit ausgeschaltet werden.
  • Wenn die Integrität des Lade-Speicherbereichs 72 bestätigt wird, konfiguriert (durch einen Pfeil angedeutet) das Sicherheitsmodul in Schritt 120 die Speicherschutzeinheit, die Speicherschutzfunktionen für den Lade-Speicherbereich 72 zumindest teilweise aufzuheben (Schritt 125). Insbesondere wird die Speicherschutzeinheit konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereichs 72 zu deaktivieren. Der Schreibschutz bleibt vorzugsweise aktiviert. In den beiden anderen Speicherbereichen 74, 76 bleiben die Speicherschutzfunktionen aktiviert.
  • In Schritt 130 wird mit der Ausführung des Ladeprogramms durch den Host begonnen. Es kann beispielsweise eine Nachricht vom Sicherheitsmodul an den Host gesendet werden, die anzeigt, dass die Ausführung möglich ist, bzw. den Start des Ladeprogramms veranlasst.
  • In Schritt 140 veranlasst der Host bzw. das in diesem ausgeführte Ladeprogramm das Sicherheitsmodul, die Integrität des Systemkern-Speicherbereichs 74 zu prüfen (etwa mittels einer entsprechenden Anfrage).
  • In Schritt 150 führt das Sicherheitsmodul eine Integritätsprüfung des Systemkern-Speicherbereichs 74 durch. Wenn die Integrität des Systemkern-Speicherbereichs 74 nicht bestätigt wird, werden die Speicherschutzfunktionen bevorzugt beibehalten (nicht dargestellt). Weiterhin kann eine entsprechende Fehlermeldung erzeugt und/oder gespeichert werden (etwa im nichtflüchtigen Sicherheitsmodul-Speicher). Zusätzlich könnte auch hier die Recheneinheit ausgeschaltet werden.
  • Wenn die Integrität des Systemkern-Speicherbereichs 74 bestätigt wird, konfiguriert das Sicherheitsmodul in Schritt 160 die Speicherschutzeinheit, die Speicherschutzfunktionen für den Systemkern-Speicherbereich 74 zumindest teilweise aufzuheben (Schritt 165). Insbesondere wird die Speicherschutzeinheit konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich 74 zu deaktivieren. Der Schreibschutz bleibt vorzugsweise aktiviert. Für den Anwendungs-Speicherbereich 76 bleiben die Speicherschutzfunktionen aktiviert.
  • In Schritt 170 wird mit der Ausführung des Systemkernprogramms durch den Host begonnen. Es kann beispielsweise eine Nachricht vom Sicherheitsmodul an den Host gesendet werden, die anzeigt, dass die Ausführung möglich ist, bzw. den Start des Systemkernprogramms veranlasst. Das Systemkernprogramm kann als Verwaltungsprogramm (z.B. Betriebssystem) angesehen werden, das die Ausführung einer oder mehrerer Anwendungsprogramme veranlasst. Das im Anwendungs-Speicherbereich 76 gespeicherte Anwendungsprogramm ist beispielsweise eines dieser (im Allgemeinen mehreren) Anwendungsprogramme.
  • In Schritt 180 veranlasst der Host bzw. das in diesem ausgeführte Systemkernprogramm das Sicherheitsmodul, die Integrität des Anwendungs-Speicherbereichs 76 zu prüfen (etwa mittels einer entsprechenden Anfrage).
  • In Schritt 190 führt das Sicherheitsmodul eine Integritätsprüfung des Anwendungs-Speicherbereichs 76 durch. Wenn die Integrität des Anwendungs-Speicherbereichs 76 nicht bestätigt wird, werden die Speicherschutzfunktionen bevorzugt beibehalten (nicht dargestellt). Weiterhin kann eine entsprechende Fehlermeldung erzeugt und/oder gespeichert werden (etwa im nichtflüchtigen Sicherheitsmodul-Speicher). Die Fehlermeldung kann insbesondere an den Host bzw. das Systemkernprogramm übermittelt werden, welches beispielsweis entsprechende Fehlerbehandlungsroutinen implementieren kann.
  • Wenn die Integrität des Anwendungs-Speicherbereichs 76 bestätigt wird, konfiguriert das Sicherheitsmodul in Schritt 200 die Speicherschutzeinheit, die Speicherschutzfunktionen für den Anwendungs-Speicherbereich 76 zumindest teilweise aufzuheben (Schritt 205). Insbesondere wird die Speicherschutzeinheit konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den Anwendungs-Speicherbereich 76 zu deaktivieren. Der Schreibschutz bleibt vorzugsweise aktiviert. Falls weitere Anwendungs-Speicherbereiche für weitere Anwendungsprogramme vorhanden sind, bleiben die Speicherschutzfunktionen in diesen aktiviert.
  • In Schritt 210 wird mit der Ausführung des Anwendungsprogramms durch den Host begonnen. Es kann beispielsweise eine Nachricht vom Sicherheitsmodul an den Host gesendet werden, die anzeigt, dass die Ausführung möglich ist, bzw. den Start des Anwendungsprogramms veranlasst. Sind weitere Anwendungsprogramme vorhanden, die gestartet werden sollen, werden die Schritte 180 bis 210 entsprechend wiederholt, wobei die Integritätsprüfung und gegebenenfalls die Deaktivierung der Speicherschutzfunktionen statt für den dargestellten Anwendungs-Speicherbereich 76 für die Anwendungs-Speicherbereiche, in den die jeweiligen Anwendungsprogramme gespeichert sind, durchgeführt werden.

Claims (12)

  1. Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit (2), die einen Host (4) mit einem Hostprozessor (12), einen Speicher (10), ein Sicherheitsmodul (6) und eine durch das Sicherheitsmodul konfigurierbare Speicherschutzeinheit (8) aufweist, die dazu eingerichtet ist, für wenigstens einen konfigurierbaren Bereich des Speichers entsprechend einer jeweiligen Konfiguration wahlweise eines oder mehreres von einem Schreibschutz, einem Leseschutz und einem Ausführungsschutz für Zugriffe durch den Host zu implementieren, wobei mit Start der Recheneinheit das Sicherheitsmodul (6) und die Speicherschutzeinheit (8) gestartet werden (100, 105) und der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für einen Lade-Speicherbereich (72) des Speichers, in dem ein Ladeprogramm gespeichert ist, aktiviert werden; wobei die Integrität des Lade-Speicherbereichs (72) durch das Sicherheitsmodul geprüft wird (110); wobei, wenn die Integrität des Lade-Speicherbereichs bestätigt wird, die Speicherschutzeinheit (8) durch das Sicherheitsmodul (6) konfiguriert wird (120), den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich (72) zu deaktivieren (125), und die Ausführung des Ladeprogramms im Host gestartet wird (130).
  2. Verfahren nach Anspruch 1, wobei mit Start der Recheneinheit der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für einen Systemkern-Speicherbereich (74) des Speichers, in dem ein Systemkernprogramm gespeichert ist, aktiviert werden; wobei durch das Ladeprogramm eine Prüfung (150) der Integrität des einen Systemkern-Speicherbereichs durch das Sicherheitsmodul veranlasst wird (140); wobei, wenn die Integrität des Systemkern-Speicherbereichs (74) bestätigt wird, die Speicherschutzeinheit (8) durch das Sicherheitsmodul (6) konfiguriert wird (160), den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich (74) zu deaktivieren (165), und die Ausführung des Systemkernprogramms im Host gestartet wird (170).
  3. Verfahren nach Anspruch 1 oder 2, wobei mit Start der Recheneinheit der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für wenigstens einen Anwendungs-Speicherbereich (76) des Speichers, in dem wenigstens ein Anwendungsprogramm gespeichert ist, aktiviert werden; wobei durch das Ladeprogramm oder das Systemkernprogramm eine Prüfung (190) der Integrität des wenigstens einen Anwendungs-Speicherbereichs durch das Sicherheitsmodul veranlasst wird (180); wobei, wenn die Integrität des wenigstens einen Anwendungs-Speicherbereichs (76) bestätigt wird, die Speicherschutzeinheit (8) durch das Sicherheitsmodul (6) konfiguriert wird (200), den Leseschutz und/oder den Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich (76) zu deaktivieren (205), und die Ausführung des wenigstens einen Anwendungsprogramms im Host gestartet wird (210).
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei die Speicherschutzeinheit (8) dazu eingerichtet ist, bei Start eine Standardkonfiguration zu implementieren, in welcher der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für den Lade-Speicherbereich (72) aktiviert sind; oder wobei bei Start des Sicherheitsmoduls (6) die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert wird, den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich (72) zu aktivieren.
  5. Verfahren nach Anspruch 4, soweit abhängig von Anspruch 2, wobei in der Standardkonfiguration weiterhin der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für den Systemkern-Speicherbereich (74) aktiviert sind; oder wobei bei Start des Sicherheitsmoduls (6) die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert wird, den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich (74) zu aktivieren.
  6. Verfahren nach Anspruch 4 oder 5, soweit abhängig von Anspruch 3, wobei in der Standardkonfiguration weiterhin der Schreibschutz und/oder der Leseschutz und/oder der Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich (76) aktiviert sind; oder wobei bei Start des Sicherheitsmoduls (6) die Speicherschutzeinheit durch das Sicherheitsmodul konfiguriert wird, den Schreibschutz und/oder den Leseschutz und/oder den Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich (76) zu aktivieren.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei, wenn die Integrität des Lade-Speicherbereichs nicht bestätigt wird, das Sicherheitsmodul (6) die Speicherschutzeinheit nicht konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den Lade-Speicherbereich zu deaktivieren, und bevorzugt eine Fehlermeldung erzeugt und/oder gespeichert wird.
  8. Verfahren nach einem der vorstehenden Ansprüche, soweit abhängig von Anspruch 2, wobei, wenn die Integrität des Systemkern-Speicherbereichs nicht bestätigt wird, das Sicherheitsmodul (6) die Speicherschutzeinheit nicht konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den Systemkern-Speicherbereich zu deaktivieren, und bevorzugt eine Fehlermeldung erzeugt und/oder gespeichert wird.
  9. Verfahren nach einem der vorstehenden Ansprüche, soweit abhängig von Anspruch 3, wobei, wenn die Integrität des wenigstens einen Anwendungs-Speicherbereichs nicht bestätigt wird, das Sicherheitsmodul (6) die Speicherschutzeinheit nicht konfiguriert, den Leseschutz und/oder den Ausführungsschutz für den wenigstens einen Anwendungs-Speicherbereich zu deaktivieren, und bevorzugt eine Fehlermeldung erzeugt und/oder gespeichert wird.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei, wenn eine Anfrage von einer Programmiereinheit zur Neuprogrammierung des Ladeprogramms und/oder soweit abhängig von Anspruch 2 des Systemkernprogramms und/oder soweit abhängig von Anspruch 3 des wenigstens einen Anwendungsprogramms empfangen wird, durch das Sicherheitsmodul die Authentizität der Programmiereinheit geprüft wird; und wobei, wenn die Authentizität bestätigt wird, das Sicherheitsmodul (6) die Speicherschutzeinheit (8) konfiguriert, den Schreibschutz für den Lade-Speicherbereich (72) bzw. den Systemkern-Speicherbereich (74) bzw. den wenigstens einen Anwendungs-Speicherbereich (76) zu deaktivieren.
  11. Verfahren nach einem der vorstehenden Ansprüche, wobei die Speicherschutzeinheit (8) nicht durch den Host (4) konfigurierbar ist.
  12. Recheneinheit (2), die einen Host (4) mit einem Hostprozessor (12), wenigstens einen Speicher (10, 11), ein Sicherheitsmodul (6) und eine durch das Sicherheitsmodul konfigurierbare Speicherschutzeinheit (8) aufweist, die dazu eingerichtet ist, für wenigstens einen konfigurierbaren Bereich des wenigstens einen Speichers entsprechend einer jeweiligen Konfiguration wahlweise eines oder mehreres von einem Schreibschutz, einem Leseschutz und einem Ausführungsschutz zu implementieren, wobei die Recheneinheit dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
DE102022202691.8A 2022-03-18 2022-03-18 Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit Pending DE102022202691A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022202691.8A DE102022202691A1 (de) 2022-03-18 2022-03-18 Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit
CN202310270471.3A CN116776333A (zh) 2022-03-18 2023-03-17 用于执行计算单元的安全启动序列的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022202691.8A DE102022202691A1 (de) 2022-03-18 2022-03-18 Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit

Publications (1)

Publication Number Publication Date
DE102022202691A1 true DE102022202691A1 (de) 2023-09-21

Family

ID=87849388

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022202691.8A Pending DE102022202691A1 (de) 2022-03-18 2022-03-18 Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit

Country Status (2)

Country Link
CN (1) CN116776333A (de)
DE (1) DE102022202691A1 (de)

Also Published As

Publication number Publication date
CN116776333A (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
EP3259698B1 (de) Autonom bootendes system mit einem sicherheitsmodul
DE102008006759B4 (de) Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit
DE10392528T5 (de) Microcode-Patch-Authentifizierung
DE102016205289A1 (de) Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
DE102019128528A1 (de) Datenkryptografievorrichtungen und speichersysteme
DE102010054614A1 (de) Eindringen in eine gesicherte EDV-Umgebung unter Verwendung mehrerer authentifizierter Codemodule
DE102022105069A1 (de) Systeme, verfahren und vorrichtungen für gesicherte nichtflüchtige speicher
DE112015007220T5 (de) Techniken zum Koordinieren von Vorrichtungshochfahrsicherheit
DE102015113468A1 (de) Datenverarbeitungsvorrichtung und verfahren zum sichern einer datenverarbeitungsvorrichtung gegen angriffe
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102020121075A1 (de) Einrichtung und Verfahren zur Authentifizierung von Software
EP3811261B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE112019005417T5 (de) Sichern von Datenprotokollen in Arbeitsspeichervorrichtungen
DE112019007230T5 (de) Multimodus-Geschützter-Speicher
WO2024056443A1 (de) Verfahren zum überprüfen von daten in einer recheneinheit
EP3819804A1 (de) Integritätsüberprüfung eines registerinhalts
DE102022202691A1 (de) Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit
EP3286872B1 (de) Bereitstellen eines gerätespezifischen kryptographischen schlüssels aus einem systemübergreifenden schlüssel für ein gerät
EP1614012A1 (de) Verfahren zur überprüfung der datenintegrität von software in steuergeräten
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
DE102020216030A1 (de) Verfahren zum abgesicherten Start einer Recheneinheit