Brevet FR2743165A1 — publié le 19970704

La présente invention concerne un procédé d'exploitation de carte intelligente et, de manière plus particulière, un procédé pour créer un répertoire dédié de bas niveau (FD) dans le système d'exploitation de la puce d'une carte intelligente, qui empêche qu'un répertoire dédié alloué à un sous-émetteur ne devienne plus grand que celui de l'émetteur principal. De plus, la présente invention concerne un procédé pour enregistrer un fichier dans le répertoire dédié d'une carte intelligente. Les cartes de paiement se sont généralisées depuis bien longtemps dans les transactions bancaires. Par ailleurs, l'utilisation de cartes de crédit pour le paiement de marchandises a connu un succès populaire avec la diffusion des transactions à crédit. En outre, des cartes prépayées sont en cours d'introduction sur le marché afin de réduire l'inconvénient d'avoir à transporter sur soi de l'argent liquide. Les cartes qui ont été décrites ci-dessus sont habituellement des cartes à bande magnétique, dans lesquelles les informations portant sur le titulaire de la carte sont enregistrées dans une bande magnétique déposée au dos des cartes. Cependant, les titulaires de cartes doivent transporter sur eux un grand nombre de cartes à bande magnétique du fait que chaque organisme émetteur de cartes délivre de manière habituelle une carte différente. Par conséquent, lorsque le titulaire de plusieurs cartes perd le portefeuille dans lequel il les range, il doit subir l'épreuve consistant à en informer chacun des organismes émetteurs. Qui plus est, la carte à bande magnétique ne dispose d'aucune fonction de sécurité, de sorte que les informations mémorisées sur la carte peuvent être facilement dérobées. Par conséquent, il existe d'importants risques d'utilisation illégale des cartes. Une carte intelligente a été développée afin de surmonter les problèmes mentionnés ci-dessus. La carte intelligente comporte une unité centrale de traitement (CPU), une mémoire vive (RAM) , une mémoire morte (ROM), et une mémoire non-volatile à l'intérieur d'un élément d'encapsulation. La mémoire non-volatile est habituellement une EEPROM dont la capacité est comprise entre 2 et 8 Ko. Du fait de la présence des mémoires, la carte intelligente peut mémoriser une quantité importante d'informations. Par conséquent, il est possible de remplir diverses fonctions dans des domaines différents, avec une seule carte. De plus, la carte intelligente offre des caractéristiques de très grande sécurité. Les données doivent être organisées de manière systématique dans la carte intelligente pour que l'on puisse mémoriser une quantité importante d'informations et que celles-ci puissent être utilisées par plusieurs émetteurs de cartes. Par conséquent, le système d'exploitation de la puce d'une carte intelligente possède une structure organisée en arborescence de répertoires qui sont organisés de manière hiérarchique de sorte que, dans une situation particulière, il ne soit possible d'accéder qu'aux informations nécessaires. La figure 1 représente un exemple de la structure d'organisation de fichiers dans un système d'exploitation de carte intelligente. Une racine (Répertoire ou fichier maître : FM) qui est utilisée par un émetteur principal peut comporter des sous-répertoires (FD). Par ailleurs, un sous-répertoire (FD) peut comporter ses propres sous-répertoires (FD). Un sous-répertoire (FD) peut être créé pour augmenter les domaines d'application, pour classer les données, ou pour être utilisé par une entité affiliée qui a été approuvée par l'émetteur principal. Sur la figure 1, certains des répertoires dédiés FD 1 à FD N sont utilisés par l'émetteur principal et les autres sont utilisés par les entités affiliées. D'autre part, le sous-répertoire créé peut dépendre d'un parent ou peut être défini indépendamment d'un parent. Cependant, la création et l'utilisation d'un sous-répertoire pour une entité affiliée sont déterminées par agrément entre l'émetteur principal et le sous-émetteur, mais ne sont pas commandées par un système. Par conséquent, la taille du volume de mémoire qui peut être utilisé par le sous-émetteur n'est pas limitée, et il est possible que le volume qui est utilisé par le sous-émetteur puisse dépasser celui qui est utilisé par l'émetteur principal, même si l'organisme propriétaire de la carte est l'émetteur principal. Dans un tel cas, lorsque l'émetteur principal souhaite élargir l'application de la carte ou enregistrer un fichier supplémentaire dans la mémoire, l'espace mémoire nécessaire peut ne pas être disponible. Pour surmonter les problèmes mentionnés cidessus, un but de la présente invention consiste à fournir un procédé pour créer un répertoire dédié dans un système d'exploitation de puce de carte intelligente qui empêche qu'un répertoire dédié alloué à un sous-émetteur ne devienne plus grand que celui d'un émetteur principal. Un autre but de la présente invention consiste à fournir un procédé pour enregistrer un fichier dans le répertoire dédié d'une carte intelligente uniquement lorsque la taille du répertoire dédié dans lequel doit être enregistré le fichier n'est pas supérieure à une taille prédéterminée après l'enregistrement. Pour atteindre le premier but mentionné cidessus, l'invention fournit un procédé pour créer un répertoire dédié dans une carte intelligente, comportant les étapes consistant à : (a) déterminer si le répertoire dédié doit être indépendant d'un parent ou non ; (b) créer une table d'attributs de sécurité s'il est déterminé que le répertoire dédié doit être créé indépendamment du parent à l'étape (a) ; (c) déterminer si la taille du répertoire dédié doit être limitée ; et (d) établir la taille du répertoire dédié s'il est déterminé que la taille du répertoire dédié doit être limitée à l'étape (c) . Pour atteindre l'autre but mentionné ci-dessus, l'invention fournit un procédé pour enregistrer un fichier dans une carte intelligente, comportant les étapes consistant à : (a) déterminer si la taille d'un répertoire dédié dans lequel doit être enregistré le fichier est limitée à un nombre prédéterminé ; et (b) enregistrer le fichier dans le répertoire dédié uniquement lorsque la taille du fichier est inférieure ou égale à la taille du volume restant dans le répertoire dédié dans le cas où il est déterminé que la taille du répertoire dédié doit être limitée à un nombre prédéterminé à l'étape (a). Les buts et les avantages de la présente invention, mentionnés ci-dessus, apparaîtront plus clairement à la lecture de la description détaillée qui va suivre d'un mode préféré de réalisation de la présente invention, faite en référence aux dessins annexés sur les quels - la figure 1 représente un exemple de la structure d'organisation des fichiers dans un système d'exploitation de carte intelligente, - la figure 2 représente une table d'attributs de répertoire dédié selon la présente invention, - la figure 3 représente l'utilisation de chaque bit de l'octet attribut de répertoire dédié représenté sur la figure 2, - la figure 4 est un ordinogramme représentant un procédé pour créer un répertoire dédié dans une carte intelligente selon la présente invention, et - la figure 5 est un ordinogramme représentant un procédé pour enregistrer un fichier dans le répertoire dédié créé par le procédé représenté sur la figure 4. Comme mentionné ci-dessus, il existe deux types de répertoires dédiés qui sont créés par le système deux ploitation de la puce dans une carte intelligente. Un premier type est créé indépendamment d'un parent. Un tel répertoire possède une table d'attributs de sécurité (TAS). En particulier, l'autre est créé tout en dépendant d'un parent. Un tel répertoire dédié ne comporte pas de table d'attributs de sécurité. Le premier est habituellement utilisé pour une entité affiliée qui a délégué l'exploitation de la carte à l'émetteur principal. D'autre part, chaque répertoire dédié d'une carte intelligente possède sa propre table d'attributs de répertoire. La figure 2 représente une table d'attributs de répertoire dédié selon la présente invention. La table d'attributs de répertoire dédié de la figure 2 est constituée de 8 octets. De manière spécifique, la table comporte des octets alloués au nom du répertoire dédié (2 octets) 10, un octet 20 d'attribut de répertoire dédié, un octet 30 d'autorisation de lecture/écriture, un octet 40 de masque de lecture, et un octet 50 de masque d'écriture. De plus, la table comporte un pointeur d'allocation 60 constitué de deux octets. La figure 3 illustre le contenu de l'octet d'attribut de répertoire dédié représenté sur la figure 2. Le zéro-ième bit 200 de l'octet 20 d'attribut de répertoire dédié indique si le répertoire dédié est alloué en vue d'un but spécifique ou à un opérateur spécifique. Le bit est établi à 1 lorsque le répertoire dé dié est alloué en vue d'un but spécifique ou à un opérateur spécifique, tandis que celui-ci est établi à 0 lorsque le répertoire dédié n'est alloué ni à un but ni à un opérateur. Le premier bit 210 indique si le répertoire dédié possède une table d'attributs de sécurité (TAS). En d'autres termes, le bit indique si le répertoire dédié est un répertoire dédié dépendant ou indépendant. Si le répertoire dédié est dépendant d'un parent, le bit est établi à "0". Si le répertoire dédié est un répertoire dédié indépendant, le bit est établi à "1". Le deuxième bit 210 indique si le répertoire dédié est verrouillé. Lorsque le bit est à 1, le répertoire dédié ne peut pas être utilise. Le troisième bit 230 indique si la taille du répertoire dédié est limitée à une limite supérieure qui est prédéterminée et qui est enregistrée dans une zone de mémorisation (non-représentée). Si le bit est à 0, la construction d'un fichier dans le répertoire dédié n'est pas limitée au nombre prédéterminé. Si le bit est à 1, cependant, la construction d'un fichier ou la création d'un répertoire dans le répertoire est limitée de telle sorte que le volume total du répertoire dédié ne dépasse pas le nombre prédéterminé. Les quatrième et cinquième bits 240 et 250 sont réservés à des utilisations futures. Le sixième bit 260 indique si la clé "standard de cryptage des données" est établie. Le septième bit est toujours établi à 1. Par conséquent, la présente invention écrit si la taille du répertoire dédié est limitée à un nombre prédéterminé sur un bit de l'octet d'attribut de répertoire dédié de la table d'attributs de répertoire dédié. De plus, l'invention écrit la taille du répertoire dédié dans la zone de mémorisation supplémentaire dans le cas où la taille du répertoire dédié est limitée au nombre en question. Ensuite, les informations sont utilisées lorsqu'un répertoire dédié ou un fichier est créé dans le système d'exploitation de carte. La figure 4 est un ordinogramme représentant un procédé pour créer un répertoire dédié dans une carte intelligente selon la présente invention. Lorsqu'un répertoire dédié est créé, il est déterminé si le répertoire dédié doit dépendre ou non d'un parent (étape 410). Le parent peut être soit un répertoire maître (FM) soit un autre répertoire dédié (FD) indépendant. Si le répertoire dédié est indépendant, une table d'attributs de sécurité (TAS) est créée pour le répertoire dédié (étape 420) et le premier bit 210 de l'octet d'attribut de répertoire dédié représenté sur la figure 3 est établi à "1" (étape 430). Cependant, si le répertoire dédié est un répertoire dépendant, la table d'attributs de sécurité n'est pas créée et l'opération est terminée. Après la création de la table d'attributs de sécurité, il est déterminé si oui ou non la taille du répertoire dédié doit être limitée à une limite supérieure définie par un nombre prédéterminé (étape 440). Si la taille du répertoire dédié doit être limitée, le premier bit 210 de l'octet d'attribut de répertoire dédié représenté sur la figure 3 est établi à "1". Ainsi, un espace de 4 bits est alloué en mémoire pour mémoriser la taille du répertoire dédié. De manière préférée, la mémoire est une mémoire à lecture seule, programmable et effaçable électriquement (EEPROM). Ensuite, la taille du répertoire dédié est mise en mémoire (étape 450). Enfin, la clé de l'émetteur du répertoire dédié est établie à l'étape 460. La figure 5 est un ordinogramme représentant un procédé pour enregistrer un fichier dans le répertoire dédié créé par le procédé représenté sur la figure 4. Tout d'abord, il est déterminé si oui ou non la taille du répertoire dédié dans lequel le fichier doit être créé est limitée à un nombre prédéterminé par l'émetteur de la carte (étape 510). Si la taille du répertoire dédié n'est pas limitée par l'émetteur de la carte, le fichier est immédiatement enregistré dans le répertoire dédié (étape 570). Si la taille du répertoire dédié est limitée par l'émetteur de la carte, la taille du fichier à enregistrer est définie (étape 520). De plus, la taille prédéterminée du répertoire dédié est extraite d'une EEPROM et la taille du volume qui est utilisé dans le répertoire dédié est extraite (étape 530). Ensuite, la taille du volume restant du répertoire dédié est calculée en soustrayant la taille du volume qui est utilisé de la taille prédéterminée du répertoire dédié (étape 540). Après l'étape 540, il est déterminé si oui ou non la taille du fichier est supérieure à la taille du volume restant du répertoire dédié (étape 550). Si la taille du fichier est supérieure à la taille du volume restant du répertoire dédié, le fichier n'est pas enregistré dans le répertoire dédié et un message d'erreur est produit (étape 560). Si la taille du fichier est inférieure ou égale à la taille du volume restant du répertoire dédié, le fichier est enregistré dans le répertoire dédié (étape 570), et l'opération d'enregistrement est terminée. Ainsi, le fichier est enregistré uniquement lorsque la taille du fichier est inférieure ou égale à la taille du volume restant du répertoire dédié, dans le cas où la taille du répertoire dédié est limitée par l'émetteur de la carte. REVENDICATIONS 1. Procédé pour créer un répertoire dédié (FD) dans une carte intelligente, caractérisé en ce qu'il comporte les étapes consistant à (a) déterminer si ledit répertoire dédié doit être indépendant d'un parent ou non, (b) créer une table d'attributs de sécurité s'il est déterminé que ledit répertoire dédié doit être créé indépendamment dudit parent à ladite étape (a), (c) déterminer si la taille dudit répertoire dédié doit être limitée, et (d) établir la taille dudit répertoire dédié s'il est déterminé que la taille dudit répertoire dédié doit être limitée, à ladite étape (c). 2. Procédé pour créer un répertoire dédié dans une carte intelligente selon la revendication 1, caractérisé en ce que ladite étape (d) comporte les étapes consistant à (dl) établir un drapeau qui indique que la taille dudit répertoire dédié est limitée dans une table d'attributs de répertoire dédié, (d2) allouer un espace pour mémoriser la taille dudit répertoire dédié dans des moyens de mémorisation, et (d3) mémoriser ladite taille dans lesdits moyens de mémorisation. 3. Procédé pour enregistrer un fichier dans une carte intelligente, caractérisé en ce qu'il comporte les étapes consistant à (a) déterminer si la taille d'un répertoire dédié dans lequel ledit fichier doit être enregistré est limitée à un nombre prédéterminé, et (b) enregistrer ledit fichier dans ledit répertoire dédié uniquement lorsque la taille dudit fichier est inférieure ou égale à la taille du volume restant dudit répertoire dédié dans le cas où il est déterminé que la taille dudit répertoire dédié est limitée à un nombre prédéterminé au cours de ladite étape (a). 4. Procédé pour enregistrer un fichier dans une carte intelligente selon la revendication 3, caractérisé en ce que ladite étape (b) comporte les étapes consistant à (c) définir la taille dudit fichier, (d) calculer la taille dudit volume restant dans ledit répertoire dédié, (e) déterminer si la taille dudit fichier est supérieure à celle dudit volume restant, et (f) enregistrer ledit fichier dans ledit répertoire dédié s'il est déterminé que la taille dudit fichier est inférieure ou égale à la taille dudit volume restant, à ladite étape (d). 5. Procédé pour enregistrer un fichier dans une carte intelligente selon la revendication 4, caractérisé en ce que ladite étape (d) comporte les étapes consistant a: (dl) extraire la taille limitée dudit répertoire dédié, (d2) extraire la taille d'un volume qui est à utiliser dans ledit répertoire dédié, et (d3) soustraire la taille du volume qui est à utiliser de la taille limitée.