Hintergrund der Erfindung
-
Die Erfindung bezieht sich auf verteilte Datenverarbeitungssysteme und betrifft
insbesondere ein Datenverarbeitungssystem mit einer Anzahl von Servern, die miteinander
über eine oder mehrere Zwischenverbindungs-Routen verbunden sind. Unter "Server"
ist ein Gerät zu verstehen, das für das System einen gewissen Service liefert,
beispielsweise ein Computer, der einen Datenverarbeitungsservice oder einen elektronischen
Postservice ergibt. Die Zwischenverbindungs-Routen können beispielsweise ein
Lokalbereichs-Netzwerk (LAN) oder eine Telefonverbindung darstellen.
-
Die Erfindung befaßt sich insbesondere mit verbündeten Computersystemen. Ein
verbündetes System ist ein verteiltes Datenverarbeitungssystem, bei dem kein zentrales
Steuergerät oder zentraler Datenspeicher vorhanden ist. Jeder Server ist in der Lage,
autonom zu arbeiten, und es gibt keine Master-Einheit, die den Betrieb des Systems
dirigiert.
-
Bei einem solchen System können Server Informationen dadurch austauschen, daß
Verbindungen zwischen ihnen über die Zwischenverbindungs-Routen aufgebaut werden.
Eine jede solche Verbindung zwischen zwei Servern ist asymmetrisch insoferne, als der
Server am einen Ende den Verbindungsvorgang startet. Dieser Server wird nachstehend
als Auslöser (initiator) bezeichnet, während der Server am anderen Ende als Beantworter
(responder) bezeichnet wird.
-
In einem verbündeten System ist ein wichtiges Kriterium das der Sicherheit, d.h., daß
sichergestellt sein muß, daß nur die Server, die eine Erlaubnis zum Zugriff von Servern
haben, Zugang haben. Wenn eine Verbindung abgefragt wird, muß insbesondere eine
Prüfung vorgenommen werden, die die Gültigkeit dieser Verbindung betrifft. Eine
Prüfung muß deshalb in Hinblick darauf erfolgen, ob der Beantworter ausreichend sicher
ist, um die Erfordernisse des Auslösers zu erfüllen, ob eine geeignete Route bzw. ein
geeigneter Leitweg zwischen den beiden Servern vorhanden ist, die die Sicherheit ihrer
Konversationen gewährleistet, und ob der Beantworter bereit ist, von dem Auslöser
benutzt zu werden.
-
Dieses Problem der Gewährleistung von Sicherheit wird noch durch die vollständig
verzweigte Art des Systems und durch die Tatsache, daß keine einzige zentrale Autorität
zur Steuerung der Sicherheit des Systems vorhanden ist, erschwert.
-
R.M. Wong et al beschreiben in "Issues in secure distributed operating systems design",
COMPCON 89, IEEE, Februar 27 - März 3, 1989, San Francisco, CA, Seiten 338 - 341
ein verteiltes System mit einem Sicherheitsmechanismus, der auf Eigenschaften basiert,
von denen jede aus einem Servernamen, einem Objektidentifizierer und Zugriffsrechten
besteht. Der Server schützt die Zugriffsrechte zu einer Eigenschaft dadurch, daß ein
Genehmigungsfeld hinzugefügt wird, das einen spezifischen Schlüssel für jedes Objekt
verwendet.
-
Aufgabe der Erfindung ist es, das Problem der Erzielung einer Sicherheit in einem
verbündeten System zu lösen.
Kurzbeschreibung der Erfindung
-
Gemäß der Erfindung ist ein verteiltes Datenverarbeitungssystem mit einer Vielzahl von
Datenverarbeitungsgrössen einschließlich eines Auslösers und eines Beantworters, und
mit einer verteilten Zugriffssteuerung zum Aufbau einer logischen Verknüpfung
zwischen dem Auslöser und dem Beantworter über eine ausgewählte Route, um dem
Auslöser und dem Beantworter den Austausch von Informationen zu ermöglichen,
dadurch gekennzeichnet, daß der Auslöser so ausgebildet ist, daß er eine erste
Sicherheitsbewertung (R1), die die Auslöser-Bewertung des eigenen Sicherheitspegels darstellt,
eine zweite Sicherheitsbewertung (R2), die die Auslöser-Bewertung des
Sicherheitspegels des Beantworters darstellt, und eine dritte Sicherheitsbewertung (R3), die die
Auslöser-Bewertung des Sicherheitspegels der Route darstellt, speichert,
daß der Beantworter so ausgebildet ist, daß er eine vierte Sicherheitsbewertung (R4), die
die Beantworter-Bewertung des eigenen Sicherheitspegels darstellt, eine fünfte
Sicherheitsbewertung (R5), die die Beantworter-Bewertung des Auslöser-Sicherheitspegels
darstellt, und eine sechste Sicherheitsbewertung (R6), die die Beantworter-Bewertung des
Sicherheitspegels der Route darstellt, speichert,
-
die verteilte Zugriffssteuerung eine Vorrichtung (2-2, 2-3, 2-6) im Auslöser aufweist, um
ein erstes kombiniertes Sicherheitsrating (LA3) zu erzielen, das eine Kombination von
ersten, zweiten und dritten Sicherheitsratings (R1, R2, R3) darstellt, und um eine
Verbindungsanfrage einschließlich des ersten kombinierten Sicherheitsrating an den
Beantworter zu senden, und
-
die verteilte Zugriffssteuerung ferner eine Vorrichtung (3-2, 3-3) im Beantworter
aufweist, um ein zweites kombiniertes Sicherheitsrating (LA6) zu erzielen, das eine
Kombination des ersten kombinierten Sicherheitsrating (LA3) mit den vierten, fünften und
sechsten Sicherheitsratings (R4, R5, R6) darstellt, und um eine Bestätigungsnachricht,
die das zweite kombinierte Sicherheitsrating einschließt, an den Auslöser sendet.
Kurzbeschreibung der Zeichnungen
-
Fig. 1 ist ein Blockschaltbild eines verteilten Datenverarbeitungssystems.
-
Fig. 2 ist ein Flußschema, das die durch einen Auslöser bei der Herstellung einer
vorgeschlagenen Verbindung durchgeführten Arbeitsvorgänge zeigt.
-
Fig. 3 ist ein Flußschema, das die von einem Beantworter bei der Hersteung einer
vorgeschlagenen Verbindung vorgenommenen Arbeitsvorgänge zeigt.
Beschreibung einer Ausführungsform der Erfindung
-
Ein verteiltes Datenverarbeitungssystem nach der Erfindung wird nachstehend anhand
eines Ausführungsbeispiels in Verbindung mit den Zeichnungen erläutert.
-
Nach Fig. 1 weist das verteilte Datenverarbeitungsssystem eine Mehrzahl von Servern
10, 11, 12 auf, die durch Routen bzw. Leitwege 13, 14 miteinander verbunden sind.
-
Beispielsweise können die Server freistehende Computer sein, von denen jeder in der
Lage ist, einen unabhängigen Betrieb durchzuführen wie auch dem System als Ganzes
einen Service zu bieten. Die Zwischenverbindungs-Leitwege bzw.-Routen können
Lokalbereichsnetze oder Telefonverbindungen darstellen.
-
Das System ist als verbündetes System organisiert, d.h., daß kein zentrales Steuergerät
oder kein zentraler Speicher zur Steuerung des Betriebes des Systems als Ganzes
vorgesehen ist. Stattdessen wird die Verantwortung für die Systemsteuerung unter den
individuellen Servern geteilt.
-
Die Sicherheit im System wird mit Hilfe von Sicherheitspegeln beschrieben, die den
Servern und den Leitwegen zwischen Servern zugeordnet sein können. Aufgrund der
verbündeten Natur des Systems gibt es keine einzelne Informationsquelle über
Sicherheitspegel im System. Stattdessen hat jeder Server seine eigene lokale Betrachtung der
Sicherheitspegel im System. Diese besteht aus einer Tabelle, die ein Sicherheitsrating
für jeden Server im System und für jeden Zwischenverbindungs-Leitweg enthält. Es ist
wesentlich, daß die lokalen Betrachtungen, die in unterschiedlichen Servern enthalten
sind, nicht die gleichen sein brauchen; beispielswese können unterschiedliche Server
einem bestimmten Leitweg unterschiedliche Sicherheitsratings geben.
Sicherheitsratings
-
Jedes Sicherheitsrating weist einen Satz von Sicherheitsfaktoren auf, wobei jeder Faktor
nacheinander einen Satz von Werten darstellt. Beispielsweise kann ein
Sicherheitsrating für einen bestimmten Server wie folgt beschaffen sein:
-
(FARBE (ROT, BLAU, GELB), TAG = (MONTAG)).
-
Das Sicherheitsrating besteht dabei aus zwei Faktoren FARBE und TAG, wobei der
Faktor FARBE aus drei Werten ROT, BLAU und GELB besteht, während der Faktor TAG nur
aus einem einzigen Wert MONTAG besteht.
-
Bei diesem Beispiel gibt das Sicherheitsrating an, daß der Server berechtigt ist,
elektronische Dokumente nur mit Statuscodierungen ROT, BLAU oder GELB, und nur am
MONTAG aufzunehmen.
-
Ein Sicherheitsfaktor, der nur einen einzigen Wert enthält (z.B. den Faktor TAG), wird
hier als ein exakter Faktor bezeichnet, da er angibt, daß eine bestimmte Bedingung
genau erfüllt sein muß. Umgekehrt wird ein Faktor, der aus mehr als einem Wert besteht
(z.B. der Faktor FARBE in dem vorstehenden Beispiel) als ein nicht exakter Faktor
bezeichnet, da er angibt, daß eine Auswahl über diesen Faktor getroffen werden kann. In
ähnlicher Weise wird ein Sicherheitsrating, das nur exakte Faktoren besitzt, als ein
exaktes Rating bezeichnet, während ein Rating, das einen oder mehrere nicht exakte
Faktoren enthält, als ein nicht exaktes Rating bezeichnet wird.
Fehlerratings
-
Die folgenden Regeln sind so spezifiziert, daß sie Fehlerbedingungen abdecken, wenn
einige oder alle der Informationen in einem Sicherheitsrating weggelassen sind.
-
(i) Wenn ein Sicherheitsrating vollständig weggelassen ist, wird angenommen, daß
dieses äquivalent einem Rating ist, das alle möglichen Faktoren mit allen möglichen
vorhandenen Werten umfaßt.
-
(ii) Wenn ein Faktor aus einem Sicherheitsrating weggelassen wird, wird
angenommen, daß dies ein Äquivalent für den Faktor ist, der bei allen möglichen Werten
vorhanden ist.
-
(iii) Ein Leerfaktor (d.h. einer mit keinen Werten) wird nicht zugelassen. Es ist jedoch
möglich, einem Faktor einen speziellen NULL-Wert zu geben.
Bindung von Sicherheitsratings
-
Im Betrieb des Systems können unterschiedliche Sicherheitsratings durch einen Vorgang
miteinander kombiniert werden, der als "Bindung" bezeichnet wird. Dieser besteht
darin, die logische Schnittstelle der Ratings so auszubilden, daß ein resultierendes Rating
geschaffen wird, das aus Werten besteht, die allen diesen Ratings gemeinsam sind.
Wenn ein bestimmter Faktor in einem oder mehreren der Ratings nicht vorhanden ist,
gelten die oben genannten Fehlerregeln.
-
Beispielsweise werden die beiden Ratings betrachtet:
-
(TAG = (SAM, SON, MON), FARBE = (ROT, BLAU))
-
(TAG = (MON, DIE)).
-
Das Ergebnis der Bindung dieser beiden Ratings ist:
-
(TAG = (MON), FARBE = (ROT, BLAU)).
-
Bei diesem Beispiel ist der Faktor FARBE im zweiten Rating nicht vorhanden, und es
wird deshalb als Fehlerbedingung angenommen, daß dieser Faktor bei allen möglichen
Werten vorhanden ist.
Einleiten einer Verbindung
-
Bevor zwei beliebige Server Informationen austauschen können, muß zuerst eine
logische Verknüpfung, die hier als Verbindung bezeichnet wird, zwischen ihnen hergestellt
werden. Der Server, der die Verbindung herstellt, wird als der Auslöser, und der andere
Server als Beantworter bezeichnet.
-
Wie vorstehend ausgeführt, ist der Sicherheitspegel eines Servers oder eines Leitweges
bzw. einer Route nicht absolut durch eine einzelne Autorität bekannt. Stattdessen hängt
der Sicherheitspegel, der einer bestimmten Verbindung zugeschrieben wird, von einer
Zwischenwirkung zwischen dem Auslöser und dem Beantworter ab, wobei die lokal
gehaltenen Sicherheitsratings in jedem von ihnen berücksichtigt werden.
-
Die folgende Liste gibt die verschiedenen Sicherheitsratings an, die den Sicherheitspegel
einer bestimmten vorgeschlagenen Verbindung beeinflussen können.
-
R1: Das Auslöserrating selbst.
-
R2: Das Auslöserrating des Beantworters.
-
R3: Das Auslöserrating des Leitweges oder der Leitwege, die zum Verbinden mit dem
Beantworter zur Verfügung stehen.
-
R4: Das Beantworterrating selbst.
-
R5: Das Beantworterrating des Auslösers.
-
R6: Das Beantworterrating des Leitweges, der vom Auslöser gewählt worden ist.
Auslöser
-
Fig. 2 zeigt die Betriebsweise des Auslösers bei der Herstellung einer Verbindung.
-
(2-1) Der Auslöser spezifiziert einen gewünschten Sicherheitspegel (RSL) fiir die
Verbindung.
-
(2-2) Der Auslöser bindet dann den Pegel RSL an die Ratings R1 und R2, um ein
resultierendes Sicherheitsrating LA2 zu erzeugen. Wenn LA2 leer ist (d.h. keine sich
überschneidenden Ratings in RSL, R1 und R2 vorhanden sind), ist die versuchte Verbindung
fehlerhaft, da es nicht möglich ist, die Sicherheitsbedingungen des Auslösers zu erfüllen.
-
(2-3) Der Auslöser wählt nunmehr einen Leitweg zum Beantworter und bindet das
Sicherheitsrating dieses gewählten Leitweges an LA2, um ein resultierendes
Sicherheitsrating LA3 zu erzeugen. Wenn es nicht möglich ist, einen Leitweg zu finden, für den
LA3 nicht-leere Ratings besitzt, ist die versuchte Verbindung fehlerhaft.
-
(2-4) Die nächste Aktion, die durchgeführt wird, hängt davon ab, ob das Rating R2 (d.h.
die Auslöser-Betrachtung des Sicherheitsrating des Beantworters) exakt oder nicht exakt
ist.
-
(2-5) Wenn das Rating R2 exakt ist (d.h. nur exakte Faktoren nach obiger Definition
enthält), bedeutet dies, daß der Auslöser dem Beantworter nicht zutraut, die Sicherheit
zu diskutieren. Das heißt, dem Beantworter kann nicht unterstellt werden, daß er
Sicherheitsinformationen aufnimmt oder Entscheidungen über Sicherheitspegel trifft, und
der Auslöser muß die gesamte Verantwortung für die Sicherheit der Verbindung
übernehmen.
-
In diesem Fall sendet der Auslöser deshalb eine Verbindungsanfrage-Nachricht an den
Beantworter, die keine Sicherheitsinformationen enthält.
-
(2-6) Wenn andererseits R2 nicht exakt ist (d.h. mindestens einen nicht exakten Faktor
enthält), bedeutet dies, daß der Auslöser davon ausgeht, daß der Beantworter in der
Lage ist, Sicherheitspegel zu diskutieren. Der Auslöser überträgt deshalb eine
Verbindungsanfrage-Nachricht auf den Beantworter, die alle Faktoren von LA3 enthält, welche
nicht-exakten Faktoren von R2 entsprechen. Diese Faktoren stellen die Ansicht des
Auslösers über das dar, was der Beantworter über den gewünschten Sicherheitspegel wissen
muß. Faktoren in LA3, die exakten Faktoren in R2 entsprechen, werden nicht
übertragen, da der Auslöser annimmt, daß der Beantworter nicht in der Lage ist, diese Faktoren
zu diskutieren.
-
Der Nutzeffekt besteht darin, daß der Auslöser nur Sicherheitsinformationen sendet, von
denen er annimmt, daß dem Beantworter zugetraut wird, daß er sich korrekt benimmt.
-
Wenn er dem Beantworter überhaupt nicht traut, sendet er an ihn keine
Sicherheitsinformationen.
Beantworter
-
Fig. 3 zeigt die Aktion des Beantworters, wenn er eine Verbindungsanfrage-Nachricht
empfängt.
-
(3-1) Die Aktion des Beantworters hängt davon ab, ob eine Sicherheitsinformation (LA3)
in der Verbindungsanfrage enthalten ist.
-
(3-2) Falls eine Sicherheitsinformation vorhanden ist, bindet der Beantworter LA3 an
R4, R5 und R6 an, um einen resultierenden Sicherheitspegel LA6 zu erzeugen. Wenn
LA6 Leerratings aufweist, ist die versuchte Verbindung fehlerhaft.
-
(3-3) Wenn die versuchte Verbindung nicht fehlerhaft ist, wird sie nunmehr als
erfolgreich angesehen. Der Beantworter gibt eine Bestätigungsnachricht an den Auslöser,
informiert ihn, daß die Verbindung erfolgreich abgeschlossen worden ist, und informiert
ihn ferner von dem End-Sicherheitspegel LA6 für die Verbindung für diese Ratings in
LA3. Der Beantworter übernimmt dann diesen Pegel LA6 als seine Betrachtung des
Gesamtsicherheitspegels SLA für diese Verbindung.
-
(3-4) Wenn andererseits keine Sicherheitsinformationen in der Verbindungsanfrage
enthalten sind, bindet der Beantworter die verfügbaren lokalen Sicherheitsratings R4, R5
und R6 an, um den Sicherheitspegel LA6 zu erzeugen, und übernimmt dies als seine
Ansicht des Gesamtsicherheitspegels SLA der Verbindung. Wie vorher, gibt der
Beantworter eine Bestätigungsnachricht an den Auslöser, in diesem Fall jedoch enthält die
Nachricht keine Sicherheitsinformationen.
-
Nach Fig. 2 ist die Aktion des Auslösers beim Empfang einer Bestätigungsnachricht wie
folgt.
-
(2-7) Der Auslöser prüft, ob die Bestätigungsnachricht einen Sicherheitspegel mit einem
Teilsatz von LA6 Ratings enthält.
-
(2-8) Ist dies zutreffend, nimmt der Auslöser diesen Teilsatz von LA6 und die anderen
Ratings von LA3 als seine Ansicht des Gesamtsicherheitspegels SLA der Verbindung an.
-
(2-9) Andernfalls verwendet der Auslöser LA3 als seine Ansicht des
Gesamtsicherheitspegels.
-
Zusammenfassend läßt sich feststellen, daß der Auslöser dort, wo er nicht glaubt, daß
der Beantworter in der Lage ist, Sicherheit zu diskutieren, keine
Sicherheitsinformationen auf ihn überträgt. In diesem Fall verlassen sich der Auslöser und der Beantworter
ausschließlich auf ihre eigene lokale Kenntnis der Sicherheitspegel in dem System, um
zu entscheiden, ob die Verbindung erfolgreich ist oder nicht, und jeder gewinnt seine
eigene Ansicht über den Gesamtsicherheitspegel für die Verbindung.
-
Wenn andererseits der Auslöser annimmt, daß der Beantworter in der Lage ist,
Sicherheit zu diskutieren, erfolgt ein Dialog zwischen ihnen, um einen akzeptierten
Gesamtsicherheitspegel auf der Basis der lokalen Ansichten sowohl des Auslösers als des
Beantworters aufzubauen.
-
Bei dem beschriebenen System ist es für den Auslöser und den Beantworter nicht
erforderlich, ein gemeinsames Sicherheitsvokabular zu haben, d.h., der eine kann
Sicherheitsfaktoren betrachten, von denen der andere nichts weiß. Dies vermeidet die
Notwendigkeit, das Sicherheitsvokabular der Server zu synchronisieren und vermeidet die
Notwendigkeit, daß Sicherheitsinformationen unnötig ausgetauscht werden, die in sich
die Sicherheit gefährden könnten.