DE102008050631A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem Download PDF

Info

Publication number
DE102008050631A1
DE102008050631A1 DE102008050631A DE102008050631A DE102008050631A1 DE 102008050631 A1 DE102008050631 A1 DE 102008050631A1 DE 102008050631 A DE102008050631 A DE 102008050631A DE 102008050631 A DE102008050631 A DE 102008050631A DE 102008050631 A1 DE102008050631 A1 DE 102008050631A1
Authority
DE
Germany
Prior art keywords
memory
processing system
data processing
chip
data
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.)
Ceased
Application number
DE102008050631A
Other languages
English (en)
Inventor
Gerard David Jennings
Wieland Dr. Fischer
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102008050631A1 publication Critical patent/DE102008050631A1/de
Ceased legal-status Critical Current

Links

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/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; 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

Landscapes

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

Abstract

Ein Datenverarbeitungssystem weist auf einen Computerchip mit einem Verarbeitungsschaltkreis und einem chipinternen ersten Speicher, sowie einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist, wobei der Verarbeitungsschaltkreis derart eingerichtet ist, dass er ein Ausführen von Computerprogrammen ermöglicht, welche in dem ersten Speicher gespeichert sind, und ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, verhindert, wenn das Datenverarbeitungssystem sich in einem ersten Zustand befindet, und derart, dass es ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, ermöglicht, wenn das Datenverarbeitungssystem sich in einem zweiten Zustand befindet.

Description

  • Die Erfindung betrifft ein Datenverarbeitungssystem.
  • In elektronischen Kommunikationseinrichtungen wie beispielweise mobilen Kommunikationsendgeräten, besteht oftmals der Bedarf, die Sicherheit für bestimmte Anwendungsprogramme (im Folgenden auch bezeichnet als Anwendungen oder Applikationen) oder Daten bereitzustellen, wie beispielsweise Applikationen zum Ausführen von kryptografischen Operationen. Es ist wünschenswert, Verarbeitungssysteme bereitzustellen, welche einerseits einen hohen Grad an Sicherheit für zu schützende Applikationen und Daten bereitstellen, aber andererseits sicherstellen, dass Sicherheitsressourcen für Applikationen oder Daten, welche nicht geschützt werden müssen, nicht verschwendet werden.
  • In vielen elektronischen Computereinrichtungen wie beispielsweise Mobilfunktelefonen, sind sichere Ausführungsumgebungen erforderlich zum Ausführen von Aufgaben, welche sicherheitsrelevant sind, beispielsweise in welchen vertrauliche Daten verarbeitet werden. In dem Beispiel von Mobilfunktelefonen können Mobilfunkbetreiber und Mobilfunktelefon-Hersteller eine sichere Ausführungsumgebung zum Laden einer sicheren Applikation in ein Mobilfunktelefon benötigen, das heißt eine Applikation, die nicht von einem Benutzer verändert werden soll. Solch eine Applikation wird beispielsweise in ein Mobilfunktelefon geladen, wenn das Mobilfunktelefon hergestellt wird oder es kann von dem Benutzer des Mobilfunktelefons selbst heruntergeladen werden.
  • Solch eine Applikation verarbeitet beispielsweise vertrauliche Daten wie beispielsweise kryptografische Schlüssel. Beispielsweise soll es für einen Angreifer nicht möglich sein (angreifender Benutzer), solch einen kryptografischen Schlüssel von dem Mobilfunktelefon zu extrahieren. Deshalb sollte der kryptografische Schlüssel vor Angriffen seitens nicht-vertrauenswürdiger Software und vor physikalischen Angriffen wie beispielsweise einem Ausprobieren oder einem Verändern von Informationssignalen beispielsweise zwischen der Haupt-Verarbeitungskomponente des Mobilfunktelefons und Speicherkomponenten des Mobilfunktelefons wie beispielsweise einem dynamischen Vielfachzugriffspeicher (Dynamic Random Access Memory, DRAM) oder einem nicht-flüchtigen Speicher des Mobilfunktelefons geschützt werden.
  • Es könnte auch wünschenswert sein, dass sichere Applikationen, das heißt Applikationen, welche beispielsweise von dem Betreiber des Mobilfunk-Kommunikationsnetzwerks, für welche das Mobilfunktelefon als Benutzerendgerät verwendet wird, als vertrauenswürdig betrachtet wird, von einander isoliert werden, so dass beispielsweise eine der sicheren Applikationen keinen Zugriff auf die Daten hat, welche von einer anderen der sicheren Applikationen verarbeitet werden.
  • Eine sichere Allzweck-Ausführungsumgebung ist üblicherweise relativ komplex (obwohl sie typischerweise weniger komplex ist als das Haupt-Betriebssystem des Mobilfunktelefons oder allgemein der elektronischen Computereinrichtung) und weist typischerweise relativ hohe Speicheranforderungen auf, das heißt beispielsweise einen relativ hohen Speicherbedarf. Zusätzliche sichere Ausführungsumgebungen können verwendet werden zum Schützen vertraulicher Daten vor Software-Angriffen. Ein Schutz vor Hardware-Angriffen kann berücksichtigt werden, indem die gesamte sichere Ausführungsumgebung von einem On-Chip(Auf-dem-Chip)-Speicher (oder einen gestapelten Speicher) ausgeführt wird, das heißt einem Speicher, welcher Teil desselben Chips ist wie beispielsweise der Hauptverarbeitungs-Schaltkreis des Mobilfunktelefons und somit sicher ist gegen Software-Angriffe oder Hardware-Angriffe. Jedoch erhöht dies typischerweise die Kosten des Chips, welcher die sichere Ausführungsumgebung bereitstellt.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird ein Datenverarbeitungssystem bereitgestellt, welches aufweist einen Computerchip mit einem Verarbeitungsschaltkreis und einem chipinternen ersten Speicher und einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist. Der Verarbeitungsschaltkreis ist derart eingerichtet, dass er das Ausführen von Computerprogrammen ermöglicht, welche in dem ersten Speicher gespeichert sind, und dass er die Ausführung von Computerprogrammen verhindert, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem in einem ersten Zustand ist, und wobei der Verarbeitungsschaltkreis eingerichtet ist, ein Ausführen von Computerprogrammen zu ermöglichen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem in einem zweiten Zustand ist.
  • Gemäß einer Ausgestaltung weist das Datenverarbeitungssystem zusätzlich einen dritten Speicher auf, in welchem Daten gespeichert sind, wobei der Verarbeitungsschaltkreis derart eingerichtet ist, dass er einen Zugriff auf die Daten ermöglicht, wenn das Datenverarbeitungssystem in dem ersten Zustand ist und derart, dass er den Zugriff auf die Daten verhindert, wenn das Datenverarbeitungssystem in dem zweiten Zustand ist.
  • Der dritte Speicher kann ein chipinterner Speicher sein.
  • Die Daten können kryptografische Daten sein.
  • Weiterhin können die Daten einen kryptografischen Schlüssel aufweisen.
  • Gemäß einer anderen Ausgestaltung der Erfindung weist das Datenverarbeitungssystem zusätzlich einen Sicherheits-Schaltkreis auf, welcher in einem ersten Sicherheits-Schaltkreis-Zustand ist, wenn das Datenverarbeitungssystem in dem ersten Zustand ist, und welcher in einem zweiten Sicherheits-Schaltkreis-Zustand ist, wenn das Datenverarbeitungssystem in dem zweiten Zustand ist.
  • Der Sicherheits-Schaltkreis kann eingerichtet sein zum Verarbeiten von geheimen Daten, wenn er in dem ersten Sicherheits-Schaltkreis-Zustand ist, und derart, dass er die geheimen Daten nicht verarbeitet, wenn er in dem zweiten Sicherheits-Schaltkreis-Zustand ist.
  • Der Sicherheits-Schaltkreis kann ferner derart eingerichtet sein, dass er einen Zugriff auf die verarbeiteten geheimen Daten ermöglicht, wenn er in dem zweiten Sicherheits-Schaltkreis-Zustand ist.
  • Gemäß einer anderen Ausgestaltung ist der Sicherheits-Schaltkreis eingerichtet derart, dass er einen Zugriff auf die geheimen Daten nicht ermöglicht, wenn er in dem zweiten Sicherheits-Schaltkreis-Zustand ist.
  • Gemäß einer Weiterbildung der Erfindung ist der zweite Speicher gegen Software-Angriffe geschützt.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung wird eine elektronische Computereinrichtung bereitgestellt, welche das Datenverarbeitungssystem, wie oben beschrieben, aufweist.
  • Die elektronische Computereinrichtung kann als eine mobile elektronische Computereinrichtung ausgestaltet sein, beispielsweise als eine mobile Kommunikationseinrichtung.
  • Gemäß einer anderen Ausgestaltung des Datenverarbeitungssystems kann der Verarbeitungsschaltkreis eingerichtet sein zum Ausführen eines Steuerungs-Computerprogramms, welches steuert, ob in dem ersten Speicher gespeicherte Computerprogramme und/oder in dem zweiten Speicher gespeicherte Computerprogramme ausgeführt werden dürfen.
  • Der Code des Steuerungs-Computerprogramms kann in dem ersten Speicher gespeichert sein.
  • Weiterhin kann der Computerchip ein System-Auf-Chip implementieren, welches den Verarbeitungsschaltkreis und den ersten Speicher aufweist.
  • Gemäß einem anderen Ausführungsbeispiel wird ein Datenverarbeitungssystem bereitgestellt mit einem Computerchip, welcher einen Verarbeitungsschalkreis und einen chipinternen ersten Speicher aufweist, und mit einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist, und mit einem Zugriffskontroll-Schaltkreis, welcher eingerichtet ist zum Gewähren oder Verweigern eines Zugriffs auf Ressourcen des Datenverarbeitungssystems abhängig davon, ob der Zugriff von einem Computerprogramm angefordert worden ist, dessen Code in dem ersten Speicher gespeichert ist, oder von einem Computerprogramm, dessen Code in dem zweiten Speicher gespeichert ist.
  • Gemäß noch einem anderen Ausführungsbeispiel der Erfindung wird ein Verfahren zum Betreiben eines Datenverarbeitungssystems mit einem Computerchip bereitgestellt, wobei der Computerchip einen Verarbeitungsschaltkreis und einen chipinternen ersten Speicher aufweist, und mit einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist. Das Verfahren weist auf ein Ermöglichen einer Ausführung von Computerprogrammen, die in dem ersten Speicher gespeichert sind und ein Verhindern eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem in einem ersten Zustand ist, und ein Ermöglichen eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem in einem zweiten Zustand ist.
  • Gemäß einer Ausgestaltung des Verfahrens kann das Datenverarbeitungssystem zusätzlich einen dritten Speicher aufweisen, in welchem Daten gespeichert sind, und das Verfahren kann ferner aufweisen ein Ermöglichen eines Zugriffs auf die Daten, wenn das Datenverarbeitungssystem in dem ersten Zustand ist, und ein Verhindern eines Zugriffs auf die Daten, wenn das Datenverarbeitungssystem in dem zweiten Zustand ist.
  • Weiterhin kann gemäß dem Verfahren der dritte Speicher ein chipinterner Speicher sein.
  • Die Daten können kryptografische Daten sein.
  • Weiterhin können die Daten einen kryptografischen Schlüssel aufweisen.
  • Weiterhin kann das Verfahren aufweisen ein Schützen des zweiten Speichers gegen Software-Angriffe.
  • Gemäß noch einem anderen Ausführungsbeispiel wird ein Verfahren zum Betreiben eines Datenverarbeitungsschaltkreises mit einem Computerchip bereitgestellt, wobei der Computerchip einen Verarbeitungsschaltkreis und einen chipinternen ersten Speicher aufweist, und mit einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist. Das Verfahren weist auf ein Gewähren oder Verweigern eines Zugriffs auf Ressourcen des Datenverarbeitungssystems abhängig davon, ob der Zugriff von einem Computerprogramm angefordert worden ist, dessen Code in dem ersten Speicher gespeichert ist, oder von einem Computerprogramm, dessen Code in dem zweiten Speicher gespeichert ist.
  • Gemäß noch einem anderen Ausführungsbeispiel wird ein Computerprogrammprodukt bereitgestellt, welches, wenn es von einem Datenverarbeitungssystem ausgeführt wird mit einem Computerchip, welcher einen Verarbeitungsschaltkreis und einen chipinternen ersten Speicher aufweist, und mit einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist, das Datenverarbeitungssystem veranlasst, folgendes Verfahren auszuführen: Ermöglichen eines Ausführens von Computerprogrammen, welche in dem ersten Speicher gespeichert sind und ein Verhindern eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem in einem ersten Zustand ist, und ein Ermöglichen eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem in einem zweiten Zustand ist.
  • In den Zeichnungen werden gleiche Bezugszeichen verwendet zum Bezeichnen von gleichen oder ähnlichen Teilen über alle Ansichten hinweg. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, es wurde stattdessen Wert darauf gelegt, die Prinzipien der Ausführungsbeispiele der Erfindung zu erläutern. In der folgenden Beschreibung werden verschiedene Ausführungsbeispiele der Erfindung beschrieben unter Bezugnahme auf die beigefügten Zeichnungen.
  • Es zeigen
  • 1 eine elektronische Computereinrichtung gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ein Betriebs-Zustandsdiagramm gemäß einem Ausführungsbeispiel der Erfindung;
  • 3 einen Sicherheits-Schaltkreis gemäß einem Ausführungsbeispiel der Erfindung; und
  • 4 ein Ablaufdiagramm gemäß einem Ausführungsbeispiel der Erfindung.
  • Im Rahmen dieser Beschreibung werden die Begriffe "verbunden", "angeschlossen" sowie "gekoppelt" verwendet zum Beschreiben sowohl einer direkten als auch einer indirekten Verbindung, eines direkten oder indirekten Anschlusses sowie einer direkten oder indirekten Kopplung. In den Figuren werden identische oder ähnliche Elemente mit identischen Bezugszeichen versehen, soweit dies zweckmäßig ist.
  • Ein Ausführungsbeispiel der Erfindung, in welchem vertrauliche Daten geschützt werden können gegen Software-Angriffe und Hardware-Angriffe, und welches ferner bereitgestellt wird zu niedrigen Kosten, wird im Folgenden unter Bezugnahme auf 1 näher erläutert.
  • 1 zeigt eine elektronische Computereinrichtung 100 gemäß einem Ausführungsbeispiel der Erfindung.
  • Die elektronische Computereinrichtung 100 ist beispielsweise ein Mobilfunktelefon oder allgemein eine mobile elektronische Einrichtung wie beispielsweise ein persönlicher digitaler Assistent (Personal Digital Assistant, PDA). Sie kann ebenso ein Personal Computer-System sein, wie beispielsweise ein Laptop oder ein Desktop-Computer, oder auch eine Workstation oder ein Server-Computer, welcher in einem Kommunikationsnetzwerk wie beispielsweise dem Internet betrieben wird.
  • Die elektronische Computereinrichtung 100 kann aufweisen einen Computerchip 101 mit einem Verarbeitungsschaltkreis 102, beispielsweise einem Mikroprozessor, beispielsweise einem Allzweck-Prozessor, welcher den Betrieb der elektronischen Computereinrichtung 100 steuert, und einem ersten Speicher 103. Dies bedeutet, dass der erste Speicher 103 ein chipinterner Speicher der elektronischen Computereinrichtung 100 ist, in diesem Beispiel Teil desselben Computerchips wie der Verarbeitungsschaltkreis 102 ist.
  • Die elektronische Computereinrichtung 100 weist ferner einen zweiten Speicher 104 auf, welcher nicht Teil des Computerchips 101 ist und somit ein chipexterner Speicher ist. Der zweite Speicher 104 kann ein Speicher sein, welcher ein externer Speicher der elektronischen Computereinrichtung 100 ist, und ist beispielsweise gekoppelt mit der elektronischen Computereinrichtung mittels eines Speicherbusses (welcher ein serieller Bus sein kann oder ein paralleler Bus) beispielsweise ausgestaltet gemäß einem universellen seriellen Bus-Standard (Universal Serial Bus, USB) oder mittels jeder beliebigen geeigneten Kommunikationsverbindung zum Datentransfer. In diesem Beispiel ist der zweite Speicher 104 gekoppelt mit dem Computerchip 101 mittels eines internen Speicherbusses der elektronischen Computereinrichtung 100.
  • Der Verarbeitungsschaltkreis 102 ist eingerichtet derart, dass er ermöglicht oder erlaubt ein Ausführen von Computerprogrammen, welche in dem ersten Speicher 103 gespeichert sind, und derart, dass er verhindert ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher 104 gespeichert sind, wenn die elektronische Computereinrichtung 100, welche allgemein ein Datenverarbeitungssystem sein kann, in einem ersten Zustand ist, und derart, dass es ermöglicht oder erlaubt ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher 104 gespeichert sind, wenn die elektronische Computereinrichtung 100 in einem zweiten Zustand ist.
  • Dies bedeutet, dass in dem ersten Zustand, welcher angesehen werden kann als ein sicherer Betriebszustand der elektronischen Computereinrichtung 100, nur Computerprogramme, deren Computercode in dem ersten Speicher 103 gespeichert ist, und deshalb gegen Hardware-Angriffe geschützt ist, ausgeführt werden dürfen. Beispielsweise können vertrauliche Daten wie beispielsweise kryptografische Schlüssel nur verarbeitet werden in dem ersten Zustand, und es ist daher gewährleistet, dass nur Computerprogramme, welche gegen Hardware-Angriffe geschützt sind, die vertraulichen Daten verarbeiten dürfen und auf diese Zugriff haben dürfen. In dem zweiten Zustand, welcher angesehen werden kann als ein weniger sicherer Zustand als der erste Zustand, können Computerprogramme, deren Code in dem zweiten Speicher 104 gespeichert ist, ausgeführt werden. Beispielsweise können in dem zweiten Zustand vertrauliche Daten nicht verarbeitet werden.
  • Ein in den Ausführungsbeispielen der Erfindung verwendeter Speicher kann ein flüchtiger Speicher sein, beispielsweise ein dynamischer Vielfachzugriffspeicher (Dynamic Random Access Memory, DRAM), oder ein nicht-flüchtiger Speicher, beispielsweise ein programmierbarer Nur-Lese-Speicher (Programmable Read Only Memory, PROM), ein löschbarer PROM (Erasable PROM, EPROM), ein elektrisch löschbarer PROM (Electrically Erasable PROM, EEPROM), oder ein Flash-Speicher, beispielsweise ein Floating Gate-Speicher, ein Ladungsfänger-Speicher (Charge Trapping-Speicher), ein magnetoresistiver Vielfachzugriffspeicher (Magnetoresistive Random Access Memory, MRAM), oder ein Phasenänderungs-Vielfachzugriffspeicher (Phase Change Random Access Memory, PCRAM).
  • Im Rahmen dieser Beschreibung kann eine „flüchtige Speicherzelle" verstanden werden als eine Speicherzelle, welche Daten speichert, wobei die Daten aufgefrischt werden, während eine Energieversorgungsspannung des Speichersystems aktiv ist, in anderen Worten, in einem Zustand des Speichersystems, in welchem es mit einer Energieversorgungsspannung versorgt wird. In einem Ausführungsbeispiel der Erfindung kann eine „flüchtige Speicherzelle" verstanden werden als eine Speicherzelle, welche Daten speichert, wobei die Daten aufgefrischt werden während einer Auffrisch-Periode, in der die Speicherzelle mit einer Energieversorgungsspannung versorgt wird, gemäß dem Pegel der gespeicherten Daten.
  • Eine „nicht-flüchtige Speicherzelle" kann verstanden werden als eine Speicherzelle, welche Daten speichert, selbst wenn sie nicht aktiv ist. In einem Ausführungsbeispiel der Erfindung kann eine Speicherzelle als nicht-aktiv angesehen werden, wenn beispielsweise aktuell kein Zugriff auf den Inhalt der Speicherzelle aktiv ist. In einem anderen Ausführungsbeispiel kann eine Speicherzelle als nicht-aktiv angesehen werden, wenn beispielsweise die Energieversorgung inaktiv ist. Ferner können die gespeicherten Daten aufgefrischt werden auf einer regulären Zeitbasis, aber nicht, wie bei einer „flüchtigen Speicherzelle" alle wenigen Pikosekunden oder Nanosekunden oder Millisekunden, sondern eher in einem Bereich von Stunden, Tagen, Wochen oder Monaten. Alternativ kann es in einigen Ausgestaltungen auch gar nicht erforderlich sein, die Daten aufzufrischen.
  • Ein Schaltkreis kann ein Hardware-Schaltkreis sein, beispielsweise ein integrierter Schaltkreis, eingerichtet zum Implementieren der jeweiligen Funktionalität oder auch eine programmierbare Einheit wie beispielsweise ein Prozessor, der für die jeweilige Funktionalität programmiert ist. Ein Prozessor kann beispielsweise ein RISC-Prozessor (Reduced Instruction Set Computer) oder ein CISC-Prozessor (Complex Instruction Set Computer) sein. Eine Logik kann beispielsweise implementiert werden mittels eines Schaltkreises.
  • Die elektronische Computereinrichtung 100 kann mehr als zwei Betriebszustände aufweisen, welche definieren, welchen Computerprogrammen es ermöglicht oder erlaubt ist, mittels der elektronischen Computereinrichtung 100 ausgeführt zu werden, beispielsweise mittels des Verarbeitungsschaltkreises 102. Ein Ausführungsbeispiel, in dem drei unterschiedliche Betriebszustände vorgesehen sind, welche auch bezeichnet werden als Ausführungs-Rechteebenen (auch bezeichnet als Ausführungs-Privilegienlevel), wird im Folgenden unter Bezugnahme auf 2 beschrieben.
  • 2 zeigt ein Betriebs-Zustandsdiagramm 200 gemäß einem Ausführungsbeispiel der Erfindung.
  • Drei Betriebszustände werden als ein Beispiel erläutert. Ein erster Betriebszustand wird bezeichnet als Ausführungs-Rechteebene 0 201, ein zweiter Betriebszustand wird bezeichnet als Ausführungs-Rechteebene 1 202, und ein dritter Betriebszustand wird bezeichnet als Ausführungs-Rechteebene 2 203.
  • Für jede Ausführungs-Rechteebene 0 201, 1 202, 2 203 werden die verfügbaren Ressourcen der elektronischen Computereinrichtung 100 erläutert. Eine Ressource der elektronische Computereinrichtung 100 ist verfügbar in einer Ausführungs-Rechteebene 0 201, 1 202, 2 203, wenn auf sie zugegriffen werden darf, beispielsweise in dem Fall, dass die Ressource Daten sind, welche in der elektronischen Computereinrichtung 100 gespeichert sind, wenn sie verwendet werden dürfen von Computerprogrammen, welche in der Ausführungs-Rechteebene ausgeführt werden, beispielsweise in dem Fall, dass die Ressource eine Verarbeitungskomponente ist, oder in dem Fall, dass die Ressource ein Computerprogrammcode ist, die in einem Speicher oder einem Speicherbereich gespeichert ist, wenn das Computerprogramm ausgeführt werden darf. Dies bedeutet, dass abhängig von der Ausführungs-Rechteebene, in welcher sich die elektronische Computereinrichtung 100 aktuell befindet, es Computerprogrammen von bestimmten Speichern oder Speicherbereichen ermöglicht oder erlaubt ist, ausgeführt zu werden, oder eine Ausführung derselben verhindert wird.
  • Dies bedeutet, dass Ressourcen Hardware-Ressourcen sein können, wie beispielsweise Verarbeitungskomponenten oder ein Speicher, aber auch Software-Ressourcen wie Computerprogramme oder Daten.
  • Ressourcen der elektronischen Computereinrichtung 100 können enthalten Auf-dem-Chip(On-chip)-Verarbeitungsressourcen 204, das heißt Verarbeitungskomponenten der elektronischen Computereinrichtung 100, welche Teil sind des Computerchips 101, welcher ein System-Auf-Chip (System an Chip, SoC) bilden kann, wie beispielweise ein Verarbeitungselement 205, welches in diesem Beispiel dem Verarbeitungsschaltkreis 102 entspricht, und einen Sicherheits-Schaltkreis 206. Ressourcen der elektronischen Computereinrichtung 100 können ferner aufweisen einen Auf-dem-Chip(On-chip)-Speicher 207, welcher dem ersten Speicher 103 in 1 entspricht, und einen Außerhalb-des-Chips(Off-chip)-Speicher 208, welcher dem zweiten Speicher 104 entspricht; sie können jedoch auch andere interne oder externe Speicher der elektronischen Computereinrichtung 100 enthalten.
  • Die Ausführungs-Rechteebene 0 201 (in anderen Worten die Ausführungs-Umgebung mit Rechteebene 0) ist anschaulich eine sehr kleine Ausführungsumgebung und ist beispielsweise in ihrer Funktionalität beschränkt auf das Einstellen oder Einrichten des Zugriffsschutzes auf die elektronische Computereinrichtung 100 (diese Funktion ist in 2 mittels eines Blocks 209 dargestellt), womit kryptografische Dienste bereitgestellt werden sowie eine Verwaltung der Sicherheit der elektronischen Computereinrichtung 100. Beispielsweise weist die Funktionalität der Ausführungs-Rechteebene 0 201 eine Laufzeit-Integritätsprüfung auf.
  • In der Ausführungs-Rechteebene 0 201 wird nur der Auf-dem-Chip-Speicher 207 verwendet. Dies bedeutet, dass beispielsweise Sicherheits-Funktionalitäten, welche in der Ausführungs-Rechteebene 0 201 bereitgestellt werden, welche beispielsweise von dem Sicherheits-Schaltkreis 206 bereitgestellt wird, nur den Auf-dem-Chip-Speicher 207 zum Verarbeiten verwenden und dass nur Computerprogramme, deren Code in dem Auf-dem-Chip-Speicher 207 gespeichert sind, ausgeführt werden. Dies bedeutet, dass Computerprogrammen, deren Code in dem Außerhalb-des-Chips-Speichers 208 gespeichert sind, es nicht erlaubt oder ermöglicht ist, ausgeführt zu werden, beispielsweise mittels des Verarbeitungselements 205, wenn die elektronische Computereinrichtung 100 sich in der Ausführungs-Rechteebene 0 201 befindet. In der Ausführungs-Rechteebene 0 201 wird beispielsweise die gesamte Zugriffsschutz-Hardware der elektronischen Computereinrichtung 100 eingestellt oder eingerichtet. Diese Zugriffsschutz-Hardware steuert beispielsweise, welche Ressourcen der elektronischen Computereinrichtung 100 verfügbar sind in den verschiedenen Ausführungs-Rechteebenen 0 201, 1 202, 2 203.
  • Beispielsweise werden kryptografische Funktionalitäten, welche die vertraulichen Daten wie beispielsweise einen geheimen Schlüssel verwenden, in der Ausführungs-Rechteebene 0 201 bereitgestellt. In einem Ausführungsbeispiel sind in der Ausführungs-Rechteebene 0 201 nur Ressourcen der elektronischen Computereinrichtung 100 verfügbar, welche Teil sind des Chips 101. Daher kann die Ausführungs-Rechteebene 0 201 betrachtet werden als eine Auf-dem-Chip-Sicherheits-Umgebung.
  • Die Ausführungs-Rechteebene 0 201 ist beispielsweise die Ausführungs-Umgebung, welche betreten wird, wenn die elektronische Computereinrichtung 100 gestartet wird, das heißt welche eingerichtet oder eingestellt wird während des Hochfahrens des Systems. Das Hochfahren des Systems wird beispielsweise implementiert in einer solchen Weise, dass es Teil ist eines sicheren Hochfahrens, wobei nur kryptografisch authentifizierter Programmcode ausgeführt wird, oder wobei der Programmcode integritätsgeschützt ist. Das sichere Hochfahren ist ein Prozess der Ausführungs-Rechteebene 0 201. Dies bedeutet beispielsweise, dass während des sicheren Hochfahrens nur Programmcode ausgeführt werden darf, der in dem Auf-dem-Chip-Speicher 207 gespeichert ist.
  • Die Zugriffsschutz-Einstellung 209, welche in der Ausführungs-Rechteebene 0 201 ausgeführt wird, weist beispielsweise auf ein Zuordnen von Speichern oder Speicherbereichen (sowohl Auf-dem-Chip als auch Außerhalb-des-Chips) und von Peripherien, oder allgemein von Ressourcen der elektronischen Computereinrichtung 100 zu den Ausführungs-Rechteebenen 0 201, 1 202, 2 203. Sobald sie in dieser Weise konfiguriert ist, gewährleistet eine Zugriffskontrolllogik, welche eine Auf-dem-Chip-Komponente des Computerchips 101 sein kann, oder mittels eines Computerprogramms implementiert sein kann, dessen Code in dem Auf-dem-Chip-Speicher 206 gespeichert ist, das auf die Ressourcen der elektronischen Computereinrichtung 100 nur zugegriffen werden kann in der korrekten Ausführungs-Rechteebene. Beispielsweise kann definiert sein, dass auf den Sicherheits-Schaltkreis, welcher einen geheimen kryptografischen Schlüssel (Wurzel-Schlüssel, Root Key) verwaltet oder hält, nur zugegriffen werden kann in der Ausführungs-Rechteebene 0 201. Der Sicherheits-Schaltkreis 206 kann beispielsweise den geheimen kryptografischen Schlüssel in der Ausführungs-Rechteebene 0 201 verwenden zum Auspacken und Erstellen anderer kryptografischer Schlüssel. Diese anderen kryptografischen Schlüssel können dann geladen werden (beispielsweise in den Auf-dem-Chip-Speicher 207 oder in einen Speicher des Sicherheits-Schaltkreises 206), gesperrt werden (das heißt geschützt werden gegen eine Veränderung in der Ausführungs-Rechteebene 1 202 und der Ausführungs-Rechteebene 2 203). Diese Funktionalität des kryptografischen Schaltkreises 206 in der Ausführungs-Rechteebene 0 201 ist in 2 mittels des Blocks 210 dargestellt. Nachdem die anderen kryptografischen Schlüssel gesperrt (anders ausgedrückt "eingeschlossen") worden sind, kann der Sicherheits-Schaltkreis 206 für die Domäne der Ausführungs-Rechteebene 1 202 freigeben werden, das heißt auf ihn kann nun in der Ausführungs-Rechteebene 1 202 zugegriffen werden. Allgemein kann die Ausführungs-Rechteebene 1 202 Sicherheitsdienste verwenden, welche von der Ausführungs-Rechteebene 0 201 bereitgestellt werden.
  • Die Funktionalität der Zugriffskontrolllogik in der Ausführungs-Rechteebene 1 202 und der Ausführungs-Rechteebene 2 203, das heißt das Verhindern eines Zugriffs auf Ressourcen der elektronischen Computereinrichtung 100 in Ausführungs-Rechteebenen, in welchen der Zugriff nicht erlaubt ist, ist mittels Blöcken 211 in 2 dargestellt.
  • Der Außerhalb-dem-Chip-Speicher 208 kann aufgeteilt sein in Speicherbereiche, welche verfügbar sind abhängig von der aktuellen Ausführungs-Rechteebene 0 201, 1 202, 2 203. In diesem Beispiel ist in einem ersten Speicherbereich 212 des Außerhalb-des-Chips-Speichers 208 Computerprogrammcode gespeichert, welcher ausgeführt werden darf in der Ausführungs-Rechteebene 1 202, welcher jedoch nicht ausgeführt werden darf in der Ausführungs-Rechteebene 0 201. In einem zweiten Speicherbereich 213 ist ein Computerprogrammcode gespeichert, welcher ausgeführt werden darf in der Ausführungs-Rechteebene 2 203, welcher jedoch nicht ausgeführt werden darf in der Ausführungs-Rechteebene 1 202 und der Ausführungs-Rechteebene 0 201. Der Computerprogrammcode 214, welcher ausgeführt werden darf in der Ausführungs-Rechteebene 0 201 ist, wie oben erläutert, in dem Auf-dem-Chip-Speicher 207 gespeichert.
  • In einem dritten Speicherbereich 215 des Außerhalb-des-Chips-Speichers 208 sind Daten gespeichert, auf welche zugegriffen werden darf in der Ausführungs-Rechteebene 0 201 und der Ausführungs-Rechteebene 1 202, auf welche jedoch nicht zugegriffen werden darf in der Ausführungs-Rechteebene 2 203. In einem dritten Speicherbereich 215 des Außerhalb-des-Chips-Speichers 208 sind Daten gespeichert, auf welche in allen drei Ausführungs-Rechteebenen 0 201, 1 202, 2 203 zugegriffen werden darf. Daten, welche in dem Auf-dem-Chip-Speicher 207 gespeichert sind und auf die zugegriffen werden darf in der Ausführungs-Rechteebene 0 201 sind dargestellt in 2 mittels des Blocks 217. Jedoch kann ein Auf-dem-Chip-Speicherbereich 218 vorgesehen sein, in dem Daten gespeichert sind, auf die auch zugegriffen werden darf in der Ausführungs-Rechteebene 1 202, auf die jedoch nicht zugegriffen werden darf in der Ausführungs-Rechteebene 2 203. Programmcode oder Daten, welche in dem Außerhalb-des-Chips-Speichers 208 gespeichert sind, können oder dürfen nicht ausgeführt werden in der Ausführungs-Rechteebene 0 201. Jedoch kann oder können in einem Ausführungsbeispiel der Erfindung Programmcode oder Daten, welche in dem Außerhalb-des-Chips-Speichers 208 gespeichert ist oder sind, in den Auf-dem-Chip-Speicher 207 geladen werden in der Ausführungs-Rechteebene 0 201, jedoch darf der Programmcode nur ausgeführt und die Daten dürfen nur gelesen oder geladen werden, das heißt es darf nur auf sie zugegriffen werden, nachdem der Außerhalb-des-Chips-Speicher 208 einen Test hinsichtlich Integrität und Authentizität bestanden hat.
  • Es ist anzumerken, dass in einem Ausführungsbeispiel der Erfindung ein Unterschied zwischen Daten und Computerprogrammcode sein kann hinsichtlich der Zugriffsrechte der Ausführungs-Rechteebenen 0 201, 1 202, 2 203. Während auf Daten, auf welche zugegriffen werden darf in einer Ausführungs-Rechteebene 0 201, 1 202, 2 203, auch zugegriffen werden darf in jeder beliebigen anderen Ausführungs-Rechteebene, welche sicherer ist, beispielsweise kann auf Daten, auf welche in der Ausführungs-Rechteebene 1 202 zugegriffen werden kann, auch zugegriffen werden in der Ausführungs-Rechteebene 0 201, ist dies nicht der Fall für Computerprogrammcode. Beispielsweise kann es Computerprogrammcode geben, der ausgeführt werden kann in der Ausführungs-Rechteebene 1 202, jedoch kann es nicht erlaubt sein, diesen Computerprogrammcode in der Ausführungs-Rechteebene 0 201 auszuführen; es kann allerdings erlaubt sein, diesen auszuführen in der Ausführungs-Rechteebene 2 203. Dies bedeutet, dass der Computerprogrammcode, für den dessen Ausführung erlaubt ist, hinsichtlich seiner Ausführung eingeschränkt ist, wenn die elektronische Computereinrichtung 100 in eine höhere (das heißt sicherere) Ausführungs-Rechteebene übergeht. In anderen Worten werden im Gegensatz zu anderen Ressourcen der elektronischen Computereinrichtung 100 die Zugriffsrechte hinsichtlich des Computerprogrammcodes reduziert bei einem Übergang zu einer sichereren Ausführungs-Rechteebene. Zum Erreichen der höchsten Sicherheit kann es jedoch in anderen Ausführungsbeispielen (beispielsweise dem oben beschriebenen) nicht erlaubt sein, auf Daten zuzugreifen in einer Ausführungs-Rechteebene, auf welche ebenfalls zugegriffen werden darf in einer Ausführungs-Rechteebene, welche unsicherer ist.
  • Daten, auf welche nur in der Ausführungs-Rechteebene 0 201 zugegriffen werden darf, sind beispielsweise ein geheimer kryptografischer Wurzel-Schlüssel (Root Key), welcher verwendet wird zum Auspacken eines Schlüssels und zum Erstellen anderer kryptografischer Schlüssel, auf welche, wenn sie gesperrt sind, zugegriffen werden darf in der Ausführungs-Rechteebene 1 202.
  • Das Umschalten zwischen den Ausführungs-Rechteebenen 0 201, 1 202, 2 203, welches in 2 mittels der Blöcke 219 dargestellt ist, wird gesteuert von einer Auf-dem-Chip-Komponente oder mittels eines Computerprogramms, dessen Code in dem Auf-dem-Chip-Speicher 207 gespeichert ist. Wie zuvor beschrieben, können Computerprogramme, welche in der Ausführungs-Rechteebene 1 202 ablaufen (deren Code beispielsweise in dem ersten Speicherbereich 212 gespeichert ist) kryptografische Schlüssel verwenden, welche ausgepackt und erstellt worden sind in der Ausführungs-Rechteebene 0 201, jedoch können die Computerprogramme diese kryptografischen Schlüssel nicht extrahieren. Die Computerprogramme, welche in der Ausführungs-Rechteebene 1 202 ablaufen, werden in einem Ausführungsbeispiel vor Software-Angriffen geschützt, beispielsweise mittels Computerprogrammen, welche ausgeführt werden dürfen in der Ausführungs-Rechteebene 2 203, beispielsweise, indem der erste Speichbereich 212 nicht-zugreifbar in der Ausführungs-Rechteebene 2 203 gestaltet wird. Eine Korrektheit und/oder Integritäts-Überprüfung der Computerprogramme, die in dem ersten Speicherbereich 212 gespeichert sind, kann durchgeführt werden zur Zeit des Hochfahrens des Systems oder auch während der Laufzeit des Systems. Beispielsweise kann ein Computerprogramm, welches durchgeführt wird in der Ausführungs-Rechteebene 0 201, eine Laufzeitüberprüfung von Computerprogrammen durchführen, welche in dem ersten Speicherbereich 212 gespeichert sind und in der Ausführungs-Rechteebene 1 202 ausgeführt werden.
  • Das Überprüfen des Computerprogrammcodes von Computerprogrammen der Domäne der Ausführungs-Rechteebene 1 202, das heißt Computerprogramme, welche ausgeführt werden dürfen in der Ausführungs-Rechteebene 1 202, ermöglicht das Erfassen von physikalischen Angriffen auf den Code dieser Computerprogramme, beispielsweise ein Erfassen einer Veränderung des ersten Speicherbereichs 212. Die physikalischen Angriffe auf den Außerhalb-des-Chips-Speicher 208 kompromittieren nicht die Sicherheit der Computerprogramme, welchen es ermöglicht oder erlaubt ist, in der Ausführungs-Rechteebene 0 201 ausgeführt zu werden, da diese Computerprogramme in dem Auf-dem-Chip-Speicher 207 gespeichert sind, und durch eine Änderung des Außerhalb-des-Chips-Speichers 208 nur Computerprogramme geändert werden können, welchen es nicht erlaubt oder ermöglicht ist, in der Ausführungs-Rechteebene 0 201 ausgeführt zu werden. Deshalb ist es beispielsweise nicht möglich, mittels physikalischer Angriffe auf den Außerhalb-des-Chips-Speichers 208 Zugriff zu erlangen auf Komponenten der elektronischen Computereinrichtung 100, auf welche nur zugegriffen werden kann in der Ausführungs-Rechteebene 0 201, da Computerprogramme, welche in dem Außerhalb-des-Chips-Speichers 208 gespeichert sind, sich selbst nicht in die Ausführungs-Rechteebene 0 201 erheben können und daher keinen Zugriff auf Ressourcen haben, welche nur in der Ausführungs-Rechteebene 0 201 verfügbar sind.
  • Verglichen mit Computerprogrammen, welche in der Ausführungs-Rechteebene 0 201 ausgeführt werden, haben Computerprogramme, denen es ermöglicht oder erlaubt ist, in der Ausführungs-Rechteebene 1 202 ausgeführt zu werden, einen beschränkteren Zugriff auf den Sicherheits-Schaltkreis 206. Daten, auf welche zugegriffen werden kann in der Ausführungs-Rechteebene 1 202, können auch in dem Auf-dem-Chip-Speicherbereich 218 gespeichert werden zur Gewährleistung von Vertraulichkeit und zum Verhindern von einfachen Bus-Abhör-Angriffen. In einem Ausführungsbeispiel der Erfindung kann es vorgesehen sein, dass die gesamte Manipulation oder Veränderung von vertraulichen Daten nur erlaubt oder ermöglicht ist in der Ausführungs-Rechteebene 0 201. Auf kryptografische Schlüssel und Daten niedrigerer Sensitivität kann zugegriffen werden in der Ausführungs-Rechteebene 1 202. In der Ausführungs-Rechteebene 2 203 können Computerprogramme, welche in dem zweiten Speicherbereich 213 des Außerhalb-des-Chips-Speicher 208 gespeichert sind, ausgeführt werden. In einem Ausführungsbeispiel der Erfindung wird der zweite Speicherbereich 213 ebenfalls vor Software-Angriffen geschützt mittels einer Zugriffkontrolllogik, aber sie ist auf irgendeine Weise weniger geschützt als der Computerprogrammcode, welcher in dem ersten Speicherbereich 212 gespeichert ist.
  • Indem unterschiedliche Ausführungs-Rechteebenen bereitgestellt werden, kann die Menge oder Größe von Auf-dem-Chip-Speicher 207 minimiert gehalten werden. Beispielsweise sind nur der kritischste Computerprogrammcode und nur die kritischsten Daten gespeichert in dem Auf-dem-Chip-Speicher 207 und auf sie kann nur zugegriffen werden in der Ausführungs-Rechteebene 0 201. In der Ausführungs-Rechteebene 1 202 darf Computerprogrammcode, welcher in einem chipexternen Speicher gespeichert ist, ausgeführt werden, welcher nicht gegen Hardware-Angriffe geschützt ist, von welchem jedoch der kritische Programmcode und die kritischen Daten isoliert sind.
  • Wie in 2 mittels des Blocks 220 dargestellt ist, erhöht sich die Funktionalität und Komplexität der Ausführungs-Rechteebene 0 201 hin zu der Ausführungs-Rechteebene 2 203 über die Ausführungs-Rechteebene 1 202. Andererseits steigt, wie in 2 mittels des Blocks 221 dargestellt, die Sicherheit ausgehend von der Ausführungs-Rechteebene 2 203 hin zu der Ausführungs-Rechteebene 0 201 über die Ausführungs-Rechteebene 1 202.
  • Wie zuvor beschrieben, können in dem Sicherheits-Schaltkreis 206 geheime Daten, wie beispielsweise ein kryptografischer Wurzel-Schlüssel, gespeichert sein. Diese Sicherheit der elektronischen Computereinrichtung 100 kann stark abhängig sein von der Sicherheit und der sicheren Verwendung dieser geheimen Daten. Als ein Maß zum Gewährleisten der sicheren Verwendung der geheimen Daten kann, wie oben beschrieben worden ist, nur Software, welche als sicher betrachtet wird, in diesem Beispiel Computerprogramme, welche in dem Auf-dem-Chip-Speicher 207 gespeichert sind, Zugriff haben auf die geheimen Daten, welche in dem Sicherheits-Schaltkreis 206 gespeichert sind. In einem Ausführungsbeispiel der Erfindung wird diese Software so einfach wie möglich gehalten, da eine hohe Komplexität zu einer Reduktion der Sicherheit der elektronischen Computereinrichtung 100 führen kann. Weniger sichere Software, wie beispielsweise Computerprogramme, denen es erlaubt oder ermöglicht ist, in der Ausführungs-Rechteebene 1 202 und der Ausführungs-Rechteebene 2 203 ausgeführt zu werden, können die Verwendung von Funktionaltäten des Sicherheits-Schaltkreises 206 benötigen zum Beschleunigen einiger Prozesse, beispielsweise zum Beschleunigen einer Entschlüsselung, einer Verschlüsselung oder einer kryptografischen Signierung von Daten. Die weniger sichere Software muss nicht notwendigerweise die geheimen Daten verwenden, welche in dem Sicherheits-Schaltkreis 206 gespeichert sind.
  • Wenn die geheimen Daten beispielsweise ein Wurzel-Schlüssel sind, wie oben beschrieben, können andere kryptografische Schlüssel ausgepackt, beispielsweise aus diesem abgeleitet, werden und in der Ausführungs-Rechteebene 0 201 eingeschlossen werden und die Computerprogramme, welche in der Ausführungs-Rechteebene 1 202 ausgeführt werden, können die anderen kryptografischen Schlüssel verwenden. Im Allgemeinen kann die weniger sichere Software geheime Daten spezifisch für ihre Applikation verwenden (welche beispielsweise irgendwie weniger sicher sind, beispielsweise andere kryptografische Schlüssel), welche abgeleitet sind oder werden von den geheimen Daten, die in dem Sicherheits-Schaltkreis 206 gespeichert sind. In einem Ausführungsbeispiel der Erfindung wird ein Weg bereitgestellt zum Übergeben der abgeleiteten geheimen Daten an die weniger sichere Software und zum Ermöglichen der weniger sicheren Software des Nutzens des Sicherheits-Schaltkreises 206, ohne die geheimen Daten, die in dem Sicherheits-Schaltkreis 206 gespeichert sind, welche im Folgenden auch bezeichnet werden als geheime Wurzel-Daten, beispielsweise einen Wurzel-Schlüssel, zu gefährden oder zu verletzen.
  • Wenn die abgeleiteten geheimen Daten (beispielsweise der andere kryptografische Schlüssel, welcher von dem Wurzel-Schlüssel abgeleitet worden ist) an die weniger sichere Software übergeben werden und die weniger sichere Software die abgeleiteten Daten direkt verwenden können, können die abgeleiteten geheimen Daten ungeschützt sein.
  • Wenn die weniger sichere Software Zugriff auf den Sicherheits-Schaltkreis 206 erhält mittels des Sicherheits-Treibers, dann ist die Chance bzw. das Risiko einer Sicherheitslücke umso größer, je mächtiger die Software (insbesondere je komplexer die Software) ist, welche mit dem Sicherheits-Treiber zusammenwirkt. Wenn der Sicherheits-Schaltkreis 206 verwendet wird in einem Zustand, in dem auf die geheimen Wurzel-Daten, gespeichert in dem Sicherheits-Schaltkreis 206, zugegriffen werden kann, das heißt in der Ausführungs-Rechteebene 0 201, so werden die höchsten Sicherheitsmaßnahmen getroffen, beispielsweise werden Unterbrechungen (Interrupts) während Zugriffen in der Ausführungs-Rechteebene 0 201 deaktiviert und Cache-Speicher werden gelöscht, wenn die Ausführungs-Rechteebene 0 201 verlassen wird, und es kann ein akzeptabler Leistungsfähigkeitsverlust resultieren, wenn die Ausführungs-Rechteebene 0 201 betreten wird, jedes Mal, wenn auf den Sicherheits-Schaltkreis 206 zugegriffen werden soll. Dieser Leistungsfähigkeitsverlust kann auch als ein inakzeptabler Kompromiss der Sensitivität der Daten betrachtet werden, welche aktuell verarbeitet werden, und beispielsweise auch verarbeitet werden können in der Ausführungs-Rechteebene 1 202.
  • Daher werden in einem Ausführungsbeispiel unterschiedliche Zugriffsebenen für die unterschiedlichen Ausführungs-Rechteebenen 0 201, 1 202, 2 203 vorgesehen für den Sicherheits-Schaltkreis 206. Beispielsweise ist in der Ausführungs-Rechteebene 0 201 der Sicherheits-Schaltkreis 206 in einem sicheren Zustand, in dem er beispielsweise einen Wurzel-Schlüssel verarbeiten kann und kryptografische Schlüssel auspacken und/oder von dem Wurzel-Schlüssel ableiten kann oder erstellen kann. Zusätzlich kann der Sicherheits-Schaltkreis 206 einen unsicheren Zustand aufweisen, in welchen er übergeht, wenn die elektronische Computereinrichtung 100 sich in der Ausführungs-Rechteebene 1 202 oder in der Ausführungs-Rechteebene 2 203 befindet, und im welchem Zustand die geheimen Wurzel-Daten von dem Sicherheits-Schaltkreis 206 nicht verarbeitet werden dürfen. Dies ermöglicht es, dass die geheimen abgeleiteten Daten sicher von den geheimen Wurzel-Daten abgeleitet werden und dann der in der Ausführungs-Rechteebene 1 202 oder in der Ausführungs-Rechteebene 2 203 ausgeführten Software übergeben werden, wenn der Sicherheits-Schaltkreis 206 in dem unsicheren Zustand ist.
  • Die abgeleiteten geheimen Daten verlassen niemals den Sicherheits-Schaltkreis 206, sondern werden vorgeladen in der Ausführungs-Rechteebene 0 201 zur Verwendung von der weniger sicheren Software, das heißt von Software, der es erlaubt ist, in der Ausführungs-Rechteebene 1 202 oder in der Ausführungs-Rechteebene 2 203 ausgeführt zu werden. Die weniger sichere Software kann beispielsweise die abgeleiteten geheimen Daten verwenden, kann sie jedoch nicht lesen oder verändern (was ansonsten zu einem Verlust an Sicherheit in einigen Fällen führen könnte). Ferner hat die weniger sichere Software keinen Zugriff auf die geheimen Wurzel-Daten, welche in dem Sicherheits-Schaltkreis 206 gespeichert sind. Eine mögliche Implementierung des Sicherheits-Schaltkreises 206 ist in 3 dargestellt.
  • 3 zeigt einen Sicherheits-Schaltkreis 300 gemäß einem Ausführungsbeispiel der Erfindung.
  • Wie oben beschrieben worden ist, kann der Sicherheits-Schaltkreis 300 in zwei (oder mehr) Sicherheitszuständen betrieben werden. Eine Sicherheits-Zustandslogik 301 steuert, in welchem Zustand der Sicherheits-Schaltkreis 300 sich aktuell befindet. Die Sicherheits-Zustandslogik 301 kann beispielsweise mit der Zugriffs-Steuerungslogik zusammenwirken, wobei die Zugriffs-Steuerungslogik Ressourcen der elektronischen Computereinrichtung steuert, auf welche Ressourcen zugegriffen werden kann in der aktuellen Ausführungs-Rechteebene. Beispielsweise ermittelt die Zugriffs-Steuerungslogik, dass in der aktuellen Ausführungs-Rechteebene auf den Sicherheits-Schaltkreis 300 nur in einem unsicheren Zustand zugegriffen werden kann und instruiert die Sicherheits-Zustandslogik 301, den Sicherheits-Schaltkreis 300 in den unsicheren Zustand umzuschalten. Es wird angenommen, dass der Sicherheits-Schaltkreis 300 einen sicheren Zustand aufweist, in welchem der Sicherheits-Schaltkreis 300 sich beispielsweise befindet, wenn die elektronische Computereinrichtung 100 sich in der Ausführungs-Rechteebene 0 201 befindet und den unsicheren Zustand aufweist, in welchem der Sicherheits-Schaltkreis 300 sich befindet, wenn die elektronische Computereinrichtung 100 sich in der Ausführungs-Rechteebene 1 202 oder in der Ausführungs-Rechteebene 2 203 befindet.
  • Wenn sich der Sicherheits-Schaltkreis 300 in einem sicheren Zustand befindet, kann der Sicherheits-Schaltkreis 300 geheime Wurzel-Daten 302 in einen temporär sicheren Speicher laden, beispielsweise in ein Register eines Verarbeitungsschaltkreises 303 des Sicherheits-Schaltkreises 300. Die Lade-Operation zum Laden der geheimen Daten 302 ist in 3 mittels eines Blocks 304 dargestellt. Die geheimen Wurzel-Daten 302 können auch die Ausgabe eines Zufallszahlengenerators des Sicherheits-Schaltkreises 300 sein.
  • Der Sicherheits-Schaltkreis 303 stellt die kryptografischen Funktionalitäten des Sicherheits-Schaltkreises 300 bereit. Der Zugriff dieser Funktionalitäten kann gesteuert werden mittels eines Zugriffskontroll-Schaltkreises 305, welcher auch nicht Teil des Sicherheits-Schaltkreises 300 sein kann (das heißt er kann extern zu diesem sein) und implementiert sein kann mittels der Zugriffskontrolllogik, welche den Zugriff auf die Ressourcen der oben beschriebenen elektronischen Computereinrichtung 100 steuert. Für die Entscheidung, ob auf den Sicherheits-Schaltkreis 300 zugegriffen werden darf, wird ein Zugriffstyp-Erfassen 306 durchgeführt, wobei beispielsweise ermittelt wird, in welcher Ausführungs-Rechteebene sich die elektronische Computereinrichtung 100 aktuell befindet oder ob sichere Software 307 (welche nur ausgeführt werden darf in der Ausführungs-Rechteebene 0 201) oder unsichere Software 308 (welche beispielsweise ausgeführt wird in der Ausführungs-Rechteebene 1 202) Zugriff auf den Sicherheits-Schaltkreis 300 wünscht.
  • In dem sicheren Zustand kann der Sicherheits-Schaltkreis 300 die geheimen Wurzel-Daten laden und die geheimen Wurzel-Daten verwenden, beispielsweise geheime Wurzel-Daten, welche permanent in dem Sicherheits-Schaltkreis 300 gespeichert sind, und kann Daten, welche von den geheimen Wurzel-Daten abgeleitet sind, laden und verwenden, beispielsweise andere kryptografische Schlüssel, welche von einem kryptografischen Wurzel-Schlüssel abgeleitet worden sind.
  • Der Sicherheits-Schaltkreis 300 geht in den sicheren Zustand über, beispielsweise wenn er ein externes Signal empfängt, beispielsweise von der Zugriffskontrolllogik der elektronischen Computereinrichtung 100, oder wenn ein Zugriff auf den Sicherheits-Schaltkreis 300 existiert, welcher als sicher betrachtet wird, beispielsweise aufgrund der Tatsache, dass die elektronische Computereinrichtung 100 sich in der Ausführungs-Rechteebene 0 210 befindet. Wenn der Sicherheits-Schaltkreis 300 sich in einem sicheren Zustand befindet, wird ein unsicherer Zugriff auf den Sicherheits-Schaltkreis 300 verhindert, beispielsweise mittels der Zugriffskontrolllogik 305 oder, in einer Ausführungsform wird ein unsicherer Zugriff auf den Sicherheits-Schaltkreis 300 erlaubt, wobei jedoch alle sicheren und geheimen Daten in dem Sicherheits-Schaltkreis 300 gelöscht werden (beispielsweise bevor der Zugriff durchgeführt wird). Eine Serie von sicheren Zugriffen auf den Sicherheits-Schaltkreis 300 wird auch als ein sicherer Ausführungsstrang (Thread) bezeichnet.
  • Wenn der Sicherheits-Schaltkreis 300 sich in dem sicheren Zustand befindet, können Unterbrechungssignale (Interrupts) umgeleitet (re-routed) werden mittels eines Unterbrechungs-Routers (Interrupt router) 309 derart, dass nur ein sicherer Software-Treiber unterbrochen werden darf, beispielsweise derart, dass ein Unterbrechungssignal (Interrupt) zu dem Ausführen einer sicheren Unterbrechungsroutine (Interrupt routine) führt. In einem Ausführungsbeispiel schreibt sichere Software, beispielsweise ein Computerprogramm, welches ausgeführt wird in der Ausführungs-Rechteebene 0 201, sobald abgeleitete geheime Daten fertig sind, um weniger sicherer Software übergeben zu werden, ein Bit in dem Sicherheits-Schaltkreis 300, welches es ermöglicht oder erlaubt, dass unsichere Zugriffe auftreten, ohne zu bewirken, dass die abgeleiteten geheimen Daten des Sicherheits-Schaltkreises 300 gelöscht werden. Die sichere Software kann auch ein Bit in dem Sicherheits-Schaltkreis 300 schreiben, welches bewirkt, dass Unterbrechungssignale (Interrupts) zu einem unsicheren Software-Treiber geleitet werden. Dieses Umleiten von Unterbrechungssignalen (Interrupts) zu dem unsicheren Software-Treiber kann auch von dem Sicherheits-Schaltkreis 300 eingestellt werden, wenn er den sicheren Zustand verlässt.
  • In einem Ausführungsbeispiels, in dem unsichere Zugriffe auf den Sicherheits-Schaltkreis 300 nicht vermieden werden, wenn der Sicherheits-Schaltkreis 300 sich in einem sicheren Zustand befindet, aber, wie oben beschrieben, geheime Daten, welche in dem Sicherheits-Schaltkreis gespeichert sind, in dem Fall eines unsicheren Zugriffes gelöscht werden, zeigt der Sicherheits-Schaltkreis 300 diese Sicherheitslücke an mittels einer sicheren Unterbrechungsroutine oder indem ein geschütztes Zustandsbit in dem Sicherheits-Schaltkreis 300 gesetzt wird (welches beispielsweise nur gelöscht werden kann, das heißt zurückgesetzt werden kann, durch einen sicheren Zugriff des Sicherheits-Schaltkreises 300). Dies ermöglicht es, dass sichere Software-Ablaufstränge darauf aufmerksam gemacht werden, dass ein Angriff oder eine Fehlfunktion aufgetreten ist und es werden so genannte „Mann in der Mitte"(man in the middle)-Typ-Angriffe verhindert.
  • Ein Verfahren zum Betreiben eines Datenverarbeitungssystems mit einem Computerchip, welcher einen Verarbeitungsschaltkreis und einen chipinternen ersten Speicher aufweist, und mit einem chipexternen zweiten Speicher, welcher mit dem Computerchip gekoppelt ist, gemäß einem Ausführungsbeispiel der Erfindung ist in 4 dargestellt.
  • 4 zeigt ein Ablaufdiagramm 400 gemäß einem Ausführungsbeispiel der Erfindung.
  • In 401, welcher Schritt entspricht, dass das Datenverarbeitungssystem sich in einem ersten Zustand befindet, wird die Ausführung von Computerprogrammen ermöglicht oder erlaubt von Computerprogrammen, welche in dem ersten Speicher gespeichert sind, und eine Ausführung von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wird verhindert.
  • In 402, welcher Schritt entspricht dem Datenverarbeitungssystem, welches sich in einem zweiten Zustand befindet, wird ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, ermöglicht oder erlaubt.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsbeispiele gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.

