DE19645006B4 - Process for communication between processes - Google Patents

Process for communication between processes Download PDF

Info

Publication number
DE19645006B4
DE19645006B4 DE19645006A DE19645006A DE19645006B4 DE 19645006 B4 DE19645006 B4 DE 19645006B4 DE 19645006 A DE19645006 A DE 19645006A DE 19645006 A DE19645006 A DE 19645006A DE 19645006 B4 DE19645006 B4 DE 19645006B4
Authority
DE
Germany
Prior art keywords
server
client
data
computer
processes
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
DE19645006A
Other languages
German (de)
Other versions
DE19645006A1 (en
Inventor
René Grosser
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.)
HISOLUTIONS AG, 12435 BERLIN, DE
Original Assignee
Hisolutions Engineering & Cons
Hisolutions Engineering & Consulting Langhoff Heinrich Kob & Partner
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 Hisolutions Engineering & Cons, Hisolutions Engineering & Consulting Langhoff Heinrich Kob & Partner filed Critical Hisolutions Engineering & Cons
Priority to DE19645006A priority Critical patent/DE19645006B4/en
Publication of DE19645006A1 publication Critical patent/DE19645006A1/en
Application granted granted Critical
Publication of DE19645006B4 publication Critical patent/DE19645006B4/en
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/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • 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/328Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the presentation layer [OSI layer 6]

Abstract

Verfahren zur Client-Server-Kommunikation zwischen einem auf einem ersten Rechner ablaufenden ersten Prozeß (Pc), der als Client fungiert und einem auf einem zweiten Rechner ablaufenden zweiten Prozeß (Ps), der als Server fungiert, gekennzeichnet durch folgende Schritte:
Aufbau einer ersten Client-Server-Verbindung zwischen dem ersten Prozess und einem auf dem ersten Rechner ablaufenden dritten Prozess, in der der dritte Prozess den Server darstellt;
Aufbau einer zweiten Client-Server-Verbindung zwischen dem dritten Prozess und einem auf dem zweiten Rechner ablaufenden vierten Prozess, in der der dritte Prozess den Client und der vierte Prozess den Server darstellen;
Aufbau einer dritten Client-Server-Verbindung zwischen dem vierten Prozess und dem zweiten Prozess, in der der vierte Prozess den Client und der zweite Prozess den Server darstellen, so dass der dritte und der vierte Prozess jeweils gegen über Ihren unterschiedlichen Kommunikationspartner als Server beziehungsweise als Client auftreten, wobei der Aufbau einer Client-Server-Verbindung jeweils umfasst:
Erzeugung eines...
Method for client-server communication between a first process (P c ) running on a first computer that functions as a client and a second process (P s ) running on a second computer that functions as a server, characterized by the following steps:
Establishing a first client-server connection between the first process and a third process running on the first computer, in which the third process represents the server;
Establishing a second client-server connection between the third process and a fourth process running on the second computer, in which the third process represents the client and the fourth process the server;
Establishment of a third client-server connection between the fourth process and the second process, in which the fourth process represents the client and the second process the server, so that the third and fourth processes each work against your different communication partner as a server or as Client occur, whereby the establishment of a client-server connection includes:
Generation of a ...

Figure 00000001
Figure 00000001

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Kommunikation zwischen Prozessen, die auf einem oder auf verschiedenen Rechnern ablaufen, sowie einen auf einem auf einem Rechner ablaufenden Prozeß zum Aufbau von Client-Server-Verbindungen.The present invention relates to a method of communication between processes that take place on a or run on different computers, as well as one on one Process running on a computer for establishing client-server connections.

Bei modernen Rechnersystemen ist es häufig der Fall, daß eine Kommunikation zwischen verschiedenen auf einem oder auf verschiedenen Rechner ablaufenden Prozessen erforderlich ist. Insbesondere ist dies immer dann der Fall, wenn ein Prozeß, der sogenannte Client, von einem anderen Prozeß, dem sogenannten Server, einen Dienst anfordert, den der Server dann erbringt. Bei den angeforderten bzw. zu erbringenden Diensten kann es sich dabei um unterschiedlichste Anwendungen, beispielsweise Textverarbeitung, kompliziertere Rechenanwendungen, die Vornahme von Druckjobs, die Verwaltung von Files (Fileserver) etc., handeln. In den meisten Fällen finden sich Client und Server auf verschiedenen Rechnern und die Verbindung zwischen beiden Rechnern wird über eine Kommunikationsleitung hergestellt. Es können jedoch auch beide auf demselben Rechner ablaufen.In modern computer systems it often the case that a Communication between different on one or on different Computer running processes is required. In particular, this is always the case when a process, the so-called client, of another process the so-called server, requests a service that the server then he brings. With the requested or to be provided services can it is a wide variety of applications, for example Word processing, more complicated computing applications, the making about print jobs, managing files (file servers) etc. In most cases the client and server can be found on different computers and the Connection between the two computers is via a communication line manufactured. It can however, both also run on the same computer.

Die wichtigsten Anwendungen, bei denen eine Kommunikation zwischen zwei Prozessen erforderlich wird, sind diejenigen, bei denen ein Client auf einem ersten Rechner von einem Server auf einem zweiten über eine Fernverbindung erreichbaren Rechner einen Dienst anfordert, wie beispielsweise beim World-Wide-Web WWW oder beim Online-Banking. Bei diesen Client-/Server-Anwendungen kann es erforderlich sein, daß die über die Fernverbindung übertragenen Daten verschlüsselt sind, z. B. um dem unauthorisierten Benutzer den Zugriff auf die Dienste des Servers verweigern zu können oder um zu verhindern, daß ein unauthorisierter Benutzer mittels der "abgehörten" Übertragungsdaten sich als authorisierter Benutzer ausgibt und einen Dienst anfordert. Nachfolgend werden kurz die Grundlagen der Kommunikation zwischen Prozessen erläutert, die häufig bei Client-Server-Anwendungen über eine Fernverbindung, beispielsweise eine Telefonleitung, erfolgt.The main applications in which require communication between two processes, are those where a client is on a first machine from one server on a second one Remote connection accessible computer requests a service such as for example on the World Wide Web WWW or online banking. With these client / server applications it may be necessary that the over the Remote connection transmitted Data encrypted are, e.g. B. to give the unauthorized user access to the To be able to refuse server services or to prevent the existence unauthorized user using the "intercepted" transmission data pretends to be an authorized user and requests a service. Below are brief basics of communication between Processes explained the often for client-server applications via a long-distance connection, for example a telephone line, takes place.

Das Herstellen einer Verbindung zwischen einem ersten Rechner und einem zweiten Rechner beziehungsweise zwischen zwei Prozessen über eine Datenfernverbindung geschieht mit Hilfe eines Übertragungsprotokolls, wie beispielsweise TCP/IP. Nachfolgend werden kurz die Grundlagen dieses Protokolls sowie die zum Aufbau einer Verbindung erforderlichen Schritte dargestellt. Als Beispiel wird dabei eine Verbindung über das Internet erläutert.Establishing a connection between a first computer and a second computer or between two processes across a remote data connection takes place with the help of a transmission protocol, such as TCP / IP. The basics are briefly described below this protocol as well as those required to establish a connection Steps shown. A connection via the Internet explained.

Jeder Rechner im Internet besitzt eine eindeutige Adresse (die Internetadresse). Diese Adresse kann als Quadrupel von Zahlen dargestellt werden (z.B. 130.149.1.1). Spezielle Dienste im Internet sorgen dafür, daß diese schlecht zu lesende Schreibweise auch als mit Punkten abgetrennte Namen dargestellt werden kann (z.B. www.versand.de). Die gewählten Namen sind völlig willkürlich und haben keinen Bezug zu speziellen, vom Internet bekannten Diensten (www).Every computer on the Internet owns a unique address (the Internet address). This address can be as Quadruples of numbers can be represented (e.g. 130.149.1.1). Specific Internet services ensure that this spelling that is difficult to read, even as separated by dots Names can be displayed (e.g. www.versand.de). The chosen names are totally arbitrarily and have no relation to special services known from the Internet (Www).

Auf diesen Rechnern können nun bestimmte Dienste zur Verfügung gestellt werden. Um diese unterscheiden zu können – denn die Internetadresse reicht dafür nicht aus – werden sogenannte Ports eingeführt. Ein Port ist eine Zahl im Bereich von 0 bis 65535. Um also einen Dienst nutzen zu können, benötigt man die Internetadresse des Rechners auf dem der Dienst läuft und dessen Port.You can now on these computers certain services available be put. To be able to distinguish them - because the Internet address is enough for that do not become so-called ports introduced. On Port is a number in the range from 0 to 65535. So it's a service to be able to use needed the Internet address of the computer on which the service is running and whose port.

Eine Einigung von Dienstnutzer und Dienstanbieter auf eine Internetadresse und einen Port ist dafür zwingend nötig, um den Dienst nutzen zu können.Agreement between service users and Service providers to an Internet address and a port is mandatory for this necessary, to be able to use the service.

Bestimmten Diensten im Internet wurden bereits feste Portnummern zugeordnet (z.B. WWW – Port 80, ftp – Port 21 ...). Um diese Standarddienste nutzen zu können, reicht bereits die Kenntnis der Internetadresse aus. Auch im Intranet-Bereich sind spezielle Ports für Dienste reserviert (z. B. SQL-Server – Port 3180, Lotus-Notes-Server – 1352).Certain services have been on the Internet already assigned port numbers (e.g. WWW port 80, ftp port 21 ...). Knowledge is already sufficient to be able to use these standard services the Internet address. There are also special ports for services in the intranet area reserved (e.g. SQL server - port 3180, Lotus Notes server - 1352).

Wird ein Dienst genutzt, so sind zwei sogenannte Sockets nötig, die beim Verbindungsaufbau in Beziehung treten. Ein Socket ist ein Kommunikationsendpunkt.If a service is used, two so-called sockets necessary, that relate when establishing a connection. A socket is a Communication endpoint.

Um einen Dienst auf einem Rechner anbieten zu können, muß man einen Socket erstellen und diesem einen Port zuweisen. Das kann zu einem Fehler führen, wenn der Port schon durch einen anderen Dienst auf diesem Rechner belegt ist.To a service on a computer To be able to offer, you have to create a socket and assign a port to it. That can lead to an error if the port is already through another service on this machine is occupied.

