DE102010029061A1 - Verfahren und Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne - Google Patents

Verfahren und Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne Download PDF

Info

Publication number
DE102010029061A1
DE102010029061A1 DE102010029061A DE102010029061A DE102010029061A1 DE 102010029061 A1 DE102010029061 A1 DE 102010029061A1 DE 102010029061 A DE102010029061 A DE 102010029061A DE 102010029061 A DE102010029061 A DE 102010029061A DE 102010029061 A1 DE102010029061 A1 DE 102010029061A1
Authority
DE
Germany
Prior art keywords
processor
secure
domain
instruction
branch
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.)
Withdrawn
Application number
DE102010029061A
Other languages
English (en)
Inventor
Jae-Chul Park
Heon-Soo Lee
Dong-Jin Park
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102010029061A1 publication Critical patent/DE102010029061A1/de
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2105Dual mode as a secondary aspect

Landscapes

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

Abstract

Eine Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne, die anhand eines Sicherungsbits bestimmt, ob eine Ausführungsumgebung in einer sicheren Domäne oder in einer unsicheren Domäne sein soll, umfasst einen Sicherungsmonitor (115), der dazu ausgebildet ist, einen Verzweigungsbefehl zu erzeugen, wenn ein Aufruf eines sicheren Codes detektiert wird, das Sicherungsbit zu setzen, wenn der Verzweigungsbefehl erfolgreich ausgeführt worden ist, und das Sicherungsbit zurückzusetzen, wenn die Ausführung des sicheren Codes beendet ist, einen Befehlsbypaß-Nur-Lesespeicher(ROM) (125), der dazu ausgebildet ist, den Verzweigungsbefehl von dem Sicherungsmonitor zu empfangen, und einen Prozessor (110), der dazu ausgebildet ist, den Verzweigungsbefehl auszuführen, der aus dem Befehlsbypaß-ROM (125) abgerufen ist.

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Bereitstellen einer plattformunabhängigen sicheren Domäne und ein computerlesbares Aufzeichnungsmedium. Insbesondere betreffen Ausführungsformen ein Verfahren und eine Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne, die dazu ausgebildet sind, eine Ausführungsumgebung von einer sicheren Domäne in eine unsichere Domäne umzuwandeln in Abhängigkeit davon, ob ein Sicherungsbit gesetzt ist, wenn ein nach dem Zufallsprinzip erzeugter Verzweigungsbefehl erfolgreich ausgeführt ist.
  • Da auf tragbaren Geräten, wie Mobiltelefonen oder PDAs (Personal Digital Assistant) ausgeführte Anwendungen zunehmend sensible Daten mit Sicherheitsanspruch verarbeiten, z. B einen Chiffrierschlüssel, ein Zertifikat, eine International Mobile Equipment Identity (IMEI), ein SIMLock usw., nehmen die Arten und/oder das Ausmaß von Angriffen, die die Sicherheit von mobilen Geräten bedrohen, ebenfalls zu.
  • In der Regel wird Software eines mobilen Geräts mit einem Prozessor als Anwendung und Betriebssystem (OS) klassifiziert. Das OS steuert für gewöhnlich Systemeinrichtungen oder disponiert die Ausführung von Anwendungen, wodurch die Anwendung mit der Hardware verbunden wird und das gesamte System verwaltet wird. Auf diese Weise spielt das OS allgemein eine signifikante Rolle beim Betrieb eines mobilen Geräts.
  • Um den Betrieb des OS zu schützen, stellt der Prozessor in der Regel einen Privilegierungsmodus für das OS bereit, der sich von einem Benutzerprogrammmodus unterscheidet.
  • Jedoch, selbst wenn ein OS-Kern im OS-Privilegierungssystem geschützt ist, wenn ein Sicherheitsmangel im OS vorliegt, ist der OS-Kern nutzlos. Altzweck-OS, die typischerweise verwendet werden, weisen viele Sicherheitsmängel auf. Es wird jedoch wegen der Bequemlichkeit bei den Anwendungen in der Regel keine strenge Sicherheitspolitik angewendet. Dementsprechend ist bei solchen Anwendungen, die in Altzweck-OS ausgeführt werden, die Datensicherheit schwer zu garantieren.
  • Um eine Verbesserung bei der Datensicherheit zu erreichen, muss ein sicher ausgelegtes Altzweck-OS verwendet werden oder sicherheitsrelevante Daten können in einer unabhängigen Ausführungsumgebung separat verarbeitet werden. Das erste Verfahren, das ein exklusives OS bei einem Allzweckgerät anwendet, ist in Hinblick auf Kosten und Benutzerfreundlichkeit nicht geeignet.
  • Das zweite Verfahren zum separaten Verarbeiten von sicherheitsrelevanten Daten in einer unabhängigen Ausführungsumgebung kann dadurch effektiv sein, dass vorhandene OS und vorhandene Anwendungen verwendet werden. Die Funktionen des OS müssen jedoch modifiziert werden, es muss ein vorgegebener Prozessorkern verwendet werden oder es ist schwierig, einen Schaltkreis zum Analysieren einer Softwareabfolgestruktur auszulegen, was zeitaufwändig ist.
  • Die Erfindung liegt die technische Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zum Bereitstellen einer plattformunabhängigen sicheren Domäne und ein computerlesbares Aufzeichnungsmedium zum Bereitstellen von Datensicherheit zur Verfügung zu stellen, die z. B. ungeachtet der Art eines Prozessors oder der Struktur eines Busses in verschiedenen Allzweckplattformen anwendbar sind, die Zeit zum Entwickeln eines Chipsystems (SoC, System an Chip) zum Minimieren von Modifikationen eines OS zu minimieren und eine unabhän gige Sicherheitsumgebung zu minimieren, in der sicherheitsrelevante Daten behandelt werden.
  • Die Erfindung löst diese Aufgabe dadurch, dass sie eine Vorrichtung mit den Merkmalen des Anspruch 1, ein Verfahren mit den Merkmalen des Anspruch 13 und ein computerlesbares Aufzeichnungssystem mit den Merkmalen des Anspruch 20 zur Verfügung stellt.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen angeführt, deren Wortlaut hiermit durch Bezugnahme zum Inhalt der Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.
  • Ausführungsformen sind daher auf Verfahren und Vorrichtungen zum Bereitstellen einer plattformunabhängigen sicheren Domäne gerichtet, die eines oder mehrere der Probleme, die auf Einschränkungen und Nachteilen im Stand der Technik beruhen, im Wesentlichen überwinden.
  • Es ist daher ein Merkmal einer Ausführungsform, ein Verfahren zum Umschalten zwischen einer sicheren Domäne und einer unsicheren Domäne zur Verfügung zu stellen, das nicht von der Art des Prozessors, der Art des Betriebssystems oder der Struktur eines Busses abhängig ist, und auf diese Weise bei Allzweckbetriebssystemen oder Allzweckplattformen ungeachtet der Plattform angewendet werden kann, wodurch sich die Zeit zum Auslegen eines Chipsystems (SoC) verringert.
  • Es ist daher ein anderes Merkmal einer Ausführungsform, eine plattformunabhängige sichere Domäne bereitzustellen, die dazu ausgebildet ist, dass von einer sicheren Domäne in eine unsichere Domäne umgewandelt wird, ungeachtet der Art des Prozessors, der Art des Betriebssystems oder der Struktur eines Busses, und auf diese Weise bei Allzweckbetriebssystemen oder Allzweckplattformen ungeachtet der Plattform angewendet werden kann, wodurch sich die Zeit zum Auslegen eines Chipsystems (SoC) verringert.
  • Es ist daher ein anderes Merkmal einer Ausführungsform, eine sichere Domäne bereitzustellen, die nicht von der Art des Prozessors, der Art des Betriebssystems oder der Struktur eines Busses abhängig ist, und auf diese Weise bei Allzweckbetriebssystemen oder Allzweckplattformen ungeachtet der Plattform angewendet werden kann, wodurch sich die Zeit zum Auslegen eines Chipsystems (SoC) verringert.
  • Es ist daher ein anderes Merkmal einer Ausführungsform, eine Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne zur Verfügung zu stellen, bei der eine Funktion eines Prozessors nicht modifiziert ist, und auf diese Weise ein Betriebssystem schnell entwickelt und inspiziert werden kann.
  • Vorteilhafte Ausführungsformen der Erfindung, wie sie unten ausführlich beschrieben werden, sind in den Zeichnungen dargestellt, in denen:
  • 1 ein Blockdiagramm einer beispielhaften Ausführungsform einer Ausführungsumgebung zeigt, die in eine sichere Domäne und eine unsichere Domäne unterteilt ist,
  • 2 eine beispielhafte Ausführungsform eines Blockdiagramms einer Vorrichtung zum Bereitstellen einer sicheren Domäne zeigt,
  • 3 ein schematisches Diagramm einer weiteren beispielhaften Ausführungsform einer Vorrichtung zum Bereitstellen einer sicheren Domäne zeigt,
  • 4 ein schematisches Diagramm einer beispielhaften Ausführungsform einer Umwandlung einer Ausführungsumgebung der Vorrichtung zum Bereitstellen einer sicheren Domäne der 2 und 3 von einer sicheren Domäne in eine unsichere Domäne zeigt,
  • 5 ein Taktdiagramm einer beispielhaften Ausführungsform einer Betriebsweise eines Sicherungsmonitors der Vorrichtung zum Bereitstellen einer sicheren Domäne der 2 und 3 zeigt,
  • 6 ein Flussdiagramm eines beispielhaften Verfahrens zum Bereitstellen einer sicheren Domäne zeigt und
  • 7 ein Flussdiagramm eines beispielhaften Verfahrens zum Bereitstellen einer sicheren Domäne und Umwandeln einer Ausführungsumgebung von einer sicheren Domäne in eine unsichere Domäne zeigt.
  • Die koreanische Patentanmeldung Nr. 10-2009-0043095 , eingereicht am 18. Mai 2009 beim koreanischen Patentamt mit dem Titel: ”Method and Apparatus for Providing Platform Independent Secure Domain” wird durch Bezugnahme insgesamt zum Bestandteil der vorliegenden Beschreibung gemacht.
  • In den Figuren der Zeichnungen können zur Verdeutlichung der Darstellung die Abmessungen von Schichten und Bereichen übertrieben dargestellt sein. Es versteht sich ebenso, dass, wenn ein Element als ”zwischen” zwei Elementen bezeichnet ist, es das einzige Element zwischen den beiden Elementen sein kann oder ein oder mehrere dazwischen liegende Elemente ebenso vorhanden sein können. Gleiche Bezugszeichen bezeichnen gleiche Elemente in der Beschreibung.
  • 1 stellt ein Blockdiagramm einer beispielhaften Ausführungsform einer Ausführungsumgebung dar, die in eine sichere Domäne und eine unsichere Domäne unterteilt sein kann.
  • Mit Bezug zu 1 kann die Ausführungsumgebung einer Anwendung in eine sichere Domäne und eine unsichere Domäne unterteilt sein. Die sichere Domäne kann einen sicheren Master 20 und einen Slave 40 des sicheren Bereichs umfassen. Die unsichere Domäne kann einen unsicheren Master 30 und einen Slave 50 des unsicheren Bereichs umfassen. Ein Prozessor 10 kann mit der unsicheren Domäne und der sicheren Domäne kommunizieren. Ein Hauptbus kann einen Kommunikationspfad zwischen dem Prozessor 10 und Elementen der unsicheren Domäne und der sicheren Domäne bereitstellen. Insbesondere kann z. B. der Hauptbus einen Kommunikationspfad zwischen dem Prozessor 10, dem sicheren Master 20, dem unsicheren Master 30, dem Slave 40 des sicheren Bereichs und dem Slave 50 des unsicheren Bereichs bereitstellen.
  • Ein Allzweckbetriebssystem kann Anwendungen, die sensible sicherheitsrelevante Daten handhaben, von anderen Anwendungen nicht streng trennen. Sensible sicherheitsrelevante Daten können z. B. einen Chiffrierschlüssel, ein Zertifikat, eine International Mobile Equipment Identity (IMEI), ein SIMLock usw. beinhalten. Sensible sicherheitsrelevante Daten können auf einem hohen Sicherheitsniveau verarbeitet werden, um ein Aufrechterhalten der Sicherheit zu unterstützen. Ein Allzweckbetriebssystem kann jedoch Anwendungen, die sensible sicherheitsrelevante Daten handhaben, von anderen Anwendungen nicht trennen, weil eine Verarbeitung auf höheren Sicherheitsniveaus z. B. die Leistung einer Anwendung beeinträchtigen oder verlang samen und/oder für einen Benutzer unbequem sein kann. Wenn daher ein Allzweckbetriebssystem eingesetzt wird, kann es schwierig sein, die Sicherheit von sicherheitsrelevanten Daten zu garantieren.
  • Um Stabilität beim Handhaben von sicherheitsrelevanten Daten zu erreichen, kann eine Ausführungsumgebung in eine sichere Domäne und in eine unsichere Domäne unterteilt sein. Ein sicherer Code, der sicherheitsrelevante sensible Daten beinhaltet, z. B. einen Schlüssel, ein Zertifikat, eine IMEI, ein SIMLock usw., und ein Programm zum Verarbeiten der sicherheitsrelevanten Daten können in der sicheren Domäne ausgeführt werden. Ein unsicherer Code, der nicht sicherheitsrelevant ist, kann in der unsicheren Domäne ausgeführt werden.
  • In hierin beschriebenen beispielhaften Ausführungsformen kann angenommen sein, dass eine Ausführungsumgebung in eine sichere Domäne und in eine unsichere Domäne aufgeteilt ist, um sicherheitsrelevante Daten zu schützen. Ausführungsformen können eine Umwandlung der Ausführungsumgebung von einer unsicheren Domäne in eine sichere Domäne unter Verwendung von Hardware, ungeachtet der Art des Prozessors und/oder der Art des Betriebssystems ermöglichen. Insbesondere, z. B., wenn ein Aufruf eines sicheren Codes detektiert ist, kann eine Ausführungsumgebung einer Anwendung in eine sichere Domäne umgewandelt werden, so dass der sichere Code in der geschützten sicheren Domäne ausgeführt werden kann, z. B. einer separaten sichereren Domäne zum Ausführen des sicheren Codes.
  • Die unsichere Domäne kann einer Umgebung entsprechen, in der eine Anwendung ausgeführt werden kann, die keine sicherheitsrelevanten Daten umfasst. Mit Bezug zu 1 können der Prozessor 10, wenn er keinen sicheren Code ausführt, und der unsichere Master 30 nicht auf die sichere Domäne zugreifen. Wenn der Prozessor 10 kei nen sicheren Code ausführt, kann der Prozessor 10 auf den unsicheren Bereich 50 zugreifen und kann daran gehindert sein, auf den sicheren Bereich 40 zuzugreifen. Insbesondere, wenn der Prozessor 10 keinen sicheren Code ausführt, können der Prozessor 10 und der unsichere Master 30 daran gehindert sein, auf den sicheren Bereich 40 zuzugreifen.
  • Die sichere Domäne kann einer Domäne entsprechen, in der eine Anwendung mit sicherheitsrelevanten Daten ausgeführt werden kann. Mit Bezug zu 1 können der sichere Master 20 und der Prozessor 10, während ein sicherer Code ausgeführt wird, über den Hauptbus sowohl auf den sicheren Bereich 40 wie den unsicheren Bereich 50 zugreifen. Der sichere Master 20 und der Prozessor 10 können während ein sicherer Code ausgeführt wird ohne Einschränkungen auf den sicheren Bereich 40 und den unsicheren Bereich 50 zugreifen.
  • Der sichere Bereich 40 und der unsichere Bereich 50 können Slave-Bereiche sein, in denen in Abhängigkeit davon, ob sicherheitsrelevante Daten enthalten sind, eine physikalische Adresse getrennt werden kann. Der sichere Bereich 40 und der unsichere Bereich 50 können Speichereinrichtungen umfassen, die verschiedene Daten speichern können, z. B. einen Speicher mit wahlfreiem Zugriff (Random Access Memory RAM), einen Nur-Lese-Speicher (Read Only Memory ROM), einen Flash-Speicher (FM) und einen elektrisch löschbaren und programmierbaren Nur-Lese-Speicher (Electrically Erasable and Programmable Read Only Memory EEPROM) oder eine magnetische Aufzeichnungsvorrichtung (z. B. Hard Disk Drive HDD).
  • 2 stellt eine beispielhafte Ausführungsform eines Blockdiagramms einer Vorrichtung zum Bereitstellen einer sicheren Domäne dar.
  • Mit Bezug zu 2 kann die Vorrichtung zum Bereitstellen einer sicheren Domäne einen Prozessor 110, einen Sicherungsmonitor 115, einen Befehlsbypaß-ROM 125, einen Adressdecodierer 135 und einen Zugriffsbeschränker 145 (Slave-Firewall (FW)) umfassen.
  • Die Vorrichtung zum Bereitstellen einer sicheren Domäne kann in Abhängigkeit von interaktiven Operationen des Prozessors 110, des Sicherungsmonitors 115 und des Befehlsbypaß-ROM 125 ein Sicherungsbit (SB) setzen/zurücksetzen und kann dadurch bestimmen, dass eine Ausführungsumgebung in einer sicheren Domäne oder in einer unsicheren Domäne sein soll.
  • Der Prozessor 110 kann eine Berechnungseinheit umfassen, die verschiedene Anwendungen ausführt. Insbesondere kann der Prozessor 110 verschiedene Anwendungen zum Durchführen von Softwarebefehlen ausführen, wobei ein sicherer Code mit sicherheitsrelevanten Daten in der sicheren Domäne ausgeführt wird und ein unsicherer Code ohne sicherheitsrelevante Daten in der unsicheren Domäne ausgeführt wird usw.
  • Der Sicherungsmonitor 115 kann den Befehl, den der Prozessor 110 ausführt, überwachen und kann ein Sicherungsbit SB setzen/zurücksetzen, um eine Ausführungsumgebung von einer unsicheren Domäne in eine sichere Domäne umzuwandeln. Die sichere Domäne kann einer Umgebung entsprechen, in der das Sicherungsbit SB gesetzt ist, und die unsichere Domäne kann einer Umgebung entsprechen, in der das Sicherungsbit SB zurückgesetzt ist.
  • Der Befehlsbypaß-ROM 125 kann ein ROM sein, der einem Speicherbereich entspricht, aus dem der Prozessor 110 Befehle abrufen kann, die vom Sicherungsmonitor 115 erzeugt sind. Insbesondere kann der Befehlsbypaß-ROM 125 z. B. ein festverdrahteter ROM sein, der nicht von einem Programm abhängig ist. Die vom Sicherungsmonitor 115 erzeugten Befehle können im Befehlsbypaß-ROM 125 gespeichert sein. Der Prozessor 110 kann im Befehlsbypaß-ROM 125 gespeicherte Befehle abrufen und kann die abgerufenen Befehle ausführen.
  • Der Sicherungsmonitor 115 kann einen Verzweigungsbefehl erzeugen, wenn der Prozessor 110 einen sicheren Code aufruft, und kann den Verzweigungsbefehl für den Befehlsbypaß-ROM 125 bereitstellen. Der Sicherungsmonitor 115 kann überwachen, ob der Prozessor 110 den Verzweigungsbefehl abruft und ihn erfolgreich ausführt. Der Sicherungsmonitor 115 kann ein Sicherungsbit SB setzen, wenn der Verzweigungsbefehl vom Prozessor 110 erfolgreich ausgeführt worden ist, und kann dadurch die Ausführungsumgebung in eine sichere Domäne umwandeln. Wenn die Ausführung des sicheren Codes in der sicheren Domäne beendet ist, kann das Sicherungsbit SB zurückgesetzt werden. Zurücksetzen des Sicherungsbits kann damit die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umwandeln.
  • Nachfolgend werden Komponenten der Vorrichtung zum Bereitstellen einer sicheren Domäne und ihre Funktionen ausführlich beschrieben.
  • Der Sicherungsmonitor 115 kann eine Monitorsteuereinheit 112, einen Zufallszahlengenerator 114 und eine Spezial-Funktions-Register(SFR)-Bank 116 umfassen.
  • Die Monitorsteuereinheit 112 kann eine Operation des Prozessors 110 überwachen und kann ein Sicherungsbit SB erzeugen. Die Monitorsteuereinheit 112 kann eine Operation des Prozessors 110 überwachen und kann bestimmen, ob der Prozessor 110 einen sicheren Code aufgerufen hat.
  • Der Zufallszahlengenerator 114 kann einen Verzweigungsoffset nach dem Zufallsprinzip erzeugen. Wenn vom Prozessor 110 ein sicherer Code aufgerufen ist, kann der Zufallszahlengenerator 114 zufällig einen Verzweigungsoffset erzeugen und kann den nach dem Zufallsprinzip erzeugten Verzweigungsoffset der Monitorsteuereinheit 112 bereitstellen.
  • Die Monitorsteuereinheit 112 kann den zufällig erzeugten Verzweigungsoffset verwenden und kann einen Verzweigungsbefehl erzeugen. Die Monitorsteuereinheit 112 kann den erzeugten Verzweigungsbefehl dem Befehlsbypaß-ROM 125 bereitstellen.
  • Der Befehlsbypaß-ROM 125 kann ein festverdrahteter ROM sein, der verschiedene Arten von Befehlen speichert, die vom Sicherungsmonitor 115 empfangen worden sind. Der Befehlsbypaß-ROM 125 kann einen Verzweigungsbereich 122 und einen Umgebungssetzbereich 124 umfassen. Der Umgebungssetzbereich 124 kann einen Umgebungssetzbefehl speichern. Der Verzweigungsbereich 122 kann dazu ausgebildet sein, den von der Monitorsteuereinheit 112 erzeugten Verzweigungsbefehl zu speichern.
  • Die Spezial-Funktions-Register(SFR)-Bank 116 kann außerdem einen Umgebungssetzbefehl bezüglich der sicheren Domäne speichern. Der Umgebungssetzbereich 124 kann dazu ausgebildet sein, den Umgebungssetzbefehl der SFR-Bank 116 zu speichern.
  • Der Verzweigungsbefehl und/oder der Umgebungssetzbefehl, die im Verzweigungsbereich 122 bzw. im Umgebungssetzbereich 124 hinterlegt sein können, können vom Prozessor 110 abgerufen und durchgeführt werden.
  • Die Monitorsteuereinheit 112 kann überwachen, ob der Verzweigungsbefehl vom Prozessor 110 erfolgreich ausgeführt wird. Wenn der Verzweigungsbefehl vom Prozessor 110 erfolgreich ausgeführt wird, kann die Monitorsteuereinheit 112 ein Sicherungsbit SB setzen.
  • Um zu bestimmen, ob der Verzweigungsbefehl vom Prozessor 110 erfolgreich ausgeführt wird oder nicht, kann die Monitorsteuereinheit 112 im Voraus eine geschätzte Verzweigungsadresse unter Verwendung eines nach dem Zufallsprinzip erzeugten Verzweigungsoffset errechnen. Die Monitorsteuereinheit 112 kann eine Verzweigungsadresse, die vom Prozessor 110 übertragen wird, während der Verzweigungsbefehl ausgeführt wird, mit der im Voraus unter Verwendung eines nach dem Zufallsprinzip erzeugten Verzweigungsoffset errechneten geschätzten Verzweigungsadresse vergleichen und kann dadurch bestimmen, ob der Verzweigungsbefehl vom Prozessor 110 erfolgreich ausgeführt worden ist.
  • Um die Sicherheit von verarbeiteten Daten zu verbessern, z. B. zu erhöhen, kann in einigen Ausführungsformen die Operation von interaktivem Übertragen und Ausführen des Verzweigungsbefehls so gesetzt sein, dass sie in einer vorgegebenen Anzahl an Wiederholungen durchgeführt wird. In diesen Ausführungsformen kann die Monitorsteuereinheit 112 ein Sicherungsbit SB nur dann setzen, wenn der Prozessor 110 ein Mehrzahl, z. B. die vorgegebene Anzahl, an zufällig erzeugten Verzweigungsbefehlen erfolgreich ausgeführt hat.
  • Wenn das Sicherungsbit SB gesetzt ist, kann die Ausführungsumgebung von einer unsicheren Domäne in eine sichere Domäne umgewandelt werden. Wenn die Ausführungsumgebung in der sicheren Domäne ist, können der Prozessor 110 und der sichere Master 20 die Möglichkeit haben, auf den sicheren Bereich 40 zuzugreifen (1) und damit den sicheren Code ausführen. Wenn die Ausführung des aufge rufenen sicheren Codes abgeschlossen ist, kann die Monitorsteuereinheit 112 das Sicherungsbit SB zurücksetzen und die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umwandeln.
  • Indessen kann, während das Sicherungsbit SB ausgeführt wird, basierend auf dem Umgebungssetzbefehl die sichere Domäne mit verschiedenen Umgebungsvariablen gesetzt werden. Insbesondere kann die Monitorsteuereinheit 112 den in der SFR-Bank 116 gespeicherten Umgebungssetzbefehl zu einem Anfangszeitpunkt dem Befehlsbypaß-ROM 125 bereitstellen, und der Befehlsbypaß-ROM 125 kann den empfangenen Umgebungssetzbefehl im Umgebungssetzbereich 124 speichern. Der Prozessor 110 kann sequentiell einen im Umgebungssetzbereich 124 des Befehlsbypaß-ROM 125 gespeicherten Umgebungssetzbefehl abrufen, nachdem das Sicherungsbit SB gesetzt worden ist, kann den Umgebungssetzbefehl ausführen und kann dadurch eine Setzoperation bezüglich der sicheren Domäne abschließen.
  • In einigen Ausführungsformen kann der in der SFR-Bank 116 gespeicherte Umgebungssetzbefehl so ausgebildet sein, dass er nur modifizierbar ist, wenn ein System, das die Vorrichtung zum Bereitstellen einer sicheren Domäne beinhaltet, initialisiert wird, z. B., wenn das System zurückgesetzt (Reset) oder hochgefahren wird. Auf diese Weise kann der Umgebungssetzbereich 124 des Befehlsbypaß-ROM 125 als interner ROM dienen und kann eine Umgebungseinstellung verändern, wenn eine Veränderung der Umgebungseinstellung erforderlich ist. Das heißt, der Umgebungssetzbereich 124 kann z. B. gleichzeitig als interner ROM dienen und kann eine Umgebungseinstellung verändern, wenn es erforderlich ist.
  • Mit Bezug zu den 1 und 2 kann die Monitorsteuereinheit 112 des Sicherungsmonitors 115 ein Sicherungsbit zum Adressdecodierer 135 und zum Zugriffsbeschränker 145 übertragen und kann dadurch verhindern, dass der Prozessor 110 oder der unsichere Master 30 auf den sicheren Bereich 40 in der unsicheren Domäne zugreift.
  • Der Adressdecodierer 135 kann eine Adressdecodierung durchführen. Insbesondere, wenn das Sicherungsbit gesetzt ist, kann der Adressdecodierer 135 eine sichere Adressdecodierung durchführen, die eine Adressdecodierung aller Adressenbereiche ermöglicht, z. B. sicherer und unsicherer Bereiche, und wenn das Sicherungsbit zurückgesetzt ist, kann der Adressdecodierer 135 eine unsichere Adressdecodierung durchführen, die eine Adressdecodierung nur eines unsicheren Bereichs ermöglicht.
  • Der Zugriffsbeschränker 145 kann eine Einheit sein, die verwendet wird, wenn sowohl ein sicherer Bereich wie ein unsicherer Bereich in einem Slave vorhanden sind. Der Zugriffsbeschränker 145 kann in Abhängigkeit davon, ob der Master ein sicherer/unsicherer Master 20/30 ist und das Sicherungsbit gesetzt/zurückgesetzt ist, bestimmen, ob einem Master oder einem Prozessor erlaubt wird oder nicht, auf einen sicheren Bereich im Slave zuzugreifen.
  • In Ausführungsformen kann ein Betriebszustand des Prozessors 110 in einen Zustand der unsicheren Domäne, in dem ein unsicherer Code ausgeführt werden kann, und einen Zustand der sicheren Domäne, in dem ein sicherer Code ausgeführt werden kann, unterteilt sein. Der Zustand der unsicheren Domäne kann einen Zustand der zufälligen Verzweigung umfassen, in dem ein zufällig erzeugter Verzweigungsbefehl ausgeführt werden kann, bevor der Zustand der unsicheren Domäne in den Zustand der sicheren Domäne umgewandelt wird. Die sichere Domäne kann einen Domänensetzzustand aufweisen, in dem eine für eine sichere Domäne erforderliche Domäne gesetzt werden kann. Um die Sicherheit zu verbessern und/oder geschützte Ausführung eines sicheren Codes zu garantieren, kann der Sicherungsmonitor 115 interaktiv eine Ausführungsumgebung durch Setzen/Zurücksetzen eines Sicherungsbits in Abhängigkeit von einem zuvor definierten Verzweigungsbefehl und davon, ob der Umgebungssetzbefehl erfolgreich ausgeführt worden ist, umgewandelt werden.
  • In Ausführungsformen kann zur Umwandlung in eine sichere Ausführungsumgebung, d. h. Umwandlung von einer unsicheren Domäne in eine sichere Domäne, ein Codeausführungsfluss des Prozessors 110 derart ausgebildet sein, dass eine Ausführungsumgebung in eine sichere Domäne umgewandelt wird, die nachdem eine Ausführung eines unsicheren Codes in der unsicheren Domäne abgeschlossen ist, ausschließlich einen sicheren Code ausführt.
  • Insbesondere kann z. B. eine Ausführungsumgebung in eine sichere Domäne umgewandelt werden, nachdem direkt bevor ein sicherer Code ausgeführt wird, geprüft worden ist, ob eine Flush-Befehlssequenz ausgeführt worden ist oder nicht. Eine Flush-Befehlssequenz kann eine Pipeline oder einen Befehlscache mit einem unsicheren Code leeren, der verbleiben und ausgeführt werden kann. In Ausführungsformen kann in einem Versuch, eine unbeabsichtigte Umwandlung der Ausführungsumgebung in eine sichere Domäne zu vermeiden, was Auftreten kann, wenn ein Abrufen der Flush-Befehlssequenz durch Manipulieren des unsicheren Codes imitiert wird, obwohl tatsächlich kein sicherer Code ausgeführt wird, nur ein Abrufen zum Ausführen einer Flush-Befehlssequenz zulässig sein.
  • In Ausführungsformen kann eine Umwandlung in eine sichere Domäne aus einer Imitierung eines Verzweigungsbefehls, der aus einem manipulierten unsicheren Code in einen künstlichen sicheren Code resultiert, verringert und/oder verhindert werden, indem ein nach dem Zufallsprinzip erzeugter Verzweigungsbefehl eingesetzt wird und eine Flush-Funktion des unsicheren Codes, z. B. zur gleichen Zeit, durchgeführt wird.
  • In Ausführungsformen können der Sicherungsmonitor 115 und der Befehlsbypaß-ROM 125 außerhalb des Prozessors 110 unter Verwendung von Hardware separat ausgebildet sein, und können aus Sicht des Prozessors 110 transparent ausgelegt sein. Dementsprechend können Ausführungsformen einer Vorrichtung zum Bereitstellen einer sicheren Domäne, die eines oder mehrere der hier beschriebenen Merkmale aufweisen, ungeachtet der Art des Prozessors oder der Art des verwendeten Betriebssystems bei allen Arten von Plattformen angewendet werden. Ausführungsformen einer Vorrichtung zum Bereitstellen einer sicheren Domäne können so ausgelegt sein, dass sie von einer Taktung eines internen Busses nicht stark beeinflusst werden, z. B. relativ unempfindlich sind, und auf diese Weise einfach bei einem Prozessor oder einem Bus mit einer neuen Struktur angewendet werden können.
  • Durch Implementieren eines Sicherungsmonitors 115 und des festverdrahteten Befehlsbypaß-ROM 125 so, dass sie miteinander verbunden sind, kann das Sicherheitsniveau viel stärker erhöht werden als wenn sie als Softwaresequenz implementiert sind.
  • 3 stellt ein schematisches Diagramm einer weiteren beispielhaften Ausführungsform der Vorrichtung zum Bereitstellen einer sicheren Domäne dar. Mit Bezug zu 3 kann die Vorrichtung zum Bereitstellen einer sicheren Domäne einen Prozessor 210, einen Sicherungsmonitor 215, einen Befehlsbypaß-ROM 225, einen Adressdecodierer 235 und/oder Zugriffsbeschränker 245_1, 245_2, 245_3 umfassen. 3 stellt auch beispielhafte Slaves 240, 250 und Master, z. B. einen sicheren Master 220 und einen unsicheren Master 230 dar, die bei der hier dargestellten Vorrichtung zum Bereitstellen einer sicheren Domäne eingesetzt sein können. Das heißt, die beispielhafte Vorrichtung zum Bereitstellen einer sicheren Domäne von 3 kann im Wesentlichen der Vorrichtung zum Bereitstellen einer sicheren Domäne von 2 in einem Zustand, in dem die Vorrichtung zum Bereitstellen einer sicheren Domäne mit Slaves 240, 250 und Mastern 220, 230 verbunden ist, entsprechen. Gleiche Bezugszeichen sind in den 2 und 3 gleichen Elementen zugeordnet.
  • In Ausführungsformen können die Slaves 240, 250 Module sein, die von einem Prozessor oder einem Master angesteuert werden. Die Module können eine oder mehrere Arten von Speichermodulen umfassen, die dazu ausgebildet sind, Daten zu speichern, wie ein allgemeines Festplattenlaufwerk (HDD) oder ein Speicher, z. B. RAM, ROM, Flash-Speicher usw.
  • Um sicherheitsrelevante Daten zu schützen, können ein oder mehrere Slaves 240, 250 in sichere Bereiche 152_1, 152_2 bzw. unsichere Bereiche 154_1, 154_2 unterteilt sein. In Ausführungsformen können sichere Bereiche und unsichere Bereiche jeweils in separaten Slaves ausgebildet sein oder in einem einzigen Slave. Die Slaves 240, 250 können z. B. jeweils einen der Zugriffsbeschränker 245_1, 245_2 umfassen.
  • Die Zugriffsbeschränker 245_1, 245_2, 245_3 können verwendet werden, wenn ein unsicherer Bereich und ein sicherer Bereich in einem Slave vorliegen oder beim Steuern eines Zugriffs auf ein Peripheriegerät 190, das mit dem sicheren Bereich über einen Peripheriebus verbunden ist. Zum Beispiel können die Zugriffsbeschränker 240_1, 240_2 der Slaves 240, 250 bestimmen, ob ein Master ein sicherer/unsicherer Master 220, 230 ist, und ob der Prozessor 210, in Abhängigkeit davon, ob ein Sicherungsbit gesetzt/zurückgesetzt ist, auf den sicheren Bereich zugreifen kann. Die Zugriffsbeschränker 245_1, 245_2 eines Slave können verhindern, dass der unsichere Master und der Prozessor 210 durch Zugriff auf einen sicheren Bereich einen unsicheren Code ausführen.
  • In Ausführungsformen kann ein Master, z. B. der sichere Master 220, der unsichere Master 230, einen Prozessor, z. B. 210, umfassen und/oder ihm zugeordnet sein. Der Master 220, 230 kann einen Modul umfassen, der nicht von anderen Bauteilen angesteuert wird, der aber z. B. einen oder mehrere der Slaves 240, 250 selbst ansteuert oder Daten mit dem Slave austauscht. Ein Master kann als sicherer Master 220 und als unsicherer Master 230 klassifiziert sein. Der sichere Master 220 kann sowohl auf den oben beschriebenen sicheren Bereich wie den unsicheren Bereich zugreifen. Der unsichere Master 230 kann nur auf den unsicheren Bereich zugreifen und Zugriff auf den sicheren Bereich kann ihm verwehrt sein. Wenn der Prozessor 210 einen sicheren Code ausführt, kann er dem sicheren Master 220 entsprechen, und wenn der Prozessor 210 einen unsicheren Code ausführt, kann er dem unsicheren Master 230 entsprechen.
  • Der Adressdecodierer 235 kann in Abhängigkeit davon, ob ein Master, der eine Adresse anfordert, der sichere Master 220 ist und ob ein Sicherungsbit gesetzt ist, eine sichere Adressdecodierung oder eine unsichere Adressdecodierung durchführen. Eine sichere Adressdecodierung kann angewendet werden, wenn ein Master, der eine Adresse anfordert, der sichere Master 220 ist und/oder ein Sicherungsbit gesetzt ist (einschließlich eines Falls, bei dem ein Prozessor ein sicherer Master wird) und kann eine Adressdecodierung über alle Bereiche ermöglichen. Eine unsichere Adressdecodierung kann angewendet werden, wenn ein Master, der eine Adresse anfordert, der unsichere Master 230 ist und/oder ein Sicherungsbit zurückgesetzt ist (einschließlich eines Falls, bei dem ein Prozessor ein unsicherer Master wird) und kann eine Adressdecodierung nur in einem unsicheren Bereich durchführen. Wenn daher der Master, der eine Adresse anfordert, der unsichere Master 230 ist oder das Sicherungsbit zurückgesetzt ist, kann eine Adressdecodierung bezüglich eines sicheren Bereichs verwehrt sein, und der unsichere Master 230 kann keinen Zugriff auf den sicheren Bereich erhalten.
  • Der Sicherungsmonitor 215 kann außerhalb des Prozessors 210 liegen oder er kann im Prozessor 110, 210 angeordnet sein. Der Sicherungsmonitor 215 kann Signale des Prozessors 210 und Signale eines Busses überwachen. Bei einer speziellen Bedingung, unter der Ausführung eines authentifizierten Sicherheitscodes, der in einem vordefinierten sicheren Bereich liegt, angefordert wird, kann der Sicherungsmonitor 215 in Abhängigkeit davon, ob ein zufälliger Verzweigungsbefehl erfolgreich war oder nicht, gemäß einer interaktiven Kooperation zwischen Prozessor 210 und dem Befehlsbypaß-ROM 225 ein Sicherungsbit setzen/zurücksetzen.
  • Mit Bezug zu 3 kann ein vom Sicherungsmonitor 215 bereitgestelltes Sicherungsbit dem Adressdecodierer 235 und den Zugriffsbeschränkern 245_1, 245_2, 245_3 bereitgestellt werden und kann dadurch verhindern, dass ein Master oder ein Prozessor auf sichere Bereiche zugreift, z. B. unerlaubten Zugriff zu sicheren Bereichen verhindern.
  • Ausführungsformen der Vorrichtung zum Bereitstellen einer sicheren Domäne mit einem oder mehreren der oben beschriebenen Merkmale können bei typischen Allzweckplattformen angewendet werden, indem ein vom Sicherungsmonitor 215 erzeugtes Sicherungsbit direkt dem Adressdecodierer 235 und den Zugriffsbeschränkern 245_1, 245_2, 245_3 bereitgestellt wird.
  • 4 stellt ein schematisches Diagramm einer beispielhaften Ausführungsform einer Umwandlung einer Ausführungsumgebung der Vorrichtung zum Bereitstellen einer sicheren Domäne der 2 und 3 zwischen einer sicheren Domäne und einer unsicheren Domäne dar. 5 stellt ein allgemeines Taktdiagramm einer beispielhaften Ausführungsform einer Betriebsweise eines Sicherungsmonitors 115, 215 der Vorrichtung zum Bereitstellen einer sicheren Domäne der 2 und 3 dar.
  • Ein System, das eine Vorrichtung zum Bereitstellen einer sicheren Domäne beinhaltet, z. B. die oben mit Bezug zu den 2 und 3 dargestellte Vorrichtung zum Bereitstellen einer sicheren Domäne, kann in einer sicheren Hochfahrumgebung initialisiert werden und kann von einer unsicheren Domäne in eine sichere Domäne umgewandelt werden und kann dann in die unsichere Domäne zurückgeführt werden.
  • Mit Bezug zu den 2, 3 und 4 kann in einer sicheren Hochfahroperation S10 das System, das eine Vorrichtung zum Bereitstellen einer sicheren Domäne beinhaltet, zurückgesetzt oder zum Initialisieren hochgefahren werden. Die sichere Hochfahroperation kann in einem sicheren Domänenzustand erfolgen, der vom Sicherungsmonitor 115, 215 nicht beeinflusst werden kann, bis das sichere Hochfahren abgeschlossen ist. In Ausführungsformen kann ein Umgebungssetzbefehl der SFR-Bank 116 (2) des Sicherungsmonitors 115 während der sicheren Hochfahroperation S10 gesetzt werden. In solchen Ausführungsformen können in der SFR-Bank 116 des Sicherungsmonitors 115 gespeicherte Daten nicht verändert werden, nachdem die sichere Hochfahroperation beendet ist.
  • Nachdem die sichere Hochfahroperation S10 beendet ist, kann die Ausführungsumgebung in einer Operation S20 in einen unsicheren Domänenzustand umgewandelt werden.
  • Wenn vom Prozessor 110, 210 im unsicheren Domänenzustand eine Anfrage eines sicheren Codes zum Ausführen eines sicheren Codes erzeugt wird, kann eine zufällige Verzweigungsoperation S30 gemäß den interaktiven Operationen der Monitorsteuereinheit 112 (2) und des Prozessors 110, 210 durchgeführt werden.
  • In der zufälligen Verzweigungsoperation S30 kann die Monitorsteuereinheit 112 eine Operation des Prozessors 110, 210 überwachen, um eine Anforderung eines sicheren Codes zu detektieren. Wenn eine Anforderung eines sicheren Codes detektiert ist, kann ein Verzweigungsbefehl gemäß einer vorgegebenen Anzahl einmal oder mehrmals erzeugt werden und kann dem Befehlsbypaß-ROM 125, 225 bereitgestellt werden. Die Monitorsteuereinheit 112 kann eine Operation des Prozessors 110, 210 überwachen, um zu bestimmen, ob der Prozessor 110, 210 alle Verzweigungsbefehle ausgeführt hat, die der Prozessor 110, 210 vom Befehlsbypaß-ROM 125, 225 abgerufen hat.
  • Wenn der Prozessor 110, 210 eine zufällige Verzweigungsoperation nicht ausgeführt hat, kann die Monitorsteuereinheit 112 einen Befehl bereitstellen, der das System zu einer Routine abzweigt, die einem Angriffszustand zugeordnet ist, und kann dadurch das System so einstellen, dass es in Operation S60 zurückgesetzt wird.
  • Wenn der Prozessor 110, 210 eine zufällige Verzweigungsoperation erfolgreich ausgeführt hat, kann eine sichere Domänensetzoperation S40 gestartet werden. In der sicheren Domänensetzoperation S40 kann die Monitorsteuereinheit 112 ein Sicherungsbit setzen und kann zur gleichen Zeit einen in der SFR-Bank 116 gespeicherten Umgebungssetzbefehl für den Befehlsbypaß-ROM 125, 225 bereitstellen. Der dem Befehlsbypaß-ROM 125, 225 bereitgestellte Umgebungssetzbefehl kann vom Prozessor 110, 210 derart abgerufen und ausgeführt werden, dass eine Setzoperation, die einer sicheren Domäne zugeordnet ist, ausgeführt werden kann.
  • Wenn das Setzen der sicheren Domäne abgeschlossen ist, kann eine Umwandlung der Ausführungsumgebung von der unsicheren Domäne zur sicheren. Domäne abgeschlossen werden. Wenn das Setzen der sicheren Domäne abgeschlossen ist, kann der Prozessor 110, 210 in Operation S50 einen sicheren Code in der sicheren Domäne ausführen.
  • Wenn ein Ausführen des sicheren Codes abgeschlossen ist, kann die Monitorsteuereinheit 112 ein Sicherungsbit zurücksetzen und kann dadurch die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umwandeln.
  • In 4 geben eingekreiste Operationen, die mit einer einfachen durchgezogenen Linie dargestellt sind, Zustände an, in denen ein Sicherungsbit zurückgesetzt ist, das heißt, einen unsicheren Domänenzustand, und eingekreiste Operationen, die mit einer doppelten durchgezogenen Linie dargestellt sind, geben Zustände an, in denen ein Sicherungsbit gesetzt ist, das heißt, einen sicheren Domänenzustand. Insbesondere kann der unsichere Domänenzustand die Ausführungsoperation des unsicheren Codes, Operation S20, und die zufällige Verzweigungsoperation S30 beinhalten, und der sichere Domänenzustand kann die sichere Hochfahroperation S10, die sichere Domänensetzoperation S40 und die Ausführungsoperation des sicheren Codes S50 beinhalten.
  • Mit Bezug zu den 4 und 5 können Ausführungsformen einer Vorrichtung zum Bereitstellen einer sicheren Domäne, die eines oder mehrere der hier beschriebenen Merkmale aufweist, und insbesondere Ausführungsformen eines Sicherungsmonitors, der eines oder mehrere der hier beschriebenen Merkmale aufweist, eine Mehrzahl von Operationen wiederholen, z. B. S10 bis S60 bzw. K1 bis K6. Insbesondere können z. B. eine Initialisierungs- und sichere Hochfahroperation S10, K1, eine unsichere Codeausführungsoperation S20, K2, eine zufällige Verzweigungsoperation S30, K3, eine sichere Domänensetzoperation S40, K4, eine sichere Codeausführungsoperation S50, K5, und/oder eine unsichere Codeausführungsoperation S60, K6, wiederholt werden. Eine, einige oder alle der Operationen können in Abhängigkeit davon, ob ein sicherer Code aufgerufen ist oder nicht, wiederholt werden. Hauptmerkmale jeder der Operationen werden unten beschrieben.
  • Eine sichere Hochfahroperation S10, K1, kann einem Initialisierungszustand entsprechen. Die sichere Hochfahroperation S10, K1, kann in einer sicheren Domäne ausgeführt werden. Der Prozessor 110, 210 kann während der sicheren Hochfahroperation S10, K1, auf alle Slaves und Speicherbereichen zugreifen, z. B. auf sichere und unsichere Speicherbereiche.
  • Eine unsichere Codeausführungsoperation S20, S60, K2, K6, kann einem Zustand entsprechen, in dem ein unsicherer Code ausgeführt wird. Der Prozessor 110, 210 kann nur auf einen unsicheren Bereich zugreifen.
  • Eine zufällige Verzweigungsoperation S30, K3, kann einem Verzweigungsbefehl entsprechen, der ausgeführt werden kann, wenn eine Umwandlung in eine sichere Domäne erforderlich ist. Die zufällige Verzweigungsoperation S30, K3, kann in einem unsicheren Domänenzustand ausgeführt werden.
  • Eine sichere Domänensetzoperation S40, K4, kann einer Ausführung eines Programms zum Setzen einer Ausführungsumgebung entsprechen, die eine Umwandlung in eine sichere Domäne betrifft. Die sichere Domänensetzoperation S40, K4, kann in einem sicheren Domänenzustand ausgeführt werden und der Prozessor 110, 210 kann auf sichere und unsichere Bereiche, z. B. alle Slave- und Speicherbereiche zugreifen.
  • Eine sichere Codeausführungsoperation S50, K5, kann einem Zustand entsprechen, während dem ein sicherer Code ausgeführt werden kann. Die sichere Codeausführungsoperation S50, K5, kann in einem sicheren Domänenzustand ausgeführt werden und der Prozessor 110, 210 kann auf sichere und unsichere Bereiche, z. B. alle Slave- und Speicherbereiche zugreifen.
  • Bei der sicheren Hochfahroperation S10, K1, können ein Systemreset und ein sicheres Hochfahren gleichzeitig durchgeführt werden. Während ein sicheres Hochfahren durchgeführt wird, kann der Sicherungsmonitor 115, 215 angesteuert werden und ein Umgebungssetzbefehl, der für einen Umgebungssetzbereich eines Befehlsbypaß-ROM 125, 225 benötigt wird, kann durch Setzen einer SFR-Bank 116 des Sicherungsmonitors 115, 215 gesetzt werden. Ein Bit, das anzeigt, ob ein sicheres Hochfahren in einem vorgegebenen Feld der SFR-Bank 116 abgeschlossen ist, und ein Bit, das anzeigt, ob der Sicherungsmonitor 115, 215 verwendet wird, kann zu einem Zeitpunkt, wenn das sichere Hochfahren beendet ist, jeweils auf 1 gesetzt werden. Eine Operation des Sicherungsmonitors 115, 215 kann dann unter einer sicheren Domäne gestartet werden und ein Sicherungsbit gemäß der Operation des Sicherungsmonitors kann zum Adressdecodierer 135, 235 und dem Zugriffsbeschränker 145, 245_1, 245_2 des Slave übertragen werden. Wenn das sichere Hochfahren abgeschlossen ist, kann die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umgewandelt werden.
  • Wenn eine Anfrage nach einer Ausführung eines sicheren Codes während der unsicheren Codeausführungsoperation S20, K2, von einem Prozessor erzeugt ist, kann ein Verzweigen mit einer Verzweigungsstartadresse des Befehlsbypaß-ROM 125, 225 vorgenommen werden und die zufällige Verzweigungsoperation S30, K3, kann gestartet werden. Wenn ein Verzweigungsbefehl vom Prozessor in der zufälligen Verzweigungsoperation S30, K3, erfolgreich ausgeführt ist, kann ein Verzweigen mit einer Umgebungssetzstartadresse vorgenommen werden, die dadurch die sichere Domänensetzoperation S40, K4, starten kann.
  • Bei der sicheren Domänensetzoperation S40, K4, kann das Sicherungsbit gesetzt werden und gleichzeitig kann der Umgebungssetzbefehl vom Prozessor 110, 210 ausgeführt werden, wodurch eine sichere Domäne gesetzt wird. Wenn die Ausführung des Umgebungssetzbefehls abgeschlossen ist, kann ein Verzweigen mit einer vorliegenden sicheren Codestartadresse vorgenommen werden. Wenn eine sichere Codestartadresse vom Sicherungsmonitor detektiert ist, dann kann die sichere Codeausführungsoperation S50, K5, durchgeführt werden.
  • Wenn die Ausführung des sicheren Codes abgeschlossen ist, kann ein Verzweigen mit einer sicheren Codeaustrittsadresse vorgenommen werden. Wenn die sichere Codeaustrittsadresse vom Sicherungsmonitor 115, 215 detektiert ist, kann die unsichere Codeausführungsoperation S60, K6, durchgeführt werden und das Sicherungsbit kann zurückgesetzt werden.
  • Nachfolgend wird ein beispielhaftes Verfahren zum Bereitstellen einer sicheren Domäne z. B. unter Verwendung einer Ausführungsform der Vorrichtung zum Bereitstellen einer sicheren Domäne, z. B. der Vorrichtung der 2, 3, die eines oder mehrere der oben beschriebenen Merkmale aufweist, beschrieben. Das beispielhafte Verfahren zum Bereitstellen einer sicheren Domäne ist im Wesentlichen gleich den Operationen der Vorrichtung zum Bereitstellen einer sicheren Domäne, und daher werden Wiederholungen von Funktionen und Operationen von Komponenten der Vorrichtung zum Bereitstellen einer sicheren Domäne weggelassen.
  • 6 stellt ein Flussbild einer beispielhaften Ausführungsform eines Verfahrens zum Bereitstellen einer sicheren Domäne dar.
  • Ausführungsformen können ein Verfahren zum Bereitstellen einer sicheren Domäne durch Umwandeln einer Ausführungsumgebung von einer unsicheren Domäne in eine sichere Domäne basierend darauf, ob ein Sicherungsbit gesetzt/zurückgesetzt (ein vom Sicherungsbit gesetzter Wert) ist, zur Verfügung stellen. Wenn zum Beispiel eine Anfrage zum Ausführen eines sicheren Codes in einem unsicheren Domänenzustand detektiert wird, kann die Ausführungsumgebung durch eine Reihe von Operationen, die unter Verwendung von Hardware erreicht werden, von der unsicheren Domäne in die sichere Domäne umgewandelt werden, so dass der sichere Code in der geschützten sicheren Domäne ausgeführt werden kann.
  • Mit Bezug zu 6 kann in S110 der Sicherungsmonitor 115, 215 eine Operation des Prozessors 110, 210 detektieren.
  • Wenn ein Aufruf eines sicheren Codes vom Prozessor 110, 210 (Ausführungsanforderung) detektiert ist, kann in S120 ein Verzweigungsbefehl erzeugt werden. Der Verzweigungsbefehl kann unter Verwendung z. B. eines nach dem Zufallsprinzip erzeugten Verzweigungsoffset erzeugt werden.
  • In S130 kann der Sicherungsmonitor 115, 215 den erzeugten Verzweigungsbefehl dem Befehlsbypaß-ROM 125, 225 bereitstellen.
  • In S140 kann der Prozessor 110, 210 den Verzweigungsbefehl vom Befehlsbypaß-ROM 125, 225 abrufen und ihn ausführen.
  • In S150 kann der Sicherungsmonitor 115, 215 eine Operation des Prozessors 110, 210 detektieren und kann bestimmen, ob eine Ausführung des Verzweigungsbefehls durch den Prozessor 110, 210 erfolgreich ist.
  • In S160 kann, wenn der Sicherungsmonitor 115, 215 detektiert, dass der Verzweigungsbefehl durch den Prozessor 110, 210 erfolgreich ausgeführt worden ist, der Sicherungsmonitor 115, 215 ein Sicherungsbit setzen, um die Ausführungsumgebung von einer unsicheren Domäne in eine sichere Domäne umzuwandeln. Ob ein Verzweigungsbefehl erfolgreich ausgeführt worden ist oder nicht, kann durch Vergleichen einer Verzweigungsadresse, die aus einem zufällig erzeugten Verzweigungsoffset geschätzt ist, mit einer Verzweigungsadresse, die tatsächlich vom Prozessor 110, 210 ausgeführt wird, bestimmt werden.
  • Wenn das Sicherungsbit gesetzt ist, kann der Prozessor 110, 210 Umgebungssetzbefehle, die im Umgebungssetzbereich 124 des Befehlsbypaß-ROM 125 gespeichert sind, abrufen und kann die Umgebungssetzbefehle sequentiell ausführen, um die sichere Domäne zu setzen. Der Befehlsbypaß-ROM 125, 225 kann einen Umgebungssetzbefehl vom Sicherungsmonitor 115, 215 bei der Initialisierung des Systems empfangen und kann den Umgebungssetzbefehl speichern.
  • Der Sicherungsmonitor 115, 215 kann das gesetzte Sicherungsbit dem Adressdecodierer 135, 235 und dem Zugriffsbeschränker 145, 245_1 und 245_2 bereitstellen und kann dadurch unerlaubten Zugriff auf den sicheren Bereich 152_1 und 152_2 verhindern.
  • Der Sicherungsmonitor 115, 215 kann auch so eingestellt sein, dass er eine Mehrzahl von Verzweigungsbefehlen erzeugt und ein Sicherungsbit setzt, wenn der Prozessor 110, 210 die Mehrzahl von Verzweigungsbefehlen erfolgreich ausgeführt hat. In solchen Ausführungsformen kann die Frequenz zum Ausführen von Verzweigungsbefehlen durch das Setzen einer sicheren Domäne bestimmt sein.
  • Wenn das Sicherungsbit gesetzt ist und die Ausführungsumgebung von der unsicheren Domäne in die sichere Domäne umgewandelt ist, kann der Prozessor 110, 210 einen sicheren Code ausführen. Wenn eine Ausführung des sicheren Codes abgeschlossen ist, kann, in S170, der Sicherungsmonitor 115, 215 ein Sicherungsbit zurücksetzen und kann die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umwandeln. Das zurückgesetzte Sicherungsbit kann dem Adressdecodierer 135, 235 und dem Zugriffsbeschränker 145, 245_1, 245_2 bereitgestellt werden.
  • 7 stellt ein Flussbild einer beispielhaften Ausführungsform eines Verfahrens zum Bereitstellen einer sicheren Domäne und Umwandeln einer Ausführungsumgebung dar.
  • In 7 geben eingekreiste Operationen, die mit einer einfachen durchgezogenen Linie dargestellt sind, Zustände an, in denen ein Sicherungsbit zurückgesetzt ist, das heißt, einen unsicheren Domänenzustand, und eingekreiste Operationen, die mit einer doppelten durchgezogenen Linie dargestellt sind, geben Zustände an, in denen ein Sicherungsbit gesetzt ist, das heißt, einen sicheren Domänenzustand.
  • Mit Bezug zu 7 kann in S200 ein System, das z. B. die Vorrichtung zum Bereitstellen einer sicheren Domäne der 2, 3 umfasst, zurückgesetzt oder hochgefahren werden. In S210 kann eine sichere Hochfahroperation, die eine Initialisierungsoperation sein kann, durchgeführt werden. Während der sicheren Hochfahroperation kann ein in der SFR-Bank 116 (2) im Sicherungsmonitor 115 gespeicherter Umgebungssetzbefehl dem Befehlsbypaß-ROM 125 bereitgestellt werden. In solchen Ausführungsformen kann der in der SFR-Bank 116 gespeicherte Umgebungssetzbefehl nur während der sicheren Hochfahroperation verändert werden.
  • Nachdem die sichere Hochfahroperation durchgeführt ist, kann in S220 eine Ausführungsumgebung des Systems vom sicheren Domänenzustand in den unsicheren Domänenzustand umgewandelt werden.
  • In S230 kann der Sicherungsmonitor 115, 215 überwachen, ob vom Prozessor 110, 210 ein sicherer Code aufgerufen wird.
  • In S240 kann, wenn ein sicherer Code aufgerufen ist, eine zufällige Verzweigungsoperation zum Erzeugen eines Verzweigungsbefehls und Bereitstellen des Verzweigungsbefehls für den Befehlsbypaß-ROM 125, 225 durchgeführt werden.
  • In S250 kann der Sicherungsmonitor 115, 215 bestimmen, ob die vom Prozessor 110, 210 durch Abrufen eines Verzweigungsbefehls durchgeführte zufällige Verzweigungsoperation erfolgreich ausgeführt worden ist. Wenn die zufällige Verzweigungsoperation erfolgreich ist, kann in S260 der Sicherungsmonitor 115, 215 ein Sicherungsbit setzen und der Prozessor 110, 210 kann eine sichere Domänensetzoperation durchführen, die Abrufen eines Umgebungssetzbefehls vom Befehlsbypaß-ROM 125, 225 und Ausführen den Umgebungssetzbefehls umfasst. Ansonsten, wenn die zufällige Verzweigungsoperation nicht erfolgreich ist, kann beim Umwandeln der Ausführungsumgebung in eine sichere Domäne ein Problem aufgetreten sein, und damit kann das gesamte System zurückgesetzt werden.
  • In S270 kann, wenn das Sicherungsbit gesetzt ist und das Setzen der sicheren Domäne abgeschlossen ist, die Ausführungsumgebung von der unsicheren Domäne in eine sichere Domäne umgewandelt werden.
  • In S280 kann, wenn die Ausführungsumgebung in die sichere Domäne umgewandelt ist, der Prozessor 110, 210 einen sicheren Code ausführen.
  • In S290 wird bestimmt, ob eine Ausführung des sicheren Codes erfolgreich ist.
  • Wenn in S290 bestimmt ist, dass eine Ausführung des sicheren Codes erfolgreich war, kann in S300 die Ausführung des sicheren Codes beendet werden.
  • In S300 kann der Sicherungsmonitor 115, 215 ein Sicherungsbit zurücksetzen und die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umwandeln. Die oben beschriebenen Operationen können dann wiederholt werden.
  • Wenn in S290 bestimmt ist, dass eine Ausführung des sicheren Codes nicht erfolgreich war, kann das System zu S200 zurückkehren und zurückgesetzt werden. In solchen Fällen kann der Sicherungsmonitor 115, 215 überwachen, ob ein sicherer Code vom Prozessor 110, 210 aufgerufen wird und die oben beschriebenen Operationen wiederholen.
  • Ausführungsformen können als computerlesbarer Code auf einem computerlesbaren Aufzeichnungsmedium ausgebildet sein. Das computerlesbare Aufzeichnungsmedium kann eine beliebige Datenspeichereinrichtung sein, die Daten speichern kann, die danach von einem Computersystem gelesen werden können. Beispiele von computerlesbaren Aufzeichnungsmedien umfassen Nur-Lese-Speicher (ROM), Speicher mit wahlfreiem Zugriff (RAM), CD-ROMs, Magnetbänder, Floppy-Disks, optische Datenspeichereinrichtungen usw. (wie Datenübertragung durch das Internet). Das computerlesbare Aufzeichnungsmedium kann auch über netzwerkgekoppelte Computersysteme verbreitet werden, so dass der computerlesbare Code verteilt gespeichert und ausgeführt werden kann.
  • 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
    • - KR 10-2009-0043095 [0024]

