Brevet FR2721420A1 — publié le 19951222

"Carte à mémoire assurant la gestion des presentations successives et procédé de gestion de ces présentations" La présente invention porte sur une carte à mémoire, assurant la gestion des présentations successives en provenance d'un lecteur de carte, pourvue d'au moins une mémoire et d'un circuit d'autorisation AUTO pour valider l'échange de données avec ledit lecteur, dotée de moyens d'enregistrement d'une valeur P et d'une valeur E émises par le lecteur et de moyens de comptage du nombre de mauvaises présentations successives Q, ce nombre étant initialement à 0 et étant augmenté d'une unité à chaque présentation mauvaise et remis à 0 à chaque présentation correcte, et dont la mémoire contient au moins - un premier espace-mémoire ou zone code-porteur pour mémoriser la donnée code-porteur CP; - un second espace-mémoire ou zone code-émetteur pour mémoriser la donnée code-émetteur CE; - un troisième espace-mémoire ou zone de présentation pour mémoriser la donnée nombre maximum de mauvaises présentations NMP; - un quatrième espace-mémoire ou zone d'accès pour mémoriser les résultats des présentations successives. 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 AUTO 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. La 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 P 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 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 - 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. Dans le cas où le nombre Q est inférieur à NMP, la carte demande à nouveau la présentation du code P par le lecteur. Si au contraire le nombre 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 E présentée par le lecteur et la donnée code-émetteur CE contenue dans la zone é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 E 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 quatrième 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 durée de vie de la carte est réduite, car toute la place mémoire disponible n'est pas exploitée. En effet, actuellement, 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 présentation mauvaise 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 présentation mauvaise, suite à deux autres présentations mauvaises, mémoire 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 De plus, le mode de gestion actuel de la zone d'accès induit deux autres inconvénients: - le nombre maximum de mauvaises présentations NMP est au plus égal à 3; - 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 que le quatrième espace-mémoire est affecté à 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, tout en y associant une zone d'accès qui reste de taille restreinte - d'un nombre maximum de mauvaises présentations NMP paramétrables, de 1, 2 ou 3 jusqu'à un grand nombre ; et - d'une usure répartie de la mémoire EEPROM, ce qui accroît la durée de vie de la carte en répartissant l'emplacement d'écriture des bits. Selon un mode préféré de l'invention, la mémoire M comporte une pluralité de pages (Pi' ..., Pj, ..., P,), k 2 3, dont la gestion est organisée de manière circulaire, c'està-dire qu'une page Pj est physiquement équivalente à une autre page Pj+" par une relation de congruence modulo k, une page étant par convention un ensemble de plusieurs bits, de préférence physiquement consécutifs ou voisins. Une telle gestion circulaire signifie que les bits d'un page P;" sont activés après ceux de la page Pj. Ceci permet de réutiliser les pages antérieurement exploitées et qui sont devenues inutiles, en les effaçant préalablement. Avantageusement, la mémoire M comporte en outre au moins une page supplémentaire constituant un cinquième espace-mémoire, non géré de manière circulaire. Cet espace-mémoire supplémentaire est destiné par exemple à assurer la compatibilité avec des systèmes existants ou d'autres programmes. Selon un perfectionnement de l'invention, la page Pu+2, appartenant au quatrième espace mémoire, est effacée avant l'écriture en page Pl+" à savoir les bits de la page P,+2 sont remis à zéro si et seulement si les deux conditions suivantes sont réalisées Ci : la page P, est terminée, Ç2 : le nombre Q est inférieur à NMP, le test (C"C2) étant réalisé après chaque présentation. Ainsi, ceci permet, au moyen d'une zone d'accès de taille raisonnable, voire restreinte, de réutiliser des pages devenues inutiles tout en prenant soin de ne pas effacer de manière précipitée une page qui pourrait comporter des informations nécessaires, telles que le nombre Q de mauvaises présentations atteint au moment de l'effacement. Avantageusement, la réalisation de la condition C, s'effectue en contrôlant si au moins un bit est activé parmi les deux derniers bits de ladite page Pn Ceci est un test efficace permettant de vérifier si la page Pn est bien terminée. L'invention porte également sur un procédé de gestion des présentations à une carte à mémoire telle que définie ci-dessus, les deux premiers bits de la zone d'accès de la carte ayant été placés à l'état actif avant la première mise en service de celle-ci, et qui comporte les étapes successives suivantes a) comparaison de ladite valeur P avec la donnée code-porteur CP b) activation dans la zone d'accès du premier bit situé après un bit actif si P est égal à CP et activation du second bit situé après un bit actif si P est différent de CP c) comparaison du nombre Q avec la donnée NMP d) blocage de la carte si Q est égal à NMP et poursuite du traitement si Q est inférieur à NMP. Avantageusement, le procédé de l'invention comporte en outre les étapes suivantes, lorsque le lecteur envoie un code émetteur e) comparaison de la valeur E avec la donnée CE f) activation du troisième bit après le dernier bit actif si E est différent de CE, ce qui a pour conséquence de bloquer définitivement la carte g) poursuite du traitement si E est égal à CE. Un mode de réalisation de la présente invention va maintenant être décrit à titre d'exemple non limitatif en référence aux figures 1 à 14, qui sont des représentations schématiques de la mémoire M d'une carte à mémoire ou de divers espaces-mémoire d'une telle carte, pourvue en outre d'un circuit d'autorisation AUTO 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 A ou zone code-porteur, pour mémoriser la donnée code-porteur CP, un second espacemémoire B ou zone code-émetteur pour mémoriser la donnée code-émetteur CE, un troisième espace-mémoire C ou zone de présentation pour mémoriser la donnée nombre maximum de mauvaises présentations NMP, et un quatrième espace-mémoire D ou zone d'accès pour mémoriser les résultats des présentations successives. Ainsi qu'il a été exposé, la zone d'accès D de l'art antérieur, représentée aux figures 2, 2A à 2E, est divisée en quartets, soit des zones de 4 bits ; le porteur de carte, qui souhaite l'utiliser 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 les 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 P envoyé par le lecteur - vérification par le circuit d'autorisation AUTO 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 P 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 présentation mauvaise 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 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 présentation mauvaise mémorise un 1 dans le troisième bit du quartet en cours, ainsi qu'il apparaît figure 2D, 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 présentations mauvaises, 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 présentation mauvaise, suite à deux autres présentations mauvaises, mémoire 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 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 P et d'une valeur E émis par le lecteur et de moyens de comptage du nombre de mauvaises présentations successives Q, ce nombre étant initialement à 0 et étant augmenté d'une unité à chaque présentation fausse et remis à 0 à chaque présentation correcte, dont la zone d'accès D est affecté à une mémoire M permanente, effaçable séquentiellement et réinscriptible, par exemple du type EEPROM. De plus, ainsi que l'on a représenté à la figure 3, la mémoire M comporte une pluralité de pages (P1, .., Pj, ..., P), k 2 3, dont la gestion est organisée de manière circulaire, c'est-à-dire qu'une page Pi est physiquement équivalente à une autre page Pi par une relation de congruence modulo k, une page étant par convention un ensemble de plusieurs bits, de préférence physiquement consécutifs ou voisins. Pour prolonger la durée de vie de la carte, on a prévu un moyen avantageux d'effacement des pages devenues inutiles qui sera décrit plus loin. Selon l'invention, le procédé de gestion des présentations à la carte à mémoire comporte les étapes suivantes, étant précisé qu'avant la mise en service de la carte, les deux premiers bits de la zone d'accès de la carte ont été placés à l'état actif, comme on le voit figure 4. Lorsqu'un code-porteur P est envoyé par le lecteur, les cas suivants peuvent se présenter, conformément au procédé objet de l'invention 1/ si le code-porteur P est égal à la donnée CP présente en zone A, le premier bit situé après le bit actif présent à la figure 4 est activé, comme on le voit figure ; 2/ si le code-porteur P est faux, c'est-à-dire différent de la donnée CP, on a une première présentation mauvaise et le nombre Q, initialement à zéro, est porté à la valeur 1; - de plus, si la valeur de Q est inférieure à celle de la donnée NMP, le programme de gestion active le second bit situé après le bit actif, comme on le voit figure 6; - si au contraire la valeur de Q, soit 1, est égale à la valeur de NMP, la carte est bloquée pour le porteur de carte. Dans ce dernier cas, l'organisme émetteur de la carte, par exemple la banque, doit présenter à son tour un code-émetteur E, dans le but de débloquer la carte ; ce codeémetteur E est comparé avec la donnée CE présente en zone B, et si le code-émetteur E est différent de la donnée CE, le troisième bit situé après le dernier bit actif est activé, comme on le voit figure 7 ; la carte est alors définitivement bloquée et inutilisable. Si au contraire le code-émetteur E est correct, donc égal à la donnée CE, l'utilisation de la carte par le porteur peut être reprise, par exemple en activant les 2 bits suivants, pour replacer la carte dans la situation initiale. D'autres exemples vont maintenant être décrit en référence aux figures suivantes, dans lesquelles - la figure 8 illustre l'activation des bits avec 2 présentations exactes suivies de 4 mauvaises présentations ; on voit bien ici que la donnée NMP est paramétrable - la figure 9 illustre l'activation des bits avec 10 présentations successives exactes; - la figure 10 illustre la séquence suivante : 10 présentations successives exactes, puis 3 mauvaises, puis 2 exactes; - la figure 1 1 illustre la séquence suivante : 14 présentations correctes, 3 mauvaises présentations du porteur, 1 mauvaise présentation de l'émetteur, blocage définitif de la carte. Par ailleurs, la gestion circulaire de la page de la mémoire, qui implique l'inscription des bits en page P, après la page P1, et plus généralement en page Pa+i, après la page P1, permet de réutiliser avantageusement les pages devenues inutiles en les effaçant, dans le cas où le nombre Q est inférieur à la donnée NMP, de la façon suivante : supposons que la page en cours Pn soit la page Pk-1, le programme d'autorisation contrôle après chaque présentation si au moins un bit est activé parmi les 2 derniers bits de la page P}, (égal à P, comme on le voit figure 12. La page P.+2, avec (Pn+2 = Pl car P",2 = Pu 1+2 = P+l et P+1 = Pl modulo k), est alors effacée, comme on le voit figure 13, et l'écriture en page P, est possible, comme on le voit figure 14. Plus généralement, les bits d'une page Pn+2 sont remis à zéro si et seulement si Q reste inférieur à la donnée NMP et si la page P, est terminée, ce contrôle étant effectué après chaque présentation. Ceci permet d'utiliser la carte plus durablement, en réutilisant la mémoire de la zone d'accès. La description ci-dessus est un exemple non limitatif de la carte et du procédé selon l'invention. REVENDICATIONS 1. Carte à mémoire, assurant la gestion des présentations successives en provenance d'un lecteur de carte, pourvue d'au moins une mémoire et d'un circuit d'autorisation AUTO pour valider l'échange de données avec ledit lecteur, dotée de moyens d'enregistrement d'une valeur P et d'une valeur E émises par le lecteur et de moyens de comptage du nombre de mauvaises présentations successives Q, ce nombre étant initialement à 0 et étant augmenté d'une unité à chaque présentation mauvaise et remis à 0 à chaque présentation correcte, et dont la mémoire contient au moins - un premier espace-mémoire ou zone code-porteur pour mémoriser la donnée code-porteur CP; - un second espace-mémoire ou zone code-émetteur pour mémoriser la donnée code-émetteur CE;; - un troisième espace-mémoire ou zone de présentation pour mémoriser la donnée nombre maximum de mauvaises présentations NMP - un quatrième espace-mémoire ou zone d'accès pour mémoriser les résultats des présentations successives caractérisée en ce que le quatrième espace-mémoire est affecté à 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 mémoire M comporte une pluralité de pages (P1, ..., Pj, ..., P), k 2 3, dont la gestion est organisée de manière circulaire, c'est-à-dire qu'une page Pj est physiquement équivalente à une autre page Pj+ par une relation de congruence modulo k. 3. Carte à mémoire selon la revendication 2, caractérisée en ce que la mémoire M comporte en outre au moins une page supplémentaire constituant un cinquième espacemémoire non géré de manière circulaire, destiné par exemple à assurer la compatibilité avec des systèmes existants ou d'autres programmes. 4. Carte à mémoire selon la revendication 2 ou 3, caractérisée en ce que la page P,+2, appartenant au quatrième espace mémoire, est effacée avant l'écriture en page P+l, à savoir les bits de ladite page P"+2 sont remis à zéro si et seulement si les deux conditions suivantes sont réalisées C,: la page Pa est terminée, Ç2: le nombre Q est inférieur à NMP, le test C1,C2 étant réalisé après chaque présentation. 5. Carte à mémoire selon la revendication 4, caractérisée en ce que la réalisation de ladite condition C, s'effectue en contrôlant si au moins un bit est activé parmi les deux derniers bits de ladite page P". 6. Procédé de gestion des présentations à une carte à mémoire selon l'une quelconque des revendications précédentes, les deux premiers bits de ladite zone d'accès de la carte ayant été placés à l'état actif avant la première mise en service de celle-ci, caractérisé en ce qu'il comporte les étapes successives suivantes a) comparaison de ladite valeur P avec la donnée code-porteur CP b) activation dans la zone d'accès du premier bit situé après un bit actif si P est égal à CP et activation du second bit situé après un bit actif si P est différent de CP; c) comparaison du nombre Q avec la donnée NMP d) blocage de la carte si Q est égal à NMP et poursuite du traitement si Q est inférieur à NMP. 7. Procédé de gestion des présentations à une carte à mémoire dans l'état bloqué selon la revendication 6, caractérisé en ce qu'il comporte en outre les étapes suivantes e) comparaison de la valeur E avec la donnée CE f) activation du troisième bit après le dernier bit actif si E est différent de CE, ce qui a pour conséquence de bloquer définitivement la carte; g) poursuite du traitement si E est égal à CE.