DE69819485T2 - Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel - Google Patents

Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel Download PDF

Info

Publication number
DE69819485T2
DE69819485T2 DE69819485T DE69819485T DE69819485T2 DE 69819485 T2 DE69819485 T2 DE 69819485T2 DE 69819485 T DE69819485 T DE 69819485T DE 69819485 T DE69819485 T DE 69819485T DE 69819485 T2 DE69819485 T2 DE 69819485T2
Authority
DE
Germany
Prior art keywords
processor
secure
cryptographic
processing
key
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
DE69819485T
Other languages
English (en)
Other versions
DE69819485D1 (de
Inventor
Trung Son VU
Quang Phan
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.)
KINGLITE HOLDINGS INC., SG
Original Assignee
Phoenix Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phoenix Technologies Ltd filed Critical Phoenix Technologies Ltd
Application granted granted Critical
Publication of DE69819485D1 publication Critical patent/DE69819485D1/de
Publication of DE69819485T2 publication Critical patent/DE69819485T2/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • 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

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet der Computersicherheit und genauer gesagt auf ein Verfahren und eine Vorrichtung für die sichere Verarbeitung kryptographischer Schlüssel.
  • 2. Beschreibung des verwandten Standes der Technik
  • Probleme der Computersicherheit konfrontieren Benutzer mit der Forderung, außerordentliche Sicherheitsmaßnahmen zu ergreifen, um vertrauliche Information zu schützen. Computersysteme verwenden verschiedene Typen von Zugriffsbeschränkungen, um sicherzustellen, daß nur autorisierte Benutzer Zugriff zu den Systemressourcen erhalten.
  • Beispielsweise beschreibt die US 5,615,263 eine doppelt nutzbare Sicherheitsarchitektur mit einem geschützten internen Betriebssystem; die WO 95/24696 beschreibt einen vor dem Herauffahren liegenden Schutz für ein Datensicherheitssystem; die GB 2,259,166 beschreibt Unterbrechungen bzw. Interrupts für ein Transportsystem mit einem automatischen Neustart einer Eingabe/Ausgabefalle; WO 93/17388 beschreibt ein System zum Schützen von Computern mittels intelligenter Token oder Smart Cards; und die WO 98/19243 beschreibt ein Verfahren und ein Sicherheitssystem zum Verarbeiten einer sicherheitskritischen Aktivität.
  • Komplexe Verschlüsselungs- und Entschlüsselungsalgorithmen werden verwendet, um vertrauliche Information dagegen zu schützen, daß sie abgefangen und decodiert wird, während sie über öffentliche Netzwerke gesendet wird. Weiterhin werden neue Techniken, wie z. B. digitale Signaturen, digitale Hüllen, Zertifizierung, Authentisierung und Nicht-Ablehnung verwendet, um Benutzer zu authentisieren, privilegierten Zugriff zu gewähren und um sichere elektronische Online-Geschäftsmethoden zu fördern. All diese Techniken erfordern eine gewisse Form an "geheimen" Informationen, welche "Schlüssel" genannt werden, um die Information zu sichern. Die geheimen Schlüssel, die verwendet werden, um Daten zu sichern, Zugriff zu gewähren, Benutzer zu authentisieren (deren Echtheit zu bestätigen) etc. werden insgesamt als "kryptographische Schlüssel" bezeichnet. Damit diese kryptographischen Schlüssel eine maximale Effektivität haben, sollten sie in einer sicheren Umgebung so behandelt werden, daß Vorgänge, welche das Sicherheitssystem durchbrechen, nicht zu einer Entdeckung der "geheimen" Information führen können. Krzptographische Techniken werden allgemein diskutiert in Applied Cryptography, 2. Ausgabe, Bruce Schneier, John Wiley & Sons, Inc. (1996).
  • Beispielsweise beinhaltet ein Verfahren für den Zugriff durch einen Benutzer aus der Ferne die Verwendung eines geheimen Schlüssels, der auf einem Token gespeichert und als "Challenge/Response-Identifikation" bekannt ist. Das Token kann aus irgendeiner Form einer wegnehmbaren Speichereinrichtung, wie z. B. einer Diskette, einer Fortezza-Karte, einer PCMCIA-Karte, einer Smart Card, oder sogar einer "virtuellen" Smart Card bestehen, welche nur in Softwareform existiert.
  • Der physikalische Besitz des Token ermöglicht es dem Benutzer, auf den entfernt liegenden Server zuzugreifen. In diesem Schema sendet der Host eine Zufallszahl an den Benutzer als eine sogenannte "Challenge" (wörtlich übersetzt "Herausforderung"). Der Benutzer gibt eine Response (Antwort) auf der Basis einer mathematischen Berechnung unter Verwendung der "Challenge" und eines geheimen Schlüssels, den beide Seiten kennen. Durch unabhängiges Ausführen derselben Berechnung auf beiden Seiten kann die Identität des Benutzers schlüssig festgestellt werden. Der geheime Schlüssel selbst wird nie gesendet, was die Möglichkeit beseitigt, daß er auf dem öffentlichen Netzwerk abgefangen wird.
  • Das Verarbeiten der Antwort bzw. des Response und des geheimen Schlüssels auf dem Computer des Benutzers ruft jedoch Sicherheitsprobleme hervor. Der Benutzer kann den geheimen Schlüssel und das Validierungsprogramm einsehen und den geheimen Schlüssel und/oder das Validierungsprogramm kopieren. Andere Software, die auf dem Computer bzw. Rechner läuft, kann möglicherweise ebenfalls in die geheime Information einsehen und diese kopieren. Demnach sollte der geheime Schlüssel und das Validierungsprogramm in einer sicheren Umgebung bearbeitet und behandelt werden, in welche nicht eingedrungen werden kann und die weder durch den Benutzer noch durch andere Computervorgänge eingesehen werden kann.
  • Um den geheimen Schlüssel und das Validierungsprogramm gegen einen Eingriff zu sichern, besteht das bevorzugte Verfahren darin, Smart Cards zu verwenden. Jede Smart Card ist eine Plastikkarte in der Größe einer Kreditkarte, die einen speziellen Typ eines eingebetteten integrierten Schaltkreises hat. Der integrierte Schaltkreis hält Information in elektronischer Form bereit und verarbeitet die Information innerhalb der Karte selbst. Da der geheime Schlüssel und jegliche notwendige Verschlüsselungs-/Entschlüsselungsalgorithmen oder Validierungsprogramme innerhalb der Smart Card verarbeitet werden, können außerhalb derselben liegende Vorgänge keine Einsicht in die geheime Information erhalten. Die interne Verarbeitung der Smart Card ist nicht einmal für den Benutzer erkennbar. Smart Cards bestehen typischerweise aus den folgenden Komponenten:
    • – einem Mikroprozessor (üblicherweise 8 Bit)
    • – einem EEPROM (üblicherweise 8 bis 32 KBit)
    • – einem Betriebssystem auf dem Chip (On-Chip)
    • – einer eingebetteten kryptographischen Software (die entweder eine DES-, einen Zero-Knowledge- oder einen RSA-Algorithmus implementiert)
    • – einem geheimen Schlüssel, der mit einer permanenten PIN verschlüsselt ist, die in dem EE-PROM vorprogrammiert ist.
  • Die Smart Card stellt eine sichere Umgebung für das Speichern und Verarbeiten des geheimen Schlüssels bereit, da alle Vorgänge, die auf dem geheimen Schlüssel beruhen, innerhalb ihrer Umgrenzung ausgeführt werden. Der geheime Schlüssel oder die kryptographischen Algorithmen werden demnach für die außenliegende Welt niemals offengelegt und können daher durch nicht autorisierte Benutzer auch nicht eingesehen werden. Smart Cards sind verwendet worden, um nicht nur Passwort-Validierungsschemata zu implementieren, sondern auch Verschlüsselungs/Entschlüsselungsalgorithmen, Benutzerauthentisierung und Nicht-Ablehnungsverfahren. Jede Anwendung, die irgendeine geheime Information erfordert, um die Daten zu verarbeiten, kann so ausgelegt werden, daß sie aus der sicheren Verarbeitungsumgebung einer Smart Card Vorteil zieht. Das physikalische Smart-Card-Schema ist jedoch teuer und umständlich, da jeder Benutzer eine physikalische Smart Card und einen Smart-Card-Leser haben muß, um Systemzugriff zu erhalten. Smart-Card-Leser kosten derzeit bei Bezug kleiner Mengen etwa $ 100,-- pro Stück und die Smart Cards selbst kosten zwischen $ 6,-- und 8,-- pro Karte. Das Installieren von physikalischen Smart-Card-Lesern in jedem Computer könnte selbst bei einer geringen Implementierung einen beträchtlichen Kostenfaktor darstellen.
  • Unter dem Eindruck der Kosten, die mit der Implementierung physikalischer Smart-Card-Authentisierungssysteme verbunden sind, haben einige Firmen die Verwendung von "virtuellen Smart Cards" vorgeschlagen. In der derzeit implementierten Form existiert eine virtuelle Smart Card in Form einer Software und läuft als eine Anwendung. Der geheime Schlüssel ist üblicherweise auf einem Festplattenlaufwerk oder einer Diskette gespeichert und durch eine persönliche Identifikationsnummer (PIN) geschützt. Demnach kann jede virtuelle Smart-Card-Software mit einer zugehörigen PIN auf das entfernte System zugreifen. Das Problem bei diesem Ansatz besteht jedoch darin, daß die Verarbeitung des geheimen Schlüssels "offen" erfolgt, d. h. der geheime Schlüssel wird in den Systemspeicher gelesen und in einem "offenen" Betrieb entriegelt. Dies macht den Schlüssel und seine Verarbeitung anfällig für ein Eindringen durch andere Vorgänge, die auf demselben System ablaufen.
  • Es wäre deshalb wünschenswert, ein Computersicherheitssystem zu haben, bei welchem kryptographische Schlüssel, Algorithmen und zugehörige Programme in einer sicheren Verarbeitungsumgebung gespeichert sind, auf die durch andere Systemprozesse nicht zugegriffen werden kann oder die auch nicht von einem Benutzer eingesehen werden können. Es wäre außerdem wünschenswert, daß das Sicherheitssystem die vorhandene Hardware nutzt, ohne irgendwelche zusätzlichen peripheren Geräte zu erfordern.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem ersten Aspekt stellt die vorliegende Erfindung ein Verfahren für das sichere Verarbeiten kryptographischer Schlüssel bereit unter Verwendung eines Hauptsystemprozessors, der einen sicheren Prozessorbetrieb hat, mit den Merkmalen: Speichern eines kryptographischen Schlüssels auf einem Token, Laden des kryptographischen Schlüssels, eines kryptographischen Programms und zugehöriger Daten in einen sicheren Speicher während eines sicheren Prozessor betriebs oder während einer Initialisierungssequenz beim Einschalten bzw. Herauffahren, wobei auf den sicheren Speicher während des Ladens nur durch den Hauptsystemprozessor zugegriffen werden kann, und Ausführen des kryptographischen Programms durch den Hauptsystemprozessor in dem sicheren Prozessorbetrieb oder während der Initialisierungssequenz beim Herauffahren unter Verwendung des in dem sicheren Speicher geladenen kryptographischen Schlüssels, wobei der Hauptsystemprozessor für die Verarbeitung anderer Anwendungen verfügbar und nicht Teil einer externen Smart Card ist.
  • Unter einem zweiten Gesichtspunkt gesehen stellt die vorliegende Erfindung eine sichere Verarbeitungsvorrichtung für das sichere Verarbeiten kryptographischer Schlüssel bereit, wobei die Vorrichtung aufweist: einen Hauptsystemprozessor, der einen sicheren Prozessorbetrieb hat, um die sichere Verarbeitung durchzuführen, einen sicheren Speicher und einen kryptographischen Schlüssel hat, der auf einem Token gespeichert ist, wobei der kryptographische Schlüssel, ein kryptographisches Programm und zugehörige Daten während einer Initialisierungssequenz beim Einschalten bzw. Herauffahren oder während des sicheren Prozessorbetriebs in den sicheren Speicher geladen werden, wobei der sichere Speicher nur durch den Hauptsystemprozessor während des Ladens zugänglich ist und wobei das kryptographische Programm während der Initialisierungssequenz beim Herauffahren oder während des sicheren Prozessorbetriebs durch den Hauptsystemprozessor ausgeführt wird unter Verwendung des in dem sicheren Speicher geladenen kryptographischen Schlüssels, und wobei der Hauptsystemprozessor für andere Anwendungen verfügbar und nicht Teil einer externen Smart Card ist.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung werden daher ein Verfahren und eine Vorrichtung für eine sichere Speicherung und Verarbeitung kryptographischer Schlüssel unter Verwendung eines sicheren Prozessorbetriebs und eines zugehörigen sicheren Speichers bereitgestellt. Ein Prozessor wird in einem sicheren Verarbeitungsbetrieb initialisiert, der nicht durch anderen Interrupts unterbrochen werden kann. Auf den zugehörigen Speicher kann durch andere Vorgänge nicht zugegriffen werden, wenn der Prozessor nicht in dem sicheren Prozessorbetrieb ist. Während der Laufzeit ist das Betriebssystem ausgesetzt, wenn das Prozessorsystem in den sicheren Prozessor- bzw. Verarbeitungsbetrieb eintritt.
  • Ein kryptographischer Schlüssel, der in verschlüsselter Form gespeichert ist, ist auf einer wegnehmbaren Speichereinrichtung, wie z. B. einer Diskette, einer CD-ROM, einem Dongle etc. abgelegt. Das System liest den kryptographischen Schlüssel aus der abnehmbaren Speichereinrichtung in den sicheren Speicher nur dann, wenn das System in den sicheren Prozessorbetrieb eingetreten ist. Jegliche kryptographische Programme, die erforderlich sind und die in dem BIOS des Systems gespeichert sein könnten, werden ebenfalls in den sicheren Speicher geladen, wenn der Prozessor sich in dem sicheren Betrieb befindet. Der sichere Betrieb wird verriegelt bzw. abgeschottet, falls notwendig, um zu verhindern, daß andere Prozesse auf die gespeicherten Daten zugreifen. Wenn der Schlüssel und das Programm in den sicheren Speicher geladen sind, erhält der Benutzer eine Aufforderung, die entfernbare Speichereinrichtung wegzunehmen bzw. herauszunehmen und der Prozessor geht aus dem sicheren Betrieb heraus. Demnach ist das Laden des Schlüssels und des Programms in den sicheren Speicher für das Betriebssystem und andere Vorgänge unsichtbar.
  • Der Benutzer kann aufgefordert werden, eine PIN einzugeben, um den geheimen Schlüssel zu entriegeln, der in dem sicheren Speicher gespeichert ist. Durch Laden des sicheren Schlüssels in den sicheren Speicher und Entriegeln des Schlüssels mit der PIN hat das System dieselbe Funktionalität wie eine physikalische Smart Card. Anwendungen können andere kryptographische Dienste anfordern, als ob eine physikalische Smart Card angebracht wäre. Jedesmal, wenn eine Anwendung einen kryptographischen Dienst aufruft, tritt der Prozessor in den sicheren Prozessorbetrieb ein, um die erforderlichen Operationen durchzuführen. Demnach ist die Speicherung und das Verarbeiten des geheimen Schlüssels für das Betriebssystem und andere Prozesse transparent. Um den Schlüssel zu löschen, kann der Benutzer das System auffordern, den sicheren Speicher zu löschen.
  • Wie hier beschrieben, geht das System in den sicheren Prozessorbetrieb, um den geheimen Schlüssel und die erforderlichen kryptographischen Programme in den sicheren Speicher zu laden. Das System kann in den sicheren Betrieb eintreten, um den Schlüssel und die erforderlichen kryptographischen Programme irgendwann während der Laufzeit oder während des Herauffahrens zu laden und zu verarbeiten. Der Prozessor muß jedoch nicht während der Zeit des Herauffahrens in dem sicheren Betrieb sein, um den Schlüssel zu laden oder zu verarbeiten, da keine anderen Prozesse laufen. Ein sicheres Verarbeiten des kryptographischen Schlüssels erhält man daher, ohne daß man irgendwelche zusätzliche Hardware benötigt.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Die genaue Arbeitsweise der Erfindung, ebenso wie ihre Aufgaben und Vorteile, werden bei Betrachtung der folgenden Beschreibung, wie sie anhand der beigefügten Figuren veranschaulicht wird, schnell offenbar, wobei
  • 1 ein Flußdiagramm ist, welches eine Sequenz des Einschaltens bzw. Herauffahrens unter Verwendung der vorliegenden Erfindung zeigt,
  • 2 ein Flußdiagramm ist, welches die Verarbeitung gemäß der Erfindung während der Laufzeit veranschaulicht,
  • 3 ein Flußdiagramm ist, welches ein bevorzugtes Verfahren für die Validierung der persönlichen Identifikationsnummer (PIN) eines Benutzers veranschaulicht,
  • 4 ein Flußdiagramm ist, welches ein Laden des geheimen Schlüssels während der Laufzeit veranschaulicht und
  • 5 ein Blockdiagramm ist, welches die Vorrichtung gemäß der vorliegenden Erfindung veranschaulicht.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die folgende Beschreibung soll dazu dienen, Fachleute in die Lage zu versetzen, die Erfindung anzuwenden und zu verwenden und stellt die ersten Verfahrensweisen dar, die der Erfinder sich für die Ausführung der Erfindung vorstellt. Verschiedene Modifikationen sind jedoch für Fach leute offensichtlich, da die grundlegenden Prinzipien der vorliegenden Erfindung speziell definiert worden sind, um ein Verfahren und eine Vorrichtung für das sichere Verarbeiten von kryptographischen Schlüsseln bereitzustellen.
  • Die vorliegende Erfindung verwendet einen speziellen, sicheren Verarbeitungsbetrieb, um einen kryptographischen Schlüssel, der auf einem Token bereitgestellt wird, und einen zugehörigen, speziellen, sicheren Speicherbereich zu verarbeiten, der für das Betriebssystem transparent ist. Ein Beispiel eines sicheren Betriebs ist der Systemverwaltungsbetrieb (System Management Mode – SMM), der Prozessorarchitektur des Intel x86 (80386 und spätere) sowie kompatibler Prozessoren. Der zugehörige Speicher ist als der Systemverwaltungs-RAM (SMRAM) bekannt. Der Systemverwaltungsbetrieb bzw. Systemmanagementbetrieb (SMM) und der Systemverwaltungs-RAM (SMRAM) sind beide für das Betriebssystem und dessen Anwendungen transparent. Der kryptographische Schlüssel und die Algorithmen können, wenn sie einmal in dem SMRAM gespeichert sind, während des SMM verwendet, so daß sowohl der kryptographische Schlüssel als auch seine Verarbeitung zu keinem Zeitpunkt offenliegen. Dieses Verfahren und die entsprechende Vorrichtung stellen demnach eine sichere kryptographische Schlüsselverarbeitung ohne das Erfordernis einer teuren Hardware für Smart Cards bereit und sie sind sicherer als die Verarbeitung virtueller Smart Cards.
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird nun unter Bezug auf 1 beschrieben. Die folgende Beschreibung der bevorzugten Ausführungsform gilt für die Einschaltsequenz eines Computersystems. Da während der Einschaltsequenz kein Betriebssystem geladen ist, können der kryptographische Schlüssel und Programme geladen werden, ohne daß andere Prozesse deren Inhalt beobachten bzw. einsehen, so daß ein Eintritt in den SMM im strengen Sinne nicht notwendig ist. Die vorliegende Erfindung kann auf anderen Stufen des Systembetriebs verwendet werden, indem der SMM aufgerufen wird, ohne deshalb vom Schutzumfang der Erfindung abzuweichen.
  • In Schritt 1 wird ein Computersystem eingeschaltet und der Systemmanagementbetrieb(SMM) eines Intel-x86- (80386 oder späteren) Prozessors wird in Schritt 2 initialisiert. In Schritt 3 wird festgestellt, ob das "Token" an dem Computersystem angebracht ist. Das "Token" kann irgendeine Art einer wegnehmbaren physikalischen Speichereinrichtung sein, wie z. B. ein Magnetstreifen, eine PCMCIA-Karte, eine Diskette, eine CD-ROM oder irgendeine andere ähnliche abnehmbare Speichereinrichtung. Das Token enthält den kryptographischen Schlüssel und jegliche weitere Information, die von dem kryptographischen Programm benötigt wird. Im Gegensatz zu einer physikalischen Smart Card muß das Token jedoch nicht seinen eigenen Prozessor und zugehörige Hardware enthalten, da die Verarbeitung in einem sicheren Betriebszustand in dem Prozessor des Hauptsystems stattfindet. Demnach sind diese abnehmbaren Speichereinrichtungen wesentlich preiswerter als die physikalischen Smart Cards.
  • Wenn das Token in dem System nicht vorliegt, geht der normale Herauffahrvorgang (Boot-Up) bei Schritt 10 weiter und das System hat keinerlei Smart-Card-Funktionalität. Ansonsten wird in Schritt 4 die persönliche Identifizierungsnummer (PIN) eines Benutzers verifiziert. Indem eine PIN zusätzlich zu dem Token erforderlich ist, implementiert die vorliegende Erfindung demnach eine "Zweifach-Autorisierung", die mehr Sicherheit bietet als Schemata bzw. Verfahren mit einem einzigen Passwort. Die beiden "Faktoren", die bei diesem Verfahren verwendet werden, sind die PIN des Benutzers und der geheime kryptographische Schlüssel. Indem beide Faktoren erforderlich sind, wird das Risiko einer Verletzung der Sicherheit stark reduziert. Die vorliegende Erfindung kann auch implementiert werden, ohne daß eine PIN erforderlich ist, jedoch werden die Vorteile der Sicherheit entsprechend reduziert. Wenn die PIN des Benutzers in Schritt 5 nicht gültig ist, läuft das normale Herauffahren des Systems (Boot-Up) bei Schritt 10 weiter und das System hat keinerlei Smart-Card-Funktionalität.
  • Wenn die PIN des Benutzers verifiziert worden ist, wird der kryptographische Schlüssel, der auf dem Token gespeichert ist, in den Systemmanagement-RAM (SMRAM) geladen. Ein kryptographisches Programm und irgendwelche anderen Daten oder Informationen, die für das kryptographische Verarbeiten erforderlich sind, werden in Schritt 6 ebenfalls in den SMRAM geladen. Es kommt nicht darauf an, wo das kryptographische Programm und die zugehörigen Algorithmen anfänglich gespeichert sind, vorausgesetzt, daß sie nicht geändert worden sind. Die Algorithmen können anfänglich auf dem BIOS-Flash-ROM oder sogar auf einer Diskette gespeichert sein. In der bevorzugten Ausführungsform werden die kryptographischen Programme und Algorithmen in das System-BIOS geladen.
  • Der SMRAM wird dann in Schritt 7 verriegelt bzw. abgeschottet, was verhindert, daß irgendwelche anderen Prozesse auf die in dem SMRAM gespeicherten Daten zugreifen. Andere Architekturen oder Hardwarelösungen erfordern den zusätzlichen Abschottungsschritt möglichennreise nicht, wenn auf den Speicher aufgrund der Auslegung nur während des sicheren Prozessorbetriebs zugegriffen werden kann. Da das Verschieben des kryptographischen Schlüssels und der zugehörigen Algorithmen während der Zeit des Herauffahrens erfolgen, ist der kryptographische Vorgang sicher davor, daß andere Prozesse eindringen (es gibt keine anderen Prozesse, die zu diesem Zeitpunkt laufen). Weiterhin ist der SMRAM abgeschlossen und wird durch den Chipsatz versteckt, bevor das Betriebssystem geladen wird, was den Inhalt des SMRAMs von dem Betriebssystem aus eingriffssicher macht. Demnach stellt der Systemmanagementbetrieb eine sichere Verarbeitungsumgebung bereit, ähnlich wie eine physikalische Smart Card, ohne jedoch irgendwelche zusätzliche Hardware oder die Ausgaben für eine physikalische Smart Card zu erfordern.
  • Der Benutzer wird in Schritt 8 gebeten, das physikalische Token zu entfernen, um die Systemintegrität sicherzustellen. Wenn das Token entfernt worden ist (Schritt 9), werden die normalen Herauffahrvorgänge des Systems bei Schritt 10 fortgesetzt. Der kryptographische Schlüssel ist für den Benutzer zu keinem Zeitpunkt sichtbar und ist auch für keinen die Sicherung durchbrechenden Prozeß sichtbar, der möglicherweise auf dem Computersystem läuft. Demnach stellt die vorliegende Erfindung die Sicherheitsmerkmale bereit, die mit physikalischen Smart Cards verknüpft sind, jedoch ohne die entsprechenden Kosten. Die Verarbeitung des kryptographischen Schlüssels kann, falls erwünscht, während der Einschaltsequenz erfolgen. In der bevorzugten Ausführungsform erfolgt die Verarbeitung jedoch nicht, bis ein Anwendungsprogramm den Sicherheitsdienst anfordert, um die Funktionalität einer Smart Gard nachzuahmen.
  • Die Verarbeitung während der Laufzeit gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist in 2 veranschaulicht. In Schritt 20 ruft ein Anwendungsprogramm, welches auf ein sicheres Computersystem oder Netzwerk zugreifen muß, wie z. B. ein entfernt gelegener Server, das Unterprogramm des Sicherheitsdienstes gemäß der vorliegenden Erfindung auf. Das Sicherheitsdienste-Unterprogramm ruft seinerseits in Schritt 21 einen Interrupt der Systemverwaltung bzw. des Systemmanagements (SMI) auf. Der SMI ist in der Intel-x86-Architektur der Interruptbetrieb auf höchster Ebene und kann nicht durch andere Interrupts unterbrochen werden. Der SMI initialisiert den Systemprozessor in dem SMM. Wenn der Prozessor in dem SMM liegt, ruft eine Software-SMI-Handhabung in Schritt 22 die Sicherheitsfunktion auf. Die Sicherheitsfunktion greift in Schritt 23 auf den kryptographischen Schlüssel und die in dem SMRAM gespeicherten Programme zu. Der Prozessor führt die angeforderte Sicherheitsverarbeitung in dem SMM aus. Diese Verarbeitung kann eine Verschlüsselung/Entschlüsselung von Dokumenten, das Verarbeiten geheimer Schlüssel für Passwortvalidierung, eine Benutzerauthentisierung etc. umfassen. Wenn die Verarbeitung abgeschlossen ist, geht der Prozessor bei Schritt 24 aus dem SMM heraus, und der normale Systembetrieb wird bei Schritt 25 fortgesetzt. Die passende kryptographische Information wird in Schritt 25 für das Anwendungsprogramm bereitgestellt. Die gesamte Verarbeitung ist in einem sicheren Betriebszustand und einem sicheren Speicherbereich erfolgt, welche für die Anwendungen, die zuvor auf dem Prozessor liefen, nicht sichtbar sind. Auch das Anwendungsprogramm wird durch die Abwesenheit einer physikalischen Smart Card nicht beeinflußt.
  • Um die vorliegende Erfindung weiter zu veranschaulichen, betrachte man eine typische Anwendung mit einer virtuellen Smart Card, die dahingehend modifiziert wurde, daß sie Vorteile aus der vorliegenden Erfindung zieht. Ein Benutzer kann sich auf einem entfernten Server unter Verwendung eines Software-Anwendungsprogramms anmelden. Der entfernt gelegene Server kann ein "Challenge" ausgeben und eine passende Antwort bzw. Response erwarten, bevor er dem Benutzer Zugriff gewährt. Nach Empfang eines "Challenge" von dem entfernten Server ruft der Benutzer ein Response-Berechnerprogramm auf, um einen Response zu berechnen, der an den entfernten Server zurückzuliefern ist. Das Response-Rechnerprogramm leitet die "Challenge"-Zeichenkette über einen "weichen" (soff) SMI an den Hauptsystemprozessor (Schritte 20, 21). An diesem Punkt übernimmt der SMM und das gesamte Betriebssystem und seine Anwendungen werden in einen "Schlafbetrieb" bzw. "Ruhezustand" versetzt. Die Operationen für das Berechnen des "Response" auf der Basis des kryptographischen Schlüssels und des "Challenge" werden dann ausgeführt (Schritte 22, 23). Der "Response" wird an das Response-Rechnerprogramm geliefert und das Betriebssystem wird wiederaufgenommen (Schritt 25). Das Berechnerprogramm für den Response sendet den Response an den entfernten Server, um den Authentisierungsvorgang abzuschließen. Das Betriebssystem merkt überhaupt nichts von dem Vorgang der Berechnung des Response und kann deshalb auch nicht zu einer gegenseitigen Beeinflussung bzw. Störung führen.
  • Die obige Beschreibung der 1 und 2 geht von der Annahme aus, daß der kryptographische Schlüssel und das Programm während des Herauffahrens in den sicheren Speicher geladen werden und später während des Systembetriebs verarbeitet werden. Der kryptographische Schlüssel und das Programm können auch geladen werden, nachdem das System bereits heraufgefahren wurde, solange das Laden in dem sicheren Betriebszustand erfolgt, d. h. im SMM. Außerdem können der kryptographische Schlüssel und das Programm zu verschiedenen Zeiten geladen werden. Das Programm kann während des Herauffahrens geladen werden und der Schlüssel zu einem späteren Zeitpunkt. Diese Implementierung wäre zweckmäßig für Computer, die mehrere Benutzer und demnach auch mehrere Schlüssel haben, wohingegen alle Schlüssel auf exakt demselben Verarbeitungsalgorithmus beruhen. Der Algorithmus könnte während des Herauffahrens geladen werden und die Schlüssel könnten später geladen werden, wenn jeweils ein Benutzer Sicherheitsdienste anfordert. Fachleute verstehen, daß zahlreiche mögliche Variationen des Ladens und Verarbeitens der kryptographischen Schlüssel und Programme möglich sind, die innerhalb des Schutzumfangs der vorliegenden Erfindung liegen, solange das Laden und Verarbeiten unter Verwendung des sicheren Speichers in dem sicheren Prozessorbetrieb ausgeführt werden.
  • In 1 gibt der Benutzer während der Einschaltsequenz eine PIN ein, um den geheimen, kryptographischen Schlüssel zu entriegeln bzw. freizugeben. Indem die PIN eingegeben werden muß, bevor das Betriebssystem geladen worden ist, können andere Programme die PIN nicht abfangen. Alternativ kann die vorliegende Erfindung implementiert werden, ohne eine PIN zu erfordern, auch wenn dann die Sicherheitsmerkmale reduziert sind. Außerdem kann eine PIN auf den verschiedenen Stufen der Verarbeitung angefordert werden, selbst wenn das Betriebssystem bereits geladen ist, falls dies gewünscht ist. Beispielsweise kann bei gewissen Anwendungen ein Token verwendet werden, nachdem das System heraufgefahren ist. In diesem Fall wird die PIN eingegeben und wird über einen "weichen" bzw. "Soft"-SMI zusammen mit den kryptographischen Daten und Programmen an den SMM-Prozeß weitergeleitet. Das Betriebssystem wird in einen "Schlafzustand" bzw. Ruhezustand versetzt, während der kryptographische Schlüssel verarbeitet wird.
  • Eine bevorzugte Ausführungsform des PIN-Verifizierungsverfahrens (Schritt 4), welches während der Einschaltsequenz verwendet wird, ist in 3 veranschaulicht. Der PIN-Verifizierungsvorgang startet bei Schritt 30 und liest einen verschlüsselten Schlüssel, der auf einem Token gespeichert ist. Der Benutzer wird bei Schritt 32 aufgefordert, eine PIN-Zahl einzugeben. Die PIN wird dann verwendet, um den Schlüssel in Schritt 33 zu entschlüsseln. Eine Hash-Funktion wird verwendet, um bei Schritt 34 einen Extrakt des Schlüssels zu erzeugen. Eine Hash-Funktion ist eine mathematische Funktion ohne Schlüssel, die eine Darstellung des Schlüssels in einer festen Länge als Ausgangsgröße erzeugt. Beispiele von Hash-Funktionen umfassen MDS, SHA und RIPEMD-160. Der durch die Hash-Funktion in Schritt 34 erzeugte Extrakt wird mit einer Kopie des in dem System-BIOS gespeicherten Extrakts verglichen. Die Ergebnisse des Vergleichs werden in Schritt 36 ausgegeben. Wenn die Extrakte zusammenpassen, wird die PIN in Schritt 5 von 1 verifiziert. Wenn die PIN verifiziert worden ist, kann der Inhalt des Token in den SMRAM geladen werden.
  • Demnach fügt der Schritt der Verifizierung der PIN eine weitere Sicherheitsebene hinzu, um einen nicht-autorisierten Zugriff zu vermeiden, selbst wenn irgendjemand das Token gestohlen hat.
  • 4 veranschaulicht ein Beispiel der vorliegenden Erfindung, in welchem der geheime Schlüssel geladen wird, nachdem das System bereits heraufgefahren worden ist. Es sei angenommen, daß während der Herauffahr-Sequenz das erforderliche kryptographische Programm bereits in den SMRAM geladen wurde. Diese Ausführungsform ist, wie oben beschrieben wurde, in Situationen zweckmäßig, in welchen derselbe kryptographische Algorithmus durch unterschiedliche Benutzer verwendet wird, die unterschiedliche geheime Schlüssel haben. Ein Anwendungsprogramm eines Benutzers fordert den Benutzer auf, in Schritt 41 eine PIN einzugeben und ruft einen SMI auf. Der Prozessor geht in den SMM über und der Benutzer wird in Schritt 42 aufgefordert, das Token (wegnehmbare Speichereinrichtung) einzusetzen. Ein auf dem Token gespeicherter, verschlüsselter Schlüssel wird in Schritt 43 in den SMRAM geladen und der verschlüsselte Schlüssel wird unter Verwendung der PIN in Schritt 44 entschlüsselt. Der Schlüssel wird unter Verwendung einer Hash-Funktion verarbeitet, um in Schritt 45 einen Extrakt zu erzeugen. Der durch die Hash-Funktion erzeugte Extrakt wird in Schritt 46 mit einem in dem BIOS gespeicherten Extrakt verglichen. Wenn die Extrakte zusammenpassen, wird in Schritt 47 die PIN verifiziert und der Schlüssel wird in Schritt 48 in den SMRAM geladen. Wenn die PIN nicht verifiziert wird, wird der Schlüssel nicht in den SMRAM geladen. Der Benutzer wird in Schritt 49 aufgefordert, das Token zu entfernen, um die Systemsicherheit zu gewährleisten, und dann geht der Prozessor in Schritt 50 aus dem SMM heraus. Die vorliegende Erfindung ist nun in der Lage, jegliche Sicherheitsdienstanforderung auszuführen bzw. zu verarbeiten, die die Anwendungen eines aktuellen Benutzers erfordern. Alternativ könnte die kryptographische Verarbeitung unmittelbar zwischen den Schritten 48 und 49 ausgeführt werden, falls gewünscht.
  • 5 ist ein Blockdiagramm einer Vorrichtung der vorliegenden Erfindung. Ein Computersystem 60 enthält eine zentrale Verarbeitungseinheit (CPU) 64, die einen sicheren Verarbeitungsbetrieb hat, der nicht durch andere Interrupts unterbrochen werden kann. Die CPU 64 hat eine Interruptleitung 641, auf welcher ein Sicherungsbetrieb-Interrupt die CPU 64 in dem sicheren Betriebszustand initialisiert. Ein sicherer Speicher 66 ist mit der CPU 64 verbunden und auf diesen kann durch die CPU 64 nur zugegriffen werden, wenn diese sich in dem sicheren Verarbeitungsbetrieb befindet. Ein Hauptsystemspeicher 68 ist ebenfalls mit der CPU 64 verbunden und wird von den Betriebssystem- und Anwendungsprogrammen verwendet. Ein System-BIOS 62 speichert einen durch eine Hash-Bearbeitung erzeugten Extrakt 121 einer PIN, der mit einem aus einer PIN erzeugten Extrakt verglichen wird, welche durch einen Benutzer über eine Tastatur 70 eingegeben wurde. Ein Tokenleser 72 liest den kryptographischen Schlüssel, die Daten und die Programme, welche auf einem Token 74 gespeichert sind. Der Tokenleser 72 kann einen Sensor umfassen, um die Anwesenheit oder Abwesenheit des Token 74 zu erfassen. Der Betrieb der Vorrichtung der vorliegenden Erfindung läuft ab, wie es oben in Verbindung mit dem Verfahren der vorliegenden Erfindung und den zugehörigen Flußdiagrammen beschrieben wurde.
  • Man beachte, daß die vorliegende Erfindung auf die Speicherung und Verarbeitung irgendeiner Art von kryptographischem Schlüssel anwendbar ist. Der kryptographische Schlüssel könnte ein kryptographischer Schlüssel in dem symmetrischen Schlüsselsystem oder ein privater Schlüssel sein, wie er in dem öffentlichen Schlüsselverschlüsselungssystem verwendet wird. Durch die vorliegende Erfindung wird die gesicherte Verarbeitungseigenschaft von Smart Cards ohne die Kosten der tatsächlichen Verwendung physikalischer Smart Cards erreicht. Sie kann verwendet werden, um die Sicherheit virtueller Smart Cards zu verbessern, ebenso wie irgendeiner sonstigen Anwendung, die lediglich Software verwendet, um den kryptographischen Schlüssel zu verarbeiten und zu speichern.
  • Während die bevorzugte Ausführungsform hier unter Bezug auf die Architektur des Intel x86 (80386 und spätere) und damit kompatiblen Architekturen beschrieben wurde, ist die vorliegende Erfindung auf jede Prozessorarchitektur anwendbar, die einen sicheren Verarbeitungsbetrieb hat, der nicht durch andere Interrupts unterbrochen werden kann und der einen sicheren Speicherbereich hat, auf welchen nur dann zugegriffen werden kann, wenn der Prozessor sich in dem sicheren Verarbeitungsbetrieb befindet. Die meisten bekannten Prozessoren haben ein Interrupt-Niveau auf höchster Ebene, welches die erstgenannte Forderung erfüllt und das Speichererfordernis kann erfüllt werden durch eine geeignete Auslegung der Chipsätze bzw. Chipeinstellungen oder durch eine außerhalb des Prozessors befindliche Logik.
  • Fachleute verstehen, daß verschiedene Anpassungen und Modifizierungen der vorstehend beschriebenen Ausführungsformen ausgeführt werden können.

Claims (20)

  1. Verfahren zum sicheren Verarbeiten kryptographischer Schlüssel unter Verwendung eines Hauptsystemprozessors (64), der einen sicheren Prozessorbetriebszustand hat, mit den Merkmalen: Speichern eines kryptographischen Schlüssels auf einem Token (74), Laden des kryptographischen Schlüssels, eines kryptographischen Programms und zugehöriger Daten in einen sicheren Speicher (66), auf welchen während des Ladens nur durch den Hauptsystemprozessor (64) zugegriffen werden kann, und zwar während des sicheren Prozessorbetriebs oder während eines Initialisierungsablaufs beim Einschalten, und Ausführen des kryptographischen Programms durch den Hauptsystemprozessor (64) in dem sicheren Prozessorbetriebszustand oder während des Initialisierungsablaufs beim Einschalten unter Verwendung des kryptographischen Schlüssels, der in den sicheren Speicher geladen worden ist, wobei der Hauptsystemprozessor (64) für das Verarbeiten anderer Anwendungen verfügbar und nicht Teil einer externen intelligenten Karte (Smart Card) ist.
  2. Verfahren nach Anspruch 1, wobei auf den sicheren Speicher (66) nur dann durch den Prozessor zugegriffen werden kann, wenn der Prozessor (64) sich in dem sicheren Prozessorbetriebszustand befindet.
  3. Verfahren nach Anspruch 1 oder 2, wobei der sichere Prozessorbetriebszustand ein Verarbeitungsbetriebszustand mit höchstem Interrupt ist, welcher nicht durch andere Prozessorinterrupts unterbrochen werden kann.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei der Schritt des Ladens während einer Initialisierungssequenz beim Einschalten durchgeführt wird und wobei der Schritt des Ausführens durchgeführt wird, nachdem ein Betriebssystem geladen ist.
  5. Verfahren nach Anspruch 4, wobei das kryptographische Programm und die Daten während einer Initialisierungssequenz beim Einschalten bzw. Herauffahren geladen werden, und der kryptographische Schlüssel während eines sicheren Prozessorbetriebszustands geladen wird, welcher initialisiert wird, nachdem ein Betriebssystem geladen ist.
  6. Verfahren nach einem der Ansprüche 1 bis 3, welches weiterhin aufweist: Verifizieren einer persönlichen Identifikationsnummer (PIN) nach dem Laden des kryptographischen Schlüssels in den sicheren Speicher (66).
  7. Verfahren nach Anspruch 5, welches weiterhin aufweist: Verriegeln des sicheren Speichers (66), falls dies aufgrund einer Systemarchitektur erforderlich ist, um zu verhindern, daß andere Vorgänge auf den sicheren Speicher (66) zugreifen, und zwar nach dem Schritt des Ladens des kryptographischen Programms während der Initialisierung beim Herauffahren.
  8. Verfahren nach einem der Ansprüche 1 bis 3 oder 6, wobei der Prozessor ein mit der Intel386-Familie kompatibler Prozessor oder einem späteren Modell eines Prozessors der Serie X86 kompatibler Prozessor ist und der sichere Prozessorbetriebszustand ein Systemverwaltungsbetrieb (SMM) ist.
  9. Verfahren nach Anspruch 8, wobei der sichere Speicher (66) ein Systemmanagementspeicher mit wahlfreiem Zugriff (SMRAM) ist und wobei der Schritt des Initialisierens des Prozessors den Schritt des Aufrufens eines Systemmanagementinterrupts (SMI) aufweist.
  10. Verfahren nach Anspruch 6 oder 8, wobei der Schritt des Verifizierens einer PIN die Schritte aufweist: Lesen eines verschlüsselten Schlüssels aus einem Token (74), Auffordern eines Benutzers, eine PIN einzugeben, Entschlüssen des Schlüssels unter Verwendung der PIN, Ausführen einer Hash-Funktion mit dem entschlüsselten Schlüssel, um ein Extrakt zu erzeugen und Vergleichen des erzeugten Extrakts mit einem in einem System BIOS (62) gespeicherten Extrakt.
  11. Verfahren nach einem der Ansprüche 1 bis 3, 6 oder 8 bis 10, welches weiterhin aufweist: Herausgehen aus dem sicheren Prozessorbetriebszustand und Fortsetzen eines normalen Herauffahrvorgangs (Boot-Up).
  12. Verfahren nach Anspruch 5 oder 7, wobei dann, wenn durch eine Anwendung Sicherheitsdienstleistungen angefordert werden, der Prozessor so initialisiert wird, daß er in den sicheren Betriebszustand übergeht, das Betriebssystem in einen Schlaf- bzw. Ruhezustand versetzt wird und das kryptographische Programm ausgeführt wird.
  13. Sichere Verarbeitungseinrichtung für das sichere Verarbeiten kryptographischer Schlüssel, wobei die Vorrichtung aufweist: einen Hauptsystemprozessor (64), welcher einen sicheren Prozessorbetriebszustand zum Ausführen der sicheren Verarbeitung hat, einen sicheren Speicher (66) und einen auf einem Token (74) gespeicherten kryptographischen Schlüssel, wobei der kryptographische Schlüssel, ein kryptographisches Programm und zugehörige Daten während einer Initialisierungssequenz zum Herauffahren oder während des sicheren Prozessorbetriebs in den sicheren Speicher geladen werden, wobei auf den sicheren Speicher während dieses Ladens nur durch den Hauptsystemprozessor (64) zugegriffen werden kann und wobei das kryptographische Programm durch den Hauptsystemprozessor (64) während der Initialisierungssequenz zum Herauffahren oder während des sicheren Prozessorbetriebs unter Verwendung des kryptographischen Schlüssels ausgeführt wird, welcher in den sicheren Speicher (66) geladen wurde, und wobei der Hauptsystemprozessor für das Verarbeiten anderer Anwendungen verfügbar ist und nicht Teil einer externen intelligenten Karte (Smart Card) ist.
  14. Sichere Verarbeitungsvorrichtung nach Anspruch 13, wobei der sichere Prozessorbetriebszustand ein Verarbeitungsbetriebszustand mit dem höchsten Interrupt ist, der nicht durch andere Prozessorinterrupts unterbrochen werden kann.
  15. Vorrichtung zur sicheren Verarbeitung nach Anspruch 13 oder 14, welche weiterhin aufweist: eine Tokenbestimmungseinrichtung (72), um zu bestimmen, ob das Token vor dem Laden des kryptographischen Schlüssels und des kryptographischen Programms in den sicheren Speicher (66) verfügbar ist.
  16. Vorrichtung zum sicheren Verarbeiten nach einem der Ansprüche 13 bis 15, welche weiterhin aufweist: eine Verifizierungseinrichtung für die persönliche Identifizierungsnummer (PIN) zum Verifizieren der PIN eines Benutzers, nachdem festgestellt wurde, daß das Token (74) verfügbar ist, und vor dem Laden des kryptographischen Schlüssels und des kryptographischen Programms.
  17. Vorrichtung zur sicheren Verarbeitung nach einem der Ansprüche 13 bis 16, wobei der Prozessor ein Prozessor der zu der Intel-Familie 386 oder einem späteren X86-Prozessor kompatibler Prozessor ist, und wobei der sichere Prozessorbetriebszustand ein Systemverwaltungsbetrieb (System Management Mode – SMM) ist.
  18. Vorrichtung zur sicheren Verarbeitung nach Anspruch 17, wobei der sichere Speicher (66) ein Systemmanagementspeicher mit wahlfreiem Zugriff (SMRAM) ist und der Prozessor in den Systemmanagementbetrieb (SMM) initialisiert wird, indem ein Systemmanagementinterrupt (SMI) aufgerufen wird.
  19. Vorrichtung zur sicheren Verarbeitung nach einem der Ansprüche 16, 17, soweit von Anspruch 16 abhängig, oder 18, wobei die PIN-Verifizierungseinrichtung aufweist: eine Leseeinrichtung zum Lesen eines verschlüsselten Schlüssels von einem Token (74), eine PIN-Anforderungseinrichtung zum Auffordern eines Benutzers, eine PIN einzugeben, eine Entschlüsselungseinrichtung, um unter Verwendung der PIN den Schlüssel zu entschlüsseln, eine Hash-Funktionsberechnungseinrichtung zum Berechnen einer Hash-Funktion des entschlüsselten Schlüssels, um einen Extrakt zu erzeugen, und eine Vergleichseinrichtung zum Vergleichen des erzeugten Extrakts mit einem in einem System-BIOS (62) gespeichert ist.
  20. Vorrichtung zur sicheren Verarbeitung nach Anspruch 15 oder nach einem der Ansprüche 16 bis 19, soweit von Anspruch 15 abhängig, welche weiterhin eine Sperreinrichtung zum Sperren des sicheren Speichers (66) aufweist, falls dies aufgrund einer Systemarchitektur erforderlich ist, um zu verhindern, daß andere Vorgänge auf den sicheren Speicher zugreifen.
DE69819485T 1997-05-02 1998-04-29 Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel Expired - Lifetime DE69819485T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US848963 1997-05-02
US08/848,963 US6557104B2 (en) 1997-05-02 1997-05-02 Method and apparatus for secure processing of cryptographic keys
PCT/US1998/008374 WO1998050842A1 (en) 1997-05-02 1998-04-29 Method and apparatus for secure processing of cryptographic keys

Publications (2)

Publication Number Publication Date
DE69819485D1 DE69819485D1 (de) 2003-12-11
DE69819485T2 true DE69819485T2 (de) 2004-09-09

Family

ID=25304733

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69819485T Expired - Lifetime DE69819485T2 (de) 1997-05-02 1998-04-29 Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel

Country Status (7)

Country Link
US (1) US6557104B2 (de)
EP (1) EP0979442B1 (de)
JP (1) JP3689431B2 (de)
AT (1) ATE253744T1 (de)
DE (1) DE69819485T2 (de)
TW (1) TW406233B (de)
WO (1) WO1998050842A1 (de)

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US8639625B1 (en) 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6263989B1 (en) * 1998-03-27 2001-07-24 Irobot Corporation Robotic platform
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US20050060549A1 (en) * 1998-10-26 2005-03-17 Microsoft Corporation Controlling access to content based on certificates and access predicates
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US7272723B1 (en) * 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
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
US7213262B1 (en) 1999-05-10 2007-05-01 Sun Microsystems, Inc. Method and system for proving membership in a nested group using chains of credentials
US7908216B1 (en) 1999-07-22 2011-03-15 Visa International Service Association Internet payment, authentication and loading system using virtual smart card
US8055894B2 (en) 1999-11-09 2011-11-08 Google Inc. Process and streaming server for encrypting a data stream with bandwidth based variation
US6449719B1 (en) * 1999-11-09 2002-09-10 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream
JP2001186121A (ja) * 1999-12-27 2001-07-06 Nec Corp 通信装置、通信装置セット、認証方法および端末間ワイヤレス接続方法
US8412377B2 (en) 2000-01-24 2013-04-02 Irobot Corporation Obstacle following sensor scheme for a mobile robot
US8788092B2 (en) 2000-01-24 2014-07-22 Irobot Corporation Obstacle following sensor scheme for a mobile robot
US20010034848A1 (en) * 2000-02-15 2001-10-25 Gail Langley Key card for personal home page access
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
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
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6956348B2 (en) 2004-01-28 2005-10-18 Irobot Corporation Debris sensor for cleaning apparatus
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6678833B1 (en) * 2000-06-30 2004-01-13 Intel Corporation Protection of boot block data and accurate reporting of boot block contents
DE10036623A1 (de) * 2000-07-27 2002-02-07 Francotyp Postalia Gmbh Postmaschine und Verfahren zu deren Initialisierung
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US6892305B1 (en) * 2000-10-12 2005-05-10 International Business Machines Corporation Method and system for booting up a computer system in a secure fashion
US6938164B1 (en) 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US6941404B2 (en) * 2000-12-19 2005-09-06 Safenet B.V. Data transfer device, transaction system and method for exchanging control and I/O data with a data processing system
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
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
US20020099668A1 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Efficient revocation of registration authorities
US6690134B1 (en) 2001-01-24 2004-02-10 Irobot Corporation Method and system for robot localization and confinement
US7571511B2 (en) 2002-01-03 2009-08-11 Irobot Corporation Autonomous floor-cleaning robot
FR2822318B1 (fr) * 2001-03-14 2003-05-30 Gemplus Card Int Dispositif portable pour securiser le trafic de paquets dans une plate-forme hote
US20020147905A1 (en) * 2001-04-05 2002-10-10 Sun Microsystems, Inc. System and method for shortening certificate chains
US20030172265A1 (en) * 2001-05-04 2003-09-11 Vu Son Trung Method and apparatus for secure processing of cryptographic keys
US8396592B2 (en) 2001-06-12 2013-03-12 Irobot Corporation Method and system for multi-mode coverage for an autonomous robot
US7429843B2 (en) 2001-06-12 2008-09-30 Irobot Corporation Method and system for multi-mode coverage for an autonomous robot
FI112904B (fi) * 2001-06-29 2004-01-30 Nokia Corp Menetelmä suojata elektroninen laite ja elektroninen laite
FI115257B (fi) * 2001-08-07 2005-03-31 Nokia Corp Menetelmä informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä, elektroniikkalaite ja suoritinlohko
JP2003124923A (ja) * 2001-10-15 2003-04-25 Nec Infrontia Corp バッテリに暗号鍵を格納する方式
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US20030097582A1 (en) * 2001-11-19 2003-05-22 Yves Audebert Method and system for reducing personal security device latency
US7260726B1 (en) * 2001-12-06 2007-08-21 Adaptec, Inc. Method and apparatus for a secure computing environment
US6860206B1 (en) * 2001-12-14 2005-03-01 Irobot Corporation Remote digital firing system
US7559269B2 (en) * 2001-12-14 2009-07-14 Irobot Corporation Remote digital firing system
US8375838B2 (en) * 2001-12-14 2013-02-19 Irobot Corporation Remote digital firing system
EP1331539B1 (de) * 2002-01-16 2016-09-28 Texas Instruments France Sicherer Modus für Prozessoren, die Speicherverwaltung und Unterbrechungen unterstützen
US9128486B2 (en) 2002-01-24 2015-09-08 Irobot Corporation Navigational control system for a robotic device
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7552345B2 (en) * 2002-03-04 2009-06-23 Sandisk Corporation Implementation of storing secret information in data storage reader products
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7299292B2 (en) * 2002-03-29 2007-11-20 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream to a virtual smart card client system
US7890771B2 (en) * 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US6947948B2 (en) * 2002-04-23 2005-09-20 International Business Machines Corporation Version-enabled, multi-typed, multi-targeting referential integrity relational database system and methodology
US6944627B2 (en) * 2002-04-23 2005-09-13 International Business Machines Corporation Content management system and methodology employing a tree-based table hierarchy featuring arbitrary information retrieval from different locations in the hierarchy
US7035854B2 (en) * 2002-04-23 2006-04-25 International Business Machines Corporation Content management system and methodology employing non-transferable access tokens to control data access
US6938050B2 (en) 2002-04-23 2005-08-30 International Business Machines Corporation Content management system and methodology employing a tree-based table hierarchy which accomodates opening a dynamically variable number of cursors therefor
US6950815B2 (en) * 2002-04-23 2005-09-27 International Business Machines Corporation Content management system and methodology featuring query conversion capability for efficient searching
US7082455B2 (en) * 2002-04-23 2006-07-25 International Business Machines Corporation Method and apparatus of parameter passing of structured data for stored procedures in a content management system
US6999966B2 (en) * 2002-04-23 2006-02-14 International Business Machines Corporation Content management system and methodology for implementing a complex object using nested/recursive structures
US7054613B2 (en) * 2002-05-03 2006-05-30 Telefonaktiebolaget Lm Ericsson (Publ) SIM card to mobile device interface protection method and system
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
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US8428778B2 (en) 2002-09-13 2013-04-23 Irobot Corporation Navigational control system for a robotic device
US8386081B2 (en) 2002-09-13 2013-02-26 Irobot Corporation Navigational control system for a robotic device
US7315946B1 (en) 2003-04-14 2008-01-01 Aol Llc Out-of-band tokens for rights access
US7373658B1 (en) 2002-10-25 2008-05-13 Aol Llc Electronic loose-leaf remote control for enabling access to content from a media player
US7647277B1 (en) 2002-10-25 2010-01-12 Time Warner Inc. Regulating access to content using a multitiered rule base
US7895443B2 (en) * 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
US20040098596A1 (en) * 2002-11-15 2004-05-20 Rainbow Technologies, Inc. Driverless USB security token
WO2004046916A2 (en) * 2002-11-18 2004-06-03 Arm Limited Exception types within a secure processing system
US20040103317A1 (en) * 2002-11-22 2004-05-27 Burns William D. Method and apparatus for protecting secure credentials on an untrusted computer platform
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
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
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
JP4347582B2 (ja) * 2003-02-04 2009-10-21 パナソニック株式会社 情報処理装置
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US7779482B1 (en) 2003-02-07 2010-08-17 iGware Inc Delivery of license information using a short messaging system protocol in a closed content distribution system
US8131649B2 (en) * 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US20040267384A1 (en) * 2003-02-07 2004-12-30 Broadon Communications, Inc. Integrated console and controller
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US7392246B2 (en) * 2003-02-14 2008-06-24 International Business Machines Corporation Method for implementing access control for queries to a content management system
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
GB0309182D0 (en) 2003-04-23 2003-05-28 Hewlett Packard Development Co Security method and apparatus using biometric data
US20050005136A1 (en) * 2003-04-23 2005-01-06 Liqun Chen Security method and apparatus using biometric data
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
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
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
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
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
US7711951B2 (en) * 2004-01-08 2010-05-04 International Business Machines Corporation Method and system for establishing a trust framework based on smart key devices
US7849326B2 (en) * 2004-01-08 2010-12-07 International Business Machines Corporation Method and system for protecting master secrets using smart key devices
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7467386B2 (en) 2004-01-16 2008-12-16 International Business Machines Corporation Parameter passing of data structures where API and corresponding stored procedure are different versions/releases
US20050177724A1 (en) * 2004-01-16 2005-08-11 Valiuddin Ali Authentication system and method
US7332890B2 (en) 2004-01-21 2008-02-19 Irobot Corporation Autonomous robot auto-docking and energy management systems and methods
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
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
DE112005000738T5 (de) 2004-03-29 2007-04-26 Evolution Robotics, Inc., Pasadena Verfahren und Vorrichtung zur Positionsbestimmung unter Verwendung von reflektierten Lichtquellen
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
US20050240995A1 (en) * 2004-04-23 2005-10-27 Ali Valiuddin Y Computer security system and method
JP2008508572A (ja) 2004-06-24 2008-03-21 アイロボット コーポレーション 携帯ロボットのプログラミングおよび診断ツール
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
US8972052B2 (en) 2004-07-07 2015-03-03 Irobot Corporation Celestial navigation system for an autonomous vehicle
US7706917B1 (en) 2004-07-07 2010-04-27 Irobot Corporation Celestial navigation system for an autonomous robot
US7239552B2 (en) * 2004-09-02 2007-07-03 Micron Technology, Inc. Non-volatile one time programmable memory
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
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
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
EP2279686B1 (de) 2005-02-18 2012-11-14 iRobot Corporation Selbständiger Oberflächenreinigungsroboter für die Nass- und Trockenreinigung
US7620476B2 (en) 2005-02-18 2009-11-17 Irobot Corporation Autonomous surface cleaning robot for dry cleaning
US8392021B2 (en) 2005-02-18 2013-03-05 Irobot Corporation Autonomous surface cleaning robot for wet cleaning
US7370190B2 (en) * 2005-03-03 2008-05-06 Digimarc Corporation Data processing systems and methods with enhanced bios functionality
US8930023B2 (en) 2009-11-06 2015-01-06 Irobot Corporation Localization by learning of wave-signal distributions
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US8996423B2 (en) * 2005-04-19 2015-03-31 Microsoft Corporation Authentication for a commercial transaction using a mobile module
US8972743B2 (en) * 2005-05-16 2015-03-03 Hewlett-Packard Development Company, L.P. Computer security system and method
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
KR101334968B1 (ko) 2005-07-21 2013-11-29 클레브엑스 엘엘씨 메모리 락 시스템
US20070056022A1 (en) * 2005-08-03 2007-03-08 Aladdin Knowledge Systems Ltd. Two-factor authentication employing a user's IP address
US20070061535A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Processing unit enclosed operating system
US8201240B2 (en) * 2005-09-16 2012-06-12 Nokia Corporation Simple scalable and configurable secure boot for trusted mobile phones
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
KR101099808B1 (ko) 2005-12-02 2011-12-27 아이로보트 코퍼레이션 로봇 시스템
ES2623920T3 (es) 2005-12-02 2017-07-12 Irobot Corporation Sistema de robot.
US8689016B2 (en) 2005-12-02 2014-04-01 Google Inc. Tamper prevention and detection for video provided over a network to a client
EP2816434A3 (de) 2005-12-02 2015-01-28 iRobot Corporation Roboter mit autonomem Wirkungsbereich
ATE442619T1 (de) 2005-12-02 2009-09-15 Irobot Corp Modularer roboter
KR101300493B1 (ko) 2005-12-02 2013-09-02 아이로보트 코퍼레이션 커버리지 로봇 이동성
US20070174867A1 (en) * 2006-01-26 2007-07-26 Dunning Katherine A Computer controlled system for enabling the owner/host of a television set to limit the access of designated viewers to television programs
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US20070255659A1 (en) * 2006-05-01 2007-11-01 Wei Yen System and method for DRM translation
EP2033350A2 (de) 2006-05-02 2009-03-11 Broadon Communications Corp. Inhaltsverwaltung und verfahren
US8087117B2 (en) 2006-05-19 2012-01-03 Irobot Corporation Cleaning robot roller processing
US8417383B2 (en) 2006-05-31 2013-04-09 Irobot Corporation Detecting robot stasis
JP4279856B2 (ja) 2006-07-18 2009-06-17 レノボ・シンガポール・プライベート・リミテッド 情報の転送方法、およびコンピュータ
US20080052539A1 (en) * 2006-07-29 2008-02-28 Macmillan David M Inline storage protection and key devices
WO2008034083A2 (en) * 2006-09-15 2008-03-20 Visa International Service Association Method and system for cross-issuer registration of transaction cards
US7624276B2 (en) * 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US20080174448A1 (en) * 2006-10-31 2008-07-24 Edison Hudson Modular Controller
US7613915B2 (en) * 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
KR101414321B1 (ko) 2007-05-09 2014-07-01 아이로보트 코퍼레이션 자동 커버리지 로봇
US8243924B2 (en) * 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US8826037B2 (en) * 2008-03-13 2014-09-02 Cyberlink Corp. Method for decrypting an encrypted instruction and system thereof
US8132019B2 (en) * 2008-06-17 2012-03-06 Lenovo (Singapore) Pte. Ltd. Arrangements for interfacing with a user access manager
TWI372340B (en) * 2008-08-29 2012-09-11 Phison Electronics Corp Storage system, controller and data protecting method thereof
US7694130B1 (en) * 2008-09-12 2010-04-06 Michael Anthony Martinez System and method to authenticate a user utilizing a time-varying auxiliary code
US20100174913A1 (en) * 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) * 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
IT1398518B1 (it) * 2009-09-25 2013-03-01 Colombo Safe milano
JP5335634B2 (ja) * 2009-09-29 2013-11-06 レノボ・シンガポール・プライベート・リミテッド システム管理モードの特権レベルを保護するコンピュータ
CN102724903B (zh) 2010-02-16 2015-11-25 艾罗伯特公司 真空吸尘器毛刷
KR101239297B1 (ko) * 2011-07-28 2013-03-05 한국전자통신연구원 정보 보호 시스템 및 방법
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
JP5806187B2 (ja) * 2012-09-14 2015-11-10 レノボ・シンガポール・プライベート・リミテッド 秘密情報の交換方法およびコンピュータ
US9154297B2 (en) 2012-12-18 2015-10-06 Nagravision S.A. Method for granting a plurality of electronic communication devices access to a local area network
EP2747468A1 (de) * 2012-12-18 2014-06-25 Nagravision S.A. Verfahren zum Bereitstellen eines Zugangs zu einem Netzwerk und Vorrichtung zum Umsetzen dieses Verfahrens
US9037854B2 (en) * 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment
US9391982B1 (en) 2014-02-27 2016-07-12 Cullen/Frost Bankers, Inc. Network authentication of multiple profile accesses from a single remote device
US9740492B2 (en) * 2015-03-23 2017-08-22 Intel Corporation System management mode trust establishment for OS level drivers
US10567362B2 (en) * 2016-06-17 2020-02-18 Rubicon Labs, Inc. Method and system for an efficient shared-derived secret provisioning mechanism
CN113454627A (zh) * 2019-04-30 2021-09-28 惠普发展公司,有限责任合伙企业 系统管理存储器一致性检测

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175487A3 (de) * 1984-08-23 1989-03-08 Btg International Limited Softwaresicherungsvorrichtung
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5148481A (en) * 1989-10-06 1992-09-15 International Business Machines Corporation Transaction system security method and apparatus
US5175853A (en) 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5652890A (en) 1991-05-17 1997-07-29 Vantus Technologies, Inc. Interrupt for a protected mode microprocessor which facilitates transparent entry to and exit from suspend mode
GB2259166B (en) 1991-08-30 1995-05-03 Intel Corp Transparent system interrupts with automated input/output trap restart
AU3777593A (en) 1992-02-26 1993-09-13 Paul C. Clark System for protecting computers via intelligent tokens or smart cards
US5610981A (en) 1992-06-04 1997-03-11 Integrated Technologies Of America, Inc. Preboot protection for a data security system with anti-intrusion capability
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
US5509139A (en) * 1993-03-22 1996-04-16 Compaq Computer Corp. Circuit for disabling an address masking control signal using OR gate when a microprocessor is in a system management mode
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5606615A (en) * 1995-05-16 1997-02-25 Lapointe; Brian K. Computer security system
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US5748888A (en) * 1996-05-29 1998-05-05 Compaq Computer Corporation Method and apparatus for providing secure and private keyboard communications in computer systems
SE9603962D0 (sv) 1996-10-30 1996-10-30 Christian Wettergren Device and method for communication
US5953422A (en) * 1996-12-31 1999-09-14 Compaq Computer Corporation Secure two-piece user authentication in a computer network

Also Published As

Publication number Publication date
TW406233B (en) 2000-09-21
US6557104B2 (en) 2003-04-29
DE69819485D1 (de) 2003-12-11
ATE253744T1 (de) 2003-11-15
WO1998050842A1 (en) 1998-11-12
EP0979442B1 (de) 2003-11-05
EP0979442A1 (de) 2000-02-16
US20010008015A1 (en) 2001-07-12
JP2000516373A (ja) 2000-12-05
JP3689431B2 (ja) 2005-08-31

Similar Documents

Publication Publication Date Title
DE69819485T2 (de) Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel
DE19827659B4 (de) System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE69725833T2 (de) Gesicherte zweiteilige Benutzer-Authentifizierung in einem Rechnernetz
DE69724946T2 (de) Programmvermietungssystem und Verfahren zur Vermietung von Programmen
DE69704684T2 (de) Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip
DE69534757T2 (de) System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
DE60001222T2 (de) Rechenvorrichtung und -verfahren mit gesicherter authentikationseinrichtung
DE60129967T2 (de) Auf biometrie basierende beglaubigung in einer nichtflüchtigen speichervorrichtung
DE69730128T2 (de) Authentifizierungsmethode und -system basierend auf einem periodischen challenge-response-protokoll
DE69724235T2 (de) Computersystem und Verfahren zum Schutz von Software
DE112008003862B4 (de) System und Verfahren zum Liefern eines Systemverwaltungsbefehls
DE112005003340B4 (de) Mechanismus zum Bestimmen der Vertrauenswürdigkeit von Außerbandverwaltungsagenten
DE60007724T2 (de) Chipkarten-benutzerschnittstelle für eine vertraute computerplattform
DE102018104679A1 (de) In Tonken übersetzte Hardware-Sicherheitsmodule
DE102007057900B4 (de) Authentifikation von verdächtigen Daten unter Verwendung von Schlüsseltabellen
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE112008003931T5 (de) Systeme und Verfahren für Datensicherheit
EP2602738A2 (de) Vorrichtung zum Schutz von Sicherheitstoken gegen Malware
DE112006003105T5 (de) System und Verfahren für die sichere, transparente und kontinuierliche Synchronisierung von Zugriffsbeglaubigungen in einem beliebigen System einer dritten Seite
DE10200288A1 (de) Eine Vorrichtung zur Ausführung von Anwendungen, die sichere Transaktionen und/oder Zugangskontrolle zu werthaltigen Inhalten und/oder Dienstleistungen umfassen, und Verfahren zum Schutz einer solchen Vorrichtung
DE102007030622A1 (de) Verfahren und Anwendung zum Verknüpfen zwischen Systemen auf der Grundlage von Hardware-Sicherheits-Einheiten
DE102012101876A1 (de) PC Absicherung durch BIOS/(U) EFI Erweiterungen
DE102008033895A1 (de) Vorrichtung und Verfahren zur Authentifikation eines Flash-Programms
EP2541455B1 (de) Methode und Verfahren für PIN-Eingaben bei konsistentem Software-Stack auf Geldautomaten
DE112010004580T5 (de) Sichere Pin-Verwaltung einer für Benutzer vertrauenswürdigen Einheit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Ref document number: 979442

Country of ref document: EP

Owner name: KINGLITE HOLDINGS INC., SG

Free format text: FORMER OWNER: PHOENIX TECHNOLOGIES LTD., SAN JOSE, US

Effective date: 20130110

R082 Change of representative

Ref document number: 979442

Country of ref document: EP

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

Effective date: 20130110