EP1442370A1 - Installation de programme compile notamment dans une carte a puce - Google Patents

Installation de programme compile notamment dans une carte a puce

Info

Publication number
EP1442370A1
EP1442370A1 EP02790528A EP02790528A EP1442370A1 EP 1442370 A1 EP1442370 A1 EP 1442370A1 EP 02790528 A EP02790528 A EP 02790528A EP 02790528 A EP02790528 A EP 02790528A EP 1442370 A1 EP1442370 A1 EP 1442370A1
Authority
EP
European Patent Office
Prior art keywords
compiled program
program
compiled
pgc
processing device
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.)
Withdrawn
Application number
EP02790528A
Other languages
German (de)
English (en)
Inventor
Lilian Burdy
Ludovic Casset
Damien Deville
Antoine Requet
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
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 Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Publication of EP1442370A1 publication Critical patent/EP1442370A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the method comprises the step of removing the second additional component in the data processing device before any execution of the compiled program.
  • FIG. 1 there is conventionally a client / server system comprising software means for the implementation of the program installation method according to the invention.
  • the client and the server are connected through a telecommunications network of internet RES type.
  • the electronic terminal TE can be a personal electronic computer PC, or a banking terminal, or a point of sale terminal.
  • the terminal TE and the smart card CA can be a mobile cellular radiotelephone terminal and a removable telephone subscriber identity module SIM (Subscriber Identity Module).
  • the data processing device can be a portable electronic object such as a personal digital assistant PDA (Personal Digital Assistant) or an electronic purse linked by modem to the telecommunications network RES.
  • the source program PG to be loaded and executed in the smart card CP was initially written in a high level language of the object oriented type such as the Java language, or more particularly the Java Card language.
  • the second additional component CAD2 includes predetermined format and typing information which are only used for the verification of the PGC compiled program, and which cannot be accessed by another compiled program, i.e. by another class or another package or interface not belonging to the PGC compiled program, and thus constitutes an "internal" descriptor component.

Abstract

Pour réduire l'emplacement de mémoire d'un programme compilé (PGC) à installer dans un dispositif de traitement de données, tel que carte à puce (CP), des informations d'installation détectées dans le programme compilé respectivement nécessaires également à l'installation d'autres programmes dans le dispositif et nécessaires seulement à l'installation du programme compilé sont reformulées en des premier et deuxième composants additionnels (CAD1, CAD2). Le programme compilé est installé (C3, C4), notamment vérifié, en dépendance des informations prédéterminées dans les composants additionnels (CAD1, CAD2) dans le dispositif. Le deuxième composant additionnel (CAD2) peut être ensuite supprimé (C5) préalablement à toute exécution du programme compilé.

Description

Installation de programme compilé notamment dans une carte à puce
La présente invention concerne l'installation d'un programme compilé en langage intermédiaire, tel qu'une application ou une bibliothèque de services, qui a été écrit initialement dans un langage de haut niveau orienté objet et qui doit être téléchargé et exécuté dans un dispositif de traitement de données de faible capacité de mémoire et de traitement. Le dispositif de traitement de données est par exemple un objet électronique portable tel qu'une carte à puce.
Plus particulièrement, l'invention a trait au processus de vérification d'un programme compilé chargé dans le dispositif de traitement de données, lors de son installation dans celui-ci.
Il est connu qu'un vérificateur de code dans le dispositif de traitement de données vérifie les propriétés de sécurité de bas niveau dans un programme compilé chargé afin d'assurer que le code chargé ne puisse pas influencer les mécanismes de sécurité du dispositif de traitement inclus notamment dans l'interpréteur et les moyens de gestion de mémoire. La vérification consiste principalement à analyser le code chargé, comparer des informations contenues dans le programme compilé et à conserver certaines d'entre elles. Toutefois, l'intégration d'un vérificateur de code dans un dispositif de traitement, comme une carte à puce, dont les ressources sont relativement limitées pose des problèmes de mémoire aussi bien en termes de dimensionnement de la mémoire que du temps nécessaire pour effectuer les opérations de vérification. Pour améliorer l'intégration d'un vérificateur de programme compilé en langage intermédiaire, le programme compilé peut être modifié à l'extérieur du dispositif de traitement tout en assurant que le programme ait la même signification mais facilite la vérification. Toutefois, la modification du programme compilé ne le rend pas compatible avec les dispositifs de traitement qui étaient aptes à le recevoir initialement sans changement.
La présente invention a pour objectif de rendre plus rapide l'installation d'un programme compilé dans un dispositif de traitement de données, sans modifier l'interprétation du programme.
Pour atteindre cet objectif, un procédé pour installer un programme constitué de plusieurs composants et compilé à l'extérieur d'un dispositif de traitement de données pour être exécuté dans celui-ci, est caractérisé en ce qu'il comprend les étapes de : détecter à l'extérieur du dispositif de traitement de données, des informations prédéterminées d'installation dans les composants du programme compilé,
- construire des premier et deuxième composants additionnels contenant des informations prédéterminées détectées respectivement qui sont reformulées et nécessaires également à l'installation d'autres programmes dans le dispositif de traitement de données et qui sont reformulées et ne sont nécessaires qu'à l'installation dudit programme compilé, charger depuis l'extérieur le programme compilé et les premier et deuxième composants additionnels dans le dispositif de traitement de données, et installer le programme compilé chargé en dépendance des informations prédéterminées reformulées dans les premier et deuxième composants additionnels .
Ainsi, l'invention n'ajoute pas de l'information au programme compilé à exécuter et est une solution efficace pour accéder rapidement à des informations nécessaires à l'installation du programme grâce à une optimisation en termes de temps d'accès et de mémoire du processus de vérification du programme compilé.
Afin de réduire la taille de l'emplacement de mémoire occupée par le programme compilé après son installation, le procédé comprend l'étape de supprimer le deuxième composant additionnel dans le dispositif de traitement de données préalablement à toute exécution du programme compilé.
En outre, les informations prédéterminées dans le programme compilé chargé ne peuvent pas être en partie mémorisées.
Selon un autre aspect de l'invention, de manière à adapter à tout dispositif de traitement de données d'une catégorie, telle que carte à puce, le procédé de l'invention et particulièrement le prétraitement du programme compilé comportant les étapes de détecter et construire effectuées à l'extérieur du dispositif de traitement, le procédé comprend une reconnaissance des premier et deuxième composants additionnels dans le dispositif de traitement de données afin de ne mémoriser que le programme compilé chargé et ne pas mémoriser les composants additionnels si ces derniers ne sont pas reconnus par le dispositif de traitement de données, et de mémoriser le programme compilé sans les informations prédéterminées détectées mais avec les composants additionnels si ces derniers sont reconnus par le dispositif de traitement de données.
Selon une réalisation préférée, les informations prédéterminées détectées peuvent être relatives au format et au typage du programme compilé, et l'étape d' installer comprend une étape de vérifier le format du programme compilé chargé et une étape de vérifier le typage du programme compilé chargé en dépendance des informations prédéterminées reformulées.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention en référence à la figure unique 1 qui est un bloc-diagramme d'un système à serveur et client du type carte à puce dans un terminal d'accueil, dans lesquels les principales étapes du procédé d'installation de programme compilé selon l'invention sont montrées.
Dans la figure 1, on retrouve d'une manière classique un système client/serveur comprenant des moyens logiciels pour la mise en oeuvre du procédé d'installation de programme selon l'invention. Le client et le serveur sont reliés à travers un réseau de télécommunications de type internet RES .
Le client est un dispositif de traitement de données ayant une faible capacité de mémoire et de traitement de données. Typiquement, le client est un objet électronique portable du type carte à puce CP, dite également carte à microcontrôleur ou à circuit intégré, logée d'une manière amovible dans un lecteur d'un terminal d'accueil TE. La carte à puce à laquelle on se référera dans la suite en tant qu'exemple de dispositif de traitement de données est de n' importe quel type connu de carte à puce à contact ou sans contact, et peut être une carte de paiement, une carte téléphonique, une carte additionnelle, une carte de jeu, etc.
Le terminal électronique TE peut être un ordinateur électronique personnel PC, ou un terminal bancaire, ou un terminal point de vente. Selon une autre variante, le terminal TE et la carte à puce CA peuvent être un terminal radiotéléphonique cellulaire mobile et un module d'identité d'abonné téléphonique amovible SIM (Subscriber Identity Module) . Selon encore d'autres variantes, le dispositif de traitement de données peut être un objet électronique portable tel qu'un assistant numérique personnel PDA (Personal Digital Assistant) ou un porte-monnaie électronique relié par modem au réseau de télécommunications RES .
Les blocs fonctionnels représentés dans la figure 1 concernent des fonctions ayant un lien avec l'invention et pouvant correspondre à des modules logiciels et/ou matériels implantés respectivement dans le serveur SE et la carte à puce CP . La figure 1 montre également des étapes d'installation de programme compilé selon l'invention qui sont réalisées respectivement par des blocs fonctionnels dans le serveur et la carte à puce CP.
Le terminal d'accueil TE est considéré comme transparent au procédé d'installation, c'est-à-dire n' intervient pas directement dans le traitement relatif à l'installation d'un programme compilé.
Le serveur SE, en tant que moyen électronique externe à la carte CP, est par exemple le serveur d'un site internet appartenant à l'éditeur de la carte CP, ou bien à l'éditeur d'un programme source PG à télécharger dans la carte CP.
Il sera supposé ci-après que le programme source PG à charger et exécuter dans la carte à puce CP a été écrit initialement dans un langage de haut niveau du type orienté objet tel que le langage Java, ou plus particulièrement le langage Java Card.
D'une manière connue, le serveur SE comprend un compilateur CM qui convertit le programme PG en langage source Java Card en un programme compilé PGC en langage intermédiaire, appelé également pseudocode, composé de mots d'instruction formés par des octets, appelés bytecodes, qui sont prêts à être exécutés par un interpréteur IT constituant la machine virtuelle Java Card dans la carte à puce CP .
Au sens de l'invention, le programme compilé PGC est une application, c'est-à-dire un fichier compilé structuré en plusieurs composants logiciels CO qui peuvent correspondre chacun à une classe d'objet, ou à plusieurs classes d'objet regroupées dans un paquetage, ou bien à une interface.
Un composant, tel qu'une classe, comprend des informations prédéterminées IP qui, selon l'invention, sont nécessaires à l'installation du programme compilé dans la carte à puce CP. Les informations IP contribuent à la vérification du programme compilé PGC lors du chargement et avant toute exécution de celui-ci dans la carte à puce CP. Les informations IP concernent essentiellement le format et le typage du programme compilé PGC. La vérification du format concerne essentiellement la syntaxe et/ou la structure du programme compilé, par exemple les longueurs correctes des attributs des champs, le format correct des instructions, etc. Le typage est relatif à la sémantique et la syntaxe du code dans les composants du programme compilé PGC de manière à assurer la cohérence (consistance) des instructions à l'intérieur d'un composant et entre les composants du programme compilé et avec des composants d ' autres programmes .
Comme montré à la figure 1, pour la mise en oeuvre de l'invention, le serveur SE comprend un module de prétraitement de programme compilé PT qui réalise essentiellement deux étapes du procédé de l'invention à l'extérieur de la carte à puce CP : une étape de détection SI pour détecter des informations prédéterminées IP relatives au format et au typage dans les composants CO du programme compilé PGC, et une étape de construction S2 pour construire deux composants additionnels CAD1 et CAD2.
A l'étape SI, le module de prétraitement PT détecte des informations prédéterminées dans les composants CO du programme compilé PGC qui sont relatives au format et au typage du programme PGC et qui serviront à la vérification ultérieure de celui- ci dans la carte à puce CP. Les informations détectées ne sont pas extraites des composants CO, mais seulement copiées dans un emplacement de mémoire prédéterminé dans le serveur afin de construire les deux composants additionnels à l'étape suivante S2. Les composants CO dans le programme compilé PGC ne sont pas ainsi modifiés dans le module de prétraitement PT afin que toute carte à puce qui reçoit le programme compilé PGC et qui est incapable de reconnaître les composants additionnels CAD1 et CAD2, puisse exécuter le programme compilé non modifié . L'étape de construction de composants additionnels S2 consiste principalement à reformuler les informations prédéterminées IP détectées dans les composants CO et à les classer en deux catégories : les informations nécessaires ultérieurement à la vérification d'autres programmes et les informations seulement nécessaires à la vérification de ce programme compilé, ces dernières pouvant être effacées au moins partiellement. Le module de prétraitement PT analyse les informations prédéterminées détectées de manière à les reformuler afin d'accéder plus rapidement à celles-ci lors de l'installation du programme compilé et afin de réduire la taille de l'emplacement de mémoire occupé par les informations détectées IP, et plus généralement par le programme compilé PGC. Par exemple, le module PT supprime des redondances dans les informations détectées IP ; selon un exemple particulier, lorsque deux étiquettes identifient deux entrées relatives à deux structures ayant le même contenu dans un tableau relatif par exemple au champ constant_j?ool, l'une des deux entrées est supprimée à l'étape S2.
Les informations prédéterminées reformulées IP sont classées dans deux composants additionnels CAD1 et CAD2 selon que ces informations servent uniquement ou non à l'installation du programme compilé PGC dans la carte à puce CP.
Le premier composant additionnel CAD1 contient des informations IP qui sont exportées, c'est-à-dire accessibles à d'autres programmes. Ces premières informations prédéterminées reformulées doivent être conservées dans la carte à puce CP après l'installation du programme compilé PGC. En effet, les premières informations, par exemple relatives à des champs de classe, peuvent être utilisées pour vérifier notamment d'autres applications ou paquetages ou composants, c'est-à-dire d'autres programmes compilés importés ultérieurement dans la carte à puce CP, et doivent donc être accessibles pour des vérifications ultérieures dans la carte. Les informations prédéterminées reformulées classées dans le premier composant additionnel CAD1 sont ainsi accessibles à toutes les applications et donc à tous les composants de ceux-ci installés dans la carte à puce CP grâce à leur caractère exporté.
Des deuxièmes informations prédéterminées reformulées classées dans le deuxième composant additionnel CAD2 sont au contraire des informations non exportées afin de ne les rendre visibles qu'à l'intérieur du programme compilé PGC en question et les rendre inaccessibles depuis un autre paquetage ou un autre programme. Les deuxièmes informations prédéterminées reformulées ne serviront qu'à l'installation du programme compilé PGC dans la carte à puce CP, c'est-à-dire à la vérification que du programme PGC, et ne seront donc pas maintenues en mémoire dans la carte après cette installation de manière à réduire l'occupation de la mémoire par le programme PGC, comme on le verra ci-après.
Pour construire les deux composants additionnels CAD1 et CAD2 , le module de prétraitement PT utilise un mécanisme d'extension connu de programme compilé prévu par le concepteur du langage Java Card. En variante, au lieu de détecter des informations prédéterminées IP relatives au format et au typage dans les composants CO du programme compilé PGC, l'étape SI copie un composant spécifique appelé «descripteur» DES qui est inclus dans le programme PGC et qui contient déjà les informations prédéterminées IP nécessaires à la vérification ultérieure. Cette variante concerne le contexte du langage Java Card pour lequel le processus de vérification doit s'adapter au contexte d'exécution déjà existant dans la carte à puce CP, c'est-à-dire la machine virtuelle IT dans celle-ci ne peut être modifiée .
Selon la spécification du langage Java Card, le composant descripteur DES contenu dans un programme compilé PGC est suffisant pour analyser et vérifier tous les composants du programme compilé. Toutefois, la recherche d'une information dans le descripteur DES inclus dans le programme compilé n'est pas aisée puisque les informations contenues dans le descripteur ne sont pas classées selon un ordre spécifique. Par conséquent, également pour cette variante, l'étape S2 reformule les informations prédéterminées IP se trouvant dans le descripteur DES et les classe dans deux composants additionnels CAD1 et CAD2 ayant respectivement les caractères exporté et non exporté. Le premier composant additionnel CAD1 contient des informations prédéterminées de format et de typage qui sont conservées obligatoirement pour vérifier d'autres programmes importés, et constitue ainsi un composant descripteur «export». Le deuxième composant additionnel CAD2 comprend des informations prédéterminées de format et de typage qui sont seulement utilisées pour la vérification du programme compilé PGC, et qui ne peuvent pas être accessibles par un autre programme compilé, c'est-à-dire par une autre classe ou un autre paquetage ou interface n'appartenant pas au programme compilé PGC, et constitue ainsi un composant descripteur «interne».
A l'étape suivante S3 dans le serveur SE, un chargeur éventuellement sécurisé CH assemble le programme compilé PGC et les deux composants additionnels CAD1 et CAD2 par exemple dans une page Web qui est téléchargée dans la carte à puce CP à travers le réseau internet RES et le terminal TE.
Le téléchargement du programme compilé PGC depuis le serveur SE est effectué d'une manière transparente à travers un navigateur et un module logiciel intermédiaire de type Plugin ou proxy du terminal TE .
Comme montré également à la figure 1, un vérificateur VER inclus dans la carte à puce CP exécute d'autres étapes Cl à C5 du procédé d'installation de programme compilé selon l'invention.
Comme il est connu, la carte à puce CP comprend également un éditeur de liens ED et un interpréteur IT constituant la machine virtuelle Java Card. Tous ces modules logiciels sont implantés dans la mémoire non réinscriptible ROM et la mémoire non volatile EEPROM de la carte à puce.
Le vérificateur VER vérifie le format et le typage du programme compilé téléchargé PGC et l'éditeur de liens ED assure les liens entre les composants CO du programme téléchargé PGC avec ceux des applications déjà installées dans la carte à puce CP. L'interpréteur IT est par exemple une machine virtuelle qui interprète les instructions normalisées du programme compilé PGC afin que celui-ci soit exécuté en code natif par le microprocesseur PR de la carte .
Le vérificateur VER commence la vérification du programme compilé chargé PGC en examinant les identifiants des composants additionnels CAD1 et CAD2 dans l'extension du programme PGC à l'étape Cl. Si le vérificateur ne reconnaît pas les composants additionnels, les mémoires ROM et EEPROM de la carte à puce enregistrent le programme compilé PGC avec les informations prédéterminées non reformulées IP ou le descripteur DES sans changement, comme spécifié par le format du programme, et n'enregistrent pas les composants additionnels CAD1 et CAD2 que la carte à puce ignore, à une étape Cil. Dans ce cas, la carte à puce exécutera ultérieurement le programme PGC sans changement, d'une manière connue.
Au contraire, si le vérificateur VER reconnaît les composants additionnels CAD1 et CAD2 à l'étape Cl, c'est-à-dire si l'interpréteur IT est capable d'utiliser les composants additionnels, la mémoire non volatile de la carte à puce mémorise le programme compilé PGC et ne mémorise que partiellement les informations prédéterminées détectées non reformulées IP contenues dans le programme PGC, ou ne mémorise pas le descripteur détecté non reformulé DES contenu dans le programme PGC, et mémorise également les composants additionnels CAD1 et CAD2 à l'étape C2.
Puis le vérificateur VER procède à deux étapes de vérification proprement dites C3 et C4 en utilisant les informations prédéterminées reformulées IP incluses dans les composants additionnels CAD1 et CAD2.
L'étape C3 est une vérification structurelle pour assurer que toutes les données dans le programme compilé PGC présentent un format correct pour l'exécution ultérieure par l'interpréteur IT. L'étape C3 examine non seulement le format des champs du programme compilé PGC mais également le format d'autres caractéristiques telles que des noms, des attributs, des étiquettes, des instructions ainsi que des correspondances correctes de ceux-ci dans des tableaux. Ces examens sont facilités par un accès plus aisé et donc plus rapide aux informations IP relatives au format qui ont été reformulées dans les composants additionnels CAD1 et CAD2. Si l'un des formats examinés est incorrect à l'étape C3 , le vérificateur VER arrête la vérification en cours et efface le programme compilé PGC et les composants additionnels CAD1 et CAD2 dans les mémoires de la carte CP, à une étape C34. Si la vérification structurelle précédente a été exécutée avec succès, le vérificateur VER vérifie à l'étape suivante C4 que le programme compilé respecte des règles de typage définies par le langage de programmation, en l'occurrence le langage Java Card. Comme à l'étape précédente C3 , la vérification de typage est facilitée par l'organisation et la reformulation des informations prédéterminées IP relatives au typage incluses dans les composants CAD1 et CAD2. La vérification de typage consiste notamment en une vérification sémantique des champs du programme compilé, une vérification syntaxique de signature de champs et de paramètres, une vérification de la cohérence de chaque ligne de code supportant une instruction proprement dite composée d'un code opération et éventuellement d'un ou plusieurs opérandes, une vérification de références au champ constant_pool, la cohérence des instructions entre composants logiciels CO du programme, etc. Si la vérification du typage signale une quelconque incohérence ou erreur dans le programme compilé PGC, le vérificateur VER arrête la vérification et efface le programme compilé PGC et les composants additionnels CAD1 et CAD2 dans les mémoires de la carte CP, à l'étape C34. A ce stade, si les vérifications aux étapes C3 et C4 du programme compilé chargé PGC sont positives, le programme compilé PGC est accepté par la carte CP pour une exécution ultérieure par l'interpréteur IT. Cependant, l'ensemble du programme compilé PGC avec les composants additionnels CAD1 et CAD2 contient des nombreuses informations qui ne sont pas nécessaires à l'exécution ultérieure du programme, telles que les informations de typage qui ont été classées dans le deuxième composant additionnel CAD2 à caractère privé. A l'étape suivante C5 , le vérificateur supprime directement dans la mémoire non volatile de la carte à puce CP, les informations prédéterminées privées réunies dans le deuxième composant additionnel CAD2. La suppression du composant CAD2 réduit la taille de l'emplacement de mémoire occupé par le programme PGC et le premier composant additionnel CAD1.
Le premier composant CAD1 est conservé en mémoire puisqu'il contient des informations prédéterminées publiques qui seront utilisées ultérieurement pour vérifier notamment d'autres programmes compilés téléchargés ultérieurement. Grâce au prétraitement dans le module PT du serveur SE, le vérificateur VER n'a pas besoin de rechercher les informations qui seraient éparpillées dans le programme compilé et qui sont inutiles pour des exécutions ultérieures. Aucune modification structurelle n'est nécessaire pour conserver le premier composant additionnel CAD1, à l'exception que certaines données dans celui-ci peuvent être modifiées lors de l'édition de liens dans l'éditeur ED, mais sans imposer un changement dans la structure du composant CAD1. Le programme compilé est alors prêt à être exécuté dans l'interpréteur IT. Bien que les étapes Cl à C5 soient représentées dans le vérificateur VER avant l'éditeur de lien ED, le chargement, la vérification, l'édition de lien et l'interprétation peuvent être effectués à la volée, quasi-simultanément au fur et à mesure du chargement du programme compilé PGC dans la carte CP. Avant l'interprétation, une compression du programme compilé avec les composants CAD1 et CAD2 peut être prévue en la préparant et l'exécutant d'une manière partielle ou totale dans le serveur SE ou la carte CP ou les deux à la fois.
L'invention n'est pas limitée à la réalisation préférée décrite ci-dessus, mais concerne tout programme exprimé initialement en un langage source orienté objet et tout dispositif de traitement de données autre qu'une carte à puce qui présente notamment une capacité de mémoire et de traitement relativement faible.

Claims

REVENDICATIONS
1 - Procédé pour installer un programme constitué de plusieurs composants et compilé à l'extérieur d'un dispositif de traitement de données pour être exécuté dans celui-ci, caractérisé en ce qu'il comprend les étapes de :
- détecter (SI) à l'extérieur du dispositif de traitement de données (CP) , des informations prédéterminées d'installation (IP, DES) dans les composants (CO) du programme compilé (PGC) , construire (S2) des premier et deuxième composants additionnels (CAD1, CAD2) contenant des informations prédéterminées détectées respectivement qui sont reformulées et nécessaires également à l'installation d'autres programmes dans le dispositif de traitement de données et qui sont reformulées et ne sont nécessaires qu'à l'installation dudit programme compilé (PGC) , - charger (S3) depuis l'extérieur le programme compilé (PGC) et les premier et deuxième composants additionnels (CAD1, CAD2) dans le dispositif de traitement de données, et
- installer (C3, C4) le programme compilé chargé en dépendance des informations prédéterminées reformulées dans les premier et deuxième composants additionnels .
2 - Procédé conforme à la revendication 1, comprenant une étape de supprimer (C5) le deuxième composant additionnel (CAD2) dans le dispositif de traitement de données préalablement à toute exécution du programme compilé. 3 - Procédé conforme à la revendication 1 ou 2 , selon lequel les informations prédéterminées (IP) dans le programme compilé ne sont pas en partie mémorisées.
4 - Procédé conforme à l'une quelconque des revendications 1 à 3, comprenant une reconnaissance (Cl) des premier et deuxième composants additionnels (CAD1, CAD2) dans le dispositif de traitement de données (CP) afin de ne mémoriser (Cil) que le programme compilé chargé (PGC) et ne pas mémoriser
(Cil) les composants additionnels (CAD1, CAD2) si ces derniers ne sont pas reconnus par le dispositif de traitement de données, et de mémoriser (C2) le programme compilé sans les informations prédéterminées détectées (IP, DES) mais avec les composants additionnels (CAD1, CAD2) si ces derniers sont reconnus par le dispositif de traitement de données .
5 - Procédé conforme à l'une quelconque des revendications 1 à 4, selon lequel les informations prédéterminées détectées (IP) sont relatives au format et au typage du programme compilé, et l'étape d'installer comprend une étape (C3) de vérifier le format du programme compilé chargé et une étape (C4) de vérifier le typage du programme compilé chargé en dépendance des informations prédéterminées reformulées .
6 - Procédé conforme à l'une quelconque des revendications 1 à 5, selon lequel les informations prédéterminées à détecter sont incluses dans un composant spécifique (DES) du programme compilé (PGC) . 7 - Procédé conforme à l'une quelconque des revendications 1 à 5, selon lequel le dispositif de traitement de données est un objet électronique portable de type carte à puce (CP) .
EP02790528A 2001-10-31 2002-10-21 Installation de programme compile notamment dans une carte a puce Withdrawn EP1442370A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0114187A FR2831684B1 (fr) 2001-10-31 2001-10-31 Installation de programme compile notamment dans une carte a puce
FR0114187 2001-10-31
PCT/FR2002/003599 WO2003038610A1 (fr) 2001-10-31 2002-10-21 Installation de programme compile notamment dans une carte a puce

