Brevet FR2698468A1 — publié le 19940527

PROCèDE DE GESTION DE CARTES À MEMOIRE DE TYPE BOULIER La présente invention concerne les cartes à mémoire qui sont à insérer dans un lecteur qui débite, dans la mémoire de la carte, des unités correspondant au court d'un service fourni par T l'appareil dans lequel est insérée la carte. L'invention concerne plus particulièrement les cartes dont la mémoire est de type boulier, ctest-à-dire que la mémoire est programmable et effaçable électriquement (EEPROM) et organisée en rangées de plusieurs cases. Dans une mémoire de type boulier, on remplit des cases successives au fur et à mesure que des unités sont débitées. Par remplir une case, on entend écrire un état actif dans la case. Lorsque 1 ton a rempli toutes les cases des rangées jusqu'à un rang i, on remplit une case de la rangée de rang immédiatement supérieur i+l et on efface les rangées de rangs i et inférieur. Le remplissage reprend ensuite à partir d'une case de la rangée de rang 1. Dans une carte à mémoire, une rangée effacée, sauf celle de rang 1, comporte toujours une case validée pour des raisons décrites ci-après. La figure 1 représente trois rangées successives i-l, i, i+l de cases mémoire lors de différentes étapes d'un procédé de gestion classique d'une mémoire de type boulier. Dans la suite de la description, on prend comme exemple le cas où les rangées comportent chacune 8 cases. De façon générale, les rangées peuvent comprendre des nombres de cases différents. Dans les figures, un Il "1" représente une case remplie, un TE "O" une case vierge, et un "1" TE encadré une opération d'écri- ture d'un "1". La figure 1 représente des étapes 1 à 5 qui sont automatiquement déclenchées par le lecteur de carte susmentionné et par un circuit logique de commande intégré à la carte. Ces étapes sont considérées dans le cadre d'une organisation particulière, classique, d'une mémoire de type boulier. Dans T l'étape 1, toutes les rangées de rang inférieur à i+l sont remplies. Trois cases, par exemple, de la rangée i+l sont remplies. L'étape 2 suivante survient au prochain débit d'une unité. La case vierge suivante, la quatrième, de la rangée de rang i+l est remplie. L'étape 3 est effectuée immédiatement après T étape 2. Un "1" est réécrit par le lecteur dans la quatrième case de la rangée de rang i+l. A la suite de cette surécriture, survenant immédiatement après une première écriture, le circuit logique de commande efface la rangée de rang inférieur i. A l'étape 4, la première case de la rangée de rang i est remplie. Immédiatement après, à ltétape 5, cette case subit une surécriture, ce qui provoque T effacement de la rangée de rang i-l. Les rangées de rang inférieur sont effacées en répétant successivement les étapes 4 et 5 pour chacune de ces rangées, jusqu'a la rangée de rang 2 comprise. La mémoire se trowe alors dans un état où les rangées de rang 2 à i comportent une seule case remplie et où la rangée de rang 1 est effacée. Un circuit logique de commande classique est prévu pour n T effacer une rangée de rang donné que si le lecteur a effectué une double écriture dans une case de la rangée de rang immédiatement supérieur. En outre, l'effacement n'a effectivement lieu que si la première écriture et la surécriture se produisent successivement. Ceci a pour but d'éviter que T on puisse, une fois que la carte est extraite du lecteur, effacer une rangée en effectuant une surécriture dans T une quelconque des cases déjà remplies de la rangée de rang immédiatement supérieur. Cette protection présente toutefois un inconvénient. Si la carte est malencontreusement retirée de son lecteur entre les deux écritures d'une double écriture dans une case d'une rangée donnée, la rangée de rang immédiatement inférieur n'est pas effacée et ne peut plus l'être par la suite en effectuant la surécriture manquante. La mémoire contiendra alors un nombre d'unités débitées plus élevé que le nombre qui aurait dû être débité réellement. Cet inconvénient est notamment susceptible de se produire avec les lecteurs modernes dans lesquels la carte reste apparente ; l'utilisateur peut retirer la carte à tout moment et en particulier entre les deux écritures d'une double écriture. Certains fabricants de cartes à mémoire proposent des cartes à mémoire du type boulier intégrant des cases mémoire de contrôle et des circuits de contrôle permettant de détecter si une opération de double écriture a été anormalement interrompue. Ce dispositif de détection permet de rétablir le contenu normal de la carte lorsque la carte est de nouveau insérée dans un lecteur. Toutefois, il existe sur le marché un grand nombre de cartes à mémoire de type boulier standard, c'est-à-dire n'incluant pas cette possibilité de détection. En outre, certaines administrations offrant des services payables par carte à mémoire imposent d'utiliser des cartes standards. Un objet de la présente invention est de prévoir un procédé de gestion de carte à mémoire de type boulier standard permettant d'éviter un sur-débit de la carte si celle-ci est retirée à un moment malencontreux. Cet objet est atteint grâce à un procédé de gestion de carte à mémoire de type boulier dans laquelle les cases d'une rangée de rang donné sont effacées par suite d'une double écriture dans une case de la rangée de rang immédiatement supérieur, caractérisé en ce que pour chaque double écriture d'une première case, une deuxième case de la même rangée subit une écriture. Selon un mode de réalisation de la présente invention, si lors d'une lecture de la carte une rangée comporte un nombre impair de cases remplies, on effectue une double écriture dans une case supplémentaire de cette rangée. Selon un mode de réalisation de la présente invention, si lors d'une lecture de la carte une rangée est effacée alors T une cases , on qu'une rangée de rang supérieur comporte des cases remplies signale que la carte comporte une anomalie. Selon un mode de réalisation de la présente invention, si lors d'une lecture de la carte une rangée est effacée alors T une cases qu'une rangée de rang supérieur comporte des cases remplies deux cases de cette rangée effacée subissent une écriture. Selon un mode de réalisation de la présente invention, une deuxième case ne subit une écriture que dans les rangées de rang supérieur au premier rang. Selon un mode de réalisation de la présente invention, ladite double écriture dans une case supplémentaire n'est effectuée que dans des rangées de rang supérieur au premier rang. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite en relation avec les figures jointes parmi lesquelles la figure 1 représente des étapes d'un procédé classique de gestion d'une carte à mémoire de type boulier la figure 2 représente des étapes d'un procédé de gestion selon T invention d'une carte à mémoire de type bou- lier les figures 3 et 4 représentent des étapes du procédé selon T invention lorsqu'unie carte mémoire est réinsérée dans un lecteur après avoir été retirée à des moments malencontreux ; et la figure 5 représente des étapes d'une possible fraude à laquelle E invention remédie. En résumé, le procédé selon T invention consiste, pour chaque case subissant classiquement une double écriture, à écrire un "1" dans une case supplémentaire de la même rangée. La rangée de premier rang ne subit classiquement pas de double écriture ; elle est donc utilisée de manière classique. La présence de la case remplie supplémentaire permet, comme on le verra ultérieurement, de détecter qu'unie double écriture a été correctement effectuée. Dans la figure 2, les étapes 1 et 3 correspondent aux étapes 1 ét 2 de la figure 1. A l'étape 1, les rangées de rang inférieur à i sont remplies. Les deux premières cases, par exemple, de la rangée i+l sont remplies. Dans les étapes 2 et 3, la troisième case de la rangée de rang i+l subit respectivement une première écriture et une surecriture. La surécriture à T étape 3 efface la rangée de rang 1. Selon T invention, à ltétape 4, une case supplémen- taire (par exemple la quatrième) de la rangée de rang i+l subit une écriture immédiatement après la double écriture des étapes 2 et 3. Dans les étapes 5 et 6, la première case de la rangée de rang i subit respectivement une première écriture et une surécriture. La surécriture à T l'étape 6 efface la rangée de rang i-1. Selon l'invention, à l'étape 7, une case supplémentaire, par exemple la deuxième, de la rangée de rang i subit une écriture. Les étapes 5 à 7 sont répétées pour chacune des rangées de rang inférieur, jusqu' la rangée de rang 2. La mémoire se trouve alors dans un état où les rangées de rang 2 à i comportent deux cases remplies et où la rangée de rang 1 est effacée. La figure 3 représente des étapes effectuées selon l'invention lorsque la double écriture commençant à T l'étape 2 de la figure 2 n'a pas été achevée parce que, par exemple, la carte a été retirée à un moment malencontreux. Lorsque la carte est réinsérée dans un lecteur, elle est trouvée dans l'état de l'étape 2. Le lecteur, mettant en oeuvre le procédé selon l'invention, détecte que le nombre de cases remplies dans la rangée de rang i+1 est impair. Ceci indique qu'une opération de double écriture n'a pas été achevée. Dans des étapes 3' et 4' une case supplémentaire, par exemple la quatrième, de la rangée de rang i+1 subit respectivement la première écriture et la surecriture d'une double écriture. La surécriture à 1 T étape 4' efface la rangée de rang i.La mémoire se trouve alors dans l'état de l'étape 4 de la figure 2, et on réitère les étapes 5, 6 et 7 pour les rangées de rang inférieur. La figure 4 représente des étapes effectuées selon l'invention lorsque la double écriture commencee à T l'étape 5 de la figure 2 n'a pas été achevée. Lorsque la carte est réinsérée dans un lecteur, elle est trouvée dans ltétat de T étape 5. Le lecteur détecte que le nombre de cases remplies dans la rangée de rang i est impair. Dans des étapes 6' et 7', une case supplémentaire de la rangée de rang i subit une double écriture. La surécriture de l'étape 7' efface la rangée de rang i-1. Ensuite, les étapes 5, 6 et 7 de la figure 2 sont réitérées pour les rangées de rang i-l à 2. Si une double écriture correspondant aux étapes 3t et 4' ou 6' et 7' est interrompue, on ne pourra pas détecter d' ano- malie. Toutefois, ces étapes sont effectuées dès que l'on insère la carte dans un lecteur et ne durent que quelques millisecondes. En pratique, il est peu probable que T l'utilisateur insère une carte dans un lecteur pour la retirer tout de suite après, et il est encore moins probable que l'utilisateur puisse insérer et retirer la carte en quelques millisecondes. Selon la présente invention, sauf dans la rangée de rang 1, on occupe deux cases là où on occuperait classiquement une seule case. Dans des cartes standards, on dispose sowent de quatre rangées de huit cases et d'une rangée de quatre cases. Ces cartes permettent de compter, selon un procédé classique, 8x8x8x8x4 = 16 384 unités. Toutefois, aujourd'hui, on se contente de beaucoup moins d'unités. Avec le procédé selon l'in- T vention, on peut compter, avec la même carte, 8x4x4x4x2 = 1024 unités, ce qui suffit dans la plupart des cas. La figure 5 représente des étapes d'une éventuelle opération frauduleuse. Un fraudeur peut compter les unités débitées sur sa carte et retirer la carte lorsqu'elle est à un état correspondant par exemple à celui de l'étape 1 de la figure 2. En principe, T l'étape suivante, consiste à remplir les troisième et quatrième cases de la rangée de rang i+1 à la prochaine unité débitée sur la carte. Au lieu de cela, le fraudeur peut à T aide d'un circuit électronique adéquat effectuer les étapes 8 à 15 décrites ci-après. Aux étapes 8 et 9, le fraudeur effectue une double écriture dans la troisième case de la rangée de rang i+1, ce qui entraîne l'effacement de la rangée de rang i. Aux étapes 10 et 11, le fraudeur effectue une double écriture dans la première case de la rangée de rang i, ce qui entraîne 1 T effacement de la rangée de rang i-i. Le fraudeur réitère les étapes 10 et 11 pour les rangées de rang i-l à 2. La situation est alors telle que les rangées de rang 2 à i comportent toutes une seule case remplie et la rangée de rang 1 est effacée. Aux étapes 12 et 13, le fraudeur effectue une double écriture dans la deuxième case de la rangée de rang 3, ce qui efface la rangée de rang 2. Ces étapes 12 et 13 sont réitérées pour les rangées de rang 4 à i pour atteindre T l'état de T étape 14 où la rangée de rang i comporte deux cases remplies et les rangées de rang inférieur sont effacées. Aux étapes 14 et 15, le fraudeur effectue une double écriture dans la quatrième case de la rangée de rang i+1, ce qui efface la rangée de rang i. Après avoir effectué ces étapes, la carte se trouve dans un état où les rangées de rang 1 à i sont effacées, alors que normalement les rangées de rang 2 à i doivent comporter chacune au moins deux cases remplies si la rangée de rang i+1 n'est pas vierge. En supposant que i est égal à 3, le fraudeur économise 8 unités pour la rangée de rang 2 et 32 unités pour la rangée de rang 3 en perdant une seule unité pour passer de l'état de l'étape 1 à l'état de l'étape 15. Pour empêcher ce type de fraude, il suffit de détecter, sauf pour la rangée de rang 1, qu'une rangée de rang inférieur à celui de la dernière rangée utilisée (i+1) est vierge. Si une telle rangée vierge est détectée, le lecteur pourra refuser la carte ou bien remplir le couple de cases qui aurait dû l'être. Le procédé de l'invention peut facilement être mis en oeuvre par un programme remplaçant un programme classique de commande d'un lecteur de carte. La programmation requise est à la portée de tout programmeur. REVEND ICAT IONS 1. Procédé de gestion de carte à mémoire de type boulier dans laquelle les cases d'une rangée de rang donné sont effacées par suite d'une double écriture (2, 3) dans une case de la rangée de rang immédiatement supérieur, caractérisé en ce que pour chaque double écriture d'une première case, une deuxième case de la même rangée subit une écriture (4). 2. Procédé de gestion selon la revendication 1, caractérisé en ce que, si lors d'une lecture de la carte une rangée comporte un nombre impair de cases remplies, on effectue une double écriture dans une case supplémentaire de cette rangée. 3. Procédé de gestion selon la revendication 1, caractérisé en ce que, si lors d'une lecture de la carte une rangee est effacée alors qu'une rangée de rang supérieur comporte des cases remplies, on signale que la carte comporte une anomalie. 4. Procédé de gestion selon la revendication 1, caractérisé en ce que, si lors d'une lecture de la carte une rangee est effacée alors qu'une rangée de rang supérieur comporte des cases remplies, deux cases de cette rangée effacée subissent une écriture. 5. Procédé de gestion selon la revendication 1, caractérisé en ce qu' une deuxième case ne subit une écriture que dans les rangées de rang supérieur au premier rang. 6. Procédé de gestion selon la revendication 2, caractérisé en ce que ladite double écriture dans une case supplémentaire n'est effectuée que dans des rangées de rang supérieur au premier rang.