DE19645006B4 - Process for communication between processes - Google Patents
Process for communication between processes Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4278—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/328—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the presentation layer [OSI layer 6]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
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 ...
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.
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
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
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.
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:
Im ersten Ausführungsbeispiel erfolgt die
Durchführung
einer Client-Server-Anwendung
wie in
- – 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.
- - 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
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
Bei dem Aufbau gemäß
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
Der Datenfluß zwischen den Prozessen ist
nun in
In einem weiteren Ausführungsbeispiel
werden nun zwei zusätzliche
Prozesse Pm und Pm' eingeführt.
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
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
In
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
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
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
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: 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:
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=PatentThese 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
www.server.de/cgi-bin/suche.pl?begriff=Patent&Benutzer=MThe connection scheme for this embodiment is in
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)
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)
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)
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 |
-
1996
- 1996-10-31 DE DE19645006A patent/DE19645006B4/en not_active Expired - Fee Related
Patent Citations (4)
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)
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 | |
EP2436166B1 (en) | Service interface | |
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 | |
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 | |
AT412314B (en) | METHOD AND DEVICE FOR CONNECTING A DEVICE USING THE BLUETOOTH STANDARD TO A DATA NETWORK |
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 |