DE10105053A1 - Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet - Google Patents
Verfahren und Einrichtung zum Übertragen von Programmcodes im InternetInfo
- 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
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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying 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.
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.
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.
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)
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)
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 |
-
2001
- 2001-02-05 DE DE10105053A patent/DE10105053A1/de not_active Ceased
-
2002
- 2002-02-01 WO PCT/EP2002/001064 patent/WO2002071195A1/de not_active Application Discontinuation
Cited By (2)
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 |