DE69818008T2 - Datenzugriffssteuerung - Google Patents

Datenzugriffssteuerung Download PDF

Info

Publication number
DE69818008T2
DE69818008T2 DE69818008T DE69818008T DE69818008T2 DE 69818008 T2 DE69818008 T2 DE 69818008T2 DE 69818008 T DE69818008 T DE 69818008T DE 69818008 T DE69818008 T DE 69818008T DE 69818008 T2 DE69818008 T2 DE 69818008T2
Authority
DE
Germany
Prior art keywords
information
client
server
information object
request
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 - Lifetime
Application number
DE69818008T
Other languages
English (en)
Other versions
DE69818008D1 (de
Inventor
Gerard Niall MCGEE
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69818008D1 publication Critical patent/DE69818008D1/de
Publication of DE69818008T2 publication Critical patent/DE69818008T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Description

  • Die vorliegende Erfindung betrifft Informationsserver und insbesondere, aber nicht ausschließlich, Internet-Server und Verfahren zur Steuerung eines Internet-Servers.
  • Ein bedeutender Faktor, der zu einer rapide zunehmenden Zahl von Personen und Unternehmen geführt hat, die mit dem Internet Verbindung aufnehmen, ist der Reichtum an Informationen, die es enthält und die es praktisch jedem zur Verfügung stellt, der eine Telephonverbindung und einen Personalcomputer hat. Diese seine Stärke führt hingegen zu Problemen, wenn ein Informations- oder Diensteanbieter, der das Internet als sein Kommunikationsmedium verwendet, steuern bzw. kontrollieren will, wie auf seine Informationen zugegriffen werden kann.
  • Die im Internet verfügbare Information ist auf Servern gespeichert, die einen Teil der Infrastruktur des Internet bilden. Auf die Information greifen Clients (Vorfeldrechner) zu (die von Benutzern oder Kunden gesteuert werden), die typischerweise mit dem Internet verbunden, aber nicht Teil desselben sind. Normalerweise stellen Clients nur für eine relativ kurze Zeit eine Verbindung zum Internet her, indem sie eine Wähl-Modem-Verbindung über die Telephonleitung verwenden.
  • Während die Kommunikation und der Informationstransfer zwischen den Internet-Clients und den Servern auf den bewährten TCP/IP-Protokollen (Transmission Control Protocol/Internet Protocol) beruht, werden Spezialprotokolle eines höheren Niveaus für einen Zugriff auf bestimmte Typen von Informationen speziell für einen der vielen Dienste, die im Internet verfügbar sind, eingesetzt. Unterschiedliche Dienste unterstützen unterschiedliche Informations-Formate und ermöglichen die Durchführung von unterschiedlichen Typen von Operationen an den Informationen. Ein Gopher-Client (Suchprogramm-Client) ermöglicht Abruf und Anzeige von vorwiegend textbezogenen Informationen, ein FTP-Client (Dateien-Transfer-Protokoll-Client) unterstützt den Transfer zwischen einem Server und einem Client binärer Dateien oder ASCII-Dateilen, und ein World Wide Web- oder einfach ein Web)-Client kann eine Mischung von Text und graphischer Information sowie Ton, Filme (normalerweise codiert über MPEG), virtuelle "Welten" und beliebige andere Typen von Daten aufrufen und anzeigen, für den eine geeignete "Viewer"-Anwendung oder eine "Steck"-Baugruppe verfügbar ist.
  • Die folgende Beschreibung konzentriert sich, lediglich zu Erläuterungszwecken, auf den Internet-Web-Dienst. Die beschriebenen Konzepte sind jedoch in einem breiteren Sinne auch auf andere Internet-Dienste und Informationsdienste anwendbar, die über andere Kommunikationsnetzwerke verfügbar sind.
  • 1 zeigt ein Beispiel einer Internetverbindung, die mehrere Clients 100 bedient, die über ein lokales Netzwerk 110 mit einem Arbeitsplatzrechner 120 verbunden sind. Der Arbeitsplatzrechner 120 ist über einen Kommunikations-Server 130 und ein Modem (oder eine ISDN-Schnittstelle) 140 mit einem Anbieter für Internetverbindungen 150 verbunden. Eine Verbindung stammt von einem Web-Client, beispielsweise einem Web-Browser, bei dem es sich um eine Software-Verarbeitung handelt, die sich typischerweise in einem Personalcomputer (PC) oder einem Arbeitsplatzrechner befindet. Indem er die Verbindung nutzt, kann der Client 100a beispielsweise frei zugängliche Informationen von einem beliebigen Internet-Server abrufen.
  • Eine allgemeine Beschreibung des World Wide Web einschließlich der Datenabrufprotokolle ist in IEEE Network, The Magazine of Computer Communications, Bd. 10, Nr. 2, Seiten 10 bis 17, März 1996, zu finden.
  • In der folgenden Beschreibung bedeutet der Begriff Internet-Server eine physische Rechenplattform, die an das Internet angeschlossen ist, wohingegen der Begriff Web-Server eine Softwareverarbeitung bedeutet, die sich im physischen Internet-Server befindet und dort läuft, um den Internet-Server mit Web-Server-Funktionen auszustatten. Mit dem Begriff Server selbst kann, in Abhängigkeit vom Kontext, entweder ein Web oder einen Internet-Server gemeint sein, obwohl diese Unterscheidung für den mit der folgenden Beschreibung verfolgten Zweck kaum von Bedeutung ist.
  • Das Web verwendet ein Protokoll mit dem Namen http (HyperText Transfer Protocol), um den Zugriff eines Web-Browsers auf Informationen in einem Web-Server zu unterstützen. Die http-Informationen werden bei ihrer Übermittlung über das Internet natürlich in das TCP/IP-Protokoll gehüllt. Die vom Web-Browser aufgerufene Information ist typischerweise eine HTML (HyperText Markup Language)-Datei, die vom Browser übersetzt wird und in geeigneter Weise auf einem Anzeigenbildschirm als Web-Informationsseite angezeigt wird.
  • Der Web-Browser bezeichnet die Informationen, die er aufrufen möchte, und verwendet dazu einen URL (Universal-Ressourcen-Lokalisator) der folgenden Form:
    http:/Internet server name/server directory/file name,
    wobei "http" bedeutet, daß der URL auf eine Web-Seite mit Informationen deutet. "Internet server name" wird durch das Internet in einen physischen Netzwerkstandort übersetzt. "server directory" ist der Ort der Datei im Server, und "file name" ist dasjenige der Datei im directory (Verzeichnis), das die geforderte Information enthält oder erzeugt.
  • 2 ist ein Diagramm, das die allgemeine Form einer typischen graphischen Benutzerschnittstelle illustriert, die von einem Web-Browser, z. B. dem Netscape (TM) Navigator Web Browser, geliefert wird. Die Anzeige enthält mehrere Hauptbereiche: Einen Optionsbereich 200, der die Benutzeroptionen zur Steuerung und Konfiguration des Browsers liefert, einen Webseiten-Anzeigenbereich 210 zur Anzeige einer Webseite, einen Standortkasten 220 zur Anzeige des Standortes oder des URL der angezeigten Webseite und ein Zustandskasten 230, der Informationen bezüglich des Zustands des Webseitenaufrufs anzeigt. Auf dem Bildschirm ist auch ein Zeiger 240 gezeigt, dessen Position von einem Benutzer gesteuert werden kann, indem er eine Computermaus, einen Rollball oder eine ähnliche Zeigevorrichtung verwendet. Der Benutzer tritt mit dem Browser durch die geeignete Positionierung des Zeigers auf dem Bildschirm und die Auswahl verfügbarer Optionen oder Funktionen, die vom Browser bereitgestellt, oder die auf der Webseite durch "anklicken" beispielsweise einer Maustaste, angezeigt werden, in Interaktion.
  • Eine HTML-Datei umfaßt einen ASCII-Text, der eingebettete HTML-Kennungen enthält. Im allgemeinen werden die HTML-Kennungen für die Erkennung der Natur und des Aufbaus der Webseite und zur Erkennung von HyperText-Links (Hyperlinks) verwendet, die im einzelnen im Folgenden beschrieben sind, und der zugehörigen URLs.
  • Die Anzeigeeigenschaften eines Web-Browsers bestimmen in Abhängigkeit von den HTML-Kennungen das Aussehen einer HTML-Datei auf dem Bildschirm. HTML kann im allgemeinen
    den Titel der Datei,
    den hierarchischen Aufbau der Datei mit Überschriften-Niveaus
    und Abschnittsnamen,
    Blickfang-, numerierte und verschachtelte Listen,
    Einrückpunkte für Graphiken,
    die besondere Betonung für Schlüsselworte oder Sätze,
    vorformatierte Bereiche der Datei und
    Hyperlins und zugehörige URLs
    kennzeichnen.
  • Im allgemeinen gibt ein Hyperlink einen Zeiger zu einer anderen Datei oder einer anderen Internetquelle an. Manchmal kann ein Hyperlink auch auf eine andere Stelle in einer gerade angezeigten Webseite zeigen. Innerhalb einer HTML-Datei sind Hyperlinks durch ihre Syntax gekennzeichnet, wie zum Beispiel:
    <A HREF = "{URL}">{anchor-text}</A>,
    worin <...> die HTML-Kennungen anzeigt.
  • Typischerweise enthält die Syntax einen URL, der auf die andere Datei, die Quelle oder einen Ort und auf eine Anker-Definition zeigt. In diesem Fall ist der Anker als Textstück definiert. In einer Webseite ist ein Hyperlink typischerweise auf dem Bildschirm graphisch durch den Anker dargestellt. Der Anker kann ein Stück eines hervorgehobenen Textes oder ein Bild, beispielsweise eine Drucktaste oder ein Icon-Bild, sein. Dort, wo beispielsweise der Anker kein Text ist, spezifiziert die zugrundeliegende Syntax üblicherweise auch den entsprechenden Anker-Bilddatei-Ort, der sich auf dem gleichen oder einem anderen Server befinden kann, und zwar, wie folgt:
    <A HREF = "{URL}"><IMG SRC = "{URL}"></A>,
    worin IMG SRC den Ort der Bilddatei für den Anker angibt.
  • Der von einem Benutzer erzielte Effekt, der durch Bewegen des Zeigers über den Anker und, beispielsweise, Klicken der Maustaste, einen Hyperlink wählt, ist normalerweise, daß der Web-Browser versucht, für eine Anzeige als neue Webseite die durch den URL angezeigte Datei aufzurufen. Mitunter bezieht sich jedoch ein URL eher auf eine Software-Verarbeitung als auf eine Webseite an sich, wie im einzelnen unten beschrieben ist.
  • Bei einigen Browsern, beispielsweise dem Netscape (TM) Navigator, kann dieser so ausgebildet sein, daß er den darunterliegenden URL im Zustandskasten des Anzeigenbildschirms anzeigt, wenn sich der Zeiger nur über einen Hyperlink-Anker bewegt, unabhängig davon, ob der Benutzer den Hyperlink wählt oder nicht. So kann ein Benutzer normalerweise den URL eines beliebigen Hyperlinks in einer Webseite sehen.
  • HTML-Dateien enthalten manchmal auch Verweise auf andere Dateien, beispielsweise graphische Dateien, die vom Browser aufgerufen und als Teil der Webseite typischerweise zur Verstärkung des visuellen Eindrucks angezeigt werden. Jeder Verweis enthält eine geeignete HTML-Kennung und ein URL. In der Praxis ruft der Browser zuerst die angeforderte Webseite und dann andere Dateien auf, auf die auf die genannte Weise durch die Webseite verwiesen wurde. Daher erscheinen die Textabschnitte einer Webseite oft vor den graphischen Teilen.
  • Ein Benutzer kann den ASCII-Textquellen-Code einer HTML-Datei sehen, indem er die Ansichtsmöglichkeiten für den Quellencode nutzt, die von einigen Browsern angeboten werden. Daher kann ein Benutzer die URL für einen beliebigen Hyperlink oder eine andere wichtige Datei sehen.
  • Im allgemeinen kann ein Benutzer eine Webseite aufrufen, indem er verschiedene Verfahren verwendet, die von den meisten Browsern unterstützt werden: indem er den URL manuell in den -Standortkasten eingibt, indem er ein Bookmark oder Lesezeichen (den gespeicherten URL einer Webseite, auf die vorher zugegriffen wurde) verwendet, oder indem er in einer angezeigten Webseite einen Hyperlink auswählt. Die ersten zwei Verfahren ermöglichen es einem Benutzer potentiell, auf jede Webseite oder eine andere Quellendatei jederzeit zuzugreifen. Das dritte Verfahren verlangt vom Benutzer, zuerst auf eine Webseite zuzugreifen, in der sich ein Hyperlink auf die erforderliche Webseite oder eine Bilddatei befindet, bevor die Webseite oder die Bilddatei aufgerufen werden kann.
  • Es könnte unter bestimmten Umständen wünschenswert sein, den Zugriff allein auf die dritte Methode zu beschränken.
  • Da aber ein Benutzer normalerweise eine beliebige URL, die in eine HTML-Datei eingebettet ist, sehen und auf eine Webseite zugreifen kann, indem er den entsprechenden URL direkt in einen Browser eingibt, hat unter normalen Umständen ein Diensteanbieter wenig Kontrolle darüber, auf welche Webseiten zugegriffen wird und wie auf sie zugegriffen wird.
  • Viele Server sind so angeordnet, daß sie diesem Problem begegnen, indem sie Zugriffstabellen einsetzen, die Tabelleneinträge enthalten, die steuern, welche Benutzer auf welche Seiten zugreifen können. Eine alternative Maßnahme, die in großem Umfang angewendet wird, ist es, Benutzer-Identifikationen und einen Paßwort-Schutz zu verwenden, um bestimmte Dateien auf dem Server zu schützen. Beide Maßnahmen können durch nicht authorisierte Personen in einem bestimmten Maße "ausgeschaltet werden", indem sie sich beispielsweise durch Auffangen und Knacken von Paßwörtern für diese geschützten Dateien als authorisierte Benutzer tarnen. Ein weiterer Nachteil beider Maßnahmen ist der Zusatzaufwand an Verwaltung, indem nämlich die Zugriffstabellen oder Paßwort-Dateien aktuell gehalten werden müssen, insbesondere, wenn eine große Anzahl von Benutzern und/oder Seiten involviert sind oder wenn sich die authorisierte Benutzerpopulation regelmäßig ändert.
  • Auch dann, wenn der Webseitenzugriff kontrolliert wird, indem Zugriffstabellen oder ein Paßwortschutz verwendet werden, hat ein Dienstebetreiber normalerweise keine Kontrolle über die Reihenfolge, in der ein authorisierter Benutzer auf die Webseiten zugreifen kann, wenn die URL einmal bekannt sind.
  • Gemäß einem Aspekt gibt die vorliegende Erfindung einen Informationsserver an, der umfaßt:
    • – eine Einrichtung zum Empfang einer Anfrage von einem Kunden nach einem Informationsobjekt, wobei das Informationsobjekt mindestens eine Referenz auf ein weiteres Informationsobjekt enthält,
    • – eine Einrichtung, die so ausgebildet ist, daß sie die Referenz oder jede Referenz durch eine Sendeberechtigung (Token) ersetzt und damit das Informationsobjekt modifiziert,
    • – eine Speichereinrichtung zur Speicherung der oder jeder Sendeberechtigung und der oder jeder jeweiligen Referenz,
    • – eine Einrichtung die so ausgebildet ist, daß sie dem Client das modifizierte Informationsobjekt zurücksendet.
  • Ein Vorteil dieses Aspekts der Erfindung besteht darin, daß der Client nicht die aktuelle Referenzinformation, z. B. einen URL für das (die) weitere(n) Informationsobjekt(e) geliefert bekommt. Daher kennt der Client den Namen oder den Ort der weitere(n) Informationsobjekt(e) auf dem Informationsserver nicht.
  • Eine Sendeberechtigung umfaßt bevorzugt eine Reihe von numerischen Zeichen oder anderen Zeichen. Eine Sendeberechtigung hat bevorzugt eine Form, aus der keine Information über die Referenz oder das entsprechende Informationsobjekt erhalten werden kann. Bei numerischen Zeichen kann die Sendeberechtigung beispielsweise durch einen Zufallszahl-Generator jedesmal dann erzeugt werden, wenn ein Informationsobjekt angefordert wird. Bei einer geeignet langen Sendeberechtigungszahl sind daher die Chancen, die gleiche Sendeberechtigung mehr als einmal für eine bestimmte Referenz zu erhalten, relativ gering.
  • Bei der folgenden Beschreibung wurde angenommen, daß ein beliebiges angefordertes Informationsobjekt mindestens eine Referenz auf ein weiteres Informationsobjekt enthält.
  • Gemäß einem zweiten Aspekt gibt die vorliegende Erfindung einen Informationsserver an, der aufweist:
    • – einen Eingabe-/Ausgabe-Port zum Zugriff auf die Speichereinrichtung, die eine oder mehrere Sendeberechtigung(en) und eine oder mehrere jeweilige Referenzen) speichert,
    • – eine Einrichtung zum Empfang einer Anforderung eines Informationsobjekt von einem Client, wobei die Anforderung eine Sendeberechtigung enthält, die das angeforderte Informationsobjekt anzeigt,
    • – eine Einrichtung, die so ausgebildet ist, daß sie die Sendeberechtigung mit einer oder mehreren Sendeberechtigung(en) vergleicht, die in der Speichereinrichtung gespeichert sind, um eine passende gespeicherte Sendeberechtigung zu finden, wobei jede gespeicherte Sendeberechtigung mit einer entsprechenden Referenz auf ein entsprechendes Informationsobjekt gekoppelt ist, und
    • – eine Einrichtung, die zur Rücksendung des jeweiligen entsprechenden Informationsobjekts an den Client in Abhängigkeit vom Auffinden einer passenden gespeicherten Sendeberechtigung ausgebildet ist.
  • Der Informationsserver sendet daher nur Informationsobjekte zurück, die auf der Grundlage eines vorher angeforderten Informationsobjekts in gültiger Weise von einem Client angefordert wurden. Ein Vorteil dieses Aspekts ist der, daß der Informationsserver die Reihen folge steuern kann, in der Informationsobjekte angefordert und zurückgeschickt werden.
  • In bevorzugten Ausführungsformen, bei denen mehrere Sendeberechtigungen und entsprechende Referenzen in Verbindung mit dem Informationsserver gespeichert sind, und eine Anforderung eine gültige Sendeberechtigung enthält, umfaßt der Informationsserver eine Einrichtung zur Entfernung der übrigen Sendeberechtigungen und der entsprechenden Referenzen aus dem Speicher. Wenn somit einmal eine Sendeberechtigung aus einer Auswahl verfügbarer Sendeberechtigungen angefordert wird, werden die übrigen, nicht angeforderten Sendeberechtigungen entfernt und stehen dann nicht für eine Anforderung zur Verfügung.
  • Der Informationsserver umfaßt bevorzugt eine Speichereinrichtung zur Speicherung der Identität eines zulässigen Client zusammen mit jeder Sendeberechtigung und ihrer entsprechenden Referenz. Auch in Ausführungsformen, in denen mehrere Clients Zugang zum Informationsserver haben, enthält der Informationsserver eine Einrichtung zur Ableitung der Identität des Kunden von einer Anforderung eines Informationsobjektes. Daher wird eine Anforderung eines Informationsobjektes vom Informationsserver von einem bestimmten Kunden nur bei Sendeberechtigungen und ihren jeweiligen Referenzen mit gültiger Identität verarbeitet.
  • In einer besonders bevorzugten Ausführungsform hat der Informationsserver Web-Server-Funktion. Dann kann eine Referenz einen URL enthalten oder dieser kann darin eingebaut sein. Der URL kann ein Teil eines Hyperlinks sein oder, kann sich, alternativ dazu, eine wei tere Quelle, z. B. eine Bilddatei, beziehen, die als Teil einer Webseite angezeigt werden soll.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung ist ein Verfahren zur Steuerung eines Informationsservers angegeben, das die folgenden Schritte umfaßt:
    • (i) Empfang einer Anforderung nach einem Informationsobjekt von einem Client, wobei das Informationsobjekt mindestens eine Referenz auf ein weiteres Informationsobjekt enthält,
    • (ii) Modifizierung des Informationsobjekts durch Ersetzen der oder jeder Referenz durch eine Sendeberechtigung,
    • (iii) Speichern der oder jeder Sendeberechtigung und der oder jeder jeweiligen Referenz in einem Speicher und
    • (iv) Rücksendung des modifizierten Informationsobjekts an den Client.
  • Gemäß einem vierten Aspekt der Erfindung ist ein Verfahren zur Steuerung eines Informationsservers angegeben, das die folgenden Schritte umfaßt:
    • (i) Speichern einer oder mehrerer Sendeberechtigung(en) in einem Speicher,
    • (ii) Empfang einer Anforderung eines Informationsobjekts von einem Client, wobei die Anfrage eine Sendeberechtigung enthält, die das angeforderte Informationsobjekt anzeigt,
    • (iii) Vergleichen der Sendeberechtigung mit einer oder mehreren gespeicherten Sendeberechtigungen, um eine passende gespeicherte Sendeberechtigung zu finden, wobei jede gespeicherte Sendeberechtigung mit einer entsprechenden Referenz auf ein Informationsobjekt gekoppelt ist, und
    • (iv) Rücksenden des jeweiligen entsprechenden Informationsobjekts an den Client in Abhängigkeit vom Auffinden einer passenden gespeicherten Sendeberechtigung.
  • Im folgenden wird nun eine Ausführungsform der vorliegenden Erfindung lediglich beispielhaft unter Bezug auf die beigefügten Zeichnungen beschrieben, die zeigen:
  • 1 ein Diagramm das eine Internet-Grundverbindungs-Anordnung illustriert;
  • 2 ein Diagramm das die allgemeine Form eines Web-Browsers illustriert;
  • 3 ein Diagramm, das die Hauptkomponenten eines Web-Servers zeigt, der für einen Betrieb in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung modifiziert würde;
  • 4 ein Ablaufdiagramm, das den Hochpegel-Prozeßablauf eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 5 ein Ablaufdiagramm, das die Prozeßschritte für ein Anmeldeverfahren zeigt;
  • 6 ein Ablaufdiagramm, das die Prozeßschritte für ein Parsing- und Sendeberechtigungs-Verfahren zeigt;
  • 7 ein Ablaufdiagramm, das die Prozeßschritte für ein Berechtigungs-Verfahren zeigt;
  • 8 ein Ablaufdiagramm, das die auswählbaren Schritte zum Aufbau von HTML-Seiten zeigt.
  • Die im folgenden beschriebene Ausführungsform ist ein System das einem Kunden über das Web einen Zugriff auf ein Hauptkunden-Servicesystem eines Diensteanbieters (MCSS) zur Verfügung stellt. Im vorliegenden Fall ist der Diensteanbieter eine Telephongesellschaft, wie z. B. BT. Durch Zugriff und Modifizierung der in einer Datenbank gespeicherten Daten – bei der es sich in vorliegenden Fall um eine Oracle (TM)-Datenbank des MCSS handelt –, können Kunden des Diensteanbieters (insbesondere große Gesellschaften, die Bedarf an einer umfangreichen und komplexen Kommunikation haben) neue Kommunikationsdienste bestellen und solche Dienste verwalten oder konfigurieren, die für den Client bereits On-Line sind.
  • Ein solches System schließt in einem hohen Maße menschliche Fehler aus, die auftreten können, wenn Kunden Anforderungen über das Telephon machen, oder wenn sie Vordrucke ausfüllen. Insbesondere bei Kunden, bei denen es sich um Gesellschaften handelt, vermittelt das System dem Kunden das Gefühl einer direkten Kontrolle über seine Dienste-Management-Anforderungen.
  • In der Vergangenheit verlangte der Zugang zu einem solchen System, daß auf einer Arbeitsstation beim Kunden eine Spezial-Software lief und es spezielle Wählverbindungen von der Arbeitsstation zum System gab. Ein Hauptproblem in Verbindung mit einer derartigen Anordnung ist die Notwendigkeit, die Kundenzugriffs-Software zur Verfügung zu stellen, zu aktualisieren und instandzuhalten.
  • Das vorliegende System bietet eine maßgeschneiderte Schnittstelle zur Datenbank des Diensteanbieters, die einen herkömmlichen Web-Browser und eine Internet-Verbindung verwendet. Der Web-Server ist so modifiziert, daß er die speziellen Datenbank-Zugriffsanforderungen abwickelt, wie im Einzelnen im folgenden beschrieben ist. Das System macht ferner die Notwendigkeit überflüssig, Informationen von der vorhanden Datenbank auf den Web-Server zu übertragen. Insbesondere können daher Kunden-Anmeldungs-Paßwort-Listen, die verwendet werden, um den Kundenzugriff auf die Datenbank zu kontrollieren, in der Datenbank verbleiben, die vorteilhafterweise physisch vom Internet-Server getrennt ist. Solch eine Anordnung verbessert sowohl die Sicherheit und ermöglicht es, die Kapazitätsanforderungen an den Dateienspeicher des Servers zu verringern.
  • Das System führt einen "Session"-Rahmen ein, in dem der Diensteanbieter den Kundenzugriff auf die Datenbank-Einrichtungen kontrollieren oder begrenzen kann. Dieser Rahmen unterstützt die Kundenanmeldung, die Client-Erkennung und -Authentisierung. Ein derartiger Rahmen ist typischerweise als Teil in einem herkömmlichen Datenbank-Zugriffssystem enthalten, ist aber kein herkömmlicher Aspekt des Web: das Web bietet eine zustandslose Umgebung ohne aufrechterhaltene Verbindung zwischen Client und Server, in dem es keinen Rahmen zur Kontrolle des Datenzugriffs gibt, ausgenommen einem möglichen Paßwortschutz für besondere Dateien. Der Rahmen ermöglicht insbesondere eine Kontrolle darüber, welche Seiten für welche Kunden verfügbar sind; sowie die Reihenfolge, in der ein Kunde auf Webseiten Zugriff haben kann. Für viele MCSS-Transaktionen wird ein großer Umfang an Informations-Eingaben benötigt, die man nicht auf einer einzigen Webseite unterbringen kann. Somit ist eine Reihe von Webseiten erforderlich. Diese Seiten bilden einen einen speziellen Dialog für spezielle Bestelltypen aus. Die Informationen innerhalb eines Dialoges müssen gesammelt und sortiert werden, so daß mit den verwendeten Dialogen schließlich eine komplette Bestellung an das MCSS gegeben werden kann. Es ist daher ein Mechanismus zur Speicherung von Bestelldaten von früheren Webseiten erforderlich, wenn mit den nachfolgenden Webseiten in Interaktion getreten wird. Gespeicherte Daten können auch einen Einfluß darauf haben, welche Daten in die nachfolgenden Webseiten eingebracht werden. Das System muß in der Tat die Webseiten dynamisch erzeugen. Diese Webseiten enthalten:
  • Kundenspezifische Informationen (entweder früher eingegeben oder bereits im MCSS gespeichert), Informationen, die sich auf eine frühere Auswahl beziehen, die innerhalb eines speziellen Dialoges getroffen wurde, Default-Wert-Informationen, die aus früheren Auswahlen stammen. So kann beispielsweise bei einem Kommunikationsdienst-Bestellvorgang von einem Kunden verlangt werden, Informationen in vier aufeinanderfolgende Dateneingabe-Bildschirme oder Webseiten einzugeben. Daher ist in diesem Beispiel eine Kontrolle darüber wichtig, auf welche Seiten zugegriffen werden kann und in welcher Reihenfolge auf sie zugegriffen werden kann.
  • 3 ist ein Funktions-Blockdiagramm, das die Aspekte eines Internet-Servers und die abhängigen Komponenten des vorliegenden Systems im einzelnen zeigt. Der Internet-Server 300 enthält einen Web-Server 310 für den Empfang von Client-Anforderungen und zur Übertragung von Server-Antworten auf die Anforderungen. Der Internet-Server 300 ist eine auf UNIX beruhende Rechnerplattform, z. B. ein Sun (TM) SPARCstation 20/51, und der Web-Server ist ein Netscape (TM) Enterprise-Server, der für den Betrieb mit dem vorliegenden System modifiziert ist. Der Netscape Enterprise-Server bietet eine ge eignete API (Anwendungsprogramm-Schnittstelle) zur Unterstützung derartiger Modifizierungen. Selbstverständlich könnte stattdessen auch eine andere geeignete Hardware und/oder Web-Server-Software zum Einsatz kommen.
  • Gemäß dem vorliegenden System enthält der Web-Server 310 einen Session-Manager 320. Der Session-Manager 320 bietet die Extrafunktionen, die zur Unterstützung der Datenbank-Session-Verwaltung erforderlich sind.
  • Der Session-Manager 320 wird primär über die Nutzung des Web-Netscape Servers API (NSAPI) implementiert, der eine dynamische Verbindung der Server-Funktionen mit Benutzer-definierten Bibliotheks-Funktionen ermöglicht. Damit ist der Session-Manager 320 in der Tat in den Web-Server 310 "eingebaut". Der Session-Manager 320 fängt Client-Anforderungen auf, wenn sie den Web-Server-Stapel durchqueren und kann eine beliebige Information neu definieren, die in den Client-Anforderungen enthalten ist und kann Aktionen außerhalb des Web-Servers durchführen. Die primären Aufgaben, die der Session-Manager erledigt werden, sind:
    • – Halten der gleichzeitig stattfindenden Benutzer-Sessions auf einem vorgegebenen Maximum;
    • – Zuweisen freier Benutzer-Sessions zu neuen Benutzern, die sich anzumelden versuchen;
    • – Verbindung von Benutzer-Sessions mit Datenbank-Sessions;
    • – Neustart von Datenbank-Sessions, die vorhanden oder beendet sind;
    • – Freigabe von Datenbank-Sessions, wenn die Zeit einer Session ausläuft;
    • – Sendeberechtigung für URL erteilen;
    • – Analyse angeforderter URL mit Sendeberechtigung und
    • – Kontrolle des Zeitablaufs von Benutzer-Sessions.
  • Im Gegensatz zu einer Datenbank-Session ist eine Benutzer-Session einem Kunden zugeordnet, sobald er/sie versucht, sich von einer Anmelde-Webseite aus im System anzumelden. Die Benutzer-Session wird auf einer Benutzer-individuellen Basis erzeugt, indem der nächsthöhere (mit 0 beginnend) unbenutzte Session-Index für diesen Benutzer gewählt wird. Die Datenbank-Session wird dem Kunden beim MCSS-Zugang zugeordnet. Die maximale Anzahl der Benutzer-Sessions ist durch die Anzahl gleichzeitig stattfindender Prozesse begrenzt, die der Internet-Server verwalten kann, ohne daß die Leistung unter ein nicht mehr akzeptables Niveau sinkt. In der gleichen Weise ist auch die maximale Anzahl der Datenbank-Sessions auf die Anzahl der Vollzeit-Oracle-Verbindungen beschränkt, die die MCSS-Datenbank unterstützen kann.
  • Eine Datenbank-Session ist eine Verarbeitung, die auf dem Internet-Server läuft und die zum Zugriff auf die MCSS-Datenbank 390 erforderlichen Funktionen bereitstellt, wie im einzelnen im Folgenden beschrieben wird.
  • Der Session-Manager 320 hat Zugriff auf einen Session-Speicher 330, einen Gateway-Prozessor 340, eine Datenbank-Session-Steuerung 350 und einen HTML-Seiten-Speicher 360.
  • Bei dem Gateway-Prozessor 340 handelt es sich um eine Aufgabe, die auf einer Rechnerplattform zur Verarbeitung der sogenannten Gateways läuft. Gateways können Überleiteinrichtungen zum Web-Server 310 angeben, indem sie Informationen, typischerweise von einer nicht mit HTML kompatiblen Quelle, aufnehmen und sie in eine HTML-Standarddatei umwandeln. In der Praxis ist ein Gateway ein Script oder Programm, das vom Web-Server 310 über eine übliche Gateway-Schnittstelle (CGI) 370 aufgerufen wird, welches eine Benutzereingabe über den Web-Server 310 annehmen und eine HTML, einen URL oder einige andere Daten über den Web-Server 310 an den Client zurücksenden oder andere Aufgaben, wie z. B. E-Mails, steuern kann, die typischerweise keine Rückinformationen liefern. Einfache Gateways können in UNIX-C-shell geschrieben sein, komplexere Gateways sind typischerweise in einer Programmiersprache, wie z. B. C, C++ oder Java, geschrieben. In der Praxis befindet sich ein Gateway-Prozessor, wie z. B. der Gateway-Prozessor 340, und ein Web-Server, wie z. B. der Web-Server 310, typischerweise auf einer gemeinsamen Rechnerplattform. Weitere Informationen über Gateways und Gateway-Schnittstellen (CGI) sind in "Managing Internet Information Services", Cricket Liu et al., veröffentlicht in O'Reilly & Associates, Inc., ISBN 1-56592-062-7, zu finden. Der Gateway-Prozessor 340 hat Zugang zu einem Gateway-Speicher 380, der die Gateways enthält, die zur Unterstützung des vorliegenden Systems erforderlich sind. Im vorliegenden System sind die Gateway-Verarbeitungen in C geschrieben. Der Gateway-Prozessor 340 hat ferner Zugang zur MCSS-Datenbank 390, Datenbank-Session-Steuerung 350 und zum Session-Speicher 330. Die Datenbank-Session-Steuerung 350 hat Zugang zum Session-Speicher 330 und zur Datenbank 390.
  • Der Gateway-Speicher 380 enthält Seitenaufbau- Gateways für die Ausbildung von HTML-Webseiten aufgrund der über die Datenbank-Session-Steuerung 350 von der Datenbank 390 erhaltenen Informa tionen. Viele Seitenaufbau- Gateways erzeugen HTML-Webseiten, die Formfelder enthalten. Die Formfelder stellen einen Mechanismus dar, mit dessen Hilfe Kundeninformationen eingegeben und vom Kunden-Browser an den Web-Server 310 gegeben werden können. Die auf diese Weise gewonnene Kundeninformation wird verarbeitet und in einem geeigneten Format durch die entsprechenden Datenverarbeitungs-Gateways an die Datenbank 390 gegeben.
  • Der Gateway-Speicher 380 enthält auch Anmelde-Gateways zur Kontrolle, wem ein Zugriff auf die Informationen in der Datenbank 390 gestattet ist. Die Anmelde-Gateways ermöglichen dem Gateway-Prozessor 340 direkt auf die Datenbank 390, unter Umgehung der Datenbank-Session-Steuerung 350, jedoch nur zum Zweck der Kunden-Autorisation, zuzugreifen.
  • Die Datenbank-Session-Steuerung 350 ist eine Aufgabe, die im Internet-Server läuft, der jeden Zugang zur Datenbank 390 kontrolliert. Die MCSS-Datenbank 390 befindet sich auf einem Datei-Server 395 und umfaßt Kundeninformationen, die in Datenbank-Tabellen in einer externen Speichervorrichtung, wie z. B. einem Harddisk-Antrieb (nicht gezeigt) gespeichert sind. Der Harddisk-Antrieb ist mit dem Datei-Server 395 verbunden. Herkömmlicherweise ist eine Kunden-Autorisation jedes Mal erforderlich, wenn auf die Datenbank 390 zugegriffen wird, um eine Oracle-Verbindung zu öffnen. Eine derartige Authorisation (die zum Beispiel einen Benutzernamen und ein Paßwort als Antwort auf einen Prompt von der Datenbank 390 liefert) kann für einen Zugriff auf eine entferne Datenbank 390 eine beträchtliche Zeit in Anspruch nehmen (beispielsweise bis zu dreißig Sekunden). In Übereinstimmung mit dem System öffnet daher die Datenbank-Session-Steuerung 350 eine Oracle-Verbindung mit der Daten bank 390 für jede zulässige Datenbank-Session und hält sie während derselben aufrecht. Somit ist nur ein anfänglicher Authorisierungsschritt erforderlich, um die Verbindung und die Session herzustellen, wodurch die nachfolgenden Zugriffe auf die Datenbank 390 über die Datenbank-Session-Steuerung 350 rascher erfolgen. Wenn der Kunde eine Session beendet, wird diese geschlossen. Der Session-Manager 320 erstellt eine Zeitablauf-Strategie, durch die die Zeit begrenzt wird, in der eine geöffnete Session inaktiv bleiben kann. Nach dieser Zeit wird die Session geschlossen, unabhängig davon, ob der Kunde sie betreibt oder nicht.
  • Die Datenbank 390 enthält: Kundeninformationen, wie z. B. Namen, Adressen und Kontonummern der Kunden, Kundendienstinformationen, wie z. B. die dem Kunden zugeordneten Telephonleitungen und welche Dienste von jeder Leitung verfügbar sind, Anmeldeinformationen, wie z. B. codierte Paßwort-Dateien für jeden Kunden, sowie Informationen, die angeben, welche Funktionen für jeden Kunden verfügbar sind, wenn dieser das System verwendet.
  • Der Session-Speicher 330 dient dazu, die Session-Informationen für einen Kunden während einer Session zu enthalten. Diese Session-Informationen sind solche, die während eines Dialogs gespeichert werden, z. B. Informationen, die mit einer Reihe von Dateneingabe-Webseiten geliefert werden. Die Session-Informationen umfassen ferner Informationen, die den Strom der Webseiten für multiple Webseiten-Transaktionen steuern. Zum besseren Verständnis der folgenden Beschreibung wird unter Bezug auf die unten gezeigten Tabellen der Typ der Session-Informationen beschrieben, der erzeugt und für den Strom der Webseiten im Session-Speicher 330 gespeichert wird.
  • Figure 00220001
  • Ein Eintrag "Gegenwärtiger Benutzer", wie in Tabelle 1 angegeben, erfolgt durch den Session-Manager 320 und wird im Session-Speicher 330 für jeden Kunden oder Benutzer gespeichert, der zum ersten Mal einen authorisierten Zugriff zum System erlangt. Der "Benutzername" ist der Name, den der Benutzer während der Anmeldeprozedur eingegeben hat, die im folgenden beschrieben wird. Der "Session-Index" nimmt auf die Benutzer-Session Bezug, die dem Benutzer zugeordnet wird, wenn dieser Zugriff zum System erhalten hat. In der Praxis ist der Session-Index lediglich eine Zahl, die von einem Zähler erzeugt wird, der nach jedem Benutzer weiterschaltet. Die "Zeit des letzten Zugriffs" ist der Zeitpunkt, zu dem der Benutzer das letzte Mal in der zugeordneten Session auf die Datenbank 390 zugegriffen hat. Wenn die Zeit zwischen den Zugriffen eine vorgegebene Zeitablauf-Dauer, z. B. 15 min., überschritten hat, wird die Session geschlossen.
  • Ein Eintrag "Verfügbare Seite", wie in Tabelle 2 angegeben, erfolgt durch den Session-Manager 320 und wird im Session-Speicher 330 für jede, einem Kunden auf einer Webseite zur Verfügung stehende Option gespeichert, die zu dem Zeitpunkt vom Browser des Kunden angezeigt wird. Jeder Eintrag " Verfügbare Seite" entspricht einem in der Webseite eingebetteten URL. Der "Benutzername" entspricht dem "Benutzernamen" in einem Eintrag "Gegenwärtiger Benutzer". Der "Session-Index" entspricht dem "Session-Index" in einem Eintrag "Gegenwärtiger Benutzer". Die "IP-Adresse" ist die Adresse der Internet-Verbindung des Browsers des Benutzers (d. h. die Client-Adresse). Diese Adresse wird an die http-Überschriftzeile jeder Mitteilung oder jeder Anforderung, die vom Browser zum Web-Server 310 gesendet wird, weitergegeben. Der reale URL ist der URL der Webseite, auf die sich die jeweilige Option bezieht. Die "Sendeberechtigung" ist eine Zufallszahl, die erzeugt wird, um den URL zu ersetzen. Die Sendeberechtigung ersetzt das Server-Verzeichnis und die Dateinamenabschnitte des URL, die in der HTML-Datei zum Browser zurückgesendet werden. Der Referenz-URL ist der URL der augenblicklich angezeigten Webseite.
  • Im Session-Speicher 330 wird ein einziger Freistellungs-Eintrag, wie in Tabelle 3 gezeigt, aufrechterhalten. Freistellungen sind solche URL, die ein Browser anfordern kann, und die vom Web-Server 310 nicht in Form einer Sendeberechtigung zurückgesandt werden müssen. Das heißt, das aktuelle Server-Verzeichnis und der Dateiname der angeforderten Webseite sind in der URL angegeben und können, falls erwünscht, auf dem Browser angesehen werden. In der vorliegenden Ausführungsform ist der einzige freigestellte URL, der als Freistellung gespeichert ist, derjenige für die Anmeldeseite, die frei an jeden anfordernden Browser zurückgesandt wird.
  • 4 ist ein Diagramm, das den Hoch-Pegel-Verarbeitungsablauf des vorliegenden Systems darstellt. Wie im Ablaufdiagramm gezeigt, gibt es zwei mögliche Übertragungsstrecken: eine zur Rücksendung einer freigegebenen Seite und eine zur Rücksendung aller anderen Seiten.
  • Wenn nichts anderes angegeben ist, werden alle Mitteilungen vom Browser als Anforderung einer Webseite angesehen, wobei die einzelne Webseite durch ein URL spezifiziert ist. Eine Anforderung kann vom Benutzer gelieferte Parameter enthalten, die mit der URL an den Webserver 310 weitergegeben werden. Typischerweise sind die Parameter dafür verantwortlich, wie die angeforderte Webseite formatiert oder erzeugt wird, oder welche Webseite als Antwort auf die Anforderung zurückgesandt wird.
  • Im Schritt 400 in 4 erstellt der Browser eine Verbindung mit dem Server. Dann sendet der Browser eine Anforderung einer Seite aus, indem er im Schritt 405 den URL für die Seite an den Server sendet. Der URL wird vom Session-Manager 320 aufgefangen.
  • Wird die Anmeldeseite (die ein Freistellungs-URL hat) angefordert, empfängt der Session-Manager 320 im Schritt 410 den URL, sucht die Freistellungsliste und stellt fest, daß der Anmeldungs-URL von einer Sendeberechtigung freigestellt ist. Im Schritt 420 authentisiert der Session-Manager 320 die Anforderung, falls erforderlich. Für die Anmeldung ist keine Authentisierung erforderlich, weil die Anmeldeseite einem beliebigen Client zurückgesandt wird. Im vorliegenden Beispiel ist die Anmeldeseite die einzige freigestellte Seite. Der Authentisierungsschritt wird jedoch gezeigt, um Beispiele zu zeigen, in denen eine bestimmte Form der Authentisierung für freigestellte Seiten außer der Anmeldeseite erforderlich ist.
  • Im Schritt 430 ruft der Session-Manager 320 aus dem HTML-Seitenspeicher 360 die HTML-Datei für die Anmeldeseite wieder auf. Wenn die HTML-Datei auf einem Browser angezeigt wird, erzeugt sie eine Webseite, die eine Mitteilungstaste und Eingabekästen für den Benutzer zur Eingabe eines Namens und eines Paßworts enthält. Die Mitteilungstaste ist ein Anker für einen Hyperlink, der einen darunterliegenden URL aufweist, der auf einen Anmeldungs-Gateway zeigt, der im Gateway-Speicher 380 gespeichert ist.
  • Bei der Anforderung einer nicht-freigestellten Seite, d. h. einer Seite, die nicht die Anmeldeseite ist, erhält der Session-Manager 320 im Schritt 410 den URL, sucht die Freistellungsliste und stellt fest, daß der URL nicht von einer Sendeberechtigung freigestellt ist. Im Schritt 415 wird dann die Anforderung authentisiert, wie im enzelnen im folgenden beschrieben wird. Ist die Authentisierung erfolgt, wird im Schritt 425 entweder die HTML-Datei für die angeforderte Seite aus dem HTML-Seitenspeicher 360 oder ein Gateway entsprechend dem angeforderten URL aus dem Gateway-Speicher 380 ausgelesen und vom Gateway-Prozessor 340 verarbeitet, um für die angeforderte Seite eine HTML-Datei zu erzeugen. Dieser Schritt wird im Einzelnen im folgenden für den Fall beschrieben, daß sich der URL auf den Anmelde-Gateway bezieht, der durch Drücken der Mitteilungstaste in der Anmeldeseite ausgewählt wird.
  • Nach dem Schritt 425 oder 430 analysiert der Session-Manager 320 dann im Schritt 435 die HTML-Datei und erteilt eine Sendeberechtigung und ersetzt den oder jeden in die Datei eingebetteten URL mit einer Sendeberechtigung mit einer zehnstelligen Zufallszahl. Der Parsing- und Sendeberechtigungsschritt wird im folgenden im Einzelnen beschrieben.
  • Im Schritt 440 wird der Session-Speicher 330 mit den Details des oder jeder URL mit Sendeberechtigung und dem jeweiligen Ursprungs-URL aktualisiert. Auch dieser Schritt wird im folgenden im Einzelnen beschrieben.
  • Schließlich wird die Seite, für die eine Sendeberechtigung erteilt ist, im Schritt 445 an den anfordernden Browser zurückgesandt.
  • Im folgenden wird die Anmeldeprozedur unter Bezug auf das Ablaufdiagramm in 5 beschrieben. Die Anmeldeprozedur geschieht, unter Bezugnahme auf 4, im Schritt 425. Es wird daher angenommen, daß der Benutzer vorher, wie oben beschrieben, die Anmeldeseite aufgerufen hat, einen Namen, ein Paßwort angegeben hat und zum Start der Anmeldeprozedur auf die Mitteilungstaste gedrückt hat. Der mit der Mitteilungstaste gekoppelte URL bezieht sich auf einen Gateway-Speicher 380, der mit "login.cgi" bezeichnet ist. Name und Paßwort werden als Parameter mit der Aufforderung zum login.cgi gesandt, wobei das http-POST-Verfahren angewendet wird. Alle Anforderungen werden vom Browser automatisch codiert, um die Möglichkeit zu verringern, daß ein übertragender URL oder ein Paßwort aufgefangen und von einer fremden, betrügerischen Partei für einen Zugang zur Datenbank 390 verwendet wird. Es liegt auf der Hand, daß der Server mit der geeigneten Codierfunktion ausgestattet ist. Die Umkehrung trifft ebenfalls zu: Alle Server-Antworten sind so codiert, daß der Browser sie decodieren kann. Sowohl die Codierung als auch die Decodierung erfolgen durch das SSL-Protokoll (Secure Sockets Layer).
  • Im Schritt 500 erzeugt der Session-Manager 320 als Antwort auf den Empfang der Anforderung des login.cgi eine Benutzer-Session, indem er dem Benutzer den nächsten Session-Index zuweist. Dann signalisiert der Session-Manager 320 dem Gateway-Prozessor 340, den Anmelde-Gateway zu fahren. Dabei überträgt der Session-Manager 320 auch Namen und Paßwort zum Gateway-Prozessor 340. Im Schritt 510 bildet der Gateway-Prozessor 340, gesteuert vom Anmelde-Gateway, eine Verbindung mit der Datenbank 390. Dann überträgt der Gateway-Prozessor 340 im Schritt 520 für den Versuch einer Anmeldung in der Datenbank 390 den Benutzernamen und das Paßwort in einer geeigneten Form zur Datenbank 390. Im Schritt 530 wird eine nicht erfolgreiche Anmeldung durch die Datenbank 390 dem Gateway-Prozessor 340 mitgeteilt. Als Reaktion darauf erzeugt der Gateway-Prozessor 340 eine Fehler-Webseite, die dem Session-Manager 320 zurückgesandt wird. Darauf sendet der Session-Manager 320 die Fehler-Webseite im Schritt 540 an den Browser zurück.
  • Nach erfolgreicher Anmeldung, die von der Datenbank 390 in geeigneter Weise mitgeteilt wird, initiiert der Gateway-Prozessor 340 im Schritt 550 für den Benutzer die Erzeugung einer Datenbank-Session. Der Gateway-Prozessor 340 erzielt das zunächst dadurch, daß er die Verbindung mit der Datenbank 390 freigibt. Danach signalisiert der Gateway-Prozessor 340 der Datenbank-Session-Steuerung 350, eine Datenbank-Session mit der Datenbank 390 für den nun authorisierten Benutzer unter Verwendung des gleichen Benutzernamens und des gleichen Paßworts einzurichten. Die Daten bank-Session-Steuerung 350 logged sich wieder in die Datenbank 390 ein und erzeugt eine Datenbank-Session. Nachdem sie im Schritt 560 die Session erzeugt hat, greift die Datenbank-Session-Steuerung 350 im Schritt 560 auf den Session-Speicher 330 zu und aktualisiert ihn, indem ein Eintrag "Gegenwärtiger Benutzer" erzeugt wird, der den Namen des Benutzers, einen zugewiesenen Session-Index und die Zugriffszeit enthält (die bei einem anschließenden Zugriff als die letzte Zugriffszeit behandelt wird).
  • Nach der Einrichtung einer Datenbank-Session im Schritt 570 erzeugt der Gateway-Prozessor 340, gesteuert durch den Anmelde-Gateway, eine "Direktive" für den Browser des Benutzers, um zu veranlassen, daß ein Warn-Bildschirm angezeigt wird. Dieser Bildschirm ermöglicht einem Benutzer, die Anmeldung abzubrechen oder fortzusetzen. Wenn der Benutzer die Fortsetzung gewählt hat, ruft im Schritt 570 der Gateway-Prozessor 340 eine Verarbeitung (die als homepage.cgi bezeichnet ist) auf und läßt diese laufen; sie erhält die vom Session-Manager 320 und der Datenbank (über die Datenbank-Session-Steuerung 350) gelieferten Kundeninformationen, um eine spezielle Willkommensseite für den Benutzer zu erzeugen. Die Parameter legen fest, welche Optionen dem Benutzer von der zu erzeugenen Willkommensseite zur Verfügung stehen. Jede Option bildet einen Hyperlink zu einem weiteren entsprechenden Gateway oder einer Webseite. Im Schritt 580 wird die Willkommensseite auf der Basis der Parameter erzeugt. Der nächste Schritt entspricht dem Schritt 435 von 4.
  • Der Parsing- und Sendeberechtigungsschritt (Schritt 435 von 4) wird im folgenden unter Bezug auf 6 beschrieben.
  • Gemäß 6 analysiert die Session-Steuerung bei Empfang der angeforderten HTML-Datei im Schritt 600 (oder sie sucht der Reihe nach von Anfang an) die Datei, um URL oder anderen Typen von Referenzen auf weitere Ressourcen, die im ASCII-Text der Datei eingebettet sind, aufzufinden. Typischerweise beziehen sich die vorhandenen URL auf Webseiten, die dem Benutzer weitere Optionen bieten, oder auf Bilddateien für die Webseitentasten oder Bilder, die in die Webseite einzubauen sind, um beispielsweise den visuellen Eindruck der Webseite zu steigern. Im folgenden werden der größeren Klarheit halber nur Hyperlink-URL, die weitere Optionen bieten, sowie URL von Bilddateien beschrieben.
  • Im Schritt 610 wird eine Verarbeitungsschleife eingerichtet, um jedes Mal, wenn ein URL entdeckt wird, eine Sendeberechtigung zu erteilen. Im Schritt 620 wird ein aufgefundener URL im Speicher gespeichert. Dann wird im Schritt 630 eine Sendeberechtigung in Form einer Zufallszahl erzeugt, wobei ein Systemaufruf einer Funktion, die als "elf_hash()" bezeichnet ist, verwendet wird, der auf Unix-Rechnerplattformen verfügbar ist. Diese Funktion ist ein Pseudo-Zufallszahlen-Generator, der einen mit null endenden Strang nimmt und auf der Grundlage des Strangs eine lange ganze UNIX-Zahl zurücksendet. Im vorliegenden Fall ist der im Aufruf "elf_hash()" verwendete Strang eine Kettung aus:
    einer Zufallszahl; dem Anmeldenamen des Benutzers, dem Session-Index des Benutzers; dem angeforderten URL und der augenblicklichen Zeit.
  • Ein solcher Strang bietet unausweichlich eine hohe Wahrscheinlichkeit, daß die zurückgesandte ganze Zahl einmalig ist. Die zurückge sandte ganze Zahl wird aber mit allen anderen Sendeberechtigungen im Session-Speicher 330 verglichen, um zu überprüfen, daß sie einzigartig ist. Ist sie das nicht, wird eine neue Sendeberechtigung unter Verwendung von elf_hash() erzeugt, wobei der Zufallsteil der Zahl der Strangkettung neu erzeugt wird. Darüber hinaus pausiert der Erzeugungsprozeß eine Sekunde lang, um sicherzustellen, daß die augenblickliche Zeit eine andere ist. Die elf_hash()-Funktion ist derart, daß sogar eine kleine Änderung im als Parameter weitergegebenen Strang dazu führen kann, daß eine vollständig andere Zufallszahl erzeugt wird. Diese Prozedur wird solange wiederholt, bis eine einzigartige Sendeberechtigung erzeugt wurde.
  • Im Schritt 640 wird der gespeicherte URL durch Ersetzen des Serververzeichnisses und von Teilen des URL-Dateinamens mit der Sendeberechtigung modifiziert. Der URL mit Sendeberechtigung wird dann zur Datei zurückkopiert und ersetzt den ursprünglichen URL.
  • Im Schritt 650 wird im Session-Speicher 330 ein Eintrag "Seiten-Option" gespeichert, der die Form aufweist, wie in Tabelle 2 oben gezeigt ist.
  • Diese Prozedur wird für alle URL wiederholt, die in der Datei entdeckt werden. Schließlich werden im Schritt 660 die URL mit Sendeberechtigung, die im Speicher gespeichert sind, mit den URL mit Sendeberechtigung jedes Eintrags "Seiten-Option" verglichen, die im Session-Speicher 330 gespeichert sind und die den Session-Index für den fraglichen Benutzer haben. Jeder Eintrag "Seiten-Option", der nicht den entsprechenden URL mit Sendeberechtigung im Speicher aufweist, wird als alt angesehen und dient nicht länger als von der angeforderten Seite verfügbare gültige Benutzeroption. Folglich wird jeder alte Eintrag aus dem Session-Speicher 330 gestrichen. Dieser Schritt gleicht dem Schritt 440 von 4 zur Aktualisierung des Session-Speichers 330.
  • Die Schritte zur Authentisierung gemäß Schritt 415 von 4 werden unter Bezug auf 7 im folgenden beschrieben.
  • Gemäß 7 greift im Schritt 700 der Session-Manager 320 auf den Session-Speicher 330 zu, um den als Teil der Anforderung erhaltenen URL mit Sendeberechtigung mit einer URL in einem Seitenoptionseintrag zu vergleichen. Gibt es keinen passenden URL mit Sendeberechtigung, wird im Schritt 710 der URL als ungültig beurteilt, und im Schritt 730 initiiert der Session-Manager 320 die Anmeldeprozedur, wie oben beschrieben, indem die Anmeldeseiten-HTML-Datei aus dem HTML-Seitenspeicher 360 aufgerufen wird und die Datei an den anfordernden Browser zurückgesandt wird. Der Benutzer muß sich dann anmelden, bevor ihm der Zugang zur Datenbank 390 erlaubt wird. Wenn der URL im Schritt 710 gefunden wurde, erfolgt im Schritt 720 eine weitere Authentisierung auf der Grundlage der Identität des zugreifenden Browsers. Sie hat die Form einer IP-Adresse für den Browser und wird vom Browser im Kopf der Anforderung aufgeführt. Um als authentisch angesehen zu werden, muß die IP-Adresse gleich der im Seitenoptionseintrag für die betreffende Sendeberechtigung gespeicherten IP-Adresse sein. Ist die IP-Adresse diejenige, die sich im Seitenoptionseintrag befindet, dann wird im Schritt 740 der reale URL für die Datei aus dem Seitenoptionseintrag aufgerufen. Der reale URL verweist auf die vom Benutzer angeforderte erforderliche HTML-Datei im Dateispeicher oder auf das Gateway im Gateway-Speicher 380. Ist die IP-Adresse ungültig, das heißt, entspricht die IP-Adresse nicht der IP-Adresse im entsprechenen Sei tenoptionseintrag, wird im Schritt 730 die Anmeldeprozedur gestartet.
  • Unter Bezug auf 8 wird nun die Erzeugung von Webseiten durch Seitenaufbau-Gateways beschrieben.
  • Wenn als Antwort auf eine Benutzeranfrage der Gateway-Prozessor 340 vom Gateway-Speicher 380 (Schritt 425 von 4) einen Seitenaufbau-Gateway aufruft, holt gemäß 8 der Gateway-Prozessor 340 im Schritt 800 die Information aus der Datenbank, die verwendet werden muß, um die Webseite zu erzeugen. Wie oben beschrieben, verlangen einige Benutzerdialoge, die mehrere Webseiten für eine Informationseingabe benötigen, daß die Informationseingabe solange gespeichert wird, bis der Dialog abgeschlossen ist und eine MCSS-Transaktion aufgrund der Information gestartet wird. Daher greift im Schritt 810 der Gateway-Prozessor, falls erforderlich, auf den Session-Speicher 330 zu, um beliebige frühere Dialoginformationen wieder aufzurufen, die auch in die Webseite integriert werden müssen. Dann wird im Schritt 820 die HTML-Datei für die Webseite auf der Grundlage der jeweiligen Information durch bekannte Prozeduren erzeugt. Die Prozedur geht sodann zu Schritt 435 von 4 weiter.
  • Die Sendeberechtigungen werden jedesmal, wenn auf eine neue Seite zugegriffen wird, neu erzeugt und werden dann aus dem Session-Speicher 330 entfernt, wenn die entsprechende Option nicht länger verfügbar ist. Auch wenn der Benutzer ein URL mit Sendeberechtigung speichern oder sich daran erinnern kann, wird der URL mit Sendeberechtigung aber nicht im Session-Speicher 330 zu finden sein, wenn der Benutzer später versuchen sollte, es zu verwenden. Daraus folgen im Wesentlichen zwei Dinge:. Zunächst einmal ist der Benutzer gezwungen, in einem Dienst auf Seiten zuzugreifen, die vom Diensteanbieter in einer bestimmten Weise festgelegt sind; ein Benutzer kann nicht willkürlich eine beliebige Seite erhalten, die er sich auswählt, es sei denn, die Seite Sendeberechtigung/URL-Paar befindet sich im Session-Speicher 330. Zweitens kann kein Benutzer auf Informationen zugreifen, indem er den URL von jemand anderem verwendet. Die erstere Implikation ermöglicht einem Diensteanbieter eine sehr enge Kontrolle darüber, wie ein Benutzer auf Informationsseiten zugreift. Beispielsweise kann ein Dienst ein On-Line-Waren-Bestellservice sein, für den ein Benutzer bestimmte Informationen zur Verfügung stellen und eine bestimmte Auswahl treffen muß, damit eine Bestellung in zufriedenstellender Weise möglich ist. Die Bestellprozedur kann eine Reihe von verschiedenen Seiten beinhalten, die dem Benutzer in Stufen geliefert werden, die in Abhängigkeit von der in jeder Stufe getroffenen Auswahl variieren können. Die vorliegende Ausführungsform würde genau die Art und Weise steuern, in der der Benutzer auf die benötigten Seiten zugreifen kann.
  • In der oben beschriebenen Ausführungsform ist die Benutzer-Authorisierung, z. B. durch die Angabe eines Benutzernamens und eines Paßworts, nur für eine anfängliche Anmeldeseite erforderlich. Eine Authorisierung dieser Art ist nicht für beliebige Seiten erforderlich, auf die beispielsweise von einer Willkommensseite zugegriffen wird, die nach einer Anmeldeseite geliefert wird.
  • Es ist vorgesehen, daß die in diesem System verkörperten Grundlagen auch für andere Zwecke verwendet werden können, um beispielsweise ein "In-Lining" zu verhindern. Hierbei handelt es sich um eine Praxis, in der ein Web-Benutzer Hyperlinks in seine Webseiten einbaut, die auf Web-Quellen deuten, die von anderen Web- Benutzern erzeugt wurden. Typischerweise wird In-Lining verwendet, um auf dem Web basierende Bilddateien anderer Parteien in die eigenen Webseiten eines Benutzers einzubetten und auf diese Weise die intellektuelle Arbeit Anderer zu nutzen.
  • Allgemein bieten die Ausführungsformen der Erfindung einem Datenbankeigentümer, beispielsweise einem Diensteanbieter, eine Einrichtung zur Kontrolle, wer Zugriff auf in der Datenbank gespeicherte Informationen hat, und eine Einrichtung zur Kontrolle, wie genau von einem authorisierten Benutzer auf die Daten zugegriffen wird.
  • Der Fachmann wird ohne Zweifel befähigt sein, zu weiteren Ausführungsformen, Aspekten oder Varianten der Erfindung zu gelangen, die, wie beansprucht, ebenfalls zum Umfang der vorliegenden Erfindung gehören.

