Brevet FR2922394A1 — publié le 20090417

Procédé d'authentification, objet portatif et programme d'ordinateur correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui des objets portatifs sécurisés, tels que des cartes à microprocesseur, ou cartes à puce. Plus précisément, l'invention concerne l'authentification des porteurs, ou utilisateurs, de tels objets portatifs, et la lutte contre les tentatives de fraude, par des personnes mal intentionnées tentant d'utiliser un objet portatif sécurisé dont elles ne sont pas titulaires. 2. Art antérieur Par la suite, on décrit l'utilisation de cartes à puce comme cartes de paiement. 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 cartes à puce sont connues et sont actuellement utilisées largement. Lorsqu'une carte à puce est utilisée comme carte de paiement, l'utilisateur autorisé (le titulaire) de la carte à puce peut l'utiliser par exemple pour régler des achats chez un commerçant ou pour effectuer un retrait de billets à un distributeur automatique de billets. Lorsque la carte à puce est utilisée pour effectuer une telle opération, il est généralement nécessaire que l'utilisateur autorisé glisse sa carte à puce dans un terminal de paiement et entre son code confidentiel à l'aide d'un clavier du terminal de paiement. Ce code confidentiel est également appelé signature, numéro d'identification personnel (NIP) du titulaire de la carte, que l'on appelle aussi PIN (en anglais Personal Identification Number) ou code secret. Le code confidentiel associé à une carte à puce de paiement est généralement composé d'une suite d'au moins quatre chiffres. Une information secrète est par ailleurs stockée (mémorisée) dans une 30 mémoire de la carte à puce. Une vérification (traitement mathématique) est réalisée dans la carte à puce, tenant compte (au moins) de cette information secrète et du code confidentiel. Ainsi, quand le code saisi au clavier (signature) concorde avec l'information secrète mémorisée dans la carte à puce, la carte délivre un résultat d'authentification positif et autorise, par exemple, des transactions électroniques sécurisées. Un problème est qu'une carte à puce est vulnérable aux attaques d'un tiers malintentionné (un fraudeur) qui pourrait, par exemple après avoir volé la carte à puce, tenter de saisir au clavier un grand nombre de combinaisons successives de code pour retrouver le code confidentiel de la carte. Différentes solutions à ce problème ont été proposées. La plus connue est sans doute celle qui utilise un compteur contenu dans une mémoire de la carte à puce qui mémorise le nombre de tentatives incorrectes d'entrée du code confidentiel pendant un laps de temps prédéterminé. Ainsi, l'utilisation de la carte à puce est bloquée lorsque le nombre de tentatives incorrectes successives pendant ce laps de temps prédéterminé atteint une valeur seuil prédéterminée. Un inconvénient avec cette solution est qu'un fraudeur peut interrompre l'alimentation de la carte à puce afin de provoquer une remise à zéro du compteur et alimenter de nouveau la carte à puce afin d'effectuer de nouvelles tentatives pour retrouver le code confidentiel, et ainsi de suite. Une solution complémentaire ou alternative à la précédente consiste à imposer un délai de temporisation prédéterminé entre deux tentatives de saisie d'un code, lorsque la première tentative est incorrecte, afin de ralentir le fraudeur dans sa recherche du code confidentiel par essais successifs et donc de diminuer la probabilité que le code confidentiel ne soit découvert par un fraudeur. Il est envisageable cependant que le fraudeur accélère l'horloge externe qui pilote la carte à puce afin de réduire le temps d'attente entre deux tentatives successives de saisie d'un code. Dans le cas où le temps de mise sous tension de la carte à puce est inférieur au délai de temporisation entre deux tentatives successives de saisie d'un code (lorsque la première tentative est incorrecte), le fraudeur peut également interrompre temporairement l'alimentation de la carte à puce suite à la première tentative et ainsi réduire le temps d'attente entre deux tentatives successives de saisie d'un code. 3. Objectifs de l'invention L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention est de fournir une technique de lutte contre les tentatives d'usage frauduleux d'une carte à puce, ou d'un objet portatif similaire. Un autre objectif de l'invention est de diminuer la probabilité qu'un éventuel fraudeur découvre le code confidentiel de la carte à puce par essais successifs dans un laps de temps relativement court, quels que soient les moyens techniques mis en oeuvre. L'invention a également pour objectif de fournir une telle technique qui soit relativement peu coûteuse, fiable et simple à mettre en oeuvre. 4. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé d'authentification d'un porteur d'un objet portatif comprenant des moyens de mémorisation d'au moins une information secrète, comprenant les étapes suivantes : - traitement d'authentification d'une signature délivrée par ledit porteur, tenant compte de ladite information secrète ; - délivrance d'une information de décision d'authentification, positive ou négative. Selon l'invention, le procédé met en oeuvre, dans une mémoire non volatile dudit objet portatif, un indicateur de signature erronée pouvant prendre une valeur indiquant une situation normale et au moins une valeur indiquant une situation anormale, et en ce qu'il comprend : - après ladite étape de délivrance, une étape d'écriture, dans ledit indicateur de signature erronée, d'une valeur indiquant une situation anormale, si ladite décision d'authentification est négative ; et - avant ladite étape d'authentification, et si ledit indicateur de signature erronée contient une valeur indiquant une situation anormale, une étape de génération d'un retard. Ainsi, l'invention permet de ralentir les tentatives d'un éventuel fraudeur qui aurait l'intention d'entrer successivement une série de signatures, afin de trouver la signature correcte, permettant d'authentifier un porteur. En effet, même si le fraudeur coupe l'alimentation de l'objet portatif, ce dernier a mémorisé l'existence d'une tentative possible de fraude, et imposera systématiquement un délai, ou retard, avant de permettre une nouvelle tentative. En d'autres termes, l'invention permet de retarder l'authentification d'un porteur d'un objet portatif quand la signature délivrée précédemment ne correspond pas à l'information secrète associée à l'objet portatif, et diminue ainsi la probabilité qu'un éventuel fraudeur découvre, par essais successifs, l'information secrète stockée dans l'objet portatif, en augmentant le temps entre deux essais, sans possibilité de contourner ou éviter ce délai. Selon un aspect particulier de la présente invention, le procédé comprend, après ladite étape de génération d'un retard ou après ladite étape de délivrance, une étape d'écriture, dans ledit indicateur de signature erronée, de ladite valeur indiquant une situation normale. Ainsi, l'invention permet de dissuader les fraudeurs, sans introduire une gêne trop importante pour l'utilisateur autorisé, qui aurait simplement fait une erreur de saisie. Selon un mode de réalisation particulier de l'invention, ledit indicateur de signature erronée est un élément binaire. Selon un autre mode de réalisation particulier de l'invention, ledit 30 indicateur de signature erronée est un compteur, remis à zéro en présence d'une décision d'authentification positive et incrémenté en présence d'une décision d'authentification négative. Ainsi, l'indicateur de signature erronée qui est alloué dans une mémoire non volatile de l'objet portatif peut être soit un élément binaire, soit un compteur, ce qui permet une mise en oeuvre simple, relativement peu coûteuse et fiable de l'invention. En particulier, ledit retard peut être proportionnel à la valeur dudit compteur. Ainsi, le délai appliqué par l'objet portatif peut être augmenté progressivement, de façon à augmenter la difficulté pour le fraudeur. Selon un autre aspect particulier de l'invention, ladite étape d'écriture comprend également une opération de mémorisation d'au moins une information relative au contexte, tels que la date et l'heure et/ou un identifiant du terminal utilisé. L'invention concerne également un produit programme d'ordinateur stocké sur un objet portatif et/ou exécutable par un microprocesseur, comprenant des instructions de code de programme pour l'exécution des étapes du procédé d'authentification décrit précédemment. Finalement, l'invention concerne un objet portatif sécurisé adapté à la mise 20 en oeuvre du procédé décrit ci-dessus et comprenant : - des moyens de mémorisation d'au moins une information secrète ; - des moyens d'authentification d'une signature délivrée par ledit porteur, tenant compte de ladite information secrète ; - des moyens de délivrance d'une information de décision 25 d'authentification, positive ou négative, comprenant des moyens de mémorisation non volatile d'un indicateur de signature erronée pouvant prendre une valeur indiquant une situation normale et au moins une valeur indiquant une situation anormale. Selon un aspect particulier de l'invention, ledit objet portatif comprend : - des moyens d'écriture, dans ledit indicateur de signature erronée, d'une valeur indiquant une situation anormale, si ladite décision d'authentification est négative ; et - des moyens de génération d'un retard, si ledit indicateur de signature erronée contient une valeur indiquant une situation anormale. Selon encore un autre aspect particulier de l'invention, ladite mémoire non volatile de l'objet portatif est une mémoire de type EEPROM ou Flash. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus 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 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é d'authentification selon un premier mode de réalisation ; - la figure 3 présente les étapes principales du procédé d'authentification selon un second mode de réalisation. 6. Description de modes de réalisation de l'invention 6.1 Principe général Le principe général de l'invention repose sur l'utilisation d'un indicateur de signature erronée mémorisé dans une mémoire non volatile d'un objet portatif, qui ne peut donc pas être modifiée par une interruption d'alimentation. La valeur de l'indicateur commande selon l'invention la durée du procédé d'authentification d'un porteur de l'objet portatif, en imposant un délai, ou un retard, systématique si la précédente tentative d'authentification avait délivré un résultat erroné. 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 l'objet portatif est une carte à puce 7, qui est une carte de paiement émise par une banque, communiquant avec un terminal de paiement 2 (terminal lecteur de cartes à puce). Le porteur de la carte à puce 7, qui peut être soit l'utilisateur autorisé de la carte à puce 7 soit un fraudeur, souhaite accéder à un service bancaire nécessitant qu'il s'authentifie au préalable par l'intermédiaire du terminal de paiement 2. Par exemple, ce service peut être le paiement d'un produit ou d'un service par le porteur à un commerçant au moyen de la carte à puce 7 par l'intermédiaire du terminal de paiement 2. Le terminal de paiement 2 peut être connecté à un serveur 1 distant, qui est par exemple situé dans une banque, via un réseau de communication 9 qui permet donc l'échange d'informations entre le terminal de paiement 2 et le serveur 1. Le serveur 1 distant appartenant à la banque autorise des transactions électroniques sécurisées et peut être connecté à plusieurs terminaux de paiement. De façon classique, le terminal de paiement 2 est alimenté électriquement par un réseau de distribution électrique et/ou par une ou plusieurs piles ou batteries intégrées au terminal de paiement 2. Le terminal de paiement 2 comprend généralement un écran d'affichage 5, un clavier numérique ou alphanumérique 3, un lecteur de carte 4, une unité centrale de traitement (CPU) et une imprimante (non représentés). La carte à puce 7 comprend un support de type plastique 6 et au moins un circuit intégré (puce) 8 qui est généralement situé dans le corps de la carte 7. Le circuit intégré 8 de la carte à puce 7 comprend une interface 12, qui se présente généralement sous la forme de contacts électriques en cuivre, permettant une alimentation électrique du terminal de paiement 2 et l'échange d'informations, sous forme de signaux électriques, lorsque la carte est insérée dans le lecteur de carte 4 du terminal de paiement 2. Pour que le porteur de la carte à puce 7 puisse obtenir une autorisation par la banque émettrice de la carte à puce 7 pour effectuer un paiement, il lui est nécessaire de s'authentifier comme étant le titulaire de la carte à puce 7 ou l'utilisateur autorisé. Pour ce faire, le porteur insère la carte à puce 7 dans le lecteur de carte 4 du terminal de paiement 2 fourni par le commerçant et saisit son code confidentiel (signature) par le biais du clavier 3 du terminal de paiement 2. Le microprocesseur de la carte à puce 7 exécute un traitement de comparaison, ou d'authentification, selon un algorithme de contrôle connu de l'homme du métier, tenant compte du code délivré par le porteur par le biais du clavier 3 et de l'information secrète dérivée du code confidentiel contenu dans une mémoire ROM de la carte à puce 7, et le cas échéant d'une donnée aléatoire fournie par le terminal de paiement 2. Le microprocesseur de la carte à puce 7 délivre ensuite au terminal de paiement 2 une information de décision d'authentification, selon que la signature délivrée est correcte ou erronée. Quand l'information secrète mémorisée dans la carte à puce 7 concorde avec la signature délivrée par le porteur, les transactions électroniques sécurisées (ou tout autre opération) sont autorisées, sous le contrôle du terminal 2 et/ou du serveur 1 distant. La carte à puce comprend classiquement un microprocesseur et différentes mémoires RAM et ROM. Elle comprend également, selon l'invention, une mémoire modifiable non volatile, par exemple une EEPROM 14. L'invention propose donc d'utiliser un indicateur de signature erronée (I), qui peut être un élément binaire, tel qu'un bit de mémoire. L'élément binaire est mémorisé dans la mémoire EEPROM 14 de la carte à puce 7. L'élément binaire peut également être stocké dans une mémoire de type Flash ou tout autre type de mémoire non volatile. 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é d'authentification d'un porteur d'un objet portatif selon un premier mode de réalisation particulier de l'invention. On se place donc dans la suite dans une configuration où la carte à puce 7 est insérée dans le lecteur de carte 4 du terminal de paiement 2. Comme illustré en figure 2, le procédé d'authentification selon l'invention débute par une étape nouvelle, n'existant pas dans les techniques de l'art antérieur, à savoir la lecture (21) de l'indicateur de signature erronée, appelée par la suite I, dans l'emplacement de la mémoire EEPROM 14 qui lui est alloué. En fonction de la valeur de cet indicateur I (test 22), la carte à puce 7 décide d'elle-même (c'est-à- dire sans l'intervention ni le contrôle du terminal de paiement 2) d'appliquer ou non un délai, ou retard, avant d'effectuer le traitement classique d'authentification. Ainsi, dans l'hypothèse où une valeur 0 de l'indicateur I signale une situation correcte, et la valeur 1 une situation anormale, la sortie "oui" (221) du test � I = 0 � (22) permet un passage direct, sans délai, à l'étape d'authentification classique (23), qui va comparer la signature S délivrée par l'utilisateur à l'aide d'une interface adaptée (par exemple un clavier) aux données présentes dans la carte à puce 7. Ce traitement, connu en soi et appliqué dans toutes les cartes à puce, n'est pas décrit plus en détail ici. L'homme du métier saura, selon les circonstances, mettre en oeuvre l'algorithme d'authentification adapté. En revanche, dans le cas où l'indicateur I vaut 1, la sortie � Non � (222) du test (22) conduit à la génération d'un délai (24) qui peut par exemple être compris entre 10 et 60 secondes. À l'issue de ce délai (24), la valeur de l'indicateur I est repositionnée à 0 (étape 25), puis l'on reprend le traitement d'authentification classique (23). Ce traitement d'authentification (23) délivre une information représentative du résultat de l'authentification. Si l'authentification est validée (test 26), la transaction (27) peut s'effectuer, de façon classique. Cette transaction peut être un paiement, une autorisation d'accès à des données ou à un site, ... Si l'authentification n'est pas correcte (261), le terminal de paiement 2 met en oeuvre un traitement adapté (28), qui n'est pas l'objet de la présente invention. Il peut par exemple compter le nombre d'erreurs d'authentification, et empêcher de réaliser, par exemple, plus de trois tentatives. Cependant, ce traitement étant effectué par le terminal de paiement 2, il peut aisément être détourné ou annulé par un fraudeur qui aurait adapté son terminal pour pouvoir entrer, sans limitation, un nombre très élevé de signatures, par exemple de façon aléatoire, dans l'espoir de trouver la bonne dans un laps de temps raisonnable. C'est pour cette raison que, selon l'invention, on effectue préalablement à ce traitement (28) l'écriture (29) de la valeur 1 dans l'indicateur I de la carte à puce 7. Ainsi, même dans le cas où le fraudeur a adapté son terminal de paiement 2, ou dans le cas où il dispose de plusieurs terminaux qu'il prévoit d'utiliser successivement, il sera confronté à un délai d'attente, généré par la carte à puce 7 elle-même, empêchant la réalisation d'une série automatisée d'essais de signatures dans un temps raisonnable. Le délai, ou retard, appliqué est choisi de façon qu'il soit suffisamment long pour dissuader les fraudeurs, sans introduire une gêne trop importante pour l'utilisateur autorisé, qui aurait simplement fait une erreur de saisie. 6.4 Deuxième exemple d'implémentation Selon une variante du procédé décrit ci-dessus, on peut prévoir que l'indicateur I n'est pas un simple élément binaire, indiquant si la précédente signature était erronée ou valide, mais un compteur, comptabilisant le nombre de signatures erronées successives. Ceci peut permettre d'augmenter progressivement le délai appliqué par la carte à puce 7, de façon à limiter la nuisance pour l'utilisateur autorisé, et augmenter la difficulté pour le fraudeur. Ce compteur peut également permettre, le cas échéant, lorsqu'il a atteint un seuil, d'entraîner un blocage définitif de la carte à puce 7 (à nouveau, gérée par elle-même, et non pas par les terminaux). Cette approche est illustrée par la figure 3. Le procédé débute, de la même manière que dans le premier mode de réalisation, par la lecture (21) de l'indicateur 1. Un test (31) est effectué sur la valeur de ce dernier. Si celle-ci vaut 0, on effectue le traitement d'authentification (23), de la même façon que dans le premier mode de réalisation. Si le résultat du test (31) indique (312) que la valeur de I est différente de 0, la carte à puce 7 génère un délai (32), pendant lequel elle ne fera aucun traitement. Ce délai n'est plus fixe, mais fonction de la valeur de I. On peut prévoir par exemple, une fonction linéaire, une fonction par paliers, ou une fonction exponentielle. Une fois le délai (32) écoulé, on passe à l'étape d'authentification (23) , puis l'on fait le test (26) sur le résultat de l'authentification. Si le résultat de ce test (26) est correct, c'est-à-dire que la signature fournie est authentifiée, on repositionne (34) la valeur de l'indicateur à 0, puis on effectue la transaction (27). En revanche, si le résultat de l'authentification (26) est négatif (261), on incrémente (33) la valeur de I, avant de réaliser le traitement de signature erronée (28) dans le terminal. 6.5 Variantes Si l'authentification n'est pas correcte (261), l'écriture (29, 33) dans l'indicateur I de la carte à puce 7 peut également comprendre une opération de mémorisation dans une mémoire non volatile (1'EEPROM 14 par exemple) de la carte à puce 7 d'au moins une information relative au contexte, tels que la date et l'heure et/ou un identifiant du terminal de paiement utilisé. L'étape 21 de lecture de l'indicateur I peut comprendre une étape de lecture des informations relatives au contexte qui sont éventuellement mémorisées dans la carte à puce 7 et le délai (24, 32) peut être fonction de ces informations. Dans d'autres modes de réalisation, l'objet portatif peut être une clé USB 20 et le terminal électronique peut être un ordinateur portable ou un ordinateur personnel par exemple. La saisie de la signature peut être effectuée par d'autres moyens qu'un clavier (écran tactile, commande vocale,...). La liaison entre le terminal et l'objet portatif peut être effectuée par contact 25 ou à distance (RFID par exemple). La présente invention peut s'appliquer également à toute situation nécessitant une restriction de l'accès à un lieu ou un local protégé, à un véhicule appartenant à une ou plusieurs personnes, un site internet ou une base de données, par exemple. 30 REVENDICATIONS 1. Procédé d'authentification d'un porteur d'un objet portatif comprenant des moyens de mémorisation d'au moins une information secrète, comprenant les étapes suivantes : - traitement d'authentification d'une signature délivrée par ledit porteur, tenant compte de ladite information secrète ; - délivrance d'une information de décision d'authentification, positive ou négative, caractérisé en ce qu'il met en oeuvre, dans une mémoire non volatile dudit objet portatif, un indicateur de signature erronée pouvant prendre une valeur indiquant une situation normale et au moins une valeur indiquant une situation anormale, et en ce qu'il comprend : - après ladite étape de délivrance, une étape d'écriture, dans ledit indicateur de signature erronée, d'une valeur indiquant une situation anormale, si ladite décision d'authentification est négative ; et - avant ladite étape d'authentification, et si ledit indicateur de signature erronée contient une valeur indiquant une situation anormale, une étape de génération d'un retard. 2. Procédé d'authentification selon la revendication 1, caractérisé en ce qu'il comprend, après ladite étape de génération d'un retard ou après ladite étape de délivrance : - une étape d'écriture, dans ledit indicateur de signature erronée, de ladite valeur indiquant une situation normale 3. Procédé d'authentification selon l'une quelconque des revendications 1 et 2 caractérisé en ce que ledit indicateur de signature erronée est un élément binaire. 4. Procédé d'authentification selon l'une quelconque des revendications 1 et 2 caractérisé en ce que ledit indicateur de signature erronée est un compteur, remis à zéro en présence d'une décision d'authentification positive et incrémenté en présence d'une décision d'authentification négative. 5. Procédé d'authentification selon la revendication 4, caractérisé en ce que ledit retard est proportionnel à la valeur dudit compteur. 6. Procédé d'authentification selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ladite étape d'écriture comprend également une opération de mémorisation d'au moins une information relative au contexte, tels que la date et l'heure et/ou un identifiant du terminal utilisé. 7. Produit programme d'ordinateur stocké sur un objet portatif et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé d'authentification selon l'une quelconque des revendications 1 à 6. 8. Objet portatif sécurisé comprenant : - des moyens de mémorisation d'au moins une information secrète ; - des moyens d'authentification d'une signature délivrée par ledit porteur, tenant compte de ladite information secrète ; - des moyens de délivrance d'une information de décision d'authentification, positive ou négative, caractérisé en ce qu'il comprend des moyens de mémorisation non volatile d'un indicateur de signature erronée pouvant prendre une valeur indiquant une situation normale et au moins une valeur indiquant une situation anormale. 9. Objet portatif selon la revendication 8, caractérisé en ce qu'il comprend : - des moyens d'écriture, dans ledit indicateur de signature erronée, d'une valeur indiquant une situation anormale, si ladite décision d'authentification est négative ; et - des moyens de génération d'un retard, si ledit indicateur de 25 signature erronée contient une valeur indiquant une situation anormale. 10. Objet portatif selon l'une quelconque des revendications 8 et 9, caractérisé en ce que ladite mémoire non volatile est une mémoire de type EEPROM ou Flash. 30