[go: up one dir, main page]

DE102024100576A1 - Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums - Google Patents

Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums Download PDF

Info

Publication number
DE102024100576A1
DE102024100576A1 DE102024100576.9A DE102024100576A DE102024100576A1 DE 102024100576 A1 DE102024100576 A1 DE 102024100576A1 DE 102024100576 A DE102024100576 A DE 102024100576A DE 102024100576 A1 DE102024100576 A1 DE 102024100576A1
Authority
DE
Germany
Prior art keywords
security
memory
safety
reference value
critical
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
DE102024100576.9A
Other languages
English (en)
Inventor
Michael Tempelmeier
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.)
Giesecke Devrient Mobile Security Germany GmbH
Giesecke and Devrient Mobile Security GmbH
Original Assignee
Giesecke Devrient Mobile Security Germany GmbH
Giesecke and Devrient Mobile Security 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 Giesecke Devrient Mobile Security Germany GmbH, Giesecke and Devrient Mobile Security GmbH filed Critical Giesecke Devrient Mobile Security Germany GmbH
Priority to DE102024100576.9A priority Critical patent/DE102024100576A1/de
Publication of DE102024100576A1 publication Critical patent/DE102024100576A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

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

Abstract

Vorgeschlagen wird eine Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen mit einer sicherer Ausführungsumgebung (1) mit einem Sicherheitsprozessor (11), einem Arbeitsspeicher (14), einem Sicherheitsspeicher (15), einem Schnittstellencontroller (16) zu einer externen Instanz, einem Bus (17), der die Elemente verbindet, sowie einen separaten nichtflüchtigen Speicher (3), der über den Schnittstellencontroller (16) mit der sicheren Ausführungsumgebung (1) verbunden ist. Auf Erhalt eines Steuerbefehls zur Bereitstellung eines sicherheitskritischen Datums (D) lädt der Sicherheitsprozessor (11) über den Schnittstellencontroller (16) von dem separaten nichtflüchtigen Speicher (3) das angeforderte sicherheitskritischen Datum (D) sowie einen verschlüsselten Kontrolldatensatz (K), der dem sicherheitskritischen Datum (D) zugeordnet ist und entschlüsselt diesen. Aus dem Sicherheitsspeicher (15) ermittelt er einen Referenzwert (R), der mit dem sicherheitskritischen Datum (D) verknüpft ist. Den entschlüsselten Kontrolldatensatz (K) vergleicht der Sicherheitsprozessor (11) mit dem Referenzwert (R). Bei Nichtübereinstimmung unterbindet er die Weiterverarbeitung des sicherheitskritischen Datums (D). Der Sicherheitsspeicher (15) ist ein ferroelektrischer Speicher.

