FR 2722018 A1 19960105 FR 9408024 A 19940629 "Carte à mémoire améliorant la gestion de la zone d'accès et procédé de gestion de cette zone La présente invention porte sur une carte à me moire, pourvue d'au moins une mémoire et d'un circuit d'autorisation pour valider l'échange de données avec un lecteur de carte, carte dotée de moyens d'enregistrement d'une valeur PORT et d'une valeur EMET, et de moyens de comptage d'une part du nombre de mauvaises présentations successives Q, ce nombre étant initialement à O et étant augmenté d'une unité à chaque mauvaise présentation et remis à 0 à chaque présentation correcte et d'autre part du nombre de présentations correctes Q', ce nombre étant initialement à O et étant augmenté d'une unité à chaque présentation correcte et remis à O au bout d'un nombre prédéterminé PCMAX de présentations correctes, ladite mémoire contenant au moins - un premier espace-mémoire ou zone d'accès pour mémoriser les demandes d'accès en provenance du lecteur - un second espace-mémoire ou zone code-porteur pour mémoriser la donnée code-porteur a); - un troisième espace-mémoire ou zone code-émetteur pour mémoriser la donnée code-émetteur CE - un quatrième espace-mémoire ou zone de présentation maximum pour mémoriser la donnée nombre maximum de mauvaises présentations NMP - un cinquième espace-mémoire ou zone de paramétrage pour mémoriser ladite donnée nombre maximum de présentations correctes PCMAX. On connaît de telles cartes à mémoire dans lesquelles l'accès aux données présentes en mémoire est contrôlé par le circuit d'autorisation qui, suivant certains algorithmes, autorise ou refuse l'échange des données avec le lecteur de carte. Lors d'un fonctionnement normal d'une carte avec des sécurités de type code confidentiel, la carte, avant d'autoriser les échanges de données avec le lecteur de carte, vérifie que le porteur est habilité à réaliser les transactions sur la carte. Une présentation est l'ensemble des opérations réalisées par la carte, à la suite de l'envoi d'un code (porteur ou émetteur) par le lecteur, jusqu'à ce que celle-ci autorise ou non les échanges de données avec le lecteur. Chaque présentation est réalisée en plusieurs phases - lecture du code-porteur PORT envoyé par le lecteur; - vérification par le circuit d'autorisation qu'il existe un espace dans la zone d'accès où il pourra enregistrer le résultat de la demande d'accès - comparaison par le circuit d'autorisation entre * le code-porteur PORT envoyé par le lecteur, et * la donnée code-porteur CP présente dans la zone code-porteur. Dans le cas où les deux codes correspondent - la carte enregistre le résultat "bonne présentation" dans la zone d'accès, en augmentant d'une unité le nombre Q', initialement à zéro, de présentations correctes - la carte compare le nombre Q' ainsi obtenu avec la donnée PCMAX et remet Q' à zéro si Q' = PCMAX - le circuit d'autorisation autorise l'échange des données avec le lecteur. La présentation est alors terminée. Au contraire, si les codes sont différents - la carte enregistre le résultat "mauvaise présentation" dans la zone d'accès - le circuit d'autorisation compare la quantité Q de mauvaises présentations successives à la donnée nombre maximum de mauvaises présentations NMP enregistré dans la zone de présentation maximum. Dans le cas où Q est inférieur à NMP, la carte demande à nouveau la présentation du code-porteur PORT par le lecteur. Si au contraire Q est supérieur ou égal à NMP, le circuit d'autorisation - enregistre le résultat "quantité de tentatives d'accès successifs infructueux trop importante" dans la zone d'accès - bloque la carte pour toute tentative d'accès par un porteur; - attend la présentation par un lecteur d'une "clé émetteur". La présentation est alors terminée. Lorsqu'ensuite la carte attend la présentation d'un code appelé "clé émetteur", dans le cas où la clé émetteur EMET présentée par le lecteur et la donnée code-émetteur CE contenue dans la zone code-émetteur ne sont pas identiques, le circuit d'autorisation enregistre le résultat "clé émetteur fausse" dans la zone d'accès et bloque définitivement les accès à la carte. Si au contraire la clé émetteur EMET et le code-émetteur CE sont identiques, le circuit d'autorisation autorise les échanges de la carte et du lecteur. A l'heure actuelle, la gestion du premier espace-mémoire ou zone d'accès est rendue difficile pour diverses raisons. D'une part, la zone d'accès a une capacité limitée, en raison notamment de sa taille et de sa structure ; d'autre part, le nombre maximum de mauvaises présentations NMP est au plus égal à 3 ; enfin, la gestion actuelle de la zone d'accès nécessite l'utilisation d'un nombre de bits excessif. En effet, la zone d'accès est divisée en quartets, soit des zones de 4 bits ; le circuit d'autorisation agit sur le premier quartet dont le premier bit n'est pas activé avant le début de la communication ; ce quartet, appelé quartet en cours, peut donc prendre les valeurs [1000], [0100], [0110], [1100], [1110] ou [0111], le 1 étant la convention employée pour symboliser un bit activé et le zéro pour symboliser un bit non activé. Une présentation correcte mémorise un 1 dans le premier bit du quartet en cours soit [1000] et autorise la carte à dialoguer. Puis, une mauvaise présentation mémorise un 1 dans le deuxième bit du nouveau quartet en cours, soit [1000,0100]. Ensuite, une deuxième mauvaise présentation mémorise à nouveau un 1 dans le troisième bit du quartet en cours, soit [1000,0110] ; si la deuxième présentation est correcte, on a alors [1000, 1100]. Une présentation bonne, après deux mauvaises présentations, mémorise un 1 dans le premier bit du quartet en cours, et autorise la carte à dialoguer, soit [1000,1110]. Une troisième mauvaise présentation, suite à deux autres mauvaises présentations, mémorise un 1 dans le quatrième bit du quartet en cours, soit [1000,0111]; la carte est alors invalidée. Une telle carte à mémoire présente les inconvénients suivants - la zone d'accès a une capacité limitée et elle est gérée de manière linéaire - lorsque le dernier quartet de la zone d'accès est inscrit, la carte est inutilisable pour des opérations ultérieures et doit être renouvelée, ce qui est coûteux De plus, le mode de gestion actuel de la zone d'accès induit d'autres inconvénients - le nombre maximum de mauvaises présentations NMP est au plus égal à 3 - chaque présentation correcte nécessite l'emploi de 4 bits, donc le nombre total de bits utilisés peut atteindre 4 fois le nombre PCMAX - la dimension de la zone d'accès étant limitée, la carte arrive rapidement à saturation. Pour remédier à ces inconvénients, la présente invention vise une carte à mémoire qui se caractérise en ce qu'au moins la zone d'accès est affectée à une mémoire M permanente, effaçable séquentiellement et réinscriptible, par exemple du type EEPROM. Une telle carte à mémoire permet de disposer - d'un nombre théoriquement illimité d'utilisations de la carte et de présentations correctes, tout en utilisant une zone d'accès de taille restreinte - d'un nombre maximum de mauvaises présentations NMP paramétrable, par exemple à 1, 2 ou 3 et jusqu'à un grand nombre. Selon un mode de réalisation préféré de l'invention, la zone d'accès comporte au moins: - le sous-ensemble E pour mémoriser l'état de la carte lorsque Q 2 NMP; - le sous-ensemble C pour mémoriser l'état de la carte lorsque EMET S NMP - le sous-ensemble DAF pour gérer le nombre Q de mauvaises présentations - le sous-ensemble DAC pour gérer le nombre Q' de présentations correctes - le sous-ensemble COMP pour assurer la compatibilité avec des systèmes existants ou d'autres programmes. Avantageusement, lesdits sous-ensembles ont une dimension minimum de 1 bit, 6 à 8 bits, 8 à 16 bits, 8 bits, respectivement, et de préférence - le sous-ensemble E a une dimension égale à 1 bit, - le sous-ensemble C a une dimension égale à 1 bit, - le sous-ensemble DAF a une dimension égale à 6 bits, - le sous-ensemble DAC a une dimension égale à 16 bits, - le sous-ensemble COMP a une dimension égale à 8 bits. L'invention porte également sur un procédé de gestion paginée d'une carte à mémoire telle que définie ci-dessus, les bits de la zone d'accès ayant été mis à zéro, c'est-à-dire placés à l'état inactif, avant la mise en service de la carte, procédé caractérisé en ce qu'il comporte les étapes suivantes a) comparaison de la valeur PORT avec la donnée CP; et b) si PORT = CP, activation du premier bit situé avant le dernier bit actif dans le sous-ensemble DAC et remise à zéro du sous-ensemble DAF; c) si le sous-ensemble DAC est saturé, il est remis à zéro, c'est-à-dire tous ses bits sont inactivés et le traitement de la carte est poursuivi d) si PORT "q CP, activation du premier bit situé avant le dernier bit actif dans le sous-ensemble DAF; e) comptage du nombre NBE de bits activés dans le sous-ensemble DAF et comparaison du nombre NBE et de la donnée NMP; f) si NBE 2 NMP, activation du sous-ensemble C, ce qui bloque la carte, et si NBE d'un nouveau code-porteur PORT; De plus, le procédé objet de l'invention comporte les étapes ci-après, dans le cas où le nombre NBE de bits activés dans le sous-ensemble est supérieur ou égal à NMP, c'est-à-dire lorsque la carte est bloquée à l'étape f). Lorsque la carte reçoit le code-émetteur EMET, on a les étapes g) comparaison de la valeur EMET avec la donnée CE h) activation du sous-ensemble E si EMET S CE, ce qui a pour conséquence de bloquer définitivement la carte i) poursuite du traitement si EMET est égal à CE. Divers modes de réalisation de la présente invention vont maintenant être décrits à titre d'exemples non limitatifs en référence aux figures 1 à 15, qui sont des représentations schématiques de la mémoire M d'une carte à mémoire ou de la zone d'accès de celle-ci, carte pourvue en outre d'un circuit d'autorisation non représenté, pour valider l'échange de données en provenance d'un lecteur de carte. On voit à la figure 1 une mémoire M contenant un premier espace-mémoire za ou zone d'accès pour mémoriser les demandes d'accès en provenance du lecteur, un second espace-mémoire ou zone code-porteur pour mémoriser la donnée code-porteur CP, un troisième espace-mémoire ou zone code-émetteur pour mémoriser la donnée code-émetteur CE, un quatrième espace-mémoire ou zone de présentation maximum pour mémoriser la donnée nombre maximum de mauvaises présentations NMP et un cinquième espace-mémoire ou zone de paramétrage pour mémoriser la donnée nombre maximum de présentations correctes PCMAX. Ainsi qu'il a été exposé, la zone d'accès de l'art antérieur, représentée aux figures 2 et 2A à 2H, est divisée en quartets, qui sont des zones de 4 bits ; le porteur de carte, qui souhaite utiliser celle-ci pour effectuer, par exemple, une opération bancaire, introduit sa carte dans un lecteur de carte ; la carte, avant d'autoriser les échanges de données avec le lecteur de carte, vérifie que le porteur est habilité à réaliser des transactions sur la carte; par convention, une présentation est l'ensemble des opérations réalisées par la carte, à la suite de l'envoi d'un code (porteur ou émetteur) par le lecteur, jusqu'à ce que celle-ci autorise ou non les échanges de données avec le lecteur. Chaque présentation est réalisée en plusieurs phases - lecture par la carte d'un code-porteur PORT envoyé par le lecteur; - vérification par le circuit d'autorisation qu'il existe un espace dans la zone d'accès où il pourra enregistrer le résultat de la demande d'accès - comparaison par le circuit d'autorisation entre * le code-porteur PORT envoyé par le lecteur, et * la donnée code-porteur CP présente dans la zone code-porteur. Comme on l'a vu, le quartet en cours peut prendre les valeurs représentées à la figure 2. Une première présentation correcte mémorise un 1 dans le premier bit du quartet en cours et autorise la carte à dialoguer, ainsi qu'il apparaît figure 2A. Une première mauvaise présentation mémorise un 1 dans le 2ème bit du quartet en cours, ainsi qu'il apparaît figure 2B. Une mauvaise présentation, suite à une première présentation correcte, mémorise un 1 dans le deuxième bit du nouveau quartet en cours, ainsi qu'il apparaît figure 2C. Ensuite, une deuxième mauvaise présentation mémorise un 1 dans le troisième bit du quartet en cours, ainsi qu'il apparaît figure 2D, mais si la deuxième présentation est correcte, le premier bit du quartet en cours est activé, ainsi qu'il apparaît figure 2E. Une présentation correcte, après deux mauvaises présentations, mémorise un 1 dans le premier bit du quartet en cours, et autorise la carte à dialoguer, ainsi qu'il apparaît figure 2F. Une troisième mauvaise présentation, suite à deux autres mauvaises présentations, mémorise un 1 dans le quatrième bit du quartet en cours, ainsi qu'il apparaît figure 2G; la carte est alors invalidée. La séquence suivante : une présentation correcte, deux mauvaises, une correcte, trois mauvaises, est représentée figure 2H. Donc, dans l'art antérieur, le nombre maximum de mauvaises présentations est égal à 3, au mieux. Au contraire, la présente invention se propose d'employer une carte à mémoire dotée de moyens d'enregistrement d'une valeur PORT et d'une valeur EMET émises par le lecteur et de moyens de comptage, d'une part du nombre de mauvaises présentations successives Q, ce nombre étant initialement à O et étant augmenté d'une unité à chaque mauvaise présentation et remis à 0 à chaque présentation correcte et d'autre part du nombre de présentations correctes Q', ce nombre étant initialement à O et étant augmenté d'une unité à chaque présentation correcte et remis à O au bout d'un nombre prédéterminé PCMAX de présentations correctes, carte dont la zone d'accès au moins est affectée à une mémoire M permanente, effaçable séquentiellement et réinscriptible, par exemple du type EEPROM. Selon l'invention, les sous-ensembles E, C, DAF, DAC et COMP, représentés aux figures 3 à 15 schématiquement au moyen du nombre de bits qu'ils contiennent, sont gérés de la manière ci-après. Chaque bit peut prendre la valeur 0 ou la valeur 1, selon qu'il est inactif ou actif. Le sous-ensemble E a une dimension d'un bit e ; le sous-ensemble C a une dimension d'un bit c; le sous-ensemble DAF a une dimension de 6 bits n, ou 14 bits n aux figures 14 et 15 ; le sous-ensemble DAC a une dimension de 8 bits b, ou 16 bits b à la figure 15 ; le sous-ensemble COMP a une dimension de 8 bits x. La figure 3 représente la zone d'accès telle que définie ci-dessus. Lors de l'initialisation de la carte, les bits de la zone d'accès sont remis à zéro, ainsi qu'il apparaît figure 4. Lorsqu'un code-porteur PORT est envoyé par le lecteur, les cas suivants peuvent se présenter, selon le procédé objet de l'invention 1/ Si le code-porteur PORT est égal à la donnée CP présente en zone codeporteur, il y a activation dans le sous-ensemble DAC du premier bit situé avant le dernier bit actif et remise à zéro du sous-ensemble DAF, comme on voit figure 5. Une présentation ultérieure correcte d'un code-porteur PORT conduit encore à une activation dans le sous-ensemble DAC du premier bit situé avant le dernier bit actif, comme on voit figure 6. Cependant, lorsque le sous-ensemble DAC est saturé, comme on voit figure 7, il est remis à zéro, comme on voit figure 8. 2/ Si le code-porteur PORT est incorrect, c'est-à-dire différent de la donnée CP, il y a activation, dans le sous-ensemble DAF, du premier bit situé avant le dernier bit actif, comme on voit figure 9, et comptage du nombre NBE de bits activés dans ce sous-ensemble DAF; à cette figure 9, NBE est égal à 1, alors que figure 10, NBE est égal à 3. Aux figures 9 et 10, le nombre de bits actifs dans le sous-ensemble DAC est respectivement de 8 et 3. Si le nombre NBE est inférieur à la donnée nombre maximum de mauvaises présentations NMP, la carte accepte une nouvelle présentation de code-porteur. Au contraire, si par exemple NMP est égal à 4, lors d'une mauvaise présentation suivante, après activation du premier bit situé avant le dernier bit actif dans le sousensemble DAF, il y a activation du sous-ensemble C, comme on voit figure 11, ce qui bloque la carte pour le porteur de carte. Dans ce dernier cas, I'organisme émetteur de la carte, par exemple la banque, doit présenter à son tour un code-émetteur EMET, dans le but de débloquer la carte ; ce code-émetteur EMET est comparé avec la donnée CE présente en zone code-émetteur, et si le code-émetteur EMET est différent de la donnée CE, le sous-ensemble E est alors activé, comme on voit figure 12, ce qui a pour conséquence de bloquer définitivement la carte. Si au contraire EMET = CE, donc dans le cas d'un code-émetteur correct, l'organisme émetteur de la carte peut alors ré-initialiser celle-ci, par exemple en remettant à zéro tous les bits. Ainsi, avec une carte à mémoire telle que décrite ci-dessus, ou figure 13, il suffit de 24 bits au total pour les cinq sous-ensembles E, C, DAF, DAC et COMP de la zone d'accès pour gérer à la fois un nombre non limité de présentations correctes et un nombre maximum de mauvaises présentations égal à 6 (6 bits dans le sousensemble DAF). A la figure 14, on voit que 32 bits suffisent, avec 14 bits dans le sousensemble DAF pour gérer une nombre illimité de présentations correctes, et un nombre maximum de mauvaises présentations égal à 14. A la figure 15, où le sous-ensemble DAC est constitué de deux groupes de 8 bits, un premier groupe G, et un second groupe G, une gestion dite par boulier peut être assurée, de la manière suivante - lorsque le second groupe G2 est saturé, c'est-à-dire tous les bits activés, le premier bit présent avant un bit déjà actif est activé dans le premier groupe G1, puis le second groupe G2 est remis à zéro; - lorsque tous les bits du second groupe G2 sont activés, celui-ci est aussi remis à zéro, de même que le premier groupe G,. Ceci permet de gérer un nombre illimité de présentations correctes. Les exemples ci-dessus permettent d'utiliser une carte à mémoire ayant une zone d'accès de faible encombrement, en paramétrant le nombre maximum de mauvaises présentations. La description ci-dessus fournit des exemples non limitatifs des cartes à mémoire et du procédé selon l'invention. REVENDICATIONS 1. Carte à mémoire, pourvue d'au moins une mémoire et d'un circuit d'autorisation pour valider l'échange de données avec un lecteur de carte, carte dotée de moyens d'enregistrement d'une valeur PORT et d'une valeur EMET, et de moyens de comptage d'une part du nombre de mauvaises présentations successives Q, ce nombre étant initialement à O et étant augmenté d'une unité à chaque mauvaise présentation et remis à 0 à chaque présentation correcte et d'autre part du nombre de présentations correctes Q', ce nombre étant initialement à O et étant augmenté d'une unité à chaque présentation correcte et remis à O au bout d'un nombre prédéterminé PCMAX de présentations correctes, ladite mémoire contenant au moins: - un premier espace-mémoire ou zone d'accès pour mémoriser les demandes d'accès en provenance du lecteur - un second espace-mémoire ou zone code-porteur pour mémoriser la donnée code-porteur a); - un troisième espace-mémoire ou zone code-émetteur pour mémoriser la donnée code-émetteur CE - un quatrième espace-mémoire ou zone de présentation maximum pour mémoriser la donnée nombre maximum de mauvaises présentations NMP - un cinquième espace-mémoire ou zone de paramétrage pour mémoriser ladite donnée nombre maximum de présentations correctes PCMAX, caractérisée en ce qu'au moins la zone d'accès est affectée à une mémoire M permanente, effaçable séquentiellement et réinscriptible, par exemple du type EEPROM. 2. Carte à mémoire selon la revendication 1, caractérisée en ce que la zone d'accès comporte au moins - le sous-ensemble E pour mémoriser l'état de la carte lorsque Q 2 NMP; - le sous-ensemble C pour mémoriser l'état de la carte lorsque EMET t NMP - le sous-ensemble DAF pour gérer le nombre Q de mauvaises présentations - le sous-ensemble DAC pour gérer le nombre Q' de présentations correctes - le sous-ensemble COMP pour assurer la compatibilité avec des systèmes existants ou d'autres programmes. 3. Carte à mémoire selon la revendication 2, caractérisée en ce que lesdits sousensembles ont une dimension minimum de 1 bit, 1 bit, 6 à 8 bits, 8 à 16 bits, 8 bits, respectivement. 4. Carte à mémoire selon la revendication 3, caractérisée en ce que - le sous-ensemble E a une dimension égale à 1 bit, - le sous-ensemble C a une dimension égale à 1 bit, - le sous-ensemble DAF a une dimension égale à 6 bits, - le sous-ensemble DAC a une dimension égale à 16 bits, - le sous-ensemble COMP a une dimension égale à 8 bits. 5. Procédé de gestion paginée d'une carte à mémoire selon l'une quelconque des revendications 2 à 4, caractérisé en ce qu'il comporte les étapes suivantes a) comparaison de la valeur PORT avec la donnée CP; et b) si PORT = CP, activation du premier bit situé avant le dernier bit actif dans le sous-ensemble DAC et remise à zéro du sous-ensemble DAF; c) si le sous-ensemble DAC est saturé, il est remis à zéro, c'est-à-dire tous ses bits sont inactivés et le traitement de la carte est poursuivi d) si PORT "q CP, activation du premier bit situé avant le dernier bit actif dans le sous-ensemble DAF; e) comptage du nombre NBE de bits activés dans le sous-ensemble DAF et comparaison du nombre NBE et de la donnée NMP f) si NBE 2 NMP, activation du sous-ensemble C, ce qui bloque la carte, et si NBE d'un nouveau code-porteur PORT; 6. Procédé de gestion paginée d'une carte à mémoire dans l'état bloqué selon la revendication 5, dans le cas où le nombre NBE de bits activés dans le sous-ensemble DAF est supérieur ou égal à NMP, caractérisé en ce qu'il comporte en outre les étapes suivantes, lorsque la carte reçoit le code-émetteur EMET g) comparaison de la valeur EMET avec la donnée CE h) activation du sous-ensemble E si EMET "q CE, ce qui a pour conséquence de bloquer définitivement la carte i) poursuite du traitement si EMET est égal à CE.