Claims (25)

  1. Datenverarbeitungssystem, aufweisend: • einen Computerchip mit einem Verarbeitungsschaltkreis und einem chipinternen ersten Speicher; und • einen chipexternen zweiten Speicher, gekoppelt mit dem Computerchip; • wobei der Verarbeitungsschaltkreis derart eingerichtet ist, dass er ein Ausführen von Computerprogrammen, welche in dem ersten Speicher gespeichert sind, ermöglicht, und derart, dass er ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, verhindert, wenn das Datenverarbeitungssystem sich in einem ersten Zustand befindet, und derart, dass er ein Ausführen von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, ermöglicht, wenn das Datenverarbeitungssystem sich in einem zweiten Zustand befindet.
  2. Datenverarbeitungssystem gemäß Anspruch 1, ferner aufweisend: einen dritten Speicher, in welchem Daten gespeichert sind, wobei der Verarbeitungsschaltkreis derart eingerichtet ist, dass er einen Zugriff auf die Daten ermöglicht, wenn das Datenverarbeitungssystem sich in dem ersten Zustand befindet, und derart, dass er einen Zugriff auf die Daten verhindert, wenn das Datenverarbeitungssystem sich in dem zweiten Zustand befindet.
  3. Datenverarbeitungssystem gemäß Anspruch 2, wobei der dritte Speicher ein chipinterner Speicher ist.
  4. Datenverarbeitungssystem gemäß Anspruch 2 oder 3, wobei die Daten kryptografische Daten sind.
  5. Datenverarbeitungssystem gemäß Anspruch 4, wobei die Daten einen kryptografischen Schlüssel aufweisen.
  6. Datenverarbeitungssystem gemäß einem der Ansprüche 1 bis 5, ferner aufweisend: einen Sicherheits-Schaltkreis, welcher sich in einem ersten Sicherheits-Schaltkreis-Zustand befindet, wenn das Datenverarbeitungssystem sich in dem ersten Zustand befindet, und welcher sich in einem zweiten Sicherheits-Schaltkreis-Zustand befindet, wenn sich das Datenverarbeitungssystem in dem zweiten Zustand befindet.
  7. Datenverarbeitungssystem gemäß Anspruch 6, wobei der Sicherheits-Schaltkreis derart eingerichtet ist, dass er geheime Daten verarbeitet, wenn er sich in dem ersten Sicherheits-Schaltkreis-Zustand befindet, und dass er die geheimen Daten nicht verarbeitet, wenn er sich in dem zweiten Sicherheits-Schaltkreis-Zustand befindet.
  8. Datenverarbeitungssystem gemäß Anspruch 7, wobei der Sicherheits-Schaltkreis eingerichtet ist zum Ermöglichen eines Zugriffs auf die verarbeiteten geheimen Daten, wenn er sich in dem zweiten Sicherheits-Schaltkreis-Zustand befindet.
  9. Datenverarbeitungssystem gemäß Anspruch 6 bis 8, wobei der Sicherheits-Schaltkreis eingerichtet ist derart, dass er einen Zugriff auf die geheimen Daten nicht erlaubt, wenn er sich in dem zweiten Sicherheits-Schaltkreis-Zustand befindet.
  10. Datenverarbeitungssystem gemäß einem der Ansprüche 1 bis 9, wobei der zweite Speicher geschützt ist gegen Software-Angriffe.
  11. Datenverarbeitungssystem gemäß einem der Ansprüche 1 bis 10, wobei der Verarbeitungsschaltkreis eingerichtet ist derart, dass er ein Steuerungs-Computerprogramm ausführt, welches steuert, ob Computerprogramme, welche in dem ersten Speicher gespeichert sind, und/oder Computerprogramme, welche in dem zweiten Speicher gespeichert sind, ausgeführt werden dürfen.
  12. Datenverarbeitungssystem gemäß Anspruch 11, wobei der Code des Steuer-Computerprogramms in dem ersten Speicher gespeichert ist.
  13. Datenverarbeitungssystem gemäß einem der Ansprüche 1 bis 12, wobei der Computerchip ein System-auf-Chip implementiert, welches den Verarbeitungsschaltkreis und den ersten Speicher aufweist.
  14. Elektronische Computereinrichtung, mit einem Datenverarbeitungssystem gemäß einem der Ansprüche 1 bis 13.
  15. Elektronische Datenverarbeitungseinrichtung gemäß Anspruch 14, wobei die elektronische Computereinrichtung eingerichtet ist als eine mobile elektronische Computereinrichtung.
  16. Elektronische Computereinrichtung gemäß Anspruch 15, wobei die elektronische Computereinrichtung eingerichtet ist als eine mobile Kommunikationseinrichtung.
  17. Datenverarbeitungssystem, aufweisend: • einen Computerchip mit einem Verarbeitungsschaltkreis und einem chipinternen ersten Speicher; • einen chipexternen zweiten Speicher, gekoppelt mit dem Computerchip; und • einen Zugriffs-Steuerungsschaltkreis, eingerichtet zum Gewähren oder Verweigern eines Zugriffs auf Ressourcen des Datenverarbeitungssystems abhängig davon, ob der Zugriff angefordert wurde von einem Computerprogramm, dessen Code in dem ersten Speicher gespeichert ist, oder von einem Computerprogramm, dessen Code in dem zweiten Speicher gespeichert ist.
  18. Verfahren zum Betreiben eines Datenverarbeitungssystems, welches einen Computerchip aufweist mit einem Verarbeitungsschaltkreis und einem chipinternen ersten Speicher, sowie einen chipexternen zweiten Speicher, welcher gekoppelt ist mit dem Computerchip, wobei das Verfahren aufweist: • Ermöglichen eines Ausführens von Computerprogrammen, welche in dem ersten Speicher gespeichert sind, und Verhindern eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem sich in einem ersten Zustand befindet; und • Ermöglichen eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn sich das Datenverarbeitungssystem in einem zweiten Zustand befindet.
  19. Verfahren gemäß Anspruch 18, wobei das Datenverarbeitungssystem ferner einen dritten Speicher aufweist, in welchem Daten gespeichert sind, und wobei das Verfahren ferner aufweist: • Ermöglichen eines Zugriffs auf die Daten, wenn das Datenverarbeitungssystem sich in dem ersten Zustand befindet; und • Verhindern eines Zugriffs auf die Daten, wenn das Datenverarbeitungssystem sich in dem zweiten Zustand befindet.
  20. Verfahren gemäß Anspruch 19, wobei der dritte Speicher ein chipinterner Speicher ist.
  21. Verfahren gemäß Anspruch 19 oder 20, wobei die Daten kryptografische Daten sind.
  22. Verfahren gemäß einem der Ansprüche 19 bis 21, wobei die Daten einen kryptografischen Schlüssel aufweisen.
  23. Verfahren gemäß einem der Ansprüche 18 bis 22, ferner aufweisend: Schützen des zweiten Speichers gegen Software-Angriffe.
  24. Verfahren zum Betreiben eines Datenverarbeitungssystems, welches einen Computerchip aufweist mit einem Verarbeitungsschaltkreis und einem chipinternen ersten Speicher, sowie einen chipexternen zweiten Speicher, welcher gekoppelt ist mit dem Computerchip, wobei das Verfahren aufweist: Gewähren oder Verweigern eines Zugriffs auf Ressourcen des Datenverarbeitungssystems abhängig davon, ob der Zugriff angefordert wird von einem Computerprogramm, dessen Code in dem ersten Speicher gespeichert ist, oder von einem Computerprogramm, dessen Code in dem zweiten Speicher gespeichert ist.
  25. Computerprogrammcode, welches, wenn es ausgeführt wird von einem Datenverarbeitungssystem mit einem Computerchip, welcher einen Verarbeitungsschaltkreis und einen chipinternen ersten Speicher aufweist, und einen chipexternen zweiten Speicher, welcher gekoppelt ist mit dem Computerchip, das Datenverarbeitungssystem dazu bringt, folgendes Verfahren auszuführen: • Ermöglichen eines Zugriffs auf Computerprogramme, welche in dem ersten Speicher gespeichert sind, und Verhindern eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem sich in einem ersten Zustand befindet; und • Ermöglichen eines Ausführens von Computerprogrammen, welche in dem zweiten Speicher gespeichert sind, wenn das Datenverarbeitungssystem sich in einem zweiten Zustand befindet.
