Brevet FR2783623A1 — publié le 20000324

PROCEDE DE GESTION D'UNE TRANSACTION ELECTRONIQUE PAR CARTE A PUCE, TERMINAL ET CARTE A PUCE METTANT EN EUVRE CE PROCEDE La présente invention concerne les transactions électroniques réalisées au moyen d'une carte à puce. Elle propose un procédé pour la gestion d'une telle transaction électronique, ainsi qu'un terminal et une carte à puce mettant en oeuvre ce procédé. Habituellement, lors d'une transaction avec une carte à puce, c'est le terminal de lecture dans lequel la carte à puce est engagée qui gère la procédure d'authentification de la carte et du porteur de celle-ci, ainsi que la procédure de validation de la transaction. Notamment, le terminal du terminal de lecture demande systématiquement au porteur de la carte de lui indiquer son code d'authentification. Et si le montant de la transaction dépasse un certain seuil, le terminal de lecture peut décider d'interroger un centre d'autorisation extérieur. Toutefois, on souhaite désormais pouvoir réaliser des transactions électroniques très rapides, susceptibles d'intervenir dans des temps très courts - par exemple inférieurs à 100ms - pour lesquels l'authentification du porteur n'est pas réalisable. A ce jour, ce sont les systèmes appelés "porte-monnaies électroniques" qui permettent de réaliser des transactions électroniques rapides. Un porte-monnaie électronique est un dispositif qui comporte une mémoire dans laquelle est stockée une valeur correspondant à une somme monétaire qui est décrémentée au fur et à mesure des transactions faites au moyen dudit porte-monnaie. Toutefois, les porte-monnaies électroniques présentent des inconvénients. En particulier, ils n'assurent pas la même sécurité de transaction que des cartes bancaires. Notamment, il peut arriver avec un porte-monnaie électronique que celui-ci enregistre un débit alors que la transaction au niveau du terminal de lecture n'est pas prise en compte. Un but de l'invention est de proposer un procédé pour la gestion d'une transaction électronique qui permette de réaliser des transactions aussi vite qu'avec un porte-monnaie électronique, mais avec une sécurité analogue à celle que permettent les protocoles de transactions par carte bancaire actuellement connus. La solution selon l'invention consiste en un procédé pour la gestion d'une transaction électronique au moyen d'une carte à puce à micro- processeur et d'un terminal de lecture apte à dialoguer avec ladite carte, caractérisé en ce que le terminal de lecture transmet à ladite carte un signal qui lui indique le montant de la transaction et en ce que la carte traite ce montant et commande, selon la valeur de ce montant, la mise en oeuvre par le terminal de lecture et ladite carte d'une procédure d'authentification du porteur de la carte. Ce procédé est avantageusement complété par les différentes caractéristiques suivantes prises seules ou selon toutes leurs combinaisons techniquement possibles: - le montant de la transaction est comparé dans la carte à une valeur seuil de montant de transaction, ladite carte commandant une procédure d'authentification du porteur lorsque ce montant est supérieur audit seuil; - la carte à puce compare à une valeur seuil la valeur d'un compteur, dit de cumul des petits montants, incrémenté positivement ou négativement de la valeur du montant de la transaction et une procédure d'authentification du porteur de la carte est commandée par ladite carte en fonction du résultat de cette comparaison; la valeur du compteur est remplacée par ladite valeur incrémentée lorsque la valeur du montant de la transaction est inférieure à la valeur seuil de montant de transaction; - la valeur du compteur de cumul de petits montants est remplacée par ladite valeur incrémentée lorsque, en fonction du résultat de la comparaison, la procédure d'authentification du porteur de la carte n'est pas commandée par ladite carte; - lorsque le code d'identification du porteur de la carte a été vérifié, la carte incrémente, positivement ou négativement, de la valeur du montant de la transaction, la somme du compteur de petits montants et d'un deuxième compteur, elle compare la somme incrémentée à une valeur seuil et commande l'interrogation par le terminal de lecture d'un centre d'autorisation en fonction du résultat de cette comparaison, ladite carte remettant à zéro les deux compteurs lorsque l'autorisation est donnée par ledit centre, la valeur du deuxième compteur étant remplacée par la valeur de la somme incrémentée, si en fonction du résultat de la comparaison, la carte décide de ne pas demander au terminal de lecture d'interroger le centre d'autorisation, la valeur du compteur de petits montants étant alors remise à zéro. L'invention concerne également une carte à puce à micro-processeur destinée à être utilisée pour réaliser des transactions électroniques, caractérisée en ce qu'elle comporte des moyens pour mettre en ceuvre le procédé précité. Avantageusement, cette carte à puce comporte des moyens mémoires pour mémoriser une ou plusieurs valeurs seuils et/ou des valeurs de compteur, ainsi que des moyens de comparaison. L'invention concerne en outre un terminal de lecture de cartes à puce à micro-processeur, destiné à être utilisé pour réaliser des transactions électroniques, caractérisé en ce qu'il comporte des moyens pour mettre en oeuvre le procédé précité. D'autres caractéristiques et avantages de l'invention ressortiront encore de la description qui suit de plusieurs modes de mise en oeuvre de l'invention. Cette description est purement illustrative et non limitative. Elle doit être lue en regard des dessins annexés sur lesquels: - la figure 1 est un organigramme illustrant un mode de mise en oeuvre possible pour le procédé proposé par l'invention; - la figure 2 est un organigramme illustrant un autre mode de mise en oeuvre possible. Les différentes étapes des procédés de gestion illustrés sur les figures 1 et 2 sont mises en oeuvre lors d'une transaction électronique réalisée au moyen d'une carte à puce de type bancaire. Cette carte à puce comporte un microprocesseur qui est programmé de façon à mettre en oeuvre un protocole qui correspond à ces différentes étapes, ainsi que des mémoires ROM, EPROM, EEPROM ou RAM dans lesquelles sont mémorisés les différentes valeurs calculées ou prises en compte lors de ces différentes étapes (montant de la transaction, valeurs de compteur(s), plafond(s), etc...). Le terminal de lecture est programmé pour mettre en oeuvre le même procédé, la carte à puce et ledit terminal comportant des moyens leur permettant de dialoguer, ces moyens pouvant être de tout type (bus utilisant des pistes de connexion portées par la carte à puce, échanges par émission/réception RF, etc.). Sur la figure 1, les étapes mises en oeuvre par la carte à puce sont présentées dans le bloc référencé par C, celles mises en oeuvre par le terminal de lecture étant présentées dans le bloc référencé par L. La transaction débute par une initialisation de la carte à puce commandée par le terminal de lecture (étape 1). Celle-ci, en réponse, transmet au terminal de lecture son identification (étape 2). Puis le terminal de lecture demande à l'opérateur de saisir le montant M de la transaction (étape 3). Il transmet ce montant M à la carte. Celle-ci met en ceuvre un test 4 sur la valeur de ce montant M. Si ce montant M est inférieur à une valeur plafond VP1, la carte incrémente un compteur COMPT de la valeur de ce montant M (étape 5). La carte compare alors la valeur de ce compteur COMPT à un seuil VP2, qui peut être différent du seuil VP1. Si le compteur COMPT est inférieur à VP2, le micro-processeur de la carte calcule la signature ST de la transaction (étape 7) et la transmet au terminal de lecture qui la vérifie et archive le montant de la transaction, ainsi que le détail de celle-ci (étapes 8 et 9). Si par contre, la valeur du compteur COMPT est supérieure à VP2, la carte demande au terminal de lecture la présentation du code du porteur (étape 10). Le porteur saisit son code (étape 11). Le code est transmis par le terminal de lecture à la carte qui le vérifie (étape 12). Après vérification, le micro-processeur de la carte reprend le traitement et calcule la signature ST de transaction (étape 7). Entre l'étape de vérification 12 et l'étape de calcul 7, le compteur COMPT est remis à zéro. Ainsi, le compteur COMPT est remis à zéro après chaque vérification positive du code confidentiel (étape 20). Le code du porteur est également demandé par la carte lorsque le montant M est supérieur à la valeur seuil VP1 (réponse "oui" au test 4). Dans ce cas, le code du porteur est vérifié et le montant M n'est pas cumulé sur le compteur COMPT. Les étapes classiques d'une transaction par carte bancaire se déroulent. Eventuellement, ou en variante, il peut être prévu que la carte demande la connexion du terminal de lecture au système bancaire pour en obtenir une autorisation de transaction. Avec l'autorisation de transaction, le terminal de lecture peut, en fonction des informations fournies par le système bancaire, transmettre à la carte un ordre de remise à jour des plafonds VP1 et VP2. Comme on l'aura compris, dans la variante de mise en oeuvre qui vient d'être décrite en référence à la figure 1, la carte de paiement cumule sur le compteur interne COMPT le montant des transactions inférieures à un certain seuil et ne demande une authentification du porteur que lorsque le montant M est supérieur à ce seuil ou lorsque la somme cumulée des transactions antérieures devient supérieure à un seuil donné. En variante, il peut être prévu que le compteur COMPT est remis à zéro uniquement dans l'hypothèse o il est vérifié que la valeur du compteur COMPT est supérieure à la valeur seuil VP2 dans l'étape 6 et o le code saisi est reconnu correct par la carte. Dans cette hypothèse, le compteur COMPT n'est pas remis à zéro si, lors de l'étape 4, il est vérifié que le montant M est supérieur à la valeur seuil VP1. Il n'est remis à zéro que si le montant M est inférieur à la valeur seuil VP1 et si il est vérifié dans l'étape 6 que le compteur COMPT est supérieur à VP2 et si le code vérifié est correct. Ainsi, le compteur COMPT n'est remis à zéro que lorsque d'une part la somme des petits montants atteint le seuil VP2 et d'autre part le porteur est authentifié par son code. En variante encore, la carte peut être utilisée pour réaliser un paiement incrémental, par exemple dans le cas d'une communication à partir d'une cabine téléphonique publique. Dans ce cas, une boucle d'incrément est ajoutée entre les étapes 7 et 3, et la signature ST est en fonction de la somme incrémentée (EM) à la fin de la communication, EM étant remis à zéro dans la carte à l'issue de l'étape d'identification 2. Ainsi, on ne conserve en fin de communication qu'un seul ordre de virement ST contenant la somme des taxes consommées; I'utilisateur paye en fonction de la durée de la communication et au fil des taxes consommées. Une autre variante de mise en oeuvre est illustrée sur la figure 2. Cette deuxième variante consiste à gérer un deuxième compteur CPT2 dans la carte agrégeant les cumuls effectués sur un premier compteur CPT1 de petits montants. Si la valeur du compteur CPT2 atteint une deuxième valeur plafond VP2, définie par la banque et enregistrée préalablement dans la carte, la carte exigera le contrôle d'un certificat calculé par un centre d'autorisation. La procédure est la suivante: La carte ajoute le montant M de la transaction à la valeur lue dans CPT1. Si (test 13) la somme CPTI+M atteint la valeur plafond VP1, la carte exige le contrôle du code confidentiel du porteur (étapes 10, 11 et 12). Si le code confidentiel est correct, la carte ajoute la valeur de CPT1 +M à la valeur lue dans CPT2. La nouvelle valeur obtenue est comparée à un seuil VP2 (test 14). Si la somme CPTI+M+CPT2 atteint le plafond VP2, la carte exige (étape 15) le contrôle d'un certificat calculé par un centre d'autorisation interrogé par le terminal du terminal de lecture L (étape 16). Si le certificat est correct, la carte remet à zéro les compteurs CPT1 et CPT2 (étape 17) puis calcule et délivre la signature de la transaction (étapes 7 et suivantes). Si le certificat est incorrect, la carte ne délivre pas la signature de la transaction et laisse en l'état les valeurs des compteurs CPT1 et CPT2. Si la somme CPT1 +M+CPT2 n'a pas atteint la valeur plafond VP2, la carte remet à zéro le compteur CPT1 et met à jour le compteur CPT2 en remplaçant sa valeur précédente par CPT2+CPT1+M (étape 18). Puis elle calcule et délivre la signature de la transaction (étapes 7, 8 et 9). Si le code confidentiel n'est pas correct, la carte C ne délivre pas la signature de la transaction et laisse en l'état les compteurs CPT1 et CPT2. Si la somme CPTI+M n'atteint pas la valeur plafond VP1, la carte met à jour le compteur CPT1 en remplaçant sa valeur précédente par la somme CPTI+M (étape 19), puis elle délivre la signature de la transaction (étapes 7, 8 et 9). La carte qui vient d'être décrite peut être utilisée en postdébit. Les montants débités sont cumulés, par exemple sur 30 jours au plus, par numéro de compte porteur, et le compte porteur est débité après dépassement du plafond VP2 ou à l'issue des 30 jours de la valeur des montants cumulés depuis le dernier débit du compte. Les montants peuvent être cumulés: - sur le serveur de collecte après collecte des transactions stockées sur les terminaux commerçants. Dans ce cas, le dépassement du plafond VP2 déclenche dans la carte via le terminal une demande d'autorisation de montant égal au nouveau plafond VP2 qui peut être redéfini par la banque. - Dans la carte elle-même. Dans ce cas, le dépassement du plafond VP2 déclenche dans la carte via le terminal une remise du cumul et une demande d'autorisation. Il est nécessaire dans ce cas de faire payer au client une caution au moment de I'obtention de sa carte, pour éviter la perte ou le vol " volontaire " de sa carte (évitant ainsi le débit du cumul). Cette caution peut être déguisée, c'est-à-dire incluse dans l'abonnement annuel de la carte. La carte peut également être utilisée en prédébit. Dans ce cas, la valeur VP1, et pour la variante de la figure 2, la valeur VP2, est (ou sont) prépayée(s) par le porteur et mise(s) à jour dans la carte, à l'aide du certificat reçu qui est fonction du montant prépayé par l'utilisateur. Si l'utilisateur se trouve sur un terminal sans clavier d'identification ou non connecté à un réseau de télécommunication, et que la valeur prépayée VP1, VP2 est atteinte, il devra se présenter sur un dispositif de la banque (guichet automatique - distributeur de billet ou téléphone public) pour que puisse être réalisées les opérations de contrôle du certificat émis par le centre d'autorisation. La transaction dans ce cas étant fictive, aucun montant n'étant débité du compte du client, sauf dans l'application prédébit. En variante encore, la carte peut ne pas disposer du code d'authentification du porteur. Dans ce cas, la comparaison du montant de la transaction au seuil VP1 n'est pas faite et VP1 n'est pas utilisé. Lorsque la valeur COMPT mémorisée dans la carte est supérieure ou égale au seuil VP2, la carte ne délivre pas la signature ST de transaction. Une tolérance sur VP2 est définie pour accepter des valeurs de COMPT légèrement supérieures à VP2 et ainsi permettre le franchissement par COMPT de la valeur VP2 qui bloque la carte. La carte peut être jetable, lorsque VP2 est atteint, la carte n'est plus utilisable. Toutefois, en particulier si la carte est consignée, le porteur peut retourner la carte à la banque qui à l'aide d'une procédure sécurisée remet à zéro la valeur de COMPT, avant de la réintroduire dans un nouveau cycle d'utilisation. Ou bien, la carte peut être débloquée par la banque à l'aide d'une procédure sécurisée en ligne. Au cours de cette procédure le porteur est authentifié, par exemple, à l'aide d'une deuxième carte de paiement ou un code vérifié par le serveur de la banque, et COMPT est remis à zéro après vérification par la carte d'un certificat calculé par la banque. Dans les exemples qui précèdent, les compteurs CPT1 et CPT2 sont incrémentés de la valeur 0 à une valeur plafond. Il est aussi possible de procéder par décomptage, les compteurs étant initialisés à la valeur plafond VP1 et VP2 puis décrémentés jusqu'à la valeur 0, le comptage peut se faire également sur des valeurs négatives etc... Le procédé de transaction proposé par l'invention présente de nombreux avantages: - la sécurité est celle de la carte bancaire car les débits sont vérifiés a posteriori par le porteur, le commerçant et la banque; le paiement avec carte débit-crédit peut être effectué sur une carte sans contact car il n'y a plus saisie systématique du code confidentiel de plus, en cas d'interruption des échanges sans contact, la transaction peut être facilement annulée; - le réseau carte bancaire n'est pas modifié et il y a possibilité de réutiliser le serveur d'agrégation des montants de transactions de publiphonie sur un mois par carte bancaire; - il n'est plus possible de tromper le terminal sur la réponse à la vérification du code porteur, car la transaction ne sera poursuivie que si le code porteur est correct. REVENDICATIONS 1. Procédé pour la gestion d'une transaction électronique au moyen d'une carte à puce à micro-processeur et d'un terminal de lecture apte à dialoguer avec ladite carte, caractérisé en ce que le terminal de lecture transmet à ladite carte un signal qui lui indique le montant de la transaction et en ce que la carte traite ce montant et commande la mise en oeuvre d'une procédure de transaction fonction de la valeur de ce montant. 2. Procédé selon la revendication 1, caractérisé en ce que la carte commande, selon la valeur de ce montant, la mise en oeuvre par le terminal de lecture et ladite carte d'une procédure d'authentification du porteur de la carte. 3. Procédé selon la revendication 2, caractérisé en ce que le montant de la transaction est comparé dans la carte à une valeur seuil de montant de transaction, ladite carte commandant une procédure d'authentification du porteur lorsque ce montant est supérieur audit seuil. 4. Procédé selon l'une des revendications 2 ou 3, caractérisé en ce que la carte à puce compare à une valeur seuil la valeur d'un compteur, dit de cumul des petits montants, incrémenté positivement ou négativement de la valeur du montant de la transaction et en ce qu'une procédure d'authentification du porteur de la carte est commandée par ladite carte en fonction du résultat de cette comparaison. 5. Procédé selon les revendications 3 et 4 prises en combinaison, caractérisé en ce que la valeur du compteur est remplacée par ladite valeur incrémentée lorsque la valeur du montant de la transaction est inférieure à la valeur seuil de montant de transaction. 6. Procédé selon la revendication 4, caractérisé en ce que la valeur du compteur de cumul de petits montants est remplacée par ladite valeur incrémentée lorsque, en fonction du résultat de la comparaison, la procédure d'authentification du porteur de la carte n'est pas commandée par ladite carte. 7. Procédé selon la revendication 6, caractérisé en ce que lorsque le code d'identification du porteur de la carte a été vérifié, la carte incrémente, positivement ou négativement, de la valeur du montant de la transaction, la somme du compteur de petits montants et d'un deuxième compteur, en ce qu'elle compare la somme incrémentée à une valeur seuil et commande l'interrogation par le terminal de lecture d'un centre d'autorisation en fonction du résultat de cette comparaison, ladite carte remettant à zéro les deux compteurs lorsque l'autorisation est donnée par ledit centre, la valeur du deuxième compteur étant remplacée par la valeur de la somme incrémentée, si en fonction du résultat de la comparaison, la carte décide de ne pas demander au terminal de lecture d'interroger le centre d'autorisation, la valeur du compteur de petits montants étant alors remise à zéro. 8. Carte à puce à microprocesseur destinée à être utilisée pour réaliser des transactions électroniques, caractérisée en ce qu'elle comporte des moyens pour mettre en oeuvre le procédé selon l'une des revendications précédentes. 9. Carte à puce selon la revendication 8, caractérisée en ce que, pour mettre en oeuvre le procédé selon l'une des revendications 2 à 6, elle comporte des moyens mémoires pour mémoriser une ou plusieurs valeurs seuils et/ou des valeurs de compteur, ainsi que des moyens de comparaison. 10. Terminal de lecture de cartes à puce à microprocesseur, destiné à être utilisé pour réaliser des transactions électroniques, caractérisé en ce qu'il comporte des moyens pour mettre en oeuvre le procédé selon l'une des revendications 1 à 6.