Claims (13)

  1. Informationsserver (300), der umfaßt: – eine Einrichtung (310) zum Empfang einer Anforderung eines Informationsobjekts von einem Client, wobei das Informationsobjekt mindestens eine Referenz auf ein weiteres Informationsobjekt enthält, – eine Einrichtung (320), die so ausgebildet ist, daß sie die oder jede Referenz durch eine Sendeberechtigung ersetzt und damit das Informationsobjekt modifiziert, – eine Speichereinrichtung (330) zur Speicherung der oder jeder Sendeberechtigung und der oder jeder jeweiligen Referenz, – eine Einrichtung (310) die so ausgebildet ist, daß sie dem Client das modifizierte Informationsobjekt zurücksendet.
  2. Informationsserver (300) nach Anspruch 1, der ferner eine Zufallszahl-Erzeugungseinrichtung zur Erzeugung einer Zufallszahl und zur Erstellung einer Sendeberechtigung auf der Grundlage der Zufallszahl aufweist.
  3. Informationsserver (300) nach einem der vorherigen Ansprüche, der ferner eine Einrichtung (330) zum Speichern einer Anzeige der Identität des Client in Verbindung mit der oder jeder Sendeberechtigung und ihrer jeweiligen Referenz umfaßt.
  4. Informationsserver (300), der aufweist: – einen Eingabe-/Ausgabe-Port zum Zugriff auf die Speichereinrichtung (330), wobei die Speichereinrichtung (330) eine oder mehre re Sendeberechtigungen und eine oder mehrere jeweilige Referenzen speichert, – eine Einrichtung (310) zum Empfang einer Anforderung eines Informationsobjekts von einem Client, wobei die Anfrage eine Sendeberechtigung enthält, die das erforderliche Informationsobjekt anzeigt, – eine Einrichtung (320), die so ausgebildet ist, daß sie die Sendeberechtigung mit einer oder mehreren Sendeberechtigung(en) vergleicht, die in der Speichereinrichtung gespeichert sind, um eine passende gespeicherte Sendeberechtigung zu finden, wobei jede gespeicherte Sendeberechtigung mit einer entsprechenden Referenz auf ein entsprechendes Informationsobjekt gekoppelt ist, und – eine Einrichtung (310), die zur Rücksendung des jeweiligen entsprechenden Informationsobjekts an den Client in Abhängigkeit vom Auffinden einer passenden gespeicherten Sendeberechtigung ausgebildet ist.
  5. Informationsserver (300) nach Anspruch 4, der ferner eine Einrichtung (320) enthält, die so ausgebildet ist, daß sie eine Anzeige der Identität des Client von einer von einem Client stammenden Anforderung ableitet.
  6. Informationsserver (300) nach Anspruch 5, der ferner eine Einrichtung (320) zum Vergleichen der Anzeige der Identität des Client mit Anzeigen der Identität enthält, die in Verbindung mit jeder gespeicherten Sendeberechtigung und jeder entsprechenden Referenz gespeichert sind, wobei die Einrichtung (310) zur Rücksendung auch in Abhängigkeit vom Auffinden einer gespeicherten Anzeige der Identität, die mit der Anzeige der Identität des Client übereinstimmt, die aus der Anfrage abgeleitet wird, betrieben wird.
  7. Informationsserver (300) nach einem der vorherigen Ansprüche, der eine Web-Serverfunktion (310) hat.
  8. Verfahren zur Steuerung eines Informationsservers (300) mit den folgenden Schritten: (i) Empfang einer Anforderung eines Informationsobjekts von einem Client, wobei das Informationsobjekt mindestens eine Referenz auf ein weiteres Informationsobjekt enthält, (ii) Modifizierung des Informationsobjekts durch Ersetzen der oder jeder Referenz durch eine Sendeberechtigung, (iii) Speichern der oder jeder Sendeberechtigung und der oder jeder jeweiligen Referenz in einem Speicher (330) und (iv) Rücksendung des modifizierten Informationsobjekts an den Client.
  9. Verfahren zur Steuerung eines Informationsservers (300) nach Anspruch 8, das den zusätzlichen Schritt umfaßt: Abhalten einer Session zwischen einem Client und dem Informationsserver (300), und wobei im Schritt (iii) die oder jede Sendeberechtigung und die oder jede jeweilige Referenz während der Dauer der Session gespeichert wird.
  10. Verfahren zur Steuerung eines Informationsservers (300) nach Anspruch 9, das nach dem Empfang einer Anforderung eines Informationsobjektes von einem Client, wobei die Anforderung eine Sendeberechtigung enthält, die das angeforderte Informationsobjekt anzeigt, ferner die folgenden Schritte umfaßt: – Vergleichen der Sendeberechtigung mit einer oder mit mehreren gespeicherten Sendeberechtigungen, um eine passende gespeicherte Sendeberechtigung zu finden, und – Verwenden der entsprechenden Referenz auf ein Informationsobjekt, das mit der passenden gespeicherten Sendeberechtigung gespeichert ist, bei der Rücksendung der angeforderten Information an den Client.
  11. Verfahren zur Steuerung eines Informationsservers (300), das die Schritte umfaßt: (i) Speichern von einer oder mehreren Sendeberechtigungen in einem Speicher (330), (ii) Empfang einer Anforderung eines Informationsobjekts von einem Client, wobei die Anfrage eine Sendeberechtigung enthält, die das angeforderte Informationsobjekt anzeigt, (iii) Vergleichen der Sendeberechtigung mit einer oder mehreren gespeicherten Sendeberechtigungen, um eine passende gespeicherte Sendeberechtigung zu finden, wobei jede gespeicherte Sendeberechtigung mit einer entsprechenden Referenz auf ein Informationsobjekt gekoppelt ist, und (iv) Rücksenden des jeweiligen entsprechenden Informationsobjekts an den Client in Abhängigkeit vom Auffinden einer passenden gespeicherten Sendeberechtigung.
  12. Verfahren zur Steuerung eines Informationsservers (300) nach einem der Ansprüche 8 bis 11, wobei der Server (300) Web-Funktion hat und die Anforderung vom Client die Anforderung eines Dokuments im HTML-Format ist, und das die zusätzlichen Schritte umfaßt: – Abfragen von Daten, die als das angeforderte Dokument im HTML-Format zu formatieren sind, von einer Datenquelle und – Erstellen des angeforderten Dokuments im HTML-Format auf der Grundlage der abgefragten Daten.
  13. Verfahren zur Steuerung eines Informationsservers (300) nach einem der Ansprüche 8 bis 11, wobei der Server (300) Web-Funktion hat und die Anforderung vom Client eine Anforderung eines Dokuments im HTML-Format ist, das den zusätzlichen Schritt umfaßt: Abruf des angeforderten Dokuments im HTML-Format von einer Datenquelle.
DE69818008T 1997-01-20 1998-01-09 Datenzugriffssteuerung Expired - Lifetime DE69818008T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97300331 1997-01-20
EP97300331 1997-01-20
PCT/GB1998/000053 WO1998032066A1 (en) 1997-01-20 1998-01-09 Data access control

Publications (2)

Publication Number Publication Date
DE69818008D1 DE69818008D1 (de) 2003-10-16
DE69818008T2 true DE69818008T2 (de) 2004-08-05

Family

ID=8229185

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69818008T Expired - Lifetime DE69818008T2 (de) 1997-01-20 1998-01-09 Datenzugriffssteuerung

Country Status (6)

Country Link
US (1) US6393468B1 (de)
EP (1) EP0953170B1 (de)
JP (1) JP2001508901A (de)
AU (1) AU5492498A (de)
DE (1) DE69818008T2 (de)
WO (1) WO1998032066A1 (de)

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL131831A (en) * 1997-03-12 2002-12-01 Nomadix Inc Translator or roaming router
US7047248B1 (en) * 1997-11-19 2006-05-16 International Business Machines Corporation Data processing system and method for archiving and accessing electronic messages
US6751670B1 (en) 1998-11-24 2004-06-15 Drm Technologies, L.L.C. Tracking electronic component
JP3688914B2 (ja) * 1998-11-25 2005-08-31 株式会社東芝 Webシステムの処理順序監視装置及びプログラムを記録したコンピュータ読み取り可能な記憶媒体
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US6636894B1 (en) * 1998-12-08 2003-10-21 Nomadix, Inc. Systems and methods for redirecting users having transparent computer access to a network using a gateway device having redirection capability
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US6480888B1 (en) * 1998-12-29 2002-11-12 At&T Corp. Virtual path concentrator node with loopback
US7127515B2 (en) 1999-01-15 2006-10-24 Drm Technologies, Llc Delivering electronic content
US7080158B1 (en) 1999-02-09 2006-07-18 Nortel Networks Limited Network caching using resource redirection
US6901604B1 (en) 1999-02-19 2005-05-31 Chaincast, Inc. Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
US7610607B1 (en) * 1999-02-19 2009-10-27 Chaincast Networks, Inc. Chaincast method and system for broadcasting information to multiple systems within the internet
US6910180B1 (en) * 1999-05-10 2005-06-21 Yahoo! Inc. Removing cookies from web page response headers and storing the cookies in a repository for later use
JP4318004B2 (ja) * 1999-05-19 2009-08-19 ソニー株式会社 情報授受システム、情報授受方法、情報処理装置、情報処理方法及び記録媒体
US7013296B1 (en) * 1999-06-08 2006-03-14 The Trustees Of Columbia University In The City Of New York Using electronic security value units to control access to a resource
US7140039B1 (en) 1999-06-08 2006-11-21 The Trustees Of Columbia University In The City Of New York Identification of an attacker in an electronic system
US7272855B1 (en) 1999-06-08 2007-09-18 The Trustees Of Columbia University In The City Of New York Unified monitoring and detection of intrusion attacks in an electronic system
US6961897B1 (en) * 1999-06-14 2005-11-01 Lockheed Martin Corporation System and method for interactive electronic media extraction for web page generation
US6339423B1 (en) * 1999-08-23 2002-01-15 Entrust, Inc. Multi-domain access control
GB2357599B (en) 1999-12-23 2004-08-04 Ibm Method for preventing parasitic usage of web page embedded files
CA2395498C (en) * 1999-12-24 2013-08-27 Telstra New Wave Pty Ltd A virtual token
CA2397740C (en) 2000-01-14 2015-06-30 Catavault Method and system for secure registration, storage, management and linkage of personal authentication credentials data over a network
JP2001216262A (ja) * 2000-02-07 2001-08-10 Fujitsu Ltd サーバ
US6845383B1 (en) * 2000-06-19 2005-01-18 International Business Machines Corporation System and method for managing concurrent scheduled or on-demand replication of subscriptions
US6785721B1 (en) * 2000-06-19 2004-08-31 International Business Machines Corporation System and method for providing a distributable runtime that deploys web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US7219304B1 (en) * 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US7505923B1 (en) * 2000-06-30 2009-03-17 Tetsuro Yoshioka Network based franchise business system and method
US7571217B1 (en) 2000-08-16 2009-08-04 Parallel Networks, Llc Method and system for uniform resource locator transformation
AU2001284644A1 (en) * 2000-08-16 2002-02-25 Verisign, Inc. A numeric/voice name internet access architecture and methodology
US7143143B1 (en) * 2000-10-27 2006-11-28 Microsoft Corporation System and method for distributed caching using multicast replication
EP2378733B1 (de) * 2000-11-10 2013-03-13 AOL Inc. System zur Verteilung und Abonnierung von digitalen Inhalten
US6842512B2 (en) * 2000-11-14 2005-01-11 Fuji Xerox Co., Ltd. Systems and methods for managing electronic communications
US6874025B2 (en) * 2000-12-22 2005-03-29 Intel Corporation System and method of application input validation
US7107342B1 (en) * 2001-01-26 2006-09-12 Cisco Technology, Inc. Method and system for providing service trigger management in a wireless network
US7133971B2 (en) * 2003-11-21 2006-11-07 International Business Machines Corporation Cache with selective least frequently used or most frequently used cache line replacement
US7133662B2 (en) * 2001-05-24 2006-11-07 International Business Machines Corporation Methods and apparatus for restricting access of a user using a cellular telephone
US20030002667A1 (en) * 2001-06-29 2003-01-02 Dominique Gougeon Flexible prompt table arrangement for a PIN entery device
US7191448B2 (en) * 2001-08-08 2007-03-13 Hewlett-Packard Development Company, L.P. Web based imaging page redirector system for accessing a redirector reference that directs a browser to a redirector software
US20030038839A1 (en) * 2001-08-08 2003-02-27 Simpson Shell S. Method for web-based imaging service to redirect to a preferred destination
US6944868B2 (en) * 2001-08-08 2005-09-13 Hewlett-Packard Development Company, L.P. Imaging extension API for isolating web content from user resources and services
US20030061520A1 (en) * 2001-09-21 2003-03-27 Zellers Mark H. Method and system to securely change a password in a distributed computing system
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
JP4067816B2 (ja) * 2001-11-28 2008-03-26 松下電器産業株式会社 情報処理装置及びその接続制御方法
JP2003242117A (ja) * 2002-02-18 2003-08-29 Hitachi Ltd アクセス管理方法及びシステム
JP3842696B2 (ja) * 2002-06-04 2006-11-08 株式会社損害保険ジャパン 画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラム
US7565413B1 (en) 2002-08-05 2009-07-21 Cisco Technology, Inc. Content request redirection from a wed protocol to a file protocol
US7349900B1 (en) 2002-08-09 2008-03-25 Cisco Technology, Inc. Unified high-performance database connectivity system and method
US7287164B2 (en) * 2002-09-12 2007-10-23 International Business Machines Corporation Method and system for encoding signatures to authenticate files
US20040059913A1 (en) * 2002-09-13 2004-03-25 Sun Microsystems, Inc., A Delaware Corporation Accessing for controlled delivery of digital content in a system for digital content access control
US7398557B2 (en) 2002-09-13 2008-07-08 Sun Microsystems, Inc. Accessing in a rights locker system for digital content access control
US7240365B2 (en) * 2002-09-13 2007-07-03 Sun Microsystems, Inc. Repositing for digital content access control
US7380280B2 (en) * 2002-09-13 2008-05-27 Sun Microsystems, Inc. Rights locker for digital content access control
US7913312B2 (en) * 2002-09-13 2011-03-22 Oracle America, Inc. Embedded content requests in a rights locker system for digital content access control
US7512972B2 (en) * 2002-09-13 2009-03-31 Sun Microsystems, Inc. Synchronizing for digital content access control
US20040059939A1 (en) * 2002-09-13 2004-03-25 Sun Microsystems, Inc., A Delaware Corporation Controlled delivery of digital content in a system for digital content access control
US20040083370A1 (en) * 2002-09-13 2004-04-29 Sun Microsystems, Inc., A Delaware Corporation Rights maintenance in a rights locker system for digital content access control
US20040078422A1 (en) * 2002-10-17 2004-04-22 Toomey Christopher Newell Detecting and blocking spoofed Web login pages
US7330863B2 (en) * 2002-11-28 2008-02-12 International Business Machines Corporation Method and systems for hyperlinking files
AU2003298797A1 (en) * 2002-12-04 2004-06-23 Entriq Inc. Multiple content provider user interface
US7401105B2 (en) * 2003-10-02 2008-07-15 International Business Machines Corporation Method, system, and program product for retrieving file processing software
US7404002B1 (en) 2003-03-06 2008-07-22 Nvidia Corporation Method and system for broadcasting live data over a network
US9003295B2 (en) * 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US20050261970A1 (en) * 2004-05-21 2005-11-24 Wayport, Inc. Method for providing wireless services
US7921226B2 (en) * 2004-07-20 2011-04-05 Alcatel-Lucent Usa Inc. User specific request redirection in a content delivery network
US7461339B2 (en) * 2004-10-21 2008-12-02 Trend Micro, Inc. Controlling hostile electronic mail content
US9176934B2 (en) 2005-05-06 2015-11-03 Leo Baschy User interface for nonuniform access control system and methods
US9129088B1 (en) 2005-06-04 2015-09-08 Leo Martin Baschy User interface driven access control system and methods for multiple users as one audience
CA2513022A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513016A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513010A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device
US7788338B2 (en) 2005-09-21 2010-08-31 Sap Ag Web services message processing runtime framework
US7711836B2 (en) * 2005-09-21 2010-05-04 Sap Ag Runtime execution of a reliable messaging protocol
US20070067461A1 (en) * 2005-09-21 2007-03-22 Savchenko Vladimir S Token streaming process for processing web services message body information
US8745252B2 (en) * 2005-09-21 2014-06-03 Sap Ag Headers protocol for use within a web services message processing runtime framework
US7721293B2 (en) * 2005-09-21 2010-05-18 Sap Ag Web services hibernation
US7761533B2 (en) 2005-09-21 2010-07-20 Sap Ag Standard implementation container interface for runtime processing of web services messages
US7673135B2 (en) * 2005-12-08 2010-03-02 Microsoft Corporation Request authentication token
US7529795B2 (en) * 2006-03-20 2009-05-05 Stragent, Llc Message board aggregator
US9202068B2 (en) * 2006-03-29 2015-12-01 Leo M. Baschy User interface for variable access control system
US8407482B2 (en) 2006-03-31 2013-03-26 Avaya Inc. User session dependent URL masking
US8561146B2 (en) 2006-04-14 2013-10-15 Varonis Systems, Inc. Automatic folder access management
US7647351B2 (en) 2006-09-14 2010-01-12 Stragent, Llc Web scrape template generation
US8424073B2 (en) * 2006-11-13 2013-04-16 Microsoft Corporation Refreshing a page validation token
US8224298B2 (en) * 2007-02-05 2012-07-17 Boadin Technology, LLC Systems and methods for mobile media services utilizing a short form command structure
US8533821B2 (en) 2007-05-25 2013-09-10 International Business Machines Corporation Detecting and defending against man-in-the-middle attacks
US7930401B2 (en) * 2007-06-26 2011-04-19 International Business Machines Corporation Accessing shared resources with improved request peak management
EP2026530A1 (de) 2007-07-12 2009-02-18 Wayport, Inc. Vorrichtungsspezifische Autorisierung an verteilten Standorten
US8117242B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC System, method, and computer program product for performing a search in conjunction with use of an online application
US8117225B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC Drill-down system, method, and computer program product for focusing a search
US8131458B1 (en) 2008-08-22 2012-03-06 Boadin Technology, LLC System, method, and computer program product for instant messaging utilizing a vehicular assembly
US8073590B1 (en) 2008-08-22 2011-12-06 Boadin Technology, LLC System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8265862B1 (en) 2008-08-22 2012-09-11 Boadin Technology, LLC System, method, and computer program product for communicating location-related information
US8190692B1 (en) 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
US8078397B1 (en) 2008-08-22 2011-12-13 Boadin Technology, LLC System, method, and computer program product for social networking utilizing a vehicular assembly
US20100269162A1 (en) 2009-04-15 2010-10-21 Jose Bravo Website authentication
US20110061093A1 (en) * 2009-09-09 2011-03-10 Ohad Korkus Time dependent access permissions
US8578507B2 (en) 2009-09-09 2013-11-05 Varonis Systems, Inc. Access permissions entitlement review
US10229191B2 (en) 2009-09-09 2019-03-12 Varonis Systems Ltd. Enterprise level data management
WO2011030324A1 (en) * 2009-09-09 2011-03-17 Varonis Systems, Inc. Enterprise level data management
US8683609B2 (en) * 2009-12-04 2014-03-25 International Business Machines Corporation Mobile phone and IP address correlation service
US9870480B2 (en) 2010-05-27 2018-01-16 Varonis Systems, Inc. Automatic removal of global user security groups
US10037358B2 (en) 2010-05-27 2018-07-31 Varonis Systems, Inc. Data classification
US10296596B2 (en) 2010-05-27 2019-05-21 Varonis Systems, Inc. Data tagging
US8533787B2 (en) 2011-05-12 2013-09-10 Varonis Systems, Inc. Automatic resource ownership assignment system and method
WO2011148375A1 (en) 2010-05-27 2011-12-01 Varonis Systems, Inc. Automation framework
US9147180B2 (en) 2010-08-24 2015-09-29 Varonis Systems, Inc. Data governance for email systems
CN103348316B (zh) 2011-01-27 2016-08-24 瓦欧尼斯系统有限公司 访问权限管理系统和方法
US9680839B2 (en) 2011-01-27 2017-06-13 Varonis Systems, Inc. Access permissions management system and method
US8909673B2 (en) 2011-01-27 2014-12-09 Varonis Systems, Inc. Access permissions management system and method
US8838988B2 (en) 2011-04-12 2014-09-16 International Business Machines Corporation Verification of transactional integrity
US8996573B2 (en) 2011-10-10 2015-03-31 George Peter Kelesis Journaling system with segregated data access
US8904279B1 (en) * 2011-12-07 2014-12-02 Amazon Technologies, Inc. Inhibiting automated extraction of data from network pages
US9191405B2 (en) 2012-01-30 2015-11-17 Microsoft Technology Licensing, Llc Dynamic cross-site request forgery protection in a web-based client application
GB2502781B8 (en) * 2012-06-05 2016-09-07 Global Reach Technology Ltd Improvements in and relating to authentication
US8917826B2 (en) 2012-07-31 2014-12-23 International Business Machines Corporation Detecting man-in-the-middle attacks in electronic transactions using prompts
US11151515B2 (en) 2012-07-31 2021-10-19 Varonis Systems, Inc. Email distribution list membership governance method and system
US8745713B1 (en) * 2012-08-31 2014-06-03 Cloud Cover Safety, Inc. Method and service for securing a system networked to a cloud computing environment from malicious code attacks
US9251363B2 (en) 2013-02-20 2016-02-02 Varonis Systems, Inc. Systems and methodologies for controlling access to a file system
US20180084002A1 (en) * 2016-09-20 2018-03-22 Re-Sec Technologies Ltd. Malicious hyperlink protection
US10367816B2 (en) * 2016-10-18 2019-07-30 International Business Machines Corporation Invalidation of an access token
US10796015B2 (en) 2017-03-29 2020-10-06 Mybitchbook, Inc. Method and system for anonymous user data storage and controlled data access
CN110177103B (zh) * 2019-05-28 2022-04-12 江苏快页信息技术有限公司 一种基于网页地址转换的动态web安全防护方法与系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528759A (en) 1990-10-31 1996-06-18 International Business Machines Corporation Method and apparatus for correlating network management report messages
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5870550A (en) * 1996-02-26 1999-02-09 Network Engineering Software Web server employing multi-homed, moldular framework
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5889942A (en) * 1996-12-18 1999-03-30 Orenshteyn; Alexander S. Secured system for accessing application services from a remote station

Also Published As

Publication number Publication date
AU5492498A (en) 1998-08-07
WO1998032066A1 (en) 1998-07-23
US6393468B1 (en) 2002-05-21
EP0953170B1 (de) 2003-09-10
EP0953170A2 (de) 1999-11-03
DE69818008D1 (de) 2003-10-16
JP2001508901A (ja) 2001-07-03

Similar Documents

Publication Publication Date Title
DE69818008T2 (de) Datenzugriffssteuerung
DE69921455T2 (de) System und verfahren zur zugriffssteuerung auf gespeicherte dokumente
DE60218069T2 (de) Bereitstellung von gekoppelten diensten in einer verteilten rechnerumgebung
DE69736697T2 (de) Verfahren und Gerät zur Steuerung von Zugriff auf Systembetriebsmittel
DE69834410T2 (de) Verfahren und vorrichtung zur erzeugung physischer sicherheit eines benutzerkontos und zugangsermöglichung zur umgebung und zu den präferenzen eines benutzers
DE69838262T2 (de) Allgemeine benutzer-authentifizierung für netz-rechner
DE60100680T2 (de) Vorrichtung und Verfahren mit sicherem und öffentlichem Zugang
DE10051571B4 (de) Methode und System zur Unterstützung von Sicherheitsvorgaben unter Verwendung einer Stylesheet-Verarbeitung
DE69838769T2 (de) System und Verfahren zum anonymen, personalisierten Browsen in einem Netzwerk
DE60027971T2 (de) Einmalige Anmeldung in einem Netzwerksystem, das mehrere gesondert steuerbare Ressourcen mit begrenztem Zugang enthält
DE60130377T2 (de) Verfahren zur steuerung des zugriffs auf digitalen inhalt und streaming-medien
DE69833929T2 (de) Netzzugriffsauthentifizierungssystem
DE69633564T2 (de) Zugangskontrolle und überwachungssystem für internetserver
DE69911101T2 (de) Zugriff auf Software
DE69912317T2 (de) Vorrichtung und verfahren zur bestimmung einer programmnachbarschaft für einen kundenknoten in einem kundenbedienernetzwerk
DE60309553T2 (de) Verfahren und Vorrichtungen zur Gesamtbenutzung eines Netzwerkbetriebsmittels mit einem Benutzer ohne Zugang
DE69915441T2 (de) System und Verfahren für automatischen authentifizierten Zugang zu einer Mehrzahl von Netzbetreibern durch eine einzige Anmeldung
DE69725952T2 (de) Benutzerkontrollierter Browser
DE60222871T2 (de) Anordnung und Verfahren zum Schutz von Endbenutzerdaten
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE602004003135T2 (de) Einheitliches management von netzressourcen für gleichzeitige teilnahme mehrerer nutzer an einer sitzung
DE60308692T2 (de) Verfahren und system für benutzerbestimmte authentifizierung und einmalige anmeldung in einer föderalisierten umgebung
DE60319056T2 (de) Methode und Gerät zur Bereitstellung von Informationen und Diensten bei Verhinderung des Missbrauchs derselben
DE60308733T2 (de) Dienstanbieteranonymisierung in einem single sign-on system
DE69934035T2 (de) Vorrichtung zum Aktualisieren von einem Kennwort und dafür verwendetes Aufzeichnungsmedium