DE102008050631A 2007-12-14 2008-10-07 Datenverarbeitungssystem Ceased DE102008050631A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/956,789 US20090158011A1 (en) 2007-12-14 2007-12-14 Data processing system
US11/956,789 2007-12-14

Publications (1)

Publication Number Publication Date
DE102008050631A1 true DE102008050631A1 (de) 2009-06-18

Family

ID=40680215

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008050631A Ceased DE102008050631A1 (de) 2007-12-14 2008-10-07 Datenverarbeitungssystem

Country Status (2)

Country Link
US (1) US20090158011A1 (de)
DE (1) DE102008050631A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2075696A3 (de) * 2007-05-10 2010-01-27 Texas Instruments Incorporated Unterbrechungsbedingte Schaltkreise, Systeme und Verfahren
DE102008010864A1 (de) * 2008-02-25 2009-08-27 Endress + Hauser Process Solutions Ag Verfahren zum Betreiben eines Feldgerätes
FR2932937B1 (fr) * 2008-06-24 2011-02-11 Alcatel Lucent Routeur associe a un dispositif securise.
KR20120068611A (ko) * 2010-12-17 2012-06-27 한국전자통신연구원 공간 연동을 통한 보안 상황 인지와 상황 정보 생성 장치 및 방법
TWI633458B (zh) * 2014-02-25 2018-08-21 美商凱為公司 用於對受保護的硬體資源的軟體啟用接入的半導體和電腦
US10409967B2 (en) * 2015-06-16 2019-09-10 HAH, Inc. Method and system for control of computing devices

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6068441A (ja) * 1983-09-22 1985-04-19 Fujitsu Ltd ワンチツプ・マイクロ・コンピユ−タ
US6339815B1 (en) * 1998-08-14 2002-01-15 Silicon Storage Technology, Inc. Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space
US6505279B1 (en) * 1998-08-14 2003-01-07 Silicon Storage Technology, Inc. Microcontroller system having security circuitry to selectively lock portions of a program memory address space
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
JP2001306400A (ja) * 2000-04-21 2001-11-02 Sharp Corp 半導体記憶装置、その制御装置、および電子機器
DE10126281A1 (de) * 2001-05-29 2002-12-12 Infineon Technologies Ag Programmgesteuerte Einheit
JP4945053B2 (ja) * 2003-03-18 2012-06-06 ルネサスエレクトロニクス株式会社 半導体装置、バスインターフェース装置、およびコンピュータシステム
DE102005021064B4 (de) * 2005-05-06 2008-10-16 Siemens Ag Verfahren und Vorrichtung zum Schutz gegen Buffer Overrun-Attacken
US8713667B2 (en) * 2005-07-08 2014-04-29 Hewlett-Packard Development Company, L.P. Policy based cryptographic application programming interface in secure memory
US8190861B2 (en) * 2006-12-04 2012-05-29 Texas Instruments Incorporated Micro-sequence based security model
US7827371B2 (en) * 2007-08-30 2010-11-02 Intel Corporation Method for isolating third party pre-boot firmware from trusted pre-boot firmware
US7725663B2 (en) * 2007-10-31 2010-05-25 Agere Systems Inc. Memory protection system and method

