Brevet FR2927454A1 — publié le 20090814

Procédé de détection de cartes à microprocesseur non authentiques, carte à microprocesseur, terminal lecteur de carte et programmes correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui de la lutte contre la contrefaçon d'objets à microprocesseur sécurisé, appelé par la suite puce électronique. L'invention concerne plus particulièrement la détection de fraudes, de tentatives de fraude ou de toutes autres actions illégales à l'aide d'objets à puce copiés, contrefaits, imités, ou clonés, par des personnes mal intentionnées. L'invention s'applique notamment aux cartes à puce. 2. Art antérieur Par la suite, on décrit à titre d'exemple, l'utilisation de ces cartes à puce comme cartes de paiement qui sont, de manière connue, utilisées par exemple pour régler des achats chez un commerçant ou pour effectuer un retrait de billets à un distributeur automatique de billets (DAB). D'autres applications, telles que l'accès à un site ou à un service, sont bien sûr également connues et traitées de la même façon. De même, on comprend que la notion de �carte à puce� peut être généralisée à d'autres types d'objets portatifs équipés d'un microprocesseur sécurisé. Les spécifications des cartes à puce fonctionnant avec un contact électrique sont définies par la norme internationale ISO 7816 de l'Organisation Internationale de Normalisation (� International Organization for Standardization � en anglais). Ces spécifications sont publiques et accessibles à tous, et donc notamment aux personnes malintentionnées. En particulier, la norme ISO 7816-4 spécifie le contenu des messages (commandes, réponses) entre une carte à puce et un lecteur de cartes ainsi que les structures des données contenues dans ces messages (sécurisation des communications). Les commandes de base pour la lecture, l'écriture et la mise à jour des données d'une carte à puce par un lecteur de cartes, et qui seront appelées par la suite � commandes standards et publiques �, sont par exemple : - une commande de sécurité (vérifier un numéro d'identification personnel, appelé NIP, par exemple) ; - une commande de personnalisation (écrire dans la mémoire) ; - une commande de paiement (débiter, créditer) ; - une commande de cryptographie (signer un bloc de données, vérifier la signature, générer une clé) ; - une commande de gestion des fichiers (sélectionner, lire , écrire, créer). Le standard international de sécurité EMV (abréviation en anglais d'Europay, Mastercard et Visa (marques déposées)), qui est spécifique au domaine bancaire, établit les règles nécessaires à l'interopérabilité internationale entre les cartes de paiement et les terminaux lecteurs de cartes, permettant d'effectuer des transactions de manière sécurisée, quel que soit l'émetteur de la carte de paiement et quel que soit le terminal lecteur de cartes. Un contrefacteur (fraudeur) ayant extrait d'une carte légitime ou authentique (c'est-à-dire mise sur le marché par les fabricants habilités de cartes à puce) les informations lui permettant de reproduire son comportement logique, peut, à partir des spécifications publiques précédemment mentionnées, programmer un circuit électronique acheté dans le commerce pour produire une carte clonée ou non authentique (appelée � clone � par la suite). On a précédemment tenté d'empêcher le clonage des cartes de paiement authentiques par l'utilisation de clés cryptographiques, en associant à une carte de paiement un numéro d'identification personnel (NIP), que l'on appelle aussi PIN (en anglais � Personal Identification Number �), code confidentiel ou code secret, et qui n'est supposé n'être connu que par le titulaire (utilisateur autorisé) de la carte de paiement. 3. Inconvénients de l'art antérieur Une telle technique n'offre cependant pas toutes les garanties contre le clonage des cartes de paiement, puisqu'un code confidentiel associé à une carte de paiement peut être divulgué soit chez l'encarteur (le fabricant de la carte) lors de la personnalisation de la carte, soit chez l'émetteur de la carte (le fournisseur de services tel qu'un opérateur téléphonique ou un organisme bancaire par exemple) par malveillance ou suite à une attaque d'un fraudeur. Une carte de paiement clonée, si elle a été efficacement programmée, est difficilement différenciable d'une carte de paiement authentique, leurs comportements logiques étant identiques même si elles ne comportent pas le même circuit électronique, et il n'existe pas à ce jour de méthode de détection efficace capable de détecter des cartes de paiement clonées. 4. Objectifs de l'invention L'invention a notamment pour objectif de pallier ces inconvénients de l'art 10 antérieur. Plus précisément, un objectif de l'invention est de fournir une technique efficace de lutte contre la contrefaçon de cartes à puce, ou d'un objet portatif similaire. Un autre objectif de l'invention est de détecter les cartes non authentiques, 15 appelées clones, et d'empêcher leur utilisation. L'invention a également pour objectif de fournir une telle technique qui soit relativement peu coûteuse, fiable et simple à mettre en oeuvre. 5. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble 20 de ces inconvénients de l'art antérieur, sous la forme d'un procédé de détection de cartes à microprocesseur non authentiques, appelées également clones par la suite. Selon l'invention, ledit procédé comprend les étapes suivantes : - modification d'un programme de contrôle d'au moins un terminal lecteur de cartes, de façon que ledit programme comprenne un appel d'au moins 25 une commande dite secrète d'un jeu d'au moins une commande secrète, préalablement inséré dans chaque carte authentique, et distinct d'un jeu de commandes standard et public ; - détection de l'authenticité de ladite carte, si ladite commande secrète est reconnue et/ou traitée de façon correcte, ou de la présence d'un clone, si 30 ladite commande secrète n'est pas reconnue et/ou traitée de façon erronée. Ainsi, le procédé selon l'invention permet une vérification de l'authenticité d'une carte à puce sur la base de la reconnaissance et/ou du traitement par la carte à puce d'une commande secrète (donc distincte de celles normalisées ou publiques) transmise par un terminal lecteur de cartes. La commande secrète étant préalablement insérée dans chaque carte à puce authentique, seule une carte à puce authentique peut reconnaître et/ou traiter de manière correcte une telle commande secrète lorsqu'elle est transmise par un terminal lecteur de cartes. La présence d'un clone est donc détectée lorsqu'une carte à puce ne peut reconnaître et/ou traiter de manière correcte une telle commande secrète (même si ce clone réagit correctement aux commandes publiques). Un tel procédé est relativement peu coûteux, fiable et simple à mettre en oeuvre. Il suffit, à un moment donné où cela est nécessaire (par exemple une recrudescence de clones), d'adapter les logiciels des terminaux pour qu'ils émettent une ou plusieurs commandes secrètes. Selon une mise en oeuvre préférentielle, le procédé selon l'invention comprend une étape de génération d'une alarme et/ou l'invalidation ou le blocage du clone lorsque la présence d'un clone est détecté. Ainsi, le procédé selon l'invention empêche l'utilisation d'un clone suite à sa détection. Selon un mode de réalisation particulier, l'appel auxdites commandes secrètes effectue au moins une des opérations appartenant au groupe comprenant : - lecture et/ou écriture dans une mémoire ; - opérations mathématiques et logiques. Selon un autre mode de réalisation particulier, ladite étape de détection 25 comprend les sous-étapes suivantes : - appel à au moins deux commandes secrètes, de façon à obtenir au moins deux informations ; - comparaison ou combinaison desdites informations, pour délivrer le résultat de la détection. Ainsi, le procédé selon l'invention peut mettre en oeuvre des commandes secrètes plus ou moins complexes, consistant en de simples accès mémoire ou en une succession, ou combinaison, d'opérations plus complexes (par exemple, des opérations prenant en entrée le résultat d'une opération effectuée précédemment). La mise en oeuvre de commandes secrètes complexes permet de s'assurer qu'un clone ayant des capacités de réponse à toute sollicitation, même non reconnue comme une commande standard et publique, ne pourra malgré tout pas répondre correctement à une commande secrète comprenant plusieurs opérations mathématiques ou logiques. Selon un autre aspect, l'invention concerne une carte à microprocesseur pour la mise en oeuvre du procédé de détection de cartes à microprocesseur non authentiques, appelés clones, selon le procédé, caractérisée en ce qu'elle comprend une mémoire de stockage de commandes, comprenant : - un premier jeu de commandes standard et public ; et - un second jeu d'au moins une commande secrète. Ainsi, on mémorise dans une carte non seulement des commandes standards et publiques mais aussi une ou plusieurs commandes secrètes, de préférence au moment de la fabrication de la carte. Selon une mise en oeuvre préférentielle, au moins ledit second jeu est 20 stocké dans une partie sécurisée de ladite mémoire. Une telle mise en oeuvre permet de sécuriser davantage une carte authentique contre une tentative de clonage. Encore un autre aspect de l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur 25 un support lisible par ordinateur et/ou exécutable par un microprocesseur, permettant la mise en oeuvre du procédé correspondant dans un terminal lecteur de cartes. 6. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus 30 clairement à la lecture de la description suivante de deux modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : la figure 1 illustre schématiquement un exemple de système mettant en oeuvre l'invention selon un mode de réalisation particulier de l'invention ; la figure 2 présente les étapes principales du procédé de détection de cartes à microprocesseur non authentiques selon un premier mode de réalisation ; la figure 3 présente les étapes principales du procédé de détection de cartes à microprocesseur non authentiques selon un second mode de réalisation . Description d'un mode de réalisation de l'invention Principe général Le principe général de l'invention repose sur la mémorisation, en plus d'un 15 jeu de commandes standard et public, d'un jeu d'au moins une commande secrète, qui ne peut pas être connu d'un contrefacteur, dans une mémoire d'une carte à microprocesseur. Plus précisément, le procédé de l'invention permet la détection de l'authenticité d'une carte sur la base de la reconnaissance et/ou du traitement par cette carte d'une commande secrète appelée (émise) par un terminal lecteur de 20 cartes. 6.2 Exemple de système mettant en oeuvre l'invention On se place dans la suite dans le cadre d'un mode de réalisation particulier de l'invention, en relation avec la figure 1, selon lequel une carte à puce 2 (carte à microprocesseur) est une carte de paiement émise par un organisme bancaire. La 25 carte à puce 2 est authentique, c'est-à-dire non clonée, et est capable de communiquer avec un terminal de paiement 4 (terminal lecteur de cartes à puce) lorsqu'elle est insérée dans un lecteur de cartes 6 du terminal de paiement 4. On suppose ici que le porteur de la carte à puce 2 souhaite accéder à un service bancaire nécessitant qu'il s'authentifie au préalable par l'intermédiaire du 30 terminal de paiement 4. - - - 7. 6.1 La carte à puce 2 comprend classiquement un microprocesseur et différentes mémoires RAM, ROM et/ou EEPROM (non représentés). Le terminal de paiement 4 comprend généralement un écran d'affichage, un clavier numérique ou alphanumérique, une imprimante (non représentés), un lecteur de cartes 6 et une unité centrale de traitement (microprocesseur) 7. Le terminal de paiement 4 comprend également un programme de contrôle PC qui peut être mis en oeuvre par le microprocesseur 7. L'invention propose donc d'insérer dans une carte authentique (telle que la carte à puce 2), en plus d'un premier jeu de commandes standard et public CST, un second jeu d'au moins une commande secrète CSE, le premier jeu de commandes CST étant distinct du second jeu de commandes CSE. Les premier et second jeux de commandes CST et CSE peuvent être mémorisés dans une mémoire 3 de stockage de commandes de la carte à puce 2 pendant sa fabrication, par exemple chez l'encarteur. Le second jeu de commandes CSE, au moins, peut être stocké dans une partie sécurisée de la mémoire 3. On a représenté sur la figure 1 une carte à puce clonée 2' comprenant un jeu de commandes standard et public CST' (obtenu par exemple sur Internet) mais qui ne comprend bien sûr pas de commandes secrètes à la différence de la carte à puce 2 authentique. Dans le cas où il s'avérerait que des cartes clonées (du même type que la carte à puce 2') sont en circulation, l'invention propose donc de détecter ces clones en modifiant le programme de contrôle PC des terminaux de paiement (ou au moins certains d'entre eux), tel que le terminal de paiement 4, pour qu'ils utilisent les commandes secrètes. Selon l'invention, le terminal de paiement 4 comprend ainsi des moyens de réception d'un programme de contrôle modifié et des moyens d'exécution du programme de contrôle modifié. Ce programme de contrôle modifié peut comprendre un appel d'au moins une commande secrète du jeu d'au moins une commande secrète CSE qui a été préalablement inséré dans chaque carte authentique, comme souligné précédemment. L'appel aux commandes secrètes effectue au moins une des opérations appartenant au groupe comprenant : - lecture et/ou écriture dans une mémoire ; - opérations mathématiques et logiques. Par exemple, l'appel à une commande secrète peut consister en un ou plusieurs accès, en lecture ou en écriture, à une mémoire de la carte. Ainsi, un appel à une commande peut dans un premier temps requérir l'écriture en mémoire d'une donnée prédéterminée, puis, dans un deuxième temps, la lecture de cette donnée précédemment écrite. De manière plus complexe, un appel à une commande secrète peut consister en une succession d'opérations mathématiques ou logiques. Par exemple, une telle commande secrète peut récupérer deux données dans deux emplacements mémoire différents, en effectuer la somme ou le produit, et comparer le résultat avec un résultat attendu. Ces commandes secrètes ne modifient a priori pas le fonctionnement � utile � du terminal (par exemple les opérations classiques de distribution de billets), mais permettent d'ajouter des traitements de contrôle, qui vont permettre de distinguer les cartes authentiques et les clones. Le terminal de paiement 4 comprend ainsi des moyens de détection de l'authenticité d'une carte à puce insérée dans le lecteur de cartes 6 si la commande secrète est reconnue et/ou traitée de façon correcte par la carte à puce, ou de la présence d'un clone, si la commande secrète n'est pas reconnue et/ou traitée de façon erronée par la carte. 6.3 Premier exemple de mise en oeuvre On présente ci-dessous, en relation avec la figure 2, les étapes principales d'un procédé de détection de cartes à microprocesseur non authentiques selon un premier mode de réalisation particulier de l'invention. On se place dans la suite dans une configuration où une carte à puce (qu'elle soit authentique 2 ou clonée 2') est insérée dans le lecteur de cartes 6 du terminal de paiement 4 et où le programme de contrôle PC du terminal de paiement 4 a été modifié en réponse par exemple à une information selon laquelle des cartes clonées sont en circulation. Comme illustré en figure 2, le procédé de détection selon l'invention débute par une étape 20 d'appel d'au moins une commande dite secrète dans le 5 programme de contrôle PC modifié du terminal de paiement 4. Il est ensuite déterminé à l'étape 22 si la commande secrète est reconnue et/ou traitée de manière correcte par la carte à puce. La sortie � oui � 24 permet par exemple un passage à une étape 30 d'authentification classique qui consiste à comparer une signature saisie au clavier 10 du terminal de paiement 4 aux données présentes dans la carte à puce 2. Ce traitement, connu en soi et appliqué dans toutes les cartes à puce, n'est pas décrit plus en détail ici. La sortie � non � 26 indique la détection de la présence d'un clone qui peut entraîner à l'étape 28 la génération d'une alarme et/ou l'invalidation ou le blocage 15 du clone par le terminal de paiement 4. 6.4 Second exemple de mise en oeuvre On présente ci-dessous, en relation avec la figure 3, les étapes principales d'un procédé de détection de cartes à microprocesseur non authentiques selon un second mode de réalisation particulier de l'invention. 20 On se place dans la suite dans une configuration où une carte à puce (qu'elle soit authentique 2 ou clonée 2') est insérée dans le lecteur de cartes 6 du terminal de paiement 4 et où le programme de contrôle PC du terminal de paiement 4 a été modifié en réponse par exemple à une information selon laquelle des cartes clonées sont en circulation. 25 Comme illustré en figure 3, le procédé de détection selon l'invention débute par une étape 40 d'appel d'au moins une première commande dite secrète dans le programme de contrôle PC modifié du terminal de paiement 4. Cette première commande secrète est traitée par la carte à puce et le résultat du traitement (première information) est ensuite transmis (communiqué) 30 au terminal de paiement 4, à l'étape 42. S'ensuit une étape 44 d'appel d'au moins une seconde commande dite secrète dans le programme de contrôle PC modifié du terminal de paiement 4. Cette seconde commande secrète est traitée par la carte à puce et le résultat du traitement (seconde information) est ensuite transmis au terminal de paiement 4, à l'étape 46. Les première et seconde informations sont ensuite comparées ou combinées dans le terminal de paiement 4, à l'étape 48, afin de délivrer un résultat de détection de l'authenticité de la carte à puce. Par exemple, l'appel aux premières et secondes commandes secrètes permet en premier lieu de récupérer respectivement une première et une seconde information dans deux emplacements mémoire différents de la carte, puis d'en effectuer la somme ou le produit, et de comparer le résultat avec un résultat attendu afin de délivrer un résultat de détection (52 ou 56). De la même manière que dans le premier mode de réalisation en relation avec la figure 2, la sortie � oui � 52 permet par exemple un passage à une étape 54 d'authentification classique qui consiste à comparer une signature saisie au clavier du terminal de paiement 4 aux données présentes dans la carte à puce 2. La sortie � non � 56 indique la détection de la présence d'un clone qui peut entraîner à l'étape 58 la génération d'une alarme et/ou l'invalidation ou le blocage du clone par le terminal de paiement 4. L'envoi simultané ou séquentiel de deux commandes secrètes dans ce second mode de réalisation permet ainsi de détecter de manière encore plus fiable une carte à puce clonée. Le procédé de l'invention est relativement peu coûteux, fiable et simple à mettre en oeuvre. Il permet de lutter contre la contrefaçon de cartes à puce, ou d'un objet portatif similaire, de détecter les cartes non authentiques (clones) et d'empêcher leur utilisation. 6.5 Variantes La présente invention peut s'appliquer également à toute situation 30 nécessitant une restriction de l'accès à un lieu ou à un local, à un véhicule appartenant à une ou plusieurs personnes, à un site internet ou une base de données, par exemple. La liaison entre le terminal lecteur de cartes et la carte à puce peut être effectuée par contacts ou à distance (RFID par exemple).5 REVENDICATIONS 1. Procédé de détection de cartes à microprocesseur non authentiques, appelées clones, caractérisé en ce qu'il comprend les étapes suivantes : modification d'un programme de contrôle d'au moins un terminal lecteur de cartes, de façon que ledit programme comprenne un appel d'au moins une commande dite secrète d'un jeu d'au moins une commande secrète, préalablement inséré dans chaque carte authentique, et distinct d'un jeu de commandes standard et public ; - détection de l'authenticité de ladite carte, si ladite commande secrète est reconnue et/ou traitée de façon correcte, ou de la présence d'un clone, si ladite commande secrète n'est pas reconnue et/ou traitée de façon erronée. 2. Procédé selon la revendication 1, caractérisé en ce que la détection de la présence d'un clone entraîne la génération d'une alarme et/ou l'invalidation ou le blocage dudit clone. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que l'appel auxdites commandes secrètes effectue au moins une des opérations appartenant au groupe comprenant : - lecture et/ou écriture dans une mémoire ; opérations mathématiques et logiques. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite étape de détection comprend les sous-étapes suivantes : appel à au moins deux commandes secrètes, de façon à obtenir au moins deux informations ; - comparaison ou combinaison desdites informations, pour délivrer le résultat de la détection. 5. Carte à microprocesseur pour la mise en oeuvre du procédé de détection de cartes à microprocesseur non authentiques, appelés clones, selon l'une quelconque des revendications 1 à 4, caractérisée en ce qu'elle comprend une mémoire de stockage de commandes, comprenant :un premier jeu de commandes standard et public ; et un second jeu d'au moins une commande secrète. 6. Carte selon la revendication 5, caractérisé en ce qu'au moins ledit second jeu est stocké dans une partie sécurisée de ladite mémoire. 7. Terminal lecteur de carte à microprocesseur, pour la mise en oeuvre du procédé de détection de cartes à microprocesseur non authentiques, appelés clones, selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend : des moyens de réception et d'exécution d'un programme de contrôle modifié, comprenant un appel d'au moins une commande dite secrète d'un jeu d'au moins une commande secrète, préalablement inséré dans chaque carte authentique, et distinct d'un jeu de commandes standard et public ; des moyens de détection de l'authenticité de ladite carte, si ladite commande secrète est reconnue et/ou traitée de façon correcte, ou de la présence d'un clone, si ladite commande secrète n'est pas reconnue et/ou traitée de façon erronée. 8. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de détection selon l'une au moins des revendications 1 à 4 lorsque ledit programme fonctionne sur un ordinateur. 9. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des moyens d'appel d'au moins une commande dite secrète d'un jeu d'au moins une commande secrète, distinct d'un jeu de commandes standard et public, et en ce que l'appel à ladite commande secrète effectue au moins une des opérations appartenant au groupe comprenant . - lecture et/ou écriture dans une mémoire ;opérations mathématiques et logiques, lorsque ledit programme fonctionne sur un ordinateur.