FR 2840748 A1 20031212 FR 0206915 A 20020605 - 1 PROCEDE ET SYSTEME DE VERIFICATION DE SIGNATURES ELECTRONIQUES ET CARTE A MICROCIRCUIT POUR LA MISE EN O?UVRE DU PROCEDE. La presente invention concerne un procede et un systeme de verification de signatures electroniques et une carte a microcircuit permettant la mise en aeuvre de ce procede. Wile s'applique notamment, mais non exclusivement, a l'authentification d'informations, et a la verification de signatures electroniques en vue d'autoriser certains traitements. Ces traitements consistent notamment a enregistrer des droits dans une carte a microcircuit electronique, par exemple dans des applications de ticket electronique de transport, ou de porte-monnaie electronique, ou encore de distribution de bons de reduction. En effet, les cartes a microcircuit electronique, cites cartes a puce, vent utilisees generalement comme support informatique mobile pour des applications tres diverges et exigeant pour la plupart d'entre elles un haut niveau de securite, notamment les operations bancaires, les paiements securises, l'acces aux batiments ou a des zones securisees et les telecommunications. Lorsque l'on souhaite par exemple mettre a jour dans une carte a puce des donnees sensibles telles qu'un montant de recharge dans le cadre d'une application de porte-monnaie electronique, il est necessaire que la carte soit en mesure de controler l'origine d'un ordre de mise a j our qu'elle recoil. A cet effet, I'ordre de mise a j our est associe a une signature electronique dont l'identite du signataire est garantie par un certificat qui est egalement associe avec ltordre de mise a jour. Une signature electronique apposee sur un message est en general obtenue en appliquant une fonction de hachage au message pour en obtenir un condense et en chiffrant ce condense a ['aide d'une cle privee connue seulement du signataire. Pour verifier une signature, il suffit done de disposer de la cle publique correspondent a la cle privee utilisee, ainsi que de la fonction de hachage, d'appliquer la fonction de hachage au message, de dechiffrer la signature a ['aide de la cle publique, et de comparer le resultat fourni par la fonction de hachage avec le resultat fourni par le dechiffrement. Si ces deux - 2 resultats vent identiques, la signature est correcte. Un certificat de cle publique, par exemple conforme a la norme X509 ou PKCS#6, est constitue de 1'association d'une cle publique utilisee par une personne, d'informations d'identification de cette personne et de la definition d'une periode de validite, I'association de ces informations etant rendue infalsifiable par une signature electronique apposee par une autorite de certification, cette signature utilisant une cle privee de l'autorite de certification. Pour verifier un certificat, il suffit de disposer de la cle publique de l'autorite de certification correspondent a la cle privee utilisee, et d'utiliser cette cle publique pour controler que la signature electronique emane bien de l'autorite de certification. On peut ainsi s'assurer qu'une cle publique correspond a l'identite d'une personne determinee. Toutefois, ce principe ne garantit pas que la personne qui utilise la cle privee correspondent a la cle publique est bien a celle identifiee dans le certificat. En general, les autorites de certification ne garantissent pas ceffe correspondence. Pour garantir une telle correspondence, on a deja propose de mettre en place une organisation en chane ou pyramidale basee sur le concept de "chaines de certificaes" dans laquelle la signature electronique de chaque personne est certifiee par la signature d'une entite qui a ete prealablement certifiee par une autre entite, et ainsi de suite jusqu'a une autorite de reference situee au sommet de la pyramide. Dans une telle organisation, une signature s'appuie sur tous les certificaes de toutes les cles publiques permettant de remonter la chaine de certification jusqu'a l'autorite de reference. Pour verifier une signature, il faut done verifier tous les certificaes jusqu'a un certificat delivre par une entite connue dans la chane de certification. I1 faut en outre que la cle publique de cette entite connue soit stockee d'une maniere sure et infalsifiable. Les techniques a mettre en ccuvre pour gerer une telle organisation peuvent etre facilement implantees dans un ordinateur personnel de type PC, notamment par l'intermediaire de logiciels de navigation Internet qui integrent tout ou partie de ces fonctions avec les protocoles SSL ("Secure Sockets Layer") et HTTPS ("Hypertext Transfer Protocol" integrant SSL). Par contre, elles vent beaucoup plus difficiles a mettre en ceuvre dans une carte a puce qui possede une puissance de calcul et des capacites de stockage notablement plus limitees. En effet, les chaines de certificaes qu'il faut traiter vent tres longues par rapport aux caracteristiques habituelles des cartes a puces. Ainsi, un certificat conforme a la - 3 norme X509 peut atteindre quelques kilo bits, et si la chane de certificate est longue, la carte doit pouvoir traiter et memoriser une quantite d'informations trop importante par rapport a ses capacites. Il convient de souligner a ce sujet qu'il n'est pas possible sans affecter la securite de faire executer de tels traitements par le terminal auquel la carte a puce est connectee ou d'utiliser la memoire du terminal, car il serait alors facile de tromper la carte, notamment en changeant une cle publique par une autre. On a deja propose d'introduire dans la memoire de la carte a puce toutes les cles publiques des autorites de certification de la chane de certification. Toutefois, cette solution necessite des capacites de memoire importantes, compte tenu qu'une cle publique atteint couramment plus de un kilo bits. Il est en outre necessaire que ces cles publiques soient stockees dans une zone memoire securisee, pour eviter les risques de fraude consistent a introduire dans cette liste de cles publiques une cle non autorisee. Il s'avere qu'a l'heure actuelle, les microcircuits implantes dans les cartes a puce ne disposent pas d'autant de capacite memoire securisee. La presente invention a pour but de supprimer ces inconvenients en proposant une organisation de donnees et de traitements entre une carte a puce et un terminal, permettant de minimiser les contraintes appliquees a la carte en termes de quantite de memoire et de traitements necessaires, sans pour autant affecter la securite du systeme dans lequel ils vent mis en aeuvre. Cet objectif est atteint par la prevision d'un procede de verification d'une signature electronique, faisant intervenir un microcircuit connectable a un systeme de traitement de donnees, le microcircuit etant concu pour recevoir du systeme de traitement de donnees, des demandes de verification de signatures electroniques et traiter ces demandes, une signature electronique etant generee a ['aide d'une cle privee connue seulement d'une entite signataire et associee a une cle publique. Selon ['invention, ce procede comprend une etape de stockage dans une memoire du microcircuit d'une table de certificaes contenant une forme condensee d' au moins une cle publique, et une phase de verification d' une signature electronique comportant les etapes consistent a: - recevoir par le microcircuit la signature electronique a verifier et une cle publique d'une padre de cles comprenant une cle privee ayant ete utilisee pour generer la signature electronique a verifier, - calculer une forme condensee de la cle publique recue, et rechercher dans la - 4 table de certificaes la forme condensee calculee de la cle publique, et dechiffrer la signature electronique a ['aide de la cle publique re,cue si la forme condensee calculee de la cle publique se trouve dans la table de certificaes. Selon une particularite de ['invention, ce procede comporte une phase d' insertion d'une cle publique dans la table de certificaes, comprenant les etapes consistent a: - recevoir par le microcircuit un certificat de la cle publique a inserer dans la table de certificaes, et une cle publique d'une entite de certification ayant genere le certificat, le certificat comprenant la cle publique a ajouter dans la table de certificaes et une signature electronique de l'entite de certification, generee a ['aide d'une cle privee appartenant a une padre de cles comprenant la cle publique de 1'entite de certification, - calculer par le microcircuit une forme condensee de la cle publique recue de l'entite de certification, et rechercher dans la table de certificate la forme condensee calculee de la cle publique, - dechiffrer la signature electronique a ['aide de la cle publique re,cue de I'entite de certification si la forme condensee calculee de la cle publique se trouve dans la table, - extraire du certificat la cle publique a inserer si la signature electronique dechiffree est correcte, - calculer un condense de la cle publique extraite du certificat et inserer le condense calcule dans la table de certificaes. Avantageusement, la phase d' insertion d' une cle publique dans la table de certificaes comprend ['insertion, en association avec le condense insere de la cle publique, d'un pointeur dans la table de certificaes vers le condense de la cle publique de 1'entite de certification qui a emis le certificat de la cle publique a inserer, de maniere a definir un arbre de certification. Selon une autre particularite de ['invention, ce procede comprend une phase de suppression d'un condense de cle publique dans la table de certificaes consistent a supprimer de la table de certificaes le condense d'une cle publique a retirer, et a supprimer tous les condenses de cles publiques de la table de certificaes associes a un pointeur indiquant la cle publique a retirer. - 5 De preference, chaque condense de cle publique inscrit dans la table de certificaes est associe a une date de fin de validite, et en ce que la phase d' insertion d'une cle publique dans la table de certificaes comprend en outre des etapes consistent a fire dans le certificat re,cu une date de fin de validite de la cle publique a inserer, et a inscrire dans la table de certificaes, en association avec le condense de la cle publique a inserer, la date de fin de validite de la cle publique a inserer, si elle est anterieure a la date de fin de validite de la cle publique de l'entite de certification lue dans la table de certificaes. Egalement de preference, chaque condense de cle publique inscrit dans la table de certificaes est associe a un compteur d'utilisation qui est incremente a chaque fois qu'une signature electronique est verifiee a ['aide de la cle publique, et en ce qu'il comprend la suppression d'un condense de cle publique dans la table de certificaes lorsque le compteur d'utilisation est nul et que le nombre d'emplacements vices dans la table de certificaes est inferieur a un seuil predetermine. Egalement de preference, chaque condense de cle publique inscrit dans la table de certificaes est associe a un compteur d'utilisation qui est incremente a chaque fois qu'une signature electronique est verifiee a ['aide de la cle publique, a une date de derriere utilisation qui est mise a jour a chaque fois que le compteur d'utilisation associe est incremente, et en ce que lorsque le nombre d' emplacements vices dans la table de certificaes est inferieur a un seuil predetermine, il comprend en outre une etape de selection d'un condense de cle publique a supprimer en fonction des valeurs respectives associees du compteur d'utilisation et de la date de derriere utilisation. Avantageusement, le microcircuit utilise une fonction de hachage predefinie pour calculer des formes condensees de cles publiques. Selon encore une autre particularite de ['invention, ce procede comporte une phase d' insertion d'une cle publique racine dans la table de certificaes, cette phase d' insertion etant effectuee par un traitement d' ecriture controlee par un MAC calcule a ['aide d'une cle specifique du microcircuit et connue uniquement d'une entite emettrice du microcircuit. Avantageusement, le condense d'une cle publique memorise dans la table de certifcats est obtenu en calculant un condense de la cle publique associee a - 6 d'autres informations comme la date de fin de validite de la cle publique, des informations dtidentite, et de numeros de eerie, ces informations etant transmises au microcircuit a chaque veriEcation de signature a ['aide de la cle publique. Avantageusement, le condense d'une cle publique memorise dans la table de certificate est obtenu en calculant un condense du certificat recu par le microcircuit lors de ['insertion de la cle publique dans la table de certificaes, ce certificat etant transmis au microcircuit a chaque verification de signature a ['aide de la cle publique. De preference, la table de certificaes est stockee dans une zone memoire securisee du microcircuit. L'invention concerne egalement une carte a microcircuit mettant en aeuvre le procede deEni ci-avant. L' invention concerne egalement un systeme de verifcation de signature electronique comprenant un microcircuit connectable a un systeme de traitement de donnees, pour la mise en ccuvre du procede defini ci-avant. Un mode de real i sati on prefere de [ ' invention sera decrit ci-apres, a titre d'exemple non limitatif, avec reference aux dessins annexes dans lesquels: La fgure 1 represente schematiquement un systeme dans lequel le procede selon ['invention peut etre mis en ceuvre, La fgure 2 represente un arbre de certifcats; La figure 3 represente une table de certifcats telle qutelle est memorisee dans une carte a puce, selon ['invention, Les fgures 4 a 6 representent sous la forme d'organigrammes de differentes procedures qui vent executees par une carte a puce, selon ['invention, La fgure 7 represente une variante selon ['invention de la table de certifcats representee sur la figure 3. Le systeme represente sur la figure 1 comprend une pluralite de terminaux 51 connectes a des reseaux 50 de transmission de donnees numeriques. Ces terminaux vent concus pour fournir differents services necessitant d'etre proteges contre les fraudes, tels que le rechargement de portes-monnaie electroniques, ou ['attribution d'un droit (par exemple de transport), ou encore pour ltechange securise de donnees. Par ailleurs, les utilisateurs du systeme disposent d'une carte personnelle, de type carte a microprocesseur 53, plus couramment appelee carte a puce, chaque terminal S 1 etant equipe de moyens de communication 52, tels qu'un lecteur de carte a puce, pour communiquer avec le microprocesseur de la carte 53. Pour qu'un utilisateur puisse acceder a un service tel que mentionne ciavant, il doit posseder une carte a puce 53 dans laquelle se trouve memorise une cle publique attribuee au service. Cette cle publique lui permet de verifer ou d'authentifier les signatures des differents terminaux grace a une chane de 1 5 certification. La figure 2 represente un arbre de certificaes de cles publiques comprenant plusieurs chanes de certifcation. Cet arbre montre par des liens entre des cles que les cles publiques respectives d'entites A1 et A2 vent certifiees par une entite A, et que les cles publiques de l'entite A et d'une entite B vent certifiees par une entite R appelee "racine" du fait qu'elle est situee a la racine de l'arbre. Si l'on souhaite qu'un certificat emis par exemple par l'entite A2 et portent sur une cle publique d'une personne X, puisse etre verifie par une personne ne connaissant que l'autorite de certification R. il est necessaire de lui transmettre ['ensemble d'une chame de certificaes comprenant un certificat emis par l'autorite de certification R. Si l'on note un certificat emis par 1'entite A et portent sur la cle publique d'une entite A1, une telle chane de certification est constituee des certifcats suivants . Chaque certificat est constitue de la signature de l'autorite de certification apposee sur la cle publique a certifier, associee a des informations d'identification du titulaire de la cle publique a certifier et de l'autorite de certification, et eventuellement a des dates de debut et de fin de validite. On a done = (SigR(Ap, Identite de A, Dates de debut et de fin de validite), Identite de R), Ap representant la cle publique de l'entite A. - 8 Si dans l'exemple precedent, on souhaite qu'une signature SigX(M) emise par la personne X et portent sur un message M, puisse etre verifiee par une personne ne connaissant que l'autorite de certification R. il est necessaire d'associer a cette signature les certificaes mentionnes precedemment: SigX(M) De cette maniere, si l'on conna^t la cle publique Rp, le certificat fournit la cle publique Ap de l'entite A. Le certificat fournit la cle publique A2p de l'entite A2, et le certificat cA2,X> fournit la cle publique Xp permettant de verifier la signature SigX(M). Lorsque l'on souhaite verifier une signature et done s'assurer de la validite d'une cle publique, ce processus implique la transmission d'une quantite importante d'informations et de nombreux traitements, ces contraintes etant incompatibles avec les capacites de stockage et de traitement d'une carte a puce. Pour resoudre ce probleme, la presente invention prevoit de stocker dans la memoire de la puce, non pas les cles publiques des autorites de certification reconnues, mais un condense de ces cles publiques, obtenu par exemple a ['aide d'une fonction cite de hachage, telle que M1D4 ou 5 ("Message Digest"), SHA ("Secure Hash Algorithm") ou HMAC ("Hashed Message Authentication Code"). Ces cles condensees vent stockees sous la forme d'une table de certificaes 5 telle que representee sur la figure 3. Dans la table de certificaes representee sur cette figure, chaque condense de cle publique Hash(Xp) 6 est associe a une date de fin de validite 7 du certificat correspondent, par exemple definie sous la forme / , et un pointeur 8 vers la ligne du tableau correspondent a la cle publique situee en amont dans la cha^ne de certification. Ainsi, par exemple la cle A2p memorisee sous forme condensee a la quatrieme ligne du tableau est associe a une date de fin de validite egale a decembre 2002 et est rattachee a la ligne 2 du tableau dans laquelle se trouvent memorisees les informations concernant la cle publique Ap. D'une maniere generale, les pointeurs figurant dans la colonne de pointeurs 8 de la table 5 permettent done de reconstituer l'arbre de certification represente sur la figure 2. Comme la cle racine Rp de l'arbre de certification n'est rattachee a aucune autre cle, elle est associee dans la table de certification a un pointeur nul. Bien entendu, la table de certification selon ['invention peut contenir plusieurs arbres de certification independents, et done plusieurs cles racine. Outre le fait qu'elle reduit les ressources memoire necessaires, ['invention permet egalement de simplifier la gestion de cette memoire sachant que la taille des cles est variable (elle est en general plus importante pour les cles racine que pour les autres cles), et qu'une fonction de hachage fournit une sequence binaire d'une longueur constante queue que soit la taille de la sequence binaire appliquee en entree de la fonction. Conformement a ['invention, cette table de certificaes 5 est associee a une procedure d' insertion d'une nouvelle cle certifiee par une cle figurant dans la table, une procedure de suppression d'une cle de la table, et une procedure de verification de signature ayant utilise une cle de la table, ces procedures etant stockees dans la memoire programme de la carte a puce 53 et etant executables par ['unite de traitement de la carte, sur commande du terminal 51 relic a la carte. L' insertion d'une nouvelle cle dans la table de certificaes 5 est effectuee par une procedure I illustree schematiquement dans la figure 4. A l'etape 10, cette procedure recoit le certificat de la cle publique a inserer dans la table S. dans l'exemple represente, associe a la cle publique Rp de l'autorite de certification qui a emis le certiEcat. A l'etape suivante 11, cette procedure calcule un condense Hash(Rp) de la cle publique reque Rp a ['aide d'une fonction de hachage predefinie, puis recherche 12 dans la table de certificaes ce condense de cle. Si ce condense de cle Hash(Rp) ne fgure pas dans la table de certificate S. cette procedure renvoie 13 en reponse un message d'erreur. Dans le cas contraire, elle verifie 14 le certificat en tentant de le dechiffrer a ['aide de la cle publique Rp. Si ce certificat n'est pas valide, c'est-a- dire s'il ne peut pas etre dechiffre a ['aide de la cle publique Rp (etape 15), cette procedure renvoie 16 en reponse un message d'erreur. Dans le cas contraire, elle extrait 17 du certificat la cle publique Bp a inserer dans la table de - 10 certificats, puis elle calcule 18 un condense Hash(Bp) de cette cle publique a ['aide de la meme fonction de hachage, et insere 19 la cle publique condensee obtenue dans la table de certificaes. A l'etape 19, la procedure insere egalement dans la table 5 la date de fin de validite fournie par le certificat R,B>, et insere dans la colonne 8 des pointeurs de la table de certificaes, l'adresse ou le numero de la ligne de la table correspondent a la cle publique Rp fournie avec le certificat ayant par exemple ete memorise a l'etape 12. Lors de l'etape d'insertion de la nouvelle cle Bp dans la table, on peut s'assurer au prealable que la date de fin de validite de la nouvelle cle est anterieure a la date de fin de validite de la cle Rp a laquelle elle est rattachee par le certificat. Cette disposition vise a satisfaire le principe qu'une autorite ne peut pas attribuer des droits plus etendus que ceux dont elle dispose. Si cette date est posterieure a la date de fin de validite de la cle a laquelle elle est rattachee, on peut prevoir d'inscrire dans la table, la date la plus ancienne parmi ces deux dates. En variante, on peut decider pour des raisons de securite de ne pas inscrire la nouvelle cle dans la table et d'emettre un message d'erreur a destination du terminal. La procedure 1 qui vient d'etre decrite permet done d'inserer dans la table une cle rattachee par un certificat a une autre cle dont le condense se trouve deja dans la table de certificaes 5. Toute la securite du systeme de certification mis en ccuvre par la table de certificaes et la procedure d'insertion d'une nouvelle cle dans la table, repose done sur la procedure employee pour inserer une cle racine dans la table. Pour cette raison, ['insertion d'une cle racine doit etre effectuee par une procedure assurant une protection suffisante. A cet effet, une telle procedure peut par exemple comprendre un traitement classique d'ecriture controlee par un MAC (Message Authentication Code") calcule a ['aide d'une cle specifique de la carte et connue uniquement de l'emetteur de la carte. La figure 5 illustre schematiquement la procedure 2 de verification de signature notee Sig(Ap,M) pour indiquer qutelle est apposee au message M et a ete generee a ['aide d'une cle privee correspondent a la cle publique Ap. Cette procedure recoit en entree a l'etape 21 la signature a verifier, par exemple Sig(Alp,M) et la cle publique A1p correspondent a la cle privee ayant ete utilisee pour generer la signature. - 11 A l'etape 22, cette procedure calcule un condense Hash(A1p) de la cle Alp re,cue, et a l'etape 23 recherche si ce condense de cle se trouve dans la table de certificaes 5. S'il ne s'y trouve pas, la carte ne peut pas verifier la signature et retourne 24 un message d'erreur. Dans le cas contraire, elle verifie 25 la signature en tenant de dechiffrer le condense du message M a ['aide de la cle publique Alp. Aux etapes suivantes 26, 27, 28, elle retourne un message donnant le resultat de la verification. La figure 6 illustre schematiquement la procedure 3 de retrait d'une cle de la table de certificaes 5. A l'etape 31, cette procedure re,coit en entree la cle Bp a supprimer. Aux etapes 32 et 33, cette procedure calcule le condense Hash(Bp) de la cle Bp et recherche le condense de cette cle dans la table 5. Si la cle a supprimer n'est pas trouvee dans la table, cette procedure retourne 34 un message d'erreur. Dans le cas contraire, elle supprime toutes les informations figurant dans la ligne trouvee de la table 5. A l'etape suivante 36, elle recherche si d'autres cles doivent etre retirees de la table 5 du fait qu'elles vent rattachees a la cle supprimee, c'est-a-dire si la table contient des pointeurs indiquant la ligne supprimee. Si d'autres cles doivent etre supprimees (etape 37) de la table, cette procedure passe a l'etape 38 consistent a executer la procedure 3 a partir de l'etape 35 pour chacune des cles trouvees. De cette maniere, si on retire la cle A de la table, on retire egalement, d'une maniere automatique toutes les cles rattachees a A, c' est-a-dire dans l' exemple de la figure 2, les cles A 1 et A2, ainsi que toutes les cles qui seraient rattachees a A1 ou A2. II est a noter que la procedure 3 peut etre appelee regulierement par 1'unite de traitement de la carte, par exemple lorsque celle-ci recoit la date courante, pour retirer de la table 5 toutes les cles qui ont expire, c'est-a-dire qui ont une date de fin de validite anterieure a la date courante. En outre, en fin de traitement de suppression, on peut prevoir de reorganiser la table 5 en decalant toutes les lignes non vices de la table vers le debut de celle- ci de maniere a eliminer toutes les lignes vices entre deux lignes non vices. On peut remarquer que les procedures 1, 2, 3 qui viennent d'etre decrites peuvent etre executees en mode non connecte, c'est-a-dire qu'elles ne necessitent pas ['intervention d'autres entites que la carte a puce 53 et le terminal 51 auquel celle-ci est raccordee, des lors que le terminal dispose des certificaes, signatures et cles publiques requis par ces procedures. - 12 On peut egalement prevoir dans la table des certificaes 5' une colonne 41 supplementaire, destinee a recevoir des compteurs d'utilisation associes a chaque cle de la table (figure 7). A chaque fois que la procedure 2 est executee pour verifier une signature a partir d'une cle de la table, on incremente de 1 le compteur correspondent, lequel a ete initialise a 0 lors de ['insertion de la cle dans la table, ainsi que tous les compteurs associes aux cles appartenant a la meme chame de certification, situees en amont, c'est-a-dire entre la cle correspondent a la signature verifiee et la cle racine de la chatne de certification. A titre d'exemple, si la procedure 2 est appelee pour verifier une signature a ['aide de la cle Alp, les compteurs associes aux cles Alp, Ap et Rp vent incrementes. Cette disposition permet de gerer plus effcacement la memoire de la carte a puce 53 qui est limitee, en donnant une information sur 1'utilisation de chaque cle de la table de certifcation en we de retirer de la table de certification les cles qui n'ont jamais ete utilisees. Le declenchement de ce retrait peut etre effectue le terminal 51. Dans ce cas, la procedure 1 comprend une etape d' emission d'un message "memoire insuffisante" a destination du terminal lorsque le nombre de lignes vices de la table 5' est inferieur a un nombre predefini. On peut egalement prevoir que la procedure 1 declenche ce retrait en en appelant la procedure 3 a l'etape 19. Par ailleurs, si tous les compteurs de la table 5' vent non nuls et que la table est pleine, on peut prevoir de supprimer la cle associee a la valeur de compteur la plus faible. Si plusieurs cles dans la table 5' repondent a ce critere, la cle qui est choisie pour etre retiree de la table peut etre l'une de celles qui vent les plus eloignees d'une cle racine. En outre, la table peut contenir une colonne 42 supplementaire contenant la date de mise a jour de chaque compteur ou date de la derriere utilisation de la cle. De cette maniere, on peut combiner un critere de nombre d'utilisation et un critere de date de derriere utilisation, ou appliquer l'un ou l'autre de ces deux criteres pour selectionner les cles a retirer de la table de certifcats 5'. Selon les applications, on peut ainsi choisir de supprimer de la table la cle associee a une date de derriere utilisation la plus ancienne. La table de certificaes selon ['invention peut memoriser d'autres informations - 13 sous forme condensee, telle que des informations d'identite, de numero de eerie, de date de fin de validite, etc. Dans ce cas, ces informations doivent etre transmises a la carte lors de l'appel des procedures 1, 2 et 3. Selon une variante de ['invention, la table memorise non pas un condense des cles publiques des autorites de certification, mais un condense de certificaes emis par ces derrieres et constituent l'arbre de certification. Ces certificaes doivent alors etre transmis a la carte lors de l'appel des procedures 1, 2 et 3. - 14 REVENDICATIONS 1. Procede de verification d'une signature electronique, faisant intervenir un microcircuit (53) connectable a un systeme de traitement de donnees (51), le microcircuit etant con,cu pour recevoir du systeme de traitement de donnees, des demandes de verification de signatures electroniques et traiter ces demandes, une signature electronique etant generee a ['aide d'une cle privee connue senlement d'une entite signataire et associee a une cle publique, caracterise en ce qu'il comprend une etape de stockage dans une memoire du microcircuit (53) d'une table de certificaes (5, 5') contenant une forme condensee d' au moins une cle publique, et une phase (2) de verification d'une signature electronique comportant les etapes consistent a: - recevoir (21) par le microcircuit la signature electronique (Sig(Alp,M)) a verifier et une cle publique (Alp) d'une padre de cles comprenant une cle privee ayant ete utilisee pour generer la signature electronique a verifier, - calculer (22) une forme condensee (Hash(Alp)) de la cle publique re,cue, et rechercher (23) dans la table de certificaes (5, 5') la forme condensee calculee de la cle publique, et - dechiffrer (25) la signature electronique a ['aide de la cle publique re,cue si la forme condensee calculee de la cle publique se trouve dans la table de certificaes. 2. Procede selon la revendication 1, caracterise en ce qu'il comporte une phase (1) dtinsertion d'une cle publique (Bp) dans la table de certificaes (5, 5'), comprenant les etapes consistent a: - recevoir (10) par le microcircuit (53) un certificat ( ) de la cle publique (Bp) a inserer dans la table de certificaes, et une cle publique (Rp) d'une entite de certification ayant genere le certificat, le certificat comprenant la cle publique a ajouter dans la table de certificaes et une signature electronique de l'entite de certification, generee a ['aide d'une cle privee appartenant a une padre de cles comprenant la cle publique de l'entite de certification, calculer (11) par le microcircuit une forme condensee (Hash(Rp)) de la cle publique (Rp) re, cue de ltentite de certification, et rechercher (12) dans la table de certificate la forme condensee calculee de la cle publique, - dechiffrer (14) la signature electronique a ['aide de la cle publique recue de l'entite de certification si la forme condensee calculee de la cle publique se trouve dans la table, - 15 - extraire (17) du certificat la cle publique (Bp) a inserer si la signature electronique dechiffree est correcte, - calculer (18) un condense (Hash(Bp)) de la cle publique (Bp) extraite du certificat et inserer (19) le condense calcule dans la table de certificaes. 3. Procede selon la revendication 2, caracterise en ce que la phase (1) d'insertion d'une cle publique (Bp) dans la table de certificaes (5, 5') comprend ['insertion, en association avec le condense insere de la cle publique, d'un pointeur (8) dans la table de certificaes vers le condense de la cle publique (Rp) de l'entite de certification qui a emis le certificat ( ) de la cle publique a inserer, de maniere a defnir un arbre de certification. 4. Procede selon la revendication 3, caracterise en ce qu'il comprend une phase (3) de suppression d'un condense (Hash(Bp)) de cle publique (Bp) dans la table de certificaes (5, 5') consistent a supprimer de la table de certifcats le condense d'une cle publique a retirer, et a supprimer tous les condenses de cles publiques de la table de certificaes associes a un pointeur (8) indiquant la cle publique (Bp) a retirer. 5. Procede selon l'une des revendications 2 a 4, caracterise en ce que chaque condense de cle publique inscrit dans la table de certificaes (5, 5') est associe a une date de fin de validite (7) , et en ce que la phase (1) d'insertion d'une cle publique (Bp) dans la table de certificaes comprend en outre des etapes consistent a fire dans le certificat ( ) recu une date de fin de validite de la cle publique a inserer, et a inscrire dans la table de certificaes, en association avec le condense de la cle publique a inserer, la date de fin de validite de la cle publique (Bp) a inserer, si elle est anterieure a la date de fin de validite de la cle publique (Rp) de ltentite de certification lue dans la table de certificaes. 6. Procede selon l'une des revendications 2 a 5, caracterise en ce que chaque condense de cle publique inscrit dans la table de certificaes (5, 5) est associe a un compteur (41) d'utilisation qui est incremente a chaque fois qu'une signature electronique est verifiee a ['aide de la cle publique, et en ce qu'il comprend la suppression d'un condense de cle publique dans la table de certificaes lorsque le compteur d'utilisation est nul et que le nombre d' emplacements vices dans la table de certificaes est inferieur a un seuil - 16 predetermine. 7. Procede selon l'une des revendications 2 a 6, caracterise en ce que chaque condense de cle publique inscrit dans la table de certificaes (S. S') est associe a un compteur (41) d'utilisation qui est incremente a chaque fois qu'une signature electronique est verifiee a ['aide de la cle publique, a une date de derriere utilisation (42) qui est mise a jour a chaque fois que le compteur d'utilisation associe est incremente, et en ce que lorsque le nombre d' emplacements vices dans la table de certificaes est inferieur a un seuil predetermine, il comprend en outre une etape de selection d'un condense de cle publique a supprimer en fonction des valeurs respectives associees du compteur d'utilisation et de la date de derriere utilisation. 8. Procede selon l'une des revendications 1 a 7, caracterise en ce que pour calculer des formes condensees de cles publiques, le microcircuit (53) utilise une fonction de hachage predefinie. 9. Procede selon l'une des revendications 1 a 8, caracterise en ce qutil comporte une phase d'insertion d'une cle publique racine (Rp) dans la table de certificaes (S. S'), cette phase d'insertion etant effectuee par un traitement d'ecriture controlee par un MAC calcule a ['aide d'une cle specifique du microcircuit (53) et connue uniquement d'une entite emettrice du .. mcrocrcut. 10. Procede selon l'une des revendications 1 a 9, caracterise en ce que le condense d'une cle publique memorise dans la table de certificaes (S. S') est obtenu en calculant un condense de la cle publique associee a d'autres informations comme la date de fin de validite de la cle publique, des informations d'identite, et de numeros de eerie, ces informations etant transmises au microcircuit (53) a chaque verification de signature a ['aide de la cle publique. 11. Procede selon l'une des revendications 1 a 10, caracterise en ce que le condense d'une cle publique memorise dans la table de certificaes (5, S') est obtenu en calculant un condense du certificat re,cu par le microcircuit (53) lors de ['insertion de la cle publique dans la table de certificaes, ce certifcat etant transmis au microcircuit a chaque verification de signature a ['aide de la cle publique. / - 17 12. Procede selon l'une des revendications 1 a 11, caracterise en ce que la table de certificaes (S. S') est stockee dans une zone memoire securisee du microcircuit (53). 13. Carte a microcircuit (53), caracterisee en ce qu'elle met en ceuvre le procede selon l'une des revendications 1 a 12. 14. Systeme de verification de signature electronique comprenant un microcircuit (53) connectable a un systeme de traitement de donnees (S1), caracterise en ce qu'il comprend des moyens pour en ceuvre le procede selon