DE10105053A1 - Method and device for transmitting program codes on the Internet - Google Patents

Method and device for transmitting program codes on the Internet

Info

Publication number
DE10105053A1
DE10105053A1 DE10105053A DE10105053A DE10105053A1 DE 10105053 A1 DE10105053 A1 DE 10105053A1 DE 10105053 A DE10105053 A DE 10105053A DE 10105053 A DE10105053 A DE 10105053A DE 10105053 A1 DE10105053 A1 DE 10105053A1
Authority
DE
Germany
Prior art keywords
program code
client system
client
key
server system
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.)
Ceased
Application number
DE10105053A
Other languages
German (de)
Inventor
Peter Russ
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.)
HMD-SOFTWARE-AKTIENGESELLSCHAFT, 82346 ANDECHS, DE
RUSS, PETER, 82229 SEEFELD, DE
Original Assignee
HMD SOFTWARE AG
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 HMD SOFTWARE AG filed Critical HMD SOFTWARE AG
Priority to DE10105053A priority Critical patent/DE10105053A1/en
Priority to PCT/EP2002/001064 priority patent/WO2002071195A1/en
Publication of DE10105053A1 publication Critical patent/DE10105053A1/en
Ceased 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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

To transmit programme codes for Web applications from a server system to a client system, the programme code to be transmitted is transmitted in encrypted form in a cache memory and is then decrypted in the client system. This permits an executable programme to be created in the main memory of the client system.

Description

Die Erfindung betrifft ein Verfahren zum Übertragen eines Programmcodes für eine Webanwendung von einem Server-System auf ein Client-System und eine Einrichtung hierfür.The invention relates to a method for transmitting a Program codes for a web application from a server system on a client system and a facility for this.

Das Internet stellt einen weltweiten Zusammenschluss von Com­ puter-Netzwerken dar, über die mehrere Millionen Computer miteinander verbunden sind, um einen Datenaustausch zu ermög­ lichen. Alle Unternetze und Computer des Internets benutzen dabei ein einheitliches Adressierungsschema sowie die TCP/IP- Protokolle zur Datenübertragung. Die Datenübertragung erfolgt in Paketform. Im Internet werden dabei verschiedenste Dienste angeboten, deren wichtigster das World Wide Web ist.The Internet represents a worldwide association of Com computer networks over which several million computers are interconnected to enable data exchange union. Use all subnets and computers on the Internet a uniform addressing scheme and the TCP / IP Data transmission protocols. The data transfer takes place in package form. Various services are available on the Internet offered, the most important of which is the World Wide Web.

Das World Wide Web - im weiteren kurz auch Web genannt - ist ein interaktives Informationssystem, das den Austausch digi­ taler Dokumente zwischen Computern ermöglicht. Das Web be­ steht dabei aus den sogenannten Hypertext-Systemen, auch Web- Sites genannt. Jede Web-Site bezeichnet eine Stelle im Inter­ net, an der ein oder mehrere zusammengehörige Web-Dokumente zu finden sind. Jeder Web-Site ist dabei eine Adresse im In­ ternet zugewiesen, die sie von allen anderen Web-Sites unter­ scheidbar macht und somit einen gezielten Zugriff ermöglicht. Die Web-Sites befinden sich im allgemeinen auf einzelnen Com­ putern, den sogenannten Web-Servern, auf denen sie mit Hilfe eines speziellen Web-Server-Programms im Internet bereit­ gestellt werden. Auf die Web-Sites kann dann von den übrigen Computern mit Hilfe eines Client-Programms, im allgemeinen einen Internet-Browser, zugegriffen werden.The World Wide Web - hereinafter also called the Web - is an interactive information system that enables the digi taler documents between computers. The web be stands out of the so-called hypertext systems, also web Called sites. Each website designates a place in the Inter net, on which one or more related web documents can be found. Each website is an address in the ternet assigned to them from all other websites below makes separable and thus enables targeted access. The web sites are generally located on individual com puters, the so-called web servers, on which they help a special web server program on the Internet be put. The web sites can then be used by the rest Computers using a client program, in general an Internet browser.

Die Dokumente der Web-Sites werden mit einer plattformunab­ hängigen Beschreibungssprache, der sogenannten Hypertext Markup Language (HTML) dargestellt. Die HTML-Beschreibungssprache enthält dabei Sprachelemente für den Inhalt und die Darstellung der Dokumente sowie für Interaktionen, um Daten zwischen dem Server und dem Client auszutauschen und nutzt darüber hinaus diverse Codes, um die Komponenten und die Ver­ knüpfungspunkte der Dokumente auf einer Web-Site untereinan­ der zu beschreiben.The documents of the websites are platform-independent dependent description language, the so-called hypertext Markup Language (HTML) shown. The HTML description language  contains language elements for the content and the Presentation of documents as well as for interactions to data exchange and use between the server and the client in addition, various codes for the components and the ver links between the documents on a website to describe the.

Neben rein inhaltlichen Informationen und Darstellungen kön­ nen Web-Sites bzw. die HTML-Dokumente selbstausführbare Pro­ gramme, im weiteren auch Applets genannt, enthalten, die z. B. dazu dienen, Objekte zu animieren und Berechnungen durchzu­ führen, oder es dem Web-Benutzer ermöglichen über Schalt­ flächen mit der Web-Site zu interagieren. Diese Applets sind meist in den HTML-Dokumenten eingebettet und werden im all­ gemeinen direkt auf dem Client-Computer ausgeführt. Zur Aus­ führung auf den Client-Rechner müssen die Applets vom Server auf den Client aufgespielt werden. Der Server überträgt dabei die Applets, so dass diese zunächst in einem Zwischen­ speicher, der in der Regel ein festgelegter Bereich auf der Festplatte des Client-Computers ist, abgelegt werden, bis alle Anweisungen des Applets empfangen wurden. Danach werden die Anweisungen des Applets ausgeführt, wobei die Ausführung direkt durch das Darstellungsprogramm des Clients, also dem Internet-Browser, bewerkstelligt oder mit Hilfe einer in den Browser eingebetteten entsprechend geeigneten Erweiterung durchgeführt wird.In addition to purely content-related information and representations, NEN websites or the HTML documents self-executable pro grams, also called applets, contain z. B. serve to animate objects and perform calculations lead, or enable the web user via switching to interact with the website. These applets are mostly embedded in the HTML documents and are in space generally run directly on the client computer. To the end The applets must be routed to the client computer from the server be uploaded to the client. The server transmits the applets so these first in an intermediate memory that is usually a specified area on the The client computer's hard drive is to be filed until all instructions of the applet have been received. After that executed the instructions of the applet, the execution directly through the client's display program, i.e. the Internet browser, accomplished or with the help of one in the Browser embedded according to suitable extension is carried out.

Zur Ausführung der Applets direkt durch den Internet-Browser werden die Programmanweisungen in Klartext-Form auf den Client-Rechner übertragen. Die Klartext-Anweisungen der Applets werden im allgemeinen mit Hilfe eines Editors in einer Scriptsprache, wie Javascript oder J-Script erzeugt. Alternativ zu einer Klartext-Programmierung der Applets be­ steht auch die Möglichkeit, eine plattformunabhängige Pro­ grammsprache, wie Java einzusetzen. Bei einer Java-Program­ mierung werden die Programme in Bytecode-Form übertragen. Dieser Bytecode kann auf jedem Computers eines Netzwerks laufen, der über eine entsprechende Erweiterung, die sogenannte virtuelle Java-Maschine, verfügt. Diese virtuelle Java- Maschine übersetzt den Bytecode dann in einen Code, der von der Hardware des Computers verarbeitet werden kann.To execute the applets directly through the Internet browser the program instructions are in plain text on the Transfer client computer. The plain text instructions of the Applets are generally created using an editor in a scripting language, such as Javascript or J-Script. As an alternative to plain text programming of the applets there is also the option of a platform independent pro grammar, how to use Java. With a Java program The programs are transmitted in bytecode form. This bytecode can run on any computer on a network,  the one via a corresponding extension, the so-called Java virtual machine. This virtual java The machine then translates the bytecode into a code written by the hardware of the computer can be processed.

Nachteilig an einer Programmierung der in eine Web-Site ein­ gebetteten Applets mit Hilfe einer plattformunabhängigen Pro­ grammiersprache wie Java oder einer Scriptsprache wie Java­ script ist, dass der Programmcode für jeden Anwender nahezu offen vorliegt. Wird von einem Besucher eine Web-Site mit eingebetteten Applets aufgerufen, werden diese Applets im allgemeinen auf den Client-Computer vollständig übertragen und dort vom Internet-Browser direkt oder mit Hilfe einer entsprechenden Erweiterung ausgeführt. Die Applets sind dann bei Verwendung einer Scriptsprache wie Javascript in Klar­ text-Form oder bei einem Java-Einsatz als kompilierte Datei in Bytecode-Form im Zwischenspeicher des Client-Rechners ab­ gespeichert, so dass der Programmcode ohne großen Aufwand nachvollzogen werden kann. Dies macht sowohl einen Schutz des Urheberrechts bei der Programmierung des Applets als auch eine Sicherung der Investitionen zur Programmentwicklung un­ möglich. Der Anbieter der Web-Site kann also nur hoffen, dass das von ihm zur Verfügung gestellte Web-Site mit den einge­ betteten Applets nur entsprechend seinen Richtlinien einge­ setzt und verwendet wird.A disadvantage of programming in a web site embedded applets using a platform-independent pro programming language like Java or a scripting language like Java script is that the program code for almost every user is open. Is used by a visitor using a web site embedded applets are called, these applets are in the generally fully transferred to the client computer and there directly from the Internet browser or with the help of a corresponding extension executed. The applets are then when using a script language such as Javascript in clear text form or, when using Java, as a compiled file in bytecode form in the buffer of the client computer saved so that the program code without much effort can be traced. This makes both protection of the Copyright when programming the applet as well securing investments for program development and possible. The provider of the website can only hope that the website provided by him with the entered embedded applets only according to its guidelines sets and is used.

Aufgabe der vorliegenden Erfindung ist es deshalb, ein Ver­ fahren zum Übertragen von Programmcode für Webanwendungen und eine entsprechende Einrichtung zu schaffen, die die berech­ tigten Schutzinteressen des Web-Site-Anbieters bzw. Ent­ wicklers gewährleistet, wobei gleichzeitig die Vorteile einer plattformunabhängigen Programmierung der Webanwendungen er­ halten bleiben.The object of the present invention is therefore a Ver drive to transfer program code for web applications and to create a corresponding facility that the calc Protected interests of the website provider or Ent guaranteed, while taking advantage of a platform-independent programming of web applications hold on.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und durch eine Einrichtung gemäß Anspruch 12 gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben. This object is achieved by a method according to claim 1 and solved by a device according to claim 12. preferred Developments are specified in the dependent claims.  

Beim erfindungsgemäßen Verfahren und der zugehörigen Einrich­ tung werden zum Übertragen von Programmcodes für Webanwen­ dungen von einem Server-System auf ein Client-System die Pro­ grammcodes, die im allgemeinen als Klartext-Anweisungen oder in kompilierter Form auf der Web-Site vorliegen, vor der Übertragung verschlüsselt. Die dann verschlüsselt in einen Zwischenspeicher des Client-Systems übertragenen Programm­ codes werden im Client-System nach der Übertragung dann wie­ der so entschlüsselt, dass im Arbeitsspeicher des Client- Systems ein ausführbarer Programmcode erzeugt wird.In the method according to the invention and the associated device device for transferring program codes for web applications Pro from a server system to a client system gram codes, generally as plain text instructions or available in a compiled form on the website before Transfer encrypted. Then encrypted into one Buffer of the program transferred to the client system Codes are then like in the client system after transmission which decrypts in such a way that Systems an executable program code is generated.

Hierdurch wird gewährleistet, dass die auf das Client-System übertragenen Programmcodes der Webanwendungen dort nicht of­ fen und damit ohne großen Aufwand nachvollziehbar vorliegen. Gemäß der Erfindung wird nämlich die Entschlüsselung der auf das Client-System übertragenen Programmcodes so vorgenommen, dass eine lauffähige und damit uncodierte Programmform nur im Arbeitsspeicher des Client-Systems erzeugt wird. Dieser Ar­ beitsspeicher ist bei einem Computer als nicht-permanenter Speicher ausgelegt, auf den die Rechnerzentraleinheit schnell zugegriffen kann, wobei die Daten aber nur so lange gespei­ chert werden, bis die Stromzufuhr unterbrochen oder das Pro­ gramm beendet wird. Ohne detaillierte Kenntnis des Client- Systems und dessen Programmierung ist aber ein Nachvollziehen der Programmcodes im Arbeitsspeicher im wesentlichen ausge­ schlossen, so dass dem Anwender bzw. Entwickler der Programme ein weitgehender Schutz gegen eine unkontrollierte Weiter­ verwendung seines Programms gewährt wird.This ensures that the client system transmitted program codes of the web applications are not there fen and thus available easily understandable. According to the invention, the decryption is based on program code transmitted to the client system in such a way that an executable and thus uncoded program form is only available in RAM of the client system is generated. This ar memory is non-permanent in a computer Memory designed for the computer central unit quickly can be accessed, but the data is only saved as long be saved until the power supply is interrupted or the Pro gram is ended. Without detailed knowledge of the client Systems and its programming is an understanding the program codes in the main memory essentially closed so that the user or developer of the programs extensive protection against uncontrolled continuation use of his program is granted.

Gemäß einer bevorzugten Ausführung ist das Client-System so eingerichtet, dass ein Schlüssel zur Entschlüsselung der übertragenen Programmcodes bereits vorab hinterlegt ist. Die­ ser kann z. B. in den Browser des Client-Systems eingebettet sein oder auch als Zusatzgerät im Client-System integriert werden. Hierdurch lässt sich eine besonders einfache Ver­ schlüsselung zuverlässig gewährleisten, da der Schlüssel zum Entschlüsseln sicher und nicht einfach zugänglich auf dem Client-System verwahrt wird. Ein weiterer Vorzug ist dabei, den Schlüssel als Teil einer digitalen Signatur im Client- System auszuführen, die zugleich die Identität des Benutzers am Client-System sicherstellt und somit seine Zugangsberech­ tigung zum Programmcode auf der Web-Site angibt.According to a preferred embodiment, the client system is like this set up a key to decrypt the transferred program codes is already stored in advance. the ser can z. B. embedded in the browser of the client system be or integrated as an additional device in the client system become. This allows a particularly simple Ver Ensure encryption reliably because the key to  Decrypt safely and not easily accessible on the Client system is kept. Another advantage is the key as part of a digital signature in the client System run, which is also the identity of the user on the client system and thus its access calculation program code on the website.

Alternativ besteht gemäß einer weiteren bevorzugten Aus­ führungsform jedoch auch die Möglichkeit, den Schlüssel zum Entschlüsseln des codierten Programmcodes zusammen mit diesem vom Server-System auf das Client-System zu übertragen. Diese Verschlüsselungstechnik hat den Vorteil, dass beim Client- System zur Ausführung des erfindungsgemäßen Verfahrens weder hard- noch softwaremäßig zusätzliche Maßnahmen ergriffen wer­ den müssen. Alle für die Verschlüsselungstechnik notwendigen Schritte bzw. Einrichtungen können ausschließlich auf dem Server-System vorgesehen und damit zentral eingerichtet wer­ den.Alternatively, according to a further preferred Aus form of management but also the possibility of the key to Decrypt the encoded program code together with this transfer from the server system to the client system. This Encryption technology has the advantage that the client System for executing the method according to the invention neither Additional measures are taken in terms of hardware and software have to. All necessary for the encryption technology Steps or facilities can only be used on the Server system provided and thus set up centrally the.

Gemäß einer weiteren bevorzugten Ausführungsform liegen in die Web-Site eingebetteten Programmteile auf dem Server- System uncodiert vor und werden erst auf Anforderung der Web- Site durch ein Client-System vor der Übertragung durch das Server-System verschlüsselt. Hierdurch wird gewährleistet, dass zum Aufbau und Programmieren der Web-Site weiterhin die herkömmlichen Programmsprachen und Programmiertechniken ein­ gesetzt werden können.According to a further preferred embodiment, in the web site embedded program parts on the server System uncoded and are only requested by the web Site through a client system before transmission through the Server system encrypted. This ensures that continue to build and program the site conventional programming languages and programming techniques can be placed.

Die Erfindung wird anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:The invention will become more apparent from the accompanying drawings explained. Show it:

Fig. 1 schematisch das erfindungsgemäße Verfahren zum Übertragen von Programmcodes für Webanwendungen; Fig. 1 is a schematic method of transferring program codes for Web applications according to the invention;

Fig. 2 eine mögliche Ausführungsform des erfindungsgemäßen Verfahrens im Detail; Fig. 2 shows a possible embodiment of the method according to the invention in detail;

Fig. 3a einen möglichen Ablauf für die Verschlüsselung; und FIG. 3a shows a possible sequence for encryption; and

Fig. 3b einen möglichen Ablauf für die Entschlüsselung. FIG. 3b shows a possible sequence for decryption.

Das Internet stellt ein weltweites Geflecht miteinander ver­ bundener Computer-Netzwerke dar, bei dem jeder angeschlossene Rechner gleichrangig mit jedem anderen Rechner kommunizieren kann. Zum Datenaustausch zwischen den Rechnern werden dabei ein einheitliches Adressierungsschema sowie Datenüber­ tragungsprotokoll nach dem TCP/IP-Standard verwendet. Über das Netzwerk können so Daten unterschiedlichster Art, wie Software, Text, Nachrichten standardisiert übermittelt wer­ den. Die zu übertragenden Daten werden zu diesem Zweck in kleine Informationseinheiten, sogenannten Datenpaketen, zer­ teilt. Diese Datenpakete enthalten neben Nutzdaten auch Steu­ erinformationen für die Adressierung, Sendefolge, Fluss­ kontrolle und Fehlerkorrektur. Die Datenpakete können dabei eine feste oder variable Länge haben, wobei eine Höchstgrenze spezifiziert ist. Die Datenpakete werden dann getrennt über das Internet übertragen und am Bestimmungsziel wieder zur ur­ sprünglichen Gesamtinformation zusammengefügt.The Internet blocks a worldwide network connected computer networks, where everyone is connected Communicate computers equally with any other computer can. For data exchange between the computers a uniform addressing scheme and data transfer protocol used according to the TCP / IP standard. about the network can use data of all kinds Software, text, messages are transmitted in a standardized way the. For this purpose, the data to be transferred are stored in small information units, so-called data packets, zer Splits. In addition to user data, these data packets also contain tax Information for addressing, transmission sequence, flow control and error correction. The data packets can have a fixed or variable length, with a maximum is specified. The data packets are then separated over broadcast the internet and go back to the original destination overall information put together.

Im Internet werden dabei verschiedenste Dienste angeboten, deren wichtigster das World Wide Web, im folgenden auch kurz Web genannt, ist, ein interaktives Informationssystem, das den Austausch digitaler Dokumente ermöglicht. Das Web besteht aus Hypertext-Systemen, den sogenannten Web-Sites, die in der Regel mehrere zusammenhängende Web-Dokumente enthalten. Die Web-Dokumente der Web-Site befinden sich dabei im allgemeinen auf einem speziellen Rechner, dem sogenannten Server, der die Web-Site den ans Internet angeschlossenen Computern, den so­ genannten Clients, mit Hilfe eines speziellen Web-Server-Pro­ gramms zur Verfügung stellt.Various services are offered on the Internet, the most important of which is the World Wide Web, hereinafter also briefly Web, is an interactive information system that enables the exchange of digital documents. The web exists from hypertext systems, the so-called web sites, in the Usually contain several related web documents. The Web documents of the website are generally found on a special computer, the so-called server, which the Web site for computers connected to the Internet, so mentioned clients, with the help of a special web server pro provides gramms.

Zum Beschreiben des Seiteninhalts und des grafischen Aufbaus der Web-Dokumente, wird als Aufzeichnungssprache überwiegend HTML (Hypertext Markup Language) verwendet, eine einfache und plattformunabhängige Aufzeichnungssprache. HTML-Dokumente können dabei mittels eines beliebigen Text-Editors erstellt werden, da sie selbst als ASCII-Text hinterlegt sind.To describe the page content and the graphic structure of web documents, is predominantly used as the recording language HTML (Hypertext Markup Language) is used, a simple and  platform-independent recording language. HTML documents can be created using any text editor because they are stored as ASCII text.

Die Web-Dokumente weisen neben der Text-und-Layout-Beschrei­ bung in HTML oft auch noch zusätzliche Programmcodes auf, die kleinere Anwendungen auf der Web-Site kontrollieren oder aus­ führen. Diese Anwendungen im weiteren auch als Applets be­ zeichnet, sind oft in den HTML-Text selbst integriert, wobei als Programmsprache üblicherweise eine Scriptsprache wie Javascript oder eine Sprache wie Java, bei der die Codes im kompilierter Form vorliegen, verwendet wird. Hierdurch wird gewährleistet, dass die Web-Anwendungen unabhängig vom Be­ triebssystems des jeweiligen Nutzers ausführbar sind. Neben einer Einbettung der Applets direkt in den HTML-Text besteht jedoch auch die Möglichkeit, dass die Applets als eigenstän­ dige Dateien unabhängig vom HTML-Dokument vorliegen, wobei im HTML-Dokument auf diese Dateien dann verwiesen wird.The web documents show next to the text and layout description in HTML often include additional program codes that control or turn off smaller applications on the website to lead. These applications are also referred to as applets are often integrated into the HTML text itself, whereby as a program language usually a script language like Javascript or a language like Java, in which the codes in compiled form are used. This will ensures that the web applications regardless of loading drive system of the respective user are executable. Next there is an embedding of the applets directly in the HTML text but also the possibility that the applets stand alone files are available regardless of the HTML document, whereby in HTML document is then referenced to these files.

Die Funktionsweise bei der Abarbeitung der Programmanweisung auf dem Client-Rechner erfolgt dabei herkömmlicherweise so, dass der Client-Rechner eine Web-Site vom Server anfordert und der Server daraufhin die Web-Site mit ihrem HTML-Texten und den eingebetteten Programmcodes auf den Client-Rechner überträgt, wobei die Programmcodes in einen Zwischenspeicher des Client-Rechners eingeschrieben werden. Das Einspeichern der Programmcodes in den Zwischenspeicher gewährleistet, dass vor einer Ausführung der Applets alle Programmanweisungen auf dem Client-Rechner vorliegen. Weiterhin wird der Zwischen­ speicher auch dazu verwendet, häufig auf den Client-Rechner angeforderte Web-Sites ohne vorherige Übertragung wieder zur Verfügung zu stellen. Bevor nämlich die Übertragung der Web- Site vom Server auf den Client durchgeführt wird, überprüft der Client-Rechner, ob die angeforderte Web-Site und damit die darin eingebetteten Applets in ihrer aktuellen Version nicht bereits im Zwischenspeicher vorhanden ist. Ist das der Fall, werden die betreffenden Programmcodes dem Internet- Browser zur Ausführung direkt aus dem Zwischenspeicher über­ geben.How it works when processing the program instruction on the client computer, conventionally, that the client computer requests a website from the server and the server then the website with its HTML texts and the embedded program codes on the client computer transfers, the program codes in a buffer of the client computer. Saving the program codes in the buffer ensures that open all program instructions before executing the applets available to the client computer. Furthermore, the in-between memory is also often used on the client machine requested web sites without prior transmission To make available. Before the transfer of the web Site from server to client is checked the client machine whether the requested website and thus the current version of the applets embedded in it does not already exist in the buffer. Is that the Case, the relevant program codes are sent to the Internet  Browser for execution directly from the cache via give.

