DE60031340T2 - Geschützter Zugang durch Netzwerk-Firewalls - Google Patents

Geschützter Zugang durch Netzwerk-Firewalls Download PDF

Info

Publication number
DE60031340T2
DE60031340T2 DE60031340T DE60031340T DE60031340T2 DE 60031340 T2 DE60031340 T2 DE 60031340T2 DE 60031340 T DE60031340 T DE 60031340T DE 60031340 T DE60031340 T DE 60031340T DE 60031340 T2 DE60031340 T2 DE 60031340T2
Authority
DE
Germany
Prior art keywords
client
service
http
request
server
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
DE60031340T
Other languages
English (en)
Other versions
DE60031340D1 (de
Inventor
Stephen John Hinde
Lawrence Malmesbury Wilcock
Colin Wotton-U-Edge Low
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Application granted granted Critical
Publication of DE60031340D1 publication Critical patent/DE60031340D1/de
Publication of DE60031340T2 publication Critical patent/DE60031340T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Description

  • Technisches Gebiet
  • Diese Erfindung bezieht sich auf Verfahren und Vorrichtungen zum Liefern eines sicheren Zugriffs zwischen einem Dienst außerhalb einer Netzfirewall (wie beispielsweise einem Webseitenserver) und einem Client (Klient) innerhalb der Firewall (wie beispielsweise einem Web-Browser).
  • Technischer Hintergrund
  • Einrichtungen für einen globalen Zugriff auf Informationen, wie beispielsweise das World Wide Web, unterliegen immensem Wachstum und immenser Expansion sowohl bei einem übertragenen Datenvolumen als auch bei einer Höherentwicklung von Werkzeugen (Tools), wie beispielsweise Web-Browsern, zum Zugreifen auf diese Daten. Dies erfordert wiederum, dass die Flexibilität und Fähigkeit der Datennetzinfrastruktur erhöht wird, ohne gleichzeitig die Sicherheitsmerkmale desselben zu gefährden. Häufig stehen diese Zielsetzungen in Konflikt miteinander.
  • Webbasierte Anwendungen sind von „Client-Server"-Natur. Ein Clientbasierter Browser läuft auf einem Computer eines Endbenutzers und kommuniziert über Netzverbindungen mit einem Web-Server, der durch einen Dienstanbieter betrieben wird. Der Server liefert Daten, die den Inhalt von Webseiten definieren, die durch den Browser des Benutzers aufbereitet und angezeigt werden; typischerweise ist der Webseiteninhalt unter Verwendung einer Markup-Sprache definiert, wie beispielsweise der Hypertext-Markup-Sprache (HTML = Hypertext Markup Language). Die Kommunikationen zwischen dem Browser und dem Web-Server werden gemäß einem Protokoll namens Hypertext-Transfer-Protokoll (HTTP = Hypertext Transfer Protocol) durchgeführt, das in der RFC 1945 der Internet Engineering Task Force definiert ist. HTTP ist ein einfaches textbasiertes Protokoll, das die besondere Eigenschaft aufweist, dass Nachrichten, die konform zu denselben sind, vertraut wird und dieselben sich in den Internets, Intranets und Extranets bewegen dürfen, die das heutige „Internet" bilden. Dieses Internet ist in Wirklichkeit eine Reihe von eng gekoppelten Netzen, die miteinander durch „Firewalls" (Brandmauern) verbunden sind: Netzknoten, die einen gesteuerten, beschränkten Zugriff zwischen zwei Netzen ermöglichen. Die Fähigkeit jedoch, „das World Wide Web zu durchstöbern", wird als ein allgemeiner gemeinsamer Nenner betrachtet und an sich dürfen HTTP-Nachrichten diese Firewalls ungeprüft durchlaufen. Es gab eine Anzahl von Verbesserungen an dem HTTP-Protokoll: Die Beschreibung hierin bezieht sich durch ein Beispiel auf die Grundversion, HTTP/1.0, das allgemein unterstützt wird und mit dem spätere Versionen von HTTP rückwärts kompatibel sind. Dennoch ist die Erfindung nicht auf eine Verwendung mit HTTP/1.0 oder tatsächlich irgendeiner anderen spezifischen Version von HTTP begrenzt und die Ansprüche derselben sind entsprechend aufzufassen.
  • Webseiten, die unter Verwendung der Markup-Sprache definiert sind, können durch die Verwendung eines Codes verbessert werden, der in der Java-Programmiersprache geschrieben ist; dies ermöglicht, dass ein dynamischer Inhalt und eine Interaktivität zu Webseiten hinzugefügt werden können. Java-Komponenten können entweder an dem Serverende der Netzverbindung als „Servlets" oder an der Client-Browser-Maschine laufen, in welchem Fall dieselben als „Applets" bekannt sind. Viele potentielle Sicherheitsprobleme wurden bei der Einführung von Applets betrachtet, wie beispielsweise „Viren" und „Trojanische Pferde", so dass ein strikter Satz von Sicherheitsbeschränkungen darauf auferlegt wurde, was Applets dürfen und was nicht. Zu diesem Zweck stehen Applets, die an der Client-Maschine ausgeführt werden, in Wechselwirkung mit den verfügbaren Ressourcen in der Rechenplattform, auf der das Applet läuft, über eine begrenzte Anwendungsprogrammierungsschnittstelle (API = Application Programming Interface). Zum Beispiel kann das Applet typischerweise nicht mit der lokalen Platte in Wechselwirkung treten und kann keine Verbindung mit anderen Computern in dem Netz in uneingeschränkter Weise herstellen. Jedoch kann das Applet typischerweise eine Verbindung zurück zu dem Webserver herstellen, von dem aus es bedient wurde, obgleich lediglich durch eine HTTP-Verbindung. Bezugnahmen auf Java beziehen sich hierin durch ein Beispiel auf Java/1.1, das häufig eingesetzt wird; spätere Versionen von Java liefern eine verbesserte Netzunterstützung, aber sind mit dieser Grundversion rückwärts kompatibel.
  • Die erste Generation eines Webinhalts war hauptsächlich sehr statischer Natur – wie Seiten aus einem Magazin mit Text und Bildern. Die zweite Generation eines Webinhalts wurde zunehmend dynamisch und sah eine Benutzerschnittstelle (Benutzeroberfläche) für Anwendungen vor, wie beispielsweise Datenbankabfragen. Die dritte Generation eines Webinhalts wird zunehmend interaktiv, wobei Echtzeitkommunikationen, wie beispielsweise Video, Text-Chat und Internettelefonie, als ein wichtiger Teil hinzugefügt sind. Internetbasierte Client-Server-Anwendungen sind normalerweise durch ein Öffnen von „Sockeln" zwischen dem Klient und dem Server unter Verwendung des Transaction Control Protocol/Internet Protocol (TCP/IP) wirksam. TCP/IP-Sockel liefern bidirektionale, zuverlässige Kommunikationswege. Diese können verwendet werden, um dynamische oder interaktive Client-Server-basierte Anwendungen zu implementieren, wie dieselben beispielsweise durch die zweite und die dritte Generation eines Webinhalts benötigt werden.
  • Diese höher entwickelten Anwendungen stellen jedoch dahingehend ein Problem dar, dass die Kommunikationsprotokolle, die dieselben häufig für eine Wechselwirkung mit dem Webserver benötigen, wie beispielsweise TCP/IP, durch Firewalls und Proxy-Server absichtlich blockiert werden. Es ist deshalb eine Aufgabe dieser Erfindung, Clients, wie beispielsweise Java-Applets in einer Sandbox, mit einer gewissen gesteuerten Fähigkeit (in dem Kontext einer spezifischen webbasierten Anwendung) zu schaffen, um durch eine Firewall mit anderen Ressourcen, wie beispielsweise Web-Servern, unter Verwendung von Protokollen zusätzlich zu HTTP in Wechselwirkung zu treten.
  • Offenbarung der Erfindung
  • Gemäß einem Aspekt dieser Erfindung ist ein Verfahren zum Kommunizieren zwischen einem Dienst außerhalb einer Netz-Firewall und einem Client (Klient) innerhalb der Firewall vorgesehen, das folgende Schritte aufweist:
    • (a) Senden einer anfänglichen HTTP-GET-Anforderung von dem Client zu dem Dienst, wobei diese GET-Anforderung einen global eindeutigen Identifizierer von dem Client zu dem Dienst überträgt;
    • (b) Empfangen der anfänglichen HTTP-GET-Anforderung bei dem Dienst und daraufhin Einrichten eines Kommunikationssockels bei dem Dienst zum Kommunizieren von Daten von dem Dienst zu dem Client und Aufzeichnen einer Zuordnung zwischen dem Identifizierer und dem Sockel;
    • (c) Senden einer weiteren GET-Anforderung von dem Client zu dem Dienst nach einem vorbestimmten Intervall, wobei die weitere HTTP-GET-Anforderung den Identifizierer umfasst;
    • (d) Schließen des Kommunikationssockels, der in der Zuordnung angegeben ist, Öffnen eines neuen Kommunikationssockels bei dem Dienst zum Kommunizieren von Daten zwischen dem Dienst und dem Client und Aktualisieren der Zuordnung, um den neuen Kommunikationssockel dem Identifizierer zuzuordnen, bei dem Dienst ansprechend auf die weitere HTTP-GET-Anforderung; und
    • (e) Wiederholen der Schritte (c) und (d), während ein Zugriff zwischen dem Dienst und dem Client weitergehen muss;
    wobei der Dienst Daten zu dem Client über den Kommunikationssockel liefert, der durch die Zuordnung gegenwärtig dem Identifizierer zugeordnet ist.
  • Der hierin als ein Beispiel dieser Erfindung beschriebene HTTP-Tunnel-Sockel (HTTP Tunneling Socket) ist ein Sockel, der über dem HTTP-Protokoll wirksam ist. Für eine Wechselwirkung mit einer Java-basierten Anwendung stellt derselbe die Standard-APIs bereit, wie dieselben für einen Sockel in der Java/1.1-API-Spezifikation definiert sind. Für eine Wechselwirkung mit dem Netz verwendet derselbe das HTTP/1.0-Protokoll. Diese Technik, bei der ein Protokoll in Nachrichten getragen ist, die über ein anderes Protokoll gefördert werden, ist als Tunneln bekannt. Die Verwendung eines Tunnelns hat zwei Vorteile. Es ermöglicht, dass der Tunnel in der Browser-Sandbox ausgeführt werden kann, da die APIs zum Zugreifen auf eine HTTP-Verbindung mit einem Web-Server keine Sicherheitseinschränkungen aufweisen. Zweitens ermöglicht dasselbe, dass die Client-Server-Verbindung Firewalls zwischen Intranets und Internets durchläuft, da HTTP das Protokoll ist, das alle Firewalls dieselben durchlaufen lassen.
  • Das Java-Applet und der Server sind somit mit einem Kommunikationsprotokoll (wie beispielsweise TCP/IP) versehen, das vielseitiger und fähiger als die HTTP-Verbindung ist, auf die dieselben normalerweise durch die Firewall und/oder den Proxy-Server beschränkt wären. Jedoch verhindern die durch die Sandbox auferlegten Einschränkungen einen bösartigen oder unangebrachten Zugriff auf die Ressourcen der Client-Maschine durch das getunnelte Protokoll.
  • Kurze Beschreibung der Zeichnungen
  • Ein Verfahren und eine Vorrichtung gemäß dieser Erfindung zum Gestatten eines sicheren Zugriffs zwischen einem Client hinter einer Firewall und einem Dienst, der durch einen Knoten (wie beispielsweise einen Server) außerhalb der Firewall geliefert wird, werden nun durch ein Beispiel mit Bezug auf die zugehörigen Zeichnungen beschrieben, in denen:
  • 1 eine schematische Darstellung von Umständen ist, in denen die Erfindung verwendet werden kann;
  • 2 einen Umriss einer Implementierung der Erfindung in der Java-Programmiersprache zeigt;
  • 3 die Grundprinzipien eines Betriebs der Erfindung darstellt;
  • 4 den Mechanismus für Kommunikationen von dem Client zu dem Server detaillierter zeigt; und
  • 5 den Mechanismus für Kommunikationen von dem Server zu dem Client detaillierter zeigt.
  • Bester Modus zum Ausführen der Erfindung und industrielle Anwendbarkeit
  • Es gibt prinzipiell zwei Firewalls betreffende Aspekte, die betrachtet werden sollen, wenn eine Verbindung zwischen einem Applet in einem Endgerät eines Benutzers und einem Web-Server eingerichtet wird. Der erste Aspekt ist der Fall eines firewallgeschützten Web-Servers, zu dem ein Browser, der auf einer Maschine außerhalb der Firewall läuft, versucht, eine Verbindung herzustellen. Dieser Aspekt stellt kein ernsthaftes Problem dar, da der Web-Server-Besitzer die Firewall konfigurieren kann, um zu ermöglichen, dass diese Verbindung hergestellt wird.
  • Der zweite Aspekt ist der Fall einer Web-Browser-Maschine in einem Firmen-Intranet, die versucht, durch die Firmen-Firewall eine Verbindung mit einem Web-Server in dem öffentlichen Internet herzustellen, wie es in 1 dargestellt ist. Das Problem hier ist, dass der Web-Server-Besitzer entwurfsbedingt keine Steuerung über die Firewall hat. Das vollständige Szenario besteht darin, dass der Browser 10, der einen Java-Applet-Code auf dem Endgerät des Benutzers ausführt, anfänglich eine Verbindung mit einer Maschine 12, die ein Proxy genannt wird, innerhalb des Firmen-Internets 14 herstellt. Dieses Proxy stellt die erforderlichen Verbindungen durch die Firewall 16 mit dem Internet-basierten Web-Server 18 im Auftrag des Browsers 10 her, ohne sensible Informationen über den Browser und das Host-Endgerät desselben einer Betrachtung in dem öffentlichen Internet auszusetzen. Das Proxy 12 führt ferner verschiedene Sicherheitsprüfungen durch, um beispielsweise sicherzustellen, dass die Anforderungen gültige HTTP-Anforderungen sind.
  • Aufgrund der Beschränkung der Verwendung von HTTP jedoch ist der Web-Server nicht in der Lage, erwünschte Dienste zu dem Client zu liefern, wie beispielsweise Echtzeit-Audio, Video oder interaktiven Chat, die bei der Verwendung von leistungsfähigeren Protokollen, wie beispielsweise TCP/IP, möglich sind. Diese leistungsfähigeren Protokolle sind aufgrund der Bedrohung, die dieselben bezüglich eines Ermöglichens eines unangebrachten oder eindringenden Zugriffs auf Ressourcen innerhalb des Firmen-Intranets darstellen, normalerweise an einer uneingeschränkten Verwendung gehindert.
  • Dieses Problem wird durch ein Verwenden der Erfindung überwunden, um einen „Tunnel" durch die Firewall, der durch die HTTP-Nachrichten getragen ist, und somit offene Kommu nikationssockel einzurichten, die das Java-Applet und der Web-Server verwenden können, um miteinander zu kommunizieren. Auf diese Weise ist es dem Web-Server ermöglicht, Ressourcen an der Host-Maschine des Browsers zu verwenden, wenn auch immer noch innerhalb der engen Beschränkungen, die durch die Java-Sandbox auferlegt sind.
  • Der Tunnel umfasst zwei Java-Programmierklassen, eine (der TunnelSockel genannt), die die „Sockel"-Klasse implementiert, wie es in der Java/1.1-Spezifikation definiert ist, und eine andere (TunnelServerSockel genannt), die die „ServerSockel"-Klasse implementiert, die in dieser Spezifikation definiert ist. Wie es in 2 gezeigt ist, kann ein Client-basierter Java-Code auf die Standard-APIs zugreifen (wie beispielsweise Öffnen, Lesen, Schreiben, Schließen, etc.), die durch eine Klasse geliefert werden, die konform zu der Sockel-Klassendefinition ist, um mit einer anderen Java-Anwendung zu kommunizieren, wie beispielsweise einer, die auf dem Web-Server läuft. Die Server-basierte Java-Anwendung kann gleichermaßen dieselben Sockel-APIs plus die Standard-APIs, wie beispielsweise Annehmen etc., die für Servlets durch die ServerSockel-Klasse vorgesehen sind, verwenden, um mit dem Clientbasierten Java-Applet zu kommunizieren. Nachrichten zwischen der Sockel-Klasse und der ServerSockel-Klasse werden innerhalb HTTP-Nachrichten ausgeführt, die die Firewall zwischen dem Client und dem Server durchlaufen.
  • Der HTTP-Tunnel verwendet das zugrundeliegende einfache textbasierte HTTP-Protokoll, um ein zuverlässiges verbindungsbasiertes Protokoll zwischen der TunnelSockel- und der TunnelServerSockel-Klasse herzustellen. Grundlegende HTTP-Transaktionen verwenden eines von zwei Verfahren bei der HTTP-Anforderungsnachricht. Das GET-Verfahren ist entworfen, um eine Webseite von einem Web-Server zu „bekommen" (Get), und das POST-Verfahren wird verwendet, um Daten zu einer entfernten Webressource oder Webanwendung zu senden. Bei einem Implementieren der vorliegenden Erfindung wird ein GET-basiertes Protokoll für die Client-zu-Server-Richtung verwendet und wird ein POST-basiertes Protokoll für die umgekehrte, die Server-zu-Client-Richtung verwendet, wie es in 3 gezeigt ist. In dem Fall, dass HTTP durch ein funktional äquivalentes Protokoll ersetzt ist, wird betrachtet, dass die Erfindung bei Operationen in diesem Protokoll verwendet werden könnte, die äquivalent zu der HTTP-GET- und der POST-Operation sind.
  • Eine einzige Verbindung zwischen der TunnelSockel- und der TunnelServerSockel-Klasse weist wahrscheinlich mehrere HTTP-Transaktionen auf. Um diese Transaktionen einander zuzuordnen, wird eine numerische global eindeutige ID (GUID = Globally Unique ID) unter Verwendung einer Kombination von Zufallszahlen, Netzwerkadresse und Tageszeit erzeugt, so dass jede erzeugte GUID sowohl bezüglich Zeit als auch Position in dem Netz eine eindeutige Größe ist. Diese GUID ist in jeder HTTP-Anforderung enthalten, sowohl GET als auch POST, so dass das HTTP-Protokoll erkennen kann, dass sich dieselben auf den gleichen Kommunikationssockel beziehen. Genauer gesagt wird die GUID als der einheitliche Ressourcenindikator (URI = Uniform Resource Indicator) von HTTP (das Feld, das verwendet wird, um einen Dokumentennamen bei einer normalen Verwendung von HTTP zu spezifizieren) geleitet.
  • Eine Client-zu-Server-Verbindung ist unter Verwendung der POST-HTTP-Operation implementiert. Jedes Mal, wenn ein Schreibvorgang zu dem Client-Sockel (TunnelSockel-Klasse) durchgeführt wird, wird die Anforderung verpackt und als die Nutzlast einer HTTP-POST-Nachricht gesendet, einschließlich der relevanten GUID, wie es in 4 gezeigt ist. Jede derartige Schreiboperation sendet eine getrennte POST-Nachricht durch die Firewall.
  • Die Server-zu-Client-Richtung ist aufgrund von Einschränkungen, die durch den Proxy-Server 12 und die Firewall 16 auferlegt sind, komplexer. Wie es in 5 gezeigt ist, erteilt der Client eine HTTP-GET-Nachricht, die dem Server sagt, dass ein neuer getunnelter Sockel eingerichtet wird. Die HTTP-GET-Anforderung erzeugt einen temporären Server-Client-Sockel, der ermöglicht, dass Daten von dem Server zu dem Client geschrieben werden. Als eine Sicherheitsvorkehrung schließen jedoch die meisten Proxy-Server-Implementierungen einen derartigen Server-Client-Sockel nach einem Zeitintervall P, typischerweise in der Größenordnung von zehn Minuten Dauer. Folglich erzwingt der Tunnel, der bei dieser Erfindung eingerichtet ist, periodisch selbst eine präventive Beendigung der Verbindung mit einer gewissen Periodizität T, die kürzerer Dauer als das Intervall P ist. Dies wird durch ein Erteilen einer weiteren GET-Anforderung erzielt, um die TunnelServerSockel-Klasse zu zwingen, den existierenden Sockel zu dem Client zu schließen und unmittelbar einen neuen Sockel einzurichten. Es ist zu beachten, dass diese Schließung (und nachfolgende Wiederöffnung) durchgeführt wird, obwohl Daten immer noch ausstehen, um von dem Server zu dem Client übertragen zu werden. Dieser Ansatz vermeidet den Mehraufwand vorhergehender Techniken, bei denen der Client den Server in einem vorausgewählten Abfrageintervall abfragt, für gewöhnlich in der Größenordnung von 20 Millisekunden. Diese häufigen Abfragen sind äquivalent zu mehreren Webseitenanforderungen, so dass der Server eine große Anzahl von Webtreffern pro Sekunde empfängt, was einen erheblichen Mehraufwand auferlegt und die Skalierbarkeit derartiger bekannter Techniken, große Anzahlen von Clients simultan zu handhaben, stark einschränkt.
  • Eine Darstellung der Implementierung der Erfindung ist unten in der Form eines Pseudocodes vorgesehen, der die erheblichen Aspekte der Implementierung unterstreicht, aber der Klarheit halber kleinere Details auslässt, die gut innerhalb der Fähigkeit eines Fachmanns auf dem Gebiet liegen, obwohl dieselben in der Praxis erforderlich sind. Gleichermaßen wird die Existenz bestimmter Unterfunktionen angenommen, wie beispielsweise guidFactory zum Erzeugen einer GUID und createFiFoInputStream zum Reservieren und Konfigurieren eines Speichers für eine Verwendung als ein Zuerst-Hinein-Zuerst-Hinaus-Puffer (FIFO-Puffer; FIFO = First-In-First-Out); diese Funktionen sind wiederum einzeln gut auf dem Gebiet bekannt, so dass die internen Details derselben nicht spezifiziert werden müssen. Abhängig von der speziellen Implementierungsweise können zusätzliche Parameter enthalten sein, beispielsweise bei einigen Funktionsaufrufen; dies ist durch eine Auslassung (...) angegeben.
  • 1. Server-zu-Client-Richtung. 1a. TunnelSockel-EingangsStrom-Code – läuft auf Client
    Figure 00110001
  • Figure 00120001
  • Figure 00130001
  • Figure 00140001
  • 1b. TunnelServerSockel-AusgangsStrom – läuft auf dem Server
    Figure 00140002
  • Figure 00150001
  • Figure 00160001
  • 2. Client-Server-Richtung. 2a. Client-seitiger TunnelSockel-AusgangsStrom
    Figure 00160002
  • 2b. Server-seitiger TunnelServerSockel-EingangsStrom
    Figure 00160003
  • Figure 00170001

Claims (3)

  1. Ein Verfahren zum Kommunizieren zwischen einem Dienst außerhalb einer Netzfirewall und einem Klienten innerhalb der Firewall, das folgende Schritte aufweist: (a) Senden einer anfänglichen HTTP-GET-Anforderung von dem Klienten zu dem Dienst, wobei diese GET-Anforderung einen global eindeutigen Identifizierer von dem Klienten zu dem Dienst überträgt; (b) Empfangen der anfänglichen HTTP-GET-Anforderung bei dem Dienst und daraufhin Einrichten eines Kommunikationssockels bei dem Dienst zum Kommunizieren von Daten von dem Dienst zu dem Klienten und Aufzeichnen einer Zuordnung zwischen dem Identifizierer und dem Sockel; (c) Senden einer weiteren GET-Anforderung von dem Klienten zu dem Dienst nach einem vorbestimmten Intervall, wobei die weitere HTTP-GET-Anforderung den Identifizierer umfasst; (d) Schließen des Kommunikationssockels, der in der Zuordnung angegeben ist, Öffnen eines neuen Kommunikationssockels bei dem Dienst zum Kommunizieren von Daten zwischen dem Dienst und dem Klienten und Aktualisieren der Zuordnung, um den neuen Kommunikationssockel dem Identifizierer zuzuordnen, bei dem Dienst ansprechend auf die weitere HTTP-GET-Anforderung; und (e) Wiederholen der Schritte (c) und (d), während ein Zugriff zwischen dem Dienst und dem Klienten weitergehen muss; wobei der Dienst Daten zu dem Klienten über den Kommunikationssockel liefert, der durch die Zuordnung gegenwärtig dem Identifizierer zugeordnet ist.
  2. Das Verfahren gemäß Anspruch 1, bei dem das vorbestimmte Intervall mit Bezug auf ein spezifisches Zeitintervall gesetzt ist, nach dem ein Proxy-Server auf der Klientenseite der Firewall angeordnet ist, um eine Beendigung eines Kommunikationssockels durchzusetzen, durch das der Dienst mit dem Klienten kommuniziert, wobei das vorbestimmte Zeitintervall gesetzt ist, um weniger als das spezifische Zeitintervall zu betragen.
  3. Das Verfahren gemäß Anspruch 1, bei dem der global eindeutige Identifizierer in einer URI-relativen Wegkomponente der GET-Anforderungen kommuniziert wird.
DE60031340T 1999-09-04 2000-08-25 Geschützter Zugang durch Netzwerk-Firewalls Expired - Fee Related DE60031340T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9920834.0A GB9920834D0 (en) 1999-09-04 1999-09-04 Providing secure access through network firewalls
GB9920834 1999-09-04

Publications (2)

Publication Number Publication Date
DE60031340D1 DE60031340D1 (de) 2006-11-30
DE60031340T2 true DE60031340T2 (de) 2007-08-30

Family

ID=10860285

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031340T Expired - Fee Related DE60031340T2 (de) 1999-09-04 2000-08-25 Geschützter Zugang durch Netzwerk-Firewalls

Country Status (4)

Country Link
US (1) US7359978B2 (de)
EP (1) EP1081918B1 (de)
DE (1) DE60031340T2 (de)
GB (1) GB9920834D0 (de)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317881B1 (en) * 1998-11-04 2001-11-13 Intel Corporation Method and apparatus for collecting and providing viewer feedback to a broadcast
GB2365256A (en) 2000-07-28 2002-02-13 Ridgeway Systems & Software Lt Audio-video telephony with port address translation
AU2001287214A1 (en) * 2000-09-06 2002-03-22 Vocaltec Communications Ltd. Asynchronous full-duplex request/response protocol
US6993588B2 (en) * 2001-03-26 2006-01-31 Sumisho Computer Systems Corporation System and methods for securely permitting mobile code to access resources over a network
US20030206192A1 (en) * 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US8650321B2 (en) 2001-07-24 2014-02-11 Digi International Inc. Network architecture
US7424550B2 (en) 2001-10-11 2008-09-09 Sumisho Computer Systems Corporation System and method for specifying access to resources in a mobile code system
US7640347B1 (en) * 2002-05-02 2009-12-29 F5 Networks, Inc. Method and system for inserting POST data into the GET request to apply normal caching rules
JP3654360B2 (ja) * 2002-12-02 2005-06-02 ソニー株式会社 制御システムおよび方法、情報処理装置および方法、情報処理端末および方法、記録媒体、並びにプログラム
FI20030104A0 (fi) 2003-01-23 2003-01-23 Stonesoft Oyj Ilkivaltaisten yhteyksien ilmaisu ja estäminen
CN100456766C (zh) * 2003-08-06 2009-01-28 华为技术有限公司 一种实现网络访问控制的方法
US7107357B2 (en) 2003-08-11 2006-09-12 Teamon Systems, Inc. Communications system providing shared client-server communications interface and related methods
US7107310B2 (en) * 2003-08-11 2006-09-12 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
NO318887B1 (no) 2003-09-05 2005-05-18 Paradial As Sanntidsproxyer
US7805523B2 (en) 2004-03-15 2010-09-28 Mitchell David C Method and apparatus for partial updating of client interfaces
JP4144882B2 (ja) * 2004-05-14 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体
US7543032B2 (en) 2004-10-22 2009-06-02 Canyonbridge, Inc. Method and apparatus for associating messages with data elements
US8131804B2 (en) 2004-11-19 2012-03-06 J Michael Greata Method and apparatus for immunizing data in computer systems from corruption
US8825804B2 (en) * 2005-01-26 2014-09-02 International Business Machines Corporation Method and system for avoiding an unintentional time-out for communications in a client-proxy-server environment
US7661131B1 (en) 2005-02-03 2010-02-09 Sun Microsystems, Inc. Authentication of tunneled connections
US7565526B1 (en) 2005-02-03 2009-07-21 Sun Microsystems, Inc. Three component secure tunnel
US9055088B2 (en) * 2005-03-15 2015-06-09 International Business Machines Corporation Managing a communication session with improved session establishment
GB2426417A (en) * 2005-05-16 2006-11-22 Onshare Ltd HTTP tunnelling
US8782772B2 (en) * 2007-09-28 2014-07-15 Microsoft Corporation Multi-session secure tunnel
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US8301781B1 (en) * 2007-10-30 2012-10-30 Google Inc. Methods and systems for browser file transfer
US8789159B2 (en) * 2008-02-11 2014-07-22 Microsoft Corporation System for running potentially malicious code
US20100192224A1 (en) * 2009-01-26 2010-07-29 International Business Machines Corporation Sandbox web navigation
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US9094435B2 (en) * 2009-12-23 2015-07-28 Citrix Systems, Inc. Systems and methods for prevention of JSON attacks
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US8661156B2 (en) * 2010-11-22 2014-02-25 International Business Machines Corporation Transport layer connection
US9531754B2 (en) * 2011-02-22 2016-12-27 Dome 9 Security Ltd. Methods, circuits, apparatus, systems and associated software applications for providing security on one or more servers, including virtual servers
WO2012158854A1 (en) 2011-05-16 2012-11-22 F5 Networks, Inc. A method for load balancing of requests' processing of diameter servers
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
US8924581B1 (en) * 2012-03-14 2014-12-30 Amazon Technologies, Inc. Managing data transfer using streaming protocols
US10097616B2 (en) 2012-04-27 2018-10-09 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9270621B1 (en) 2013-02-25 2016-02-23 Ca, Inc. Securely providing messages from the cloud
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019415A2 (en) 1995-11-07 1997-05-29 Cadis, Inc. Search engine for remote object oriented database management system
US5944823A (en) 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US6104716A (en) 1997-03-28 2000-08-15 International Business Machines Corporation Method and apparatus for lightweight secure communication tunneling over the internet
US6134584A (en) 1997-11-21 2000-10-17 International Business Machines Corporation Method for accessing and retrieving information from a source maintained by a network server

Also Published As

Publication number Publication date
DE60031340D1 (de) 2006-11-30
EP1081918A2 (de) 2001-03-07
EP1081918B1 (de) 2006-10-18
EP1081918A3 (de) 2003-12-17
GB9920834D0 (en) 1999-11-10
US20060168260A1 (en) 2006-07-27
US7359978B2 (en) 2008-04-15

Similar Documents

Publication Publication Date Title
DE60031340T2 (de) Geschützter Zugang durch Netzwerk-Firewalls
DE602004001716T2 (de) Verfahren und System zur Verbindung eines Fernbenutzers mit einer lokalen Rechnerumgebung über einen Intranet-Server
DE60130633T2 (de) Gesicherte Internet-Zwischenablage
DE60311684T2 (de) Kundenzugang zum internetdienst
DE60114220T2 (de) System und verfahren zur implementierung des verbesserten transportschicht-sicherheitsprotokolls
DE102007062985B4 (de) Verfahren und Einrichtung zur Kommunikation gemäß dem Standardprotokoll OPC UA in einem Client-Server-System
DE60218069T2 (de) Bereitstellung von gekoppelten diensten in einer verteilten rechnerumgebung
DE60133241T2 (de) Mehranwendung-sicherheitsrelais
DE60200451T2 (de) Herstellung einer gesicherten Verbindung mit einem privaten Unternehmensnetz über ein öffentliches Netz
DE10052945A1 (de) Agenten/Vollmacht-Verbindungssteuerung über eine Brandmauer
DE602005000362T2 (de) Verfahren und Vorrichtung zur Verwendung von Teilnehmersoftware für die Kommunikation mit im Netz residenten Diensten
DE69932283T2 (de) Rechner elektronische Post mit Fernsprechunterstützung
DE10054923A1 (de) Verfahren zum Auffangen von Netzwerkpaketen in einer Computervorrichtung
DE10116640A1 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
DE602004012295T2 (de) Fernverwaltung von ipsec-sicherheitsassoziationen
DE10352400A1 (de) Netzwerkdienst-Abfangvorrichtung
DE602005004255T2 (de) Bidirektionale SOAP-Kommunikation mittels einer einzigen HTTP-Sitzung
DE60218185T2 (de) Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk
WO2003036401A2 (de) Verfahren zum erfassen von mehreren feldgeräten in einer gerätekonfiguration
EP1298529A2 (de) Proxy-Einheit und Verfahren zum rechnergestützten Schützen eines Applikations-Server-Programms
DE60208155T2 (de) Erweiterung von Webseiten um neue Funktionalität für Web-basierte Dienste
DE102007026870A1 (de) Ressourcenzugriff unter Vermittlung durch ein Sicherheitsmodul
DE60021522T2 (de) Vefahren und vorrichtung zur erzeugung von daten für die rechnungsstellung an einen benutzer für den zugang über eine verbindung zu einem kommunikationsnetzwerk
DE10025929B4 (de) Verfahren zum Übertragen von Daten
DE10107883B4 (de) Verfahren zur Übertragung von Daten, Proxy-Server und Datenübertragungssystem

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, US

8328 Change in the person/name/address of the agent

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER & ZINKLER, 82049 PU

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee