DE10310372B4 - Verfahren zur Übertragung von mobilen Programmen - Google Patents

Verfahren zur Übertragung von mobilen Programmen Download PDF

Info

Publication number
DE10310372B4
DE10310372B4 DE10310372A DE10310372A DE10310372B4 DE 10310372 B4 DE10310372 B4 DE 10310372B4 DE 10310372 A DE10310372 A DE 10310372A DE 10310372 A DE10310372 A DE 10310372A DE 10310372 B4 DE10310372 B4 DE 10310372B4
Authority
DE
Germany
Prior art keywords
computer
program
policies
mobile
mobile program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10310372A
Other languages
English (en)
Other versions
DE10310372A1 (de
Inventor
Peter Dr. Trommler
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Priority to DE10310372A priority Critical patent/DE10310372B4/de
Priority to US10/795,581 priority patent/US20050021953A1/en
Publication of DE10310372A1 publication Critical patent/DE10310372A1/de
Application granted granted Critical
Publication of DE10310372B4 publication Critical patent/DE10310372B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

Verfahren zur Übertragung von mobilen Programmen (MC) von einem ersten Rechner (1) auf einen zweiten Rechner (2), auf dem das mobile Programm (MC) ausführbar ist, wobei:
– das mobile Programm (MC) von dem ersten Rechner (1) auf den zweiten Rechner (2) geladen wird;
– eine oder mehrere Policies (P) auf den zweiten Rechner (2) geladen werden, wobei die Policies (P) eine Menge an Zugriffsrechten des mobilen Programms (MC) auf von dem mobilen Programm (MC) zu verarbeitenden Daten festlegen;
– die Policies (P) eine oder mehrere für den Benutzer des mobilen Programs (MC) anzeigbare Erklärungen umfassen, wobei die Erklärungen Informationen betreffend die Ausführung des mobilen Programms (MC) mit den durch die Policies (P) festgelegten Zugriffsrechten beinhalten;
– die Erklärungen vor der Ausführung des Programms (MC) dem Benutzer angezeigt werden.

Description

  • Die Erfindung betrifft ein Verfahren zur Übertragung von mobilen Programmen sowie eine entsprechende Anordnung zur Übertragung von mobilen Programmen.
  • Mobile Programme, insbesondere mobiler Code, wie zum Beispiel JAVA Applets, werden heutzutage häufig in Datenkommunikationssystemen eingesetzt. Insbesondere bei Internet-Anwendungen haben sich solche mobilen Programme bewährt, da ein Benutzer das mobile Programm von einem zentralen Server herunterladen und auf seinem eigenen Rechner ausführen kann. Somit stehen dem Benutzer neben seinen lokal eingesetzten Anwendungen eine Vielzahl von aus dem Internet abrufbaren Programmen zur Verfügung. Die Verwendung von mobilen Programmen auf einem lokalen Rechner bringt jedoch hinsichtlich sicherheitsrelevanter Aspekte Nachteile mit sich, da die Programme unter Umständen nicht vertrauenswürdig sind und somit ungewünscht Daten auf dem lokalen Rechner manipulieren können.
  • Es sind bei der Verwendung von mobilen Programmen aus dem Stand der Technik bereits verschiedene Sicherheitsmechanismen bekannt, die unerwünschte Angriffe von außen auf lokale Daten zu vermeiden versuchen. Ein Abriss über bekannte Sicherheitsmechanismen findet sich in der Druckschrift [1].
  • Die bekannten Sicherheitsmechanismen können in vier Gruppen eingeteilt werden. Eine erste Methode zur Gewährleistung von Datensicherheit ist das Ausführen von mobilen Programmen in einer sogenannten Sandbox-Umgebung, welche keine gefährlichen Aktionen durch das mobile Programm zulässt. Dieses Verfahren ist zwar sehr sicher, jedoch sind viele nützliche Funktionen des Programms nicht durchführbar.
  • Bei einem zweiten Sicherheitsmechanismus wird der mobile Programmcode erst nach der Überprüfung einer digitalen Unterschrift ausgeführt. Durch die digitale Unterschrift wird verifiziert, dass der Programmcode von einer für den Benutzer vertrauenswürdigen Stelle stammt. Erst wenn ein Programmcode von der entsprechenden vertrauenswürdigen Stelle unterschrieben wurde, kann er ohne Einschränkungen ausgeführt werden. Bei dieser Methode ist nachteilhaft, dass der Benutzer dem Signierer des Programmcodes volles Vertrauen entgegenbringen muss, dem Signierer aber eigentlich so wenig wie möglich vertrauen möchte.
  • Bei einem weiteren Sicherheitsmechanismus wird der Programmcode ebenfalls signiert, wobei jedoch die Signatur mit für den Signierer definierten Datenzugriffsrechten gekoppelt wird. Es können somit für unterschiedliche Signierer verschiedene Zugriffsrechte je nach Vertrauenswürdigkeit festgelegt werden. Dies entspricht im Wesentlichen der Vergabe von Benutzerkennungen für die Signierer, wobei der Programmanwender jedoch den Umfang der Zugriffsrechte über eine sogenannte Policy definieren muss. Hierbei besteht die Gefahr, dass der Programmanwender aus Unkenntnis die Policy zu weit fasst und im Extremfall sogar auf jegliche sicherheitsrelevanten Einschränkungen bei der Programmausführung verzichtet.
  • In einem weiteren Verfahren wird der Programmcode ebenfalls signiert und beim Anwender nur mit einer Verifikation der Signatur ausgeführt, wobei bei der Ausführung des Programms spezifische Zugriffsrechte, die von der Programmanwendung abhängen, berücksichtigt werden. Im Unterschied zum vorherigen Verfahren sind die Zugriffsrechte nun an die Programmanwendung gekoppelt, wobei bei weniger sicherheitskritischen Programmanwendungen weiter gefasste Zugriffsrechte erteilt werden können. Bei diesem Sicherheitsmechanismus müssen jedoch ebenfalls Policies durch den Benutzer definiert werden, was sehr aufwändig ist und für einen nicht mit der Softwareprogrammierung vertrauten Benutzer kaum zu bewerkstelligen ist.
  • Aus [2] ist ein Verfahren zum Übertragen von ausführbaren, mobilen Programmen von einem ersten auf einen zweiten Rechner bekannt, wobei jeweils Policies zur Festlegung von Zugriffsrechten des mobilen Programms auf den zweiten Rechner geladen werden.
  • Aus [3] und [4] sind spezielle Editoren zum Anzeigen und Bearbeiten von Policies bekannt.
  • Die oben beschriebenen Sicherheitsmechanismen haben den Nachteil, dass die Zugriffrechte des Programms dem Benutzer nicht verständlich dargelegt werden bzw. dass die Zugriffsrechte durch den Benutzer des mobilen Programms selbst festgelegt werden müssen, wobei jedoch nur wenige Benutzer ausreichende Programmiererfahrung haben, um die Zugriffsrechte in einer sogenannten Policy nach ihren Bedürfnissen zu definieren.
  • Aufgabe der Erfindung ist es deshalb, ein Verfahren zur Übertragung von mobilen Programmen bereitzustellen, wobei dem Benutzer nach der Übertragung des Programms Informationen hinsichtlich der beim Ausführen des Programms verwendeten Sicherheitsmechanismen zur Verfügung stehen.
  • Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
  • Bei dem erfindungsgemäßen Verfahren werden mobile Programme von einem ersten Rechner auf einen zweiten Rechner übertragen, wobei auf dem zweiten Rechner das mobile Programm ausführbar ist. Der erste Rechner kann hierbei insbesondere ein Internet-Server sein, von dem ein Benutzer ein mobiles Programm auf seinen lokalen PC, der in diesem Fall den zweiten Rechner darstellt, herunterlädt. Nachdem ein mobiles Programm von dem ersten Rechner auf den zweiten Rechner geladen wurde, werden eine oder mehrere Policies, welche eine Menge an Zugriffsrechten des mobilen Programms auf von dem mobilen Programm zu verarbeitenden Daten festlegen, auf den zweiten Rechner geladen. Die Policies umfassen neben maschinenlesbaren Code, durch den die Zugriffsrechte festgelegt werden, auch eine oder mehrere für den Benutzer des mobilen Programms bestimmte und anzeigbare Erklärungen, wobei die Erklärungen Informationen betreffend die Ausführung des mobilen Programms mit den durch die Policies festgelegten Zugriffsrechten beinhalten. Diese Erklärungen werden vor der Ausfüh rung des Programms dem Benutzer angezeigt. Folglich wird dem Benutzer transparent mitgeteilt, inwieweit das Programm mit einer bestimmten Policy Daten auf dem zweiten Rechner manipuliert. In einer besonders bevorzugte Ausführungsform beinhalten die Erklärungen Informationen betreffend sicherheitskritische Programmoperationen bei der Ausführung des Programms. Im Gegensatz zum Stand der Technik, bei dem die verwendeten Policies für den Benutzer nicht einsehbar und darüber hinaus unverständlich sind, werden bei der vorliegenden Erfindung in die Policies Erklärungen implementiert, die für den Benutzer verständlich sind und anhand derer der Benutzer entscheiden kann, ob er das Programm tatsächlich ausführen möchte.
  • In einer weiteren Ausführungsform sind in den Policies Er klärungen für unterschiedliche Benutzerzielgruppen enthalten, so dass der Benutzer Informationen einsehen kann, die insbesondere für seine Zielgruppe (z.B. Programmierer, Sicherheitsexperte, Anwender) relevant und verständlich sind.
  • Die Verbindung des mobilen Programms mit den Policies wird in einer bevorzugten Ausführungsform wie folgt durchgeführt:
    Zunächst werden Identifikationsdaten zur Identifikation des mobilen Programms von dem ersten Rechner an einen dritten Rechner übertragen, wobei der dritte Rechner auf die Policies Zugriff hat. Anschließend wird wenigstens eine der Policies und die Identifikationsdaten mit einer Signatur versehen, wobei mit der Signatur erklärt wird, dass sich ein mobiles Programm, das mit den Identifikationsdaten identifizierbar ist, gemäß den Erklärungen der wenigstens einen Policy verhält. Schließlich wird die mit der Signatur versehene Policy und die mit der Signatur versehenen Identifikationsdaten an den zweiten Rechner übertragen. Auf diese Weise wird die Verwaltung von Policies einem dritten Rechner anvertraut, wobei der Benutzer des mobilen Programms vorzugsweise eine Vertrauensbeziehung zu diesem Rechner hat. Das Vertrauen, das der Benutzer zu dem dritten Rechner hat, besteht insbesondere dar in, dass er dem dritten Rechner vertraut, dass dieser Einschränkungen von Zugriffsrechten durch die Policies nach dem Need-to-Know-Prinzip vornimmt, das heißt, die Policies auf dem dritten Rechner sind hinsichtlich der Datensicherheit dahingehend optimiert, dass nur unbedingt für die Programmoperationen notwendigen Datenzugriffe gewährt werden. Das Vertrauen, dass für das mobile Programm eine hinsichtlich von Sicherheitsaspekten optimierte Policy verwendet wird, ist somit an eine dritte Stelle in der Form eines dritten Rechners ausgelagert. Der Benutzer muss somit dem ersten Rechner nur noch dahingehend vertrauen, dass das Programm bei der Ausführung mit den Policies des dritten Rechners auch die gewünschte Funktionalität besitzt. Ferner muss der Benutzer des Programms die Policies nicht mehr selbst erstellen, sondern die Erstellung der Policies wird einer dritten Stelle anvertraut.
  • Bei der zuletzt beschriebenen Ausführungsform wird das mobile Programm vorzugsweise in dem ersten Rechner mit einer digitalen Unterschrift versehen und dem mobilen Programm wird eine URL-Adresse (URL = Uniform Resource Locator) zugeordnet, wobei die Identifikationsdaten das zur digitalen Unterschrift gehörige Zertifikat und die URL-Adresse umfassen. Die Verwendung eines Zertifikats an Stelle der digitalen Unterschrift ist vorteilhaft, da sich das Zertifikat auch bei einer Änderung des Programms, zum Beispiel bei einer neuen fehlerbereinigten Programmversion, nicht ändert. Da ein Programm in einer neuen Version im wesentlichen die gleiche Funktionalität aufweist, ist somit eine Identifikation nach der Funktionalität des Programms möglich. Dies ist auch sinnvoll, da sich eine erstellte Policy hauptsächlich nach der Programmfunktionalität richtet.
  • In einer weiteren bevorzugten Ausführungsform der Erfindung werden die Policies von einem dritten Rechner unter Verwendung des mobilen Programms und einer Menge an vorgegebenen Zugriffsrechten und Erklärungen erstellt. Die vorgegebenen Zugriffsrechte und Erklärungen sind hierbei vorzugsweise auch auf dem dritten Rechner gespeichert. Alternativ kann die Menge an vorgegebenen Erklärungen auf dem dritten Rechner gespeichert sein, wohingegen die Menge an vorgegebenen Zugriffsrechten auf dem ersten Rechner gespeichert ist und von dem dritten Rechner abrufbar ist. In einer weiteren Alternative kann die Menge an vorgegebenen Zugriffsrechten auf dem dritten Rechner gespeichert sein, wohingegen die Menge an vorgegebenen Erklärungen auf einem weiteren Rechner gespeichert ist und von dem dritten Rechner abrufbar ist. Es spielt somit keine Rolle, von welcher Stelle die vorgegebenen Erklärungen bzw. Zugriffsrechte geliefert werden, entscheidend ist lediglich, dass in dem dritten Rechner aus diesen Daten die entsprechenden Policies erstellt werden.
  • In einer weiteren bevorzugten Ausführungsform wird das mobile Programm über eine gegen Datenmanipulation gesicherte Verbindung (z.B. HMAC) übertragen und Rechner 1 mit einem geeigneten Verfahren identifiziert. Die Vertrauensbeziehung wird so zwischen dem Benutzer des Programms und einem Rechner des Herstellers oder einem Rechner, dem der Hersteller die Verteilung seiner Programme anvertraut, hergestellt.
  • In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens werden für vorgegebenen Programmanwendungen und/oder Benutzerzielgruppen spezifische Policies erstellt, wobei das mobile Programm mit den spezifischen Policies ausführbar ist und die spezifischen Policies von einem Benutzer auswählbar sind. Folglich kann ein Benutzer in Abhängigkeit von der von ihm gewünschten Programmfunktionalität bzw. Datensicherheit entsprechende Policies auswählen, wobei sichergestellt ist, dass das mobile Programm auch mit diesen Policies ausführbar ist. Die Auswahl einer Policy kann auch automatisiert werden, indem in Abhängigkeit von einem vom Benutzer eingegebenen Programm-Anwendungsprofil eine für das Programm-Anwendungsprofil geeignete Policy ermittelt wird.
  • Für das erfindungsgemäße Verfahren sind zwei Implementationsszenarien denkbar. In einem Szenario wird wenigstens eine der Policies zusammen mit dem mobilen Programm von dem ersten Rechner auf den zweiten Rechner geladen. In dem anderen Szenario wird wenigstens eine der Policies von einem dritten Rechner auf den zweiten Rechner geladen. Das erste Szenario kommt zur Anwendung, wenn die Policies von dem ersten Rechner bereitgestellt werden, das zweite Szenario kommt zur Anwendung, wenn die Policies von einer dritten Stelle erstellt und bereitgestellt werden.
  • Das mobile Programm, das mit dem erfindungsgemäßen Verfahren übertragen wird, ist vorzugsweise in einer Programmiersprache ausgewählt aus JavaTM, Save-TCLTM, CalmTM, Microsoft Authentic Code, MicrosoftTM ActiveX geschrieben. Es ist jedoch auch jegliche andere Programmiersprache denkbar, mit der ein mobiles Programm erzeugbar ist.
  • Neben dem oben beschriebenen Verfahren betrifft die Erfindung eine Anordnung zur Übertragung von mobilen Programmen, wobei mit der Anordnung das erfindungsgemäße Verfahren durchführbar ist. Die Anordnung umfasst einen ersten Rechner und einen zweiten Rechner, wobei auf dem zweiten Rechner das mobile Programm ausführbar ist. Die Anordnung ist derart ausgestaltet, dass das mobile Programm von dem ersten Rechner auf den zweiten Rechner ladbar ist, wobei eine oder mehrere Policies gespeichert sind, welche eine Menge an Zugriffsrechten des mobilen Programms auf von dem mobilen Programm zu verarbeitenden Daten festlegen, wobei die Policies auf den zweiten Rechner ladbar sind. Ferner umfassen die verwendeten Policies eine oder mehrere für den Benutzer des Programms anzeigbare Erklärungen, wobei die Erklärungen Informationen betreffend die Ausführung des Programms mit den durch die Policies festgelegten Zugriffsrechten beinhalten. Diese Erklärungen werden vor der Ausführung des Programms dem Benutzer angezeigt.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung dargestellt und erläutert.
  • Es zeigt
  • 1 den schematischen Aufbau einer Anordnung, mit der das erfindungsgemäße Verfahren durchführbar ist.
  • Die in 1 gezeigte Anordnung zur Übertragung von mobilen Programmen umfasst einen ersten Rechner 1, einen zweiten Rechner 2 sowie einen dritten Rechner 3. Auf dem ersten Rechner 1 wird das mobile Programm MC (MC = Mobile Code) bereitgestellt, welches über eine Datenverbindung 4 an den Rechner 2 übertragen wird. Der Rechner 2 stellt einen Personal Computer eines Benutzers dar, wobei auf dem Personal Computer die Programme von Rechner 1 ausführbar sind. Die Datenverbindung 4 ist eine gesicherte Datenverbindung, welche gegenüber Datenmanipulation von außen geschützt ist, beispielsweise durch signierte Übertragung der Daten. Zwischen dem Rechner 1 und dem Rechner 2 besteht eine Vertrauensbeziehung, wobei die Programme in Rechner 1 signiert werden und die Signatur von Rechner 2 überprüft wird.
  • Neben dem Programm MC werden ferner Sicherheits-Policies P in dem dritten Rechner 3 bereitgestellt, wobei die Policies an den Rechner 2 übertragen werden können. Auch zwischen dem Rechner 2 und dem Rechner 3 besteht eine Vertrauensbeziehung, die beispielsweise durch eine Signatur sichergestellt werden kann. Die Policies werden über die Datenverbindung 5 heruntergeladen, welche vorzugsweise eine gesicherte Datenverbindung ist, wobei die Sicherheit beispielsweise durch kryptographische Prüfsummen unter Verwendung eines geheimen Schlüssels gewährleistet ist.
  • Die in dem Rechner 3 gespeicherten Policies legen eine Menge an Zugriffsrechten für entsprechende in dem Rechner 1 gespeicherte mobile Programme fest. Die Policies wurden individuell für jedes mobile Programm erstellt, wobei insbesondere berücksichtigt wurde, welche Zugriffsrechte für ein entsprechendes mobiles Programm unbedingt notwendig sind. Folglich stellt der Rechner 3 für entsprechende mobile Programme optimierte Policies bereit. Die Erstellung der Policies wird somit an einen dritten Rechner übergeben und nicht von dem Benutzer des Rechners 2 selbst vorgenommen.
  • Bei der Erstellung der Policies wurde darüber hinaus sichergestellt, dass der Benutzer des mobilen Programms den Inhalt der Policies auch verstehen kann. Deshalb enthalten die Policies für den Benutzer bestimmte Erklärungen, wobei die Erklärungen Informationen betreffend die Ausführung des mobilen Programms mit den durch die Policies festgelegten Zugriffsrechten beinhalten. Diese Erklärungen werden dem Benutzer vor der Ausführung des Programms angezeigt.
  • Zur Übertragung eines mobilen Programms von dem Rechner 1 auf den Rechner 2 wird das mobile Programm über die Datenverbindung 4 auf den Rechner 2 heruntergeladen. Ferner werden Identifikationsdaten ID des Programms über eine Datenverbindung 6 an den Rechner 3 übertragen. Bei der Datenverbindung 6 handelt es sich vorzugsweise um eine gesicherte Datenverbindung. In dem Rechner 2 werden die Identifikationsdaten des mobilen Programms entsprechenden Policies zugeordnet, mit denen das mobile Programm ausführbar ist. Die Policies werden anschließend zusammen mit den Identifikationsdaten ID über die Datenverbindung 5 an den Rechner 2 heruntergeladen.
  • Auf dem Rechner 2 sind schließlich das mobile Programm MC sowie entsprechende zu dem Programm gehörige Policies P gespeichert. Der Benutzer kann sich dann die für ihn bestimmten Erklärungen in den Policies anschauen und entscheiden, mit welcher Policy er das mobile Programm ausführen will. Die Erklärungen können beispielsweise bei einem Internet-Banking-Programm lauten: "Sie können mit diesem Programm Banktransaktionen sicher durchführen". Der Benutzer weiß dann, dass mit der Policy ein sicherer Datentransfer für Banktransaktionen gewährleistet ist und er kann anschließend das Programm mit den durch die Policies festgelegten Zugriffsrechten ausführen. Ferner besteht die Möglichkeit, dass der Benutzer entsprechend der Informationen aus den Erklärungen der Policies eine für ihn geeignete Policy gemäß seinem Sicherheitsbedürfnis auswählt.
  • Mit dem erfindungsgemäßen Verfahren wird dem Benutzer somit ermöglicht, die Erstellung von Policies an eine vertrauenswürdige dritte Stelle (im vorliegenden Fall dem Rechner 3) zu übertragen, wobei der Inhalt der Policies transparent dem Benutzer wiedergegeben wird. Hierdurch wird dem Benutzer eines mobilen Programms ein Werkzeug bereitgestellt, mit dem er Informationen über sicherheitskritische Programmoperationen erhält.
  • Literaturverzeichnis:
    • [1] Peter Trommler: "The Application Profile Model: A Security Model for Downloaded Executable Content"; Dissertation an der wirtschaftswissenschaftlichen Fakultät der Universität Zürich; Dezember 1999
    • [2] R. Anand et al., "A Flexible Security Model for Using Internet Content", in: Proc. 17th Symp. On Reliable Distributed Systems, 1997, IEEE, S. 89–96
    • [3] A. Corradi et al., "A Flexible Access Control for Java Mobile Code", in: Proc. 16th Annual Conf. On Computer Security Applications, 2000, IEEE, S. 356–365
    • [4] E. Bertino et al., "Securing XML Documents with Author-X", in: IEEE Internet Computing, 2001, Vol. 5, Issue 3, S. 21–31

Claims (17)

  1. Verfahren zur Übertragung von mobilen Programmen (MC) von einem ersten Rechner (1) auf einen zweiten Rechner (2), auf dem das mobile Programm (MC) ausführbar ist, wobei: – das mobile Programm (MC) von dem ersten Rechner (1) auf den zweiten Rechner (2) geladen wird; – eine oder mehrere Policies (P) auf den zweiten Rechner (2) geladen werden, wobei die Policies (P) eine Menge an Zugriffsrechten des mobilen Programms (MC) auf von dem mobilen Programm (MC) zu verarbeitenden Daten festlegen; – die Policies (P) eine oder mehrere für den Benutzer des mobilen Programs (MC) anzeigbare Erklärungen umfassen, wobei die Erklärungen Informationen betreffend die Ausführung des mobilen Programms (MC) mit den durch die Policies (P) festgelegten Zugriffsrechten beinhalten; – die Erklärungen vor der Ausführung des Programms (MC) dem Benutzer angezeigt werden.
  2. Verfahren nach Anspruch 1, bei dem die Erklärungen sicherheitskritische Programmoperationen des mobilen Programms (MC) betreffen.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Policies (P) Erklärungen für unterschiedliche Benutzerzielgruppen enthalten.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem – Identifikationsdaten (ID) zur Identifikation des mobilen Programms (MC) von dem ersten Rechner (1) an einen dritten Rechner (3) übertragen werden, wobei der dritte Rechner (3) auf die Policies (P) Zugriff hat; – wenigstens eine der Policies (P) und die Identifikationsdaten (ID) mit einer Signatur versehen werden, wobei mit der Signatur erklärt wird, dass sich ein mobiles Programm (MC), das mit den Identifikationsdaten (ID) identifizierbar ist, gemäß den Erklärungen der wenigstens einen Policy (P) verhält; – die mit der Signatur versehenen Policies (P) und die mit der Signatur versehenen Identifikationsdaten (ID) an den zweiten Rechner (2) übertragen werden.
  5. Verfahren nach Anspruch 4, bei welchem dem mobilen Programm (MC) eine URL-Adresse (URL = Uniform Resource Locator) zugeordnet ist und das mobile Programm (MC) in dem ersten Rechner (1) mit einer digitalen Unterschrift versehen bereitgestellt wird, wobei die Identifikationsdaten (ID) das zur digitalen Unterschrift gehörige Zertifikat und die URL-Adresse umfassen.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Policies (P) von einem dritten Rechner (3) unter Verwendung des mobilen Programms (MC) und einer Menge an vorgegebenen Zugriffsrechten und Erklärungen erstellt werden.
  7. Verfahren nach Anspruch 6, bei dem die Menge an vorgegebenen Zugriffsrechten und Erklärungen auf dem dritten Rechner (3) gespeichert ist.
  8. Verfahren nach Anspruch 6, bei dem die Menge an vorgegebenen Erklärungen auf dem dritten Rechner (3) gespeichert ist und die Menge an vorgegebenen Zugriffsrechten auf dem ersten Rechner (1) gespeichert ist, wobei die Menge an vorgegebenen Zugriffsrechten von dem dritten Rechner abrufbar ist.
  9. Verfahren nach Anspruch 6, bei dem die Menge an vorgegebenen Zugriffsrechten auf dem dritten Rechner (3) gespeichert ist und die Menge an vorgegebenen Erklärungen auf einem weiteren Rechner gespeichert ist, wobei die Menge an vorgegebenen Erklärungen von dem dritten Rechner abrufbar ist.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das mobile Programm über eine gegen Datenmanipulation gesicherte Verbindung übertragen und der erste Rechner mit einem Identifikationsverfahren identifiziert wird.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem für vorgegebene Programmanwendungen und/oder vorgegebene Benutzerzielgruppen spezifische Policies erstellt werden, wobei das mobile Programm (MC) mit den spezifischen Policies ausführbar ist und die spezifischen Policies (P) von einem Benutzer auswählbar sind.
  12. Verfahren nach Anspruch 11, bei dem die spezifischen Policies für die Benutzerzielgruppen spezifische Zugriffsrechte umfassen.
  13. Verfahren nach Anspruch 11 oder 12, bei dem in Abhängigkeit von einem vom Benutzer eingegebenen Programm-Anwendungsprofil eine für das Programm-Anwendungsprofil geeignete Policy ermittelt wird.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem wenigstens eine der Policies (P) zusammen mit dem mobilen Programm (P) von dem ersten Rechner (1) auf den zweiten Rechner (2) geladen wird.
  15. Verfahren nach einem der Ansprüche 1 bis 13, bei dem wenigstens eine der Policies von einem dritten Rechner (3) auf den zweiten Rechner (2) geladen wird.
  16. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das mobile Programm (MC) in einer Progammiersprache ausgewählt aus JavaTM, Safe-TclTM, CamlTM, MicrosoftTM Authenticode, MicrosoftTM ActiveX geschrieben ist.
  17. Anordnung zur Übertragung von mobilen Programmen (MC), mit der ein Verfahren nach einem der vorhergehenden Ansprüche durchführbar ist, umfassend einen ersten Rechner (1) und einen zweiten Rechner (2), auf dem das mobile Programm (MC) ausführbar ist, wobei die Anordnung derart ausgestaltet ist, dass: – das mobile Programm (MC) von dem ersten Rechner (1) auf den zweiten Rechner (2) ladbar ist; – eine oder mehrere Policies (P) gespeichert sind, welche eine Menge an Zugriffsrechten des mobilen Programms (MC) auf von dem mobilen Programm (MC) zu verarbeitenden Daten festlegen, wobei die Policies auf den zweiten Rechner (2) ladbar sind; – die Policies (P) eine oder mehrere dem Benutzer des mobilen Programms (MP) anzeigbare Erklärungen umfassen, wobei die Erklärungen Informationen betreffend die Ausführung des Programms (MC) mit den durch die Policies (P) festgelegten Zugriffsrechten beinhalten; – die Erklärungen vor der Ausführung des Programms (MC) dem Benutzer anzeigbar sind.
DE10310372A 2003-03-10 2003-03-10 Verfahren zur Übertragung von mobilen Programmen Expired - Fee Related DE10310372B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10310372A DE10310372B4 (de) 2003-03-10 2003-03-10 Verfahren zur Übertragung von mobilen Programmen
US10/795,581 US20050021953A1 (en) 2003-03-10 2004-03-09 Method for transferring mobile programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10310372A DE10310372B4 (de) 2003-03-10 2003-03-10 Verfahren zur Übertragung von mobilen Programmen

Publications (2)

Publication Number Publication Date
DE10310372A1 DE10310372A1 (de) 2004-10-07
DE10310372B4 true DE10310372B4 (de) 2005-02-03

Family

ID=32945851

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10310372A Expired - Fee Related DE10310372B4 (de) 2003-03-10 2003-03-10 Verfahren zur Übertragung von mobilen Programmen

Country Status (2)

Country Link
US (1) US20050021953A1 (de)
DE (1) DE10310372B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307288B1 (en) * 2006-12-05 2012-11-06 David Gene Smaltz Active forms content delivery service for entites and mobile networked device users (active forms)
KR100938063B1 (ko) * 2008-05-27 2010-01-21 삼성에스디아이 주식회사 플라즈마 디스플레이 장치 및 그 구동 방법
EP2273407A1 (de) * 2009-07-06 2011-01-12 Gemalto SA Securitisation for localising a remote code using the addressee's fingerprint
US8825748B2 (en) * 2011-07-06 2014-09-02 Sharp Laboratories Of America, Inc. Sandboxed daemon process invocation through HTTP
US9071347B2 (en) * 2012-08-21 2015-06-30 Google Technology Holdings LLC Electronic device and method for transferring information from one device to another device
EP3532863A4 (de) * 2016-10-31 2020-06-03 Gerard Dirk Smits Schnell abtastender lidar mit dynamischer voxel-sondierung

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058822B2 (en) * 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US5995756A (en) * 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANAND, R., et al.: A Flexible Security Model for Using Internet Content. In: Proc. 17th Symp. on Reliable Distributed Systems, 1997, IEEE, S.89-96 *
BERTINO, E., et al.: Securing XML Documents with Author-X. In: IEEE Internet Computing, 2001, Vol. 5, Issue 3, S. 21-31 *
CORRADI, A., et al.: A Flexible Access Control for Java Mobile Code. In: Proc. 16th Annual Conf. on Computer Security Applications, 2000, IEEE, S. 356-365
ORRADI, A., et al.: A Flexible Access Control for Java Mobile Code. In: Proc. 16th Annual Conf. on Computer Security Applications, 2000, IEEE, S. 356-365 *

Also Published As

Publication number Publication date
DE10310372A1 (de) 2004-10-07
US20050021953A1 (en) 2005-01-27

Similar Documents

Publication Publication Date Title
DE602004008413T2 (de) Vorrichtung und Verfahren zur dynamischen Sicherheitsverwaltung
EP3437012B1 (de) Verfahren, prozessor und gerät zur integritätsprüfung von nutzerdaten
EP3557463B1 (de) Verfahren und ausführungsumgebung zum ausführen von programmcode auf einem steuergerät
DE60212969T3 (de) Verfahren und vorrichtung zum verfolgen des status eines betriebsmittels in einem system zur verwaltung der benutzung der betriebsmittel
DE10310372B4 (de) Verfahren zur Übertragung von mobilen Programmen
EP3369027A1 (de) Verfahren und sicherheitsmodul zum bereitstellen einer sicherheitsfunktion für ein gerät
DE10340411B4 (de) Vorrichtung und Verfahren zur sicheren Ausführung eines Programms
EP0657820A1 (de) Verfahren zum Verhindern einer unberechtigten Datenänderung bei einer Vorrichtung mit einem nichtflüchtigen Speicher
EP3937039A1 (de) Verfahren zur erweiterten validierung eines containerabbilds
EP3497606B1 (de) Individuelles verschlüsseln von steuerbefehlen
WO2004114131A1 (de) Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
WO2009059935A1 (de) Daten verarbeitende vorrichtung und verfahren zum betreiben einer daten verarbeitenden vorrichtung
EP3373180A1 (de) Verfahren und computer mit einer sicherung gegen cyberkriminelle bedrohungen
EP1892639B1 (de) Sichere Programmcodeausführung
DE19709975C2 (de) Mikrocomputer
DE102005056357A1 (de) Multithreading-fähige virtuelle Maschine
EP3745287A1 (de) Schützen einer softwareapplikation
EP4080296B1 (de) Verfahren zum durchführen einer sicheren konfigurationsaktualisierung eines elektronischen geräts
DE102011111698A1 (de) Verfahren zum Log-in an einem Computersystem sowie Computerprogramm zum Ablauf auf einem Computersystem
EP4328772A1 (de) Kaskadiert signierbares artefakt einer container-instanz
EP3673614B1 (de) Verfahren und validierungseinrichtung zum validieren eines digitalen zertifikats
DE102008039121A1 (de) Verfahren zur Codierung einer Zeichenkette für ein Fahrzeug sowie entsprechend ausgestaltetes Steuergerät und Fahrzeug
EP3101875A1 (de) Ändern von einstellungen einer auf einem mobilen endgerät laufenden applikation
EP4312137A1 (de) Berechtigung zu einem installieren und/oder einem starten eines zweiten anwendungsprogramms

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee