Brevet FR2810139A1 — publié le 20011214

L'invention concerne un procédé de sécurisation d'une opération prédéterminée, notamment de la phase de pré-initialisation d'un système embarqué à puce électronique, par le chargement sécurisé d'une clé de chiffrement à usage dédié. Elle s'applique plus particulièrement à une carte à puce. L'invention concerne encore un système embarqué pour la mise en ceuvre du procédé. Dans le cadre de l'invention, le terme "pré-initialisation" s'entend dans un sens général. II est notamment relatif à la phase de fabrication d'une carte à puce traditionnelle ou à la phase précédant la phase d'initialisation d'une carte à puce dite ouverte. De même, le terme "système embarqué" vise des systèmes ou dispositifs divers ayant en commun le fait de disposer d'une puce électronique comprenant des moyens de mémoire et de traitement de données, généralement constitués par un microprocesseur ou un microcontrôleur. Un tel système embarqué peut être constitué notamment par une carte à puce. Pour fixer les idées, on se placera dans ce qui suit dans le cas de l'application préférée de l'invention, à savoir celui de la pré-initialisation d'une carte à puce. Dans la plupart des applications à base de carte à puce, il est dévolu à ces dernières des fonctions relatives à la sécurité. Ce terme recouvre d'ailleurs lui-même divers concepts confidentialité, authentification, etc. Pour ce faire, on inscrit, dans une partie non volatile des moyens de mémoire précités de la puce électronique, de façon définitive (utilisation de mémoires fixes du type dit "ROM", pour "Read Only Memory" ou mémoire à lecture seule), ou semi-fixe (mémoire re-programmable du type "EEPROM", pour "Electrically Erasable Programmable Read Only Memory" ou mémoire effaçable programmable par voie électrique à lecture seule, etc.), des données dites secrètes nécessaires à ces fonctions : algorithmes de chiffrage, clés secrètes de chiffrage, données d'identification, etc. Parmi ces données, il existe une clé dite de fabrication permettant traditionnellement de sécuriser toutes les étapes de pré-initialisation de la carte à puce. De façon habituelle, la fabrication d'une carte à puce s'effectue en deux grandes phases. Pendant la première phase, une puce électronique est fabriquée par une première entité, que l'on appellera ci-après 'Pondeur". Pendant une seconde phase cette puce électronique est mise en module puis intégrée dans un support, à savoir une pièce de plastique sensiblement rectangulaire, constituant la carte à puce proprement dite. Cette opération est réalisée généralement par une seconde entité, distincte de la première, que l'on appellera ci-après "encarteur". Une troisième entité, que l'on appellera ci-après "pré- personnalisateur", réalise l'opération de pré-initialisation précitée. Dans l'état actuel de la technique, de manière quasi systématique, la clé de fabrication sécurisant toutes les étapes de pré-initialisation d'une carte à puce est écrite en clair et sans authentification préalable par l'encarteur. Ce mode opératoire pose plusieurs problèmes - si des cartes sont subtilisées lors de leur transport du fondeur vers l'encarteur, aucune sécurité logicielle ("software") n'est assurée : les cartes peuvent être frauduleusement pré-initialisées et utilisées de façon malveillante par la suite ; - un fraudeur réalisant une carte en tout point clonée peut l'insérer dans la chaîne d'encartage sans être repéré ; et - un simple espionnage de ligne permet d'obtenir la clé de fabrication transmise en clair. Une solution serait de faire écrire la clé de fabrication par le fondeur lors d'une opération dite "sous pointe", mais cette solution est très onéreuse, car les données secrètes doivent être diversifiées pour chaque carte (données non fixes), ce qui de plus est mal adapté aux cadences de fabrication du fondeur. Ce procédé onéreux n'est donc pas réaliste et, de ce fait, pratiquement jamais mis en oeuvre. L'invention vise à pallier les inconvénients des dispositifs de l'art connu, et dont certains viennent d'être rappelés. Pour ce faire, selon une première caractéristique avantageuse de l'invention, l'écriture de la clé de fabrication est protégée par une authentification mutuelle entre un organe connu sous le sigle anglo-saxon "SAM" (pour "Security Access Module" ou "Module d'Accès Sécurisé") et la carte à puce, de manière à se prévaloir de l'utilisation d'un faux module "SAM" ou d'une carte à puce clonée ou encore ayant une mémoire non volatile, "ROM" ou autre", falsifiée. Ci-après, par mesure de simplification, ce module sera appelé "SAM". Celui-ci peut être hébergé dans un micro- ordinateur ou une carte à puce, par exemple. De façon générale, on peut définir le "SAM" comme étant un organe "porteur de clé". Celui-ci emmagasine en effet une clé secrète qui n'est jamais divulguée, dans le sens où elle n'est pas communiquée au monde extérieur. Elle sert à calculer d'autres clés permettant l'authentification mutuelle précitée. L'authentification du "SAM" par la carte à puce utilise un algorithme de chiffrage de type asymétrique. Il peut s'agir, par exemple, de l'algorithme très utilisé dans le domaine des applications bancaires et connu sous le sigle "RSA" (pour "Rivest, Shamir et Adleman", inventeurs désignés dans le brevet US 4 405 829 A). Cependant, une carte à puce n'étant pourvue que de ressources informatiques limitées, on préférera utiliser, pour ce faire, l'algorithme dit de "Rabin". En effet, dans ce dernier cas, la puissance de calcul nécessaire est moindre, ce qui convient mieux aux caractéristiques propres à un dispositif du type carte à puce ou similaire. Aussi, on considérera ci-après, sans que cela limite en quoi que ce soit la portée de l'invention, que l'algorithme de type asymétrique utilisé est l'algorithme de "Rabin". En ce qui concerne l'authentification de la carte à puce par le module "SAM", celle-ci est basée avantageusement sur un algorithme symétrique, préférentiellement du type dit "triple DES" (pour "Data Encryption System"). En utilisant l'algorithme de Rabin pour l'authentification du "SAM" par la carte à puce et l'algorithme "triple DES" pour l'authentification de la carte à puce par le "SAM", le recours à un cryptoprocesseur n'est pas nécessaire pour mettre en #uvre le mécanisme de sécurisation, ce qui est avantageux également dans le cadre des applications visées par l'invention. Le procédé selon l'invention permet ensuite au "SAM" authentifié de charger la clé de fabrication de manière sécurisée vers la carte à puce elle-même authentifiée. L'invention a donc pour objet principal un procédé de chargement sécurisé d'une clé dédiée à la sécurisation d'une opération prédéterminée dans des moyens de mémoire d'une puce électronique d'un système embarqué, ladite clé dédiée étant contenue dans un dispositif de sécurité comportant des moyens de communication bidirectionnels avec ladite puce électronique, caractérisé en ce que, lesdits moyens de mémoire de ladite puce électronique emmagasinant une clé de chiffrement secrète symétrique et une clé publique asymétrique et ledit dispositif de sécurité emmagasinant la même clé de chiffrement secrète symétrique et la clé secrète asymétrique correspondant à la clé publique de ladite puce électronique, il comprend - une première phase consistant en l'authentification dudit dispositif de sécurité par ladite puce électronique et comprenant les étapes de génération par la puce électronique d'un premier nombre aléatoire et sa transmission au dispositif de sécurité, la génération par celui-ci d'un deuxième nombre aléatoire et d'un premier cryptogramme, à partir desdits premier et deuxième nombres aléatoires, par l'application d'un algorithme de signature de type asymétrique, à l'aide de ladite clé secrète asymétrique, et sa transmission à ladite puce électronique de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé publique ; - une deuxième phase consistant en l'authentification de ladite puce électronique et comprenant les étapes de génération, par la puce électronique et ledit dispositif de sécurité d'une clé secrète dite de session à partir dudit premier nombre aléatoire, par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé de chiffrement secrète, suivi de la génération d'un deuxième cryptogramme par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé secrète de session et sa transmission au dit dispositif de sécurité de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé de session ; et - une phase de transfert dans lesdits moyens de mémoire de ladite puce électronique de ladite clé dédiée, chiffrée par ladite clé secrète de session. L'invention a encore pour objet un système embarqué à puce électronique pour la mise en oeuvre du procédé. L'invention va maintenant être décrite de façon plus détaillée en se référant aux dessins annexés, parmi lesquels - la figure 1 illustre schématiquement un exemple de configuration de la mémoire d'une carte à puce selon un aspect de l'invention, pour l'enregistrement d'une clé publique ; - la figure 2 illustre schématiquement les principaux échanges d'informations pour l'authentification mutuelle d'un module dit "SAM", porteur de clé, et d'une carte à puce, selon le procédé de l'invention ; - la figure 3 illustre un exemple de données concaténées servant au calcul d'une signature Rabin sur des nombres aléatoires générés respectivement par la carte à puce et le module "SAM", selon un aspect du procédé de l'invention ; - la figure 4 illustre, sur un exemple, la génération d'une clé de session dans la carte à puce, selon un aspect de l'invention ; - la figure 5 illustre, sur un exemple, la génération d'un cryptogramme dans la carte à puce, à l'aide de la clé de session, selon un aspect de l'invention ; et - la figure 6 illustre un exemple de données concaténées servant au calcul d'une signature Rabin, calculée par le "SAM", sur la commande de chargement de la clé de fabrication devant être transférée chiffrée dans la carte à puce. Dans ce qui suit, sans en limiter en quoi que ce soit la portée, on se placera ci-après dans le cadre de l'application préférée de l'invention, sauf mention contraire, c'est-à-dire dans le cas de la sécurisation de la phase de pré-initialisation d'une carte à puce. Le procédé selon l'invention nécessite, du point de vue de la carte à puce et du module "SAM", une clé secrète symétrique, que l'on appellera ci-après clé maître KM. Cette clé KM doit être présente dès que la puce électronique ou "chip" sort de l'entité qui a été appelé "fondeur". Le stockage de cette clé KM est effectué dans une partie non volatile de la mémoire dont est munie la puce électronique : mémoire fixe de type "ROM" ou semi-fixe de type "EEPROM" ou similaire. Dans une variante de réalisation préférée de l'invention, et selon une première caractéristique, la clé KM est écrite "sous pointe" en "EEPROM" par le fondeur. Les octets composant la clé KM sont des données extrêmement sensibles et doivent être traités comme des octets de sécurité. Le stockage en "EEPROM" permet une éventuelle diversification de cette clé KM pour plusieurs lots de cartes. Le procédé selon l'invention nécessite également, du point de vue de la carte à puce, une clé publique asymétrique, que l'on appellera ci- après clé publique asymétrique n. Cette clé n, fixe pour toutes les cartes, doit être présente dès que la puce électronique ou "chip" sort de l'entité qui a été appelé "fondeur". Le stockage de cette clé n est effectué dans une partie non volatile de la mémoire dont est munie la puce électronique : mémoire fixe de type "ROM" et/ou semi-fixe de type "EEPROM" ou similaire Dans une variante de réalisation préférée de l'invention, et selon une deuxième caractéristique, la mémoire non volatile de la puce électronique présente une configuration hybride, physique et logique, particulière. On prévoit une partie fixe, de type "ROM" et une partie semi- fixe re-programmable, par exemple de type "EEPROM". On répartit les octets de la clé publique précitée entre ces deux zones de mémoire de la façon particulière explicitée ci-après. Les octets doivent être présents dès que la puce sort de chez le fondeur. Les octets écrits "sous pointe" dans la partie "EEPROM" de la mémoire doivent être considérés comme extrêmement sensibles, et, à ce titre, être traités comme des octets de sécurité. Par exemple, pour fixer les idées, on va considérer une clé publique de longueur 768 bits (soit 96 octets). Celle-ci réside totalement en mémoire "ROM". Cependant, selon un mode de réalisation préféré du procédé selon l'invention, on enregistre un octet par bloc de douze de façon intentionnellement erronée dans la zone de mémoire de type "ROM", cette valeur erronée ayant été volontairement écrite dans le code enregistré dans cette partie de la mémoire de type "ROM". Pour sa part, la valeur correcte de l'octet en question est enregistrée dans la partie de type "EEPROM". Dans cet exemple, huit octets (c'est-à-dire 96/12=8) doivent donc être programmés dans la partie de type "EEPROM" de la mémoire. Ces données sont fixes, car une clé publique ne se diversifie pas. En outre, il est réalisé une opération connue sous le terme "hachage" ("hash") sur 160 bits de la clé publique n. Le résultat est stocké en mémoire "ROM", de façon à pouvoir être vérifié à chaque utilisation de la clé n. Pour ce faire, il est utilisé avantageusement un algorithme du type connu sous le sigle "SHA-1". Cet algorithme particulier doit donc être implanté dans la carte à puce. Associé au stockage particulier de la clé publique n, le "hash" permet de garantir simultanément l'intégrité des deux parties de type "ROM" et "EEPROM" de la mémoire, La figure 1 illustre schématiquement une telle configuration de mémoire d'une carte à puce CP. Dans l'exemple décrit, les moyens de mémoire M comprennent notamment une partie de mémoire 1, de type "ROM", et une partie de mémoire 2, de type "EEPROM". Toujours dans l'exemple décrit, on enregistre, dans la mémoire "ROM" 1, huit blocs de douze octets de données numériques, BI à B8, représentant la clé publique précitée n. Dans chacun de ces huit blocs, 8, à 88, il existe un octet intentionnellement erroné, arbitrairement les octets, O, à 08. On enregistre, dans la mémoire "EEPROM" 2, huit octets corrects, O', à O'8, correspondant à ces octets erronés O, à 08. On va maintenant décrire les étapes permettant le chargement sécurisé d'une clé dite de fabrication dans la carte à puce. La première phase du procédé selon l'invention consiste en l'authentification du "SAM" vis-à-vis de la carte à puce CP. Cette phase comprend notamment une étape de calcul par le "SAM" d'un cryptogramme en faisant usage d'une clé secrète asymétrique correspondant à la clé publique asymétrique n contenue dans la carte. Dans la pratique, la clé est composée de deux nombres premiers, que l'on appellera arbitrairement p et q. On appellera arbitrairement Kpq la clé secrète asymétrique du "SAM. En d'autres termes, le "SAM" s'identifie vis-à- vis de la carte à puce CP et celle-ci reconnaît son interlocuteur avec la clé publique n. Comme le montre la figure 2, au moyen d'un ordre sortant Os, le "SAM" 3 récupère de la carte à puce CP un nombre aléatoire Nec sur seize octets. Le nombre N,c sera appelé ci-après "nombre aléatoire carte" et peut être généré, par exemple, par les moyens de calcul de la carte à puce CP, dans l'exemple illustré, un microprocesseur CPU. Le "SAM" 3 génère également un nombre aléatoire de seize octets que l'on appellera "nombre aléatoire SAM" N,s. Une signature Rabin, que l'on dénommera ci-après SR, est calculée, par le "SAM" 3sur quatre vingt seize octets de données, référencées DSR. Ces données DSR peuvent être conformes à la concaténation illustrée par la figure 3, de façon à atteindre les quatre vingt seize octets précités - une suite de cinquante neuf octets de remplissage, DSR,, ayant par exemple la configuration fixe suivante : 01, FF, ... FF, en hexadécimal; - une suite de cinq octets, DSR2, dits d'en-tête de la commande d'authentification mutuelle ; et - trente deux octets, DSR3, constitués par la concaténation des nombres N,s et Nec précités. La suite de cinq octets d'en-tête de la commande d'authentification mutuelle, DSRZ, peut être constituée avantageusement par le contenu d'une commande d'un type dit "APDU", si la carte à puce CP est lue par un lecteur de carte à puce selon un protocole conforme aux normes "1S0 7816-1" à "1S0 7816-4". De façon plus précise, il peut s'agir du code associé à une instruction de chargement. Si on se réfère de nouveau à la figure 2, la signature Rabin SR et le nombre aléatoire Nes sont envoyés à la carte à puce CP, au moyen d'un ordre entrant-sortant OES, indiquant une authentification mutuelle. Le "SAM" 3 est seul capable de générer cette signature SR, puisque la clé secrète qu'il emmagasine n'est jamais divulguée. La carte à puce CP vérifie la signature Rabin à l'aide de la clé publique asymétrique n qu'elle stocke, ce qui permet d'authentifier le "SAM" 3. La deuxième phase du procédé consiste en l'authentification de la carte à puce CP vis-à-vis du "SAM" 3, de façon à compléter l'authentification mutuelle des deux entités. A partir de la clé secrète maître Km et du nombre aléatoire précité de seize octets, Nec, la carte à puce CP génère une clé symétrique secrète dite de session, Ks, de seize octets, permettant de calculer un cryptogramme propre à la carte à puce CP. De façon préférentielle, cette clé secrète de session, Ks, dite d'authentification, s'obtient en effectuant un chiffrement par un algorithme de type triple "DES" sur les deux parties, Neci et Nec2, du nombre aléatoire carte Nec, De façon plus précise, le processus de calcul de la clé secrète de session, Ks, s'effectue comme illustré par le diagramme de la figure 4. Comme il bien connu, un chiffrement par un algorithme de type triple "DES" comporte, en cascade, un premier chiffrement, à l'aide d'une clé (en l'occurrence la clé secrète maître KM), par un "DES" direct, un deuxième "DES" de type inverse et un troisième "DES", direct également. Sur la partie "poids faible" de huit octets, Nac,, du nombre aléatoire carte à puce, Nec, le triple "DES" s'effectue directement à l'aide de trois modules en cascade, référencés D", D2, et D3,. Les modules D" et D3, reçoivent, sur leurs entrées de clé, une même valeur de clé, en l'occurrence la partie "poids fort" de huit octets, KM,, de la clé KM, alors que le module D2, reçoit, sur son entrée de clé, la partie "poids faible", Km2, toujours sur huit octets. En sortie du module D3,, on obtient la partie "poids fort" sur huit octets, Ks,, de la clé secrète de session Ks. Ce mot de huit octets, Ks,, peut être stocké temporairement dans un registre de mémoire ou dans une partie de la mémoire vive dont est habituellement munie la carte à puce CP. La partie Ks, est ré-injectée sur une première entrée d'un circuit logique de type "OU-exclusif' référencé XOR. Celui-ci reçoit, sur une seconde entrée, la partie "poids fort" de huit octets, N,c2, du nombre aléatoire carte à puce, Nec. La sortie de ce circuit logique XOR est transmise à l'entrée d'une chaîne de chiffrage en triple "DES". Ce triple "DES" s'effectue à l'aide de trois modules en cascade, référencés D,2, D22 et D32. Comme précédemment, les modules D,2 et D32 reçoivent, sur leurs entrées de clé, une même valeur de clé, en l'occurrence la partie "poids fort" de huit octets, KM,, de la clé KM, alors que le module D22 reçoit, sur son entrée clé, la partie "poids faible", KNn, toujours sur huit octets. En sortie du module D32, on obtient la partie "poids faible" sur huit octets, KS2, de la clé secrète de session Ks. Ce mot de huit octets, Ks2, peut lui aussi être stocké temporairement dans un registre de mémoire ou dans une partie de la mémoire vive. La clé secrète KM peut être présente en "ROM", ou écrite "sous pointe" en "EEPROM", comme il a été rappelé précédemment. II va de soit que l'opération logique "OU-exclusif' peut être réalisée de manière logicielle, au lieu d'utiliser un circuit logique spécifique XOR, ce en faisant appel à une routine enregistrée en mémoire "ROM" 1 par exemple, sous la commande du microprocesseur CPU. De même, les opérations de chiffrage "DES" ou "DES- "' sont généralement réalisées à l'aide d'algorithmes enregistrés en mémoire "ROM" 1, toujours sous la commande du microprocesseur CPU. Les résultats intermédiaires sont stockés dans des registres ou en mémoire vive. Le "SAM" 3 est en mesure de calculer la même clé de session secrète Ks, de la façon qui vient d'être décrite, car ce dernier stocke également la clé secrète maître KM. Dans une étape supplémentaire, la carte à puce CP génère une suite d'octets qui va être appelée ci-après "cryptogramme carte" CC. Ce dernier est obtenu en chiffrant le nombre aléatoire "SAM" transmis à la carte à puce CP à l'aide de la clé secrète de session Ks qui vient d'être calculée. La figure 5 illustre le processus. Ce dernier est similaire à celui qui a permis de calculer la clé secrète de session Ks. Il a notamment recours à des fonctions "OU-exclusif' et à chiffrage selon l'algorithme triple "DES". Aussi, les éléments communs aux figures précédentes portent les mêmes références et ne seront re-décrits qu'en tant que de besoin. Le nombre aléatoire "SAM", Nes, a été reçu du "SAM" 3 et est stocké provisoirement dans un emplacement de mémoire, registre ou autre. La partie poids fort sur huit octets, Nes,, de ce nombre aléatoire, Nes, est soumise à un triple "DES" par la chaîne D" à D3,. Cependant elle subit d'abord une opération logique "OU-exclusif' avec une valeur de chaînage initiale de huit octets, N,, de valeur hexadécimale "00", à l'aide d'un premier circuit XOR, (ou par un processus logiciel). C'est la sortie de ce circuit XOR, qui est transmise à la chaîne précitée. La clé de chiffrage est la clé de session secrète Ks calculée à l'étape précédente. De façon plus précise, les entrées de clé des "DES" D" et D3, reçoivent les huit octets de plus fort poids, Ks,, de cette clé Ks, et l'entrée de clé du " DES " D2,, les huit octets de plus faible poids, Ks2. Ce processus permet de calculer les huit octets de plus fort poids, CC,, du cryptogramme CC. Ces octets CC, sont ré-injectés en entrée de la chaîne de chiffrage triple "DES", D,2 à D32, pour les octets de plus faible poids, NBs2, du nombre aléatoire "SAM" Nes, plus exactement sur une des entrées d'un deuxième circuit "OU-exclusif' XOR2, la première entrée recevant les huit octets de plus faible poids du nombre aléatoire Nes. C'est la sortie de ce circuit XOR2 qui est transmise à la chaîne précitée. Les entrées de clé des "DES" D,2 et D32 reçoivent les huit octets de plus fort poids, Ks,, de cette clé Ks, et l'entrée de clé du " DES " D22, les huit octets de plus faible poids, KS2. La sortie du "DES" D32 génère les huit octets de poids faible CC2 du cryptogramme carte CC. Ce cryptogramme est transmis au "SAM" 3, au moyen de l'ordre d'entrée-sortie OES (figure 2) d'authentification mutuelle. A l'issue de cette étape, le "SAM" 3 peut authentifier la carte à puce CP à partir du cryptogramme carte CC, puisqu'il a également calculé la clé de session Ks, comme rappelé ci-dessus. La dernière étape consiste à charger la clé dite de fabrication KF dans la mémoire de la carte à puce CP., à l'aide d'une commande de chargement C,,n. Cette clé KF est sécurisée par chiffrage à l'aide de la clé secrète de session Ks, en mode dit "CBC" (pour "Concatened Blocks Ciphering" ou Blocs Concaténés Chiffrés). Si la commande de chargement échoue, la clé de session Ks est perdue et une nouvelle authentification mutuelle est nécessaire, avec calcul d'une nouvelle clé de session. La commande de chargement est signée à l'aide d'une signature Rabin par le "SAM" 3. La figure 6 illustre schématiquement les données DSR' servant à calculer une signature Rabin SR'. Au total, DSR' comprend quatre vingt seize octets. DSR' comprend, dans l'exemple trois parties - une en-tête DSR'3, avantageusement une commande "APDU" comme dans le cas de la figure 2 ; - des données chiffrées, DSR'2, soit Do, à Do", représentant la clé de fabrication KF (avec n le nombre d'octets total de la clé de fabrication KF) ; et - des données fixes de remplissage, DSR',, soit x octets, par exemple de configuration : 01, FF ... FF, en hexadécimal (la valeur de x est choisie pour que le nombre total d'octets de DSR' soit égal à quatre vingt seize). A la lecture de ce qui précède, on constate aisément que l'invention atteint bien les buts qu'elle s'est fixés. Notamment, le chargement de la clé de fabrication utilisée ultérieurement pour la sécurisation des étapes de pré-initialisation de la carte à puce CP s'effectue avec un niveau de sécurité très élevé. Le procédé permet de charger dans chaque carte à puce CP sa propre clé, ou en d'autres termes une clé différente des autres cartes à puce. Cependant, bien qu'il permette cette diversification de clé, le procédé n'oblige pas pour autant à avoir recours à des opérations longues et coûteuses, du type signalé dit d'écriture "sous pointe du fondeur". II doit être clair cependant que l'invention n'est pas limitée aux seuls exemples de réalisations explicitement décrits, notamment en relation avec les figures 1 à 6. Comme il a été indiqué, bien que l'algorithme de Rabin soit particulièrement avantageux, car peu gourmand en ressources informatiques, cet algorithme pourrait être remplacé par d'autres types d'algorithmes asymétriques, tel le "RSA". II en est de même de l'algorithme du type triple "DES". D'autres algorithmes à clés symétriques sont utilisables sans quitter le domaine de l'invention. Ceci ne constitue qu'un choix technologique, en soi à la portée de l'Homme de Métier, et dépendant notamment de l'application précise envisagée. De même, les valeurs numériques précises, nombre d'octets ou autres, n'ont été indiquées que dans un but de fixer les idées et ne sauraient limiter en quoi que ce soit la portée de l'invention. Notamment, comme il est bien connu, la longueur des clés de chiffrement dépend du degré de sécurité que l'on escompte atteindre et peut résulter de choix technologiques, liés par exemple à des standards de fait et/ou aux types d'algorithmes choisis. Enfin, comme il a été indiqué, l'invention n'est pas limitée aux seules applications à base de cartes à puce. Elle peut trouver application dans le cadre de tout système embarqué comprenant une puce électronique ou un organe similaire, dans lequel il est nécessaire de charger une clé pour la sécurisation d'opérations prédéterminées. Les opérations en question peuvent être des opérations de pré- initialisation, comme il a été décrit de façon détaillée, mais aussi d'autres types opérations. A titre d'exemple, il est possible de soumettre des commandes sensibles d'une carte à puce dite ouverte, telles le chargement de librairies du type dit "API" ("Application Program Interface") ou de codes divers, dans la partie "EEPROM", à une authentification mutuelle entre le dispositif de chargement et la carte à puce, le processus d'authentification mutuelle se déroulant de façon conforme au procédé de l'invention. De façon générale, Il est possible d'affecter du point de vue de la carte à puce une clé publique et une clé secrète symétrique à chaque type d'opération à sécuriser. La clé de session dérivée lors du mécanisme d'authentification peut être utilisée par la suite afin de sécuriser le chargement d'une autre clé à usage dédié, comme la protection de librairies de type "API" précité ou de "patches", c'est-à-dire l'application de données binaires en remplacement de tout ou partie d'un programme existant. REVENDICATIONS 1. Procédé de chargement sécurisé d'une clé dédiée à la sécurisation d'une opération prédéterminée dans des moyens de mémoire d'une puce électronique d'un système embarqué, ladite clé dédiée étant contenue dans un dispositif de sécurité comportant des moyens de communication bidirectionnels avec ladite puce électronique, caractérisé en ce que, lesdits moyens de mémoire (M) de ladite puce électronique emmagasinant une clé de chiffrement secrète symétrique (KM) et une clé publique asymétrique (n) et ledit dispositif de sécurité (3) emmagasinant la même clé de chiffrement secrète symétrique (KM) et une clé secrète asymétrique (K,q) correspondant à ladite clé publique n de ladite puce électronique, il comprend - une première phase consistant en l'authentification dudit dispositif de sécurité (3) par ladite puce électronique (CP) et comprenant les étapes de génération par la puce électronique (CP) d'un premier nombre aléatoire (Nec) et sa transmission au dispositif de sécurité (3), la génération par celui-ci d'un deuxième nombre aléatoire (Nes) et d'un premier cryptogramme (SR), à partir desdits premier (Nec) et deuxième (Nes) nombres aléatoires, par l'application d'un algorithme de signature de type asymétrique, à l'aide de ladite clé secrète (Kp,), et sa transmission à ladite puce électronique (CP), de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé publique (n); - une deuxième phase consistant en l'authentification de ladite puce électronique (CP) et comprenant les étapes de génération, par la puce électronique (CP) et ledit dispositif de sécurité (3), d'une clé secrète dite de session (Ks) à partir dudit premier nombre aléatoire (N,c), par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé secrète (KM), suivi de la génération d'un deuxième cryptogramme (CC) par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé secrète de session (KS) et sa transmission au dit dispositif de sécurité (3) de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé de session (KS) ; et - une phase de transfert dans lesdits moyens de mémoire (M) de ladite puce électronique (CP) de ladite clé dédiée (KF), chiffrée par ladite clé de session (KS). 2. Procédé selon la revendication 1, caractérisé en ce que ladite phase de transfert de ladite clé dédiée (KF) est déclenchée par une commande de chargement de clé (Clh) est signée (SR') par l'application d'un algorithme de signature de type asymétrique. 3. Procédé selon la revendication 1, caractérisé en ce que ledit algorithme asymétrique est l'algorithme dit de Rabin. 4. Procédé selon la revendication 3, caractérisé en ce que lesdits premier (Nec) et deuxième (Nes) nombres aléatoires ont une longueur de seize octets et en ce que ledit premier cryptogramme (SR) est obtenu par application dudit algorithme de Rabin sur la concaténation desdits premier (Nec) et deuxième (Nes) nombres aléatoires (DSR3), d'un premier nombre déterminé d'octets formant un en-tête (DSRZ), et d'un deuxième nombre déterminé d'octets (DSR,), dits de remplissage, de manière à ce que la longueur totale de ladite concaténation (DSR) soit de quatre vingt seize octets, équivalente à la longueur de ladite clé publique (n). 5. Procédé selon la revendication 3, caractérisé en ce que ladite clé dédiée (KF) est chiffrée (DSR 2) par ladite clé secrète de session (KS) et est concaténée avec un troisième nombre déterminé d'octets (DSR 3), formant un en-tête, et un quatrième nombre déterminé d'octets (DSR',), dits de remplissage, de manière à ce que la longueur totale de ladite concaténation (DSR') soit de quatre vingt seize octets, et en ce que ladite concaténation (DSR') soit signée par application dudit algorithme de Rabin, avant ledit transfert vers ladite puce électronique (CP). 6. Procédé selon la revendication 1, caractérisé en ce que ledit algorithme symétrique est l'algorithme est du type dit triple "DES". 7. Procédé selon la revendication 6, caractérisé en ce que lesdits premier nombre aléatoire (Nec) et la dite clé secrète (KM) ayant une longueur de seize octets, ladite étape de génération de ladite clé secrète de session comprend - l'application dudit triple "DES" sur les huit octets de plus faible poids (Nec,) dudit premier nombre aléatoire (Nec), avec en cascade un " DES" direct (D"), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), un "DES" inverse (D2,), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète (Km2), et de nouveau un "DES" direct (D3,), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), de manière à générer huit octets de plus fort poids de ladite clé secrète de session (K5,) ; - l'application d'une opération logique "OU-exclusif' (XOR) entre ces huit octets de plus fort poids (K$,) et les huit octets de plus fort poids (N,c2) dudit premier nombre aléatoire (Nec) ; et - l'application sur le résultat de ladite opération logique dudit triple "DES", avec en cascade un "DES" direct (D,2), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), un "DES" inverse (D22), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète (KHn), et de nouveau un "DES" direct (D32), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), de manière à générer huit octets de plus faible poids (KS2) de ladite clé secrète de session (KS), lesdits octets de plus fort poids (KS,) et de plus faible poids (Ks2) formant ensemble ladite clé secrète de session (Ks). 8. Procédé selon la revendication 6, caractérisé en ce que ledit deuxième nombre aléatoire (Nes) et ladite clé secrète de session ( Ks) ayant une longueur de seize octets, ladite étape de génération dudit cryptogramme de la carte comprend - l'application d'une opération logique "OU-exclusif' (XOR,) entre les huit octets de plus fort poids (Nes,) dudit deuxième nombre aléatoire (N.s) et huit octets fixes à la valeur hexadécimale 00 ; - l'application dudit triple "DES" sur le résultat de ladite opération logique, avec en cascade un "DES" direct (D"), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), un "DES" inverse (D2,), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète de session (Ks2), et de nouveau un "DES" direct (D3,), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), de manière à générer huit octets de plus fort poids (CC,) dudit deuxième cryptogramme (CC) ; - l'application d'une opération logique "OU-exclusif' (XORZ) entre ces huit octets de plus fort poids (CC,) et les huit octets de plus faible poids (NBs2) dudit deuxième nombre aléatoire (Nes) ; et - l'application sur le résultat de ladite opération logique dudit triple "DES", avec en cascade un "DES" direct (D,2), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), un "DES" inverse (D22), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète de session (Ks2), et de nouveau un "DES" direct (D32), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), de manière à générer huit octets de plus faible poids (CC2) dudit deuxième cryptogramme (CC), lesdits octets de plus fort poids (CC,) et de plus faible poids (CC2) formant ensemble ledit deuxième cryptogramme (CC). 9. Procédé selon la revendication 1, caractérisé en ce que, ledit système embarqué à puce électronique étant une carte à puce (CP), ladite clé dédiée est une clé dite de fabrication (KF) servant à sécuriser les opérations de pré-initialisation de la carte à puce. 10. Système embarqué à puce électronique comprenant des moyens de traitement et de mémorisation de données, destiné à coopérer avec un dispositif de sécurité via des moyens de communication bidirectionnels, de manière à recevoir une clé dédiée à la sécurisation d'opérations prédéterminées, caractérisé en ce que lesdits moyens de mémorisation de données (M) emmagasinant une clé de chiffrement secrète symétrique (KM) et une clé publique asymétrique (n) et ledit dispositif de sécurité (3) enregistrant la même clé de chiffrement secrète symétrique (KM) et la clé secrète asymétrique (Kp,,) correspondant à ladite clé publique (n), ladite puce électronique comprend des moyens pour générer un premier nombre aléatoire (Nec) destiné à être transmis au dit dispositif de sécurité (3), des moyens pour recevoir de celui-ci un deuxième nombre aléatoire (Nes) et un premier cryptogramme d'authentification (SR), généré à partir desdits premier (Nec) et deuxième (Nes) nombres aléatoires, par application d'un algorithme du type asymétrique et l'utilisation de ladite clé secrète (Kp,,,),des moyens (XOR, D" - D32) pour générer une clé secrète dite de session (KS), à partir dudit premier nombre aléatoire (Nec), par application d'un algorithme du type symétrique et l'utilisation de ladite clé secrète (KM), des moyens pour générer un deuxième cryptogramme (CC), à partir dudit deuxième nombre aléatoire (Nes) reçu dudit dispositif de sécurité (3), par application d'un algorithme du type symétrique et l'utilisation de ladite clé secrète de session (KS), et des moyens pour recevoir dudit dispositif de sécurité (3) ladite clé dédiée (KF) chiffrée (DSR'z) à l'aide de ladite clé de session (KS) et pour l'enregistrer dans lesdits moyens de mémoire (M). 11. Système selon la revendication 9, caractérisé en ce qu'il est constitué par une carte à puce (CP) et en ce que ladite clé dédiée est une clé dite de fabrication (KF), et en ce que lesdites opérations à sécuriser sont des opérations de pré-initialisation de ladite carte à puce (CP).