Brevet FR2635890A1 — publié le 19900302

La présente invention concerne un procédé et un dispositif pour traiter des données dans une mémoi- re d'une carte à circuit intégré, ou "carte à puce", Au cours des dernières années, une carte à circuit intégré ou "carte à puce" qui contient une pu- ce de circuit intégré constituée par une mémoire non volatile effaçable et par un élément de commande tel qu'une unité centrale, a suscité un certain intérêt en tant que nouveau support d'enregistrement d'informa- tion portable. Dans cette carte à puce, l'élément de commande accède à la mémoire et effectue sélectivement des opérations d'entrée/sortie de données pour un ap- pareil externe. Pour utiliser cette carte à puce dans diver- ses applications, la mémoire est divisée en un seul fichier de données d'ordre et en un ensemble de fi- chiers de données d'application, et chaque fichier de données est divisé en plusieurs zones. On peut accéder à ces zones en désignant des données de spécification telles qu'un numéro de zone qui est affecté à chaque zone. On accède aux zones dans un fichier de données en désignant des données de spécification telles qu'un nom de fichier de données qui est associé à chaque fichier de données, et en sé- lectionnant ce fichier de données. Dans une telle carte à puce, des fichiers de données sont définis conjointement à l'avance. De ce fait, au moment de l'utilisation d'une carte à puce, lorsqu'on ne connaît pas toutes les applications, on ne peut pas définir des fichiers de données. La taille totale de fichiers de données définissables n'est ha- bituellement pas connue, ce qui fait qu'on ne peut pas définir des fichiers de données. Ceci empêche une dé- finition supplémentaire de fichiers de données. Dans cette carte à puce, un ensemble de mots de passe sont enregistrés dans une mémoire. Un mot de passe introduit de façon externe est contrôlé par com- paraison avec les mots de passe qui sont enregistrés dans la mémoire, et l'autorisation/interdiction d'ac- cès à une zone est déterminée conformément au résultat du contrôle. Si des données de spécification affectées à des mots de passe et des données de spécification af- fectées à des zones sont fixées de façon que les don- nées mentionnées en premier diffèrent des données men- tionnées en second, le nombre de zones d'une mémoire aura une influence sur le nombre de mots de passe. Ce- ci restreint les données de spécification qui sont utilisées. On accède à une zone dans un fichier de don- nées d'application en sélectionnant un fichier de don- nées d'application dans lequel se trouve la zone re- cherchée. Il faut noter que l'accès à des zones qui se trouvent dans un fichier de données commun est possi- ble indépendamment du fait qu'un fichier de données d'application soit sélectionné ou non. Par exemple, si les mêmes données d'ordre permettent d'accéder à des zones dans un fichier de données commun et à des zones dans un fichier de données d'application, il est né- cessaire de faire la distinction entre les données de spécification pour le fichier de données commun et celles pour le fichier de données d'application. Ceci nécessite de modifier le processus de contrôle selon les systèmes. Du fait de ce qui précède, il existe un be- soin portant sur une carte à puce qui puisse traiter des données dans des zones de mémoire avec une grande efficacité. Un but de l'invention est de procurer un procédé et un dispositif pour traiter des données dans une zone de mémoire d'une carte à puce. Un aspect de l'invention procure un disposi- tif pour traiter des données dans une zone de mémoire d'une carte à puce, la zone de mémoire contenant un ensemble de fichiers de données, ce dispositif compre- nant: des moyens d'enregistrement de données d'identification pour enregistrer des données d'iden- tification qui spécifient le fichier de données défi- ni; des moyens de détermination pour déterminer si les données d'identification enregistrées coinci- dent avec des données d'identification pré-enregis- trées; et des moyens de définition pour définir le fi- chier de données pour la zone de mémoire, conformément au résultat de la détermination. Un autre aspect de l'invention procure un dispositif pour traiter des données dans une zone de mémoire d'une carte à puce, la zone de mémoire conte- nant un ensemble de fichiers de données, ce système comprenant: des premiers moyens d'enregistrement de taille pour enregistrer des premières données de tail- le représentant la taille de chaque fichier de données défini; des seconds moyens d'enregistrement de tail- le pour enregistrer des secondes données de taille re- présentant la taille totale du fichier de données dé- finissable; des moyens de détermination de définition, destinés à déterminer si le nouveau fichier de données est défini ou non conformément aux premières et se- condes données de taille; et des moyens de définition pour définir le fichier de données pour la zone de mémoire, conformé- ment au résultat de la détermination. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre d'un mode de réalisation, et en se référant aux dessins annexés sur lesquels: La figure 1 est un schéma synoptique qui il- lustre la configuration d'un terminal prévu pour met- tre en oeuvre une carte à puce conforme à un mode de réalisation de l'invention; La figure 2 est un schéma synoptique qui montre la configuration fonctionnelle de la carte à puce; La figure 3 est un schéma synoptique qui montre la configuration de la carte à puce; La figure 4 est une représentation qui mon- tre la structure de fichiers de données d'une mémoire de données de la carte à puce; La figure 5 est une représentation qui mon- tre le format de données de définition de fichier de données; La figure 6 est une représentation qui mon- tre la structure de zones dans un fichier de données commun; La figure 7 est une représentation qui mon- tre la structure de zones dans un fichier de données d'application; Les figures 8A et 8B sont des représenta- tions qui montrent les formats de données de défini- tion de zone et de données de définition de zone de données de clé; La figure 9 est un schéma synoptique d'une section d'enregistrement dans une mémoire de données; Les figures 10A à 10K sont des organigrammes qui sont destinés à expliquer des opérations d'une unité de commande dans la carte à puce; La figure 11 est une représentation qui mon- tre le format de données d'ordre de définition de fi- chier de données; La figure 12 est une représentation qui mon- tre le format de données d'ordre de définition de zone; La figure 13 est une représentation qui mon- tre une autre structure de fichiers de données dans la mémoire de données; La figure 14 est une représentation destinée à l'explication de données qui doivent être incorpo- rées dans des données de clé; La figure 15 est un schéma synoptique d'une section d'enregistrement dans l'unité de commande; La figure 16 est une représentation destinée à l'explication de données qui doivent être incorpo- rées dans une zone; La figure 17 est une représentation qui mon- tre une table de conversion de code d'ordre/données de sélection; La figure 18 est une représentation qui mon- tre le format de données d'ordre de sélection de fi- chier de données; La figure 19 est une représentation qui mon- tre le format de données d'ordre de contrôle de don- nées de clé; La figure 20 est une représentation qui mon- tre le format de données d'ordre de lecture; La figure 21 est une représentation qui mon- tre le format de données d'ordre d'écriture; et La figure 22 est une représentation qui mon- tre le format de données d'ordre d'effacement. En considérant la figure 1, on voit qu'un terminal destiné à la mise en oeuvre d'une carte à puce 1 comprend un lecteur/enregistreur de carte 2, une unité de commande 3 constituée par une unité cen- trale de traitement ou un élément analogue, un clavier 4, un visuel à tube cathodique 5, une imprimante 6 et une unité de disquette 7. A titre d'exemple, dans le cas d'un achat, la carte à puce 1 que porte un utilisateur effectue normalement un contrôle de mot de passe et elle enre- gistre les données nécessaires. Comme le montre la figure 2, la carte à puce comprend les 6ldments fonctionnels suivants: une soc- tion de lecture/écriture 11, une section de fixation/ discrimination de mot de passe 12, une section de co- dage/décodage 13, et un superviseur 14 pour superviser ces sections. La section de lecture/écriture 11 effec- tue des opérations de lecture/écriture de données. La section de fixation/discrimination de mot de passe 12 enregistre un mot de passe qui est désigné par un uti- lisateur, et elle effectue une discrimination sur la base du mot de passe enregistré. Dans la transmission de données vers un au- tre terminal par une ligne de communication, la sec- tion de codage/décodage 13 code les données de façon à éviter la divulgation de données, et elle décode les données codées. A titre d'exemple, les données sont traitées conformément à un algorithme de codage qui utilise un cryptage efficace et sur, tel que l'algo- rithme DES (Data Encryption Standard). Le superviseur 14 fait fonctionner les sections 11, 12 et 13 confor- mément à des données qui proviennent du lecteur/enre- gistreur de carte 2. Pour exécuter les fonctions ci-dessus, la carte à puce 1 comprend un élément de commande 15 constitué par une unité centrale de traitement ou un élément analogue, une mémoire de données 16, une mé- moire de programme 17, et une unité de connexion 18 pour la connexion au lecteur/enregistreur de carte 2, comme le montre la figure 3. Il faut noter que l'élé- ment de commande 15, la mémoire de données 16 et la mémoire de programme 17 sont incorporés dans un carte à puce qui est constituée par une ou plusieurs puces de circuit intégré. La mémoire de programme 17, qui est consti- tuée par une mémoire morte (ou ROM) à masque ou par une mémoire analogue, enregistre des programmes de commande qui comportent des sous-programmes pour l'exécution des fonctions ci-dessus. La mémoire de données 16, qui est constituée par une mémoire non volatile telle qu'une mémoire mor- te programmable et effaçable par des moyens électri- ques (ou EEPROM), enregistre divers types de données. Comme le montre la figure 4, la mémoire 16 est divisée en un fichier de données commun (CDF) 21, qui est uti- lisé en commun dans toutes les applications, et en un ensemble de fichiers de données d'application (ADF) 22 qui sont utilisés indépendamment pour chaque applica- tion. Le fichier de données commun 21 et les fi- chiers d'application 22 sont définis par des données de définition de fichier de données 24 d'une table de définition de fichier de données 23. A titre d'exem- ple, dans ce cas, les données de définition de fichier de données 24 sont enregistrées à partir de l'adresse de début de la mémoire de données 16. Le fichier de données commun 21 et les fichiers de données d'appli- cation 22 sont définis à partir de l'adresse de fin. Comme le montre la figure 5, les données de définition de fichier de données 24 comprennent un nom de fichier de données 24a, des données d'adresse de début 24b, des données de taille 24c, des données de condition d'accès 24d, des données d'adresse de début 24e de zones attribuées totales, et des données de taille 24f d'une zone non attribuée. Si aucune zone n'est définie dans un fichier de données défini, une valeur représentée par les don- nées de taille de zone non attribuée correspond à la valeur de taille maximale du fichier de données, et un_. valeur représentée par les données d'adresse de début de zone attribuée totale correspond à une valeur qui est obtenue en incrémentant d'une unité l'adresse de fin du fichier de données défini. En considérant la figure 4, on note que les données de définition de fichier de données 24 sont enregistrées dans l'ordre des noms de fichier de don- nées "00000", "NNNNN",..., "ZZZZZ", conformément à des données d'ordre de définition de fichier de don- nées qu'on décrira ultérieurement. Il faut noter qu'un nom de fichier de données "00000" du fichier de don- nées commun 21 est enregistré à l'avance. Le fichier de données commun 21 est divisé comme le montre la figure 6, et le fichier de données d'application 22 est divisé comme le montre la figure 7. Des zones sont définies par des données de défini- tion de zone de tables de définition de zone respecti- ves 26 et 29. A titre d'exemple, les données de défi- nition de zone sont enregistrées à partir des adresses de début des fichiers de données respectifs 21 et 22. Les zones sont définies à partir des adresses de fin des fichiers de données respectifs 21 et 22. Comme le montre la figure 8A, les données de définition de zone comprennent des données d'identi- fication 27a (30a), un numéro de zone (AID) 27b (30b), des données d'adresse de début 27c (31c) d'une zone, des données de taille 27d (30d), et des données de condition d'accès. Comme le montre la figure 8B, les données de définition de zone de données de clé comprennent des données d'identification, un numéro de données de clé (KID), des données d'adresse de début d'une zone de données de clé, des données de taille, des données de condition d'accès et des données de spécification de condition de contrôle. On décrira dans un paragraphe ultérieur ces données de définition de zone de données de clé. Comme le montre la figure 9, la mémoire de données 16 comprend une section d'enregistrement de taille non attribuée 16a et une section d'enregistre- ment d'adresse de début 16b. La section 16a enregistre des données de taille d'un fichier de données non at- tribué. La section 16b enregistre des données d'adres- se de début d'un fichier de données attribué total. Si aucun fichier de données n'est attribué, une valeur représentée par les données de taille du fichier de données non attribué correspond à la taille maximale pour l'attribution d'un fichier de données dans la mé- moire de données 16. Une valeur représentée par les données d'adresse de début du fichier de données at- tribué total correspond à une valeur obtenue en incré- mentant d'une unité l'adresse de fin de la zone de mé- moire de la mémoire de données 16. On décrira ci-après des processus qu'accom- plit l'unité de commande, en se référant aux organi- grammes qui sont représentés sur les figures 10A à K. (1) Processus de définition de fichier de données Si des données d'ordre sont introduites à partir de l'extérieur à l'étape S1, l'étape S2 effec- tue un contrôle pour déterminer si les données d'ordre d'entrée sont les données d'ordre de définition de fi- chier de données, représentées sur la figure 11. Si les données d'ordre d'entrée ne sont pas les données d'ordre de définition de fichier de don- nées à l'étape S2, le traitement de l'étape S14, qu'on décrira ultérieurement, est effectué. Si les données d'ordre d'entrée sont les données d'ordre de défini- tion de fichier de données à l'étape S2, des données de définition de fichier de données ayant le même nom de fichier de données que les données d'ordre d'entrée sont prélevées dans la mémoire de données 16 (étape S3). Si des données de définition de fichier de données ayant le même nom de fichier de données sont détectées à l'étape S4, des données de réponse qui re- présentent l'existence du nom de fichier de données sont émises (étape S5). Si des données de définition de fichier de données ne sont pas détectées à l'étape S4, la taille d'un fichier de données qui est défini par les données d'ordre d'entrée est ajoutée à la taille des données de définition de fichier de données (étape S6). Si la taille qui résulte de l'ajout est su- périeure à la taille de fichier de données non attri- bué à l'étape S7, on détermine que le fichier de don- nées qui est défini par les données d'ordre d'entrée ne peut pas être attribué à la mémoire de données 16, et des données de réponse représentant une anomalie de taille sont émises (étape S8). Si la taille qui résulte de l'ajout est égale ou inférieure à la taille de fichier de données non attribué à l'étape S7, on détermine que le fichier de données qui est défini par les données d'ordre d'entrée peut être attribué à la mémoire de données 16, et des données d'adresse de début de données de définition de fichier de données sont produites (étape S9). Il faut noter qu'on peut calculer ces données d'adresse de début en utilisant une adresse de début 1 1 d'un fichier de données attribué total, qui est enre- gistrée dans la partie d'enregistrement d'adresse de début 16b, et la taille de fichier qui est représentée par les données d'ordre d'entrée. A l'étape S10, de nouvelles données de défi- nition de fichier de données sont produites et enre- gistrées dans la mémoire de données 16, conformément à un nom de fichier de données, à des données de condi- tion d'accès, à des données de taille de fichier, et aux nouvelles données d'adresse de début qui sont pro- duites à l'étape S9. Les données d'adresse de début du fichier de données attribué total sont actualisées à l'étape S11. En d'autres termes, les données d'adresse de début qui sont enregistrées dans la partie d'enregistrement d'adresse de début 16b, sont actualisées pour donner les nouvelles données d'adresse de début. Les données de taille du fichier de données non attribué sont ac- tualisées à l'étape S12. Autrement dit, la taille du fichier de données attribué et la taille des données de définition de fichier de données sont soustraites de la taille qui est enregistrée dans la partie d'en- registrement de taille non attribuée 16a, et la taille qui est obtenue par cette soustraction est enregistrée dans la partie d'enregistrement 16a,oà titre de don- nées de taille d'un nouveau fichier de données non at- tribué. Des données de réponse représentant l'achè- vement de la définition d'un fichier de données sont émises à l'étape S13. De cette manière, les données de définition de fichier de données 24 sont enregistrées à partir de l'adresse de début de la zone de mémoire de la mémoire de données 16, comme le montre la figure 4. Les fi- chiers de données 21 et 22 sont définis par les don- nées de définition de fichier de données 24, à partir des adresses de fin. (2) Processus de définition de zone Si les données d'ordre d'entrée ne sont pas les données d'ordre de définition de fichier de don- * nées à l'étape S2, on effectue à l'étape S14 un con- trôle pour déterminer si les données d'ordre d'entrée sont ou non des données d'ordre de définition de zone, représentées sur la figure 12. Si les données d'ordre d'entrée ne sont pas les données d'ordre de définition de zone à l'étape S14, le traitement de l'étape S28, qu'on décrira ultérieurement, est effectué. Si les données d'ordre d'entrée sont les données d'ordre de définition de zone à l'étape S14, on effectue à l'étape S15 un contrôle pour déterminer si le fichier de données d'application 22 est sélec- tionné ou non. On effectue cette détermination en se référant aux données de définition de fichier de don- nées qui ont été enregistrées au moment de la sélec- tion de fichier de données. Si le fichier de données d'application 22 n'est pas sélectionné à l'étape S15, on prélève dans le fichier de données commun 21 (étape S17) des don- nées de définition de zone ayant un numéro de zone (AID) identique au numéro de zone qui est représenté par les données d'ordre d'entrée. Il faut noter que si les données d'ordre d'entrée sont les données de défi- nition de zone de données de clé, on prélève des don- nées de définition de zone de données de clé qui ont un numéro de données de clé (KID) identique au numéro de données de clé qui est représenté par les données d'ordre d'entrée. Si le fichier de données d'application 22 est sélectionné à l'étape S15, on prélève dans le fi- chier de données commun 21 et dans le fichier de don- nées d'application 22 (étape S16) des données de défi- nition de zone qui ont un numéro de zone identique à celui qui est représenté par les données d'ordre d'entrée. Si des données de définition de zone ayant un numéro de zone identique à celui qui est représenté par les données d'ordre d'entrée sont détectées à l'étape S18, des données de réponse représentant l'existence du numéro de zone sont émises (étape S19). Si des données de définition de zone dési- rées ne sont pas détectées à l'étape S18, la taille de données de définition de zone est ajoutée à la taille de zone qui est représentée par les données d'ordre d'entrée (étape S20). A l'étape S21, la taille résultant de l'ajout, qui est obtenue à l'étape S20, est comparée avec une taille de zone non attribuée. Si le fichier de données d'application 22 n'est pas sélectionné, on utilise des données de taille de zone non attribuée qui sont représentées par des données de définition de fichier de données, pour définir le fichier de données commun 21. Si le fichier de données d'application 22 est sélectionné, on utilise des données de taille de zone non attribuée qui sont représentées par des don- nées de définition de fichier de données, pour définir le fichier de données d'application 22. Si la taille qui résulte de l'ajout est su- périeure à la taille de zone non attribuée à l'étape S21, on détermine que la zone qui est définie par les données d'ordre d'entrée ne peut pas être attribuée au fichier de données, et on émet des données de ré- ponse représentant une anomalie de la taille (étape S22). Si la taille qui résulte de l'ajout est égale ou inférieure à la taille de zone non attribuée à l'étape S21, on détermine que la zone qui est défi- nie par les données d'ordre d'entrée ne peut pas être attribuée au fichier de données, et on produit des données d'adresse de début qui sont représentées par les données de définition de zone (étape S23). On calcule ces données d'adresse de début conformément à une adresse de début de zone attribuée totale qui est représentée par les données de définition de fichier de données, et conformément à la taille de zone qui est représentée par les données d'ordre d'entrée. Il faut noter que si le fichier de données d'application 22 n'est pas sélectionné, on utilise des données de taille de zone attribuée totale, représentées par les données de définition de fichier de données, pour dé- finir le fichier de données commun 21. Si le fichier de données d'application 22 est sélectionné, on uti- lise des données de taille de zone attribuée totale qui sont représentées par les données de définition de fichier de données, pour définir le fichier de don- nées d'application 22. A l'étape S24, de nouvelles données de défi- nition de zone sont produites et enregistrées confor- mément à un numéro de zone, des données de condition d'accès, des données de taille de zone et les données d'adresse de début qui sont produites à l'étape S23. Il faut noter que les données d'identification sont fixées à "00" lorsque les données d'ordre d'entrée sont des données d'ordre de définition de zone, et elles sont fixées à "01" si les données d'ordre d'en- trée sont des données d'ordre de définition de zone de données de clé. A l'étape S25, on actualise les données d'adresse de début de zone attribuée totale. Autrement dit, on actualise les données d'adresse de début de zone attribuée totale qui sont représentées par les données de définition de fichier de données, pour ob- tenir les nouvelles données d'adresse de début. A l'étape S26, on actualise les données de taille de zone non attribuée. Autrement dit, la taille de zone attribuée et la taille des données de définition de zone sont soustraites de la taille de zone non attri- buée qui est représentée par les données de définition de fichier de données. La taille qui est obtenue par cette soustraction est enregistrée à titre de nouvel- les données de taille de zone non attribuée. A l'étape S27, on émet des données de répon- se représentant l'achèvement de la définition de zone. Le traitement ci-dessus permet d'enregistrer les données de définition de zone à partir de l'adres- se de début du fichier de données, comme le montrent les figures 6 et 7. La zone est définie à partir de l'extrémité de fin du fichier de données, conformément aux données de définition de zone. En procédant de la manière ci-dessus, chaque fichier de données, chaque zone de données de clé et chaque zone sont attribués à la mémoire. La'figure 13 montre une représentation schématique d'une telle at- tribution de l'espace de mémoire. Comme le montre la figure 13, la mémoire de données 16 contient un fichier de données commun 21 qui est utilisé en commun par toutes les applications, et un ensemble de fichiers de données d'application 22a et 22b qui sont utilisés pour les applications respectives. Chacun des fichiers de données 21, 22a et 22b comprend un ensemble de données de clé et un en- semble de zones. Un nom de fichier de données (DFN) est af- fecté à chacun des fichiers de données d'application 22a et 22b. On peut donc reconnaître un fichier de données d'application auquel on doit accéder en spéci- fiant un nom de fichier de données, en utilisant des données d'ordre de sélection de fichier de données qu'on décrira ultérieurement. Comme le montre la figure 14, des données de spécification telles qu'un numéro de données de clé (KID) pour spécifier des données de clé, sont affec- tées à chacune des données de clé, de façon qu'on puisse reconnattre des données de clé désirées, devant être contrôlées, en désignant les données de spécifi- cation, par l'utilisation de données d'ordre de con- trôle de données de clé (qu'on décrira ultérieure- ment). Les numéros KID01, KID02 et KID03 sont res- pectivement affectés aux données de clé 1, 2 et 3 qui sont incorporées dans le fichier de données commun 21. Les numéros KID04, KID05 et KID06 sont respectivement affectés aux données de clé X4, X5 et X6 qui sont in- corporées dans le fichier de données d'application 22a. Les numéros KID04, KID05 et KID06 sont également affectés respectivement aux données de clé Y4, Y5 et Y6 qui sont incorporées dans le fichier de données d'application 22b. Des données de spécification de condition de contrôle sont affectées à chacune des données de clé, et on les utilise dans le contrôle des données de clé. Les données de spécification de condition de contrôle sont enregistrées dans des sections d'en- registrement de condition de contrôle 33a et 33b qui sont représentées sur la figure 15. En ce qui concerne les données de clé qui sont incorporées dans le fi- chier de données commun 21, les données de spécifica- tion de condition de contrôle sont enregistrées dans la section d'enregistrement 33a. En ce qui concerne les données de clé qui sont incorporées dans les fi- chiers de données d'application 22a et 22b, les don- nées de spécification de condition de contrôle sont enregistrées dans la section d'enregistrement 33b. Une section d'enregistrement de nom de fichier de données 34a enregistre le nom d'un fichier de données qui est sélectionné par des données d'ordre de sélection de fichier de données. Les sections d'enregistrement 33a, 33b et 34a sont incorporées à titre d'exemple dans l'élément de commande 15. Comme le montre la figure 16, des données de spécification telles qu'un numéro de zone (AID) pour spécifier une zone sont affectées à chaque zone. On reconnait donc une zone qui doit faire l'objet d'un traitement de zone, en désignant les données de spé- cification, par l'utilisation de données d'ordre de processus de zone. Des numéros AID01 et AID02 sont respective- ment affectés aux zones G et H qui sont incorporées dans le fichier de données commun 21. Des numéros ADI03, AID05 et AID06 sont respectivement affectés aux zones A, B et C qui sont incorporées dans le fi- chier de données d'application 22a. En outre, des nu- méros AID04, AID05 et AID06 sont respectivement af- fectés aux zones D, E et F qui sont incorporées dans le fichier de données d'application.22b. Dans ce cas, dans le même fichier de données d'application, les données de spécification qui sont affectées à des données de clé et les données de spécification qui sont affectées à une zone ont la même valeur, sauf pour la zone A. Il n'apparait cependant aucun problè- me, du fait qu'on détermine de façon spécifique si l'accès doit porter sur des données de clé ou sur une zone. Des premières et secondes données de véri- fication de condition de contrôle sont affectées à chaque zone. Des données logiques (A ou O) sont affec- tées à chacune des premières et secondes données de vérification de condition de contrôle. On utilise les premières et secondes données de vérification de con- dition de contrôle pour demander la condition de con- trôle de données de clé qui est nécessaire pour accé- der à une zone. On utilise les données logiques pour déterminer la combinaison de données de vérification de condition de contrôle qui doit être prise, parmi une combinaison logique ET (A) ou une combinaison lo- gique OU (O). La figure 17 montre une table de conversion qui est destinée à enregistrer des données de sélec- tion pour sélectionner, pour chacune des données d'or- dre, deux données de vérification de condition de con- trôle qui sont attribuées à chaque zone. Cette table est par exemple incorporée dans la mémoire de données 16. (3) Processus de sélection de fichier de données Si les données d'ordre d'entrée ne sont pas les données d'ordre de définition de fichier de don- nées à l'étape S14, on effectue à l'étape S28 un con- trôle permettant de déterminer si les données d'ordre d'entrée sont ou non les données d'ordre de sélection de fichier de données, qui sont représentées sur la figure 18. Si les données d'ordre d'entrée ne sont pas les données d'ordre de sélection de fichier de données à l'étape S28, le traitement de l'étape S35 qu'on dé- crira ultérieurement est effectué. Si les données d'ordre d'entrée sont les données d'ordre de sélection de fichier de données à l'étape S28, le fichier de données d'application ayant le nom de fichier de données qui est représenté par les données d'ordre d'entrée est prélevé dans la mé- moire de données 16 (étape S29). Si le fichier de données d'application dési- ré n'est pas détecté à l'étape S30, des données de ré- ponse représentant un fichier de données non défini sont émises (étape S31). Si le fichier de données d'application dési- ré est détecté à l'étape S30, son nom de fichier de données est enregistré dans la section d'enregistre- ment 34a (étape S32). Un "0" représentant l'absence de condition de contrôle est établi dans tous les bits de la partie d'enregistrement 33a (étape S33). En outre, des données de réponse représentant l'achèvement de la sélection de fichier de données sont émises (étape S34). (4) Processus de contrôle de données de clé Si les données d'ordre d'entrée ne sont pas les données d'ordre de sélection de fichier de données à l'étape S28, on effectue à l'étape S35 un contrôle pour déterminer si les données d'ordre d'entrée sont ou non les données d'ordre de contrôle de données de clé qui sont représentées sur la figure 19. Si les données d'ordre d'entrée ne sont pas les données d'ordre de contrôle de données de clé à l'étape S35, le traitement de l'étape S51, qu'on dé- crira ultérieurement, est effectué. Si les données d'ordre d'entrée sont les données d'ordre de contrôle de données de clé à l'éta- pe S35, on effectue un contrôle pour déterminer si un fichier de données d'application est sélectionné ou non, à l'étape S36. On effectue cette détermination en contrôlant un nom de fichier de données qui est en- registré dans la section d'enregistrement 34a. Si un fichier de données d'application n'est pas s6lectionn6 à l'étape S36, des données de c16 ayant un numéro KID identique à celui qui est repré- ayant un numéro KID identique à celui qui est repré- senté par les données d'ordre d'entrée sont prélevées dans le fichier de données commun 21 (étape S37). Si un fichier de données d'application est sélectionné à l'étape S36, des données de clé ayant un numéro KID identique à celui qui est représenté par les données d'ordre d'entrée sont prélevées dans le fichier de données commun 21 et dans le fichier de données d'application sélectionné 22a (ou 22b) (étape S38). Si les données de clé désirées ne sont pas détectées à l'étape S39, des données de réponse repré- sentant des données de clé non définies sont émises (étape S40). Si les données de clé désirées sont détec- tées à l'étape S39, les données de clé détectées sont contrôlées par comparaison avec les données de clé qui sont représentées par les données d'ordre d'entrée (étape S41). Si les données de clé qui sont détectées coincident avec les données de clé qui sont représen- tées par les données d'ordre d'entrée à l'étape S42, on effectue à l'étape S43 un contrôle pour déterminer si les données de clé détectées sont contenues ou non dans le fichier de données commun 21. Si les données de clé détectées sont conte- nues dans le fichier de données commun 21 à l'étape S43, un "1" est fixé pour le bit de la section d'en- registrement 33a qui correspond au bit de valeur "1" dans les données de spécification de condition de contrôle qui sont affectées à ces données de clé (étape S44). Si les données de clé détectées sont conte- nues dans le fichier de données d'application 22a, 22b à l'étape S43, un "1" est fixé pour le bit de la section d'enregistrement 33b qui correspond au bit de valeur "1" dans les données de spécification de condi- tion de contrôle qui sont affectées à ces données de clé (étape S45). On note que les données de spécification de condition de contrôle et les données qui sont enregis- trées dans les sections d'enregistrement 33a et 33b ont la même longueur. A l'étape S46, on émet des données de ré- ponse qui représentent la concordance des données de clé. Si les données de clé qui sont détectées ne coincident pas avec les données de clé qui sont repré- sentées par les données d'ordre d'entrée à l'étape S42, on effectue un contrôle à l'étape S47 pour déter- miner si les données de clé détectées sont contenues ou non dans le fichier de données commun 21. Si les données de clé détectées sont conte- nues dans le fichier de données commun 21 à l'étape S47, on donne la valeur "0" au bit de la section d'en- registrement 33a qui correspond au bit de valeur "1" des données de spécification de condition de contrôle qui sont affectées à ces données de clé (étape S48). Si les données de clé détectées sont conte- nues dans le fichier de données d'application 22a, 22b à l'étape S47, on donne la valeur "0" au bit de la section d'enregistrement 33b qui correspond au bit de valeur "1" des données de spécification de condition de contrôle qui sont affectées à ces données de clé (étape S49). A l'étape S50, on émet des données de répon- se représentant la discordance des données de clé. Par exemple; lorsque des données de clé 1, Y5 et Y6 sont contrôlées après que le fichier de don- nées d'application 22b a été sélectionné par les don- nées d'ordre de sélection de fichier de données, les données enregistrées dans les sections d'enregistre- ment 33a, 33b et 34a seraient respectivement "10000000", "00001100" et "YYY". Si le fichier de don- nées d'application 22a est sélectionné ensuite, les données qui se trouvent dans la section d'enregistre- ment 33a ne sont pas changées, mais les données qui se trouvent dans les sections d'enregistrement 33b et 34a sont changées pour devenir respectivement "00000000" et "XXX". (5) Processus de zone (lecture, écriture et effacement de données dans une zone) Si les données d'ordre d'entrée ne sont pas les données d'ordre de contrôle de données de clé à l'étape S35, on effectue un contrôle à l'étape S51 pour déterminer si les données d'ordre d'entrée sont ou non des données d'ordre de processus de zone. Ces données d'ordre de processus de zone comprennent des données d'ordre de lecture (figure 20), des données d'ordre d'écriture (figure 21) ou des données d'ordre d'effacement (figure 22). Si les données d'ordre d'entrée sont des données d'ordre de processus de zone à l'étape S51, on effectue un contrôle à l'étape S52 pour déterminer si le fichier de données d'application est sélectionné ou non. On effectue cette détermination en contrôlant le nom de fichier de données qui est enregistré dans la section d'enregistrement 34a. Si le fichier de données d'application n'est pas sélectionné à l'étape S52, on prélève dans le fi- chier de données commun (étape S53) une zone qui a un numéro AID identique à celui qui est représenté par les données d'ordre d'entrée. Si un fichier de données d'application est sélectionné à l'étape S52, une zone ayant un numéro AID identique à celui qui est représenté par les don- nées d'ordre d'entrée est prélevée dans le fichier de données commun et dans le fichier de données d'appli- cation (étape S54). Si la zone désirée n'est pas détectée à l'étape S55, on émet des données de réponse représen- tant une zone non définie (étape S56). Si la zone désirée est détectée à l'étape S55, on effectue une opération OU sur les données en- registrées dans les sections d'enregistrement de con- dition de contrôle 33a et 33b (étape S57). Deux données de vérification de condition de contrôle (voir la figure 16) qui sont affectées à cha- que zone sont sélectionnées par le prélèvement d'un code d'ordre identique à celui des données d'ordre d'entrée, en utilisant la table de conversion qui est représentée sur la figure 17. A titre d'exemple, si les données d'ordre de processus de zone sont des données d'ordre de lecture, leur code d'ordre est "ZZ". Par conséquent, les pre- mières données de vérification de condition de contrô- le sont sélectionnées par les données de sélection "1" correspondant à ce code d'ordre. Si les données d'ordre de processus de zone sont des données d'ordre d'écri- ture ou des données d'ordre d'effacement, leur code d'ordre est "WW" ou "VV".Les secondes données de véri- fication de condition de contrôle sont donc sélection- nées par les données de sélection "2" correspondant à ces codes d'ordre. A l'étape S58, on effectue un contrôle pour déterminer si des données logiques qui sont affectées aux premières ou secondes données de vérification de condition de contrôle sélectionnées, indiquent ou non une opération ET. Si les données logiques indiquent une opération ET à l'étape S58, on effectue ensuite un contrôle à l'étape S59 pour déterminer si tous les bits des données de vérification de condition de con- trôle ont ou non la valeur "0". * Si ces bits ont la valeur "0" à l'étape S59, on émet des données de réponse représentant l'inter- diction d'accès (étape S65). Si tous les bits des don- nées de vérification de condition de contrôle n'ont pas la valeur "O" à l'étape S59, on compare ces don- nées de vérification de condition de contrôle avec les données qui sont obtenues par l'opération logique qui est effectuée à l'étape S57 (étape S60). Si les données de vérification de condition de contrôle ne coincident pas avec les données obte- nues par l'opération logique, à l'étape S61, on effec- tue le processus précité à l'étape S65. Cependant, si une coincidence apparatt à l'étape S61, un processus de lecture/écriture est effectué sur la zone détectée (étape S66), et des données de réponse représentant le résultat du traitement sont émises (étape S67). Si les données logiques n'indiquent pas une opération ET à l'étape S58, c'est-à-dire si elles in- diquent une opération OU,on effectue un contrôle à l'étape S62 pour déterminer si tous les bits des don- nées de vérification de condition de contrôle ont ou non la valeur "0". Si ces bits ont la valeur "0" à l'étape S62, on effectue les processus précités des étapes S66 et S67. Si tous les bits des données de vérification de condition de contrôle n'ont pas la valeur "0" à l'étape S62, on compare ces données de vérification de condition de contrôle avec les données qui ont dtd obtenues par l'opération logique de l'étape S57 (étape S63). A l'étape S64, on effectue un contrôle pour déterminer si les données obtenues par l'opération lo- gigue et les données de vérification de condition de contrôle comprennent ou non des bits correspondants de valeur "1". Il faut noter que les données obtenues par l'opération logique et les données de vérification de condition de contrôle ont le même nombre de bits. Si aucun bit correspondant de valeur "1" n'apparaît à l'étape S64, on effectue le processus de l'étape S65. Si à l'étape 64 il existe des bits cor- respondants de valeur "1", on effectue les processus des étapes S66 et S67. Sur la figure 13, les premières données de vérification de condition de contrôle qui sont affec- tées à la zone.B sont "10000000", et les données lo- giques associées indiquent une opération logique (A). Par conséquent, un accès de lecture dirigé vers la zone B ne peut être effectué qu'en contrôlant les données de clé 1. Du fait que les secondes données de vérification de condition de contrôle sont "00000000" et que les données logiques correspondantes indiquent une opération logique (O), l'accès à la zone B pour une écriture de données et un effacement de données peut être effectué sans contrôle des données de clé. Les premières données de vérification de condition de contrôle qui sont affectées à la zone C sont "00000000", et les données logiques associées indiquent une opération logique (A). Un accès de lec- ture dirigé vers la zone C ne peut donc pas être ef- fectué en contrôlant seulement les données de clé 1. Du fait que les secondes données de vérification de condition de contrôle sont "00001100" et que les don- nées logiques associées indiquent une opération logi- que (0), l'accès à la zone C pour l'écriture de don- nées et l'effacement de données ne peut être effectué qu'en contrôlant les données de clé X5 ou X6. Si un accès d'écriture dirigé vers la zone C est effectué en sélectionnant le fichier de données d'application 22a, après le contrôle des données de clé Y5 et Y6, les données de vérification de condition de contrôle des données de clé Y5 et Y6 sont effacées lorsque le fichier de données est sélectionné. Ceci signifie que les données de vérification de condition de contrôle des données de clé des fichiers de données d'application 22a et 22b ne sont valables que pour accéder à une zone dans le même fichier de données d'application. Bien que les données de clé X4 du fichier de données d'application 22a et les données de clé X4 du fichier de données d'application 22b aient le même nu- méro KID, il n'apparaitra aucun problème, du fait qu'un seul des fichiers de données d'application fait l'objet d'une opération d'accès dans le cas de la spé- cification par le numéro KID. Il faut cependant noter qu'on ne pourrait pas utiliser le même numéro KID pour le fichier de données commun et les fichiers de don- nées d'application. Ceci s'applique également au numé- ro AID. On peut changer le nombre des données de vé- rification de condition de contrôle qui sont affectées à chaque zone, en fonction d'un processus à accomplir pour la zone. En définissant séparément le numéro KID qui est affecté à des données de clé et le numéro AID qui est affecté à une zone, le nombre de zones d'une mé- moire n'affecte pas le nombre de données de clé. Des données autres que les données de spéci- fication affectées à une zone d'un fichier de données commun peuvent être utilisées à titre de données de spécification pour une zone dans un fichier de données d'application. Dans ce cas, un seul programme peut être appliqué à chaque dispositif capable de fournir les données de spécification, ce qui permet l'accès à des zones dans un fichier de données d'application et dans un fichier de données commun, au moyen des mêmes données d'ordre. En outre, des données autres que les données de spécification qui sont affectées à des données de clé d'un fichier de données commun, peuvent être uti- lisées à titre de données de spécification pour des données de clé dans un fichier de données d'applica- tion. Dans ce cas, un seul programme peut être appli- qué à chaque dispositif capable de fournir les données de spécification, ce qui permet l'accès à des données de clé dans un fichier de données commun et dans un fichier de données d'application, au moyen des mêmes données d'ordre. Il va de soi que de nombreuses modifications peuvent être apportées au dispositif et au procédé décrits et représentés, sans sortir du cadre de l'in- vention. REVENDICATIONS 1. Procédé pour traiter des données dans une zone de mémoire d'une carte à puce, cette zone de mé- moire (16) comprenant un ensemble de fichiers de don- nées (21, 22a, 22b), caractérisé par les étapes sui- vantes: on enregistre des données d'identification pour spécifier le fichier de données (21, 22a, 22b); on détermine si les données d'identification enregis- trées coïncident ou non avec des données d'identifica- tion pré-enregistrées; et on attribue le fichier de données (21, 22a, 22b) à la zone de mémoire conformé- ment au résultat de la détermination. 2. Procédé selon la revendication 1, carac- térisé en ce que l'étape d'attribution du fichier de données (21, 22a, 22b) comprend l'étape qui consiste à interdire l'attribution du fichier de données lors- que les données d'identification enregistrées coinci- dent avec les données d'identification pré-enregis- trées. 3. Procédé selon la revendication 1, carac- térisé en ce que l'étape d'attribution du fichier de données (21, 22a, 22b), ce dernier comprenant au moins une zone, comprend les étapes suivantes: on enregis- tre des données d'identification pour spécifier la zone; on détermine si les données d'identification enregistrées coïncident ou non avec des données d'identification pré-enregistrées; et on attribue la zone au fichier de données (21, 22a, 22b) conformément au résultat de la détermination. 4. Procédé selon la revendication 3, carac- térisé en ce que l'étape d'attribution de la zone comprend l'étape consistant à interdire l'attribution de la zone lorsque les données d'identification enre- gistrées coïncident avec les données d'identification pré-enregistrées. 5. Dispositif pour traiter des données dans une zone de mémoire d'une carte à puce, la zone de mé- moire comprenant un ensemble de fichiers de données, caractérisé par: des moyens d'enregistrement de don- nées d'identification (16) qui sont destines à enre- gistrer des données d'identification spécifiant le fi- chier de données attribué; des moyens de détermination (15) qui sont destinés à déterminer si les données d'identification enregistrées coincident ou non avec des données d'identification pré-enregistrées; et des moyens d'attribution (15) destinés à attribuer le fi- chier de données à la zone de mémoire conformément au résultat de la détermination. 6. Dispositif selon la revendication 5, ca- ractérisé en ce que les moyens de détermination (15) comprennent des moyens d'interdiction d'attribution (15) qui sont destinés à interdire l'attribution du fichier de données lorsque les données d'identifica- tion enregistrées coincident avec les données d'iden- tification pré-enregistrées. 7. Dispositif pour traiter des données dans une zone de mémoire d'une carte à puce, la zone de mémoire comprenant un ensemble de fichiers de données, caractérisé par: des premiers moyens d'enregistrement (16) pour enregistrer des premières données de taille représentant la taille de chaque fichier de données attribué; des seconds moyens d'enregistrement (16) pour enregistrer des secondes données de taille repré- sentant la taille du fichier de données attribuable; des moyens de détermination d'attribution (15) pour déterminer si le nouveau fichier de données est attri- bué ou non conformément aux premières et secondes don- nées de taille; et des moyens d'attribution (15) pour attribuer le fichier de données à la zone de mémoire conformément au résultat de la détermination. 8. Dispositif selon la revendication 7, ca- ractérisé en ce que les moyens d'attribution (15) comprennent des moyens d'interdiction d'attribution (15), destinés à interdire l'attribution du fichier de données lorsque la taille du nouveau fichier de données attribué est supérieure à la taille du fichier de données attribuable.