ENTITE ELECTRONIQUE SECURISEE AVEC COMPTEUR MODIFIABLE
D'UTILISATIONS D'UNE DONNEE SECRETE
L'invention se rapporte à une entité électronique sécurisée avec compteur modifiable d'utilisations d'une donnée secrète.
Elle appartient au domaine de la sécurisation de l'utilisation des entités électroniques telles que les cartes à microcircuit. Néanmoins, elle s'applique à toute entité électronique sécurisée.
L'entité électronique sécurisée peut être par exemple une carte à microcircuit sécurisée telle qu'une carte bancaire, une carte de contrôle d'accès, une carte d'identité, une carte SIM (module d'identification de l'abonné, en anglais "Subscriber Identification Module") ou une carte mémoire sécurisée (telle qu'une carte SD {"Secured Digital") de Panasonic), ou peut être une carte
PCMCIA (architecture internationale de cartes-mémoire d'ordinateurs individuels, en anglais "Personal Computer Memory Card International Architecture") sécurisée (par exemple, une carte IBM 4758). L'entité électronique sécurisée peut également être un passeport électronique sécurisé, c'est-à-dire un passeport dans un format papier habituel, mais auquel on a ajouté, inséré dans l'un des feuillets, un microcircuit sans contact contenant des moyens de sécurisation du passeport.
La présente invention vise la protection d'une entité électronique sécurisée contre l'accès frauduleux à une donnée secrète qu'elle contient, par exemple une clé ou un certificat.
Il existe plusieurs types d'attaques permettant d'obtenir frauduleusement une donnée secrète mémorisée dans la mémoire d'une entité électronique sécurisée. On peut citer, par exemple, les attaques DPA (analyse de puissance différentielle, en anglais "Differential Power Analysis") et EMA (analyse électromagnétique, en anglais "ElectroMagnetic Analysis").
Pour réaliser ces attaques, le fraudeur envoie généralement, de façon répétitive, à l'entité électronique sécurisée, des commandes entraînant l'exécution par l'entité électronique sécurisée d'un algorithme utilisant la donnée secrète, typiquement un algorithme d'authentification.
La plupart des attaques nécessitent plusieurs dizaines de milliers d'authentifications, voire plus de 100000 authentifications, avant de pouvoir découvrir la donnée secrète.
Dans le domaine des cartes à microcircuit, l'accès frauduleux à une donnée secrète peut permettre de "cloner" une carte à microcircuit. Le clonage d'une carte à microcircuit consiste à obtenir frauduleusement une information secrète enregistrée dans la mémoire d'une première carte à microcircuit, puis à copier cette information secrète dans une (ou plusieurs) seconde(s) carte(s) à microcircuit afin de l'utiliser frauduleusement, à l'insu notamment du titulaire de la première carte.
Cela pose d'importants problèmes de sécurité, pour tout type d'entité électronique sécurisée, par exemple les cartes bancaires, particulièrement exigeantes dans ce domaine, les cartes à microcircuit pour télécommunications mobiles, ou les passeports électroniques sécurisés (l'accès à une donnée secrète peut permettre de fabriquer de faux passeports).
Pour empêcher l'accès frauduleux à une donnée secrète d'une entité électronique, l'homme du métier utilise souvent un compteur pour compter et limiter le nombre d'utilisations de cette donnée secrète. Par exemple, les documents DE-A-198 18 998 et WO-A-99 56253 proposent une telle limitation. Dans le domaine des cartes à microcircuit, une solution consiste, comme le divulgue le document DE-A-198 18 998, à définir une limite, pour le nombre d'authentifications, qui soit supérieure au nombre anticipé d'authentifications effectuées durant toute la vie de la carte, et qui soit inférieure au nombre d'authentifications nécessaires pour obtenir frauduleusement la clé de la carte. On peut ainsi limiter le nombre d'authentifications à plusieurs dizaines de milliers afin d'éviter qu'un attaquant puisse réaliser un nombre d'authentifications suffisant pour découvrir la clé. Dans le cas d'une carte à microcircuit pour télécommunications mobiles de type SIM conforme à la norme GSM, où on réalise par exemple une authentification au début de chaque appel, on peut par exemple limiter le nombre d'authentifications à 54720, ce qui représente environ une trentaine d'appels par jour pendant 5 ans.
Cependant, on a vu apparaître un nouveau type d'attaques, notamment les attaques DFA (analyse d'erreur différentielle, en anglais " Differential Fault
Analysis"), qui permettent d'obtenir la donnée sécurisée en un nombre d'utilisations beaucoup plus faible de la donnée secrète : moins d'une dizaine pour certains algorithmes, parfois 2 ou 3 authentifications, et moins d'une centaine pour d'autres algorithmes plus sûrs. Parallèlement, dans le domaine des cartes à microcircuit pour télécommunications mobiles, en particulier les cartes SIM, certains opérateurs utilisent un algorithme connu sous le nom de COMP128 dans la norme GSM, sous notamment deux variantes : COMP128-1 et COMP128-2. Cet algorithme est connu comme ayant une sécurité particulièrement faible. Quelques milliers d'authentifications, le plus souvent moins de 5000 ou 10000 authentifications, pouvant être réalisées en quelques heures seulement, suffisent pour obtenir frauduleusement par une attaque la clé secrète enregistrée dans la carte.
Ce problème est particulièrement critique pour les cartes à microcircuit pour télécommunications mobiles SIM d'un opérateur, par exemple européen, conformes à la norme GSM, où une telle attaque frauduleuse peut être réalisée, éventuellement avant de vendre la carte à un client. Le fraudeur dispose ensuite de cartes clonées qu'il peut utiliser gratuitement auprès d'un autre opérateur, par exemple asiatique, qui autorise la communication selon un procédé appelé itinérance (en anglais "roaming") dans la norme GSM. Selon ce procédé d'itinérance, l'opérateur asiatique autorise sur sa zone de couverture, le détenteur de la carte de l'opérateur européen à téléphoner, en vérifiant par une authentification réalisée en collaboration avec l'opérateur européen que la carte dispose bien d'une clé secrète pour l'opérateur européen. Cependant, ce procédé d'itinérance ne permet généralement pas à l'opérateur asiatique de répercuter immédiatement le montant des communications à l'opérateur européen ou de vérifier, dans le cas d'une carte prépayée, qu'il reste encore des crédits sur le compte associé. La fraude passe ainsi inaperçue durant un certain temps.
Ainsi, pour un algorithme COMP128, où il suffit de 5000 ou 10000 authentifications frauduleuses pour obtenir la clé, le nombre d'authentifications nécessaires pour obtenir frauduleusement la clé est nettement inférieur au nombre anticipé d'authentifications effectuées dans la vie de la carte. Dans ce cas, il est impossible de définir une limite, pour le nombre d'authentifications, qui
soit à la fois supérieure au nombre anticipé d'authentifications effectuées dans la vie de la carte, et inférieure au nombre d'authentifications nécessaires pour obtenir frauduleusement la clé. Il faut, soit choisir une limite inférieure au nombre anticipé d'authentifications effectuées dans la vie de la carte, par exemple 5000 authentifications, et risquer qu'une carte ne puisse plus s'authentifier, sans pour autant avoir subi d'attaque; soit choisir une limite supérieure au nombre d'authentifications nécessaires pour obtenir frauduleusement la clé, par exemple 60000 authentifications, et dans ce cas la sécurité de la donnée secrète n'est plus assurée. La situation est encore plus dramatique, selon les applications, dès lors qu'on souhaite se protéger contre les attaques DFA nécessitant quelques dizaines d'authentifications.
Une solution pourrait consister à prévoir un seuil intermédiaire pour le nombre d'authentifications, au-delà duquel la carte envoie un signal à l'opérateur, afin d'échanger une nouvelle donnée secrète. On fixerait un seuil intermédiaire faible en comparaison avec celui considéré actuellement par l'homme du métier, par exemple 1000 authentifications. Il faudrait en outre que l'opérateur vérifie que la carte n'envoie pas de signal afin d'échanger une nouvelle donnée secrète trop fréquemment, ce qui serait le signe que la carte à microcircuit est attaquée.
Une telle solution est cependant coûteuse et complexe, en particulier car elle implique une gestion du changement de clé, par exemple dans un réseau de télécommunications, avec notamment des problèmes de synchronisation entre les différents éléments du réseau, car la nouvelle clé doit être diffusée à tous les éléments du réseau en même temps qu'elle est modifiée dans la carte à microcircuit.
La présente invention a pour but de remédier de façon simple aux inconvénients précités.
Dans ce but, l'invention propose une entité électronique sécurisée comportant un module pour mémoriser un nombre maximal autorisé d'utilisations d'une donnée secrète mémorisée par l'entité électronique sécurisée, remarquable en ce qu'elle comporte en outre un module pour modifier ce nombre maximal après la mise en service de l'entité électronique, sur réception
d'une commande prédéterminée, l'entité électronique comportant un module de réception de la commande qui est adapté à vérifier que la commande provient d'un tiers autorisé.
On peut ainsi utiliser un compteur initialisé, au moment de la mise en service de l'entité électronique sécurisée, par exemple au moment de la personnalisation de la carte lorsque l'entité électronique sécurisée est une carte à microcircuit, à un nombre d'authentifications donné, par exemple 1000, puis décrémenté à chaque utilisation de la donnée secrète. Une nouvelle utilisation de la donnée secrète pourra être interdite par l'entité électronique sécurisée dès lors que le compteur atteint la valeur nulle. La modification ou mise à jour du nombre maximal d'utilisations autorisé peut consister à réinitialiser le compteur en lui affectant la valeur 1000 ou 2000 par exemple.
On peut aussi utiliser un compteur initialisé à zéro au moment de la mise en service de l'entité électronique sécurisée, puis incrémenté à chaque utilisation de la donnée secrète. Une nouvelle utilisation de la donnée secrète pourra être interdite par la carte dès lors que le compteur atteint une valeur maximale, par exemple 1000, mémorisée dans la mémoire de l'entité électronique sécurisée. La modification ou mise à jour du nombre maximal d'utilisations autorisé peut consister à réinitialiser le compteur en lui affectant la valeur 0 ou bien à modifier la valeur maximale, par exemple en lui affectant la valeur 2000.
La modification du nombre maximal peut éventuellement tenir compte du nombre maximal d'authentifications autorisé restant avant la modification. On peut par exemple ajouter à la valeur maximale précitée, par exemple égale à
500 avant la modification, un incrément contenu dans la commande de modification, par exemple égal à 10000.
Le module de réception de la commande mentionnée plus haut peut mettre en œuvre des mécanismes connus en soi afin de rendre impossibles :
- le rejeu d'une commande interceptée par un tiers non autorisé,
- la modification d'une commande par un tiers non autorisé, et - l'exécution d'une commande émise par un tiers non autorisé.
Typiquement, le module de réception de cette commande sécurisée dans l'entité électronique sécurisée est constitué par une application dédiée développée à cet effet utilisant une clé secrète, des algorithmes de
cryptographie (DES, AES, RSA, à titre d'exemples non limitatifs), et des fonctions de hachage (MD5 ou SHA1 , à titre d'exemples non limitatifs). Dans le cas particulier d'une carte à microcircuit, le module de réception et le module de modification peuvent être mis en œuvre par une application mémorisée dans la carte et pouvant être exécutée sur envoi de commandes APDU à la carte, de façon conforme à la norme ISO 7816. Dans le cas d'une carte à microcircuit comportant une machine virtuelle Java, le module de réception et le module de modification peuvent être constitués par une applet Java, pouvant également être exécutée sur envoi de commandes APDU à la carte. Ainsi, selon l'invention, au lieu de changer la donnée secrète, on propose simplement de mettre à jour le nombre maximal d'authentifications autorisées, ce qui empêche un attaquant d'effectuer le nombre d'utilisations nécessaires pour découvrir la donnée secrète, si cette mise à jour est effectuée à des moments appropriés. Dans le domaine des cartes à microcircuit pour les télécommunications mobiles, l'opérateur peut par exemple modifier à distance le nombre maximal d'authentifications autorisées dès que la carte est vendue, c'est-à-dire dès que l'opérateur reçoit du revendeur toutes les coordonnées de l'abonné titulaire de la carte. La carte à microcircuit peut être initialisée à un nombre d'authentifications permettant une utilisation normale par l'abonné pendant les quelques jours nécessaires pour que l'opérateur reçoive ainsi ses coordonnées. On peut ainsi, au moment de la personnalisation de la carte, initialiser le nombre maximal d'authentifications autorisées à 200 authentifications, permettant à l'abonné de communiquer pendant une semaine, le temps que l'opérateur reçoive les coordonnées de l'abonné et mette à jour à distance le nombre maximal d'authentifications autorisées, en lui donnant par exemple une valeur supérieure au nombre d'authentifications anticipé dans la durée de vie de la carte à microcircuit. On évite ainsi tout risque de clonage qui serait réalisé avant la vente de la carte à un abonné. En variante, l'opérateur de télécommunications mobiles peut procéder, par étapes, à des modifications successives du nombre maximal autorisé d'utilisations de la donnée secrète, en lui attribuant des valeurs de plus en plus grandes, au fur et à mesure qu'il est de plus en plus confiant dans l'honnêteté de
l'abonné titulaire de la carte SIM, par exemple lorsque plusieurs mois se sont écoulés sans incident de paiement pour cet abonné.
L'opérateur peut aussi évaluer le nombre d'authentifications réalisées par l'abonné en fonction de sa consommation et réaliser une nouvelle mise à jour du nombre maximal d'authentifications lorsqu'il estime que la carte à microcircuit de son abonné est proche d'avoir épuisé le nombre d'authentifications autorisées.
L'opérateur peut également remettre à jour le nombre maximal d'authentifications autorisées de façon périodique, par exemple tous les 6 mois, en utilisant le module de modification pour autoriser au maximum 5000 authentifications.
Avantageusement, le nombre maximal d'utilisations autorisées de la donnée secrète est inférieur au nombre d'utilisations anticipé pour la durée de vie de l'entité électronique.
On peut ainsi limiter le nombre maximal d'utilisations de la donnée secrète à un nombre suffisamment faible pour rendre inopérante toute attaque, par exemple de type DFA ou sur un algorithme COMP128. La mise en œuvre, à des moments choisis, du module de modification de ce nombre maximal permet cependant à la carte de ne jamais atteindre cette limite en l'absence d'attaques.
De façon avantageuse, mais non restrictive, l'utilisation de la donnée secrète consiste en une opération d'authentification de l'entité électronique sécurisée. En effet, la plupart des systèmes de communication sécurisée actuels sont fondés sur une authentification à partir d'une clé secrète mémorisée dans l'entité électronique sécurisée. Il peut s'agir de schémas d'authentification classiques, par exemple d'un schéma "défi-réponse" (en anglais "challenge- response"), dans lequel le serveur envoie un nombre aléatoire à l'entité électronique sécurisée, qui s'authentifie en renvoyant un nombre obtenu par application d'un algorithme de cryptage en utilisant sa clé secrète. L'algorithme de cryptage peut être par exemple un algorithme cryptographique tel que AES,
DES, RSA ou tels que ceux utilisés par les opérateurs de télécommunications mobiles par exemple, les algorithmes définis par la norme GSM, appelés
COMP128-1 ,COMP128-2, COMP128-3, ou l'algorithme défini par la norme
UMTS appelé "milenage", ou l'algorithme défini par la norme CDMA appelé
"cave". Dans le domaine des télécommunications mobiles, la carte à microcircuit s'authentifie ainsi auprès du réseau de télécommunications.
Dans d'autres modes de réalisation, l'utilisation de la donnée consiste en une opération de cryptage, de décryptage ou de signature. Avantageusement, le nombre maximal autorisé d'utilisations a une valeur comprise entre 1 et 15000. Cette valeur peut avoir été affectée au moment de la mise en service de l'entité électronique sécurisée, ou au moment de la personnalisation de la carte, si l'entité électronique sécurisée est une carte à microcircuit, ou après personnalisation, au cours d'une initialisation du nombre maximal autorisé d'authentifications. On se protège par exemple ainsi contre les attaques des algorithmes à faible niveau de sécurité tels que l'algorithme COMP128 défini par la norme GSM, pour lesquels une dizaine de milliers d'authentifications sont nécessaires pour obtenir la clé par une attaque frauduleuse. Avantageusement, le nombre maximal autorisé d'utilisations a une valeur comprise entre 1 et 500. Cette valeur peut également avoir été affectée au moment de la mise en service de l'entité électronique sécurisée, ou au moment de la personnalisation de la carte, si l'entité électronique sécurisée est une carte à microcircuit, ou au cours d'une initialisation du nombre maximal après personnalisation. On se protège ainsi contre les attaques DFA nécessitant un nombre d'authentifications relativement faible pour obtenir frauduleusement une donnée secrète de l'entité électronique sécurisée. En effet, l'attaquant ne peut pas alors effectuer le nombre d'utilisations de la donnée secrète nécessaire à l'obtention de cette donnée secrète, au moins jusqu'à la prochaine modification du nombre maximal autorisé d'utilisations.
Par exemple, si une carte à microcircuit pour une application bancaire utilise un schéma d'authentification basé sur l'algorithme de cryptographie AES, on pourra fixer, au moment de la personnalisation, le nombre maximal d'authentifications mémorisé dans la mémoire EEPROM de la carte bancaire, à la valeur 30. Si le schéma d'authentification est basé sur un algorithme DES, on peut fixer par exemple le nombre maximal d'authentifications à 5, car cet algorithme se montre beaucoup moins résistant aux attaques DFA. Dans le cas de l'utilisation d'un algorithme de cryptographie extrêmement peu résistant, on
peut imaginer de fixer le nombre maximal autorisé d'authentifications à une valeur aussi faible que 1. Dans ce cas extrême, le nombre d'utilisations est alors réactualisé après chaque authentification.
Avantageusement, l'entité électronique comporte des moyens adaptés à envoyer, par exemple à destination d'un seπ/eur, une requête de modification du nombre maximal autorisé d'utilisations lorsque celui-ci est inférieur à un seuil déterminé. Ces moyens consistent typiquement en une application mémorisée en ROM ou en EEPROM dans l'entité électronique. La requête est envoyée par exemple sous la forme d'un SMS (service de messages courts, en anglais "short message service") comportant un message sécurisé.
A réception de cette requête, le serveur, après avoir vérifié qu'une telle requête est plausible en l'absence d'attaque de la carte, envoie à l'entité électronique la commande prédéterminée précitée afin que la valeur du nombre maximal soit modifiée et que l'entité électronique puisse continuer à fonctionner. On évite ainsi tout risque de blocage de l'entité électronique sécurisée pouvant apparaître lorsque le nombre maximal autorisé d'utilisations atteint la valeur 0.
Dans un mode de réalisation de l'invention, l'entité électronique sécurisée est une carte à microcircuit et le module de modification est mis en œuvre après personnalisation de la carte. En effet, ce type d'entité électronique se prête particulièrement bien à l'invention. Les cartes à microcircuit, très largement diffusées dans le cadre de diverses applications sécurisées (bancaire, télécommunications, identification, ...), et portables (on les range dans un portefeuille, elles sont susceptibles d'être volées et de subir des attaques), doivent être particulièrement protégées des attaques visant à obtenir frauduleusement une donnée secrète contenue dans leur mémoire. Dans le cas des cartes à microcircuit, il est ainsi possible de modifier après personnalisation le nombre maximal d'authentifications pour améliorer la sécurité.
Dans un premier exemple de ce mode de réalisation, la carte à microcircuit est une carte d'identification d'un abonné à un réseau de télécommunications mobiles et la commande déclenchant la modification du nombre maximal d'authentifications peut être reçue selon un protocole de type SMS, par exemple selon la norme SMS ou MMS (service de messagerie multimédia, en anglais "multimédia messaging service"), par exemple par une
commande enveloppe conformément à la norme GSM. Cela permet ainsi l'initialisation, par un opérateur de télécommunications mobiles, du nombre maximal autorisé d'authentifications des cartes d'identification de ses abonnés, à travers son réseau, de façon simple. Bien entendu, dans d'autres modes de réalisation, la commande peut être reçue par le module de réception à travers un réseau filaire ou localement. La carte d'identification d'un abonné à un réseau de télécommunications mobiles peut être une carte SIM conforme à la norme GSM, ou des cartes conformes à des normes apparentées telles que CDMA, TDMA, UMTS. Pour attaquer un tel système, un attaquant peut envisager d'attendre la prochaine modification du nombre maximal autorisé d'utilisations, ou autant de modifications que nécessaire, pour effectuer le nombre d'utilisations de la donnée secrète lui permettant d'obtenir frauduleusement cette donnée secrète. Une telle attaque est rendue beaucoup plus difficile si le nombre maximal autorisé d'utilisations est modifié à une valeur aléatoire et secrète. Par exemple, on tire au sort une valeur comprise parmi les nombres 10, 100, 500, 1000, 2000 et 5000, si le nombre d'utilisations de la donnée secrète nécessaires pour obtenir cette donnée secrète est 10000.
Pour que cette mesure soit efficace, la valeur aléatoire choisie, dans notre exemple 10, 100, 500, 1000, 2000 ou 5000, doit rester secrète, c'est-à-dire qu'elle ne doit pas pouvoir être connue par l'attaquant. Pour cela, la valeur affectée au nombre maximal autorisé d'authentifications peut être crypté. C'est automatiquement le cas, si la commande de modification du nombre maximal autorisé d'utilisations de la donnée secrète est cryptée. La valeur aléatoire peut également être choisie par la carte à microcircuit. Evidemment, la modification suivante du nombre maximal autorisé d'utilisations est réalisée à un instant qui est fonction de la valeur aléatoire qui lui est affectée. Supposons, par exemple, dans le cas où l'entité électronique sécurisée est une carte SIM, que la valeur aléatoire choisie soit égale à 100, et qu'on anticipe qu'un utilisateur pourra réaliser jusqu'à 30 authentifications par jour. La modification suivante du nombre maximal d'authentifications devra avoir lieu 3 jours plus tard.
Avantageusement, la carte à microcircuit d'un abonné d'un opérateur de télécommunications envoie à l'opérateur une requête de modification du nombre
maximal autorisé d'utilisations, sous la forme par exemple d'un message de type SMS, lorsque le nombre autorisé restant d'utilisations de la donnée secrète est inférieur à un seuil déterminé. Par exemple, ce seuil peut être fixé à 50 authentifications. Lorsque l'opérateur reçoit une telle requête, il peut vérifier que cette requête n'est pas déclenchée par une attaque, par exemple en vérifiant qu'une telle requête n'a pas été émise récemment par cette carte, ou bien en vérifiant la cohérence de cette requête, par une évaluation des authentifications réalisées par la carte (en observant par exemple la consommation de l'abonné en unités tarifaires). De cette façon, les modifications du nombre maximal autorisé d'authentifications sont réalisées uniquement lorsque cela est nécessaire, ce qui permet de réduire le coût global des modifications en réduisant le nombre de SMS envoyés.
Dans ce mode de réalisation, le seuil mentionné ci-dessus peut être avantageusement engendré aléatoirement par la carte à microcircuit. Dans le cas contraire, un attaquant pourrait alors détecter l'envoi d'une telle requête de modification et en déduire le nombre autorisé restant d'authentifications.
Bien sûr, dans le domaine des télécommunications, la modification du nombre maximal autorisé d'authentifications n'est pas nécessairement réalisée par l'opérateur. L'opération peut être réalisée par un prestataire de service, par exemple. Dans ce cas, le prestataire doit disposer des clés secrètes permettant d'envoyer des commandes sécurisées de modification.
D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description est faite en référence aux dessins qui l'accompagnent, dans lesquels : la figure 1 représente de façon schématique une entité électronique sécurisée conforme à l'invention, dans un mode particulier de réalisation où il s'agit d'une carte à microcircuit ; et - la figure 2 représente de façon schématique une commande de modification du nombre maximal autorisé d'authentifications reçue conformément à la présente invention par une entité électronique du type de la figure 1.
Dans le mode particulier de réalisation illustré sur la figure 1, l'entité électronique sécurisée conforme à la présente invention est une carte à microcircuit 10 comprenant une unité centrale de traitement CPU (en anglais "Central Processing Unit') et une unité cryptographique 13, auxquelles sont associées de façon classique une mémoire RAM, une mémoire EEPROM, une mémoire ROM et un port d'entrées/sorties 14.
Dans cet exemple nullement limitatif, il s'agit d'une carte SIM selon la norme GSM. La mémoire EEPROM contient un fichier FICH1 sécurisé selon la norme ISO 7816 par une clé secrète CLE1 propre à chaque carte, contenant un enregistrement 16 qui mémorise le nombre maximal autorisé d'utilisations, qui sont ici des opérations d'authentification de la carte.
Cet enregistrement 16 est décrémenté par le système d'exploitation de la carte (mémorisé en ROM) chaque fois que la carte réalise une authentification. Une nouvelle authentification est interdite par le système d'exploitation dès que cet enregistrement contient le nombre zéro. Au moment de la personnalisation réalisée par le fabricant de cartes à microcircuit, cet enregistrement 16 est initialisé à 200. La mémoire EEPROM mémorise également un compteur CPTI de commandes reçues de modification du nombre maximal autorisé d'authentifications. Selon l'invention, le système d'exploitation comprend en outre, en mémoire ROM, une application 17 de réception et d'exécution d'une commande de modification du nombre maximal autorisé d'authentifications. L'application 17 peut être activée par une commande enveloppe du protocole SMS selon la norme GSM. L'application 17 peut aussi servir à émettre, par exemple à destination d'un seπ/eur, une requête de modification du nombre maximal autorisé d'authentifications lorsque celui-ci est inférieur à un seuil déterminé. En variante, le système d'exploitation de la carte peut comporter une autre application, distincte de l'application 17, cette autre application étant dédiée à la fonction d'émission, à destination d'un serveur, de la requête de modification du nombre maximal autorisé d'authentifications.
La commande enveloppe reçue peut contenir les données CMD représentées sur la figure 2. Ces données CMD reçues par l'application 17 contiennent :
- la nouvelle valeur V du nombre maximal autorisé d'authentifications, - un numéro de modification CPTO permettant d'interdire le rejeu d'une commande interceptée par un tiers non autorisé et
- la clé CLEI , l'ensemble de ces données étant crypté avec une clé secrète CLE2, propre à chaque carte, mémorisée dans la mémoire EEPROM de la carte à microcircuit (voir figure 1).
A réception des informations concernant un nouvel abonné possédant la carte 10, et après éventuelle vérification, c'est-à-dire au moment de la validation d'un abonnement, l'opérateur de télécommunications mobiles envoie à l'attention de la carte 10, un message SMS contenant les données CMD, activant l'application 17, en donnant à V une valeur égale au nombre d'authentifications anticipé durant la vie de la carte, par exemple 60000.
De son côté (non représenté), l'opérateur maintient un compteur de messages de modification incrémenté à l'envoi de chaque message de modification du nombre maximal autorisé d'authentifications. La valeur courante du compteur de l'opérateur est affectée à l'enregistrement CPTO du SMS envoyé. L'opérateur mémorise en outre les clés CLE1 et CLE2 pour chaque carte SIM qu'il a fait fabriquer.
A réception de ce message SMS, la carte 10 lance l'application 17 qui décrypte le message CMD avec la clé CLE2 et compare la valeur de l'enregistrement CPTO avec la valeur de l'enregistrement CPTI mémorisé en
EEPROM. Si la valeur mémorisée dans CPTO est supérieure à la valeur mémorisée dans CPTI alors le message n'est pas un rejeu et le système d'exploitation affecte à l'enregistrement CPTI la valeur de CPTO puis ouvre le fichier FICH1 en utilisant la clé CLE1 et affecte à l'enregistrement 16 la valeur de V, soit 60000 dans notre exemple.
La vérification de la clé CLE1 pour l'ouverture du fichier FICH1 permet de vérifier l'authenticité du message envoyé, c'est-à-dire de vérifier que le SMS n'a pas été envoyé ou modifié par un tiers non autorisé. En effet, sans l'utilisation de
cette clé CLE1 , un attaquant pourrait envoyer un message CMD quelconque en espérant que, par chance, la valeur V décryptée soit grande, par exemple égale à 200000, ce qui lui permettrait ensuite d'effectuer un grand nombre d'authentifications. En variante, à la place de la clé CLE1 , le message CMD peut comporter une signature obtenue à partir d'une fonction de hachage et une fonction de cryptage afin d'authentifier le message.
L'opérateur évite ainsi tout risque de clonage qui serait réalisé avant la vente de la carte à un abonné et la validation de l'abonnement par l'opérateur de télécommunications mobiles. En variante, la commande enveloppe peut être remplacée par une commande de sélection du fichier FICH1 , c'est-à-dire la commande SELECT dans la norme ISO 7816, suivie d'une commande de modification de l'enregistrement 16, c'est-à-dire la commande UPDATE RECORD dans la norme ISO 7816. Le SMS peut être simplement crypté selon la norme GSM 03.48.