DE10394383B4 - Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems - Google Patents

Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems Download PDF

Info

Publication number
DE10394383B4
DE10394383B4 DE10394383.8A DE10394383A DE10394383B4 DE 10394383 B4 DE10394383 B4 DE 10394383B4 DE 10394383 A DE10394383 A DE 10394383A DE 10394383 B4 DE10394383 B4 DE 10394383B4
Authority
DE
Germany
Prior art keywords
computer
memory
area
operating system
units
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.)
Expired - Lifetime
Application number
DE10394383.8A
Other languages
English (en)
Inventor
James Sutton II
Michael Kozuch
David Grawrock
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.)
Tahoe Research Ltd
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE10394383B4 publication Critical patent/DE10394383B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

Ein Verfahren und eine Vorrichtung werden zur Verfügung gestellt, bei welchen ein vertrauenswürdiges Betriebssystem in einen Bereich in einem Speicher geladen wird. Eine Start-Sichern-Operation (SSO) löst eine Verknüpfe-Sichern-Operation (JSO) aus, um alle CPUs bis auf eine in einem Multiprozessorcomputer anzuhalten. Die SSO veranlasst die aktive CPU, eine Komponente eines Betriebssystems in einen spezifizierten Bereich in dem Speicher zu laden, die Identität des geladenen Betriebssystems durch Aufzeichnen eines kryptographischen Hashs des Inhalts des spezifizierten Bereichs in dem Speicher zu registrieren, die Ausführung bei einem bekannten Eintrittspunkt in dem spezifizierten Bereich zu beginnen und die JSO auszulösen, so dass sie die angehaltenen CPUs veranlasst, das gleiche zu tun.

