Brevet FR3026206A1 — publié le 20160325

PROCEDE DE CONTREMESURE CONTRE UNE ATTAQUE PAR ANALYSE DE CONSOMMATION ELECTRIQUE POUR DISPOSITIF CRYPTOGRAPHIQUE La présente invention concerne les dispositifs cryptographiques et plus particulièrement, la protection de tels dispositifs contre des attaques par analyse de leur consommation électrique. La présente invention s'applique notamment aux cartes à puce, aux processeurs sécurisés, au téléphones sécurisés, et plus généralement à tout dispositif à microcircuit mémorisant des données sensibles et donc devant être protégé contre des attaques par analyse de consommation électrique. Les dispositifs à microcircuit manipulant des données sensibles font parfois l'objet d'attaques visant à déterminer ces données. Parmi les attaques connues, les attaques de type SPA (Simple Power Analysis) ou DPA (Differential Power Analysis) consistent à effectuer de nombreuses mesures de courant sur une borne d'alimentation microcircuit lors de l'exécution d'un programme ou d'un traitement de données par le microcircuit, en faisant varier des données d'entrée. Les mesures obtenues sont exploitées par une analyse statistique pour en déduire des données sensibles, traitées ou utilisées par le microcircuit. Diverses techniques ont été développées afin de lutter contre ces attaques. Ainsi, il est par exemple connu de diminuer les courants de fuite induits par les traitements, ou d'augmenter le bruit afin de diminuer le rapport signal sur bruit des variations du courant d'alimentation. Il a également été envisagé d'équilibrer les circuits sensibles de manière à ce que le traitement d'un bit à 0 ait une même signature de consommation électrique que le traitement d'un bit à 1. On a également proposé d'introduire de la gigue dans le signal d'horloge, ou d'introduire des calculs factices ou des cycles de calcul factices. Il est également possible de masquer des données intermédiaires dans les algorithmes symétriques. Cependant ces techniques conduisent à augmenter la taille et la complexité des circuits sensibles, ou à dégrader leurs performances (consommation électrique et temps d'exécution des calculs). Il est également connu d'utiliser des condensateurs ayant une capacité relativement élevée pour filtrer les variations de courant sur l'entrée d'alimentation du microcircuit. Plus la capacité du condensateur est élevée, plus le masquage des variations de consommation électrique du circuit est efficace. Cependant, plus la capacité du condensateur est élevée, plus le volume de ce dernier est important. Les condensateurs intégrables dans un microcircuit présentent actuellement une capacité insuffisante pour prévenir des attaques de type SPA ou DPA. Il est donc souhaitable de mettre en oeuvre un dispositif de contremesure visant à protéger des circuits manipulant des données sensibles contre divers types d'attaques de type SPA et DPA. Il est également souhaitable de ne pas dégrader les performances et l'encombrement du circuit à protéger. Des modes de réalisation concernent un procédé de contremesure dans un microcircuit, le procédé comprenant des étapes consistant à: sélectionner un mode d'alimentation d'un composant interne au microcircuit, parmi un premier mode d'alimentation dans lequel le composant est totalement alimenté par un premier circuit d'alimentation connecté à une entrée d'alimentation du microcircuit, et au moins un second mode d'alimentation dans lequel le composant est au moins partiellement alimenté par un second circuit d'alimentation interne au microcircuit, le second circuit d'alimentation étant isolé de l'extérieur du microcircuit pendant qu'il alimente le composant. Le mode d'alimentation sélectionné peut être activé pendant que le composant est actif. Selon un mode de réalisation, le composant est alimenté par le second circuit d'alimentation à des instants déterminés aléatoirement ou en 25 fonction de l'état de charge d'un condensateur du second circuit d'alimentation. Selon un mode de réalisation, le composant est alimenté par le second circuit d'alimentation à des instants déterminés en fonction d'un critère de sensibilité d'opérations exécutées par le composant. 30 Selon un mode de réalisation, un premier interrupteur est interposé sur une liaison d'alimentation du composant, connectée au premier circuit d'alimentation, le procédé comprenant une étape de charge d'un condensateur du second circuit d'alimentation lorsque le premier interrupteur est fermé, et de décharge du condensateur pour alimenter le composant 35 lorsque le premier interrupteur est ouvert. Selon un mode de réalisation, le premier interrupteur est ouvert pendant une durée inférieure au temps de décharge du condensateur, et déterminée afin de ne pas perturber l'exécution de l'opération sensible par le composant. Selon un mode de réalisation, un second interrupteur est interposé sur une liaison d'alimentation reliant le second circuit d'alimentation à une entrée d'alimentation du composant, le condensateur étant chargé par une source d'énergie interne au microcircuit lorsque le second interrupteur est ouvert, et déchargé pour alimenter le composant lorsque le second interrupteur est fermé. Selon un mode de réalisation, le procédé comprend des étapes consistant à: exécuter par le composant plusieurs fois une opération avec le premier interrupteur ouvert pendant des durées différentes, le condensateur étant dans un état chargé lors de l'ouverture du premier interrupteur, à chaque exécution de l'opération, mémoriser une donnée fournie par le circuit de calcul, et déterminer une durée maximum pendant laquelle le premier interrupteur peut être ouvert sans perturber l'exécution de l'opération en comparant les données mémorisées. Selon un mode de réalisation, le procédé comprend des étapes consistant à exécuter par le composant plusieurs opérations successives, définir et stocker dans un registre un mot de commande comportant un bit de commande par opération, et à chaque exécution d'une des opérations, alimenter le composant par le premier ou second circuit d'alimentation, selon la valeur du bit de commande correspondant à l'opération dans le registre. Des modes de réalisation concernent également un microcircuit comprenant : un premier circuit d'alimentation connecté à une entrée d'alimentation du microcircuit, un composant interne au microcircuit. Selon un mode de réalisation, le microcircuit comprend : un second circuit d'alimentation interne au microcircuit, et un circuit de commande configuré pour : sélectionner un mode d'alimentation du composant, parmi un premier mode d'alimentation dans lequel le composant est totalement alimenté par le premier circuit d'alimentation, et au moins un second mode d'alimentation dans lequel le composant est au moins partiellement alimenté par le second circuit d'alimentation, et activer le mode d'alimentation sélectionné pendant que le composant est actif, le second circuit d'alimentation étant isolé de l'extérieur du microcircuit pendant qu'il alimente le composant. Selon un mode de réalisation, le Microcircuit comprend un premier interrupteur interposé sur une ligne d'alimentation du composant, et qui est fermé par le circuit de commande pour alimenter le composant par le premier circuit d'alimentation, et ouvert par le circuit de commande pour alimenter le composant par le second circuit d'alimentation. Selon un mode de réalisation, le second circuit d'alimentation comprend un premier condensateur qui est chargé pendant que le premier interrupteur est fermé, et qui alimente le composant en se déchargeant pendant que le premier interrupteur est ouvert. Selon un mode de réalisation, le microcircuit comprend un second interrupteur interposé sur une liaison d'alimentation reliant le second circuit d'alimentation à une entrée d'alimentation du composant, le premier condensateur étant chargé par une source d'énergie interne au microcircuit lorsque le second interrupteur est ouvert, et déchargé pour alimenter le composant lorsque le second interrupteur est fermé. Selon un mode de réalisation, le microcircuit comprend un registre pour mémoriser un mot de commande comportant au moins un bit, l'état du bit indiquant si le premier interrupteur doit être ouvert ou fermé durant une itération d'un calcul comportant plusieurs itérations, exécuté par le composant. Selon un mode de réalisation, le microcircuit comprend plusieurs composants comprenant chacun une entrée d'alimentation reliée au premier circuit d'alimentation par l'intermédiaire d'un interrupteur respectif, un condensateur étant connecté à chaque entrée d'alimentation, chaque interrupteur étant commandé en fonction des opérations exécutées par le composant connecté à l'interrupteur. Selon un mode de réalisation, le microcircuit comprend plusieurs composants comprenant chacun une entrée d'alimentation reliée au premier circuit d'alimentation par l'intermédiaire d'un interrupteur respectif, un condensateur étant relié par l'intermédiaire d'un circuit de commutation à chaque entrée d'alimentation de composant, chaque interrupteur étant commandé en fonction des opérations exécutées par le composant connecté à l'interrupteur, le circuit de commutation étant configuré pour relier le condensateur à l'une des entrées d'alimentation de composant lorsque l'interrupteur connecté à cette entrée d'alimentation est ouvert. Des exemples de réalisation de l'invention seront décrits dans ce qui suit, à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente schématiquement un exemple de microcircuit effectuant des calculs cryptographiques, la figure 2 représente schématiquement un circuit d'alimentation électrique et un circuit sensible du microcircuit de la figure 1, les figures 3A et 3B représentent des courbes de variation en fonction du temps, respectivement, d'un signal d'horloge et de l'intensité du courant à une entrée d'alimentation électrique du microcircuit, durant des calculs réalisés par un composant du microcircuit, la figure 4 représente schématiquement un circuit d'alimentation électrique et un circuit sensible du microcircuit, selon un mode de réalisation, la figure 5 représente schématiquement un circuit du circuit d'alimentation électrique de la figure 4, les figures 6A, 6B et 6C représentent des courbes de variation en fonction du temps, respectivement, d'un signal d'horloge, d'un signal de contrôle et de l'intensité du courant à une entrée d'alimentation électrique du microcircuit, durant des calculs réalisés par un composant du microcircuit, le microcircuit étant équipé du circuit d'alimentation de la figure 4, la figure 7 représente schématiquement un exemple de circuit d'alimentation électrique et plusieurs circuits sensibles du microcircuit, selon un autre mode de réalisation, la figure 8 représente schématiquement un exemple de circuit d'alimentation électrique et plusieurs circuits sensibles du microcircuit, selon un autre mode de réalisation, les figures 9, 10 et 11 représentent schématiquement un circuit d'alimentation électrique et un circuit sensible du microcircuit, selon d'autres mode de réalisation. La figure 1 représente un exemple de microcircuit IC1effectuant des calculs cryptographiques. Dans tout ce qui suit, le terme "microcircuit" désigne un circuit intégré ou une puce électronique, à l'intérieur duquel il est difficile d'introduire une sonde de capture de signaux pour accéder à des données sensibles du microcircuit. Le microcircuit IC1 comprend plusieurs composants tels qu'un processeur MP, par exemple de type microprocesseur ou microcontrôleur, une ou plusieurs mémoires volatiles et non volatiles MEM1, MEM2, une unité d'interface INT permettant au microcircuit IC1 de communiquer avec des équipements externes au microcircuit, et des bus d'adresse et de donnée ADB auxquels sont connectés le processeur, les mémoires et l'unité d'interface. Le microcircuit IC1 peut également comprendre des composants tels que des circuits de calcul incluant un circuit de calcul cryptographique CAU également connectés aux bus ADB. Les différents composants du microcircuit IC1 sont alimentés par un circuit d'alimentation MPS fournissant une tension d'alimentation Vp sur une liaison d'alimentation principale MPL reliée à un plan de masse du microcircuit IC1 par l'intermédiaire d'un condensateur de filtrage CO. Le circuit MPS peut lui-même être connecté à une borne d'alimentation PWI du microcircuit, recevant une tension d'alimentation externe EVp. A noter que la borne d'alimentation PWI peut également être une borne de connexion d'une antenne de communication, le microcircuit IC1, alors dit "sans contact" générant sa propre alimentation à partir de l'énergie reçue par l'antenne. Le circuit MPS peut comprendre des circuits tels qu'un régulateur de tension et une pompe de charge. Le circuit MPS peut également être une simple liaison avec la borne d'alimentation PWI. La figure 2 représente plus en détail le circuit d'alimentation d'un des composants SHi du microcircuit IC1. Ici, le composant SHi peut représenter le processeur MP, un ou plusieurs circuits de calcul du microcircuit IC1, ou bien une partie de ceux-ci. Le composant SHi reçoit la tension d'alimentation Vp sur une entrée d'alimentation reliée à la liaison d'alimentation principale MPL par l'intermédiaire d'une liaison d'alimentation locale PLi. L'entrée d'alimentation du composant SHi est reliée au plan de masse par l'intermédiaire d'un condensateur Ci. Le condensateur Ci peut inclure les capacités parasites internes du composant SHi. Les figures 3A, 3B représentent des courbes de variation en fonction du temps, respectivement, d'un signal d'horloge CK et de l'intensité du courant électrique El sur la borne d'alimentation du microcircuit IC1 pendant l'exécution de calculs par l'un des composants SHi. Le signal d'horloge CK peut représenter des cycles ou des itérations d'un calcul, tels que des rondes d'un calcul cryptographique. La figure 3A représente 10 périodes du signal CK. Une corrélation peut être observée entre le signal d'horloge CK et le courant El. Une attaque de type DPA consiste à acquérir plusieurs courbes du signal El avec des données d'entrée différentes, et à corréler ces courbes pour en déduire une donnée sensible utilisée par le microcircuit. La figure 4 représente le circuit d'alimentation d'un des composants SHi du microcircuit IC1, selon un mode de réalisation. Le circuit d'alimentation du composant SHi diffère de celui représenté sur la figure 2 en ce qu'il comprend un circuit de contremesure PMC. Le circuit de contremesure PMC comprend un interrupteur SW1 interposé sur la liaison d'alimentation locale PLi du composant SHi, entre les condensateurs CO et Ci. Ainsi, lorsque l'interrupteur SWi est fermé, le composant SHi est alimenté normalement par le circuit MPS. Lorsque cet interrupteur est ouvert, le composant SHi est alimenté temporairement par la décharge du condensateur Ci. Le circuit de contremesure PMC comprend également un circuit de commande SWC pour commander l'interrupteur SWi, et un circuit de contrôle CTL pour contrôler le circuit de commande SWC. Comme le condensateur Ci est totalement intégré dans le microcircuit IC1 et découplé du circuit d'alimentation et donc de l'entrée d'alimentation PWI du microcircuit, lorsqu'il alimente le composant SHi, aucune connexion externe du microcircuit ne donne accès à l'entrée d'alimentation du composant SHi lorsque ce dernier est alimenté par le condensateur Ci. Il peut également être observé qu'une telle intégration du condensateur Ci offre une bien meilleure protection que la simple disposition de plusieurs circuits dans un même boitier de composant électronique. En effet, un boitier peut être relativement facilement ouvert pour accéder aux entrées et sorties des différents composants interconnectés dans le boitier. Au contraire, les microcircuits sont généralement formés sur une face dite "active" d'une plaquette en un matériau semi-conducteur, recouverte de différentes couches isolantes et conductrices dans lesquelles sont formées des lignes d'interconnexion, ces couches étant recouvertes d'une couche protectrice, généralement en résine, comportant des ouvertures pour les connexions externes du microcircuit. L'accès aux bornes de connexion du condensateur Ci ou aux lignes de connexion du circuit de contremesure nécessiterait donc de retirer la couche protectrice du microcircuit et une ou plusieurs couches d'interconnexion, et causerait donc la destruction du microcircuit. Ainsi, comme le circuit de contremesure PMC est également intégré dans le microcircuit, il n'est pas non plus possible de déterminer les périodes où le composant SHi est alimenté par le condensateur Ci. Le circuit de commande SWC peut recevoir par ailleurs un signal de commande OT permettant d'ajuster la durée d'ouverture OT de l'interrupteur SW1. Le circuit de contrôle CTL transmet au circuit SWC un signal de commande CMi permettant de déclencher l'ouverture de l'interrupteur SHi pendant la durée OT. Les instants de déclenchement de l'ouverture de l'interrupteur SWi peuvent être prédéterminés ou déterminés de manière aléatoire, de même que la durée d'ouverture de l'interrupteur SWi avec une limite supérieure définie par la durée OT. La durée d'ouverture OT peut être déterminée en fonction du temps de décharge du condensateur Ci de manière à ce que pendant cette durée, la tension d'alimentation fournie par le condensateur Ci soit suffisante pour maintenir le composant SHi opérationnel. La durée d'ouverture OT dépend de la capacité du condensateur Ci et de la consommation électrique du composant SHi, laquelle peut varier au cours du temps en fonction de l'opération exécutée par le composant SHi. Ainsi, le circuit de commande SWC peut être configuré pour ouvrir l'interrupteur SWi pendant la durée d'ouverture OT, sur commande du circuit de contrôle CTL. Le circuit de commande SWC peut également être configuré pour maintenir l'interrupteur SWi fermé durant une durée minimum de fermeture à la suite de l'ouverture de celui-ci, afin d'assurer la recharge du condensateur Ci avant que l'interrupteur SWi puisse être nouveau ouvert. Il peut être prévu que la durée OT soit telle que la période du signal d'horloge CK soit supérieure ou égale à la somme de la durée OT et du temps de recharge du condensateur Ci. Alternativement, il peut être prévu que la durée OT soit comprise entre la période du signal d'horloge CK et la moitié de celle-ci, et d'interdire l'ouverture de l'interrupteur SWi durant au moins deux cycles d'horloge CK consécutifs. La durée OT peut également être choisie égale à une fraction de la période du signal d'horloge CK, l'interrupteur SWi étant maintenu fermé entre deux ouvertures consécutives de ce dernier, pendant une durée minimum qui soit suffisante pour permettre la recharge du condensateur Ci. Bien entendu, il est également possible que la durée OT soit supérieure à celle d'un ou plusieurs cycles du signal d'horloge CK. La durée OT peut être déterminée par un dispositif de calibration CLB configuré pour exécuter plusieurs itérations au cours de chacune desquelles il active le composant SHi, ouvre l'interrupteur SWi pendant une durée variable et mémorise un résultat RSi fourni par le composant SHi en relation avec la durée d'ouverture de l'interrupteur SWi. La durée OT est choisie parmi les durées mémorisées qui permettent d'obtenir de la part du composant SHi un résultat correct, c'est-à-dire identique à celui obtenu sans ouvrir l'interrupteur SWi. Par exemple, la durée OT choisie peut être la plus longue durée qui permet d'obtenir un résultat correct. Le circuit de commande SWC peut également recevoir le signal d'horloge CK fourni au composant SHi ou un signal de synchronisation fournit par le composant SHi, afin de synchroniser l'ouverture de l'interrupteur SWi en fonction des opérations réalisées par le composant SHi. Dans ce cas, le circuit SWC est configuré pour déclencher l'ouverture de l'interrupteur SWi lorsque les signaux CMi et CK sont simultanément dans un certain état, par exemple un état haut. Le circuit de contrôle CTL peut être commandé par l'intermédiaire d'un mot de commande chargé dans un registre comprenant plusieurs cellules de mémorisation d'une donnée binaire. Chaque cellule du registre correspond à une itération du calcul exécuté par le composant SHi, la durée de chaque itération correspondant à la période du signal CK. La valeur de chaque cellule de registre détermine si le circuit CTL doit ou non commander au circuit SWC d'ouvrir l'interrupteur SWi pendant la durée OT, durant l'itération de calcul correspondant à la cellule de registre. Le mot de commande chargé dans le registre peut être déterminé en fonction d'un critère de sensibilité de chaque itération. Selon un mode de réalisation, le registre de commande du circuit de contrôle CTL est couplé à un générateur de nombre aléatoire agencé pour charger sur commande un nouveau mot de commande dans le registre. Selon un autre mode de réalisation illustré par la figure 5, le circuit de contrôle comprend deux registres RG1, RG2, le registre RG2 étant couplé à un générateur de nombres aléatoires ou pseudo aléatoires RNG. Le registre RG1 peut être mis à jour par un composant du circuit IC1 tel que le processeur MP. La sortie des registres RG1, RG2 est reliée à l'entrée de commande du circuit SWC par l'intermédiaire d'un commutateur CT qui peut être commandé pour sélectionner l'un ou l'autre des deux registres RG1, RG2 à utiliser pour commander le circuit SWC. Si la durée CK - OT est inférieure au temps de charge du condensateur Ci, le mot de commande chargé dans le registre RG2 peut être modifié de manière à éviter qu'il comprenne deux bits consécutifs à 0 (dans le cas où un bit à 0 commande l'ouverture de l'interrupteur SWi) pour assurer la recharge du condensateur Ci entre deux ouvertures consécutives de l'interrupteur SWi. Les figures 6A, 6B, 6C représentent des courbes de variation en fonction du temps, respectivement, du signal d'horloge CK, du signal de commande CMi de l'interrupteur SWi émis par le circuit de commande SWC, et de l'intensité du courant El à l'entrée d'alimentation électrique du microcircuit IC1, durant des calculs réalisés par le composant SHi. Sur la figure 6B, le signal de commande CMi est maintenu dans un état haut, sauf durant des périodes du signal d'horloge CK (numérotées 2 et 6 dans l'exemple de la figure 6A) où il est placé à l'état bas. Il en résulte que les variations d'intensité de courant qui apparaissaient dans la courbe El durant ces périodes 2 et 6 sur la figure 3B, dues à l'activité du composant SHi ne sont plus visibles dans le signal El mesuré à l'entrée d'alimentation électrique du microcircuit IC1. Les variations de courant qui subsistent dans la courbe El durant les périodes 2 et 6 correspondent au courant consommé par d'autres circuits du microcircuit IC1. L'ouverture de l'interrupteur SWi permet donc de masquer l'activité du composant SHi. La figure 7 représente plusieurs composants SH1, 5H2, 5H3 du microcircuit IC1 devant être protégés contre des attaques de type SPA ou DPA. Chaque composant SH1, 5H2, 5H3 reçoit la tension d'alimentation Vp fournie par le circuit MPS sur une entrée d'alimentation reliée à la liaison d'alimentation principale MPL par l'intermédiaire d'une liaison d'alimentation locale PL1, PL2, PL3. L'entrée d'alimentation de chaque composant SH1, 5H2, 5H3 est reliée au plan de masse du microcircuit IC1 par l'intermédiaire d'un condensateur C1, C2, C3, respectivement. Les condensateurs C1, C2, C3 peuvent inclure les capacités parasites internes des composants SH1, 5H2, 5H3, respectivement. Selon un mode de réalisation, le circuit de contremesure PMC comprend un interrupteur SW1, 5W2, 5W3 interposé sur la liaison d'alimentation locale PL1, PL2, PL3 de chaque composant SH1, SH2, SH3, entre le noeud de jonction de la liaison d'alimentation locale avec la liaison d'alimentation principale MPL et le condensateur Cl, C2, C3. En fonctionnement normal, les interrupteurs SW1, SW2, SW3 sont fermés. Les composants SH1, SH2, SH3 sont donc alimentés normalement par le circuit MPS. Lorsque l'un des interrupteurs SW1, SW2, SW3 est ouvert, le composant SH1, SH2, SH3 correspondant est alimenté temporairement par la décharge du condensateur Cl, C2, C3 correspondant. Chacun des interrupteurs SW1, SW2, SW3 est commandé par un circuit de commande respectif SWC1, SWC2, SWC3 qui lui fournit un signal de commande CM1, CM2, CM3. Le circuit de contrôle CTL peut contrôler chacun des circuits de commande SWC1, SWC2, SWC3. Chacun des circuits de commande SWC1, SWC2, SWC3 peut recevoir un signal de commande permettant d'ajuster la durée d'ouverture OT1, 0T2, 0T3 de l'interrupteur SW1, SW2, SW3 correspondant. La durée d'ouverture OT1, 0T2, 0T3 de chaque interrupteur SW1, SW2, SW3 peut être déterminée en fonction du temps de décharge du condensateur Cl, C2, C3 correspondant de manière à ce que pendant cette durée, la tension d'alimentation fournie par le condensateur soit suffisante pour maintenir opérationnel le composant SH1, SH1, SH3 correspondant. Chacun des circuits de commande SWC1, SWC2, SWC3 peut également recevoir un signal d'horloge respectif CK1, CK2, CK3 lui permettant de synchroniser l'ouverture de l'interrupteur SW1, SW2, SW3 correspondant avec les opérations réalisées par le composant SH1, SH2, SH3 correspondant. Les condensateurs de capacité relativement importante peuvent difficilement être miniaturisés dans un circuit intégré. Ainsi, avec les technologies actuelles de fabrication des circuits intégrés, un condensateur de 100 pF occupe une surface substrat en silicium de l'ordre de 100x100 pm. Pour limiter l'espace occupé par de tels condensateurs dans le circuit de contremesure, le circuit de la figure 7 peut être modifié afin de ne mettre en oeuvre qu'un seul condensateur partagé par l'ensemble des composants à protéger. Ainsi, la figure 8 représente un microcircuit 1C2, et en particulier un circuit d'alimentation du microcircuit 1C2. Le circuit d'alimentation comprend le condensateur CO et un circuit de contremesure PMC1 comprenant un seul condensateur C11 pour tous les composants SH1, SH2, SH3. Le condensateur C11 est connecté d'un côté au plan de masse et relié de l'autre côté, à chacune des liaisons d'alimentation locales PL1, PL2, PL3 par l'intermédiaire d'un multiplexeur MUX. Le multiplexeur MUX est commandé par les signaux de commande CM1, CM2, CM3 fournis par les circuits SWC1, SWC2, SWC3 aux interrupteurs SW1, SW2, SW3. Le multiplexeur MUX peut être configuré pour connecter le condensateur C11 à une et une seule des liaisons PL1, PL2, PL3 à la fois. Le circuit de contrôle CTL et/ou les circuits SWC1, SWC2, SWC3 peuvent être configurés pour que les signaux de commande CM1, CM2, CM3 déclenchent l'ouverture d'un seul des interrupteurs SW1, SW2, SW3 à la fois, et commandent le multiplexeur MUX pour qu'il relie le condensateur C11 au composant SH1, SH2, SH3 connecté à l'interrupteur SW1, SW2, SW3 ouvert. Le circuit de contrôle CTL et/ou les circuits SWC1, SWC2, SWC3 peuvent être configurés également pour respecter une durée minimum de fermeture entre deux ouvertures consécutives parmi les interrupteurs SW1, SW2, SW3, afin d'assurer la recharge du condensateur C11. La figure 9 représente un microcircuit 1C3 et en particulier un circuit d'alimentation d'un composant SHi du microcircuit 1C3. Le circuit d'alimentation comprend le circuit d'alimentation MPS, le condensateur CO, un circuit de contremesure PMC2 et un autre circuit d'alimentation APS. Le circuit d'alimentation APS est configuré pour extraire de l'énergie d'une source d'énergie exploitant un phénomène physique tel qu'un rayonnement électromagnétique (lumière, ondes radio, champ magnétique, champ électrique), des mouvements, un gradient de température, etc. A cet effet, le circuit APS peut comprendre comme source d'énergie des circuits tels qu'une antenne, un capteur de mouvements, des cellules photosensibles, et des circuits tels qu'une pompe de charge et un régulateur de tension. Le circuit PMC2 comprend un condensateur Cl i, deux interrupteurs SW1 i, SW2i commandés par un circuit de commande SC11, et un circuit de contrôle CTL. La ligne d'alimentation MPL connectée à une sortie d'alimentation du circuit MPS, est reliée à une entrée d'alimentation du composant SHi par l'intermédiaire de l'interrupteur SW1i. Une ligne d'alimentation APL relie une sortie d'alimentation du circuit APS à l'entrée d'alimentation du composant SHi, l'interrupteur SW2i étant interposé sur la ligne APL. Le condensateur Cl i relie la sortie d'alimentation du circuit APL à la masse. Le circuit SC11 peut être configuré pour commander les interrupteurs SW1i, SW2i de manière à ce qu'à tout instant, un seul des interrupteurs SW1i et SW2i soit fermé lorsque le composant SHi est alimenté. Selon un mode de réalisation, le circuit APS fournit un signal d'état de charge CST du condensateur C1i au circuit SC11 ou CTL. Ainsi, lorsque le composant SHi doit être alimenté, l'interrupteur SW2i peut être fermé par le circuit SC11 tant que le signal CST indique que le condensateur C1i est chargé, et ouvert tant que le signal CST indique que le condensateur C1i est déchargé ou en charge. Si le circuit APS n'est pas totalement isolé à l'intérieur du microcircuit 1C3, notamment parce qu'il doit être connecté à un port de connexion du microcircuit (par exemple destiné à être connecté à une antenne) et si l'activité du composant SHi peut être détectée sur ce port, notamment parce que le circuit APS n'offre pas une isolation suffisante, il peut être prévu un troisième interrupteur interposé sur la ligne APL. Ainsi, la figure 10 représente un microcircuit 1C4 qui diffère du microcircuit 1C3 uniquement en ce que le circuit de contremesure PMC3 comporte un troisième condensateur SW3i interposé entre la sortie d'alimentation du circuit APS et 20 le noeud de connexion du condensateur C1i à la ligne APL. Le condensateur SW3i est commandé par le circuit SC11 de manière à être ouvert lorsque l'interrupteur SW2i est fermé et fermé lorsque l'interrupteur SW2i est ouvert. Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. 25 En particulier, l'invention n'est pas limitée aux modes de réalisation décrits mais couvre également toutes les combinaisons possibles de ces modes de réalisation. En particulier, si le microcircuit de la figure 9 ou 10 comprend plusieurs composants à protéger, chacun de ces composants peut être associé à un condensateur C1i et à des interrupteurs SW1i et 5W2 respectifs 30 commandés par un circuit de commande tel que SC11. De même, les modes de réalisation des figures 8 et 9 ou 10 peuvent être combinés en ajoutant au multiplexeur MUX sur la figure 8 une entrée connectée au circuit d'alimentation APS de la figure 9 ou 10. L'invention n'est pas non plus limitée à l'usage d'un condensateur 35 pour stocker de l'énergie électrique et la restituer à un composant à protéger lorsque l'interrupteur disposé sur la liaison d'alimentation du composant est ouvert. Il peut en effet être envisagé d'intégrer dans le microcircuit une batterie rechargeable. Il importe simplement que pendant que le composant est alimenté par cette autre source d'énergie, celle-ci ne soit pas reliée à un contact à l'extérieur du microcircuit, à partir duquel une attaque DPA ou SPA peut être réalisée. L'invention n'est pas non plus limitée à l'usage d'interrupteurs pour connecter les sources d'alimentation principale MPS et secondaire (telle que le condensateur Ci, C1i) à un composant à protéger interne au microcircuit. En effet, il peut être prévu des modes d'alimentation intermédiaires dans lesquels le composant à protéger est alimenté en partie par la source d'alimentation principale MPS et en partie par la source d'alimentation secondaire. Cette disposition permet d'atténuer la signature due à l'activité du composant à protéger, qui peut être détectée en analysant le courant fournit et consommé par le microcircuit. Cette disposition permet également d'allonger le temps de décharge de la source d'alimentation secondaire, et donc le temps pendant lequel le composant peut être alimenté partiellement par la source d'alimentation secondaire. La figure 11 représente à titre d'exemple un microcircuit 105 comprenant un circuit de contremesure PMC3 pouvant mettre en oeuvre de tels modes d'alimentation intermédiaires. Le circuit PMC3 comprend un circuit de contrôle CTL, un circuit de commande SC12, deux transistors MOS à canal P, Pi, P2, le condensateur Cl i, un amplificateur d'erreur EAP, un potentiomètre R1 commandé par le circuit de commande SC12, et deux résistances R2, R3. Le transistor P1 est interposé sur la ligne d'alimentation PLi du composant SHi et est commandé par le circuit SC12. Le transistor P2 est interposé sur la liaison APL entre le circuit d'alimentation APS et l'entrée d'alimentation du composant SHi, et est commandé par le signal de sortie de l'amplificateur EAP. Le condensateur Cl i relie la sortie d'alimentation du circuit APS à la masse. L'entrée d'alimentation du composant SHi est reliée à une entrée directe de l'amplificateur EAP par l'intermédiaire de la résistance R2. L'entrée directe de l'amplificateur EAP est également reliée à la masse par l'intermédiaire de la résistance R3. L'amplificateur EAP comprend une entrée inverseuse reliée à une borne intermédiaire du potentiomètre R1 comprenant une borne d'extrémité recevant une tension de référence Vrf et une borne d'extrémité connectée à la masse. L'activation de l'amplificateur EAP est commandée par le signal CST d'état de charge CST du condensateur C1i de sorte que si l'état de charge du condensateur C1i est insuffisant, l'amplificateur EAP bloque le transistor P2. Les résistances R2, R3 forment un pont diviseur permettant de prélever une partie de la tension en sortie par le circuit d'alimentation et transmise par le transistor P2. Des diodes D1, D2 peuvent être prévues en sortie des circuits d'alimentation MPS, APS pour éviter une circulation inverse de courant. Un condensateur C2i peut relier l'entrée d'alimentation du composant SHi à la masse, à condition de présenter une faible capacité par rapport au condensateur C1i (par exemple inférieure à 1/10 de la capacité du condensateur C1i). Le potentiomètre R1 permet d'ajuster l'amplitude et le signe de l'écart entre les tensions fournies en entrée de l'amplificateur EAP, de manière à ajuster le courant d'alimentation sur la ligne APL, transmis au composant SHi par le transistor P2, lorsque le transistor P1 est passant. Ainsi, si l'écart de tension en entrée de l'amplificateur EAP est positif, alors le courant fourni par le condensateur C1i est prédominant sur le courant fourni par le circuit d'alimentation MPS, pour alimenter le composant SHi. Au contraire, si l'écart de tension en entrée de l'amplificateur EAP est négatif, le courant fourni par le circuit d'alimentation est prédominant sur le courant fournit par le condensateur C1i, pour alimenter le composant SHi. Par ailleurs, l'interrupteur interposé sur la ligne PLi d'alimentation principale du composant à protéger n'est pas nécessairement ouvert pendant l'exécution d'une opération sensible par le composant. En effet, un masquage de l'activité du composant pendant que celui-ci réalise des opérations non sensibles peut également perturber une attaque DPA ou SPA. REVENDICATIONS1. Procédé de contremesure dans un microcircuit (IC1), le procédé comprenant des étapes consistant à: sélectionner un mode d'alimentation d'un composant (SHi) interne au microcircuit, parmi un premier mode d'alimentation dans lequel le composant est totalement alimenté par un premier circuit d'alimentation (MPS) connecté à une entrée d'alimentation (PWI) du microcircuit, et au moins un second mode d'alimentation dans lequel le composant est au moins partiellement alimenté par un second circuit d'alimentation (Ci, C1i) interne au microcircuit, le second circuit d'alimentation étant isolé de l'extérieur du microcircuit pendant qu'il alimente le composant. 2. Procédé selon la revendication 1, dans lequel le composant (SHi) est alimenté par le second circuit d'alimentation (Ci, C1i) à des instants déterminés aléatoirement ou en fonction de l'état de charge d'un condensateur du second circuit d'alimentation. 3. Procédé selon la revendication 1, dans lequel le composant (SHi) est alimenté par le second circuit d'alimentation (Ci, C1i) à des instants déterminés en fonction d'un critère de sensibilité d'opérations exécutées par le composant (SHi). 4. Procédé selon l'une des revendications 1 à 3, dans lequel un premier interrupteur (SWi, SW1i) est interposé sur une liaison d'alimentation (P Li) du composant (SHi), connectée au premier circuit d'alimentation (MPS), le procédé comprenant une étape de charge d'un condensateur (Ci) du second circuit d'alimentation lorsque le premier interrupteur est fermé, et de décharge du condensateur pour alimenter le composant lorsque le premier interrupteur est ouvert. 5. Procédé selon la revendication 4, dans lequel le premier interrupteur (SWi, SWi1) est ouvert pendant une durée (OT) inférieure au temps de décharge du condensateur (Ci), et déterminée afin de ne pas perturber l'exécution de l'opération sensible par le composant (SHi). 6. Procédé selon l'une des revendications 4 à 5, dans lequel un second interrupteur (SW2i) est interposé sur une liaison d'alimentation (APL) reliant le second circuit d'alimentation à une entrée d'alimentation du composant (SHi), le condensateur (C1i) étant chargé par une source d'énergie (APS) interne au microcircuit (1C3, 1C4) lorsque le second interrupteur est ouvert, et déchargé pour alimenter le composant lorsque le second interrupteur est fermé. 7. Procédé selon l'une des revendications 4 à 6, comprenant des étapes consistant à: exécuter par le composant (SHi) plusieurs fois une opération avec le premier interrupteur (SWi) ouvert pendant des durées différentes, le condensateur (Ci) étant dans un état chargé lors de l'ouverture du premier 15 interrupteur, à chaque exécution de l'opération, mémoriser une donnée (RSi) fournie par le circuit de calcul (SHi), et déterminer une durée maximum (OT) pendant laquelle le premier interrupteur peut être ouvert sans perturber l'exécution de l'opération en 20 comparant les données mémorisées. 8. Procédé selon l'une des revendications 1 à 7, comprenant des étapes consistant à exécuter par le composant (SHi) plusieurs opérations successives, définir et stocker dans un registre (RG1, RG2) un mot de 25 commande comportant un bit de commande par opération, et à chaque exécution d'une des opérations, alimenter le composant par le premier ou second circuit d'alimentation, selon la valeur du bit de commande correspondant à l'opération dans le registre. 30 9. Microcircuit comprenant : un premier circuit d'alimentation (MPS) connecté à une entrée d'alimentation (PW1) du microcircuit (1C1), un composant (SHi) interne au microcircuit, caractérisé en ce qu'il comprend : 35 un second circuit d'alimentation (Ci, C1i) interne au microcircuit, etun circuit de commande (SWC, CTL) configuré pour sélectionner un mode d'alimentation du composant (SHi), parmi un premier mode d'alimentation dans lequel le composant est totalement alimenté par le premier circuit d'alimentation, et au moins un second mode d'alimentation dans lequel le composant est au moins partiellement alimenté par le second circuit d'alimentation, le second circuit d'alimentation étant isolé de l'extérieur du microcircuit pendant qu'il alimente le composant. 10. Microcircuit selon la revendication 9, comprenant un premier interrupteur (SWi) interposé sur une ligne d'alimentation (PLi) du composant (SHi), et qui est fermé par le circuit de commande (SWC, CTL) pour alimenter le composant par le premier circuit d'alimentation (MPS), et ouvert par le circuit de commande pour alimenter le composant par le second circuit d'alimentation (Ci). 11. Microcircuit selon la revendication 10, dans lequel le second circuit d'alimentation comprend un premier condensateur (Ci) qui est chargé pendant que le premier interrupteur (SWi) est fermé, et qui alimente le composant (SHi) en se déchargeant pendant que le premier interrupteur est ouvert. 12. Microcircuit selon la revendication 11, comprenant un second interrupteur (SW2i) interposé sur une liaison d'alimentation reliant le second circuit d'alimentation (APL) à une entrée d'alimentation du composant (SHi), le premier condensateur (Cl i) étant chargé par une source d'énergie (APS) interne au microcircuit (IC3, IC4) lorsque le second interrupteur est ouvert, et déchargé pour alimenter le composant lorsque le second interrupteur est fermé. 13. Microcircuit selon l'une des revendications 10 à 12, comprenant un registre (RG1, RG2) pour mémoriser un mot de commande comportant au moins un bit, l'état du bit indiquant si le premier interrupteur (SWi) doit être ouvert ou fermé durant une itération d'un calcul comportant plusieurs itérations, exécuté par le composant (SHi).35 14. Microcircuit selon l'une des revendications 9 à 13, comprenant plusieurs composants (SH1, SH2, SH3) comprenant chacun une entrée d'alimentation reliée au premier circuit d'alimentation (MPL) par l'intermédiaire d'un interrupteur respectif (SW1, SW2, SW3), un condensateur (Cl, C2, C3) étant connecté à chaque entrée d'alimentation, chaque interrupteur étant commandé en fonction des opérations exécutées par le composant connecté à l'interrupteur. 15. Microcircuit selon l'une des revendications 9 à 13, comprenant plusieurs composants (SH1, SH2, SH3) comprenant chacun une entrée d'alimentation reliée au premier circuit d'alimentation (MPS) par l'intermédiaire d'un interrupteur respectif (SW1, SW2, SW3), un condensateur (C11) étant relié par l'intermédiaire d'un circuit de commutation (MUX) à chaque entrée d'alimentation de composant, chaque interrupteur étant commandé en fonction des opérations exécutées par le composant connecté à l'interrupteur, le circuit de commutation étant configuré pour relier le condensateur à l'une des entrées d'alimentation de composant lorsque l'interrupteur connecté à cette entrée d'alimentation est ouvert.