DE69819485T2 - Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel - Google Patents
Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/1097—Boot, 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 Schritt2 initialisiert. In Schritt3 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 Schritt4 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 Schritt5 nicht gültig ist, läuft das normale Herauffahren des Systems (Boot-Up) bei Schritt10 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 (Schritt9 ), werden die normalen Herauffahrvorgänge des Systems bei Schritt10 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 Schritt20 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 Schritt21 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 Schritt22 die Sicherheitsfunktion auf. Die Sicherheitsfunktion greift in Schritt23 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 Schritt24 aus dem SMM heraus, und der normale Systembetrieb wird bei Schritt25 fortgesetzt. Die passende kryptographische Information wird in Schritt25 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 (Schritte22 ,23 ). Der "Response" wird an das Response-Rechnerprogramm geliefert und das Betriebssystem wird wiederaufgenommen (Schritt25 ). 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 und2 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 in3 veranschaulicht. Der PIN-Verifizierungsvorgang startet bei Schritt30 und liest einen verschlüsselten Schlüssel, der auf einem Token gespeichert ist. Der Benutzer wird bei Schritt32 aufgefordert, eine PIN-Zahl einzugeben. Die PIN wird dann verwendet, um den Schlüssel in Schritt33 zu entschlüsseln. Eine Hash-Funktion wird verwendet, um bei Schritt34 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 Schritt34 erzeugte Extrakt wird mit einer Kopie des in dem System-BIOS gespeicherten Extrakts verglichen. Die Ergebnisse des Vergleichs werden in Schritt36 ausgegeben. Wenn die Extrakte zusammenpassen, wird die PIN in Schritt5 von1 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 Schritt41 eine PIN einzugeben und ruft einen SMI auf. Der Prozessor geht in den SMM über und der Benutzer wird in Schritt42 aufgefordert, das Token (wegnehmbare Speichereinrichtung) einzusetzen. Ein auf dem Token gespeicherter, verschlüsselter Schlüssel wird in Schritt43 in den SMRAM geladen und der verschlüsselte Schlüssel wird unter Verwendung der PIN in Schritt44 entschlüsselt. Der Schlüssel wird unter Verwendung einer Hash-Funktion verarbeitet, um in Schritt45 einen Extrakt zu erzeugen. Der durch die Hash-Funktion erzeugte Extrakt wird in Schritt46 mit einem in dem BIOS gespeicherten Extrakt verglichen. Wenn die Extrakte zusammenpassen, wird in Schritt47 die PIN verifiziert und der Schlüssel wird in Schritt48 in den SMRAM geladen. Wenn die PIN nicht verifiziert wird, wird der Schlüssel nicht in den SMRAM geladen. Der Benutzer wird in Schritt49 aufgefordert, das Token zu entfernen, um die Systemsicherheit zu gewährleisten, und dann geht der Prozessor in Schritt50 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 Schritten48 und49 ausgeführt werden, falls gewünscht. -
5 ist ein Blockdiagramm einer Vorrichtung der vorliegenden Erfindung. Ein Computersystem60 enthält eine zentrale Verarbeitungseinheit (CPU)64 , die einen sicheren Verarbeitungsbetrieb hat, der nicht durch andere Interrupts unterbrochen werden kann. Die CPU64 hat eine Interruptleitung641 , auf welcher ein Sicherungsbetrieb-Interrupt die CPU64 in dem sicheren Betriebszustand initialisiert. Ein sicherer Speicher66 ist mit der CPU64 verbunden und auf diesen kann durch die CPU64 nur zugegriffen werden, wenn diese sich in dem sicheren Verarbeitungsbetrieb befindet. Ein Hauptsystemspeicher68 ist ebenfalls mit der CPU64 verbunden und wird von den Betriebssystem- und Anwendungsprogrammen verwendet. Ein System-BIOS62 speichert einen durch eine Hash-Bearbeitung erzeugten Extrakt121 einer PIN, der mit einem aus einer PIN erzeugten Extrakt verglichen wird, welche durch einen Benutzer über eine Tastatur70 eingegeben wurde. Ein Tokenleser72 liest den kryptographischen Schlüssel, die Daten und die Programme, welche auf einem Token74 gespeichert sind. Der Tokenleser72 kann einen Sensor umfassen, um die Anwesenheit oder Abwesenheit des Token74 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)
- 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. - 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. - 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.
- 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.
- 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.
- 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 ). - 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. - 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.
- 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. - 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. - 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).
- 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.
- 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. - 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.
- 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. - 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. - 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.
- 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. - 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. - 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639625B1 (en) | 1995-02-13 | 2014-01-28 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6263989B1 (en) * | 1998-03-27 | 2001-07-24 | Irobot Corporation | Robotic platform |
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 |
US20050060549A1 (en) * | 1998-10-26 | 2005-03-17 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
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 | 通信装置、通信装置セット、認証方法および端末間ワイヤレス接続方法 |
US8788092B2 (en) | 2000-01-24 | 2014-07-22 | Irobot Corporation | Obstacle following sensor scheme for a mobile robot |
US8412377B2 (en) | 2000-01-24 | 2013-04-02 | 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 |
US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US6934817B2 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones 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 |
US7194634B2 (en) * | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US6760441B1 (en) * | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use 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 |
US7429843B2 (en) | 2001-06-12 | 2008-09-30 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US8396592B2 (en) | 2001-06-12 | 2013-03-12 | 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 |
US8375838B2 (en) * | 2001-12-14 | 2013-02-19 | Irobot Corporation | Remote digital firing system |
US7559269B2 (en) | 2001-12-14 | 2009-07-14 | 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 |
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 |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US7647277B1 (en) | 2002-10-25 | 2010-01-12 | Time Warner Inc. | Regulating access to content using a multitiered rule base |
US7373658B1 (en) | 2002-10-25 | 2008-05-13 | Aol Llc | Electronic loose-leaf remote control for enabling access to content from a media player |
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 |
GB2410348B (en) * | 2002-11-18 | 2005-12-07 | Advanced Risc Mach Ltd | 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 |
US7322042B2 (en) * | 2003-02-07 | 2008-01-22 | Broadon Communications Corp. | Secure and backward-compatible processor and secure software execution thereon |
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 |
US20040267384A1 (en) * | 2003-02-07 | 2004-12-30 | Broadon Communications, Inc. | Integrated console and controller |
US8131649B2 (en) * | 2003-02-07 | 2012-03-06 | Igware, Inc. | Static-or-dynamic and limited-or-unlimited content rights |
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 |
US20050080934A1 (en) | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine 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 |
US20050177724A1 (en) * | 2004-01-16 | 2005-08-11 | Valiuddin Ali | Authentication system and method |
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 |
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 |
US9008835B2 (en) | 2004-06-24 | 2015-04-14 | Irobot Corporation | Remote control scheduler and method for autonomous robotic device |
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 |
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 |
ATE523132T1 (de) | 2005-02-18 | 2011-09-15 | Irobot Corp | Selbstfahrender flächenreinigungsroboter für nass-und trockenreinigung |
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 |
EP3029597A1 (de) * | 2005-07-21 | 2016-06-08 | Clevx, LLC | Speicherverriegelungssystem |
WO2007015253A2 (en) * | 2005-08-03 | 2007-02-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 |
EP2816434A3 (de) | 2005-12-02 | 2015-01-28 | iRobot Corporation | Roboter mit autonomem Wirkungsbereich |
US8374721B2 (en) | 2005-12-02 | 2013-02-12 | Irobot Corporation | Robot system |
ES2706729T3 (es) | 2005-12-02 | 2019-04-01 | Irobot Corp | Sistema de robot |
EP2251757B1 (de) | 2005-12-02 | 2011-11-23 | iRobot Corporation | Abdeckungsrobotermobilität |
EP1969438B1 (de) | 2005-12-02 | 2009-09-09 | iRobot Corporation | Modularer roboter |
US8689016B2 (en) | 2005-12-02 | 2014-04-01 | Google Inc. | Tamper prevention and detection for video provided over a network to a client |
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 |
US10664575B2 (en) * | 2006-05-02 | 2020-05-26 | Acer Cloud Technology, Inc. | Virtual vault of licensed content |
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 |
US7865434B2 (en) * | 2006-09-15 | 2011-01-04 | Visa Usa Inc. | 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 |
KR101393196B1 (ko) | 2007-05-09 | 2014-05-08 | 아이로보트 코퍼레이션 | 소형 자율 커버리지 로봇 |
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 | レノボ・シンガポール・プライベート・リミテッド | システム管理モードの特権レベルを保護するコンピュータ |
KR101497197B1 (ko) | 2010-02-16 | 2015-02-27 | 아이로보트 코퍼레이션 | 진공 브러쉬 |
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 | レノボ・シンガポール・プライベート・リミテッド | 秘密情報の交換方法およびコンピュータ |
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 |
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 |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | Software protection device |
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 |
US5448045A (en) | 1992-02-26 | 1995-09-05 | Clark; Paul C. | 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 |
-
1997
- 1997-05-02 US US08/848,963 patent/US6557104B2/en not_active Expired - Lifetime
-
1998
- 1998-04-28 TW TW087106503A patent/TW406233B/zh not_active IP Right Cessation
- 1998-04-29 AT AT98922056T patent/ATE253744T1/de not_active IP Right Cessation
- 1998-04-29 WO PCT/US1998/008374 patent/WO1998050842A1/en active IP Right Grant
- 1998-04-29 EP EP98922056A patent/EP0979442B1/de not_active Expired - Lifetime
- 1998-04-29 DE DE69819485T patent/DE69819485T2/de not_active Expired - Lifetime
- 1998-04-29 JP JP54814598A patent/JP3689431B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
ATE253744T1 (de) | 2003-11-15 |
DE69819485D1 (de) | 2003-12-11 |
TW406233B (en) | 2000-09-21 |
US6557104B2 (en) | 2003-04-29 |
WO1998050842A1 (en) | 1998-11-12 |
EP0979442B1 (de) | 2003-11-05 |
EP0979442A1 (de) | 2000-02-16 |
JP2000516373A (ja) | 2000-12-05 |
JP3689431B2 (ja) | 2005-08-31 |
US20010008015A1 (en) | 2001-07-12 |
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 | |
DE60002893T2 (de) | Computerplattformen und deren betriebsverfahren | |
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 | |
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 |