Description

  • Gebiet der Erfindung
  • Diese Erfindung betrifft ein Verfahren und eine Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems für ein virtuelles Maschinen-System. Die Erfindung bezieht sich auf Mikroprozessoren und insbesondere auf die Prozessorsicherheit.
  • Hintergrund
  • Fortschritte der Mikroprozessor- und Kommunikationstechnologie haben viele Möglichkeiten für Anwendungen eröffnet, die über die traditionellen Art, Geschäfte zu tätigen, hinausgehen. Elektronischer Geschäftsverkehr und Business to Business-Transaktionen werden nun populär und erreichen die globalen Märkte mit hoher Geschwindigkeit. Während moderne Mikroprozessorsysteme den Benutzern bequeme und effiziente Verfahren zur Verfügung stellen, um Geschäfte zu tätigen, zu kommunizieren und Transaktionen zu tätigen, sind sie leider auch für skrupellose Angriffe verletzbar. Beispiele dieser Angriffe umfassen Viren, unerlaubtes Eindringen, Verletzung der Sicherheit und Manipulation, um nur einige zu nennen. Computersicherheit wird daher mehr und mehr wichtig, um die Integrität der Computersysteme zu schützen und das Vertrauen der Benutzer zu vergrößern.
  • Im Zusammenhang mit Betriebssystemen wird die Computersicherheit am Anfang dadurch bestimmt, daß man ein vertrauenswürdiges Betriebssystem lädt (oder geladen hat). Ein vertrauenswürdiges Betriebssystem ist dann gegeben, wenn der Benutzer oder ein Dritter später das System inspizieren und feststellen kann, ob ein gegebenes Systems geladen wurde und, wenn dies der Fall ist, ob das System in einer sicheren Umgebung geladen wurde oder nicht.
  • Wenn man jedoch ein normales Betriebssystem bootet, ist es nötig, eine große Vielzahl von Codekomponenten zu booten. Selbst wenn man auswählen könnte, welche Codekomponenten geladen werden sollen, enthält das Betriebssystem eine derart große Menge an Code, daß es schwierig ist, die spezifische Identität des Betriebssystems festzustellen und festzustellen, ob man sich dafür entscheiden sollte, ihm zu trauen, d. h. ob es in einer sicheren Umgebung geladen worden ist.
  • In einer Multiprozessorumgebung kann es besonders schwierig sein, festzustellen, ob man dem Betriebssystem vertrauen kann. Dies liegt daran, daß jede der zentralen Verarbeitungseinheiten (CPUs) oder manchmal sogar eine Systemkomponente, einen Codestrom ausführen kann, der potentiell die Integrität des geladenen Codes verändern oder beeinträchtigen kann. Dementsprechend ist es, zumindest auf dem Niveau des Betriebssystems, häufig nötig, anzunehmen, daß das Betriebssystem vertrauenswürdig ist. Solche Annahmen können sich als falsch herausstellen und zu katastrophalen Pannen bei der Computersicherheit führen.
  • WO 98/36517 A1 offenbart einen Sicherheits-Koprozessor zum Erhöhen der Sicherheit in einem Computersystem. Das Computersystem umfasst den Koprozessor und eine Steuerung für einen Multiprozessor, die zwischen einer CPU eines herkömmlichen Computersystems angeordnet sind, um Steuersignale abzufangen und zu ersetzen, die verschiedene kritische Steuersignalleitungen, die zu der CPU führen, passieren. Die Isolierung der CPU-Steuersignale von dem übrigen Computersystem ermöglicht der Multiprozessorsteuerung in das normale Computersystem einzugreifen, und dem Koprozessor, eine digitale Signatur zu überprüfen.
  • Karger, P.A. und andere: „A Retroperspective an the VAX VMM Security Kernel” in: IEEE Transactions an Software Engineering, Band 17, 1991, Nr. 11, Seiten 1147–1165 offenbart die Entwicklung eines Virtual Machine Monitor (VMM) Security Kernel für eine VAX-Architektur. Der VAX Security Kernel unterstützt mehrere virtuelle Maschinen auf einem einzelnen VAX-System und ermöglicht die Isolierung und Steuerung von sensitiven Daten.
  • Um die Prozessorsicherheit zu erhöhen, stellt die Erfindung ein Verfahren nach Anspruch 1 und eine Vorrichtung nach Anspruch 19 bereit.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird anhand von beispielhaften Ausführungsformen, jedoch keinen Beschränkungen, beschrieben, die in den beigefügten Zeichnungen illustriert sind und in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen und in denen:
  • 1 ein Diagramm ist, welches einen verallgemeinerten Überblick der Organisation von typischen Betriebssystemkomponenten und entsprechenden Privilegstufen illustriert,
  • 2 ein Blockdiagramm ist, welches eine verallgemeinerte Ausführungsform eines Computersystems illustriert, in welchem die Erfindung verkörpert ist und bei dem bestimmte Aspekte der Erfindung praktiziert werden können,
  • 3 ein Flußdiagramm ist, welches bestimmte Aspekte eines Verfahrens illustriert, das von einer Rechenvorrichtung auszuführen ist, welche eine Ausführungsform der illustrierten Erfindung ausführt, die in 2 gezeigt ist,
  • 4 ein Flußdiagramm ist, welches bestimmte andere Aspekte eines Verfahrens illustriert, das von einer Rechenvorrichtung auszuführen ist, welche eine Ausführungsform der illustrierten Erfindung, die in 2 gezeigt ist, ausführt,
  • 5 ein Flußdiagramm ist, welches bestimmte Aspekte eines Verfahrens illustriert, das von einer Rechenvorrichtung auszuführen ist, welche eine weitere Ausführungsform der illustrierten Erfindung ausführt, die in 2 gezeigt ist, und
  • 6 ein Blockdiagramm ist, welches eine verallgemeinerte Ausführungsform eines Computersystems illustriert, in dem bestimmte Aspekte der Erfindung praktiziert werden können, die in 2 bis 5 illustriert ist.
  • Detaillierte Beschreibung
  • In der folgenden Beschreibung werden verschiedene Aspekte der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems, beschrieben.
  • Ein Prinzip für die Gewährleistung von Sicherheit in einem Computersystem oder einer Plattform besteht in dem Konzept der Durchsetzung von Privilegien. Privilegstufen (privilege levels) beschränken die Systemressourcen (beispielsweise privilegierte Anweisungen, Speicher, Eingabe-/Ausgabegeräte und dergleichen), auf welche eine bestimmte Softwarekomponente zugreifen kann. 1 ist ein Diagramm, welches einen verallgemeinerten Überblick der Organisation von typischen Betriebssystemkomponenten und zugehörigen Privilegstufen illustriert. In einem System ohne Virtuellrechner(VM)-Technologie (virtual machine technology) 100, umfaßt das Betriebssystem 120 eine kleine residente Programmkomponente, welche privilegierter Softwarenukleus 125 genannt wird und mit der höchsten Privilegstufe 170 arbeitet, d. h. der privilegierte Softwarenukleus 125 kann sowohl privilegierte als auch nicht privilegierte Anweisungen ausführen und auf Speicher- und Eingabe/Ausgabe-Geräte zugreifen. Eine andere Art von Systemkomponenten, die Gerätetreiber 130, arbeiten ebenfalls mit einer hohen Privilegstufe 170, insbesondere wenn das System Transaktionen mit direktem Speicherzugriff (DMA (direct memory access)) unterstützt, bei denen ein Gerätetreiber 130 den Inhalt seines Geräts direkt in den Speicher schreiben kann, ohne einen Prozessor zu involvieren (d. h. ohne den privilegierten Softwarenukleus 125 zum Zugreifen auf den Speicher zu benutzen). Weitere Arten von Systemkomponenten, wie die Anwendungen 140, arbeiten mit einer geringeren Privilegstufe 180 und sind nur in der Lage, nicht privilegierte oder weniger privilegierte Anweisungen auszuführen oder Überwachungsaufrufe (SVC (supervisory calls)) bei dem privilegierten Softwarenukleus 125 in dem Betriebssystem 120 auszuführen, um die privilegierten Instruktionen auszuführen oder, allgemeiner gesprochen, auf privilegierte Systemressourcen für die Anwendung 140 zuzugreifen.
  • In einem System mit VM-Technologie 110 arbeitet eine weitere Art von Systemkomponenten mit dem höchsten Privileg: der Virtuellrechnermonitor (VMM (virtual-machine monitor)) 150. In einen VM-System 110 arbeitet das Betriebssystem 120 tatsächlich mit einem geringeren Privileg als der VMM 150. Bei einigen VMM-Implementierungen kann der VMM 150 in eine VMM-Kernkomponente 150 und eine oder mehrere VMM-Erweiterungen 160 aufgeteilt sein, welche mit einem geringeren Privileg als die VMM-Kernkomponente 150, aber mit einem höheren Privileg als das Betriebssystem 120 arbeiten. Auf diese Weise wahrt die VMM-Kernkomponente 150 ihre Integrität bei der Anwesenheit von fehlerhaften VMM-Erweiterungen 160.
  • 2 ist ein Blockdiagramm, welches eine verallgemeinerte Ausführungsform eines Computersystems 200 illustriert, in welcher die Erfindung inkorporiert ist und bei dem bestimmte Aspekte der Erfindung praktiziert werden können. Klarstellend wird darauf hingewiesen, daß die Unterscheidung zwischen den verschiedenen Komponenten des Computersystems 200 nur eine logische Unterscheidung ist. In der Praxis können alle Komponenten auf demselben Siliciumchip integriert sein, auf mehrere Chips aufgeteilt sein oder in einer Kombination von beidem implementiert sein, ohne den Bereich der Erfindung zu verlassen. Bei dem dargestellten Computersystem 200 haben entweder die zentralen Verarbeitungseinheiten (CPU) 210/220/230 oder die Geräte 240/245/250 die erforderlichen hohen Privilegstufen 170, welche sie dazu befähigen, Transaktionen in dem Speicher 270 einzuleiten. Der Speichercontroller 260 ist dafür verantwortlich, die Speichertransaktion von dem Speicher 270 zu dem geeigneten Ziel weiterzuleiten.
  • Das Computersystem 200 umfaßt weiterhin einen Hash-Digest 280 von kryptographischen Hash-Werten, welche den Inhalt von einer oder mehreren Betriebssystemkomponenten identifizieren, die in Bereiche in dem Speicher 270 geladen worden sind. Es wird angemerkt, daß es auf diesem Gebiet bekannt ist, daß ein kryptographischer Hash-Wert durch eine mathematische oder sonstige Einwegfunktion generiert wird, welche eine Eingabekette variabler Länge, Urbild (”pre-image”) genannt, annimmt und diese in eine in der Regel kürzere Ausgabekette fester Länge konvertiert, welche Hash-Wert genannt wird. Die Hash-Funktion ist unidirektional insoweit, als es schwierig ist, ein Urbild zu generieren, welches mit dem Hash-Wert eines anderen Urbilds übereinstimmt. Eine Hash-Digest-Signiermaschine 290 besitzt einen sicheren Kanal, um auf den Hash-Digest 280 zuzugreifen, und signiert den Inhalt des Hash-Digest 280, wenn sie eine Anforderung erhält, dies zu tun. Das Signieren des Inhalts eines Hash-Digests 280 ist auf diesem Gebiet bekannt und wird verwendet, um eine digitale Signatur zu erzeugen, die später dazu verwendet werden kann, die Identität des Signierers zu authentifizieren und zu gewährleisten, daß der Inhalt der Hash-Digest 280 nicht manipuliert worden ist. Durch das Fordern einer solchen Signierung kann eine außenstehende Entität den Zustand der Systemkomponenten, über die der Hash berichtet, beobachten und entscheiden, ob sie dem Computersystem 200 traut oder nicht, traut, d. h. ob der signierte Inhalt des Hash-Digests 280 der erwarteten Signatur der Systemkomponenten entspricht oder nicht.
  • Um zu gewährleisten, daß der Zustand der Komponenten, der durch den Hash berichtet wird, derart ist, daß dem Computersystem 200 vertraut werden kann, ist in jeder der CPUs 210/220/230 des Computersystems eine Ausführungsform des Verfahrens und der Vorrichtung der vorliegenden Erfindung inkorporiert oder sie ist in der Lage, eine solche Ausführungsform zu inkorporieren, um die Installation (oder das Laden) eines vertrauenswürdigen Betriebssystems zu erleichtern.
  • In einer Ausführungsform umfassen die Vorrichtung und das Verfahren der vorliegenden Erfindung eine Start-Sichern-Operation (SSO (start secure operation)) 206 und eine Verknüpfe-Sichern-Operation (JSO (join secure operation)) 204, welche jeweils in der Lage sind, auf eine der CPUs des Computersystems 210/220/230 zu operieren. Die SSO 206 und die JSO 204 sind logische Operationen, die in atomischer Weise ausgeführt werden, um die Integrität des Computersystems 200 zu gewährleisten. Die SSO 206 und JSO 204 können als eine Reihe von privilegierten Anweisungen implementiert sein, die in Software, Hardware oder einer Kombination hiervon ausgeführt werden, ohne den Bereich der Erfindung zu verlassen.
  • In einer Ausführungsform nimmt die SSO 206 einen Bereich (oder Bereiche) des Speichers 270, der in einem Speicherbereichparameter 202 spezifiziert wurde, und veranlaßt das Computersystem 200, eine Anzahl von Operationen auszuführen, welche eine der CPUs 210/220/230 veranlassen, eine oder mehrere Komponenten des Betriebssystemcodes in dem spezifizierten Bereich des Speichers 270 zu laden und zu registrieren, während die JSO 204 die anderen CPUs daran hindert, zu stören. Auf das Laden einer oder mehrerer Betriebssystemkomponenten zwingen die JSO 204 und die SSO 206 weiterhin die CPUs 210/220/230 dazu, zu einem bekannten Eintrittspunkt in dem nun gesicherten spezifizierten Bereich des Speichers 270, der auch als Sicherheitskern 275 bezeichnet wird, in einen bekannten, privilegierten Zustand zu springen, d. h. einen bekannten Zustand, welcher den Zugriff auf die Ressourcen des Computersystems 200 gemäß der entsprechenden hohen Privilegstufe der CPU gestattet.
  • In einer Ausführungsform setzt die SSO 206, sobald der Bereich oder die Bereiche in dem Speicher 270, die gesichert werden sollen, über einen Speicherbereichparameter 202 oder auf andere Weise identifiziert worden sind, den Code, der gesichert werden soll, in den identifizierten Bereich in dem Speicher 270, d. h. sie setzt den Betriebssystemcode (oder einen Teil davon) in den Sicherheitskern 275. Der Code kann irgendein Code sein, dem man vertrauen möchte, wie der privilegierte Softwarenukleus 125 des Betriebssystems 120 oder, in einem System mit VM 110, der VMM-Kern 150, der VM-Monitorkerncode.
  • In einer Ausführungsform startet die SSO 206, sobald der Code in den Sicherheitskern 275 gesetzt worden ist, das Betriebssystem in sicherer Weise, indem die Identität des Betriebssystemcodes, zum Beispiels des privilegierten Softwarenukleus 125 oder des VMM-Kerns 150, registriert wird. Die SSO 206 registriert die Identität des Codes, in dem ein Hash-Digest 280 des Codes berechnet und registriert wird und der Hash-Digest 280 kryptographisch mit der Hash-Digest-Signiermaschine 290 signiert wird. Wenn das Betriebssystem einmal registriert ist, wird es ein vertrauenswürdiges Betriebssystem, das durch eine außenstehende Entität verifiziert werden kann.
  • In einem Computersystem 200 mit mehr als einer CPU, wie in 2 illustriert, muß das Computersystem 200 auch in der Lage sein, die CPUs 220/230 außer der CPU 210, welche die SSO 206 ausführt, daran zu hindern, das gesicherte Starten des vertrauenswürdigen Betriebssystems zu stören. Dementsprechend ist jede CPU 210/220/230 weiterhin mit einer JSO 204 versehen. Wenn eine SSO 206 auf der CPU 210 initiiert wird, signalisiert die SSO 206 den anderen CPUs 220/230, eine JSO 204 auszuführen.
  • In einer Ausführungsform zwingt die JSO 204 die entsprechenden CPUs 220/230, in einen besonderen angehaltenen Zustand einzutreten und ihren Eintritt in den angehaltenen Zustand der initiierenden SSO CPU 210 anzuzeigen. Wenn die initiierende SSO CPU 210 Anhaltesignale von allen anderen CPUs 220/230 erhält, beginnt die SSO 206 damit, ein vertrauenswürdiges Betriebssystem zu laden, indem sie den gewünschten Code in den Sicherheitskern 275 setzt und ihn registriert. Wenn die CPU 210, welche die SSO 206 initiiert hat, das Laden des vertrauenswürdigen Betriebssystems abgeschlossen hat, d. h. wenn die Identität des Codes in dem Sicherheitskern 275 registriert worden ist, zwingt die SSO 206 die CPU 210 dazu, zu einem bekannten Eintrittspunkt in dem Sicherheitskern 275 zu springen, der nun einen bekannten, privilegierten Zustand als Ergebnis der Operation der SSO 206 besitzt. Zusätzlich signalisiert die SSO 206 den anderen CPUs 220/230, ihren jeweiligen speziellen angehaltenen Zustand zu verlassen. Auf das Verlassen des angehaltenen Zustands zwingt die JSO 204 die CPUs 220/230 dazu, ebenfalls zu einem bestimmten Eintrittspunkt in dem Sicherheitskern 275 zu springen.
  • In einer Ausführungsform wird der Speicherbereichparameter 202 als ein Bereich von Adressen in dem Speicher 270 spezifiziert und enthält ein oder mehrere Paare von Start- und Stoppadressen. Andere Arten der Spezifizierung, welcher Bereich oder welche Bereiche in dem Speicher 270 gesichert werden sollen, können verwendet werden, ohne den Bereich der Erfindung zu verlassen. Zum Beispiel kann eine alternative Ausführungsform des Speicherbereichparameters 202 als eine Startadresse und eine Bereichslänge spezifiziert werden.
  • 3 ist ein Flußdiagramm, welches bestimmte Aspekte eines Verfahrens illustriert, das von einer Rechenvorrichtung ausgeführt werden soll, welche eine Ausführungsform der illustrierten Erfindung ausführt, die in 2 gezeigt ist. Insbesondere illustriert 3 einige der Maßnahmen, die von einem Computer, der eine SSO 206, welche eine Ausführungsform der Erfindung verkörpert, ausgeführt werden. Die Verarbeitung beginnt bei Prozeß 305, wo eine der CPUs des Computersystems 200, zum Beispiel die CPU 210, sich vorbereitet, eine SSO 206 auszuführen, indem sie bei dem Prozeß 310 gewährleistet, daß alle anderen CPUs 220/230 des Computersystems 200 eine JSO 204 ausgeführt haben. Die JSO 204 veranlaßt die anderen CPUs 220/230 des Computersystems 200, in einen angehaltenen Zustand einzutreten, so daß sie die SSO 206 und die CPU 210 während des Ladens des vertrauenswürdigen Betriebssystems nicht stören können. In einer Ausführungsform fährt die SSO 206, nachdem alle anderen CPUs 220/230 angehalten worden sind, bei dem Prozeß 315 fort, die CPU 210 oder, in manchen Fällen, den Speichercontroller 260, zu veranlassen, die Geräte 240/245/250 des Computersystems daran zu hindern, auf Bereiche in dem Speicher 270 zuzugreifen, die in Speicherbereichparametern 202 spezifiziert sind, d. h. auf den Sicherheitskern 275. Das Hindern von Geräten für die Dauer der SSO 206 daran, auf den Sicherheitskern 275 zuzugreifen, ist typischerweise nur bei einem Computersystem 200 erforderlich, welches einen direkten Speicherzugriff (DMA (direct memory access)) unterstützt. In einer Ausführungsform kann ein Hindern von Geräten daran, auf den Sicherheitskern 275 zuzugreifen, auch durch einen Standardchipset bewirkt werden.
  • In einer Ausführungsform löscht die SSO 206 bei dem Prozeß 320 den aktuellen Inhalt des Hash-Digests 280 als Vorbereitung für das Aufzeichnen von aktueller Plattform- und Hash-Digest-Information. Bei dem Prozeß 325 zeichnet die SSO 206 die Plattforminformation in dem Hash-Digest 280 auf. Das Aufzeichnen der Plattforminformation kann notwendig sein, oder auch nicht, je nach der Architektur des Computersystems 200, und kann die Versionsnummer der CPU 210, welche die SSO 206 ausführt, und dergleichen enthalten. Bei dem Prozeß 330 berechnet die SSO 206 weiterhin einen kryptographischen Hash-Digest des Codes, der sich nun in dem Sicherheitskern 275 befindet, d. h. des privilegierten Softwarenukleus 125 oder des VMM-Kerns 150. Die SSO 206 zeichnet weiterhin die Information, ebenfalls in dem Hash-Digest 280, auf. Bei dem Prozeß 335 setzt die SSO 206, nachdem sie die notwendige Information in dem Hash-Digest 280 aufgezeichnet hat, die CPU 210 in einen bekannten privilegierten Zustand. Wenn sich die CPU 210 in dem bekannten privilegierten Zustand befindet, kann die SSO 206 weiterhin die CPU 210 zwingen, zu einem bekannten Eintrittspunkt in dem Sicherheitskern 275 zu springen. Der bekannte Eintrittspunkt kann jeder adressierbare Bereich des Sicherheitskerns 275 sein. Sobald die CPU 210 zu dem bekannten Eintrittspunkt gesprungen ist, ist die SSO vollständig und signalisiert den anderen CPUs 220/230, ihre Aktivität wieder aufzunehmen, und gibt die Kontrolle an die CPU 210 zurück.
  • Auf den Abschluß der SSO 206 kann eine außenstehende Entität eine Anforderung an die Hash-Digest-Signiermaschine 290 senden, um einen sicheren Kanal zu aktivieren, um auf den Hash-Digest 280 zuzugreifen und die Digest-Signiermaschine 290 zu veranlassen, den Inhalt des Digests 280, der von der SSO 206 aufgezeichnet worden ist, zu lesen und kryptographisch zu signieren. Wie bereits früher angemerkt wurde, kann durch die Anforderung einer solchen Signierung die außenstehende Entität den Zustand von Komponenten, die durch den Hash berichtet werden, beobachten und entscheiden, ob sie dem Computersystem 200 vertraut oder nicht, d. h. ob ein vertrauenswürdiges Betriebssystem geladen worden ist oder nicht.
  • 4 ist ein Flußdiagramm, welches bestimmte Aspekte eines Verfahrens illustriert, das von einer Rechenvorrichtung ausgeführt werden soll, die eine Ausführungsform der illustrierten Erfindung ausführt, die in 2 gezeigt ist. Insbesondere illustriert 4 einige der Maßnahmen, die durch einen Computer ausgeführt werden sollen, der eine JSO 204 ausführt, welche eine Ausführungsform der Erfindung verwirklicht. Die Verarbeitung beginnt bei Prozeß 405, wo jede der Nicht-SSO-CPUs des Computersystems, zum Beispiel die CPUs 220/230, in einen besonderen angehaltenen Zustand in Reaktion auf die Aktionen der SSO 206 auf der CPU 210 eintritt. Der angehaltene Zustand hindert die CPUs 220/230 daran, die SSO 206 und die CPU 210 während des Ladens des vertrauenswürdigen Betriebssystems zu stören. Die CPUs 220/230 signalisieren es jeweils der SSO 206 auf der CPU 210, wenn sie in den angehaltenen Zustand treten. Die JSO 204 setzt sich bei dem Entscheidungsprozeß 415 fort, welcher wartet, bis er ein Signal erhält, daß die SSO 206 auf der CPU 210 die Initialisierung eines vertrauenswürdigen Betriebssystems abgeschlossen. hat. Sobald die Initialisierung vollständig ist, fährt die JSO 204 bei dem Prozeß 420 fort und veranlaßt die CPUs 220/230, den speziellen angehaltenen Zustand zu verlassen. Bei dem Prozeß 425 veranlaßt die JSO 204 die CPUs 220/230, zu einem bekannten Eintrittspunkt in dem Sicherheitskern 275 zu springen, wonach die JSO 204 die Verarbeitung bei dem Abschluß 430 abschließt und die Kontrolle an die entsprechenden CPUs 220/230 zurückgibt.
  • Während die 34 eine verallgemeinerte Ausführungsform der SSO 206- und JSO 204-Prozesse beschreiben, beschreibt 5 eine beispielhafte Implementierung der SSO 206 und JSO 204 auf einem Computersystem 200 mit VM 110, einschließlich VM-Systemen mit 32-Bit-CPUs und VMM-Erweiterungen 160. Die Verarbeitung beginnt bei Prozeß 505, wo die SSO 206 auf einer der CPUs des Computersystems 200, zum Beispiel der CPU 210, Speicherbereichparameter 202 in der Form einer physikalischen Startadresse als Parameter EAX bezeichnet, und eine physikalische Endadresse, bezeichnet als Parameter ECX empfängt. Zusammen spezifizieren die Adressen, die in den Parametern EAX und ECX spezifiziert sind, den Bereich in dem Speicher 270, der gesichert werden soll. Die SSO 206 ergreift vorbereitende Maßnahmen bei dem Prozeß 510, um die erforderliche Umgebung zu schaffen, in welcher die SSO 206 arbeiten wird. Die vorbereitenden Maßnahmen hängen von der Architektur des Computersystems 200 ab und können, ohne hierauf beschränkt zu sein, umfassen, daß gewährleistet wird, daß die physikalische Startadresse EAX einen Wert besitzt, der geringer als die physikalische Endadresse ECX ist. Zusätzlich kann die SSO 206 gewährleisten, daß der geschützte Modus der CPU 210 aktiviert wird, während die Seitenspeicher (paging)-Funktion, physikalische Adresserweiterungen und VM-Erweiterungsmoden deaktiviert sind und daß die Privilegstufe der CPU 210 vorübergehend auf Null gesetzt wird. Andere mögliche vorbereitende Maßnahmen können umfassen, den direkten Speicherzugriff (DMA) zu dem Bereich oder den Bereichen in dem Speicher 270, die gesichert werden sollen, d. h. dem Sicherheitskern 275, zu deaktivieren und Hardware-Unterbrechungen zu der CPU 210 zu deaktivieren. Die Deaktivierung von Hardware-Unterbrechungen hilft dabei, zu gewährleisten, daß die SSO 206 und die JSO 204 atomisch ausgeführt werden. Es ist sehr wichtig, daß die SSO 206 die erforderliche Umgebung für das Laden eines vertrauenswürdigen Betriebssystems schafft, indem sie jede der anderen CPUs 220/230 veranlaßt, eine JSO 204 zu beginnen, um zu gewährleisten, daß alle Nicht-SSO-CPUs angehalten werden und dadurch daran gehindert werden, den Betrieb der SSO 206 zu stören.
  • Nach dem Abschluß der vorbereitenden Maßnahmen setzt sich die SSO 206 bei dem Prozeß 515 fort, um einen kryptographischen Hash 280 für den spezifizierten Bereich in dem Speicher 270 zu schaffen, der bei der Adresse EAX beginnt und bei der Adresse ECX endet. Wenn mehrere Bereiche in dem Speicher 270 gesichert werden, wird der Prozeß 515 wiederholt, bis alle gesicherten Bereiche, d. h. der gesamte Sicherheitskern 275, in dem kryptographischen Hash 280 enthalten sind. Bei dem Prozeß 520 zeichnet die SSO 206 den kryptographischen Hash 280 in einen Chipsetregister auf, welcher als Hash-Digest 280 fungiert. Die SSO 206 setzt sich bei dem Prozeß 525 fort, indem sie die CPU 210 veranlaßt, in einen bekannten Zustand einzutreten, und dann weiter bei dem Prozeß 530, indem sie die CPU 210 veranlaßt, zu dem gehashten Bereich (d. h. dem gesicherten Bereich) in dem Speicher 270 zu springen, d. h. in den Sicherheitskern 275. Die SSO 206 endet bei dem Prozeß 535, wo die CPU in dem veranlaßten bekannten Zustand ist, wobei alle Unterbrechungen deaktiviert sind, und der Sicherheitskern 275 ist gesichert.
  • 6 illustriert eine Ausführungsform eines Universalrechners (general purpose-computer system) 600, bei dem eine Ausführungsform der Erfindung, die in den 25 illustriert ist, praktiziert werden kann. Eine Ausführungsform der vorliegenden Erfindung kann auf einer Personal Computer(PC)-Architektur implementiert werden. Es ist jedoch für Fachleute mit gewöhnlichem Können klar, daß alternative Computersystemarchitekturen oder andere Prozessorvorrichtungen, programmierbar oder auf Elektronikbasis, ebenfalls verwendet werden können.
  • Im allgemeinen umfassen Computersysteme, wie sie in 6 illustriert sind, einen oder mehrere Prozessoren 602, die über einen Bus 601 mit einem Direktzugriffspeicher (RAM) 603, einem Festspeicher (ROM) 604 und einer Massenspeichervorrichtung 607 gekoppelt sind. Die Massenspeichervorrichtung 607 stellt eine beständige Datenspeichervorrichtung dar, wie ein Floppydisc-Laufwerk, ein Festplattenlaufwerk (zum Beispiel magnetisch, optisch, magnetooptisch oder dergleichen) oder ein Streamer-Bandlaufwerk, dar. Der Prozessor 602 repräsentiert eine zentrale Verarbeitungseinheit eines beliebigen Architekturtyps, wie CISC (Complex Instruction Set Computer), eines RISC (Reduced Instruction Set Computer), VLIW (Very Long Instruction Word) oder einer Hybridarchitektur. In einer Ausführungsform sind die Prozessoren 602 mit einem Intel-Architektur(IA)-Prozessor kompatibel, wie der PentiumTM-Serie, dem IA-32TM und dem IA-64TM. In einer Ausführungsform umfaßt das Computersystem 600 eine beliebige Anzahl von Prozessoren, wie die in 2 illustrierten CPUs 210/220/230.
  • Ein Anzeigegerät 605 ist mit dem oder den Prozessoren 602 über den Bus 601 gekoppelt und liefert eine graphische Ausgabe für das Computersystem 600. Eingabegeräte 606, wie eine Tastatur oder eine Maus, sind mit dem Bus 601 zum Kommunizieren von Informationen und ausgewählten Befehlen für den Prozessor 602 gekoppelt. Ebenfalls mit dem Prozessor 602 über den Bus 601 gekoppelt ist eine Eingabe/Ausgabe-Schnittstelle 610, welche verwendet werden kann, um Daten zu kontrollieren und zu elektronischen Geräten (Druckern, andere Computer usw.) zu übertragen, die mit dem Computersystem 600 verbunden sind. Das Computersystem 600 umfaßt Netzwerkgeräte 608 zum Verbinden des Computersystems 600 mit einem Netzwerk 614, über welches Daten empfangen werden können, zum Beispiel von einem entfernten Gerät 612. Die Netzwerkgeräte 608 können Ethernet-Geräte, TAE-Einheiten (Telekommunikations-Anschluß-Einheiten) und Satellitenverbindungen umfassen. Es ist für jemanden mit gewöhnlichen Können auf diesem Gebiet klar, daß andere Netzwerkgeräte ebenso verwendet werden können.
  • Eine Ausführungsform der Erfindung kann vollständig als Softwareprodukt auf einem Massenspeicher 607 gespeichert sein. Eine andere Ausführungsform der Erfindung kann in einem Hardwareprodukt, zum Beispiel in einer gedruckten Leiterplatte, in einem Spezialrechner oder in einer speziell programmierten Logikvorrichtung eingebettet sein, die in einer Kommunikationsverbindung mit dem Bus 601 steht. Noch weitere Ausführungsformen der Erfindung können teilweise als Softwareprodukt und teilweise als Hardwareprodukt implementiert werden.
  • Wenn Ausführungsformen der Erfindung als Softwareprodukt dargestellt werden, das auf einem Medium für einen Maschinenzugriff (auch als Medium für Computerzugriff oder Medium für Prozessorzugriff bezeichnet) gespeichert ist, wie der Massenspeichervorrichtung 607, kann das Medium für einen Maschinenzugriff eine beliebige Art eines magnetischen, optischen oder elektrischen Speichermediums sein, was eine Diskette, eine CD-Rom, eine Speichervorrichtung (flüchtig oder nichtflüchtig) oder ähnliche Speichermechanismen einschließt. Das Medium für einen Maschinenzugriff kann verschiedene Sätze von Anweisungen, Codesequenzen, Konfigurationsinformationen oder andere Daten enthalten. Personen mit gewöhnlichem Können auf diesem Gebiet ist klar, daß andere Anweisungen und Operationen, die nötig sind, um die beschriebene Erfindung zu implementieren, ebenfalls auf dem Medium für Maschinenzugriffe gespeichert werden können. In einer Ausführungsform der vorliegenden Erfindung umfaßt das Medium für Maschinenzugriff Anweisungen, die, wenn sie durch eine Maschine ausgeführt werden, die Maschine veranlassen, Operationen auszuführen, welche die SSO 206 und JSO 204 umfassen.
  • Dementsprechend wird eine neues Verfahren zum Laden eines vertrauenswürdigen Betriebssystems beschrieben. Aus der vorangehenden Beschreibung erkennen Fachleute auf dem Gebiet, daß viele andere Variationen der vorliegenden Erfindung möglich sind. Zum Beispiel kann es, wenn die Erfindung auf einem Großrechner (Mainframe) oder einer vergleichbaren Maschinenklasse implementiert wird, nicht erforderlich sein, den direkten Speicherzugriff (DMA) auf den Bereich oder die Bereiche in dem Speicher 270 zu deaktivieren, die gesichert werden sollen, d. h. den Sicherheitskern 275, oder Hardware-Unterbrechungen zu der CPU 210 zu deaktivieren. Andererseits können, wenn die Erfindung auf einer Maschine mit einer PC-Architektur implementiert wird, solche zusätzlichen Schutzmechanismen erforderlich sein, um eine Betriebsumgebung zu schaffen, in der die Erfindung praktiziert werden kann. Daher ist die vorliegende Erfindung nicht durch die beschriebenen Details begrenzt.

Claims (27)

  1. Verfahren zum Laden eines vertrauenswürdigen Betriebssystems für ein VM(virtuelle Maschine)-System in einem Rechnersystem mit mehreren Rechnereinheiten, wobei das Verfahren Folgendes umfasst: Anhalten aller außer einer der mehreren Rechnereinheiten in dem Rechnersystem, wobei die angehaltenen Rechnereinheiten in einem speziellen angehaltenen Zustand eintreten; Identifizieren eines Bereichs zum Laden einer Betriebssystemkomponente für das VM-System in einem Speicher des Rechnersystems, der von den mehreren Rechnereinheiten gemeinsam nutzbar ist; Laden der Betriebssystemkomponente in den identifizierten Bereich erst nach dem Anhalten aller außer einer der Rechnereinheiten; Schützen des identifizierten Bereichs vor Zugriffen durch die angehaltenen Rechnereinheiten; Verwenden eines signierten kryptografischen Hashs des identifizierten Bereichs zum Verifizieren, ob der Betriebssystemkomponente vertraut werden kann, wobei der signierte kryptografische Hash einer außenstehenden Entität ermöglicht, zu entscheiden, ob der signierte kryptografische Hash einer erwarteten Signatur der Betriebssystemkomponente entspricht; Setzen der nicht angehaltenen Rechnereinheit in einen bekannten privilegierten Zustand; und Veranlassen, dass die angehaltenen Rechnereinheiten den angehaltenen Zustand verlassen, nachdem die nicht angehaltene Rechnereinheit in bekannten privilegierten Zustand gesetzt wurde.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Veranlassen, dass die nicht angehaltene Rechnereinheit zu einem bekannten Anfangspunkt in dem identifizierten Bereich in dem Speicher springt.
  3. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Veranlassen, dass die angehaltenen Rechnereinheiten zu einem bekannten Eintrittspunkt in dem identifizierten Bereich in dem Speicher nach dem Verlassen des angehaltenen Zustandes springen.
  4. Verfahren nach Anspruch 1, wobei das Identifizieren des Bereichs des Speichers ein Empfangen eines Bereichsparameters umfasst, wobei der Bereichsparameter einen Ort in dem Bereich spezifiziert.
  5. Verfahren nach Anspruch 4, wobei der Ort einen Adressbereich in einem Speicher des Rechnersystems umfasst, innerhalb dessen sich der identifizierte Bereich befindet.
  6. Verfahren nach Anspruch 4, wobei der Ort eine Startadresse und eine Länge des Speichers des Rechnersystems umfasst, innerhalb dessen sich der identifizierte Bereich befindet.
  7. Verfahren nach Anspruch 1, wobei die Betriebssystemkomponente ein virtueller Maschinenmonitor oder ein privilegierter Softwarekern ist.
  8. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Blockieren des Zugriffs zu dem Bereich des Speichers für einen Zeitraum sogar nachdem die angehaltenen Rechnereinheiten in den angehaltenen Zustand eingetreten sind, wenn die mehreren Rechnereinheiten in einem Rechnersystem implementiert sind, das direkten Speicherzugriff (DMA) unterstützt.
  9. Verfahren nach Anspruch 1, wobei das Identifizieren, Laden und Verwenden des signierten kryptografischen Hashs des identifizierten Bereichs zum Verifizieren, ob der Betriebssystemkomponente vertraut werden kann, nicht unterbrechbar sind.
  10. Hergestellter Gegenstand, welcher ein maschinenlesbares Speichermedium umfasst, das Anweisungen aufweist, die, wenn sie durch eine Maschine ausgeführt werden, die Maschine zu veranlassen, das Verfahren nach Anspruch 1 durchzuführen.
  11. Hergestellter Gegenstand nach Anspruch 10, der ferner Folgendes umfasst: Veranlassen, dass die nicht angehaltene Rechnereinheit zu einem bekannten Anfangspunkt in dem identifizierten Bereich in dem Speicher springt.
  12. Hergestellter Gegenstand nach Anspruch 10, der ferner Folgendes umfasst: Veranlassen, dass die angehaltenen Rechnereinheiten zu einem bekannten Eintrittspunkt in dem identifizierten Bereich in dem Speicher nach dem Verlassen des angehaltenen Zustandes springen.
  13. Hergestellter Gegenstand nach Anspruch 10, wobei das Identifizieren des Bereichs des Speichers ein Empfangen eines Bereichsparameters umfasst, wobei der Bereichsparameter den Ort in dem Bereich spezifiziert.
  14. Hergestellter Gegenstand nach Anspruch 13, wobei der Ort einen Adressbereich in einem Speicher des Rechnersystems umfasst, innerhalb dessen sich der identifizierte Bereich befindet.
  15. Hergestellter Gegenstand nach Anspruch 13, wobei der Ort eine Startadresse und eine Länge des Speichers des Rechnersystems umfasst, innerhalb dessen sich der identifizierte Bereich befindet.
  16. Hergestellter Gegenstand nach Anspruch 10, wobei die Betriebssystemkomponente ein virtueller Maschinenmonitor oder ein privilegierter Softwarekern ist.
  17. Hergestellter Gegenstand nach Anspruch 10, der ferner Folgendes umfasst: Blockieren des Zugriffs zu dem Bereich des Speichers für einen Zeitraum sogar nachdem die angehaltenen Rechnereinheiten in den angehaltenen Zustand eingetreten sind, wenn die mehreren Rechnereinheiten in einem Rechnersystem implementiert sind, das direkten Speicherzugriff (DMA) unterstützt.
  18. Hergestellter Gegenstand nach Anspruch 10, wobei das Identifizieren, Laden und Verwenden des signierten kryptografischen Hashs des identifizierten Bereichs zum Verifizieren, ob der Betriebssystemkomponente vertraut werden kann, nicht unterbrechbar sind.
  19. Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems für ein VM(Virtuelles Maschinen)-System, die Folgendes umfasst: mehrere Rechnereinheiten; und einen Speicher, der von den mehreren Rechnereinheiten gemeinsam nutzbar ist, wobei der Speicher Anweisungen umfasst, um auf den mehreren Rechnereinheiten ausgeführt zu werden, wobei die Anweisungen, wenn sie ausgeführt werden, die mehreren Rechnereinheiten veranlassen, Vorgänge auszuführen, die Folgendes umfassen: Anhalten aller außer einer der mehreren Rechnereinheiten in dem Rechnersystem, wobei die angehaltenen Rechnereinheiten in einem speziellen angehaltenen Zustand eintreten; Identifizieren eines Bereichs zum Laden einer Betriebssystemkomponente für ein VM(virtuelle Maschine)-System in einem Speicher des Rechnersystems, der von den mehreren Rechnereinheiten gemeinsam nutzbar ist; Laden der Betriebssystemkomponente in den identifizierten Bereich erst nach dem Anhalten aller außer einer der Rechnereinheiten; Schützen des identifizierten Bereichs vor Zugriffen durch die angehaltenen Rechnereinheiten; Verwenden eines signierten kryptografischen Hashs des identifizierten Bereichs zum Verifizieren, ob der Betriebssystemkomponente vertraut werden kann, wobei der signierte kryptografische Hash einer außenstehenden Entität ermöglicht, zu entscheiden, ob der signierte kryptografische Hash einer erwarteten Signatur der Betriebssystemkomponente entspricht; Setzen der nicht angehaltenen Rechnereinheit in einen bekannten privilegierten Zustand; und Veranlassen, dass die angehaltenen Rechnereinheiten den angehaltenen Zustand verlassen, nachdem die nicht angehaltene Rechnereinheit in bekannten privilegierten Zustand gesetzt wurde.
  20. Vorrichtung nach Anspruch 19, wobei die Anweisungen, wenn sie ausgeführt werden, weiterhin die mehreren Rechnereinheiten veranlassen, Vorgänge auszuführen, die Folgendes umfassen: Veranlassen, dass die nicht angehaltene Rechnereinheit zu einem bekannten Anfangspunkt in dem identifizierten Bereich in dem Speicher springt.
  21. Vorrichtung nach Anspruch 19, wobei die Instruktionen, wenn sie ausgeführt werden, ferner die mehreren Rechnereinheiten veranlassen, Vorgänge auszuführen, die Folgendes umfassen: Veranlassen, dass die angehaltenen Rechnereinheiten zu einem bekannten Eintrittspunkt in dem identifizierten Bereich in dem Speicher nach dem Verlassen des angehaltenen Zustandes springen.
  22. Vorrichtung nach Anspruch 19, wobei das Identifizieren des Bereichs des Speichers ein Empfangen eines Bereichsparameters umfasst, wobei der Bereichsparameter einen Ort in dem Bereich spezifiziert.
  23. Vorrichtung nach Anspruch 22, wobei der Ort einen Adressbereich in einem Speicher des Rechnersystems umfasst, innerhalb dessen sich der identifizierte Bereich befindet.
  24. Vorrichtung nach Anspruch 22, wobei der Ort eine Startadresse und eine Länge des Speichers des Rechnersystems umfasst, innerhalb dessen sich der identifizierte Bereich befindet.
  25. Vorrichtung nach Anspruch 19, wobei die Betriebssystemkomponente ein virtueller Maschinenmonitor oder ein privilegierter Softwarekern ist.
  26. Vorrichtung nach Anspruch 19, wobei die Anweisungen, wenn sie ausgeführt werden, die mehreren Rechnereinheiten veranlassen, Vorgänge auszuführen, die Folgendes umfassen: Blockieren des Zugriffs zu dem Bereich des Speichers für einen Zeitraum sogar nachdem die angehaltenen Rechnereinheiten in den angehaltenen Zustand eingetreten sind, wenn die mehreren Rechnereinheiten in einem Rechnersystem implementiert sind, das direkten Speicherzugriff (DMA) unterstützt.
  27. Vorrichtung nach Anspruch 19, wobei das Identifizieren, Laden und Verwenden des signierten kryptografischen Hashs des identifizierten Bereichs zum Verifizieren, ob der Betriebssystemkomponente vertraut werden kann, nicht unterbrechbar sind.
DE10394383.8A 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems Expired - Lifetime DE10394383B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/085,839 2002-02-25
US10/085,839 US7631196B2 (en) 2002-02-25 2002-02-25 Method and apparatus for loading a trustable operating system

Publications (1)

Publication Number Publication Date
DE10394383B4 true DE10394383B4 (de) 2014-01-16

Family

ID=27753730

Family Applications (4)

Application Number Title Priority Date Filing Date
DE10397004.5T Granted DE10397004A5 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE10394383.8A Expired - Lifetime DE10394383B4 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE10397004.5A Expired - Lifetime DE10397004B4 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE10392320T Expired - Lifetime DE10392320B4 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE10397004.5T Granted DE10397004A5 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE10397004.5A Expired - Lifetime DE10397004B4 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE10392320T Expired - Lifetime DE10392320B4 (de) 2002-02-25 2003-02-13 Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems

Country Status (7)

Country Link
US (3) US7631196B2 (de)
CN (1) CN100423013C (de)
AU (1) AU2003213080A1 (de)
DE (4) DE10397004A5 (de)
GB (1) GB2402521B (de)
HK (1) HK1068178A1 (de)
WO (1) WO2003073269A2 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US7249242B2 (en) 2002-10-28 2007-07-24 Nvidia Corporation Input pipeline registers for a node in an adaptive computing engine
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7660984B1 (en) * 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US7496961B2 (en) * 2003-10-15 2009-02-24 Intel Corporation Methods and apparatus to provide network traffic support and physical security support
US8239673B2 (en) * 2004-04-08 2012-08-07 Texas Instruments Incorporated Methods, apparatus and systems with loadable kernel architecture for processors
GB0411654D0 (en) * 2004-05-25 2004-06-30 Hewlett Packard Development Co A generic trusted platform architecture
US7698552B2 (en) * 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US7886293B2 (en) * 2004-07-07 2011-02-08 Intel Corporation Optimizing system behavior in a virtual machine environment
US7370189B2 (en) 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
US7647589B1 (en) * 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
JP4606339B2 (ja) * 2005-02-07 2011-01-05 株式会社ソニー・コンピュータエンタテインメント セキュアなプロセッサの処理の移行を実施する方法および装置
JP4522372B2 (ja) * 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
JP4489030B2 (ja) * 2005-02-07 2010-06-23 株式会社ソニー・コンピュータエンタテインメント プロセッサ内にセキュアな起動シーケンスを提供する方法および装置
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
CN100345112C (zh) * 2005-11-25 2007-10-24 中国科学院软件研究所 操作系统的构件化扩充方法
DE102006008248A1 (de) * 2006-02-22 2007-08-23 Giesecke & Devrient Gmbh Betriebssystem für eine Chipkarte mit einem Multi-Tasking Kernel
US7840795B2 (en) * 2006-10-17 2010-11-23 Zachary Nathaniel Joseph Peterson Method and apparatus for limiting access to sensitive data
JP5990466B2 (ja) 2010-01-21 2016-09-14 スビラル・インコーポレーテッド ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置
US20120047580A1 (en) * 2010-08-18 2012-02-23 Smith Ned M Method and apparatus for enforcing a mandatory security policy on an operating system (os) independent anti-virus (av) scanner
US9830163B2 (en) * 2012-06-08 2017-11-28 Advanced Micro Devices, Inc. Control flow in a heterogeneous computer system
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US9854841B2 (en) 2012-10-08 2018-01-02 Rai Strategic Holdings, Inc. Electronic smoking article and associated method
US9275248B1 (en) * 2013-02-13 2016-03-01 Amazon Technologies, Inc. Updating processor microcode
US9563457B2 (en) 2013-11-18 2017-02-07 Bitdefender IPR Management Ltd. Enabling a secure environment through operating system switching
US9117081B2 (en) 2013-12-20 2015-08-25 Bitdefender IPR Management Ltd. Strongly isolated malware scanning using secure virtual containers
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9519787B2 (en) 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
US10395039B2 (en) * 2016-09-12 2019-08-27 Dell Products, L.P. Customer-owned trust of device firmware
CN108595981B (zh) * 2018-05-09 2021-07-20 深圳市桑格尔科技股份有限公司 加密安卓系统的方法
US11537421B1 (en) * 2019-06-07 2022-12-27 Amazon Technologies, Inc. Virtual machine monitor providing secure cryptographic operations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036517A1 (en) * 1997-02-13 1998-08-20 Jpc, Inc. Security coprocessor for enhancing computer system security