Description

  • Gegenstand der Erfindung ist eine Sicherheitseinrichtung zur Sicherung von sicherheitskritischen Daten gegen unerlaubte Zugriffe über sogenannte Rollback-Angriffe. Gegenstand der Erfindung ist ferner ein Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums für eine nachfolgende Verarbeitung.
  • Rollback-Angriffe zielen darauf ab, einen unbeeinträchtigten Betriebszustand eines angegriffenen Gerätes nach erfolglosen Angriffsversuchen wiederherzustellen. Dies kann erfolgen, indem der Angreifer zunächst einen früheren Betriebszustand eines angegriffenen Gerätes sichert, etwa durch Erstellen eines bitgenauen Datenabbildes. Anschließend versucht der Angreifer, sich Zugang zu dem Gerät bzw. den Zieldaten zu verschaffen. Misslingt das und werden daraufhin vom Gerät keine weiteren Zugangsversuche erlaubt, kann der Angreifer durch Einspielen des bitgenauen Datenabbildes den gesicherten früheren Betriebszustand erneut herstellen, um weitere Angriffsversuche zu erhalten.
  • Eine bekannte Lösung zur Sicherung sicherheitskritischen Daten gegen Rollback-Angriffe ist die Verwendung eines üblichen nichtflüchtigen Speichers, in dem die sicherheitskritischen Daten verschlüsselt zusammen mit einem Konsistenzzähler abgelegt werden. Zusätzlich werden in einem besonders geschützten Sicherheitsspeicher eine Kopie des Konsistenzzählers und der Schlüssel abgelegt. Der besonders geschützte Sicherheitsspeicher ist typischerweise als OTP (one-timeprogrammable)-Speicher oder als Embedded Flash-Speicher ausgeführt. OTP-Speicher kann allerdings nur mit beschränkter Häufigkeit genutzt werden. Embedded Flash-Speicher ist in der Herstellung sehr aufwendig und damit teuer, weil in einem typischen CMOS-Fertigungsprozess bis zu neun zusätzliche Masken benötigt werden.
  • US2013346757A1 offenbart eine Sicherung gegen Rollback-Angriffe, indem im Speicher einer Ausführungsumgebung zu einem zu sichernden Datensatz ein besonders verschlüsselter und mit einem Zählerwert versehener Metadatensatz erzeugt und getrennt von dem zu sichernden Datensatz in einem gesicherten Speicherabschnitt gespeichert wird. Der Zählerwert wird von einem Zähler bereitgestellt, der in einem separaten gesicherten Modul, etwa einem sogenannten „Trusted Platform Module“, geführt wird. Der Zähler ist insbesondere ein streng monoton steigender Zähler, der bei jedem Zugangsversuch erhöht wird. Passen Metadatensatz und Zählerwert nicht zueinander, wird der Zugang zu dem Datensatz verwehrt. Die bekannte Lösung ist insofern aufwendig, als sie für die Bereitstellung eines Zählerwertes ein besonderes Modul erfordert.
  • Es ist Aufgabe der Erfindung, eine mit wenig Aufwand realisierbare Sicherheitseinrichtung anzugeben, die Rollback-Angriffe verhindert.
  • Die Aufgabe wird gelöst durch eine Sicherheitseinrichtung sowie ein Verfahren mit den Merkmalen der unabhängigen Ansprüche.. Die in den Unteransprüchen angegebenen Merkmale enthalten vorteilhafte Weiterbildungen und zweckmäßige Ausgestaltungen.
  • Die erfindungsgemäße Lösung beruht auf dem Ansatz, in einer sicheren Ausführungsumgebung einen nichtflüchtigen Sicherheitsspeicher einzurichten, darin ein Referenzdatum zu einem zu sichernden Datensatz zu führen und die Prüfung auf Vorliegen eines Rollback-Angriffes in der sicheren Ausführungsumgebung vorzunehmen.
  • Die Erfindung macht sich die Erkenntnis zunutze, dass ein in einer sicheren Ausführungsumgebung eingerichteter Sicherheitsspeicher als ferroelektrischer Speicher ausgeführt sein kann. Bevorzugt nutzt der ferroelektrische Speicher ferromagnetische Feldeffekttransistoren (Fe-FET) als Speicherelemente. Die Speichertechnologie basiert auf einem Hystereseeffekt des ferromagnetischen Materials. Dadurch werden gespeicherte Werte auch ohne permanente Spannungsversorgung gespeichert.
  • Ein solcher ferroelektrischer Speicher kann mit vertretbarem Aufwand in vorteilhafter Weise in bestehende CMOS-basierte Halbleiterfertigungsprozesse integriert werden. Ferroelektrische Speicher werden elektrostatisch betreiben und sind deshalb sehr stromsparend, da zum Schreiben von Daten nur um Ladeströme für die Kapazitäten erzeugt werden müssen. Ferner erlauben ferroelektrische Speicher eine hohe Integrationsdichte, da ein einzelner Transistor die Funktion von beispielsweise sechs Transistoren darstellt. Sie sind dadurch im Vergleich zu üblichen Flash-Speichern platzsparend und ermöglichen in vorteilhafter Weise eine geringe Baugröße für die Sicherheitseinrichtung. Weitere Vorteile von Fe-FETs sind die Ermöglichung von Multi-Bit-Speichern und in-memory-Operationen mit Wertvergleichen.
  • Aufgrund ihrer besonders im Vergleich zu üblichen Flash-Speichern kostengünstigeren Herstellung kann bei Verwendung von ferroelektrischen Speichern in physisch klein ausgeführten Sicherheitseinrichtungen ein größerer Sicherheitsspeicher bereitgestellt werden. Das hat den Vorteil, dass entsprechend größere Datensätze als Referenzwert gespeichert werden können. So können etwa Prüfsummen bis hin zum gesamten Inhalt eines nichtflüchtigen Speichers als Referenzwert gespeichert werden. Das wiederum erhöht die erzielte Sicherheit gegen Rollback-Angriffe.
  • In vorteilhafter Ausgestaltung basiert der ferroelektrische Speicher auf Hafniumoxid.
  • Unter Bezugnahme auf die Zeichnung wird die Erfindung nachfolgend näher erläutert.
  • Es zeigen:
    • 1: den strukturellen Aufbau eines Nutzergerätes mit einer Sicherheitseinrichtung,
    • 2: den Aufbau einer sicheren Ausführungsumgebung im Zusammenwirken mit einem externen Speicher
    • 3: den Ablauf der Verarbeitung eines sicherheitskritischen Datums.
  • 1 zeigt einen grundsätzlichen strukturellen Aufbau eines Nutzergerätes 10 mit einer erfindungsgemäßen Sicherheitseinrichtung. Der Aufbau umfasst eine sichere Ausführungsumgebung 1 (TEE - Trusted Execution Environemnt), eine zentrale Prozessoreinheit 2 (CPU), eine nichtflüchtige Speichereinrichtung 3 (NVM - Non Volatile Memory) sowie eine Anwendungsschnittstelle 4. Alle Komponenten sind über einen Bus 5 miteinander verbunden. Der Aufbau kann weitere, ebenfalls über den Bus 5 angeschlossene Komponenten aufweisen, die nicht gezeigt sind.
  • Zweckmäßig sind die sichere Ausführungsumgebung 1 und die zentrale Prozessoreinheit 2 als monolithische integrierte Schaltung auf einem Silizium bzw. in einem Chip ausgeführt, während die nichtflüchtige Speichereinrichtung 3 als eigenständiger Chip ausgebildet ist. Das Nutzergerät 10 kann insgesamt als monolithisches Bauelement ausgebildet sein.
  • Das Nutzergerät 10 stellt eine Anwendung bereit, mit der sicherheitskritische Daten, d.h. Daten, die nur verwendet werden dürfen, wenn ihre Unversehrtheit festgestellt wurde, verändert werden.
  • Sicherheitskritische Daten können zum Beispiel Fehlbedienungszähler, PINs, Telekommunikationsprofile, Passwörter, Kontostände, persönliche Information oder vertrauliche Firmendaten sein.
  • Die sicherheitskritischen Daten, im folgenden auch sicherheitskritisches Datum genannt, sind ganz oder teilweise in der nichtflüchtigen Speichereinrichtung 3 abgelegt. Typischerweise erfolgt die Ablage in verschlüsselter Form.
  • Die Anwendung wird über die Anwendungsschnittstelle 4 durch eine nicht gezeigte externe Einheit aufgerufen. Über die Anwendungsschnittstelle 4 werden auch Rückmeldungen über ausgeführte Prüfungen oder gegebenenfalls veränderte sicherheitskritischen Daten zurückgegeben.
  • Das Nutzergerät 10 kann als selbstständige Einheit ausgebildet sein, beispielsweise als IC- Karte oder als Wearable, etwa als Armbanduhr. Es kann auch ein sicheres Element sein, das Teil eines größeren Gerätes ist, etwa eines Smartphones oder eines PCs.
  • Die sichere Ausführungsumgebung 1 ist gegen unerlaubte Hardware- und Softwarezugriffe besonders geschützt. Zweckmäßig ist die sichere Ausführungsumgebung 1 dazu baulich bzw. physisch besonders klein ausgeführt und weist keine eigene Benutzerschnittstelle auf. Zweckmäßig weist die sichere Ausführungsumgebung 1 logische Sicherungsmechanismen auf, die nicht autorisierte Zugriffe verhindern. Zweckmäßig ist die sichere Ausführungsumgebung 1 in einem eigenständigen Sicherheits-IC realisiert oder, wenn sie eingebetteter Teil eines Schaltkreises mit übergeordneter oder weiterer Funktionalität ist, als separierte Baugruppe. Die sichere Ausführungsumgebung 1 kann auch als integrierter Bestandteil der zentralen Prozessoreinheit 2 ausgebildet sein.
  • Zentrale Prozessoreinheit 2, nichtflüchtige Speichereinrichtung 3 und Anwendungsschnittstelle 4 sind zweckmäßig mittels üblicher Sicherheitsmechanismen gegen Software-Angriffe gesichert.
  • 2 zeigt eine sichere Ausführungsumgebung 1 und einen damit verbundenen nichtflüchtigen Speicher 3. Die sichere Ausführungsumgebung 1 und der nichtflüchtiger Speicher 3 sind zweckmäßig als separat hergestellte Chips ausgebildet und beispielsweise über einen Bus 5 miteinander verbunden.
  • Die sichere Ausführungsumgebung 1 besitzt einen Sicherheitsprozessor 11, einen typischerweise als ROM ausgeführten nichtflüchtigen Elementarspeicher 12 mit einem Bereich 12a zur Aufnahme eines Betriebssystems sowie einem Bereich 12b zur Aufnahme von Anwendungsprogrammen, einen Arbeitsspeicher 14 (RAM), einen nichtflüchtigen Sicherheitsspeicher 15, einen Schnittstellencontroller 16 sowie einen internen Bus 17, über den die genannten Komponenten verbunden sind. Über den Bus 17 können weitere Komponenten verbunden sein, die nicht gezeigt sind. Der Schnittstellencontroller 16 stellt eine Schnittstelle zu dem nichtflüchtigen Speicher 3 bereit. Der Schnittstellencontroller 16 ist mit einer Verschlüsselungseinheit 18 verbunden. Diese erzeugt und verwaltet Schlüssel für die Sicherung des über den Schnittstellencontroller 16 erfolgenden Datenverkehrs. Mithilfe der Verschlüsslungseinheit 18 werden über den Schnittstellencontroller 16 an den nichtflüchtigen Speicher 3 ausgehende und dort gespeicherte Daten verschlüsselt und von dort eingehende Daten entschlüsselt.
  • Der nichtflüchtige Sicherheitsspeicher 15, im folgenden einfach Sicherheitsspeicher genannt, ist als ferroelektrischer Speicher ausgeführt. Bevorzugt nutzt der ferroelektrische Speicher 15 ferromagnetische Feldeffekttransistoren (Fe-FET) als Speicherelemente. Zweckmäßig basiert er auf ferroelektrischem Hafniumoxid. Der Sicherheitsspeicher 15 kann elektrostatisch betrieben werden.
  • In einer Ausführungsvariante ist der zur Aufnahme von Arbeitsprogrammen dienende Bereich 12b des Elementarspeichers 12 wie der Sicherheitsspeicher 15 ebenfalls als interner nichtflüchtiger ferroelektrischer Speicher ausgeführt, insbesondere als auf Hafniumoxid basierender Speicher, der ferromagnetische Feldeffekttransistoren (Fe-FET) als Speicherelemente nutzt.
  • Die Herstellung der sicheren Ausführungsumgebung 1 kann in bekannter Weise in CMOS (Complementary Metal Oxide Semiconductor)-Technologie erfolgen. In einem solchen Prozess kann die Herstellung eines Sicherheitsspeichers 15 und, falls gewünscht, eines Speicherbereichs 12b mittels ferromagnetischer Feldeffekttransistoren mittels einer oder zweier zusätzlicher Masken integriert werden.
  • Der nichtflüchtige Speicher 3 besitzt einen Speicherbereich 31 zur Aufnahme von Nutzdaten D sowie einen Speicherbereich 33 zur Aufnahme von Kontrolldatensätzen K. Die Kontrolldatensätze K liegen in getrennten Speicherabschnitten und sind, um dies anzudeuten, in 2 mit Kn ... Km bezeichnet. Die Nutzdaten D können zu verschiedenen Anwendungen gehören und sind in getrennten Speicherabschnitten n, n+1, ..., n+m abgelegt. Um ihre Unterschiedlichkeit anzudeuten, sind die Nutzdaten D in 2 mit Dn, ..., Dn+m bezeichnet. Die Nutzdaten D können insbesondere sicherheitskritische Daten sein. Jeder Kontrolldatensatz Kn ... Kn+m ist eindeutig einem Nutzdatensatz Dn, ..., Dn+m zugeordnet. Zweckmäßig bestehen zu m Nutzerdatensätzen m zugehörige Kontrolldatensätze Kn bis Kn+m. Zweckmäßig hält der nichtflüchtige Speicher 3 ferner eine Liste 35 mit Indikatoren n, ..., n+m zur eindeutigen Bezeichnung der Kontrolldatenätze Kn ... Kn+m.
  • Der Sicherheitsspeicher 15 dient zur Aufnahme von Referenzwerten R, die jeweils zu einem sicherheitskritischen Nutzdatum D, nachfolgend einfach sicherheitskritisches Datum D genannt, im nichtflüchtigen Speicher 3 korrespondieren. Um anzudeuten, dass es sich um unterschiedliche Referenzwerte handelt, sind die Referenzwerte in 2 mit Rp, ..., Rp+q bezeichnet. Die Referenzwerte R können zum Beispiel Zählerwerte, Hashwerte oder Speicherzuständen entsprechen.
  • Die im Bereich 12b des nichtflüchtigen Speichers 12 abgelegten Anwendungsprogramme können Programme zur Veränderung von sicherheitskritischen Daten umfassen. Desweiteren können im Bereich 12b des nichtflüchtigen Speichers Programme hinterlegt sein, die Gegenmaßnahmen steuern, wenn für ein sicherheitskritisches Datum D ein inkonsistenter Zustand festgestellt wurde.
  • 3 zeigt die von der sicheren Ausführungsumgebung 1 im Zusammenspiel mit dem nichtflüchtigen Speicher 3 und dem nichtflüchtigen Sicherheitsspeicher 15 ausgeführten Schritte zur Realisierung einer Sicherung gegen Rollback-Angriffe in Form eines Signalflussdiagramms.
  • Die Realisierung der Sicherung beinhaltet Schritte, die beim Schreiben eines sicherheitskritischen Datums D ausgeführt werden, sowie Schritte, die beim Lesen eines sicherheitskritischen Datums D ausgeführt werden. In 3 sind mit dem Schreiben verbundene Schritte im oberen Teil gezeigt, mit dem Lesen verbundene Schritt im unteren Teil.
  • Beim Schreiben wird eine Aktivität der sicheren Ausführungsumgebung 1 ausgelöst durch einen über den Schnittstellencontroller 4 eingehenden Steuerbefehl 100, mit dem durch den Sicherheitsprozessor 11 im nichtflüchtigen Speicher 3 abgelegte sicherheitskritische Daten D verändert werden sollen. Der Steuerbefehl 100 kann zum Beispiel die Änderung eines Fehlbedienungszählers bewirken, die Erstellung einer Versionsnummer oder das Erstellen eine Rollback-Sicherung.
  • Der Sicherheitsprozessor 11 ermittelt daraufhin den Speicherabschnitt n, ..., n+m in dem nichtflüchtigen Speicher 3, in dem sich die zu verändernden sicherheitskritischen Daten D befinden, Schritt 102.
  • Zu dem Speicherabschnitt ermittelte Sicherheitsprozessor 11, sofern vorhanden einen Indikator, der den Speicherabschnitt n, ..., n+m eindeutig bezeichnet.
  • Nachfolgend verändert der Sicherheitsprozessor 11 im Sicherheitsspeicher 15 einen zu dem Speicherabschnitt n, ..., n+m korrespondierenden Referenzwert Rp, ..., Rp+q nach einer festgelegten Regel, Schritt 106. In einfacher Ausführung erhöht er beispielsweise einen Zähler. In einer anderen Ausführung kann der Referenzwert Rp, ..., Rp+q durch aus dem nichtflüchtigen Speicher 3 ausgelesene Nutzdaten D oder daraus abgeleitete Derivate gebildet sein. Der Referenzwert R kann beispielsweise einen Hash über ein sicherheitskritisches Datum D oder einen kompletten Zustand eines Speicherbereichs 31 mit sicherheitskritischen Daten D oder eines Teils davon beinhaltet.
  • Der neue Zustand des Referenzwertes Rp, ..., Rp+q wird im Sicherheitsspeicher 15 gespeichert. Die Bearbeitung und das Speichern des Referenzwertes Rp, ..., Rp+q finden vollständig innerhalb der sicheren Ausführungsumgebung 1 statt. Der Referenzwert Rp, ..., Rp+q ist deshalb gegen Manipulationsversuche durch dieselben Sicherheitsmechanismen geschützt wie die sichere Ausführungsumgebung 1. Sodann bestimmt der Sicherheitsprozessor 11 einen neuen Wert für das sicherheitskritische Datum D, Schritt 108. Beispielsweise wird für einen Fehlbedienungszähler mit dem Wert 1 der Neuwert 0 bestimmt. Oder es wird für einen Kontostand ein aufgrund einer Transaktion sich ergebender neuer Kontostand ermittelt.
  • Die Veränderung führt der Sicherheitsprozessor 11 selbst aus, wenn er dazu eingerichtet ist. Alternativ, wenn die Veränderung des sicherheitskritischen Datums D ganz oder teilweise durch eine andere Komponente des Nutzergerätes 1 erfolgt, etwa durch die zentrale Prozessoreinheit 2, erzeugt der Sicherheitsprozessor 11 ein Bestätigungssignal über die durchgeführten Schritte und schickt dieses an die die Veränderung vornehmende Komponente.
  • Den neuen Wert für das Datum D verschlüsselt der Sicherheitsprozessor 11 und übermittelt den verschlüsselten neuen Wert über den Schnittstellencontroller 4 an den nichtflüchtigen Speicher 3, wo er verschlüsselt gespeichert wird, Schritt 110.
  • Desweiteren verschlüsselt der Sicherheitsprozessor 11 den durch die Änderung in Schritt 106 entstehenden neuen Referenzwert Rp, ..., Rp+q, Schritt 112, und übermittelt ihn über den Schnittstellencontroller 16 ebenfalls an den nichtflüchtigen Speicher 3, Schritt 114. Dort wird er als Kontrolldatensatz Kn ... Kn+m korrespondierend zu dem neuen Wert für das sicherheitskritische Datum D gespeichert.
  • Beim Lesen wird eine Aktivität der sicheren Ausführungsumgebung 1 ausgelöst durch einen über den Schnittstellencontroller 4 eingehenden Steuerbefehl, auf den hin durch den Sicherheitsprozessor 11 im nichtflüchtigen Speicher 3 abgelegte sicherheitskritische Daten D geprüft werden müssen, Schritt 120.
  • Der Sicherheitsprozessor 11 ermittelt den Speicherabschnitt n, ..., n+m in dem nichtflüchtigen Speicher 3, in dem sich die zu prüfenden sicherheitskritischen Daten D befinden und lädt sie in seinen Arbeitsspeicher 14, Schritt 122.
  • Zu dem sicherheitskritischen Datum D ermittelt der Sicherheitsprozessor 11 den zugehörigen Kontrolldatensatz Kn ... Kn+m und lädt diesen, Schritt 124.
  • Ferner ermittelt der Sicherheitsprozessor 11 zu dem Speicherabschnitt, sofern vorhanden, den Indikator, der den Speicherabschnitt n, ..., n+m eindeutig bezeichnet.
  • Nachfolgend ermittelt der Sicherheitsprozessor 11 im Sicherheitsspeicher 15 den zu dem Speicherabschnitt n, ..., n+m gehörenden Referenzwert Rp, ..., Rp+q, 128.
  • Den Referenzwert Rp, ..., Rp+q vergleicht der Sicherheitsprozessor 11 mit dem Kontrolldatensatz Kn ... Kn+m, Schritt 130.
  • Stimmen beide überein, führt der Sicherheitsprozessor 11 weitere Bearbeitungsschritte mit den sicherheitskritischen Daten D aus. Die Bearbeitungsschritte sind durch den den Lesevorgang auslösenden Steuerbefehl festgelegt. Insbesondere können die Daten verändert und anschließend erneut in den nichtflüchtigen Speicher 3 eingeschrieben werden. Dies geschieht dann wie zuvor beschrieben. Die Veränderung des sicherheitskritischen Datums D kann auch ganz oder teilweise durch eine andere Komponente des Nutzerdgerätes 1 erfolgen, etwa durch den zentralen Prozessor 2. In diesem Fall übermittelt er Sicherheitsprozessor 11 das sicherheitskritischen Datum D an die die Veränderung vornehmende Komponente.
  • Stimmen Kontrolldatensatz Kn ... Kn+m und Referenzwert Rp, ..., Rp+q nicht überein, startet der Sicherheitsprozessor 11 Gegenmaßnahmen, die durch ein entsprechendes Anwendungsprogramm im Bereich 12b des Elementarspeichers 12 festgelegt sind. Eine Gegenmaßnahme kann beispielsweise die Sperrung weitere Zugriffe auf das sicherheitskritische Datum D sein.
  • Unter Beibehaltung des grundlegenden Gedankens, in einer sicheren Ausführungsumgebung 1 einen ferroelektrischen Speicher als nichtflüchtigen Sicherheitsspeicher einzurichten, darin ein Referenzdatum zu einem zu sichernden Datensatz zu führen und die Prüfung auf Vorliegen eines Rollback-Angriffes in der sicheren Ausführungsumgebung 1 vorzunehmen, gestattet die Erfindung eine Reihe von zweckmäßigen Ausgestaltungen und Varianten, die aus Gründen der Übersichtlichkeit nicht im einzelnen beschrieben sind. So können zwischen den beschriebenen Verfahrensschritten weitere Schritte vorgesehen sein, die die Schritte selbst nicht beeinträchtigen, aber zweckmäßig sind. Vorgesehen sein können beispielsweise Konsistenzprüfungen. Die Kommunikation zwischen den beteiligten Komponenten kann desweiteren über weitere Zwischenkomponenten geführt sein. Die beschriebenen Komponenten können zudem anders angeordnet oder in mehreren Teilkomponenten oder als Teil anderer Komponenten ausgebildet sein.
  • Bezugszeichenliste
  • 1
    Sichere Ausführungsumgebung (TEE)
    2
    Zentrale Prozessoreinheit (CPU)
    3
    Nichtflüchtige Speichereinrichtung (NVM)
    4
    Anwendungsschnittstelle
    5
    Bus
    10
    Nutzergerät
    11
    Sicherheitsprozessor
    12
    nichtflüchtiger Elementarspeicher (ROM)
    12a
    Speicherbereich (Betriebssystem)
    12b
    Speicherbereich (Anwendungsprogramme)
    14
    Arbeitsspeicher (RAM)
    15
    nichtflüchtiger Sicherheitsspeicher
    16
    Schnittstellencontroller
    17
    interner Bus
    18
    Verschlüsslungseinheit
    31
    Speicherbereich (Nutzdaten)
    33
    Speicherbereich (Kontrolldatensätze)
    35
    Speicherbereich (Liste)
    100 bis 130
    Verfahrensschritte
    D
    Sicherheitskritisches Datum
    K
    Kontrolldatensatz
    R
    Referenzwert
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2013346757A1 [0004]

