Brevet FR2775090A1 — publié le 19990820

L'invention concerne la sécurisation des objets portatifs de type carte à microcircuit. Ces objets portatifs peuvent prendre différentes formes tels que carte, badge, clef, étiquette, etc., et c'est uniquement par commodité que l'on utilisera par la suite le terme de "carte", sans que celui-ci n'ait aucun caractère limitatif. De la même façon, l'invention sera décrite principalement dans le cadre d'une carte du type "à contacts", c'est-à-dire dont la communication avec le microcircuit se fait par l'intermédiaire de plages métalliques assurant une liaison galvanique avec un terminal, mais elle est également applicable aux cartes du type "sans contact", opérant à distance du terminal par couplage non galvanique avec ce dernier, généralement par induction. Plus précisément, l'invention a trait à certaines attaques visant à vaincre la protection conférée par les circuits inhibiteurs des cartes, par exemple les circuits empêchant la lecture d'un code confidentiel, d'une clé de cryptage, etc. ou de toute autre information sensible conservée dans la mémoire du microcircuit et normalement inaccessible à la lecture depuis l'extérieur. La plupart de ces attaques consistent à soumettre au microcircuit de grandes quantités d'épreuves de type cryptographique et à tenter la lecture de certaines variables, registres, etc. On peut en particulier essayer de forcer un échange de signaux avec la carte suivant des protocoles non conformes aux diverses normes, ou incluant des signaux dont les valeurs (niveaux de tension, durées d'impulsions, etc.) sortent des valeurs nominales prescrites pour un fonctionnement normal de la carte. n est possible de déclencher ainsi à l'intérieur du microcircuit des opérations non conformes (modification inopinée du registre d'adresses, sauts de programme incontrôlés, etc.) susceptibles de permet- tre la lecture de zones qui ne pourraient être atteintes dans des conditions nominales de fonctionnement. Les microcircuits, notamment dans les programmes commandant le fonctionnement des processeurs, comportent souvent des instructions permettant la protection à l'encontre de ces fraudes. Toutefois, en pratique, la protection conférée par ces mécanismes intégrés au microcircuit ou à son logiciel ne se révèle pas absolue, de sorte que la carte reste encore vulnérable à certaines attaques du type précité, notamment celles consistant, comme indiqué, à soumettre le microcircuit à un très grand nombre d'épreuves de type cryptographique. Pour pallier cette faiblesse et accroître encore le degré d'autoprotection de la carte à l'encontre des attaques extérieures, l'invention propose de doter l'objet portatif, qui comporte une interface recevant de l'extérieur des signaux représentatifs de commandes appliquées au microcircuit, d'une part, et des signaux représentatifs d'informations à traiter par le microcircuit, d'autre part, de moyens pour superviser pendant une période de temps donnée l'application depuis l'extérieur d'au moins l'une des commandes, ces moyens étant aptes à détecter une application anormalement répétée de cette commande ou de ces commandes par rapport à un critère prédéfini et à inhiber sélectivement, en fonction de cette détection, le traitement par le microcircuit des informations reçues. Selon diverses caractéristiques subsidiaires avantageuses: - la commande supervisée comprend le signal de remise à zéro et/ou le signal d'horloge; - ladite période de temps donnée est la période de temps comprise entre une mise sous tension et une mise hors tension consécutive de l'objet portatif; - les moyens de supervision comportent des moyens de comptage des applications successives de la commande, ledit critère prédéfini étant le dépassement d'une valeur de compte donnée; - les moyens de supervision comportent, pour inhiber sélectivement le traitement par le microcircuit des informations reçues, des moyens formant porte contrôlant de la transmission au microcir cuit d'au moins l'une des commandes et/ou informations reçues de l'extérieur; - les moyens formant porte contrôlent la transmission au microcir cuit du signal d'horloge reçu de l'extérieur; - les moyens de supervision comprennent également des moyens pour évaluer le niveau de la tension d'alimentation appliquée de l'extérieur à l'objet portatif et pour inhiber le traitement par le mi crocircuit des informations reçues lorsque ce niveau sort d'une pla ge de tension nominale prédéterminée; - les moyens de supervision sont alimentés de l'extérieur par l'inter médiaire de moyens régulateurs propres, assurant le fonctionne ment de ces moyens de supervision même lorsque le niveau de la tension d'alimentation appliquée de l'extérieur sort d'une plage de tension nominale prédéterminée. # D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-dessous d'un exemple de mise en oeuvre, en référence à la figure unique annexée, qui est un schéma des circuits d'une carte à microcircuit incorporant les enseignements de la présente invention. o Sur la figure, la référence 10 désigne une carte à microcircuit, qui est ici du type à contacts galvaniques, c'est-à-dire comportant une série de contacts 12 permettant d'appliquer au microcircuit 14 incorporé à cette carte diverses commandes et informations à traiter, et de recevoir de celle-ci des informations après traitement. Les divers contacts peuvent notamment être les contacts d'alimentation VCC, de masse GND, d'entrée/sortie de données I/O, d'horloge CLK, et de remise à zéro (reset) RST selon la norme ISO 7816-3, à laquelle on pourra se référer pour de plus amples détails concernant la fonction de chacun de ces contacts. Le point de départ de l'invention est la constatation que, dans la plupart des attaques comprenant de grandes quantités d'épreuves de type cryptographique, ces séquences sont séparées par des ordres de remise à zéro du microcircuit 14, et qu'un nombre trop élevé d'ordres de remise à zéro au cours d'une même session présente un caractère anormal, vraisemblablement révélateur d'une tentative d'intrusion dans les zones protégées de la mémoire du microcircuit. D'autres commandes appliquées à la carte peuvent également pré senter dans certains cas un caractère suspect, par exemple l'application d'un trop grand nombre de cycles d'horloge, toujours au cours d'une même session (une "session" étant ici la période séparant une connexion et une déconnexion consécutive de la carte, c'est-à-dire la période pendant laquelle une tension VCC d'alimentation est appliquée de façon continue). Pour détecter ces types de fraudes, la carte comporte, de façon caractéristique de l'invention, des circuits de supervision de l'application des commandes au cours d'une session donnée. Ces circuits peuvent être soit distincts du microcircuit 14 et donc intercalés entre celui-ci et la série de contacts 12, comme illustré sur la figure, soit incorporés au microcircuit 14 proprement dit, de préférence sous forme matérielle de circuits dédiés. Plus précisément, les circuits de l'invention comprennent un premier compteur 16 recevant sur son entrée 18 les signaux appliqués sur l'entrée RST de remise à zéro de la puce. La sortie 20 de ce compteur commande la fermeture d'une porte 22 lors du dépassement d'une valeur de consigne donnée, par exemple 102 impulsions de remise à zéro RST au cours d'une même session, situation révélatrice d'un dialogue a priori aberrant et vraisemblablement révélateur d'une tentative de violation des circuits inhibiteurs de la mémoire.. La porte 22 est par exemple intercalée sur le conducteur d'horloge CLK aboutissant au microcircuit (ce cas n'étant qu'un exemple, d'autres configurations étant possibles, par exemple la fermeture de la ligne d'entrée/sortie de données vO, la déconnexion de l'alimentation de la puce, etc.). Le compteur 16 est initialement remis à zéro par un circuit 24 générant, par détection de l'application d'une tension sur l'entrée d'alimentation VCC, un signal 'VRAI' une seule et unique fois au cours d'une même session. On peut également prévoir un second compteur 26, recevant sur son entrée 28 les impulsions d'horloge appliquées sur l'entrée CLK, la sortie 30 de ce compteur 26 venant également fermer la porte 22 lors du dépassement d'une valeur de consigne donnée, par exemple 107 impulsions d'horloge OLK au cours d'une même session. Avantageusement, les circuits que l'on vient de décrire sont ali mentés par un circuit régulateur propre 32. Ce régulateur produit et distribue une tension d'alimentation locale VCCLOC sensiblement constante pour une très large gamme de tensions d'alimentation appliquées sur le contact VCC, même et surtout lorsque la tension appliquée sort de la plage nominale prédéterminée pour VCC, typiquement 4,5 à 5,5 V pour les cartes fonctionnant sous 5 V, et 2,7 à 3,3 V pour les cartes fonctionnant sous 3 V, valeurs correspondant aux "conditions normales de fonctionnement" selon ISO 7816-3. Pour déjouer des attaques complémentaires qui consisteraient à sous-alimenter ou suralimenter le microcircuit, le circuit régulateur 32 produit deux références de tension VM et Vm (par exemple 5,5 V et 2,5 V) appliquées à deux comparateurs respectifs 34, 36 dont l'autre entrée reçoit la tension d'alimentation appliquée de l'extérieur sur la borne vcc. Si la tension sur VCC sort de la plage [Vm, VM], les comparateurs 34, 36 forcent à VRAI' la sortie d'une porte 38 permettant de fermer la porte d'entrée générale 22 via une entrée inverseuse supplémentaire de cette dernière. REVENDICATIONS 1. Un objet portatif (10) de type carte à microcircuit, avec une interface recevant de l'extérieur des signaux (VCC, CLK, RST) représentatifs de commandes appliquées au microcircuit (10), d'une part, et des signaux (I/O) représentatifs d'informations à traiter par le microcircuit, d'autre part, caractérisé en ce qu'il comporte des moyens de supervision, pour superviser pendant une période de temps donnée l'application depuis l'extérieur d'au moins l'une des commandes, ces moyens étant aptes à détecter une application anormalement répétée de cette commande ou de ces commandes par rapport à un critère prédéfini et à inhiber sélectivement, en fonction de cette détection, le traitement par le microcircuit des informations reçues. 2. L'objet portatif de la revendication 1, dans lequel la commande supervisée comprend le signal de remise à zéro (RST) et/ou le signal d'horloge (CLK). 3. L'objet portatif de la revendication 1, dans lequel ladite période de temps donnée est la période de temps comprise entre une mise sous tension et une mise hors tension consécutive de l'objet portatif. 4. L'objet portatif de la revendication 1, dans lequel les moyens de supervision comportent des moyens (16, 26) de comptage des applications successives de la commande, ledit critère prédéfini étant le dépassement d'une valeur de compte donnée. 5. L'objet portatif de la revendication 1, dans lequel les moyens de supervision comportent, pour inhiber sélectivement le traitement par le microcircuit des informations reçues, des moyens formant porte (22) contrôlant de la transmission au microcircuit d'au moins l'une des commandes et/ou informations reçues de l'extérieur. 6. L'objet portatif de la revendication 1, dans lequel les moyens for mant porte (22) contrôlent la transmission au microcircuit du signal d'horloge (CLK) reçu de l'extérieur. 7. L'objet portatif de la revendication 1, dans lequel les moyens de supervision comprennent également des moyens (34, 36, 38) pour évaluer le niveau de la tension d'alimentation (VCC) appliquée de l'extérieur à l'objet portatif et pour inhiber le traitement par le microcircuit des informations reçues lorsque ce niveau sort d'une plage de tension nominale prédéterminée (cl,, VM]). 8. L'objet portatif de la revendication 1, dans lequel les moyens de supervision sont alimentés de l'extérieur par l'intermédiaire de moyens régulateurs propres (32), assurant le fonctionnement de ces moyens de supervision même lorsque le niveau de la tension d'alimentation appliquée de l'extérieur sort d'une plage de tension nominale prédéterminée.