Claims (20)

  1. Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne, die anhand eines Sicherungsbits bestimmt, ob eine Ausführungsumgebung in einer sicheren Domäne oder in einer unsicheren Domäne sein soll, umfassend: – einen Sicherungsmonitor (115), der dazu ausgebildet ist, einen Verzweigungsbefehl zu erzeugen, wenn ein Aufruf eines sicheren Codes detektiert wird, das Sicherungsbit zu setzen, wenn der Verzweigungsbefehl erfolgreich ausgeführt worden ist, und das Sicherungsbit zurückzusetzen, wenn die Ausführung des sicheren Codes beendet ist, – einen Befehlsbypaß-Nur-Lesespeicher(ROM) (125), der dazu ausgebildet ist, den Verzweigungsbefehl von dem Sicherungsmonitor zu empfangen, und – einen Prozessor (110), der dazu ausgebildet ist, den Verzweigungsbefehl auszuführen, der aus dem Befehlsbypaß-ROM (125) abgerufen ist.
  2. Vorrichtung nach Anspruch 1, wobei der Sicherungsmonitor umfasst: – einen Zufallszahlengenerator (114), der dazu ausgebildet ist, zufällig einen Verzweigungsoffset zu erzeugen, und – eine Monitorsteuereinheit (112), die dazu ausgebildet ist, den Verzweigungsbefehl unter Verwendung des erzeugten Verzweigungsoffsets zu erzeugen, wenn der Aufruf des sicheren Codes detektiert wird.
  3. Vorrichtung nach Anspruch 2, wobei der Sicherungsmonitor dazu ausgebildet ist, den Verzweigungsbefehl eine vorbestimmte Anzahl von Malen zu erzeugen und das Sicherungsbit zu setzen, wenn der Prozessor erfolgreich alle erzeugten Verzweigungsbefehle abgerufen hat.
  4. Vorrichtung nach einem der Ansprüche 1 bis 3, wobei der Sicherungsmonitor eine Spezial-Funktions-Register(SFR)-Bank (116) umfasst, die dazu ausgebildet ist, einen Ausführungssetzbefehl zum Setzen der sicheren Domäne zu speichern, wobei der Ausführungssetzbefehl für den Befehlsbypaß-ROM von der SFR-Bank bereitgestellt wird und sequenziell durch den Prozessor abgerufen wird, nachdem das Sicherungsbit gesetzt ist.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei der Sicherungsmonitor das Sicherungsbit für einen Adressdecodierer (135) und/oder einen Zugriffsbeschränker (145) zur Verfügung stellt, wobei der Adressdecodierer oder der Zugriffsbeschränker dazu ausgebildet ist, den Zugriff des Prozessors auf einen sicheren Bereich, der mit dem sicheren Code in Beziehung steht, basierend auf dem Sicherungsbit zu steuern.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei die Ausführungsumgebung von der sicheren Domäne in die unsichere Domäne umgewandelt wird, wenn das Sicherungsbit zurückgesetzt wird, und die Ausführungsumgebung von der unsicheren Domäne in die sichere Domäne umgewandelt wird, wenn das Sicherungsbit gesetzt wird.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei der Sicherungsmonitor entfernt vom Prozessor angeordnet ist.
  8. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei der Sicherungsmonitor auf dem Prozessor angeordnet ist.
  9. Vorrichtung nach einem der Ansprüche 1 bis 8, wobei der Befehlsbypaß-ROM entfernt vom Prozessor angeordnet ist.
  10. Vorrichtung nach einem der Ansprüche 1 bis 8, wobei der Befehlsbypaß-ROM auf dem Prozessor angeordnet ist.
  11. Vorrichtung nach einem der Ansprüche 1 bis 10, wobei der Befehlsbypaß-ROM ein festverdrahteter ROM ist.
  12. Vorrichtung nach einem der Ansprüche 1 bis 11, wobei der Befehlsbypaß-ROM und der Sicherungsmonitor miteinander verbunden sind.
  13. Verfahren zum Bereitstellen einer plattformunabhängigen sicheren Domäne, wobei eine Ausführungsumgebung anhand eines Sicherungsbits als eine sichere Domäne oder als eine unsichere Domäne bestimmt wird, wobei das Verfahren umfasst: – Erzeugen eines Verzweigungsbefehls durch Überwachen eines Aufrufs eines sicheren Codes durch einen Prozessor (110), – Bereitstellen des Verzweigungsbefehls für einen Befehlsbypaß-ROM (125), – Abrufen des Verzweigungsbefehls von dem Befehlsbypaß-ROM (125), – Ausführen des Verzweigungsbefehls, wobei der Verzweigungsbefehl durch den Prozessor (110) ausgeführt wird, und – Setzen des Sicherungsbits, wenn der Verzweigungsbefehl erfolgreich durch den Prozessor (110) ausgeführt worden ist.
  14. Verfahren nach Anspruch 13, weiter umfassend ein Bereitstellen des Sicherungsbits für einen Adressdecodierer (135) und/oder einen Zugriffsbeschränker (145), – wobei der Adressdecodierer und/oder der Zugriffsbeschränker einen Zugriff des Prozessors auf einen sicheren Bereich, der sich auf den sicheren Code bezieht, basierend auf dem Sicherungsbit steuert.
  15. Verfahren nach Anspruch 13 oder 14, weiter umfassend: – Abrufen eines Ausführungssetzbefehls aus dem Befehlsbypaß-ROM, nachdem das Sicherungsbit gesetzt ist, wobei das Abrufen des Ausführungssetzbefehls durch den Prozessor ausgeführt wird, und – Setzen der Ausführungsumgebung als eine sichere Domäne, wobei das Setzen der Ausführungsumgebung durch den Prozessor ausgeführt wird.
  16. Verfahren nach einem der Ansprüche 13 bis 15, wobei der Verzweigungsbefehl eine vorbestimmte Anzahl von Male erzeugt wird, wobei das Sicherungsbit erzeugt wird, wenn alle erzeugten Verzweigungsbefehle erfolgreich durch den Prozessor ausgeführt worden sind.
  17. Verfahren nach Anspruch 16, wobei zunächst eine geschätzte Verzweigungsadresse unter Verwendung eines zufälligen Verzweigungsoffsets berechnet wird und eine Verzweigungsadresse, die von dem Prozessor während der Ausführung des Verzweigungsbefehls übertragen wird, mit der geschätzten Verzweigungsadresse verglichen wird, um zu bestimmen, ob alle der erzeugten Verzweigungsbefehle erfolgreich ausgeführt worden sind.
  18. Verfahren nach einem der Ansprüche 13 bis 17, weiter umfassend: – Ausführen des sicheren Codes nachdem das Sicherungsbit gesetzt ist, wobei der sichere Code durch den Prozessor ausgeführt wird, und – Rücksetzen des Sicherungsbits, wenn die Ausführung des sicheren Codes beendet ist.
  19. Verfahren nach Anspruch 18, weiter umfassend: – Überprüfen, ob eine Flush-Befehlssequenz, die eine Pipeline und/oder einen Befehlscache leert, ausgeführt worden ist, bevor der sichere Code ausgeführt wird.
  20. Computerlesbares Aufzeichnungsmedium, auf dem computerausführbarer Programmcode zum Bereitstellen einer plattformunabhängigen sicheren Domäne gespeichert ist, wobei eine Ausführungsumgebung als eine sichere Domäne oder als eine unsichere Domäne anhand eines Sicherungsbits bestimmt wird, wobei der computerausführbare Programmcode umfasst: – ein Programm zum Erzeugen eines Verzweigungsbefehls durch Überwachen eines Aufrufs eines sicheren Codes durch einen Prozessor (110), – ein Programm zum Bereitstellen des Verzweigungsbefehls für ein Befehlsbypaß-ROM (125), – ein Programm zum Abrufen des Verzweigungsbefehls aus dem Befehlsbypaß-ROM (125) und Ausführen des Verzweigungsbefehls, wobei der Verzweigungsbefehl durch den Prozessor (110) ausgeführt wird, und – ein Programm zum Setzen des Sicherungsbits, wenn der Verzweigungsbefehl erfolgreich durch den Prozessor (110) ausgeführt worden ist.