In der Client-Server-Welt stellt der Prozeß, der auf dem Rechner einen Dienst anbietet, einen Server dar. Ein Client nutzt den Dienst des Servers, indem er eine Netzwerkverbindung zum Socket des Servers aufbaut. Hierfür muß der Client zuvor auf seinem Rechner ebenfalls einen Socket erstellen und diesem einen beliebigen freien Port zuweisen. Beliebig deshalb, da der Port zwar der Unterscheidung von Diensten dient, aber vor allem die Möglichkeit gibt, Dienste überhaupt zu finden. Der Client jedoch bietet keinen Dienst an, demnach wird auch kein bestimmter Port verlangt, der Port kann dynamisch vergeben werden.In the client-server world the process, that offers a service on the computer represents a server Client uses the service of the server by establishing a network connection to the server socket. For this, the client must first on his Computer also create a socket and any one Assign free port. Arbitrary because the port is the distinction of services, but most of all gives the possibility of services at all to find. However, the client does not offer a service, so it will no specific port is required either, the port can be assigned dynamically become.

Folgende Aktionen werden ausgeführt, um eine Netzwerkverbindung auf- und abzubauen.The following actions are taken to a network connection up and down dismantle.

  • – Der Server wird gestartet. – Der Server-Prozeß kreiert einen Socket. – Der Server-Prozeß weist dem Socket die vereinbarte Portnummer zu. – Der Server-Prozeß „lauscht" am Socket und wartet auf Client-Dienstanforderungen.- The server is started. - The server process creates a socket. - The server process assigns the agreed port number to the socket. The server process "listens" to the socket and waits for client service requests.
  • – Der Client wird gestartet. – Der Client-Prozeß erzeugt einen Socket. – Der Client-Prozeß benutzt eine freie, beliebige Portnummer. – Der Client-Prozeß ermittelt die Internetadresse des Rechners, auf dem der Dienst angeboten wird. – Der Client-Prozeß ermittelt die Portnummer des Dienstes auf dem Serverrechner (evtl. fest definiert). – Der Client baut die Verbindung zum entfernten Server auf (connect). Dabei wird eine Kopie des Sockets des Servers erstellt, die mit dem Socket des Clients verbunden wird.- The Client is started. - The Client process created a socket. - The Client process used a free, arbitrary port number. - The client process determines the Internet address of the computer on which the service is offered. - The client process determines the port number of the service on the server computer (possibly defined). - The client establishes the connection to the remote server (connect). Doing so A copy of the server's socket is created, using the socket of the client is connected.
  • – Die Verbindung besteht. – Die Netzwerkverbindung ist durch das Quadrupel [Client-Internetadresse, Client-Port, Server-Internetadresse, Server-Port] eindeutig beschrieben. Mehrere Clients können eine Verbindung zum gleichen Dienst aufbauen ([Client-lnternetadresse2, Client-Port2, Server-Internetadresse, Server-Port]). – Daten können bidirektional ausgetauscht werden. – Die Verbindung wird vom Client oder vom Server beendet (nur die Socketkopie auf Serverseite wird geschlossen).- The Connection exists. - The Network connection is through the quadruple [client internet address, Client port, server internet address, server port] clearly described. Multiple clients can establish a connection to the same service ([client internet address 2, Client port2, server internet address, Server port]). - Data can can be exchanged bidirectionally. - The connection is made by the client or terminated by the server (only the socket copy on the server side is closed).
  • – Der Client-Prozeß wird beendet.- The Client process will completed.
  • – Weitere Client-Dienst-Anforderungen werden bearbeitet. – Die oben genannten Schritte können sich beliebig oft wiederholen.- Further Client service requests are being processed. - The one above mentioned steps can repeat themselves as often as you like.
  • – Der Server beendet seinen Dienst. – Der Socket wird geschlossen. – Der Prozeß wird beendet.- The Server stops working. - The socket is closed. - The process is ended.

Nach dem beschriebenen Protokoll erfolgt meistens der Aufbau von Verbindungen bei sogenannten Client-Server-Anwendungen, deren Grundlagen nachfolgend kurz beschrieben werden.According to the protocol described Most of the time, connections are established in so-called client-server applications, the basics of which are briefly described below.

Client-Server-Anwendungen sind bekanntlich in zwei Prozesse teilbar, wobei ein Prozeß – der Server – Dienste einem zweiten Prozeß – dem Client – zur Verfügung stellt. Da die Prozesse meist räumlich getrennt sind, wird hierfür eine Netzwerkverbindung zwischen Client und Server mit Hilfe eines gemeinsamen Netzwerkprotokolls aufgebaut. Die daraus entstehende Verbindung ist bidirektional, das heißt, Daten können in beiden Richtungen ausgetauscht werden. Der Client überträgt in der Regel eine Anfrage an den Server, der Server generiert eine Antwort und überträgt diese zurück an den Client. Ist die Dienstnutzung abgeschlossen, bauen Client oder Server die Verbindung ab, und der Server wartet auf weiter Client-Anfragen. Je nach Auslegung des Servers können mehrere Client-Anforderung parallel bzw. quasiparallel (Fileserver, Datenbanken) abgearbeitet werden.Client-server applications are known divisible into two processes, one process - the server services a second process - the client. Since the processes are mostly spatial are separated for this a network connection between client and server using a common network protocol. The resulting one Connection is bidirectional, which means that data can be exchanged in both directions become. The client transmits in the Usually a request to the server, the server generates an answer and transmits it back to the client. When service usage is complete, the client builds or server disconnects and the server waits for further Client requests. Depending on the design of the server, you can several client requests in parallel or quasi-parallel (file server, Databases) are processed.

Da die Dienstnutzung in der Regel nur zu bestimmten Zeitpunkten stattfindet, und hierbei keine Annahmen über den Zeitpunkt der Dienstnutzung machbar sind, ist der Server-Prozeß normalerweise ständig gestartet, um auf Client-Anforderungen reagieren zu können. Weiterhin sind dem Client Regeln bekannt, den Server lokalisieren zu können. Hierfür existieren für verschiedene Netzwerkprotokolle verschiedene Ansätze. Welcher Ansatz auch immer Verwendung findet, kann durch die eigentliche Client-Server-Anwendung als gegeben vorausgesetzt werden.Because the service usage usually only takes place at certain times and no assumptions about the When service usage is feasible, the server process is usually constantly started to respond to client requests to be able to react. The client also knows rules that localize the server to be able to. Therefor exist for different network protocols different approaches. Whichever approach Can be used by the actual client-server application can be assumed as given.

Eine wichtige Grundlage für die Systematisierung bzw. Einordnung der Funktionen und Funktionalitäten von Netzwerkanwendungen bietet das sogenannte OSI-Schichtenmodell.An important basis for systematization or classification of the functions and functionalities of network applications offers the so-called OSI layer model.

Die Komponenten einer Netzwerkanwendung (Client-Server-Anwendung) lassen sich in das OSI-Schichtenmodell einordnen. Dieses abstrahiert von konkreten Protokollen und bietet eine einheitliche Basis für die Funktionsbeschreibung dieser Komponenten. In diesem Modell werden sieben verschiedene Schichten spezifiziert, die jeweils einen unterschiedlichen Abstraktionsgrad bei der Sicht auf die Daten darstellen. Dabei nutzen höhere Schichten Dienste niedrigerer Schichten.The components of a network application (Client-server application) can be in the OSI layer model classify. This abstracts from concrete protocols and offers a uniform basis for the functional description of these components. Be in this model specified seven different layers, each a different one Show level of abstraction when viewing the data. Use it higher Layers of services of lower layers.

Wenn von Client-Server-Anwendungen die Rede ist, und diese über ein Netzwerk kommunizieren, so werden bei der Kommunikation alle sieben Ebenen durchlaufen. 1 zeigt einen solchen Prozeß beispielhaft in schematischer Darstellung. Werden beide Anwendungen auf einem Rechner gestartet, können die unteren 3 Schichten bei der Kommunikation entfallen.When client-server applications are mentioned and they communicate via a network, all seven levels are traversed during the communication. 1 shows such a process as an example in a schematic representation. If both applications are started on one computer, the lower 3 layers of communication can be omitted.

Werden hingegen Client-Server-Anwendungen über große Netze . verwendet, so werden intermediäre Prozesse oder Systemdienste benötigt, die Protokollanpassungen oder Adressumsetzungsaufgaben erfüllen. Diese sind in niederen OSI-Schichten angesiedelt und in 2 beispielhaft anhand eines in das OSI-Schichtenmodells eingeordneten Routers und eines Modems dargestellt.In contrast, become client-server applications over large networks. intermediate processes or system services are required that perform protocol adaptations or address conversion tasks. These are located in the lower OSI layers and in 2 shown by way of example using a router and a modem arranged in the OSI layer model.

Wird eine Client-Server-Anwendung beispielsweise über das Internet benutzt, so sind hier mehrere Prozesse an der Kommunikation beteiligt. Einerseits werden Router eingesetzt, um verschiedene Netzwerke miteinander zu verbinden. Andererseits dienen (nicht dargestellte) Firewalls dem Schutz vor unbefugten Eindringlingen. Im OSI-Schichtenmodell sind diese Prozesse in den unteren Ebenen angesiedelt. Ein Router benötigt lediglich die Netzwerkadresse, um Daten weiterleiten zu können.Becomes a client-server application for example about uses the internet, so here are several processes on communication involved. On the one hand, routers are used to get different Connect networks. On the other hand, serve (not shown) Firewalls protecting against unauthorized intruders. In the OSI layer model these processes are located on the lower levels. A router needed only the network address to be able to forward data.

Auch Modems modifizieren die übertragenen Daten. Dies geschieht in den Schichten 1 und 2 des OSI-Modells, wie aus 2 zu ersehen ist.Modems also modify the transmitted data. This happens in the layers 1 and 2 of the OSI model, like from 2 can be seen.

Ein obenerwähnter sogenannter Firewall ist ein Paketfilter. Er analysiert Datenpakete und weist bestimmte Pakete gegebenenfalls ab. Einfache Firewallsysteme unterscheiden hier ebenfalls nur nach den Rechneradressen. Eine Authentifizierung auf Benutzerebene ist hierbei nicht möglich. Kompliziertere Systeme mit Unterstützung auf Sitzungsebene sind ebenfalls bekannt. Hierbei wird eine getrennte Netzwerkverbindung zum Firewall-Rechner aufgebaut. Der Benutzer authentifiziert sich und schaltet damit den eigentlichen Dienst frei, was jedoch wiederum in tieferen Protokollschichten erfolgt. Diese spezialisierten Firewallsysteme sind jedoch auf die Modifikation der Client-Server Software angewiesen, um die speziellen Anmeldeverfahren durchzuführen.A so-called firewall mentioned above is a packet filter. It analyzes data packets and assigns certain ones Packages from if necessary. Differentiate between simple firewall systems here also only after the computer addresses. An authentication at user level is not possible. More complicated systems with support at session level are also known. This is a separate one Network connection to the firewall computer established. The user authenticates itself and thus unlocks the actual service, which, however, takes place in the lower protocol layers. This specialized firewall systems are however on the modification the client-server software instructed the special registration process perform.

Firewalls verhindern den Eingriff von außen auf der Systemebene. Zu ihrer Installation sind daher Systemadministrationsrechte ertorderlich. Firewalls sind jedoch nicht in der Lage, auf der Anwendungsebene einen unbefugten Zugriff zu verhindern.Firewalls prevent the intrusion from the outside at the system level. System administration rights are therefore required for their installation ertorderlich. However, firewalls are unable to work at the application level to prevent unauthorized access.

Zum Zwecke der Datensicherheit kann nun eine Verschlüsselung von zwischen Prozessen oder Rechnern auszutauschenden Daten wünschenswert oder sogar erforderlich sein.For data security purposes now encryption of data to be exchanged between processes or computers is desirable or even be required.

Die zur sicheren Kommunikation erforderliche Verschlüsselung kann nach dem Stand der Technik im wesentlichen auf zweierlei Weise geschehen, nämlich mittels einer Hardwarelösung oder mittels einer Softwarelösung. Im ersten Fall wird beispielsweise eine spezielle Hardware mit Tastatur und Rechner verbunden und verschlüsselt so die Daten direkt bei der Eingabe. Dadurch ist die Gefahr der Ausspionierung der Tastatureingaben durch einen auf den Rechner eingeschleusten Virus ausgeschaltet. Der entscheidende Nachteil besteht jedoch darin, abgesehen von den im Vergleich zu Software höheren Produktionskosten, daß dieses Verfahren eine geringe Flexibilität aufweist. Eine Anwendung muß speziell an diese Hardwarelösung angepaßt werden, so daß eine Nutzung bereits bestehender Applikationen entweder ausgeschlossen oder nur mit hohen Anpassungskosten möglich ist. In diese Hardwarelösung sind z.B. auch die sogenannten Chipkarten-Lösungen einzuordnen, bei denen die Anwendung speziell auf die Hardware der verwendeten Chipkarte zugeschnitten sein muß.The one required for secure communication encoding can, according to the prior art, essentially in two ways happen, namely using a hardware solution or by means of a software solution. In the first case, for example, special hardware with a keyboard connected to the computer and thus encrypts the data directly the input. This creates the risk of spying on the keystrokes switched off by a virus infiltrated into the computer. The key disadvantage, however, is aside from the compared to higher software Production costs that this process is a low flexibility having. An application must be special to this hardware solution be adjusted, so that one Use of existing applications is either excluded or is only possible with high adaptation costs. In this hardware solution are e.g. also the so-called chip card solutions classify, in which the application specifically to the hardware of the used chip card must be tailored.

Auf der Softwareseite gibt es im wesentlichen drei verschiedene Lösungen. Die sogenannten Stand-alone-Verschlüsselungsprogramme sind Programme, mit denen bestimmte Dateien im Dialog verschlüsselt werden können. Damit ist ein hoher Bedieneraufwand und eine mangelhafte Bedienbarkeit verbunden. Sogenannte Plug-Ins sind Verschlüsselungslösungen, die als Erweiterung zu bestimmten Browsern entwickelt wurden, und sie sind stets an das Wirtsprodukt gebunden. Manche Softwareprodukte sind mit anwendungsimmanenten Verschlüsselungsfunktionen verbunden. Diese sind jedoch auch jeweils auf das bestimmte Produkt zugeschnitten und nicht anwendungsunabhängig verwendbar.On the software side there is in the essentially three different solutions. The so-called stand-alone encryption programs are programs with which certain files can be encrypted in dialog. In order to is a high operator effort and poor usability connected. So-called plug-ins are encryption solutions that act as extensions have been developed for certain browsers and they are always on the host product bound. Some software products have inherent applications encryption connected. However, these are also related to the particular product tailored and not usable for any application.

EP 0 709 994 A2 beschreibt das Kommunikationsmanagement zwischen Client- und Serverprozessen. Im Falle einer Fernaufrufprozedur (RPC), die von einem Client, der auf einem Host lokalisiert ist, ausgeht, wird zunächst überprüft, ob der Serverprozeß auf dem Host angeordnet ist. Ist dies der Fall, so wird anstelle der Ausbildung eines Pfades durch die Transport- und Netzwerkschichten des physikalischen Netzwerks eine Interprozeßkommunikation zwischen dem Clientund dem Serverprozeß eingerichtet. Damit kann das Durchlaufen der tieferen Schichten des OSI-Schichtenmodells vermieden werden. EP 0 709 994 A2 describes the communication management between client and server processes. In the case of a remote call procedure (RPC), which starts from a client that is located on a host, it is first checked whether the server process is arranged on the host. If this is the case, instead of forming a path through the transport and network layers of the physical network, an interprocess communication between the client and the server process is established. This avoids running through the deeper layers of the OSI layer model.

Es ist eine Aufgabe der vorliegenden Erfindung, ein Verschlüsselungskonzept zwischen einem Client und einem Server bereitzustellen, die auf unterschiedlichen Rechnern ablaufen, wobei vermieden werden kann, daß sich die Verschlüsselung in den tieferen Schichten des OSI-Schichtenmodells abspielt, um zu vermeiden, daß ein Eingriff in das Betriebssystem erforderlich wird, um die Verschlüsselung zu implementieren.It is a task of the present Invention, an encryption concept deploy between a client and a server that is based on run different computers, whereby it can be avoided that itself encryption in the deeper layers of the OSI layer model to avoid a Intervention in the operating system is required to complete the encryption to implement.

Die Aufgabe der Erfindung wird im wesentlichen gelöst durch die Merkmale der unabhängigen Patentansprüche. Die abhängigen Ansprüche beschreiben spezielle Ausführungsformen der Erfindung.The object of the invention is in essentially solved by the characteristics of the independent Claims. The dependent Expectations describe specific embodiments the invention.

Gemäß einem Ausführungsbeispiel umfaßt Erfindung das Vorsehen mindestens eines Zwischenprozesses, der vorzugsweise auf der Anwendungs- oder der Präsentationsebene des OSI-Schichtenmodells abläuft, und der die zwischen zwei Prozessen zu übertragenden Daten weiterleitet und gegebenenfalls modifiziert oder protokolliert, ohne daß irgendeine Änderung der beiden Prozesse oder des Systems selbst, auf dem sie ablaufen, erforderlich ist. Dies wird dadurch erreicht, daß der oder die Zwischenprozesse gegenüber einem Prozeß als Server und gegenüber einem anderen Prozeß als Client auftreten können. Der Zwischenprozeß kann dadurch wie ein Server auf die Anforderung eines Clients reagieren, er kann dann diese Anforderung bzw. die diese repräsentierenden Daten gegebenenfalls modifizieren, und er kann dann als Client gegenüber dem eigentlichen Server auftreten, von dem der Client einen Dienst anfordert. Der Zwischenprozeß stellt also eine Kommunikationsbrücke zwischen einem Client und einem Server dar, die es ermöglicht, die zu übertragenden Daten jeweils zu modifizieren oder zu protokollieren.According to one embodiment comprises Invention the provision of at least one intermediate process, which is preferred at the application or presentation level of the OSI layer model expires, and forwards the data to be transferred between two processes and modified or logged as necessary without making any change of the two processes or the system itself on which they run, is required. This is achieved in that the intermediate process or processes across from a process as Server and opposite a process other than Client can occur. The intermediate process can by responding like a server to a client’s request he can then meet this requirement or represent it Modify data if necessary, and he can then act as a client to the actual server from which the client requests a service. The intermediate process poses a communication bridge between a client and a server that enables the ones to be transferred Modify or log data in each case.

Gegenüber dem eigentlichen Client, der einen Dienst anfordert, tritt der Zwischenprozeß also als Server auf, gegenüber dem eigentlichen Server, für den die Dienstanforderung der eigentlichen Clients bestimmt ist, tritt der Zwischenprozeß als Client auf. Der Zwischenprozeß überträgt bzw. übermittelt dabei die zur Dienstanforderung zu übertragenden Daten von dem eigentlichen Client an den eigentlichen Server, wobei er diese Daten ggf. modifizieren und/oder protokollieren kann. Der Zwischenprozeß kann dabei so konfiguriert sein, daß sowohl der eigentliche Client als auch der eigentliche Server nichts vom Vorhandensein des Zwischenprozesses bemerken. Damit kann der Zwischenprozeß in einfacher Weise in bestehende Client-Server-Anwendungsumgebungen integriert bzw. implementiert werden, ohne daß eine Änderung oder Modifikation an den eigentlichen Client-Server-Applikationen vorgenommen werden muß.In contrast to the actual client requesting a service, the intermediate process acts as a server ver, compared to the actual server for which the service request of the actual clients is intended, the intermediate process occurs as a client. The intermediate process transmits or transmits the data to be transmitted for the service request from the actual client to the actual server, it being able to modify and / or log this data if necessary. The intermediate process can be configured so that both the actual client and the actual server do not notice anything about the existence of the intermediate process. The intermediate process can thus be integrated or implemented in a simple manner in existing client-server application environments without having to make any changes or modifications to the actual client-server applications.

Indem es sich bei dem Zwischenprozeß um einen auf der Anwendungs- oder Präsentationsebene des OSI-Schichtenmodells ablaufenden Prozeß handelt, sind für seine Implementation bzw Integration in ein bestehendes System keine Systemadministrationsrechte erforderlich. Auch sind keine weiteren Modifikationen in den niederen Schichten des OSI-Schichtenmodells unterhalb der Präsentationsebene erforderlich. Aufgrund seiner Zwitterfunktion ermöglicht der Zwischenprozeß so die Durchführung von Client-Server-Applikationen bei gleichzeitiger Modifikation und/oder Protokollierung der zwischen Client und Server ausgetauschten Daten. Die Brückenfunktion des Zwischenprozesses ist dabei bidirektional, d.h. auch die vom Server an den Client zu übertragenden Daten können von dem Zwischenprozeß ggf, modifiziert und/oder protokolliert werden.By being the intermediate process one on the application or presentation layer of the process running in the OSI layer model are for his No system administration rights for implementation or integration into an existing system required. Also, there are no further modifications in the lower Layers of the OSI layer model below the presentation level required. Due to its hermaphrodite function, the Intermediate process like this the implementation client-server applications with simultaneous modification and / or logging of the exchanged between client and server Data. The bridge function the intermediate process is bidirectional, i.e. also from Server to be transferred to the client Data can from the intermediate process if necessary, modified and / or logged.

Gemäß einem Ausführungsbeispiel sind zwei solche Zwischenprozesse vorgesehen, einer auf der Seite des Servers und einer auf der Seite des Clients. In diesem Fall kann der clientseitige Zwischenprozeß eine Modifikation der zu übertragenden Daten vornehmen und der serverseitige Prozeß eine entsprechende Rückmodifikation. Die von den Zwischenprozessen ausgetauschten Daten können nun von diesen verschlüsselt und wieder entschlüsselt werden, ohne daß ein Eingriff in die unteren OSI-Schichten oder auf der Systemebene erforderlich ist, da ja beide Prozesse Anwendungsprozesse sind, die auf gewöhnliche kommerziell erhältliche Client-Server-Anwendungen als Client bzw. Server reagieren und eine Verschlüsselung/Entschlüsselung vornehmen können.According to one embodiment two such intermediate processes are envisaged, one on the side of the server and one on the client side. In this case the client-side intermediate process can modify the data to be transferred Make data and the server-side process a corresponding back modification. The data exchanged by the intermediate processes can now encrypted by these and decrypted again be without a Intervention in the lower OSI layers or at the system level is required is, since both processes are application processes that are based on ordinary ones commercially available Client-server applications react as a client or server and one Encryption / decryption can make.

Besonders vorteilhaft ist es dabei, wenn der clientseitige Zwischenprozeß zusätzlich zur Verschlüsselung der zu übertragenen Daten auch noch nutzer- oder anwendungsspezifische Daten, vorzugsweise ebenfalls verschlüsselt, an den Server bzw. den serverseitigen Zwischenprozeß überträgt. Dies ermöglicht dann eine Authentifizierung des Benutzers bzw. des Clients selbst durch Server, bei denen dies eigentlich nicht vorgesehen ist. Dadurch z. B. kann die Zugriffssicherheit auf Anwendungen erhöht werden.It is particularly advantageous if the client-side intermediate process in addition to encryption the one to be transferred Data also user or application-specific data, preferably also encrypted, transfers to the server or the server-side intermediate process. This allows then authentication of the user or the client itself by servers where this is not actually intended. Thereby z. For example, access security to applications can be increased.

Nachfolgend wird die vorliegende Erfindung anhand spezieller Ausführungsbeispiele und unter Bezugnahme auf beiliegende Zeichnungen im Detail beschrieben. Es zeigen:Below is the present Invention based on specific embodiments and described in detail with reference to the accompanying drawings. Show it:

1 eine Client-Server-Anwendung im OSI-Schichtenmodell, 1 a client-server application in the OSI layer model,

2 eine Client-Server-Anwendung mit Router und Modem im OSI-Schichtenmodell, 2 a client-server application with router and modem in the OSI layer model,

3 eine Client-Server-Verbindung mit einem erfindungsgemäßen Zwischenprozeß im OSI-Schichtenmodell, 3 a client-server connection with an intermediate process according to the invention in the OSI layer model,

4 einen Client und einen Server mit einem erfindungsgemäßen Zwischenprozeß, wobei alle drei Prozesse auf verschiedenen Rechnern ablaufen, 4 a client and a server with an intermediate process according to the invention, all three processes running on different computers,

5 einen Client und einen Server mit einem erfindungsgemäßen Zwischenprozeß, wobei Server und Zwischenprozeß auf einem anderen Rechner ablaufen als der Client, 5 a client and a server with an intermediate process according to the invention, the server and intermediate process running on a different computer than the client,

6 den Datenfluß zwischen einem Client, einem Server und einem Zwischenprozeß, 6 the data flow between a client, a server and an intermediate process,

7 die schematische Aufspaltung der Verbindung unter Verwendung zweier Zwischenprozesse und einer Fernverbindug, 7 the schematic splitting of the connection using two intermediate processes and a remote connection,

8 eine Client-Server-Verbindung mit zwei erfindungsgemäßen Zwischenprozessen im OSI-Schichtenmodell, 8th a client-server connection with two intermediate processes according to the invention in the OSI layer model,

9 den Datenfluß über zwei Zwischenprozesse, die jeweils auf dem gleichen Rechner ablaufen wie der Server bzw. der Client, 9 the data flow via two intermediate processes, each running on the same computer as the server or the client,

10 das Ablaufschema für die erfindungsgemäßen Zwischenprozesse, 10 the flow diagram for the intermediate processes according to the invention,

11 das Schema für den Verbindungsaufbau im erfindungsgemäßen clientseitigen Zwischenprozeß, 11 the scheme for establishing a connection in the client-side intermediate process according to the invention,

12 das Schema für den Verbindungsaufbau im erfindungsgemäßen serverseitigen Zwischenprozeß, 12 the scheme for establishing a connection in the server-side intermediate process according to the invention,

13 die gleichzeitige Dienstnutzung zweier Clients, 13 the simultaneous use of services by two clients,

14 die gleichzeitige Dienstnutzung zweier Clients mit erfindungsgemäßen Zwischenprozessen, 14 the simultaneous use of services by two clients with intermediate processes according to the invention,

15 das Anfügen eines Parameters bei Anwendung der Erfindung. 15 adding a parameter when applying the invention.

Im ersten Ausführungsbeispiel erfolgt die Durchführung einer Client-Server-Anwendung wie in 3 gezeigt mittels eines Zwischenprozesses Pm. Wie aus 3 zu ersehen ist, werden alle Schichten des OSI-Modells auch vom Zwischenprozeß Pm durchlaufen, da dieser auf der Anwendungsebene abläuft, ebenso wie der eigentliche Client Pc und der eigentliche Server Ps. Der Client-Prozeß Pc fordert vom Server Ps die Erbringung eines Dienstes. Auf diese Anforderung reagiert nun der Zwischenprozeß Pm, der folgende Eigenschaften besitzt:

  • – Pm ist ein Anwendungsprozeß
  • – Pm ist in der Lage, als Client gegenüber einem gegebenen Server Ps auftreten zu können (er ist Client bezüglich Ps) und kann damit dessen Dienste nutzen.
  • – Pm ist in der Lage, Clientverbindungen (z.B. von Pc) zu akzeptieren, erbringt jedoch selbst keine Dienste, oder besser gesagt, er erbringt nicht den Dienst, den der Client Pc von dem Serverprozeß Ps anfordert
  • – Die Erbringung des Dienstes erfolgt durch die Dienstnutzung am Server-Prozeß, das heißt, die Client-Anforderung wird lediglich zwischengespeichert, eine Verbindung zum eigentlichen Server aufgebaut, die Anfrage an den Server-Prozeß geschickt und die erhaltene Antwort an den Client Pc weitergeleitet.
In the first exemplary embodiment, a client-server application is carried out as in 3 shown by means of an intermediate process P m . How out 3 can be seen, all layers of the OSI model are also run through by the intermediate process P m , since this runs at the application level, as well like the actual client P c and the actual server P s . The client process P c requests the server P s to provide a service. The intermediate process P m , which has the following properties, now responds to this requirement:
  • - P m is an application process
  • - P m is able to act as a client in relation to a given server P s (it is a client with regard to P s ) and can therefore use its services.
  • - P m is able to accept client connections (eg from P c ), but does not itself provide any services, or rather, does not provide the service that the client P c requests from the server process P s
  • - The service is provided through the use of the service on the server process, that is, the client request is only temporarily stored, a connection is established to the actual server, the request is sent to the server process and the response received is forwarded to the client P c ,

Diese Zwittereigenschaft führt zur Transparenz gegenüber Prozeß Ps und Pc1, da exakt die gleichen Protokolle für den Verbindungsauf- und abbau bzw. für die Kommunikation verwendet werden. Es wird im Prozeß Pm eine Art Datenbrücke zwischen Ps und Pc geschlagen. Im vorliegenden Beispiel von 3 laufen die Prozesse Pc und Pm auf demselben Rechner ab, der Prozeß Ps auf einem anderen Rechner. Laufen alle drei Prozesse auf den gleichen Rechnern ab, wird lediglich eine lokale Verbindung zwischen den Prozessen nötig (keine tieferen Netzwerkschichten werden benötigt).This hermaphrodite property leads to transparency compared to process P s and P c1 , since exactly the same protocols are used for establishing and clearing the connection or for communication. A kind of data bridge between P s and P c is created in the process P m . In the present example from 3 the processes P c and P m run on the same computer, the process P s on a different computer. If all three processes run on the same computers, only a local connection between the processes is necessary (no deeper network layers are required).

Das konkrete Koppeln der Prozesse ist hierbei nebensächlich (bis auf Geschwindigkeitsaspekte) und ist entsprechend vielfältig, wie die Möglichkeiten der ursprünglichen Netzwerkverbindung zwischen Client und Server. Es versteht sich, daß der Zwischenprozeß und auch der Client so konfiguriert sein müssen, daß z. B. der Client den Zwischenprozeß auch findet und seine eigentlich an den Server Pc abzusendende Dienstanforderung an den Zwischenprozeß sendet. Dies geschieht jedoch mittels herkömmlicher Konfigurationsverfahren, wie sie auch zur Konfiguration von Client und Server ohne Zwischenprozeß verwendet werden, und kann hier als bekannt vorausgesetzt werden.The specific coupling of the processes is irrelevant (except for speed aspects) and is as diverse as the possibilities of the original network connection between client and server. It is understood that the intermediate process and also the client must be configured so that, for. B. the client also finds the intermediate process and sends its service request to be sent to the server P c to the intermediate process. However, this is done using conventional configuration methods, such as those used to configure the client and server without an intermediate process, and can be assumed to be known here.

Der intermediäre Prozeß Pm ist auf der gleichen Protokollebene angesiedelt, wie die Prozesse Ps und Pc der Anwendung selbst, wie aus 3 zu ersehen ist. Er ist damit ebenfalls eine Anwendung und erfordert keinen Eingriff in Systemschichten, auf die der Anwender normalerweise keinen Zugriff hat. Soll die hier beschriebene Erfindung für eine bestehende Anwendung eingesetzt werden, so müssen lediglich die „Kommunikationsrümpfe" der Originalsoftware implementiert werden, um den Verbindungsaufbau zu ermöglichen. Weder ist eine Implementation der zu erbringenden Dienste noch ein Eingriff in tiefere Systemschichten durch Treibersoftware oder ähnliches nötig.The intermediate process P m is located at the same protocol level as the processes P s and P c of the application itself, as from 3 can be seen. It is therefore also an application and does not require any intervention in system layers to which the user normally does not have access. If the invention described here is to be used for an existing application, then only the “communication hulls” of the original software have to be implemented in order to enable the connection to be established. Neither an implementation of the services to be provided nor an intervention in deeper system layers by driver software or the like is necessary.

4 zeigt nun noch einmal schematisch die drei Prozesse, die dabei gemäß 4 auf verschiedenen Rechnern ablaufen. Im Grundzustand laufen nun die Prozesse Pc und Ps. Ps ist wie gewöhnlich konfiguriert und lauscht an dem zuvor festgelegten, allgemein bekannten Port PSI, um seinen Dienst anzubieten. Der Prozeß Pm ist nun so konfiguriert, daß er ebenfalls einen Socket erstellt und an diesem lauscht. Die benutzte Portnummer PMI wird so vergeben, daß ein möglicher Client diesen Port auch findet. 4 shows again schematically the three processes, which according to 4 run on different computers. In the basic state, the processes P c and P s are now running. P s is configured as usual and listens on the previously defined, well-known port P SI to offer its service. The process P m is now configured so that it also creates and listens to a socket. The port number P MI used is assigned so that a potential client can also find this port.

Bei dem Aufbau gemäß 4 ist es möglich, die gleiche Portnummer PSI zu benutzen, da alle drei Prozesse auf verschiedenen Rechnern ablaufen. Bei dem Aufbau gemäß 5 ist dies jedoch nicht möglich, da Pm und Ps auf dem selben Rechner ablaufen und jeder Port (zum Lauschen) nur einmal vergeben werden kann.When building according to 4 it is possible to use the same port number P SI , since all three processes run on different computers. When building according to 5 however, this is not possible because P m and P s run on the same computer and each port (for listening) can only be assigned once.

Die Pc-, Ps- und Pm-Prozesse müssen also nicht auf verschiedenen Rechnern gestartet werden. Ein Client kann ebenso den Server-Dienst auf dem gleichen Rechner nutzen, wie dies in 5 für Pm und Ps dargestellt ist..The P c , P s and P m processes do not have to be started on different computers. A client can also use the server service on the same computer as in 5 for P m and P s is shown ..

Der Datenfluß zwischen den Prozessen ist nun in 6 dargestellt. Der Client Pc wird nun derart konfiguriert, daß er den Dienst auf dem Rechner des Prozesses Pm mit dem Port PMI nutzt. Bei einer eintreffenden Verbindung (von Port PCO) erzeugt der Prozeß Pm nun einen neuen Socket und weist ihm einen freien Port PMO zu. Damit baut er nun eine Netzwerkverbindung zum Prozeß Ps mit dem Port PSI auf. Alle Daten, die vom Prozeß Pc eigentlich an den Server Ps geschickt werden, gelangen nun zum Prozeß Pm. Dieser protokolliert die Daten und schickt sie unverändert an Prozeß Ps (Port PSI). Analog werden die Daten in der Gegenrichtung (von Port PSI zu PMO) durch Prozeß Pm protokolliert und über Port PMI an Port PCO weitergeschickt. Keiner der Prozesse Pc und Ps bemerkt die Protokollierung. Für den Prozeß Pc ist Prozeß Pm der Server und für Prozeß Ps ist Prozeß Pm der Client. Allerdings besteht die Server- bzw. Client-Eingenschaft des Zwischenprozesses nicht in dem Erbringen eines angeforderten Dienstes bzw. dem Anfordern eines Dienstes, sondern lediglich in einer Brückeneigenschaft, d. h. der Übrtragung, ggf. Protokollierung, Modifikation, oder ahnliches, der zwischen dem eigentlichen Client und dem eigentlichen Server zu übertragenden Daten. Die Client- und Server-Eigenschaft besteht also im wesentlichen aus der Fähigkeit, in entsprechender Weise eine Verbindung mit einem anderen Prozeß aufzubauen, dem anderen Prozeß also einen Client bzw. Server durch entsprechende Portnummernvergabe, Socket-Erstellung, kurz, durch Erfüllen der entsprechenden Regeln für den Verbindungsaufbau, "vorzutäuschen", der dann allerdings lediglich als Brücke zu einem anderen Prozeß dient. Der Zwischenprozeß kann zwar so konfiguriert sein, daß er einen Dienst erbringt, dieser besteht dann jedoch zweckmäßigerweise in einer Modifikation oder Protokollierung der zu übertragenden Daten und dem Aufrechterhalten der Verbindung als Mittler zwischen Client und Server.The data flow between the processes is now in 6 shown. The client P c is now configured such that it uses the service on the computer of the process P m with the port P MI . In the case of an incoming connection (from port P CO ), the process P m now creates a new socket and assigns it a free port P MO . He now sets up a network connection to the process P s with the port P SI . All data that are actually sent from the process P c to the server P s now go to the process P m . This logs the data and sends it unchanged to process P s (port P SI ). Similarly, the data in the opposite direction (from port P SI to P MO ) is logged by process P m and forwarded to port P CO via port P MI . None of the processes P c and P s notice the logging. For process P c , process P m is the server and for process P s process P m is the client. However, the server or client property of the intermediate process does not consist in the provision of a requested service or the request for a service, but only in a bridge property, i.e. the transfer, possibly logging, modification, or the like, between the actual client and the actual server data to be transferred. The client and server property essentially consists of the ability to set up a connection with another process in a corresponding manner, ie the other process, ie a client or server, by corresponding port number assignment, socket creation, in short, by fulfilling the corresponding rules for the connection establishment, "pretend", which then only serves as a bridge to another process. The intermediate process can be configured in such a way that it provides a service, but this then expediently consists in modifying or logging the data to be transmitted and maintaining the connection as an intermediary between client and server.

In einem weiteren Ausführungsbeispiel werden nun zwei zusätzliche Prozesse Pm und Pm' eingeführt. 7 zeigt schematisch die Kommunikation eines SQL-Servers Ps mit einem Client Pc über die Zwischenprozesse Pm, Pm'. Es gibt also in diesem Ausführungsbeispiel einen Zwischenprozeß auf der Serverseite und einen auf der Clientseite. Dadurch werden neue Möglichkeiten der Verwendung der Zwischenprozesse eröffnet, etwa zum Zwecke der Verschlüsselung. Mit Hilfe der Modifikation der übertragenen Dienstanforderung von Pc in Pm derart, daß durch Verschlüsselungsverfahren die Möglichkeit eines unberechtigten Zugriffs auf die übertragenen Daten zwischen Prozeß Pm und Pm' ausgeschlossen wird, bzw. mit Authentifizierungsalgorithmen die Identität der beiden Kommunikationspartner (Pm und Pm') sichergestellt wird, und der anschließenden Zurückgewinnung der ursprünglichen Daten in Prozeß Pm' und Weiterleitung an Prozeß Ps1, können vorhandene Client-Server Anwendungen sicher über unsichere Übertragungskanäle, wie etwa hier über eine Telefonverbindung, benutzt werden. Analog wird die Antwort des Servers Ps in Pm' derart modifiziert, daß im Prozeß Pm die Entschlüsselung und Authentifizierung erfolgen kann und die Daten wieder unverschlüsselt an den dienstanfordernden Client übergeben werden können.In a further exemplary embodiment, two additional processes P m and P m ' are now introduced. 7 shows schematically the communication of an SQL server P s with a client P c via the intermediate processes P m , P m ' . In this exemplary embodiment there is therefore an intermediate process on the server side and one on the client side. This opens up new possibilities for using the intermediate processes, for example for the purpose of encryption. With the modification of the transmitted service request from P c to P m in such a way that the possibility of unauthorized access to the transmitted data between process P m and P m 'is excluded by encryption methods, or the identity of the two communication partners (P m and P m ' ) is ensured, and the subsequent recovery of the original data in process P m' and forwarding to process P s1 , existing client-server applications can be used safely over insecure transmission channels, such as here via a telephone connection. Analogously, the response of the server P s in P m 'is modified in such a way that decryption and authentication can take place in the process P m and the data can again be passed unencrypted to the client requesting the service.

Somit können auch nachträglich vorhandene Anwendungen gesichert werden, ohne diese anpassen zu müssen. Wichtig ist dabei auch hier, daß die Zwischenprozesse Anwendungsprozesse sind, das heißt sie laufen auf der Anwendungsebende oder zumindest der Präsentationsebene des OSI-Schichtenmodells ab, wie dies beispielsweise für den Ablauf auf der Anwendungsebene in 8 dargestellt ist. Dadurch wird zwar gegenüber dem Stand der Technik ein Durchlaufen von mehr Schichten des OSI-Modells erforderlich, dies ist jedoch bei ohnehin zeit- und rechenaufwendigen Anwendungen wie der Kryptographie nur von untergeordneter Bedeutung.This means that existing applications can also be backed up without having to adapt them. It is also important here that the intermediate processes are application processes, that is to say they run at the application level or at least at the presentation level of the OSI layer model, as is the case, for example, for the process at the application level in 8th is shown. Compared to the prior art, this means that it is necessary to go through more layers of the OSI model, but this is only of minor importance in applications that are time-consuming and computational, such as cryptography.

Bisher bekannte Verfahren operieren grundsätzlich in unteren Protokollschichten des OSI-Referenzmodells. Bei einem Hauptanwendungsfall des hier beschriebenen Ausführungsbeispiels, der Kryptografie, die sehr viel Rechenzeit erfordert, spielt der zusätzliche Kommunikations-Overhead zwischen den intermediären Prozessen und der eigentlichen Anwendung jedoch eine untergeordnete Rolle.Previously known procedures operate in principle in the lower protocol layers of the OSI reference model. At a Main application of the exemplary embodiment described here, cryptography, which requires a lot of computing time, plays the additional one Communication overhead between the intermediate processes and the actual ones Application, however, is of secondary importance.

Der Datenfluß für zwei Zwischenprozesse ist in 9 dargestellt. Im Gegensatz zur Darstellung von 6 wendet sich jedoch nun der erste Zwischenprozeß Pm mit seinem Port PMO nicht direkt an den Port PSI der Servers sondern an den Eingansport PM'I , an dem der serverseitige Zwischenprozeß auf Clientanforderungen lauscht. Erst der Ausgangsport PM'O tritt dann mit dem Port PSI in Verbindung, an dem der eigentliche Server auf Dienstanforderungen lauscht.The data flow for two intermediate processes is in 9 shown. Contrary to the representation of 6 However, the first intermediate process P m with its port P MO does not address the port P SI of the server directly but rather the input port P M'I at which the server-side intermediate process listens for client requests. Only the output port P M'O then connects to the port P SI at which the actual server listens for service requests.

In 10 wird das Ablaufschema der Prozesse Pm bzw. Pm' dargestellt. Hieraus geht hervor, daß pro Clientanforderung von einem Prozeß Pc eine softwaretechnische "Kommunikationsbrücke" zwischen Ein- und Ausgang geschlagen wird. Es werden die Daten in der Regel modifiziert und an die entsprechende Gegenseite weitergeleitet. Beendet einer der Kommunikationspartner die Verbindung, werden alle 3 intermediären Verbindungen abgebrochen. Die intermediären Prozesse beenden selbst nie die Verbindung. Sie reagieren nur ihrerseits auf das Schließen der Kommunikation der Client- bzw. Serverprozesse. Das Ablaufdiagramm zeigt weiterhin, daß problemlos mehrere Clientverbindungen bestehen können. Liegen Daten an einer Kommunikationsbrücke – an einer beliebigen Seite – an, so werden sie entprechend der Richtung modifiziert (verschlüsselt bzw. entschlüsselt).In 10 the flow diagram of the processes P m and P m 'is shown. This shows that a software P "communication bridge" between input and output is created by a process P c for each client request. As a rule, the data is modified and forwarded to the corresponding opposite party. If one of the communication partners ends the connection, all 3 intermediate connections are terminated. The intermediate processes never end the connection themselves. They only react to the closing of the communication between the client and server processes. The flowchart also shows that several client connections can exist without any problems. If data is on a communication bridge - on any side - it is modified according to the direction (encrypted or decrypted).

In einer weiteren Ausführungsform wird die Rechneradresse für eine erste Authentifizierung verwendet. Das entsprechende Schema für den Verbindungsaufbau im Prozeß Pm ist in 11, für den Prozeß Pm' in 12 dargestellt. Dieses Schema kann je nach konkretem zugrundeliegendem Protokoll erweitert werden. In der Regel werden hier die Verfahren eingesetzt, die die Client-Server-Anwendung selbst als Authentifizierungsmechanismen bereitstellt. Analysiert beispielsweise ein Datenbank-Server mit Hilfe der Rechneradresse den dienstanfordernden Client und erlaubt in Abhaängigkeit davon den Zugang auf die Daten, so kann dies nun bereits im Prozeß Pm' geschehen. Damit werden in einer ersten Stufe alle Clients verweigert, die nicht authorisiert sind. Der Server selbst wird nun so konfiguriert, daß er nur Clients von der Rechneradresse des Rechners auf dem Prozeß Pm' läuft, akzeptiert. Damit wird verhindert, daß der Schutzmechanismus durch direkten Zugriff eines weiteren Clients Pc' auf den Server umgangen wird. Hier stellen Firewalls eine wichtige Ergänzung zu dem hier beschriebenen Konzept dar.In a further embodiment, the computer address is used for a first authentication. The corresponding scheme for establishing a connection in the process P m is shown in 11 , for the process P m ' in 12 shown. This scheme can be expanded depending on the specific underlying protocol. As a rule, the procedures that the client-server application itself provides as authentication mechanisms are used here. If, for example, a database server uses the computer address to analyze the client requesting the service and, depending on it, allows access to the data, this can already be done in the process P m ' . In a first stage, all clients that are not authorized are denied. The server itself is now configured so that it only runs clients from the computer address of the computer running on the process P m ' . This prevents the protection mechanism from being circumvented by direct access by another client P c ' to the server. Firewalls are an important addition to the concept described here.

Die verwendeten Verfahren zum Suchen der Kommunikationspartner in den intermediären Prozessen sind praktisch identisch mit denen der Clientsoftware und können damit als bekannt vorausgesetzt werden. Ebenso sind die Protokolle, mit denen die Zusatzprozesse mit der originalen Client- bzw. Serversoftware kommunizieren, identisch mit deren eigentlichen Verbindungsprotokollen, und werden daher nicht näher beschrieben.The search methods used the communication partners in the intermediate processes are practical identical to those of the client software and can therefore be assumed to be known become. Likewise are the protocols with which the additional processes communicate with the original client or server software, identical with their actual connection protocols, and are therefore not closer described.

Im folgenden wird der Fall der gleichzeitigen Dienstnutzung mehrerer Clients näher erläutert. In 13 ist hierfür ein allgemeiner Fall dargestellt, bei dem zwei Clients die Dienste eines Server nutzen.The case of the simultaneous use of services by several clients is explained in more detail below. In 13 a general case is shown for this, in which two clients use the services of one server.

Benutzen mehrere Clients die Dienste eines Servers – unter Verwendung der hier beschriebenen Erfindung – so werden entsprechend viele Zusatzprozesse Pm benötigt und pro Dienstanforderung der Clients Verbindungen zwischen diesen und Pm' aufgebaut. Dies ist schematisch in 15 dargestellt. Hierbei ist ersichtlich, daß Prozeß Pm' als doppelter Client gegenüber Ps auftritt, es sind zwei interne „Kommunikationsbrücken" aktiv. Für den Serverprozeß Ps stellt dies keinen besonderen Fall dar und ändert nichts an der Transparenz gegenüber Client- und Serverprozeß. Auf der Clientseite existiert für beide Clients Pc1 und Pc2 jeweils ein Zwischenprozeß Pm1 bzw. Pm2. Von diesen aus erfolgt dann die Verbindung zu dem serverseitigen Zwischenprozeß Pm'.Several clients use the services of one server - using the Er described here finding - accordingly, a corresponding number of additional processes P m are required and connections are established between these and P m ' per service request from the clients. This is shown schematically in 15 shown. It can be seen here that process P m 'occurs as a double client compared to P s , two internal "communication bridges" are active. For the server process P s , this is not a special case and does not change the transparency of the client and server processes on the client side there is an intermediate process P m1 and P m2 for both clients P c1 and P c2 , from which the connection to the server-side intermediate process P m 'is then made .

In einer weiteren speziellen Ausführungsform ermöglicht die vorliegende Erfindung zusätzlich zur Verschlüsselung die Authentifizierung des Benutzers. Dies kann mittels eines maschinenlesbaren Datenträgers, beispielsweise einer Chip- oder Magnetkarte, die ein elektronisches Pendant zu gewöhnlichen Kredit- und Kundenkarten darstellt und Informationen über den Inhaber beinhaltet, geschehen. Durch einen speziellen Signaturvorgang ist der Datenträger vor Manipulationen geschützt.In a further special embodiment allows the present invention additionally for encryption authentication of the user. This can be done using a machine readable Disk, for example a chip or magnetic card, which is an electronic counterpart ordinary Represents credit and loyalty cards and information about the Owner includes, happen. Through a special signature process is the disk protected against manipulation.

Die nutzerspezifischen Daten können nun von dem clientseitigen Zwischenprozeß den zu übertragenden Daten angefügt und gegebenenfalls ebenfalls verschlüsselt werden. Auf der Serverseite werden dann die Daten entschlüsselt und können zur Authentifizierung des Benutzers verwendet werden.The user-specific data can now attached to the data to be transferred by the client-side intermediate process and, if necessary also encrypted become. The data is then decrypted on the server side and can used to authenticate the user.

Beispielsweise kann die Erbringung des Dienstes verweigert werden, falls es sich bei dem Benutzer nicht um einen authorisierten Benutzer handelt, für den eine Erbringung des Dienstes vorgesehen ist. Es können aber beispielsweise auch auf diese Weise Nutzungsvorgänge verschiedener Benutzer protokolliert werden, ohne daß eine solche Funktion von dem eigentlichen Server Ps vorgesehen ist.For example, the provision of the service can be refused if the user is not an authorized user for whom the provision of the service is intended. However, usage processes of different users can also be logged in this way, for example, without such a function being provided by the actual server P s .

Die Authentifizierung ist jedoch auch durch eine Software-Lösung möglich. Hierbei kann beispielsweise mit Hilfe eines Paßwortsatzes eine Personalisierung des clientseitigen Zwischenprozesses vorgenommen werden, in Analogie zu herkömmlichen Kreditkarten. Dies geschieht durch die Aktivierung eines persönlichen Schlüssels auf der Clientseite, was seine Authentizität sichert. Schon beim Verbindungsaufbau zwischen Pm und Pm' kann somit eine Prüfung durch den Prozeß Pm' erfolgen.However, authentication is also possible using a software solution. Here, for example, the client-side intermediate process can be personalized with the aid of a password set, in analogy to conventional credit cards. This is done by activating a personal key on the client side, which ensures its authenticity. When the connection is established between P m and P m ' , a check can thus be carried out by the process P m' .

Eine weitere spezielle Ausführungsform der Erfindung besteht in ihrer Anwendung auf Client-Server-Applikationen im World-Wide-Web WWW. Im folgenden wird eine besondere Form der Datenmodifikation beschrieben, die eine spezielle Client-Server-Applikation zugrunde legt und eine weitere Anwendung der Erfindung beschreibt.Another special embodiment the invention consists in its application to client-server applications on the World Wide Web WWW. The following is a special form of Data modification described using a special client-server application is based and describes a further application of the invention.

Das World-Wide-Web wird durch ein Netz von WWW-Servern gebildet, die Daten in Form von Text und Grafiken Clients – den WWW-Browsern – zur Verfügung stellen. Das dabei verwendete Netzwerkprotokoll heißt Hyper Text Transfer Protokol, kurz http. Dieses Protokoll basiert wiederum auf TCP/IP.The world wide web is made by a Network formed by WWW servers, the data in the form of text and graphics Clients - the WWW browsers - for disposal put. The network protocol used is called Hyper Text Transfer Protocol, short http. Again, this protocol is based on TCP / IP.

Per http werden nun vom Client (WWW-Browser, kommerziell erhältlich) aus Requests an den Server (z.B. den Internet Information Server von Microsoft®) geschickt. Diese Requests beinhalten den Verweis auf die angeforderte HTML-Seite (Hypertext Markup Language, eine Art Seitenbeschreibungssprache). HTML bietet weiterhin die Möglichkeit, mit Hilfe bestimmter Sprachelemente Formulare (Eingabefelder) darzustellen, die der Anwender mit Daten füllen kann. Diese Daten können dann zum Server übertragen werden, der daraufhin bestimmte Aktionen auslöst (Suchanfragen, Bestellungen, Informationen).The client (WWW browser, commercially available) now sends requests to the server (eg the Internet Information Server from Microsoft ® ) via http. These requests contain a reference to the requested HTML page (Hypertext Markup Language, a kind of page description language). HTML also offers the option of using certain language elements to display forms (input fields) that the user can fill with data. This data can then be transferred to the server, which then triggers certain actions (search queries, orders, information).

Ein Beispiel soll das verdeutlichen. Hierzu sei ein Server „www.server.de" gegeben. Ein Eingabefeld soll hierfür die Suche nach Begriffen ermöglichen. Die HTML-Tags könnten dazu aussehen:

Figure 00190001
An example should make this clear. For this purpose, a server "www.server.de" is given. An input field should enable the search for terms. The HTML tags could look like this:
Figure 00190001

Diese Befehle erzeugen ein Eingabefeld, in das 20 Zeichen eingegeben werden können. Zusätzlich wird ein Button dargestellt, auf dem „Suchen" steht. Wird nun der Suchbegriff „Patent" in das Textfeld eingegegen und der Button betätigt, so wird per http eine Anfrage an den Server geschickt:
www.server.de/cgi-bin/suche.pl?begriff=Patent
These commands create an input field in which 20 characters can be entered. In addition, a button is shown with "Search". If the search term "Patent" is entered in the text field and the button is pressed, a request is sent to the server via http:
www.server.de/cgi-bin/suche.pl?begriff=Patent

Eventuelle weitere Parameter (z.B. zu verwendende Suchverfahren) werden durch das Zeichen „&" angehängt. Dieses gesamte Vorgehen ist bekannt und ist in der Literatur ausreichend beschrieben (z.B. Rainer Klute, Addison-Wesley: „Das World Wide Web", Seiten 112 und 128 ff.) Im vorliegenden Beispiel wird dabei das Anfügen des Parameters „begriff" mit dem Wert „Patent" beschrieben.Any other parameters (e.g. search methods to be used) are appended with the character "&". This The entire procedure is known and is sufficient in the literature (e.g. Rainer Klute, Addison-Wesley: "The World Wide Web", pages 112 and 128 ff.) In this example, adding the Parameters "concept" described with the value "patent".

Das Verbindungsschema für dieses Ausführungsbeispiel ist in 15 dargestellt. Identifiziert der Prozeß Pm' einen mit Hilfe von kryptografischen Algorithmen authentifizierten Benutzer M bei einem Verbindungsaufbau von Prozeß Pm ausgehend, so wird im Prozeß Pm' automatisch ein neuer Parameter, z.B. „Benutzer=M", angefügt:
www.server.de/cgi-bin/suche.pl?begriff=Patent&Benutzer=M
The connection scheme for this embodiment is in 15 shown. If the process P m 'identifies a user M authenticated with the aid of cryptographic algorithms when establishing a connection from the process P m , a new parameter is automatically created in the process P m' , for example "user = M", added:
www.server.de/cgi-bin/suche.pl?begriff=Patent&Benutzer=M

Das bedeutet, daß, obwohl kein Eingabefeld auf der Seite vorhanden war, ein Parameter – praktisch unsichtbar – hinzugefügt wurde, der vom nachgeschalteten 1NWW-Server ausgewertet werden kann. Mit Hilfe des Parameters „Benutzer" kann nun gezielt auf die Client-Anfrage reagiert werden, auch mit WWW-Servern, die keine Benutzerauthentifizierung ermöglichen.That means that although no input field was on the page, a parameter - practically invisible - was added, which can be evaluated by the downstream 1NWW server. With The "User" parameter can now be used specifically respond to the client request, including with WWW servers that do not allow user authentication.

Dies stellt nur ein Beispiel für die weiter oben erläuterte Modifikation des Datenstromes zwischen den Prozessen dar, in diesem Falle innerhalb des http-Protokolls.This is just one example of that explained above Modification of the data flow between the processes in this Trap within the http protocol.

Für den Fachmann ergeben sich leicht weitere Modifikationen der vorliegenden Erfindung, zusätzlich zu den hier geschilderten Ausführungsbeispielen. Insbesondere ist es beispielsweise möglich, daß alle vier Prozesse, Client, Server und die beiden Zwischenprozesse auf dem selben oder auch auf verschiedenen Rechnern ablaufen. Auch sind neben Protokollierung und/oder Verschlüsselung noch weitere Modifikationen denkbar, die die Zwischenprozesse an den zu übertragenden Daten vornehmen, beispielsweise eine Formatänderung, eine Protokoll- oder Sprachanpassung oder ähnliches. Ebenso können durchaus beliebig viele Zwischenprozesse miteinander verkettet werden, die unter Umständen unterschiedliche Modifikationen vornehmen.For Those skilled in the art can easily make further modifications to the present Invention, in addition to the exemplary embodiments described here. In particular, it is possible, for example, that all four processes, client, Server and the two intermediate processes on the same or also run on different computers. Also, in addition to logging and / or encryption still further modifications conceivable to the intermediate processes the one to be transferred Make data, for example a format change, a protocol or Language adaptation or the like. You can also any number of intermediate processes can be chained together, the possibly make different modifications.

Claims (9)

Verfahren zur Client-Server-Kommunikation zwischen einem auf einem ersten Rechner ablaufenden ersten Prozeß (Pc), der als Client fungiert und einem auf einem zweiten Rechner ablaufenden zweiten Prozeß (Ps), der als Server fungiert, gekennzeichnet durch folgende Schritte: Aufbau einer ersten Client-Server-Verbindung zwischen dem ersten Prozess und einem auf dem ersten Rechner ablaufenden dritten Prozess, in der der dritte Prozess den Server darstellt; Aufbau einer zweiten Client-Server-Verbindung zwischen dem dritten Prozess und einem auf dem zweiten Rechner ablaufenden vierten Prozess, in der der dritte Prozess den Client und der vierte Prozess den Server darstellen; Aufbau einer dritten Client-Server-Verbindung zwischen dem vierten Prozess und dem zweiten Prozess, in der der vierte Prozess den Client und der zweite Prozess den Server darstellen, so dass der dritte und der vierte Prozess jeweils gegen über Ihren unterschiedlichen Kommunikationspartner als Server beziehungsweise als Client auftreten, wobei der Aufbau einer Client-Server-Verbindung jeweils umfasst: Erzeugung eines Sockets durch den jeweiligen Serverprozess; Zuweisung eines Ports zu dem Socket; Lauschen des Servers am Server-Socket auf eine Dienstanforderung des Clients; Aufbau der Verbindung zum Server durch den Client unter Verwendung eines zuvor erzeugten Client-Sockets; wobei der erste und der zweite Prozess auf der Anwendungsebene des OSI-Schichtenmodells ablaufen und der dritte und der vierte Prozess auf der Anwendungs- oder der Präsentationsebene des OSI-Schichtenmodells ablaufen, und wobei ferner der dritte und vierte Prozess jeweils als Brückenprozess zwischen der aus erstem und zweiten Prozess bestehenden Client-Server-Verbindung fungieren, wobei der dritte Prozess eine Verschlüsselung und der vierte Prozess eine Entschlüsselung der zwischen dem ersten und zweiten Prozess zu übermittelnden Daten vornehmen.Method for client-server communication between a first process (P c ) running on a first computer that functions as a client and a second process (P s ) running on a second computer that functions as a server, characterized by the following steps: setup a first client-server connection between the first process and a third process running on the first computer, in which the third process represents the server; Establishing a second client-server connection between the third process and a fourth process running on the second computer, in which the third process represents the client and the fourth process the server; Establishment of a third client-server connection between the fourth process and the second process, in which the fourth process represents the client and the second process the server, so that the third and fourth processes each work against your different communication partner as a server or as Client occur, the establishment of a client-server connection each comprising: creation of a socket by the respective server process; Assigning a port to the socket; Listening to the server on the server socket for a service request from the client; Establishment of the connection to the server by the client using a previously created client socket; wherein the first and second processes run at the application level of the OSI layer model and the third and fourth processes run at the application or presentation level of the OSI layer model, and furthermore the third and fourth processes each act as a bridge process between the first and the second process of existing client-server connection, the third process performing encryption and the fourth process performing decryption of the data to be transmitted between the first and second processes. Verfahren nach Anspruch 1, welches ferner umfasst: Durchführen einer Authentifizierung des dritten Prozesses gegenüber dem vierten Prozess.The method of claim 1, further comprising: Carry out an authentication of the third process against the fourth process. Verfahren nach einem der Ansprüche 1 bis 2, bei dem der erste (Pc) und der dritte Prozeß (Pm) auf einem Rechner ablaufen und der zweite (Pm') und der vierte Prozeß (Ps) auf einem zweiten Rechner ablaufen und daß die Übermittlung der modifizierten Daten vom dritten zum vierten Prozeß über eine Fernverbindung stattfindet, wobei die Übertragung und der Verbindungsauf- und abbau von einem Übertragungsprotokoll geregelt werden.Method according to one of Claims 1 to 2, in which the first (P c ) and the third process (P m ) run on a computer and the second (P m ' ) and the fourth process (P s ) run on a second computer and that the transmission of the modified data from the third to the fourth process takes place via a remote connection, the transmission and the connection setup and clearing down being regulated by a transmission protocol. Verfahren nach Anspruch 2 oder 3, bei dem die Authentifizierung mindestens einen der folgenden Schritte umfaßt: Hinzufügung von benutzerspezifischen Daten zu den zu übertragenden Daten, Hinzufügung von rechnerspezifischen Daten zu den zu übertragenden Daten, Modifizierung der zu den zu übertragenden Daten hinzugefügten Daten gemeinsam mit diesen.The method of claim 2 or 3, wherein the authentication includes at least one of the following: Addition of user-specific data on the data to be transmitted, Addition of computer-specific data on the data to be transferred, modification the one to be transferred Data added Data together with these. Verfahren nach Anspruch 4, bei dem die Überprüfung der Authentifizierung durch den vierten Prozeß (Pm') mindestens einen der folgenden Schritte umfaßt: Rückmodifizierung der hinzugefügten Daten, Überprüfung der hinzugefügten Daten auf ihre Authentizität.A method according to claim 4, wherein the verification of authentication by the fourth process (P m ' ) comprises at least one of the following steps: reverse modification of the added data, checking the added data for their authenticity. Verfahren nach einem der Ansprüche 4 oder 5, bei dem die Überprüfung umfaßt: Überprüfung, ob für die vorliegenden Authentifizierungsdaten die Erbringung eines angeforderten Dienstes vorgesehen ist, Freischalten bzw. Erbringung des angeforderten Dienstes im Falle erfolgreicher Authentifizierung, Freischalten bzw. Erbringung des angeforderten Dienstes im Falle erfolgreicher Authentifizierung,A method as claimed in claim 4 or 5, wherein the verification comprises: Check whether for the existing authentication data the provision of a requested Service is provided Unlock or provide the requested Service in case of successful authentication, Unlock or provision of the requested service in the case of successful authentication Verfahren nach einem der Ansprüche 4 oder 5, bei dem die nutzerspezifischen Authentifizierungsdaten auf einem nutzerspezifischen maschinenlesbaren Datenträger fälschungssicher untergebracht sind.Method according to one of claims 4 or 5, wherein the user-specific Authentication data on a user-specific machine-readable disk forgery-proof are accommodated. Verfahren nach Anspruch 7, bei dem der Datenträger mittels einer digitalen Signatur durch die Bildung einer Prüfsumme (Hash-Funktion) über auf dem Datenträger untergebrachte Informationen und digitale Signatur der Prüfsumme verfälschungssicher gemacht ist.A method according to claim 7, wherein the data carrier by means of a digital signature by forming a checksum (hash function) on the disk housed information and digital signature of the checksum tamper-proof is made. Von einem digitalen Computer lesbarer Datenträger, dadurch gekennzeichnet, daß auf ihm Daten gespeichert sind, die vom Computer lesbar sind und ihn in die Lage versetzen, ein Verfahren gemäß einem der vorhergehenden Ansprüche auszuführen.Data carrier readable by a digital computer, thereby characterized that on data that can be read by the computer and him are stored enable a method according to any of the preceding Expectations perform.
DE19645006A 1996-10-31 1996-10-31 Process for communication between processes Expired - Fee Related DE19645006B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19645006A DE19645006B4 (en) 1996-10-31 1996-10-31 Process for communication between processes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19645006A DE19645006B4 (en) 1996-10-31 1996-10-31 Process for communication between processes

