Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RECORDING METHOD IMPLEMENTED BY A MICROCIRCUIT, AND CORRESPONDING DEVICE
Document Type and Number:
WIPO Patent Application WO/2017/001762
Kind Code:
A1
Abstract:
The invention relates to a recording method implemented by a microcircuit (1), which method comprises: - receiving (B6), by said microcircuit, at least one transaction information item, and recording said at least one information item in a first memory of the microcircuit, the reception and recording steps being implemented in the course of a transaction, - detecting (B8) a transaction error, and - if an error is detected, recording (B9), in a second nonvolatile memory of the microcircuit, transaction data including the at least one transaction information item.

Inventors:
CHAMBEROT FRANCIS (FR)
REZZELI AREZKI (FR)
Application Number:
PCT/FR2016/051596
Publication Date:
January 05, 2017
Filing Date:
June 28, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
OBERTHUR TECHNOLOGIES (FR)
International Classes:
H04L9/00; G06F21/55
Foreign References:
US20030110426A12003-06-12
EP0964360A11999-12-15
EP1646018A12006-04-12
Other References:
CONSTANTINOS MARKANTONAKIS ED - BRUCE SCHNEIER ET AL: "Secure Log File Download Mechanisms for Smart Cards", 1 January 2006, SMART CARD. RESEARCH AND APPLICATIONS LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 285 - 304, ISBN: 978-3-540-67923-3, XP019048907
Attorney, Agent or Firm:
UNDERWOOD, Nicolas et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé d'enregistrement mis en œuvre par un microcircuit (1), ce procédé comportant :

- une réception (B6) par ledit microcircuit d'au moins une information de transaction et un enregistrement dans une première mémoire (4) du microcircuit de ladite au moins une information, ladite réception et ledit enregistrement étant mis en œuvre au cours d'une transaction,

- une détection (B8) d'une erreur de transaction, et

- si une erreur est détectée, un enregistrement (B9) dans une deuxième mémoire non volatile (5) du microcircuit de données de transaction comportant ladite au moins une information de transaction.

2. Procédé selon la revendication 1, dans lequel lesdites données de transaction sont en outre élaborées à partir du type d'erreur détectée.

3. Procédé selon la revendication 1 ou 2, dans lequel la transaction est une transaction EMV.

4. Procédé selon l'une des revendications 1 à 3, dans lequel ledit enregistrement desdites données de transaction comprend un enregistrement desdites données de transaction dans un registre de données de transaction (6) de la deuxième mémoire non volatile.

5. Procédé selon la combinaison des revendications 2 à 4, dans lequel lesdites données de transaction comprennent au moins une donnée temporelle (ATC) et un type d'erreur, et ledit enregistrement comporte un remplacement par lesdites données de transaction obtenues au cours de la transaction de données de transaction enregistrées dans ledit registre ayant le même type d'erreur et ayant la donnée temporelle la plus ancienne de toutes les erreurs de ce type dans le registre.

6. Procédé selon la revendication 5, dans lequel la donnée temporelle est un compteur d'application de transaction (ATC).

7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel préalablement à la réception de ladite au moins une information de transaction, le microcircuit émet une requête à un lecteur coopérant avec le microcircuit, la requête comportant au moins un identifiant de ladite au moins une information.

8. Procédé selon la combinaison des revendications 2 et 7, dans lequel la transaction est une transaction EMV et la requête comporte une liste PDOL.

9. Procédé selon la revendication 8, dans lequel la liste PDOL est complétée en ajoutant un séparateur devant ledit au moins un identifiant de ladite au moins une information et ladite au moins une information est une information supplémentaire.

10. Procédé selon la revendication 9, dans lequel au moins un identifiant est choisi dans la liste d'identifiants comprenant :

valeur,

montant autorisé,

montant pour retrait d'espèce,

- montant autorisé pour une devise de référence,

numéro de version de l'application,

procédés d'authentification du porteur,

information de clé publique de l'authorité de certification, liste dynamique de données d'authentification objet,

- numéro de série de l'interface du lecteur,

identifiant du commerçant,

nom du commerçant,

localisation du commerçant,

code de pays du lecteur,

- identification du lecteur,

type de lecteur,

date de la transaction,

compteur de transaction du lecteur.

11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel après la détection d'une erreur, un traitement d'erreur est mis en œuvre comprenant ledit enregistrement desdites données de transaction.

12. Procédé selon l'une des revendications 1 à 11, dans lequel les données de transaction comprennent en outre au moins une donnée parmi une donnée élaborée par le microcircuit au cours d'une étape de la transaction ou une donnée reçue par le microcircuit au cours d'une étape de la transaction.

13. Programme d'ordinateur comportant des instructions pour l'exécution des étapes d'un procédé d'enregistrement selon l'une des revendications 1 à 12 lorsque ledit programme est exécuté par un processeur.

14. Support d'enregistrement lisible par un processeur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes d'un procédé d'enregistrement selon l'une quelconque des revendications 1 à 12.

15. Dispositif électronique comprenant un microcircuit (1) configuré pour mettre en œuvre une transaction, caractérisé en ce qu'il comporte :

- un module de réception d'au moins une information de transaction,

- un module d'enregistrement dans une première mémoire du microcircuit

(4) de ladite au moins une information de transaction,

- un module de détection d'une erreur de transaction,

- un module d'enregistrement dans une deuxième mémoire non volatile

(5) du microcircuit de données de transaction comportant ladite au moins une information de transaction.

16. Carte à microcircuit comportant un dispositif selon la revendication 15.

Description:
Procédé d'enregistrement mis en œuvre par un microcircuit, et dispositif correspondant

Arrière-plan de l'invention

L'invention se rapporte au domaine général des dispositifs électroniques aptes à effectuer des opérations telles que des transactions, par exemple en coopérant avec un terminal.

L'invention trouve application de manière non exclusive dans les cartes à puce (ou cartes à microcircuit), conformes par exemple à la norme ISO 7816. L'invention concerne tout particulièrement les cartes à puce selon le standard EMV (« Europay Mastercard Visa », dans sa version 4.3) qui mettent en œuvre des transactions.

Le standard EMV, bien connu de l'homme du métier, est utilisé pour sécuriser des transactions réalisées par des cartes à puce, en particulier des transactions bancaires de paiement. D'autres transactions peuvent également être mises en œuvre par ces cartes à puce, par exemple des transactions de transfert, de consultation, ou encore d'authentification.

Ce standard permet de sécuriser les transactions et de limiter les fraudes. A cet effet, il implique l'utilisation de cryptogrammes ou encore de codes secrets (généralement désignés par l'acronyme anglo- saxon :« PIN : Personal identification number »).

Cela étant, les cartes à puces utilisant le protocole EMV sont régulièrement sujettes à des attaques ayant des fins frauduleuses.

Aussi, les cartes à puce ainsi que les lecteurs peuvent être défaillants.

Il existe un besoin de mieux diagnostiquer ces défaillances et ces attaques.

L'invention vise notamment à pallier ces inconvénients, et elle vise plus particulièrement à améliorer le contrôle du fonctionnement d'un microcircuit mettant en œuvre des transactions.

Objet et résumé de l'invention La présente invention répond à ce besoin en proposant un procédé d'enregistrement mis en œuvre par un microcircuit, ce procédé comportant :

- une réception par ledit microcircuit d'au moins une information de transaction et un enregistrement dans une première mémoire du microcircuit de ladite au moins une information, ladite réception et ledit enregistrement étant mis en œuvre au cours d'une transaction,

- une détection d'une erreur de transaction, et

- si une erreur est détectée, un enregistrement dans une deuxième mémoire non volatile du microcircuit de données de transaction comportant ladite au moins une information de transaction.

Ainsi, la deuxième mémoire comporte des données de transaction pour les transactions au cours desquelles une erreur est apparue. Une telle erreur peut avoir été provoquée par une défaillance du microcircuit ou d'un lecteur qui coopère avec le microcircuit lors de la transaction. Les inventeurs ont observé qu'une erreur peut également apparaître lors d'une attaque du microcircuit.

L'invention permet donc d'enregistrer des informations qui illustrent le contexte dans lequel l'erreur est apparue, et ces informations peuvent en effet être utilisées ultérieurement à des fins de diagnostic.

On peut noter que dans les microcircuits selon la technique antérieure, le traitement d'une erreur n'est accompagné que d'un changement d'état d'une variable, par exemple un « flag » selon l'expression anglo-saxonne connue de l'homme du métier.

Selon un mode particulier de mise en œuvre, lesdites données de transaction sont en outre élaborées à partir du type d'erreur détectée.

Ce mode particulier de réalisation permet de n'enregistrer que des données qui sont utiles pour l'étude d'une erreur et non pas toutes les informations qui peuvent avoir été reçues au cours de la transaction. L'homme du métier saura choisir quelles données enregistrer en fonction de l'application. On limite ainsi la quantité de données enregistrées dans la mémoire. En d'autres termes, l'élaboration des données de transaction peut comporter un tri des informations de transaction reçues.

Selon un mode particulier de mise en œuvre, la transaction est une transaction EMV. Selon un mode particulier de mise en œuvre, ledit enregistrement desdites données de transaction comprend un enregistrement desdites données de transaction dans un registre de données de transaction de la deuxième mémoire non volatile.

Ce registre est préférentiellement sécurisé.

Selon un mode particulier de mise en œuvre, lesdites données de transaction comprennent au moins une donnée temporelle et un type d'erreur, et ledit enregistrement comporte un remplacement par lesdites données de transaction obtenues au cours de la transaction de données de transaction enregistrées dans ledit registre ayant le même type d'erreur et ayant la donnée temporelle la plus ancienne de toutes les erreurs de ce type dans le registre.

Ainsi, le registre est un registre cyclique dont la taille est contrôlée puisque l'ajout de données d'une transaction se fait en remplaçant des données de transaction plus anciennes et de la même taille (car du même type).

Selon un mode particulier de mise en œuvre, la donnée temporelle est un compteur d'application de transaction (« ATC : application transaction counter »).

Le compteur ATC est unique pour chaque transaction et il indique l'ordre dans lequel les transactions sont effectuées. Cette valeur est générée par le microcircuit au cours des premières étapes d'une transaction et il est possible de la récupérer pour l'enregistrer dans la deuxième mémoire (c'est-à-dire dans le registre).

Selon un mode particulier de mise en œuvre, préalablement à la réception de ladite au moins une information de transaction, le microcircuit émet une requête à un lecteur coopérant avec le microcircuit, la requête comportant au moins un identifiant de ladite au moins une information.

Selon un mode particulier de mise en œuvre, la transaction est une transaction EMV et la requête comporte une liste PDOL (« Processing

Options Data Object List » en langue anglaise).

Une liste PDOL est envoyée au cours d'une transaction EMV par le microcircuit après le traitement d'une commande de sélection d'application émise par un lecteur. Une telle liste comporte des identifiants (ou « tag » en langue anglaise) et le lecteur qui reçoit cette liste renvoie les valeurs associées à ces identifiants. Dans ce mode de réalisation, les données de transactions reçues sont celles qui sont envoyées par le lecteur en réponse à l'envoi de la liste PDOL.

Selon un mode particulier de mise en œuvre, la liste PDOL est complétée en ajoutant un séparateur devant ledit au moins un identifiant de ladite au moins une information et ladite au moins une information est une information supplémentaire.

A titre indicatif, ce séparateur peut être un identifiant qui est choisi pour ne pas être reconnu par un lecteur mais que la carte reconnaîtra dans la réponse du lecteur (qui sera cet identifiant suivi de zéros puisque le lecteur ne reconnaît pas l'identifiant).

On peut ainsi obtenir des informations supplémentaires qui ne sont pas nécessaires pour mettre en œuvre la transaction mais qui peuvent être utiles pour illustrer le contexte d'une erreur.

Selon un mode particulier de mise en œuvre, au moins un identifiant est choisi dans la liste d'identifiants comprenant :

valeur,

montant autorisé,

montant pour retrait d'espèce,

montant autorisé pour une devise de référence,

numéro de version de l'application,

procédés d'authentifîcation du porteur,

information de clé publique de l'authorité de certification, liste dynamique de données d'authentifîcation objet,

numéro de série de l'interface du lecteur,

identifiant du commerçant,

nom du commerçant,

localisation du commerçant,

code de pays du lecteur,

identification du lecteur,

type de lecteur,

date de la transaction,

compteur de transaction du lecteur.

Ces identifiants sont tous définis dans le standard EMV. Selon un mode particulier de mise en œuvre, après la détection d'une erreur, un traitement d'erreur est mis en œuvre comprenant ledit enregistrement desdites données de transaction.

Un tel traitement d'erreur est généralement désigné par l'homme du métier comme étant un « error processing ».

Selon un mode particulier de mise en œuvre, dans lequel les données de transaction comprennent en outre au moins une donnée parmi une donnée élaborée par le microcircuit au cours d'une étape de la transaction ou une donnée reçue par le microcircuit au cours d'une étape de la transaction.

Selon un mode particulier de mise en œuvre, les données de transaction sont envoyées. Les données de transaction sont alors une information de sécurité à envoyer. Cet envoi peut comporter les étapes suivantes après la détection de l'erreur et ledit enregistrement :

- démarrage, suite audit enregistrement, d'une transaction avec un terminal externe; et

envoi au terminal externe de l'information de sécurité dans un message de transaction lors de ladite transaction.

Selon un mode particulier de mise en œuvre, on envoie au terminal externe, dans un message AFL (Application File Locator), d'une donnée de référencement permettant au terminal externe de lire l'information de sécurité dans la mémoire sécurisée du microcircuit; et

l'information de sécurité est envoyée au terminal externe en réponse à une commande de lecture reçue du terminal externe suite à l'envoi du message AFL.

Selon un mode particulier de mise en œuvre, le procédé comprend l'envoi au terminal externe, dans un message ATR, d'une donnée de référencement lui permettant de lire l'information de sécurité dans la mémoire sécurisée du microcircuit.

Selon un mode particulier de mise en œuvre, l'information de sécurité est envoyée au terminal externe en tant que donnée non interprétable par le terminal externe en réponse à un message GENERATE AC reçu du terminal externe.

Il est également proposé un programme d'ordinateur comportant des instructions pour l'exécution des étapes d'un procédé d'enregistrement tel que défini ci-avant lorsque ledit programme est exécuté par un processeur.

Il est également proposé un support d'enregistrement lisible par un processeur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes d'un procédé d'enregistrement tel que défini ci-avant.

On peut noter que les programme d'ordinateur mentionnés dans le présent exposé peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.

De plus, les supports d'enregistrement (ou d'information) mentionnés dans le présent exposé peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.

D'autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.

Il est également proposé un dispositif électronique comprenant un microcircuit configuré pour mettre en œuvre une transaction.

Selon une caractéristique générale, ce dispositif comporte :

- un module de réception d'au moins une information de transaction,

- un module d'enregistrement dans une première mémoire du microcircuit de ladite au moins une information de transaction,

- un module de détection d'une erreur de transaction,

- un module d'enregistrement dans une deuxième mémoire non volatile du microcircuit de données de transaction comportant ladite au moins une information de transaction.

Il est également proposé une carte à microcircuit comportant ce dispositif. Brève description des dessins

D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple dépourvu de tout caractère limitatif.

Sur les figures :

- la figure 1 représente de façon schématique un lecteur et un microcircuit selon un mode de réalisation de l'invention,

- la figure 2 représente de façon schématique différentes étapes d'un procédé selon un mode de mise en œuvre de l'invention, et

- la figure 3 représente de façon schématique des étapes mises en œuvre pour enregistrer des données de transaction.

Description détaillée d'un mode de réalisation

On va maintenant décrire un exemple de réalisation de l'invention dans lequel un procédé d'enregistrement est mis en œuvre par une carte à microcircuit (conforme à la norme ISO 7816) utilisant le standard EMV pour effectuer des transactions.

Il convient de noter que l'invention s'applique à tout dispositif apte à mettre en œuvre une transaction, y compris des dispositifs autre que des cartes à microcircuit et qui utilisent le standard EMV, et des dispositifs qui utilisent d'autres standards de transaction.

On peut également noter que la notion de transaction est ici entendue au sens large et comprend par exemple, dans le domaine bancaire, aussi bien une transaction de paiement ou de transfert que d'une consultation d'un compte bancaire sur un terminal bancaire. L'invention est décrite ici dans le cadre d'une carte de paiement destinée à réaliser des transactions bancaires. On comprendra que d'autres types de transactions ou opérations sont envisageables dans le cadre de l'invention.

Sur la figure 1, on a représenté de manière schématique une carte à microcircuit 1 selon la norme ISO 7816, et un lecteur 2 configuré pour coopérer avec la carte à microcircuit 1 pour effectuer une transaction. La coopération entre la carte microcircuit 1 et le lecteur 2 est réalisée par un protocole de communication PT choisi notamment parmi un protocole de communication avec contact et un protocole de communication sans contact. Si un protocole de communication avec contact est choisi, la carte à microcircuit 1 est munie de contacts externes et une connexion électrique est obtenue entre le microcircuit de la carte à microcircuit et le lecteur.

La carte à microcircuit 1 comprend un processeur 3, une première mémoire volatile réinscriptible 4 ainsi qu'une deuxième mémoire non volatile 5, par exemple de type Flash. Le processeur 3, la première mémoire 4 et la deuxième mémoire 5 sont incorporés au sein du microcircuit de la carte à microcircuit 1.

La deuxième mémoire 5 constitue ici un support d'enregistrement (ou d'information) conforme à un mode de réalisation de l'invention, lisible par la carte microcircuit 1, et sur lequel est enregistré un programme d'ordinateur PG conforme à un mode de réalisation de l'invention. Le programme PG comporte des instructions pour l'exécution des étapes d'un procédé d'enregistrement. Plus précisément, le programme PG comporte une instruction II de réception d'au moins une information de transaction, une instruction 12 d'enregistrement dans la première mémoire 4, une instruction 13 de détection d'une erreur de transaction, et une instruction 14 d'enregistrement dans un registre 6 contenu dans la deuxième mémoire non volatile, de données de transaction comportant ladite au moins une information de transaction.

Le registre 6 est sécurisé, et notamment chiffré par un mécanisme de sécurité.

On va maintenant décrire, en référence à la figure 2, un procédé d'enregistrement d'une transaction. Dans cet exemple, la transaction TR est une transaction EMV mise en œuvre par la carte à microcircuit 1 et par le lecteur 2. Comme on le conçoit, la transaction EMV peut comprendre des étapes supplémentaires, qui n'ont pas toutes été détaillées ici pour des raisons de simplicité.

Tout d'abord, une étape initiale B0 est mise en œuvre dans laquelle on complète au moins une liste PDOL en ajoutant des identifiants d'informations de transaction supplémentaires que l'on souhaite obtenir. Cette étape B0 est faite conjointement aux étapes de configuration de la carte à microcircuit, c'est-à-dire antérieurement à la remise à un utilisateur de la carte à microcircuit. Cette étape peut aussi comporter un chargement d'une liste préétablie dans la carte à microcircuit.

Une liste PDOL est une liste de paires de données comportant un identifiant (ou « tag ») et la taille de l'information correspondant à l'identifiant. Une liste PDOL comporte par ailleurs un entête avec un identifiant qui se lit « 83h » suivi d'une indication de longueur totale de la liste. Aussi, une liste PDOL est associée à une application de transaction et la carte peut comporter plusieurs de ces listes.

La liste PDOL est complétée avec des identifiants relatifs à des informations de transaction et des longueurs choisis parmi la liste suivante, dans laquelle l'indication entre parenthèse est l'identifiant en anglais tel que défini dans le standard EMV.

Valeur (« value »)

Montant autorisé (« amount authorized »)

- Montant pour retrait d'espèce ("amount other for cashback")

Montant autorisé pour une devise de référence (« amount référence currency »)

Numéro de version de l'application (« application version number »)

- Procédés d'authentification du porteur (« cardholder vérification method resuit »)

Information de clé publique de l'authorité de certification (« certificate authority public key information »)

Liste dynamique de données d'authentification objet (« Default Dynamic Data Authentication Data Object List »)

Numéro de série de l'interface du lecteur (« device sériai number »)

Identifiant du commerçant (« merchant identifier »)

Nom du commerçant (« merchant name »)

- Localisation du commerçant (« merchant location »)

Code de pays du lecteur (« terminal country code »)

Identification du lecteur (« terminal identification »)

Type de lecteur (« terminal type »)

Date de la transaction (« transaction date »)

- Compteur de transaction du lecteur (« transaction séquence counter ») La complétion est réalisée en ajoutant un séparateur à la suite d'une liste PDOL classique, puis en listant lesdits identifiants voulus après le séparateur. Ces informations de transaction listées après le PDOL ne sont pas demandées dans le PDOL au cours des transactions actuelles, qui de surcroit ne prévoient pas de séparateur.

Ultérieurement, après que la carte ait été remise à un utilisateur, le lecteur 2 initie la communication avec la carte à microcircuit en envoyant une commande de réinitialisation (« RESET ») à la carte à microcircuit 1 (étape Al). Cette commande est reçue à l'étape Bl et la carte à microcircuit répond (étape B2) à cette commande avec un message de réponse connu sous l'acronyme anglo-saxon « ATR : Answer To Reset ».

Le lecteur 2 reçoit le message ATR à l'étape A2 et à ce stade, la communication est ouverte entre la carte à microcircuit 1 et le lecteur 2.

Dans une étape A3, le lecteur envoie une commande de sélection d'application (« SELECT ») qui est reçue par la carte à microcircuit à l'étape A3. A l'étape B4, la carte à microcircuit récupère la liste

PDOL élaborée au cours de l'étape B0 qui correspond à l'application choisie pour cette transaction.

Dans une étape B5, la liste PDOL est transmise au lecteur qui la reçoit à l'étape A5.

Le lecteur recueille les informations de transaction demandées dans la liste PDOL, et ces informations sont transmises dans une étape A6 sous la forme d'une commande dite « GPO : Get Processing Options ».

La carte à microcircuit 1 reçoit les informations de transactions dans l'étape B6 et elle enregistre ces informations dans la mémoire volatile 4.

D'autres étapes de la transaction sont réalisées par la carte à microcircuit 1 et le lecteur 2 pendant une étape S7. A titre indicatif, l'étape S7 peut comporter une lecture de données d'application, une authentification hors ligne de données ou une authentification dynamique de données, une vérification d'identité, une analyse d'action de carte, ou encore une génération de cryptogramme en ligne ou hors ligne. Lors de l'étape B8, une erreur est détectée. Ceci peut être fait par un module de détection d'erreur traditionnellement actif au sein d'une carte à microcircuit au cours d'une transaction.

En d'autres termes, l'étape S7 comprenant les étapes de transaction ne comporte pas à proprement parler toutes les étapes d'une transaction puisqu'une erreur survient avant que toutes les étapes de la transaction ne soient complétées.

Une étape B9 d'enregistrement est mise en œuvre si une erreur a été détectée au cours de l'étape B8. Dans cette étape B9, on enregistre des données de transaction élaborées à partir des informations de transaction reçues à l'étape B6 (comportant au moins certaines de ces informations), et en particulier les informations placées après le séparateur dans la liste PDOL qui sont des informations supplémentaires, et cet enregistrement est effectué dans la deuxième mémoire non volatile 5, et plus précisément dans le registre 6. Les données de transaction peuvent en outre comporter des données élaborées par le microcircuit au cours de la transaction, par exemple des cryptogrammes générés, ou des données reçues par le microcircuit au cours de la transaction telles qu'un code PIN.

On peut noter que l'étape d'enregistrement est liée à la détection d'une erreur : cet enregistrement ne peut être déclenché qu'avec une détection d'erreur.

Toutefois, l'invention couvre aussi des solutions alternatives dans lesquelles on enregistre tout le temps (c'est-à-dire à chaque transaction) dans une mémoire non volatile des informations ou données de transactions mais où l'on supprime ces informations ou données si aucune erreur n'est détectée.

On peut également noter que si aucune erreur n'est détectée, les informations de transaction reçues à l'étape B6 ne sont pas conservées puisqu'elles ne sont qu'enregistrées dans une mémoire non volatile. Cet enregistrement est mis en œuvre alors que la carte est toujours alimentée. En outre, l'enregistrement est mis en œuvre préférentiellement avant que la carte ne réponde au lecteur pour lui indiquer qu'une erreur est apparue. Une étape de la transaction correspond à un envoi d'une commande APDU (« Application Protocol Data Unit ») par le lecteur à la carte et une réponse de la carte. Ceci permet d'améliorer la sécurité de l'enregistrement puisque cet enregistrement est effectué avant même qu'un utilisateur souhaitant détecter une erreur à des fins frauduleuses ne soit prévenu de l'apparition de l'erreur.

L'étape d'enregistrement B9 est décrite de manière plus détaillée sur la figure 3. Sur cette figure, on a également représenté le contenu du registre 6.

L'étape d'enregistrement B9 est mise en uvre au cours d'un traitement d'erreur (« Error processing »).

L'étape d'enregistrement comporte une première sous-étape B91 dans laquelle on vérifie le type d'erreur qui vient d'être détecté.

A ce stade, le registre comporte des données de transaction relatives à deux types d'erreur : type A ou type B. Pour chaque erreur, le registre comporte une valeur ATC sous la forme d'un entier (N+i), le type de l'erreur et les données de transaction autres que la valeur ATC. Comme on peut le voir sur la figure, des données de transaction de deux erreurs pour chaque type d'erreur sont enregistrées.

Dans l'exemple illustré, on détermine que l'erreur qui vient d'être détectée est du type A.

Une étape B92 de détermination de l'erreur la plus ancienne parmi les erreurs de type A dans le registre est alors mise en œuvre. L'étape B92 indique que c'est l'erreur associée à la valeur ATC égale à N qui est la plus ancienne (ATC y est le plus petit).

Une étape B93 est alors mise en œuvre dans laquelle on remplace les données de transaction et la valeur ATC qui correspondait à l'erreur la plus ancienne déterminée à l'étape B92.

On obtient un registre avec des données de transaction enregistrées pour la transaction ayant une valeur ATC de N+9 là où étaient enregistrées les données de transaction pour la transaction la plus ancienne de type A.

Aussi, ce remplacement est mis en œuvre en prenant en compte le type d'erreur : seules les données pertinentes par rapport à une erreur de type A sont enregistrées.

La taille de mémoire occupée par le registre est ainsi bien contrôlée. On peut noter que le registre 6 peut être chiffré pour améliorer sa sécurité. Dans un exemple, la clé permettant de déchiffrer le registre peut être connue uniquement d'une entité émettrice du microcircuit (par exemple une banque). Cette clé peut par exemple être dérivée d'une clé de transaction classique.

Les données de transaction stockées dans le registre 6 peuvent permettre d'identifier un type de défaillance ou d'attaque indécelable sans ce registre. Par exemple en faisant remonter à travers un lecteur les données de transaction stockées dans le registre 6, et cette remontée peut être faite jusqu'à une entité émettrice du microcircuit (par exemple une banque).

Par ailleurs, lorsqu'une erreur est rencontrée lors d'une transaction, le microcircuit signifie cette erreur au lecteur qui coopère avec le microcircuit. Dans une variante de l'invention, la liste PDOL est complétée une nouvelle fois ultérieurement, par exemple en prenant en compte le type d'erreurs ayant été rencontrées par le microcircuit lors de transactions passées.