Also Published As

Publication number Publication date
US20090158011A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE112009002502B4 (de) Multilayer inhalte-schützender Mikrocontoller
DE102008006759B4 (de) Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit
DE10394383B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE112005003340B4 (de) Mechanismus zum Bestimmen der Vertrauenswürdigkeit von Außerbandverwaltungsagenten
DE102012215196A1 (de) Schützen von Anwendungsprogrammen vor zerstörerischer Software oder Malware
DE112011102876T5 (de) Ressourcenverwaltungs- und Sicherheitssystem
DE102008050631A1 (de) Datenverarbeitungssystem
DE102014002181B4 (de) Chip und Verfahren zum Betreiben eines Chips
DE102011081421A1 (de) System zur sicheren Übertragung von Daten und Verfahren
DE102018132970A1 (de) Verfahren und Vorrichtung zur Isolation von sensiblem nichtvertrauenswürdigem Programmcode auf mobilen Endgeräten
DE102014208855A1 (de) Verfahren zum Durchführen einer Kommunikation zwischen Steuergeräten
DE102014208851A1 (de) Verfahren zum Verhindern eines unbefugten Betriebs eines Kraftfahrzeugs
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
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
DE112019007421T5 (de) Speichergerät mit sicherer testmoduseingabe
DE60017438T2 (de) System zur betriebsmittelzugriffsteuerung
DE102014208848A1 (de) Verfahren zum Überwachen eines elektronischen Sicherheitsmoduls
DE102021110768B3 (de) Forensik-Modul und eingebettetes System
DE102014208853A1 (de) Verfahren zum Betreiben eines Steuergeräts
DE102021110766B3 (de) Forensik-Modul und eingebettetes System
DE102019121577A1 (de) Mindern von seitenkanalattacken unter verwendung von executable-only-speicher (xom)
DE102007005637B4 (de) Computereinrichtung, Kommunikationseinrichtung und Verfahren zum Betreiben einer Computereinrichtung
DE102015207004A1 (de) Verfahren zum geschützten Zugriff auf Sicherheitsfunktionen eines Sicherheitsmoduls eines Hostsystems
WO2019166398A1 (de) Computerprogramm, insbesondere für ein steuergerät eines kraftfahrzeugs

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021100000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021100000

Effective date: 20130201

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final