DE102010029061A 2009-05-18 2010-05-18 Verfahren und Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne Withdrawn DE102010029061A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0043095 2009-05-18
KR1020090043095A KR20100124052A (ko) 2009-05-18 2009-05-18 플랫폼에 비종속적인 보안 환경 제공 장치 및 방법

Publications (1)

Publication Number Publication Date
DE102010029061A1 true DE102010029061A1 (de) 2010-12-02

Family

ID=43028772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010029061A Withdrawn DE102010029061A1 (de) 2009-05-18 2010-05-18 Verfahren und Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne

Country Status (4)

Country Link
US (1) US20100293357A1 (de)
KR (1) KR20100124052A (de)
DE (1) DE102010029061A1 (de)
TW (1) TW201042489A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013101059A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Supervisor mode execution protection
US9256734B2 (en) * 2012-04-27 2016-02-09 Broadcom Corporation Security controlled multi-processor system
US8613090B1 (en) * 2013-02-21 2013-12-17 Atheer, Inc. Method for processing a secure system manager
US8990921B2 (en) 2013-02-21 2015-03-24 Atheer, Inc. Apparatus for processing with a secure system manager
KR102385552B1 (ko) * 2015-12-29 2022-04-12 삼성전자주식회사 시스템-온-칩 및 이를 포함하는 전자 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090043095A (ko) 2007-10-29 2009-05-06 삼성전자주식회사 표시 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1331539B1 (de) * 2002-01-16 2016-09-28 Texas Instruments France Sicherer Modus für Prozessoren, die Speicherverwaltung und Unterbrechungen unterstützen
US7117352B1 (en) * 2002-02-13 2006-10-03 Lsi Logic Corporation Debug port disable mechanism
GB2402785B (en) * 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Processor switching between secure and non-secure modes
US7370210B2 (en) * 2002-11-18 2008-05-06 Arm Limited Apparatus and method for managing processor configuration data
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090043095A (ko) 2007-10-29 2009-05-06 삼성전자주식회사 표시 장치