Publications (1)

Publication Number Publication Date
EP1442370A1 true EP1442370A1 (fr) 2004-08-04

Family

ID=8869002

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02790528A Withdrawn EP1442370A1 (fr) 2001-10-31 2002-10-21 Installation de programme compile notamment dans une carte a puce

Country Status (5)

Country Link
US (1) US20050183081A1 (fr)
EP (1) EP1442370A1 (fr)
CN (1) CN1582431A (fr)
FR (1) FR2831684B1 (fr)
WO (1) WO2003038610A1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9509824B2 (en) 2004-03-19 2016-11-29 Brightpoint, Inc. Multi-phone programming application
US8423007B2 (en) * 2004-03-19 2013-04-16 Brightpoint, Inc. Multi-phone programming application
US8408459B1 (en) 2005-01-14 2013-04-02 Brightpoint, Inc. 4PL system and method
WO2007023497A1 (fr) * 2005-08-23 2007-03-01 Red Bend Ltd. Procede et systeme de mise a jour in situ de contenu stocke dans un dispositif de stockage
CN101059759B (zh) * 2006-04-21 2011-12-14 鸿富锦精密工业(深圳)有限公司 程序动态烧录的系统及方法
US20090192857A1 (en) * 2008-01-25 2009-07-30 Morse Richard A Product Lifecycle Management Method and Apparatus
DE102015119414A1 (de) * 2015-11-11 2017-05-11 Cideon Software Gmbh & Co. Kg Verfahren zur Entwicklung einer Baugruppe, die mindestens eine mechatronische Komponente aufweist, und eine entsprechende Anordnung

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765201A (en) * 1995-07-31 1998-06-09 International Business Machines Corporation Changing page size in storage media of computer system
US5734822A (en) * 1995-12-29 1998-03-31 Powertv, Inc. Apparatus and method for preprocessing computer programs prior to transmission across a network
US5809251A (en) * 1996-10-09 1998-09-15 Hewlett-Packard Company Remote installation of software by a management information system into a remote computer
US6023585A (en) * 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
US6195794B1 (en) * 1997-08-12 2001-02-27 International Business Machines Corporation Method and apparatus for distributing templates in a component system
US5970252A (en) * 1997-08-12 1999-10-19 International Business Machines Corporation Method and apparatus for loading components in a component system
CZ20003437A3 (cs) * 1998-03-23 2001-11-14 International Business Machines Corporation Java runtime systém s upravenou sdílenou oblastí konstant
US6166460A (en) * 1999-01-22 2000-12-26 Lear Automotive Dearborn, Inc. Electrical junction box having a replaceable controller
US6880155B2 (en) * 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking
US6397385B1 (en) * 1999-07-16 2002-05-28 Excel Switching Corporation Method and apparatus for in service software upgrade for expandable telecommunications system
JP2004534973A (ja) * 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド ネットワークデバイスのアップグレードシステム及び方法
US7131122B1 (en) * 2000-08-24 2006-10-31 International Business Machines Corporation Apparatus, system and method for detecting old version of an applet in a client brower's JVM
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03038610A1 *

