EP1330770A1 - Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement - Google Patents

Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement

Info

Publication number
EP1330770A1
EP1330770A1 EP01978536A EP01978536A EP1330770A1 EP 1330770 A1 EP1330770 A1 EP 1330770A1 EP 01978536 A EP01978536 A EP 01978536A EP 01978536 A EP01978536 A EP 01978536A EP 1330770 A1 EP1330770 A1 EP 1330770A1
Authority
EP
European Patent Office
Prior art keywords
apdu
smart card
status word
pcsc
case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01978536A
Other languages
German (de)
English (en)
Inventor
Hervé CUNIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Publication of EP1330770A1 publication Critical patent/EP1330770A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer

Definitions

  • the invention relates to smart card readers operating according to the "EMV” standard and capable of being used in an environment of the "PCSC” standard and, more particularly, a method of emulating the PCSC environment to manage the reader. EMV standard.
  • EMV Electronic Millennium
  • PCSC Personal Computer-Smart Card
  • Microcircuit cards or smart cards are for example used for carrying out transactions, in particular monetary transactions, and operate according to strict rules in order to guarantee the security of transactions. These rules are observed when the smart card and the reader operate according to the "EMV" standard.
  • EMV Europay, MasterCard, and Visa
  • the EMV standard smart card reader can be used in association with a personal computer which would be connected, for example, to an INTERNET type network in order to carry out electronic transactions. This association has incompatibilities in terms of communication with the smart card.
  • the invention provides that the personal computer emulates the functionalities of a PCSC standard reader at the level of communication with the smart card reader, which allows communication between the reader and the personal computer.
  • Operation (c) can be followed by the following operation consisting in: (Ci) emulating the return of a status word (SW1, SW2) respecting the standards towards the PCSC environment as expected when the type d APDU exchange corresponds to Case 4. Operation (b) can be replaced by operations
  • (b ') emulate an alarm state, possibly relating to the application of the smart card, by sending the status word (SW1, SW2) respecting the standards to the PCSC environment,
  • (d ') receive the parameterized GET-RESPONSE command such that the number of bytes expected is zero, (b ") emulate a status word (SW1, SW2), respecting the standards, to the PCSC environment as expected when the type of APDU exchange corresponds to Case 4.
  • the single figure is a flowchart illustrating the method according to the invention.
  • the personal computer with which the EMV standard smart card reader must communicate includes a communication interface, called “IFD Handler” "IFD” being the acronym for the Anglo-Saxon expression
  • APDU is the acronym of the Anglo-Saxon expression "Application Protocol
  • Step 12 consists in detecting whether it is a Case 2, this case being characterized by the content of C-APDU, that is to say containing a parameter Le indicating the number of bytes of the R-APDU data and not containing input data.
  • step 14 makes it possible to detect Case 4 which is characterized by the parameter Le and the presence of input data in C-APDU.
  • Case 2 can be treated by going through the emulation phase of Case 2 with any Lx, then the emulation phase of Case 4 with the appropriate Lx value.
  • step 16 we go to step 18, as indicated in dotted lines 30 in the single figure, before going to step 20.
  • Case 4 we can emulate a state d alarm 24 passing through 26, as provided for in the standard " ISO 7816 or EMV in which
  • SW2 xx or xx or something related to the application in the card with
  • step 16 ends with step 16, then step 20 via link 28.
  • Operation (c) can be followed by the following operation consisting in: (Ci) emulating the return of a status word (SW1, SW2), respecting the standards, to the PCSC environment as expected when the type of APDU exchange corresponds to Case 4.
  • Operation (b) can be replaced by operations (b ') and (b ") and operation (d) by operation (d') consisting of:
  • (b ') emulate an alarm state, which may relate to the application of the smart card, by sending the status word (S 1, S 2) complying with the standards to the PCSC environment,
  • (b ) emulate a status word (SW1, SW2) respecting the standards towards the PCSC environment as expected when the type of APDU exchange corresponds to Case 4.

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un procédé d'émulation d'un lecteur de carte à puce fonctionnant selon le standard PCSC pour gérer un lecteur de carte à puce fonctionnant selon le standard EMV et communiquant avec la carte à puce selon le protocole T = 0, caractérisé en ce qu'il comprend les opérations suivantes consistant à :(a) déterminer les types d'échanges (APDU) pour lesquels il est nécessaire d'effectuer une émulation,(b) émuler le retour d'un mot d'état (SW1, SW2) en respectant les standards vers l'environnement PCSC,(c) lorsque le type d'échange APDU correspond à un Cas 2 tel que défini dans la norme ISO 7816-4, recevoir la commande C-APDU respectant le mot d'état,(d) lorsque le type d'échange APDU correspond à un Cas 4 tel que défini dans les standards, recevoir la commande GET-RESPONSE utilisant le mot d'état,(e) retourner R-APDU en réponse à C-APDU ou à GET-RESPONSE.

Description

PROCEDE D'EMULATION POUR GERER UN LECTEUR DE
CARTE A PUCE INCOMPATIBLE AVEC UN ENVIRONNEMENT
L'invention concerne les lecteurs de carte à puce fonctionnant suivant le standard "EMV" et susceptibles d'être utilisés dans un environnement de standard "PCSC" et, plus particulièrement, un procédé d'émulation de l'environnement PCSC pour gérer le lecteur de standard EMV.
Par l'acronyme "EMV", on se réfère à un standard connu sous l'expression anglo-saxonne "Europay Mastercard and Visa" et par l'acronyme "PCSC", on se réfère à un standard connu sous l'expression anglo-saxonne "Personal Computer-Smart Card".
Les cartes à microcircuits ou cartes à puces sont par exemple utilisées pour effectuer des transactions, notamment monétaires, et fonctionnent suivant des règles strictes en vue de garantir la sécurité des transactions. Ces règles sont respectées lorsque la carte à puce et le lecteur fonctionnent suivant le standard "EMV". Or, le lecteur de carte à puce au standard EMV peut être amené à être utilisé en association avec un ordinateur personnel qui serait connecté, par exemple, à un réseau de type INTERNET afin de réaliser des transactions électroniques. Cette association présente des incompatibilités au niveau de la communication avec la carte à puce.
Il existe donc un besoin . de pallier ces incompatibilités de manière à pouvoir utiliser un lecteur de carte à puce au standard EMV dans son association avec un ordinateur personnel qui peut communiquer avec une carte à puce selon le standard PCSC.
A cet effet, l'invention prévoit que l'ordinateur personnel émule les fonctionnalités d'un lecteur au standard PCSC au niveau de la communication avec le lecteur de carte à puce, ce qui permet la communication entre le lecteur et l'ordinateur personnel. L'invention concerne donc un procédé d'émulation d'un lecteur de carte à puce fonctionnant selon le standard PCSC pour gérer un lecteur de carte à puce fonctionnant selon le standard EMV et communiquant avec la carte à puce selon le protocole T = 0, .caractérisé en ce qu'il comprend les opérations suivantes consistant à :
(a) déterminer les types d'échanges APDU pour lesquels il est nécessaire d'effectuer une émulation,
(b) émuler le retour d'un mot d'état (SW1, SW2) en respectant les standards vers l'environnement PCSC,
(c) lorsque le type d'échange APDU correspond à un Cas 2 tel que défini dans la norme ISO 7816-4, recevoir la commande C-APDU respectant le mot d'état,
(d) lorsque le type d'échange APDU correspond à un Cas 4 tel que défini dans les standards, recevoir la commande GET-RESPONSE utilisant le mot d'état,
(e) retourner R-APDU en réponse à C-APDU ou à GET-RESPONSE.
Selon l'invention, les opérations (c) et (d) peuvent être réalisées dans l'ordre inverse.
L'opération (c) peut être suivie de l'opération suivante consistant à : (Ci) émuler le retour d'un mot d'état (SW1, SW2) en respectant les standards vers l'environnement PCSC comme prévu lorsque le type d'échange APDU correspond à un Cas 4. L'opération (b) peut être remplacée par des opérations
(b') et (b") et l'opération (d) remplacée par une opération (d") consistant à :
(b') émuler un état d'alarme, pouvant être relatif à l'application de la carte à puce, en envoyant vers l'environnement PCSC le mot d'état (SW1, SW2) respectant les standards,
(d') recevoir la commande GET-RESPONSE paramétrée telle que le nombre d'octets attendus est nul, (b") émuler un mot d'état (SW1, SW2), en respectant les standards, vers l'environnement PCSC comme prévu lorsque le type d'échange APDU correspond au Cas 4.
D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description suivante d'un exemple particulier de réalisation, ladite description étant faite .en relation avec le dessin joint dans lequel :
- la figure unique est un organigramme illustrant le procédé selon l'invention. L'ordinateur personnel avec lequel le lecteur de carte à puce au standard EMV doit communiquer comprend une interface de communication, appelé "IFD Handler" "IFD" étant l'acronyme pour l'expression anglo-saxonne
"Interface Device". Selon l'invention, cette interface est utilisée pour émuler les fonctionnalités d'un lecteur au standard
PCSC. Cette interface reçoit de l'application une commande C-APDU qui la transmet au lecteur, lequel en retour envoie une réponse R-APDU. APDU est l'acronyme de l'expression anglo-saxonne "Application Protocole
Data Unit". Connaissant C-APDU, R-APDU et le fait que le protocole est du type T = 0, l'interface IFD est à même de déterminer s'il y a lieu de faire une émulation en fonction des cas qu'il peut détecter.
Cette émulation doit être réalisée pour l'échange d'APDU du Cas 2 ou du Cas 4 de la norme ISO 7816-4 de laquelle le standard PCSC s'inspi.re, et ce pour une communication selon le protocole T = 0.
L'état de départ est défini par l'état 10 de l'organigramme de la figure unique. L'étape 12 consiste, à détecter s'il s'agit d'un Cas 2, ce cas étant caractérisé par le contenu de C-APDU, c'est-à-dire contenant un paramètre Le indiquant le nombre d'octets des données de R-APDU et ne contenant pas de données en entrée. Dans ce cas, l'interface doit émuler le retour d'un mot d'état constitué de deux octets de valeur SW1=6C et S 2=Lx, Lx étant le nombre d'octets des données de R-APDU. En retour, il reçoit une répétition de C-APDU avec Le=Lx.
En réponse à cette nouvelle commande, on est en mesure de renvoyer le R-APDU avec le même nombre Lx d'octets. Si le Cas 2 n'est pas détecté par l'étape 12, l'étape 14 permet de détecter le Cas 4 qui est caractérisé par le paramètre Le et la présence de données d'entrée dans C-APDU. Dans ce cas, l'interface doit émuler le retour d'un mot d'état constitué de deux octets de valeur SW1=61 et SW2=Lx. En retour, .il reçoit une commande appelée "GET-RESPONSE" qui comprend un paramètre Le=Lx. En réponse à cette commande, l'interface renvoie le R-APDU précédemment reçu du lecteur. Si aucun des deux types d'échanges d'APDU, Cas 2 ou Cas 4, n'est détecté, il n'est pas nécessaire de faire une émulation et R-APDU est retourné sans émulation. Il est à noter que le Cas 2 peut être traité en passant par la phase d'émulation du Cas 2 avec Lx quelconque, puis la phase d'émulation du Cas 4 avec la valeur Lx adéquate. Après l'étape 16, on passe à l'étape 18, tel qu'indiqué en pointillés 30 sur la figure unique, avant d'aller à l'étape 20. Pour ce qui est du Cas 4, on peut émuler un état d'alarme 24 en passant par 26, tel que le prévoit la norme" ISO 7816 ou EMV dans lequel
SW1 = 62 ou 63, et
SW2 = xx ou xx ou quelque chose en relation avec l'application dans la carte avec
SW1 = 9x et SW2 = xx avec SW1 ≠ 90 et SW2 ≠ 00.
En retour, il reçoit la commande GET-RESPONSE paramétrée telle que le nombre d'octets .attendus est nul.
L'émulation s'achève par l'étape 16, puis l'étape 20 via la liaison 28.
La description qui vient d'être faite fait apparaître les étapes d'un procédé d'émulation qui comprend les opérations suivantes consistant à :
(a) déterminer les types d'échanges APDU pour lesquels il est nécessaire d'effectuer une émulation,
(b) émuler le retour d'un mot d'état (SWl, SW2) en respectant les standards vers l'environnement PCSC,
(c) lorsque le type d'échange APDU correspond à un Cas 2 tel que défini dans la norme ISO 7816-4, recevoir la commande C-APDU respectant le mot d'état,
(d) lorsque le type -d'échange APDU correspond à un Cas 4 tel que défini dans les standards, recevoir la commande GET-RESPONSE utilisant le mot d'état,
(e) retourner R-APDU en réponse à C-APDU ou à GET-RESPONSE. Dans ce procédé, les opérations (c) et (d) peuvent être dans l'ordre inverse.
L'opération (c) peut être suivie de l'opération suivante consistant à : (Ci) émuler le retour d'un mot d'état (SW1, SW2), en respectant les standards, vers l'environnement PCSC comme prévu lorsque le type d'échange APDU correspond à un Cas 4.
L'opération (b) peut être remplacée par les opérations (b') et (b") et l'opération (d) par l'opération (d' ) consistant à :
(b') émuler un état d'alarme, pouvant être relatif à l'application de la carte à puce, en envoyant vers l'environnement PCSC le mot d'état (S 1, S 2) respectant les standards,
(d') recevoir la commande GET-RESPONSE paramétrée telle que le nombre d'octets attendus est nul,
(b") émuler un mot d'état (SW1, SW2) en respectant les standards vers l'environnement PCSC comme prévu lorsque le type d'échange APDU correspond au Cas 4.

Claims

R E V E N D I C A T I O N S
1. Procédé d'émulation d'un lecteur de carte à puce fonctionnant selon le standard PCSC pour gérer un lecteur de carte à puce fonctionnant selon le standard EMV et communiquant avec la carte à puce selon le protocole T = 0, caractérisé en ce qu'il comprend les opérations suivantes consistant à :
(a) déterminer les types d'échanges (APDU) pour lesquels il est nécessaire d'effectuer une émulation,
(b) émuler le retour d'un mot d'état (SW1, S 2) en respectant les standards vers l'environnement PCSC,
(c) lorsque le type d'échange APDU correspond à un Cas 2 tel que défini dans la norme ISO 7816-4, recevoir la commande C-APDU respectant le mot d'état,
(d) lorsque le type d'échange APDU correspond à un Cas 4 tel que défini dans les standards, recevoir la commande GET-RESPONSE utilisant le mot d'état,
(e) retourner R-APDU en réponse à C-APDU ou à GET-RESPONSE.
2. Procédé selon la revendication 1, caractérisé en ce que les opérations (c) et (d) sont dans l'ordre inverse.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'opération (c) est suivie de l'opération suivante consistant à :
(Ci) émuler le retour d'un mot d'état (SW1, SW2) en respectant les standards vers l'environnement PCSC comme prévu lorsque le type d'échange APDU correspond à un Cas 4.
4. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'opération (b) est remplacée par des opérations (b') et (b") et l'opération (d) remplacée par une opération (d1) consistant à : (b') émuler un état d'alarme, pouvant être relatif à l'application de la carte à puce, en envoyant vers l'environnement PCSC le mot d'état (SW1, SW2) respectant les standards,
(d') recevoir la commande GET-RESPONSE paramétrée telle que le nombre d'octets attendus est nul,
(b") émuler un mot d'état (SW1, S 2), en respectant les standards, vers l'environnement PCSC comme prévu lorsque le type d'échange APDU correspond au Cas 4.
EP01978536A 2000-10-18 2001-10-16 Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement Withdrawn EP1330770A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0013340A FR2815445B1 (fr) 2000-10-18 2000-10-18 Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement
FR0013340 2000-10-18
PCT/FR2001/003193 WO2002033646A1 (fr) 2000-10-18 2001-10-16 Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement

Publications (1)

Publication Number Publication Date
EP1330770A1 true EP1330770A1 (fr) 2003-07-30

Family

ID=8855469

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01978536A Withdrawn EP1330770A1 (fr) 2000-10-18 2001-10-16 Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement

Country Status (5)

Country Link
US (1) US20040064302A1 (fr)
EP (1) EP1330770A1 (fr)
AU (1) AU2002210642A1 (fr)
FR (1) FR2815445B1 (fr)
WO (1) WO2002033646A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12147523B2 (en) 2020-12-29 2024-11-19 Hid Global Gmbh Reader device and method of configuring the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006021668A1 (de) * 2006-05-10 2007-11-15 S&N Ag Verfahren zum Betrieb PC/SC basierter Chipkartenanwendungen auf Selbstbedienungssystemen mit motorisiertem Kartenleser
CN101383994B (zh) * 2007-09-07 2016-05-25 锐迪科微电子(上海)有限公司 一种apdu命令的数据处理方法
US20090159709A1 (en) * 2007-12-24 2009-06-25 Dynamics Inc. Advanced dynamic credit cards
US10956899B2 (en) 2012-02-14 2021-03-23 Mastercard International Incorporated Mechanism to allow the use of disposable cards on a system designed to accept cards conforming to the standards of the global payments industry

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0490455B1 (fr) * 1990-12-10 1997-10-08 THOMSON multimedia Méthode et dispositif pour faire l'interface entre cartes à puce et terminaux
US5679945A (en) * 1995-03-31 1997-10-21 Cybermark, L.L.C. Intelligent card reader having emulation features
US6065679A (en) * 1996-09-06 2000-05-23 Ivi Checkmate Inc. Modular transaction terminal
IL119486A0 (en) * 1996-10-24 1997-01-10 Fortress U & T Ltd Apparatus and methods for collecting value

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0233646A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12147523B2 (en) 2020-12-29 2024-11-19 Hid Global Gmbh Reader device and method of configuring the same

Also Published As

Publication number Publication date
WO2002033646A1 (fr) 2002-04-25
FR2815445A1 (fr) 2002-04-19
FR2815445B1 (fr) 2002-12-27
AU2002210642A1 (en) 2002-04-29
US20040064302A1 (en) 2004-04-01

Similar Documents

Publication Publication Date Title
FR2923634A1 (fr) Carte a microprocesseur, telephone comprenant une telle carte et procede d'execution d'une commande dans une telle carte.
FR2657445A1 (fr) Procede de chargement de programmes d'application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
WO2012080048A1 (fr) Procédé de gestion du dialogue entre un équipement et au moins un objet multi-applicatif tel qu'une carte à puce sans contact et objet correspondant
FR2914459A1 (fr) Carte a microprocesseurs
EP2065858A2 (fr) Carte à microprocesseur, téléphone comprenant une telle carte et procédé d'exécution d'une commande dans une telle carte
EP1368784A1 (fr) Carte a puce sans contact a adaptation de signaux de commande
FR2923632A1 (fr) Carte a microprocesseur, telephone comprenant une telle carte et procede de traitement dans une telle carte.
EP1330770A1 (fr) Procede d'emulation pour gerer un lecteur de carte a puce incompatible avec un environnement
EP1127339B1 (fr) Systemes d'organisation de carte a puce en vue de son utilisation en tant que serveur dans un reseau du type internet
EP0829062A1 (fr) Lecteur pour carte a puce intelligente
EP3214582B1 (fr) Sélection d'application dans un terminal mobile
WO2001018699A1 (fr) Dispositif electronique portatif avec afficheur et gestion de coupons promotionnels
CA2733304A1 (fr) Procede pour conduire une transaction au moyen d'un dispositif nfc
EP3214573B1 (fr) Configuration d'une transaction dans un circuit sans contact
EP3671519A1 (fr) Sécurisation d'une transaction au moyen d'une carte à puce et carte à puce
FR3046864A1 (fr) Controle d'applications dans un terminal mobile
FR2798498A1 (fr) Procede de transfert monetaire, notamment de collecte electronique de fonds
EP2304559B1 (fr) Procédé de basculement entre deux versions d'une même application au sein d'un dispositif de traitement de l'information et ledit dispositif
EP2306414A1 (fr) Procédé de communication entre un lecteur et deux cartes à puce
WO1998029842A1 (fr) Systeme de lecture de donnees dans une memoire d'un composant electronique
FR2795836A1 (fr) Procede pour comptabiliser le temps dans un dispositif de traitement d'information, et dispositif associe
CA3200030A1 (fr) Procede d'interactions sans contact avec un terminal de paiement, term inal de paiement et programme d'ordinateur correspondants.
EP2725526A1 (fr) Carte à puce comprenant un lecteur de carte USB intégré
WO2007125212A2 (fr) Procede et dispositif de personnalisation d'une entite electronique portable
FR2992806A1 (fr) Systeme de transmission securisee de donnees numeriques

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030519

AK Designated contracting states

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

17Q First examination report despatched

Effective date: 20071228

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20080508