Der Client-Rechner führt die Web-Sites mit den eingebetteten Applets mit Hilfe des Internet-Browser aus. Wenn der Pro­ grammcode als Klartext übertragen wird, also dann wenn er z. B. mit einer Scriptsprache programmiert ist, führt der Browser die Programmanwendung direkt aus. Im Falle das der Programmcode in Java vorliegt, also in Form eines Bytecode übertragen wird, muss der Browser eine zusätzliche Erwei­ terung, die sogenannte virtuelle Javamaschine aufweisen, um die Applets ausführen zu können. Prinzipiell gilt jedoch, dass dann, wenn der Programmcode im Zwischenspeicher des Client-Rechners in Klartext-Form oder als Bytecode vorliegt, er sich im wesentlichen ohne großen Aufwand nachvollziehen und gegebenenfalls gegen die Richtlinien des Anwenders und dessen Urheberrechtsanspruch einsetzen lässt.The client computer runs the web sites with the embedded ones Applets using the internet browser. If the pro Gram code is transmitted as plain text, i.e. when it z. B. is programmed with a scripting language Browser the program application directly. In the case of that Program code is available in Java, i.e. in the form of a byte code is transferred, the browser needs an additional exp the so-called virtual Java machine to be able to run the applets. In principle, however, that if the program code in the cache of the Client computer in plain text form or as byte code, he can understand it essentially without much effort and possibly against the guidelines of the user and whose copyright claim can be used.

Um zu gewährleisten, dass der Programmcode nur im Sinne des Anwenders und Entwicklers eingesetzt und weiterverwendet wird, wird gemäß der Erfindung - wie in Fig. 1 gezeigt - der Programmcode vor der Übertragung auf den Client-Rechner ver­ schlüsselt. Dies kann einmal, wie am oberen Zweig in Fig. 1 gezeigt, dadurch geschehen, dass die Programmcodes auf dem Server bereits codiert vorliegen, also z. B. verschlüsselt in die HTML-Dokumente eingebaut sind. Die Web-Site mit dem Pro­ grammcode wird dann auf Anforderung durch den Client-Rechner vom Server auf den Client-Rechner übertragen, wobei der codierte Programmcode vorzugsweise auf einer Festplatte des Client-Rechners zwischengespeichert wird. Dieser zwischen­ gespeicherte codierte Programmcode wird dann entweder durch geeignete Hardwaremittel im Client-System und/oder ent­ sprechende Anweisungen in der Client-Software entschlüsselt, wobei das Entschlüsselungsprogramm so ausgelegt ist, dass der ausführbare Programmcode in einem nicht-permanenten und nicht frei zugänglichen Arbeitsspeicher des Client-Rechners erzeugt wird. Der Client-Rechner arbeitet dann die entschlüsselten Anweisungen aus dem Arbeitsspeicher ab und führt damit die gewünschte Webanwendung aus. Wenn - wie erläutert - der Pro­ grammcode bereits codiert bei Anforderung des Client-Rechners auf dem Server vorliegt, kann die Entschlüsselung immer nach einem festen Schema erfolgen. Der Schlüssel kann dabei auf dem Client-Rechner in geeigneter Form, d. h. sowohl als Soft­ ware als auch als eigenständige Hardware hinterlegt sein, oder vom Server zusammen mit dem codierten Programmcode über­ tragen werden.In order to ensure that the program code is used and used only in the sense of the user and developer, according to the invention - as shown in FIG. 1 - the program code is encrypted before transmission to the client computer. This can be done once, as shown in the upper branch in FIG. 1, by the program codes already being encoded on the server, that is to say, e.g. B. are encoded in the HTML documents. The website with the program code is then transferred from the server to the client computer on request by the client computer, the coded program code preferably being buffered on a hard drive of the client computer. This coded program code stored between is then decrypted either by suitable hardware means in the client system and / or corresponding instructions in the client software, the decryption program being designed in such a way that the executable program code is stored in a non-permanent and not freely accessible working memory of the Client computer is generated. The client computer then processes the decrypted instructions from the main memory and thus executes the desired web application. If - as explained - the program code is already encoded on the server when the client computer requests it, the decryption can always be carried out according to a fixed scheme. The key can be stored on the client computer in a suitable form, ie both as software and as independent hardware, or can be transmitted by the server together with the coded program code.

Der Schlüssel kann dabei auch Teil einer digitalen Signatur sein, mit der sich die Identität des Benutzers am Client- Rechner feststellen lässt. Durch die digitale Signatur wird sichergestellt, dass ein Dokument tatsächlich vom angegebenen Absender stammt und das es auf seinem Weg durch das Internet nicht verändert wird. Die digitale Signatur kann z. B. auf ei­ ner Chipkarte gespeichert sein, auf der von einer Zertifi­ zierungsstelle ein elektronischer Schlüssel aufgebracht ist. Mit der digitalen Signatur in Kombination mit dem Schlüssel zum Programmcode decodieren, kann dann zugleich die Zugangs­ berechtigung des Benutzers am Client-System, der die Web-Site mit den verschlüsselten Programmcodes aufruft, und die erfor­ derliche Entschlüsselung zur Ausführung des Programmcodes auf dem Client-Rechner sichergestellt werden.The key can also be part of a digital signature with which the identity of the user on the client Calculator can be determined. Through the digital signature ensures that a document is actually from the specified Sender originates and that it is on its way through the internet is not changed. The digital signature can e.g. B. on egg ner chip card can be stored on a certificate ornamental point an electronic key is applied. With the digital signature in combination with the key to decode the program code can then access at the same time authorization of the user on the client system that owns the website with the encrypted program codes, and the requ decryption to execute the program code the client computer can be ensured.

Neben einer festen Vorverschlüsselung des Programmcodes auf der Web-Site besteht auch die Möglichkeit einer Verschlüs­ selung bzw. Entschlüsselung nach einem variablen Schema. Diese Möglichkeit ist als unterer Zweig in Fig. 1 gezeigt. Hier liegt der Programmcode auf dem Server uncodiert vor und wird erst dann, wenn die entsprechende Web-Site von einem Client aufgerufen wird, zur Übertragung auf diesen Client verschlüsselt. Diese Verschlüsselung kann dabei ebenfalls nach einem festen Schlüsselschema erfolgen, das außerdem zur Entschlüsselung auf dem Client voreingespeichert ist. Alter­ nativ besteht auch die Möglichkeit, dass der Server seinen Schlüssel selbst generiert und zusammen mit dem dann verschlüsselten Programmcode auf den Client zum Entschlüsseln überträgt.In addition to a fixed pre-encryption of the program code on the website, there is also the possibility of encryption or decryption according to a variable scheme. This possibility is shown as the lower branch in FIG. 1. Here the program code is uncoded on the server and is only encrypted for transmission to this client when the corresponding website is called up by a client. This encryption can also be carried out according to a fixed key scheme, which is also pre-stored on the client for decryption. Alternatively, there is also the possibility that the server generates its key itself and transfers it together with the then encrypted program code to the client for decryption.

Fig. 2 zeigt einen möglichen Ablauf für eine verschlüsselte Übertragung von Programmcodes für Webanwendungen zwischen ei­ nem Server und einem Client. Wenn der Client-Computer eine Web-Site von einem Server über die entsprechende Adressierung dieser Web-Site in einem ersten Schritt anfordert, prüft der Server dann in einem zweiten Schritt, ob die Web-Site zu schützende Programmcodes enthält, d. h. insbesondere, ob die vom Client angeforderten HTML-Dokumente eingebettete Pro­ gramm-Applets, die in Klartext- oder Bytecode-Form vorliegen, aufweist. Diese Programm-Applets ermöglichen es z. B. dem Web- Benutzer am Client-Rechner über Schaltflächen mit der Web- Site zu interagieren. Fig. 2 shows a possible sequence for an encrypted transmission of program codes for web applications between a server and a client. If the client computer requests a website from a server via the corresponding addressing of this website in a first step, the server then checks in a second step whether the website contains program codes to be protected, ie in particular whether the HTML documents requested by the client have embedded program applets which are in plain text or byte code form. These program applets allow e.g. B. the web user on the client computer to interact with buttons on the website.

Wenn solche zu schützenden Programmcodes, die auf dem Client- Rechner zusammen mit den HTML-Dokumenten übertragen werden sollen, vom Server ermittelt werden, generiert der Server in einem dritten Schritt einen Schlüssel zur Verschlüsselung und verschlüsselt dann die zu übertragenden Programmcodes. In ei­ nem vierten Schritt wird dann der verschlüsselte Programmcode auf den Client-Rechner übertragen, wobei der Server gleich­ zeitig auch ein Entschlüsselungsprogramm mit dem entsprechen­ den Schlüssel mit überträgt. Der verschlüsselte Programmcode mit dem Entschlüsselungsprogramm wird vorzugsweise auf dem Client-Rechner auf dessen Festplatte zwischengespeichert.If such program codes to be protected that are on the client Calculator can be transferred together with the HTML documents should be determined by the server, the server generates in a third step a key for encryption and then encrypts the program codes to be transmitted. In egg The fourth step is the encrypted program code transferred to the client computer, the server being the same a decryption program with the corresponding transmits the key. The encrypted program code with the decryption program is preferably on the Client computer cached on its hard drive.

In einem fünften Schritt entschlüsselt dann der Client-Rech­ ner den auf der Festplatte liegenden verschlüsselten Pro­ grammcode mit Hilfe des Entschlüsselungsprogramms und über­ setzt dabei den Programmcode wieder in einen ausführbaren Programmcode, der in den Arbeitsspeicher des Client-Rechners geladen wird. Anschließend arbeitet dann in einem sechsten Schritt der Client-Rechner die Programmanweisungen aus dem Arbeitsspeicher ab. In a fifth step, the client computer decrypts ner the encrypted pro on the hard disk gram code using the decryption program and over puts the program code back into an executable Program code that is in the working memory of the client computer is loaded. Then then works in a sixth Step the client computer the program instructions from the Memory.  

Durch dieses erfindungsgemäße Verfahren wird zuverlässig ge­ währleistet, dass der Programmcode von Webanwendungen, der üblicherweise als Bytecode oder Klartext vorliegt, um platt­ formunabhängig auf dem Client-Rechner ausgeführt werden zu können, nicht ungeschützt auf den Client-Rechner übertragen wird. Ein für den Interpreter ausführbarer offener Java- oder Javascript-Programmcode liegt nämlich bei der erfindungsge­ mäßen verschlüsselten Übertragung zwischen Server und Client nur im schwer zugänglichen Arbeitsspeicher des Clients vor und kann deshalb nur mit zusätzlichen Kenntnissen über das Client-System und dessen Programmierung entgegen den vom An­ bieter bzw. Entwickler vorgegebenen Richtlinien weiterver­ wendet werden.This inventive method is reliable ge ensures that the code of web applications that usually in the form of bytecode or plain text in order to get flat independent of the form to be executed on the client computer can not be transferred to the client computer without protection becomes. An open Java or executable for the interpreter Javascript program code lies namely with the fiction encrypted transmission between server and client only in the hard-to-access RAM of the client and can therefore only with additional knowledge of the Client system and its programming contrary to that of the customer provider or developer be applied.

Anstatt, wie in Fig. 2 dargestellt, den Schlüssel zum Ent­ schlüsseln des übertragenen Programmcodes zusammen mit diesem über das Internet zu übertragen, besteht jedoch auch die Mög­ lichkeit, den Schlüssel über einen vom Internet unabhängigen Kanal z. B. über eine Funkstrecke vom Server zum Client zu transportieren. Dies kann, wie dargestellt, gleichzeitig mit der Übertragung der Web-Site und der eingebetteten Applets vom Server auf den Client erfolgen oder unabhängig davon durchgeführt werden.Instead of, as shown in Fig. 2, the key to decrypt the transmitted program code together with this to transmit over the Internet, but there is also the possibility of the key over an independent of the Internet channel z. B. to be transported over a radio link from the server to the client. As shown, this can take place simultaneously with the transfer of the website and the embedded applets from the server to the client or can be carried out independently of this.

Alternativ zum vorgenannten Verfahrensablauf kann - wie be­ reits weiter oben erläutert - statt einer variablen Ver­ schlüsselung und Entschlüsselung durch Generieren eines Schlüssels im Server und dessen Übertragung zusammen mit dem verschlüsselten Programmcode auf den Client auch ein festes Verschlüsselungs-/Entschlüsselungsverfahren verwendet werden, bei dem die Programmcodes bereits vor einer Anforderung der entsprechenden Web-Site auf dem Server verschlüsselt auf die­ sem vorliegen. Der zugehörige Schlüssel zum Entschlüsseln kann dann auch bereits auf dem Client-Rechner in geeigneter Hard- oder Softwareform hinterlegt sein oder auch wie beim dargestellten Funktionsablauf zusammen mit dem verschlüssel­ ten Programmcode mitgeliefert werden. As an alternative to the aforementioned procedure, as can be already explained above - instead of a variable Ver encryption and decryption by generating one Key in the server and its transmission together with the encrypted program code on the client also a fixed Encryption / decryption methods are used in which the program codes before a request from corresponding website on the server is encrypted on the sem present. The corresponding key for decrypting can then already be used on the client computer in a suitable manner Be stored in hardware or software form or as with Functional sequence shown together with the encryption program code.  

In Fig. 3A ist nochmals genauer der Ablauf für die Verschlüs­ selung und in Fig. 3B der Ablauf für die Entschlüsselung dar­ gestellt. Die Verschlüsselung erfolgt dabei bei dem in Zusam­ menhang mit Fig. 2 erläuterten Funktionsablauf so, dass in einem ersten Schritt der Schlüssel erzeugt wird. Dieser Schlüssel wird dann gespeichert und gleichzeitig mit diesem Schlüssel das zu verschlüsselnde Programmpaket verschlüsselt. Zur Entschlüsselung wird der mit dem verschlüsselten Pro­ grammcode übertragene Schlüssel verwendet. Die Schlüsseler­ zeugung und Verschlüsselung können vom Server im Rahmen des Web-Server-Programms ausgeführt werden. Alternativ besteht auch die Möglichkeit, eigenständige Zusatzgeräte für die Schlüsselerzeugung und Verschlüsselung einzusetzen. Auch die Entschlüsselung kann im Client-Rechner im Rahmen des Client- Programms, d. h. des Internet-Browsers, durchgeführt werden. Es besteht jedoch auch hier die Möglichkeit, eigenständige Zusatzgeräte im Client-Rechner vorzusehen, die den übertrage­ nen Schlüssel empfangen und die Entschlüsselung vornehmen.In Fig. 3A, the process for encryption is again more precise and in Fig. 3B the process for decryption is provided. The encryption takes place in the functional sequence explained in conjunction with FIG. 2 in such a way that the key is generated in a first step. This key is then stored and, at the same time, the program package to be encrypted is encrypted with this key. The key transmitted with the encrypted program code is used for decryption. The key generation and encryption can be carried out by the server as part of the web server program. Alternatively, there is also the option of using independent additional devices for key generation and encryption. Decryption can also be carried out in the client computer as part of the client program, ie the Internet browser. However, it is also possible to provide independent additional devices in the client computer that receive the transmitted key and perform the decryption.

Die in der vorstehenden Beschreibung, den Ansprüchen und den Zeichnungen offenbarte Merkmale der Erfindung können sowohl einzeln als auch in beliebiger Kombination für die Verwirk­ lichung der Erfindung in ihren verschiedenen Ausgestaltungen wesentlich sein.The in the above description, the claims and the Features of the invention disclosed in drawings may be both individually as well as in any combination for the forfeiture Lichung the invention in its various configurations be essential.

Claims (14)

1. Verfahren zum Übertragen von Programmcodes für Webanwen­ dungen von einem Server-System auf ein Client-System mit den Schritten:
Verschlüsseln des Programmcodes;
Übertragen des codierten Programmcodes vom Server-System in einen Zwischenspeicher des Client-Systems; und
Entschlüsseln des übertragenen Programmcodes, um einen aus­ führbaren Programmcode in einem Arbeitsspeicher des Client- Systems zu erzeugen.
1. A method for transferring program codes for web applications from a server system to a client system with the steps:
Encrypting the program code;
Transferring the coded program code from the server system into a buffer of the client system; and
Decrypt the transmitted program code in order to generate executable program code in a working memory of the client system.
2. Verfahren nach Anspruch 1, wobei ein Schlüssel zum Ent­ schlüsseln des übertragenen Programmcodes vor dem Übertragen des verschlüsselten Programmcodes auf dem Client-System hin­ terlegt wird.2. The method of claim 1, wherein a key to Ent encrypt the program code transmitted before transmission the encrypted program code on the client system is deposited. 3. Verfahren nach Anspruch 2, wobei der Schlüssel Teil ei­ ner digitalen Signatur ist.3. The method of claim 2, wherein the key part egg digital signature. 4. Verfahren nach Anspruch 1, wobei ein Schlüssel zum Ent­ schlüsseln des verschlüsselten Programmcodes zusammen mit dem verschlüsselten Programmcode vom Server-System zum Client- System übertragen wird.4. The method of claim 1, wherein a key to Ent encrypt the encrypted program code together with the encrypted program code from the server system to the client System is transferred. 5. Verfahren nach Anspruch 4, wobei der Schlüssel auf einem vom Internet unabhängigen Kanal vom Server-System zum Client- System übertragen wird.5. The method of claim 4, wherein the key on a Internet-independent channel from the server system to the client System is transferred. 6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Server-System den nicht verschlüsselten Programmcode nach ei­ ner Anforderung zur Übertragung der Webanwendung durch das Client-System verschlüsselt.6. The method according to any one of claims 1 to 5, wherein the Server system the unencrypted program code according to ei ner request to transfer the web application through the Client system encrypted. 7. Verfahren nach Anspruch 6, wobei das Server-System den Schlüssel zum Verschlüsseln und Entschlüsseln des Programm­ codes selbst erzeugt. 7. The method of claim 6, wherein the server system Key to encrypt and decrypt the program codes generated.   8. Verfahren nach einem der Ansprüche 1 bis 7, wobei der übertragene verschlüsselte Programmcode auf einem Festspei­ cher des Client-Systems zwischengespeichert wird.8. The method according to any one of claims 1 to 7, wherein the transmitted encrypted program code on a fixed memory cher of the client system is cached. 9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Programmcode in einer Scriptsprache definiert ist.9. The method according to any one of claims 1 to 8, wherein the Program code is defined in a script language. 10. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Programmcode als Bytecode vorliegt.10. The method according to any one of claims 1 to 8, wherein the Program code is available as a bytecode. 11. Verfahren nach Anspruch 9 oder 10, wobei der Programm­ code in ein HTML-Dokumente eingebettet ist.11. The method of claim 9 or 10, wherein the program code is embedded in an HTML document. 12. Einrichtung zum Durchführen eines Verfahrens zum Über­ tragen eines Programmcodes für eine Webanwendung von einem Server-System zu einem Client-System nach einem der Ansprüche 1 bis 11, mit
Mitteln zum Verschlüsseln eines uncodierten Programmcodes im Server-System; und
Mitteln zum Entschlüsseln eines in einen Zwischenspeicher des Client-Systems übertragenen codierten Programmcodes, um in einem Arbeitsspeicher des Client-Systems einen ausführbaren Programmcode zu erzeugen.
12. A device for performing a method for transmitting a program code for a web application from a server system to a client system according to one of claims 1 to 11, with
Means for encrypting an uncoded program code in the server system; and
Means for decrypting an encoded program code transferred to a buffer of the client system in order to generate an executable program code in a working memory of the client system.
13. Einrichtung nach Anspruch 11, wobei die Mittel zum Ver­ schlüsseln zur Einrichtung auf dem Server-System und die Mit­ tel zum Entschlüsseln zur Einrichtung auf dem Client-System ausgelegt sind.13. The device according to claim 11, wherein the means for ver keys for setup on the server system and the with tel for decryption for setup on the client system are designed. 14. Einrichtung nach Anspruch 11, wobei die Mittel zum Ver­ schlüsseln auf dem Server-System und die Mittel zum Ent­ schlüsseln auf dem Client-System vorgesehen sind.14. The device according to claim 11, wherein the means for ver key on the server system and the means to Ent keys are provided on the client system.
DE10105053A 2001-02-05 2001-02-05 Method and device for transmitting program codes on the Internet Ceased DE10105053A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10105053A DE10105053A1 (en) 2001-02-05 2001-02-05 Method and device for transmitting program codes on the Internet
PCT/EP2002/001064 WO2002071195A1 (en) 2001-02-05 2002-02-01 Method and device for transmitting programme codes via the internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10105053A DE10105053A1 (en) 2001-02-05 2001-02-05 Method and device for transmitting program codes on the Internet

Publications (1)

Publication Number Publication Date
DE10105053A1 true DE10105053A1 (en) 2002-08-29

Family

ID=7672840

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10105053A Ceased DE10105053A1 (en) 2001-02-05 2001-02-05 Method and device for transmitting program codes on the Internet

Country Status (2)

Country Link
DE (1) DE10105053A1 (en)
WO (1) WO2002071195A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006063876A1 (en) * 2004-12-17 2006-06-22 Siemens Aktiengesellschaft Method and device for encoding and for carrying out a software library
AT501255A1 (en) * 2003-06-06 2006-07-15 Siemens Ag Oesterreich LICENSE-DEPENDENT EXECUTION OF PROGRAM FILES

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301772A (en) * 1997-04-30 1998-11-13 Sony Corp Information processor and method therefor and recording medium
AU6645398A (en) * 1998-02-13 1999-08-30 National Computer Board Method for protecting bytecode
GB2341461B (en) * 1998-09-10 2003-03-12 Ibm Program component distribution
GB2343022B (en) * 1998-10-19 2003-01-08 Ibm Encrypting of java methods
US6449720B1 (en) * 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT501255A1 (en) * 2003-06-06 2006-07-15 Siemens Ag Oesterreich LICENSE-DEPENDENT EXECUTION OF PROGRAM FILES
WO2006063876A1 (en) * 2004-12-17 2006-06-22 Siemens Aktiengesellschaft Method and device for encoding and for carrying out a software library

Also Published As

Publication number Publication date
WO2002071195A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
EP2529529B1 (en) Method for securely downloading from distributed download sources
DE102004036976A1 (en) Method for generating Internet pages, associated computer program and computer system
DE19953055C2 (en) Device and method for the protected output of an electronic document via a data transmission network
DE10196978T5 (en) System and method for inserting and integrating a flowing video content into a digital medium
DE102018128502A1 (en) Method and device for operating and controlling a machine system using a graphic development interface and creating a fieldbus configuration
DE10105053A1 (en) Method and device for transmitting program codes on the Internet
EP1636700A1 (en) Method for booting up a software in the boot sector of a programmable read-only memory
DE102018103529A1 (en) Method and client computer for executing source code on a client computer
EP3912305A1 (en) Method for securely transferring a file
DE102005046696B4 (en) A method for generating protected program code and method for executing program code of a protected computer program and computer program product
EP2130337B1 (en) Method and system for providing an rel token
EP3497606B1 (en) Individual encryption of control commands
EP3557341A1 (en) Method and administration device for optimizing an industrial process
EP2378422A1 (en) System and method for transport of data
EP3896590A1 (en) Method and systems for transferring software artefacts from a source network to a destination network
EP2184695A1 (en) Method of combining data with a device to be used for processing data, corresponding functionality to execute the individual steps in the procedure and computer program to implement the procedure
EP2863605B1 (en) Mobile end device system with safety operation system
DE10028265A1 (en) Decoding of an encoded document transmission received over the Internet
WO2006063876A1 (en) Method and device for encoding and for carrying out a software library
EP1246391A1 (en) Method and system for cryptographic data communication with a plurality of instances
EP1318451B1 (en) Method to execute a program on a computer
CH720073A1 (en) DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT
DE102020133065A1 (en) Interactive confirmation platform for conditionally dependent relations
DE102014114222A1 (en) Method for encrypting source user data
WO2022200027A1 (en) Providing data to be protected in a secured execution environment of a data processing system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HMD-SOFTWARE-AKTIENGESELLSCHAFT, 82346 ANDECHS, DE

Owner name: RUSS, PETER, 82229 SEEFELD, DE

8131 Rejection