Claims (10)

  1. Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen, umfassend: eine sichere Ausführungsumgebung (1) mit einem Sicherheitsprozessor (11), einem Arbeitsspeicher (14), einen Sicherheitsspeicher (15), einem Schnittstellencontroller (16) zu einer externen Instanz, sowie einem Bus (17), der die Elemente verbindet, einen separaten nichtflüchtigen Speicher (3), der über den Schnittstellencontroller (16) mit der sicheren Ausführungsumgebung (1) verbunden ist, wobei der Sicherheitsprozessor (11) dazu eingerichtet ist, auf Erhalt eines Steuerbefehls zur Bereitstellung eines sicherheitskritischen Datums (D) über den Schnittstellencontroller (16) von dem nichtflüchtigen Speicher (3) das angeforderte sicherheitskritischen Datum (D) zu laden, über den Schnittstellencontroller (16) von dem nichtflüchtigen Speicher (3) einen verschlüsselten Kontrolldatensatz (K), der dem sicherheitskritischen Datum (D) zugeordnet ist, zu laden und zu entschlüsseln, aus dem Sicherheitsspeicher (15) einen Referenzwert (R) zu ermitteln, der mit dem sicherheitskritischen Datum (D) verknüpft ist, den entschlüsselten Kontrolldatensatz (K) und den Referenzwert zu (R)vergleichen, bei Nichtübereinstimmung die Weiterverarbeitung des sicherheitskritischen Datums (D) zu unterbinden, wobei der Sicherheitsspeicher (15) ein ferroelektrischer Speicher ist.
  2. Sicherheitseinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Sicherheitsspeicher (15) ferromagnetische Feldeffekttransistoren als Speicherelemente nutzt.
  3. Sicherheitseinrichtung nach Anspruch 1 oder2, dadurch gekennzeichnet, dass die sichere Ausführungsumgebung (1) einen internen nichtflüchtigen Speicher (12b) zur Aufnahme von Anwendungsprogrammen aufweist, der ferromagnetische Feldeffekttransistoren als Speicherelemente nutzt.
  4. Sicherheitseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Sicherheitsspeicher (15) auf Hafniumdioxid basiert.
  5. Sicherheitseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Sicherheitsprozessor (15) dazu eingerichtet ist, über den Schnittstellencontroller (16) einen Indikator (n, ... , n+m) zu laden, der dem sicherheitskritischen Datum (D) zugeordnet ist und den Referenzwert (R) mithilfe des Indikators zu ermitteln.
  6. Sicherheitseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Sicherheitsprozessor (15) dazu eingerichtet ist, auf den Erhalt eines Steuerbefehls zur Bearbeitung eines sicherheitskritischen Datums (D) über den Schnittstellencontroller (16) eine Verknüpfung zwischen einem Referenzwert (R) und einem Kontrolldatensatz (K) zu erzeugen, indem der Sicherheitsprozessor (11) vor Ausführung der Bearbeitung einen Referenzwert (R) im Sicherheitsspeicher (11) verändert und nach Speichern des bearbeiteten sicherheitskritischen Wertes den Referenzwert (R) verschlüsselt und als verschlüsselten Kontrolldatensatz (K) im nichtflüchtigen Speicher (3) ablegt.
  7. Sicherheitseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Referenzwert (R) einen Hash über ein sicherheitskritisches Datum (D) beinhaltet.
  8. Sicherheitseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Referenzwert (R) einen kompletten Zustand eines Speicherbereichs (31) mit sicherheitskritischen Daten (D) oder eines Teil davon beinhaltet.
  9. Sicherheitseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie im Chip einer IC-Karte ausgebildet ist.
  10. Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums (D) für eine nachfolgende Verarbeitung, wobei eine sicheren Ausführungsumgebung (1) bereitgestellt wird mit einem Sicherheitsprozessor (11), einem Arbeitsspeicher (14), einem als ferroelektrischer Speicher ausgebildeten Sicherheitsspeicher (15), einem Schnittstellencontroller (16) zu einer externen Instanz, sowie einem Bus (17), der die Elemente verbindet, wobei der Sicherheitsprozessor (11) folgende Schritte ausführt: Ermitteln eines auszugebenden sicherheitskritischen Datums (D) in einem separaten nichtflüchtigen Speicher (3), Auslesen eines mit dem sicherheitskritischen Datum (D) verbundenen verschlüsselten Kontrolldatensatzes (K) aus dem nichtflüchtigen Speicher (3), Entschlüsseln des verschlüsselten Kontrolldatensatzes (K), Ermitteln eines mit dem Kontrolldatensatz (K) verknüpften, in einer sicheren Ausführungsumgebung (1) gespeicherten Referenzwertes (R), Vergleichen des Referenzwertes (R) und des Kontrolldatensatzes (K), Freigeben des sicherheitskritischen Datums (D) für eine weitere Verarbeitung bei Übereinstimmung.
DE102024100576.9A 2024-01-10 2024-01-10 Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums Pending DE102024100576A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102024100576.9A DE102024100576A1 (de) 2024-01-10 2024-01-10 Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102024100576.9A DE102024100576A1 (de) 2024-01-10 2024-01-10 Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums

Publications (1)

Publication Number Publication Date
DE102024100576A1 true DE102024100576A1 (de) 2025-07-10

Family

ID=96093543

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102024100576.9A Pending DE102024100576A1 (de) 2024-01-10 2024-01-10 Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums

Country Status (1)

Country Link
DE (1) DE102024100576A1 (de)

Similar Documents

Publication Publication Date Title
DE69527773T2 (de) Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis
DE69524482T2 (de) Gesicherte speicherkarte mit programmierter gesteuerter sicherheits-zugriffs-kontrolle
DE112007002037B4 (de) Erkennen von auf Strahlung basierenden Angriffen
EP2727277B1 (de) System zur sicheren übertragung von daten und verfahren
DE10162306A1 (de) Verfahren und Anordnung zur Verifikation von NV-Fuses sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE102013222321A1 (de) Elektronisches Gerät mit einer Vielzahl von Speicherzellen und mit physikalisch unklonbarer Funktion
DE102009013384A1 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE10338032B4 (de) Prozessor mit elektronischen Sicherungen zum Speichern von Geheimdaten
DE102014208855A1 (de) Verfahren zum Durchführen einer Kommunikation zwischen Steuergeräten
EP0280035B1 (de) Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme
DE102014208851A1 (de) Verfahren zum Verhindern eines unbefugten Betriebs eines Kraftfahrzeugs
DE112019005417T5 (de) Sichern von Datenprotokollen in Arbeitsspeichervorrichtungen
DE112019007421T5 (de) Speichergerät mit sicherer testmoduseingabe
DE10324337A1 (de) Rechnersystem sowie zugehörige Speicherarchitektur und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
EP1661069B1 (de) Prozessorschaltung und verfahren zum zuordnen eines logikchips zu einem speicherchip
DE102022111925B4 (de) Halbleiterchipvorrichtung und verfahren zum prüfen der integrität eines speichers
EP4139820B1 (de) Booteinrichtung für ein computerelement und verfahren zum booten eines computerelements
DE102024100576A1 (de) Sicherheitseinrichtung zur Abwehr von Rollback-Angriffen und Verfahren zum gegen Rollback-Angriffe gesicherten Bereitstellen eines sicherheitskritischen Datums
DE10162308A1 (de) Verfahren und Anordnung zur Zugriffssteuerung auf EEPROMs sowie ein entsprechendes Computerprogrammprodukt und eine entsprechendes computerlesbares Speichermedium
EP1022659A2 (de) Schaltungsanordnung zur elektonischen Datenverarbeitung
DE10164419A1 (de) Verfahren und Anordnung zum Schutz von digitalen Schaltungsteilen
EP2524333B1 (de) Verfahren zum bereitstellen eines sicheren zählers auf einem endgerät
EP3407242A1 (de) Personalisieren eines halbleiterelements
EP1722336A2 (de) Vorrichtung und Verfahren zur Erzeugung von Daten für eine Initialisierung von Sicherheitsdatenträgern
DE102014208853A1 (de) Verfahren zum Betreiben eines Steuergeräts

Legal Events

Date Code Title Description
R012 Request for examination validly filed