Brevet FR2958098A1 — publié le 20110930

PROCEDE ET DISPOSITIF DE CONTREMESURE POUR PROTEGER DES DONNEES CIRCULANT DANS UN MICROCIRCUIT ELECTRONIQUE La présente invention concerne un procédé de contremesure pour protéger des données sensibles circulant dans un microcircuit électronique, contre des attaques visant à découvrir ces données. Elle concerne également un dispositif portable à microcircuit tel qu'une carte à puce, s mettant en oeuvre le procédé. Les données sensibles peuvent être notamment des clés de chiffrement ou de déchiffrement, et plus généralement des données cryptographiques utilisées ou élaborées lors de calculs cryptographiques, comme des données intermédiaires de tels calculs, et des identifiants qui io doivent être conservés secrets. 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 15 mesures de courants et de tensions entrant et sortant dans le microcircuit lors de l'exécution d'un programme ou le traitement de données par le microcircuit, avec des données d'entrée différentes. Les mesures obtenues sont exploitées par une analyse statistique pour en déduire des données protégées, traitées ou utilisées par le microcircuit. Dans ce même but, les 20 attaques de type EMA (Electromagnetic Analysis) et DEMA (Differential Electromagnetic Analysis) se basent sur l'analyse du rayonnement électromagnétique émis par le microcircuit. On connaît également les attaques par injection de faute qui consistent à introduire des perturbations dans le microcircuit pendant qu'il 25 exécute par exemple des algorithmes sensibles tels que des algorithmes cryptographiques, ou dans le but de déclencher l'exécution d'une routine de téléchargement émettant sur un port les données qu'il mémorise. Une telle perturbation peut être réalisée en appliquant au microcircuit un ou plusieurs éclairages brefs par exemple par un faisceau laser, ou un ou plusieurs pics 30 de tension sur l'un de ses contacts. Afin de lutter contre ces attaques variées par nature, de nombreuses solutions très différentes les unes des autres ont été apportées. L'invention concerne plus particulièrement celles qui visent à protéger des données lorsqu'elles circulent dans un microcircuit. s Diverses techniques de contremesure ont été mises en oeuvre afin de lutter contre ces attaques. Ainsi, il est connu d'effectuer un masquage logique par nombre aléatoire consistant à faire transiter dans les circuits logiques des données aléatoires afin de provoquer des commutations de portes logiques non liées aux données à protéger. Il est également connu io d'introduire des retards aléatoires dans un circuit synchrone ou de mettre en oeuvre des techniques de double rail permettant d'effectuer autant de commutations de portes logiques vers 0 que de commutations vers 1. Toutes ces techniques de contremesure apparaissent couteuses en termes de taille de circuit, de vitesse de calcul et de consommation 15 électrique. Par ailleurs, si ces techniques permettent d'améliorer la robustesse des circuits vis-à-vis des attaques, elles présentent des failles. Il est donc souhaitable de protéger des circuits manipulant des données secrètes contre des attaques par analyse de signature, sans augmenter de manière sensible leur complexité ou leur consommation 20 électrique. Des modes de réalisation concernent un procédé de contremesure dans un microcircuit électronique, le procédé comprenant des phases de traitement successives exécutées par un circuit du microcircuit, le procédé comprenant une étape d'ajustement d'une tension d'alimentation entre des 25 bornes d'alimentation et de masse du circuit, en fonction d'une valeur aléatoire générée pour la phase de traitement, à chaque phase de traitement exécutée par le circuit, ou une étape de modulation de la tension d'alimentation par un signal alternatif ayant une distribution équiprobable et une période correspondant à la durée d'une ou plusieurs phases de 30 traitement successives. Selon un mode de réalisation, le procédé comprend des étapes consistant à : former le microcircuit dans un substrat, former dans le substrat un caisson électriquement isolé du substrat, former la borne d'alimentation ou de masse du circuit dans le caisson isolé, et à chaque 35 phase de traitement exécutée par le circuit, ajuster la tension entre les bornes d'alimentation et de masse du circuit, par rapport à une tension d'alimentation du microcircuit et une masse du substrat, en fonction d'une valeur aléatoire générée pour la phase de traitement. Selon un mode de réalisation, l'ajustement de la tension d'alimentation entre les bornes d'alimentation et de masse du circuit est effectué dans une plage délimitée en fonction : de variations de la tension d'alimentation résultant de variations des performances du microcircuit liées à des variations de la température ambiante et à des variations des conditions de fabrication du microcircuit, de variations de la tension d'alimentation et de tensions de masse du microcircuit en fonction de l'ampleur de l'activité du microcircuit, et de tensions minimum permettant d'assurer une commutation de transistors à canal n et à canal p du microcircuit. Selon un mode de réalisation, une tension de polarisation entre la borne de masse du circuit et une borne de masse du microcircuit est ajustée en fonction d'une valeur aléatoire, l'écart de tension entre une tension d'alimentation du microcircuit et une borne d'alimentation du circuit étant fixe. Selon un mode de réalisation, l'ajustement de la tension d'alimentation entre les bornes d'alimentation et de masse du circuit est effectué dans une plage incluse entre -5% à +5% de la tension d'alimentation du microcircuit. Selon un mode de réalisation, l'écart de tension entre une borne d'alimentation du circuit et une tension d'alimentation du microcircuit est ajustée en fonction d'une valeur aléatoire, la tension entre la borne de masse du circuit et une borne de masse du microcircuit étant fixe. Selon un mode de réalisation, l'ajustement de la tension d'alimentation entre les bornes d'alimentation et de masse du circuit est effectué dans une plage incluse entre -5% à +5% autour de la tension d'alimentation du microcircuit. Selon un mode de réalisation, l'ajustement de la tension d'alimentation entre les bornes d'alimentation et de masse du circuit est effectué avec un pas d'ajustement de 0,05 à 0,3% de la tension d'alimentation du microcircuit. Des modes de réalisations concernent également un microcircuit 35 comprenant un circuit exécutant des phases de traitement successives, le circuit comprenant des bornes d'alimentation et de masse et étant associé à un circuit d'alimentation configuré pour mettre en oeuvre le procédé tel que défini précédemment. Selon un mode de réalisation, le microcircuit comprend plusieurs circuits comportant chacun des bornes d'alimentation et de masse et associés chacun à un circuit d'alimentation mettant en oeuvre le procédé tel que défini précédemment. Des modes de réalisations concernent également un dispositif portable à microcircuit, comprenant un microcircuit tel que défini io précédemment. 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 en coupe transversale un 15 substrat dans lequel est formé un circuit intégré, la figure 2 représente sur une échelle différents niveaux de tension à considérer dans une analyse du fonctionnement du circuit intégré, la figure 3 est une vue de dessus schématique du circuit intégré, selon un mode de réalisation, 20 la figure 4 représente schématiquement un circuit d'alimentation du circuit intégré, la figure 5 représente schématiquement un circuit de polarisation du circuit intégré, selon un mode de réalisation, la figure 6 représente schématiquement un circuit de polarisation du 25 circuit intégré, selon un autre mode de réalisation, la figure 7 représente schématiquement une vue de dessus d'un circuit intégré, selon un autre mode de réalisation, la figure 8 représente schématiquement un circuit d'alimentation du circuit intégré de la figure 7. 30 La figure 1 représente un circuit intégré IC comprenant un substrat SUB dans un matériau semi-conducteur de type de conductivité P dans lequel est formé un circuit ISC. Le substrat SUB comprend une région dopée P+ SBS formant une prise de substrat connectée à une masse de substrat SGnd. Le circuit ISC comprend un caisson enterré NISO de type de 35 conductivité N et un caisson NW de type de conductivité N formé dans le substrat jusqu'à atteindre le caisson NISO. Le caisson NW est formé de manière à entourer une zone du substrat formant ainsi un caisson PW de type de conductivité P. Le caisson PW se trouve ainsi isolé du substrat SUB par les caissons NISO et NW. Le caisson NISO forme avec le caisson PW une capacité CIW, et avec le substrat SUB une capacité CIS. La présence des capacités CIW, CIS permet de réduire le bruit sur la masse SGnd du substrat SUB et le rayonnement électromagnétique émis par le circuit, notamment dans la bande de 800 MHz à 1 GHz. Le caisson NW comprend des régions dopées N+ NS1, NS2 formant io des prises de caisson destinées à recevoir la tension d'alimentation Vdd du circuit. Le caisson NW comprend également des régions DP, SP dopées P+ formant le drain et la source d'un transistor CMOS à canal P comprenant une grille GP formée au dessus d'une zone formant le canal du transistor, entre les régions de source SP et de drain DP. Le caisson PW comprend 15 une région dopée P+ PWS formant une prise de caisson destinée à être connectée à la masse et deux régions SN, DN dopées N+ formant la source et le drain d'un transistor CMOS à canal N comprenant une grille GN formée au dessus d'une zone entre les régions de source SN et de drain DN. Les zones entre une région dopée P+ et une région dopée N+ comprennent une 20 tranchée remplie d'un matériau isolant (non représenté), formée dans le substrat pour isoler les régions dopées P+ des régions dopées N+. Les régions de drain DN, DP et de source SN, SP des transistors, forment avec les caissons NW et PW des capacités CPN, CNP. Dans l'exemple de la figure 1, les transistors à canal N et P sont interconnectés de manière à 25 former un inverseur. Ainsi, la source SP reçoit la tension d'alimentation Vdd, et la source SN est connectée à la prise de masse PWS. Une entrée ln de l'inverseur est connectée aux grilles SN et SP, et une sortie Out de l'inverseur est connectée aux drains DN, DP. Selon un mode de réalisation, la prise de masse PWS du caisson PW 30 n'est pas connectée à la masse du substrat SGnd, mais forme une masse locale LGnd du circuit ISC. La masse locale LGnd reçoit une tension de polarisation Vgb par rapport à la masse de substrat SGnd, qui peut être ajustée en fonction d'une valeur aléatoire RND entre des phases de traitements exécutés par le circuit ISC. Ainsi, le circuit ISC est alimenté par 35 une tension d'alimentation égale à Vdd ù Vgb. L'ajustement de la tension de polarisation Vbg de la masse locale LGnd peut être effectué dans une plage s'étendant de 0 à une valeur de l'ordre de 5% de la tension d'alimentation Vdd du circuit ISC, par exemple de 0 à 4% de la tension Vdd. De telles variations de la tension d'alimentation du circuit ISC 5 perturbent les analyses statistiques effectuées lors d'attaques SPA, EMA, DPA, DEMA visant à découvrir des données secrètes manipulées par le circuit ISC. L'étendue maximum de la plage d'ajustement de la tension de polarisation Vgb peut être choisie de manière à prendre en compte io différentes tensions relatives au fonctionnement et aux caractéristiques du circuit intégré IC. Ainsi, l'étendue maximum de la plage d'ajustement de la tension de polarisation Vgb peut être choisie de manière à être compatible avec les tensions de seuil d'un transistor à canal n et d'un transistor à canal p du circuit intégré IC, avec la tension d'alimentation Vdd et avec les chutes 15 de tension qui se produisent dans les circuits du circuit intégré lorsque ceux-ci sont actifs. Les tensions prises en compte sont considérées avec une marge d'erreur liée à des variations de performances du circuit intégré résultant de variations de la température ambiante ou de dérives des conditions de fabrication du circuit intégré. 20 La figure 2 représente sur une échelle différents valeurs et plages de tension à considérer dans le fonctionnement du circuit intégré IC. L'échelle de la figure 2 comprend, en partant du sommet de l'échelle, des plages de tension GB, VDO, LGO, LGR puis SGO tout en bas de l'échelle. La plage de tension GB délimite les variations de la tension d'alimentation Vdd résultant 25 de variations des performances du circuit intégré liées à des variations de la température ambiante et à des variations des conditions de fabrication du circuit intégré. La plage de tension VDO délimite les variations de la tension Vdd en fonction de l'ampleur de l'activité du circuit intégré. La plage VDO correspond à la chute de la tension Vdd dans les résistances internes du 30 circuit intégré: La plage LGO délimite les variations de la tension de polarisation de la masse locale du circuit ISC en fonction de l'ampleur de l'activité du circuit intégré IC. La plage LGR délimite l'étendue maximum d'ajustement de la tension de polarisation Vgb de la masse locale du circuit ISC. La plage SGO délimite les variations de la tension de la masse du 35 substrat SUB en fonction de l'ampleur de l'activité du circuit intégré IC. La largeur de la plage LGR peut être choisie de manière à ce que l'écart de tension entre les plages VDO et LGO soit supérieure ou égale à la somme des tensions minimum permettant d'assurer la commutation des transistors à canal n et à canal p du circuit intégré IC, soit la somme des s tensions seuil Vtn d'un transistor à canal n et Vtp d'un transistor à canal p, auxquelles on ajoute une marge (overdrive) de 10% environ. Dans la technologie d'intégration à 90 nm, la tension d'alimentation nominale est de 1,3 V environ (à 10% près). En haut de l'échelle de la figure 2, les plages GB et VDO s'étendent sur environ 70 mV et 50 mV. Les io tensions de seuil Vtp et Vtn sont en moyenne de 500 mV et 475 mV. Une plage de tension s'étendant sur environ 1025 mV doit donc être prévue pour permettre la commutation des transistors à canal n et p du circuit ISC. Les plages LGO et SGO s'étendent sur 50 mV et 25 mV. Il reste donc environ 50 mV (à 10% près) pour la plage LGR d'ajustement de la tension Vgb. 15 Dans la technologie d'intégration à 0.18 {gym, la plage d'ajustement de la tension Vgb peut voir une étendue de 100 à 200 mV. Selon un mode de réalisation, la valeur attribuée à la tension de polarisation Vgb peut être choisie aléatoirement parmi plusieurs dizaines de valeurs différentes pour éviter un effet de moyennage, par exemple avec un 20 pas d'ajustement choisi entre 0,05 et 0,3%. Si la plage d'ajustement de la tension Vgb s'étend de 0 à 4% de la tension Vdd, une quarantaine de valeurs correspond à un pas d'ajustement de 0,1% de la tension Vdd. Dans l'exemple de la technologie à 90 nm, un pas de 0,1% de la tension Vdd correspond à 1,3 mV environ (à 10% près). 25 Selon un mode de réalisation, la tension de polarisation Vgb est modifiée aléatoirement lorsque le circuit ISC est dans un état d'attente d'activation entre deux phases de traitements exécutées par le circuit. Cet état est par exemple détecté en surveillant un signal "prêt" fourni par le circuit ISC. La tension de polarisation Vgb peut également être modifiée au 30 début d'une phase de traitement telle qu'une ronde (round) d'un algorithme de chiffrement par exemple conforme au standard DES (Digital Encryption System ou AES (Advanced Encryption System). Dans ce cas, il peut être prévu un délai d'attente avant de commencer la phase de traitement pour permettre à la tension d'alimentation du circuit ISC de se stabiliser. Il peut 35 également être prévu de changer la valeur de la tension d'alimentation du 8 circuit ISC dès la fin d'une phase de traitement, c'est-à-dire dès que le circuit se met en attente d'activation. Selon un mode de réalisation, la tension de polarisation Vgb peut être négative, de sorte que la plage d'ajustement de la tension Vbg peut s s'étendre d'environ -5 à +5% de la tension d'alimentation Vdd, par exemple de -4% à +4% de la tension d'alimentation Vdd. Le nombre de pas d'ajustement peut être de plusieurs dizaines, par exemple maintenu à une quarantaine ou doublé. Selon un autre mode de réalisation, la tension de polarisation peut io être modulée dans la plage 0 à 5% par un signal alternatif, par exemple sinusoïdal, ayant une distribution équiprobable et une période correspondant à la durée d'une ou plusieurs phases de traitement successives, par exemple comprise entre quelques centaines de nanosecondes et quelques microsecondes. La figure 3 représente le circuit intégré IC selon un 15 mode de réalisation. Sur la figure 3, le circuit intégré IC comprend plusieurs circuits formés dans le substrat SUB, dont plusieurs circuits ISCI, ISC2, ISC3 pouvant manipuler des données sensibles. Le circuit intégré IC comprend un circuit d'alimentation général GPC fournissant à une borne d'alimentation VS1, VS2, VS3 des différents circuits du circuit intégré, la 20 tension d'alimentation Vdd par rapport à la masse du substrat SGnd, à partir d'une tension d'alimentation externe Vps. Selon un mode de réalisation, chacun des circuits ISCI, ISC2, ISC3 comprend un caisson isolé de type de conductivité P PW1, PW2, PW3 entouré d'un caisson de type de conductivité N NW1, NW2, NW3, et isolé du 25 reste du substrat SUB par un caisson isolant enterré NISOI, NISO2, NISO3. le caisson isolé PW1, PW2, PW3 de chacun des circuits ISCI, ISC2, ISC3 comprend une prise de masse locale LG1, LG2, LG3. Chaque circuit ISCI, ISC2, ISC3 est associé à un circuit de polarisation LGB1, LGB2, LGB3 fournissant une tension de polarisation Vgbl, Vgb2, Vgb3 de la masse locale 30 LG1, LG2, LG3 par rapport à la masse du substrat SGnd. Ainsi, chaque circuit ISCI, ISC2, ISC3 est alimenté entre une borne d'alimentation VS1, VS2, VS3 recevant la tension d'alimentation Vdd et sa masse locale, par une tension d'alimentation égale à Vdd û Vgb (i étant égal à 1, 2 ou 3). Chaque circuit LGB1, LGB2, LGB3 fournit l'une des tensions de polarisation 35 Vgbl, Vgb2, Vgb3 déterminée en fonction d'une valeur aléatoire. L'ajustement de la tension de polarisation est effectué à un instant où le circuit ISCI, ISC2, ISC3 est inactif ou avant une phase de traitement, en prévoyant si nécessaire une phase d'attente avant de déclencher la phase de traitement, pour permettre à la tension d'alimentation (Vdd - Vgb ) de se stabiliser. L'état d'inactivité est par exemple détecté en surveillant un signal "prêt" fourni par le circuit ISCI, ISC2, ISC3. Comme les tensions de polarisation Vgb1, Vgb2, Vgb3 des circuits ISCI, ISC2, ISC3 sont fournies dans des caissons PW1, PW2, PW3 isolés du substrat SUB par les caissons NWI, NW2, MW3 et NISOI, NISO2, NISO3, elles peuvent être distinctes à io un instant donné où les circuits ISCI, ISC2, ISC3 sont tous actifs. Chaque circuit LGB1, LGB2, LGB3 peut donc disposer de son propre générateur de nombre aléatoire pour ajuster sa résistance R4. La figure 4 représente un exemple de circuit d'alimentation GPC du circuit intégré IC. Le circuit GPC comprend deux transistors MOS à canal N 15 T1, T2, deux résistances RI, R2, un comparateur CP et un circuit élévateur de tension BPMP. Le drain des transistors T1, T2 reçoit la tension externe Vps. La source du transistor T1 est reliée à la masse du substrat SGnd par l'intermédiaire des résistances RI et R2 connectées en série. Le noeud de jonction ND entre les résistances RI, R2 est connecté à une entrée directe 20 du comparateur CP. Le comparateur CP comprend une entrée inverseuse recevant une tension de référence constante Vref, par exemple fixée à 0,8 V. La tension Vref est sensiblement constante, c'est-à-dire notamment indépendante de la température ambiante du circuit intégré et des conditions de fabrication de ce dernier. La tension Vref peut être par exemple fournie 25 par un circuit de référence de bande interdite (bandgap reference circuit). La sortie du comparateur CP est connectée à une entrée du circuit BPMP. La sortie du circuit BPMP est connectée aux grilles des transistors T1, T2. La source du transistor T2 fournit la tension d'alimentation Vdd. Le circuit BPMP par exemple réalisé par une pompe de charge, fournit une tension égale à 30 Vdd + Vtn, Vtn étant la tension de seuil des transistors T1, T2. Le comparateur CP régule la tension Vdd en maintenant la tension au noeud ND sensiblement égale à la tension Vref. La valeur de la tension Vdd est définie par les valeurs des résistances RI, R2. La figure 5 représente un mode de réalisation de chacun des circuits 35 de polarisation LGB1, LGB2, LGB3. Sur la figure 5, le circuit LGB comprend 2958098 i0 deux résistances R3, R4, un comparateur CP1 et un circuit de génération d'un nombre aléatoire RND1. Le comparateur CP1 est alimenté entre la tension d'alimentation Vdd et la masse du substrat SGnd. Le comparateur CP1 reçoit sur une entrée inverseuse une tension de référence Vref. Les s résistances R3, R4 sont connectées en série entre la source d'alimentation Vdd et la sortie du comparateur CP1 qui fournit la tension de polarisation Vgb. Le noeud de jonction NI entre les deux résistances R3, R4 est connecté à une entrée directe du comparateur CP1. Ainsi, le comparateur CP1 régule la tension Vgb de manière à ce que la tension au noeud NI soit io maintenue égale à la tension de référence Vref. La tension Vgb fournie par le circuit LGB peut donc être calculée à l'aide de l'équation suivante : Vgb = Vref ù (Vdd ù Vref) R4/R3 (1) L'une des deux résistances, par exemple la résistance R4 peut être ajustable et commandée par le générateur RND1, pour ajuster la tension de 15 polarisation Vgb. Dans la technologie à 90 nm avec la tension d'alimentation Vdd fixée à 1,3 V, et si Vref est fixé à 0,8 V et si Vgb varie entre 0 et 50 mV, alors le rapport R4/R3 des valeurs des résistances R4 et R3 est ajustable entre 1,6 et 1,5. Classiquement, la résistance ajustable R4 peut être réalisée à l'aide 20 de plusieurs résistances connectées en série, un interrupteur étant monté en parallèle de chaque résistance montée en série. Chaque interrupteur est commandé par un bit d'un mot aléatoire fourni par le générateur RND1. Pour respecter l'équiprobabilité de la valeur attribuée à la tension Vgb, les résistances constituant la résistance variable peuvent avoir pour valeurs 25 respectives par exemple R, 2R, 4R, 8R, ... La figure 6 représente un autre mode de réalisation de chacun des circuits de polarisation LGB1, LGB2, LGB3. Sur la figure 6, le circuit LGB' comprend une résistance R5, un comparateur CP2, une source de courant CS et un circuit de génération d'un nombre aléatoire RND2. La source de 30 courant CS est alimentée par la tension Vdd et fournit un courant Iref égal à la tension de référence Vref divisée par une résistance R6 (non représentée). Le comparateur CP2 est alimenté entre la tension d'alimentation Vdd et la masse du substrat SGnd. La résistance R5 est connectée en série entre la source de courant CS et la masse. Le noeud de 35 jonction N2 entre la source de courant et la résistance R5 est connecté à Il une entrée directe du comparateur CP2. La sortie du comparateur CP2 qui fournit la tension de polarisation Vgb est rebouclée sur son entrée inverseuse. Ainsi, le comparateur CP2 régule la tension Vgb en la maintenant égale à la tension au noeud N2. La tension Vgb fournie par le s circuit LGB peut donc être calculée à l'aide de l'équation suivante : Vgb = R5 Iref = Vref R5/R6 (2) Par rapport au circuit LGB, le circuit LGB' présente l'avantage de ne pas être sensible à des variations de la tension d'alimentation Vdd qui peuvent se produire notamment lorsque le circuit intégré IC est actif en raison de chutes io de tension dans les résistances internes du circuit IC. La résistance R5 peut être ajustable et commandée par le générateur RND2, pour ajuster la tension de polarisation Vgb. Dans la technologie à 90 nm avec la tension d'alimentation Vdd fixée à 1,3 V, et si Vref est fixé à 0,1 V et si Vgb est ajustable entre 1 mV et 50 mV, alors le rapport R5/R6 des 15 valeurs des résistances R5 et R6 est ajustable entre 1/100 et 1/2. La figure 7 représente un circuit intégré selon un autre mode de réalisation. Sur la figure 7, le circuit intégré ICI comprend plusieurs circuits formés dans un substrat SUBI de conductivité N, dont des circuits ISCI 1, ISC12, ISC13 manipulant des données sensibles, telles que des données 20 secrètes. Le circuit intégré ICI comprend une masse de substrat Gnd, et reçoit une tension d'alimentation externe Vps. Selon un mode de réalisation, chacun des circuits ISCI, ISC2, ISC3 comprend un caisson de type de conductivité N NW11, NWI2, NW13 entouré d'un caisson de type de conductivité P PW1, PW2, PW3, et isolé du 25 reste du substrat SUBI par un caisson isolant enterré PISI1, PIS12, PIS13. Chacun des circuits ISCI 1, ISC12, ISC13 comprend une borne d'alimentation VS1, VS2, vS3 connectée à un circuit d'alimentation LPC1, LPC2, LPC3 fournissant à la borne d'alimentation une tension d'alimentation Vdll, Vdi2, Vdi3 différente de la tension d'alimentation Vps. Ainsi, chaque 30 circuit ISC11, ISC12, ISC13 est alimenté par la tension d'alimentation VdI (i étant égal à 1, 2 ou 3). Chacune des tensions d'alimentation VdlI, VdI2, VdI3 est ajustée en fonction d'une valeur aléatoire, afin de masquer l'activité du circuit vis-à-vis d'une attaque visant à découvrir les données manipulées par le circuit. L'ajustement de la tension d'alimentation Vdki> de chaque 35 circuit ISC11, ISC12, ISC13 est effectué à un instant où le circuit est inactif 12 ou avant une phase de traitement, par exemple dès la fin d'une phase de traitement. La figure 8 représente un exemple de réalisation d'un de circuits d'alimentation LPC1, LPC2, LPC3. Sur la figure 8, le circuit LPC comprend deux transistors MOS à canal N T4, T5, deux résistances R7, R8, un comparateur CP3, un circuit élévateur de tension BPM3 et un circuit de génération de nombres aléatoires RND3. Le drain des transistors T4, T5 reçoit la tension d'alimentation Vps. La source du transistor T4 est reliée à la masse du substrat Gnd par l'intermédiaire des résistances R7 et R8 connectées en série. Le noeud de jonction N3 entre les résistances R7, R8 est connecté à une entrée directe du comparateur CP3. Le comparateur CP3 comprend une entrée inverseuse recevant une tension de référence constante Vref, par exemple fixée à 0,8 V. La sortie du comparateur CP3 est connectée à une entrée du circuit BPM3. La sortie du circuit BPM3 est connectée aux grilles des transistors T4, T5. La source du transistor T5 fournit la tension d'alimentation Vdl d'un des circuits ISC11, ISC12, ISC13. Le comparateur CP3 régule la tension Vdld en maintenant la tension au noeud N3 sensiblement égale à la tension Vref. La valeur de la tension Vdl est définie par les valeurs des résistances R7, R8. L'une des deux résistances R7, R8, par exemple la résistance R7 est ajustable et commandée par le circuit RND3. Ainsi, le comparateur CP3 régule la tension Vdl qui dépend des valeurs des résistances R7, R8, de manière à ce que la tension au noeud N3 soit maintenue égale à la tension de référence Vref. Ici encore, l'ajustement de la tension d'alimentation locale Vdl être effectué dans une plage s'étendant de 100% à une valeur de l'ordre de 95% de la tension d'alimentation Vps du circuit intégré ICI, par exemple de 100 à 96% de la tension Vps. Selon un mode de réalisation, la tension d'alimentation Vdl peut être ajustée dans un plage d'ajustement pouvant s'étendre d'environ -5 à +5% autour de la tension d'alimentation Vps, par exemple de -4% à +4% autour de la tension d'alimentation Vps. Le nombre de pas d'ajustement peut être de plusieurs dizaines, par exemple maintenu à une quarantaine ou doublé. La largeur maximum de la plage d'ajustement de la tension de polarisation Vdl peut être choisie de manière à être compatible avec la somme des tensions de seuil d'un transistor à canal n et d'un transistor à 13 canal p du circuit intégré IC, à la tension d'alimentation Vps et aux chutes de tension qui se produisent dans les circuits lorsque ceux-ci sont actifs, formés dans le substrat et dans les caissons, ces valeurs de tension étant considérées avec une marge d'erreur liée à des variations de performances s du circuit intégré résultant de variations de la température ambiante ou de dérives des conditions de fabrication du circuit intégré. Dans la technologie d'intégration à 90 nm, la valeur nominale de la tension d'alimentation Vps s'élève à environ 1,3 V (à 10% près). L'ajustement de la tension d'alimentation Vdl peut être effectué dans une plage allant de Vps ou 10 Vps + 50 mV à environ Vps ù 50 mV (à 10% près). Dans la technologie d'intégration à 0.18 pm, la plage d'ajustement de la tension Vdl peut s'étendre de Vps ou Vps + 100 à 200 mV à Vps ù 100 à 200 mV. Selon un mode de réalisation, la valeur attribuée à la tension d'alimentation Vdl peut être choisie parmi plusieurs dizaines de valeurs 15 différentes pour éviter un effet de moyennage, par exemple avec un pas d'ajustement choisi entre 0,05 et 0,3%. Si la plage d'ajustement de la tension Vdl s'étend de 100% à 96%, une quarantaine de valeurs correspond à un pas d'ajustement de 0,1%. Selon un mode de réalisation, la tension d'alimentation Vdl est 20 modifiée aléatoirement lorsque le circuit ISC11, ISC12, ISC13 est inactif ou avant une phase de traitement, en prévoyant si nécessaire une phase d'attente avant de déclencher la phase de traitement, pour permettre à la tension d'alimentation (Vdki>) de se stabiliser.. Cet état est par exemple détecté en surveillant un signal "prêt" fourni par le circuit ISC11, ISC12, 25 ISC13. La tension d'alimentation Vdl peut également être modifiée au début d'une phase de traitement. Dans ce cas, il peut être prévu un délai d'attente avant de commencer la phase de traitement pour permettre à la tension d'alimentation Vdl de se stabiliser. Comme les tensions d'alimentation Vdll, Vdl2, Vdl3 des circuits ISCI 1, ISC12, ISCI 3 sont fournies dans des caissons 30 NW1, NW2, NW3 isolés du substrat SUB par les caissons PW1, PW2, PW3 et PIS11, PIS12, PIS13, elles peuvent être distinctes à un instant donné où les circuits ISC11, ISC12, ISC13 sont tous actifs. Chaque circuit LPC1, LPC2, LPC3 peut donc disposer de son propre générateur de nombre aléatoire pour ajuster sa résistance R7. 14 II apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. Ainsi, l'invention n'est pas limitée à un microcircuit comprenant plusieurs circuits alimentés de manière indépendante. L'invention s'applique également à un microcircuit dans lequel l'ensemble de la tension d'alimentation est ajustée de manière aléatoire au début d'une phase de traitement. Il n'est donc pas nécessaire que l'une des bornes d'alimentation du microcircuit soit formée dans un caisson isolé du reste du substrat dans lequel est formé le microcircuit. lo Par ailleurs, si dans les exemples décrits, la tension à la borne d'alimentation VG1, VG2, VG3 d'un des circuits ISCI, ISC2, ISC3 est égale à la tension d'alimentation Vdd du circuit intégré, ou si la tension de la masse locale tLG1, LG2, LG3 d'un des circuits ISC11, ISC12, ISC13 est égale à celle de la masse Gnd du circuit intégré, il va de soi qu'un écart de 15 tension constant peut être appliqué entre ces tensions sans sortir du cadre de la présente invention. REVENDICATIONS1. Procédé de contremesure dans un microcircuit électronique (IC, ICI), comprenant des phases de traitement successives exécutées par un circuit (ISC, ISCI, ISCI 1) du microcircuit, caractérisé en ce qu'il comprend une étape d'ajustement d'une tension d'alimentation entre des bornes d'alimentation (VS1) et de masse (LG1) du circuit, en fonction d'une valeur aléatoire générée pour la phase de traitement, à chaque phase de traitement exécutée par le circuit (ISC, ISCI, ISCI 1), ou une étape de modulation de la tension d'alimentation par un signal alternatif ayant une distribution équiprobable et une période correspondant à la durée d'une ou plusieurs phases de traitement successives. 2. Procédé selon la revendication 1, comprenant des étapes consistant à : former le microcircuit (IC, ICI) dans un substrat (SUB, SUBI), former dans le substrat un caisson (PW, PWI, NW11) électriquement isolé du substrat, former la borne d'alimentation (VS1) ou de masse (LGI) du circuit (ISC1, ISCI 1) dans le caisson isolé, et à chaque phase de traitement exécutée par le circuit, ajuster la tension entre les bornes d'alimentation et de masse du circuit, par rapport à une tension d'alimentation (Vdd) du microcircuit et une masse du substrat (SGnd), en fonction d'une valeur aléatoire générée pour la phase de traitement. 3. Procédé selon l'une des revendications 1 et 2, dans lequel l'ajustement de la tension d'alimentation entre les bornes d'alimentation (VS1) et de masse (LG1) du circuit (ISC1, ISCI I) est effectué dans une plage délimitée en fonction : de variations de la tension d'alimentation (Vdd) résultant de variations des performances du microcircuit (IC, ICI) liées à des variations de la température ambiante et à des variations des conditions de fabrication du microcircuit, 15de variations de la tension d'alimentation et de tensions de masse (Vgb, Gnd) du microcircuit en fonction de l'ampleur de l'activité du microcircuit, et de tensions minimum permettant d'assurer une commutation de transistors à canal n et à canal p du microcircuit. 4. Procédé selon l'une des revendications 1 à 3, dans lequel une tension de polarisation (Vgb) entre la borne de masse (LGI) du circuit (ISC1) et une borne de masse (SGnd) du microcircuit (IC) est ajustée en fonction 10 d'une valeur aléatoire, l'écart de tension entre une tension d'alimentation (Vdd) du microcircuit et une borne d'alimentation (VS1) du circuit (ISC1) étant fixe. 5. Procédé selon la revendication 4, dans lequel l'ajustement de la 15 tension d'alimentation entre les bornes d'alimentation (VS1) et de masse (LG1) du circuit (ISC1) est effectué dans une plage incluse entre -5% à +5% de la tension d'alimentation (Vdd) du microcircuit. 6. Procédé selon l'une des revendications 1 à 3, dans lequel l'écart de 20 tension entre une borne d'alimentation (VS1) du circuit (ISC11) et une tension d'alimentation (Vdd) du microcircuit (ICI) est ajustée en fonction d'une valeur aléatoire, la tension entre la borne de masse (LG1) du circuit (ISC1 1) et une borne de masse (SGnd) du microcircuit étant fixe. 25 7. Procédé selon la revendication 6, dans lequel l'ajustement de la tension d'alimentation entre les bornes d'alimentation (VS1) et de masse (LG1) du circuit (ISC11) est effectué dans une plage incluse entre -5% à +5% autour de la tension d'alimentation (Vdd) du microcircuit. 30 8. Procédé selon l'une des revendications 1 à 7, dans lequel l'ajustement de la tension d'alimentation entre les bornes d'alimentation (VS1) et de masse (LG1) du circuit (ISC1, ISC1 1) est effectué avec un pas d'ajustement de 0,05 à 0,3% de la tension d'alimentation (Vdd) du microcircuit (IC, ICI). 35 9. Microcircuit comprenant un circuit (ISC, ISCI, ISCI 1) exécutant des phases de traitement successives, caractérisé en ce que le circuit (ISC, ISCI, ISC11) comprend des bornes d'alimentation (VS1) et de masse (LG1) et est associé à un circuit d'alimentation configuré pour mettre en oeuvre le procédé selon l'une des revendications 1 à 8. 10. Microcircuit selon la revendication 9, comprenant plusieurs circuits (ISC1, ISC2, ISC3, ISC11, ISC12, ISC13) comportant chacun des bornes io d'alimentation (VS1, VS2, VS3) et de masse (LG1, LG2, LG3) et associés chacun à un circuit d'alimentation (LGB1, LGB2, LGB3, LPC1, LPC2, LPC3) mettant en oeuvre le procédé selon l'une des revendications 1 à 8. 11. Dispositif portable à microcircuit, caractérisé en ce qu'il comprend 15 un microcircuit (IC, IC2) selon l'une des revendications 9 et 10.