DE69707022T2 - System und verfahren zur sicheren verwaltung von desktop-umgebungen über ein netzwerk - Google Patents

System und verfahren zur sicheren verwaltung von desktop-umgebungen über ein netzwerk

Info

Publication number
DE69707022T2
DE69707022T2 DE69707022T DE69707022T DE69707022T2 DE 69707022 T2 DE69707022 T2 DE 69707022T2 DE 69707022 T DE69707022 T DE 69707022T DE 69707022 T DE69707022 T DE 69707022T DE 69707022 T2 DE69707022 T2 DE 69707022T2
Authority
DE
Germany
Prior art keywords
user
network
desktop
workstation
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69707022T
Other languages
English (en)
Other versions
DE69707022D1 (de
Inventor
E. Dircks
E. Osmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pinnacle Technology Inc
Original Assignee
Pinnacle Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pinnacle Technology Inc filed Critical Pinnacle Technology Inc
Publication of DE69707022D1 publication Critical patent/DE69707022D1/de
Application granted granted Critical
Publication of DE69707022T2 publication Critical patent/DE69707022T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • User Interface Of Digital Computer (AREA)

Description

  • Die Erfindung betrifft Verwaltungs-Software für ein Netzwerk. Genauer ist das Gebiet der Erfindung das der Netzwerkverwaltungs-Software zur Verwaltung von Benutzer- Workstations innerhalb eines Netzwerks.
  • Computernetzwerke sind so aufgebaut, dass eine Vielzahl von Benutzern auf gemeinsame Netzwerk-Ressourcen zugreifen können. Jeder Benutzer besitzt eine Workstation, typischerweise einen selbstständigen Personal Computer, der über eine geeignete Kommunikationsleitung mit den anderen Computern des Netzwerks verbunden ist. Der Netzwerkadministrator ist ein Programm, das auf dem Netzwerkserver oder einer Administrator-Workstation läuft, welche den Zugang und die Sicherheit der Benutzer im Netzwerk koordiniert und verwaltet. Das Benutzermanagement schließt die Zuweisung und Erleichterung des Zugangs zu Ressourcen wie Programme und Datenfiles ein, die von einzelnen Benutzern benötigt oder gewünscht werden. Die Sicherheitsvorkehrungen schließen ein, dass nur autorisierten Benutzern Zugang zu bestimmten Programmen und Datenfiles gewährt wird, um die Integrität und die Vertraulichkeit des Netzwerksystems zu gewährleisten.
  • Desktopverwaltungsprogramme versorgen jeden Benutzer mit einer individuellen Ansicht der Workstationkonfiguration des Benutzers, mit dem Netzwerk und mit den über das Netzwerk verfügbaren Ressourcen. Solche Programme stellen üblicherweise eine graphische Benutzerschnittstelle zur Verfügung und arbeiten mit mehreren Randbedingungen. Eine Randbedingung betrifft die Durchlässigkeit des Desktopverwaltungsprogramms. Durchlässigkeit bedeutet in diesem Zusammenhang das Vermögen des Benutzers, das Vorhandensein des Programms nur durch die Betrachtung der Operation auf der Workstation des Benutzers festzustellen. Im Idealfall sollte der Benutzer nicht in der Lage sein, das Vorhandensein des Desktopverwaltungsprogramms zu erkennen. Eine andere Randbedingung betrifft das zugrunde liegende Betriebssystem des Workstation-Computers und des Netzwerks. Im Idealfall sollte das Desktopverwaltungsprogramm die Operation keines Teils des zugrunde liegenden Betriebssystems stören. Die Verwaltung der individuellen Benutzerprioritäten schränkt Desktopverwaltungsprogramme ebenfalls ein. Im Idealfall sollten die Veränderungen einer Desktopkonfiguration durch den Benutzer das Management von Benutzerdesktops durch das Desktopverwaltungsprogramm nicht verfälschen. Bekannte Desktopersatz- oder Verwaltungsprogramme haben Probleme mit einer oder mehreren dieser Randbedingungen. Wie von Chipe, B. E. et al. in "A COMMON DESKTOP ENVIRONMENT BASED ON THE UNIX OPERATING SYSTEM"; Hewlett-Packard Journal, Bd. 47, Nr. 2 (1. April 1996, S. 6-14, XP000591784) offengelegt, versorgt ein X-Fenstersystem das Betriebssystem UNIX somit einer allgemeinen Desktop Umgebung (Common Desktop Environment, CDE), dass die Endbetreiber mit einer graphischen Benutzerschnittstelle versorgt werden.
  • Wie in "ADMINISTRATION OF GRAPHIC USER INTERFACE AND MULTIMEDIA OB- JECTS USING COOPERATIVE PROCESSING" im IBM Technical Disclosure Bulletin, Bd.37, Nr. 9 (1. September 1994, S. 675-678, XP000475542) offengelegt, benutzt eine Methodologie der Zugangskontrolle zu Benutzermenüs bei einem AS/400 Computersystem programmierbare Workstations (Programmable Work Stations, PWS). Die PWSs haben Zugang zu einer graphischen Benutzerschnittstelle, welche die gemeinsamen Anwendungen, die auf dem AS/400 laufen, darstellt. Die gemeinsame Anwendung des Servers prüft die Benutzerrechte bezüglich spezifischer Serverobjekte. Die gemeinsame Anwendung läuft auf einem Arbeitsbereich des Server-Computers und ermöglicht den Benutzerzugang zu Netzwerkressourcen über eine Benutzerschnittstelle (User Interface, UI) oder ein Multimedia-Objekt, das auf dem Server läuft. Benutzer werden mit einem Verwaltungsschlüssel versorgt, um den Ausschnitt des Datenbereichs des Servers zu identifizieren, der mit der kooperativen Anwendung des Benutzers verbunden ist, die auf dem Server läuft.
  • Es wird ein Desktopverwaltungsprogramm benötigt, das die oben festgestellten Randbedingungen erfüllt und mit dem Betriebssystem und seiner standardmäßigen graphischen Benutzerschnittstelle zusammenarbeitet.
  • Die vorliegende Erfindung bezieht sich, wie in den unabhängigen Ansprüchen 1 und 11 dargelegt, auf ein Desktopverwaltungssystem und Verfahren, die es einem Netzwerkadministrator erlauben, Desktops über ein Netzwerk unabhängig zu erstellen, zu sichern und zu verwalten. Die Erfindung liefert eine graphische Benutzerschnittstelle zur Erstellung von Benutzerdesktops, zur Anwendung von Zugangsberechtigungsoptionen, zur Unterhaltung von Übergabeprotokollen und zum Passwortschutz jedes Objektes, das über die Benutzer-Workstation zugänglich ist. Ein Sicherheits-Kemel, der auf dem Server operiert, verhindert den Zugang zu Ressourcen und erlaubt den Zugang zu Ressourcen nur nach Erhalt eines entsprechenden Schlüssels. Das Desktopverwaltungssystem benutzt Informationseinträge, die einen Schlüssel für die Zugangsberechtigung zu Ressourcen über den Sicherheits-Kemel enthalten. Das Workstation-Desktop enthält die Fähigkeit, den Zugang zu Ressourcen durch die Übermittlung eines Schlüssels an den Sicherheits-Kemel zu entsperren. Die Erfindung erlaubt diese Funktionen, ohne die Arbeitsweise eines Benutzers am Desktop oder die Kapazitäten des zugrunde liegenden Betriebssystems oder Netzwerks zu verändern.
  • Jede Workstation enthält eine persönliche Desktop-Einrichtung (personal desktop facility, PDF) und einen Daemon, der das Benutzer-Desktop schützt. Die persönliche Desktop-Einrichtung empfängt Desktop-Informationen über den Netzwerkserver und erstellt ein Desktop, das der Benutzer bedient, um lokale Programme und/oder Netzwerkprogramme aufzurufen und auf lokale und/oder Netzwerk-Dienstprogramme zuzugreifen. Der Daemon dient als eine Schnittstelle für die persönliche Desktop-Einrichtung durch das Durchleiten jeglicher Kommunikation zum oder vom Benutzer oder Netzwerk, und durch die Verhinderung von nicht autorisierten Vorgängen auf Workstation- oder Netzwerkebene.
  • Die persönliche Desktop-Einrichtung (PDF) liefert eine graphische Benutzerschnittstelle durch Verwendung von Objekten, die Programmsammlungen und Daten wie Benutzerprioritäten, Standard-Directories und Zugangsprivilegien darstellen. Die PDF kann Objekte erstellen, entfernen und ihre Einstellung verändern. Die Versorgung eines Benutzers mit einer besonderen Auswahl an Objekten mit besonderen Einstellungen schafft eine Workstation, die den Bedürfnissen des Benutzers angepasst ist und steigert damit die Effizienz des Benutzers.
  • Der Daemon hat viele Aufgaben einschließlich des Starts der PDF, des Auflistens der Fenster der graphischen Benutzerschnittstelle und des Speicherns von Operationen. Der Start der PDF kann den Erhalt der Sicherheitsberechtigung enthalten und schließt das Laden des Benutzer-Desktops vom Server ein. Die Auflistung der Fenster der graphischen Benutzerschnittstelle ermöglicht die richtige Verwendung des Desktops und der Programme, die auf ihm laufen. Das Speichern von Operationen kann die Erzeugung eines Protokolls der Benutzeroperationen wie Kennzeichnung oder Signalisierung von eintretenden Ereignissen, Festhalten der Benutzung von Passwörtern und Einstieg und Trennung des Desktops bezüglich der Netzwerkverbindung enthalten.
  • Die vorliegende Erfindung liefert mehrere bedeutende Vorteile. Der Netzwerkadministrator kann schnell und einheitlich Desktops standardisieren durch die Manipulation der Datenbank des Servers mit den persönlichen Desktop-Profilen oder durch die Veränderung gemeinsamer Desktop-Objekte, die auf dem Server gespeichert sind. Benutzer können sich auch im Netzwerk bewegen, weil die PDF ihr persönliches Desktop-File vom Netzwerkserver lädt unabhängig davon, welches Gerät sie benutzen. Der Daemon schützt das Desktop weiterhin vor unbeabsichtigtem Schaden und verhindert vorsätzliche Änderungen der Netzwerkarchitektur.
  • Die vorliegende Erfindung ist in einer Form ein Verfahren für ein Computernetzwerk, das einen Server und eine Vorkstation einschießt. Das Verfahren gewährt Benutzerzugriff auf Ressourcen und umfasst die Schritte der Erzeugung einer Vielzahl von Informationseinträgen, alles mit einer benutzerspezifischen Workstation-Konfiguration, welche die Spezifikation der für den Benutzer zugänglichen Ressourcen einschließt; der Wiederauffindung eines benutzerspezifischen Informationseintrags durch die Verwendung eines Computerprogramms, das auf der Workstation operiert; und der Bereitstellung einer Desktop-Benutzerschnittstelle auf der Workstation, die dem Benutzer Zugang entsprechend eines Informationseintrags, der mit dem Benutzer assoziiert ist ermöglicht. Das Verfahren der Erfindung wird durch den Schritt gekennzeichnet, der den Zugang zu Ressourcen mit einem Sicherheits-Kemel blockiert, wobei die Informationseinträge einen Schlüssel enthalten, der nur den Zugriff auf Ressourcen über den Sicherheits- Kemel erlaubt. Das Verfahren wird weiterhin durch den Schritt gekennzeichnet, dass der Zugang zu den Ressourcen nach Empfang eines entsprechenden Schlüssels über die Desktop-Benutzerschnittstelle gestattet wird.
  • Andere Gesichtspunkte der Erfindung beziehen sich auf den Schritt von Überwachungsprozessen, die von der Desktop-Benutzerschnittstelle initiiert werden, wobei der Überwachungsschritt den Schritt der Überprüfung von Prozessen auf der Workstation im Vergleich mit dem benutzerspezifischen Informationseintrag, der vom Server empfangen wurde einschließt. Das Verfahren der Erfindung verhindert auch den nicht autorisierten Zugang zu den Netzwerkressourcen über das Desktop und kann, basierend auf der, auf der Workstation gespeicherten Information, Zugangsbeschränkungen auferlegen oder es kann fordern, dass ein Benutzer Zugang zu einer Validierungsressource besitzt, bevor der Zugang zu einer spezifischen Ressource gewährt wird. Bei einem anderen Aspekt der Erfindung verwendet das Netzwerk ein objektorientiertes Betriebssystem und jedes Objekt beinhaltet eine Vielzahl von Anweisungen und zugehörigen Daten, so dass das System eine Liste von Objekten erstellt, welche die Ressourcen darstellen. Das Desktop kann nach einer Benutzersitzung gespeichert oder nach Gesichtspunkten, die vom Server erhalten werden, gefiltert werden.
  • Ein anderer Aspekt der Erfindung bezieht sich auf eine Einrichtung zur maschinenlesbaren Programmspeicherung zur Speicherung von verschlüsselten Anweisungen für ein Verfahren zur Ermöglichung des Benutzerzugangs zu den Ressourcen eines Netzwerks von Computern, das einen Server und eine Workstation entsprechend dem vorangegangenen Verfahren einschließt.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf ein Computernetzwerk, das einen Benutzerzugriff auf Ressourcen gewährt, die wenigstens lokale und/oder Netzwerk- Computerprogramme, lokale und/oder Netzwerk-Peripheriegeräte und/oder externe Kommunikationsgeräte umfassen, wobei das Netzwerk umfasst einen Server, eine Vielzahl von Workstations, die mit dem Server verbunden sind, wobei jede Workstation eine Anzeigeeinrichtung zum Anzeigen einer grafischen Benutzeroberfläche für einen Benutzer umfasst; eine Kommunikationseinrichtung zum Übertragen von Nachrichten zwischen dem Server und der Vielzahl von Workstations; dadurch gekennzeichnet, dass das Computernetzwerk Anweisungen für den Betrieb entsprechend dem vorausgehenden Verfahren enthält.
  • Die oben erwähnten und andere Eigenschaften und Objekte dieser Erfindung und die Art ihrer Erzielung werden ersichtlicher werden und die Erfindung selbst kann besser an Hand der folgenden Beschreibung einer Ausführung der getätigten Erfindung zusammen mit den beiliegenden Zeichnungen verstanden werden, wobei:
  • Fig. 1 eine schematische Diagrammansicht eines Computernetzwerks, das die vorliegende Erfindung verwendet darstellt.
  • Fig. 2 ein Operationsflussdiagramm der vorliegenden Erfindung darstellt.
  • Entsprechende Referenzsymbole bezeichnen entsprechende Teile in den verschiedenen Ansichten. Auch wenn die Abbildungen Ausführungen der vorliegenden Erfindung darstellen, sind sie nicht unbedingt maßstäblich und bestimmte Kennzeichen können vergrößert sein, um die vorliegende Erfindung besser zu veranschaulichen oder zu erklären. Die Erläuterung durch ein Beispiel, dis hier durchgeführt wird, veranschaulicht eine Ausführung der Erfindung in einer einzigen Form und solche Erläuterungen durch Beispiele sind in keiner Weise als Begrenzung des Umfangs der Erfindung gedacht.
  • Die im Folgenden offengelegte Ausführung wird nicht als erschöpfend gesehen und soll die Erfindung nicht auf das genaue Maß, das in der folgenden genauen Beschreibung offengelegt wird beschränken. Die Ausführung wird eher dafür ausgewählt und beschrieben, dass andere Fachleute daraus profitieren können.
  • Die folgenden genauen Beschreibungen sind zum Teil in Form von Algorithmen und symbolischen Darstellungen bezüglich Operationen mit Datenbits in einem Computerspeicher dargestellt, die alphanumerische Zeichen oder andere Information bedeuten. Diese Beschreibungen und Veranschaulichungen sind die Einrichtungen, die von Fachleuten der Datenverarbeitung verwendet werden, um den Inhalt ihrer Arbeit anderen Fachleuten möglichst effektiv zu übermitteln.
  • Ein Algorithmus ist hier und im allgemeinen gedacht als eine in sich konsistente Folge von Schritten, die zu einem erwünschten Ergebnis führt. Diese Schritte benötigen physikalische Veränderungen von physikalischen Größen. Üblicherweise, aber nicht notwendigerweise liegen diese Größen in Form von elektrischen oder magnetischen Signalen vor, die speicherbar, übertragbar, verknüpfbar, vergleichbar und auf andere Weise veränderbar sind. Es hat sich manchmal als nützlich erwiesen, hauptsächlich aus Gründen des allgemeinen Gebrauchs, diese Signale als Bits, Werte, Symbole, Zeichen, Anzeigedaten, Terme, Zahlen oder ähnliches zu bezeichnen. Man sollte jedoch bedenken, dass alle diese oder ähnliche Terme mit den passenden physikalischen Größen verknüpft werden müssen und hier nur als gebräuchliche Bezeichnungen dienen, die für diese Größenangewandt werden.
  • Einige Algorithmen können Datenstrukturen gleichzeitig zur Eingabe von Information und zur Erzeugung des gewünschten Ergebnisses benutzen. Datenstrukturen vereinfachen die Verwaltung von Daten durch Datenbearbeitungssysteme sehr und sind, außer durch ausgeklügelte Software-Systeme, nicht zugänglich. Datenstrukturen sind nicht der Informationsinhalt eines Speichers, sondern stellen spezifische elektronische Strukturelemente dar, die der Information, die im Speicher festgehalten ist eine physikalische Einteilung aufprägen. Mehr als bloße Abstraktion sind die Datenstrukturen spezifische elektrische oder magnetische Strukturelemente im Speicher, die simultan komplexe Daten genau darstellen und eine erhöhte Effizienz bei der Computeroperation gewährleisten.
  • Zudem werden die durchgeführten Manipulationen oft mit Ausdrücken wie Vergleichen oder Addieren belegt, die allgemein mit geistigen Tätigkeiten verknüpft sind, die von einem Menschen erbracht werden. Keine solche Fähigkeit eines Menschen ist für irgendeine der hier beschriebenen Operationen, die einen Teil der vorliegenden Erfindung bilden, notwendig oder in den meisten Fällen wünschenswert; die Operationen sind Maschinenoperationen. Geeignete Maschinen zur Durchführung der Operationen der vorliegenden Erfindung schließen digitale Computer für den Allgemeingebrauch oder ähnliche Geräte ein. In jedem Fall sollte der Unterschied zwischen den Operationsverfahren zur Betreibung eines Computers und dem Rechenvorgang an sich gesehen werden. Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein Gerät zur Betreibung eines Computers zur Verarbeitung elektrischer oder anderer (z. B. mechanischer, chemischer) physikalischer Signale zur Erzeugung anderer erwünschter physikalischer Signale. Die vorliegende Erfindung bezieht sich auch auf ein Gerät zur Durchführung dieser Operationen. Dieses Gerät kann speziell für die benötigten Zwecke gebaut werden oder einen Computer für den allgemeinen Gebrauch, der selektiv aktiviert oder durch ein im Computer gespeichertes Computerprogramm umkonfiguriert ist umfassen. Die hier vor = gestellten Algorithmen sind nicht von Natur aus mit irgendeinem speziellen Computer oder Gerät verbunden. Tatsächlich können verschiedene Maschinen für den Allgemeingebrauch mit den Programmen benutzt werden, die im Einklang mit den hier gebrachten Ausführungen geschrieben sind oder es kann sich als passender erweisen, ein spezialisierteres Gerät zu bauen, um die notwendigen Verfahrensschritte auszuführen. Die notwendige Struktur für eine Reihe dieser Maschinen wird sich aus der folgenden Beschreibung ergeben.
  • Die vorliegende Erfindung befasst sich mit "objektorientierter" Software und speziell mit einem "objektorientierten" Betriebssystem. Die "objektorientierte" Software ist in "Objekte" unterteilt, von denen jedes einen Block von Computeranweisungen umfasst, die verschiedene Prozeduren ("Verfahren") beschreiben, die als Antwort auf "Nachrichten", die an das Objekt gesandt wurden durchgeführt werden müssen. Solche Anwendungen schließen zum Beispiel die Manipulation von Variablen und die Übertragung von einer oder mehreren Nachrichten an andere Objekte ein. Nachrichten werden zwischen Objekten gesandt oder empfangen, die bestimmte Funktionen und das Vermögen besitzen, Prozesse auszuführen. Nachrichten werden als Antwort auf Benutzeraufträge erzeugt, zum Beispiel durch die Aktivierung eines Icons mit dem Mauszeiger durch den Benutzer. Nachrichten werden auch von einem Objekt als Antwort auf den Erhalt einer Nachricht erzeugt. Wenn eines der Objekte eine Nachricht erhält, führt das Objekt eine Operation (eine Nachrichtenprozedur) entsprechend der Nachricht durch und sendet, wenn notwendig, ein Ergebnis der Operation zurück. Jedes Objekt hat einen Bereich in dem die internen Zustände (Objektkomponenten) des Objektes selbst gespeichert sind und zu dem andere Objekte keine Zugangsberechtigung besitzen. Ein Teil des objektorientierten Systems ist die Vererbung. So kann zum Beispiel ein Objekt zum Zeichnen eines "Kreises" auf ein Display Funktionen und Wissen von einem anderen Objekt erben, das eine "Form" auf ein Display zeichnet.
  • Ein Programmierer "programmiert" in einer objektorientierten Programmiersprache durch das Schreiben individueller Code-Blocks, von denen jeder durch die Definition seines. Verfahrens ein Objekt erzeugt. Ein objektorientiertes Programm umfasst eine Zusammenstellung von solchen Objekten, die durch Nachrichteneinrichtungen befähigt sind miteinander zu kommunizieren. Objektorientierte Computerprogrammierung erleichtert die Gestaltung von interaktiven Systemen dadurch, dass jede Komponente des Systems mit einem Objekt entworfen werden kann, das Verhalten jeder Komponente durch die Verfahren seines korrespondierenden Objekts simuliert werden kann und dass das Zusammenwirken unter den Komponenten durch Nachrichten simuliert werden kann, die zwischen den Objekten übertragen werden.
  • Ein Operator kann eine Zusammenstellung von verknüpften Objekten, die ein objektorientiertes Programm umfasst, durch das Senden einer Nachricht an eines der Objekte anregen. Der Empfang der Nachricht kann das Objekt veranlassen zu antworten, indem es vorherbestimmte Funktionen ausführt, die das Senden von zusätzlichen Nachrichten an eines oder mehrere andere Objekte enthalten können. Die anderen Objekte können ihrerseits als Antwort auf die erhaltenen Nachrichten zusätzliche Funktionen ausführen, einschließlich der Übersendung von noch mehr Nachrichten. Auf diese Weise können Sequenzen von Nachricht und Antwort unbegrenzt fortschreiten oder zum Ende kommen, wenn alle Nachrichten beantwortet wurden und keine neuen Nachrichten gesandt werden. Beim Entwurf von Systemen, die eine objektorientierte Sprache verwenden muss ein Programmierer nur darauf achten, wie jede Komponente eines entworfenen Systems auf eine Anregung antwortet und nicht wie die Abfolge von Operationen als Antwort auf irgendeine Anregung ausgeführt werden. Eine solche Abfolge von Operationen ergibt sich automatisch aus den Interaktionen zwischen den Objekten als Antwort auf die Anregung und muss von dem Programmierer nicht vorherbestimmt werden.
  • Auch wenn objektorientiertes Programmieren die Simulation von Systemen aus verknüpften Komponenten intuitiver macht, ist die Operation eines objektorientierten Programms oft schwer zu verstehen, weil die Abfolge der Operationen, die von einem objektorientierten Programm ausgeführt werden normalerweise nicht sofort aus der Softwareaufstellung ersichtlich ist, wie das bei sequentiell organisierten Programmen der Fall ist. Es ist auch nicht einfach durch Beobachtung der leicht sichtbaren Ergebnisse seiner Operation zu bestimmen, wie ein objektorientiertes Programm arbeitet. Die meisten Operationen die von einem Computer als Antwort auf ein Programm durchgeführt werden sind für einen Beobachter "unsichtbar", da nur verhältnismäßig wenige Schritte typischerweise in einem Programm eine beobachtbare Computerausgabe erzeugen.
  • In der folgenden Beschreibung besitzen mehrere Ausdrücke, die oft verwendet werden bestimmte Bedeutungen im vorliegenden Kontext. Der Ausdruck "Objekt" bezieht sich auf ein Paket von Computeranweisungen und assoziierten Daten, die direkt oder indirekt durch den Benutzer aktiviert werden können. Die Ausdrücke "Fensterumgebung", "in. Fenstern ablaufen" und "objektorientiertes Betriebssystem werden zur Bezeichnung einer Computer-Benutzeroberfläche verwendet, bei der Information auf einem Videodisplay wie in abgegrenzten Gebieten auf einem Rasterbildschirm manipuliert und angezeigt wird. Die Ausdrücke "Netzwerk", "lokales Netzwerk", "LAN", "weiträumiges Netzwerk", oder "WAN" bezeichnen zwei oder mehr Computer, die so verbunden sind; dass zwischen den Computern Nachrichten übertragen werden können. In solchen Computemetzwerken operieren typischerweise ein oder mehrere Computer als "Server", ein Computer mit großen Speichereinrichtungen wie Festplattenlaufwerke und Kommunikationshardware, um Peripheriegeräte wie Drucker oder Modems zu betreiben. Andere Computer, bezeichnet als "Workstation" liefern eine Benutzeroberfläche, damit Benutzer von Computernetzwerken auf die Netzwerkressourcen wie gemeinsam genutzte Datenfiles, gemeinsame Peripheriegeräte und Kommunikation zwischen den Workstations zugreifen können. Benutzer aktivieren Computerprogramme oder Netzwerkressourcen um "Prozesse" zu erzeugen, die sowohl die allgemeine Operation des Computerprogramms, als auch die spezifischen Operationskennwerte, die durch Eingabevariablen und ihre Umgebung bestimmt sind einschließen.
  • Die Ausdrücke "Desktop", "persönliche Desktop-Einrichtung" und "PDF" bezeichnen eine spezifische Benutzeroberfläche, die ein Menü oder eine Anzeige von Objekten präsentiert, die mit assoziierten Benutzereinstellungen am jeweiligen Desktop, der persönlichen Desktop-Einrichtung oder PDF verknüpft sind. Der Ausdruck "Daemon" bezieht sich auf ein Programm, das für den Benutzer nicht unbedingt sichtbar ist, aber das für die Übertragung von Nachrichten zwischen der PDF und dem Netzwerkserver und für den Schutz und die Regulierung der Benutzerberechtigung Netzwerkressourcen zu benutzen oder zu ändern verantwortlich ist. Auch wenn die folgenden Beschreibung solche Operationen mit Ausdrücken einer graphischen Benutzeroberfläche mit Icons im Detail beschreibt, kann die vorliegende Erfindung für Benutzeroberflächen auf Textbasis oder auch für Benutzeroberflächen, die durch Stimme oder visuell aktiviert werden verwendet werden.
  • In Fig. 1 ist ein Computernetzwerk in Form eines Blockdiagramms dargestellt, das die allgemeine Orientierung und Anordnung der Software, einschließlich der Serververwaltung, der Workstation-PDF und der Daemonsoftware, die auf der Computervorrichtung operiert zeigt. Netzwerk 20 schließt zumindest einen Server 22 und zumindest eine, typischerweise aber Dutzende oder Hunderte von Workstations 24 ein. Server 22 und Workstations 24 sind über Kommunikationsleitung 26, dies kann ein Ethernetkabel oder eine andere geeignete Vorrichtung sein, miteinander verbunden. Netzwerk 20 schließt auch verschiedene gemeinsam genutzte Peripheriegeräte, wie Plattenspeicher 28 (typischerweise direkt mit dem Server 22 verbunden, auch wenn eine Verbindung über Kommunikationsleitung 26 ebenfalls möglich ist), Drucker 30, Modems 32 und Kommunikationsserver 34 ein. ADMIN (Verwaltung, Administration)-Software 36 liegt auf Server 22 und kontrolliert allgemein die Kommunikation zwischen den Komponenten des Netzwerks 20. ADMIN-Software 36 kontrolliert zum Beispiel typischerweise den Zugang zum Plattenspeicher 28, die Abfolge der Print-Jobs auf den Druckern 30, die Zuordnung der Modems 32 und die Übertragung von Information über Kommunikationsserver 34.
  • Jede Workstation 24 schließt einen Computer mit einem Monitor und einem Keyboard, wie zum Beispiel einen Standard Personal Computer (z. B. ein IBM-PC oder ein Macintosh) oder einen hochentwickelten Computer (z. B. eine Next oder SPARC Workstation) ein und kann seine eigenen Peripheriegeräte wie lokalen Drucker 38, lokales Modem 40 oder lokalen Plattenspeicher 42 einschließen. Jede Workstation 24 enthält PDF 44 und Daemon 46 aufgrund der vorliegenden Erfindung. PDF 44 liefert eine graphische Benutzeroberfläche oder "Desktop" zu den Programmen oder Ressourcen, die auf dem Desktop ihrer Workstation 24 und allgemein über Netzwerk 20 verfügbar sind. Daemon 46 dient als Zwischenglied zwischen ADMIN 36 und PDF 44, filtert nicht autorisierte Vorgänge aus und bewahrt die Integrität des Desktops. ADMIN 36 akzeptiert nur Anforderungen und empfängt nur Nachrichten von Daemon 46, so wird PDF 44 aufgefordert, über Daemon 46 auf Informationen und Programme zuzugreifen und sie muss all ihre Information über Daemon 46 an ADMIN 36 senden. Darüber hinaus kann PDF 44 die Parameter des Desktops nur über Daemon 46 ändern und Daemon 46 bestimmt welche Operationen zulässig sind, auf der Basis der Kriterien, die von ADMIN 36 zur Verfügung gestellt werden. Daemon 46 enthält sowohl eine Initialisierungsroutine als auch eine periodische Abfrage-Routine zur Realisierung dieser Funktionen. Durch diese Anordnung, die im Folgenden weiter im Detail erklärt wird, wird durch Daemon 46 die Integrität jedes Desktops gewährleistet und durch ADMIN 36 auf Dauer erhalten.
  • In Übereinstimmung mit der vorliegenden Erfindung speichert Festplatte 28 des Servers 22 .sec-File 50 (die logische Bezeichnung des .sec-Files 50 kann mehrere getrennte physikalische Files einschließen, die über logische Verbindungen miteinander verbunden sind). ADMIN-Software 36 nutzt die Information, die im .sec-File 50 enthalten ist, um das Menü von Computerprogrammen und Netzwerkressourcen zu spezifizieren, das durch die Desktops der Benutzer des Netzwerks 20 angegeben werden kann..sec-File 50 kann ein allgemeines File für alle Benutzer von Netzwerk 20 sein. Alternativ kann das .sec-File 50 eine Sammlung von Files darstellen, von denen jedes File einem speziellen Benutzer oder einer speziellen Benutzerklasse entspricht. Eine andere Alternative ist eine hybride Vorgehensweise, bei der die Menü-Information eine gemeinsame und eine benutzerspezifische Komponente besitzt. In jeden Fall erlaubt diese Anordnung dem Netzwerkadministrator, das .sec-File 50 mit der ADMIN-Software 36 auf dem Server 22 direkt zu manipulieren, um die Desktops leichter über das Netzwerk zu ändern, einzurichten und/oder zu warten, als jede Desktop-Konfiguration lokal ändern zu müssen.
  • Zusätzlich dazu, dass ADMIN 36 das .sec-File 50 erzeugt, um die Desktop- Konfiguration des Benutzers auf Server 22 zu speichern, verwendet die vorliegende Erfindung PDF 44 zur Verbesserung der Desktop-Konfiguration des Benutzers direkt auf der Workstation 24. PDF 44 operiert unter der Annahme, dass wenn der Benutzer nicht im einzelnen für den Zugriff auf ein spezielles Computerprogramm oder eine spezielle Ressource autorisiert ist, die Workstation des Benutzers kein Recht hat diesen speziellen Gegenstand zu manipulieren oder ihn zu beeinflussen. Nur durch den Empfang des .sec-Files 50 von ADMIN 36 baut PDF 44 ein Desktop für den Benutzer auf und dieses Desktop gewährt nur Zugang zu den Computerprogrammen und Ressourcen, die für den Benutzer spezifisch auf dem .sec-File 50 ausgewiesen sind. Somit wird durch die erste Ausführung der vorliegenden Erfindung als erstes die Zugangskontrolle auf der Ebene der Workstations 24 aufrechterhalten um den Schutz des Servers 22 zu vergrößern.
  • Bei einer zweiten Ausführung der Erfindung schließt ADMIN 36 auf Server 22 den Benutzer von der Filesystem-Software auf der Workstation 24 aus und nur ein richtig konfiguriertes Desktop, bereitgestellt durch PDF 44, kann einen Schlüssel anbieten, um das Filesystem zu öffnen und auf die Ressourcen auf dem Server 22 zuzugreifen. Die Realisierung der zweiten Ausführung mit dem OS/2-Betriebssystem schließt verschiedene Routinen von ADMIN 36 ein, die mit bestimmten Sicherheitseinrichtungen des OS/2- Betriebssystems zusammenwirken, um diesen File-Ausschluss zu erreichen. Jemand mit normalem Fachwissen wird jedoch leicht wahrnehmen, dass solche Zugangskontrollausschlüsse des Servers mit jedem Betriebsystem durch ein geeignet gestaltetes Programm, das mit dem Vorteil der Systemverwaltungsprivilegien operiert realisiert werden können.
  • Die vorliegende Erfindung kann am besten durch Verwendung eines Beispiels eines objektorientierten Betriebssystems erklärt werden. Jemand mit normalem Fachwissen bezüglich Betriebssystemprogrammierung wird jedoch erkennen, dass alle Betriebssysteme so abstrahiert werden können, dass sie mit den Prinzipien der objektorientierten Programmierung übereinstimmen, so dass damit ein Programmierer die Prinzipien der objektorientierten Programmierung auf jedes Betriebssystem übertragen kann. Die beispielhafte Darstellung der vorliegenden Erfindung arbeitet in Verbindung mit dem OS/2*- Betriebssystem, das durch Intemational Business Machines, Incorporated (IBM) entwickelt und vertrieben wird (* "OS/2" ist ein eingetragenes Warenzeichen von IBM). Das OS/2-Betriebssystem identifiziert und nutzt Objekte formal als Teil seines Betriebsschemas, bei dem die individuellen Prozesse, die durch das OS/2-Betriebssystem verwaltet werden, durch Objekte eingeschlossen sind, welche die Computerprogramme, Daten, Icons, Zugangsprivilegien und andere Attribute definieren, die das Vermögen des Prozesses erzeugen andere Teile des Systems zu beeinflussen oder zu verändern. Viele ähnliche Betriebssysteme benutzen ein objektorientiertes Betriebsschema und somit ist die vorliegende Erfindung direkt auf viele konventionelle Betriebssysteme einschließlich Windows95 und WindowsNT von Microsoft Corporation anwendbar.
  • Bei einem objektorientierten Betriebssystem können Programme und die Prozesse, die sie erzeugen mit einer Klasse, die gemeinsame Eigenschaften besitzt verknüpft werden. Die Klassen-Zuordnung teilt dem Betriebssystem mit, dass das Klassenmitglied einen vorher definierten Satz an Eigenschaften enthält. Zugangsprivilegien und Sicherheitsfreigaben können besser für Klassen festgelegt werden, als dass für jedes individuelle Objekt oder jeden individuellen Prozess eine solche Information angegeben werden muss. PDF 44 und ADMIN 36 können auch so gestaltet werden, dass sie Sicherheits- und Kontrollalgorithmen enthalten, die auf Prozessklassen statt auf nur einzeln identifizierte Prozesse zielen. Das folgende Beispiel eines .sec-Files, das in der zweiten Ausführung der Erfindung als ein Vorgabe-Desktopprofil verwendet wird und in dieser Ausführung als Flat-Text-File realisiert wird, liefert mehrere Klassenzuordnungen zusammen mit den anderen Desktopinformationen.
  • Jeder Startausdruck in Klammem identifiziert die Klasse des Objektes, einschließlich Desktopobjekte, Geräte, Filter oder Filesystem-Objekte, die von der PDF 44 benutzt wird, um das passende Programm aufzurufen, das passende Desktop-Icon einzurichten oder die passende Ressource zu initialisieren. Der erste Ausdruck [Master] ist ein Dateianfangs-Kennsatz, der das .sec-File identifiziert, in diesem Fall ein Masterfile für ein Vorgabe-Workstationdesktop. Die Anweisung ENABLESECURITY=OBJECTS weist PDF 44 an, Sicherheitsprivilegien auf eine Objektebene anzuwenden ("FS" würde PDF 44 anweisen die Filesystem-Sicherheitsprivilegien anzuwenden, während "BOTH" sowohl Objekt- als auch die Filesystem-Sicherheit freigibt), während der Ausdruck RESTRICTUNDEF=YES PDF 44 anweist danach zu suchen und wenn ein nicht definierter Prozess gefunden wird seinen Zugang zu Workstation 24 und Server 22 zu unterbinden. Die PASSWORD-Anweisung identifiziert das vorgegebene Sicherheitspasswort, das verschlüsselt ist und die Anweisung LOG=BCD aktiviert ein Transaktionsprotokoll im Hintergrund der Desktopoperation. Diese und andere Anweisungen von höherem Grad können somit über das .sec-File, das durch ADMIN 36 übermittelt wird, an PDF 44 auf der Workstation gesandt werden. ADMIN 36 kann dann jeden Zugang zu Netzwerkressourcen über die Workstation blockieren, bis es von PDF 44 mit der passenden Information (z. B. Tasten, vorher definierte Anforderungen oder Passwörter) versorgt wird.
  • Der zweite Ausdruck des .sec-Files des Beispiels [Folder] TITLE=DESKTOP ist die höchste Klassenebene und identifiziert die Darstellung der Desktop-Benutzerschnittstelle des Objekts. Der Ausdruck CLASS = DskDesktop zeigt an, dass das Objekt zu der Klasse Top Level Desktopanzeige gehört, die durch die Vererbung von Kennwerten aus der VPShell-Klasse gebildet wird und fügt weiter Kennwerte an, die von dem Verfahren der Erfindung genutzt werden (die DskDesktop-Klasse wird manchmal als eine Ersatz-Klasse bezeichnet, da sie die WPShell-Klasse ersetzt). Diese Desktop-Klasse von Objekten stellt PDF 44 dem Benutzer dar und die Anweisungen innerhalb dieses Ausdrucks des .sec-Files liefern die Vorgabeparameter für die Benutzerschnittstelle an PDF 44. Die PDF 44 enthält jedoch keine Sicherheits- oder PriVilegieninformation, die sich auf den Workstationprozess bezieht. Diese Information ist in einem lokalen .sec-File gespeichert, auf das sich PDF 44 bezieht.
  • Der dritte Ausdruck des .sec-Files aus dem Beispiel [Folder] TITLE=OS/2 System identifiziert die Darstellung der Desktop-Benutzerschnittstelle des Objekts und die Anweisung CLASS=PRDirectory zeigt an, dass das Objekt zur Klasse der Programmdirectorys gehört. Ein solches PRDirectory kann eine Unterklasse einer Ordner-Klasse sein, wie sie von einem LAN-Netzwerksystem erzeugt wird. Dieses Objekt stellt dem Benutzer ein Directory mit Programmen vor, in diesem Fall speziell eine Zusammenstellung von OS/2- Betriebssystem-Programmen. Jedes Programm, das aus einem speziellen Ordner aktiviert wird, erbt die Privilegien des Ordners, wenn das Programm-Objekt selbst nicht die ererbten Privilegien außer Kraft setzt. Dieser Ausdruck enthält drei Identifizierungen, die von der PDF 44 benutzt werden, um dieses oder verwandte Objekte zu manipulieren, namentlich OBJECTID (die Identifizierung des Objekts selbst), PARENTID (die Identifizierung des Stamms des Objekts) und SHADOWID (der Zeiger auf das Originalobjekt). Der Ausdruck enthält auch mehrere Anzeigeparameter und mehrere Sicherheits/Privileg Anzeigen. Dieser "OS/2-System"-Ausdruck enthält mehrere Bezeichner und Anzeigen, die in [Folder]-Klasse-Ausdrücken benutzt werden. Icons sind innerhalb der Ordner platziert und Prozesse, die durch den Aufruf der Icons gestartet werden haben Vorgabe-Zugangsprivilegien entsprechend den Sicherheits/Privileg- Anweisungen des Ursprungsordners und allen Stammordnern (Ordner, die andere Ordner enthalten).
  • Die Ausdrücke, die durch [Pad], [Program], [Datafile] und [Printer] identifiziert werden, befassen sich alle mit einzelnen logischen und /oder physikalischen Geräten. Der Ausdruck [Pad] bezieht sich auf eine Vorrichtung, die andere Operationen oder Anwendungen starten oder sie "auslösen" ("launch") kann, z. B. dargestellt durch ein "LaunchPad" - Icon. Der Ausdruck [Programm] bezieht sich auf ein ausführbares File, das einen Prozess auf Workstation 24 und/oder auf Server 22 erzeugt, wenn es ausgelöst wird und API Initialisierungsstrings oder andere verwandte Daten enthalten kann. Der Ausdruck [Datafile] bezieht sich auf ein Datenfile, das ein ausführbares File eines assoziierten Anwendungsprogramms aktiviert, wenn es ausgelöst wird. Der Ausdruck [Printer] (oder ein anderer "Gerät"-Ausdruck) bezieht sich auf ein peripheres Computergerät wie einen Drucker, ein Modem, einen Joystick oder ein ähnliches Eingabe- und/oder Ausgabegerät.
  • Der Ausdruck [Ses] bezieht sich speziell auf ausführbare Files, Directorys und/oder auf Vorrichtungen von PDF 44 und Daemon 46, die mit den Einrichtungen des Security Enabiling Services Kernel des OS/2 Betriebssystems zusammenwirken. Ein solcher Ausdruck könnte sich alternativ auf verschiedene Teile von ADMIN 36 und/oder Daemon 46 beziehen, die zu Beginn das Filesystem sperren und später entsperren können. ADMIN 36, PDF 44 und Daemon 46 sind so programmiert, dass sie speziell gestaltete Objekte als "vertrauenswürdige Anwendungen" erkennen und solchen vertrauenswürdigen Anwendungen Zugang zu bestimmten Systemebenen-Files gewähren. Durch die vorliegende Erfindung wird eingeschlossen, dass ADMIN 36, PDF 44 und Daemon 46 es auch gestatten "Device" Ausdrücke zu sperren und/oder zu überwachen, um ein Protokoll-File aller Vorgänge aufrechtzuerhalten, die auf dem oder über das Gerät stattfinden.
  • Der Ausdruck [Filter] kann von PDF 44 bei der Erstellung oder Betreibung eines Desktops oder von Daemon 46 während einer Aufzählungsroutine benutzt werden. Der Filterprozess kann auf einer Klassenebene realisiert werden oder Objekttitel können alternativ Gegenstand einer solchen Filterung sein. Ein Filter-Ausdruck kann zum Beispiel dazu benutzt werden, um Einträge in einer Fenster-Liste ohne der Bereitmeldung oder der Zustimmung der Benutzers zu entfernen. Eine andere Verwendung eines Filters kann es sein, bestimmte Prozesse während des Aufbaus oder Wiederaufbaus eines Desktops am Laufen zu halten (zum Beispiel um eine externe Kommunikationsverbindung aktiv zu halten, auch wenn das Desktop gerade wiederaufgebaut wird). Ein Filter kann auch dazu benutzt werden, um ein Passwort von PDF 44 oder dem Benutzer zu fordern bevor bestimmte Objekte oder Objektklassen aufgerufen werden.
  • Für Objekte, die nicht zu einer der vorangegangenen Klassen gehören, liefert die Ausdrucksbezeichnung [Object] ein Format für ein durch den Benutzer bestimmtes Objekt wie zum Beispiel ein abstraktes Nicht-File-System Objekt. Diese Arten von abstrakten Objekten sind vom Typ .dll, die nicht unbedingt durch ausführbare Files sondern eher durch die Shell realisiert werden (sie werden oft als Arbeitsplatz-Shell Anwendungen bezeichnet). Anweisungen innerhalb dieses Objekts sollen so interpretiert werden, als ob sie in einer der vorher definierten Klassen aufgetreten wären.
  • Die vorliegende Erfindung liefert auch zwei zusätzliche Möglichkeiten das Desktop abzusichern. Eine ist eine Einschränkung, die auf der Hardware basiert und die andere eine Validierung aus dem Zusammenhang. Die Einschränkung, die auf der Hardware basiert, wird durch ein zusätzliches File (RESTRICT. TXT) aufrechterhalten, das sich auf dem lokalen Computer befindet und das PDF 44 prüft, bevor es Desktopobjekte erzeugt. Auf diese Wiese können lokale Computer so konfiguriert werden, dass bestimmte empfindliche Anwendungen an bestimmten physikalischen Orten nicht erzeugt oder aufgerufen werden können ohne Ansehen der Privilegebene des Benutzers. Die Validierung aus dem Zusammenhang ist eine Anweisung in einem .sec-File Ausdruck VPF=< path> |< filename> , die fordert, dass der spezifizierte Pfad oder das spezifizierte File auf dem Netzwerk vorhanden sein muss bevor PDF 44 das spezifizierte Objekt erzeugt.
  • PDF 44 erzeugt somit ein Desktop, das eine graphische Anzeige mit Icons einschließt, die Programme, Files, Netzwerkressourcen und andere verwandte Informationen darstellen. Wenn der Benutzer ein Programm oder eine Netzwerkressource auslöst und damit einen neuen Prozess erzeugt, zeigt PDF 44 ein neues Fenster auf dem Bildschirm der Workstation 24, das die Aktivität des neuen Prozesses anzeigt. Bei der beispielhaften Ausführung mit einem Multitasking-Betriebssystem kann auf dem Desktop mehr als ein Prozess gleichzeitig erscheinen. PDF 44 zeigt das aktuellste Fenster im Vordergrund und die anderen Fenster sind über einen Befehl zugänglich. Auch bei der beispielhaften Ausführung mit einem objektorientierten-Betriebssystem wird die Kommunikation mit und die Realisierung von Prozessen durch die Verwendung von Objekten erreicht, welche die benötigte Information zur Ausführung des Prozesses und der Zusammenarbeit mit anderen Teilen des Systems enthalten. Jedes Icon auf dem Desktop besitzt ein verknüpftes Objekt, so dass, wenn PDF 44 sieht, dass der Benutzer ein bestimmtes Icon aktiviert, das entsprechende Objekt ausgelöst werden und ein neues Anzeigefenster erstellt werden kann.
  • Bevor PDF 44 arbeiten kann, müssen jedoch die Objekte, die PDF 44 anzeigt erzeugt werden. Der Benutzer kann erst zur Anmeldung zum Netzwerk 20 aufgefordert werden, bevor er die Workstation 24 öffnet. Daemon 46 erhält das Desktopprofil des Benutzers von ADMIN 36, wobei das Desktopprofil eine Liste von Objekten mit entsprechenden Einschränkungen und Privilegien darstellt, die Schlüssel oder andere Berechtigungsinformationen enthalten können. Zusätzlich können ADMIN 36 andere Einschränkungen bezüglich dieses Desktopprofils auferlegt werden, das an Daemon 46 auf der Basis des physikalischen Standortes oder Knotens, von dem aus der Benutzer sich in das Netzwerk 20 anmeldet, gesandt wird. Dieses Desktopprofil enthält sowohl allgemeine Informationen über die Einschränkungen und Grenzen, die auf PDF 44 zutreffend sind, als auch die Objekte, auf die PDF 44 zugreifen kann. Daemon 46 erhält von der Workstation 24 auch Informationen über lokale Attribute, wie die Anwesenheit oder Abwesenheit von lokalen Peripheriegeräten. PDF 44 kann dann Anforderungen zur Erstellung von Prozessen an Daemon 46 übermitteln, der bestimmt, ob der angeforderte Prozess entsprechend des Desktopprofils des Benutzers von ADMIN 36 zugelassen ist. Diese Anordnung erlaubt es einem Benutzer sich an jeder Workstation 24 des Netzwerkes 20 anzumelden und das gleiche Desktop von PDF 44 angezeigt zu bekommen.
  • Bei der zweiten Ausführung der Erfindung operiert ADMIN 36, indem es jeden Benutzer vom Zugang zu den Netzwerkressourcen ausschließt. Durch Einschaltung der File- System-Ebene Blockierung kann kein Programm oder Prozess auf ein Netzwerkfile zugreifen, außer durch eine freigegebene Sicherheitsprozedur, welche die Existenz eines vorher eingerichteten Sicherheitsprivilegs für den Benutzer erfordert. Das .sec-File 50 kann die Information enthalten, die notwendig ist, um die Sicherheitsprozedur zu "entsperren" und einem Benutzer Zugang zu der Netzwerkressource zu gewähren. Auf diese Weise wird jeder Versuch eines Benutzers scheitern ohne Benutzung der PDF 44 auf eine Netzwerkressource zuzugreifen. Nur durch die Benutzung von PDF 44, die durch einen passenden Schlüssel oder eine andere Autorisierungsinformation im .sec- File 50 des Benutzers freigegeben wird, kann der Benutzer auf Netzwerkressourcen zugreifen.
  • Der allgemeine Ablauf der Operation ist in einem Flussdiagramm in Fig. 2 gezeigt. Workstation 24 wird in Schritt 200 eingeschaltet, was die Benutzung einer geeigneten Zugangskontroll-Software einschließen kann. Daemon 46 erhält die Parameter, die mit dieser speziellen Workstation 24 verbunden sind, typischerweise durch Zugriff auf ein lokal gespeichertes File oder durch Ausführung einer Diagnostikroutine in Schritt 202. Daemon 46 löscht zum Beispiel in der beispielhaften Ausführung zuerst alle alten Objekte, die auf der Workstation 24 ersichtlich sind. Nach dieser Löschung zu Beginn lädt Daemon 46 ein binäres File, das auf der lokalen Festplatte 42 gespeichert ist und das einen Satz aller Objekte enthält, die für die Workstation 24 möglich sind und verbirgt dann diese Objekte vor der Anzeige durch PDF 44. Als Nächstes lädt Daemon 46 ein zweites binäres File mit Objekten, die für die Workstation 24 aktiv sind. Dieser Satz von aktiven Objekten enthält typischerweise eine selbstauslösende Netzwerkanmeldungsprozedur, die typischerweise das Eintippen des Benutzemamens und des Passworts in Schritt 204 enthält.
  • In Übereinstimmung mit der vorliegenden Erfindung kann dann Daemon 46 ein Netzwerkbenutzerprofil von der ADMIN-Software 36 in Schritt 206 erhalten. Bei der zweiten Ausführung der Erfindung blockiert ADMIN 36 zu Beginn den Benutzer durch Verneinung aller Zugangsprivilegien zu Netzwerkressourcen. Wenn Daemon 46 einmal die Informationen bezüglich der lokalen Workstation und des Netzwerkprofils des Benutzers, typischerweise durch Zugriff auf .sec-file 50 auf dem Server 22 besitzt, kann PDF 44 das Desktop des Benutzers durch die Erstellung einer Liste von Objekten, welche die möglichen verfügbaren Ressourcen sowohl auf dem Netzwerk 22 als auch auf der Workstation 24 darstellen, in Schritt 208 aufbauen. Bei der zweiten Ausführung kann PDF 44 auch geeignete Zugangsfreigabeinformationen von .sec-File 50 erhalten, um dem Benutzer Zugang zu sicherheitsgeschützten Ressourcen wie einem Sicherheitsschlüssel oder einer anderen geeigneten Berechtigung zu gewähren. An diesem Punkt ist die Workstation 24 in der Lage, Eingaben von dem Benutzer zu empfangen, um Prozesse zu starten oder mit ihnen zusammenzuwirken und die gewünschten Rechenfunktionen zu leisten.
  • Daemon 46 fährt fort, die Operationen der Workstation 24 aufzuzeichnen, so dass der Benutzer nicht unter Umgehung der Zugangs- und Sicherheitszuteilungen für den Benutzer, das Desktop verändert, das von PDF 44 erstellt wird. In Schritt 210 wird ein Zeitgeber gestellt, so dass Daemon 46 periodisch aktiviert wird. Bei der beispielhaften Ausführung der Erfindung wurde ein Intervall von etwa drei (3) Sekunden als eine geeignete Periode zur Aktivierung des Daemon 46 mit der Hardware und Software, die mit dem System der Erfindung benutzt wird gewählt. Dieses Intervall wird ausgewählt, um ausreichend oft zu prüfen, um Verletzungen zu bemerken bevor bedeutender Schaden aufgetreten ist, ohne die Effizienz und die Ansprechempfindlichkeit von Workstation 24 bedeutend zu verringern. Dieses Intervall ist auch nur durch die Veränderung von Initialisierungsparametern anpassbar, ohne dass irgendein anderer Teil des Systems neu konfiguriert werden muss. Jeder mit normalem Sachverstand weiß jedoch, dass das periodische Intervall, das benutzt wird um Daemon 46 aufzurufen von der Hardware- und Softwaregeschwindigkeit abhängig ist. Während der Zeitgeber läuft, erlaubt Schritt 212 dem Benutzer die Workstation 24 nach Wunsch zu aktivieren und zu manipulieren.
  • Während dieses Operationsabschnittes enthält Schritt 214 die Bestimmung, ob eine Abbruchbedingung aufgetreten ist, z. B. ein vom Benutzer aktivierter Programmaustritt oder ein schwerer Systemfehler, so dass Workstation 24 geschlossen werden soll. Sollte eine Abbruchbedingung beobachtet worden sein, würde Schritt 222 (im Folgenden mit größerer Genauigkeit beschrieben) eintreten. In einem typischen Fall jedoch würde der Arbeitsablauf andauern, bis Zeitgeberunterbrechungsschritt 216 eintritt. Die Zeitgeberunterbrechung veranlasst Daemon 46 ein aktives Programm des Systems zu werden, was Daemon 46 erlaubt den Status der anderen Prozesse auf Workstation 24 zu prüfen.
  • In dem "Run Daemon"-Schritt 218 wird ein Aufzählungsprozess durch den Prozessor auf der Workstation 24 ausgeführt. Daemon 46 prüft jeden Prozess, der auf Workstation 24 vorhanden ist gegen die Prozessinformation, die in seiner lokalen Kopie des .sec-Files 50 enthalten ist. Jeder Prozess, der in der Aufstellung des .sec-Files 50 nicht gefunden wird, wird durch Daemon 46 weitergeführt, typischerweise durch Löschen und Entfernen des unbekannten Prozesses von Workstation 24. Es sind jedoch auch andere Operationen möglich und manchmal erwünscht. Es kann zum Beispiel ein Nachrichtenfenster angezeigt werden und der Prozess kann in Übereinstimmung mit der Antwort des Benutzers modifiziert werden, um einem bekannten Prozess zu entsprechen. Es kann eine andere Alternative sein, die Anwesenheit des unbekannten Prozesses in einem Protokoll zu speichern, um es mit einer Diagnostiksoftware zu untersuchen.
  • Bekannte Prozesse, auf die Daemon 46 während der Aufstellungsroutine trifft, werden auf verschiedene Weise behandelt. Typischerweise prüft Daemon 46 auf Konsistenz des Prozesses, wie er in den Desktop-Files von PDF 44 notiert wurde mit der Information aus .sec-File 50 und erstellt, wenn passend, Verbesserungen. Daemon 46 überprüft auch den Sicherheitsschutz des Prozesses und den Benutzer auf Einhaltung der Netzwerksicherheitsprivilegien. Wenn eine Inkonsistenz, eine Sicherheitsverletzung oder eine andere ähnliche Bedingung entdeckt wird, kann Daemon 46 folgendermaßen antworten: Anforderung eines Passwortes von dem Benutzer vor der Erlaubnis zu weiterem Zugang oder weiterer Verarbeitung; Löschen und Entfernen des Prozesses von dem Desktop; Speicherung der Anwesenheit des Prozesses in einem Protokollfile; Wiederherstellung des Prozesses unter Verwendung des originalen Prozesses und einer Benutzerantwort auf ein Nachrichtenfenster; und/oder eine andere geeignete Antwort auf die beobachtete Inkonsistenz. Wenn Daemon 46 alle seine Operationen mit den Prozessen auf Workstation 24 beendet, wird der Zeitgeber in Schritt 210 zurückgesetzt und die vorausgehenden Schritte werden wiederholt.
  • Wenn der Benutzer am Ende bereit ist, die Operation auf Workstation 24 zu beenden, fordert PDF 44 an, dass das möglicherweise geänderte Desktop in Schritt 222 gesichert wird. Daemon 46 empfängt diese Anforderung, filtert zuerst das neuere Desktop mit dem originalen Benutzerprofil um sicherzustellen, dass das neue Desktop keine Benutzerprofilinformation verletzt, die auf Server 22 gespeichert ist. Nachdem das neue Desktop so gefiltert wurde, sichert Daemon 46 das gefilterte neue Desktop durch Speicherung des oder der typischen Files auf Server 22. Nun kann die Operation der Workstation 23 korrekt in Schritt 224 beendet werden.
  • Die vorliegende Erfindung liefert somit ein Desktopverwaltungssystem und Verfahren, die es dem Netzwerkadministrator erlauben, Desktops über ein Netzwerk unabhängig zu erstellen, zu sichern und zu verwalten. Die Erfindung liefert eine graphische Benutzerschnittstelle zur Erstellung von Benutzerdesktops, zur Anwendung von Zugangsberechtigungsoptionen, zur Unterhaltung von Übergabeprotokollen und zum Passwortschutz jedes Objektes, das über die Benutzer-Workstation zugänglich ist. Ein Sicherheits- Kemel verhindert den Zugang zu Ressourcen und erlaubt den Zugang zu Ressourcen nur nach Erhalt eines entsprechenden Schlüssels. Das Desktopverwaltungssystem benutzt Informationseinträge, die einen Schlüssel für die Zugangsberechtigung zu Ressourcen über den Sicherheits-Kemel enthalten. Das Workstation-Desktop enthält die Fähigkeit, den Zugang zu Ressourcen durch die Übermittlung eines Schlüssels an den Sicherheits-Kemel zu entsperren. Die Erfindung erlaubt diese Funktionen, ohne die Arbeitsweise eines Benutzers am Desktop oder die Kapazitäten des zugrunde liegenden Betriebssystems oder Netzwerks zu verändern.

Claims (11)

1. Verfahren zum Gewähren eines Benutzerzugriffs auf Ressourcen in einem Netzwerk aus Computern (20), das einen Server (22) und eine Workstation (24) umfasst, wobei das Verfahren folgende Schritte umfasst: Erstellen einer Vielzahl von Informationsaufzeichnungen (50) durch einen Sicherheits-Kernel (36), der auf dem Server operiert, wobei jede Informationsaufzeichnung eine benutzerspezifische Workstation-Konfiguration einschließlich einer Spezifikation von zugreifbaren Ressourcen für den Benutzer umfasst, Abrufen von einer der benutzerspezifischen Informationsaufzeichnungen unter Verwendung eines Computerprogramms, das auf der Workstation operiert; und Vorsehen einer Desktop-Benutzeroberfläche (44) auf der Workstation, die einen Benutzerzugriff gewährt, wie er durch die mit dem Benutzer assoziierte Informationsaufzeichnung spezifiziert wird, gekennzeichnet durch einen Schritt zum Blockieren des Benutzerzugriffs auf Ressourcen mittels einer Sicherheitsschnittstelle (46), die auf der Workstation operiert, um zu verhindern, dass ein Benutzer auf Ressourcen zugreift, die nicht durch die abgerufene Informationsaufzeichnung spezifiziert werden, wobei die Informationsaufzeichnungen einen Schlüssel umfassen, um den Benutzerzugriff auf die Ressourcen nur über den Sicherheits-Kernel zuzulassen, der einen spezifischen Benutzerzugriff ermöglicht, sowie durch einen Schritt des Sicherheits-Kernels, der den Benutzerzugriff auf Ressourcen nach Empfang eines entsprechenden Schlüssels von der Sicherheitsschnittstelle durch den Sicherheits-Kernel ermöglicht.
2. Verfahren nach Anspruch 1, gekennzeichnet durch einen Schritt zum Überwachen von Prozessen, die durch die Desktop-Benutzeroberfläche initiiert werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Überwachungsschritt einen Schritt zum Überprüfen von Prozessen auf der Workstation in Bezug auf die vom Server empfangene benutzerspezifische Informationsaufzeichnung umfasst.
4. Verfahren nach Anspruch 1, gekennzeichnet durch einen Schritt zum Verhindern eines nicht autorisierten Zugriffs auf Netzwerkressourcen über den Desktop.
5. Verfahren nach Anspruch 1, gekennzeichnet durch einen Schritt zum Auferlegen von Zugriffsbeschränkungen auf der Basis der in der Werkstation gespeicherten Informationen.
6. Verfahren nach Anspruch 1, gekennzeichnet durch einen Schritt, der erfordert, dass ein Benutzer auf eine Validierungsressource zugreift, bevor er auf eine spezifizierte Ressource zugreifen kann.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Netzwerk ein Objektorientiertes Betriebssystem verwendet, wobei jedes Objekt eine Vielzahl von Befehlen und assoziierten Daten umfasst, weiterhin gekennzeichnet durch einen Schritt zum Erstellen von einer Liste von Objekten, welche die Ressourcen wiedergeben.
8. Verfahren nach Anspruch 1, gekennzeichnet durch einen Schritt zum Speichern des Desktops nach einer Sitzung mit einem Benutzer.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Gewährungsschritt einen Schritt zum Filtern des Desktops in Übereinstimmung mit von dem Server empfangenen Kriterien umfasst.
10. Computerprogramm zum Ausführen aller Schritte des Verfahrens von Anspruch 1, das in einer Computerlesbaren Form vorgesehen ist.
11. Computernetzwerk (20), das einen Benutzerzugriff auf Ressourcen gewährt, die wenigstens lokale und/oder Netzwerk-Computerprogramme, lokale und/oder Netzwerk- Peripheriegeräte und/oder externe Kommunikationsgeräte umfassen, wobei das Netzwerk umfasst: einen Server (22), eine Vielzahl von Workstations (24), die mit dem Server verbunden sind, wobei jede Workstation eine Anzeigeeinrichtung zum Anzeigen einer grafischen Benutzeroberfläche für einen Benutzer umfasst, und eine Kommunikationseinrichtung (26) zum Übertragen von Nachrichten zwischen dem Server und der Vielzahl von Workstations, wobei der Server eine Sicherheits-Kernel-Einrichtung (36) umfasst, um Zugriff auf wenigstens eine Ressource für einen Benutzer zu gewähren, wobei der Benutzer auf einer der Workstations operiert, wobei der Server eine Vielzahl von Informationsaufzeichnungen (50) mit jeweils einer benutzerspezifischen Workstationkonfiguration umfasst, welche eine Spezifikation der zugreifbaren Ressourcen für den Benutzer enthält, wobei die Workstation eine Desktopbenutzeroberflächeneinrichtung (44) zum Erstelfen und Anzeigen von auf Ressourcen Bezug nehmenden Elementen auf einer Anzeigeeinrichtung der Workstation umfasst, wobei die Desktopbenutzeroberflächeneinrichtung eine Einrichtung zum Abrufen von einer der Informationsaufzeichnungen umfasst, wobei die Desktopbenutzeroberflächen-Einrichtung weiterhin mit einer Sicherheitsschnittstelleneinrichtung (46) assoziiert ist, um zu verhindern, dass ein Benutzer auf Ressourcen zugreift, die nicht durch die abgerufene Informationsaufzeichnung spezifiziert sind, wobei das Computernetzwerk dadurch gekennzeichnet ist, dass der Server eine Sicherheitskerneleinrichtung (36) umfasst, welche den Benutzerzugriff auf Ressourcen blockiert und den Benutzerzugriff auf Ressourcen nur dann erlaubt, wenn es einen entsprechenden Schlüssel empfängt, der von der Sicherheitsschnittstelleneinrichtung (46) gesendet wird, wobei die Informationsaufzeichnungen Schlüssel umfassen, welche den Zugriff des Benutzers auf Ressourcen über die Sicherheitsschnittstelleneinrichtung und den Sicherheitskernel erlauben.
DE69707022T 1997-05-08 1997-05-08 System und verfahren zur sicheren verwaltung von desktop-umgebungen über ein netzwerk Expired - Fee Related DE69707022T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1997/008065 WO1998050853A1 (en) 1997-05-08 1997-05-08 Network desktop management security system and method

Publications (2)

Publication Number Publication Date
DE69707022D1 DE69707022D1 (de) 2001-10-31
DE69707022T2 true DE69707022T2 (de) 2002-06-06

Family

ID=22260886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69707022T Expired - Fee Related DE69707022T2 (de) 1997-05-08 1997-05-08 System und verfahren zur sicheren verwaltung von desktop-umgebungen über ein netzwerk

Country Status (5)

Country Link
EP (1) EP0980545B1 (de)
AT (1) ATE206218T1 (de)
AU (1) AU3123597A (de)
DE (1) DE69707022T2 (de)
WO (1) WO1998050853A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408336B1 (en) 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6339826B2 (en) 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6510466B1 (en) 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
US6324578B1 (en) 1998-12-14 2001-11-27 International Business Machines Corporation Methods, systems and computer program products for management of configurable application programs on a network
KR100335995B1 (ko) * 1999-12-24 2002-05-08 남궁종 윈도우 nt용 웹 기반의 전자인증 서버 시스템 및 방법
EP1168752A1 (de) * 2000-06-23 2002-01-02 Matra Nortel Communications Zugriffsteuerung in Client-Server-Systemen
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
JP2002157171A (ja) * 2000-11-17 2002-05-31 Canon Inc 情報処理装置、機器管理プログラム、機器管理プログラムが格納された記録媒体、及び機器管理方法
GB2376093A (en) * 2001-03-21 2002-12-04 Appsense Ltd A security system relating to networks
EP1298514A1 (de) * 2001-09-28 2003-04-02 Siemens Aktiengesellschaft Ein Rechnersystem und ein Verfahren zur Zugriffsverwaltung eines Benutzers zu Betriebsmitteln
EP2182465B1 (de) 2003-02-21 2013-05-01 Research In Motion Limited System und Verfahren zur multi-level Kontrolle von elektronischen Geräten.
JP2008527468A (ja) 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド ハイブリッド・ローカル/リモート・ストリーミング
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
WO2006102621A2 (en) 2005-03-23 2006-09-28 Stream Theory, Inc. System and method for tracking changes to files in streaming applications
US11824723B2 (en) 2005-03-23 2023-11-21 Numecent Holdings, Inc. Opportunistic block transmission with time constraints
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
JP2008026943A (ja) 2006-07-18 2008-02-07 Ricoh Co Ltd 編集処理装置、編集処理装置の制御方法、プログラムおよび記録媒体
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
KR101868386B1 (ko) * 2011-12-13 2018-06-19 삼성전자주식회사 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263165A (en) * 1990-02-15 1993-11-16 International Business Machines Corporation System for providing user access control within a distributed data processing system having multiple resource managers
GB9205774D0 (en) * 1992-03-17 1992-04-29 Int Computers Ltd Computer security system
US5696898A (en) * 1995-06-06 1997-12-09 Lucent Technologies Inc. System and method for database access control

Also Published As

Publication number Publication date
DE69707022D1 (de) 2001-10-31
WO1998050853A1 (en) 1998-11-12
EP0980545A1 (de) 2000-02-23
EP0980545B1 (de) 2001-09-26
AU3123597A (en) 1998-11-27
ATE206218T1 (de) 2001-10-15

Similar Documents

Publication Publication Date Title
DE69707022T2 (de) System und verfahren zur sicheren verwaltung von desktop-umgebungen über ein netzwerk
US6061795A (en) Network desktop management security system and method
US6584568B1 (en) Network provider loop security system and method
DE69530128T2 (de) Sicherheit für rechnerbetriebsmittel
DE69324293T2 (de) Rechnersystem-Sicherheit
DE69132809T2 (de) Verfahren und Anordnung zur Ausführung von Sicherheitswegbefehlen
US7496575B2 (en) Application instrumentation and monitoring
DE60127557T2 (de) Filtern eines erlaubnissets mit hilfe von erlaubnisanfragen die mit einer kodeanordnung verknüpft sind
US5765153A (en) Information handling system, method, and article of manufacture including object system authorization and registration
DE69714422T2 (de) Zugriffssteuerungs/verschlüsselungssystem
Ferraiolo et al. A role-based access control model and reference implementation within a corporate intranet
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE69430942T2 (de) Verfahren zur sicheren Kommunikation mit nicht vertrauenswürdigen Servern
DE69332633T2 (de) Verfahren und Sytem um, auf Bescheinigung gestützt, Alias zu entdecken
DE60006065T2 (de) Verfahren und system zur entwicklung, anwendung, fernladung, und ausfuhrung, von datenbank gesteuerten webseiten
DE69323926T2 (de) Verfahren und Vorrichtung zur Sicherheit eines Computersystem mit Programmberechtigungsdatenstrukturen
DE102012210887B4 (de) Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung
DE69529092T2 (de) Einrichtung zur sicherheit eines hauptrechnersystems mit doppeldekor
EP2642395B1 (de) Verfahren und Vorrichtung zum Ausführen von Workflow-Skripten
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE68928811T2 (de) Verkapselungssystem für ein Rechnersystem
DE19954358A1 (de) Benutzerrollenzugriffssteuerung
DE112021005119T5 (de) Zugriff auf software durch heterogene verschlüsselung
DE102015208665B4 (de) Verfahren und System zum Implementieren eines sicheren Sperrbildschirms
DE69420926T2 (de) Sequentieller informationsintegrationsdienst fuer dateiuebertragungsintegration zwischen mehreren programmodulen und einem speicher in einem computer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee