-
TECHNISCHER
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Computersysteme und insbesondere
Computersysteme mit Verarbeitungseinheiten, die mit einem Kommunikationsnetzwerk
verbindbar sind, über
das Information kommuniziert werden kann.
-
Es
gibt viele Gebiete, in denen die Menschheit sich auf Computer verläßt, um wertvolle
und manchmal wesentliche Funktionen durchzuführen. Das Verlassen auf Computersysteme
erfordert, daß die
Ausfallzeit eines Computersystems so gering wie möglich ist.
Die Ausfallzeit bzw. Downtime eines Computersystems ist eine Periode,
während
der ein Computersystem nicht betriebsbereit ist, beispielsweise
als Ergebnis eines Fehlers im System. Wenn ein Computersystem herunterfährt, kann
die Unbill und der Einnahmeausfall wesentlich sein. Wenn beispielsweise
ein Computersystem als Server oder vermittlungsbildender Teil eines
Telekommunikationssystems arbeitet, dann können während der Ausfallzeit keine
Kommunikationen unter Verwendung des Telekommunikationssystems durchgeführt werden, was
zu einem beachtlichen Geschäftsverlust
und daher zu einem Einkommensverlust einer Organisation führen kann.
Computersysteme sind daher derart ausgelegt, daß sie so zuverlässig wie
möglich
sind, so daß die
Ausfallzeit auf ein Minimum reduziert wird. Folglich kann es erforderlich
sein, die verfügbare
Betriebszeit in einer Größenordnung
von 99,9995% zu haben, was einer Ausfallzeit von näherungsweise wenigen
Sekunden pro Jahr entspricht.
-
Computersysteme
sind ausgelegt und hergestellt gemäß Normen, die soweit möglich, die Wahrscheinlichkeit
von einer Fehlfunktion reduzieren. Um jedoch jede Ausfallzeit zu
minimieren, die als Ergebnis einer Fehlfunktion auftreten kann,
wurde vorgeschlagen, Teile des Computersystems derart zu konstruieren,
daß ein
Teil so schnell wie möglich durch
ein Teil, das dieselbe Funktion ausführt, ersetzt werden kann.
-
In
diesem Kontext kann eine Verarbeitungseinheit eines Computersystems
austauschbar ausgelegt sein. Das Computersystem kann ein oder mehrere
Verarbeitungseinheiten beinhalten, die über ein Netzwerk miteinander
verbunden sind. Die Verarbeitungseinheiten sind mit dem Netzwerk
verbindbar und können
ein oder mehrere Prozessoren und ein Festplattenlaufwerk oder eine
andere Speichervorrichtung, die Software enthält, die den Betrieb der Verarbeitungseinheit
steuert, beinhalten. Alternativ oder zusätzlich kann die Verarbeitungseinheit
einen vorprogrammierten Controller oder Mikrocontroller beinhalten
für das
Bereitstellen von Verarbeitungsfunktionen. Die Verarbeitungseinheit
beinhaltet typischerweise ebenso andere Komponenten, die an ein oder
mehreren Trägern,
beispielsweise auf einem Motherboard, montiert sind. Die Verarbeitungseinheit ist
häufig
in einer Ummantelung angeordnet, kann jedoch ebenso als ein Motherboard
ohne Gehäuse, das
in einer Backplane steckt, konfiguriert sein.
-
Insbesondere
in Systemen, die mehrere Prozessoren, die durch ein Netzwerk miteinander
verbunden sind, für
die Verwendung in einer Telekommunikationsumgebung aufweisen, sind
die Prozessoren als durch den Kundendienst austauschbare Einheiten
(FRUs) ausgelegt, die derart konstruiert sind, daß sie im
Fall einer Fehlfunktion, die in der Verarbeitungseinheit auftritt,
ersetzt werden können.
In solch einer Situation wird die Festplatte der Ersatzverarbeitungseinheit
häufig
mit vorgeladener Software, die äquivalent
zu den Softwareprozessen, die auf der ursprünglichen Festplatte geladen
waren, bereitgestellt. Die ursprüngliche
Verarbeitungseinheit kann dann off-line repariert werden.
-
Die
Verarbeitungseinheit kann ebenso Kommunikationsschnittstellen beinhalten,
um eine Verbindung zu einem Kommunikationsnetzwerk zu ermöglichen.
Dieses kann verwendet werden, um die Kommunikation zwischen unterschiedlichen
Teilen eines Computersystems, wobei das Computersystem die Verarbeitungseinheit
beinhaltet, und/oder zwischen unterschiedlichen Computersystemen
zu ermöglichen.
Das betroffene Kommunikationsnetzwerk kann beispielsweise ein lokaler
Bus, ein Nahbereichsnetzwerk, ein Intranet oder das Internet oder dergleichen
sein. Um über
ein Netzwerk zu kommunizieren, muß die Verarbeitungseinheit
in der Lage sein, sich selbst im Netzwerk zu identifizieren. Sie
ist daher mit einer Netzwerkidentität ausgestattet.
-
Beispielsweise
kommunizieren Kommunikationsnetzwerke, die unter einem Ethernetprotokoll oder
dergleichen betreibbar sind, Daten über ein gemeinsames Medium
zu den Verarbeitungseinheiten, die mit dem Medium verbunden sind
durch Anhängen der
Daten an Netzwerkidentitäten,
die die Verarbeitungseinheiten erkennen. Jede Verarbeitungseinheit, die
angeordnet ist, um unter Verwendung eines bestimmten Netzwerkstandards,
wie z. B. Ethernet, zu kommunizieren, ist daher mit einer einmaligen
und eindeutigen Adresse ausgestattet, so daß die Verarbeitungseinheit über irgendein
Netzwerk, das diesen Standard erfüllt, kommunizieren kann. Typischerweise
sind Verarbeitungseinheiten, die einen Teil eines Computersystems
bilden, mit einer Kommunikationsschnittstelle, wie z. B. einer Ethernetschnittstelle, ausgestattet
für das
Verkörpern
der Netzwerkidentität.
Sobald die Verarbeitungseinheit mit dem Kommunikationsnetzwerk verbunden
wird, wird die Netzwerkidentität
für diese
Verarbeitungseinheit von allen anderen Verarbeitungseinheiten, die
mit dem Kommunikationsnetzwerk verbunden sind, verwendet. Dies wird
typischerweise dadurch erreicht, daß die Verarbeitungseinheiten
selbst odre eine getrennte Verarbeitungseinheit die Netzwerkidentitäten von
anderen Verarbeitungseinheiten empfängt und die Netzwerkidentitäten über einen
sogenannten Gerätebaum
weiterleitet und sie dann gespeichert werden, um eine Konfigurationsinformation
bereitzustellen, um die Kommunikation über das Netzwerk zu ermöglichen.
-
Folglich
sind die Verarbeitungseinheiten, die derart angeordnet sind, daß sie über ein
Kommunikationsnetzwerk kommunizieren, jeweils mit einer Netzwerkidentität ausgestattet,
die im allgemeinen im Speicher der Verarbeitungseinheit abgelegt
ist. Wenn eine Verarbeitungseinheit durch eine andere Verarbeitungseinheit
ersetzt wird, wird das Kommunikationsnetzwerk und die Geräte, die
mit dem Kommunikationsnetzwerk verbunden sind, diese Verarbeitungseinheit
nicht erkennen und werden somit nicht in der Lage sein, mit der
Verarbeitungseinheit zu kommunizieren.
-
Um
das Ersetzen einer Verarbeitungseinheit zu bewirken, müßte die
Ersatzverarbeitungseinheit derart angeordnet sein, daß sie über das
Kommunikationsnetzwerk in im wesentlichen der gleichen Art und Weise
wie die ursprüngliche
Verarbeitungseinheit kommuniziert hat, kommunizieren. Um die Ausfallzeit
zu minimieren, ist es wünschenswert,
daß das Ersetzen
so schnell und effizient wie möglich
durchgeführt
wird.
-
Die
WO 98/57474 A beschreibt ein System, das eine Smart-Card und ein
Terminal, das mit einem Explorer ausgestattet ist, aufweist, wobei
die Smart-Card in das Terminal einsetzbar ist. Ebenso ist ein Verfahren
beschrieben für
das Verwenden der Smart-Card, das die Schritte aufweist: Speichern
einer Adresse eines Internetproviders, einer IP-Adresse und anderer
persönlicher
Internetdaten des Kartenbenutzers in der Karte, Einfügen der
Karte in einen Kartenleser, der mit dem Terminal verbunden ist, und
Aktivieren des Explorers, um die persönlichen Internetdaten zu verwenden,
wenn das Terminal mit dem Internet verbunden ist.
-
Die
WO 94100936 A beschreibt ein Verfahren und eine Vorrichtung für das Gewähren von
Privilegien für
das sichere und ausgewählte
Abrufen von Materialien, die auf Speichermedien bereitgestellt werden,
unter Verwendung von Informationen, die in dem Speichermedium codiert
sind. Die Speichermedien sind in ein oder mehreren Lesegeräten beinhaltet,
die mit einem Computer oder mit Computern verknüpft sind. Ein Speicherabrufgerät, wie z.
B. eine Smart-Card, wird in Verbindung mit dem Computer verwendet,
um zu bestimmen, ob der Informationsabruf durch einen bestimmten
Benutzer auf ein spezifisches Speichermedium gewährt wird.
-
Die
GB-A-2 345 232 beschreibt ein Verfahren für die Fernverwaltung von Smart-Cards über ein Kommunikationsnetzwerk.
Das Verfahren beinhaltet das Verknüpfen der Smart-Card mit einem
entfernten Administrator durch Speichern der Administratoridentifikationsinformation
des entfernten Administrators hierauf. Die Smart-Cards werden in
die entsprechenden Benutzereinheiten eingesetzt. Die in jeder Smart-Card
gespeicherte Administratoridentifikationsinformation wird eingesetzt,
um den entfernten Administrator, der mit dieser Smart-Card verknüpft ist,
zu identifzieren. Die Kommunikation zwischen jeder Smart-Card und
ihrem entfernten Administrator wird über das Kommunikationsnetzwerk
in Übereinstimmung
mit der Administratorinformation errichtet. Zugriff auf eine geschützte Informationsquelle
wird nach der Audentifizierung durch den Administrator gewährt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein
Aspekt der Erfindung stellt eine tragbare Speichervorrichtung zur
Verfügung,
die eine Netzwerkidentifikationsinformation für eine Verarbeitungseinheit
enthält,
die mit einem Datenkommunikationsnetzwerk verbindbar ist, und beinhaltet
ein Lesegerät
für das
Lesen der tragbaren Speichereinrichtung. Die tragbare Speichereinrichtung
weist einen Speicher und einen Zugriffscontroller auf. Der Speicher
hält eine
Netzwerkidentität
für die
Verarbeitungseinheit und zumindest einen Verschlüsselungsschlüssel. Der
Zugriffscontroller ist derart betreibbar, daß er den Zugriff auf den Speicher
steuert durch Implementierung einer Schlüsselpaar-Verschlüsselung. Das Implementieren
einer Schlüsselpaar-Verschlüsselung
weist das Durchführen
einer Schlüsselpaar-Verifikation
einer Anfrage auf, die durch einen Anforderungsschlüssel, der
von der Verarbeitungseinheit geliefert wurde, verschlüsselt ist.
Das Implementieren einer Schlüsselpaar-Verschlüsselung weist
ebenso das Antworten auf den Anforderungsschlüssel auf, wodurch korrekt verifiziert
wird durch Zurückgeben
eines Zugriffsschlüssels
zu der Verarbeitungseinheit, der von dem zumindest einen Verschlüsselungsschlüssel abgeleitet
wird, um Zugriff auf einen sicheren Speicherabschnitt des Speichers zu
erlauben.
-
Eine
Ausführungsform
der Erfindung stellt somit ein Medium zur Verfügung nicht nur für das Speichern
einer Netzwerkidentität
für die
Verarbeitungseinheit, sondern ebenso für andere sichere Information,
wie z. B. einen Verschlüsselungsschlüssel, der
hiermit verknüpft
ist. Beispielsweise erfordern typische Hardware- und Softwareverschlüsselungslösungen Langzeitschlüssel, die
mit der Sitzungserzeugung verknüpft
sind. Sie sind digital signiert durch eine zertifizierende Autorität und haben eine
Lebensdauer von näherungsweise
2 Jahren. Falls ein Server, der die Hardware- oder Softwareverschlüsselungslösung enthält, ausfällt, ist
die schnelle Übertragung
dieser Schlüssel
auf einen Ersatzserver in einer sicheren Art und Weise höchst wünschenswert,
um die Dienstverfügbarkeit
zu erhöhen.
-
Die
tragbare Speichervorrichtung kann somit zumindest einen sicheren
Speicherabschnitt aufweisen, auf dem nur unter der Steuerung des
Zugriffscontrollers zugegriffen werden kann. Ein Verschlüsselungsschlüssel kann
somit ebenso verwendet werden, um den Zugriff auf einen sicheren
Speicherabschnitt zu steuern.
-
Der
Zugriffscontroller kann betreibbar sein, um die Schlüsselpaar-Überprüfung eines
Anforderungsschlüssels
durchzuführen,
der von der Verarbeitungseinheit geliefert wird, und, in Antwort
auf das korrekte Verifizieren des Anforderungsschlüssels, der
Verarbeitungseinheit einen Zugriffsschlüssel zurückzugeben, der von dem ersten
Verschlüsselungsschlüssel abgeleitet
ist, um Zugriff auf den sicheren Speicherabschnitt zu erlauben.
In dieser Art und Weise kann der gesteuerte Zugriff durch eine Verarbeitungseinheit
auf dem sicheren Speicherabschnitt erzielt werden. Der Zugriffscontroller
kann dann im folgenden betreibbar sein, um auf einen Befehl von
der Verarbeitungseinheit zu antworten, der verschlüsselt ist
unter Verwendung des Zugriffsschlüssels, um auf den sicheren
Speicherabschnitt zuzugreifen. Die Verschlüsselungsschlüssel werden
in dem sicheren Speicherabschnitt gehalten, beispielsweise in einer Datei
in dem sicheren Speicherabschnitt. Ein Datum kann in den jeweiligen
sicheren Speicherabschnitten gespeichert werden, wobei Zugriff auf
jeden sicheren Speicherabschnitt durch einen Verschlüsselungsschlüssel gesteuert
wird.
-
Der
Speicher in der tragbaren Speichereinrichtung kann als Speicher
mit wahlfreiem Zugriff (RAM) gebildet werden, wobei der sichere
Speicher ein Teil des RAM-Speichers aufweist.
-
Der
Zugriffscontroller kann ein programmierter Mikrocontroller oder
Mikroprozessor auf der tragbaren Speichervorrichtung sein. In einem
Beispiel der Erfindung ist die tragbare Speichereinrichtung eine
Smart-Card.
-
Ein
anderer Aspekt der Erfindung stellt eine Verarbeitungseinheit zur
Verfügung,
die mit einem Datenkommunikationsnetzwerk verbindbar ist.
-
Die
Verarbeitungseinheit hat einen Geräteleser für eine tragbare Speichervorrichtung,
wie oben ausgeführt.
Die Verarbeitungseinheit ist betreibbar, um auf einen sicheren Abschnitt
des Speichers der tragbaren Speichereinrichtung zuzugreifen durch Liefern
einer mit einem Schlüssel
verschlüsselten Anfrage
an den Zugriffscontroller der tragbaren Speichervorrichtung und
durch Senden eines verschlüsselten
Befehls in Antwort auf den Empfang eines Zugriffsschlüssels, der
von einem Verschlüsselungsschlüssel, der
auf dem Speicher gehalten wird, abgeleitet wird, von dem Zugriffscontroller,
um auf den Inhalt des Speichers der tragbaren Speichervorrichtung
zuzugreifen.
-
In
Antwort auf die Rückgabe
eines Zugriffsschlüssels
kann die Verarbeitungseinheit betreibbar sein, um den Zugriffsschlüssel zu
verwenden, um einen Befehl für
den Zugriff auf einen sicheren Speicher in der tragbaren Speichervorrichtung
zu verschlüsseln.
-
Die
Verarbeitungseinheit kann einen Serviceprozessor aufweisen, wobei
der Serviceprozessor, z. B. ein Mikrocontroller, programmiert ist,
um das Lesen der tragbaren Speichervorrichtung zu steuern. Die Verarbeitungseinheit
kann ein Computerserver, beispielsweise ein in einem Rack montierbarer
Computerserver sein.
-
Ein
weiterer Aspekt der Erfindung stellt ein Verfahren für das Sichern
von Verschlüsselungsschlüsseln zur
Verfügung
für die
Verwendung in einer Verarbeitungseinheit, die mit einem Datenkommunikationsnetzwerk
verbindbar ist. Die Verarbeitungseinheit hat einen Geräteleser
für eine
tragbare Speichereinrichtung, die Speicher und einen Zugriffscontroller
enthält,
der Speicher hält
eine Netzwerkidentität
für die
Verarbeitungseinheit und zumindest einen Verschlüsselungsschlüssel, und
der Zugriffscontroller ist derart betreibbar, daß er den Zugriff auf den Speicher
durch Implementieren einer Schlüsselpaar-Verschlüsselung
erlaubt, wobei das Verfahren aufweist: Zugreifen der Verarbeitungseinheit
auf einen sicheren Abschnitt des Speichers der tragbaren Speichervorrichtung
durch Liefern einer mit Schlüssel
verschlüsselten
An frage an den Zugriffscontroller und, in Antwort auf den Empfang
eines Zugriffsschlüssels,
der von dem zumindest einen Verschlüsselungsschlüssel abgeleitet
ist, von dem Zugriffscontroller, Senden eines verschlüsselten
Befehls durch die Verarbeitungseinheit, um auf den Inhalt des Speichers
der tragbaren Speichervorrichtung zuzugreifen.
-
Ein
anderer Aspekt der Erfindung stellt ein Computerprogrammprodukt
zur Verfügung,
das Programmbefehle beinhaltet, die auf einer Verarbeitungseinheit
ausführbar
sind, um das oben beschriebene Verfahren durchzuführen.
-
Ein
anderer Aspekt der Erfindung stellt einen Servercomputer zur Verfügung, der
einen Geräteleser
für das
Lesen eines tragbaren Speichers, einen Prozessor, einen Speicher
und einen Mikrocontroller, der durch das oben beschriebene Programmprodukt programmiert
ist, aufweist, wobei der Mikrocontroller als ein Serviceprozessor
betreibbar ist und derart angeschlossen ist, daß er den Inhalt des Speichers
in einer tragbaren Speichervorrichtung, die in der tragbaren Speichervorrichtung
montiert ist, liest.
-
KURZE BESCHREIBUNG
DER FIGUREN
-
Ausführungsformen
der vorliegenden Erfindung werden im folgenden lediglich beispielhaft
beschrieben unter Bezug auf die begleitenden Zeichnungen, in denen
gleiche Bezugszahlen gleiche Elemente betreffen und in denen:
-
1 ein
schematisches Blockdiagramm eines Computersystems ist,
-
2 eine
anschauliche Darstellung eines Ethernetdatenpakets ist,
-
3 eine
Aufsichtsansicht einer schematischen Darstellung einer Verarbeitungseinheit,
die ersetzbar innerhalb eines Chassis montierbar ist, ist,
-
4 teilweise
eine Aufsicht, teilweise ein Blockdiagramm eines Teils eines Beispiels
einer Verarbeitungseinheit, die in 3 gezeigt
ist, die die vorliegende Erfindung verkörpert, ist,
-
5 ein
Flußdiagramm
ist, das den Betrieb bzw. die Funktion der Verarbeitungseinheit
gemäß 4 darstellt,
-
6 ein
Flußdiagramm
ist, das eine alternative Operation der Verarbeitungseinheit gemäß 5 darstellt,
-
7 eine
Modifikation der Prozesse von den 5 und 6 darstellt,
-
8 ein
Flußdiagramm
ist, das einen Prozeß für die Überwachung
der Präsenz
einer tragbaren Speichereinrichtung in der Verarbeitungseinheit darstellt,
-
9 ein
schematisches Blockdiagramm von Elementen eines Beispiels einer
tragbaren Speichervorrichtung ist,
-
10 ein
Flußdiagramm
ist, das eine Modifikation der Prozesse der 5 und 7 darstellt,
-
11 ein
Flußdiagramm
eines Prozesses für
das Modifizieren einer Netzwerkidentität, die auf der tragbaren Speichervorrichtung
gehalten wird, ist,
-
12 ein
Flußdiagramm
eines Prozesses für
das Zugreifen auf sichere Informationen, die auf der tragbaren Speichervorrichtung
gehalten wird, ist,
-
13 ein
schematisches Diagramm ist, das ein sicheres Fixieren eines Gerätelesers
auf einem Aufnahmeslot darstellt,
-
14 ein
schematisches Diagramm ist, das eine alternative Anordnung eines
Gerätelesers darstellt,
-
15 eine
schematische Darstellung eines Beispiels einer Verarbeitungseinheit,
die die Erfindung in sich aufnimmt, ist,
-
16 ein
Blockdiagramm ist, das die funktionellen Elemente der Verarbeitungseinheit
von 15 darstellt, und
-
17 und 18 das
Einsetzen bzw. Einfügen
einer tragbaren Speichervorrichtung in einen Geräteleser in der Verarbeitungseinheit
von 15 darstellen.
-
BESCHREIBUNG
VON BESTIMMTEN AUSFÜHRUNGSFORMEN
-
Ein
vereinfachtes Blockdiagramm eines Computernetzwerkes ist in 1 gezeigt.
In 1 ist ein Datenverarbeitungsgerät 1,
das mit einem Datenkommunikationsnetzwerk 2 verbunden ist,
gezeigt. Ebenso mit dem Datenkommunikationsnetzwerk 2 verbunden
sind weitere Beispiele von Datenverarbeitungsgeräten 4, 8 und 10 und
andere Geräte,
wie z. B. ein Drucker 6. Es versteht sich, daß dies nur
Beispiele von möglichen
Geräten
sind, die über
das Datenkommunikationsnetzwerk kommunizieren können. Das Datenkommunikationsnetzwerk
kann ein Nahbereichsnetzwerk (LAN), ein Weitbereichsnetzwerk (WAN),
das Internet usw. sein.
-
Das
in 1 gezeigte Computernetzwerk ist beispielhaft mit
einer Anordnung ausgestattet, in der Geräte konstruiert sind, um Daten über ein
Datenkommunikationsnetzwerk 2 zu kommunizieren. Das Datenkommunikationsnetzwerk 2 kann
beispielsweise in Übereinstimmung
mit einem Ethernetprotokoll arbeiten, mit dem Daten über ein
Ethernetkabel kommuniziert werden, was ein gemeinsames Medium bereitstellt,
durch das alle Geräte,
die mit dem Medium verbunden sind, Daten empfangen und übertragen können. Daten,
die zu einem bestimmten der Geräte, die
mit dem Netzwerk verbunden sind, zu übermitteln sind, werden von
diesem Gerät
erfaßt
und empfangen durch eine Ethernetadresse, die an den Daten anhängt. Ein
konzeptuelles Diagramm der Struktur eines Ethernetpaketes ist in 2 gezeigt,
wo ein erstes Feld A die Adresse der Vorrichtung darstellt, um die
Daten zu empfangen, und ein zweites Feld D die kommunizierten Daten
darstellt.
-
Das
Computersystem kann ebenso ein zweites Kommunikationsnetzwerk 3 beinhalten,
was aus Gründen,
die in Kürze
beschrieben werden, bereitgestellt werden kann.
-
Die
vorliegende Erfindung findet Anwendung in der Erleichterung der
Kommunikation über
ein Datenkommunikationsnetzwerk, insbesondere in einer Situation,
in der eine Vorrichtung, die mit dem Netzwerk verbunden ist, durch
eine andere, eine Ersatzvorrichtung, ersetzt wird. Jedes der Geräte, die
in 1 gezeigt sind, könnte in Übereinstimmung mit der Erfindung
konfiguriert sein. Im folgenden werden jeweils, als eine Illustration
der Erfindung, Ausführungsformen
der Erfindung beschrieben in dem Kontext eines Datenverarbeitungsgerätes 1 als
ein Gerät,
das die Erfindung verkörpert.
-
3 ist
eine schematische Darstellung eines Datenverarbeitungsgerätes (Datenprozessor 1), der
ein Chassis 20 beinhaltet, in dem eine Verarbeitungseinheit 22 austauschbar
montiert ist. Die Verarbeitungseinheit 22 ist mit einem
Motherboard 24 einschließlich eines Prozessors (CPU),
eines Speichers usw. eines Festplattenlaufwerks 26 gezeigt,
obgleich es sich versteht, daß die
Verarbeitungseinheit 1 andere Teile aufweist, die nicht
in 3 gezeigt sind. Um über das Netzwerk zu kommunizieren,
benötigt die
Verarbeitungseinheit 22 eine Netzwerkidentität, die von
den anderen Geräten
in dem Netzwerk erkannt werden kann. Ebenso wird die Verarbeitungseinheit 22 verknüpfte bestimmte
Parameter haben, die Aspekte seiner Konfiguration festlegen.
-
Herkömmlich sind
Geräte,
die mit einem Kommunikationsnetzwerk verbunden werden, mit einer
eindeutigen und einmaligen Netzwerkidentität von dem Hersteller ausgestattet,
die während
der Lebensdauer der Komponente fixiert ist. Im Ergebnis kann das
Gerät an
irgendeiner Datenkommunikationsnetzwerk angeschlossen werden, das
denselben Standard erfüllt,
für den
das Gerät
konfiguriert wurde, um Datenkommunikation zu bewirken.
-
Ein
Betriebssystem, das auf der Verarbeitungseinheit 22 läuft, kann
auf die Netzwerkidentität oder
die Netzwerkadresse von jedem Gerät in dem Computernetzwerksystem über einen
Gerätebaum zugreifen.
Die Netzwerkidentitäten
der Geräte
werden üblicherweise
für jedes
der Geräte
durch das Betriebssystem gehalten, es sei denn und bis das Netzwerk
erneut konfiguriert wird. Die Adressen der Geräte, die mit dem Netzwerk verbunden
sind, werden einmal von dem Betriebssystem errichtet unter Verwendung
des Gerätebaums.
Danach wird, um die Kommunikation über das Netzwerk zu bewirken,
dieselbe Netzwerkidentität
für ein
bestimmtes Gerät
immer verwendet.
-
Dies
ist an sich gut. Schwierigkeiten treten jedoch auf, wenn eine Verarbeitungseinheit
durch eine andere Einheit ersetzt werden muß, beispielsweise aufgrund
eines Fehlers innerhalb der Verarbeitungseinheit 22. In
solch einer Situation und unter Berücksichtigung der Anforderungen
einer hohen Systemverfügbarkeit,
insbesondere in Telekommunikationsanwendungen, ist der effizienteste
Weg die Systemverfügbarkeit
unter Minimierung der Ausfallzeit wieder herzustellen, die fehlerhafte
Einheit zu ersetzen. Dies bringt jedoch das Problem mit sich des
Zuweisens der Netzwerkidentität
und der anderen Konfigurationsdaten zu der Ersatzeinheit.
-
Wie
daher in 3 dargestellt ist, wird in dem
Fall, daß die
Verarbeitungseinheit 22 als fehlerhaft identifiziert wird,
die Verarbeitungseinheit 22 dann entfernt und durch eine
entsprechende Verarbeitungseinheit 22' ersetzt, die eine äquivalente Funktion
ausführt.
Genauer gesagt wird die Festplatte 26 der Ersatzverarbeitungseinheit 22' typischerweise
dieselbe Software haben, wie auf der Festplatte der ursprünglichen
und nun fehlerhaften Verarbeitungseinheit 22 ist. Der Fehler 28 stellt
die Ersatzeinheit 22' dar,
die die ursprüngliche
Verarbeitungseinheit 22 ersetzt, um dieselbe Funktion der
ursprünglichen
Verarbeitungseinheit 22 durchzuführen, wodurch die Ausfallzeit
minimiert wird.
-
Einfaches
Ersetzen der Verarbeitungseinheit 22 durch eine Ersatzeinheit 22' würde an sich
es der neuen Verarbeitungseinheit 22' nicht erlauben, zu funktionieren.
Genauer gesagt, falls ein Gerät
im Netzwerk einfach durch ein anderes ersetzt wird, können Kommunikationen über das
Datenkommunikationsnetzwerk nicht stattfinden, da die Ersatzvorrichtung
eine andere Netzwerkidentität
als die ursprüngliche
Vorrichtung haben wird.
-
Eine
Ausführungsform
der vorliegenden Erfindung trägt
dazu bei, die Satzverarbeitungseinheit 22' in die Lage zu versetzen, zuverlässig und
sicher mit der Kommunikation fortzusetzen unter Verwendung des Datenkommunikationsnetzwerkes 2 ohne eine
Rekonfiguration des Netzwerkes zu erfordern.
-
Eine
Anordnung wird bereitgestellt, in der Datenkommunikationen über das
Netzwerk fortgesetzt werden können,
nachdem eine Vorrichtung ersetzt wurde. Diese Anordnung stellt fortgesetzte Kommunikationen
bereit, ohne daß die
Vorrichtungen, die das Computersystem aufweist, die Adresse zu ändern haben,
zu der zielgerichtete Daten für
dieses Gerät
kommuniziert werden, was erforderlich wäre, falls das Netzwerk erneut
konfiguriert würde.
-
3 stellt
schematisch dar, daß das
Motherboard 24 einen Geräteleser mit einem Aufnahmeschlitz 32 aufweist,
durch den eine tragbare Speichervorrichtung aufgenommen und von
dem Geräteleser
gelesen werden kann. Ein besseres Verständnis der Anordnung des Motherboard 24 ist
durch eine Illustration eines ersten Beispiels einer Verarbeitungseinheit
bereitgestellt, die in 4 gezeigt ist, wobei Teile,
die ebenso in 3 erscheinen, dieselbe Bezugszahl
tragen.
-
Es
sei bemerkt, daß,
obgleich in diesem Beispiel der Geräteleser als auf einem Motherboard
beschrieben ist, dies lediglich für die bequeme Darstellung so
ist. Beispielsweise muß die
Verarbeitungseinheit kein Motherboard beinhalten. Ebenso kann der Geräteleser
irgendwo in einer Verarbeitungseinheit lokalisiert sein, solange
er funktional mit den anderen Elementen der Verarbeitungseinheit
verbunden ist, um das Lesen und das Verarbeiten von Daten von einer
tragbaren Speichervorrichtung zu ermöglichen.
-
In 4 hat
das Motherboard 24 einen Geräteleser 40, der mit
einem Prozessor 42 auf dem Motherboard über einen lokalen Bus 44 verbunden ist.
Der lokale Bus 44 kann beispielsweise ein I2C serieller
Bus sein. Das Motherboard beinhaltet ebenso einen nichtflüchtigen Speicher
mit wahlfreiem Zugriff 46, der ebenso mit dem Prozessor 42 verbunden
ist. Das Motherboard 24 beinhaltet ebenso einen Boot-programmable
Nur-Lese-Speicher (PROM) 48, der über den I2C-Bus 44 mit
dem Prozessor 42 und mit einem Kommunikationsanschluß 50 verbunden ist,
der über
den Anschluß 52 mit
dem Datenkommunikationsnetzwerk 2 verbunden ist. 4 stellt
ebenso durch den Pfeil 56 das Einsetzen einer tragbaren Speichereinrichtung 54 in
den Geräteleser 40 dar.
-
Die
tragbare Speichervorrichtung 54 in der beispielhaften Ausführungsform
der vorliegenden Erfindung ist eine Smart-Card, die einen Speicher
mit wahlfreiem Zugriff (RAM) 58 beinhaltet, in dem eine Netzwerkidentität und andere
von der Verarbeitungseinheit verwendete Daten vorgespeichert sind.
Die Smart-Card beinhaltet ebenso einen Mikrocontroller 59,
der dafür
vorgesehen ist, Sicherheit des Zugriffs zu der zumindest einen Netzwerkidentität, die in
der Smart-Card gespeichert ist, bereitzustellen.
-
Es
versteht sich jedoch, daß eine Smart-Card
lediglich ein Beispiel einer tragbaren Speichervorrichtung 54 ist,
die in der Hand haltbar ist und mit der Hand in den Leser 40 einsetzbar
und aus ihm entfernbar ist. Andere tragbare Speichervorrichtungen
könnten
verwendet werden, wie z. B. ein Teilnehmeridentitätsmodul
(SIM) oder dergleichen, oder ein Memory Stick (RTM) oder dergleichen,
die als ein sicheres Speichermedium konfiguriert sind.
-
Der
Betrieb der Verarbeitungseinheit, die in 4 gezeigt
ist, wird nun erklärt.
Um eine Fähigkeit zur
Verfügung
zu stellen, durch die die Ersatzverarbeitungseinheit 22' dieselbe Netzwerkidentität wie die
ursprüngliche
Verarbeitungseinheit 22 verwenden kann, werden Daten, die
die Netzwerkidentität repräsentieren,
in der Smart-Card vorgespeichert. Genau genommen, wenn die Verarbeitungseinheit 22 ersetzt
wird, kann die Smart-Card 54 aus dem Smart-Card-Leser 40 auf
dem Motherboard 24 entfernt werden und in den entsprechenden Smart-Card-Leser 40 des
Motherboards 24 in der Ersatzverarbeitungseinheit 22' eingeführt werden.
-
Folgend
auf das Einschalten des Datenverarbeitungsgerätes 1 liest der Prozessor 42 auf
dem Motherboard 24 die Befehle von der Boot-PROM 48. In Übereinstimmung
mit diesen Befehlen arbeitet der Prozessor 42, um den Smart-Card-Leser 40 über den I2C-Bus 44 abzufragen,
um sicherzustellen, ob oder ob nicht eine Smart-Card in dem Smart-Card-Leser 40 vorhanden
ist. Falls die Smart-Card vorhanden ist, arbeitet der Prozessor 42,
um die Netzwerkidentität von
der Smart-Card 54 auszulesen und den Kommunikationsport 50 mit
dieser Netzwerkidentität
zu konfigurieren. Die Adresse wird dann verwendet, um einen Gerätebaum,
der eine Liste der Netzwerkidentitäten der mit dem Netzwerk verbundenen
Geräte
bereitstellt, mit dieser Adresse in einer konventionellen Art und
Weise zu aktualisieren. Danach werden Datenkommunikationen über das
Datenkommunikationsnetzwerk 2 über die Verbindung 52 unter
Verwendung der Adresse, die von der Smart-Card 54 bereitgestellt
wurde, bewirkt.
-
Folglich
versteht es sich, daß für das Netzwerk 2 und
die anderen Geräte 4, 6, 8 und 10 die Kommunikationen
unbeeinflußt
sind und abgesehen von der Periode, während der die ur sprüngliche
Verarbeitungseinheit 22 durch die Verarbeitungseinheit 22' ersetzt wird,
sind die Kommunikationen über
das Netzwerk im wesentlichen ununterbrochen. In dem Fall, daß jedoch
die Smart-Card 54 nicht in dem Leser 40 enthalten
ist, könnte
die Verarbeitungseinheit angeordnet sein, um die Boot-Operation
abzubrechen und einen Fehler zu signalisieren.
-
Ein
Beispiel des Betriebs des Prozessors 42 mit Lesen des Boots
in dem PROM 48 ist durch das Flußdiagramm, das in 5 gezeigt
ist, zusammengefaßt.
In 5 liest zu Beginn des Prozesses 80 der Prozessor
den Boot PROM 48 und führt
die folgenden Schritte aus.
-
In
dem Entscheidungsschritt 82 bestimmt der Prozessor, ob
eine Smart-Card im Smart-Card-Leser 40 vorhanden
ist. Falls die Smart-Card vorhanden ist, dann arbeitet der Prozessor
in Schritt 84, um die Netzwerkidentität von der Smart-Card zu lesen.
Im Verarbeitungsschritt 86 konfiguriert der Prozessor den
Kommunikationsport 50, um die Netzwerkidentität von der
Smart-Card zu verwenden, um über
das Netzwerk zu kommunizieren. An diesem Punkt endet der Prozeß 88.
-
Falls
die Smart-Card nicht im Smart-Card-Leser ist, dann ist die Verarbeitungseinheit
betreibbar, um die Boot-Operationen zu beenden und einen Fehler
im Schritt 90 zu signalisieren.
-
Falls
ein Satz von eindeutigen Netzwerkidentitäten, die sich von denjenigen,
die auf den Smart-Cards verwendet werden, unterscheiden, von dem
Hardware-Hersteller verfügbar
ist, wäre
es als eine Alternative zum Beenden der Boot-Operation beim Fehlen
einer Smart-Card, möglich,
wenn die Smart-Card nicht vorhanden ist, für den Prozessor 46 solch
eine voreingestellte Netzwerkidentität von einem nichtflüchtigen
bereitgestellten RAM 46, beispielsweise auf dem Motherboard,
auszulesen. Der nichtflüchtige
RAM 46 kann angeordnet sein, um die voreingestellte Netzwerkidentität zu speichern,
die durch den Hersteller des Motherboards 24 in den nichtflüchtigen
Speicher-RAM 46 vorbestimmt und vorgeladen wäre und nicht
zwischen den Systemen transportierbar wäre. In solch einem Fall könnte dann für den Fall,
daß die
Smart-Card 54 nicht im Smart-Card-Leser 40 ist,
die voreingestellte Netzwerkidentität von dem nichtflüchtigen
RAM 46 von dem Motherboard verwendet werden, um über das
Netzwerk 2 zu kommunizieren.
-
Ein
Beispiel des Betriebs des Prozessors 42 mit Lesen des Codes
in dem Boot PROM 48 für
diese Alternative, ist in dem Flußdiagramm, das in 6 gezeigt
ist, zusammengefaßt.
In 6 liest am Start des Prozesses 80 der
Prozessor den Boot PROM 48 aus und führt die folgenden Schritte
aus.
-
Im
Entscheidungsschritt 82 bestimmt der Prozessor, ob eine
Smart-Card im Smart-Card-Leser 40 vorhanden
ist. Falls die Smart-Card vorhanden ist, arbeitet der Prozessor
in Schritt 84 dann, um die Netzwerkidentität von der
Smart-Card zu lesen. Im Verarbeitungsschritt 86 konfiguriert
der Prozessor den Kommunikationsport 50 derart, so daß die Netzwerkidentität von der
Smart-Card verwendet wird, um über
das Netzwerk zu kommunizieren. An diesem Punkt endet der Prozeß 88.
Falls die Smart-Card nicht im Smart-Card-Leser ist, dann arbeitet
der Prozessor derart, daß er
die erste Netzwerkidentität
von dem nichtflüchtigen
RAM (NV RAM) 46 in Verarbeitungsschritt 9 liest.
Der Prozessor arbeitet dann derart, daß er die erste Netzwerkidentität von dem
NV RAM 46 verwendet, um den Kommunikationsport 50 zu
konfigurieren, um unter Verwendung der ersten Netzwerkidentität über das
Kommunikationsnetzwerk 92 zu kommunizieren. Der Prozeß endet
dann 88.
-
Welcher
alternative Prozeß auch
verwendet wird, sobald der Prozessor 42 den Boot PROM 48 gelesen
hat und den Kommunikationsport 50 mit der Netzwerkidentität konfiguriert
hat, untersucht der Prozessor alle Geräte und leitet die Ergebnisse
der Untersuchung zu dem Betriebssystem über einen Gerätebaum weiter.
Es versteht sich, daß die
Adresse der Verarbeitungseinheit, die das Motherboard aufweist,
insbesondere für
das Computersystem wichtig ist, da dies die Root Level Media Access
Control (MAC)-Adresse des Computersystems darstellt.
-
Alternative
Beispiele von Verarbeitungseinheiten können mit mehr als einem Kommunikationsort
für die
Verbindung zu mehr als einem Datenkommunikationsnetzwerk ausgestattet
sein. Des ist in 1 gezeigt als das zweite Kommunikationsnetzwerk 3.
Der (die) zusätzliche
Kommunikationsanschluß (-anschlüsse) kann
auf dem Motherboard bereitgestellt werden, um die Redundanz zu erhöhen, so
daß, falls
ein Kommunikationsnetzwerk ausfallen sollte, dann Datenkommunikation über das
andere Kommunikationsnetzwerk gemacht werden können. Dies kann ebenso erforderlich
sein, um die Bandbreite zu erhöhen,
die zu und von dem Motherboard übertragen
werden kann. Ein anderer Grund für
das Bereitstellen von zwei Netzwerken ist es, zwei getrennte errichtete
Netzwerke zu ermöglichen.
Ein Netzwerk könnte
verwendet werden für
die Systemadministration und eines für die Netzwerkkommunikationen,
was Internetzugriff beinhalten kann. Die Systemadministration kann
durch ein Verwaltungsnetzwerk durchgeführt werden. Daher ist der Kommunikationsport
angeordnet, um mehrere Ethernetports bereitzustellen, durch die
Daten parallel kommuniziert werden können. Folglich wird die Smart-Card
für diese
weitere Ausführungsform
eine zweite Netzwerkidentität
für die
Verwendung bei der Kommunikat on über das zweite Netzwerk beinhalten,
und der NV RAM kann eine zweite ursprüngliche Netzwerkidentität beinhalten.
-
Ein
mögliches
Problem mit der Verwendung einer Smart-Card oder einer anderen tragbaren
Speichereinrichtung, die die Netzwerkidentität (z. B. die MAC-Adresse) für eine Verarbeitungseinheit
trägt, kann
auftreten, wo die Smart-Card aus einer Verarbeitungseinheit entfernt
wird, während
sie arbeitet, und dann in einer anderen Verarbeitungseinheit plaziert
wird, die dann gestartet wird. Als Folge hiervon könnte es
passieren, daß zwei
Verarbeitungseinheiten, die mit demselben Netzwerk verbunden sind, dieselbe
Netzwerkidentität
(z. B. MAC-Adresse) haben könnten,
wodurch das Netzwerk zum Zusammenbruch gebracht werden könnte. Wie
später
in diesem Dokument beschrieben wird, ist es möglich, Sicherheitsgeräte bereitzustellen,
um eine nicht autorisierte Entfernung der Smart-Card oder dergleichen zu
verhindern. Es kann jedoch ebenso auftreten, daß während der Wartung oder einer
anderen autorisierten Operation zwei Smart-Cards aus zwei Verarbeitungseinheiten
entfernt werden könnten,
und dann diese Smart-Cards versehentlich in der falschen Verarbeitungseinheit
plaziert werden könnten.
-
8 stellt
einen Prozeß dar,
um dieses mögliche
Problem anzusprechen.
-
Die
Anwesenheit der Smart-Card 54 kann leicht überwacht
werden durch einen einfachen Hardware-Präsenzstift, das ist ein Stift
und eine verknüpfte
Signalleitung, die ein Signal trägt,
das anzeigt, daß eine
Karte sich in dem Kartenleser befindet. Solch ein Stift bildet ein
Standardteil eines typischen Kartenlesers, und das Signal könnte durch eine
reservierte Signalleitung oder über
Präsenzsignale über einen
I2C-Bus in einer gut bekannten Art und Weise getragen werden.
-
Der
in 8 angezeigte Prozeß verwendet diesen Präsenzindikator,
um die Anwesenheit der Smart-Card zu überwachen. Eine Voraussetzung
für das
Verfahren von 8 ist die Speicherung der Netzwerkidentität, die von
der Smart-Card in Schritt 84 der Prozesse, die unter Bezug
auf 5 und 6 beschrieben wurde, gelesen
wurden in der Verarbeitungseinheit (möglicherweise im Hauptspeicher,
jedoch mit Vorteil im permanenten Speicher, wie z. B. in einem EEPROM
oder einem Diskettenlaufwerk).
-
7 stellt
einen zusätzlichen
Schritt 100 dar, der zwischen den Schritten 84 und 86 in
dem Prozeß der 5 oder 6 durchgeführt wird.
In Schritt 100 wird die Netzwerkidentität, die in Schritt 84 von
der Smart-Card gelesen wurde, in beispielsweise dem NV RAM 46 oder
alternativ im Speicher mit wahlfreiem Zugriff, einer Speichervorrichtung,
wie z. B. einem Diskettenlaufwerk, einem Register usw., gespeichert.
Dieser Schritt 100 wird, wie der Rest des Prozesses, von 35 oder 6 durchgeführt, wenn
die Verarbeitungseinheit ursprünglich
eingeschaltet wird. Folglich, wenn eine Smart-Card, die die Netzwerkidentität enthält, in die
Verareitungseinheit vor dem Einschalten der Verarbeitungseinheit
eingesetzt wird, stellt Schritt 100 sicher, daß dieselbe
Netzwerkidentität
in einem Speicherort in der Verarbeitungseinheit gespeichert sowie
auch für
die Netzwerkkommunikationen verwendet wird.
-
In 8 startet
folgend auf den Endschritt 88 des Prozesses, der entweder
in 5 oder 6 beschrieben wurde, der Prozeß von 8 in
Schritt 121.
-
Der
Entscheidungsschritt 122 stellt das Überwachen des Präsenzstiftes
dar, um anzuzeigen, ob die Smart-Card 54 immer noch im
Smart-Card-Leser 40 vorhanden ist. Falls die Smart-Card 54 in
dem Smart-Card-Leser 40 vorhanden ist, dann wird dem Entscheidungspfad 124 gefolgt,
wobei folgend auf eine einstellbare Verzögerung der Entscheidungsschritt 122 einmal
mehr durchchgeführt
wird. In dem Fall, daß jedoch
im Entscheidungsschritt 122 bestimmt wird, daß die Smart-Card 154 nicht
im Smart-Card-Leser 40 ist, dann wird dem Entscheidungspfad 126 gefolgt.
In Schritt 128 wird ein Timer gestartet, um eine Periode
zu takten, die der Erfassung der Abwesenheit der Smart-Card 54 folgt,
an deren Ende die Verarbeitungseinheit abgeschaltet wird, bis die
Smart-Card wieder eingesetzt wird. In Schritt 128 verursacht
die Verar beitungseinheit ebenso, daß eine Fehler-LED aufleuchtet
und ein „fatales Ereignis"-Signal erzeugt wird.
-
Im
Entscheidungsschritt 130 wird eine Untersuchung durchgeführt, ob
eine Smart-Card 54 wieder in den Kartenleser 40 eingesetzt
worden ist. Falls dies nicht der Fall ist, dann wird dem Entscheidungspfad 132 gefolgt.
Wenn in Schritt 134 die vorbestimmte Zeit, wie sie durch
den Timer festgelegt ist, verstrichen ist, dann wird dem Entscheidungspfad 138 gefolgt,
und das System wird in Schritt 140 abgeschaltet. Falls
die Zeit, die von dem Timer bestimmt wurde, noch nicht verstrichen
ist, dann wird dem Entscheidungspfad 136 gefolgt, und eine
weitere Untersuchung wird in Schritt 130 durchgeführt, ob
eine Smart-Card 54 wieder in den Smart-Card-Leser 40 eingesetzt
wurde. Falls in Schritt 130 bestimmt wird, daß eine Smart-Card 54 in
den Smart-Card-Leser 40 wieder eingesetzt wurde, dann wird
dem Entscheidungspfad 142 gefolgt.
-
Im
Entscheidungsschritt 144 wird eine Untersuchung gemacht,
ob die Netzwerkidentität
der neu eingesetzten Smart-Card 54 der Netzwerkidentität, die in
der Verarbeitungseinheit gespeichert ist, von der Karte, die vorhanden
war, als die Verarbeitungseinheit ursprünglich eingeschaltet wurde,
entspricht. Falls die Netzwerkidentitäten nicht die gleichen sind, dann
wird dem Entscheidungspfad 146 gefolgt. Das Blinken der
Fehler-LED und die Taktung des Timers wird fortgesetzt, und in Schritt 148 wird
ein weiteres „fataler
Fehler"-Signal erzeugt,
bevor einmal mehr im Entscheidungsschritt 134 überprüft wird,
ob die Zeit, die von dem Timer angezeigt wurde, abgelaufen ist.
-
Unter
Rückkehr
zum Entscheidungsschritt 144, falls die Netzwerkidentität in der
neu eingesetzten Karte der Netzwerkidentität entspricht, die in der Verarbeitungseinheit
von der Karte gespeichert ist, die vorhanden war, als die Verarbeitungseinheit
eingeschaltet wurde, wird festgestellt, daß dieselbe Smart-Card 54 wieder
in den Kartenleser 40 eingesetzt wurde, und dem Entscheidungspfad 150 wird gefolgt.
In Schritt 152 wird der Timer und das blinkende LED ausgeschaltet
und ein Karteneinsetzereignis-Signal wird gesendet. Die Steuerung
geht dann über
den Pfad 156 zurück
zu Schritt 122.
-
Die
Zeit, die von dem Timer angezeigt wird, innerhalb der die korrekte
Smart-Card 54 wieder eingesetzt werden muß, um zu
verhindern, daß die
Verarbeitungseinheit 140 abgeschaltet wird, ist entsprechend
der Benutzeranforderungen einstellbar. Die Zeit könnte beispielsweise
20 Sekunden, 30 Sekunden, 60 Sekunden, 180 Sekunden usw. sein. Die
vorbestimmte Zeit wird geringer als die Zeit eingestellt, die benötigt würde für eine weitere
Verarbeitungseinheit, die die Karte empfangen hat, um eingeschaltet zu
werden. Eine vorbestimmte Zeit von 60 Sekunden würde beispielsweise typischerweise
geeignet sein. Folglich wird die vorbestimmte Zeit derart ausgewählt, daß ein Netzwerkkonflikt,
der aus zwei Verarbeitungseinheiten auf dem Netzwerk mit derselben Netzwerkidentität herrührt, beispielsweise
als Ergebnis des Einsetzens einer entfernten Karte in eine andere
Verarbeitungseinheit und dann Einschalten der anderen Verarbeitungseinheit,
verhindert werden kann.
-
Die
Ereignisse, die oben erwähnt
wurden, werden im dauerhaften Speicher innerhalb der Verarbeitungseinheit
protokolliert und können
zu Benutzerschnittstellen exportiert werden, wie z. B. einer Systemkonsolenschnittstelle
oder einer Netzwerkverwaltungsschnittstelle.
-
9 ist
eine schematische Darstellung des Schaltkreises, der innerhalb einer
Smart-Card 54 enthalten
ist. Die Smart-Card 54, die in 9 dargestellt
ist, beinhaltet einen Mikroprozessor oder Mikrocontroller 59,
der Eingänge
und Leistung über
Kontakte, die auf der Smart-Card 54 bereitgestellt
werden, empfängt.
Die Verbindungen können
beispielsweise einen I2C-Bus
für den
Austausch von Informationen über
den Kartenleser 40 zu der Verarbeitungseinheit unterstützen.
-
Der
Mikrocontroller oder Mikroprozessor 160 fungiert als ein
Zugriffscontroller für
das Steuern des Zugriffs zu dem Speicher mit wahlfreiem Zugriff 58, der
den Smart-Card-Speicher bildet. Die Speichermenge, die in der Smart-Card
bereitgestellt wird, kann gemäß der gewünschten
Anwendung variieren. Beispielsweise könnte für die vorliegende Anwendung
eine Speicherkapazität
in der Größenordnung von
8 Kilobyte geeignet sein, obgleich andere Kapazitäten leicht
verwendet werden könnten.
-
Wie
später
beschrieben wird, kann der Speicher 58 verwendet werden,
um ein oder mehrere Speicherbereiche festzulegen einschließlich beispielsweise
eines ersten Speicherabschnittes 168 (z. B. 2 Kilobyte),
der für
die Netzwerkidentität
(z. B. MAC-Adresse) und Boot-Information
(z. B. DOS oder OBP) genutzt wird, mit anderen Speicherabschnitten, wie
z. B. 170 und 172, die für die Speicherung von anderer
Information zugewiesen sind. Innerhalb des Speicherabschnittes 168 kann
ein vorbestimmter Block 160 (z. B. 20 Byte) vorgesehen
werden, um einen Netzwerkidentitätsspeicherort 164 und
möglicherweise
ein oder mehrere weitere Speicherorte 166 bereitzustellen,
die bestimmte Information enthalten oder unbenutzt bleiben.
-
Der
Zugriffscontroller 160 ist betreibbar, um unter anderem
eine Schlüssel-Schlüssel-Verschlüsselung
(ansonsten bekannt als Schlüssel-zu-Schlüssel oder
Schlüsselpaar-Verschlüsselung)
zu implementieren, wobei ein oder mehrere der Abschnitte des Speichers
als sichere Speicherabschnitte bestimmt sein können, auf die nur unter Steuerung
des Zugriffscontrollers 160 und in Antwort auf den Empfang
von geeigneten Verschlüsselungs-Schlüsseln von
einer anfordernden Verarbeitungseinheit zugegriffen werden kann.
Eine getrennte Steuerung kann in einer konventionellen Art und Weise
für die
verschiedenen Speicherabschnitte für den Lese- und/oder Schreibzugriff
bereitgestellt werden. Smart-Cards, die die oben beschriebene Funktionalität bereitstellen,
sind kommerzielle Gegenstände,
die leicht verfügbar
sind.
-
Die 10–12 setzen
die Sicherheitsaspekte solcher kommerziell erhältlicher Smart-Cards ein, um die
Sicherheit und die Funktionalität
der tragbaren Speichereinrichtung zu erhöhen, die die Netzwerkidentität für eine Verarbeitungseinheit
enthalten.
-
Durch
die Verwendung einer Smart-Card, wie schematisch in 9 dargestellt,
ist es für
die Netzwerkidentität,
die in der Smart-Card gehalten wird, möglich, in einem sicheren Spei cherabschnitt des
Speichers 58 plaziert zu werden. Somit kann beispielsweise
der Zugriffscontroller 160 betrieben sein, um die Schlüsselpaar-Verschlüsselung
in Bezug auf den Speicherabschnitt 168 zu implementieren.
-
Mit
dies im Sinn beschreibt die 10 zusätzliche
Schritte, die in die Prozesse der 5 und 6 zwischen
dem Entscheidungspfad 83 und dem Schritt 84, in
dem eine Adresse von der Smart-Card gelesen wird, eingefügt werden
können.
Diese zusätzlichen
Schritte ermöglichen
es der Verarbeitungseinheit, zu überprüfen, daß die Smart-Card
eine authentische Smart-Card mit einer sicheren Netzwerkidentität ist und
nicht nur lediglich eine Kopie einer Smart-Card mit der geeigneten
Information, gespeichert an einem geeigneten Ort innerhalb der Smart-Card.
-
Folglich
ist folgend auf den Entscheidungspfad 83 der 5 und 6 und
wie in 10 gezeigt ist, es ein optionaler
Schritt 178, den Inhalt eines vorbestimmten Speicherortes 166 in
dem Smart-Card-Speicher 58 zu lesen, der normalerweise
unbenutzt ist und innerhalb eine sicheren schreibgeschützten Bereiches
des Smart-Card-Speichers 58 sein sollte. Solch ein Speicherort
könnte
innerhalb des Byteblocks 160 sein, der verwendet wird,
um die Netzwerkidentität
zu halten. In einem besonderen Beispiel wird die Netzwerkidentität in einem 20-Byteblock
(z. B. 160) gehalten, der gelöschte Bytes an vorbestimmten
Orten beinhaltet. Beispielsweise könnten einige dieser Bytes in
diesem Prozeß als
der Kartenspeicherort 166 verwendet werden oder alternativ
als ein Speicherort in irgendeinem anderen Teil des sicheren Kartenspeichers.
-
Der
Inhalt dieses Ortes kann dann im Speicher oder in einem Register
in der Verarbeitungseinheit gespeichert werden. Dieser Schritt kann
ausgelassen werden, falls es eine vorbestimmte Speicheradresse in
einem sicheren schreibgeschützten
Abschnitt einer gültigen
Smart-Card gibt,
der bekannte Information, die hier gespeichert ist, hat. Die bekannte
oder gelesene Information kann als die erwartete Information bezeichnet
werden.
-
Die
Verarbeitungseinheit ist in Schritt 180 betreibbar, um
eine einfache Schreiboperation zu versuchen, um vorbestimmte Information
(z. B. den Inhalt eines Speicherortes der Verarbeitungseinheit oder
eines Registers der Verarbeitungseinheit) in den Kartenspeicherort 166 zu
schreiben. Die zu schreibende vorbestimmte Information sollte sich
von der erwarteten Information unterscheiden. Diese vorbestimmte
Information wird als die geschriebene Information bezeichnet. Falls
die Smart-Card eine gültige Smart-Card
mit einem geeignet konfigurierten Zugriffscontroller ist, wird der
Zugriffscontroller 160 diesen nicht gesicherten und nicht
verschlüsselten
Versuch, eine Teilnetzwerkidentität zu modifizieren, erfassen
und verhindern. Falls die Karte im Kartenleser keine gültige, sichere
Smart-Card ist, und beispielsweise eine einfache Speicherkarte ist,
dann wird die Schreiboperation typischerweise effektiv sein.
-
In
Schritt 182 wird eine Leseoperation von dieser selben Speicherstelle 166 durch
die Verarbeitungseinheit bewirkt, und in Schritt 184 wird
eine Untersuchung durchgeführt,
ob die von dem sicheren Speicherort in Schritt 182 gelesene
Information der erwarteten Information entspricht oder ob sie der
geschriebenen Information entspricht.
-
Falls
in Schritt 184 bestimmt wird, daß die von dem sicheren Speicherort 182 gelesene
Information der erwarteten Information entspricht, dann wird angenommen,
daß der
Schreibversuch nicht erfolgreich war und dann wird dem Entscheidungspfad 186 gefolgt.
An diesem Punkt ist die Verarbeitungseinheit in der Lage, von dem
Versagen seines Schreibversuchs zu folgern, daß die Smart-Card eine sichere Smart-Card
ist, und ist dann in der Lage, in Schritt 84 mit den Prozessen
von 5 oder 6 fortzusetzen, wie dies geeignet
ist, um die Netzwerkidentität von
der Smart-Card zu lesen.
-
Falls
alternativ in Schritt 184 bestimmt wird, daß die Information,
die von dem sicheren Speicherort in Schritt 182 gelesen
wurde, der geschriebenen Information entspricht, dann wird angenommen,
daß der
Schreibversuch nicht erfolgreich war, und dem Entscheidungspfad 188 wird
gefolgt. An diesem Punkt wird dann angenommen, daß die tragbare
Datenvorrichtung keine sichere Smart-Card des beschriebenen Typs
war und entsprechend wird dem Entscheidungspfad 188 gefolgt.
Als Folge des Durchlaufens des Entscheidungspfades 188 könnte die Verarbeitungseinheit
derart konfiguriert sein, daß sie sich
selbst abschaltet oder daß sie
alternativ die Netzwerkadresse von dem NV RAM in Übereinstimmung
mit den Schritten 90 und 92 der 5 und 6 verwendet.
-
In
einer sicheren Smart-Card wird es, wie oben beschrieben, an irgendeinem
Punkt notwendig sein, die erforderliche Information auf die Smart-Card zu
schreiben, und zwar selbst auf deren sicheren Abschnitt. Es folgt
nun eine Beschreibung unter Bezug auf die 11 und 12 der
Prozesse für
das Zugreifen und/oder Modifizieren der Inhalte der Smart-Card oder
anderer tragbarer Speichervorrichtungen, die mit einem Zugriffscontroller
ausgestattet sind, der den Zugriff zu ein oder mehreren sicheren Speicherabschnitten
innerhalb der Karte unter Verwendung der Schlüsselpaar-Verschlüsselung
steuert. Die Prozesse der 11 und 12 können jederzeit
folgend auf die Prozesse der 5 und 6 durchgeführt werden,
wenn die Verarbeitungseinheit eingeschaltet wird.
-
11 beschreibt
einen Prozeß,
der Modifikationen einer Netzwerkidentität in einer sicheren Smart-Card
unter Verwendung der konventionellen Schlüsselpaar-Verschlüsselungstechniken
ermöglicht.
-
In
Schritt 190, wenn es gewünscht ist, eine Netzwerkidentität an dem
Kartenspeicherort 164 zu aktualisieren oder die sichere
Smart-Card erneut zu programmieren, ist die Verarbeitungseinheit 22 oder eine
private Anwendung, die auf der Verarbeitungseinheit 22 läuft, als
Absender betreibbar, um eine Anfrage zu senden, die mit einem gelieferten
Schlüssel verschlüsselt ist,
und zwar zu der Smart-Card 54 über den Kartenleser 40.
Der gelieferte Schlüssel, der
verwendet wird, um die Anfrage zu verschlüsseln, kann ein Schlüssel sein,
der der Verarbeitungseinheit oder beispielsweise der privaten Anwendung
zugewiesen ist.
-
Im
Entscheidungsschritt 192 ist der Zugriffscontroller 160 betreibbar,
um den gelieferten Schlüssel
gegenüber
der öffentlichen
Seriennummer (Schlüssel)
des Herstellers bzw. des Senders zu verifizieren. Falls der gelieferte
Schlüssel,
der von dem Absender für
die Anfrage gesendet wurde, nicht mit dem öffentlichen Schlüssel verifiziert
werden kann, dann wird dem Entscheidungspfad 194 gefolgt,
und eine Fehlernachricht wird zu Schritt 196 zu der Verarbeitungseinheit
zurückgegeben,
und der Zugriff auf die Netzwerkidentität, die in dem Speicherabschnitt 168 gespeichert
ist, wird nicht gestattet.
-
Falls
jedoch im Entscheidungsschritt 192 bestimmt wird, daß der für die Anfrage
gelieferte Schlüssel
mit dem öffentlichen
Schlüssel
verifiziert werden kann, dann wird dem Entscheidungspfad 198 gefolgt,
und der Zugriffscontroller 160 ist in Schritt 200 betreibbar,
um einen Zugriffsschlüssel,
der unter Verwendung einer privaten bzw. geheimen Seriennummer (Schlüssel), der
von dem Zugriffscontroller 160 (z. B. in der Firmware oder
einem Register im Zugriffscontroller oder in einem sicheren Abschnitt
des Smart-Card-Speichers 58) gehalten wird, erzeugt wurde,
zu erzeugen und zurückzugeben.
-
In
Schritt 202 ist die Verarbeitungseinheit 22 dann
betreibbar, um einen Befehl zu verschlüsseln unter Verwendung des
gelieferten Zugriffsschlüssels für das Modifizieren
der Netzwerkidentität,
die in dem sicheren Speicherabschnitt 168 des Speichers
der Smart-Card 54 abgelegt ist. Dieser verschlüsselte Befehl
wird dann über
den Kartenleser 40 zu der Smart-Card 54 gesendet.
-
Im
Entscheidungsschritt 204 ist der Zugriffscontroller 160 dann
betreibbar, um den empfangenen, verschlüsselten Befehl zu verifizieren.
-
Falls
der verschlüsselte
Befehl nicht korrekt verifiziert wird, dann wird dem Entscheidungspfad 206 gefolgt,
und eine Fehlernachricht wird bei 196 der Verarbeitungseinheit 22 zurückgegeben.
-
Wo
jedoch der empfangene, verschlüsselte Befehl
korrekt verifiziert wird, wird dann der Entscheidungspfad 208 durchlaufen,
und in Schritt 210 wird die Netzwerkidentität an dem
Kartenspeicherort 164 modifiziert. Der Prozeß endet
in Schritt 220.
-
Es
kann gesehen werden, daß der
Prozeß von 11 das
Programmieren einer geeigneten Netzwerkidentität oder einer ID der Prozeßeinheit
ermöglicht
und das Ersetzen beschädigter
Karten unter Verwendung der konventionellen Schlüsselpaar-Verschlüsselung
ermöglicht
wird. Die Schlüssel-Schlüssel-(Schlüsselpaar)-Verschlüsselungsschnittstelle wird
innerhalb des Zugriffscontrollers (Mikroprozessor oder Mikrocontroller)
in konventionellen und kommerziell verfügbaren sicheren Smart-Cards
bereitgestellt. Ein Benutzer kann eine private Anwendung verwenden,
um einen Schlüssel,
der gegenüber
der öffentlichen
Seriennummer (Schlüssel)
durch den Code in den Zugriffscontroller 160 verifiziert
ist, zu senden. Der Zugriffscontroller 160 antwortet dann
mit einem anderen Schlüssel,
der unter Verwendung der geheimen Seriennummer (Schlüssel), die
in dem Zugriffscontrollercode gehalten wird, erzeugt wurde. Die private
Anwendung kann dann einen verschlüsselten Befehl senden, um die
Netzwerkidentität
in dem Speicher der Smart-Card 94 erneut zu programmieren.
-
Da
dieser Prozeß die
Schlüssel-Schlüssel-Verschlüsselung
einsetzt, könnte
dieser Prozeß ebenso
durch einen entfernten Service-Ingenieur auf einer spannungsführenden
Ersatzkarte an einem Kundenort durchgeführt werden, um eine instantane Ersetzung
durchzuführen
ohne Bedenken gegenüber der
Sicherheit der Karten, die verglichen werden.
-
Es
versteht sich, daß dieser
Ansatz nicht auf die Verwendung mit Netzwerkidentitäten für Verarbeitungseinheiten,
wie z. B. Serversysteme, beschränkt
ist, sondern auf alle Computersysteme erweitert werden kann, die
mit Kartenlesern ausgestattet sind, um eine sichere Identität für die Softwarelizenzierung
bereitzustellen, die schnell auf ein neues System im Falle eines
Ausfalls übertragen
werden kann. Für
PC-basierte Systeme wird die geeignete Netzwerkidentität eine Systemhaupt-MAC-Adresse sein.
Die Verwendung eines Ansatzes, wie in Bezug auf 10 beschrieben,
kann die Verwendung von Dritten, die einen „Dongle"-Schutz der Software bereitstellen,
vermieden werden, da eine sichere Smart-Card ein sicheres Medium
für Identifikationszwecke
bereitstellt.
-
Beispielsweise
erfordern typische Hardware- und Softwarenetzwerkzugriffs-Verschlüsselungslösungen Langzeitnetzwerksicherheits-Verschlüsselungs-Schlüssel (Netzwerksicherheits-Verschlüsselungs-Schlüssel), die
mit der Sitzungserzeugung verknüpft
sind. Die Netzwerksicherheits-Verschlüsselungs-Schlüssel werden
verwendet, um Nachrichten, Dateien und Übertragungen, beispielsweise
für den Zugriff
auf und für
das Bereitstellen von Diensten usw., zu verschlüsseln. Sie werden digital signiert durch
eine Zertifizierungsautorität
und haben eine Lebensdauer von näherungsweise
2 Jahren. Falls ein Server, der die Hardware- oder Software-Verschlüsselungslösung enthält, versagt,
ist die Schnellübertragung
dieser Schlüssel
zu einem Ersatzserver in einer sicheren Art und Weise äußerst wünschenswert,
um die Dienstverfügbarkeit
zu erhöhen.
-
12 stellt
einen Ansatz hiervon dar, der vergleichbar zu dem vorher unter Bezug
auf 11 beschriebenen Ansatz ist für das Verwalten von sicheren
Netzwerkidentitäten.
Insbesondere kann eine sichere, entfernbare und tragbare Speichervorrichtung,
wie z. B. eine sichere Smart-Card, wie sie für das Halten der Netzwerkidentität verwendet
wird, ebenso verwendet werden für
das Speichern von Netzwerksicherheits-Verschlüsselungs-Schlüsseln. In
dieser Art können
die Netzwerksicherheits-Verschlüsselungs-Schlüssel mit
einer Bearbeitungseinheit verknüpft
sein, wenn die sichere, tragbare Speichereinrichtung in der Verarbeitungseinheit
präsent ist,
können
jedoch schnell zu einer Ersatzbearbeitungseinheit bewegt werden,
ohne daß ein
Service-Techniker Zugriff auf die Netzwerksicherheits-Verschlüsselungs-Schlüssel hat.
-
Durch
die Verwendung einer sicheren, tragbaren Speichervorrichtung, wie
z. B. einer sicheren Smart-Card, können die Netzwerkidentität und die Netzwerksicherheits-Verschlüs selungs-Schlüssel geschützt werden
mittels einer Schlüsselpaar-Verschlüsselung
und können
daher sicher sein in Bezug auf nichtautorisierten Zugriff auf diese
Information.
-
Die
Langzeit-Netzwerksicherheits-Verschlüsselungs-Schlüssel können in
einem sicheren Speicherabschnitt (z. B. dem Abschnitt 170 oder
dem Abschnitt 172) des Speichers 58 der Smart-Card 54 gespeichert
sein. Falls die Verschlüsselungschip-Hardwareschnittstelle
der Smart-Card dann exportiert wird, um zu erlauben, daß eine Schlüsselpaar-verschlüsselte Verbindung
eingestellt wird für das
Lesen und Schreiben der Schlüssel,
kann die Verarbeitungseinheit 22 betreibbar sein, um das
Lesen der Schlüssel
zu übertragen
und das Schreiben der Schlüssel
zu der sicheren Smart-Card. Auf diese Art und Weise ist die ursprüngliche
Programmierung der Smart-Card möglich,
und dann kann diese Programmierung zu einer weiteren Verarbeitungseinheit 22' übertragen
werden, ohne daß die
andere Verarbeitungseinheit 22 jemals die Schlüssel kennt.
Im Grunde genommen sind folgend auf die ursprüngliche Programmierung die
Schlüssel
nur tatsächlich
innerhalb des Zugriffscontrollers 160 der Smart-Card bekannt
und sind daher sehr sicher.
-
Ein
Softwareansatz, um die Smart-Card zu programmieren und auf diese
zuzugreifen, kann erzielt werden durch Initiieren einer Schlüsselpaar-verschlüsselten
Sitzung zu der Smart-Card
und entweder Lesen oder Schreiben der Schlüssel zu der Karte für das ursprüngliche
Speichern und/oder Abrufen der Schlüssel in dem Fall, daß die Verarbeitungseinheit 22 ausgetauscht
wird. Details solch eines Prozesses werden unten unter Bezug auf 12 beschrieben,
die im allgemeinen zu dem Prozeß von 11 korrespondiert.
-
12 beschreibt
einen Prozeß,
der es ermöglicht,
daß die
Langzeitnetzwerksicherheits-Verschlüsselungs-Schlüssel in
dem sicheren Speicher in einer sicheren Smart-Card gehalten werden
unter Verwendung der konventionellen Schlüsselpaar-Verschlüsselungstechniken.
-
In
Schritt 290, wenn es gewünscht wird, auf einen Langzeitnetzwerksicherheits-Verschlüsselungs-Schlüssel zuzugreifen,
der beispielsweise in einem sicheren Abschnitt 170 der
sicheren Smart-Card 54 gehalten wird, ist die Verarbeitungseinheit 22 oder
eine private Anwendung, die auf der Verarbeitungseinheit 22 betrieben
wird, in der Lage, als Absender eine mit einem gelieferten Schlüssel verschlüsselte Anfrage
an die Smart-Card 54 über den
Kartenleser 40 zu senden. Der gelieferte Schlüssel, der
verwendet wird, um die Anfrage zu verschlüsseln, kann ein Schlüssel sein,
der der Verarbeitungseinheit oder beispielsweise der privaten Anwendung zugewiesen
ist.
-
Im
Entscheidungsschritt 292 ist der Zugriffscontroller 160 betreibbar,
um den gelieferten Schlüssel
gegenüber
der öffentlichen
Seriennummer (Schlüssel)
des Absenders zu verifizieren. Falls der gelieferte Schlüssel, der
durch den Absender für
die Anfrage geliefert wurde, nicht gegenüber dem öffentlichen Schlüssel verifiziert
wird, dann wird dem Entscheidungspfad 294 gefolgt, und
eine Fehlernachricht wird in Schritt 296 der Verarbeitungseinheit
zurückgegeben,
und der Zugriff auf den sicheren Abschnitt 170 wird nicht
gestattet.
-
Falls
jedoch im Entscheidungsschritt 292 bestimmt wird, daß der gelieferte
Schlüssel
für die
Anfrage gegenüber
dem öffentlichen
Schlüssel
verifiziert wird, dann wird dem Entscheidungspfad 298 gefolgt,
und der Zugriffscontroller 160 ist in Schritt 300 betreibbar,
um einen Zugriffsschlüssel
zu erzeugen und zurückzugeben,
der unter Verwendung einer privaten Seriennummer (Schlüssel), die
von dem Zugriffscontroller 160 (z. B. in der Firmware oder
einem Register im Zugriffscontroller oder in einem sicheren Abschnitt
des Smart-Card-Speichers 58) aufbewahrt wird, erzeugt wurde,
zu erzeugen und zurückzugeben.
-
In
Schritt 302 ist die Verarbeitungseinheit 22 dann
betreibbar, um einen Befehl zu verschlüsseln unter Verwendung des
gelieferten Zugriffsschlüssels für das Zugreifen
auf den sicheren Speicherabschnitt 170 des Speichers der
Smart-Card 54. Dieser verschlüsselte Befehl wird dann über den
Kartenleser 40 zu der Smart-Card 54 gesendet.
-
Im
Entscheidungsschritt 304 ist der Zugriffscontroller 160 dann
betreibbar, um den empfangenen verschlüsselten Befehl zu verifizieren.
-
Falls
der verschlüsselte
Befehl nicht korrekt verifiziert wird, dann wird dem Entscheidungspfad 306 gefolgt,
und eine Fehlernachricht wird in 296 der Verarbeitungseinheit 22 zurückgegeben.
-
Wird
jedoch der empfangene verschlüsselte Befehl
korrekt verifiziert, dann wird dem Entscheidungspfad 308 gefolgt,
und in Schritt 310 wird auf den sicheren Speicherabschnitt 170 zugegriffen.
Der Prozeß endet
in Schritt 320.
-
Der
Zugriff, der durchgeführt
wird, könnte entweder
ein Lese- oder ein Schreibzugriff sein. Jeder Zugriffstyp könnte separat
gesteuert werden, oder der Zugriff könnte für sowohl das Lesen als auch das
Schreiben erlaubt werden.
-
Man
kann sehen, daß der
Prozeß von 12 die
ursprüngliche
Programmierung einer sicheren Smart-Card mit Langzeitverschlüsselungs-Schlüsseln und
Modifikationen solcher Schlüssel,
sofern erforderlich, ermöglichen
kann, wobei diese in der Lage sind, einen geeigneten Schlüssel der Smart-Card
zur Verfügung
zu stellen, so daß diese
in der Lage ist, Zugriff auf den geeigneten Speicherabschnitt in
der Smart-Card zu erlangen unter Verwendung der konventionellen
Schlüsselpaar-Verschlüsselung.
Die Schlüsselpaar-Verschlüsselungsschnittstelle
wird innerhalb des Zugriffscontrollers (Mikroprozessor oder Mikrocontroller)
in konventionellen und kommerziell verfügbaren sicheren Smart-Cards bereitgestellt.
Wie in Bezug auf 11 beschrieben, kann ein Benutzer
eine private Anwendung verwenden, um eine Anfrage zu senden unter
Verwendung eines Schlüssels
für diese
Anwendung, welche mit der öffentlichen
Seriennummer (Schlüssel)
durch den Code in dem Zugriffscontroller 160 verifiziert
wird. Der Zugriffscontroller 160 antwortet dann unter Verwendung
eines anderen Schlüssels,
der erzeugt wurde unter Verwendung der privaten Seriennummer (Schlüssel), die
in dem Zugriffscontroller code enthalten ist. Die private Anwendung
kann dann einen verschlüsselten
Befehl senden, um auf die Verschlüsselungs-Schlüssel in
dem sicheren Abschnitt 170 in dem Speicher der Smart-Card 54 zuzugreifen.
-
Um
den Zugriff auf die Speicherabschnitte, wie z. B. die Speicherabschnitte 168, 170 und 172 des
Smart-Card-Speichers zu erleichtern, kann die Verarbeitungseinheit
betreibbar sein, um auf den Speicher in einem Format, wie z. B.
einer Datei, zuzugreifen, wobei der Prozessor auf den Inhalt des Speichers
in derselben Art und Weise Bezug nehmen kann, wie eine Datei auf
einer Diskette oder dergleichen gehalten wird.
-
Es
versteht sich ebenso, daß der
unter Bezug auf die 11 und 12 beschriebene
Prozeß ebenso
an den Speicher von anderen Typen von Information, die in Dateien
gehalten wird, angewendet werden kann.
-
Wie
früher
erwähnt,
können,
um das versehentliche Entfernen der Smart-Card 54 aus dem
Kartenleser 40 zu verhindern, Einrichtungen bereitgestellt
sein, um der Entfernung der Smart-Card Widerstand zu leisten. 13 stellt
ein Beispiel hiervon dar, wo Teile, die ebenso in 4 erscheinen,
dieselben Bezugszahlen tragen. In 8 ist die
Vorderseite des Motherboards 24, in der der Aufnahmeschlitz 32 ausgebildet
ist, gezeigt, wobei er eine Sicherheitsbarriere 340 beinhaltet,
die die Vorderseite des Aufnahmeschlitzes 32 des Motherboards 24 abdeckt,
so daß er
den Aufnahmeschlitz 32 verdeckt. Die Barriere 340 wird
an ihrem Platz durch Fixierschrauben 342, 344 gesichert,
die geformt und konfiguriert sein können, um die Entfernung der
Fixierschrauben 342, 344 ohne die Bereitstellung
eines entsprechend konfigurierten Entfernungswerkzeuges zu verhindern. Die
Anordnung der Barriere 340 und der Fixierschrauben 342, 344 wird
bereitgestellt, um zu verhindern, daß die Smart-Card 54 aus
dem Smart-Card-Leser 40 entfernt wird. Alternativ dazu sind
für die
Ausführungsform,
die in 6 gezeigt ist, die Barriere 340 und die
Fixierschrauben 344, 342 angeordnet, um zu verhindern,
daß eine
nichtkorrekte Smart-Card in den Smart-Card-Leser 40 eingesetzt
wird, nachdem das Motherboard bereits mit der richtigen Netzwerkidentität, die in
das Adreßregister 100 geladen
wurde, konfiguriert wurde.
-
Obgleich
der Smart-Card-Leser 40, der in 4 gezeigt
ist, mit der Ebene der Smart-Card
im wesentlichen parallel zu der Ebene des Motherboards montiert
ist, sind andere Anordnungen möglich
und werden durch die mechanischen Erfordernisse für die Montage
des Smart-Card-Lesers
auf dem Motherboard bestimmt. Solch eine alternative Anordnung ist
in 14 gezeigt, in der der Smart-Card-Leser 40 senkrecht
zu der Ebene des Motherboards 24 montiert ist.
-
15 stellt
ein weiteres Beispiel einer Verarbeitungseinheit gemäß der Erfindung
dar. 15 ist eine körperliche
Ansicht eines Computersystems 401 von schlanker Form, das
für Rackmontierungen konstruiert
ist, das eine Ausführungsform
der Erfindung implementiert. Die ses Beispiel einer Verarbeitungseinheit
stellt einen kompakt konfigurierten Computer-Server bereit, der
hohe Leistung bei vernünftigen
Kosten bietet.
-
Das
Computersystem 401 weist ein Gehäuse 410 mit einer
vorderen Blende 419 auf, die entfernbar ist für den Zugriff
von vorne auf die Diskettenlaufwerke und eine tragbare Speichereinrichtung 54 und
einen Geräteleser 40.
-
Die
tragbare Speichereinrichtung 54, die als Smart-Card implementiert
sein kann, ist als eine Systemkonfigurationskarte (SCC) im Kontext
dieses Beispiels bekannt.
-
Die
Rackmontierung wird bereitgestellt für übliche 19''-Racks über rechtwinklig
abgebogene Flansche (nicht gezeigt). Gleitschienenunterstützung wird
ebenso bereitgestellt.
-
Das
Gehäuse 410 ist
von vorn nach hinten gekühlt
durch zwei Systemlüfter 412, 414,
die auf einer hinteren Platte des Gehäuses montiert ist mit der Belüftung in
vorderen und hinteren Platten, falls erforderlich. Der Host-Prozessor
(CPU) 416 hat ebenso seine eigene fest zugeordnete lokale
Kühlung,
die einen Aufblaslüfter 418 aufweist,
der auf dem CPU-Sockel klemmt. Diese drei Lüfter stecken direkt im Motherboard 420 bei 413, 415 bzw. 417.
Das Motherboard 420 ist ein PCB-Aufbau, der in einer kundenspezifischen
Form konstruiert ist, um in das Gehäuse 410 zu passen.
Die Form des Motherboards ist ausgewählt, um die Verkabelung innerhalb
des Gehäuses
zu minimieren. Das Motherboard 420 trägt den Hauptteil der Schaltkreise
innerhalb des Computersystems 401.
-
Alle
externen Schnittstellen sind direkt an der hinteren Kante des Motherboards
beinhaltet für
den Zugriff durch die hintere Platte 411 des Gehäuses 410.
Die externen Schnittstellen weisen zwei Netzwerkschnittstellen 421,
zwei serielle Schnittstellen 484, 486 und eine
SCSI-Schnittstelle 478 auf.
Anzeigen (z. b. LEDs) für
Energie, Fehler- und Netzwerkverbindungsstatus sind ebenso an der
Rückseite
des Gehäuses
positioniert. Diese können
eine Energie-LED 490 beinhalten, die angeschaltet wird,
wenn die Verarbeitungseinheit eingeschaltet ist, und eine Fehler-LED 491,
die betrieben werden kann (z. B. leuchtend oder blinkend), um einen
Fehlerzustand anzuzeigen.
-
Ein
System- oder Host-Prozessor (CPU) 416 für das Computersystem 401 ist
in einem ZIF-Sockel auf dem Motherboard 420 montiert. Er
hat eine passive Wärmesenke.
Doppelinline-Speichermodule (DIMMs)
sind in den Sockeln 425 auf dem Motherboard 420 montiert.
Eine kleiner Leiterplatte (PCB) 422 ist an der Vorderseite
des Gehäuses 410 beinhaltet,
um einen Systemkonfigurationskartenleser (SCC) 40 und LEDs 427 für die Energie-
und Fehlerstatusanzeige zu tragen. Ein 10-Wege-Flachkabel 424 verbindet
dieses PCB mit dem Motherboard 420. Zwei SCSI-Festplattenlaufwerke 426 und 428 sind
in entsprechenden Schächten
an der Vorderseite des Motherboards 420 montierbar. Die
Laufwerke sind während
des Betriebs einsteckbar, und auf sie kann zugriffen werden durch
Entfernen der vorderen Blende 419 und des elektromagnetischen
Interferenzschildes 430. Die zwei internen SCSI-Festplattenlaufwerke 426 und 428 stecken
direkt im Motherboard über
rechtwinklige Verbinder 432, die an der vorderen Kante
des Motherboards 420 lokalisiert sind.
-
Ein
schlanker (Notebook-Typ) CDROM-Laufwerksschacht wird bereitgestellt,
lateral montiert vor dem Motherboard für ein CDROM-Laufwerk 434. CDs
können über einen
Zugriffsschlitz (nicht gezeigt), der an der unteren linken Seite
der Frontblende 419 lokalisiert ist, eingesetzt und entfernt
werden. Ein Verbinder an der Rückseite
des CDROM-Schachtes verbindet das CDROM-Laufwerk 434 über ein
Flachkabel 436 mit dem Motherboard 420.
-
Eine
Energieversorgungseinheit (PSU) 438 ist mit dem Motherboard über einen
kurzen Kabelbaum 40 mit zwei zueinander passenden Verbindern 442 und 444 für Energie
und Dienste verbunden. Die PSU 438 hat ihr eigenes Kühlgebläse 446 und
nimmt zusätzlich
den Systemleistungsschalter 448 und die Stromeingangsverbinder 450 auf.
-
16 ist
eine schematische Blockdiagrammdarstellung der Systemarchitektur
für die
Verarbeitungseinheit von 15.
-
In
diesem Beispiel ist die CPU 416 von 16 ein
UltraSparc-Prozessor 452, der von Sun Microsystems, Inc.
erhältlich
ist. In anderen Ausführungsformen
könnten
natürlich
andere Prozessoren verwendet werden. Ein konfigurierbarer Taktgenerator 454 wird
bereitgestellt, um verschiedene Systemtakte zu liefern. Ein zeigergesteuerter
Interrupt-Controller (I-Chip2) 456 wird für die Handhabung
von Interrupts bereitgestellt. Ebenso bereitgestellt wird ein konfigurierbares
Kernspannungsreguliermodul (VRM) 458.
-
Vier
Sockel 425 werden für
handelsübliche DIMMs 460 bereitgestellt.
Verbindungen werden für einen
72-Bit-Datenpfad mit Fehlerkorrekturcodes (ECC) bereitgestellt.
Eine Personal Computer-Zwischenverbindungsbus-Architektur (PCI)
wird bereitgestellt, die eine Advance PCI-Brücke
(APB) 462 beinhaltet. Diese PCI-Brücke 462 vereinigt
zwei sekundäre
PCI-Busse (Pci-Bus
A und PCI-Bus B) auf einem primären
PCI-Bus (PCI-Bus), wie in 16 dargestellt.
-
Eine
sogenannte South-Bridge 464 ist eine handelsübliche PCI
IO-Vorrichtung, die weitgehend in der PC-Industrie verwendet wird.
Unter anderen Funktionen implementiert sie einen dualen IDE-Controller,
einen System Management Bus-Controller (SMBus), zwei asynchrone
serielle Schnittstellen und einen Leistungsmanagement-Controller.
Die IDE-Controller-Komponente
der South Bridge 464 unterstützt ein Maximum von vier IDE-Geräten über primäre und sekundäre ATA-Busse 485.
Der (SMBus)-Host-Controller stellt einen I2C-kompatiblen, synchronen
seriellen Kanal 487 zur Verfügung für die Kommunikation mit Geräten, die
das SMBus-Protokoll
gemeinsam nutzen. Der SMBus wird verwendet, um mit den DIMMs zu
kommunizieren. Er wird ebenso verwendet, um mit der System Configuration Card-Leserschnittstelle
(SCC) 489 (für
den tragbaren Speichergeräteleser 40)
zu kommunizieren mit einem Chip 490, der Informationen
hält für das Identifizieren
einer durch den Kundendienst austauschbaren Einheit (FRU ID), um
Konfigurationsinformation zu erhalten, und mit den DIMMs 460.
-
Die
zwei asynchronen seriellen Schnittstellen stellen zwei serielle
Kanäle
(seriell B und seriell) 486 und 487 zur Verfügung. Der
serielle B-Kanal 486 ist direkt angeschlossen, um einen
externen Anschluß über einen
RJ45-Verbinder bereitzustellen.
-
Der
serielle Kanal 487 ist selektiv mit einem externen Benutzerschnittstellenanschluß (seriell A/LOM) 484 mit
einem RJ45-Verbinder über
den Service-Prozessor 498 verbindbar. Der Service-Prozessor 498 verbindet
selektiv den externen Anschluß 484 mit
dem seriellen Kanal 487 und trennt den externen Anschluß 484 von
dem seriellen Kanal 487, um zu ermöglichen, daß der externe Anschluß 484 als
ein kombinierter Konsolen-/LOM-Anschluß verwendet wird. Serielle
universelle asynchrone Empfänger/Transmitter
(UARTs) sind innerhalb der South Bridge 464 für das Steuern
der seriellen Kommunikation angeordnet.
-
Zwei
Personal Computer IO (PCIO)-Geräte (RIO
und RIO 1) 466 und 468 werden ebenso bereitgestellt.
Diese PCIO-Geräte 466 und 468 sind
auf dem PCI-Bus B positioniert. Das erste PCIO-Gerät 466 stellt
EBUS-, Ethernet- und Universal Serial Bus (USB)-Schnittstellen zur
Verfügung.
EBUS ist ein Sun Microsystems paralleler Bus, der mit dem sogenannten
Industriestandard-Architekturbusprotokoll (ISA) kompatibel ist.
Das zweite PCIO-Gerät 468 implementiert
Ethernet- und USB-Schnittstellen.
-
Ein
dualer Breit-(16 Bit)-Fast-40 (Ultra2SCSI)-Controller 470 verbindet
zwei unabhängige
SCSI-Busse (SCSI-Bus A und SCSI-Bus B) 478 mit dem PCI-Bus A.
-
16 stellt
ebenso ein 1 MB Flash PROM 92 für die Konfiguration und Boot-Information und eine
Echtzeituhr mit 8 kB nichtflüchtigem
RAM-Speicher (NV RAM) 494 dar.
-
Wie
in 16 gezeigt ist, wird ebenso ein Service-Prozessor 498 bereitgestellt.
In der vorliegenden Ausführungsform
wird der Serviceprozessor 498 als ein eingebettetes Mikrocontrollermodul
basierend auf der Hitachi H8-Serie von Flash-Mikrocontrollern implementiert.
Das Modul kann zu sehr niedrigen Kosten direkt auf dem Motherboard
aufgenommen werden.
-
In
einer Ausführungsform
der Erfindung kann der Mikrocontroller 498 mit Mikrocode
programmiert sein, um das Lesen der tragbaren Speichervorrichtung 94 über die
South Bridge 464 und die SCC-Leserschnittstelle zu dem
Geräteleser 40,
um die Prozesse, die in Bezug auf die 5, 7, 9 und 10 bis 12 beschrieben
wurden, zu steuern.
-
17 zeigt
eine Systemkonfigurationskarte 54, die in den Geräteleser 40 eingesetzt
wird, der eine Kartenaufnahme 510 und einen Kartenleser 40 aufweist,
der auf der PCB 433, die in Bezug auf 15 erwähnt wurde,
montiert ist.
-
Die
Systemkonfigurationskarte 54 ist mit der Leiterplatte auf
der Unterseite gezeigt für
das Auslesen durch den Kartenleser 40. Die Kartenaufnahme 510 stellt
einen Schlitz für
die Aufnahme der Systemkonfigurationskarte 54 und für das Führen der
Systemkonfigurationskarte im Kartenleser 40 zur Verfügung. Der
Kartenleser 510 wird ebenso mit einem Loch 514 bereitgestellt,
durch das eine Verriegelungseinrichtung eingesetzt werden kann für das Sichern
der Karte in der eingesetzten Position. Wie in 17 mit
der teilweise eingesetzten Karte gezeigt ist, wird das Loch 514 durch
die Karte 54 blockiert.
-
Wenn
die Karte 54 jedoch vollständig eingesetzt ist, wie in 18 gezeigt
ist, wobei zu dieser Zeit die Schaltkreiskontakte in der Karte mit
den Kartenleserkontakten (nicht gezeigt), die innerhalb des Kartenlesers 40 bereitgestellt
werden, in Kontakt sind, ist das Loch 514 in der Kartenaufnahme 510 mit der
Raste 502 in der Karte 54 ausgerichtet. In dieser Position
kann eine Verriegelungseinrichtung, beispielsweise ein Vorhängeschloß, ein Draht
mit einer Versiegelung, ein Kabelband oder dergleichen durch das
Loch 514 eingesetzt werden, um die Karte an ihrem Platz
zu verriegeln. In der vollständig
eingesetzten Position, wie in 18 gezeigt
ist, versteht es sich, daß ein
kleiner Abschnitt 506 der Karte 54 immer noch
in einer Aussparung 512 in der Kartenaufnahme 510 sichtbar
ist, wodurch das Ende der Karte ergriffen werden kann, um die Karte
aus dem Kartenleser 40 herauszuziehen und ihn unter der
Annahme, daß eine
Halte- oder Verriegelungseinrichtung nicht zu dieser Zeit durch
das Loch 514 greift.
-
Ein
Computerprogrammprodukt, das ein Computerprogramm für das Implementieren
von ein oder mehreren der unter Bezug auf die 5, 6, 7, 8, 10, 11 und 12 beschrieben
wurde, kann auf einem Trägermedium
bereitgestellt werden. Das Trägermedium
könnte
ein Speichermedium sein, wie z. B. ein festkörpermagnetisch optisches, ein
magnetooptisches oder ein anderes Speichermedium. Das Trägermedium
könnte
ein Übertragungsmedium,
wie z. B. eine Ausstrahlung, telefonisch, Computernetzwerk, Kabel,
drahtlos, elektrisch, elektromagnetisch, optisch oder in der Tat irgendein
anderes Übertragungsmedium
sein.
-
Es
wurde eine tragbare Speichereinrichtung, beispielsweise eine sichere
Smart-Card, beschrieben, die Netzwerkidentifikationsinformation
für eine Verarbeitungseinheit
enthält,
die mit einem Datenkommunikationsnetzwerk verbindbar ist, wobei
die Verarbeitungseinheit einen Geräteleser für das Lesen der tragbaren Speichereinrichtung
beinhaltet. Die tragbare Speichereinrichtung beinhaltet einen Speicher-
und einen Zugriffscontroller. Der Speicher hält eine Netzwerkidentität für die Verarbeitungseinheit
und zumindest einen Verschlüsselungs-Schlüssel. Der
Zugriffscontroller ist betreibbar, um den Zugriff auf den Speicher
zu steuern durch Implementieren einer Schlüsselpaar-Verschlüsselung.
Eine Ausführungsform
der Erfindung stellt somit ein Medium bereit nicht nur für das Speichern
einer Netzwerkidentität
für die
Verarbeitungseinheit, sondern ebenso für andere sichere Informationen,
wie z. B. den Verschlüsselungs-Schlüssel, der
hiermit verknüpft
ist. Die Verarbeitungseinheit ist betreibbar, um auf einen sicheren
Abschnitt des Speichers der tragbaren Speichervorrichtung zuzugreifen
durch Liefern eines Anforderungsschlüssels zu dem Zugriffscontroller der
tragbaren Speichereinrichtung und in Antwort darauf auf Empfang
eines Zugriffsschlüssels
von dem Zugriffscontroller, um einen verschlüsselten Befehl zu senden, um
auf den Inhalt des Speichers der tragbaren Speichervorrichtung zuzugreifen.
In Antwort auf die Rückgabe
eines Zugriffsschlüssels
kann die Verarbeitungseinheit betreibbar sein, um den Zugriffsschlüssel zu
verwenden, um einen Befehl zu verschlüsseln für den Zugriff auf einen sicheren
Speicher in der tragbaren Speichervorrichtung.
-
Es
versteht sich für
den Fachmann, daß verschiedene
Modifikationen an den beschriebenen Ausführungsformen vorgenommen werden
können, ohne
von dem Schutzbereich der beanspruchten Erfindung abzuweichen. Insbesondere,
obgleich die Ausführungsform
der vorliegenden Erfindung für
eine Anwendung beschrieben wurde, in der die Verarbeitungseinheit
ersetzbar in einem Chassis montiert ist, versteht es sich, daß in anderen
Ausführungsformen die
Verarbeitungseinheit irgendeine Vorrichtung sein kann, die mit einem
Kommunikationsnetzwerk verbindbar ist. Es versteht sich, daß in anderen
Ausführungsformen
die Netzwerkidentität
solchen Geräten über eine
Smart-Card und einen Smart-Card-Leser bereitgestellt wird. Es versteht
sich ebenso, daß eine Smart-Card
nur ein Beispiel einer sicheren tragbaren Speichervorrichtung ist
und es sichere tragbare Speichervorrichtungen mit anderem Format
verwendet werden könnten
mit einem geeigneten Geräteleser, der
bereitgestellt wird.