Also Published As

Publication number Publication date
US20100293357A1 (en) 2010-11-18
TW201042489A (en) 2010-12-01
KR20100124052A (ko) 2010-11-26

Similar Documents

Publication Publication Date Title
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE102007062745B4 (de) Vorrichtung und Verfahren zum schnellen und sicheren Speicherkontextwechsel
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE112010003971T5 (de) Vorübergehende Bereitstellung höherer Vorrechte für ein Rechensystem für eine Benutzerkennung
DE102013022405B3 (de) Schutz globaler Register in einem Multithreaded-Prozessor
DE112006001933B4 (de) Stillegen eines Prozessorbusagenten
DE112019005701T5 (de) Sichere boot-unterstützung für vorrichtungen und zugehörige systeme, verfahren und vorrichtungen
DE112016000576T5 (de) Sicheres Booten eines Computers von einer für den Benutzer vertrauenswürdigen Einheit aus
DE102008021567A1 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE112006001744T5 (de) Manipulationsschutz, um Installation von Betriebssystemen und anderer Software zu beschränken
DE102010029061A1 (de) Verfahren und Vorrichtung zum Bereitstellen einer plattformunabhängigen sicheren Domäne
EP1262856B1 (de) Programmgesteuerte Einheit
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
EP2673731B1 (de) Verfahren zur programmierung eines mobilendgeräte-chips
EP2163956A1 (de) Verfahren zur Bereitstellung einer Steuerungsinformation für eine verteilte Operation in einem Automatisierungssystem, Computerprogramm und Automatisierungssystem
WO2014026760A1 (de) Verfahren zur installation von sicherheitsrelevanten anwendungen in einem|sicherheitselement eines endgerät
WO2024056443A1 (de) Verfahren zum überprüfen von daten in einer recheneinheit
DE102014222181A1 (de) Verfahren zum Betreiben eines Steuergeräts
EP2394232B1 (de) Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software
WO2023036672A1 (de) Ausführen von privilegierten operationen in einem container
DE102021125851A1 (de) Problemmanagement in einem benutzersystem
DE102020207863A1 (de) Verfahren zur sicheren Aktualisierung von Steuergeräten
EP3072080B1 (de) Verfahren und vorrichtung zum manipulationsschutz einer recheneinrichtung
DE102012022875A1 (de) Verfahren und System zur Applikationsinstallation

Legal Events

Date Code Title Description
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: 20121211

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee