-
Die vorliegende Erfindung bezieht
sich auf die Schaffung eines gesteuerten Zugriffs auf Daten und/oder
Software-Prozesse in einer verteilten Umgebung. Sie findet besondere
Anwendung in der Sicherheit von Datenbanken.
-
In der Vergangenheit konnten Anwender Software-Anwendungen
von ihren Endgeräten
ausführen,
indem sie z. B. auf die Anwendungs-Software auf einem Anwendungs-Server
zugegriffen haben. Die Anwendung selbst kann zum Anwenderendgerät heruntergeladen
werden oder es kann nur eine geeignete Vorfeldeinrichtung für die Anwendung
heruntergeladen werden, wie z. B. Formulare und Auswahltasten, wobei
die Anwendung auf dem entfernten Server verbleibt. Eine Anwendung,
auf die durch einen Anwender zugegriffen wird, kann dann dem Anwender
Zugriff auf andere Software-Prozesse oder die in einer Datenbank
gespeicherten Daten geben.
-
In einer verteilten Umgebung kann
die Anwendung oder die Datenbank an einem vom Anwender entfernten
Standort über
ein oder mehrere Netze installiert sein. Um die Anwendung auszuführen oder auf
die Datenbank zu zugreifen, benötigt
der Anwender Leitweginformationen (oder "Verbindungs"-Informationen) irgendeiner Art, wie
z. B. eine Netzadresse. Falls der Anwender auf die Datenbank direkt
zugreifen will, benötigt
er Verbindungsinformationen für die
Datenbank. Falls der Anwender eine Anwendung ausführen will
und die Anwendung einfach eine Vorfeldeinrichtung für eine Datenbank
ist, sind die Verbindungsinformationen, die der Anwender benötigt, effektiv
abermals die Verbindungsinformationen für die Datenbank selbst. Wenn
der Anwender die Verbindungsinformationen für eine Datenbank erhalten kann,
gibt es eine potenzielle Schwäche
in der Zugriffsteuerung.
-
Die Zugriffsteuerung ergibt sich,
wenn eine Anforderung für
Zugriffsbeschränkungen
auf eine Anwendung oder Datenbank vorhanden ist, z. B. so, dass
sie nur von Abonnenten verwendet werden kann. Alternativ kann es
sein, dass einige Anwender alle verfügbare Funktionalität verwenden
können, während andere
von einiger Funktionalität
ausgeschlossen sind, z. B. infolge der Beschreibung des Ranges oder
der Stellung. Diese Situation würde
sich ergeben, wo Kontopersonal sowohl Lese- als auch Schreibzugriff
auf die Kontodatenbanken einer Gesellschaft benötigt, das Personal anderswo
in der Gesellschaft aber auf lediglich den Lesezugriff und auf das
Zugreifen der Daten, die nur mit ihnen selbst in Beziehung stehen,
eingeschränkt
sein könnte.
-
(Ein Endgerät eines Anwenders wird heutzutage
normalerweise ein Personal-Computer sein. Es könnte jedoch genauso wenig oder
keine eigene Verarbeitungskapazität sitzen und statt dessen Zugriff auf
Verarbeitungskapazität
anderswo besitzen. Die Verwendung des Wortes "Endgerät" hierin sollte nicht als eine Angabe
der Fähigkeiten
der Ausrüstung
des Anwenders verstanden werden. Er wird einfach verwendet, um jenen
Teil der Ausrüstung
des Anwenders zu bezeichnen, auf den der Anwender Zugriff besitzt,
um Eingaben auszuführen.)
-
Um eine Sicherheitsüberprüfung bereitzustellen,
ist es bekannt, einen Authentifizierungsprozess in eine Anwendung
oder die Vorfeldeinrichtung der Datenbank zu schreiben, so dass
sie nur ausgeführt
wird, wenn ein gültiger
Kenncode (ID) und ein gültiges
Passwort durch den Anwender eingegeben worden sind. Die Anwendung
oder die Vorfeldeinrichtung können
außerdem
z. B. eine gespeicherte Menge von "Anwenderprofilen" besitzen, die es aber erlauben, die
Fähigkeiten,
die sie einem Anwender bietet, auf eine eingeschränkte Menge
der Fähigkeiten maßzuschneidern,
für die
der Anwender spezifisch registriert ist.
-
Wie oben erwähnt worden ist, kann ein Problem
auftreten, wenn ein Anwender Verbindungsinformationen für eine Datenbank,
wie z. B. eine Netzadresse, erhalten kann. Der Anwender könnte die Verbindungsinformationen
legitim besitzen, weil er wenigstens eingeschränkte Rechte besitzt, um auf die
Datenbank direkt zu zugreifen. Alternativ könnte der Anwender legitime
Rechte besitzen, um eine Anwendung innerhalb ihrer eigenen Umgebung
auszuführen,
die Zugriff auf eine entfernte Datenbank gibt, wobei die Anwendung
die Netzadresse für
die Datenbank innerhalb der Umgebung des Anwenders speichern kann.
Ein Anwender, der ein technischer Experte ist, kann dann in der
Lage sein, die Verbindungsinformationen für die Datenbank zu extrahieren,
weil er z. B. weiß,
wo in ihrer Umgebung die Verbindungsinformationen gespeichert sind.
-
Werden jedoch der Anwender Verbindungsinformationen
für eine
Datenbank erhält,
ist das Problem, dass der Anwender dann die Anwendung oder die Vorfeldeinrichtung
potenziell umgehen kann, die normalerweise die Daten einschränken würden, die er
in der Datenbank betrachten kann. Der Anwender könnte z. B. unter Verwendung
einer anderen Anwendung oder eines anderen Werkzeugs, insbesondere
eines, das diesen Anwender nicht einschränkt, auf die Datenbank zugreifen.
Alles was der Anwender tun muss, ist, der Ersatzanwendung oder dem
Ersatzwerkzeug die Verbindungsinformationen für die Datenbank zu geben.
-
EP-A-0 794 479 offenbart ein Zugriffssteuersystem,
in dem die Client-Authentifizierung bei jeder Zugriffsanforderung
ausgeführt wird.
EP-A-0 658 848 offenbart den Schutz eines Clients vor dem Schaden, der
durch einen unbekannten oder nicht vertrauenswürdigen Server verursacht wird,
indem ein vertrauenswürdiger
Vertreter im Server installiert wird, wobei der Vertreter die Anforderungen
im Namen des Clients ausführt.
US-A-5 103 476 offenbart ein Registrierungsschema, um einem Anwender
zu erlauben, ein Software-Produkt zu prüfen, bevor er es kauft, indem
nach der Registrierung des Anwenders der Lizenzgeber eine fälschungssichere Überlagerung
für den
Anwender erzeugt und dem Anwender schickt, die die entscheidenden
Teile des Produkts enthält. US-A-5
577 209 offenbart einen an ein Netz gekoppelten Sicherheitsmanager
und eine zwischen jedem Anwender oder Host und dem Netz angeordnete
sichere Netzschnittstelleneinheit, um die Sicherheit des gesamten
Netzes zu sichern.
-
Gemäß der vorliegenden Erfindung
wird ein Sicherheitssystem zum Kontrollieren des Zugriffs auf Daten
und/oder einen oder mehrere Software-Prozesse geschaffen, wie es
in Anspruch 1 definiert ist.
-
Der Begriff "Anwenderstation", wie er hierin verwendet wird, umfasst
die lokale Umgebung des Anwenders; d. h. wenigstens das Endgerät des Anwenders
und potenziell außerdem
den lokalen Server des Anwenders. Im Allgemeinen umfasst die Anwenderstation
eine Plattform, auf der die lokalen Prozesse des Anwenders ausgeführt werden.
Dies könnte
z. B. ein Personal-Computer allein oder ein unintelligentes Endgerät plus eine
andere Plattform, potenziell netzgestützt, sein.
-
Vorzugsweise umfassen die Verbindungsaufbaumittel
Mittel, die Verbindungsinformationen (eine übersetzte Kennung) über die
Anwen derstation an eine ausgewählte
Datenbank oder einen ausgewählten
Software-Prozess übertragen.
Die Verbindungsaufbaumittel umfassen vorzugsweise außerdem Verschlüsselungsmittel,
um die Verbindungsinformationen vor der Übertragung zu verschlüsseln.
-
Ein Sicherheitssystem gemäß einer
Ausführungsform
der vorliegenden Erfindung bildet eine funktionale Schicht zwischen
einer Anwenderstation und einer oder mehreren Datenbanken und/oder
einem oder mehreren Software-Prozessen, wie z. B. eine Menge von
Anwendungen. Falls die Verbindungsinformationen für die Datenbanken)
und/oder den Prozess (die Prozesse) im Sicherheitssystem gespeichert
sind und zur Laufzeit nur durch die Anwenderstation für den Zweck
des Findens einer ausgewählten
Datenbank und/oder eines ausgewählten Softwareprozesses übertragen
werden müssen, kann
der Anwender die Verbindungsinformationen außer über das Sicherheitssystem nicht
erreichen. Ohne die Verbindungsinformationen kann der Anwender nicht
einfach eine eingeschränkte
Software-Anwendung
durch uneingeschränkte
Werkzeuge ersetzen und so Zugriff auf die Daten erlangen, für die er
nicht berechtigt ist, wobei das Sicherheitssystem sperrt, dass der
Anwender die Verbindungsinformationen erhält.
-
Insbesondere müssen die Verbindungsinformationen
für eine
ausgewählte
Datenbank oder einen ausgewählten
Software-Prozess niemals in der Anwenderstation gespeichert sein,
selbst um die Verbindung zu ihr bzw. ihm herzustellen. Dies verbessert die
Sicherheit gegenüber
Hacking signifikant.
-
Obwohl die Verbindungsinformationen
beim Aufbau der Verbindung durch die Anwenderstation übertragen
werden, werden sie vorzugs weise in verschlüsselter Form übertragen.
-
Sobald die Anwenderstation mit einer
ausgewählten
Datenbank oder einem ausgewählten
Prozess verbunden ist, kann das Sicherheitssystem unter Verwendung
der Trennmittel aussteigen, wobei es folglich verfügbar ist.
Vorzugsweise akzeptiert das Sicherheitssystem eine frische Eingaben
von einer Anwenderstation, die bereits eine hergestellte Verbindung
zu einer Datenbank oder zu einem Prozess unter Verwendung des Sicherheitssystems
besitzt. Es ist dann möglich,
dass eine Anwenderstation mehrere Anwendungen gleichzeitig ausführt, z.
B. potenziell die Ergebnisse der Ausführung verschiedener Werkzeuge
mit dem gleichen Satz der Daten in verschiedenen Fenstern eines
Bildschirms gleichzeitig anzeigt.
-
Vorzugsweise umfasst das Sicherheitssystem
wenigstens zwei Teile, wovon jeder mit Authentifizierungsmitteln
versehen ist, wobei ein erster der zwei Teile die Obigen i) und
ii) umfasst, wobei das System ferner umfasst:
- ix)
Ersatz-Login-Mittel, die eine Verbindung zwischen dem ersten Teil
und einer Anwenderstation trennen und eine erneute Verbindung der
Anwenderstation mit dem zweiten der Teile veranlassen; und
- x) einen Datenspeicher für
Kennungsdaten, die von den Authentifizierungsmitteln des zweiten Teils
verwendet werden,
wobei die Ersatz-Login-Mittel Zugriff auf
die Kennungsdaten im Datenspeicher haben und so beschaffen sind,
dass sie Kennungsdaten von dem Datenspeicher liefern, damit sie
für die
erneute Verbindung verwendet werden.
-
Die Ersatz-Login-Mittel schaffen
eine zusätzliche
Verteidigung gegen Hacking, weil der Anwender niemals Kenntnis der
Kenndaten besitzt, z. B. der ID und des Passworts, die ihm den Zugriff
auf den zweiten Teil des Sicherheitssystem gegeben haben. Vorzugsweise
ist es der zweite der zwei Teile, der die Obigen iii) bis vii) umfasst.
Folglich kann der Anwender nur über
den zweiten Teil des Sicherheitssystems Zugriff auf die ausgewählte Datenbank
oder den ausgewählten
Software-Prozess erhalten, wobei er niemals Kenntnis der Kenndaten
für diesen
zweiten Teil besitzt.
-
Vorzugsweise umfasst das Sicherheitssystem
ferner einen Zugriffsinformationsspeicher und Mittel zum Ausgeben
wenigstens einer verschlüsselten
Datendatei an die Anwenderstation, wobei die verschlüsselte Datendatei
Zugriffsinformationen in Bezug auf eine ausgewählte Datenbank oder einen ausgewählten Software-Prozess
enthält.
Die in der verschlüsselten
Datendatei enthaltenen Zugriffsinformationen können wenigstens teilweise durch
die an den Eingangsmitteln empfangenen Anwenderkenndaten bestimmt
sein. Dies erlaubt einer ausgewählten
Datenbank oder einem ausgewählten
Software-Prozess, zur Laufzeit die für einen Anwender relevanten
Zugriffsrechte an der Anwenderstation zu lesen, ohne dass das Sicherheitssystem
einbezogen bleiben muss. Dies vergrößert außerdem die Sicherheit, wie
im Folgenden erörtert
ist.
-
Es ist bekannt, dass ein Anwender
für eine Datenbank
oder für
einen Software-Prozess ein Anwenderprofil besitzen muss. Das Anwenderprofil
ist dem Anwender zugeordnet, wobei es die Zugriffsinformationen
für diesen
Anwender in Bezug auf eine Datenbank oder einen Software-Prozess
hält (die
Zugriffsrechte definiert). Die Anwenderprofile könnten bei der Datenbank oder
dem Software-Prozess gespeichert sein, wobei die Anwenderkenndaten,
die der einzelne Anwender kannte und eingegeben hat, durch die Datenbank
oder den Software-Prozess
verwendet werden, um das relevante Anwenderprofil auszuwählen und
anzuwenden. Dies leidet an dem Problem, dass es ein Profil für jeden
Anwender geben muss. Dies kann signifikanten Speicherraum aufnehmen.
-
In Ausführungsformen der vorliegenden
Erfindung hält
der Zugriffsinformationsspeicher die Kennungen für die Datensätze oder
die Auswahlmöglichkeiten
der Funktionalität.
Er hält
keine Anwenderprofile. Wenn ein Anwender zuerst eine ID und ein
Passwort eingibt, können
die Ersatz-Login-Mittel unbekannt für den Anwender effektiv eine Kennung
für einen
Datensatz eine Auswahl der Funktionalität ersetzen, die dann als verschlüsselte Datendatei
zur Anwenderstation gesendet wird. Mehrere Anwender können Zugriffsrechte
auf den gleichen Datensatz oder die gleiche Auswahl der Funktionalität gemeinsam
verwenden, wobei eine Darstellung dieser Zugriffsrechte nur einmal
für alle
derartigen Anwender gespeichert sein muss.
-
Vorzugsweise stehen außerdem die
auswählbaren
Datenbanken und Software-Prozesse getrennt von denen des Sicherheitssystems
auf der Plattform-Ausrüstung,
wobei das Sicherheitssystem die Mittel umfasst, um den Anwender
in Bezug auf einen ausgewählten
Software-Prozess
anzumelden, indem ein dritter Satz der Kenndaten ersetzt wird, der über das
Anwenderendgerät
zur Plattform-Ausrüstung übertragen
wird, der aber niemals im Anwenderendgerät gespeichert ist. Vorzugsweise
wird dieser dritter Satz vor der Übertragung verschlüsselt. Die Verwendung
eines dritten Satzes der Kenndaten, die sowohl dem Anwender unbekannt
sind als auch niemals in der Anwenderstation gespeichert sind, schafft weitere
Sicherheit.
-
Ein Sicherheitssystem, dem das Pseudonym "Treasure Chest" gegeben worden ist,
wird nun als eine Ausführungsform
der vorliegenden Erfindungen lediglich beispielhaft unter Bezugnahme
auf die beigefügten
Figuren beschrieben, worin:
-
1 ein
Sicherheitssystem des Standes der Technik zeigt, dass Zugriff auf
eine oder mehrere Anwendungen schafft;
-
2 in
einem Blockschaltplan die Komponenten von Treasure Chest zeigt;
-
3 einen
schematischen Ablaufplan der Schritte zeigt, die beim Zugriff auf
eine ausgewählte Anwendung über Treasure
Chest durch den Anwender einbezogen sind; und
-
4 einen
schematischen Ablaufplan der Schritte zeigt, die bei der Installation
von Treasure Chest für
einen neuen Anwender eingeschlossen sind.
-
In 1 könnte in
bekannten Systemen ein Anwender Zugriff auf eine Auswahl von Anwendungen 100, 105 besitzen.
Der Anwender besitzt Zugriff über
ein Endgerät 110,
das ein Personal-Computer sein könnte,
das aber mehr oder weniger Verarbeitungskapazität besitzen könnte. Das
Endgerät 110 muss
den Anwender mit einer Schnittstelle und deshalb wahrscheinlich
mit Anzeigemitteln und einer Eingabe, wie z. B. einer Tastatur,
versehen, die Intelligenz jedoch, auf die mittels des Endgeräts 110 zugegriffen
wird, kann entweder im Endgerät
selbst stehen oder sie könnte
anderswo in einem verteilten System stehen. Derartige Anordnungen
sind einem Fachmann der verteilten Software-Umgebungen vertraut.
-
Das Endgerät 110 ist mit einem
Netz 115 für den
Zweck des Zugreifens auf die Anwendungen 100, 105 verbunden.
Das Netz könnte
irgendein geeignetes Netz sein, z. B. das Internet oder ein lokales Netz
(LAN). Jede Anwendung 100, 105 kann Zugriff auf
eine Datenbank 145 oder vielleicht auf eine Auswahl von
Datenbanken geben.
-
Wenn ein Anwender wünscht, auf
eine Anwendung 100, 105 zuzugreifen, ist eine
Vorfeldeinrichtung für
diese Anwendung am Anwenderendgerät 110 verfügbar zu
machen. Dies wird wahrscheinlich z. B. Formulare, um Anforderungen
in Bezug auf die Anwendungen einzugeben, andere Freigabe-Software
für die
Anwendung und wenigstens ein Bildschirmpiktogramm oder eine Bildschirmtaste,
auf die der Anwender klickt, um Zugriff auf die Anwendung zu erlangen,
umfassen. Eine derartige Vorfeldeinrichtung wird normalerweise am
Ort angebracht, wenn sich der Anwender zuerst für die Verwendung der Anwendung
registriert.
-
Wenn der Anwender auf das Bildschirmpiktogramm
klickt, um Zugriff auf eine ausgewählte Anwendung zu erlangen,
wie z. B. die "Diamant"-Anwendung 100,
schickt das Endgerät 110 ein
Formular zum Anwender zurück,
das nach der ID und dem Passwort fragt. Falls die Anwendung Zugriff
auf mehr als eine Datenbank gibt, kann das Formular außerdem nach
einem Datenbanknamen fragen.
-
Um den Anwender bei der Anwendung
anzumelden, benötigt
das Anwenderendgerät 110 die Adresse
für die
Anwendung im Netz 115. Um die Flexibilität aufrechtzuerhalten,
könnte
die Anwendung einfach den Anwender nach der Adresse fragen. Alternativ
könnte
die Adresse im Anwenderendgerät 110 gespeichert
sein, z. B. in einer Tabelle 125, die die Anwendungskennungen 130 auf
die Netzadressen 135 und die Server-Kennungen 140 abbildet.
-
Im Betrieb klickt der Anwender auf
das relevante Bildschirmpiktogramm auf dem Endgerät 110, das
ein Formular für
die Eingabe der ID und des Passwortes für die Anwendung hochzieht.
Die ID- und Passwort-Daten werden unter Verwendung der durch den
Anwender angegebenen Netzadresse oder der Netzadresse aus der gespeicherten
Tabelle 125 zur Anwendung 100 selbst übertragen.
Die Anwendung führt
einen Authentifizierungsprozess in Bezug auf die ID und das Passwort
aus. Sobald die Anwendung 100 die ID und das Passwort,
die durch den Anwender an seinem Endgerät 110 eingegeben worden
sind, authentifiziert hat, bezieht sich die Anwendung auf die in
einer Datenbank 145 installierten Daten, um das Anwenderprofil
zu überprüfen, das
für diese
ID und dieses Passwort relevant ist. Das Anwenderprofil informiert
die Anwendung 100, was die Funktionalität und/oder die Daten anbelangt,
auf die der Anwender berechtigt ist, zuzugreifen, wobei innerhalb
dieser Einschränkungen
die Anwendung 100 dann in Reaktion auf die Anwendereingaben
am Endgerät 110 ablaufen
wird.
-
Das Management einer Anwendung 100,
wie in 1 gezeigt ist,
könnte
ein für
die Anwendung dedizierter Managementprozess 150 sein. Der
Managementprozess 150 stellt die Installation und die Berichtigung
der Anwenderprofile, die Installation und die Berichtigung der Anwender-IDs
und -Passwörter
und die Versionserweiterungen für
die Anwendung bereit.
-
Bei einem derartigen System kann
sich ein Problem ergeben, wie bereits oben erwähnt worden ist, wenn sich die
Anwendung 100 mit einer Datenbank 155 mit eingeschränktem Zugriff
am gleichen Ort befindet, wenn die Netzadresse für eine Datenbank mit eingeschränktem Zugriff
in der lokalen Umgebung des Anwenders gespeichert ist oder wenn der
Anwender bereits legitim Adresseinformationen für eine Datenbank mit eingeschränktem Zugriff
besitzt. Sobald der Anwender die Mittel besitzt, um unter Verwendung
einer Anwendung, für
deren Verwendung er registriert ist, eine Datenbankadresse 135 auszuwählen, ist
es möglich,
dass der Anwender auf die Datenbank zugreift, aber die Anwendung
oder das Werkzeug, die bzw. das er verwendet, um die Daten zu betrachten,
ersetzt. Folglich könnte
der Anwender ein Berichtwerkzeug ersetzen, das ihm erlaubt, das
Ganze einer Datenbank 155 mit eingeschränktem Zugriff zu betrachten,
von dem einiges für
den Anwender durch die legitime Anwendung 100 gesperrt
sein würde.
-
In 2 schaffen
die Ausführungsformen der
vorliegenden Erfindung ein separates Sicherheitssystem 200,
durch das der Anwender gezwungen wird, um Zugriff auf irgendeine
aus einer Menge von Anwendungen 100, 105 zu erhalten.
Das Anwenderendgerät 110 ist
außerdem
mit einem Erweiterungsassistenten 205 versehen, um die
notwendige Funktionalität
im Endgerät 110 zu
installieren und um die Versionssteuerung bereitzustellen.
-
Das Anwenderendgerät 110 in
diesem Beispiel schafft einfach eine Schnittstelle für den Anwender.
Die für
das Ausführen
der Anwendungen 100, 105 erforderliche Intelligenz
befindet sich am lokalen Server 220 für das Anwenderendgerät 110.
(In einer anderen Ausführungsform
könnte
die Intelligenz jedoch am Anwenderendgerät 110 installiert
sein.)
-
2 zeigt
ein Treasure-Chest-System, das bereits für den Anwender freigegeben
ist. Der lokale Server 220 ist mit einem Erweiterungsassistenten 205 für die Versionssteuerung
in Bezug auf die Anwendungen 100, 105 und mit
einer Menge von Formularen 225 für die Verwendung beim Ausführen von Treasure
Chest versehen. (Wie gezeigt ist, sind dies Oracle-Formulare, sie
könnten
aber genausogut Formulare für
Anwendungen sein, die von einer oder mehreren anderen Parteien erzeugt
oder geliefert werden.) Der lokale Server 220 besitzt sowohl
eine direkte Verbindung zu einem Netz 115 als auch über den
Erweiterungsassistenten 205.
-
Treasure Chest selbst umfasst die
Treasure-Chest-Software, insbesondere einen Sicherheitsserver 230 und
die Managementlogik 235, die in den Treasure-Chest-Standort 200 geladen
sind, der mit dem Netz 115 verbunden ist. Weil sich der
Treasure-Chest-Standort 200 entfernt vom lokalen Server 220 für den Anwender
befindet, benötigt
der lokale Server 220 Leitweginformationen oder Verbindungsinformationen,
um mit dem Treasure-Chest-Standort 200 zu kommunizieren. Ähnlich sind
die Anwendungen 100, 105, die der Anwender zu
verwenden wünschen
könnte,
an Standorten geladen, die sich über das
Netz 115 in Bezug auf den lokalen Server 220 für den Anwender
entfernt befinden. Schließlich
gibt es einen Software-Server 210, um die Software-Umgebung
bereitzustellen, um die Anwendungen 100, 105 auszuführen, die
im Gebrauch durch den lokalen Server 220 benötigt werden.
-
In 3 ist
die Verwendung von Treasure Chest, wenn es bereits für den Anwender
installiert ist, wie folgt. Der Anwender ist mit einem Piktogramm versehen,
um auf den Treasure-Chest-Standort zu zugreifen. Der Anwender klickt
auf das (nicht gezeigte) Piktogramm, wobei der lokale Server 220 ein
Formular 225, das die ID und das Passwort anfordert, zusammen
mit den Verbindungsinformationen für den Treasure-Chest-Standort 200 zurückschickt.
Der Anwender gibt seine ID und sein Passwort, "FRED, FRED 1", und ein Akronym "TC" für den Treasure-Chest-Standort 200 ein.
Der lokale Server 220 ist mit einem lokalen Datenspeicher
versehen worden, wie z. B. einer Nachschlagetabelle, der ihm erlaubt, das
Akronym in die Verbindungsinformationen für den Treasure-Chest-Standort 200 zu übersetzen. Unter
Verwendung dieser Informationen gibt der lokale Server 220 die
ID und das Passwort für
den Treasure-Chest-Sicherheitsserver 230 in einem "Verbindungs"-Schritt 300 aus.
(Alternativ könnte
selbstverständlich
der Anwender die Verbindungsinformationen direkt ohne die Verwendung
eines lokalen Datenspeichers bereitstellen.)
-
Der Treasure-Chest-Sicherheitsserver 230 authentifiziert
die ID und das Passwort und meldet den lokalen Server 220 in
einem "Abmelde"-Schritt 305 ab. Der Sicherheitsserver 230 gibt
nun einen Verbindungsbefehl 310 aus, der den lokalen Server 220 mit
der Treasure-Chest-Managementlogik 235 erneut
verbindet. In diesem Schritt 310 "der erneuten Verbindung" ersetzt der Sicherheitsserver 230 frische ID-
und Passwort-Daten 315. Diese ID und dieses Passwort, die
in 3 als "TC Admin" und "TC Admin 1" gezeigt sind, werden
niemals zum lokalen Server 220 übertragen und sind dem Anwender
am Anwenderendgerät 110 nicht
bekannt.
-
Die Treasure-Chest-Managementlogik 235 authentifiziert
die ID und das Passwort, wobei sie in einem "Überprüfen-und-Auswählen"-Schritt 325 auf einen Datenspeicher 240 Bezug
nimmt, der eine Tabelle 320 der Anwenderrechte bereitstellt.
Der Sicherheitsserver
230 macht die ursprüngliche
ID "FRED" des Anwenders der
Managementlogik 235 verfügbar, wobei die Managementlogik
diese ID verwendet, um die Tabelle 320 der Anwenderrechte
zu durchsuchen, um die über
Treasure Chest zugänglichen
Anwendungen festzustellen, für
deren Verwendung der Anwender berechtigt ist. Wie in 3 gezeigt ist, ist der Anwender
mit der ID "Fred" berechtigt, die
Anwendungen Diamant und Gold 100, 105 zu verwenden.
Der Anwender mit der ID "Bill" ist jedoch nur berechtigt,
die Anwendung Gold 105 zu verwenden. Die Managementlogik 235 schickt
nun in einem Schritt 330 für das "Bereitstellen des Tastensatzes" einen Satz Tasten
zum lokalen Server 220 für die Anwendungen 100, 105 zurück, für deren
Verwendung der Anwender mit der ID Fred berechtigt ist.
-
Der Anwender wählt eine Taste für eine Anwendung
aus, z. B. die Diamant-Anwendung 100, wobei in einem "Wähle-die-Anwendung"-Schritt 335 die Auswahl zur
Managementlogik 235 übertragen wird.
Die Managementlogik durchsucht nun einen Datenspeicher 245,
der die Tabelle enthält,
die die Zugriffsrechte zeigt, die der Anwender mit der ID Fred in
Bezug auf die Diamant-Anwendung 100 besitzt. Wie gezeigt
ist, zeigt die Tabelle 340 der Anwenderrechte für den Anwender
mit der ID Fred den Angestelltencode des Anwenders, den "OUC", als NFI, und dass
der Anwender innerhalb einer Gruppe 1 kommt. Dies identifiziert
für die
Managementlogik 235, dass der Anwender Rechte für bestimmte
Aspekte der Diamant-Anwendung besitzt, wobei die Managementlogik 235 in
einem "Installations"-Schritt 345 die
Daten der Anwenderrechte für
den Anwender mit der ID Fred verschlüsselt und zum lokalen Server 220 überträgt. Diese
Daten 350 der Anwenderrechte sind für die Diamant-Anwendung erforderlich.
-
(Die Daten der Anwenderrechte könnten anwenderspezifisch
sein, sie können
aber für
alle Anwender in einer Gruppe, wie z. B. der "Gruppe 1", gelten. Wenn ein Satz der Daten der
Anwenderrechte für
mehrere Anwender gelten kann, kann die Größe der Tabelle 340 der Anwenderrechte
potenziell im Vergleich zu dem Fall verringert sein, in dem jeder Satz
der Daten der Anwenderrechte einem spezifischen Anwender wie in
den Anwenderprofilen zugeordnet ist.)
-
An diesem Punkt endet die Beteiligung
des Treasure-Chest-Standorts 200. Die Managementlogik 235 gibt
nun die ID, das Passwort und die Verbindungsinformationen für die ausgewählte Diamant-Anwendung 100 aus.
Sie sendet sie in verschlüsselter
Form über
den lokalen Server 220. Sie werden jedoch nicht im lokalen
Server 220 gespeichert, sie gehen lediglich durch für den Zweck
der Herstellung der Verbindung über
das Netz 115 zwischen dem lokalen Server 220 und
der Diamant-Anwendung 100. Dies tritt in einem "Sende-Anwender/Passwort/Verbindungs"-Schritt 355 auf.
-
Der Anwender am Anwenderendgerät 110 kann
nun die Diamant-Anwendung 100 über seinen lokalen
Server 220 ausführen,
wobei die Treasure-Chest-Anwendung freigegeben wird.
-
Es ist auffallend, dass die von der
Diamant-Anwendung selbst von der Treasure-Chest-Managementlogik 235 empfangenen
ID und Passwort eine zweite Ersatz-ID und ein zweites Ersatzpasswort
sind. Dies fügt
Sicherheit hinzu, da der Anwender zum zweiten Mal keine Kenntnis
der ID und des Passwortes besitzt, die ihm gegeben worden sind,
um auf eine Anwendung zuzugreifen.
-
In 4 muss
Treasure Chest installiert und aufrechterhalten wer den. Dies schließt den "Erweiterungsassistenten" 205 ein.
-
Anwender, der wünscht, Treasure Chest zu installieren,
nimmt zu einem menschlichen Treasure-Chest-Manager durch irgendein
verfügbares
Mittel, wie z. B. elektronische Post, Kontakt auf. Der Manager greift
auf die Zugriffsrechte des Anwenders in Bezug auf die durch Treasure
Chest verfügbaren
Anwendungen und außerdem
auf die Zugriffsrechte für diesen
Anwender innerhalb jeder Anwendung, für deren Verwendung er berechtigt
ist, zu. Der Anwender sagt dem menschlichen Manager die ID, die
er zu verwenden wünscht.
Dies bildet einen "Kontakt-und-ID-Bereitstellungs"-Schritt 400.
-
Der menschliche Manager sendet zusammen
mit einem Passwort und den Verbindungsinformationen für den Treasure-Chest-Sicherheitsserver 230 ein
ausführbares
Formular des Erweiterungsassistenten zum lokalen Server 220 für den Anwender. Dies
wird zweckmäßig durch
elektronische Post in einem "E-Mail-Erwe
terungs-Lade"-Schritt 405 ausgeführt.
-
Der menschliche Manager lädt die Daten
der Zugriffsrechte des Anwenders in die TC-Management-Software 235,
um den Anwender zu der Tabelle 320 der Zugriffsrechte hinzuzufügen und
um dem TC-Management 235 zu
ermöglichen,
die anwenderspezifischen Daten 340 der Zugriffsrechte zu
konstruieren. Dies wird in einem Schritt 410 des "Ladens der Anwenderdaten
zum TC-Manager" ausgeführt.
-
Der Anwender führt nun in einem Schritt 415 des "Ausführens der
Erweiterung" die
ausführbare Erweiterung
aus. Die ausführbare
Erweiterung enthält
die Verbindungsinformationen für
den Software-Server 210,
der eine Software-Umgebung für
das Ausführen
der Treasure-Chest-Software bereitstellt. Ferner fordert das Ausführbare das
Herunterladen vom Software-Server 210 der Freigabe-Software
für die
Anwendungen 100, 105, wie z. B. die Laufzeit-Software,
die Formulare und Berichte, und das Herunterladen eines Treasure-Chest-Formulars und -Piktogramms
in einem Schritt 420 des "Herunterladens der Software-Umgebung" an. Der Anwender besitzt
nun auf dem Bildschirm das Treasure-Chest-Piktogramm. Durch das
Klicken auf das Piktogramm wird das Formular aufgerufen, das die
ID, das Passwort und die Verbindungsdaten für den Treasure-Chest-Sicherheitsserver 230 anfordert.
Der Anwender gibt in einem "Sicherheitsserver-Zugriffs"-Schritt 425 die
angeforderten Informationen ein.
-
An diesem Punkt meldet der Treasure-Chest-Sicherheitsserver 230 das
Anwenderendgerät 110 oder
den lokalen Server für
den Anwender 220 in einem obenbeschriebenen Schritt 305 der Wiederholung
des Abmeldens ab.
-
Der Sicherheitsserver 230 wiederholt
nun den Schritt 310 für
die erneute Verbindung, der den lokalen Server 220 mit
der Treasure-Chest-Managementlogik 235 erneut
verbindet. Abermals ersetzt in diesem Schritt 310 der erneuten
Verbindung der Sicherheitsserver 230 frische ID- und Passwort-Daten 315.
Die Treasure-Chest-Managementlogik 235 authentifiziert
die ID und das Passwort und nimmt auf die Tabelle 320 der
Zugriffsrechte Bezug, wobei sie den "Überprüfen-und-Auswählen"-Schritt 325 wiederholt.
Die Managementlogik 235 schickt in einer Wiederholung des
Schritts 330 für
das "Bereitstellen des
Tastensatzes" einen
Satz Tasten zum lokalen Server 220 des Anwenders zurück.
-
Anschließend, wann immer der Anwender eine
Anwendung für
die Ausführung
in einem "Wähle-die-Anwendung"-Schritt 335 auswählt, führt der Erweiterungsassistent 205 eine
Versionsüberprüfung aus.
Falls der Anwender für
die Anwendung, die er ausgewählt
hat, keine Vorfeldeinrichtung installiert hat oder falls die Version
auf dem lokalen Server 220 des Anwenders veraltet ist,
installiert oder erweitert der Erweiterungsassistent 205 in
einem "Versionsüberprüfungs-oder-Herunterlade"-Schritt 430 die
Vorfeldeinrichtung für
die ausgewählte
Anwendung für diesen
Anwender.
-
Indem der Erweiterungsassistent 205 auf dem
lokalen Server 220 des Anwenders installiert ist, sind
die durch den Anwender ausgeführten
Versionen der Anwendungen immer die neuesten, ohne dass ein Management
am Ort vorhanden sein muss, um jedesmal, wenn eine neue Version
irgendeiner Anwendung ausgegeben wird, alle installierte Software
zu erweitern.
-
Wie oben beschrieben worden ist,
greift der Anwender über
eine Vorfeldeinrichtung für
eine Anwendung auf Treasure Chest zu. Dieser Zugriff kann weniger
direkt ausgeführt
werden, z. B. über
ein Netz, wie z. B. das Internet und/oder eine HTML-Schnittstelle
(Hypertext-Auszeichnungssprachen-Schnittstelle). Das Folgende beschreibt
ausführlich
zusätzliche
Stufen, die in eine Ausführungsform
der Erfindung aufgenommen sein könnten,
um einen sicheren Web-Zugriff
(insbesondere über
das Internet unter Verwendung des Hypertext-Übertragungsprotokolls) unter
Verwendung der Treasure-Chest-Eigenschaften
und -Sicherheit aufzunehmen.
-
Die Installation, um den sicheren
Web-Zugriff zu unterstützen,
umfasst die folgenden Komponenten:
- – einen
Oracle-Web-Server,
- – eine
Web-Instanz (eine Oracle-Datenbank),
- – das
Treasure-Chest-System wie anderswo beschrieben.
-
Das Web-Login.
-
Die Anwender können auf durch einen Web-Server,
durch den eine Login-Seite eine gespeicherte Prozedur, die in einer
Web-Datenbank vorhanden ist, ausführt, bediente Standard-Web-Seiten
zugreifen. Die gespeicherte Prozedur besitzt über eine Datenbank-Verbindung
Zugriff auf die Treasure-Chest-Datenbank. Die gespeicherte Prozedur kann
deshalb unter Verwendung der Treasure-Chest-Verfahren eine Zugriffsanforderung
eines Anwenders validieren, wie oben beschrieben worden ist. Nachdem
eine gültige
Anwenderzugriffsanforderung gebildet worden ist, wird ein 'Cookie' erzeugt, das das
folgende enthält:
Die
Anwenderkennung des Anwenders.
Das Datum und die Zeit.
Den
Typ des angeforderten Zugriffs (normalerweise Entwicklung, Test,
Direkt oder Ausbildung).
-
Diese Einzelheiten werden unter Verwendung
eines mutierenden Algorithmus verschlüsselt, bevor sie als das Cookie
ausgegeben werden.
-
Der anschließende Zugriff auf eine sichere Transaktion
im Web führt
zum folgenden:
- 1 Das Cookie wird gelesen und
entschlüsselt.
- 2 Falls eine vorgegebene Zeit verstrichen ist, seit das Cookie
aufgefrischt worden ist, wird der Anwender nicht akzeptiert und
das Cookie gelöscht.
- 3 Falls das Cookie gültig
ist, wird es durch ein neues Cookie mit dem aktuellen Datum und
der aktuellen Zeit ersetzt, wobei die Transaktion als gültig weitergeleitet
wird.
-
Die Prozeduren können in der Web-Datenbank bereitgestellt
sein, um Host-Anwendungen zu erlauben, den Status eines Anwenders
abzufragen, ohne die Einzelheiten verstehen zu müssen. Diese Prozeduren versehen
die Host-Anwendung außerdem
mit den gegenwärtig
freigegebenen Typ des Zugriffs (Entwicklung, Test, Direkt oder Ausbildung).
-
Über
die Web-Seiten sind andere Prozeduren für den Anwender verfügbar, um
ihm zu erlauben, das Cookie aufzufrischen, ohne eine Transaktion auszuführen, und
die Zeit vor dem Ablauf des aktuellen Cookies anzuzeigen.
-
Das Treasure-Chest-Login
-
Falls eine Sitzung mit Oracle-Formularen läuft, die
unter Verwendung von Treasure Chest gestartet worden ist, und ein
Web-Zugriff erforderlich ist, wird der folgende Mechanismus verwendet,
so dass der Anwender nicht die Anwenderkennung/das Passwort erneut
eingeben muss.
-
Weil Treasure Chest Zugriff auf die
ID und das Passwort des Anwenders besitzt, kann es eine verschlüsselte Zeichenkette
erzeugen, die die Login-Informationen enthält. Diese Zeichenkette wird über eine
Befehlszeile des Browsers zu den Validierungsprozeduren in der Web-Instanz
weitergeleitet. Die Validierung wird dann wie normal mit der Ausgabe
eines Cookies an den Anwender fortgesetzt.
-
Der Browser wird gestartet:
Browser.exe
URL verschlüsselte
Zeichenkette
-
Der Web-Browser startet und stellt
mit der URL eine Verbindung her (in diesem Fall mit einer gespeicherten
Prozedur in der Web-Instanz).
-
Die gespeicherte Prozedur wird mit
der verschlüsselten
Zerchenkette als Eingabe ausgeführt. Nach
der Validierung wird die erfolgreiche Validierungsseite dem Anwender
angezeigt.