Brevet FR2640061A1 — publié le 19900608

DISPOSITIF DE LECTURE/ECRITURE DE CARTES A MEMOIRE MUNI D'UN DISPOSITIF DE DETECTION DE CARTES SIMULEES La presente invention concerne un dispositif de lecture/ecriture de cartes å mémoire muni d'un dispositif dedétection de cartes simulées. Les systèmes de fourniture de prestations à paiement par cartes à mémoire, comprennent des cartes å mémoire contenant une information de solde disponible et des dispositifs de lecture/écriture qui traitent ces cartes pour autoriser la fourniture de la prestation si les conditions requises sont remplies et pour modifier le solde disponible mémorisé dans la carte d'un montant correspondant à la prestation fournie. Ce traitement se traduit par l'échange de signaux électriques entre le circuit intégré de la carte et le circuit de traitement du dispositif de lecture/ecriture.Par signaux électriques on entend, dans la présente description, soit des tensions électriques appliquées aucircuit de la carte (tension d'alimentation du circuit, tension d'écriture dans la mémoire de la carte) ou des signaux électriques logiques ou analogiques pour transmettre à la carte des informations correspondantes. A la réception de ces signaux le circuit de la carte émet un signal électronique de réponse qui peut être soit logique soit analogique. Par exemple lorsqu'on applique à la carte les signaux de commande d'écriture d'un point mémoire, le dispositif de lecture/écriture reçoit un signal indiquant que l'état logique du point mémoire a changé. Si l'on applique au circuit de la carte les signaux de commande de lecture d'un point mémoire le dispositif de lecture/écriture reçoit du circuit de la carte un signal logique correspondant à l'étant binaire du point mémoire lu. Cette liste n'est bien sar pas exhaustive. Pour un fraudeur il peut être tentant, à partir des spécifications disponibles, de réaliser une carte simulée en remplaçant la carte à mémoire par un circuit électronique qui émet les signaux de réponse convenable lorsqu'il reçoit les signaux électriques émis par le dispositif de lecture/écriture. Un objet de l'invention est de fournir un dispositif de lecture/écriture de cartes à mémoire qui soit muni d'un dispositif capable de détecter l'utilisation de cartes simulées. Pour atteindre ce but, selon l'invention, le dispositif de lecture/écriture pour des cartes à mémoire électronique comportant à l'intérieur d'un corps un circuit électronique, comprend des moyens de traitement ; des moyens de guidage des cartes pour amener celles-ci en position de traitement , des moyens de connexion pour relier électriquement le circuit d'une carte en position de traitement auxdits moyens de traitement, lesdits moyens de traitement étant aptes à emettre vers la carte des signaux électriques normaux, et à recevoir de la carte des signaux de réponse, et il se caractérise en ce que qu'il comprend en outre des moyens de détection de cartes simulées comportant des moyens pour appliquer à la carte des signaux électriques anormaux, des moyens pour recueillir les signaux de réponse émis par la carte en réponse à l'application des signaux électriques normaux et/ou anormaux, des moyens pour comparer les signaux de réponse à des signaux de référence, des moyens de test pour élaborer un signal de carte simulée en fonction de la relation entre les signaux électriques normaux et/ou anormaux et appliqués au circuit de la carte des résultants desdites comparaisons. On comprend qu'ainsi les moyens de test ne nécessitent pas de modifications importantes par rapport à un lecteur standard. En outre les tests peuvent porter i la fois sur la structure du circuit intégré de la carte et sur sa programmation. Il est donc très difficile et très onéreux de fabriquer une carte simulée qui ne soit pas détectée par les tests effectués par le lecteur. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement a la lecture de la description qui suit de plusieurs modes de réalisation dé l'invention donnés & titre d'exemples non-limitatifs. La description se réfere au dessin annexé sur lequel La figure 1 est une vue de dessus d'une carte & mémoire électronique La figure 2 est une vue en coupe verticale d'un dispositif de lecture/écriture pour cartes à mémoire La figure 3 est une vue partielle de dessus de la figure 2 La figure 4 est un schéma du circuit électronique du dispositif de lecture/écriture des figures 2 et 3 ; et La figure 5 montre un organigramme de mise en oeuvre d'un test de détection de cartes simulées Avant de décrire en détails l'invention, on va rappeler brièvement l'échange de signaux entre le circuit de la carte et le lecteur dans le cas particulier d'une carte dite prépayée utilisable notamment pour acquitter des taxes téléphoniques. Le circuit de la carte comprend essentiellement des circuits de traitement logique, un compteur d'adresses et une mémoire non volatile adressable comportant une zone protégée en écriture pour mémoriser des informations fixes et une zone de mémoire inscriptible pour décrémenter le contenu de la carte au fur et à mesure de l'utilisation de celle-ci pour obtenir des communications téléphoniques. La figure 1 montre une carte 10 avec son corps de carte 12 et ses huit plages de contact externe 14 a 28 qui sont reliées au circuit intégré de la carte non représenté sur la figure. La plage 14 n'est pas utilisée dans ce type de carte ; la plage 16 sert à lire l'état d'un point mémoire ; la plage 18 sert à appliquer une tension d'écriture Vpp la plage 20 est le contact de masse ; la plage 22 sert à appliquer un premier signal logique B, la plage 24 sert à appliquer une impulsion de tension ST de durée tl ou t2 ; la plage 26 sert à appliquer un deuxième signal logique A ; et la plage 28 sert à appliquer la tension Vcc d'alimentation du circuit. A titre d'exemple on va décrire la procédure pour écrire à la nièce position inscriptible de la mémoire. On applique sur la plage 28 la tension d'alimentation et sur la plage 18 la tension d'écriture au repos. Puis on applique sur les plages 22 et 26 une combinaison particulière des signaux A et B et une impulsion ST de durée tl sur la plage 24. Le compteur d'adresses de la mémoire est remis à zéro. Ensuite on incrémente le compteur d'adresse à la valeur n en appliquant une deuxième combinaison des signaux A et B et n impulsions ST de durée t1. Sur la plage 16 le lecteur vérifie que le point mémoire correspondant est bien à l'état logique ?'O" c'est & dire non inscrit.Enfin on écrit le point mémoire qui vient d'être adressé en appliquant la tension d'écriture Vpp à la plage 18 et en appliquant å la plage 24 une impulsion ST de durée t2. La description ci-dessus a simplement pour but de montrer que, lorsque certaines combinaisons de signaux sont appliqués à la carte, l'état de la carte est modifié et que le lecteur lit en retour la modification de l'état de la carte. Elle montre aussi que parmi toutes les combinaisons de signaux possibles seules certaines correspondent à un fonctionnement normal de la carte qui est suivi d'effet. L'invention est basée sur le fait que lorsqu'unie carte est simulée celle-ci est réalisée à partir de la connaissance des échanges de signaux entre la carte et le lecteur lors de l'utilisation normale de la carte et non par reproduction intégrale du circuit de la carte. Selon l'invention, avant de procéder à une phase d'utilisation normale de la carte, on effectue un test de celle-ci. Ce test est mis en oeuvre soit en appliquant a la carte une combinaison anormale de signaux et en vérifiant si cette combinaison anormale est suivie d'effet, soit en appliquant à la carte une combinaison normale de signaux et en vérifiant si cette application d'une combinaison normale produit un effet qui n'est pas nécessaire au fonctionnement de la carte mais qui doit normalement se produire du fait de la constitution particulière du circuit de la carte. Les figures 2 et 3 montrent l'organisation générale d'un lecteur de cartes à mémoire. Le lecteur comprend un passage 30 d'introduction de cartes. La carte 12 se déplace sur un plancher 32 qui guide la carte depuis une fente d'introduction non représentée sur les figures jusqu'S une position de traitement dans laquelle la carte 12 est représentée sur les figures 2 et 3. Le déplacement de la carte peut être commandé par un organe d'entrainememt figuré, sur la figure 2, par le galet 34. Il peut etre également manuel. Le lecteur comprend aussi un connecteur 36. Le connecteur 36 comprend un support isolant 38 parallèle au plancher 32 sur lequel sont fixés des contacts électriques. Les contacts électriques sont constitués par des lames flexibles conductrices 40 à 54 réparties en deux groupes de quatre disposés tête bêche.Les extrémités des lames conductrices font saillie dans le passage 30 à travers une ouverture 56 ménagée dans le support isolant 38. Chacun des huit contacts 40 à 54 est prolongé par une piste conductrice 40a à 54a, elles-mêmes prolongées par des conducteurs électriques 40b å 54b. Les conducteurs 40b å 54b sont reliés & un circuit'de traitement 60 qui sera décrit ultérieurement. Le lecteur comprend également de préférence un micro-contact 62 qui émet vers le circuit 60 un signal pour indiquer que la carte est en position de traitement, c'est a dire que les contacts 40 à 54 sont en contact ohmique avec les plages de contact 14 a 28 de la carte. En se référant maintenant à la figure 4 on va décrire plus en détails le circuit de traitement 60 du lecteur. Il comprend un microprocesseur 64 qui gère les opérations normales de lecture/écriture et les opérations de test de cartes simulées selon l'invention. Le microprocesseur 64 est associé a une mémoire 66 de stockage de programmes et de données, par exemple du type ROM ou EPROM, et à une mémoire 68 de travail par exemple du type RAN. Il comprend également un circuit 70 de commande d'alimentation électrique relié à la sortie 70a du microprocesseur. Le circuit 70 commande un générateur de tension 72 qui délivre, selon le signal de commande qu'il reçoit sur son entrée 74, la tension Vcc sur la sortie 76 reliée au contact 54 ; la tension Vt sur la sortie 78 ; et/ou la tension Vpp sur la sortie 80.Les sorties 78 et 80 sont toutes deux reliées au contact 44. Le générateur 72 comprend également une sortie de masse 82 reliée au contact 46. Le circuit de traitement 60 comprend encore un circuit 84 de mesure de courant monté sur les sorties 76, 78 et 80 du générateur de tension 72. ta sortie 86 du circuit de mesure 84 délivre un signal numérique de mesure qui est applique à l'entrée 88 du microprocesseur 64. Le circuit 60 comprend enfin un genérateur 90 des impulsions ST. Selon le signal de commande émis sur la sortie 92 du microprocesseur 64 le circuit 90 emet une impulsion ST de durée réduite T1 ou de durée plus importante T2. ta sortie 94 du générateur d'impulsions 90 est reliée au contact 50.Le microprocesseur 64 comporte en outre une entrée 96 sur laquelle il reçoit des signaux extérieurs, par exemple ceux qui sont délivrés par un clavier 98 dontse sert le détenteur de la carte pour indiquer la prestation qu'il veut obtenir. Il peut s'agir aussi d'un signal de tarification téléphonique dans le cas ou le lecteur est associé à un poste téléphonique a paiement par cartes. L'entree 100 du microprocesseur est reliee au contact 42 et permet de lire l'état binaire d'un point de la mémoire de la carte qui a été prealablement adresse. Enfin les sorties 102 et 104 du microprocesseur sont reliées aux contacts 52 et 48 pour appliquer au circuit de la carte les signaux logiques A et B déjà mentionnés. Avant de décrire les opérations de détection d'une carte simulée, on va exposer les différénts types de tests qui peuvent être mis en oeuvre par le lecteur. Selon le premier type de tests, on applique au circuit de la carte une combinaison anormale de signaux, c'est à dire une combinaison de signaux qui ne sont pas appliqués à la carte lors du traitement normal de celle-ci. Le test consiste a vérifier que la carte ne réagit pas & ces combinaisons de signaux. Ces combinaisons anormales de signaux peuvent consister dans le fait que lors d'une opération d'écriture on applique une tension d'écriture VT qui est inférieure d la tension normale d'écriture. Le point mémoire adresse ne doit pas être écrit. Un autre test consiste i appliquer les signaux de commande d'écriture 9 un point de mémoire de la carte dont l'adresse appartient à une zone qui est interdite en écriture dans une carte normale. S'il y a écriture, c'est que la carte est simulée. Un autre test consiste å appliquer la tension d'écriture normale Vpp à un point mémoire autorisé en écriture, après avoir appliqué à la carte une combinaison des signaux logiques A et B qui n'est pas utilisée normalement. S'il y a écriture c'est que la carte est simulée. Un deuxième type de tests consiste à appliquer à la carte une combinaison normale de signaux et à contrôler des caractéristiques du circuit de la carte qui ne sont pas normalement utilisées. Un premier test consiste à contrôler par des opérations de lecture le nombre total de point de mémoire. Si ce nombre n'est pas égal au nombre standard N de points de mémoire, la carte est simulée. Un deuxième test consiste a appliquer au circuit de la carte les tensions Vcc ou Vpp et a vérifier que le courant qui circule alors est bien égal i des valeurs standard prédéterminées. On va maintenant décrire la mise en oeuvre par le lecteur des tests de détection de cartes simulées. Lorsqu'unie carte a été introduite dans le lecteur et qu'elle arrive en position de traitement, le micro contact 62 envoie au microprocesseur 64 un signal de détection qui initialise le déroulement d'un programme de traitement de la carte. Ce programme, qui est stocké dans la mémoire 66 comprend plusieurs sous programmes Le premier sous programme INIT permet de vérifier que la carte comporte bien des informations d'identification, par exemple un numéro de série.Le sous programme INIT commande le générateur de tension 72 pour qu'il applique à la carte la tension d'alimentation Vcc. Puis le programme INIT commande l'application de la combinaison logique des signaux A et B correspondant à la remise & zéro du compteur d'adresses de la carte et simultanément l'application, par le circuit 90, d'une impulsion ST de durée T1. Une fois que le compteur d'adresses a été remis à zéro, la combinaison des signaux A et B correspondant à l'incrementation du compteur d'adresses est appliquée à la carte ainsi qu'un nombre convenable d'impulsions ST de durée T1 pour pointer la première adresse de l'information d'identification dont l'état binaire est lue par le microprocesseur sur son entrée 100.Puis le compteur d'adresses est incrementé pour permettre la lecture des différents points de la mémoire ou doit être stockée l'information d'identification. Si l'information est incorrecte, la carte est refusée. Si l'information est correcte, le microprocesseur déclenche la mise en oeuvre d'un programme TEST de détection de cartes simulées. Le programme TEST se compose d'un ou-plusieurs sous-programme TEST 1, TEST 2, TEST 3 etc.... Chaque sous-programme TEST I correspond à un des modes de détection de cartes simulées décrit précédemment. Selon l'efficacité souhaitée le programme TEST comprend un plus ou moins grand nombre de sous programmes TEST I. En se référant à la figure 5, on va décrire plus en détails le sous programme TEST 1 qui consiste s vérifier qu'en appliquant la tension de test VT on ne provoque pas l'écriture d'un point de mémoire. La première étape 120 consiste i remettre le compteur d'adresses & zéro comme cela a déjà été expliqué. Dans l'étape 122 on incremente le compteur d'adresses pour pointer le premier point de la mémoire qui est à l'étant binaire zéro. A l'étape 124 le microprocesseur vérifie que son entrée 100 est bien à zéro. A l'étape 126, le microprocesseur 64 commande le générateur de tension 72 pour qu'il applique sur le contact 44 la tension de test VT qui est inférieure à la tension normale d'écriture Vpp. Simultanement les signaux A et B sont portés i leur valeur correspondant i une opération d'écriture (128) et le générateur d'impulsions 90 délivre une impulsion d'écriture de durée T2 (130). A l'étape 132 le microprocesseur 64 lit l'état binaire du point adressé. Si l'état binaire est passé à I, c'est que la carte est simulée puisque bien que la tension d'écriture soit insuffisante, la carte a réagit comme si la tension était suffisante. Le sous-programme de test TEST 2 est semblable au sous-programme TEST 1. Les différences résident dans le fait qu'à l'étape 126 on applique effectivement la tension d'écriture Vpp et dans le fait qu'à l'étape 128 on applique une combinaison des valeurs binaires des signaux A et B qui ne correspond pas à un ordre d'écriture ou à une autre combinaison normale. Le sous-programme TEST 3 est encore similaire au sous-programme TEST 1, aux deux différences suivantes : à l'étape 122 le compteur d'adresses est incrémenté pour pointer une adresse d'un point mémoire protégé en écriture correspondant à la zone mémoire contenant l'information d'identification de la carte et à l'état binaire zéro ; et à l'étape 126 on applique la tension normale d'écriture Vpp. Si l'état binaire du point mémoire ainsi-adressé a changé c'est que la carte est simulée. Les sous-programmes TEST 4 et TEST 5 consistent à appliquer à la carte-la tension d'alimentation Vcc ou la tension d'écriture Vpp et à mesurer à l'aide du circuit 84 l'intensité du courant qui circule. L'impédance du circuit de la carte étant connue l'intensité mesurée est comparée aux valeurs d'intensité normales. Si les intensités mesurées sont différentes c'est que la carte est simulée. Le sous-programme TEST 6 consiste à vérifier que la mémoire de la carte comporte le nombre N standard de points mémoire. Pour cela le lecteur applique à la carte la tension d'alimentation Vcc et remet à zéro le compteur d'adresses de la carte. Puis le compteur reçoit N impulsions ST de durée T1. Le point mémoire d'adresse N est ainsi lu. On applique à nouveau N impulsions d'incrementation et on lit l'état binaire du point ainsi adressé. Si l'état binaire est différent de celui qui avait été lu précédemment c'est que la carte est simulée puisqu'elle comporte un nombre de points de mémoire différent de N. L'incrementation suivie de la lecture peut être repété plusieurs fois, sur des points mémoire différents .Une variante du sous programme TEST 3 consiste à, dans la zone de mémoire inscriptible, à pointer l'adresse d'un point mémoire à l'état binaire un, à appliquer une combinaison des signaux A et B non utilisée et à vérifier que le point mémoire n'est pas effacé ce qui correspondrait à une carte simulée ayant une mémoire effaçable électriquement. Il découle de la description précédente que les modifications à apporter a un lecteur "standard" pour mettre en oeuvre la detection de cartes simulees sont minimes et concernent essentiellement les programmes mis en oeuvre par le microprocesseur du lecteur. On voit également que les test portent à la fois sur la structure du circuit intégré de la carte (impédance nombre de points de mémoire ; tension d'écriture) que sur sa programmation (zones protégées en écriture ; de codage des signaux logiques A et B). Il est donc très difficile de réalisation une carte simulée qui satisfasse à tous ces tests et qui peuvent être effectués à tout moment pendant l'utilisation de la carte. Dans la description précédente on a considéré le cas d'une carte prépayée dite "à logique cablée". Il va de soi que l'invention pourrait également s'appliquer au cas d'une carte dont le circuit électronique comprend un microprocesseur. Cependant la carte à microprocesseur est beaucoup plus complexe et sa simulation souleverait de très gros problèmes. REVENDICATIONS 1. Dispositif de lecture/écriture pour des cartes à mémoire électronique comprenant i l'intérieur d'un corps un circuit électronique muni d'une mémoire, ledit dispositif comportant des moyens de traitement ; des moyens de guidage des cartes pour amener celles-ci en position de traitement ; des moyens de connexion pour relier électriquement le circuit d'une carte en position de traitement auxdits moyens de traitement, lesdits moyens de traitement étant aptes ê emettre vers la carte des signaux électriques normaux, et à recevoir de la carte des signaux de réponse, caractérisé en ce qu'il comprend en outre des moyens de détection de cartes simulées comportant des moyens pour appliquer à la carte des signaux électriques anormaux, des moyens pour recueillir les signaux de réponse émis par la carte en réponse à l'application des signaux électriques normaux et/ou anormaux, des moyens pour comparer les signaux de réponse à des signaux de référence, des moyens de test pour élaborer un signal de carte simulée en fonction de la relation entre les signaux électriques normaux et/ou anormaux et appliqués au circuit de la carte et des résultats desdites comparaisons. 2. Dispositif selon la revendication 1, caractérisé en ce que lesdits moyens de détection comprennent des moyens pour appliquer un signal normal de commande d'écriture d'un point mémoire, des moyens pour appliquer une tension de test VT inférieure à la tension normale d'écriture Vpp et des moyens pour contrôler si le point de mémoire a été écrit 3. Dispositif selon l'une quelconque des revendications 1 et 2, caractérisé en ce que lesdits moyens de détection comprennent des moyens pour mesurer l'intensité du courant circulant entre les moyens de connexion et le circuit de la carte lors de l'application de la tension normale d'alimentation (Vcc) ou de la tension normale d'écriture Vpp et des moyens pour comparer l'intensité du courant mesurée à une valeur prédéterminée correspondante d'intensité de courant. 4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que lesdits noyens de détection comprennent des moyens pour vérifier si la mémoire comporte un nombre prédéterminée N de points de mémoire. 5. Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lesdits moyens de détection comprennent des moyens pour appliquer un signal logique anormal de commande d'écriture dans la mémoire et des moyens pour contrôler si la commande d'écriture a été exécutée.