Also Published As

Publication number Publication date
WO2003038610A1 (fr) 2003-05-08
CN1582431A (zh) 2005-02-16
FR2831684A1 (fr) 2003-05-02
FR2831684B1 (fr) 2004-03-05
US20050183081A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
US9424435B2 (en) Filesystem access for web applications and native code modules
EP1782191B1 (fr) Procede de chargement d'un logiciel en langage intermediaire oriente objet dans un appareil portatif
EP1212678B1 (fr) Protocole de gestion, procede de verification et de transformation d'un fragment de programme telecharge et systemes correspondants
US20060230234A1 (en) Browser cache management
CN110502222B (zh) 外发依赖内部基础库的aar方法、装置、介质和设备
US20020147735A1 (en) Method and system for optimizing file loading in a data communication network
US8799928B1 (en) System services for native code modules
FR2824160A1 (fr) Conteneur generique configurable de facon dynamique
FR2809200A1 (fr) Procede de securisation d'un langage du type a donnees typees, notamment dans un systeme embarque et systeme embarque de mise en oeuvre du procede
WO2006000531A1 (fr) Procede de gestion d'une carte a puce multi-applicative
CN111400757B (zh) 防止安卓第三方库中native代码泄露用户隐私的方法
WO2010009996A1 (fr) Procede de compilation de programme informatique
FR2906383A1 (fr) Referentiel semantique de services web et procede utilisant ce referentiel
EP1700218B1 (fr) Procede de determination de caracteristiques operationnelles d'un programme
EP1442370A1 (fr) Installation de programme compile notamment dans une carte a puce
EP1112536A1 (fr) Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce
FR2847415A1 (fr) Chargement d'une application a deployer dans un terminal et une carte a puce
FR2826761A1 (fr) Procede d'analyse d'un document represente dans un langage de balisage
EP1054332B1 (fr) Système et procédé de gestion d'attributs dans un environnement orienté objet
Wang et al. Research on intelligent reverse analysis technology of firmware of internet of things
EP4018313B1 (fr) Récuperateur de données dans un dispositif électronique
FR3060166A1 (fr) Procede d'acces a des donnees partagees dans une arborescence de fichiers geree par un systeme de fichiers mettant en oeuvre un mecanisme d'heritage
EP4123492A1 (fr) Mise en partage d'une fonction d'une application définie en langage orienté objet
FR2771531A1 (fr) Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications
CN117555530A (zh) 一种应用程序app的开发方法

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040601

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

RIN1 Information on inventor provided before grant (corrected)

Inventor name: REQUET, ANTOINE

Inventor name: DEVILLE, DAMIEN

Inventor name: CASSET, LUDOVIC

Inventor name: BURDY, LILIAN

17Q First examination report despatched

Effective date: 20100427

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20100908