DE102022209628A1 - Verfahren zum Überprüfen von Daten in einer Recheneinheit - Google Patents

Verfahren zum Überprüfen von Daten in einer Recheneinheit Download PDF

Info

Publication number
DE102022209628A1
DE102022209628A1 DE102022209628.2A DE102022209628A DE102022209628A1 DE 102022209628 A1 DE102022209628 A1 DE 102022209628A1 DE 102022209628 A DE102022209628 A DE 102022209628A DE 102022209628 A1 DE102022209628 A1 DE 102022209628A1
Authority
DE
Germany
Prior art keywords
unit
memory
data
memory area
security
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
DE102022209628.2A
Other languages
English (en)
Inventor
Hakan Aktas
Jens Schmuelling
Martin Assel
Peter Poinstingl
Daniel Hoettges
Frederic Stumpf
Aparna Vijaya Krishnan
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 DE102022209628.2A priority Critical patent/DE102022209628A1/de
Priority to PCT/EP2023/074234 priority patent/WO2024056443A1/de
Publication of DE102022209628A1 publication Critical patent/DE102022209628A1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Überprüfen von Daten in einer Recheneinheit (100), wobei die Recheneinheit (100) eine Speichereinheit (140, 150), eine Sicherheitseinheit (120) und eine Speicherschutzeinheit (130) aufweist, umfassend die Schritte: Hinterlegen von zu überprüfenden Daten in einem vorgegebenen Speicherbereich in der Speichereinheit (140, 150); Konfigurieren der Speicherschutzeinheit (130) durch die Sicherheitseinheit (120), um den vorgegebenen Speicherbereich gemäß einer vorgegebenen Zugriffsbeschränkung zu schützen; Ausführen eines Speicherschutzes des vorgegebenen Speicherbereichs durch die Speicherschutzeinheit (130) gemäß der vorgegebenen Zugriffsbeschränkung; Überprüfen der in dem vorgegebenen Speicherbereich hinterlegten Daten durch die Sicherheitseinheit (120).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Überprüfen von Daten in einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
  • Hintergrund der Erfindung
  • Bei der Überprüfung und anschließenden Verwendung von Daten in Recheneinheiten kann das sog. TOCTOU-Problem (engl.: „Time-of-Check-to-Time-of-Use-Problem“) auftreten, gemäß welchem sich Daten zum Zeitpunkt ihrer Überprüfung („Time-of-Check“) von den Daten zum Zeitpunkt ihrer Verwendung („Time-of-Use“) unterscheiden können. Beispielsweise können Daten aus einer Speichereinheit durch eine Sicherheitseinheit, welche zum Überprüfen von Daten vorgesehen ist, eingelesen und mittels kryptographischer Verfahren überprüft werden. Wenn jedoch ein Angreifer, z.B. eine bösartige Software, welcher die Recheneinheit korrumpiert hat, während oder nach der Überprüfung der Daten unautorisierte Änderungen an den Daten in der Speichereinheit vornimmt, können diese Änderungen von der Sicherheitseinheit zumeist nicht mehr erkannt werden. Die Sicherheitseinheit verifiziert dann unter Umständen fälschlicherweise Echtheit und Integrität der Daten, obwohl diese Daten nachträglich von dem Angreifer beeinträchtigt wurden. Dies kann dazu führen, dass die manipulierten Daten in der Recheneinheit weiterverarbeitet werden. Eine derartige Sicherheitseinheit hat zumeist keine Möglichkeit zur Erkennung, ob die validierten Daten auch korrekt prozessiert bzw. weiterverarbeitet werden und nicht unautorisiert nach der Überprüfung manipuliert wurden.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zum Überprüfen von Daten 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 Recheneinheit weist eine Speichereinheit, z.B. einem RAM-, ROM- oder Flash-Speicher, eine Sicherheitseinheit bzw. ein Sicherheitsmodul und eine Speicherschutzeinheit auf. Die Sicherheitseinheit ist insbesondere als eine gesicherte bzw. geschützte Einheit zum Ausführen kryptographischer Operationen vorgesehen. Die Speicherschutzeinheit (engl. „Memory Protection Unit“, MPU) ist insbesondere vorgesehen, um Zugriffsanfragen auf eine Speichereinheit zu empfangen und zu verwalten. Es versteht sich, dass die Recheneinheit noch weitere Hardware- und Softwareeinheiten aufweisen kann wie eine Prozessoreinheit, Eingabe- und Ausgabeschnittstellen usw.
  • Im Rahmen des vorliegenden Verfahrens werden zu überprüfenden Daten in einem vorgegebenen Speicherbereich bzw. in einem vorgegebenen Adressbereich in der Speichereinheit hinterlegt. Beispielsweise können diese Daten durch eine Prozessoreinheit bzw. durch von der Prozessoreinheit ausgeführte Prozesse oder Anwendungen in dem vorgegebenen Speicherbereich hinterlegt werden.
  • Die Sicherheitseinheit konfiguriert die Speicherschutzeinheit bzw. weist die Speicherschutzeinheit an, um den vorgegebenen Speicherbereich gemäß einer vorgegebenen Zugriffsbeschränkung zu schützen. Durch diese Zugriffsbeschränkung wird insbesondere vorgegeben, welche Einheiten der Recheneinheit auf den vorgegebenen Speicherbereich und die dort hinterlegten Daten zugreifen dürfen und welchen Einheiten der Zugriff verboten ist. Insbesondere gibt die Speicherschutzeinheit diese Zugriffsbeschränkung selbst vor.
  • Auf dieses Konfigurieren hin führt die Speicherschutzeinheit einen Speicherschutz des vorgegebenen Speicherbereichs gemäß der vorgegebenen Zugriffsbeschränkung aus bzw. die Speicherschutzeinheit richtet den Speicherschutz entsprechend ein. Wenn die Speicherschutzeinheit fortan eine Zugriffsanfrage auf diesen Speicherbereich empfängt, kann die Speicherschutzeinheit im Zuge dieses Speicherschutzes den jeweilig angefragten Zugriff gemäß der vorgegebenen Zugriffsbeschränkung zweckmäßigerweise erlauben oder blockieren.
  • Die in dem vorgegebenen Speicherbereich hinterlegten Daten werden durch die Sicherheitseinheit überprüft, insbesondere mit Hilfe von kryptographischen Operationen, z.B. mit Hilfe von Schlüsseln und/oder weiterer kryptographischer Methoden, welche in einer speziellen Speichereinheit der Sicherheitseinheit hinterlegt sein können. Beispielsweise kann die Sicherheitseinheit zu diesem Zweck eine kryptographische Signatur berechnen. Durch diese Überprüfung können die Daten insbesondere auf Echtheit, Richtigkeit bzw. Integrität überprüft werden. Auf die konkrete Art der Überprüfung kommt es jedoch nicht an.
  • Ein Ergebnis dieser Überprüfung kann durch die Sicherheitseinheit in der Recheneinheit hinterlegt werden, insbesondere in der Speichereinheit selbst in einem weiteren vorgegebenen Speicherbereich. Wenn im Zuge der Überprüfung die hinterlegten Daten validiert wurden bzw. wenn deren Echtheit verifiziert wurde, können die Daten insbesondere für eine weitere Verarbeitung in der Recheneinheit verwendet bzw. freigegeben werden. Wenn die Echtheit hingegen nicht verifiziert werden kann, können die Daten beispielsweise verworfen werden und nicht für eine weitere Verarbeitung freigegeben werden.
  • Durch die vorliegende Erfindung wird besonders zweckmäßig das sog. TOCTOU-Problem (engl.: „Time-of-Check-to-Time-of-Use-Problem“) adressiert. Die Erfindung stellt eine kostengünstige, effiziente und sichere Möglichkeit bereit, um eine unerkannte, nicht-autorisierte Manipulation der Daten während oder nach ihrer Überprüfung zu verhindern. Durch Festlegen und Umsetzen der Zugriffsbeschränkung kann es insbesondere nur vertrauenswürdigen, sicheren Einheiten erlaubt werden, auf die Daten zuzugreifen. Auf diese Weise kann zweckmäßigerweise verhindert werden, dass die Daten manipuliert werden, während oder nachdem die Daten von der Sicherheitseinheit überprüft werden bzw. wurden. Durch die vorgegebene Zugriffsbeschränkung und den ausgeführten Speicherschutz kann der Speicherbereich, an welchem die zu überprüfenden Daten hinterlegt sind, vor unautorisierten Zugriffen geschützt werden, beispielsweise zumindest so lange, bis die Daten nach deren Verifikation weiterverarbeitet wurden. Wenn ein Angreifer versuchen möchte, auf die von der Sicherheitseinheit zu überprüfenden bzw. bereits überprüften Daten zuzugreifen und diese zu verändern, wird dieser versuchte Zugriff durch den eingerichteten Speicherschutz von der Speicherschutzeinheit zweckmäßigerweise blockiert. Auf diese Weise kann verhindert werden, dass ein potentieller Angreifer, der die Recheneinheit bzw. das Softwaresystem, exklusive der Sicherheitseinheit, übernommen hat, manipulierte Informationen an die Sicherheitseinheit übergibt und/oder während der Überprüfung durch die Sicherheitseinheit unerlaubte Änderungen an den Inhalten in dem Speicherbereich vornimmt. Insbesondere kann die Sicherheitseinheit die Speicherschutzeinheit dynamisch konfigurieren, um einzelne Speicher- bzw. Adressbereiche in der Speichereinheit individuell zu schützen. Durch dieses Zusammenwirken zwischen Sicherheitseinheit und Speicherschutzeinheit kann insbesondere eine dynamische Speicherschutzeinheit bereitgestellt werden, welche online und on-demand während des Betriebs der Recheneinheit dynamisch durch die Sicherheitseinheit konfiguriertet werden kann.
  • Das vorliegende Verfahren stellt insbesondere eine kosteneffiziente Möglichkeit bereit, um einzelne Speicherbereiche vor der Datenüberprüfung dynamisch zu schützen. Die übrigen Speicherbereiche der Speichereinheit können während des Betriebs der Recheneinheit weiterhin regulär verwendet werden. Beispielsweise können auf diese Weise Kosten und Ressourcen eingespart werden gegenüber einer dedizierten Speichereinheit bzw. einem dedizierten Speicherbereich, welche bzw. welcher exklusiv der Sicherheitseinheit zugewiesen ist und auf welche bzw. auf welchen während der Laufzeit der Recheneinheit ausschließlich die Sicherheitseinheit zugreifen darf. Ferner erlaubt es das Verfahren, effizient eine Vertrauensgrenze (engl. „Trust Boundary“) und/oder Sicherheitszone (engl. „Secure Zone“) der Sicherheitseinheit um weitere Speicherbereiche dynamisch zu erhöhen.
  • Ferner wird es der Sicherheitseinheit ermöglicht, für die Überprüfung der Daten direkt auf die Speichereinheit zuzugreifen, welche auch im Zuge des regulären Betriebs der Recheneinheit verwendet wird, wodurch beispielsweise ein Überprüfen von großen Datenmengen auf einfache Weise ermöglicht wird. Auf herkömmliche Weise kann es oftmals nicht ohne weiteres möglich sein, große Speicherbereiche bzw. große Datenmengen an eine Sicherheitseinheit zu kopieren, z.B. zur Überprüfung längerer Zertifikatsketten oder im Umfeld von Software-Updates. Da längere Zertifikatsketten einen größeren Speicherbereich einnehmen, erfolgt deren Speicherung zumeist nicht in einem gesicherten Speicherbereich. Zum Übertragen derartiger Zertifikatsketten wird dann oftmals ein Parsen bzw. Zerteilen durchgeführt, wofür die Ausführung von nicht-vertrauenswürdige Anwendungen notwendig sein kann. Im Gegensatz dazu können im Rahmen des vorliegenden Verfahrens auch große Speicherbereiche komplett, sicher und manipulationsgeschützt an die Sicherheitseinheit übergeben werden. Somit wird beispielsweise auch eine sichere Überprüfung von langen kryptographischen Zertifikatsketten ermöglicht, z.B. von X.509-Zertifikaten.
  • Ferner können durch das Verfahren ein gesicherter Speicher bzw. ein gesichertes Hinterlegen von Daten in einem Speicher ermöglicht werden (engl. „Secure Flash“ bzw. „Secure Flashing“), indem Daten bzw. Software durch einen Host, z.B. durch eine Prozessoreinheit der Recheneinheit oder durch in der Recheneinheit ausgeführte Applikationen, in die Speichereinheit programmiert werden und indem eine Signaturprüfung dieser programmierten Software durch die Sicherheitseinheit erfolgt. Da die Integrität der Software durch das vorliegende Verfahren erhalten werden kann, kann es insbesondere verhindert werden, dass ein manipulierter Host die programmierte Software nach deren Validierung aber vor deren Ausführung manipuliert.
  • Beispielsweise eignet sich das vorliegende Verfahren für Recheneinheiten, in welchen kein sicheres Hochfahren (engl. „Secure Boot“) möglich ist, und ferner für Systeme, in welchen größere Datenmengen verifiziert werden sollen. Auch wenn die Recheneinheit ein Secure-Boot-Verfahren nutzt und implementiert, können durch die Datenüberprüfung gemäß dem vorliegenden Verfahren beispielsweise Auswirkungen von Laufzeitangriffen begrenzt und reduziert werden.
  • Die Sicherheitseinheit kann beispielsweise eine hardwarebasierte bzw. eine in Hardware implementierte Einheit sein, z.B. ein sog. Hardware-Sicherheitsmodul (engl. „Hardware Security Module“, HSM), insbesondere ein internes oder externes Peripheriegerät für die Ausführung kryptographischer Operationen. Ferner kann die Sicherheitseinheit beispielsweise auch in Software implementiert bzw. softwarebasiert sein, z.B. als eine sichere bzw. vertrauenswürdige Laufzeitumgebung (engl. „Trusted Execution Environment“, TEE), welche einen gesicherten Bereich einer Prozessoreinheit darstellt, in welchem nur speziell dafür freigegebene Applikationen ausgeführt werden dürfen. Beispielsweise kann eine derartige TEE-Umgebung als eine sog „Trustzone“ vorgesehen sein, wobei virtuelle Prozessoren als sichere Laufzeitumgebung bereitstellt werden.
  • Zum Verwalten von Zugriffen auf die Speichereinheit durch die Speicherschutzeinheit kann beispielsweise in einer Tabelle hinterlegt sein, auf welche Adress- bzw. Speicherbereiche der Speichereinheit durch welche Einheiten der Recheneinheit zugegriffen werden darf, insbesondere durch welche Prozessoreinheiten und/oder durch welche Prozesse bzw. Applikationen. Empfängt die Speicherschutzeinheit eine Zugriffsanfrage auf einen speziellen Speicherbereich, überprüft die Speicherschutzeinheit anhand dieser Tabelle, ob die jeweilige anfragende Einheit auf diesen Speicherbereich zugreifen darf oder nicht. Demgemäß erlaubt oder blockiert die Speicherschutzeinheit den angefragten Zugriff. Beispielsweise kann die Sicherheitseinheit zum Konfigurieren der Speicherschutzeinheit Einträge in dieser Tabelle bezüglich des jeweiligen Speicherbereichs erstellen oder verändern. Die Speicherschutzeinheit setzt diese Einträge dann um und lässt nur die erlaubten Zugriffe zu, wodurch der entsprechende Speicherschutz durch die Speicherschutzeinheit ausgeführt bzw. eingerichtet wird.
  • Vorteilhafterweise ist die Recheneinheit so konfiguriert, dass nur die Sicherheitseinheit die Speicherschutzeinheit konfigurieren kann bzw. darf. Somit ist es insbesondere nur der Sicherheitseinheit erlaubt festzulegen, welche Speicherbereiche dynamisch geschützt werden sollen. Weiteren Hardware- und Softwareeinheiten der Recheneinheit, welche aus Sicherheitsgründen als nicht-vertrauenswürdig und potentiell korrumpiert angesehen werden können, ist es daher zweckmäßigerweise nicht erlaubt, die Speicherschutzeinheit zu konfigurieren, um einen Speicherschutz festzulegen, zu ändern oder aufzuheben. Auf diese Weise kann es insbesondere verhindert werden, dass ein Angreifer, welcher z.B. die Recheneinheit exklusive der Sicherheitseinheit übernommen hat, den Speicherschutz ändert und die Daten unbemerkt manipuliert.
  • Besonders vorteilhaft umfasst die vorgegebene Zugriffsbeschränkung, dass nur die Sicherheitseinheit lesend und schreibend auf den vorgegebenen Speicherbereich zugreifen kann bzw. darf. Weitere Einheiten in der Recheneinheit, z.B. Prozesse, Anwendungen, Prozessoreinheiten, Prozessorkerne usw., dürfen insbesondere nur lesend oder überhaupt nicht auf den vorgegebenen Speicherbereich zugreifen. Veränderungen an dem Speicherbereich können somit exklusiv und ausschließlich durch die Sicherheitseinheit vorgenommen werden, den restlichen Hardware- und Softwareeinheiten der Recheneinheit ist zumindest ein schreibender Zugriff untersagt. Somit kann besonders zweckmäßig unterbunden werden, dass unautorisierte Änderungen an den Daten während oder nach der Überprüfung durch die Sicherheitseinheit vorgenommen werden.
  • Besonders zweckmäßig ist die Recheneinheit so konfiguriert, dass die Sicherheitseinheit in der Zugriffsbeschränkung für einzelne Einheiten der Recheneinheit, z.B. für einzelne Prozessorkerne, individuell festlegen kann, ob der jeweiligen Einheit lesender und schreibender Zugriff oder nur lesender oder kein Zugriff auf den vorgegebenen Speicherbereich gewährt wird. Beispielsweise kann einem speziellen Prozessorkern, welcher die Daten planmäßig verarbeiten soll, lesender Zugriff auf den Speicherbereich gewährt werden, wohingegen den restlichen Prozessorkernen kein Zugriff gewährt wird. Beispielsweise kann gemäß der Zugriffsbeschränkung lesender und schreibender Zugriff auf den Speicherbereich untersagt werden, wenn spezielle zu schützende Daten erst nach Überprüfen und Freigabe durch die Sicherheitseinheit lesbar werden sollen, z.B. schützenswerte Algorithmen.
  • Vorzugsweise erfolgt bei Empfang einer Zugriffsanfrage auf den vorgegebenen Speicherbereich für einen, insbesondere schreibenden, Zugriff, welcher gemäß der vorgegebenen Zugriffsbeschränkung nicht erlaubt ist bzw. welcher gegen die vorgegebene Zugriffsbeschränkung verstößt, ein Entscheiden bzw. Bewerten oder Evaluieren, ob die Sicherheitseinheit eine Aufhebung oder Änderung des Speicherschutzes des vorgegebenen Speicherbereichs veranlasst und/oder ob der Zugriff gemäß der Zugriffsanfrage auf einen anderen Speicherbereich umgeleitet wird, z.B. auf einen anderen Speicherbereich in der Speichereinheit oder in einer weiteren Speichereinheit der Recheneinheit. Beispielsweise kann bei Empfang einer derartigen Zugriffsanfrage eine Benachrichtigung, insbesondere eine Interrupt-Nachricht, ferner insbesondere eine Exception-Nachricht ausgesendet werden, beispielsweise an die Sicherheitseinheit und/oder an eine Prozessoreinheit der Recheneinheit. Das Entscheiden, wie mit der Zugriffsanfrage verfahren werden soll, kann dann von der Sicherheitseinheit bzw. der Prozessoreinheit auf Empfang dieser Benachrichtigung durchgeführt werden, insbesondere durch eine spezielle Einheit zum Verarbeiten derartiger Benachrichtigungen (engl. „Exception Handler“).
  • Vorzugsweise erfolgt nach dem Überprüfen der hinterlegten Daten durch die Sicherheitseinheit, insbesondere, wenn im Zuge des Überprüfens die hinterlegten Daten validiert wurden bzw. wenn deren Echtheit verifiziert wurde, ein erneutes Konfigurieren der Speicherschutzeinheit durch die Sicherheitseinheit, um den Speicherschutz des vorgegebenen Speicherbereichs aufzuheben. Beispielsweise kann die Sicherheitseinheit zu diesem Zweck die entsprechenden Einträge in der jeweiligen Tabelle der Speicherschutzeinheit verändern oder löschen, welche erlaubte bzw. verbotene Zugriffe auf den Speicherbereich durch verschiedene Einheiten der Recheneinheit definieren. Der Speicherschutz des vorgegebenen Speicherbereichs wird auf dieses Konfigurieren hin durch die Speicherschutzeinheit aufgehoben bzw. nicht mehr ausgeführt. Beispielsweise kann der Speicherschutz nach erfolgreichem Validieren der Daten aufgehoben werden, so dass weitere Einheiten auf die Daten zugreifen und diese weiterverarbeiten können. Insbesondere kann dieses Aufheben des Speicherschutzes zeitnah oder unmittelbar vor einem geplanten, autorisierten Zugriff auf die Daten erfolgen, um die Möglichkeit für ein unautorisiertes Manipulieren der Daten möglichst zu minimieren.
  • Alternativ erfolgt nach dem Überprüfen der hinterlegten Daten durch die Sicherheitseinheit, insbesondere, wenn im Zuge des Überprüfens die hinterlegten Daten validiert wurden bzw. wenn deren Echtheit verifiziert wurde, vorzugsweise ein erneutes Konfigurieren der Speicherschutzeinheit durch die Sicherheitseinheit, um den vorgegebenen Speicherbereich gemäß einer zweiten vorgegebenen Zugriffsbeschränkung zu schützen. Dieser zweite Speicherschutz des vorgegebenen Speicherbereichs wird daraufhin durch die Speicherschutzeinheit gemäß der vorgegebenen zweiten Zugriffsbeschränkung ausgeführt. Beispielsweise kann gemäß dieser zweiten Zugriffsbeschränkung bestimmten Einheiten, welche planmäßig auf die validierten Daten zugreifen sollen, ein entsprechender lesender und/oder schreibender Zugriff erlaubt werden.
  • Vorzugsweise erfolgt das erneute Konfigurieren der Speicherschutzeinheit zum Aufheben des Speicherschutzes oder zum Ausführen des zweiten Speicherschutzes nach einem Startzyklus. Bei einem derartigen Startzyklus, insbesondere initial beim Hochfahren der Recheneinheit bzw. des Systems, ist der Speicherschutz zweckmäßigerweise noch aktiv. Die entsprechenden Daten können somit beispielsweise auch nach einem Reset noch geschützt sein. Beispielsweise gibt die Sicherheitseinheit nach dem Startzyklus zunächst eine Freigabe für den Host, um den Speicherschutz aufzuheben. Beispielsweise kann dies durch einen Resetwert der Speicherschutzeinheit realisiert werden oder durch eine nichtflüchtige Konfiguration der Speicherschutzeinheit, die nach dem Reset vom System gesetzt wird, entweder durch die Sicherheitseinheit, wenn diese vor dem Host gestartet wird, oder durch Hardware-Features im Controller beim Reset. Auf diese Weise kann insbesondere sichergestellt werden, dass die Daten nicht durch einen Neustart manipulierbar werden.
  • Vorteilhafterweise hinterlegt die Sicherheitseinheit nach dem Überprüfen der hinterlegten Daten ein Ergebnis der Überprüfung in einem weiteren Speicherbereich der Speichereinheit oder in einer weiteren Speichereinheit der Recheneinheit. Ferner hebt die Sicherheitseinheit den Speicherschutz auf oder ändert diesen, so dass eine Verarbeitungseinheit zumindest lesend auf den Speicherbereich zugreifen darf, wobei diese Verarbeitungseinheit ein Host sein kann, beispielsweise ein Prozess, eine Anwendung, eine Prozessoreinheit, ein Prozessorkern, usw.
  • Wenn gemäß dem hinterlegten Ergebnis die hinterlegten Daten validiert wurden bzw. wenn deren Echtheit bestätigt wurde, liest die Verarbeitungseinheit die hinterlegten und überprüften Daten ein und verarbeitet diese.
  • Vorteilhafterweise erfolgt nach dem Hinterlegen der zu überprüfenden Daten in dem vorgegebenen Speicherbereich ein Anweisen der Sicherheitseinheit, um die in dem vorgegebenen Speicherbereich hinterlegten Daten zu überprüfen. Beispielsweise kann dieses Anweisen durch die Verarbeitungseinheit erfolgen, welche auf die Daten zugreifen und diese weiterverarbeiten soll. Beispielsweise kann die Verarbeitungseinheit zu diesem Zweck eine entsprechende Anweisung, Nachricht oder Anfrage an die Sicherheitseinheit ausgeben bzw. übermitteln. Zweckmäßigerweise konfiguriert die Sicherheitseinheit die Speicherschutzeinheit somit auf eine entsprechende Anfrage einer Softwareanwendung der Recheneinheit hin.
  • Vorzugsweise wird für ein derartiges Anweisen der Sicherheitseinheit eine entsprechende Anweisung in einem weiteren Speicherbereich der Speichereinheit oder in einer weiteren Speichereinheit der Recheneinheit hinterlegt. Insbesondere kann in dieser Anweisung hinterlegt sein, an welcher konkreten Speicheradresse die zu überprüfenden Daten hinterlegt sind. Eine Benachrichtigung wird an die Sicherheitseinheit ausgesendet, insbesondere ein Interrupt. Insbesondere kann in dieser Benachrichtigung die Speicheradresse hinterlegt sein, an welcher die Anweisung hinterlegt ist. Auf Empfang dieser Benachrichtigung hin liest die Sicherheitseinheit die hinterlegte Anweisung ein und führt die Überprüfung der Daten durch.
  • Gemäß einer vorteilhaften Ausführungsform sind die zu überprüfenden Daten Teil eines Updates und können beispielsweise neue Firmware für die Recheneinheit aufweisen oder einen neuen Teil einer Firmware oder neue Daten für eine Firmware. Beispielsweise kann es sich bei dem Update um ein OTA-Update (engl. „over-the-air“) handeln, insbesondere um ein sog. FOTA („Flashen over the air“) oder SOTA („Software over the air“) Update, im Zuge dessen die Updatedaten über eine Funkverbindung übertragen werden, z.B. über das Internet.
  • Vor dem Hinterlegen der Daten bzw. Updatedaten in dem vorgegebenen Speicherbereich werden die Daten zunächst über eine Schnittstelle der Recheneinheit empfangen, z.B. über eine Funk- und/oder Diagnoseschnittstelle. Nach Empfang der Daten wird der Speicherbereich mit Hilfe der Zugriffsbeschränkung und des Speicherschutzes durch die Sicherheitseinheit und die Speicherschutzeinheit geschützt. Anschließend überprüft die Sicherheitseinheit die Daten, insbesondere dahingehend, ob die Daten vollständig und korrekt empfangen wurden und ob keine schädliche Software übertragen wurde. Nach dem Überprüfen und Validieren der hinterlegten Daten erfolgt ein Aktivieren der Daten in dem vorgegebenen Speicherbereich oder ein Installieren der Daten in einem anderen Speicherbereich, z.B. in einem weiteren Speicherbereich der Speichereinheit oder in einer weiteren Speichereinheit der Recheneinheit. Nach einem derartigen Aktivieren bzw. Installieren können die Updatedaten bei zukünftigen Programmabläufen Anwendung finden.
  • Durch das vorliegende Verfahren kann sichergestellt werden, dass keine unautorisierte Manipulation an den Updatedaten zwischen deren Überprüfung und deren Aktivierung bzw. Installation vorgenommen wird. Auf diese Weise kann besonders zweckmäßig das TOCTOU-Problem bei OTA-Updates adressiert werden.
  • Um auf herkömmliche Weise Updatedaten herunterzuladen und zu überprüfen, kann beispielsweise ein explizit vorgehaltener Speicher verwendet werden, der nur durch ein Hardware-Sicherheitsmoduls (HSM) verändert werden kann, welches die Daten dann überprüft. Ein derartiger expliziter Speicher kann jedoch mit hohen Kosten verbunden sein, zumal dieser Speicher im Falle der normalen Applikation ungenutzt bleibt. Alternativ wird oftmals auch ein Zwischenspeicher außerhalb des HSMs verwendet, welcher dann aber meist durch (unsichere) Host-CPUs zugreifbar und folglich manipulierbar ist. Zwar kann beispielsweise bei der Installation der Updatedaten bzw. Firmware im HSM nochmals überprüft werden, ob eine Manipulation stattgefunden hat. Jedoch kann es hier zu einem Verfügbarkeitsproblem kommen, da die alten Daten bzw. die alte Firmware zumindest teilweise bereits überschrieben und für ein Roll-Back nicht mehr verfügbar sein können.
  • Im Gegensatz dazu ermöglicht es das vorliegende Verfahren, einen beliebigen Speicher innerhalb des Systems für Updates zu verwenden, so dass kein explizit vorgehaltener Speicher notwendig ist und die Verfügbarkeit des Systems zu jeder Zeit gegeben ist. Da die Übertragung der Daten gestört bzw. unterbrochen werden kann, z.B. durch einen Angriff oder eine Funkstörung, kann insbesondere aus Denial-of-Service- und Verfügbarkeitsgründen ein Speicherbereich zum Hinterlegen der Updatedaten vorgegeben werden, der den neuen Speicherinhalt komplett aufnehmen kann. Damit kann während des Downloads die komplette Funktionalität des Systems gewährleistet werden. Parallel dazu wird dieser reservierte, vorgegebene Speicherbereich mit den geladenen Daten gefüllt. Der vorgegebene Speicherbereich kann insbesondere ein beliebiger Speicherbereich in dem System sein. Nach Vollendung der Übertragung in den Speicherbereich, triggert das System zweckmäßigerweise die Sicherheitseinheit. Diese legt daraufhin gemäß der vorgegebenen Zugriffsbeschränkung besonders zweckmäßig einen exklusiven Zugriff auf den Speicherbereich für sich selbst fest, so dass zumindest ein schreibender Zugriff anderen Einheiten untersagt ist. Danach startet die Sicherheitseinheit die Überprüfung des neuen Speicherinhalts. Bei Verwendung des Speicherbereichs als temporärer Zwischenspeicher, wobei die Updatedaten nach ihrer Überprüfung an einen anderen Zielort kopiert werden, kann der exklusive Zugriff nach der Überprüfung wieder aufgeben werden und der Zwischenspeicher kann wieder für andere Einheiten freigeben werden.
  • Das vorliegende Verfahren eignet sich besonders zweckmäßig zum Einsatz im (Kraft-) Fahrzeugbereich. Die Recheneinheit kann beispielsweise ein Mikrocontroller oder ein Steuergerät eines (Kraft-) Fahrzeugs sein, z.B. ein Motor-, Domänen-, Airbag-, Bremssteuergerät usw. Bei den zu überprüfenden Daten kann es sich beispielsweise um Fahrzeugdaten handeln, die beispielsweise von Sensoren des Fahrzeugs erfasst werden. Beispielsweise kann eine Verarbeitung dieser Daten im Zuge sicherheitskritischer Funktionen erfolgen, welche zum sicheren Betrieb und zur Steuerung des Fahrzeugs ausgeführt werden, beispielsweise im Zuge einer Motor-, Domänen-, Airbag- und/oder Bremssteuerung, im Zuge von Fahrassistenzfunktionen, im Zug des unterstützten autonomen Fahrens (IAD) oder allgemein des automatisierten oder teilautomatisierten Fahrens usw. Ferner kann es sich bei den zu überprüfenden Daten auch um ein Update einer Steuergeräte- bzw. Fahrzeugsoftware handeln. Durch das vorliegende Verfahren können insbesondere eine hohe Betriebssicherheit bzw. funktionale Sicherheit („safety“) sowie ferner insbesondere eine hohe informationstechnische Sicherheit bzw. Informationssicherheit („security“) ermöglicht werden. Insbesondere können eine Sicherheit bzw. Ausfallsicherheit und Integrität des Steuergeräts erhöht werden. Ferner können durch das Verfahren besonders zweckmäßig Sicherheitsanforderungen im (Kraft-) Fahrzeugbereich erfüllt werden, wie sie beispielsweise in der Norm ISO 26262 oder insbesondere von dem sog. „Automotive Safety Integrity Level“ (ASIL), eine von der ISO 26262 spezifizierte Sicherheitsanforderungsstufe für sicherheitsrelevante Systeme in Kraftfahrzeugen, vorgegeben werden.
  • Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines (Kraft-) 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.
  • Kurze Beschreibung der Zeichnungen
    • 1 zeigt schematisch eine Ausgestaltung einer erfindungsgemäßen Recheneinheit, die dazu eingerichtet ist, eine Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
    • 2 zeigt schematisch eine Ausführungsform eines erfindungsgemäßen Verfahrens als ein Blockdiagramm.
  • Ausführungsform(en) der Erfindung
  • In 1 ist eine Recheneinheit in Form eines Ein-Chip-Systems (engl. „System on a Chip“, SoC) schematisch dargestellt und mit 100 bezeichnet, welches beispielsweise in einem Mikrocontroller eines Steuergeräts in einem (Kraft-) Fahrzeug verwendet wird.
  • Das SoC 100 weist einen Host 110 auf, welcher wiederum eine Prozessoreinheit 111 aufweist, z.B. einen Multikernprozessor mit einer Vielzahl von Prozessorkernen, sowie eine lokale, interne Speichereinheit 112, z.B. einen RAM-Speicher. Das SoC 100 weist ferner globale, gemeinsam nutzbare Speichereinheiten auf, z.B. einen Flash-Speicher 140 und einen globalen RAM-Speicher 150. Der Host 110 und die Speichereinheiten 140 150 sowie weitere Komponenten des SoC 100 stehen über eine On-Chip-Verbindung (engl. „On-Chip Interconnect, OCI) 101 miteinander in Kommunikationsverbindung.
  • Ferner weist das SoC 100 eine Sicherheitseinheit 120 auf, z.B. ein Hardware-Sicherheitsmodul („Hardware Security Module“, HSM), welches dazu vorgesehen ist, um in den Speichereinheiten 140, 150 hinterlegte Daten auf Echtheit, Richtigkeit bzw. Integrität zu überprüfen, beispielsweise mittels kryptographischer Verfahren. Das HSM 120 weist beispielsweise eine Debugger Steuerung 121 auf sowie einen gesicherten Prozessorkern 122, einen Zufallszahlengenerator 123 aufweisend einen physikalischen Zufallszahlengenerator (engl. "true random number generator, TRNG) und einen Pseudo Pseudozufallszahlengeneratoren (engl. „pseudo random number generator“, PRNG), einen gesicherten lokalen RAM-Speicher 124, eine Einheit 125 für Hashfunktionen, eine Schnittstelle 126 für die On-Chip-Verbindung, eine Einheit 127 für elliptische Kurven-Kryptografieverfahren (engl. „Elliptic Curve Cryptography“, ECC), eine Einheit 128 zum Verschlüsseln und Signieren gemäß dem kryptographischen RSA (Rivest-Shamir-Adleman) Verfahren und eine Einheit 129 für einen fortschrittlicher Verschlüsselungsstandard (engl. „Advanced Encryption Standard“, AES).
  • Das HSM 120 steht über eine gesicherte Bus-Verbindung 102 mit einer Speicherschutzeinheit („Memory Protection Unit“, MPU) 130 in Verbindung. Die MPU 130 ist vorgesehen, um Zugriffsanfragen auf die Speichereinheiten 140 und 150 zu überwachen und um entsprechende angefragte Zugriffe zuzulassen oder zu blockieren. Zu diesem Zweck kann die MPU 130 mit Hilfe einer Konfigurationsdatei 131 konfiguriert werden, welche eine Tabelle umfasst, in welcher hinterlegt ist, welche Einheiten des SoC 100 auf welche Speicher- bzw. Adressbereiche der Speichereinheiten 140, 150 zugreifen dürfen und welchen Einheiten Zugriff verwehrt ist. Insbesondere kann es nur dem HSM 120 erlaubt sein, diese Konfiguration der MPU 130 zu verändern.
  • Ein Debugger 170 zum Erkennen von Fehlern in dem SoC 100 kann als ein externes, nicht auf dem SoC 100 implementiertes Peripheriegerät über eine Verbindung 103 (z.B. eine sog. Debug Access Port, DAP) an eine Debug-Schnittstelle 160 des SoC 100 angebunden sein, welche beispielsweise ein Register 161 aufweisen kann.
  • Wenn der Host 110, z.B. die Prozessoreinheit 111 oder in der Prozessoreinheit 111 ausgeführte Anwendungen, auf in den Speichereinheiten 140, 150 hinterlegte Daten zugreifen und diese Daten verarbeiten soll, kann es von Bedeutung sein, die Daten durch das HSM 120 zunächst auf Richtigkeit und Integrität zu überprüfen, beispielsweise wenn die Daten im Zuge von sicherheitskritischen Funktionen des Fahrzeugs verarbeitet werden sollen.
  • Bei einer derartigen Überprüfung und anschließenden Verwendung von Daten kann herkömmlicherweise oftmals das sog. TOCTOU-Problem (engl.: „Time-of-Check-to-Time-of-Use-Problem“) auftreten, beispielsweise wenn ein Angreifer, welcher das SoC 100 korrumpiert hat, während oder nach der Überprüfung der Daten durch das HSM 120 unautorisierte Änderungen an den Daten vornimmt, so dass das HSM 120 diese Änderungen nicht mehr erkennen kann.
  • Um ein derartiges unerkanntes, unautorisiertes Manipulieren von Daten gemäß dem TOCTOU-Problem zu verhindern, ist das SoC 100, insbesondere programmtechnisch, dazu eingerichtet, eine Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen, welches in 2 schematisch als eine Blockdiagramm dargestellt ist und nachfolgend in Bezug auf die 1 und 2 erläutert werden soll.
  • In einem Schritt 201 werden zu verarbeitende Daten in einem vorgegebenen Adress- bzw. Speicherbereich beispielsweise des Flash-Speichers 140 hinterlegt. Beispielsweise kann es sich bei diesen Daten um Sensorwerte des Fahrzeugs handeln, welche durch den Host 110 zum Ausführen einer Fahrzeugfunktion, z.B. einer Motorsteuerung, weiter verarbeitetet werden sollen.
  • In einem Schritt 202 weist der Host 110 das HSM 130 an, die in dem vorgegebenen Speicherbereich hinterlegten Daten zu überprüfen. Zu diesem Zweck hinterlegt der Host 110 eine entsprechende Anweisung in einem weiteren, zweiten Speicherbereich des Flash-Speichers 140, in welcher z.B. die Speicheradresse der zu überprüfenden Daten interlegt ist. Ferner sendet der Host 110 eine Benachrichtigung, insbesondere ein Interrupt, an das HSM 120 aus, welches daraufhin hin die hinterlegte Anweisung einliest.
  • In einem Schritt 203 konfiguriert das HSM 120 die MPU 130, um den vorgegebenen Speicherbereich in dem Flash-Speicher 140 gemäß einer vorgegebenen Zugriffsbeschränkung zu schützen. Beispielsweise kann gemäß dieser Zugriffsbeschränkung nur das HSM 120 lesend und schreibend auf den vorgegebenen Speicherbereich zugreifen. Anderen Einheiten des SoC 100 kann beispielsweise weder lesender noch schreibender Zugriff erlaubt sein. Zum Konfigurieren der MPU 130 kann das HSM 120 beispielsweise einen Eintrag in der Tabelle der Konfigurationsdatei 131 erstellen oder verändern.
  • In einem Schritt 203 führt die MPU 130 einen Speicherschutz des Flash-Speichers 140 gemäß der vorgegebenen Zugriffsbeschränkung aus. Wenn nun eine Einheit außer dem HSM 120 auf den vorgegebenen Speicherbereich zugreifen möchte, blockiert die MPU 130 diesen Zugriff.
  • In einem Schritt 205 liest das HSM 120 die in dem vorgegebenen Speicherbereich hinterlegten Daten ein und überprüft die eingelesenen Daten. Zu diesem Zweck überprüft das HSM 120 mit Hilfe von kryptographischen Verfahren die Richtigkeit und Integrität der eingelesenen Daten.
  • In einem Schritt 206 hinterlegt das Ergebnis der Überprüfung in einem weiteren, dritten Speicherbereich in dem Flash-Speicher 140.
  • In einem Schritt 207 hebt das HSM 120 den Speicherschutz des vorgegebenen Speicherbereichs auf oder ändern den Speicherschutz zumindest derart, dass der Host 110 zumindest lesend auf den vorgegebenen Speicherbereich zugreifen darf. Zu diesem Zweck konfiguriert das HSM 120 die MPU 130 erneut und ändert den entsprechenden Eintrag in der Tabelle in der Konfigurationsdatei 131 beispielsweise derart, dass der Speicherschutz aufgehoben wird und alle Einheiten des SoC 100 auf den vorgegebenen Speicherbereich zugreifen dürfen, oder beispielsweise derart, dass ein zweiten Speicherschutz eingerichtet wird, gemäß welchem neben dem HSM 120 auch der Host 110 zumindest lesend auf den vorgegebenen Speicherbereich zugreifen darf.
  • In einem Schritt 208 führt die MPU 130 die entsprechende neue Konfiguration aus. Wenn der Speicherschutz gemäß der neuen Konfiguration aufgehoben werden soll, erlaubt die MPU 130 fortan sämtliche Zugriffe auf den vorgegebenen Speicherbereich. Wenn der zweite Speicherschutz umgesetzt werden soll, erlaubt die M PU 130 nur dem HSM 110 lesenden und schreibenden Zugriff und dem Host lesenden Zugriff.
  • In einem Schritt 209 liest der Host 110 das Ergebnis der Überprüfung aus dem dritten Speicherbereich ein. Wenn gemäß dem Ergebnis die Daten validiert wurden, liest der Host 110 die Daten in Schritt 210 ein und verarbeitet diese.
  • Durch Festlegen und Umsetzen der Zugriffsbeschränkung und des Speicherschutzes kann verhindert werden, zwischen ihrer Überprüfung durch das HSM 120 und der Verarbeitung durch den Host 110 manipuliert werden. Durch das Zusammenwirken von HSM 120 und MPU 130 im Rahmen des vorliegenden Verfahrens wird eine dynamische Speicherschutzeinheit definiert, welche die Adressbereiche der Speichereinheiten 140, 150 dynamisch schützen kann. Diese dynamische Speicherschutzeinheit 130 kann on-demand durch das Hardware Security Modul 120 auf Anfrage einer SW-Anwendung des Hosts 110 konfiguriert werden und die Adressbereiche entsprechend schützen. Nachdem der vorgegebene Speicherbereich durch die MPU 130 entsprechend geschützt wurde, kann nur noch das Hardware Security Modul 120 Änderungen an diesem Speicherbereich vornehmen.
  • Es kann sich bei den zu überprüfenden Daten ferner auch um Updatedaten handeln, welche beispielsweise im Zuge OTA-Updates über das Internet empfangen und in der vorgegebenen Speicherbereich hinterlegt wurden. Nach dem Überprüfen und Validieren der hinterlegten Daten kann dann ein Aktivieren der Daten in dem vorgegebenen Speicherbereich oder ein Installieren der Daten in einem anderen Speicherbereich erfolgen, so dass die Updatedaten bei zukünftigen Programmabläufen Anwendung finden können. Durch das vorliegende Verfahren kann somit sichergestellt werden, dass keine unautorisierte Manipulation zwischen Überprüfung und Aktivierung bzw. Installation der Updatedaten vorgenommen werden.

Claims (13)

  1. Verfahren zum Überprüfen von Daten in einer Recheneinheit (100), wobei die Recheneinheit (100) eine Speichereinheit (140, 150), eine Sicherheitseinheit (120) und eine Speicherschutzeinheit (130) aufweist, umfassend die Schritte: Hinterlegen (201) von zu überprüfenden Daten in einem vorgegebenen Speicherbereich in der Speichereinheit (140, 150); Konfigurieren (203) der Speicherschutzeinheit (130) durch die Sicherheitseinheit (120), um den vorgegebenen Speicherbereich gemäß einer vorgegebenen Zugriffsbeschränkung zu schützen; Ausführen (204) eines Speicherschutzes des vorgegebenen Speicherbereichs durch die Speicherschutzeinheit (130) gemäß der vorgegebenen Zugriffsbeschränkung; Überprüfen (205) der in dem vorgegebenen Speicherbereich hinterlegten Daten durch die Sicherheitseinheit (120).
  2. Verfahren nach Anspruch 1, wobei die Recheneinheit so konfiguriert, dass nur die Sicherheitseinheit (120) die Speicherschutzeinheit (130) konfigurieren kann.
  3. Verfahren nach Anspruch 1 oder 2, wobei die vorgegebene Zugriffsbeschränkung umfasst, dass nur die Sicherheitseinheit (120) lesend und schreibend auf den vorgegebenen Speicherbereich zugreifen kann.
  4. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend, bei Empfang einer Zugriffsanfrage auf den vorgegebenen Speicherbereich für einen Zugriff, welcher gemäß der vorgegebene Zugriffsbeschränkung nicht erlaubt ist: Entscheiden, ob die Sicherheitseinheit (120) eine Aufhebung oder Änderung des Speicherschutzes des vorgegebenen Speicherbereichs veranlasst und/oder ob der Zugriff gemäß der Zugriffsanfrage auf einen anderen Speicherbereich umgeleitet wird.
  5. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend, nach dem Überprüfen (205) der hinterlegten Daten durch die Sicherheitseinheit (120): Konfigurieren (207) der Speicherschutzeinheit (130) durch die Sicherheitseinheit (120), um den Speicherschutz des vorgegebenen Speicherbereichs aufzuheben, und Aufheben (208) des Speicherschutzes des vorgegebenen Speicherbereichs durch die Speicherschutzeinheit (130); oder Konfigurieren (207) der Speicherschutzeinheit (130) durch die Sicherheitseinheit (120), um den vorgegebenen Speicherbereich gemäß einer zweiten vorgegebenen Zugriffsbeschränkung zu schützen, und Ausführen (208) eines zweiten Speicherschutzes des vorgegebenen Speicherbereichs durch die Speicherschutzeinheit (130) gemäß der vorgegebenen zweiten Zugriffsbeschränkung.
  6. Verfahren nach Anspruch 5, wobei das Konfigurieren (207) der Speicherschutzeinheit (130) zum Aufheben des Speicherschutzes oder zum Ausführen des zweiten Speicherschutzes nach einem Startzyklus erfolgt.
  7. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend, nach dem Überprüfen (205) der hinterlegten Daten durch die Sicherheitseinheit (130): Hinterlegen (206) eines Ergebnisses der Überprüfung durch die Sicherheitseinheit (120) in einem weiteren Speicherbereich der Speichereinheit (140, 150) oder in einer weiteren Speichereinheit (140, 150) der Recheneinheit (100); Aufheben (207) des Speicherschutzes oder Ändern (207) des Speicherschutzes durch die Sicherheitseinheit (120), so dass eine Verarbeitungseinheit (110) zumindest lesend auf den vorgegebenen Speicherbereich zugreifen darf; Einlesen (209) des hinterlegten Ergebnisses der Überprüfung durch die Verarbeitungseinheit (110); Verarbeiten (210) der Daten durch die Verarbeitungseinheit (110).
  8. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend, nach dem Hinterlegen (201) der zu überprüfenden Daten in dem vorgegebenen Speicherbereich: Anweisen (202) der Sicherheitseinheit (120), um die in dem vorgegebenen Speicherbereich hinterlegten Daten zu überprüfen.
  9. Verfahren nach Anspruch 8, wobei das Anweisen (202) der Sicherheitseinheit (120) umfasst: Hinterlegen einer entsprechenden Anweisung in einem weiteren Speicherbereich der Speichereinheit (140, 150) oder in einer weiteren Speichereinheit (140, 150) der Recheneinheit (100); Aussenden einer Benachrichtigung, insbesondere eines Interrupts, an die Sicherheitseinheit (120); Einlesen der hinterlegten Anweisung durch die Sicherheitseinheit (120) auf die Benachrichtigung hin.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei die zu überprüfenden Daten Teil eines Updates sind, ferner umfassend: vor dem Hinterlegen (201) der Daten in dem vorgegebenen Speicherbereich, Empfangen der Daten über eine Schnittstelle der Recheneinheit (100); nach dem Überprüfen (205) der hinterlegten Daten durch die Sicherheitseinheit (120), Aktivieren der Daten in dem vorgegebenen Speicherbereich oder Installieren der Daten in einem anderen Speicherbereich.
  11. Recheneinheit (100), die dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
  12. Computerprogramm, das eine Recheneinheit (100) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf der Recheneinheit (100) ausgeführt wird.
  13. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 12.
DE102022209628.2A 2022-09-14 2022-09-14 Verfahren zum Überprüfen von Daten in einer Recheneinheit Pending DE102022209628A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022209628.2A DE102022209628A1 (de) 2022-09-14 2022-09-14 Verfahren zum Überprüfen von Daten in einer Recheneinheit
PCT/EP2023/074234 WO2024056443A1 (de) 2022-09-14 2023-09-05 Verfahren zum überprüfen von daten in einer recheneinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022209628.2A DE102022209628A1 (de) 2022-09-14 2022-09-14 Verfahren zum Überprüfen von Daten in einer Recheneinheit

Publications (1)

Publication Number Publication Date
DE102022209628A1 true DE102022209628A1 (de) 2024-03-14

Family

ID=87934072

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022209628.2A Pending DE102022209628A1 (de) 2022-09-14 2022-09-14 Verfahren zum Überprüfen von Daten in einer Recheneinheit

Country Status (2)

Country Link
DE (1) DE102022209628A1 (de)
WO (1) WO2024056443A1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772953B2 (en) * 2014-02-03 2017-09-26 Samsung Electronics Co., Ltd. Methods and apparatus for protecting operating system data
US9710404B2 (en) * 2015-03-23 2017-07-18 Intel Corporation Dynamic configuration and peripheral access in a processor
DE102015209116A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes

Also Published As

Publication number Publication date
WO2024056443A1 (de) 2024-03-21

Similar Documents

Publication Publication Date Title
EP3437012B1 (de) Verfahren, prozessor und gerät zur integritätsprüfung von nutzerdaten
DE102008006759B4 (de) Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE112017004786T5 (de) Verfahren und vorrichtung zur verwendung eines sicherheits-coprozessors für firmwareschutz
DE102015209116A1 (de) Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE112019005701T5 (de) Sichere boot-unterstützung für vorrichtungen und zugehörige systeme, verfahren und vorrichtungen
DE112016002785T5 (de) Elektronische Steuereinheiten für Fahrzeuge
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
DE102016106871A1 (de) Steuervorrichtung und Verfahren zum Sichern von Daten
DE112018006401T5 (de) Transparent zugeordnete flash-memory-sicherheit
KR102002517B1 (ko) 전자식 제어기 보안 기능 설정 방법 및 시스템
EP3369027A1 (de) Verfahren und sicherheitsmodul zum bereitstellen einer sicherheitsfunktion für ein gerät
DE102018213616A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
WO2018059964A1 (de) Verfahren zum gesicherten zugriff auf daten eines fahrzeugs
WO2021122734A1 (de) Verfahren und vorrichtung zum betreiben einer recheneinrichtung
DE102020117552A1 (de) Sichere hybrid-boot-systeme und sichere boot-verfahren für hybridsysteme
DE102014204417A1 (de) Vorrichtung und Verfahren zum Detektieren einer Manipulation an einem Programmcode
DE102022209628A1 (de) Verfahren zum Überprüfen von Daten in einer Recheneinheit
EP3819804A1 (de) Integritätsüberprüfung eines registerinhalts
DE102020216030A1 (de) Verfahren zum abgesicherten Start einer Recheneinheit
EP3812938A1 (de) Rekonfiguration einer hardwarekomponente eines technischen geräts
EP3690690B1 (de) Verfahren zum prüfen einer validität von daten und computerimplementierte vorrichtung zum verarbeiten von daten
DE102021110768B3 (de) Forensik-Modul und eingebettetes System
US20230267204A1 (en) Mitigating a vehicle software manipulation