FR 2824659 A1 20021115 FR 0106259 A 20010511 dans le cas contraire. PROCÉDÉ DE VÉRIFICATION DE L'INTEGTÉ D'UN TEINAL LORS D'UNE TRANSACTION AVEC UNE CARTE A MÉMOIRE La présente invention concerne les tenninaux utilisant des cartes à mémoire, et plus spécifiquement, 1'intogrité de tels terminaux. Les terminaux utilisant des cartes à mémoire sont maintenant répandus, en proportion de l'usage des cartes à mémoire, à piste magnétique ou à circuit intogré. Les nonnes ISO 7816-1 à 11, ISO 781O, ISO 7811, EMV 3.1.1, EMV 4.0 etc... défnissent les caractéristiques de telles cartes. Des exemples de tenninaux de paiement sont décrits dans EMV 3.1.1, EMV 4.0, MPE V5.2, ISO 8583 (Protocole CB2A). Les terminaux de paiement utilisant des cartes fonctionnent le plus souvent de la façon suivante. Le commerçant saisit le montant de la transaction. La carte du client est introduite dans le terminal, dans le cas d'une carte à puce, ou lue par le terminal dans le cas d'une carte à piste magnétique. Le terminal invite ensuite le client à entrer sur le clavier du terminal un numéro d'identification personnel (ou PIN, abréviation de l'anglais "personal identification number"); ce numéro est supposé connu du seul titulaire de la carte. Pour accepter la transaction, le client tape son numéro. Le terminal vérifie ensuite le numéro; dans le cas d'une carte à puce, le numéro est transmis à la carte. S'il est déterminé dans la carte que le numéro fourni est correct, la carte émet vers le terminal un certificat, qui valide la transaction; dans le cas d'une carte à piste magnétique, le numéro est transmis à un centre d'autorisation, qui retourne vers le terminal des donnces qui sont imprimoes sur le ticket. Ce procédé est par exemple décrit en détail dans le Manuel du paiement électronique édité par le Groupement des cartes bancaires. Un procédé analogue est mis en _uvre dans les distributeurs automatiques de billets. Un des problèmes rencontrés pour de tels terminaux est celui de l'intogrité du terminal. En effet, la validation d'une transaction suppose que le titulaire de la carte introduise dans le terminal son numéro d'identification personnel. Il importe que le titulaire ait suffisamment confiance pour taper son numéro et ainsi fournir ce numéro au terminal; une fraude identifiée consiste en effet à réaliser un faux terminal pour récupérer un numéro d'identification ainsi que les informations correspondantes de la carte D'autres attaques physiques sur un terminal permettent de récupérer certains H:\DACrYUi\18400\18483.doc. 11 10ilJ05/01 - 1/12 2 2824659 secrets ou clés utilisés par exemple pour chiffrer un numéro d'identification lors d'opérations en ligne. Les normes intemationales EMV (Eurocard-Mastercard-Visa) imposent donc aux tenninaux l'intogration de mécanismes les rendant "tamper resistant", c'est-à-dire résistants à la falsifcation ou encore "tamper evident", c'est-à dire rendant évident une falsification. Ces mécanismes sont conçus pour protéger un terminal authentique et éviter toute intervention interdite sur le terminal, Ceci est notamment le cas si le titulaire de la carte est persuadé de l'intogrité du temlinal; ainsi, il ne craint pas que son numéro ne puisse être mis en mémoire pour être ensuite utilisé à son insu. Les solutions classiques à ce problème consistent à sécuriser le terminal, de sorte que des personnes mal intentionnces ne puissent dériver des informations introduites dans le terminal, sans que l'intervention sur le terminal ne soit visible pour le titulaire d'une carte. Ces solutions reposent donc implicitement sur une vérification visuelle de l'intégrité du terminal par l'utilisateur. Par ailleurs, se pose pour les commerçants le problème des transactions à 1 S distance; on appelle transactions à distances les transactions pour lesquelles le commerçant n'est pas en possession de la carte du client. Il peut s'agir de transactions par télophone ou à travers un réseau comme le réscau Internet. Le commerçant dans de telles transactions a un intérêt à vérifier que le client possède bien une carte et que cette carte est légitime. La société Visa U.S.A. Inc. propose sous la référence CVV2 une solution à ce problème, sous la forme d'une valeur à trois chiffres, qui constitue une vérification cryptographique des donnces contenues dans la piste magnétique de la carte. Cette valeur est imprimée sur le dos de la carte, mais n'est pas contenue dans la piste magnétique et n'apparaît pas non plus sur les re$us de vente. Le procédé d'exploitation de la valeur CVV2 est le suivant. Lors d'une transaction en ligne, par exemple une transaction électronique, le commerçant demande à 1'utilisateur son numéro de carte et la date d'expiration de la carte; il lui demande aussi la valeur CVV2 imprimoe au dos de la carte. Le commerçant transmet ces informations à sa banque ou à son centre d'autorisation et reçoit en retour une réponse validant ou non la valeur CVV2. Dans la mesure o la valeur CVV2 n'apparaît pas parmi les informations enregistrées sur la piste magnétique, ni sur les reçus de vente, cette valeur ne peut pas être déduite par un fraudeur mal intentionné lors d'une transaction factice, sauf à copier la valeur au dos de la carte; de même, elle ne peut pas se déduire simplement des informations présentes sur un recu de vente. Cette solution H:\DACTYLO\1 R400H R4g3.doc - I 1:10. 11/05/01 - 2/12 3 2824659 est spéeifiquement conçue pour les eartes à piste magnétique, dans le but d'éviter aux commerçants d'accepter des cartes contreLaites ou des transactions à distance frauduleuses. Il existe donc un besoin d'un procédé pemlettant d'améliorer]a confrance des utilisateurs de cartes bancaires dans les temlinaux. Un mode de réalisation de la présente invention propose donc un pro cédé de véri ficati on de l'intégri té d'un temlinal lors d'une transaction utilisant une carte à mémoire, comprenant les étapes de - founniture au titulaire de la carte à mémoire d'un cryptogramme calculé en utilisant des infonmations lisibles dans la mémoire de la carte; - lors d'une transaction, lecture par le tenminal d'infommations dans la mémoire de la carte et calcul par le terminal d'un eryptogramme en utilisant les informations lues dans la mémoire de la earte; - affiehage par le tenminal à destination du titulaire de la earte du eryptogramme I S ealeulé. Le proeédé eomprend avantageusement après l'étape d'affiehage, une étape de eomparaison par le titulaire du eryptogramme affiehé et du eryptogramme fourni. Dans ee cas, si l'étape de comparaison est positive, on peut prévoir une étape d'entrce par le titulaire sur le terminal d'une information personnelle telle un numéro d'identification personnel. La earte à mémoire peut être une earte à eireuit intégré ou une earte à piste magnétique, et dans ee eas, la leeture eomprend la lecture du circuit intégré ou de la piste par le terminal. I1 est possible que l'étape de ealeul par le terminal d'un eryptogramme s'effeetue suivant le même proeédé que le ealcul produisant le cryptogramme fourni au titulaire; on utilise avantageusement les infoomations lues dans la mémoire de la carte et une clé contenue dans le temlinal. Dans un mode de réalisation, I'étape de calcul eomprend le ehoix en fonetion de l'émetteur de la earte d'une elé eontenue dans le terminal. Un autre mode de réalisation de l'invention propose un tenminal, eomprenant - un lecteur de carte à mémoire, - un circuit de calcul d'un cryptogramme en utilisant des informations provenant du lecteur; et H:U) ACrY11)\18400\ 18483 doc. 11: 1 0 - 11/05101 - 3/1 2 4 2824659 - un afficheur affichant le cryptogramn1e calculé. On peut en outre prévoir une mén1oire de stockage d'au moins une clé, lisible par le circit de calcul, ainsi qu'un module de sécurité contenant le circuit de calcul. Dans ce cas, il est préLérable que le module de sécurité contienne aussi la mémoire S de stockage. On peut encore prévoir que le tenninal présente un second lecteur de carte et une carte à mémoire dans le second lecteur, la seconde carte contenant le circuit de calcul. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit de modes de réalisation de 1'invention, donnce à titre d'exemple et en référence aux dessins annexés qui montrent: - figure l une représentation schématique d'un terminal de paiement; - figure 2 un ordinogramme d'un mode de mise en _uvre de 1'invention; - figure 3 un ordinogramme d'un calcul de cr,vptogramme pouvant être utilisé pour mettre en _uvre 1'invention; - figure 4, une représentation schématique de l'architecture d'un terminal. L'inventi on propose une so luti on à la fraude nouvel le que représ ente la construction d'un terminal entièrement factice, dans le but d'obtenir frauduleusement les informations relatives à une carte puis le numéro d'identification du titulaire de la carte. Elle permet à un utilisateur de vérifier l'authenticité d'un terminal, sans reposer sur le seul examen visuel du terminal. Ainsi, elle permet d'améliorer la confiance des titulaires de carte dans les terminaux de paiement. La figure 1 montre une vue schématique d'un terminal de paiement 2. Celuici comprend un clavier 4 permettant au commerçant d'entrer le montant d'une transaction et au titulaire d'une carte d'entrer son numéro d'identification personnel. Le terrninal comprend encore un écran 6, qui permet d'afficher le montant de la transaction proposée, comme une invite au titulaire d'une carte d'entrer son numéro d'identification. Le terminal est muni d'un lecteur de carte 8; il peut s'agir comme sur la figure l d'un lecteur de carte à puce à la norme ISO 7816-3 ou EMV 3.1. 1; on peut aussi prévoir en alternance ou en combinaison un lecteur de carte piste magnétique suivant la norme ISO 7811. On a représenté à la figure une carte 10 en cours de lecture dans le terminal. H:\DACrYlol84oo\l8483 doc. I 1:10. 11105/01 - 4112 2824659 La figure 2 est un ordinogramme d'un mode de réalisation de 1'invention; dans une première étape 20, on foumit un cryptogramme au titulaire d'une carte. Ce cryptogrammc est calculé à partir des informations contenues dans la carte, à l'aide d'un calcul complexe; un exemple de calcul du cryptogramme est fourni plus bas en réPérence à la figure 3. Le calcul est dit complexe en ce qu'il n'est pas aisément reproductible par un fraudeur: on peut notamment utiliser une fonction gardée secrète pour calculer le cryptogramme; on peut aussi utiliser des algorithmes de cryptage bien connus, et conserver secrète uile ou plusieurs clés uti] isés pour le calcul du cryptogramme à l'aide de ces algorithmes. Il apparaîtra à l'homme du métier que la qualification de "complexe" est essentiellement qualitative, dans un contexte donné. Le cryptogramme est fourni au titulaire de la carte par l'émetteur de la carte, ou par le gestionnaire des terminaux de paiement. Il peut être fourni sous différentes formes; dans un exemple, le cryptogramme est imprimé sur la carte, par exemple imprimé au dos de la carte. Il peut aussi être fourni au titulaire de la carte en même temps que son numéro d'identification personnel; dans ce cas, il n'est pas nécessairement imprimé sur la carte elle-même. Le fait que le cryptogramme soit imprimé sur la carte garantit que le titulaire de la carte peut le retrouver facilement; il est aussi avantageux dans ce cas que le cryptogramme puisse être lu par le titulaire lorsque la carte est dans le lecteur du terminal. Si le cryptogramme n'est pas imprimé sur la carte, il ne peut être lu par des fraudeurs et ultérieurement reproduit. Les étapes 22 à 36 décrivent une transaction. Dans l'exemple de la figure, il s'agit d'un paiement chez un commer,cant à l'aide d'une carte de paiement. Le procédé décrit s'applique plus généralement à tout type de transaction, c'est-à-dire à toute opération dans laquelle il est demandé au titulaire de la carte de fournir à un terminal 2 5 son numéro d'identi ficati on, quell e que so it la fin alité de cette op ération. L'étap e 22 est caractéristique d'une transaction: le commerçant introduit à l'aide du clavier du terrninal le montant de la transaction; ce montant est affiché sur le terminal. A l'étape 24, la carte à circuit intégré est introduite dans le lecteur du terminal et est lue par ce lecteur; alternativement, la piste magnétique de la carte pourrait être lue par le terminal. A l'étape 26, le terminal calcule, en fonction des informations lues sur la carte, un cryptogramme. Ce cryptogramme peut être calculé comme expliqué en référence à la figure 3; il est calculé suivant le même procédé que celui utilisé à 1'étape 20 pour H \DACTY11)\18400\18483 doc 11 10. 11105101 - 5/12 6 2824659 fournir un cryptogramme au titulaire de la carte. A l'étape 28, le cryptogramme est affiché à l'écran, pour pouvoir être lu par le titulaire de la carte. L'affichage du cryptogramme permet au titulaire de la carte de comparer le cryptogramme calculé par le tenninal au cryptogran1me qui lui a été foun1i. Si le cryptogramn1e affché par le terminal est identique au cryptogram11e fourni au titulaire de la carte, le titulaire de la carte peut supposer que le terminal est un terminal authentique; en effet, le terminal est en mesure de calculer le cryptogramme à partir des donnces lues sur la carte. En revanche, si le cryptogramme affiché par le tenninal n'est pas identique au cryptogramme fourni au titulaire, celui- ci peut supposer que le terminal n'a pas pu calculer le cryptogramme et n'est donc pas un terminal authentique. Il en est de méme en l'absence d'affichage d'un cryptogramme. A l'étape 30, le titulaire de la carte compare donc le cryptogramme affiché avec celui qui lui a été fourni à l'étape 20. Si les cryptogrammes sont identiques, le titulaire introduit son numéro d'identification personnel, ce qui est représenté sur la figure à 1'étape 32. En revanche, si les cryptogrammes ne sont pas identiques, ou encore en l'absence d'affichage d'un cryptogramme, le titulaire de la carte peut interrompre la transaction, ce qui est représenté à l'étape 34 de la figure. Après l'étape 32, le procédé passe à 1'étape 36: comme dans 1'état de la technique, le terminal vérifie le numéro d'identification et valide la transaction. Le procédé est terminé - étape 38 - après 1'étape 34 ou 36. Le procédé de la figure 2 permet au titulaire d'une carte de vérifier l'authenticité d'un terminal, avant de fournir son numéro d'identification ou des inforrnations confidentielles. A l'inverse de l'état de la technique, dans lequel le titulaire d'une carte ne peut procéder qu'à l'examen visuel du terminal, le procédé de la figure 2 permet immédiatement et simplement au titulaire de la carte de savoir que la probabilité d'authenticité du terminal est importante. Le procédé ne repose plus sur des éléments mécaniques, mais au contraire sur un calcul cryptographique, qui peut être rendu aussi complexe que voulu. Le procédé de la figure 2 est différent du procédé CVV2 décrit plus haut. En effet, il diffère d'abord dans sa mise en _uvre; dans l'état de la technique, la valeur CVV2 n'est pas affichée par un terminal lors de la transaction pour être lu par le titulaire de la carte, mais sert simplement au commerçant. Le procédé diffère aussi par sa finalité: I'état de la technique que représente le procédé CVV2 a pour objectif H:\DACTYLO\18400\18483 doc 11 10 - 11/05/01 - 6/12 7 2824659 de permettre au commerçant de vérifier la légitimité de la carte qui lui est proposé, dans une transaction à distance. En revanche, le procédé de la figure 2 a pour objectif de permettre au titulaire de la carte de vérifier l'intégrité du terrnina] . La fgure 3 montre Uil excmple de calcul d'un cryptogramme, qui peut êtrc utilisé pour la mise en ceuvre du procédé de la figure 2. Dans l'exemple, le cryptogramme est calculé à l'aide d'un algorithme triple DES et de clés qui sont chargées dans le temlinal dans un environnement sécurisé. La fgure 3 montre d'une part en 40 les infomlations lues sur la carte, par exemple le numéro de la carte. On peut pl us général ement uti l iser pour le calcul du cryptogramme des in formations quelconques contenues dans la carte à mémoire et susceptibles d'être lues par le terminal. Ces informations sont fournies en entrée d'un algoritEme 42 qui dans l'exemple de la figure est un algorithme triple DES. La figure 3 montre encore une clé secrète 44 qui constitue 1'autre entrée de 1'algorithme 42. Cette clé peut faire partie d'une pluralité de clés 46 fournies au terminal par les différents émetteurs possibles de cartes. L'application de l'algoritUme aux informations contenues dans la carte et à la clé fournit un résultat; ce résultat, ou une partie de celui-ci, constitue le cryptogramme 48 qui est affiché à 1'intention du titulaire de la carte. Dans l'exemple d'un algorithme triple DES, le cryptogramme peut être constitué des quatre "nibbles" (ensemble de 4 bits) de poids faible du résultat de l'algorithme. La figure 4 montre une représentation schématique de l'architecture d'un terminal. Dans l'exemple, le calcul du cryptogramme est mis en _uvre dans le terminal dans un module de sécurité. Ce module est protégé de façon connue en soi, par exemp le en assurant qu'une tentative d' effraction du terminal provoque l'effacement des clés et les logiciels, ou encore par une protection physique comme le fait de noyer les composants dans la résine. Le module de sécurité contient une ou plusieurs clés dédiées au calcul du cryptogramme. Ces clés sont chargées dans un environnement sécurisé, par exemple à la fabrication du tenninal, par chacun des émetteurs de cartes. L'émetteur de carte utilise le même secret pour générer le cryptogramme lorsqu'il le fournit au titulaire de la carte et lorsque le cryptogramme est calculé dans le terminal. Si le procédé est mis en _uvre pour plusieurs émetteurs, le calcul du cryptogramme commence par une identification de l'émetteur de la carte pour choisir la clé correspondante. H:\DAC1YLO\1840018483 doc - 11:10 - 11/05/01 - 7/12 8 2824659 Le module de sécurité du tenminal peut être le même que celui qui pilote la saisie du numéro d'identification personnel du titulaire de la carte, ou encore sa transmission chiffrce au centre serveur pour les systèmes en ligne. Il peut aussi effectuer la vérifcation en local du nuilléro d'identificatioi1 personilel. Le fait d'utiliser le même module de sécurité permet de mettre en ceuvre le procédé de la figure 2 sans modifications de 1'architecture matérielle d'un terminal, en implémentant simplement des fonctions logicielles complémentaires dans le tenninal. La figure 4 montre donc le clavier 4,1'écran 6, le lecteur 8, ainsi que le module de sécurité 50. Celui-ci comprend un circuit de calcul 52 et une mémoire 54 pour le stockage d'une ou plusieurs clés 56 utilisces par le circuit de calcul. Les flèches sur la figures montrent que le circuit de calcul reçoit les informations lues sur la mémoire de la carte par le lecteur 8, les informations saisies sur le clavier 4, ainsi que la ou les clés stockées dans la mémoire. Il envoie vers l'écran le cryptogramme, pour affichage à destination du titulaire de la carte. Bien entendu, I'invention n'est pas limitée aux modes de réalisation décrits plus haut; ainsi, la figure 2 montre le cas d'une transaction effectuée sur un terminal de paiement; le procédé s'applique aussi à une transaction en ligne, pour laquelle la lecture des informations de la carte peut être remplacée par une transmission du numéro de la carte et de la date d'expiration au commerçant. Dans ce cas, le procédé permet à l'utilisateur de vérifier que le commerçant dispose effectivement des moyens de calcul du cryptogramme; ceci laisse supposer que le terminal est intègre, autrement dit que le commerçant n'a pas tenté frauduleusement d'interférer avec le terminal dont il dispose. Dans l'exemple de la figure 2, le procédé est appliqué à un paiement chez un commerçant. Il s'applique plus généralement à tout type de transaction, dans laquelle le titulaire d'une carte doit founnir à un terminal proche ou distant une information de nature confidentielle. Ainsi, dans un système de sécurité d'accès, le procédé peut servir à vérifier l'intégrité du terminal avant que le titulaire de la carte n'introduise un numéro d'identification, ou ne prononce un mot de passe - dans le cas d'une identification par la voix - ou encore ne permette au terminal de lire une caractéristique biologique comme des empreintes digitales ou une empreinte de l'_il. H.\DACrYLO\la400\1 8,iS3 doc - I 1:10 - i 1/05/01 - 8/12 9 2824659 De tels terminaux ne comprennent pas nocessairement de clavier puisqu'ils présentent d'autres moyens d'entrce par le titulaire d'une infonnation personnelle. La comparaison à la figure 2 doit conduire à une identité du cryptogramme calculc et de celui qui esl founi au titulaire de la carte; on peut aussi imaginer d'autres modes de réalisation, par exemple une incrémentation du cryptogramme calculé lors de chaque transaction. On pourrait encore effectuer le calcul du cryptogramme non pas dans un module de sécurité du temlinal, mais dans une carte à mémoire du commerçant installée dans le tenninal; dans ce cas, la carte à mémoire du commerçant sert de module de sécurité et protoge contre les fraudeurs les moyens de calcul du cryptogramme. H:\DACTYLO\lé400\18483 doc - I 1:10 - I 1/05/01- 9112 2824659 REVENDICATIONS 1. Procédé de vérification de l'intogrité d'un tenminal (2) lors d'une transaction utilisant une carte à mémoire (10), comprenant les étapes de foumiture (20) au titulaire de la carte à mémoire d'un cryptogramme calculé en utilisant des infonnations lisibles dans la mémoire de la carte; - lors d'une transaction, lecture (24) par le tenminal d'infonmations dans la mémoire de la carte et calcul (26) par le terminal d'un cryptogramme en utilisant les infoumations lues dans la mémoire de la carte; - affichage (28) par le tenminal à destination du titulaire de la carte du cryptogramme calculé. 2. Le procédé de la revendication 1, caractérisé en ce qu'il comprend, après 1'étape d'affichage (28), une étape de comparaison (30) par le titulaire du cryptogramme affiché et du cryptogramme fourni. 3. Le procédé de la revendication 2, caractérisé en ce qu'il comprend, si 1'étape de comparaison est positive, une étape d'entrce (32) par le titulaire sur le terrninal d'une infonnation personnelle telle un numéro d'identification personnel. 4. Le procédé de l'une des revendications I à 3, caractérisé en ce que la carte à mémoire est une carte à circuit intégré, et en ce que l'étape de lecture (26) comprend la lecture du circuit intégré par le terminal. 5. Le procédé de l'une des revendications I à 3, caractérisé en ce que la carte est une carte à piste magnétique, et en ce que l'étape de lecture (26) comprend la lecture de la piste magnétique par le terminal. 6. Le procédé de l'une des revendications I à 5, caractérisé en ce que 1'étape de calcul (26) par le tenminal d'un cryptogramme s'effectue suivant le même procédé que le calcul produisant le cryptogramme fourni au titulaire. 7. Le procédé de l'une des revendications I à 6, caractérisé en ce que 1'étape de calcul par le terminal d'un cryptogramme s'effectue en utilisant les informations lues H:\DACI.YLO\18400\18483 doc - 11:10 - 11/05101 - 10/12 dans la mémoire de la carte et une clé contenue dans le terminal. 8. Le procédé de la revendication 7, caractérisé en ce que 1'étape de calcul comprend le cloix cn fonction dc l'émetteur de la cartc d'une clé contenuc dans le terminal. 9. Un terminal (2), comprenant - un lecteur (8) de carte à mémoire, - un circuit de calcul (52) d'un cryptogramme en utilisant des informations provenant du lecteur; et - un afficheur (6) affichant le cryptogramme calculé. 10. Le terminal de la revendication 9, caractérisé en ce qu'il comprend en outre un mémoire (54) de stockage d'au moins une clé (56), lisisble par le circuit de calcul. 11. Le terminal de la revendication 9 ou 10, caractérisé par un module de sécurité (50) contenant le circuit de calcul (52). 12. Le terminal de la revendication 11, caractérisé en ce que le module de sécurité l S contient aussi la mémoire de stockage (54). 13. Le terminal de la revendication 9 ou 10, caractérisé par un second lecteur de carte et par une seconde carte à mémoire dans le second lecteur, ladite carte contenant le circuit de calcul.