Family Cites Families (287)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) * 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4529870A (en) * 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4571972A (en) * 1984-02-27 1986-02-25 Kinefac Corp. Skewed-axis cylindrical die rolling
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601525B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2601535B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
FR2620248B1 (fr) 1987-09-07 1989-11-24 France Etat Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages
US5007082A (en) 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US4974159A (en) * 1988-09-13 1990-11-27 Microsoft Corporation Method of transferring control in a multitasking computer system
US5079737A (en) 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
EP0473913A3 (en) 1990-09-04 1992-12-16 International Business Machines Corporation Method and apparatus for providing a service pool of virtual machines for a plurality of vm users
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) * 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5446904A (en) * 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
JPH04348434A (ja) 1991-05-27 1992-12-03 Hitachi Ltd 仮想計算機システム
US5276863A (en) * 1991-06-28 1994-01-04 Digital Equipment Corporation Computer system console
US5522075A (en) 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
WO1993009494A1 (en) * 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) * 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
EP0600112A1 (de) 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
US5668971A (en) * 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
EP0602867A1 (de) 1992-12-17 1994-06-22 NCR International, Inc. Vorrichtung zur Sicherheit einer Systemplattform
JPH06187178A (ja) 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
FR2700430B1 (fr) 1992-12-30 1995-02-10 Jacques Stern Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
US5628023A (en) * 1993-04-19 1997-05-06 International Business Machines Corporation Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
FR2714780B1 (fr) 1993-12-30 1996-01-26 Stern Jacques Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification.
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
FR2717286B1 (fr) * 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5533123A (en) 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
FR2752122B1 (fr) 1994-07-28 1998-11-27 France Telecom Procede d'authentification a nombre reduit de bits transmis
US5978481A (en) 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
DE69534757T2 (de) 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5903752A (en) * 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US6269392B1 (en) 1994-11-15 2001-07-31 Christian Cotichini Method and apparatus to monitor and locate an electronic device using a secured intelligent agent
US5560013A (en) * 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
FR2731536B1 (fr) * 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
KR0146438B1 (ko) 1995-05-17 1998-09-15 조백제 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
IL116708A (en) 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
WO1997025798A1 (en) 1996-01-11 1997-07-17 Mrj, Inc. System for controlling access and distribution of digital property
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US5978484A (en) 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
US5978892A (en) 1996-05-03 1999-11-02 Digital Equipment Corporation Virtual memory allocation in a virtual address space having an inaccessible gap
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US6205550B1 (en) * 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
US6178509B1 (en) * 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US6175925B1 (en) * 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US6055637A (en) * 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5937063A (en) 1996-09-30 1999-08-10 Intel Corporation Secure boot
US5935242A (en) * 1996-10-28 1999-08-10 Sun Microsystems, Inc. Method and apparatus for initializing a device
JPH10134008A (ja) * 1996-11-05 1998-05-22 Mitsubishi Electric Corp 半導体装置およびコンピュータシステム
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US5901225A (en) 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US5818939A (en) 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
US5953422A (en) * 1996-12-31 1999-09-14 Compaq Computer Corporation Secure two-piece user authentication in a computer network
US6412035B1 (en) 1997-02-03 2002-06-25 Real Time, Inc. Apparatus and method for decreasing the response times of interrupt service routines
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
JP4000654B2 (ja) 1997-02-27 2007-10-31 セイコーエプソン株式会社 半導体装置及び電子機器
US5867658A (en) * 1997-04-04 1999-02-02 International Business Machines Corporation Method and apparatus for implementing a stop state for a processor in a multiprocessor system
US6272637B1 (en) 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
FR2763452B1 (fr) 1997-05-13 1999-06-18 France Telecom Procede d'identification a cle publique
US6044478A (en) * 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6307214B1 (en) 1997-06-06 2001-10-23 Semiconductor Energy Laboratory Co., Ltd. Semiconductor thin film and semiconductor device
US6075938A (en) 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US5987557A (en) 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US6584565B1 (en) 1997-07-15 2003-06-24 Hewlett-Packard Development Company, L.P. Method and apparatus for long term verification of digital signatures
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US5978475A (en) 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
DE19735948C1 (de) * 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung
US6282657B1 (en) 1997-09-16 2001-08-28 Safenet, Inc. Kernel mode protection
US5935247A (en) * 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6148379A (en) 1997-09-19 2000-11-14 Silicon Graphics, Inc. System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system
US6182089B1 (en) * 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US6357004B1 (en) * 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US5970147A (en) 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6085296A (en) 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6219787B1 (en) 1997-12-22 2001-04-17 Texas Instruments Incorporated Method and apparatus for extending security model to native code
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6308270B1 (en) 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
US6108644A (en) * 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6192455B1 (en) * 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6298443B1 (en) 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system
US6173417B1 (en) * 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
FR2778998B1 (fr) 1998-05-20 2000-06-30 Schlumberger Ind Sa Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre
EP0961193B1 (de) 1998-05-29 2010-09-01 Texas Instruments Incorporated Sichere Rechnervorrichtung
US6421702B1 (en) 1998-06-09 2002-07-16 Advanced Micro Devices, Inc. Interrupt driven isochronous task scheduler system
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US6735696B1 (en) * 1998-08-14 2004-05-11 Intel Corporation Digital content protection using a secure booting method and apparatus
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
JP2000076139A (ja) 1998-08-28 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> 携帯型情報記憶媒体
US20020004900A1 (en) * 1998-09-04 2002-01-10 Baiju V. Patel Method for secure anonymous communication
US6363485B1 (en) * 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
US6463535B1 (en) 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US6230248B1 (en) 1998-10-12 2001-05-08 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for pre-validating regions in a virtual addressing scheme
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6445797B1 (en) 1998-12-16 2002-09-03 Secure Choice Llc Method and system for performing secure electronic digital streaming
US6473508B1 (en) * 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US6463537B1 (en) 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
US6671808B1 (en) 1999-01-15 2003-12-30 Rainbow Technologies, Inc. USB-compliant personal key
US6282650B1 (en) 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6188257B1 (en) * 1999-02-01 2001-02-13 Vlsi Technology, Inc. Power-on-reset logic with secure power down capability
EP1030237A1 (de) 1999-02-15 2000-08-23 Hewlett-Packard Company Vertrautes Hardware-Gerät in einem Rechner
EP1161716B1 (de) * 1999-02-15 2013-11-27 Hewlett-Packard Development Company, L.P. Gesicherte computerplattform
US6272533B1 (en) 1999-02-16 2001-08-07 Hendrik A. Browne Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6615278B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6275933B1 (en) 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
EP1055989A1 (de) 1999-05-28 2000-11-29 Hewlett-Packard Company System zum digitalen Unterschreiben von einem Dokument
EP1056014A1 (de) 1999-05-28 2000-11-29 Hewlett-Packard Company System und Verfahren zur Versorgung einer vertrauenswürdigen Benutzerschnittstelle
US6321314B1 (en) 1999-06-09 2001-11-20 Ati International S.R.L. Method and apparatus for restricting memory access
US6633981B1 (en) 1999-06-18 2003-10-14 Intel Corporation Electronic system and method for controlling access through user authentication
US6158546A (en) 1999-06-25 2000-12-12 Tenneco Automotive Inc. Straight through muffler with conically-ended output passage
US6301646B1 (en) 1999-07-30 2001-10-09 Curl Corporation Pointer verification system and method
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP2001148344A (ja) 1999-09-09 2001-05-29 Nikon Corp 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法
EP1085396A1 (de) 1999-09-17 2001-03-21 Hewlett-Packard Company Betrieb von gesicherten Zustand in einer Computerplattform
US6535988B1 (en) * 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate
US6374317B1 (en) * 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
EP1269425A2 (de) 2000-02-25 2003-01-02 Identix Incorporated Sicheres transaktionssystem
AU2001243365A1 (en) 2000-03-02 2001-09-12 Alarity Corporation System and method for process protection
JP3710671B2 (ja) * 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
CA2341931C (en) 2000-03-24 2006-05-30 Contentguard Holdings, Inc. System and method for protection of digital works
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6996710B1 (en) * 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7013481B1 (en) * 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US20010056533A1 (en) 2000-06-23 2001-12-27 Peter Yianilos Secure and open computer platform
US6678833B1 (en) * 2000-06-30 2004-01-13 Intel Corporation Protection of boot block data and accurate reporting of boot block contents
US6889378B2 (en) * 2000-07-24 2005-05-03 Sony Corporation Information processing method, inter-task communication method, and computer-executable program for the same
US6594736B1 (en) * 2000-08-15 2003-07-15 Src Computers, Inc. System and method for semaphore and atomic operation management in a multiprocessor
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
GB0020441D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
ATE479930T1 (de) * 2000-09-21 2010-09-15 Research In Motion Ltd System und verfahren zum unterschreiben eines software-kodes
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US7036023B2 (en) * 2001-01-19 2006-04-25 Microsoft Corporation Systems and methods for detecting tampering of a computer system by calculating a boot signature
DE10296460T5 (de) * 2001-03-27 2004-04-22 Danfoss A/S Motoraktuator mit Momentregelung
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
FR2822971A1 (fr) * 2001-04-03 2002-10-04 St Microelectronics Sa Systeme et procede de controle d'acces a des donnees protegees stockees dans une memoire
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7676430B2 (en) * 2001-05-09 2010-03-09 Lenovo (Singapore) Ptd. Ltd. System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset
EP1271277A3 (de) 2001-06-26 2003-02-05 Redstrike B.V. Sicherheitssystem und Verfahren zur Verhinderung der unbefugten Benutzung eines Rechners
US20030002668A1 (en) * 2001-06-30 2003-01-02 Gary Graunke Multi-level, multi-dimensional content protections
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7484105B2 (en) * 2001-08-16 2009-01-27 Lenovo (Singapore) Ptd. Ltd. Flash update using a trusted platform module
FR2830147B1 (fr) 2001-09-24 2003-10-31 Gemplus Card Int Procede et dispositif de la verification de la detention d'une donnee confidentielle sans communication de celle-ci, selon un processus dit de "a divulgation nulle"
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
JP4019266B2 (ja) * 2001-10-25 2007-12-12 日本電気株式会社 データ送信方法
DE10158531B4 (de) * 2001-11-29 2006-09-28 Universitätsklinikum Freiburg Verfahren zur Messung der Magnetresonanz (NMR) mittels Spin-Echos
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7107460B2 (en) * 2002-02-15 2006-09-12 International Business Machines Corporation Method and system for securing enablement access to a data security device
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7130999B2 (en) * 2002-03-27 2006-10-31 Intel Corporation Using authentication certificates for authorization
US7343493B2 (en) 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030226040A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Controlling access to data stored on a storage device of a trusted computing platform system
US20030231328A1 (en) * 2002-06-07 2003-12-18 Xerox Corporation Multiple printer driver
US6879574B2 (en) 2002-06-24 2005-04-12 Nokia Corporation Mobile mesh Ad-Hoc networking
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7962545B2 (en) * 2002-12-27 2011-06-14 Intel Corporation Dynamic service registry for virtual machines
US7624272B2 (en) * 2003-03-31 2009-11-24 Intel Corporation Platform information for digital signatures
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US7299354B2 (en) * 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7797544B2 (en) * 2003-12-11 2010-09-14 Microsoft Corporation Attesting to establish trust between computer entities
US20050137889A1 (en) * 2003-12-18 2005-06-23 Wheeler David M. Remotely binding data to a user device
EP1737108A1 (de) * 2005-06-20 2006-12-27 Yi-Yin Lin Fahrradlichtmaschine mit einer Mehrzahl an gewickelten Polen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036517A1 (en) * 1997-02-13 1998-08-20 Jpc, Inc. Security coprocessor for enhancing computer system security

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KARGER, P. A. [u.a.]: A Retrospective on the VAX VMM Security Kernel. In: IEEE Transactions on Software Engineering, Vol. 17, 1991, No. 11, S. 1147-1165. - ISSN 0098-5589 *

