DE69733123T2 - Verfahren und vorrichtung zur verhinderung eines unbefugten schreibzugriffes zu einem geschützten nichtflüchtigen speicher - Google Patents

Verfahren und vorrichtung zur verhinderung eines unbefugten schreibzugriffes zu einem geschützten nichtflüchtigen speicher Download PDF

Info

Publication number
DE69733123T2
DE69733123T2 DE69733123T DE69733123T DE69733123T2 DE 69733123 T2 DE69733123 T2 DE 69733123T2 DE 69733123 T DE69733123 T DE 69733123T DE 69733123 T DE69733123 T DE 69733123T DE 69733123 T2 DE69733123 T2 DE 69733123T2
Authority
DE
Germany
Prior art keywords
memory
computer system
write data
authentication functions
write
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
DE69733123T
Other languages
English (en)
Other versions
DE69733123D1 (de
Inventor
Mark Albrecht
Frank Wildgrube
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.)
Intel Corp
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
Publication of DE69733123D1 publication Critical patent/DE69733123D1/de
Application granted granted Critical
Publication of DE69733123T2 publication Critical patent/DE69733123T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/1097Boot, Start, Initialise, Power

Description

  • STAND DER TECHNIK
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet der Computersysteme. Im Besonderen betrifft die vorliegende Erfindung die Datensicherheit in Computersystemen.
  • 2. Beschreibung des Stands der Technik
  • Bestehende Verfahren zur Verhinderung eines unbefugten Schreibzugriffs auf nichtflüchtigen Speicher, wie zum Beispiel einen FLASH-Speicher, basieren für gewöhnlich auf „geheimen" Zugriffsverfahren an eine Schreibfreigabeschaltung. Diese „geheimen" Zugriffsverfahren auf die Schreibfreigabeschaltung können unter Verwendung einer herkömmlichen Debugger-Hardware rückentwickelt werden. Nach der Rückentwicklung ist eine Person in der Lage einen Code zu erzeugen, der nach Belieben in den „geschützten" nichtflüchtigen Speicher schreiben kann. Wenn der Code missbräuchlich eingesetzt wird, kann er dazu verwendet werden, Viren in den „geschützten" nichtflüchtigen Speicher einzuführen oder der Inhalt des nichtflüchtigen Speichers kann sogar ganz zerstört werden.
  • Die U.S. Patente US-A-5.144.659 und US-A-5.289.540 offenbaren ein Computerdateischutzsystem zum Schutz der Sicherheit von Computerdateien. Auf das Sicherheitssystem kann durch das Betriebssystem des Computers nur während der Installation und Initialisierung zugegriffen werden, und wobei danach kein Zugriff auf oder durch das Betriebssystem möglich ist. Das U.S. Patent US-A-5.479.509 offenbart ein Verfahren zur Unterzeichnung einer Informationsverarbeitungsdatei. Schaltungen eines Informationsverarbeitungsbausteins berechnen zumindest eine Signatur der Datei unter Verwendung geheimer Daten, die speziell dem Unterzeichner zugeordnet sind, die in einem geheimen Speicherbereich eines portablen elektronischen Objekts gespeichert sind.
  • Wünschenswert wäre somit ein soliderer Ansatz zur Verhinderung unbefugter Zugriffe auf nichtflüchtigen Speicher, im Besonderen ein Ansatz, der nicht darauf basiert, dass das Zugriffsverfahren unbekannt ist. Wie dies nachstehend im Text näher beschrieben ist, erreicht die vorliegende Erfindung diese und andere wünschenswerte Ergebnisse.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein Computer implementiertes Verfahren gemäß dem gegenständlichen Anspruch 1.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein Computersystem gemäß dem gegenständlichen Anspruch 7.
  • Vorgesehen ist gemäß einem dritten Aspekt der vorliegenden Erfindung eine Computersystem-Grundplatine gemäß dem gegenständlichen Anspruch 15.
  • Vorgesehen ist gemäß einem vierten Aspekt der vorliegenden Erfindung ein Computerprogramm gemäß dem gegenständlichen Anspruch 24.
  • Vorgesehen ist gemäß einem fünften Aspekt der vorliegenden Erfindung ein Gegenstand gemäß dem gegenständlichen Anspruch 25.
  • Gemäß der vorliegenden Erfindung wird eine elektronische Signatur auf vorbestimmte Art und Weise erzeugt und mit einer übertragbaren Einheit von Schreibdaten verbunden, um die Authentifikation der Schreibdaten zu erleichtern, bevor die Schreibdaten in einen geschützten nichtflüchtigen Speicher geschrieben werden können. Die Schreibdaten werden unter Verwendung einer Sammlung gesicherter Authentifikationsfunktionen authentifiziert. Darüber hinaus wird der tatsächliche Schreibvorgang der authentifizierten Schreibdaten in den geschützten nichtflüchtigen Speicher durch eine gesicherte Kopierfunktion ausgeführt.
  • Die elektronische Signatur ist funktional abhängig von dem Inhalt der Schreibdaten, und die vorbestimmte Art der Erzeugung der elektronischen Signatur ist während der Schreibzeit reproduzierbar. In einem Ausführungsbeispiel wird die elektronische Signatur durch den Erzeuger der Schreibdaten dadurch erzeugt, indem eine Zusammenfassung auf der Basis des Inhalts der Schreibdaten unter Verwendung einer Nachrichtenzusammenfassungsfunktion erzeugt wird, und wobei die erzeugte Verschlüsselung danach mit einem geheimen privaten Schlüssel unter Verwendung einer Verschlüsselungsfunktion verschlüsselt wird.
  • Die Sammlung der gesicherten Authentifikationsfunktionen weist eine gesicherte entsprechende Kopie der Nachrichtungzusammenfassungsfunktion auf sowie eine gesicherte ergänzende Entschlüsselungsfunktion. Im Betrieb stellt die gesicherte Entschlüsselungsfunktion die ursprüngliche Zusammenfassung wieder her, indem die elektronische Signatur mit einem gesicherten ergänzenden öffentlichen Schlüssel entschlüsselt wird, während die gesicherte Kopie der Nachrichtenzusammenfassungsfunktion eine andere Zusammenfassung auf der Basis des Inhalts der zu authentifizierenden Schreibdaten erzeugt. Die beiden Zusammenfassungen werden unter Verwendung einer gesicherten Vergleichsfunktion verglichen. Wenn die beiden Zusammenfassungen den Vergleich bestehen, wird die gesicherte Kopierfunktion aufgerufen, um die authentifizierten Schreibdaten in den geschützten nichtflüchtigen Speicher zu schreiben, wobei die Schreibdaten anderenfalls abgewiesen werden.
  • In einem Ausführungsbeispiel werden die Authentifikationsfunktionen gesichert, indem sie während der Systeminitialisierung in einen normalerweise nicht verfügbaren Systemmanagementspeicher kopiert werden. Die Authentifikationsfunktionen werden unter Verwendung einer System Management Interrupt (SMI) aufgerufen, die im geltend gemachten Zustand automatische den Systemmanagementspeicher in den normalen Systemspeicherraum abbildet. Eine nichtflüchtige Speicherschreibsicherheitsschaltung ist vorgesehen, um ein durch den geschützten nichtflüchtigen Speicher vorgesehene Speicherschreibsignal zu qualifizieren, und um die SMI immer dann zu erzeugen, wenn ein Schreibvorgang in den geschützten nichtflüchtigen Speicher angefordert wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird nachstehend durch Ausführungsbeispiele beschrieben, welche die Erfindung nicht einschränken, und wobei die Ausführungsbeispiele in den beigefügten Zeichnungen dargestellt sind, wobei die gleichen Elemente mit den gleichen Bezugsziffern bezeichnet sind. Es zeigen:
    die 12 die wesentlichen Elemente der vorliegenden Erfindung und deren Beziehungen zueinander;
  • 3 ein beispielhaftes Computersystem, welches die Lehren der vorliegenden Erfindung in Bezug auf die Sicherung der Authentifikationsfunktionen aufweist;
  • 4 das System-BIOS und für ein Ausführungsbeispiel das Betriebssystem des beispielhaften Computersystems in näheren Einzelheiten;
  • 5 die FLASH-Sicherheitsschaltung aus 3 in näheren Einzelheiten;
  • 6 den Verlauf der Ausführung des beispielhaften Computersystems in einem System Management Mode; und
  • 7 ein Ausführungsbeispiel des Verlaufs der Ausführung zum Schreiben in den FLASH-Speicher.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Die folgende Beschreibung führt zum Zwecke der Erläuterung spezielle Ziffern bzw. Zahlen, Materialien bzw. Werkstoffe und Konfigurationen aus, um ein umfassendes Verständnis der vorliegenden Erfindung zu vermitteln. Für den Fachmann auf dem Gebiet ist es jedoch ersichtlich, dass die vorliegende Erfindung auch ohne diese speziellen Einzelheiten ausgeführt werden kann. In anderen Fällen wurde auf allgemein bekannte Merkmale verzichtet oder diese vereinfacht dargestellt, um die vorliegende Erfindung nicht unnötig zu verschleiern. Im Sinne einer Vereinfachung des Verständnisses sind bestimmte Verfahrensschritte als einzelne Schritte aufgeführt, wobei diese einzelnen Schritte in Bezug auf deren Leistung nicht von der angegebenen Anordnung bzw. Reihenfolge abhängig sind.
  • In folgendem Bezug auf die Abbildungen der 1 und 2 sind zwei Blockdiagramme dargestellt, welche die wesentlichen Elemente der vorliegenden Erfindung und deren Beziehungen untereinander veranschaulichen. Gemäß der Veranschaulichung ist eine übertragbare Einheit nichtflüchtiger Speicherschreibdaten 100 mit einer elektronischen Signatur 102 versehen, um die Authentifizierung der Schreibdaten 100 zu ermöglichen, bevor es zugelassen wird, dass die Schreibdaten 100 in einen nichtflüchtigen Speicher geschrieben werden. Vorzugsweise ist die elektronische Signatur 102 an den Schreibdaten 100 "angebracht". Zu den Beispielen für eine übertragbare Einheit zählen eine Datei oder ein Block, wobei zu den Beispielen für den nichtflüchtigen Speicher ein FLASH-Speicher oder ein löschbarer programmierbare Nur-Lesespeicher (EPPOM als englische Abkürzung von Erasable Programmable Read-Only Memory) zählen. Beispiele für Schreibdaten sind BIOS-Aktualisierungen, wie etwa Ergänzungen, Löschungen und Modifikationen. Bei vielen Anwendungen wird erwartet, dass die elektronische Signatur 102 zum Zeitpunkt der Erzeugung der Schreibdaten 100 erzeugt und an den Schreibdaten 100 „angebracht" wird.
  • In dem veranschaulichten Ausführungsbeispiel wird die elektronische Signatur 102 durch Verschlüsselung einer Referenzzusammenfassung 104 mit einem geheimen privaten Schlüssel 106 unter Verwendung einer Verschlüsselungsfunktion 108 erzeugt. Die Referenzzusammenfassung 104 wird unter Verwendung einer Nachrichtenzusammenfassungsfunktion 110 erzeugt. Mit anderen Worten ist der Inhalt der Referenzzusammenfassung 104 funktional von dem Inhalt der Schreibdaten 100 abhängig. Demgemäß ist der Inhalt der elektronischen Signatur 102 ebenfalls funktional von dem Inhalt der Schreibdaten 100 abhängig.
  • Zum Zeitpunkt des Schreibens erzeugt eine gesicherte entsprechende Kopie der Nachrichtenzusammenfassungsfunktion 112 eine „neue" Zusammenfassung 114 in Echtzeit. Gleichzeitig stellt eine gesicherte komplementäre Entschlüsselungsfunktion 116 die ursprüngliche Referenzzusammenfassung 104 wieder her, indem die elektronische Signatur 102 unter Verwendung eines gesicherten komplementären öffentlichen Schlüssels 118 entschlüsselt wird. Die beiden Zusammenfassungen 104 und 114 werden an eine gesicherte Vergleichsfunktion 120 vorgesehen, um zu bestimmen, ob sie identisch sind. Die beiden Zusammenfassungen 104 und 114 sind identisch, wenn die Schreibdaten 100 authentisch sind, da beide Zusammenfassungen 104 und 114 funktional von dem Inhalt der Schreibdaten 100 abhängig sind, die durch Kopien der gleichen Nachrichtenzusammenfassungsfunktion 110 und 112 erzeugt worden sind, und wobei die Verschlüsselung ergänzend entschlüsselt wird. Wenn der Vergleich der beiden Zusammenfassungen 104 und 114 erfolgreich verlaufen ist, wird eine gesicherte Kopierfunktion 122 benachrichtigt, den tatsächlichen Schreibvorgang in den geschützten nichtflüchtigen Speicher auszuführen, wobei die Schreibdaten anderenfalls abgewiesen werden.
  • Die Verschlüsselungs- und Entschlüsselungsfunktionen 108 und 116 können alle im Fach bekannten Verschlüsselungs-/Entschlüsselungstechniken mit privaten/öffentlichen Schlüsseln implementieren. In ähnlicher Weise kann die Nachrichtenzusammenfassungsfunktion 110/112 jede im Fach bekannte Nachrichtenzusammenfassungstechnik implementieren.
  • Nähere Informationen zu Verschlüsselungs-/Entschlüsselungstechniken mit privaten/öffentlichen Schlüsseln siehe auch zum Beispiel das U.S. Patent US-A-4.218.582 an Hellman et al mit dem Titel „Public Key Cryptographic Apparatus and Method, das U.S. Patent US-A-4.405.829 an Rivest et al mit dem Titel „Cryptographic Communications System and Method", und wobei sich nähere Informationen zur Nachrichtenzusammenfassung zum Beispiel in dem U.S. Patent US-A-4.995.082 an Rivest mit dem Titel „Method for Identifying Subscribers and for Generating and Verifying Electronic Signatures in a Data Exchange System" finden sowie in „The MD5 Message Digest Algorithm, Request For Comment(RFC) 1321", April 1992.
  • Die Erzeugung einer elektronischen Signatur 102 und deren Zuordnung zu Schreibdaten 100 gemäß der vorstehenden Beschreibung kann mit jedem im Fach bekannten Computersystem ausgeführt werden, vorausgesetzt, dass diese so ausgestattet sind, dass sie die Nachrichtenzusammenfassungsfunktion 110 und die Verschlüsselungsfunktion 108 speichern und ausführen. Es wird davon ausgegangen, dass die Erzeugung der elektronischen Signatur 102 für die meisten Anwendungen auf dem gleichen Computersystem ausgeführt wird, auf dem die Schreibdaten 100 erzeugt werden. Zum Beispiel wird für die oben genannte Anwendung der System-BIOS-Aktualisierung angenommen, dass die System-BIOS-Aktualisierungen und die elektronische Signatur 102 gleichzeitig und auf dem gleichen Computersystem erzeugt werden und zugeordnet sind.
  • Die Abbildung aus 3 veranschaulicht ein beispielhaftes Computersystem 200, das die Lehren der vorliegenden Erfindung in Bezug auf die Authentifizierung von Schreibdaten aufweist, bevor es zugelassen wird, dass die Schreibdaten in einen geschützten nichtflüchtigen Speicher geschrieben werden. Ein beispielhaftes Computersystem 200 umfasst einen Prozessor 212, einen Prozessorbus 214, einen Cache-Speicher 216, eine Speichersteuereinheit 218 und eine Mehrzahl anderer Speicherschaltungen 220224, die gemäß der Abbildung miteinander verbunden sind. Zu den anderen Speicherschaltungen 220224 zählen ein Hauptspeicher 220, ein Systemmanagementspeicher 222 und einen FLASH-Speicher 224. Gemäß der vorliegenden Erfindung weist das beispielhafte Computersystem 200 speziell die FLASH-Sicherheitsschaltkreisanordnung 226 auf. Zudem weist das Computersystem 200 die Brückenschaltungen 228a228b, Hochleistungs- und Standards-E/A-Busse 230a230b (E/A als Abkürzung von Eingabe/Ausgabe), Allzweck-E/A-Anschlüsse (GPIO) 232, Festplatten- und Diskspeicher 234236, Tastatur- und Cursor-Steuervorrichtungen 238 und eine Anzeige 240 auf, die miteinander und den vorstehend aufgeführten Elementen gemäß der Abbildung gekoppelt sind.
  • In dem veranschaulichten Ausführungsbeispiel sind die Busse 214, 230a und 230b an der Grundplatine 242 angeordnet. Die Elemente 212, 216226, 228a228b und 232 sind entweder über Sockels (nicht abgebildet) entfernbar miteinander verbunden oder an die Grundplatine 242 "gelötet", während die Elemente 234238 über Kabel und Verbinder (nicht abgebildet) mit der Grundplatine 42 gekoppelt sind.
  • Der Prozessor 212 führt die herkömmliche Funktion der Codeausführung aus. Der Prozessor 212 ist derart beschaffen, dass er Code in verschiedenen Modi ausführt, einschließlich eines Systemmanagementmodus bzw. System Management Mode (SMM). Der Prozessor 212 ist ferner derart beschaffen, dass er auf eine umfassende Vielfalt von Unterbrechungen reagiert, einschließlich einem System Management Interrupt (SMI), wobei der Prozessor 212 in den SMM versetzt wird. Die Speichersteuereinheit 2128 und die flüchtigen Speichereinheiten 216, 220 und 220 führend die herkömmlichen Funktionen der Steuerung des Speicherzugriffs aus und sehen entsprechend eine Ausführungszeitspeicherung vor. Im Besonderen erzeugt die Speichersteuereinheit 218 für jeden Schreibzugriff auf den Speicher ein Signal MEMW# für die adressierte Speichereinheit. Die Speichersteuereinheit 218 bildet normalerweise den Systemmanagementspeicher 222 nicht als Teil des normalen Systemspeicherraums ab. Der Systemmanagementspeicher 222 wird in den Systemspeicherraum abgebildet, wenn der Prozessor 212 in den SMM eintritt. Mit Ausnahme der Systeminitialisierung, der Prozessormodusübergang und der Ausführung in dem SMM weist der Systemmanagementspeicher 222 eine Schreibsperre auf.
  • Der FLASH-Speicher 224 führt dessen herkömmliche Funktion des entsprechenden Vorsehens von nichtflüchtigem Speicher aus. Im Besonderen speichert der FLASH-Speicher 224 das System-BIOS. Während der Systeminitialisierung wird der Großteil des System-BIOS, der in Bezug auf die Sicherheit nicht empfindlich ist, in den Hauptspeicher 220 geladen, während das verbleibende System-BIOS (einschließlich im Besonderen der Schreibdaten-Authentifikationsfunktionen), das sicherheitsanfällig ist, in den Systemmanagementspeicher 222 geladen wird. Die Flash-Sicherheitsschaltung 226 schützt den FLASH-Speicher 224 vor unbefugten Schreibzugriffen, indem die Schreibsperre des FLASH-Speichers 224 aufrechterhalten wird, und wobei eine SMI erzeugt wird, um die gesicherten System-BIOS-Schreibdaten-Authentifikationsfunktionen in dem Systemmanagementspeicher 222 aufzurufen, um die Schreibdaten immer dann zu authentifizieren, wenn der FLASH-Speicher 224 für einen Schreibzugriff freigegeben ist. Die Allzweck-E/A-Anschlüsse 232 führen ferner ihre herkömmlichen Funktionen des Vorsehens der E/A-Anschlüsse an eine Vielzahl von Peripheriegeräten vor. Im Besonderen wird einer der E/A-Anschlüsse dazu verwendet, der FLASH-Sicherheitsschaltung 226 eine Schreibanforderung an den FLASH-Speicher 224 mitzuteilen. Die Schreibanforderung wird durch das Schreiben in ein entsprechendes Register des E/A-Ports unter Verwendung eines normalen E/A-Befehls des beispielhaften Computersystems 200 bezeichnet.
  • Der Festplattenspeicher 234 führt ebenfalls die herkömmliche Funktion des Vorsehens eines nichtflüchtigen Speichers aus. Im Besonderen speichert der Festplattenspeicher 234 das Betriebssystem des beispielhaften Computersystems 200. Während der Systeminitialisierung wird das Betriebssystem in den Hauptspeicher 220 geladen. Alle anderen Elemente führen ihre im Fach bekannte herkömmliche Funktion aus. Ausgenommen der angegebenen Funktionen und/oder Anforderungen dienen alle bezeichneten Elemente der Darstellung einer umfassenden Kategorie dieser in Computersystemen zu findenden Elemente.
  • Die Abbildung aus 4 veranschaulicht das System-BIOS und das Betriebssystem des beispielhaften Computersystems 200 in näheren Einzelheiten. Gemäß der Abbildung weist das System-BIOS 260 eine Initialisierungsfunktion 262, eine FLASH-Kopierfunktion 264, eine Nachrichtenzusammenfassungsfunktion 266, eine Entschlüsselungsfunktion 268, einen öffentlichen Schlüssel 270, eine Zusammenfassungsvergleichsfunktion 272, eine SMI-Behandlungsroutine 274 und einen Lese-Schreibdienst 276 auf, während das Betriebssystem 250 für bestimmte Ausführungsbeispiele die FLASH-Funktion 252 aufweist.
  • Die Initialisierungsfunktion 262 initialisiert das System-BIOS 260 während der Systeminitialisierung, einschließlich des Ladens der FLASH-Kopierfunktion 264, der Nachrichtenzusammenfassungsfunktion 266, der Entschlüsselungsfunktion 268, des öffentlichen Schlüssels 270, der Zusammenfassungsvergleichsfunktion 272 und der SMI-Behandlungsroutine 274 in den Systemmanagementspeicher 222. Wie dies bereits vorstehend im Text beschrieben worden ist, wird der Systemmanagementspeicher 222 normalerweise nicht in den Systemmanagementraum abgebildet, sofern keine SMI ausgelöst wird, indem der Prozessor 212 in den SMM versetzt wird, und wobei der Systemmanagementspeicher 222 mit einer Schreibsperre versehen wird, ausgenommen der Initialisierung, des Prozessormodusübergangs und der Ausführung in dem SMM. Demgemäß sind die System-BIOS-Funktionen vor missbräuchlicher Modifikation geschützt.
  • Die SMI-Behandlungsroutine 274 behandelt SMIs, wobei andere Funktionen bei Bedarf aufgerufen werden (einschließlich der Schreibdaten-Authentifikationsfunktionen), abhängig von der Ursache für eine bestimmte SMI. Wie dies nachstehend im Text näher beschrieben ist, erhält die SMI-Behandlungsroutine 274 die Steuerung nach dem Eintritt in den SMM. Wie dies bereits vorstehend im Text beschrieben worden ist, erzeugt die Nachrichtenzusammenfassung 266 eine Zusammenfassung in Echtzeit für die Schreibdaten einer FLASH-Schreibanforderung gemäß dem Inhalt der Schreibdaten, und die Entschlüsselungsfunktion 268 entschlüsselt die elektronische Signatur, die an den Schreibdaten der FLASH-Schreibanforderung „angebracht" ist, unter Verwendung des öffentlichen Schlüssels 270, um die ursprüngliche Zusammenfassung der FLASH-Schreibdaten wiederherzustellen. Die Zusammenfassungsvergleichsfunktion 272 vergleicht die beiden Zusammenfassungen und schließlich führt die FLASH-Kopierfunktion 264 das tatsächliche Schreiben der authentifizierten Daten in den FLASH-Speicher 224 aus. Die Nachrichtenzusammenfassungsfunktion 266, die Entschlüsselungsfunktion 268, die Zusammenfassungsvergleichsfunktion 272 und die FLASH-Kopierfunktion 264 werden ordnungsgemäß durch die SMI-Behandlungsroutine 274 aufgerufen, nachdem bestimmt worden ist, dass eine SMI durch die FLASH-Sicherheitsschaltkreisanordnung 226 ausgelöst wird.
  • Die Lese-Schreibdienste 276 sehen Lese- und Schreibdienste an E/A-Vorrichtungen vor. Die Lese-Schreibdienste 276 zählen zur Masse der BIOS-Funktionen, die während dem Systemstart in den Hauptspeicher 220 geladen werden.
  • Bei bestimmten Ausführungsbeispielen ist die FLASH-Funktion 252 vorgesehen, um verschiedene FLASH-bezogene Funktionen auszuführen, einschließlich im Besonderen dem Kopieren von FLASH-Schreibdaten von einem externen Quellenmedium an einen Puffer in dem Hauptspeicher 220, und gefolgt von dem Kopieren der FLASH-Schreibdaten aus dem Puffer in den FLASH-Speicher 224 durch Lese-Schreibdienste 276, wobei die Nachrichtenzusammenfassungsfunktion 266, die Entschlüsselungsfunktion 268, etc. aufgerufen werden, um die FLASH-Schreibdaten zu validieren, und bei einer Validierung führt die FLASH-Kopierfunktion 264 den tatsächlichen Schreibvorgang aus, der nachstehend im Text näher beschrieben ist. Beispiele für derartige FLASH-Schreibdaten sind die vorstehend beschriebenen Ergänzungen, Löschungen und Modifikationen des System-BIOS, und ein Beispiel für ein externes Quellenmedium ist eine Diskette.
  • Die Abbildung aus 5 veranschaulicht die FLASH-Sicherheitsschaltung 226 in näheren Einzelheiten. Gemäß der Abbildung weist die FLASH-Sicherheitsschaltung 226 erste und zweite Steuerglieder 278 und 280 auf. Der Eingang (ENFW#) des ersten Steuerglieds 278 wird durch einen der E/A-Anschlüsse der GPIO-Anschlüsse 232 vorgesehen, während der Ausgang des ersten Steuerglieds 278 mit einer Signalleitung gekoppelt ist, welche einen SMI-Auslösemechanismus mit dem Prozessor 212 koppelt. Immer wenn somit die GPIO-Anschlüsse 232 ENFW# aktiv setzen, um als Reaktion auf eine FLASH-Schreibanforderung den Schreibzugriff freizugeben, bewirkt das erste Steuerglied 278 das Auslösen einer SMI für den Prozessor 212.
  • Die Eingänge (ENFW# und MEMW#) des zweiten Steuerglieds 280 werden entsprechend durch den gleichen E/A-Anschluss der Allzweck-E/A-Anschlüsse 232 und der Speichersteuereinheit 218 vorgesehen, während der Ausgang (FLASHWE#) des zweiten Steuerglieds 280 an den FLASH-Speicher 224 vorgesehen wird. FLASHWE# weist einen Tri-State-Zustand auf. FLASHWE# wird aktiv, wenn sowohl MEMW# als auch ENFW# aktiv sind. Anders ausgedrückt wird das Schreibsignal (MEMW#) von der Speichersteuereinheit 218 durch ENFW# qualifiziert, wobei dies gleichzeitig durch das erste Steuerglied 278 das Auslösen einer SMI bewirken würde. Somit würden die in dem Systemmanagementspeicher 222 gespeicherten gesicherten Authentifikationsfunktionen aufgerufen, um die Schreibdaten zu authentifizieren, bevor diese in den FLASH-Speicher 224 geschrieben werden dürfen.
  • Die Abbildung aus 6 veranschaulicht den Ausführungsverlauf des beispielhaften Computersystems in dem SMM. Nach der Detektierung einer SMI, weist der Prozessor 212 gemäß der Abbildung die Speichersteuereinheit 218 an, sich einzuschalten und den Systemmanagementspeicher 222 als Teil des Systemspeicherraums abzubilden, und als Reaktion darauf führt die Speichersteuereinheit 218 die entsprechende Schaltung und Abbildung aus, wie dies in dem Schritt 282 dargestellt ist. Als nächstes speichert der Prozessor 212 in dem Schritt 284 den Prozessorzustand in dem Systemmanagementspeicher 222. Nach dem Speichern des Prozessorzustands überträgt der Prozessor 212 in dem Schritt 286 die Ausführungssteuerung auf die vorab gespeicherte SMI-Behandlungsroutine 274.
  • Danach bestimmt die SMI-Behandlungsroutine 274 die Ursache für die SMI und behandelt die SMI entsprechend, wobei nach Bedarf andere Routinen aufgerufen werden, wie etwa die Authentifikationsfunktionen. Nach der Behandlung der SMI führt die SMI-Behandlungsroutine 274 einen Fortsetzungsbefehl (Resume) zur Übertragung de Ausführungssteuerung zurück an die unterbrochenen Programme aus. Als Reaktion darauf stellt der Prozessor 212 in dem Schritt 288 den gespeicherten Prozessorzustand wieder aus dem Systemmanagementspeicher 222 her. Ferner weist der Prozessor 212 die Speichersteuereinheit 218 an, die Abbildung des Systemmanagementspeichers 222 aus dem Systemspeicherraum aufzuheben und den Systemmanagementspeicher 222 auszuschalten. Als Reaktion darauf führt die Speichersteuereinheit 218 in dem Schritt 290 die entsprechende Abbildungsaufhebung und Schaltung aus.
  • Folglich wird die SMI auf eine Art und Weise behandelt, die für das ausführende Betriebssystem, die Teilsysteme sowie Anwendungen transparent ist. Anders ausgedrückt handelt es sich bei einer SMI um eine transparente Systembehandlungsunterbrechung.
  • Die Abbildung aus 7 veranschaulicht ein Ausführungsbeispiel des Ausführungsverlaufs zum Schreiben von Daten in den FLASH-Speicher 224. Als Reaktion auf eine Schreibanforderung von einer Anwendung, wie etwa der vorstehend beschriebenen FLASH-Funktion 252, legen die Lese-Schreibdienste 276 in dem Schritt 302 die physikalischen Adresszeiger auf die Schreibdaten fest, wie dies abgebildet ist. In dem veranschaulichten Ausführungsbeispiel erzeugen die Lese-Schreibdienste 276 in dem Schritt 304 eine Software-SMI für einen Eintritt in den SMM und um die physikalischen Adresszeiger der Schreibdaten an die SMI-Behandlungsroutine vorzusehen. Im Gegensatz zu dem designierten GPIO-Anschluss 232 wird zu diesem Zeitpunkt eine Software-SMI verwendet und bevorzugt, da der FLASH-Speicher während dem Authentifizierungsprozess gesperrt bleiben würde.
  • Nach dem Eintritt in den SMM gemäß der vorstehenden Beschreibung wird die Steuerung an die SMI-Behandlungsroutine 274 übergeben. Nach der Ermittlung des Grunds für die SMI ruft die SMI-Behandlungsroutine 274 in dem Schritt 306 die Nachrichtenzusammenfassungs- 266 und Entschlüsselungsfunktion 268 auf, um die durch die physikalischen Adresszeiger identifizierten Schreibdaten zu authentifizieren. Wenn die Schreibdaten in dem Schritt 308 den Authentifizierungsprozess nicht bestehen, setzt die SMI-Behandlungsroutine 274 in dem Schritt 310 entsprechende Fehlerflaggen, wobei der designierte GPIO-Anschluss in dem Schritt 316 gelöscht und der SMM verlassen wird. Nach erneuter Steuerungsübergabe erfolgt eine Rückkehr der Lese-Schreibdienste 276 an den Anrufer, nachdem die erforderlichen „Säuberungen" vorgenommen worden sind.
  • Wenn die Schreibdaten andererseits in dem Schritt 308 den Authentifizierungsprozess bestehen, gibt die SMI-Behandlungsroutine das Schreiben in den FLASH-Speicher 224 frei, indem der designierte GPIO-Anschluss 232 in dem Schritt 312 entsprechend eingesetzt bzw. gesetzt wird. Nach der Freigabe werden die authentifizierten Schreibdaten in dem Schritt 314 in den FLASH-Speicher 224 kopiert. Nachdem alle authentifizierten Schreibdaten kopiert worden sind, wie dies vorstehend im Text beschrieben worden ist, gibt die SMI-Behandlungsroutine 274 den designierten GPIO-Anschluss 232 frei und verlässt den SMM. Nachdem die Lese-Schreibdienste 276 wieder die Steuerung erhalten haben, erfolgt die Rückkehr zu dem Anrufer, nachdem die erforderlichen "Säuberungen" vorgenommen worden sind.
  • Wenn die SMI-Behandlungsroutine 274 gemäß der vorstehenden Beschreibung das Schreiben in den FLASH-Speicher 224 über den designierten GPIO-Anschluss zusätzlich zu der Freigabe des FLASH-Speichers 224 zum Schreiben freigibt, wird eine SMI ausgelöst. Da diese „neue" SMI jedoch ausgelöst worden ist, während sich das System in dem SMM befindet, wird die „neue" SMI verworfen. Der Grund für die Auslösung der „neuen" SMI ist es, dass in dem veranschaulichten Ausführungsbeispiel der designierte GPIO-Anschluss 232 außerhalb des SMM liegen kann. Die „automatische" SMI stellt sicher, dass die Schreibdaten authentifiziert werden, wenn dies geschieht, wobei jede Möglichkeit für ein Umgehen des Authentifizierungsprozesses verhindert wird.
  • Beschrieben wurden vorstehend somit Verfahren und Vorrichtungen, die einen unbefugten Zugriff auf einen geschützten nichtflüchtigen Speicher verhindern. Das erfindungsgemäße Verfahren und die erfindungsgemäße Vorrichtung wurden vorstehend zwar in Bezug auf die vorstehend veranschaulichten Ausführungsbeispiele beschrieben, wobei der Fachmann auf dem Gebiet jedoch erkennen wird, dass die Erfindung nicht auf die beschriebenen Ausführungsbeispiele beschränkt ist. Die vorliegende Erfindung kann mit Modifikationen und Abänderungen gemäß dem Umfang der anhängigen Ansprüche ausgeführt werden. Die Beschreibung dient somit dem Zwecke der Veranschaulichung und schränkt die vorliegende Erfindung nicht ein.

Claims (30)

  1. Computer implementiertes Verfahren zum Schützen eines nichtflüchtigen Speichers (224) vor unbefugtem Schreibzugriff, der zu einer unbefugten Modifikation von in dem nichtflüchtigen Speicher gespeichertem Dateninhalt führt, wobei das Verfahren folgendes umfasst: (a) Sichern einer Mehrzahl von Authentifikationsfunktionen (112, 116, 120) auf einem Computersystem (200), wobei die Authentifikationsfunktionen so beschaffen sind, dass sie Schreibdaten (100) eines Schreibzugriffs des nichtflüchtigen Speichers unter Verwendung einer den Schreibdaten zugeordneten elektronischen Signatur (102) authentifizieren, wobei der Inhalt der elektronischen Signatur funktional von dem Inhalt der Schreibdaten abhängig ist; und (b) Aufrufen der Authentifikationsfunktionen zum Authentifizieren von Schreibdaten jedes Schreibzugriffs auf den nichtflüchtigen Speicher, und wobei es nur zugelassen wird, dass authentifizierte Schreibdaten in den geschützten nichtflüchtigen Speicher geschrieben werden.
  2. Computer implementiertes Verfahren nach Anspruch 1, wobei (a) das Sichern der Authentifikationsfunktionen in einem gesicherten Abschnitt des Speichers des Computersystems umfasst.
  3. Computer implementiertes Verfahren nach Anspruch 1, wobei die Authentifikationsfunktionen von (a) als eine Mehrzahl von BIOS-Diensten (260) des Computersystems implementiert werden; und wobei (a) das Kopieren der Mehrzahl von BIOS-Diensten in den Systemmanagementspeicher (222) des Computersystems während der Systeminitialisierung umfasst, wobei der Systemmanagementspeicher normalerweise nicht in einen normalen Systemspeicherraum eines Computersystems abgebildet wird, ausgenommen wenn das Computersystem in einem System Management Mode ausgeführt wird, und wobei der Systemmanagementspeicher mit Ausnahme des Systeminitialisierungs- und Systemausführungsmodusübergangs schreibgeschützt ist.
  4. Computer implementiertes Verfahren nach Anspruch 1, wobei die zugeordnete elektronische Signatur durch Verschlüsselung einer ersten Zusammenfassung mit einem geheimen privaten Schlüssel erzeugt wird, wobei die erste Zusammenfassung auf der Basis des Inhalts der Schreibdaten des Schreibzugriffs erzeugt wird; und wobei (b) folgendes umfasst: (b.1.) das Aufrufen einer gesicherten Entschlüsselungsfunktion (116) der gesicherten Authentifikationsfunktionen zur Wiederherstellung der ersten Zusammenfassung durch Entschlüsselung der zugeordneten elektronischen Signatur unter Verwendung eines gesicherten öffentlichen Schlüssels, der den geheimen privaten Schlüssel ergänzt; (b.2) das Aufrufen einer gesicherten Nachrichtenzusammenfassungsfunktion (112) der gesicherten Authentifikationsfunktionen zur Erzeugung einer zweiten Zusammenfassung auf der Basis des Inhalts der Schreibdaten des Schreibzugriffs; und (b.3) das Aufrufen einer gesicherten Zusammenfassungsvergleichsfunktion (120) der gesicherten Authentifikationsfunktionen, um zu bestimmen, ob die Schreibdaten des Schreibzugriffs authentisch sind, indem die ersten und zweiten Zusammenfassungen verglichen werden.
  5. Computer implementiertes Verfahren nach Anspruch 4, wobei (b) ferner folgendes umfasst: (b.4) das bedingte Aufrufen einer gesicherten Kopierfunktion (122) der gesicherten Authentifikationsfunktionen, um die Schreibdaten in den geschützten nichtflüchtigen Speicher zu kopieren, wenn die ersten und zweiten Zusammenfassungen in (b.3) erfolgreich verglichen worden sind.
  6. Computer implementiertes Verfahren nach Anspruch 4, wobei das Entsichern der gesicherten zugeordneten Authentifikationsfunktionen (b.1) die Ausgabe einer System Management Interrupt (SMI) umfasst, wobei das Computersystem in einem System Management Mode (SMM) platziert wird, wobei der Systemmanagementspeicher in den normalen Speicherraum abgebildet wird, aus dem die zugeordneten Authentifikationsfunktionen selektiv zur Authentifizierung der empfangenen Daten aufgerufen werden.
  7. Computersystem (200), das einen nichtflüchtigen Speicher (224) und einen mit dem nichtflüchtigen Speicher gekoppelten Prozessor (212) umfasst, gekennzeichnet durch: eine Mehrzahl von Authentifikationsfunktionen (112, 116, 120) zum Authentifizieren der Schreibdaten (100) eines Schreibzugriffs auf den nichtflüchtigen Speicher während dem Betrieb, wobei die Authentifikationsfunktionen die Schreibdaten unter Verwendung einer elektronischen Signatur (102) authentifizieren, die den Schreibdaten zugeordnet ist, wobei der Inhalt der elektronischen Signatur funktional von dem Inhalt der Schreibdaten abhängig ist; und eine gesicherte Speichereinheit (226) zum Speichern und Sichern der Mehrzahl von Authentifikationsfunktionen während dem Betrieb; wobei der Prozessor mit der gesicherten Speichereinheit gekoppelt ist und die Authentifikationsfunktionen während dem Betrieb aufruft, um die Schreibdaten jedes Schreibzugriffs auf den nichtflüchtigen Speicher zu authentifizieren, und um es zu ermöglichen, dass nur authentifizierte Schreibdaten in den nichtflüchtigen Speicher geschrieben werden.
  8. Computersystem nach Anspruch 7, wobei die Mehrzahl der Authentifikationsfunktionen folgendes aufweist: eine Entschlüsselungsfunktion (116, 268) zur Wiederherstellung einer ersten Zusammenfassung durch Entschlüsseln der elektronischen Signatur mit einem öffentlichen Schlüssel (118, 270), wobei die elektronische Signatur durch Verschlüsselung der ersten Zusammenfassung mit einem geheimen privaten Schlüssel auf ergänzende Art und Weise erzeugt wird; eine Nachrichtenzusammenfassungsfunktion (112) zum Erzeugen einer zweiten Zusammenfassung auf der Basis des Inhalts der Schreibdaten des Schreibzugriffs auf die gleiche Art und Weise, wie die erste Zusammenfassung erzeugt worden ist; und eine Zusammenfassungsvergleichsfunktion (120, 272) zur Bestimmung, ob die Schreibdaten des Schreibzugriffs authentisch sind, indem die ersten und zweiten Zusammenfassungen verglichen werden.
  9. Computersystem nach Anspruch 8, wobei die Entschlüsselungsfunktion, die Nachrichtenzusammenfassungsfunktion und die Zusammenfassungsvergleichsfunkticn werden als eine Mehrzahl von BIOS-Diensten (260) des Computersystems implementiert, die während der Systeminitialisierung in den gesicherten Speicher kopiert werden, wobei die gesicherte Speichereinheit normalerweise nicht in einen normalen Systemspeicherraum des Computersystems kopiert werden, ausgenommen wenn der Prozessor in einem System Management Mode ausgeführt wird, und wobei die gesicherte Speichereinheit mit Ausnahme des Systeminitialisierungs- und Prozessorausführungsmodusübergangs schreibgeschützt ist.
  10. Computersystem nach Anspruch 9, wobei: es sich bei dem nichtflüchtigen Speicher um eine FLASH-Speichereinheit (224) zum Speichern des System-BIOS handelt; die Entschlüsselungsfunktion, die Nachrichtenzusammenfassungsfunktion, die Zusammenfassungsverschlüsselungsfunktion und der öffentliche Schlüssel vorab in der FLASH-Speichereinheit gespeichert werden; das Computersystem ferner einen mit dem Prozessor gekoppelten Hauptspeicher (220) aufweist; und es sich bei den Schreibdaten des Schreizugriffs um System-BIOS-Aktualisierungen handelt, die in einem Puffer in dem Hauptspeicher gespeichert sind.
  11. Computersystem nach Anspruch 10, wobei: das Computersystem ferner eine Speichersteuereinheit (218) aufweist, die mit dem Prozessor, dem Hauptspeicher, der zweiten Speichereinheit und dem FLASH-Speicher gekoppelt ist, um den Speicherzugriff zu steuern; eine FLASH-Sicherheitsschaltung (226) mit der Speichersteuereinheit und dem FLASH-Speicher gekoppelt ist, um ein durch die Speichersteuereinheit an den FLASH-Speicher für den Schreibzugriff vorgesehenes Schreibsignal zu qualifizieren, und um eine Unterbrechung zu erzeugen, um den Prozessor in den System Management Mode zu versetzen.
  12. Computersystem nach Anspruch 11, wobei: das Computersystem ferner einen E/A-Anschluss (232) aufweist, der mit dem Prozessor und der FLASH-Sicherheitsschaltung gekoppelt ist, um der FLASH-Sicherheitsschaltung den Schreibzugriff mitzuteilen.
  13. Computersystem nach Anspruch 8, wobei die Mehrzahl von Authentifikationsfunktionen ferner eine Kopierfunktion (122) aufweist, um die Schreibdaten des Schreibzugriffs bedingt in den nichtflüchtigen Speicher zu kopieren, wenn die Zusammenfassungsvergleichsfunktion die ersten und zweiten Zusammenfassungen erfolgreich vergleicht.
  14. Computersystem nach Anspruch 7, wobei der Prozessor nach dem Empfang eine System Management Interrupt (SMI) in den System Management Mode eintritt, woraufhin der Prozessor selektiv die zugeordneten Authentifikationsfunktionen zum Authentifizieren der empfangenen Daten aufruft.
  15. Computersystem-Grundplatine (242), die eine nichtflüchtige Speichereinheit (224) und in der nichtflüchtigen Speichereinheit gespeicherte BIOS-Dienste (260) umfasst, dadurch gekennzeichnet, dass: die BIOS-Dienste eine Mehrzahl von Authentifikationsfunktionen (112, 116, 120) aufweisen, um das Schreiben von Daten (100) in die nichtflüchtige Speichereinheit während dem integrierten Betrieb eines Computersystems (200) mit der Computersystem-Grundplatine zu authentifizieren, und um nur das Schreiben authentifizierter Schreibdaten in die nichtflüchtige Speichereinheit zuzulassen, wobei die Authentifikationsfunktionen die System-BIOS-Aktualisierungen unter Verwendung einer elektronischen Signatur (102) authentifizieren, die den System-BIOS-Aktualisierungen zugeordnet ist, wobei der Inhalt der elektronischen Signatur funktional von dem Inhalt der System-BIOS-Aktualisierungen abhängig ist.
  16. Computersystem-Grundplatine nach Anspruch 15, wobei die Computersystem-Grundplatine ferner folgendes aufweist: einen Hauptspeicher (220) zum Einspeichern der System-BIOS-Aktualisierungen in einen Puffer.
  17. Computersystem-Grundplatine nach Anspruch 16, wobei die Computersystem-Grundplatine ferner folgendes aufweist: einen Systemmanagementspeicher (222) zum Speicher und Sichern der Mehrzahl von Authentifikationsfunktionen während dem Betrieb des Computersystems, wobei die Mehrzahl der Authentifikationsfunktionen während der Systeminitialisierung in den Systemmanagementspeicher kopiert wird, wobei der Systemmanagementspeicher normalerweise nicht in einen normalen Systemspeicherraum des Computersystems abgebildet wird, ausgenommen wenn das Computersystem in einem System Management Mode ausgeführt wird, und wobei der Systemmanagementspeicher mit Ausnahme des Systeminitialisierungs- und Systemausführungsmodusübergangs schreibgeschützt ist.
  18. Computersystem-Grundplatine nach Anspruch 17, wobei die Computersystem-Grundplatine ferner folgendes umfasst: einen mit dem nichtflüchtigen Speicher und dem Systemmanagementspeicher gekoppelten Prozessor (12) zum aufrufen der Authentifikationsfunktionen während dem Betrieb des Computersystems in dem System Management Mode zum Authentifizieren der System-BIOS-Aktualisierungen, und um nur das Schreiben authentifizierter System-BIOS-Aktualisierungen aus dem Puffer des Hauptspeichers in die nichtflüchtige Speichereinheit zuzulassen.
  19. Computersystem-Grundplatine nach Anspruch 18, wobei die Computersystem-Grundplatine ferner folgendes umfasst: eine mit dem Prozessor, dem Hauptspeicher, dem Systemmanagementspeicher und der nichtflüchtigen Speichereinheit gekoppelte Speichersteuereinheit (218) zur Steuerung des Speicherzugriffs; eine mit der Speichersteuereinheit und der nichtflüchtigen Speichersteuereinheit gekoppelte nichtflüchtige Speicherzugriffs-Sicherheitsschaltung (226) zum Qualifizieren eines durch die Speichersteuereinheit an die nichtflüchtige Speichereinheit vorgesehen Schreibsignals (MEMW#) für einen eingeleiteten Schreibzugriff zum Schreiben der System-BIOS-Aktualisierungen in die nichtflüchtige Speichereinheit, und um eine Unterbrechung zu erzeugen, um das Computersystem in den System Management Mode zu versetzen.
  20. Computersystem-Grundplatine nach Anspruch 19, wobei die Computersystem-Grundplatine ferner einen mit dem Prozessor und der nichtflüchtigen Speicherzugriffs-Sicherheitsschaltung gekoppelten E/A-Anschluss (232) aufweist, um der nichtflüchtigen Speichersicherheitsschaltung den Schreibzugriff mitzuteilen.
  21. Computersystem-Grundplatine nach Anspruch 15, wobei die Mehrzahl der Authentifikationsfunktionen folgendes aufweist: eine Entschlüsselungsfunktion (116, 268) zur Wiederherstellung einer ersten Zusammenfassung durch Entschlüsselung der elektronischen Signatur mit einem öffentlichen Schlüssel (118), wobei die elektronische Signatur durch Verschlüsselung der ersten Zusammenfassung mit einem geheimen privaten Schlüssel auf ergänzende Art und Weise erzeugt wird; eine Nachrichtenzusammenfassungsfunktion (112) zum Erzeugen einer zweiten Zusammenfassung auf der Basis des Inhalts der System-BIOS-Aktualisierungen auf die gleiche Art und Weise, wie die erste Zusammenfassung erzeugt worden ist; und eine Zusammenfassungsvergleichsfunktion (120) zur Bestimmung, ob die System-BIOS-Aktualisierungen authentisch sind, indem die ersten und zweiten Zusammenfassungen verglichen werden.
  22. Computersystem-Grundplatine nach Anspruch 21, wobei die Mehrzahl der Authentifikationsfunktionen ferner eine Kopierfunktion (122) zum bedingen Kopieren der System-BIOS-Aktualisierungen in die nichtflüchtige Speichereinheit aufweist, wenn die Zusammenfassungsvergleichsfunktion die ersten und zweiten Zusammenfassungen erfolgreich vergleicht.
  23. Computersystem-Grundplatine nach Anspruch 17, wobei das Computersystem nach dem Empfang einer System Management Interrupt (SMI) in den System Management Mode eintritt, woraufhin das Computersystem selektiv die zugeordneten Authentifikationsfunktionen zur Authentifikation der empfangenen Daten aufruft.
  24. Computerprogramm, das eine Computerprogrammcodeeinrichtung umfasst, die sich zur Ausführung aller Schritte aus Anspruch 1 eignet.
  25. Gegenstand, der folgendes umfasst: ein computerlesbares Medium mit darauf gespeicherten Anweisungen, die, wenn sie ausgeführt werden, bewirken, dass ein Computer folgendes unternimmt: (a) das Sichern einer Mehrzahl von Authentifikationsfunktionen (112, 116, 120), wobei die Authentifikationsfunktionen in der Lage sind, Schreibdaten (10) eines Schreibzugriffs unter Verwendung einer den Schreibdaten zugeordneten elektronischen Signatur (102) für einen nichtflüchtigen Speicher (224) zu authentifizieren, wobei der Inhalt der elektronischen Signatur funktional von dem Inhalt der Schreibdaten abhängig ist; und (b) das Aufrufen der Authentifikationen zum Authentifizieren der Schreibdaten jedes Schreibzugriffs auf den nichtflüchtigen Speicher, und wobei es nur zugelassen wird, dass authentifizierte Schreibdaten in den geschützten nichtflüchtigen Speicher geschrieben werden.
  26. Gegenstand nach Anspruch 25, wobei (a) das Sichern der Authentifikationsfunktionen in einem gesicherten Abschnitt des Speichers umfasst.
  27. Gegenstand nach Anspruch 26, wobei die Authentifikationsfunktionen von (a) als eine Mehrzahl von BIOS-Diensten (260) eines Computersystems (200) implementiert sind; und wobei (a) das Kopieren der Mehrzahl von System-BIOS-Diensten in den Systemmanagementspeicher (22) des Computersystems während der Systeminitialisierung umfasst, wobei der Systemmanagementspeicher normalerweise nicht in einen normalen Systemspeicherraum des Computersystems abgebildet wird, ausgenommen wenn das Computersystem in einem System Management Mode ausgeführt wird, und wobei der Systemmanagementspeicher mit Ausnahme des Systeminitialisierungs- und Systemausführungsmodusübergangs schreibgeschützt ist.
  28. Gegenstand nach Anspruch 26, wobei die zugeordnete elektronische Signatur durch Verschlüsselung einer ersten Zusammenfassung mit einem geheimen privaten Schlüssel erzeugt wird, wobei die erste Zusammenfassung auf der Basis des Inhalts der Schreibdaten des Schreibzugriffs erzeugt wird; und wobei (b) folgendes umfasst: (b.1.) das Aufrufen einer gesicherten Entschlüsselungsfunktion (116) der gesicherten Authentifikationsfunktionen zur Wiederherstellung der ersten Zusammenfassung durch Entschlüsselung der zugeordneten elektronischen Signatur unter Verwendung eines gesicherten öffentlichen Schlüssels, der den geheimen privaten Schlüssel ergänzt; (b.2) das Aufrufen einer gesicherten Nachrichtenzusammenfassungsfunktion (112) der gesicherten Authentifikationsfunktionen zur Erzeugung einer zweiten Zusammenfassung auf der Basis des Inhalts der Schreibdaten des Schreibzugriffs; und (b.3) das Aufrufen einer gesicherten Zusammenfassungsvergleichsfunktion (120) der gesicherten Authentifikationsfunktionen, um zu bestimmen, ob die Schreibdaten des Schreibzugriffs authentisch sind, indem die ersten und zweiten Zusammenfassungen verglichen werden.
  29. Gegenstand nach Anspruch 28, wobei (b) ferner folgendes umfasst: (b.4) das bedingte Aufrufen einer gesicherten Kopierfunktion (122) der gesicherten Authentifikationsfunktionen, um die Schreibdaten in den geschützten nichtflüchtigen Speicher zu kopieren, wenn die ersten und zweiten Zusammenfassungen in (b.3) erfolgreich verglichen worden sind.
  30. Gegenstand nach Anspruch 28, wobei das Entsichern der gesicherten zugeordneten Authentifikationsfunktionen (b.1) die Ausgabe einer System Management Interrupt (SMI) umfasst, wobei das Computersystem in einem System Management Mode (SMM) platziert wird, wobei der Systemmanagementspeicher in den normalen Speicherraum abgebildet wird, aus dem die zugeordneten Authentifikationsfunktionen selektiv zur Authentifizierung der empfangenen Daten aufgerufen werden,
DE69733123T 1996-02-09 1997-02-06 Verfahren und vorrichtung zur verhinderung eines unbefugten schreibzugriffes zu einem geschützten nichtflüchtigen speicher Expired - Lifetime DE69733123T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/598,803 US5835594A (en) 1996-02-09 1996-02-09 Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US598803 1996-02-09
PCT/US1997/001965 WO1997029569A1 (en) 1996-02-09 1997-02-06 Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage

Publications (2)

Publication Number Publication Date
DE69733123D1 DE69733123D1 (de) 2005-06-02
DE69733123T2 true DE69733123T2 (de) 2006-01-12

Family

ID=24396977

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69733123T Expired - Lifetime DE69733123T2 (de) 1996-02-09 1997-02-06 Verfahren und vorrichtung zur verhinderung eines unbefugten schreibzugriffes zu einem geschützten nichtflüchtigen speicher

Country Status (6)

Country Link
US (3) US5835594A (de)
EP (2) EP1467513A3 (de)
AU (1) AU1859197A (de)
DE (1) DE69733123T2 (de)
TW (1) TW401562B (de)
WO (1) WO1997029569A1 (de)

Families Citing this family (228)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
GB9605338D0 (en) * 1996-03-13 1996-05-15 Arendee Ltd Improvements in or relating to computer systems
JP3540511B2 (ja) * 1996-06-18 2004-07-07 株式会社東芝 電子署名検証装置
US7127741B2 (en) * 1998-11-03 2006-10-24 Tumbleweed Communications Corp. Method and system for e-mail message transmission
US7117358B2 (en) * 1997-07-24 2006-10-03 Tumbleweed Communications Corp. Method and system for filtering communication
AU8759098A (en) * 1997-07-24 1999-02-16 Tumbleweed Communications Corporation E-mail firewall with stored key encryption/decryption
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6243809B1 (en) * 1998-04-30 2001-06-05 Compaq Computer Corporation Method of flash programming or reading a ROM of a computer system independently of its operating system
US6401208B2 (en) * 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
US6405311B1 (en) * 1998-07-28 2002-06-11 Compaq Computer Corporation Method for storing board revision
US6832320B1 (en) * 1998-07-28 2004-12-14 Hewlett-Packard Development Company, L.P. Ownership tag on power-up screen
US6735696B1 (en) 1998-08-14 2004-05-11 Intel Corporation Digital content protection using a secure booting method and apparatus
US6327660B1 (en) 1998-09-18 2001-12-04 Intel Corporation Method for securing communications in a pre-boot environment
US6122732A (en) * 1998-10-23 2000-09-19 Compaq Computer Corporation System management interrupt for a desktop management interface/system management basic input output system interface function
JP2000231626A (ja) * 1998-12-07 2000-08-22 Hitachi Ltd 電子筆記具および電子記載方法
US6408387B1 (en) 1999-01-22 2002-06-18 Intel Corporation Preventing unauthorized updates to a non-volatile memory
US6643374B1 (en) 1999-03-31 2003-11-04 Intel Corporation Duty cycle corrector for a random number generator
US6795837B1 (en) 1999-03-31 2004-09-21 Intel Corporation Programmable random bit source
US6647494B1 (en) 1999-06-14 2003-11-11 Intel Corporation System and method for checking authorization of remote configuration operations
US6598165B1 (en) * 1999-06-18 2003-07-22 Phoenix Technologies Ltd. Secure memory
US6715074B1 (en) * 1999-07-27 2004-03-30 Hewlett-Packard Development Company, L.P. Virus resistant and hardware independent method of flashing system bios
US7814337B2 (en) * 2000-01-06 2010-10-12 Super Talent Electronics, Inc. Secure flash-memory card reader with host-encrypted data on a flash-controller-mastered bus parallel to a local CPU bus carrying encrypted hashed password and user ID
DE19946959B4 (de) * 1999-09-30 2009-05-07 Fujitsu Siemens Computers Gmbh Verfahren zum Laden von Daten für grundlegende Systemroutinen
US6895556B1 (en) 1999-11-12 2005-05-17 International Business Machines Corporation System and method for providing access to displayed data
TW452733B (en) * 1999-11-26 2001-09-01 Inventec Corp Method for preventing BIOS from viruses infection
US6769059B1 (en) 1999-12-17 2004-07-27 Intel Corporation System for updating computer's existing video BIOS without updating the whole computer's system BIOS
US6732261B2 (en) * 1999-12-30 2004-05-04 Intel Corporation Method and apparatus for implementing a register scan process
US6629192B1 (en) 1999-12-30 2003-09-30 Intel Corporation Method and apparatus for use of a non-volatile storage management system for PC/AT compatible system firmware
US6594663B2 (en) 1999-12-30 2003-07-15 Intel Corporation Method and apparatus for implementing and maintaining a configuration database
US6785806B1 (en) 1999-12-30 2004-08-31 Intel Corporation Bios having macro/effector pairs for hardware initialization
DE10002203B4 (de) * 2000-01-19 2009-12-10 Robert Bosch Gmbh Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
US6615286B1 (en) 2000-02-14 2003-09-02 Intel Corporation Method and apparatus for updating device driver control data
CA2402389A1 (en) * 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7988559B2 (en) * 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6792438B1 (en) * 2000-03-31 2004-09-14 Intel Corporation Secure hardware random number generator
US6687721B1 (en) 2000-03-31 2004-02-03 Intel Corporation Random number generator with entropy accumulation
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6934817B2 (en) 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7073064B1 (en) * 2000-03-31 2006-07-04 Hewlett-Packard Development Company, L.P. Method and apparatus to provide enhanced computer protection
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US20030121027A1 (en) * 2000-06-23 2003-06-26 Hines Kenneth J. Behavioral abstractions for debugging coordination-centric software designs
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7111005B1 (en) * 2000-10-06 2006-09-19 Oracle International Corporation Method and apparatus for automatic database encryption
US7484081B1 (en) * 2000-10-10 2009-01-27 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices
US7797729B2 (en) * 2000-10-26 2010-09-14 O2Micro International Ltd. Pre-boot authentication system
US7215781B2 (en) 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US20020083318A1 (en) * 2000-12-26 2002-06-27 Larose Gordon Edward Method and system for software integrity control using secure hardware assist
US7035963B2 (en) 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US6976172B2 (en) * 2000-12-28 2005-12-13 Intel Corporation System and method for protected messaging
US7350083B2 (en) * 2000-12-29 2008-03-25 Intel Corporation Integrated circuit chip having firmware and hardware security primitive device(s)
US7016494B2 (en) * 2001-03-26 2006-03-21 Hewlett-Packard Development Company, L.P. Multiple cryptographic key precompute and store
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
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
US7096353B2 (en) * 2001-07-09 2006-08-22 Advanced Micro Devices, Inc. Software modem with privileged mode decryption of control codes
US7206933B2 (en) * 2001-07-09 2007-04-17 Advanced Micro Devices, Inc. Software modem with privileged mode driver authentication
US6973566B2 (en) * 2001-07-09 2005-12-06 Advanced Micro Devices, Inc. Software modem with privileged mode oversight of control parameters
US7162036B2 (en) * 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) * 2001-08-08 2004-02-03 Igt Process verification
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
US20030037244A1 (en) * 2001-08-16 2003-02-20 International Business Machines Corporation System management interrupt generation upon completion of cryptographic operation
US7484105B2 (en) * 2001-08-16 2009-01-27 Lenovo (Singapore) Ptd. Ltd. Flash update using a trusted platform module
CA2460046C (en) * 2001-09-10 2014-06-10 Igt Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US6711690B2 (en) 2001-09-17 2004-03-23 International Business Machines Corporation Secure write blocking circuit and method for preventing unauthorized write access to nonvolatile memory
US6902481B2 (en) * 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7931533B2 (en) * 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) * 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
CA2469839A1 (en) * 2001-11-26 2003-06-05 Igt Pass-through live validation device and method
US7865948B1 (en) 2001-12-03 2011-01-04 Advanced Micro Devices, Inc. Method and apparatus for restricted execution of security sensitive instructions
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
DE10164419A1 (de) * 2001-12-29 2003-07-17 Philips Intellectual Property Verfahren und Anordnung zum Schutz von digitalen Schaltungsteilen
US7308576B2 (en) 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US20030135744A1 (en) * 2002-01-11 2003-07-17 International Business Machines Corporation Method and system for programming a non-volatile device in a data processing system
US7480806B2 (en) 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7028149B2 (en) 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
EP1357454A1 (de) * 2002-04-23 2003-10-29 Hewlett-Packard Company Datenverarbeitungssystem und -verfahren mit geschütztem BIOS
US20030203755A1 (en) * 2002-04-25 2003-10-30 Shuffle Master, Inc. Encryption in a secure computerized gaming system
US7139890B2 (en) 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US20030226014A1 (en) * 2002-05-31 2003-12-04 Schmidt Rodney W. Trusted client utilizing security kernel under secure execution mode
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6904493B2 (en) * 2002-07-11 2005-06-07 Animeta Systems, Inc. Secure flash memory device and method of operation
US7296267B2 (en) 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
EP1391819A1 (de) * 2002-08-19 2004-02-25 Hewlett-Packard Company Datenverarbeitungssystem und Verfahren
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US20040153601A1 (en) * 2003-02-04 2004-08-05 Blankenagel John A. General purpose lines for memory write protection
US7123143B2 (en) * 2003-02-11 2006-10-17 Topaz Systems, Inc. Wireless signature management system
EP1447733A1 (de) * 2003-02-17 2004-08-18 Hewlett-Packard Development Company, L.P. Datenverarbeitungssystem und Verfahren
JP4346326B2 (ja) * 2003-02-27 2009-10-21 富士通株式会社 セキュリティシステム、情報管理システム、暗号化支援システム、およびコンピュータプログラム
JP2004287541A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd 不揮発性メモリのアクセス制御システム
US7415708B2 (en) 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
GB2404487A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
US7177888B2 (en) 2003-08-01 2007-02-13 Intel Corporation Programmable random bit source
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7237051B2 (en) 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7177967B2 (en) 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7366305B2 (en) 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7562230B2 (en) * 2003-10-14 2009-07-14 Intel Corporation Data security
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
CN1632828A (zh) * 2003-12-24 2005-06-29 劲永国际股份有限公司 一种对资料加密保护的usb界面资料处理卡
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7836219B1 (en) * 2004-02-10 2010-11-16 Pmc-Sierra Us, Inc. System and method for authentication of embedded RAID on a host RAID card
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
FR2867871B1 (fr) * 2004-03-19 2007-08-24 Secure Machines Sa Procede et dispositif de securisation de l'acces a un peripherique
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
WO2006005292A1 (de) * 2004-07-14 2006-01-19 Siemens Aktiengesellschaft Anordnung, umfassend einen prozessor und einen über eine datenverbindung mit dem prozessor verbundenen speicher
FR2874440B1 (fr) 2004-08-17 2008-04-25 Oberthur Card Syst Sa Procede et dispositif de traitement de donnees
EP1632829A1 (de) * 2004-09-03 2006-03-08 Canal + Technologies Schaltung zur Datenintegritätsprüfung
US8612772B1 (en) * 2004-09-10 2013-12-17 Altera Corporation Security core using soft key
US8566616B1 (en) 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8745364B2 (en) * 2004-12-13 2014-06-03 Intel Corporation Method and apparatus for enabling non-volatile content filtering
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7685418B1 (en) 2005-01-19 2010-03-23 Altera Corporation Mechanisms and techniques for protecting intellectual property
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US8181020B2 (en) * 2005-02-02 2012-05-15 Insyde Software Corp. System and method for securely storing firmware
US7487222B2 (en) * 2005-03-29 2009-02-03 International Business Machines Corporation System management architecture for multi-node computer system
US20060265544A1 (en) * 2005-05-17 2006-11-23 John Rudelic Internally authenticated flash remediation
US8670561B1 (en) * 2005-06-02 2014-03-11 Altera Corporation Method and apparatus for limiting use of IP
US7600259B2 (en) * 2005-06-08 2009-10-06 Symantec Corporation Critical period protection
US8639946B2 (en) 2005-06-24 2014-01-28 Sigmatel, Inc. System and method of using a protected non-volatile memory
US20070168574A1 (en) * 2005-09-28 2007-07-19 Dell Products L.P. System and method for securing access to general purpose input/output ports in a computer system
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
FR2893436B1 (fr) * 2005-11-15 2008-02-15 Oberthur Card Syst Sa Securisation entre des composants electroniques d'une entite electronique securisee portable
US8195945B2 (en) * 2005-12-01 2012-06-05 Sony Mobile Communications Ab Secure digital certificate storing scheme for flash memory and electronic apparatus
US7496727B1 (en) 2005-12-06 2009-02-24 Transmeta Corporation Secure memory access system and method
US8219829B2 (en) * 2005-12-08 2012-07-10 Intel Corporation Scheme for securing locally generated data with authenticated write operations
US20070162733A1 (en) * 2006-01-06 2007-07-12 Dell Products L.P. Secure CMOS
JP2007233725A (ja) * 2006-03-01 2007-09-13 Freescale Semiconductor Inc 集積回路、ウェハ及び集積回路の製造方法
GB0604784D0 (en) * 2006-03-09 2006-04-19 Ttp Communications Ltd Integrity protection
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
EP1845707A1 (de) * 2006-04-10 2007-10-17 Telsey S.p.A. System und Verfahren zur Kontrolle mit bedingtem Zugriff durch ein Dekoder an multimedia Information verteilt per Kommunikationsnetzwerk
JP4288292B2 (ja) * 2006-10-31 2009-07-01 株式会社エヌ・ティ・ティ・ドコモ オペレーティングシステム監視設定情報生成装置及びオペレーティングシステム監視装置
US8539238B2 (en) * 2007-05-09 2013-09-17 Intel Corporation Authenticated nonvolatile memory signing operations
US8402536B2 (en) * 2008-04-15 2013-03-19 Nokia Corporation Signature based authentication of the configuration of a configurable logic component
WO2010001544A1 (ja) * 2008-07-01 2010-01-07 パナソニック株式会社 ドライブ装置、コンテンツ再生装置、記録装置、データ読み出し方法、プログラム、記録媒体、および集積回路
TWI361382B (en) * 2008-07-30 2012-04-01 Pegatron Corp Electronic apparatus and update bios method thereof
US8495354B2 (en) * 2008-09-24 2013-07-23 Hewlett-Packard Development Company, L.P. Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory
US8768843B2 (en) * 2009-01-15 2014-07-01 Igt EGM authentication mechanism using multiple key pairs at the BIOS with PKI
US8528046B2 (en) * 2010-04-19 2013-09-03 Dell Products, Lp Selective management controller authenticated access control to host mapped resources
US8589702B2 (en) * 2010-05-28 2013-11-19 Dell Products, Lp System and method for pre-boot authentication of a secure client hosted virtualization in an information handling system
US8909852B1 (en) * 2011-12-30 2014-12-09 Google Inc. Disabling write protection on a serial peripheral interface chip
US9779242B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Programmable secure bios mechanism in a trusted computing system
US9507942B2 (en) 2013-11-13 2016-11-29 Via Technologies, Inc. Secure BIOS mechanism in a trusted computing system
US9367689B2 (en) * 2013-11-13 2016-06-14 Via Technologies, Inc. Apparatus and method for securing BIOS in a trusted computing system
US9767288B2 (en) 2013-11-13 2017-09-19 Via Technologies, Inc. JTAG-based secure BIOS mechanism in a trusted computing system
US10055588B2 (en) 2013-11-13 2018-08-21 Via Technologies, Inc. Event-based apparatus and method for securing BIOS in a trusted computing system during execution
US10049217B2 (en) 2013-11-13 2018-08-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US10095868B2 (en) 2013-11-13 2018-10-09 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9798880B2 (en) 2013-11-13 2017-10-24 Via Technologies, Inc. Fuse-enabled secure bios mechanism with override feature
US9779243B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Fuse-enabled secure BIOS mechanism in a trusted computing system
US9547767B2 (en) 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9183394B2 (en) 2013-11-13 2015-11-10 Via Technologies, Inc. Secure BIOS tamper protection mechanism
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
ES2683998T3 (es) * 2014-05-15 2018-10-01 Winbond Electronics Corp. Dispositivo de memoria con modo de prueba segura
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备
US20160314288A1 (en) * 2015-04-22 2016-10-27 Qualcomm Incorporated Method and apparatus for write restricted storage
US10116451B2 (en) * 2016-11-11 2018-10-30 Intel Corporation File backups using a trusted storage region
US10715526B2 (en) 2016-12-14 2020-07-14 Microsoft Technology Licensing, Llc Multiple cores with hierarchy of trust
US10402273B2 (en) 2016-12-14 2019-09-03 Microsoft Technology Licensing, Llc IoT device update failure recovery
US10416991B2 (en) * 2016-12-14 2019-09-17 Microsoft Technology Licensing, Llc Secure IoT device update
US10846162B2 (en) * 2018-11-29 2020-11-24 Oracle International Corporation Secure forking of error telemetry data to independent processing units
CN113094060A (zh) * 2019-12-23 2021-07-09 瑞昱半导体股份有限公司 电子装置与软体更新方法
US11928205B1 (en) 2022-03-01 2024-03-12 CSP Inc. Systems and methods for implementing cybersecurity using blockchain validation

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4590552A (en) * 1982-06-30 1986-05-20 Texas Instruments Incorporated Security bit for designating the security status of information stored in a nonvolatile memory
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
US5175840A (en) * 1985-10-02 1992-12-29 Hitachi, Ltd. Microcomputer having a PROM including data security and test circuitry
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
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
US5103444A (en) 1990-04-12 1992-04-07 At&T Bell Laboratories Conference connection method in a multicast packet switching network
US5050212A (en) 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
KR940004404B1 (ko) * 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5454000A (en) 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US5287519A (en) 1992-09-17 1994-02-15 International Business Machines Corp. LAN station personal computer system with controlled data access for normal and unauthorized users and method
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5465299A (en) * 1992-12-03 1995-11-07 Hitachi, Ltd. Electronic document processing system and method of forming digital signature
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.
GB9307488D0 (en) * 1993-04-08 1993-06-02 Amp Holland Optical fibre connector latching mechanism
JP3354937B2 (ja) * 1993-04-23 2002-12-09 イルビン センサーズ コーポレーション それぞれが積層体表面に固定されたicチップと相互作用するicチップの積層体を含んだ電子モジュール
JP3243331B2 (ja) * 1993-05-14 2002-01-07 富士通株式会社 ソフトウェア管理用階層媒体の作成方法,ソフトウェア管理用階層媒体の作成装置およびソフトウェア管理用階層媒体
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
US5377264A (en) * 1993-12-09 1994-12-27 Pitney Bowes Inc. Memory access protection circuit with encryption key
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5999711A (en) 1994-07-18 1999-12-07 Microsoft Corporation Method and system for providing certificates holding authentication and authorization information for users/machines
US5623673A (en) * 1994-07-25 1997-04-22 Advanced Micro Devices, Inc. System management mode and in-circuit emulation memory mapping and locking method
US5881287A (en) * 1994-08-12 1999-03-09 Mast; Michael B. Method and apparatus for copy protection of images in a computer system
US5731629A (en) * 1995-03-10 1998-03-24 Data-Disk Technology, Inc. Personal memory devices carried by an individual which can be read and written to
US5713009A (en) 1995-09-08 1998-01-27 Digital Equipment Corporation Method and apparatus for configuring a computer system
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
US5848231A (en) 1996-02-12 1998-12-08 Teitelbaum; Neil System configuration contingent upon secure input
JPH103745A (ja) * 1996-06-12 1998-01-06 Sony Corp 記録媒体、デジタルコピー管理方法、再生装置、及び記録装置
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
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5919257A (en) 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US6009524A (en) * 1997-08-29 1999-12-28 Compact Computer Corp Method for the secure remote flashing of a BIOS memory
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
US6189100B1 (en) * 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data

Also Published As

Publication number Publication date
US6510521B1 (en) 2003-01-21
EP0879515A1 (de) 1998-11-25
EP1467513A3 (de) 2007-11-07
DE69733123D1 (de) 2005-06-02
AU1859197A (en) 1997-08-28
EP0879515B1 (de) 2005-04-27
EP0879515A4 (de) 2000-05-10
US6249872B1 (en) 2001-06-19
US5835594A (en) 1998-11-10
EP1467513A2 (de) 2004-10-13
WO1997029569A1 (en) 1997-08-14
TW401562B (en) 2000-08-11

Similar Documents

Publication Publication Date Title
DE69733123T2 (de) Verfahren und vorrichtung zur verhinderung eines unbefugten schreibzugriffes zu einem geschützten nichtflüchtigen speicher
DE10254621B4 (de) Computervorrichtung, Verfahren und Computersystem zum Erzeugen einer vertrauenswürdigen Umgebung
DE69725833T2 (de) Gesicherte zweiteilige Benutzer-Authentifizierung in einem Rechnernetz
DE10392470B4 (de) System und Verfahren zum Ausführen von Initialisierungsbefehlen einer gesicherten Umgebung
DE69731714T2 (de) Dynamische Dienstklassen für eine internationale kryptographische Struktur
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE60002893T2 (de) Computerplattformen und deren betriebsverfahren
DE69724946T2 (de) Programmvermietungssystem und Verfahren zur Vermietung von Programmen
DE60129967T2 (de) Auf biometrie basierende beglaubigung in einer nichtflüchtigen speichervorrichtung
DE69534757T2 (de) System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
DE60007724T2 (de) Chipkarten-benutzerschnittstelle für eine vertraute computerplattform
DE69819485T2 (de) Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel
DE112005002985B4 (de) Verfahren zum Einrichten einer vertrauenswürdigen Ablaufumgebung in einem Computer
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
US5822771A (en) System for management of software employing memory for processing unit with regulatory information, for limiting amount of use and number of backup copies of software
DE60123969T2 (de) Rechnersystem in dem ein gesicherter zustand wiederherstellbar ist
DE112005001666B4 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
DE10137505B4 (de) Anordnung und Verfahren zum Ändern der Funktionalität eines Sicherheitsmoduls
DE10292364T5 (de) Sichere Maschinenplattform, die mit Betriebssystemen und awendungsspezifischen Steuerprogrammen eine Schnittstelle bildet
DE69736246T2 (de) Vorrichtung zur gesicherten Kryptographischen Datenverarbeitung und zum Schutz von Speicherermitteln für Frankiermaschinen
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE102007030622A1 (de) Verfahren und Anwendung zum Verknüpfen zwischen Systemen auf der Grundlage von Hardware-Sicherheits-Einheiten
EP2541455B1 (de) Methode und Verfahren für PIN-Eingaben bei konsistentem Software-Stack auf Geldautomaten
EP0280035B1 (de) Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806