Brevet FR3038412A1 — publié le 20170106

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, 5 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 ») qui mettent en 10 oeuvre 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 oeuvre par ces cartes à puce, par 15 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- 20 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. Certaines de ces attaques peuvent ne pas être détectées par les capteurs de détection d'attaque embarqués au sein des cartes à puce. 25 L'invention vise notamment à pallier cet inconvénient, et plus précisément à permettre la détection d'événements pouvant être frauduleux et qui ne sont pas détectés par les cartes à puce selon la technique antérieure. 30 Objet et résumé de l'invention La présente invention répond à ce besoin en proposant un procédé de contrôle mis en oeuvre par un dispositif électronique, ledit 35 procédé comportant, au cours d'une transaction mise en oeuvre par le dispositif, les étapes suivantes : 3038412 2 - un changement d'état initial d'une composante d'un indicateur ayant au moins ladite composante, le changement d'état initial étant réalisé avant la mise en oeuvre d'une étape critique de la transaction, et l'indicateur ayant un état initial avant ledit changement d'état initial, - un changement d'état inverse final dudit indicateur après le début de la mise en oeuvre de l'étape critique de la transaction (E03), de sorte que l'indicateur retrouve ledit état initial. Dans la présente demande, un changement d'état inverse d'une composante permet de retrouver la valeur de la composante avant un changement d'état. A titre d'exemple, un « flag » qui passe de 0 à 1 lors d'un changement d'état passera de 1 à 0 lors d'un changement d'état inverse. Dans un exemple, un changement d'état est une incrérnentation et un changement d'état inverse une décrémentation. L'invention propose donc d'implémenter un indicateur dans un dispositif électronique, cet indicateur a une composante qui change d'état au début ou au cours d'une transaction, puis qui change d'état de manière inverse vers la fin de la transaction en choisissant l'étape critique vers la fin de la transaction. En effet, l'étape critique peut être choisie comme étant la dernière étape considérée comme pouvant être non complétée dans le cadre d'une transaction frauduleuse interrompue. La réalisation de du changement d'état inverse final permet de vérifier que la transaction a été effectuée dans son ensemble. L'indicateur indique donc si la transaction a été complétée ou non. On peut aussi noter que le changement d'état inverse final est mis 25 en oeuvre au cours de la transaction, puisque ce procédé est mis en oeuvre au cours de la transaction. Si la transaction n'est pas complétée, l'indicateur conserve l'état dans lequel le changement d'état initial l'a laissé. Des transactions non complétées font ainsi changer plusieurs fois l'ensemble de l'indicateur. 30 Les inventeurs ont observé que certaines attaques impliquent l'interruption de la transaction avant qu'elle ne soit complétée. De ce fait, en utilisant un indicateur qui indique qu'une ou des transactions ont été non complétées, on obtient une indication sur la possibilité que des attaques répétées soient mises en oeuvre contre la carte. 3 0 3 84 12 3 L'utilisation de l'indicateur permet par ailleurs de détecter des défaillances de la carte, ou encore des défaillances liées à un lecteur utilisant la carte. En outre, on pourra mettre en oeuvre le changement d'état initial 5 à tout instant de la transaction, et préférentiellement au moins avant la mise en oeuvre d'étapes de la transaction qui peuvent être l'objet d'attaques. Dans un mode particulier de mise en oeuvre, ledit indicateur comporte une pluralité de composantes, ledit changement d'état initial 10 comportant un changement d'état de chaque composante de l'indicateur, et ledit changement d'état final comporte un changement d'état inverse d'au moins l'une desdites composantes de l'indicateur pour retrouver l'état de la composante avant le changement d'état initial de cette composante. L'indicateur comportant des composantes a une structure 15 analogue à celle d'un vecteur. On peut noter que si le changement d'état final comporte un changement d'état inverse d'une seule composante, alors il est implicite que toutes les autres composantes ont déjà subi un changement d'état inverse puisqu'après ce changement d'état inverse finale, l'indicateur 20 retrouve son état initial. Dans un mode particulier de mise en oeuvre, la transaction comporte plusieurs étapes postérieures audit changement d'état initial, le procédé comprenant pendant ou après chacune des étapes un changement d'état inverse de l'une des composantes de l'indicateur. Ainsi, chaque étape de la transaction est associée à une composante du compteur. De ce fait, la lecture de l'indicateur peut fournir une indication concernant l'instant de la transaction où la transaction a été arrêtée. A titre d'exemple, à partir de l'indicateur, un homme de l'art saura déterminer quelles sont les attaques qui visent le dispositif. Dans un mode particulier de mise en oeuvre, le procédé comprend un changement d'état inverse pendant une étape de la transaction et au cours d'une étape d'écriture dans une mémoire du dispositif propre à l'étape de la transaction. Le procédé selon l'invention peut ainsi être implémenté en limitant le nombre d'écritures dans la mémoire du dispositif, puisque certaines 3 0 3 84 12 4 étapes d'écriture déjà présentes dans la transaction sont utilisées pour en outre modifier les valeurs des composantes de l'indicateur. De telles écritures peuvent être des écritures sécurisées connues par l'homme du métier sous l'expression « opérations atomiques » ou « écritures atomiques ». La décrémentation d'une composante du compteur bénéficie ainsi de la sécurisation d'une écriture atomique. Les opérations atomiques sont décrites dans le document « Smart Card Handbook » de Wolfgang Rankl et Wolfgang Effing. Dans un mode particulier de mise en oeuvre, la transaction est une 10 transaction EMV. Dans un mode particulier de mise en oeuvre, le changement d'état initial est mis en oeuvre pendant une étape d'initialisation de traitement d'application, le changement d'état initial étant mis en oeuvre au cours d'une étape d'écriture d'une valeur de compteur d'application de 15 transaction dans ladite mémoire, et le changement d'état final est mis en oeuvre pendant ladite étape critique, l'étape critique étant une étape de génération de cryptogramme, le changement d'état final étant mis en oeuvre au cours d'une étape d'écriture dans ladite mémoire propre à l'étape de génération de 20 cryptogramme. L'étape d'initialisation de traitement d'application (ou « Initiate application processing » en langue anglaise) est la première étape d'une transaction EMV qui comporte une écriture sécurisée dans une mémoire (opération atomique) : l'écriture de la nouvelle valeur de compteur 25 d'application de transaction (« ATC :Application Transaction Counter » en langue anglaise). De ce fait, il est particulièrement avantageux d'incrémenter les composantes dudit compteur au cours de cette écriture. L'étape de génération d'un cryptogramme est mise en oeuvre à la fin d'une transaction EMV. De ce fait, il est particulièrement avantageux de 30 faire le changement d'état inverse final des composantes qui ne l'ont pas encore subi au cours de cette étape. Dans un mode particulier de mise en oeuvre, au moins un changement d'état et/ou au moins un changement d'état inverse est mis en oeuvre sous le contrôle d'un module de commande de l'exécution de la 35 transaction. 3038412 5 Un tel module de commande de l'exécution de la transaction est généralement désigné sous le vocable anglo-saxon « dispatcher ». Dans un mode particulier de mise en oeuvre, le procédé comporte une étape ultérieure de déduction d'un compteur de transaction non 5 complétées à partir dudit indicateur. A titre indicatif, pour un indicateur comportant une pluralité de « flags », c'est-à-dire pour lequel chaque composante peut prendre la valeur « 0 » ou « 1 », on sait que si après la mise en oeuvre de la transaction l'un des flags est à 1, alors on peut incrémenter un compteur 10 de transactions non complétées puisque ce flag à 1 indique qu'une transaction n'a pas été complétée. On peut noter que l'utilisation de flags implique une mise à 0 avant le commencement de la transaction de tous les flags. Dans un mode particulier de mise en oeuvre, l'indicateur est un 15 compteur de transactions non complétées, ledit changement d'état initial étant une incrérnentation initiale, ledit changement d'état inverse final étant une décrémentation finale. Dans un mode particulier de mise en oeuvre, le procédé comporte en outre une comparaison dudit compteur à un seuil et, si ledit compteur 20 est supérieur audit seuil (par exemple si l'une des composantes est supérieure au seuil), alors on met en oeuvre un traitement de sécurité. Cette comparaison peut par exemple être une comparaison d'une composante du compteur à un seuil, par exemple la dernière composante (c'est-à-dire la dernière devant être décrémentée). La dernière 25 composante indique le nombre total de transactions qui n'ont pas été complétées. Dans un mode particulier de mise en oeuvre, le traitement de sécurité comporte un envoi dudit compteur à un terminal externe. L'envoi du compteur (dans son état lors de la comparaison) à un 30 terminal externe peut ensuite permettre de faire remonter le compteur à une entité émettrice du dispositif, par exemple la banque qui a émis le dispositif s'il s'agit d'une carte à puce. On peut noter que l'envoi du compteur, ou la mise en oeuvre du traitement de sécurité, peut être mise en oeuvre postérieurement à la 35 transaction. 3 0 3 84 12 6 En considérant le compteur comme une information de sécurité, l'envoi de cette information de sécurité peut comporter les étapes suivantes : - démarrage, suite audit enregistrement, d'une transaction avec un 5 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 oeuvre, on envoie au terminal externe, dans un message AFL (Application File Locator), une donnée de 10 référencement permettant au terminal externe de lire l'information de sécurité dans une 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. 15 Selon un mode particulier de mise en oeuvre, 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 oeuvre, l'information de 20 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. L'invention propose également un programme d'ordinateur comportant des instructions pour l'exécution des étapes d'un procédé de 25 contrôle tel que défini ci-avant lorsque ledit programme est exécuté par un processeur. L'invention propose également 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é de 30 contrôle 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 35 compilée, ou dans n'importe quelle autre forme souhaitable. 3038412 7 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 5 CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) 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 10 ê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. Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, 15 le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. L'invention propose également un dispositif électronique comprenant : - une mémoire dans laquelle est mémorisé un indicateur ayant au moins 20 une composante, - un module de changement d'état apte à changer l'état de ladite au moins une composante au cours d'une transaction mise en oeuvre par le dispositif et avant la mise en oeuvre d'une étape critique de la transaction, - un module de changement d'état inverse apte à changer l'état de ladite 25 au moins une composante au cours de la transaction mise en oeuvre par le dispositif et après le début de la mise en oeuvre de l'étape critique de la transaction, de sorte que l'indicateur retrouve un état initial mémorisé dans la mémoire avant ladite transaction. Ce dispositif peut être apte à mettre en oeuvre tous les modes de 30 mise en oeuvre du procédé tel que défini ci-avant. Enfin, l'invention propose également une carte à puce comprenant le dispositif tel que défini ci-avant. 3038412 8 Brève description des dessins D'autres caractéristiques et avantages de la présente invention 5 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 différentes étapes d'un procédé selon un mode de mise en oeuvre de l'invention, 10 - la figure 2 représente une carte à puce selon un mode de réalisation de l'invention, - la figure 3 représente différentes étapes d'un procédé selon l'invention dans lequel une transaction est complétée, - la figure 4 représente différentes étapes d'un procédé selon l'invention 15 dans lequel une transaction n'est pas complétée. Description détaillée d'un mode de réalisation 20 On va maintenant décrire des exemples de réalisation de l'invention dans lesquels un procédé de contrôle est mis en oeuvre par une carte à puce (conforme à la norme ISO 7816) utilisant le standard EMV pour mettre en oeuvre des transactions. Il convient de noter que l'invention s'applique à tout dispositif apte 25 à mettre en oeuvre une transaction, y compris des dispositifs autre que des cartes à puce 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 30 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. 3038412 9 Dans le mode de réalisation qui suit, l'indicateur est un compteur. L'invention n'est néanmoins nullement limitée à l'utilisation d'un compteur, et tout type d'indicateur peut être utilisé. Sur la figure 1, on a représenté de manière schématique un 5 procédé de contrôle mis en oeuvre par un dispositif tel qu'une carte à puce. Les étapes de ce procédé s'effectuent au cours d'une transaction TRO, qui est une transaction bancaire de paiement dans cet exemple. Pour améliorer la sécurité de la carte à puce, l'invention se 10 propose de suivre les transactions qui n'ont pas été complétées, les inventeurs ayant observé que des attaques sont mises en oeuvre sans que la transaction ne soit complétée. A cet effet, dans une première étape E01, on effectue une incrérnentation initiale d'une composante d'un compteur ayant été 15 mémorisé dans une mémoire du dispositif et qui comporte plusieurs composantes. Antérieurement à l'étape E01, le compteur était dans un état initial : chaque composante présentait une valeur déjà mémorisée dans la mémoire du dispositif avant que la transaction TRO ne soit mise en oeuvre. 20 Dans l'exemple de la figure 1, l'étape E01 d'incrémentation initiale est représentée comme étant mise en oeuvre au début de la transaction TRO. On peut noter qu'il est également possible de mettre en oeuvre l'incrémentation initiale postérieurement à une première étape d'une transaction : la position de l'étape d'incrémentation initiale dépendant d'un 25 niveau de sécurité et l'homme du métier saura choisir cette position pour obtenir un niveau de sécurité voulu. Dans une deuxième étape E02, on met en oeuvre des étapes d'une transaction. La transaction comporte une étape critique E03 qui est ici la 30 dernière étape de la transaction, qui est représentée dans cet exemple comme étant la dernière étape de la transaction TRO. Cette étape critique comprend une sous-étape E04 de décrémentation mise en oeuvre à la fin de l'étape critique de la transaction E03. Dans la sous-étape E04 de décrémentation, on décrémente la composante du compteur ayant été 35 incrémentée au cours de l'étape d'incrémentation initiale E01, et ce de 3038412 10 sorte que le compteur retrouve son état initial d'avant la mise en oeuvre de l'étape d'incrémentation initiale E01. De ce fait, si la transaction a été interrompue avant la mise en oeuvre de l'étape critique de la transaction, le compteur conserve sa valeur 5 obtenue après l'incrémentation initiale de l'étape E01. Sur la figure 2, on a représenté une carte à puce 1 selon la norme ISO 7816 apte à mettre en oeuvre des transactions en accord avec le standard EMV. La carte à puce 1 comporte un module de contacts 2 selon la 10 norme ISO 7816 permettant à la carte de communiquer (réception et transmission), et le module de contacts est connecté à un processeur 3. Le processeur 3 est capable d'exécuter des instructions stockées dans une mémoire 4 de la carte à puce. La mémoire 4 est une mémoire non volatile réinscriptible (de type Flash par exemple). 15 Un programme d'ordinateur 5 est contenu dans la mémoire 4, et ce programme comporte des instructions pour la mise en oeuvre d'un procédé de contrôle tel que celui décrit en référence à la figure 1. Le programme 5 comporte en particulier les instructions suivantes, configurées pour être exécutées lors d'une transaction : 20 - Une instruction 6 pour effectuer une incrémentation initiale d'une composante d'un compteur CT également stocké dans la mémoire 4 avant la mise en oeuvre d'une étape critique de la transaction, et - Une instruction 7 pour effectuer une décrémentation finale de ladite composante après le début de la mise en oeuvre de l'étape critique de la 25 transaction. Le compteur CT est stocké dans la mémoire non volatile réinscriptible 4, de ce fait, ce compteur conserve son état après la mise en oeuvre d'une transaction complète ou incomplète. Le compteur CT comporte quatre composantes référencées SF[0], SF[1], SF[2], et SF[3]. 30 Dans un exemple particulier, la carte à puce 1 comporte : - Un module d'incrémentation (non représenté) apte à incrémenter au moins une composante au cours d'une transaction mise en oeuvre par le dispositif et avant la mise en oeuvre d'une étape critique de la transaction. - Un module de décrémentation (non représenté) apte à décrémenter 35 ladite au moins une composante au cours d'une transaction mise en oeuvre par le dispositif et après le début de la mise en oeuvre de l'étape 3038412 11 critique de la transaction, de sorte que le compteur retrouve un état initial mémorisée dans la mémoire avant ladite transaction. Sur la figure 3, on a représenté à la fois différentes étapes d'un procédé et l'état correspondant du compteur CL Dans cet exemple, la 5 transaction TR est une transaction EMV mise en oeuvre par une carte à puce analogue à celle de la figure 2. Aussi, dans cet exemple, les incrémentations et les décrémentations du compteur sont toutes mises en oeuvre simultanément à des étapes d'écritures propres aux étapes de la transaction, et ces écritures sont des écritures atomiques. 10 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é. L'étape initiale E10 de sélection d'application ne fait pas à proprement parler parti de la transaction TR. Cette étape comporte un 15 envoi par un lecteur d'une commande dite APDU (« Application Protocol Data Unit ») vers la carte à puce visant la sélection d'application. A cette étape, le compteur CT est dans son état initial, les cinq composantes sont respectivement SF[0], SF[1], SF[2], et SF[3]. La transaction TR commence ici dans une étape E20 d'initialisation 20 de traitement d'application (« Initiate application processing » en langue anglaise) et qui est amorcée par une commande APDU « Get Processing Options » envoyée par un lecteur. Au cours de l'étape E20 d'initialisation de traitement d'application, une valeur de compteur d'application de transaction (« ATC : Application Transaction Counter ») est inscrite dans la 25 mémoire 4 de la carte à puce. L'écriture de la valeur de compteur d'application de transaction est sécurisée, et l'incrémentation initiale E21 est mise en oeuvre simultanément à cette écriture sécurisée pour incrémenter toutes les composantes du compteur CT (en additionnant 1 à chaque SF[i]). Cette 30 écriture simultanée est une écriture atomique bien connue de l'homme du métier, dans laquelle les données à écrire (le compteur ATC et le compteur CT) sont écrites dans une mémoire tampon avec un bit précisant que ces données sont prêtes à être écrites. Une étape suivante de la transaction est l'étape de lecture de 35 données d'application E30 (« Read application data » en langue anglaise), qui comporte une étape d'écriture de données relatives à la transaction 3038412 12 (utilisation d'un mode avec contact ou sans-contact) dans la mémoire 4. Au cours de l'écriture de données relatives à la transaction, on décrémente la composante SF[0] (étape E31) qui retrouve sa valeur initiale. On met ensuite en oeuvre une authentification hors ligne de 5 données ou une authentification dynamique de données (E40) dans laquelle on effectue une écriture dans la mémoire 4 d'un compteur lié à un cryptogramme ou à une clé. Au cours de cette écriture, on décrémente la composante SF[1] (étape E41) qui retrouve sa valeur initiale. L'étape de vérification d'identité E50 est ensuite mise en oeuvre. 10 Dans cette étape, un code personnel est entré par l'utilisateur (code PIN), et cela est accompagné par des écritures dans la mémoire 4 de compteurs de code saisi erroné (par exemple pour empêcher la saisie consécutive de trois codes erronés). Au cours de l'une de ces écritures, on effectue simultanément une décrémentation de la composante SF[2] (étape E51) 15 qui retrouve sa valeur initiale. La transaction peut comporter une étape d'analyse d'action de carte E60, dans laquelle il est décidé si la transaction se poursuit en ligne ou hors ligne. Cette étape ne comporte pas d'écriture dans la mémoire de la carte à puce et elle n'est donc pas utilisée par le procédé selon 20 l'invention pour mettre en oeuvre des décrérnentations. Une étape de génération de cryptogramme (« generate cryptogram ») est ensuite mise en oeuvre de manière en ligne (étape E70) ou hors ligne (étape E70'). Différentes données peuvent être écrites dans la mémoire 4 au cours de ces étapes E70 et E70', en particulier des 25 registres de transaction, et des cryptogrammes. Au cours de l'une des étapes d'écriture propre à une étape de génération de cryptogramme, on effectue une décrémentation finale (E71 et E71') dans laquelle on décrémente la dernière composante SF[3] de sorte que le compteur dans son ensemble retrouve son état initial. 30 Dans l'exemple illustré ci-dessus en référence à la figure 3, la transaction est complétée normalement. La figure 4 présente l'évolution de la valeur du compteur CT au cours d'une transaction interrompue au cours de l'étape de vérification d'identité E50. 3038412 13 Comme on peut le constater sur la figure, la composante SF[2] n'a pas été décrémentée, et tel est également le cas pour la composante SF[3], puisqu'aucune étape de génération de cryptogramme E70 et E70'. A la fin de la transaction, les composantes SF[2] et SF[3] ont 5 toutes les deux une valeur incrémentée de 1 par rapport au début de la transaction. Le nouvel état du compteur est conservé et lors de la prochaine transaction non-complétée, ces composantes peuvent encore être incrémentées. Il apparait que la lecture de la composante SF[3], c'est-à-dire la 10 dernière composante, indique le nombre total de transactions non complétées. Le nombre de transactions non-complétées à une étape précise de la transaction peut être calculé en calculant la différence entre la composante associée à cette étape et la composante précédente (i.e. 15 SF[i]-SF[i-1]). Si le compteur dépasse un seuil, par exemple si la dernière composante dépasse 100 ou 1000, alors on peut mettre en oeuvre un traitement de sécurité comportant un envoi dudit compteur à un terminal externe tel qu'un lecteur de carte. Cet envoi peut être réalisé au cours 20 d'une transaction ultérieure, et la comparaison peut être effectuée par un processeur 3 d'une carte à puce. En envoyant le compteur à un terminal, on peut transmettre le compteur à l'entité émettrice de la carte à puce, par exemple une banque. La lecture du compteur comportant plusieurs composantes peut indiquer 25 un type d'attaque mis en oeuvre à contre la carte, ou encore quel type de défaillance présente la carte à puce. Le traitement de sécurité peut par ailleurs comporter une mise en oeuvre d'action de protection au sein de la carte tel qu'un blocage de la carte. Un tel blocage peut intervenir si un seuil supplémentaire est 30 dépassé. REVENDICATIONS1. Procédé de contrôle mis en oeuvre par un dispositif électronique, ledit procédé comportant, au cours d'une transaction mise en oeuvre par le dispositif, les étapes suivantes : - un changement d'état initial (E01) d'une composante d'un indicateur 10 ayant au moins ladite composante, le changement d'état initial étant réalisé avant la mise en oeuvre d'une étape critique de la transaction, et l'indicateur ayant un état initial avant ledit changement d'état initial, - un changement d'état inverse final (E04) dudit indicateur après le début de la mise en oeuvre de l'étape critique de la transaction (E03), de sorte 15 que l'indicateur retrouve ledit état initial. 2. Procédé selon la revendication 1, dans lequel ledit indicateur comporte une pluralité de composantes, ledit changement d'état initial comportant un changement d'état de chaque composante de l'indicateur, et ledit changement d'état final comporte un changement d'état inverse 20 d'au moins l'une desdites composantes de l'indicateur pour retrouver l'état de la composante avant le changement d'état initial de cette composante. 3. Procédé selon la revendication 2, dans lequel la transaction comporte plusieurs étapes postérieures audit changement d'état initial, le procédé comprenant pendant ou après chacune des étapes un 25 changement d'état inverse de l'une des composantes de l'indicateur. 4. Procédé selon la revendication 3, comprenant un changement d'état inverse pendant une étape de la transaction et au cours d'une étape d'écriture dans une mémoire du dispositif propre à l'étape de la transaction. 30 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la transaction est une transaction EMV. 6. Procédé selon les revendications 4 et 5, dans lequel le changement d'état initial (E21) est mis en oeuvre pendant une étape d'initialisation de traitement d'application (E20), le changement d'état 35 initial étant mis en oeuvre au cours d'une étape d'écriture d'une valeur de compteur d'application de transaction (ATC) dans ladite mémoire, et 3038412 15 le changement d'état final (E71, E71') est mis en oeuvre pendant ladite étape critique, l'étape critique étant une étape de génération de cryptogramme (E70, E70'), le changement d'état final étant mis en oeuvre au cours d'une étape d'écriture dans ladite mémoire propre à l'étape de génération de cryptogramme. 7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel au moins un changement d'état et/ou au moins un changement d'état inverse est mis en oeuvre sous le contrôle d'un module de commande de l'exécution de la transaction. 8. Procédé selon l'une quelconque des revendications 1 à 7, comportant une étape ultérieure de déduction d'un compteur de transaction non complétées à partir dudit indicateur. 9. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel l'indicateur est un compteur de transactions non complétées, ledit 15 changement d'état initial étant une incrémentation initiale, ledit changement d'état inverse final étant une décrémentation finale. 10. Procédé selon l'une quelconque des revendications 8 ou 9, comportant en outre une comparaison dudit compteur à un seuil et, si ledit compteur est supérieur audit seuil, alors on met en oeuvre un 20 traitement de sécurité. 11. Procédé selon la revendication 10, dans lequel le traitement de sécurité comporte un envoi dudit compteur à un terminal externe. 12. Programme d'ordinateur comportant des instructions pour l'exécution des étapes d'un procédé de contrôle selon l'une des 25 revendications 1 à 11 lorsque ledit programme est exécuté par un processeur. 13. 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é de contrôle selon l'une 30 quelconque des revendications 1 à 11. 14. Dispositif électronique comprenant : - une mémoire (3) dans laquelle est mémorisé un indicateur ayant au moins une composante, - un module de changement d'état (6) apte à changer l'état de ladite au 35 moins une composante au cours d'une transaction mise en oeuvre par le dispositif et avant la mise en oeuvre d'une étape critique de la transaction, 3038412 16 - un module de changement d'état inverse (7) apte à changer l'état de ladite au moins une composante au cours de la transaction mise en oeuvre par le dispositif et après le début de la mise en oeuvre de l'étape critique de la transaction, de sorte que l'indicateur retrouve un état initial 5 mémorisé dans la mémoire avant ladite transaction. 15. Carte à puce comprenant le dispositif selon la revendication 14.