Publications (2)

Publication Number Publication Date
DE19645006A1 DE19645006A1 (en) 1998-05-07
DE19645006B4 true DE19645006B4 (en) 2004-04-08

Family

ID=7810355

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19645006A Expired - Fee Related DE19645006B4 (en) 1996-10-31 1996-10-31 Process for communication between processes

Country Status (1)

Country Link
DE (1) DE19645006B4 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19822551A1 (en) * 1998-05-20 1999-11-25 Alcatel Sa Processor-controlled system and method for operating a processor-controlled system
DE19832482A1 (en) * 1998-07-20 2000-01-27 Abb Patent Gmbh Method of information transfer in distributed system involves first process initiating link set-up in permitted direction, enabling second process to transmit spontaneous information in response
DE19900895C2 (en) * 1999-01-13 2001-03-15 Tobias Kramer Device and method for remote access to a target computer
DE19923174C1 (en) * 1999-05-20 2000-11-23 Sonera Smartring Gmbh Confidentiality protected data transmission method converts security parameters used for protecting transmitted data upon transfer of data between terminals in different security regions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
DE4427210A1 (en) * 1994-08-01 1996-02-15 Siemens Ag Communication switching system with a feature system and a basic switching system
EP0709994A2 (en) * 1994-10-03 1996-05-01 International Business Machines Corporation Communications management between client and server processes
US5542046A (en) * 1992-09-11 1996-07-30 International Business Machines Corporation Server entity that provides secure access to its resources through token validation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542046A (en) * 1992-09-11 1996-07-30 International Business Machines Corporation Server entity that provides secure access to its resources through token validation
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
DE4427210A1 (en) * 1994-08-01 1996-02-15 Siemens Ag Communication switching system with a feature system and a basic switching system
EP0709994A2 (en) * 1994-10-03 1996-05-01 International Business Machines Corporation Communications management between client and server processes

Non-Patent Citations (17)

* Cited by examiner, † Cited by third party
Title
"CHAOS" The Standish Group Report, 1995(http://ww w.scs.carleton.ca/-beau/PM/Standish-Report.html)
$SOUVATZIS, I.: "PPP-FAQ part 2" November 1994 (http://www.faqs.org/faqs/ppp-faq/part2/)
An Introduction To Open Systems Interconnection, Prepared For The CEC By K C E Gee, The National Computing Centre Ltd., 1980 *
CHATEL, M.: "Classical versus Transparent IP Proxies" RFC 1919, März 1996 *
GALLMEISTER, B.O.: "POSIX.4: Programming for the Real World" ISBN 1-56592-074-0, Januar 1995, S.91 *
GLASS, R.L.: "Frequently forgotten fundamental facts about software engineering" IEEE Software, Vol.: 18 Issue 3, May-June 2001, 112-111
HANKS,T.: "Re Encrypted tunnels"15.4.1994(http://w ww.netsys.com/firewalls/firewalls-9404/0128.html)
HOLMES, N.: "Why Johnny can't program" Computer, Vol.: 33 Issue: 12, Dez. 2000, 160, 158-159
HUGES, J.P.: "IP Security: Creating Secure Intra- nets over the Internet" INET96 Proceedings (http:/ /www.isoc.org/isoc/whatis/conferen-ces/inet/96/pro ceedings/d7/d7_1.htm)
HUNT, A.; THOMAS, D.: "Ubiquitous automation" IEEE Software, Vol. 19 Issue 1, Jan.-Feb. 2002, 11-13
KENNEDY,S.:"Re:Encrypted tunnels"17.4.1994(http:// www.netsys.com/firewalls/firewalls-9404/0142html)
LUOTONEN, A., ALTIS, K.: "World-Wide Web Proxies" In: Computer Networks and ISDN Systems 27, No. 2, p. 147-54, Nov. 1994 (http://www1.cem.ch/Papers WWW94/luotonen-ps)
LYNCH,Daniel C., ROSE,Marshall T.: Internet System Handbook, Addison-Wesley Publishing Company, Inc., New York, 1993, S.425 *
PERKINS, C.: "IP Encapsulation within IP" RFC 2003, Oktober 1996 *
RANUM, M.J.: "Thinking about Firewalls" 1993 (http://citeseer.nj.nec.com/ranum94thinking.html) *
SIMPSON, W.: "IP in IP Tunneling" RFC 1995, Oktober 1995 *
UOTONEN, A., ALTIS, K.: "World-Wide Web Proxies" In: Computer Networks and ISDN Systems 27, No. 2, p. 147-54, Nov. 1994 (http://www1.cem.ch/Papers WWW94/luotonen-ps) *

Also Published As

Publication number Publication date
DE19645006A1 (en) 1998-05-07

Similar Documents

Publication Publication Date Title
DE602004012870T2 (en) METHOD AND SYSTEM FOR USER AUTHENTICATION IN A USER-PROVIDER ENVIRONMENT
DE19741239C2 (en) Generalized security policy management system and procedures
DE69921455T2 (en) SYSTEM AND METHOD FOR ACCESS CONTROL TO STORED DOCUMENTS
DE60102934T2 (en) PROCEDURE AND SYSTEM FOR MEETING-BASED AUTHORIZATION AND ACCESS CONTROL FOR NETWORKED APPLICATION OBJECTS
EP2250598B1 (en) Client/server system for communicating according to the standard protocol opc ua and having single sign-on mechanisms for authenticating, and method for performing single sign-on in such a system
DE602005003314T2 (en) Specialization of support for a association relationship
DE19740547B4 (en) Apparatus and method for ensuring secure communication between a requesting entity and a serving entity
DE60111089T2 (en) Method and apparatus for analyzing one or more firewalls
DE112020000538T5 (en) FINE-GRAINED TOKEN-BASED ACCESS CONTROL
DE112011102224B4 (en) Identity mediation between client and server applications
EP1417820A2 (en) Method and computer system for securing communication in networks
DE10146361A1 (en) Device and method for establishing a security policy in a distributed system
DE60302003T2 (en) Handling contiguous connections in a firewall
DE19645006B4 (en) Process for communication between processes
DE10107883B4 (en) Method for transmitting data, proxy server and data transmission system
DE60031004T2 (en) ELECTRONIC SECURITY SYSTEM AND METHOD FOR A COMMUNICATION NETWORK
DE602004005992T2 (en) Data processing system and method
DE19548387C1 (en) Method for cryptographically securing computer-aided digital communication between a program and at least one user unit
EP2436166B1 (en) Service interface
DE102006022421B4 (en) A method for establishing a secure connection between a computerized workstation and a server in application and terminal server applications
WO2023156285A1 (en) Zero trust security for an operational technology network transport protocol
DE102005050336B4 (en) Method and arrangement for operating a security gateway
DE60028752T2 (en) ARRANGEMENT AND PROCEDURES RELATING TO CONNECTIONS
EP4179758A1 (en) Authenticating a communication partner on a device
DE10128493A1 (en) Integration of network address translation and IP security protocol within virtual private network, involves providing allocation table containing NAT rules in VPN gateway

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8327 Change in the person/name/address of the patent owner

Owner name: HISOLUTIONS AG, 12435 BERLIN, DE

8364 No opposition during term of opposition
8381 Inventor (new situation)

Inventor name: GROSSER, RENE, 13125 BERLIN, DE

8339 Ceased/non-payment of the annual fee