Brevet FR2815444A1 — publié le 20020419

PROCEDE ET DISPOSITIF DE CHANGEMENT DE MODE DE FONCTIONNEMENT POUR UN LECTEUR DE CARTE A PUCE. L'invention concerne le domaine des cartes à microcircuits, plus connues sous le vocable"cartes à puces", et plus particulièrement un procédé et un dispositif pour réaliser le changement de mode de fonctionnement du lecteur de carte à puce de manière à l'adapter au type de carte introduite dans le lecteur. Chaque type de carte à puce peut fonctionner suivant différents standards qui sont définis par des normes ou des organismes et le lecteur de carte à puce doit être capable de reconnaître le type de carte et s'adapter à son mode de fonctionnement. Plus particulièrement, le lecteur de carte à puce doit être capable de fonctionner selon les différents standards et de passer d'un standard à un autre en respectant les contraintes de chacun. Ce problème se présente notamment pour des applications mettant en oeuvre les standards"PCSC"qui est l'acronyme de l'expression anglo-saxonne"Personal Computer-Smart Card"et"EMV"qui est l'acronyme de l'expression anglo-saxonne"Europay Mastercard and Visa". Il est à noter que le standard EMV est utilisé dans les transactions bancaires tandis que le standard PCSC est utilisé en relation avec des ordinateurs personnels. Une solution à ce problème est d'utiliser deux lecteurs de carte à puce, un par type de carte à puce, le choix du lecteur étant effectué par le porteur de la carte à puce, ce qui suppose qu'il connaisse le type de carte et qu'on lui indique quel lecteur à utiliser. Une telle solution peut conduire à des manipulations préjudiciables. Une meilleure solution consiste à avoir un seul lecteur capable de gérer les deux standards que l'on peut sélectionner par une intervention externe au lecteur, soit par l'utilisateur de la carte, soit par logiciel. Dans une telle solution, il peut y avoir de nombreuses erreurs aboutissant à des inadéquations entre la carte et le standard dans lequel est positionné le lecteur. Un but de la présente invention est donc de mettre en oeuvre un procédé et de réaliser un dispositif qui permet au lecteur de carte à puce de se positionner dans le standard correspondant à celui de la carte à puce introduite. A cet effet, l'invention prévoit des moyens dans le lecteur de carte à puce pour lui permettre de connaître le standard selon lequel la carte à puce est susceptible de fonctionner. L'invention concerne un procédé de changement de mode de fonctionnement dans un lecteur de carte à puce capable de fonctionner suivant N 2 standards relatifs à l'utilisation d'une carte à puce pour l'adapter au standard de la carte à puce introduite dans le lecteur, caractérisé en ce qu'il comprend les opérations suivantes consistant à : (a) positionner le lecteur de carte à puce selon un standard parmi N, (b) initialiser la carte à puce pour obtenir une réponse ATR, ATR étant l'acronyme de l'expression anglo-saxonne"Answer to Reset", (c) analyser la réponse ATR selon le standard engagé pour en déterminer sa conformité, (d) dans le cas de conformité, gérer la carte à puce selon le standard engagé, (e) dans le cas d'absence de conformité, désactiver la carte à puce et positionner le lecteur selon un autre standard, (f) répéter les opérations (b), (c), (d), et (e) avec le nouveau standard engagé. L'opération (e) n'est effectuée que tant que la carte à puce n'est pas retirée du lecteur. Lors de l'opération (e), le lecteur peut être positionné dans un état intégrant plusieurs standards. L'opération (f) est répétée au maximum (N- 1) jusqu'à l'intervention d'un standard approprié parmi N. L'opération (e) comprend une opération complémentaire consistant à indiquer à l'utilisateur et/ou l'application les standards non encore engagés. Les standards non encore engagés qui sont indiqués ne comprennent pas ceux qui sont susceptibles de ne pas correspondre à la carte à puce introduite dans le lecteur. L'invention concerne également un dispositif pour mettre en oeuvre le procédé décrit ci-dessus, caractérisé en ce qu'il comprend - au moins un circuit de commutation à deux positions qui permet de connecter un canal de communication soit à un module d'un standard, soit à un module d'un autre standard, - un circuit de détection de la présence ou de l'absence d'une carte à puce dans le lecteur, et - au moins un bloc logique pour déterminer la position du circuit de commutation en fonction de la présence ou de l'absence de la carte à puce dans le lecteur et de la réponse ATR de la carte à puce conformément ou non au standard engagé. Lorsque le lecteur peut fonctionner selon N standards, le dispositif selon l'invention comprend N modules de standards, (N-1) circuits de commutation et (N-1) blocs logiques. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description suivante d'exemples particuliers de réalisation, ladite description étant faite en relation avec les dessins joints dans lesquels : - la figure 1 est un organigramme illustrant les différentes opérations du procédé selon l'invention, - la figure 2 est un organigramme illustrant les différentes opérations du procédé selon l'invention dans le cas où le lecteur peut fonctionner suivant plusieurs standards, la figure 3 est un organigramme illustrant le fonctionnement de l'organigramme de la figure 2. - la figure 4 est un schéma fonctionnel d'un dispositif selon l'invention, - la figure 5 est un schéma d'un circuit de sélection entre deux standards, et - la figure 6 est un schéma de circuit de sélection pour N zu 2 standards. L'invention sera décrite dans son application à la sélection entre deux standards de cartes à puce, ceux mentionnés ci-dessus sous les acronymes"EMV"et"PCSC" ainsi que le standard ISO défini par la norme ISO7816-3, y compris les cartes à mémoire. La première opération 10 consiste en une initialisation RAZ du lecteur de carte à puce, cette initialisation conduisant à un état initial dans lequel le lecteur est positionné par défaut selon le standard EMV (état 12). Après introduction de la carte à puce, cette dernière est mise sous tension par le lecteur soit sous l'effet d'une commande externe, soit de manière automatique (opération 14). Conformément aux standards, le lecteur est à même de pouvoir recevoir une réponse ATR correspondant à l'expression anglo-saxonne"Answer To Reset"lors de la remise à zéro (RAZ) de la carte après sa mise sous tension. Cette réponse ATR est ensuite analysée (opération 16) par le lecteur. Dans le cas où la réponse ATR correspond au standard EMV, alors la carte est traitée selon ce standard jusqu'à ce qu'elle soit désactivée par le lecteur ou retirée de ce dernier (opération 18). Le lecteur revient à l'état 12. Dans le cas où la réponse ATR n'est pas conforme au standard EMV, la carte est désactivée par le lecteur (opération 20). Tant que la carte à puce n'est pas retirée du lecteur, ce dernier peut proposer, suivant l'application, de faire un choix entre ou vers d'autres standards et, notamment, de proposer de passer dans le standard PCSC et/ou ISO et/ou pouvoir gérer la carte à mémoire aussi longtemps que la carte n'est pas retirée (opération 22). Le choix est laissé à l'utilisateur ou à l'application. Si le choix met le lecteur dans un état intégrant plusieurs standards, sélectionnables sans contrainte, on parle alors de mode. Dans la suite de la description, le terme standard désigne un standard unique ou un ensemble de standards appelé mode . Une fois ce choix effectué, la carte est alors remise sous tension de manière à pouvoir fonctionner suivant le standard ou le mode sélectionné (opération 24). Le procédé revient à l'état 12 lorsque la carte à puce est retirée ou désactivée. Au lieu de proposer le choix défini ci-dessus, le lecteur peut se positionner automatiquement dans le standard PCSC et/ou ISO ; le lecteur ferait savoir quel standard est engagé. Dans le cas où le lecteur peut fonctionner selon un nombre N de standards supérieur à deux, il peut être prévu une répétition des opérations 14,16, 18,20 et 22 pour permettre le choix entre les différents standards, le nombre de répétitions étant au plus égal à (N-1). Les opérations visées sont celles du rectangle en tirets 26 et ont été explicitées dans l'organigramme de la figure 2, les opérations étant référencées 14', 16', 18', 20'et 22'. Ces opérations sont identiques à celles de l'organigramme de la figure 1 mais l'ATR attendu est celui relatif au standard de rang i parmi N avec N > 2. Cet organigramme est utilisé de la manière qui sera décrite en relation avec la figure 3. Lorsque le lecteur est initialisé (opération 30), il est positionné dans le mode par défaut (opération 32) qui est le standard. La première routine 34 permet le passage du standard ? 1 au standard NO 2 au cas où le standard par défaut (NO 1) ne convient pas. D'une manière générale, une routine 36 permet de passer d'un standard"i"à un standard "i+1" et ainsi de suite jusqu'au standard de rang N-1. Puis, une dernière routine 38 permet de passer du standard (N-1) au standard N. A l'issue de cette dernière routine, la carte à puce est mise sous tension (opération 40) de manière à fonctionner sous le standard NO N. Le procédé décrit en relation avec les figures 1,2 et 3 peut être mis en oeuvre à l'aide d'un logiciel ou d'un dispositif selon le schéma fonctionnel de la figure 4. Sur ce schéma, les légendes suivantes ont les significations ci-après : - DATA désigne l'entrée d'un canal de communication pour les données en entrée ou en sortie entre la carte et le lecteur, - EMV est le module du lecteur qui lui permet de fonctionner suivant le standard EMV, - PCSC/ISO est le module du lecteur qui lui permet de fonctionner suivant le standard PCSC et/ou ISO, et/ou carte à mémoire, - SCEIF est un circuit qui fournit un signal indiquant la présence (état"1") ou l'absence (état"0") de la carte à puce, - SELECT est un signal indiquant que la sélection du standard a été reçu, - RAZ est le signal qui initialise le lecteur, - NOK est un signal qui indique que l'ATR n'est pas conforme. L'entrée DATA du canal de communication est connectée à l'un des modules EMV ou PCSC/ISO par l'intermédiaire d'un commutateur 50 selon la position du commutateur. Cette position du commutateur est déterminée par un bloc logique 70. Ce bloc logique 70 comprend un circuit logique OU 60 et deux circuits ET 62 et 64. Le circuit OU 60 a une première borne d'entrée sur laquelle est appliqué le signal d'initialisation RAZ du lecteur et une deuxième borne d'entrée sur laquelle est appliqué le signal de sortie du circuit SCEIF mais inversé. La borne de sortie du circuit OU 60 est connectée, d'une part, au module EMV et d'autre part à une première borne d'entrée du circuit ET 62 sous la forme inversée. La deuxième borne d'entrée est connectée au module EMV et reçoit le signal de nonconformité NOK de la réponse ATR selon le standard EMV. La borne de sortie du circuit ET 62 est connectée à une première borne d'entrée du circuit ET 64 dont l'autre borne d'entrée reçoit le signal SELECT. Le fonctionnement du dispositif est le suivant. Quand il n'y a pas de carte insérée dans le lecteur, le signal SCEIF est à l'état "0", ce qui donne un état"1" en entrée du circuit OU 60. Il en résulte un état"1" sur sa borne de sortie, état"1"qui remet à zéro le module EMV, ce qui implique un état"0"du signal NOK de sortie du module EMV. Le signal de cet état "1" est inversé sur la borne d'entrée du circuit ET 62. La borne de sortie est alors à l'état "0", état "0" qui, appliqué au circuit ET 64 maintient le commutateur 50 dans l'état indiqué par défaut. Dans le cas de la présence du signal RAZ, les états obtenus sont les mêmes que précédemment, d'où maintien du commutateur dans l'état par défaut. Lorsque la carte est insérée, un signal d'état "0" est appliqué en entrée du circuit OU 60, d'où un état "0" sur la borne de sortie si le signal RAZ est à l'état "0". Il n'y a pas de remise à zéro du module EMV et l'entrée du circuit ET 62 est à l'état "1". La sortie 62 est à l'état "0" tant que le signal NOK est à l'état "0". Cet état "0" maintient le commutateur dans l'état par défaut même si le signal SELECT est à l'état "1". Dans le cas d'un signal RAZ à l'état"1", le module EMV est remis à zéro et le commutateur est mis à l'état"0" par défaut. Dans le cas de l'insertion d'une carte et en l'absence du signal RAZ, la sortie du circuit OU 60 est à l'état "0", de sorte que le module EMV n'est pas remis à zéro et que l'entrée du circuit ET 62 est à l'état"1". Si NOK est à l'état 1, la sortie du circuit ET 62 est à l'état "1" de sorte que si le signal SELECT passe à l'état "1", la sortie du circuit ET 64 passe à l'état "1"et change la position du commutateur vers la position où les données sont dirigées vers le module PCSC/ISO. Ceci permet de gérer la carte dans le mode PCSC/ISO ainsi que les cartes à mémoires. Un mode se caractérise donc par l'état intégrant un ou plusieurs standards sans contrainte particulière. Dans le cas où il y a plus de deux standards ou modes, le dispositif selon l'invention peut être réalisé selon les schémas des figures 5 et 6. Le schéma de la figure 5 correspond en partie à celui de la figure 4 et réalise la sélection entre deux standards, entre celui de rang i et celui de rang (i+l). Il comprend : - un circuit de commutation 80, - un module de gestion du standard ou mode 82 de rang i, - un bloc logique 84. Ce schéma ne comprend pas le circuit de détection de la présence ou de l'absence de la carte à puce dans le lecteur, ce circuit étant commun à l'ensemble du dispositif. Ce circuit commun comprend les éléments 58 et 60 décrits ci-dessus avec la figure 4 et fournit un signal "INIT"qui, comme indiqué ci-après, est appliqué à chaque circuit de sélection 90i,.... 90,..., 90N-i. Les différents circuits de sélection 901 à 90N-1 sont connectés en cascade selon le schéma de la figure 6. Par cette connexion en cascade, les données du canal de communication peuvent être aiguillées vers l'un des modules de standard en fonction de la position du circuit de commutation 80. Ainsi, le canal de communication est connecté au module de rang 1 lorsque le premier commutateur est à l'état "0". Il est connecté au module de rang 2 lorsque le deuxième commutateur est à l'état "0" et ainsi de suite. La description ci-dessus montre que le procédé de changement de fonctionnement dans un lecteur de carte à puce capable de fonctionner suivant N 2 standards relatifs à l'utilisation d'une carte à puce pour l'adapter au standard de la carte à puce introduite dans le lecteur comprend les opérations suivantes consistant à : (a) positionner le lecteur de carte à puce selon un standard parmi N, (b) initialiser la carte à puce pour obtenir une réponse ATR, (c) analyser la réponse ATR selon le standard engagé pour en déterminer sa conformité, (d) dans le cas de conformité, gérer la carte à puce selon le standard engagé, (e) dans le cas d'absence de conformité, désactiver la carte à puce et positionner le lecteur selon un autre standard, (f) répéter les opérations (b), (c), (d), et (e) avec le nouveau standard engagé. L'opération (e) n'est effectuée que tant que la carte à puce n'est pas retirée du lecteur. L'opération (f) est répétée au maximum (N-1) fois jusqu'à l'obtention du standard approprié. L'opération (e) peut comprendre une opération complémentaire consistant à indiquer les standards non encore engagés à l'utilisateur et/ou au logiciel utilisé. Cette indication peut ne pas comprendre les standards qui ne sont pas susceptibles de correspondre à la carte à puce introduite dans le lecteur. REVENDICATIONS 1. Procédé de changement de mode de fonctionnement dans un lecteur de carte à puce capable de fonctionner suivant N 2 2 standards relatifs à l'utilisation d'une carte à puce pour l'adapter au standard de la carte à puce introduite dans le lecteur, caractérisé en ce qu'il comprend les opérations suivantes consistant à : (a) positionner le lecteur de carte à puce selon un standard parmi N, (b) initialiser la carte à puce pour obtenir une réponse (ATR), (c) analyser la réponse (ATR) selon le standard engagé pour en déterminer sa conformité, (d) dans le cas de conformité, gérer la carte à puce selon le standard engagé, (e) dans le cas d'absence de conformité, désactiver la carte à puce et positionner le lecteur selon un autre standard, (f) répéter les opérations (b), (c), (d), et (e) avec le nouveau standard engagé. 2. Procédé selon la revendication 1, caractérisé en ce que l'opération (e) n'est effectuée que tant que la carte à puce n'est pas retirée du lecteur. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'opération (e) est définie comme suit : - dans le cas d'absence de conformité, désactiver la carte à puce et positionner le lecteur dans un état intégrant plusieurs standards. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'opération (f) est répétée au maximum (N-1) fois jusqu'à l'intervention d'un standard approprié parmi N standards. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que l'opération (e) comprend une opération complémentaire consistant à indiquer les standards non encore engagés. 6. Procédé selon la revendication 5, caractérisé en ce que les standards non encore engagés sont indiqués à l'utilisateur et/ou à l'application. 7. Procédé selon la revendication 5 ou 6, caractérisé en ce que les standards non encore engagés qui sont indiqués ne comprennent pas ceux qui sont susceptibles de ne pas correspondre à la carte à puce introduite dans le lecteur. 8. Dispositif pour mettre en oeuvre le procédé selon l'une des revendications 1 à 7, dans un lecteur de carte à puce, caractérisé en ce qu'il comprend : - au moins un circuit de commutation à deux positions qui permet de connecter un canal de communication soit à un module d'un standard, soit à un module d'un autre standard, - un circuit de détection de la présence ou de l'absence d'une carte à puce dans le lecteur, et - au moins un bloc logique (70) pour déterminer la position du circuit de commutation en fonction de la présence ou de l'absence de la carte à puce dans le lecteur et de la réponse (ATR) de la carte à puce conformément ou non au standard engagé. 9. Dispositif selon la revendication 8 dans son application à l'utilisation de N standards par le u lecteur de carte à puce, caractérisé en ce qu'il y a N modules de standards (N-1) circuits de commutation et (N-1) blocs logiques.