-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Überprüfen des
Zugangs eines Anwenders, der ein erstes Computersystem betreibt und
dessen Zugang durch ein erstes Sicherheitssystem kontrolliert wird,
zu Software und/oder Daten auf einem zweiten Computersystem, dessen
Zugang durch ein zweites Sicherheitssystem kontrolliert wird.
-
In
vielen Fällen
werden Softwareapplikationen und Daten über Plattformen hinweg verwendet. Die
breitere und heterogenere Verfügbarkeit
von Applikationen führt
zu damit verbundenen Problemen der Authentifizierung und Autorisierung,
d.h. Zugangskontrolle. In einem verteilten Computernetzwerk wird
der Anwenderzugang zu einem Computersystem regelmäßig durch
einen Authentifizierungsund Autorisierungsprozess überwacht,
wobei die Authentifizierung sich auf die Identität des Anwenders bezieht und
wobei die Autorisierung die tatsächlichen Zugangsrechte
des Anwenders betrifft. Die Authentifizierung erfolgt im Allgemeinen
am Zugangspunkt des Anwenders durch Vergleich der vorgeblichen Identität des Anwenders,
die regelmäßig mit
seiner Anmeldung zum Zugang angegeben wird, wobei die tatsächliche
Identität
des Anwenders aus dem gegebenen individuellen Passwort des Anwenders
geschlossen wird. Die Autorisierung des Anwenders resultiert aus
der Überprüfung einer
Zulassungsliste zum Zwecke der Richtigkeit der vorgeblichen oder gewünschten
Zugangsgenehmigungen des Anwenders, die im Sicherheitssystem des
Computers registriert ist und die z.B. ausschließlich für Systemadministratoren zugänglich ist.
Dieser Authentifizierungsund Autorisierungsprozess folgt verschiedenen
Standards, in Abhängigkeit
vom Softwaresystem, das auf dem Computer verwendet wird. Bekannte
Lösungen umfassen
SAF (Security Access Facility) auf IBM® Mainframes
(RACF, ACF2), Kerberos für
Unix® und NTLM
(NT LAN Manager) unter Windows NT®. Deshalb
kann ein Anwender, der auf einem ersten Computersystem arbeitet,
dessen Zugang durch ein erstes Sicherheitssystem gesteuert wird,
auf Software und/oder Daten auf einem zweiten Computersystem, dessen
Zugang durch ein zweites Sicherheitssystem gesteuert wird, nur zugreifen,
nachdem er durch das zweite Sicherheitssystem akzeptiert wurde,
das wiederum einen Authentifizierungs- und Autorisierungsprozess
durchführt.
Das bedeutet, dass der Anwender sich beim zweiten Sicherheitssystem
mit einem Passwort anmelden muss und die Verifikationsprozedur in
Bezug auf seine Identität
und seine Zugangsrechte wiederholen muss. Dies ist mühsam und
zeitaufwändig.
Allerdings ist die direkte Kommunikation zwischen verschiedenen
Sicherheitssystemen auf Grund von verschiedenen Formaten der Datenverarbeitung
und der Entscheidungsfindung innerhalb dieser Sicherheitssysteme
nicht möglich.
Trotzdem gibt es einen ständig
wachsenden Bedarf, um auf entfernte Informationen oder Software
schnell und leicht zuzugreifen, ohne die notwendigen Zugangskontrollen aufzugeben.
In sogenannten Single-Sign-On-Lösungen (einmaliges
Anmelden) wird dieser Nachteil vermieden, indem das Anwenderpasswort
von dem ersten Computersystem an das zweite Computersystem weitergeleitet
wird. Während
diese Lösung
für den Anwender
bequem ist, gibt sie Anlass zu wesentlichen Sicherheitsbedenken,
da das Anwenderpasswort an die anderen Computersysteme ohne die wünschenswerte
Kontrolle durch den Anwender weitergeleitet wird. Deshalb werden
diese Lösungen
im Allgemeinen durch Fachleute abgelehnt, wenn Sicherheit von besonderer
Bedeutung ist.
-
Die
US 5,872,917 offenbart die
Authentifizierung eines Anwendercomputers gegenüber einem Host-Computer (Leitrechner).
Eine Anwender-ID wird von dem Anwendercomputer an den Host-Computer gesendet.
Der Host sendet dann an den Anwender eine Anfrage (chellange), und
der Anwender sendet eine Antwort an den Host-Computer, die aus einem Passwort
erzeugt wurde. Der Host verifiziert die Identität des Anwenders durch Vergleich
der Antwort des Anwenders mit seiner eigenen intern erzeugten Antwort
unter Verwendung derselben Funktion mit denselben Eingabewerten.
-
Die
US 5,586,260 beschreibt
ein Verfahren und eine Vorrichtung zum Authentifizieren eines Clients
gegenüber
einem Server, wenn der Client und der Server verschiedene Sicherheitsmechanismen haben.
Zu diesem Zweck wird zwischen dem Client und dem Server permanent
eine Authentifizierungs-Schnittstelle angeordnet, so dass jede Kommunikation
zwischen dem Client und dem Servercomputersystem über diese
Schnittstelle läuft.
-
Es
ist deshalb das der vorliegenden Erfindung zugrunde liegende Problem,
ein Verfahren bereitzustellen, das es einem Anwender erlaubt, der
auf einem ersten Computersystem arbeitet, zu dem ihm Zugang durch
ein erstes Sicherheitssystem gewährt wurde,
auf entfernte Software und/oder Daten auf einem zweiten Computersystem
zuzugreifen, dessen Zugang durch ein zweites Sicherheitssystem kontrolliert
wird, das von dem ersten Sicherheitssystem in einer Form und einem
Ausmaß verschieden
ist, dass die direkte Kommunikation zwischen dem ersten und zweiten
Computersystem oder den entsprechenden Sicherheitssystemen nicht
möglich
ist. Diese Unterschiede können
durch verschiedene Client-Server-Konfigurationen
und Mainframe-Architekturen als auch durch heterogene Netzwerke
verursacht werden, die diese unterschiedlichen Struktur reflektieren.
-
Dieses
Problem wird durch ein in Anspruch 1 definiertes Verfahren gelöst.
-
Weitere
Ausführungsformen
der Erfindung sind in den angehängten
abhängigen
Ansprüchen spezifiziert.
-
Das
gemeinsame Geheimnis wird vor dem Beginn irgendeiner Kommunikation
zwischen den verschiedenen Sicherheitssystemen in dem ersten und
zweiten Sicherheitssystem registriert und wird deshalb durch die
zwei Sicherheitssysteme gemeinsam genutzt. Das gemeinsame Geheimnis
kann irgendein geheimes Teil von Daten sein, vorzugsweise ein anwenderspezifischer
Wert. Noch bevorzugter ist es, wenn das gemeinsame Geheimnis ein
Hash-Wert eines Passworts eines Anwenders ist, das bedeutet, das
Ergebnis einer Hash-Funktion, die auf ein Pass wort angewendet wurde,
d.h. eine eindeutige (one-way) Funktion, die vergleichsweise leicht
ausgeführt
werden kann, die aber praktisch unmöglich invertiert werden kann,
so dass das Passwort aus dem Hash-Wert nicht bestimmt werden kann,
auch wenn die Hash-Funktion bekannt ist.
-
Die
zweite Antwort wird in einer Zugangskontrolleinheit des zweiten
Computersystems berechnet, das durch das zweite Sicherheitssystem
gesteuert wird. Es kann z.B. unter OS/390 laufen, wobei das erste
Computersystem und das erste Sicherheitssystem z.B. unter Windows
NT laufen können.
Zum Berechnen der zweiten Antwort muss die Zugangskontrolleinheit
in der Lage sein, die Regeln des ersten Sicherheitssystems zum Berechnen
einer Antwort auf eine Anfrage anzuwenden. Diese Zugangskontrolleinheit
ist z.B. ein DCOM-Sicherheitssystem des Anmelders oder jedes anderen
Herstellers, die die Regeln des ersten Sicherheitssystems anwendet,
das unter Windows NT arbeitet, aber in der OS/390-Umgebung des zweiten
Computersystems und des zweiten Sicherheitssystems läuft. Die
Berechnung der zweiten Antwort in der Zugangskontrolleinheit des
zweiten Computersystems erfordert das Wissen des gemeinsamen Geheimnisses,
das in dem zweiten Sicherheitssystem gespeichert wird. Da eine direkte
Kommunikation der Zugangskontrolleinheit mit dem zweiten Sicherheitssystem
aufgrund der verschiedenen Betriebsstrukturen nicht möglich ist,
wird das gemeinsame Geheimnis durch den gesicherten Agenten (trusted
agent) abgerufen. Das zweite Sicherheitssystem vertraut dem gesicherten
Agenten und der gesicherte Agent kann sowohl mit der Zugangskontrolleinheit
als auch mit dem zweiten Sicherheitssystem kommunizieren.
-
Der
gesicherte Agent besteht aus zwei Hälften, eine Hälfte zur
Kommunikation mit dem zweiten Computersystem und die andere Hälfte zur
Kommunikation mit dem zweiten Sicherheitssystem. Die letztere Hälfte kann
standardisierte, veröffentlichte Schnittstellenaufrufe
verwenden. Sie braucht keine Geheimnisse zu enthalten, und deshalb
kann sein Quellcode durch einen Systemadministrator untersucht werden.
-
Das
zweite Computersystem vergleicht die zweite Antwort mit der ersten
Antwort, die durch das erste Computersystem gegeben wurde. Wenn
sie identisch sind, ist der Anwender identifiziert. Wenn das nicht
der Fall ist, wird dem Anwender der Zugang zu dem zweiten Computersystem
verweigert. Nach korrekter Identifizierung können die Autorisierungsüberprüfungen durchgeführt werden.
Auf diese Weise wird der Anwender schließlich autorisiert, auf das zweite
Computersystem und seine Informationen zuzugreifen, welche Softwareanwendungen,
eine Datenbank oder irgendwelche anderen Informationen sein können.
-
Das
erste Computersystem kann genauso gut ein alleinstehendes Gerät sein,
das zeitweise mit einem Netzwerk verbunden ist, genauso wie es ein dauerhaftes
Element eines Computernetzwerks sein kann. Häufig umfasst das erste Computersystem
einen Client. Das zweite Computersystem kann jedes Computergerät sein oder
umfassen, einschließlich, aber
nicht beschränkt
auf einen Personal Computer und einem Mainframe. Allerdings kann
die Anordnung auch umgekehrt verwendet werden, d.h. das erste Computersystem
umfasst ein Mainframe oder einen Server und das zweite Computersystem
umfasst einen alleinstehenden Computer oder ähnliches. Die zwei Computersysteme
sind vorzugsweise durch ein WAN oder LAN verbunden, aber können zeitweise
oder dauerhaft mittels jeder anderen geeigneten Verbindung verbunden
sein. Es ist bevorzugt, dass sie über sichere Kanäle kommunizieren.
Sichere Kanäle
sind Verbindungsleitungen zur Datenübertragung, die es nicht erlauben, übertragene
Daten aufzuzeichnen und diese Daten zurückzusenden, wodurch einer der
Partner der Kommunikation personifiziert wird. Es wird nicht verlangt,
dass der sichere Kanal nicht von außen gelesen werden kann. Z.B. kann
das Secure Socket Layer (SSL) Protokoll zum Bereitstellen von sicheren
Kanälen
verwendet werden.
-
Die
ersten und zweiten Sicherheitssysteme sind Systeme, die jeweils
den Zugang des Anwenders zu dem ersten und zweiten Computersystem steuern.
Sie können
in die entsprechenden Computersysteme integriert sein oder auch
externe Geräte sein.
Häufig
sind sie an einem zentralen Ort innerhalb des Netzwerks angeordnet
und werden durch Systemadministratoren des Computernetzwerks gesteuert.
-
Vorzugsweise
erfolgt die Authentifizierung des Anwenders nur in dem ersten Sicherheitssystem, d.h.
an dem Zugangspunkt des Anwenders, während die Autorisierung in
dem zweiten Sicherheitssystem stattfindet, d.h. an dem Ausführungspunkt
der verteilten Dienste. Dies vermeidet die Notwendigkeit, sich mehrfach
bei den verschiedenen Sicherheitssystemen anzumelden. Das Ergebnis
der Authentifizierung wird zur Verwendung in dem Autorisierungsprozess
in dem zweiten Computersystem weitergeleitet, ohne dass die Notwendigkeit
besteht, ein Anwenderpasswort zum Zeitpunkt der Ausführung des
Fernzugriffs auf das zweite Computersystem weiterzuleiten. Kein
Footprint (Computerressourcen), d.h. keine bestimmte Software, ist
auf dem ersten Computersystem notwendig, um den Authentifizierungsprozess auszuführen.
-
Die
Autorisierung wird in dem zweiten Sicherheitssystem durchgeführt, d.h.
zum Zeitpunkt der Ausführung
der gewünschten
Softwareanwendung oder des Datengebrauchs. Die Autorisierungsregeln
sind in dem zweiten Sicherheitssystem gespeichert. Deshalb bleiben
die vorhandenen Sicherheitssysteme aktiv und von ihrem Nutzen kann
weiterhin Gebrauch gemacht werden, wie z.B. enge Integration in
das jeweilige Betriebssystem.
-
Diese
Abläufe
werden ohne jede Beteiligung des Anwenders ausgeführt, und
ohne jede Probleme, die durch Unterschiede zwischen den zwei Sicherheitssystemen
oder den Betriebssystemen der zwei Computersysteme verursacht werden.
Der gesicherte Agent ermöglicht
mit Hilfe eines Geheimnisses, das zwischen den zwei Sicherheitssystemen
gemeinsam genutzt wird, die indirekte Kommunikation der zwei Sicherheitssysteme,
die aufgrund ihrer Unterschiede nicht direkt miteinander kommunizieren können. Der
gesicherte Agent wird intern auf eine Weise strukturiert, um seine
Kommunikation mit dem zweiten Sicherheitssystem des entfernten Computersystems
zu ermöglichen,
insbesondere einem Server, wie auch mit dem ersten Computersystem,
das durch das erste Sicherheitssystem gesteuert wird. Diese Kommunikation
des gesicherten Agenten muss nicht, kann aber direkt sein.
-
Das
gemeinsame Geheimnis kann in den zwei Sicherheitssystemen durch
die folgenden Schritte hergestellt werden:
- a)
Berechnen eines gemeinsamen Geheimnisses aus einem Passwort des
Anwenders, indem auf das Passwort eine geheime Funktion angewandt wird.
Diese geheime Funktion kann jede geeignete Funktion sein, d.h. jede
Funktion, die ausreichend sicher ist, und die nicht zu leicht invertiert werden
kann. Sie kann z.B. eine Hash-Funktion. sein.
- b) Registrieren des gemeinsamen Geheimnisses in dem ersten Sicherheitssystem,
so dass es als eine Referenz zum Verifizieren der Autorisierung des
Anwenders und, falls gewünscht,
seiner Identität
dienen kann.
- c) Berechnen eines verschlüsselten
Werts des gemeinsamen Geheimnisses, indem auf das gemeinsame Geheimnis
eine Verschlüsselungsfunktion
angewandt wird. Wiederum kann jeder geeignete und genügend sichere
Verschlüsselungscode
verwendet werden.
- d) Übertragen
des verschlüsselten
Werts des gemeinsamen Geheimnisses an den gesicherten Agenten und
weiterhin an das zweite Sicherheitssystem. Die Verschlüsselung
erfolgte, um diese Übertragung
des gemeinsamen Geheimnisses vom ersten an den zweiten Computer
zu schützen.
Wenn für
diese Übertragung
der durch die Verschlüsselung
erzielte Sicherheitsstandard, aus welchem Grund auch immer, nicht
erforderlich ist, kann die Verschlüsselung und spätere Entschlüsselung
des gemeinsamen Geheimnisses weggelassen werden.
- e) Abrufen des gemeinsamen Geheimnisses in dem zweiten Sicherheitssystem
durch Entschlüsseln
des verschlüsselten
geheimen Werts.
- f) Registrieren des gemeinsamen Geheimnisses in dem zweiten
Sicherheitssystem. Auf diese Weise hat auch das zweite Computersystem über den gesicherten
Agenten die notwendige Referenz für den Authentifizierungsprozess.
-
Dieser
Initialisierungsprozess darf nur einmal ausgeführt werden, wenn der Anwender
sich bei bestimmten Diensten oder Zugangsmöglichkeiten anmeldet. Allerdings
kann es auch aus Sicherheitsgründen
am Beginn jeder Sitzung oder in bestimmten Zeitintervallen auch
während
laufender Sitzungen ausgeführt
werden.
-
Wie
in Anspruch 1 spezifiziert, wird ein gesicherter Agent bereitgestellt
zum Ermöglichen
des Überprüfens des
Zugangs eines Anwenders, der ein erstes Computersystem bedient,
das durch ein erstes Sicherheitssystem gesteuert wird, auf Software und/oder
Daten auf einem zweiten Computersystem, das durch ein zweites Sicherheitssystem
gesteuert wird. Dieser gesicherte Agent umfasst wenigstens die in
Anspruch 1 spezifizierten Funktionen, die in Software realisiert
sind.
-
Vorzugsweise
wird das erste Computersystem in diesem Zusammenhang unter Windows
NT betrieben und das zweite Computersystem wird unter OS/390 betrieben.
Die Zugangskontrolleinheit des zweiten Computersystems wendet dann
die Regeln des Windows NT Sicherheitsprotokolls an, die in diesem
Beispiel auch durch das erste Sicherheitssystem angewandt werden.
-
Alle
Berechnungen, Übertragungen,
Authentifizierungen, Empfänge,
Umwandlungen, Verschlüsselungen,
Registrierungen usw. werden vorzugsweise automatisch und in einem
oder mehreren digitalen Computern oder Computersystemen ausgeführt. Die bevorzugte
Realisierung des gesicherten Agenten geschieht auch in einem digitalen
Computer.
-
Die
Erfindung wird im Folgenden beispielhaft mittels der folgenden Zeichnungen
beschrieben, welche zeigen:
-
1:
DCOM-Sicherheitsmodell auf Windows NT nach dem Stand der Technik,
-
2:
DCOM-Sicherheitsmodell auf IBM OS/390 nach dem Stand der Technik,
-
3:
Installation eines gemeinsamen Geheimnisses gemäß der vorliegenden Erfindung,
-
4:
Verfahren zur Zugangskontrolle gemäß der vorliegenden Erfindung,
-
5:
optionales Verfahren der Passwortsynchronisation.
-
1 zeigt
das Prinzip des Distributed Component Object Model (DCOM) Sicherheitskonzepts, wie
es von der Firma Microsoft in ihrem System Windows NT implementiert
ist. Wenn ein Anwender, der in einem ersten Computersystem 1 (Client)
arbeitet, auf Informationen, z.B. Software oder Datenbankinformationen
auf einem zweiten Computersystem 2 (Server) zugreifen möchte, muss
er einen Authentifizierungs- und Autorisierungsprozess durchlaufen, der
unter Windows NT ausgeführt
wird, dem Betriebssystem für
den Client 1 und den Server 2. In einem ersten
Schritt, dargestellt durch den Pfeil 5, sendet der Client 1 eine
Anwenderidentifikation, Domainnamen und Knoten an den Server 2,
der mit einer Anfrage antwortet, dargestellt durch Pfeil 6.
Diese Anfrage wird zusammen mit der Anwenderidentifikation des sich
anmeldenden Anwenders an den Primary Domain Controller (PDC) 3 weitergeleitet,
der in diesem Beispiel an dem entfernten Kontrollort 4 installiert
ist. Dieser Transfer wird unabhängig
durch den Client 1 an PDC 3, gezeigt durch Pfeil 8,
und durch Server 2 an PDC 3, gezeigt durch Pfeil 11,
durchgeführt.
Der PDC 3 berechnet dann die Antwort auf die Anwenderidentifikation
und die Anfrage unter Verwendung des Hash-Werts eines individuellen
Passworts des Anwenders, d.h. den Wert, der aus der Anwendung einer
Hash-Funktion auf ein individuelles Passwort eines Anwenders erhalten
wird. Wie später erklärt, wird
die Hash-Funktion als eine eindeutige (one-way) Funktion verstanden,
d.h. dass sie in einer Richtung ohne Probleme angewandt werden kann, aber
dass es praktisch unmöglich
ist, sie zu invertieren. Die Antwort wird dann an den Client 1 und
den Server 2 übermittelt,
gezeigt durch Pfeile 9 bzw. 10. Zusammen mit der
Antwort wird ein Sitzungsschlüssel
(session key) übermittelt,
der individuell für
eine Sitzung ist, um es schwieriger zu machen, das System auszuforschen.
Schließlich überträgt der Client 1 die
Antwort an den Server 2, wodurch er seine Identität und Autorisierung
beweist.
-
2 zeigt
die Implementierung eines DCOM-Sicherheitskonzepts durch den Anmelder,
die zur Ausführung
in einer IBM-OS/390-Umgebung implementiert ist. Die Basisstruktur
dieses Konzepts ist ähnlich
zu dem oben beschriebenen Konzept von Microsoft. Allerdings sind
die Funktionen des PDC durch die DCOM-Implementierung ersetzt. Hier
tritt ein Anwender, der einen Client 21 betreibt, in Kontakt mit
einem Server 22, wobei beide unter OS/390 laufen. Durch
die Kommunikation 25 sendet der Client 21 seine
Anwenderidentifikation, die ein Individuum oder einen Job darstellen
kann, und verlangt Zugang zu dem Server 22. Mit der Kommunikation 26 antwortet
der Server 22 auf die Anfrage nach Zugang mit einer Anfrage.
Sowohl der Client 21 als auch der Server 22 leiten
die Anwenderidentifikation und die Anfrage an die DCOM-Einheit 23 weiter,
mittels Kommunikationwegen, die durch Pfeile 28 bzw. 31 dargestellt
sind. Die DCOM-Einheit 23 kommuniziert über die
Security Authorization Facility (SAF) 32 mit dem Sicherheitssystem 24,
z.B. RACF, ACF/2 oder TopSecret. Die SAF 32 ist ein Application
Program Interface (Anwendungsprogrammschnittstelle, API), die bedingt
die Steuerung an das Sicherheitssystem 24 überträgt, wenn
sie eine Anfrage von einem Ressourcen-Manager erhält. Das
Sicherheitssystem 24 versorgt die DCOM-Einheit 23 mit
Passwortinformationen, so dass die letztere in der Lage ist, die
Antwort auf die Anwenderidentifikation und Anfrage zu berechnen.
Diese Antwort wird zusammen mit einem. Sitzungsschlüssel an
den Client 21 und den Server 22 durch Kommunikationswege
zurückgesandt,
die durch die Pfeile 29 bzw. 30 dargestellt sind.
Schließlich
leitet der Client die Antwort durch den Kommunikationsweg 27 an
den Server 22 weiter, der entsprechend den Zugang zu dem
Client 21 erlaubt oder zurückweist.
-
Die
in den 1 und 2 beschriebenen Sicherheitssysteme
sind nicht kompatibel, insoweit sie aufgrund ihrer wesentlich verschiedenen
Struktur nicht direkt miteinander kommunizieren können. Zum Beispiel
ist ein DCOM-Object-Server, der in einer OS/390-Umgebung ausgeführt wird,
nicht in der Lage, die richtige Antwort und den Sitzungsschlüssel für einen
entfernten Client auf Windows NT zu bestimmen. Sie können weder
direkt noch indirekt direkt mit einem entfernten PDC kommunizieren,
da kein solches API existiert. Aber selbst wenn ein Mechanismus
implementiert werden könnte,
der PDC-Zugang von Nicht-Windows-Systemen
erlaubt, wäre
er für
die meisten Kunden nicht wünschenswert,
da es bei der Ausführung
von wichtigen (mission critical) Anwendungen aus Leistungsgründen höchst unpraktisch ist,
dass Mainframe-Services kontinuierlich einen entfernten Windows
PDC referenzieren sollen, bevor sie Zugang zu DCOM-Objekten erlauben,
die in demselben OS/390 ausgeführt
werden. Das fundamentalere Problem ist allerdings, dass die zwei
Computersysteme, der Client und der Server, unter verschiedenen
Sicherheitssystemen laufen, so dass die Sicherheitsinformationen
nicht in demselben System vorgehalten werden. Um einem Sicherheitssystem
Zugang zu den geheimen Informationen zu geben, die in dem anderen
Sicherheitssystem gespeichert sind, müssten die geheimen Informationen
zwischen den zwei Sicherheitssystemen übertragen werden, was das ganze
Sicherheitskonzept wesentlich beeinflusst. Das Verfahren und System
gemäß der vorliegenden Erfindung
ist in der Lage, dieses Problem zu vermeiden.
-
3 zeigt
den Initialisierungsschritt für
das erfinderische Verfahren, die Installation eines gemeinsamen
Geheimnisses zwischen den zwei verschiedenen Sicher heitssystemen,
z.B. dem Windows NT und dem OS/390 Sicherheitssystem. In diesem Fall
ist der Client ein erstes Computersystem 40, z.B. eine
NT-Workstation.
Wenn der Anwender ein Passwort für
seinen Zugang zu dem ersten Computersystem, dem Client 40,
eingibt oder ändert,
wird das Passwort bzw. die Passwortänderung an das erste Sicherheitssystem 41 übertragen,
das für
das erste Computersystem 40 verantwortlich ist. Das Sicherheitssystem 41 kann
z.B. ein PDC eines Windows NT-Systems sein, wie oben beschrieben.
Es ist mit einer Dynamic Link Library (DLL) 42 zur Passwortänderung
verbunden. DLL 42 ist selbst mit einem ersten Dämon 43 verbunden.
In Zusammenhang dieser Erfindung ist ein Dämon ein Prozess, der kontinuierlich nach
eingehenden Kommunikationen horcht und der an einem bestimmten Anschluss
(Port) angeordnet ist. Im Falle einer Passwortänderung wird das geänderte Passwort
oder der Unterschied zwischen dem alten und dem neuen Passwort durch
das erste Sicherheitssystem 41 an die DLL 42 übertragen,
welche sie erfasst und an den ersten Dämon 43 weiterleitet.
Dieser Dämon 43 berechnet
einen sicheren Wert des Passworts oder der Passwortänderung,
indem er eine Funktion darauf anwendet, z.B. eine Hash-Funktion, und daraufhin
den sicheren Wert zusammen mit der Anwenderidentifikation des Anwenders
an den zweiten Dämon 44 überträgt, der
auf dem zweiten Computersystem 45 angeordnet ist, z.B.
einem Server, der unter OS/390 läuft.
Der Dämon 44 leitet
den sicheren Wert und die Anwenderidentifikation weiter zu einem
gesicherten Agenten 46, der dann das zweite Sicherheitssystem 47 aktualisiert,
z.B. RACF für
OS/390. Damit wissen sowohl das erste Sicherheitssystem 41 als
auch das zweite Sicherheitssystem 47 den sicheren Wert,
der das neue Passwort oder die Passwortänderung darstellt, die deshalb
als ein gemeinsames Geheimnis betrachtet wird. Es sei bemerkt, dass
der gesicherte Agent 46 nicht innerhalb des zweiten Computersystems 45 installiert
sein muss. Er könnte
auch entfernt angeordnet sein, z.B. an einer administrativ vorteilhaften
Position.
-
In 3 kann
die Übertragung
des gemeinsamen Geheimnisses von dem ersten Dämon 43 an den zweiten
Dämon 44 sicherer
gemacht werden, wenn das gemeinsame Geheimnis, d.h. der Passwort-Hash,
vor dem Senden verschlüsselt
wird. Die Entschlüsselung
kann dann irgendwo in dem zweiten Computersystem stattfinden, vorzugsweise
in dem zweiten Sicherheitssystem 47, welches der endgültige Empfänger des
gemeinsamen Geheimnisses auf der Seite des zweiten Computersystems 45 ist.
-
4 zeigt
eine Ausführungsform
gemäß der vorliegenden
Erfindung. Ein Client 50 arbeitet unter einem ersten Sicherheitssystem 51,
z.B. einer NT-Workstation 50, die unter der Steuerung von
PDC 51 arbeitet. Der Client 50 sendet eine Anfrage 54,
die wenigstens aus einer Anwenderidentifikation, falls nötig auch
aus einem Domain-Namen und einem Knoten besteht, an das zweite Computersystem 64, vorzugsweise
einen Server. Die Zugangskontrolleinheit 57, z.B. ein DCOM-Sicherheitssystem
auf OS/390 wie in 2 oben beschrieben, in dem zweiten
Computersystem 64, das in diesem Beispiel unter OS/390
läuft,
antwortet mit einer Anfrage 55. Das erste Computersystem 50 leitet
dann die Anwenderidentifikation und die Anfrage an das erste Sicherheitssystem 51 über den
Kommunikationsweg 52 weiter. Das erste Sicherheitssystem 51 antwortet
mit der Rücksendung
einer ersten Antwort und regelmäßig mit
einem Sitzungsschlüssel über den
Kommunikationsweg 53. Diese Antwort wird mittels eines
gemeinsamen Geheimnisses berechnet, das in dem ersten Sicherheitssystem 51 registriert
ist. Die Zugangskontrolleinheit 57 leitet die Anwenderidentifikation
zu dem gesicherten Agenten 60 über den Kommunikationsweg 58 weiter.
Der gesicherte Agent 60 überträgt dann die Anwenderidentifikation
an das zweite Sicherheitssystem 63, z.B. ein RACF für OS/390.
Dieses zweite Sicherheitssystem 63 sendet dann das gemeinsame
Geheimnis an den gesicherten Agenten 60 zurück, der
es an die Zugangskontrolleinheit 57 weiterleitet, wobei
dem letzteren ermöglicht
wird, eine zweite Antwort zu berechnen und falls erforderlich, den
Sitzungsschlüssel.
Die Zugangskontrolleinheit 57 ist in der Lage, dieselben
Regeln zum Berechnen einer Antwort auf eine Anfrage anzuwenden,
wie das erste Sicherheitssystem 51. Schließlich leitet
das erste Computersystem 50 seine erste Antwort über den
Kommunikationsweg 56 an die Zugangskontrolleinheit 57 des
zweiten Computersystems 64 weiter, die es mit der zweiten
Antwort vergleicht, die er von dem gesicherten A genten 60 erhalten
hat. Wenn die erste und die zweite Antwort identisch sind, wird
dem Anwender oder Client Zugang gewährt, sonst wird der Zugang
abgelehnt.
-
Der
gesicherte Agent 60, der in diesem Beispiel auf dem zweiten
Computersystem unter OS/390 läuft,
muss Steuerung in einem APF-Zustand erlangen, d.h. er wird als ein
autorisiertes Programm ausgeführt.
APF-Zustand bedeutet, dass ein Programm aus einer Programmbibliothek
geladen wurde, die als eine autorisierte Bibliothek festgelegt wurde,
und das Programm wurde mit AC = 1 geladen (linkedited). In diesem
Zustand ist es erlaubt, gesicherte MVS-Kontrollblöcke auf
Weisen zu verändern,
die ein Umgehen der normalen Sicherheitskontrollen erlauben. Es
kann z.B. Aufrufe an das Sicherheitssystem 63 im Namen
von anderen Anwendern weiterleiten und kann auf Anwenderdaten zugreifen.
Eine Aufgabe des gesicherten Agenten 60 ist es, wie beschrieben,
neue Hash-Werte von Passwörtern
(hashed passwords) zu empfangen und sie in dem Sicherheitssystem 63 zu
speichern. Wenn ein neuer verschlüsselter Hash-Wert eines Passworts
für eine spezifische
Anwenderidentifikation erhalten wird, wird das Sicherheitsprofil
dieses Anwenders mit dem neuen Wert aktualisiert, und das Statusfeld
wird entsprechend gesetzt. Das Sicherheitssystem 63 hat dann
alle notwendigen Informationen, um diesem Anwender Zugang unter
OS/390 zu erlauben. Die andere Aufgabe des gesicherten Agenten 60 besteht darin,
bei der Authentifizierung zu unterstützen, indem der verschlüsselte Hash-Wert
des Passworts von dem Sicherheitssystem 63 abgerufen wird,
wie oben beschrieben.
-
In
dem in 4 beschriebenen Beispiel kann der gesicherte Agent 60 eng
an die Zugangskontrolleinheit 57 über eine bestimmte Kommunikationsleitung „gebunden" sein, gemäß dem folgenden
Prinzip: Zur Zeit der Installation spezifiziert ein Systemadministrator,
dass der gesicherte Agent, wenn er läuft, in einem Prozess mit APF-Status
gestartet wird. Sobald die Zugangskontrolleinheit 57 auf
OS/390 startet, öffnet
sie eine bestimmte Kommunikationsverbindung und startet den Prozess
des gesicherten Agenten. Dies garantiert, dass nur die Zugangskontrolleinheit 57 den
gesicherten Agenten starten und mit ihm kommunizieren kann. Auf
der Seite des zweiten Sicherheitssystems 63 verwendet der
gesicherte Agent 60 standardisierte Kommunikationsaufrufe,
z.B. SAF API-Aufrufe.
-
Das
in Zusammenhang mit 4 beschriebene erfinderische
Verfahren stellt plattformübergreifende
Interoperabilität
zwischen verschiedenen Sicherheitssystemen bereit, ohne die Übermittlung
von irgendwelchen Anwenderpassworten während des normalen Betriebs,
was immer ein schwacher Punkt in jedem verteilten System ist. Dieses
Verfahren ist nicht-eingreifend. Das bedeutet, dass es keinen Einfluss
auf den Anwender oder auf die Sicherheitssysteme gibt. Wenn der
Anwender sich entscheidet, direkt auf das zweite Computersystem
zuzugreifen und nicht entfernt über
das erste Computersystem, bedeutet dies, dass sein SAF-Sicherheitsprofil
unbeeinflusst bleibt. Sicherheitsadministratoren müssen ihre Sicherheitsumgebungen
in keiner Weise modifizieren und können mit dem Gebrauch ihrer
vorhandenen Sicherheitsregeln fortfahren. Die erfinderische Lösung kann
Standard-APIs (Anwendungsprogrammschnittstellen, Application Program
Interfaces) von existierenden Sicherheitssystemen verwenden. Zusätzlich kann
das erfinderische Verfahren leicht erweitert werden, um sich entwickelnde
Sicherheitssysteme zu unterstützen.
-
Ein
optionales Merkmal des erfinderischen Verfahrens, das allerdings
die Sicherheit des Systems schwächen
kann, ist die Fähigkeit
zum automatischen Synchronisieren von Passwörtern zwischen Systemen und
Plattformen. Eine beispielhafte Ausführungsform für dieses
Merkmal ist in 5 gezeigt. Es zeigt das Konzept
einer Passwortsynchronisation zwischen zwei verschiedenen Sicherheitssystemen. Regelmäßig verwenden
die verschiedenen Sicherheitssysteme verschiedene Passwörter, um
den Zugang zu ihrem System zu überprüfen. Wenn
das Passwort eines Anwenders für
seinen Zugang in ein erstes Computersystem 70, das unter
einem ersten Sicherheitssystem läuft,
geändert
werden soll, und diese Änderung
an ein zweites Computersystem 72 mitgeteilt werden soll,
das unter einem zweiten, verschiedenen Sicherheitssystem 75 arbeitet,
um die Passwörter
unter den zwei Si cherheitssystemen zu synchronisieren, sendet der
Client 70 die Anwenderidentifikation, altes und neues Passwort
und das gemeinsame Geheimnis, zum Beispiel den Hash-Wert, der aus
dem neuen Passwort abgeleitet ist, alles in verschlüsselter
Form an den gesicherten Agenten 73. Der gesicherte Agent 73 steht
in Kommunikation mit dem zweiten Computersystem 72 und
kann, muss aber nicht, wie es hier gezeigt ist, Teil des zweiten
Computersystems 72 sein. Der gesicherte Agent 73 entschlüsselt die übertragenen
verschlüsselten Informationen
und leitet das neue Passwort und das gemeinsame Geheimnis, das aus
dem neuen Passwort berechnet wurde, an das zweite Sicherheitssystem 75 weiter.
Das Ergebnis dieses Prozesses besteht darin, dass das zweite Sicherheitssystem über die
vollständigen
Informationen über
die Passwörter des
ersten Sicherheitssystems für
den betroffenen Anwender verfügt.
Damit wird die Kommunikation zwischen den Sicherheitssystemen viel
leichter gemacht, da jede Verwirrung vermieden wird, die aus dem
Gebrauch von verschiedenen Passwörtern
resultiert.
-
Die
vorliegende Erfindung stellt deshalb ein Verfahren und Werkzeug
zum Unterstützen
des kontrollierten Zugangs eines Anwenders eines ersten Systems
zu entfernten zweiten Systemen bereit, wobei die Systeme durch verschiedene
Sicherheitssysteme gesteuert werden.