Brevet FR3091102A1 — publié le 20200626

Description Titre de l'invention : PROCEDE DE PERSONNALISATION D'UNE ENTITE ELECTRONIQUE, ET ENTITE ELEC- TRONIQUE ASSOCIEE Domaine technique 100011 La présente invention se rapporte au domaine de la personnalisation d'une entité électronique, telle qu'une carte à puce, et concerne plus particulièrement un procédé de personnalisation d'une entité électronique. Technique antérieure [0002] De façon connue, une carte à puce comprend plusieurs phases de vie. La première phase de vie de la carte à puce est une phase de personnalisation, durant laquelle la structure des fichiers de la carte est créée dans une mémoire de la carte à puce, puis les données de personnalisation de la carte sont stockées dans les fichiers ainsi créés. [0003] La fabrication de la carte à puce comprend la phase de personnalisation. Après la fa- brication, vient une phase d'utilisation de la carte à puce, puis une phase terminale, dans laquelle la carte à puce n'est plus utilisable. [0004] La création de la structure de fichiers et le stockage des données de personnalisation sont typiquement mis en oeuvre au moyen de commandes informatiques codées en langage informatique « Natif ». [0005] Pendant la phase de personnalisation, ces commandes informatiques utilisent, afin de créer les fichiers mais aussi afin de définir des liens de partage total ou partiel entre un fichier en partage et un fichier partagé, les identifiants et les tailles des fichiers. [0006] Plus précisément, afin de créer un lien de partage entre deux fichiers, il est nécessaire de connaître la taille du fichier partagé, et il est nécessaire que ce fichier partagé existe. [0007] De plus, pour charger une donnée dans un fichier en partage partiel, il est nécessaire de connaître la structure de données du fichier partagé. [0008] Or, les données de personnalisation étant reçues après la création des fichiers, il n'est pas possible de connaître à l'avance la taille de certains fichiers, appelé fichiers de taille variable. Aussi, lors de la création des fichiers, il est considéré pour chaque fichier de taille variable que la taille du fichier est égale à une taille maximale, égale à la somme des tailles maximales des données que le fichier pourrait comprendre. [0009] Les liens de partage sont ainsi créés en fonction des tailles maximales, puis les données sont chargées dans les fichiers. [0010] Cependant, le fait de définir la taille de chaque fichier de taille variable à une taille maximale présente le désavantage d'allouer inutilement de la taille mémoire. [0011] En effet, de manière générale, la taille des données chargées dans un fichier durant la 2 phase de personnalisation est inférieure à la taille maximale ayant été utilisée pour la création de la structure de fichiers. [0012] Il existe donc un besoin pour une solution permettant de personnaliser les cartes à puces sans allouer inutilement de la taille mémoire. Exposé de l'invention [0013] A cet effet, la présente invention concerne un procédé de personnalisation d'une entité électronique, mis en oeuvre par ladite entité électronique, ledit procédé comprenant les étapes suivantes : - réception d'une ou plusieurs données et stockage (le la ou les données dans au moins un fichier partagé, - détermination d'au moins un fichier en partage associé audit au moins un fichier partagé, - pour ledit au moins un fichier en partage, détermination d'au moins une donnée partagée parmi la ou les données stockées dans le fichier partagé associé, puis - stockage d'un lien de partage, comprenant un identifiant correspondant audit au moins un fichier en partage, en association avec une adresse correspondant à ladite au moins une donnée partagée. [0014] Dans un mode de réalisation particulier,le lien de partage est stocké dans ledit au moins un fichier en partage. [0015] Dans un mode de réalisation particulier, ledit au moins un fichier en partage et / ou ladite au moins une donnée partagée sont déterminés au moyen d'un indicateur de partage reçu par l'entité électronique. [0016] Dans un mode de réalisation particulier, la détermination dudit au moins un fichier en partage et / ou de ladite au moins une donnée partagée résulte d'une absence d'au moins une donnée à un emplacement de stockage donné dudit au moins un fichier en partage. [0017] Dans un mode de réalisation particulier, le procédé comprend en outre une étape de stockage d'une déclaration de partage, comprenant l'identifiant correspondant audit au moins un fichier en partage en association avec un identifiant correspondant à ladite au moins une donnée partagée, l'étape de détermination dudit au moins un fichier en partage et / ou l'étape de détermination de ladite au moins une donnée partagée étant mise en oeuvre au moyen de la déclaration de partage. [0018] Dans un mode de réalisation particulier, ladite au moins une donnée partagée est dé- terminée en fonction de la taille et / ou de la structure de données dudit au moins un fichier en partage et / ou du fichier partagé associé. [0019] Dans un mode de réalisation particulier, le procédé comprend en outre le stockage 3 d'un indicateur d'interdiction de partage d'au moins une donnée parmi la ou les données stockées du fichier partagé, ledit indicateur d'interdiction de partage étant utilisé pour interdire le partage d'au moins une donnée stockée dans ledit fichier partagé associé. [0020] Dans un mode de réalisation particulier, ledit au moins un fichier en partage et ledit au moins un fichier partagé associé sont des fichiers de taille variable. [0021] L'invention concerne en outre une entité électronique, apte à mettre en oeuvre un procédé tel que décrit ci-dessus. [0022] Dans un mode particulier de réalisation, les différentes étapes du procédé décrit ci- dessus sont déterminées par des instructions de programmes d'ordinateur. [0023] En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations (ou support d'enregistrement), ce programme étant susceptible d'être mis en oeuvre par une entité électronique ou plus généralement dans un ordinateur, cc programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé tel que défini ci-dessus. [0024] Cc programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme particulièrement compilée, ou dans n'importe quelle autre forme souhaitable. [0025] L'invention vise aussi un support d'information (ou support d'enregistrement) lisible par une entité électronique ou plus généralement par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. [0026] Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire non volatile réinscriptible (de type « EEPROM » ou « Flash NAND » par exemple), ou tel qu'une « ROM », par exemple un « CD ROM » ou une ROM » de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (« floppy disc ») ou un disque dur. [0027] D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. [0028] Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des dessins [0029] D'autres caractéristiques et avantages de la présente invention ressortiront de la des- cription faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : [0030] [fig.1] La figure 1 représente, de manière schématique, un système comprenant une entité électronique conforme à un exemple de mode de réalisation de l'invention ; [0031] [fig.2] La figure 2 représente, sous forme d'organigramme, les principales étapes d'un procédé de personnalisation conforme à un exemple de mode de réalisation de l' invention ; [0032] [fig.3] La figure 3 représente, sous forme d'organigramme, les principales étapes d'un procédé de personnalisation conforme à un exemple de mode de réalisation de l' invention ; [0033] [fig.4] La figure 4 représente, sous forme d'organigramme, les principales étapes d'un procédé de personnalisation conforme à un exemple de mode de réalisation de l' invention ; [0034] [fig.5] La figure 5 représente un exemple de fichier en partage total et de fichier partagé associé, pouvant être créés lors de la mise en oeuvre d'un des procédés des figures 2 à 4; [0035] [fig.6] La figure 6 représente un exemple de fichier en partage partiel et de fichier partagé associé, pouvant être créés lors de la mise en oeuvre d'un des procédés des figures 2 à 4; [0036] [fig.7] La figure 7 représente un exemple de déclaration de partage, pouvant être stockée lors de la mise en oeuvre d'une étape de stockage du procédé de la figure 3 ; [0037] [fig.8] La figure 8 représente un exemple de table centralisée, pouvant être utilisée lors de la mise en oeuvre du procédé de la figure 4 ; [0038] [fig.9] La figure 9 représente un exemple de structure de fichiers, pouvant être créée lors de la mise en oeuvre du procédé de la figure 4. Description des modes de réalisation [0039] La figure 1 représente, de manière schématique, une entité électronique 100 conforme à un exemple de mode de réalisation de l'invention, apte à mettre en oeuvre un procédé de personnalisation conforme à un exemple de mode de réalisation, par exemple le procédé décrit en référence à la figure 2, le procédé décrit en référence à la figure 3, ou le procédé décrit en référence à la figure 4. [0040] L'entité électronique 100 présente l'architecture conventionnelle d'un ordinateur, et peut comprendre notamment un processeur 102, une mémoire morte 104 (de type « ROM »), une mémoire non volatile réinscriptihle 106 (de type « EEPROM » ou « Flash NAND » par exemple), une mémoire volatile réinscriptible 108 (de type « RAM »), et une interface de communication 110. [0041] Dans cet exemple, la mémoire morte 104 constitue un support d'informations (ou d'enregistrement) conforme à un mode de réalisation particulier de l'invention. Dans la mémoire morte 104 est stocké un programme d'ordinateur P1 permettant à l'entité électronique 110 de mettre en oeuvre un procédé de personnalisation conforme à un exemple de mode de réalisation de l'invention. En variante, le programme d'ordinateur P1 est stocké dans la mémoire non volatile réinscriptihle 106. [0042] La mémoire non volatile réinscriptihle 106 peut comprendre une table centralisée TC, destinée à stocker un ou plusieurs liens de partage (aussi appelé pointeurs), décrits en détail ci-après. [0043] L'entité électronique 100 est typiquement un élément sécurisé, par exemple destiné à être incorporé dans un terminal tel qu'un téléphone mobile. [0044] L'élément sécurisé 100 peut être conforme à la norme « 1SO 7816 ». Cet élément sécurisé 100 peut être ainsi de type « UICC » Universal Integrated Circuit Card » en terminologie anglo-saxonne). En variante, l'élément sécurisé peut être un module d'identité de souscripteur embarqué, appelé aussi « module « eUICC » (« embedded Universal Integrated Circuit Card » en terminologie anglo-saxonne). [0045] En variante, l'entité électronique peut être un élément sécurisé incorporé dans une carte à puce, par exemple une carte bancaire (ou carte de paiement) de format ID-1 spécifiée dans la norme ISO / IEC 7810, présentant les dimensions 85,6 millimètres par 53,98 millimètres par 0,76 millimètres. [0046] En variante, l'entité électronique est incorporée dans un document d'identité, par exemple un passeport électronique. [0047] L'entité électronique est apte à communiquer, via l'interface de communication 110, avec un dispositif externe 120 de personnalisation, tel qu'un lecteur de carte. [0048] Les figures 2, 3 et 4 représentent des procédés de personnalisation d'une entité élec- tronique telle que l'entité électronique de la figure 1, conformes à des exemples de modes de réalisation de l'invention. [0049] Chacun de ces procédés de personnalisation permet de créer une structure de fichiers informatiques dans une mémoire de l'entité électronique 100, typiquement dans la mémoire non volatile réinscriptible 106. 6 [0050] Le langage de programmation utilisé pour la mise en oeuvre de chacun de ces procédés est typiquement le « Natif » ou le « Java ». Ainsi, chacun de ces procédés peut être mis en oeuvre au moyen de commandes informatiques codées en langage informatique « Natif » ou en « Java ». [0051] En outre, chacun de ces procédés de personnalisation est typiquement mis en oeuvre pendant une phase de personnalisation et / ou une phase d'utilisation de l'entité électronique. [0052] Chaque fichier informatique de la structure de fichiers créée par un des procédés de personnalisation des figures 2 à 4 comprend typiquement un entête et un contenu. L'entête du fichier comprend des métadonnées caractérisant le fichier, comme par exemple un identifiant du fichier, une information relative à la taille du fichier, un indicateur du type de fichier, par exemple relatif à la structure des données contenues dans le fichier, des conditions d'accès aux données contenues dans le fichier, et / ou une adresse pointant sur le début des données contenues dans le fichier. Le contenu du fichier peut comprendre une ou plusieurs données de contenu. [0053] En outre, la structure de fichiers créée par un des procédés de personnalisation des figures 1 à 4 comprend typiquement au moins un fichier partagé et au moins un fichier en partage. Le fichier partagé et le fichier en partage sont par exemple de taille variable. [0054] Un fichier partagé est un fichier destiné à stocker dans son contenu (ou contenir) une ou plusieurs données partagées, c'est-à-dire une ou plusieurs données de contenu pouvant être utilisées par le fichier partagé et un ou plusieurs fichiers en partage, associés au fichier partagé. D'autres termes pourraient être utilisés pour nommer un tel fichier, tels que les termes « fichier pointé », « fichier maître », ou encore « fichier source ». [0055] Chaque fichier partagé peut être par exemple de type transparent, linéaire ou encore cyclique. Un fichier partagé de type transparent contient une séquence unique continue de données unitaires, et est par exemple défini par la norme ISO 7816. Un fichier partagé de type linéaire est un fichier qui contient des groupes de données (chaque groupe de données étant nommé record), ordonnés séquentiellement sans bouclage, et est par exemple défini dans la norme ISO 7816. Chaque groupe de données peut avoir une taille identique ou différente des autres groupes de données. De plus, un fichier partagé de type cyclique est un fichier qui contient des groupes de données (ou record), ordonnés séquentiellement avec bouclage, tous les groupes de données étant de taille identique. Ce type de fichier est par exemple défini dans la norme ISO 7816. [0056] Un fichier en partage est un fichier apte à utiliser une ou plusieurs données partagées, stockées dans un ou plusieurs fichiers partagés, associés au fichier en partage. D'autres termes pourraient être utilisés pour nommer un tel fichier, tels que les termes « fichier 7 image », « fichier miroir », ou encore « fichier lien ». [0057] Un fichier en partage est typiquement associé à un fichier partagé au moyen d'une déclaration de partage décrite plus en détails ci-dessous, ou par héritage. Ensuite, un fichier en partage peut être associé à un fichier partagé au moyen d'un lien de partage, qui comprend une association d'un identifiant correspondant au fichier en partage et d'une ou plusieurs adresses correspondant à la ou les données partagées du fichier partagé. [0058] Un fichier en partage peut être un fichier en partage total. Le fichier en partage total ne contient pas de donnée de contenu, et est apte à utiliser toutes les données de contenu d'un fichier partagé associé au fichier en partage. On dit alors que le fichier en partage total pointe vers la totalité des données de contenu du fichier partagé associé. [0059] En variante, le fichier en partage total contient une ou plusieurs données de contenu niais ne les utilise pas, et est apte à utiliser toutes les données de contenu d'un fichier partagé associé au fichier en partage. Cette aptitude peut reposer par exemple sur au moins un indicateur de partage total, typiquement stocké dans le fichier en partage total. [0060] La figure 5 représente un exemple de fichier en partage total EF1 sous le répertoire DF3, ce fichier en partage total EF1 sous DF3 étant associé à un fichier partagé EF1 sous le répertoire DF1. Chaque fichier EF1 sous DF3 et EF1 sous DF1 comprend un identifiant SFI 1 (SFI étant l'acronyme de « Short File Identifier »). [0061] Le fichier en partage total EF1 sous DF3 ne contient pas de donnée de contenu, alors que le fichier partagé EF1 sous DF1 contient trois données de contenu Rec I, Rec2a et Rec3. Le fichier en partage total EFI sous DF3 étant associé au fichier partagé EF1 sous DF1, ce fichier en partage total EFI sous DF3 est apte à utiliser les trois données de contenu Rec I, Rec2a et Rec3 du fichier partagé EF1 sous DF1. [0062] De plus, un fichier en partage peut être un fichier en partage partiel. Le fichier en partage partiel contient au moins une donnée de contenu, et est apte à utiliser au moins une donnée de contenu d'un fichier partagé associé au fichier en partage, cette donnée du fichier partagé ne correspondant pas à la ou les données de contenu du fichier en partage. [0063] Typiquement, un fichier en partage partiel et un fichier partagé associé au fichier en partage partiel ont une même structure de données de contenu. Ainsi, ils peuvent comprendre le même nombre d'emplacement mémoire, un emplacement mémoire du fichier en partage étant apte à contenir le même type de donnée que la donnée contenue dans l'emplacement mémoire correspondant (c'est-à-dire à la même place dans la structure de données du fichier) du fichier en partage. [0064] Un fichier en partage partiel est alors apte à utiliser une donnée du fichier partagé associé lorsque l'emplacement mémoire du fichier partagé contenant la donnée 8 correspond à un emplacement mémoire vide du fichier en partage partiel. [0065] En variante, le fichier en partage partiel contient une ou plusieurs données de contenu, mais n'utilise pas au moins une de ces données de contenu et est apte à utiliser au moins une donnée de contenu d'un fichier partagé associé au fichier en partage, chacune de ces données de contenu du fichier partagé correspondant à une donnée de contenu non utilisée du fichier en partage. [0066] Cette aptitude peut reposer par exemple sur au moins un indicateur, identifiant les emplacements mémoires pour lesquels le fichier en partage doit utiliser les données partagées correspondantes du fichier partagé associé. Cette aptitude peut selon un autre exemple reposer sur l'identification de données de contenu particulières dans les emplacements mémoires du fichier en partage (par exemple des données de contenu toutes à FF ou 00). [0067] La figure 6 représente un exemple de fichier en partage partiel EF1 sous DF2, cc fichier en partage partiel EF1 sous le répertoire DF2 étant associé à un fichier partagé EF1 sous le répertoire DF1. Le fichier partagé EF1 sous DF1 comprend un premier emplacement mémoire EM1 contenant une première donnée de contenu Recl, un deuxième emplacement mémoire EM2 contenant une deuxième donnée de contenu Recta et un troisième emplacement mémoire EM3 contenant une troisième donnée de contenu Rcc3. [0068] Le fichier en partage partiel EF1 sous DF2 comprend un premier emplacement mémoire EM4, correspondant au premier emplacement mémoire EMI du fichier partagé EF1 sous DF1 et ne contenant pas de donnée de contenu, un deuxième emplacement mémoire EMS, correspondant au deuxième emplacement mémoire EM2 du fichier partagé EFI sous DFI et contenant une quatrième donnée de contenu Rec2b, et un troisième emplacement mémoire EM6, correspondant au troisième emplacement mémoire EM3 du fichier partagé EF1 sous DF1 et ne contenant pas de donnée de contenu. [0069] Le fichier en partage partiel EFI sous DF2 étant associé au fichier partagé EFI sous DF1, et les premier et troisième emplacements mémoires EM4 et EM6 du fichier en partage étant vides, le fichier en partage partiel EFI sous DF2 est apte à utiliser la première donnée de contenu Recl et la troisième donnée de contenu Rec3 du fichier partagé EF1 sous DF1. [0070] Chaque fichier informatique de la structure de fichiers créée par un des procédés de personnalisation des figures 2 à 4 peut être de taille fixe ou de taille variable. Un fichier est de taille fixe lorsque la taille des données de contenu que ce fichier est destiné à stocker est connue avant le chargement des données dans ce fichier. De plus, un fichier est de taille variable lorsque la taille des données de contenu que ce fichier est destiné à stocker n'est connue qu'à la fin du chargement des données dans ce 9 fichier (car la taille d'une ou plusieurs données n'est pas connue avant le chargement et / ou le nombre de données n'est pas connu avant le chargement). [0071] La structure de fichiers informatiques, les fichiers informatiques de cette structure, les données stockées dans ces fichiers, et les liens de partage pouvant être créés lors de la mise en oeuvre d'un des procédés des figures 2 à 4 permettent notamment de personnaliser l'entité électronique 100. [0072] La figure 2 représente un procédé de personnalisation d'une entité électronique telle que l'entité électronique de la figure 1, conforme à un exemple de mode de réalisation de l'invention. [0073] Ce procédé de personnalisation est mis en oeuvre par une entité électronique. Dans la suite de la description de la figure 2, il est considéré que le procédé de personnalisation est mis en oeuvre par l'entité électronique 100 de la figure 1. [0074] Dans une étape S210, l'entité électronique 100 reçoit une ou plusieurs données de contenu, ces données étant typiquement envoyées par le dispositif externe 120 de personnalisation et étant destinées à être stockées dans un ou plusieurs fichiers partagés d'un ensemble de fichiers partagés de l'entité électronique 100. [0075] L'entité électronique 100 stocke alors, dans une étape S220, la ou les données dans le ou les fichiers partagés. [0076] Dans une étape S230, l'entité électronique 100 détermine un ou plusieurs fichiers en partage, chaque fichier en partage étant associé à un ou plusieurs fichiers partagés de l'ensemble de fichiers partagés. [0077] Pour chaque fichier en partage, l'entité électronique 100 détermine une ou plusieurs données partagées parmi la ou les données stockées dans le ou les fichiers partagés associés (étape S240). [0078] Après la mise en oeuvre de l'étape S240, l'entité électronique 100 stocke, pour chaque fichier en partage, un lien de partage comprenant un identifiant correspondant au fichier en partage, en association avec une ou plusieurs adresses correspondant à la ou les données partagées (étape S250). [0079] Les étapes S210, S230 et S240 peuvent être mises en oeuvre dans n'importe quel ordre, avant la mise en oeuvre de l'étape S250. L'étape S220 suit l'étape S210, de sorte qu'elle s'intercale entre l'étape S210 et l'étape suivante S230, S240 ou S250. [0080] Les liens de partage étant créés après la réception des données de contenu, la taille des fichiers est connue lors de la création des liens, ce qui permet de calculer l'adresse de ces données partagées et de ne pas allouer inutilement de la taille mémoire. [0081] En outre, le stockage des liens de partage permet à l'entité électronique 100 de retrouver facilement les données partagées, sans devoir calculer l'adresse de ces données partagées à chaque fois que l'on veut y accéder. [0082] La figure 3 représente un procédé de personnalisation d'une entité électronique telle que l'entité électronique de la figure 1, conforme à un exemple de mode de réalisation de l'invention. [0083] Ce procédé de personnalisation est mis en oeuvre par une entité électronique. Dans la suite de la description de la figure 3, il est considéré que le procédé de personnalisation est mis en oeuvre par l'entité électronique 100 de la figure 1. [0084] En outre, dans la suite de la description de la figure 3, il est considéré que chaque fichier en partage est associé à un fichier partagé. Toutefois, le procédé de la figure 3 s'applique lorsque qu'un fichier en partage est associé à plusieurs fichiers partagés. [0085] La structure de fichiers devant être créée (par exemple dans la mémoire non volatile réinscriptihle 106) peut être connue à l'avance. Cette structure de fichiers est par exemple décrite par une norme, typiquement par une norme associée à une application utilisée par l'entité électronique 100. Dans le cas où l'entité électronique est un passeport électronique, la structure des fichiers est normalisée par l'Organisation de l'Aviation Civile Internationale (ICAO). [0086] De même, la structure de données de certains fichiers est connue, par exemple de l'émetteur de l'entité électronique 100, ou de la carte ou document électronique incorporant l'entité électronique 100. Il peut ainsi être déterminé qu'un ou plusieurs fichiers sont de taille fixe, par exemple car cela est décrit par une norme, ou de par l'architecture et / ou la conception d'une application utilisée par l'entité électronique 100. [0087] Dans le cas où la structure de fichier comprend un ou plusieurs fichiers en partage de taille fixe et un ou plusieurs fichiers partagé de taille fixe, le procédé de personnalisation peut comprendre une étape S302 de création du ou des fichiers en partage de taille fixe et du ou des fichiers partagés de taille fixe. Chaque fichier en partage de taille fixe créé à cette étape S302 peut être en partage total ou en partage partiel. [0088] Cette création de fichiers peut typiquement être réalisée suite à la réception d'une commande dédiée. [0089] Dans le cas où l'entité électronique 100 est un élément sécurisé de type «UICC », des fichiers de type « Master File », « Dedicated File » et / ou « Elementary file », décrits par la norme ISO 7816, peuvent être créés à l'étape S302. [0090] L'étape S302 peut ensuite comprendre, pour chaque fichier en partage créé, la création d'un lien de partage associant le fichier en partage et le fichier partagé associé. [0091] Plus précisément, le lien de partage est créé en stockant en association un identifiant correspondant au fichier en partage et une ou plusieurs adresses correspondant à la ou les données partagées du fichier partagé associé. [0092] En effet, la taille du fichier partagé étant connue, et donc la taille des données contenues dans ledit fichier partagé étant connue, il est possible de déterminer l'adresse de chaque donnée partagée du fichier partagé. L'adresse d'une donnée 11 partagée est typiquement déterminée en additionnant, à l'adresse du fichier partagé stockant la donnée partagée, la taille de la ou les éventuelles données stockées dans les emplacements mémoires précédent celui de ladite donnée partagée, dans le fichier partagé. [0093] Le lien de partage est stocké dans le fichier en partage, par exemple dans l'entête du fichier ou dans son contenu. En variante, le lien de partage est stocké dans la table centralisée TC. [0094] Le procédé de personnalisation peut en outre comprendre une étape S304 de stockage, dans laquelle pour au moins un fichier en partage de taille variable, typiquement pour chaque fichier en partage de taille variable, une déclaration de partage est stockée, cette déclaration comprenant un identifiant correspondant au fichier en partage en association avec un ou plusieurs identifiants correspondants à une ou plusieurs données partagées. [0095] Chaque identifiant correspondant à une donnée partagée est par exemple l'identifiant du fichier partagé associé stockant la donnée partagée, et / ou l'identifiant de la donnée partagée. Ainsi, une déclaration de partage comprend typiquement l'identifiant du fichier en partage et l'identifiant du fichier partagé associé. En variante, la déclaration de partage peut comprendre l'identifiant du fichier en partage, l'identifiant du fichier partagé associé, et l'identifiant de la donnée partagée ou les identifiants des données partagées. [0096] Chaque déclaration de partage peut être stockée dans le fichier en partage concerné, par exemple dans l'entête du fichier ou dans son contenu. En variante, la déclaration de partage peut être stockée dans une table centralisée, par exemple la table centralisée TC, ou dans la mémoire volatile réinscriptible 108. [0097] La figure 7 représente un exemple de déclarations de partage, dans lequel toutes les déclarations de partage sont stockées à la suite, typiquement dans une table 700 dans la mémoire volatile réinscriptible 108. [0098] Chaque déclaration de partage DP1-DPn comprend dans cet exemple un identifiant IF I-IFn du fichier en partage, un identifiant IFP1-IFPn du fichier partagé associé, et un identifiant IT1-ITn du type de fichier partagé associé. [0099] En outre, la table 700 stocke la longueur totale LT de la table 700, par exemple avant la première déclaration de partage DPI. [0100] Dans une étape S310, typiquement mise en oeuvre après l'étape S304 de stockage de déclaration de partage, l'entité électronique 100 reçoit une ou plusieurs données de contenu, ces données de contenu étant typiquement envoyées par le dispositif externe 120 de personnalisation et étant typiquement destinées à être stockées dans un ou plusieurs fichiers partagés de l'entité électronique 100, chacun de ces fichiers pouvant être un fichier de taille fixe ou de taille variable. 12 [0101] Une ou plusieurs données de contenu reçues à l'étape S310 peuvent en outre être destinées à être stockées dans un ou plusieurs fichiers en partage de l'entité électronique 100, de taille fixe ou variable. [0102] En outre, l'entité électronique 100 peut recevoir un ou plusieurs indicateurs de partage et / ou un ou plusieurs indicateurs d'interdiction de partage, typiquement envoyés par le dispositif externe 120. [0103] L'entité électronique 100 stocke alors, dans une étape S320, la ou les données de contenu dans le ou les fichiers partagés et éventuellement le ou les fichiers en partage. [0104] L'étape S320 peut comprendre une sous étape S322 de création des fichiers en partage et partagé de la structure de fichiers. Typiquement, les données de contenu devant être stockées dans un même fichier peuvent être reçues de manière continue, la première donnée comprenant un identificateur nommant le fichier destiné à stocker les données, et la dernière donnée comprenant un indicateur indiquant la fin de la réception des données de ce fichier. Les fichiers de la structure de fichier peuvent alors être créés au fur et à mesure de la réception et du stockage des données. [0105] Le ou les indicateurs de partage et / ou le ou les indicateurs d'interdiction de partage éventuellement reçus à l'étape S310 peuvent en outre être stockés dans le fichier en partage ou, préférentiellement, dans le fichier partagé, par exemple dans l'entête du fichier. En variante, le ou les indicateurs de chaque fichier partagé sont stockés dans une table centralisée, par exemple la table centralisée TC. [0106] Ensuite, dans une étape S330, l'entité électronique détermine chaque fichier en partage associé à un fichier partagé. Cette étape S330 de détermination est typiquement mise en oeuvre en consultant la ou les déclarations de partage stockées à l'étape S304, et / ou au moyen d'un ou plusieurs indicateurs de partage reçus par l'entité électronique. [0107] L'indicateur de partage peut associer un fichier en partage avec un fichier partagé, et / ou peut associer le fichier en partage avec une ou plusieurs données partagées du fichier partagé. Les indicateurs de partage peuvent ainsi typiquement être considérés comme des compléments à la ou les déclarations de partage stockées à l'étape S304. [0108] La détermination d'un fichier en partage peut aussi résulter d'une absence d'au moins une donnée à un emplacement de stockage donné de ce fichier en partage. [0109] Pour chaque fichier en partage déterminé à l'étape S330, l'entité électronique 100 détermine une ou plusieurs données partagées, parmi la ou les données stockées du fichier partagé associé (étape S340). [0110] Une ou plusieurs données partagées peuvent être déterminées au moyen du ou des l'indicateurs de partage et / ou du ou des indicateurs d'interdiction de partage. [0111] Chaque indicateur de partage peut en effet indiquer quelles sont les données partagées d'un fichier partagé. En outre, chaque indicateur d'interdiction de partage 13 peut interdire le partage d'une ou plusieurs données d'un fichier partagé. [0112] Une ou plusieurs données partagées peuvent être déterminées en fonction de la taille et / ou de la structure de données du fichier en partage et / ou du fichier partagé associé. Le fichier partagé associé au fichier en partage est alors typiquement identifié en consultant la déclaration de partage ou l'indicateur de partage. [0113] Par exemple, il est d'abord déterminé si le fichier en partage est vide, c'est-à-dire si le contenu du fichier en partage ne contient pas de donnée reçue à l'étape S310 de réception. [0114] Si le fichier en partage est vide, le fichier est en partage total, et toutes les données stockées dans le contenu du fichier partagé à l'étape S320 sont des données partagées (sauf si un indicateur d'interdiction de partage indique le contraire). [0115] Si le fichier en partage n'est pas vide, i.e. si au moins une donnée reçue à l'étape S310 de réception est stockée dans le contenu du fichier en partage (et en l'absence d'indicateur de partage indiquant de ne pas utiliser cette ou ces données), le fichier est en partage partiel. [0116] L'étape S340 peut comprendre une sous étape (non représentée), typiquement mise en oeuvre pour chaque fichier en partage partiel, dans laquelle, pour chaque donnée de contenu stockée dans le fichier partagé associé, l'entité électronique 100 détermine si une donnée de contenu est stockée dans l'emplacement de stockage du fichier en partage correspondant à l'emplacement de stockage de ladite donnée stockée. [0117] L'emplacement de stockage de la donnée stockée désigne ici l'emplacement de stockage logique ou l'emplacement de stockage physique de la donnée stockée. [0118] En cas d'absence de donnée dans l'emplacement de stockage correspondant du fichier en partage, la donnée stockée est une donnée partagée (sauf si un indicateur d'interdiction de partage indique le contraire). [0119] Au contraire, si une donnée est stockée dans l'emplacement de stockage cor- respondant du fichier en partage, la donnée stockée n'est pas une donnée partagée (sauf si un indicateur de partage indique le contraire). [0120] Dans l'exemple de la figure 6, la mise en oeuvre de cette sous étape permet ty- piquement de déterminer que la première donnée de contenu Recl et la troisième donnée de contenu Rec3 sont des données partagées, et que la deuxième donnée de contenu Recta n'est pas une donnée partagée. [0121] En variante, l'étape S340 peut comprendre une sous étape dans laquelle l'entité élec- tronique 100 détermine s'il existe, dans le fichier en partage, un emplacement de stockage correspondant à l'emplacement de stockage de la donnée stockée. [0122] En variante, l'étape S340 peut comprendre une sous étape dans laquelle l'entité élec- tronique 100 compare la taille du contenu du fichier partagé avec la taille du contenu du fichier en partage. Dans le cas où la taille du contenu du fichier partagé est 14 différente de la taille du contenu du fichier en partage, l'entité électronique peut déduire quelles données du fichier partagé sont partagées (typiquement parce qu'une norme indique quelles données doivent être partagées). De plus, dans le cas où la taille du contenu du fichier en partage est nulle, le fichier en partage est en partage total et toutes les données du fichier sont partagées. [0123] L'étape S340 peut être mise en oeuvre avant ou après l'étape 5330. En outre, l'étape 5304 est mise en oeuvre avant les étape 5330 et S340, et peut être mise en oeuvre avant ou après l'étape S302, avant ou après l'étape 5310, ainsi qu'avant ou après l'étape S320. [0124] Une fois la ou les données partagées déterminés, un lien de partage associant le fichier en partage et le fichier partagé associé est créé par l'entité électronique 100, dans une étape 5350. La ou les déclarations de partage éventuellement stockées à l'étape 5304 peuvent alors être effacées. [0125] Le lien de partage est créé en stockant en association un identifiant correspondant au fichier en partage et une ou plusieurs adresses correspondant à la ou les données partagées du fichier partagé associé, cette association étant appelée lien de partage. [0126] En effet, les données ayant été reçues puis stockées dans le fichier partagé et éven- tuellement le fichier en partage, la taille du fichier partagé est connue, ainsi que la taille de chaque donnée stockée dans le fichier partagé. Il est ainsi possible de déterminer chaque adresse correspondant à une ou plusieurs données partagées du fichier partagé. [0127] L'identifiant correspondant au fichier en partage est typiquement l'identifiant du fichier en partage, et / ou l'identifiant d'une sous partie du fichier en partage tel qu'une donnée du fichier en partage, et / ou un type de fichier du fichier en partage. [0128] En cas de partage total, l'adresse correspondant à la ou les données partagées peut être l'adresse du fichier partagé. [0129] En outre, chaque adresse correspondant à une donnée partagée peut être l'adresse de la donnée partagée, cette adresse pouvant être relative à l'adresse du fichier partagé dans lequel est stockée la donnée partagée. Ainsi, en cas de partage partiel et lorsque le fichier partagé comprend plusieurs données partagées, l'adresse correspondant aux données partagées peut comprendre l'adresse du fichier partagé et, pour chaque donnée partagé, l'adresse relative de la donnée partagée, c'est-à-dire le saut d'adresse permettant de retrouver l'adresse de la donnée partagée à partir de l'adresse du fichier partagé. [0130] Le lien de partage est stocké dans le fichier en partage, par exemple dans l'entête du fichier ou dans son contenu. En variante, le lien de partage est stocké dans la table centralisée TC. [0131] Les liens de partage étant créés après la réception des données de contenu, la taille des fichiers est connue lors de la création des liens, ce qui permet de ne pas allouer inutilement de la taille mémoire. [0132] La figure 4 représente un procédé de personnalisation d'une entité électronique telle que l'entité électronique de la figure 1, conforme à un exemple de mode de réalisation de l'invention. [0133] Ce procédé de personnalisation est mis en oeuvre par une entité électronique. Dans la suite de la description de la figure 4, il est considéré que le procédé de personnalisation est mis en oeuvre par l'entité électronique 100 de la figure 1. [0134] En outre, dans la suite de la description de la figure 4, il est considéré que chaque fichier en partage est associé à un fichier partagé. Toutefois, le procédé de la figure 4 s'applique lorsque qu'un fichier en partage est associé à plusieurs fichiers partagés. [0135] Le procédé de la figure 4 peut comprendre une étape S402 de création d'au moins un fichier en partage et d'au moins un fichier partagé, faisant typiquement suite à la réception d'une commande de type « Install », envoyée par le dispositif externe 120 de personnalisation. Une arborescence de fichiers est ainsi typiquement créée à l'étape S402. [0136] Par exemple, une structure de fichiers par héritage est créée dans cette étape S402, un fichier fils étant créé à partir d'un fichier père. [0137] Dans une étape S410, l'entité électronique 100 reçoit une ou plusieurs données de contenu, ces données de contenu étant typiquement envoyées par le dispositif externe 120 de personnalisation et étant typiquement destinées à être stockées dans un ou plusieurs fichiers partagés de l'entité électronique 100. [0138] Une ou plusieurs données de contenu reçues à l'étape S410 peuvent en outre être destinées à être stockées clans un ou plusieurs fichiers en partage de l'entité électronique 100. [0139] L'entité électronique 100 stocke alors, clans une étape S420, la ou les données de contenu clans le ou les fichiers partagés et éventuellement le ou les fichiers en partage. [0140] Dans une étape S430, l'entité électronique 100 détermine chaque fichier en partage associé à un fichier partagé. [0141] Pour chaque un fichier en partage, l'entité électronique 100 détermine une ou plusieurs données partagées parmi la ou les données stockées du fichier partagé associé (étape S440). [0142] Les étapes S430 et S440 sont typiquement mises en oeuvre de manière concomitante, par exemple lors de la première utilisation du fichier en partage. En variante l'étape S430 et mise en oeuvre avant ou après l'étape S440. [0143] L'entité électronique 100 détermine une éventuelle absence de donnée à un em- placement de stockage donné du fichier en partage. Cette absence est typiquement déterminée en utilisant les métadonnées présentes dans l'entête du fichier en partage, ou 16 d'un répertoire associé au fichier en partage. Cette absence peut être déduite d'une absence de référencement du fichier en partage dans le répertoire associé au fichier en partage, ou du fait que la taille d'au moins une donnée du fichier en partage, indiquée dans l'entête du fichier en partage, est nulle ou égale à une valeur spécifique. [0144] En cas d'absence d'au moins une donnée, le fichier est un fichier en partage. Dans le cas contraire, le fichier n'est pas un fichier en partage. [0145] Pour chaque donnée absente du fichier en partage, une donnée correspondant à la donnée absente peut alors être recherchée, typiquement en remontant dans la structure de fichiers. Ainsi, une donnée correspondant à la donnée absente peut être recherchée dans le fichier père du fichier en partage. [0146] Si une donnée correspondant à la donnée absente est trouvée dans le fichier père du fichier en partage, le fichier père du fichier en partage est le fichier partagé associé au fichier en partage, et la donnée correspondant à la donnée absente est une donnée partagée. [0147] Dans le cas où aucune donnée correspondant à la donnée absente n'est trouvée dans le fichier père du fichier en partage, une donnée correspondant à la donnée absente est recherchée dans le fichier grand-père du fichier en partage, et ainsi de suite. [0148] Dans le cas où le fichier en partage est vide, c'est-à-dire si le contenu du fichier ne contient pas de donnée reçue à l'étape 5410 de réception, le fichier est un fichier en partage total, et dans le cas où au moins une donnée reçue à l'étape 5410 de réception est stockée dans le contenu du fichier, le fichier est en partage partiel. [0149] Après avoir déterminé la ou les données partagées à l'étape S440, un lien de partage associant le fichier en partage et le fichier partagé associé est créé par l'entité électronique 100, dans une étape S450. [0150] Plus précisément, le lien de partage est créé en stockant en association un identifiant correspondant au fichier en partage et une ou plusieurs adresses correspondant à la ou les données partagées du fichier partagé associé, cette association étant appelée lien de partage. [0151] L'identifiant correspondant au fichier en partage est typiquement l'identifiant du fichier en partage, et / ou l'identifiant d'une sous partie du fichier en partage tel qu'une donnée du fichier en partage, ou encore un type de fichier du fichier en partage. [0152] En cas de partage total, l'adresse correspondant à la ou les données partagées peut être l'adresse du fichier partagé. [0153] En outre, chaque adresse correspondant à une donnée partagée peut être l'adresse de la donnée partagée, cette adresse pouvant être relative à l'adresse du fichier partagé dans lequel est stockée la donnée partagée. Ainsi, en cas de partage partiel et lorsque le fichier partagé comprend plusieurs données partagées, l'adresse correspondant aux données partagées peut comprendre l'adresse du fichier partagé et, pour chaque donnée 17 partagée, l'adresse relative de la donnée partagée, c'est-à-dire le saut d'adresse permettant de retrouver l'adresse de la donnée partagée à partir de l'adresse du fichier partagé. [0154] Le lien de partage est stocké dans le fichier en partage, par exemple dans l'entête du fichier ou dans son contenu. En variante, le lien de partage est stocké dans la table centralisée TC. [0155] Le stockage des liens de partage permet à l'entité électronique 100 de retrouver fa- cilement les données partagées, sans devoir calculer l'adresse de ces données partagées à chaque fois que l'on veut y accéder. [0156] La figure 8 représente schématiquement un exemple de table centralisée TC stockant des liens de partages, lors de la mise en oeuvre du procédé de la figure 4. [0157] Chaque lien de partage LP1-LPn comprend dans cet exemple un identifiant IF1-1Fn du fichier en partage et une adresse @1-@n correspondant à la ou les données partagées du fichier partagé associé. En outre, la table centralisée TC stocke la longueur totale LT de la table TC, par exemple avant le premier lien de partage LP1. [0158] La figure 9 représente schématiquement un exemple de structure de fichier créée lors de la mise en oeuvre du procédé de la figure 4. [0159] Dans l'exemple de la figure 9, un premier répertoire ME un deuxième répertoire DDF1, un troisième répertoire DDF2, un quatrième répertoire ADF1, un cinquième répertoire ADF2, un sixième répertoire ADF3 et un septième répertoire ADF4 sont créés à l'étape S402 de création de fichier, de sorte que le deuxième répertoire DDFI et le troisième répertoire DDF2 héritent du premier répertoire MF, le quatrième répertoire ADF1 et le cinquième répertoire ADF2 héritent du deuxième répertoire DDF1, et les sixième répertoire ADF3 et septième répertoire ADF4 héritent du troisième répertoire DDF2. En outre, un fichier EFI est créé sous chaque répertoire DDFI, DDF2, ADF1, ADF2, ADF3 et ADF4. En variante, un fichier EFI est créé uniquement sous les deuxième répertoire DDF1, sixième répertoire ADF3 et septième répertoire ADF4. [0160] Les deuxième répertoire DDFI et troisième répertoire DDF2 peuvent correspondre à des répertoires pouvant contenir plusieurs applications, et sont typiquement des répertoires contenant des applications de paiement conformes à la norme EMV (pour Europay Mastercard Visa »). [0161] De plus les quatrième répertoire ADFI, cinquième répertoire ADF2, sixième ré- pertoire ADF3 et septième répertoire ADF4 peuvent être des répertoires associés à une application, typiquement une application de paiement conforme à la norme EMV. [0162] Ensuite, aux étapes S410 et S420, l'entité électronique 100 reçoit et stocke dans le fichier EFI sous le deuxième répertoire DDFI une première donnée « Log Entry 1 » et une deuxième donnée « Log Format 1 », reçoit et stocke dans le fichier EFI sous le sixième répertoire ADF3 une troisième donnée « Log Entry 2 » et une quatrième 18 donnée « Log Format 2» et reçoit et stocke dans le fichier EF1 sous le septième répertoire ADF4 une cinquième donnée « Log Entry 3 » et une sixième donnée « Log Format 3 ». [0163] Ensuite, aux étapes S430 et S440, l'entité électronique 100 détermine que les fichiers EF1 sous les quatrième et cinquième répertoires ADF1 et ADF2 sont des fichiers en partage total et que le fichier EF1 sous le deuxième répertoire DDF1 est le fichier partagé associé à chacun de ces fichiers en partage. [0164] En effet, l'entité électronique détermine que les fichiers EF1 sous les quatrième et cinquième fichiers ADF1 et ADF2 sont vides ou n'existent pas, et, pour chacun de ces fichiers, recherche les données correspondant aux données manquantes en remontant dans la structure de fichiers. Le fichier EF1 sous le deuxième répertoire DDF1 stockant les données correspondant aux données manquantes (i.c. la première donnée « Log Entry 1 » et la deuxième donnée « Log Format 1 »), ce fichier EF1 sous le deuxième répertoire DDF1 est le fichier partagé associé au fichier EF1 sous le quatrième répertoire ADF1 en partage et au fichier EF1 sous le cinquième répertoire ADF2 en partage. [0165] Le fichier EF1 sous le sixième répertoire ADF3 stockant la troisième donnée « Log Entry 2» et la quatrième donnée « Log Format 2 », et le fichier EF1 sous le septième répertoire ADF4 stockant la cinquième donnée « Log Entry 3 » et la sixième donnée « Log Format 3 », ces fichiers EF1 ne sont pas des fichiers partagés. [0166] L'absence de fichier EFI sous les quatrième et cinquième répertoires ADF1 et ADF2 est par exemple déterminée parce que ces fichiers ne sont pas référencés dans les métadonnées de ADF1 et ADF2 (ou de manière alternative dans les métadonnées de DDF1 et / ou MF). [0167] Lorsque des fichiers EFI sont créés sous les quatrième et cinquième répertoires ADF1 et ADF2, l'absence de donnée de contenu dans ces fichiers peut être déterminée car les métadonnées de l'entête de ces fichiers indiquent que la taille des données contenues est nulle. [0168] Par exemple, le fichier EFI sous le quatrième répertoire ADF1 comprend un index (par exemple dans les métadonnées de l'en-tête dudit fichier EFI sous ADFI) référençant les groupes de données qu'il contient (par exemple, Groupel-offsetl I groupe3-offset3 ou Groupel-otIset1 I groupe2-FFFF I groupe3-offset3). Il peut alors être déduit de l'absence de référence au niveau du groupe 2 dans l'entête du fichier EF1, ou de la présence de ce groupe mais avec un offset à une valeur spécifique, que ce groupe de données est en partage. 19