-
Die Erfindung betrifft die Sicherheit
in einem Rechnersystem und im Besonderen die Verwendung eines kryptografischen
Tokens, um zweiteilige Benutzer-Authentifizierung in einem Rechnernetz
bereitzustellen.
-
Die heutigen Unternehmen investieren
hohe Geldbeträge
in Hardware und Software, und sogar noch mehr Geld wird zur Entwicklung
von Informationen ausgegeben, die in Dateien wie Textdokumenten und
Tabellenkalkulationen enthalten sind. Der Schutz dieser Investitionen
kann für
den Erfolg und das Ansehen eines Unternehmens von entscheidenderer Bedeutung
sein. Öffentliche
Berichte über
die Taten von „Computer-Hackern" – wie böswillige Codeknacker oder Schnüffler manchmal
genannt werden – haben
dafür gesorgt,
dass das Verlangen der Unternehmen nach sicherer Kommunikation und
besseren Verfahren zum Datenschutz konzentrierter und größer geworden
ist. Der Umfang des Problems ist angesichts der Tatsache, dass sich
viele Unternehmen gegen das Melden von Sicherheitsverletzungen sträuben, ohne
Zweifel noch ernster als berichtet wird. Als Folge fordern sicherheitsbewusste
Benutzer, dass Sicherheits- und Integritätsmerkmale in deren Rechnernetzwerke
integriert werden, um den Zugriff auf Daten auf Festplatten sowie
auf Informationen, die in anderen kritischen Netzwerkkomponenten enthalten
sind, zu beschränken.
-
Ein bekannter Ansatz bei der Sicherheit
umfasst Verschlüsselung
oder Kryptografie. Kryptografie wird typischerweise verwendet, um
sowohl Daten als auch Mitteilungen zu schützen. Allgemein wird eine ursprüngliche
Nachricht oder ein Datenwort als „Klartext" bezeichnet, während „Verschlüsselung" den Prozess bezeichnet, eine Nachricht
so zu verschleiern oder zu verändern,
dass ihr Gehalt nicht leicht erkennbar ist. Eine verschlüsselte Nachricht wird
als „Schlüsseltext" bezeichnet. Schlüsseltext wird
durch einen als „Entschlüsselung" bezeichneten umgekehrten
Vorgang in Klartext zurückgeführt. Verschlüsselung
wird typischerweise durch die Verwendung eines kryptografischen
Algorithmus erreicht, der im Wesentlichen eine mathematische Funktion ist.
Die üblichsten
kryptografischen Algorithmen sind schlüsselgestützt, wobei besondere Kenntnisse
zu variablen Informationen, die als „Schlüssel" bezeichnet werden, zur Entschlüsselung
des Schlüsseltexts erforderlich
sind. Es gibt viele Arten von schlüsselgestützten kryptografischen Algorithmen,
die unterschiedliche Sicherheitsstufen bieten.
-
Die beiden am häufigsten vorkommenden kryptografischen
Algorithmen werden allgemein als „symmetrischer" (auch Geheimschlüssel- oder
Einzelschlüssel-Algorithmus
genannt) und „öffentlicher Schlüssel" (auch asymmetrische
Algorithmen genannt) bezeichnet. Die Sicherheit bei diesen Algorithmen
wird um die Schlüssel
herum eingegeben – nicht die
Einzelheiten des Algorithmus selbst. Dies ermöglicht es, den Algorithmus
zur öffentlichen
Prüfung
zu veröffentlichen
und dann in Massen zum Integrieren in Sicherheitsprodukte zu produzieren.
-
Bei den meisten symmetrischen Algorithmen sind
der Verschlüsselungsschlüssel und
der Entschlüsselungsschlüssel gleich.
Diese Einzelschlüsselverschlüsselungsanordnung
ist nicht fehlerfrei. Der Sender und der Empfänger einer Nachricht müssen irgendwie
Informationen bezüglich
des Geheimschlüssels
austauschen. Jede Seite muss der anderen vertrauen, dass diese den
Schlüssel
nicht preisgibt. Außerdem
muss der Sender generell den Schlüssel über ein anderes Medium übermitteln (ähnlich wie
bei einer Bank, die die persönliche
Kennnummer für
eine Geldautomatenkarte auf dem Postweg sendet). Diese Anordnung
ist nicht praktisch, wenn die Parteien beispielsweise erstmals elektronisch über ein
Netzwerk interagieren. Außerdem steigt
die Anzahl der Schlüssel
mit der steigenden Anzahl von Benutzern rapide an.
-
Im Vergleich dazu unterscheidet sich
bei Algorithmen öffentlicher
Schlüssel
der zur Verschlüsselung
verwendete Schlüssel
von dem zur Entschlüsselung
verwendeten Schlüssel.
Es ist allgemein sehr schwierig, den Entschlüsselungsschlüssel anhand eines
Verschlüsselungsschlüssels zu
berechnen. Bei einem typischen Vorgang wird der zur Verschlüsselung
verwendete „öffentliche
Schlüssel" über ein gut erreichbares Verzeichnis
veröffentlicht,
während
der entsprechende zur Entschlüsselung
verwendete „private
Schlüssel" nur dem Empfänger des
Schlüsseltexts
bekannt ist. Bei einer beispielhaften Transaktion mit öffentlichem
Schlüssel
ruft ein Sender den öffentlichen
Schlüssel
des Empfängers
ab und verwendet ihn zum Verschlüsseln
der Nachricht, bevor diese gesendet wird. Der Empfänger entschlüsselt dann
die Nachricht mit dem entsprechenden privaten Schlüssel. Es
ist außerdem
möglich,
eine Nachricht unter Verwendung eines pri vaten Schlüssels zu
verschlüsseln
und diese unter Verwendung eines öffentlichen Schlüssels zu
entschlüsseln.
Dies wird manchmal bei digitalen Unterschriften verwendet, um die
Quelle einer Nachricht zu authentifizieren.
-
Ein Problem bei Algorithmen öffentlicher Schlüssels ist
die Geschwindigkeit. Algorithmen öffentlicher Schlüssel sind
typischerweise etwa 1.000 Mal langsamer als symmetrische Algorithmen.
Das ist ein Grund dafür,
dass sichere Mitteilungen oftmals unter Verwendung eines Hybrid-Kryptosystems
implementiert werden. Bei einem solchen System verschlüsselt eine
Partei einen zufälligen „Sitzungsschlüssel" mit dem öffentlichen
Schlüssel
der anderen Partei. Die empfangende Partei stellt den Sitzungsschlüssel wieder
her, indem sie ihn mit ihrem privaten Schlüssel entschlüsselt. Sämtliche
weiteren Mitteilungen werden unter Verwendung desselben Sitzungsschlüssels (der
eigentlich ein geheimer Schlüssel
ist) und eines symmetrischen Algorithmus verschlüsselt.
-
Die Anzahl kryptografischer Algorithmen nimmt
ständig
zu. Die beiden gebräuchlichsten
sind DES (Data Encryption Standard) und RSA (benannt nach seinen
Erfindern – Rivest,
Shamir und Adleman). DES ist ein symmetrischer Algorithmus mit einer
festen Schlüssellänge von
56 Bit. RSA ist ein Algorithmus öffentlicher
Schlüssel,
der sowohl zur Verschlüsselung
als auch für
digitale Unterschriften verwendet werden kann. DAS (Digital Signature
Algorithm) ist ein anderer populärer
Algorithmus öffentlicher
Schlüssel,
der nur für
digitale Unterschriften verwendet wird. Bei jedem dieser Algorithmen
ist die relative Schwierigkeit eine verschlüsselte Nachricht mittels Erraten
eines Schlüssels
durch einen Angriff roher Gewalt zu knacken proportional zur Länge des Schlüssels. Hat
der Schlüssel
beispielsweise eine Länge
von 40 Bit, beträgt
die Gesamtzahl der möglichen
Schlüssel
(240) etwa 110 Milliarden. Angesichts der
Rechnerkraft moderner Rechner wird dieser Wert oftmals als ungeeignet
erachtet. Im Vergleich dazu bietet eine Schlüssellänge von 56 Bit 65.636 Mal mehr
Werte als der 40-Bit-Schlüssel.
-
Viel Aufmerksamkeit wurde bisher
auf den Schutz und die Authentifizierung von Mitteilungen und Daten
gerichtet, wenn diese über
interne Unternehmensnetzwerke (Intranet oder LAN) und externe Netzwerke
(wie dem Internet) übertragen
wurden. Ein bekanntes Verfahren zum Anbieten von beschränktem Zugriff
auf einen Netzwerkrechner ist die Verwendung von Passwörtern. Ein
Passwort wird typischerweise in einem batteriegestützten CMOS-RAM-Speicher
eines Rechners gespeichert. Bevor dem Benutzer der Zugriff auf den
Rechner oder gesicherte Rechnerausstattungen gestattet wird, muss
der Benutzer ein Passwort eingeben. Sobald ein Passwort eingegeben
wurde, vergleicht die Einschaltroutine des Rechners das Passwort
mit dem Passwort in dem CMOS-Speicher und, wenn sie übereinstimmen,
wird dem Benutzer der Zugriff gestattet. Ein wesentlicher Nachteil
dieses Systems besteht darin, dass bestimmte Formen von Angriffen
an dem CMOS-Speicher vorbeigehen können, da er in vielen Fällen nicht
lesegeschützt
ist. Obwohl im Allgemeinen wirksam, ist der Passwortschutz von der Art
her einteilig und nur so sicher wie das Passwort selbst.
-
Auch physikalische Schlüssel oder
Tokens, wie jene zum Öffnen
einer Tür,
wurden bisher zum Gestatten von Zugriff auf ein Rechnersystem verwendet.
Wie der Passwortansatz ist diese Art von Sicherheit vom Wesen her „einteilig" und wird unterlaufen, wenn
der Schlüssel
oder das Token gestohlen wird. Jeder, der im Besitz des Schlüssels ist,
kann auf das Rechnernetzwerk zugreifen, und ihm wird derselbe Zugriffsgrad
wie einem autorisierten Benutzer gewährt. Derzeit gibt es kein zufriedenstellendes
Verfahren zum Verifizieren von Benutzeridentität beim Gewähren von Zugriffsprivilegien
bei einer verteilten Rechnerumgebung.
-
US-A-5548721 offenbart ein Verfahren
zum Führen
von sicheren Operationen in einem unkontrollierten Netzwerk, bei
dem autorisierte Benutzer mit einem Personenkennzeichen und einer
tragbaren, elektronisch lesbaren Karte mit einem Teil eines Systemschlüssels darauf
ausgestattet werden. Der Systemschlüssel wird durch ein gesichertes
Netzwerkzugangsportal an der Arbeitsstation erzeugt, und identifiziert
den Benutzer, bei Verwendung in Verbindung mit dem Personenkennzeichen,
eindeutig, so dass die Karte und das Kennzeichen dazu verwendet
werden können,
von jeder Arbeitsstation in dem Netzwerk aus sichere Operationen
zu führen.
-
US-A-5146499 offenbart die Authentifizierung
einer intelligenten Chip-Karte, bei der ein mit einem internen Vorlauf
ausgestatteter Mikrocomputer und ein mit dem Mikrocomputer verbundener
elektronischer Kreis verwendet wird. Der Kreis umfasst einen Mikroprozessor,
der einen Zufallsfaktor generieren kann.
-
Kurz gesagt, wird bei einem Rechnersystem nach
der vorliegenden Erfindung eine zweiteilige Authentifizierungsprozedur
verwendet, um gesicherte Benutzer-Authentifizierung über ein
Netzwerk bereitzustellen.
-
Nach der vorliegenden Erfindung wird
ein Verfahren zur gesicherten Authentifizierung der Benutzeridentität in einem
Rechnernetz bereitgestellt, das einen Netzwerk-Server umfasst, der
mit wenigstens einem Netzwerkknoten gekoppelt ist und in der Lage
ist, mit einem äußeren Token
zu kommunizieren, das einen kryptografischen Algorithmus und einen
Verschlüsselungsschlüssel umfasst,
wobei der Netzwerkknoten außerdem
eine sichere Hochfahrprozedur oder einen sonstigen sicheren Betriebsmodus
umfasst, wobei das Verfahren folgende Schritte umfasst:
- – Bereitstellen
eines Benutzerpasswortes für
den Netzwerkknoten;
- – kommunikatives
Koppeln des äußeren Tokens mit
dem Netzwerkknoten;
- – Bereitstellen
des Benutzerpasswortes für
den in dem Token gespeicherten kryptografischen Algorithmus; und
gekennzeichnet durch
- – Verschlüsseln des
Benutzerpasswortes mit dem kryptografischen Algorithmus und dem
Verschlüsselungsschlüssel, um
ein Netzwerkpasswort zu erzeugen;
- – Weitergeben
des Netzwerkpasswortes an den Netzwerk-Server; und
- – Vergleichen
des Netzwerkpasswortes oder von Teilen davon mit den von dem Netzwerk-Server verwalteten
Informationen, um die Benutzeridentität zu überprüfen bzw. dem Netzwerkpasswort
gewährte
Netzwerkprivilegien zu bestimmen.
-
Das Verfahren kann zusätzlich den
folgenden Schritt umfassen:
- – Ermöglichen
oder Blockieren des Zugriffs auf eine gesicherte Netzwerkausstattung
als Reaktion auf das Ergebnis aus dem Schritt des Vergleichens des
Netzwerkpasswortes mit den von dem Netzwerk-Server verwalteten Informationen;
- – wobei
dieser Schritt das Verwenden des Netzwerkpasswortes umfasst, um
die Verschlüsselung und
Entschlüsselung
von spezifizierten Daten zu regeln, die von dem Netzwerk-Server
verwaltet werden.
-
Der Schritt, ein Benutzerpasswort
für den Netzwerkknoten
(200a) bereitzustellen, kann durchgeführt werden, während sich
der Netzwerkknoten in einem sicheren Betriebszeitraum befindet,
der eine sichere Hochfahrprozedur umfassen kann.
-
Vorzugsweise umfasst das Verfahren
außerdem
- – vor
dem Schritt des Weitergebens des Netzwerkpasswortes an den Netzwerk-Server den Schritt
des Verschlüsselns
des Netzwerkpasswortes unter Verwendung eines öffentlichen Netzwerkschlüssels; und
- – nach
dem Schritt des Weitergehens des Netzwerkpasswortes an den Netzwerk-Server das Entschlüsseln des
Netzwerkpasswortes unter Verwendung eines dem öffentlichen Netzwerkschlüssel entsprechenden
privaten Netzwerkschlüssels.
-
Das Verfahren kann vor dem Weitergeben des
Netzwerkpasswort an den Netzwerk-Server
zusätzlich
den Schritt des Anhängens
von Knotenidentifizierungsinformationen an das Netzwerkpasswort umfassen.
-
Vorzugsweise umfasst der Schritt,
bei dem das Netzwerkpasswort oder Teile davon mit von dem Netzwerk-Server
verwalteten Informationen verglichen werden, das Beschränken des
Zugriffs auf spezifizierte Daten auf der Grundlage des Netzwerkpasswortes
und von angehängten
Knotenidentifizierungsinformationen.
-
Der Schritt des Verschlüsselns des
Benutzerpasswortes mit dem kryptografischen Algorithmus und dem
Verschlüsselungsschlüssel kann
in dem Token geschehen.
-
Der Schritt, bei dem das Benutzerpasswort für den kryptografischen
Algorithmus bereitgestellt wird, kann das Herunterladen sowohl des
kryptografischen Algorithmus als auch des Benutzerpasswortes in
gesicherten Rechnerspeicher umfassen, und der Schritt des Verschlüsselns des
Benutzerpasswortes mit dem kryptografischen Algorithmus und dem
Verschlüsselungsschlüssel kann
in gesichertem Rechnerspeicher geschehen.
-
Vorzugsweise wird das Netzwerkpasswort auf
einem gesicherten Speicherplatz innerhalb des Netzwerkknotens verwaltet.
-
Das Token kann eine intelligente
Chip-Karte oder eine Touch MemoryTM-Vorrichtung
sein.
-
Der Verschlüsselungsschlüssel kann
einmalig oder von begrenzter Erzeugung sein.
-
Darüber hinaus wird nach der vorliegenden Erfindung
ein Rechnersystem bereitgestellt, das in der Lage ist, gesichert
zweiteilige Benutzer-Authentifizierungsdaten über ein Rechnernetzwerk bereitzustellen,
wobei das Rechnersystem einen gesicherten Einschaltprozess oder
einen sonstigen gesicherten Betriebsmodus aufweist und das Rechnersystem Folgendes
umfasst:
- – einen
Systembus;
- – einen
mit dem Systembus gekoppelten Prozessor;
- – eine
mit dem Prozessor gekoppelte Token-Schnittstellenschaltung zum Kommunizieren mit
einem äußeren Token;
- – Netzwerkschnittstellenschaltung,
die es dem Prozessor ermöglicht,
Mitteilungen an einen Netzwerk-Server zu richten; und gekennzeichnet durch
- – Einrichtungen
zum Betrieb in Verbindung mit dem äußeren Token, das einen kryptografischen Algorithmus
und einen Verschlüsselungsschlüssel umfasst;
und
- – Sicherheitscode,
der in einem von einem Prozessor lesbaren Medium gespeichert ist,
umfassend:
- – Einrichtungen
zum Empfangen eines Benutzerpasswortes;
- – Einrichtungen
zum Bereitstellen des Benutzerpasswortes für das äußere Token;
- – Einrichtungen
zum Empfangen eines Netzwerkpasswortes von dem äußeren Token, wobei das Netzwerkpasswort
eine verschlüsselte
Version des Benutzerpasswortes ist; und
- – Einrichtungen
zum Weitergeben des Netzwerkpasswortes über die Netzwerkschnittstellenschaltung
an den Netzwerk-Server, um dem Rechnerbenutzer den Zugriff auf gesicherte
Netzwerkausstattungen zu ermöglichen.
-
Ein besseres Verständnis der
vorliegenden Erfindung kann erzielt werden, wenn die folgende ausführliche
Beschreibung der bevorzugten Ausführung in Verbindung mit den
folgenden Zeichnungen zur Kenntnis genommen wird, bei denen
-
1 ein
schematisches Blockschaltbild eines Rechnersystems ist, das Fähigkeiten
für zweiteilige
Benutzer-Authentifizierung nach der vorliegenden Erfindung umfasst;
-
2 ein
schematisches Blockschaltbild eines lokalen Netzwerks ist, das gesicherte
Benutzer-Authentifizierung und peripheren Fernzugriff nach der vorliegenden
Erfindung darstellt;
-
3 eine
grafische Darstellung des System Management Mode-Speichers nach
der vorliegenden Erfindung ist; und
-
4A und 4B Flussdiagramme sind, die eine
zweiteilige Prozedur nach der vorliegenden Erfindung zum Eingeben
von Passwortinformationen während
einer sicheren Hochfahrprozedur darstellen.
-
In dem folgenden Text wird auf die
folgenden Patente und Patentanmeldungen verwiesen:
Unser US-Patent
Nr. 5.537.540 mit dem Titel „TRANSPARENTE,
SICHERE RECHNERVIRUSERKENNUNGSMETHODE UND -VORRICHTUNG", hier nachfolgend
als „SAFESTART-Patent" bezeichnet;
Unser
US-Patent Nr. 5.567.615 mit dem Titel „SICHERHEITSKONTROLLE FÜR EINEN
PERSONAL COMPUTER";
Unser
US-Patent Nr. 5.375.243 mit dem Titel „FESTPLATTENPASSWORT-SICHERHEITSSYSTEM";
Unser US-Patent
Nr. 5.748.888 mit dem Titel „VERFAHREN
UND VORRICHTUNG ZUM BEREITSTELLEN SICHERER UND PRIVATER TASTATURMITTEILUNGEN
IN RECHNERSYSTEMEN";
und
Unser US-Patent Nr. 5.949.882 mit dem Titel „VERFAHREN
UND VORRICHTUNG ZUM GESTATTEN VON ZUGRIFF AUF GESICHERTE RECHNERAUSSTATTUNGEN
DURCH VERWENDUNG EINES PASSWORTS UND EINES EXTERNEN VERSCHLÜSSELUNGSALGORITHMUS".
-
Mit Bezug auf 1 wird zunächst ein Rechnersystem (S)
nach der vorliegenden Erfindung gezeigt. In der bevorzugten Ausführung umfasst
das System (S) zwei Primärbusse:
ein Peripheral Component Interconnect (PCI) Bus (P), der einen Adress-/Datenteil
und einen Steuersignalteilumfasst; und einen Industry Standard Architecture
(ISA) Bus (1), der einen Adressteil, einen Datenteil und
einen Steuersignalteilumfasst. Die PCI- und ISA-Busse (P und 1) bilden das
architektonische Rückgrat
des Rechnersystems (S).
-
Ein CPU-/Speicher-Untersystem (100)
ist mit dem PCI-Bus (P) verbunden. Der Prozessor (102)
ist vorzugsweise der Pentium®-Prozessor der Intel Corporation,
kann jedoch auch ein 80486 oder jede Anzahl von Prozessoren ähnlicher
Art oder der nächsten
Generation sein. Der Prozessor (102) betreibt Daten-, Adress-
und Steuerteile (116, 106 und 108) von
einem Host-Bus (HB). Ein Sekundärcachespeicher
(L2) oder äußerer Cachespeicher
(104) ist mit dem Host-Bus (HB) verbunden, um zusätzliche
Caching-Fähigkeiten
bereitzustellen, die die Gesamtleistung des Rechnersystems (S) verbessern.
Der L2-Cache (104) kann ständig installiert oder, falls
gewünscht,
entnehmbar sein. Eine Cache- und Speichersteuerung (110)
und ein PCI-ISA-Brückenchip (130)
werden mit den Steuer- und Adressteilen (108 und 106)
des Host-Busses (HB) verbunden. Der Cache- und Speichersteuerungs-Chip
(110) ist dazu konfiguriert, eine Reihe von Datenpuffern
(112) zu steuern. Die Datenpuffer (112) sind vorzugsweise
die 82433LX von Intel und werden mit dem Host-Datenbus (116)
und einem MD- oder Speicherdatenbus (118), der mit einem
Speicherfeld (114) verbunden ist, gekoppelt und treiben
diese an. Durch die Cache- und Speichersteuerung (110)
wird ein Speicheradressund Speichersteuersignal-Bus bereitgestellt.
-
Die Datenpuffer (112), die
Cache- und Speichersteuerung (110) und die PCI-ISA-Brücke (130) werden
alle mit dem PCI-Bus (P) verbunden. Die PCI-ISA-Brücke (130)
wird dazu verwendet, Signale zwischen dem PCI-Bus (P) und dem ISA-Bus
(1) umzuwandeln. Die PCI-ISA-Brücke (130) umfasst:
die erforderlichen Adress- und Datenspeicher, Arbitrierungs- und
Bus-Leitlogik für
den PCI-Bus (P), ISA-Arbitrierungsschaltung, eine ISA-Bussteuerung
wie sie üblicherweise
bei ISA-Systemen verwendet wird, eine IDE-Schnittstelle (Intelligent
Drive Electronics) und eine DMA-Steuerung. Ein Festplattenlaufwerk (140)
wird an die IDE-Schnittstelle der PCI-ISA-Brücke (130) angeschlossen.
Bandlaufwerke, CD-ROM-Geräte
oder sonstige periphere Speichervorrichtungen (nicht gezeigt) können in ähnlicher Weise
angeschlossen werden.
-
Bei der offenbarten Ausführung umfasst
die PCI-ISA-Brücke
(130) auch diverse Systemlogik. Diese diverse Systemlogik
umfasst Zähler
und Aktivitätszeitgeber
wie sie üblicherweise
in Personal Computer-Systemen vorhanden sind, eine Unterbrechungssteuerung
für den
PCI- wie auch für
den ISA-Bus (P und 1) und Power-Management-Logik. Zusätzlich kann
die diverse Systemlogik Schaltungen für ein Sicherheitsmanagementsystem
zur Verwendung für
Passwortüberprüfung und
zum Gestatten des Zugriffs auf geschützte Ausstattungen umfassen, wie
dies nachfolgend ausführlicher
beschrieben wird.
-
Die PCI-ISA-Brücke (130) umfasst
auch Schaltungen zum Erzeugen einer „sanften" SMI (System Management Interrupt) sowie
SMI- und Tastatursteuerungsschnittstellen-Schaltungen. Die diverse
Systemlogik ist über
Schreibschutzlogik (164) mit dem Flash-ROM (154)
verbunden. Separate Aktivierungs-/Unterbrechungssignale werden ebenfalls von
der PCI-ISA-Brücke
(130) an das Festplattenlaufwerk (140) übermittelt.
Vorzugsweise ist die PCI-ISA-Brücke
(130) ein einzelner integrierter Schaltkreis, aber auch
andere Kombinationen sind möglich.
-
Eine Serie von ISA-Steckplätzen (134)
ist zur Aufnahme von ISA-Adapterkarten mit dem ISA-Bus (1)
verbunden. In ähnlicher
Weise ist eine Serie von PCI-Steckplätzen (142) zur Aufnahme
von PCI-Adapterkarten an dem PCI-Bus (P) bereitgestellt.
-
Eine Videosteuerung (165)
ist ebenfalls an den PCI-Bus (P) angeschlossen. Ein Videospeicher (166)
wird zum Speichern von Grafikdaten verwendet und ist an die Videosteuerung
(165) und einen Digital/Analog-Wandler (RAMDAC) (168)
angeschlossen. Die Videografiksteuerung (165) steuert den
Betrieb des Videospeichers (166) und ermöglicht das Schreiben
und Abrufen von Daten nach Bedarf. Ein Monitoranschluss (169)
wird mit dem RAMDAC (168) zum Anschluss eines Monitors
(170) verbunden.
-
Eine Netzwerkschnittstellensteuerung
(NIC) (122) ist ebenfalls an den PCI-Bus (P) angeschlossen
und ermöglicht
dem Rechnersystem (S), als „Knoten" in einem Netzwerk
zu funktionieren. Vorzugsweise ist die Steuerung (122)
ein einzelner integrierter Schaltkreis, der die nötigen Fähigkeiten
zum Agieren als ein PCI-Bus-Master und -Slave umfasst, sowie erforderliche
Schaltungen zum Agieren als eine Ethernet-Schnittstelle umfasst.
In dem System (S) werden ein Attachment Unit Interface (AUI) und 10BaseT-Anschlüsse (124)
bereitgestellt, und sind über
Filter- und Umformerschaltungen (126) mit der NIC (122)
verbunden. Diese Schaltungen bilden einen Netzwerk- oder Ethernet-Anschluss zum Anschluss
des Rechnersystems (S) an eine verteilte Rechnerumgebung oder ein
lokales Netzwerk (LAN), wie in 2 gezeigt.
-
Ein I/O-Kombinations-Chip (136)
ist mit dem ISA-Bus (1) verbunden. Der I/O-Kombinations-Chip umfasst
vorzugsweise eine Echtzeituhr, zwei UARTS, eine Diskettensteuerung
zur Steuerung eines Diskettenlaufwerks (138) und verschiedene Adressdekodierlogik
und Sicherheitslogik zum Steuern des Zugriffs auf einen internen
oder externen CMOS/NVRAM-Speicher (nicht gezeigt) und gespeicherte
Passwortwerte. Weitere Einzelheiten zu in Betracht gezogenen Verwendungen
des NVRAM-Speichers werden nachfolgend genannt. Zusätzlich wird eine
Steuerleitung zu der Schreib- und Leseschutzlogik (164)
bereitgestellt, um außerdem
den Zugriff auf den Flash-ROM (154) zu steuern. Serielle
Schnittstellenanschlüsse
(146) und ein paralleler Schnittstellenanschluss (132)
sind ebenfalls mit dem I/O-Kombinations-Chip (136) verbunden.
-
Ein 8042, oder Tastatursteuerung,
ist ebenfalls in dem I/O-Kombinations-Chip (136) enthalten. Die
Tastatursteuerung hat einen herkömmlichen
Aufbau und ist wiederum mit einem Tastaturanschluss (158)
und einem Maus- oder Zeigegeräteanschluss (160)
verbunden. Eine Tastatur ist (159) ist über den Tastaturanschluss (158)
mit dem Rechnersystem (S) verbunden.
-
Ein Puffer (144) ist an
den ISA-Bus (1) angeschlossen, um einen zusätzlichen
X-Bus (X) für
verschiedene Zusatzkomponenten des Rechnersystems (S) bereitzustellen.
Ein Flash-ROM (154) empfängt seine Steuer-, Adress-
und Datensignale von dem X-Bus (X). Vorzugsweise enthält der Flash-ROM
(154) die BIOS-Informationen für das Rechnersystem und kann
umprogrammiert werden, um Änderungen
an dem BIOS zu ermöglichen.
-
In der offenbarten Ausführung umfasst
das Rechnersystem (S) Schaltungen zum Kommunizieren mit einem entnehmbaren
kryptografischen Token (188). Die genaue physikalische
Natur des Tokens (188) wird für die Erfindung nicht als bedeutend
erachtet. Das Token kann viele Formen haben, wie eine von Dallas
Semiconductor, Inc., gelieferte Touch MemoryTM-Vorrichtung,
eine intelligente Chip-Karte oder eine Verschlüsselungskarte. Vorzugsweise
ist das Token (188) leicht von dem Rechnersystem (S) abzukoppeln
und von dem Träger
des Tokens leicht zu transportieren. Das Token (188) enthält wenigstens einen
aus einer Vielzahl von Verschlüsselungsalgorithmen
(wie DES, Blowfish, elliptische kurvenbasierte Algorithmen usw.).
Obwohl der Basisalgorithmus bei jedem Token (188) gleich
sein kann, ist zu bevorzugen, dass der Verschlüsselungsschlüssel bei
jedem Token (188) unterschiedlich ist. Idealerweise ist das
Token (188) in der Lage, bei kurzzeitigem Kontakt mit dem
Rechnersystem (S) oder dessen Umgebung digital mit dem Rechnersystem
(S) zu kommunizieren. Das Token (188) der offenbarten Ausführung ist
in der Lage, den Verschlüsselungsalgorithmus
in einer nichtflüchtigen
Weise zu speichern, und kann ständig
schreibgeschützt
sein, um vor Manipulationen abzuschrecken.
-
Bei der offenbarten Ausführung der
Erfindung besteht die zum Einrichten einer Kommunikationsverknüpfung zwischen
dem Token (188) und dem Rechnersystem (S) verwendete Schaltung
aus einem Tastkopf (186), der mit einem COM oder einem seriellen
Schnittstellenadapter (184) verbunden ist. Der Schnittstellenadapter
(184) ist mit dem RS232-Anschluss (146) verbunden.
Alternativ könnte
der Schnittstellenadapter (184) an einen anwendungsspezifischen
Schaltkreis (ASIC) angeschlossen sein. Beim Betrieb wird das Token
(188) abnehmbar von dem Tastkopf (186) aufgenommen.
Der Tastkopf (186) umfasst Schaltungen zum Lesen und Schreiben
von Speicher in dem Token (188) und kann vollständig über den
RS232-Anschluss (146) versorgt werden. Zusätzlich umfasst
der Tastkopf (186) Objektsensorschaltungen zum Ermitteln
der Präsenz
eines Tokens (188).
-
Ein zusätzliches Merkmal des Rechnersystems
(S) ist ein System Management Mode (SMM), wie er nachfolgend ausführlich in
Verbindung mit 3 besprochen
wird. Es ist außerdem
bemerken, dass 1 eine
beispielhafte Ausführung
des Rechnersystems (S) darstellt und dass es sich versteht, dass,
wie den auf diesem Fachgebiet erfahrenen Personen bekannt ist, leicht
zahlreiche andere wirksame Ausführungen
entwickelt werden können.
-
Wenden wir uns nun 2 zu, wo eine verteilte Zugriffsumgebung
gezeigt wird, die gesicherte Benutzer-Authentifizierung und peripheren
Fernzugriff nach der vorliegenden Erfindung darstellt. Die zweiteilige
Eingabe eines Benutzerpassworts an einem Netzwerkknoten (200)
führt zu
einem Netzwerkpasswort, das sicher über das Netzwerk verteilt wird, um
den Zugriff zu entfernten Peripheriegeräten zu gestatten. Bei der offenbarten
Ausführung
hat das gesicherte entfernte Peripheriegerät die Form von vernetzten Festplatten
(216, 218 und 220), obwohl der Zugriff
auf jegliche gesicherte Netzwerkausstattung in den Umfang der Erfindung
fällt.
-
Der Benutzer-Authentifizierungsprozess
erscheint in ähnlicher
Weise an jedem Netzwerkknoten (200), und die Beschreibung
des Prozesses für
einen einzelnen Knoten (200a) wird aus Gründen der
Verdeutlichung gegeben. Bei der offenbarten Ausführung der Erfindung wird, wie
ausführlicher
in Verbindung mit 4A und 4B beschrieben, ein Passworteingabeprozess
während
einer gesicherten Hochfahrprozedur oder einem sonstigen sicheren
Betriebsmodus ausgeführt.
Während
der gesicherten Hochfahrpro zedur prüft das Rechnersystem (S) auf Anwesenheit
eines äußeren kryptografischen
Tokens oder einer intelligenten Chip-Karte (188a), die
dazu verwendet wird, einen Verschlüsselungsalgorithmus zu speichern,
der mit einem eindeutigen Verschlüsselungsschlüssel und
optionalen Identifizierungsinformationen ausgestattet ist.
-
Nach Erfassung des äußeren Tokens
(188) muss der Rechnerbenutzer ein Klartext-Benutzerpasswort
eingeben. Sobald dies eingegeben ist, wird das Benutzerpasswort
unter Verwendung eines Verschlüsselungsalgorithmus
verschlüsselt,
der in dem äußeren Token
(188a) enthalten ist, wobei dadurch ein „Netzwerkpasswort" erzeugt wird. Alternativ
kann das äußere Token
(188a) das Netzwerkpasswort generieren, indem eine einfach
gerichtete Hash-Funktion an dem Benutzerpasswort durchgeführt wird.
In beiden Fällen
wird das Netzwerkpasswort an einem gesicherten Speicherplatz, wie
dem SMM-Speicher (250) (siehe 3), gehalten. Wenn der Benutzer auf eine
Netzwerkausstattung, wie eine Festplatte in einem Server (201),
zugreifen möchte,
werden ein optionaler Sitzungsschlüssel, der öffentliche Schlüssel des
Benutzers, oder Knotenidentifizierungsinformationen (204a)
an das Netzwerkpasswort angehängt.
Die Knotenidentifizierungsinformation kann für eine Vielzahl von Zwecken
verwendet werden, darunter auch das Beschränken des Zugriffs auf bestimmte
Datenteile auf spezifizierte Benutzer auf spezifizierten Geräten. Das
Netzwerkpasswort und die Knoteninformationen werden dann durch einen Verschlüsselungsalgorithmus
(206a) verschlüsselt.
-
Der Verschlüsselungsalgorithmus (206a) kann
viele Formen haben, darunter auch sämtliche der vorgenannten Algorithmen.
Wird ein Algorithmus für öffentliche
Schlüsselprivate
Schlüssel
verwendet, wird der öffentliche
Schlüssel
des Netzwerkservers (oder jeder Schlüssel, der nur dem Server bekannt ist)
mit dem Verschlüsselungsalgorithmus
(206a) verwendet. Das offenbarte Verschlüsselungsschema gestattet,
dass das verschlüsselte
Netzwerkpasswort über
ein ungesichertes Netzwerk in einer solchen Weise weitergegeben
wird, dass es nur durch den betroffenen Netzwerk-Server (201)
entschlüsselbar ist.
-
Nach der Verschlüsselung mit dem öffentlichen
Schlüssel
des Servers wird das verschlüsselte Netzwerkpasswort über Netzwerkschnittstellensteuerungen
(122a und 122d) an den Netzwerk-Server (201)
weitergegeben. Das verschlüsselte
Netzwerkpasswort wird dann mit dem privaten Schlüssel des Servers entschlüsselt (bei
Element 210), um das Netzwerkpasswort wiederzugewinnen.
Nachdem das Netzwerkpasswort und jegli cher optionale Sitzungsschlüssel oder
jegliche optionale Knotenidentifizierungsinformation entschlüsselt wurde,
wird es an einen Verifizierungsprozess (212) weitergeleitet,
um die Zugriffsprivilegien des Benutzers auf Festplatten (216, 218 und 220)
zu bestimmen.
-
Der Verifizierungsprozess kann viele
Formen aufweisen, darunter auch eine indexierte Verweistabelle,
in der mehreren Netzwerkpasswörtern
(in Verbindung mit jeglicher Knotenidentifizierungsinformation)
dieselben oder eine Vielzahl von Zugriffsprivilegien gewährt werden.
Für das
Netzwerkpasswort werden zahlreiche andere Verwendungen in Erwägung gezogen.
Zum Beispiel können
das Passwort oder jegliche angehängten
Sitzungsschlüssel
zum Entschlüsseln
oder Verschlüsseln
von Daten auf einer der Festplatten (216 bis 220) über Schnittstellenschaltungen
(214) oder als ein Freigabesignal für eine passwortgeschützte Vorrichtung,
wie das in unserem US-A-5.375.243 beschriebene Plattenlaufwerk,
verwendet werden.
-
Eine einseitig gerichtete Hash-Funktion
oder ein Verschlüsselungsalgorithmus
können
auch zum Umwandeln des Netzwerkpassworts in einen pseudozufälligen Startparameter
(Zwischenschlüssel) verwendet
werden. Der pseudozufällige
Startparameter kann dann von einem deterministischen System zum
Erzeugen eines Schlüsselpaars
aus öffentlichem
Schlüssel/privatem
Schlüssel
verwendet werden. Ein zum Erzeugen solcher Schlüssel verwendeter üblicher
kryptografischer Algorithmus ist DES, aber auch viele andere Algorithmen
reichen aus.
-
Wie erwähnt, können optionale Schlüssel wie
ein Sitzungsschlüssel
oder der öffentliche Schlüssel des
Benutzers an das Netzwerkpasswort angehängt werden, bevor es über das
Netzwerk weitergegeben wird. Wird ein angehängter Sitzungsschlüssel für den Netzwerk-Server
(201) bereitgestellt, werden nachfolgende Übermittlungen
zwischen dem Netzwerkknoten (200a) und dem Netzwerk-Server
(201) mit einem symmetrischen Algorithmus unter Verwendung
des Sitzungsschlüssels verschlüsselt. Verschlüsselung
und Entschlüsselung mit
symmetrischen Algorithmen ist typischerweise viel schneller als
Verschlüsselung
und Entschlüsselung
mit Algorithmen öffentlicher
Schlüssel.
-
Alternative könnte das Netzwerkpasswort unter
Verwendung von Teilschlüsseltechnologie
als eine Teilmenge eines laufenden „Superschlüssels" konfiguriert werden. Teil schlüsseltechnologie
bezieht sich allgemein auf den Prozess des „Teilens" eines Hauptschlüssels und Verteilens der Teile,
so dass der Zugriff von der Präsenz
verschiedener Teile abhängig ist.
Der Netzwerk-Server (201) kann einen Teil des administrativen
Superschlüssels
halten und fordern, dass ein gültiges
Netzwerkpasswort (der andere Teil des geteilten Schlüssels) angehängt wird,
bevor Zugriffsprivilegien gewährt
werden. Der administrative Superschlüssel kann auf verschiedene
Arten aufgespalten werden, so dass mehrere Netzwerkbenutzer mit
unterschiedlichen Benutzerpasswörtern
und eindeutigen Token (188) auf dieselbe gesicherte Netzwerkausstattung
zugreifen können.
Der administrative Superschlüssel
kann geändert
werden, um zusätzliche
Netzwerkpasswörter
zu umfassen, wenn der Bedarf entsteht. Weitere Einzelheiten zur
Teilschlüsseltechnologie
finden sich in US-Patent Nr. 5.276.737 und 5.315.658 mit dem Titel „AN-GEMESSENE KRYPTOSYSTEME
UND VERFAHREN ZUR VERWENDUNG".
-
Es wird außerdem in Erwägung gezogen, dass
die Token (188) selbst zusätzlich zu dem Verschlüsselungsalgorithmus
Identifizierungsinformationen umfassen können, um Benutzern zu ermöglichen,
unterschiedliche Token für
unterschiedliche Aktivitäten
zu haben – wie
bei einer Person, die über Girokonten
und Sparkonten verfügt,
auf die mit derselben persönlichen
Sicherheitskennung (PIN) zugegriffen werden kann. Darüber hinaus
ist die NIC (122a) in der Lage, Knotenidentifizierungsinformationen
an das verschlüsselte
Netzwerkpasswort anzuhängen.
-
Solche Verwendungen des offenbarten
zweiteiligen Benutzer-Authentifizierungsprozesses ermöglichen,
dass bei Festplatten (216 bis 220) des Servers
oder sonstigen Netzwerkausstattungen eine sichere Bereichsbildung
mit der Option für
mehrere Benutzerebenen erfolgen kann. Für diese Anordnung gibt es viele
potenzielle Anwendungen. Zum Beispiel könnte ein Unternehmen den Wunsch
haben, dass bestimmte Dokumente nicht außerhalb der Einrichtung heruntergeladen
werden. Die Erfindung ermöglicht
das Beschränken
von Zugriffsprivilegien auf spezifizierte Knoten (200)
innerhalb der Einrichtung, womit sich ein zusätzlicher Grad an Sicherheit
ergibt.
-
System Management
Mode
-
Gehen wir nun zu 3, wo bestimmte Mikroprozessoren, wie
der Pentium®-Prozessor
der Intel Corporation, einen Modus umfassen, der als System Management
Mode (SMM) bezeichnet wird und der bei Empfang eines System Management
Interrupt (SMI) eingenommen wird. Ursprünglich waren SMI Power Management
Interrupts, die von der Intel Corporation für tragbare Systeme gedacht
waren. Tragbare Rechner werden meistens aus Batterien gespeist,
die eine begrenzte Menge an Energie bieten. Zum Optimieren der Batterielebensdauer
wird typischerweise ein SMI aktiviert, um die Leistungsaufnahme
bei jeder Systemkomponente, die aktuell nicht in Gebrauch ist, abzuschalten
oder herabzusetzen. Obwohl sie ursprünglich für Laptop-Rechner gedacht waren,
sind SMI inzwischen auch bei Desktop-Modellen und sonstigen stationären Modellen
beliebt.
-
SMI werden entweder durch einen SMI-Zeitgeber,
durch eine Systemanforderung oder durch andere Mittel aktiviert.
Ein SMI ist eine nichtmaskierbare Unterbrechung, die fast die höchste Priorität in dem
System hat. Nur das Rücksetzsignal
R/S* und das Cache-Entleersignal
FLUSH*, die als Unterbrechungen konzeptualisiert werden können, haben eine
höhere
Priorität
als die SMI. Wird eine SMI aktiviert, bildet ein Mikroprozessor
einen als SMM-Speicher (250) bezeichneten Speicherteil
in dem Hauptspeicherplatz ab. Der gesamte CPU-Status wird dann in
dem SMM-Speicher (250) (in dem CPU-Registerauszug (260)
aus 3) in stapelförmigem LIFO-Modus
(Last In/First Out) gespeichert. Nachdem der anfängliche Prozessorstatus gespeichert wurde,
beginnt der Prozessor (102) mit der Ausführung einer
SMI-Behandlungsroutine (252), einem Unterbrechungsserviceprogramm
zum Ausführen
spezifischer Systemmanagementaufgaben wie das Reduzieren der Versorgung
spezifischer Geräte
oder, im Falle der vorliegenden Erfindung, das Bereitstellen von
Sicherheitsdiensten. Während
die Routine ausgeführt
wird, werden andere Unterbrechungsanforderungen nicht bedient und
werden ignoriert, bis die Unterbrechungsroutine abgeschlossen ist
oder der Mikroprozessor zurückgesetzt
wird. Wenn die SMI-Behandlungsroutine (252) ihre Aufgabe
beendet, wird der Prozessorstatus aus dem SMM-Speicher (250)
abgerufen und das Hauptprogramm fortgesetzt. Ein SMI-Aktivsignal,
das als das SMIACT*-Signal bezeichnet wird, wird von dem Prozessor
bereitgestellt, um den Betrieb im SMM anzuzeigen.
-
Wie erwähnt, ruft der Prozessor (102)
nach der Aktivierung seiner SMI-Eingabe (dies ist allgemein ein
aktives niedriges Signal) die SMI-Behandlungsroutine (252)
auf, die sich an einen Adressraum richtet, der von dem gewöhnlichen
Hauptspeicher getrennt ist. Danach beziehen sich sämtliche
Speicherzugriffe nur auf den SMM-Speicher (250). Ein-/ Ausgabe-Zugriffe
(„I/O") über Anweisungen
wie IN oder OUT werden jedoch weiterhin an den normalen I/O-Adressraum
gerichtet. Ein vorteilhafter Nebeneffekt des festverdrahteten separaten Adress-SMM-Bereichs
besteht darin, dass die in diesem Raum gespeicherten Routinen nicht
durch den Cache ausspioniert werden können, womit ein zusätzlicher
Grad an Schutz geboten wird.
-
Bei einer typischen Implementierung
des System Management Mode ist beabsichtigt, dass batteriegestützte SRAM-Chips
standardmäßig in den Adressraum
zwischen 30000h und 3ffffh abgebildet werden. Externe Hardware kann
das SMIACT*-Signal als ein Chip-Ansteuersignal verwenden und dadurch
entweder die SRAM-Chips (das SMI-ACT*-Signal
liegt auf einem logisch niedrigen Niveau) oder den normalen Hauptspeicher
(das SMIACT*-Signal liegt auf einem logisch hohen Niveau) ansteuern. Durch
Verwendung des SMIACT*-Signals können dann
der SMM-Speicher (250) und der normale Speicher strikt
getrennt werden.
-
Wenden wir uns nun noch spezifischer 3 zu, wo eine grafische
Darstellung eines nach der vorliegenden Erfindung konfigurierten
SMM-Speichers (250) gezeigt wird. Wie oben erwähnt, wird
dieser Adressraum durch den Prozessor (102) im Anschluss
an eine SMI angesteuert. Nach einer SMI wird der Status des Prozessors
(102) in dem CPU-Registerauszug
(260) gespeichert. Die SMI- Behandlungsroutine (252)
wird dann aufgerufen und durch den Prozessor (102) ausgeführt. Wichtig
dabei ist, dass die SMI-Behandlungsroutine
(252) so geschrieben werden kann, dass sie andere Aufgaben als
Abschaltoperationen ausführt.
Eine nach der vorliegenden Erfindung geschriebene SMI-Behandlungsroutine
(252) ist in der Lage, das verschlüsselte Benutzerpasswort (Netzwerkpasswort)
(254), Verschlüsselungsschlüssel (256)
und einen Verschlüsselungsalgorithmus
(258) zu verwenden, um gesichert Verschlüsselungsoperationen
auszuführen,
die es ermöglichen,
dass die Identität
eines Benutzers über
ein LAN verifiziert werden kann. Da der SMM-Speicher (250)
nur angesteuert werden kann, wenn sich das Rechnersystem im SMM
befindet, verhindert das Speichern des verschlüsselten Benutzerpassworts (254),
der Verschlüsselungsschlüssel (256)
und des Verschlüsselungsalgorithmus
(258) in dem SMM-Speicher (250), dass bösartiger
Code diese sensiblen Komponenten der offenbarten Ausführung der
Erfindung verändern
oder lesen kann. Die optionale 32-Kbyte-SMM RAM-Erweiterung (262) kann
verwendet werden, um gesicherte Verschlüsselungsfunktionen auszuführen oder
zusätzliche
Verschlüsselungsschlüssel zu
speichern.
-
Wenden wir uns nun 4A und 4B zu,
wo eine beispielhafte Einschaltsequenz gezeigt wird, die eine zweiteilige
Benutzerverifizierung nach der Erfindung umfasst. Die Sequenz baut
auf einer gesicherten Hochfahrprozedur auf, wie sie im SAFESTART-Patent
beschrieben wird. Kurz gesagt, reduziert diese Erfindung die administrativen
Anforderungen von früheren
gesicherten Einschalttechniken. Eine reservierte Nicht-DOS-Festplattenpartition
wird dazu verwendet, das Rechnersystem (S) vorzubooten und eine
gesicherte Umgebung bereitzustellen, von der aus Dateien verifiziert
werden können.
Mit dem Hochfahren oder Rücksetzen
führt der
Rechner den Einschalt-Selbsttest (POST) durch, während dem er eine SAFESTART-Spur
prüft,
indem er deren Hash-Wert mit einem in dem NVRAM gespeicherten Wert
vergleicht. Ist die Integrität
der SAFESTART-Spur
verifiziert, wird die erste „SAFESTART-Routine" in den Speicher
geladen und ausgeführt.
-
Die SAFESTART-Routine prüft zuerst
den Master Boot Record und die Boot-Sektoren der Festplatte. Diese Überprüfung erfasst
eine große
Mehrheit von Viren und wird durchgeführt, bevor in diesen Bereichen
residente Codes ausgeführt
werden, wodurch die Verbreitung von entdeckten Viren verhindert
wird. Weitere Prüfungen
werden an den SAFESTART-Dateien durchgeführt, bevor jede ausgeführt wird.
Schließlich
werden noch Systemdateien und jegliche zusätzlich bezeichnete Benutzerdatei überprüft. Da das
Rechnersystem von einer atypischen Partition gebootet wurde, werden
die Laufwerke erneut abgebildet, um die Verschiebung bei der logischen
Plattenlaufwerkadressierung zu berücksichtigen. Wenn der Überprüfungsprozess
abgeschlossen ist, werden die SAFESTART-Dateien bereinigt, ein Signalspeicher
wird eingerichtet, um eine unbefugte Änderung der ursprünglichen
Hash-Werte zu verhindern, und die Steuerung geht an das BIOS zurück, um das
Betriebssystem des Benutzers zu booten. Auf diese Weise stellt ein
nach dem SAFESTART-Patent implementiertes Rechnersystem sicher,
dass bezeichnete Software und Passwörter nach einem Hochfahrzyklus
vertrauenswürdig
sind.
-
Wie in 2A gezeigt,
wird die EINSCHALT-Sequenz (300) begonnen, wenn das Rechnersystem
(S) anfänglich
eingeschaltet wird oder das System einen kalten Wiederanlauf durchläuft. Im
ersten Schritt (302) der EINSCHALT-Sequenz (200) beginnt
das Rechnersystem (S) mit der Ausführung aus dem BIOS ROM. Das
BIOS wird vorzugs weise in dem Flash-ROM (154) gespeichert
und umfasst niederes Programmieren zum Booten des Betriebssystems
und eine Unterbrechungsbehandlungsroutine zum Zugriff auf die Festplatte
(140). Die Steuerung geht dann zu Schritt (304),
wo das Rechnersystem (S) einen Einschalt-Selbsttest (POST) durchführt, um zu
bestimmen, ob jede Systemhardware korrekt arbeitet.
-
Nach zusätzlichen Einschaltschritten
(optional) geht die Steuerung dann zu Schritt (306), um eine
gesicherte Hochfahrprozedur zu beginnen, wie sie im SAFESTART-Patent beschrieben
wird. In der bevorzugten Ausführung
werden Betriebssequenzen für
eine gesicherte Hochfahrprozedur als Wahl-ROM konfiguriert und auf
konventionelle Weise in dem Adressraum des Wahl-ROM lokalisiert.
Vorzugsweise werden die Betriebssequenzen als Letzt-ROM bereitgestellt,
um zu ermöglichen,
das andere Wahl-ROM
am Anfang installiert werden können. Das
System-BIOS führt
diesen Teil der Einschaltsequenz als Teil seiner Suche nach Wahl-ROM
aus, die ausgeführt
werden, wenn sie in POST angetroffen werden. Diese Anordnung erfordert
Adressdekodierung für
die Einschaltsequenz, vereinfacht aber auch die Verteilung auf Rechnersystemfamilie.
Alternativ könnte
die Einschaltsequenz eher als Direktruf von dem BIOS implementiert
werden, anstatt als Ruf von einem Wahl-ROM.
-
Die Steuerung geht dann zu Schritt
(308) über,
um zu bestimmen, ob ein Token (188) vorhanden ist, das
einen Verschlüsselungsalgorithmus
enthält.
Entscheidet die vorgenannte Präsenzerfassungsschaltung,
dass kein Token präsent
ist, schleift die Steuerung zu Schritt (310), um eine Meldung
anzuzeigen, mit der gefordert wird, dass der Benutzer ein Token
(188) bereitstellt. Ist ein Token (188) präsent, wie
in Schritt (308) bestimmt, geht die Steuerung zu Schritt
(312), wo der Benutzer zur Eingabe eines Klartext-Benutzerpassworts
aufgefordert wird. Als Alternative zu einem gespeicherten Wert könnte das
Klartext-Passwort mit Hilfe von Biometrik erzeugt werden. Zum Beispiel
könnte
ein abgetasteter Fingerabdruck in einen Klartext-Passwortwert umgewandelt
werden. Es ist anzumerken, dass die genaue Reihenfolge der Schritte
(308 bis 312) für die Erfindung nicht als bedeutsam
erachtet wird.
-
Die Steuerung geht dann zu Schritt
(314) aus 4B und
das Benutzerpasswort wird unter Verwendung des von dem äußeren Token
(188) bereitgestellten Verschlüsselungsalgorithmus verschlüsselt. Das
verschlüsselte
Klartext-Passwort wird in wirksamer Weise das Netzwerkpasswort.
Der von dem Token (188) verwendete Verschlüsselungsalgorithmus
kann mehrere Formen aufweisen, wie unter anderem DES, RSA, DAS,
RC2, RC4, Blowfish, IDEA, 3-WAY und MDC. Idealerweise wird der Algorithmus
in jedem Token (188) durch einen Verschlüsselungsschlüssel aktiviert,
der einmalig oder von begrenzter Erzeugung ist, so dass es unpraktikabel oder
unmöglich
ist, den Überprüfungsprozess
unter Verwendung eines Ersatztokens zu umgehen.
-
Es wird in Erwägung gezogen, dass der eigentliche
Verschlüsselungsprozess
durch das Token (188) selbst durchgeführt werden kann. Bei dieser Ausführung der
Erfindung wird das Benutzerpasswort über den RS232-Anschluss (146)
oder einen Alternativanschluss an das Token (188) übermittelt. Das
Token (188) vollzieht dann unter Verwendung seines gespeicherten
Verschlüsselungsalgorithmus und
des zugehörigen
Verschlüsselungsschlüssels die
Verschlüsselungsfunktion.
Nach dem Verschlüsselungsprozess
wird das verschlüsselte
Passwort über
den RS232-Anschluss (146) an das Rechnersystem (S) zurückgegeben.
-
Bei einer alternativen Ausführung der
Erfindung wird der Verschlüsselungsalgorithmus
in den Rechnerspeicher heruntergeladen. Nachdem das Benutzerpasswort
eingegeben wurde, wird die Verschlüsselungsfunktion dann durch
das Rechnersystem (S) durchgeführt.
Bei dieser Ausführung
der Erfindung ist es erstrebenswert, dass der Verschlüsselungsalgorithmus
aus dem Rechnerspeicher gelöscht wird,
nachdem der Verschlüsselungsprozess
abgeschlossen ist und sich das Rechnersystem (S) immer noch in dem
gesicherten Einschaltzeitraum befindet. Dieser Schritt verhindert,
dass der Verschlüsselungsalgorithmus
im Anschluss an den gesicherten Einschaltzeitraum heimlich aus dem
Speicher geholt werden kann.
-
Im Anschluss an die Erzeugung des
Netzwerkpassworts geht die Steuerung zu Schritt (316), und
es werden optionale Knotenidentifizierungsinformationen (oder ein
Sitzungsschlüssel)
werden angehängt.
Wie oben erwähnt,
ermöglichen
die Knotenidentifizierungsinformationen dem Netzwerk-Server (201)
das Bestimmen, welcher Knoten verwendet wird, und das entsprechende
Gewähren
von Zugriffsprivilegien. Die optionalen Knotenidentifizierungsinformationen
können
vor dem Verschlüsselungsprozess
aus Schritt (314) angehängt
werden. In jedem Fall geht die Steuerung weiter zu Schritt (318)
und das Netzwerkpasswort und jede angehängte Knotenidentifizierungsinformation
wer den in gesichertem Speicher, wie dem SMM-Speicher (250),
gespeichert. Das Netzwerkpasswort kann außerdem in geschütztem/gesperrtem
NVRAM oder Flash-ROM (154) oder in einem anderen gesicherten
Speicher, wie dem in der zuvor angesprochenen US-Patentanmeldung
mit der Seriennr. 08/396343 offenbarten, gehalten werden. Nach diesem
Schritt geht die Steuerung weiter zu Schritt (320) und die gesicherte Hochfahrprozedur
wird fortgesetzt.
-
Es ist zu beachten, dass der Benutzer-Authentifizierungs-
oder Passwortverifizierungsprozess bei jeder der oben beschriebenen
Ausführungen
der Erfindung von der Art her zweiteilig ist. Wenn das Benutzerpasswort
oder das äußere Token
widerrechtlich angeeignet wird, ist dies von geringer Bedeutung. Es
sind beide Teile zum Erzeugen des Netzwerkpassworts erforderlich.
Darüber
hinaus wird der Umfang der Erfindung nicht als auf die offenbarte
gesicherte Hochfahrprozedur beschränkt erachtet. In gleicher Weise
wird die genaue Reihenfolge der Hochfahrschritte nicht als für die Endung
bedeutsam erachtet.
-
Bei einer alternativen Ausführung der
Erfindung wird der zweiteilige Authentifizierungsprozess während des
normalen Rechnerbetriebs außerhalb der
gesicherten Einschaltsequenz ausgeführt. Bei dieser Ausführung der
Erfindung wird das Benutzerpasswort mit Hilfe eines gesicherten
Tatstaturkommunikationskanals, wie er in der zuvor angesprochenen
US-Patentanmeldung mit der Seriennr. 08/657982 beschrieben wird,
an einen gesicherten Speicher übermittelt.
Kurz gesagt, veranlasst eine Anforderung gesicherter Tastaturkommunikation
den Prozessor des Rechners zum Eintritt in den SMM. Die SMI-Behandlungsroutine
weist dann spezialisierte Hardware an, Tastaturunterbrechungen abzufangen
und umzuleiten, so dass über
die Tastatur eingegebene Daten nur an einen gesicherten, nichtlesbaren
Speicher übermittelt
werden. Der gesicherte Tastaturkommunikationskanal verhindert, dass
das Klartext-Passwort des Benutzers von böswilligem Softwarecode, wie
einem als Bildschirmschoner oder Gerätetreiber getarnten Virus,
abgefangen wird.
-
Auf diese Weise wurde ein Verfahren
zum Gestatten von gesicherter Benutzer-Authentifizierung und peripherem
Fernzugriff auf der Grundlage eines zweiteiligen Benutzerüberprüfungsprozesses beschrieben.
Bei der offenbarten Ausführung
der Erfindung beginnt der Benutzerüberprüfungsprozess während einer
gesicherten Hochfahrprozedur.
-
An einem bestimmten Punkt während der
gesicherten Hochfahrprozedur muss der Rechnerbenutzer ein äußeres Token
oder eine externe intelligente Chip-Karte bereitstellen. Das Token
oder die intelligente Chip-Karte wird dazu verwendet, einen Verschlüsselungsalgorithmus
zu speichern, der mit einem Verschlüsselungsschlüssel ausgestattet
ist, der einmalig oder von begrenzter Erzeugung ist. Der Rechnerbenutzer
muss dann ein Klartext-Benutzerpasswort eingeben. Sobald es eingegeben
ist, wird das Benutzerpasswort unter Verwendung des in dem äußeren Token
enthaltenen Verschlüsselungsalgorithmus
verschlüsselt,
um ein Netzwerkpasswort zu erzeugen. Wünscht der Netzwerkbenutzer
den Zugriff auf eine gesicherte Netzwerkausstattung, wird das Netzwerkpasswort
unter Verwendung des öffentlichen
Schlüssels
des Netzwerk-Servers verschlüsselt,
bevor es über
das Netzwerk übermittelt
wird. Sobald es beim Server eingegangen ist, wird das verschlüsselte Netzwerk-Passwort
unter Verwendung des öffentlichen
Schlüssels
des Servers entschlüsselt.
Es erfolgt dann ein Benutzerüberprüfungsprozess
an dem Netzwerkpasswort, um zu bestimmen, welche Zugriffsprivilegien,
soweit vorhanden, dem Netzwerkbenutzer gewährt wurden. An das Netzwerkpasswort
können
optionale Knotenidentifizierungsinformationen angehängt werden,
um zusätzliche
Zugriffsstufen bereitzustellen. Die zweiteilige Form des Authentifizierungsprozesses
stellt sicher, dass es von geringer Bedeutung ist, wenn das Benutzerpasswort
oder das äußere Token
entwendet wird. Für
den Zugriff auf geschützte
Ausstattungen und die eindeutige Identifizierung eines Benutzers
gegenüber
dem Netzwerk sind beide Teile erforderlich.