[go: up one dir, main page]

DE10105053A1 - Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet - Google Patents

Verfahren und Einrichtung zum Übertragen von Programmcodes im 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
English (en)
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/de
Priority to PCT/EP2002/001064 priority patent/WO2002071195A1/de
Publication of DE10105053A1 publication Critical patent/DE10105053A1/de
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

Zur Übertragung von Programmcodes für Webanwendungen von einem Server-System auf ein Client-System wird der zu übertragene Programmcode verschlüsselt in einen Zwischenspeicher übertragen und im Client-System dann wieder entschlüsselt, um ein ausführbares Programm in einem Arbeitsspeicher des Client-Systems zu erzeugen.

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Die Erfindung wird anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
Fig. 1 schematisch das erfindungsgemäße Verfahren zum Übertragen von Programmcodes für Webanwendungen;
Fig. 2 eine mögliche Ausführungsform des erfindungsgemäßen Verfahrens im Detail;
Fig. 3a einen möglichen Ablauf für die Verschlüsselung; und
Fig. 3b einen möglichen Ablauf für die Entschlüsselung.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

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.
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.
3. Verfahren nach Anspruch 2, wobei der Schlüssel Teil ei­ ner digitalen Signatur ist.
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.
5. Verfahren nach Anspruch 4, wobei der Schlüssel auf einem vom Internet unabhängigen Kanal vom Server-System zum Client- System übertragen wird.
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.
7. Verfahren nach Anspruch 6, wobei das Server-System den Schlüssel zum Verschlüsseln und Entschlüsseln des Programm­ codes selbst erzeugt.
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.
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Programmcode in einer Scriptsprache definiert ist.
10. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Programmcode als Bytecode vorliegt.
11. Verfahren nach Anspruch 9 oder 10, wobei der Programm­ code in ein HTML-Dokumente eingebettet ist.
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.
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.
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.
DE10105053A 2001-02-05 2001-02-05 Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet Ceased DE10105053A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10105053A DE10105053A1 (de) 2001-02-05 2001-02-05 Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet
PCT/EP2002/001064 WO2002071195A1 (de) 2001-02-05 2002-02-01 Verfahren und einrichtung zum übertragen von programmcodes im internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10105053A DE10105053A1 (de) 2001-02-05 2001-02-05 Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet

Publications (1)

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

Family

ID=7672840

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10105053A Ceased DE10105053A1 (de) 2001-02-05 2001-02-05 Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006063876A1 (de) * 2004-12-17 2006-06-22 Siemens Aktiengesellschaft Verfahren und vorrichtung zur verschlüsselung und ausführung einer software-bibliothek
AT501255A1 (de) * 2003-06-06 2006-07-15 Siemens Ag Oesterreich Lizenz-abhängige ausführung von programmdateien

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301772A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
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 (de) * 2003-06-06 2006-07-15 Siemens Ag Oesterreich Lizenz-abhängige ausführung von programmdateien
WO2006063876A1 (de) * 2004-12-17 2006-06-22 Siemens Aktiengesellschaft Verfahren und vorrichtung zur verschlüsselung und ausführung einer software-bibliothek

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2529529B1 (de) Verfahren zum gesicherten download von verteilten downloadsourcen
EP3314806B1 (de) Verschlüsselungsfilter
DE102004036976A1 (de) Verfahren zur Generierung von Internetseiten, zugehöriges Computerprogramm und Computersystem
DE19953055A1 (de) Vorrichtung und Verfahren zur geschützten Ausgabe eines elektronischen Dokuments über ein Datenübertragungsnetz
DE10196978T5 (de) System und Verfahren zum Einfügen und Integrieren eines fließenden Videoinhaltes in ein digitales Medium
EP3226088A1 (de) Anzeige- und bedieneinheit und verfahren zur bedienung eines feldgeräts mit einer anzeige- und bedieneinheit
EP4107640B1 (de) Verfahren und systeme zum übertragen von software-artefakten aus einem quellnetzwerk zu einem zielnetzwerk
DE10105053A1 (de) Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet
WO2004114131A1 (de) Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher
EP3528473A1 (de) Verfahren, client-computer und computerprogramm zur ausführung von quellcode an einem client-computer
EP2394232B1 (de) Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software
EP2130337B1 (de) Verfahren und system zum bereitstellen eines rel-tokens
WO2020148087A1 (de) Verfahren zum sicheren übermitteln einer datei
EP3497606B1 (de) Individuelles verschlüsseln von steuerbefehlen
DE102004027616A1 (de) Verfahren zur Ver- und Entschlüsselung von Zeichenketten
DE10125383B4 (de) Verschlüsselung von Steuerungsprogrammen
EP2378422A1 (de) Verfahren und System zur Übertragung von Daten
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
DE112020001891T5 (de) Systeme und methoden der universellen videoeinbettung
DE10028265A1 (de) Vorrichtung und Verfahren zum Entschlüsseln eines verschlüsselten elektronischen Dokuments
EP2863605B1 (de) Mobiles endgerät-system mit sicherheitsbetriebssystem
EP1246391A1 (de) Verfahren und System zur kryptographischen Datenkommunikation mit mehreren Instanzen
EP1318451B1 (de) Verfahren zum Ausführen eines Programms auf einem Computer
DE69710789T2 (de) Vorrichtung und verfahren zur geschützten übertragung und darstellung von elektronisch publizierten dokumenten
CH720073A1 (de) Vorrichtung und verfahren zur bearbeitung eines sicheren elektronischen dokuments

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