Also Published As

Publication number Publication date
HK1068178A1 (en) 2005-04-22
DE10397004A5 (de) 2014-01-30
US7631196B2 (en) 2009-12-08
US20030163723A1 (en) 2003-08-28
CN1723465A (zh) 2006-01-18
AU2003213080A8 (en) 2003-09-09
US8386788B2 (en) 2013-02-26
DE10392320T5 (de) 2005-02-17
GB2402521A (en) 2004-12-08
CN100423013C (zh) 2008-10-01
AU2003213080A1 (en) 2003-09-09
WO2003073269A2 (en) 2003-09-04
GB0419314D0 (en) 2004-09-29
DE10397004B4 (de) 2024-01-11
WO2003073269A3 (en) 2004-09-23
US20100058076A1 (en) 2010-03-04
DE10392320B4 (de) 2011-02-24
US20100058075A1 (en) 2010-03-04
US8407476B2 (en) 2013-03-26
GB2402521B (en) 2005-10-12

Similar Documents

Publication Publication Date Title
DE10394383B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE10196005B4 (de) Einrichtung und Verfahren zur isolierten Ausführung von Isoliert-Befehlen
DE10195999B3 (de) Computersystem mit einer in einem Chipsatz enthaltenen Speichersteuereinrichtung zum Kontrollieren von Zugriffen auf einen isolierten Speicher für eine isolierte Ausführung
DE10297273B4 (de) Verfahren zur Bereitstellung von Systemintegrität und Legacy-Umgebungsemulation
DE112005003340B4 (de) Mechanismus zum Bestimmen der Vertrauenswürdigkeit von Außerbandverwaltungsagenten
DE10392470B4 (de) System und Verfahren zum Ausführen von Initialisierungsbefehlen einer gesicherten Umgebung
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE112015004555B4 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE112004003066B4 (de) Verwendung mehrerer Monitore virtueller Maschinen zur Abwicklung priviligierter Ereignisse
DE60006217T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von einem eingangspunktobjekt
DE10197121B4 (de) Neuer Prozessormodus zum Begrenzen des Betriebes von auf einer virtuellen Maschine laufender Gast-Software mit Unterstützung eines Virtuelle-Maschine-Monitors
DE102006061939B4 (de) Verfahren und Vorrichtung zum Zugriff auf eine speicherabgebildete Vorrichtung durch einen Gast
DE10196440B4 (de) Steuern des Zugriffs auf mehrere isolierte Speicher in einer isolierten Ausführungsumgebung
DE10393662T5 (de) Bereitstellen eines sicheren Ausführungsmodus in einer Preboot-Umgebung
DE112007001714T5 (de) Virtualisieren von Leistungszählern
DE102013022405B3 (de) Schutz globaler Register in einem Multithreaded-Prozessor
DE102009049078B4 (de) Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen
DE102014003690A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE102018115670A1 (de) Technologien für die Ausführung von nicht vertrauenswürdigem Code mit Prozessor-Sandbox-Unterstützung
DE102014003705A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE112011102876T5 (de) Ressourcenverwaltungs- und Sicherheitssystem
DE102007046475A1 (de) Überwachen eines Ausführungsmusters eines Target-Agents auf einem VT-fähigen System
DE112020000280B4 (de) Transparente interpretation von gastbefehlen in einer sicheren virtuellen maschinenumgebung
DE60002687T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von laufzeitumgebungsprivilegien
DE102010054614A1 (de) Eindringen in eine gesicherte EDV-Umgebung unter Verwendung mehrerer authentifizierter Codemodule

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref document number: 10392320

Country of ref document: DE

Kind code of ref document: P

8110 Request for examination paragraph 44
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 10397004

Country of ref document: DE

Effective date: 20131021

R020 Patent grant now final
R020 Patent grant now final

Effective date: 20141017

R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: DENNEMEYER & ASSOCIATES S.A., DE

R071 Expiry of right