EP1155366B2

Techniques for permitting access across a context barrier on a small footprint device using an entry point object

Abstract

A small footprint device can securely run multiple programs from unrelated vendors by the inclusion of a context barrier isolating the execution of the programs. The context barrier performs security checks to see that principal and object are within the same namespace or memory space and to see that a requested action is appropriate for an object to be operated upon. Each program or set of programs runs in a separate context. Access from one program to another program across the context barrier can be achieved under controlled circumstances by using an entry point object. The entry point object can either perform accesses across the context barrier on behalf of a requesting program or can pass the request to the program to be accessed and switch contexts to the program to be accessed.

EP1155366B2, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Expired 20 January 2020, 6.7 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

16 claims: 16 independent, 0 dependent

  1. 1
    A method for operating a small footprint device (400) that includes a processing machine (410), wherein program modules are executed on the processing machine, characterized by:executing groups of one or more program modules in separate contexts (420, 620;760, 770, 730;1000, 1010, 1020),providing a context barrier (600;600') for separating and isolating the contexts and for controlling the access of a program module executing in one context to information and/or a program module executing in another context, andproviding an entry point object (1210) in at least one of the contexts, wherein the access from a program module executing in a different context to the entry point object (1210) is at least partially allowed, wherein said entry point object (1210) is a temporary entry point object, attempts to store references to said temporary entry point object being detected and restricted as a part of context barrier functionallity to prevent unauthorized re-use. Méthode d'utilisation d'un dispositif à faible encombrement (400) qui inclut une machine de traitement (410), dans laquelle des modules de programme sont exécutés dans la machine de traitement, caractérisée par : l'exécution de groupes d'un ou plusieurs modules de programme dans des contextes séparés (420, 620 ;760, 770, 730 ;1000, 1010, 1020),création d'une barrière de contexte (600 ;600') destinée à séparer et à isoler les contextes et à contrôler l'accès d'un module de programme qui s'exécute dans un contexte aux informations et/ou à un module de programme qui s'exécute dans un autre contexte, etcréation d'un objet point d'accès (1210) dans au moins un des contextes où l'accès d'un module de programme qui s'exécute dans un contexte différent à l'objet point d'accès (1210) est permis, au moins partiellement, dans lequel ledit objet point d'accès (1210) est un objet point d'accès temporaire, des tentatives de stockage de références audit objet point d'accès temporaire étant détectées et limitées en tant que partie de fonctionnalité de barrière de contexte pour empêcher une nouvelle utilisation non autorisée. Verfahren zum Betrieb eines Geräts mit kleinem Platzbedarf (400), das eine Verarbeitungsmaschine (410) umfasst, wobei Programmmodule auf der Verarbeitungsmaschine ausgeführt werden, gekennzeichnet durch:Ausführen von Gruppen von einem oder mehreren Programmmodulen in separaten Kontexten (420, 620;760, 770, 780;1000, 1010, 1020),Bereitstellen einer Kontextsperre (600;600') zum Trennen und Isolieren der Kontexte und zum Steuern des Zugriffs eines Programmmoduls, das in einem Kontext ausgeführt wird, auf Informationen und/oder ein Programmmodul, das in einem anderen Kontext ausgeführt wird, undBereitstellen eines Eingangspunktobjektes (1210) in wenigstens einem der Kontexte, wobei der Zugriff eines Programmmoduls, das in einem anderen Kontext ausgeführt wird, auf das Eingangspunktobjekt (1210) wenigstens teilweise erlaubt ist, wobei das Eingangspunktobjekt ein temporäres Eingangspunktobjekt ist, wobei Versuche, Referenzen im Eingangspunktobjekt zu speichern, gelöscht und beschränkt werden als Teil der Kontextsperrenfunktionalität, um nichtautorisierten Wiedergebrauch zu verhindern.
  2. 2
    Méthode selon la revendication 1, caractérisée en ce que ledit objet point d'accès (1210) comprend des champs et des méthodes et en ce que ledit accès est libéré si ledit accès est un accès à l'une des méthodes de l'objet point d'accès,et en ce que ledit accès est bloqué si ledit accès est un accès à l'un des champs de l'objet point d'accès. The method of claim 1 wherein said entry point object (1210) comprises fields and methods and wherein said access is enabled if said access is an access to one of the methods of the entry point object and wherein said access is prevented if said access is an access to one of the fields of the entry point object. Verfahren nach Anspruch 1, wobei das Eingangspunktobjekt (1210) Felder und Methoden umfasst und wobei der Zugriff ermöglicht wird, wenn der Zugriff ein Zugriff auf eine der Methoden des Eingangspunktobjekts ist, und wobei der Zugriff verhindert wird, wenn der Zugriff ein Zugriff auf eines der Felder des Eingangspunktobjekts ist.
  3. 3
    Méthode selon l'une des revendications précédentes, dans laquelle l'autorisation dudit accès à l'objet point d'accès (1210) comprend au moins un contrôle de sécurité. The method of one of the preceding claims wherein the authorization of said access to the entry point object (1210) includes at least one security check. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Autorisierung des Zugriffs auf das Eingangspunktobjekt (1210) wenigstens eine Sicherheitsprüfung einschließt.
  4. 4
    Méthode selon l'une quelconque des revendications précédentes, dans laquelle ladite méthode comprend en outre l'affectation d'un espace de nom séparé à chaque contexte. The method of one of the preceding claims wherein said method further comprises allocating separate respective name spaces for each context. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren des Weiteren das Zuordnen jeweiliger separater Namensstellen für jeden Kontext umfasst.
  5. 5
    Méthode selon l'une quelconque des revendications précédentes, dans laquelle ladite méthode comprend en outre l'affectation d'un espace en mémoire à chaque contexte. The method of one of the preceding claims wherein said method further comprises allocating separate respective memory spaces for each context. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren des Weiteren das Zuordnen jeweiliger separater Speicherstellen für jeden Kontext umfasst.
  6. 6
    Méthode selon l'une quelconque des revendications précédentes, caractérisée en ce que ledit contrôle de l'accès d'un module de programme qui s'exécute dans un contexte à des informations et/ou un module de programme qui s'exécute dans un autre contexte par ladite barrière de contexte (600 ;600') comprend en outre le blocage de l'accès si l'accès n'est pas autorisé et la libération de l'accès si l'accès est autorisé. The method of one of the preceding claims wherein said controlling of the access of a program module executing in one context to information and/or a program module executing in another context by said context barrier (600;600') further comprises preventing the access if the access is unauthorized and enabling the access if the access is authorized. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Steuern des Zugriffs eines Programmmoduls, das in einem Kontext ausgeführt wird, auf Informationen und/oder ein Programmmodul, das in einem anderen Kontext ausgeführt wird, durch die Kontextsperre (600;600') des Weiteren das Verhindern des Zugriffs, wenn der Zugriff nicht autorisiert ist, und das Ermöglichen des Zugriffs, wenn der Zugriff autorisiert ist, umfasst.
  7. 7
    Méthode selon l'une quelconque des revendications précédentes, caractérisée en ce que la machine de traitement (410) comprend une machine virtuelle (720) fonctionnant sur un processeur (300). The method of one of the preceding claims wherein the processing machine (410) comprises a virtual machine (720) running on a processor (300). Verfahren nach einem der vorhergehenden Ansprüche, wobei die Verarbeitungsmaschine (410) eine virtuelle Maschine (720) umfasst, die auf einem Prozessor (300) läuft.
  8. 8
    A computer program product embodying a program of instructions for operating a small footprint device (400) according to one of the method claims 1 to 7. Computerprogrammprodukt, das ein Programm von Befehlen für den Betrieb eines Geräts mit kleinem Platzbedarf (400) gemäß einem der Verfahrensansprüche 1 bis 7 enthält. Produit de programmation informatique réalisant un programme d'instructions pour le fonctionnement d'un dispositif à faible encombrement (400) utilisant la méthode selon l'une des revendications 1 à 7.
  9. 9
    A small footprint device (400) that includes a processing machine (410), wherein program modules are executed on the processing machine, characterized by:means for executing groups of one or more program modules in separate contexts (420, 620;760, 770, 780;1000, 1010, 1020),a context barrier (600;600') for separating and isolating the contexts and for controlling the access of a program module executing in one context to information and/or a program module executing in another context, andmeans for creating at least one temporary entry point object (1210), the temporary entry point object being located in one of the contexts, wherein the access from a program module executing in a different context to the temporary entry point object (1210) is at least partially allowed, attempts to store references to said temporary entry point object being detected and restricted as a part of context barrier functionallity to prevent unauthorized re-use. Dispositif à faible encombrement (400) comprenant une machine de traitement (410) dans lequel des modules de programme sont exécutés sur la machine de traitement, caractérisé en ce qu'il comprend : des moyens pour exécuter des groupes d'un ou de plusieurs modules de programme dans des contextes séparés (420, 620 ;760, 770, 780 ;1000, 1010, 1 020),une barrière de contexte (600 ;600') destinée à séparer et à isoler les contextes et à contrôler l'accès d'un module de programme qui s'exécute dans un contexte des informations et/ou un module de programme qui s'exécute dans un autre contexte, etdes moyens pour créer au moins un objet point d'accès temporaire (1210) l'objet point d'accès temporaire ayant lieu dans un des contextes, où l'accès dans le module de programme qui s'exécute dans un contexte différent à l'objet point d'accès temporaire (1210) est permis au moins partiellement, des tentatives de stocker des références audit objet point d'accès temporaire étant détectées et limitées en tant que partie de la fonctionnalité de barrière de contexte afin d'empêcher une nouvelle utilisation non autorisée. Gerät mit kleinem Platzbedarf (400), das eine Verarbeitungsmaschine (410) umfasst, wobei Programmmodule auf der Verarbeitungsmaschine ausgeführt werden, gekennzeichnet durch:Mittel zum Ausführen von Gruppen von einem oder mehreren Programmmodulen in separaten Kontexten (420, 620;760, 770, 780;1000, 1010, 1020),eine Kontextsperre (600;600') zum Trennen und Isolieren der Kontexte und zum Steuern des Zugriffs eines Programmmoduls, das in einem Kontext ausgeführt wird, auf Informationen und/oder ein Programmmodul, das in einem anderen Kontext ausgeführt wird, undMittel für die Erzeugung wenigstens eines temporären Eingangspunktobjekts (1210), wobei sich das temporäre Eingangspunktobjekt in einem der Kontexte befindet, wobei der Zugriff aus einem Programmmodul, das in einem anderen Kontext ausgeführt wird, auf das temporäre Eingangspunktobjekt (1210) wenigstens teilweise erlaubt ist, wobei Versuche, Referenzen im Eingangspunktobjekt zu speichern, gelöscht und beschränkt werden als Teil der Kontextsperrenfunktionalität, um nichtautorisierten Wiedergebrauch zu verhindern.
  10. 10
    Dispositif à faible encombrement selon la revendication 9, caractérisé en ce que ledit objet point d'accès (1210) comprend des champs et des méthodes et en ce que ledit accès est libéré si ledit accès est un accès à une des méthodes de l'objet point d'accès et en ce que ledit accès est bloqué si ledit accès est un accès à un des champs de l'objet point d'accès. Gerät mit kleinem Platzbedarf nach Anspruch 9, wobei das Eingangspunktobjekt (1210) Felder und Methoden umfasst und wobei der Zugriff ermöglicht wird, wenn der Zugriff ein Zugriff auf eine der Methoden des Eingangspunktobjekts ist, und wobei der Zugriff verhindert wird, wenn der Zugriff ein Zugriff auf eines der Felder des Eingangspunktobjekts ist. The small footprint device of claim 9 wherein said entry point object (1210) comprises fields arid methods and wherein said access is enabled if said access is an access to one of the methods of the entry point object and wherein said access is prevented if said access is an access to one of the fields of the entry point object.
  11. 11
    Dispositif à faible encombrement selon la revendication 9 ou 10, caractérisé en ce que ladite autorisation dudit accès à l'objet point d'accès (1210) comprend au moins un contrôle de sécurité. Gerät mit kleinem Platzbedarf nach Anspruch 9 oder 10, wobei die Autorisierung des Zugriffs auf das Eingangspunktobjekt (1210) wenigstens eine Sicherheitsprüfung einschließt. The small footprint device of claim 9 or 10 wherein the authorization of said access to said entry point object (1210) includes at least one security check.
  12. 12
    Dispositif à faible encombrement selon l'une quelconque des revendications 9 à 11, caractérisé en ce qu'il comprend en outre des moyens pour affecter un espace de nom séparé à chaque contexte respectif. Gerät mit kleinem Platzbedarf nach einem der Ansprüche 9 bis 11, wobei das Gerät des Weiteren Mittel für das Zuordnen jeweiliger separater Namensstellen für jeden Kontext umfasst. The small footprint device of one of claims 9 to 11 wherein said device further comprises means for allocating separate respective name spaces for each context.
  13. 13
    Dispositif à faible encombrement selon l'une quelconque des revendications 9 à 12, caractérisé en ce qu'il comporte en outre des moyens pour affecter un espace en mémoire séparé respectif à chaque contexte. Gerät mit kleinem Platzbedarf nach einem der Ansprüche 9 bis 12, wobei das Gerät des Weiteren Mittel für das Zuordnen jeweiliger separater Speicherstellen für jeden Kontext umfasst. The small footprint device of one of claims 9 to 12 wherein said device further comprises means for allocating separate respective memory spaces for each context.
  14. 14
    Dispositif à faible encombrement selon l'une des revendications 9 à 13, caractérisé en outre en ce que ledit contrôle de l'accès d'un module de programme qui s'exécute dans un contexte à des informations et/ou un module de programme qui s'exécute dans un autre contexte par ladite barrière de contexte (600 ;600') comprend en outre le blocage de l'accès si l'accès n'est pas autorisé et la libération de l'accès si l'accès est autorisé. Gerät mit kleinem Platzbedarf nach einem der Ansprüche 9 bis 13, wobei das Steuern des Zugriffs eines Programmmoduls, das in einem Kontext ausgeführt wird, auf Informationen und/oder ein Programmmodul, das in einem anderen Kontext ausgeführt wird, durch die Kontextsperre (600;600') des Weiteren das Verhindern des Zugriffs, wenn der Zugriff nicht autorisiert ist, und das Ermöglichen des Zugriffs, wenn der Zugriff autorisiert ist, umfasst. The small footprint device of one of claims 9 to 13 wherein said controlling of the access of a program module executing in one context to information and/or a program module executing in another context by said context barrier (600;600') further comprises preventing the access if the access is unauthorized and enabling the access if the access is authorized.
  15. 15
    Dispositif à faible encombrement selon l'une des revendications 9 à 14, caractérisé en ce que la machine de traitement (410) comprend une machine virtuelle (720) fonctionnant sur un processeur (300). Gerät mit kleinem Platzbedarf nach einem der Ansprüche 9 bis 14, wobei die Verarbeitungsmaschine (410) eine virtuelle Maschine (720) umfasst, die auf einem Prozessor (300) läuft. The small footprint device of one of claims 9 to 14 wherein the processing machine (410) comprises a virtual machine (720) running on a processor (300).
  16. 16
    Use of a network for transmitting code from a server over a communications link, the code comprising instructions for operating a small footprint device (400) according to one of the method claims 1 to 7. Utilisation d'un réseau pour la transmission de code à partir d'un serveur via une liaison de télécommunications, dans laquelle le code comprend des instructions pour le fonctionnement d'un dispositif à faible encombrement (400) utilisant la méthode selon l'une quelconque des revendications 1 à 7. Verwendung eines Netzwerks zur Übertragung von Code von einem Server über eine Kommunikationsverbindung, wobei der Code Anweisungen zum Betrieb eines Geräts mit kleinem Platzbedarf (400) gemäß einem der Verfahrensansprüche 1 bis 7 umfasst.
Independent claims16