FR2864277A1 - Protection de puces contre des attaques - Google Patents

Protection de puces contre des attaques Download PDF

Info

Publication number
FR2864277A1
FR2864277A1 FR0412996A FR0412996A FR2864277A1 FR 2864277 A1 FR2864277 A1 FR 2864277A1 FR 0412996 A FR0412996 A FR 0412996A FR 0412996 A FR0412996 A FR 0412996A FR 2864277 A1 FR2864277 A1 FR 2864277A1
Authority
FR
France
Prior art keywords
chip
clock
counter
processing unit
card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0412996A
Other languages
English (en)
Other versions
FR2864277B1 (fr
Inventor
Peter Laackmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of FR2864277A1 publication Critical patent/FR2864277A1/fr
Application granted granted Critical
Publication of FR2864277B1 publication Critical patent/FR2864277B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Abstract

Une puce comporte des moyens (16) de traitement pour effectuer une opération déterminée à l'avance, des moyens pour fournir l'horloge (1), avec laquelle sont synchronisés les moyens de traitement, un compteur (11) pour augmenter ou diminuer un compte sur la base de l'horloge, des moyens de signalisation (21) de l'opération déterminée à l'avance à empêcher, en fonction du compte, et des moyens pour mémoriser (36) de manière non volatile le compte.

Description

PROTECTION DE PUCES CONTRE DES ATTAQUES
La présente invention se rapporte à des puces et notamment à des i o moyens de protection de puces pour empêcher un accès sans limite à ces dernières.
Les concepts de protection des puces actuelles sont conçus de sorte qu'ils déterminent uniquement le nombre de tentatives d'authentifications et d'authentifications respectivement. Dans la présente i> Demande, des puces signifient un dispositif à semi-conducteur ayant un circuit intégré, tandis que des cartes à puce sont constituées de la puce et d'un support, tel qu'un support en matière plastique. Dans une carte GSM SIM actuelle, par exemple, le nombre de tentatives d'authentifications potentielles est limité à trois. Un programme dans une unité de traitement dans une carte SIM GSM détermine le nombre de tentatives d'authentifications par l'intermédiaire d'un compteur et compare si le compte dépasse la valeur maximum. Si cela est le cas, la carte est bloquée.
La Figure 6 représente une carte SIM GSM de ce genre. Elle comporte une borne 1 d'horloge, une borne 2 de tension d'alimentation, une borne 6 de bus de données, une unité 16 de traitement, une mémoire 26, un compteur 11 et une mémoire 36 non volatile. La borne 1 d'horloge et la borne 6 de bus de données sont connectées à l'unité 16 de traitement et à la mémoire 26. Une sortie des moyens 16 de traitement est connectée à l'entrée du compteur 11, une sortie du compteur 11 est connectée à une entrée de 3o l'unité 16 de traitement. Ainsi, il y a une connexion bidirectionnelle entre l'unité 16 de traitement et le compteur 11. Une sortie supplémentaire du compteur est connectée à l'entrée d'une mémoire 36 non volatile et une sortie de la mémoire 36 non volatile à une entrée du compteur 11. Ainsi, il y a de nouveau une connexion bidirectionnelle entre le compteur 11 et la mémoire 36 non volatile. L'unité 16 de traitement est adaptée pour effectuer des opérations. Ces opérations peuvent être la lecture de contenus de la mémoire 26, le traitement de ces contenus et l'écriture par la suite des contenus dans la mémoire 26. En fonction de certaines instructions ou de certaines instructions pour demander une tentative d'authentification, l'unité de traitement signale au compteur d'augmenter son compte de un. Le compteur 11 mémorise son compte en cours dans la mémoire 36 non volatile. Si la tension d'alimentation est débranchée à la borne 2 de tension d'alimentation, la mémoire 36 non volatile conserve le dernier état du compteur 11. Si une tension d'alimentation est appliquée de nouveau à la borne 2 de tension d'alimentation, le compteur 11 lit son compte de sortie de io la mémoire 36 non volatile avant de recevoir des signaux supplémentaires de l'unité 16 de traitement. Si le compteur 11 atteint une certaine valeur telle que 3, un certain procédé d'accès à la puce, ce qui signifie que des tentatives d'authentifications supplémentaires par l'intermédiaire de l'entrée d'un numéro d'identification à quatre chiffres (numéro PON) sont empêchées. Ainsi, la carte SIM GSM ne permet pas de tentatives d'authentifications supplémentaires de cette manière. La puce peut alors uniquement être débloquée par l'intermédiaire de l'entrée d'un numéro d'identification très long, que le client reçoit de l'opérateur de téléphonie mobile lorsqu'il signe un contrat.
Cependant, ce procédé n'empêche pas qu'un attaquant potentiel effectue une analyse de courant, des attaques de pointe et des attaques similaires de la puce sur une durée sans liimite ou sur un nombre sans limite de cycles d'horloge. Par ces procédés, l'attaquant potentiel peut obtenir des informations intéressantes concernant la structure, la construction et le contenu des éléments de mémoire de la puce et acquérir ainsi des données secrètes. Pour ces attaques, une authentification n'est pas nécessaire, ce qui est la raison pour laquelle le mécanisme de protection fait défaut.
Le problème d'essayer d'empêcher des attaques supplémentaires, qui ne nécessitent pas d'authentification, est que les testeurs de puces actuelles avec des microcontrôleurs et des mémoires de sécurité telles qu'une carte intelligente n'ont pas d'horloge, de sorte que l'opération ne peut pas être limitée dans le temps. Il n'y a pas de référence temporelle pour détecter la période de temps à l'intérieur de laquelle un attaquant essaie d'obtenir des informations par l'intermédiaire de la puce.
Jusqu'à maintenant, le couplage temporel était uniquement mis en oeuvre dans des modèles de sécurité, classiquement dans des applications d'accès à distance, telles que des modules d'autorisation d'accès pour des moyens solides, tels que pour des jetons sécurisés avec une horloge à temps réel, qui nécessite une mise en tampon de batteries et une production d'horloge à quartz. En raison de leur épaisseur, ces éléments ne peuvent pas être utilisés dans les cartes à puce qui sont mises en circulation de manière très large aujourd'hui.
L'objectif de la présente invention est de mettre à disposition une puce, de sorte que la mise en fonctionnement de la puce d'une manière sans limite dans le temps est empêchée.
Cet objectif est atteint par une puce, caractérisée en ce qu'elle i o comporte: une unité de traitement pour effectuer une opération déterminée à l'avance des moyens pour fournir une horloge par laquelle les moyens de traitement sont synchronisés; un compteur pour augmenter ou diminuer un compte sur la base de l'horloge; et des moyens pour signaler que l'opération déterminée à l'avance doit être empêchée, en fonction du compte, et par un procédé pour commander une puce comportant des moyens de traitement pour effectuer une opération déterminée à l'avance, le procédé étant caractérisé en ce qu'il comporte les étapes qui consistent: à prendre une horloge avec laquelle les moyens de traitement sont synchronisés; à augmenter ou diminuer un compte en réponse à l'horloge; et à signaler que l'opération déterminée à l'avance doit être empêchée en fonction du compte.
L'idée centrale de la présente invention consiste à utiliser une horloge qui est fournie à des moyens de traitement de la puce pour une référence temporelle, par un compteur qui augmente ou diminue un compte o en réponse à cette horloge. Si le compte remplit une condition déterminée à l'avance, une unité correspondante sur la puce peut signaler que cette valeur a été atteinte et dépassée respectivement de sorte que la puce n'effectue plus cette opération. Ou le compte est toujours mémorisé d'une manière non volatile de sorte que cette valeur peut être extraite, par exemple d'un dispositif externe pour tester s'il est toujours permis de faire fonctionner la puce.
L'horloge qui est utilisée peut être produite par un dispositif externe, tel qu'une borne ou être déduite de cette dernière.
Un avantage de la présente invention consiste en ce qu'une puce a une référence de temps et une référence de nombre de cycles d'horloge, respectivement, qui permet à des moyens de traitement ou à un dispositif externe communiquant avec ces derniers d'empêcher une opération déterminée à l'avance lorsqu'un certain ternps et un certain nombre de cycles d'horloge respectivement a été dépassé.
Si le compte est mémorisé dans une mémoire non volatile, ceci lo permet aux moyens de traitement en outre d'empêcher certaines opérations en fonction d'un historique précédent de la puce, qui sont antérieures au dernier démarrage et démarrage en cours respectivement, et l'alimentation de la puce avec une tension de fonctionnement qui lui est connectée.
En particulier, dans le cas de la mémoire non volatile, la puce serait is capable de mémoriser des informations concernant la durée d'attaque potentielle et de signaler ces dernières à un dispositif externe. Ceci permet par exemple d'empêcher l'utilisation de cartes à puce au-delà d'un certain temps de fonctionnement.
En outre, dans le cas de la mémoire non volatile et de la communication avec un dispositif externe, tel qu'une borne, le suivi de la manipulation de cartes à puce peut être rendue plus facile. Si par exemple un criminel manipule une puce après de longs tests et analyses de sorte qu'elle est chargée de manière illégale de quantités d'argent supplémentaires, le terminal, tel qu'une caisse enregistreuse dans un magasin, peut extraire cette information concernant la longueur des tests et d'analyses lorsque la carte est utilisée et les transmettre à la police pour confondre le criminel.
Surtout, lorsque la puce est synchronisée de manière continue dans une boîte supérieure de réglage, la présente invention vise la possibilité d'empêcher des opérations déterminées à l'avance après l'expiration d'un temps de fonctionnement défini. Ainsi, des cartes à puce peuvent être produites qui bloquent la réception de programmes après l'expiration d'un laps de temps fixe, telles que les cartes de TV payantes.
Des modes de réalisation préférés de la présente invention sont décrits ci-dessous plus en détail en référence aux dessins annexés qui 35 représentent: à la Figure 1 un schéma synoptique d'une puce conforme à un mode de réalisation de la présente invention à la Figure 2 un schéma synoptique d'une puce conforme à un mode de réalisation de la présente invention à la Figure 3 un schéma synoptique d'une puce conforme à un mode de réalisation de la présente invention à la Figure 4 un schéma synoptique d'une puce conforme à un mode de réalisation de la présente invention à la Figure 5 un schéma synoptique d'une puce conforme à un 10 mode de réalisation de la présente invention; à la Figure 6 un schéma synoptique d'une puce classique.
La Figure 1 représente un schéma synoptique d'une puce conforme à un mode de réalisation de la présente invention. Le schéma synoptique comporte une borne 1 d'horloge, une borne 2 de tension d'alimentation, une borne 6 de bus de données, un compteur 11, une mémoire 36 non volatile, une unité 16 de traitement, une mémoire 26 et une unité 21 formant moniteur. La borne 1 d'horloge est connectée à une entrée du compteur 11, à une entrée de l'unité 16 de traitement et à une entrée de la mémoire 26.
La borne 6 de bus de données est connectée à l'unité 16 de traitement ou à la mémoire 26, dans laquelle la connexion peut être réalisée par l'intermédiaire d'une buse de données de traitement, qui est soit sous la forme d'une ligne ou qui est soit sous la forme de plusieurs lignes. Ces lignes peuvent alors être divisées en lignes pour des adresses et/ou des données et/ou des sélections de puce et/ou des signaux d'instruction, par exemple. La borne 6 de bus de données est connectée à l'unité 16 de traitement et à la mémoire 26. Une sortie du compteur 11 est connectée à une entrée de la mémoire 36 non volatile, tandis qu'une sortie de la mémoire 36 non volatile est connectée à une entrée du compteur 11. Ainsi, il y a une connexion bidirectionnelle entre le compteur 11 et la mémoire 36 non volatile. Une sortie supplémentaire du compteur 11 est connectée à une entrée de l'unité 21 de surveillance. La sortie de l'unité 21 de surveillance est appliquée à une entrée de l'unité 16 de traitement.
Bien entendu, la puce peut contenir n'importe quel nombre d'unités 35 supplémentaires, telles que des unités de traitement supplémentaires, des unités de mémoire supplémentaires ou un nombre arbitraire de modules de circuit (transducteurs analogiques/numériques, comparateurs, etc.). Ceux-ci peuvent bien entendu être connectés à la borne 1 d'horloge et à la borne 6 de bus de données. En outre, l'unité 21 de surveillance peut être intégrée dans l'unité 16 de traitement ou l'unité 16 de traitement peut prendre en charge sa fonctionnalité. La mémoire 36 non volatile peut bien entendu également être intégrée dans la mémoire 26 lorsque cette dernière est mise en oeuvre d'une manière non volatile. La borne 1 d'horloge et la borne 6 de bus de données servent de bornes externes pour la communication avec un dispositif externe, telle qu'une borne, pour obtenir une synchronisation et des données de cette dernière, et pour fournir des données à cette dernière. Ils peuvent être mis en oeuvre en tant qu'interface de contact, lorsque la puce est un module de circuit dans une carte à puce de moindre contact.
Une horloge ou une séquence d'horloge déterminée à l'avance à la borne 1 d'horloge synchronise l'unité 16 de traitement et la mémoire 26.
Celles-ci communiquent par l'intermédiaire du bus de données soit l'une avec l'autre, l'unité 16 de traitement extrayant des données de la mémoire 26, traite et les mémorisant de nouveau dans la mémoire 26, soit un dispositif externe communique par l'intermédiaire de la borne 6 de bus de donnée avec l'unité 16 de traitement ou par l'intermédiaire du bus de données avec la mémoire 26. Bien entendu, l'unité 16 de traitement peut exécuter certaines instructions en réponse aux données reçues d'un dispositif externe, ou peut diriger un dispositif externe pour exécuter certaines instructions. Ainsi, un dispositif externe peut obtenir des informations concernant les données et la mémoire 26, éventuellement les changer ou écrire de nouvelles données dans la mémoire 26. Une horloge à la borne 1 d'horloge augmente ou diminue le compte d'un compteur 11 à chaque impulsion d'horloge. Le compte du compteur 11 est passé à une mémoire 36 non volatile et à une unité 21 de surveillance par intervalles déterminés à l'avance, tel qu'après expiration d'un nombre déterminé à l'avance de cycles d'horloge. L'objectif de la mémoire 36 non volatile est de maintenir ce compte même lorsque l'on déconnecte la tension d'alimentation à la borne 2 de tension d'alimentation de la puce dans ce mode de réalisation. Si la tension à la borne 2 de tension d'alimentation pour la puce dans ce mode de réalisation n'est pas appliquée, la mémoire 36 non volatile conserve le compte en cours. Si ensuite la tension d'alimentation à la borne 2 de tension d'alimentation est appliquée de nouveau, le compteur 11 lit d'abord le compte de la mémoire 36 non volatile dans ces registres internes (non représentés). Ensuite, il commence à augmenter ou diminuer de nouveau son compte avec cette valeur en fonction des impulsions à la borne 1 d'horloge. Ainsi, la mémoire 36 non volatile permet que le compte du compteur 11 soit toujours fonction de la quantité totale de cycles d'horloge appliquée à la borne 1 de commande sur toute la durée de fonctionnement, indépendamment du fait de savoir si la tension d'alimentation a été appliquée ou non. Le compte du compteur 11 est passé à l'unité 21 de surveillance, qui surveille le dépassement ou le sous-dépassement d'une certaine valeur par le compte et communique un signal à l'unité 16 de traitement dans le cas d'un Io surdépassement ou d'un sous-dépassement. L'unité 16 de traitement charge ce signal et empêche, si ce dernier est chargé, une ou certaines opérations, que l'unité 16 de traitement peut exécuter, et qui pourraient sinon être exécutées par cette dernière. Ces opérations déterminées peuvent être des opérations qui ne sont pas nécessairement exécutées par l'unité de traitement seule, mais par exemple également lors d'accès à l'unité 26 de mémoire ou en coopération avec d'autres modules de circuit.
Si un attaquant tente d'obtenir des informations concernant la construction, la structure, les éléments de circuit ou les données sur la puce dans un laboratoire test, tel que dans une analyse de puissance différentielle DPA, la synchronisation de la puce à la borne 1 d'horloge sur une durée est nécessaire. Cette durée de test et d'analyse est classiquement longue par rapport à la durée pendant laquelle la puce est normalement en fonctionnement. Le compteur 11 charge en outre ces cycles d'horloge à la borne 1 d'horloges tandis que le test et l'analyse de la puce sont effectués par un attaquant. À partir d'une certaine valeur du compte 11 et ensuite, l'unité 21 de surveillance se rend compte qu'un seuil critique a été dépassé ou sous-passé. Il signale cet état à l'unité 16 de traitement. Ainsi, l'unité 16 de traitement se rend compte qu'une attaque sur la puce a eu lieu et empêche des opérations déterminées à l'avance supplémentaires sur la puce. Même lorsque l'attaquant cesse d'appliquer la tension d'alimentation, le dernier état du compteur 11 est mémorisé dans la mémoire 36 non volatile. Le compteur commence alors à augmenter et diminuer encore plus son compte avec cette valeur mémorisée. Un attaquant ne peut pas ainsi passer outre le mécanisme de protection du mécanisme de protection du compteur 11 en cessant d'appliquer la tension d'alimentation. Ainsi, après l'expiration d'un nombre déterminé à l'avance de cycles d'horloge à la borne 1 d'horloge, qui correspond de nouveau à une durée de fonctionnement déterminée de la puce, la puce peut empêcher les fonctionnements, tels que des opérations critiques de sécurité, des fonctions de débit, des algorithmes cryptographiques, des authentifications et des opérations aux données secrètes effectuées par l'unité 16 de traitement. Ceci protège la puce de manipulations par un attaquant, qui aurait obtenu des informations concernant la construction, la structure et les modules de circuit et/ou les données mémorisées sur une puce dans un laboratoire de tests sur une durée typiquement longue comparée à la durée de fonctionnement de la puce.
io Dans un mode de réalisation supplémentaire conforme à la Figure 2, contrairement à la Figure 1, une sortie ou plusieurs sorties de l'unité 21 de surveillance sont appliquées à une borne 31 de bus de signal. La différence par rapport au mode de réalisation de la Figure 1 est que l'unité 21 de surveillance communique avec un dispositif externe par l'intermédiaire du is terminal 31 de bus de signal pour signaler à ce dernier le sous-dépassement ou le surdépassement d'un compte déterminé à l'avance. Le dispositif externe peut par exemple être un guichet automatique de banque, un lecteur de cartes à un magasin, une caisse d'enregistreuse ou un téléphone public qui sont informés concernant le temps de fonctionnement de la puce et ainsi concernant des manipulations éventuelles de cette dernière. Ils peuvent alors empêcher des opérations, telles que l'utilisation du téléphone ou le retrait d'argent et au-delà de cela fournir à la police des données concernant la manipulation sur la puce.
Dans un mode de réalisation supplémentaire conforme à la Figure 3, contrairement à la Figure 2, le signal de sortie de l'unité 21 de surveillance est appliqué au moins partiellement à la borne 6 de bus de données. De cette manière, l'unité 21 de surveillant peut envoyer des informations à l'unité 16 de traitement, à la mémoire 26 ou à un dispositif externe, tel qu'un guichet automatique de banque. Ces communications peuvent bien entendu également être effectuées de manière bidirectionnelle et l'unité 16 de traitement peut alors demander des valeurs déterminées à l'avance ou des informations déterminées à l'avance de l'unité 21 de surveillance, tel que le compte. Sur la base des signaux ou des informations provenant de l'unité 21 de surveillance, l'unité 16 de traitement ou un dispositif externe peut empêcher des opérations définies à l'avance. Bien entendu, des informations provenant de l'unité 21 de surveillance peuvent d'abord être mémorisées dans la mémoire 26 et extraites de celle-ci par l'unité 16 de traitement sur un dispositif externe. Ainsi, l'unité 16 de traitement ou un dispositif externe obtient les informations concernant les bus de données par l'intermédiaire du terminal 6 de bus de données concernant la période de fonctionnement et le nombre de cycles d'horloge respectivement, qui ont été appliqués à la puce, surtout sa durée de vie indépendamment de la commutation ou décommutation de la tension d'alimentation. De nouveau, par exemple, un guichet, s'il s'agit du dispositif externe, peut confisquer la carte après une durée de fonctionnement excessivement longue de la puce, qui io peut probablement être attribuée à une manipulation et à une tentative de manipulation respectivement. Un cas supplémentaire pour l'application est possible en ce que l'unité 16 de traitement empêche déjà la lecture de données secrète, telles que les numéros d'identification cryptés dans une carte GSM lors de la signalisation de cette durée de fonctionnement excessivement grande. Un avantage supplémentaire de ce mode de réalisation conforme à la Figure 3 comparé au mode de réalisation conforme à la Figure 2 est lorsque la puce est utilisée dans ce que l'on appelle des cartes à moindre contact. Dans ces cartes, il n'y a pas de possibilités de conduire vers l'extérieur le bus de signal par une borne supplémentaire.
L'unité 16 de traitement sur une puce, qui a été conçue en tant qu'une unité de traitement de sécurité et qui lit son programme dans la mémoire 26 peut par exemple demander le compte par l'intermédiaire de l'unité 21 de surveillance et mémoriser la valeur du temps courant jusqu'à maintenant par intervalles réguliers dans la mémoire 26, qui est dans ce cas non volatile. Ici, il est avantageux de sélectionner des intervalles, qui ne placent pas une charge excessive sur la mémoire, telle que des minutes ou des heures. En fonction de l'application, les valeurs maximums de la durée de fonctionnement peuvent être choisies librement. Un cas d'application serait une carte de télévision payante avec une puce comme à la Figure 3 avec une durée de vie fixe. La carte reçoit de manière constante une synchronisation et du courant dans le boîtier supérieur d'ensemble; après par exemple un an la carte est bloquée automatiquement.
Dans un mode de réalisation conforme à la Figure 4, la mémoire 36 non volatile est omise contrairement à la Figure 1. L'unité 21 de surveillance surveille le compte 11 et signale à l'unité 16 de traitement lorsqu'une valeur définie est dépassée ou sous-passée. Ensuite, l'unité 16 de traitement empêche de nouveau des opérations définies à l'avance. Un cas d'application pour ce mode de réalisation pourrait être une carte jetable pour un programme de télévision payant, qui pourrait permettre par exemple de voir une fois pour toute un film pendant deux heures. Dans cet agencement, toute information concernant des événements qui ont eu lieu avant l'application de la tension d'alimentation à la puce est perdue. En omettant la mémoire non volatile, on permet que la puce agisse sans des techniques de mémoires non volatiles pouvant écrites et on réduit ainsi les coûts pour le processus de production.
La Figure 5 illustre le schéma synoptique d'une puce conforme à un mode de réalisation supplémentaire conforme à la présente invention. Contrairement à la Figure 1, cette Figure comporte un diviseur 41, qui est appliqué à une borne 1 d'horloge et envoie son signal de sortie au compteur 11. Après une séquence de N cycles d'horloge, le diviseur 41 produit un signal d'horloge pour le compteur 11. Le compteur détermine le nombre de cycles d'horloge à sa sortie et le transmet à l'unité 21 de surveillance. Si l'unité 21 de surveillance détermine que le compte dépasse ou sous-passe une valeur déterminée à l'avance, il dirige l'unité 16 de traitement pour empêcher des opérations déterminées. Ici, une configuration est possible où par exemple un facteur N de diviseur déterminé est réglé par l'unité 16 de traitement dans le diviseur 41. Il est avantageux que ce facteur de division ne soit pas modifié pendant le fonctionnement. Insérer le diviseur 41 peut diminuer la complexité du compteur 11 et de la mémoire 36 non volatile de manière significative. Ensuite, la mémoire 36 non volatile a uniquement à mémoriser un nombre significativement plus petit de cycle d'horloges du compteur 11 et nécessite significativement moins de cellules de mémoire.
Ainsi, la durée de fonctionnement d'une carte de téléphone peut être limitée. Comme il s'agit d'une carte synchrone, le nombre de cycles d'horloge maximum plus une valeur de sécurité sont connus de manière exacte, si la carte est mise en fonctionnement dans un lecteur de poche. Les signaux d'horloge sont fournis au diviseur dans la puce, qui envoie un signal au compteur 11 après N cycles d'horloge, qui diminue de nouveau son compte et mémorise la nouvelle valeur dans la mémoire non volatile. Si le compte est nul, la puce sur la carte ne peut plus être utilisée pour payer les taxes. Les montants unitaires peuvent toujours être lus mais ne sont plus valables.
Les modes de réalisation ci-dessus représentent comment une puce utilise l'horloge appliquée à partir de l'extérieur pour mesurer le temps de fonctionnement de la carte. Par l'intermédiaire d'un diviseur d'horloges, les signaux d'horloge sont divisés en des unités de temps pouvant être utilisées, qui sont mémorisées de manière permanente en des intervalles réguliers (N horloges) dans la mémoire de la carte à puce. Ainsi, aucun composant supplémentaire n'est nécessaire.
Dans ces modes de réalisation, il est expliqué comment la mesure des signaux d'horloge expirés ou des cycles d'horloge expirés est effectuée Io par l'intermédiaire d'un compteur (de manière avantageuse dans ce que l'on appelle des mémoires sûres) ou des dispositifs de synchronisation (de manière avantageuse dans des contrôleurs de sécurité) et le stockage cumulatif des informations de temps de la mémoire non volatile de la carte acquises de cette manière.
1s Un exemple pour l'application des principes décrits dans les modes de réalisation dans une carte de mémoire est une carte de téléphone, où la durée de fonctionnement doit être limitée. Comme il s'agit d'une carte synchrone, le nombre de cycles d'horloge maximum plus une valeur de sécurité (si elle est mise en fonctionnement dans le lecteur de cartes à poche, etc.) est exactement connu. Les signaux d'horloge et les cycles d'horloge, respectivement, sont fournis à un compteur dans la carte, qui déclenche une diminution d'une valeur de mémoire non volatile après N cycles d'horloge. Si la valeur de mémoire est zéro, la carte ne peut plus être utilisée. Les montants unitaires peuvent toujours être lus, mais ne sont plus valables.
Un exemple supplémentaire pour utiliser les principes décrits dans les modes de réalisation consiste en une carte à puce munie d'un contrôleur de sécurité, qui est équipé d'un synchronisateur. Un programme résident (dans la ROM) du contrôleur de sécurité interroge le dispositif de synchronisation et mémorise la valeur du temps qui court jusqu'à maintenant par intervalles réguliers dans la mémoire non volatile.
L'unité 16 de traitement peut par exemple être conçue comme un noyau processeur ou comme un système logique. Bien que ci-dessus les moyens pour fournir l'horloge soient une borne d'horloge externe, cette dernière peut à la place être mise en oeuvre par un oscillateur formé de manière interne dans la puce. La mémoire non volatile peut également exister sous la forme d'une EEPROM ou d'une mémoire flash. En outre, pour empêcher les opérations déterminées, des données de sécurité peuvent également être effacées.

Claims (8)

REVENDICATIONS
1. Puce, caractérisée en ce qu'elle comporte: une unité (16) de traitement pour effectuer une opération déterminée à l'avance; des moyens pour fournir une horloge (1) par laquelle les moyens (16) de traitement sont synchronisés; un compteur (11) pour augmenter ou diminuer un compte sur la base de l'horloge; et des moyens pour signaler (21) que l'opération déterminée à io l'avance doit être empêchée, en fonction du compte.
2. Puce, caractérisée en ce qu'elle comporte: des moyens (16) de traitement pour effectuer une opération déterminée à l'avance; des moyens pour fournir l'horloge (1) par laquelle les moyens (16) is de traitement sont synchronisés; un compteur (11) pour augmenter ou diminuer un compte sur la base d'une horloge; et des moyens pour mémoriser de manière non volatile (36) le compte.
3. Puce suivant la revendication 2, caractérisée en ce qu'elle comporte en outre des moyens pour signaler (21) que l'opération déterminée à l'avance doit être empêchée, en fonction du compte.
4. Puce suivant l'une des revendications 1 à 3, caractérisée en ce qu'elle comporte un diviseur (41) d'horloge pour produire une horloge divisée, dans lequel le compteur est formé pour effectuer l'augmentation ou la diminution en réponse à l'horloge divisée.
5. Puce suivant l'une des revendications 1 à 4, caractérisée en ce qu'elle utilise un noyau processeur pour signaler en fonction du compte.
6. Carte à puce ayant une puce conforme à l'une des
revendications 1 à 5.
7. Procédé pour commander une puce comportant des moyens (16) de traitement pour effectuer une opération déterminée à l'avance, le procédé étant caractérisé en ce qu'il comporte les étapes qui consistent: à prendre une horloge avec laquelle les moyens (16) de traitement sont synchronisés; à augmenter ou diminuer un compte en réponse à l'horloge; et à signaler que l'opération déterminée à l'avance doit être empêchée en fonction du compte.
io
8. Procédé pour commander une puce comportant des moyens (16) de traitement pour effectuer une opération déterminée à l'avance, le procédé étant caractérisé en ce qu'il comporte les étapes qui consistent: à prendre une horloge, avec laquelle les moyens (16) de traitement is sont synchronisés; à augmenter ou diminuer le compte en réponse à l'horloge; et à mémoriser de manière non volatile le compte.
FR0412996A 2003-12-23 2004-12-07 Protection de puces contre des attaques Expired - Fee Related FR2864277B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003160998 DE10360998B4 (de) 2003-12-23 2003-12-23 Schutz von Chips gegen Attacken

Publications (2)

Publication Number Publication Date
FR2864277A1 true FR2864277A1 (fr) 2005-06-24
FR2864277B1 FR2864277B1 (fr) 2007-10-19

Family

ID=34625696

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0412996A Expired - Fee Related FR2864277B1 (fr) 2003-12-23 2004-12-07 Protection de puces contre des attaques

Country Status (3)

Country Link
US (1) US8918610B2 (fr)
DE (1) DE10360998B4 (fr)
FR (1) FR2864277B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
DE10345240A1 (de) * 2003-09-29 2005-05-04 Infineon Technologies Ag Integrierte Schaltung mit Strahlungssensoranordnung
JP5876364B2 (ja) * 2012-04-13 2016-03-02 ラピスセミコンダクタ株式会社 半導体メモリ及びデータ読出方法
DE102015114233A1 (de) * 2015-08-27 2017-03-02 Infineon Technologies Ag Datenverarbeitungsvorrichtungen und Verfahren zum Speichern eines Datenvektors

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0314148A2 (fr) * 1987-10-29 1989-05-03 Toppan Printing Co., Ltd. Carte de haute sécurité à circuit intégré
US4853526A (en) * 1986-11-11 1989-08-01 Gao Gesellschaft Fur Automation Und Organisation Mbh Data carrier arrangement having an integrated circuit
FR2786007A1 (fr) * 1998-11-18 2000-05-19 Gemplus Card Int Procede de controle d'utilisation d'une carte a puce
WO2002009347A1 (fr) * 2000-07-11 2002-01-31 Setec Oy Procédé de traitement de clé secrète et dispositif
US20020124183A1 (en) * 2000-12-28 2002-09-05 Stmicroelectronics S.A. Method and device for protecting integrated circuits against piracy

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4175287A (en) * 1978-01-23 1979-11-20 Rockwell International Corporation Elastic store slip control circuit apparatus and method for preventing overlapping sequential read and write operations
US4538235A (en) * 1982-08-19 1985-08-27 Rockwell International Corporation Microcomputer retriggerable interval counter
US4823308A (en) * 1984-02-02 1989-04-18 Knight Technology Ltd. Microcomputer with software protection
JPH0476749A (ja) * 1990-07-19 1992-03-11 Toshiba Corp セキュリティ回路
JP2952111B2 (ja) * 1992-07-09 1999-09-20 キヤノン株式会社 データ制御装置
IL103062A (en) * 1992-09-04 1996-08-04 Algorithmic Res Ltd Data processor security system
JP3329496B2 (ja) * 1992-11-04 2002-09-30 富士通株式会社 Icカード
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
JPH07200767A (ja) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp メモリカード
FR2757654B1 (fr) * 1996-12-24 1999-02-05 Sgs Thomson Microelectronics Memoire avec zones protegees en lecture
JPH11203192A (ja) * 1998-01-16 1999-07-30 Sony Corp 並列プロセッサおよび演算処理方法
JP3611964B2 (ja) * 1998-04-16 2005-01-19 富士通株式会社 記憶装置、記憶制御方法及び記憶媒体
DE19831884C2 (de) 1998-07-17 2001-09-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
US6598150B2 (en) * 1999-02-26 2003-07-22 Arm Limited Asynchronously accessing the program counter values of a data processing system by applying an independent clock on the latching and scan-chain circuits
US6904514B1 (en) * 1999-08-30 2005-06-07 Ipflex Inc. Data processor
JP2001205867A (ja) * 2000-01-28 2001-07-31 Canon Inc 記憶装置と記憶データの処理方法、及び画像形成装置
WO2002023349A1 (fr) * 2000-09-18 2002-03-21 Kabushiki Kaisha Toshiba Support electronique portable
US6611773B2 (en) * 2000-11-28 2003-08-26 Power Measurement Ltd. Apparatus and method for measuring and reporting the reliability of a power distribution system with improved accuracy
US20030218896A1 (en) * 2002-05-22 2003-11-27 Pon Harry Q Combined memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853526A (en) * 1986-11-11 1989-08-01 Gao Gesellschaft Fur Automation Und Organisation Mbh Data carrier arrangement having an integrated circuit
EP0314148A2 (fr) * 1987-10-29 1989-05-03 Toppan Printing Co., Ltd. Carte de haute sécurité à circuit intégré
FR2786007A1 (fr) * 1998-11-18 2000-05-19 Gemplus Card Int Procede de controle d'utilisation d'une carte a puce
WO2002009347A1 (fr) * 2000-07-11 2002-01-31 Setec Oy Procédé de traitement de clé secrète et dispositif
US20020124183A1 (en) * 2000-12-28 2002-09-05 Stmicroelectronics S.A. Method and device for protecting integrated circuits against piracy

Also Published As

Publication number Publication date
DE10360998A1 (de) 2005-07-28
US20050141295A1 (en) 2005-06-30
US8918610B2 (en) 2014-12-23
DE10360998B4 (de) 2008-09-04
FR2864277B1 (fr) 2007-10-19

Similar Documents

Publication Publication Date Title
EP3243178B1 (fr) Procédé de traitement d'une transaction à partir d'un terminal de communication
EP3794538B1 (fr) Procédé et système d'enrolement autonome pour détenteur de dispositif biometrique
EP2463833A1 (fr) Procédé et dispositif de contrôle d'exécution pour des fonctions internes et des applications protégées embarquées dans des cartes à microcircuits pour terminaux mobiles
FR2878630A1 (fr) Batterie, systeme et procede d'authentification
EP3168769A1 (fr) Procédé d'aide à l'authentification d'un utilisateur, serveur et programme d'ordinateur correspondants
EP3608833A1 (fr) Acquisition d'une empreinte biométrique à partir d'une carte à puce
EP0999714A1 (fr) Procédé de programmation d'un appareil, notamment d'un téléphone mobile
FR2642544A1 (fr) Systeme de traitement de donnees a programme de securite
CA2199504A1 (fr) Procede et agencement pour donner selectivement un acces dans un systeme de securite
FR2864277A1 (fr) Protection de puces contre des attaques
EP1793322A1 (fr) Module de sécurité évolutif
EP2469904A1 (fr) Dispositif électronique et procédé de communication
FR2945141A1 (fr) Procede et systeme de gestion d'une application de paiement mobile sans contact mettant en oeuvre une verification de code personnel
FR2904505A1 (fr) Entite electronique portable securisee amovible comportant des moyens pour autoriser une retransmission differee
FR2973419A1 (fr) Procede et dispositif d'actionnement de serrure
WO2004084525A2 (fr) Procede de protection d’un terminal de telecommunication de type telephone mobile
FR3068497B1 (fr) Systeme et procede de definition d'un code personnel associe a un micro­circuit
EP3208731B1 (fr) Procede et dispositif de parametrage d'un dispositif pour effectuer des operations bancaires
EP3179400B1 (fr) Procédé de chargement d'une ressource informatique au sein d'un dispositif électronique, module électronique et programme d'ordinateur correspondant
FR2783270A1 (fr) Serrure electronique a commande dynamique et systeme de commande muni d'une telle serrure
EP4226343A1 (fr) Terminal de paiement électronique et procédé de détection d'un mode de paiement correspondant
EP3660738A1 (fr) Procede d'ajustement d'une duree maximale d'attente d'acquisition de caracteristiques biometriques et dispositif mettant en oeuvre ce procede
EP3836060A1 (fr) Traitement de transactions selon un profil opérationnel
WO2020260316A1 (fr) Procede de communication radiofrequence entre un lecteur et un dispositif relie a un peripherique, avec mesure de champ radiofrequence
FR3099272A1 (fr) Procédé de sécurisation, et dispositif électronique associé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 16

ST Notification of lapse

Effective date: 20210806