Brevet FR3075430A1 — publié le 20190621

DOMAINE TECHNIQUE AUQUEL SE RAPPORTE L'INVENTION La pr6sente invention concerne de maniere generale le domaine du traitement des donn6es au moyen de ('execution d'instructions par un processeur d'un dispositif electronique. Elle concerne plus particulierement un procede de traitement de donnees et un dispositif electronique associe. ARRIERE-PLAN TECHNOLOGIQUE Les procedes de traitement de donnees sont couramment mis en oeuvre par ('execution d'ensembles d'instructions par un processeur d'un dispositif electronique. Dans ce contexte, des personnes malintentionnees peuvent chercher a comprendre le fonctionnement du dispositif electronique (ou a avoir acces aux donnees manipulees) en observant la consommation electrique du dispositif electronique, qui est liee aux instructions executees. Par exemple, lorsqu'un attaquant souhaite effectuer une attaque par faute en perturbant le fonctionnement du processeur (typiquement au moyen d'un laser), l'attaquant observe la consommation electrique afin d'injecter la faute a un moment précis de ('execution des instructions par le processeur. Afin de contrer ce type d'attaques, it a déjà 6t6 propose de faire executer par le processeur des portions de programme ayant des durees variables (en general de maniere aleatoire) d'une execution a l'autre. Ainsi, l'attaquant ne peut pas prevoir a quel moment sera executee ('instruction qu'il souhaite perturber. OBJET DE L'INVENTION Dans ce contexte, la presente invention propose un procede de traitement de donnees mis en oeuvre dans un dispositif electronique equipe d'un processeur, ce procede comprenant une etape d'execution d'un premier ensemble d'instructions par le processeur et une etape d'execution d'un second ensemble d'instructions par le processeur, caracterise en ce que, entre l'etape d'execution du premier ensemble d'instructions et l'etape d'execution du second ensemble d'instructions, est executee une sequence d'instructions selectionnee aleatoirement parmi une pluralite de sequences d'instructions ayant des durees 2 d'execution differentes, et en ce qu'au moins une des sequences d'instructions de ladite pluralite comprend des instructions congues pour effectuer une operation de verification du fonctionnement du dispositif electronique lorsque ces instructions sont executees par le processeur. 5 Ainsi, les instants respectifs d'execution du premier ensemble d'instructions et du second ensemble d'instructions sont separes par une duree qui change (de maniere aleatoire) a chaque mise en oeuvre du procede, de sorte que l'attaquant ne peut pas prevoir le moment auquel est mis en oeuvre le second ensemble d'instructions. Cette duree variable entre ('execution du premier 10 ensemble d'instructions et ('execution du second ensemble d'instructions est en outre mise a profit pour effectuer au moins une operation de verification du fonctionnement du dispositif electronique. Le procede precite peut comprendre en outre les etapes suivantes : - determination aleatoire d'un nombre ; 15 - lancement de ('execution de la sequence d'instructions associee au nombre determine parmi les sequences d'instructions de ladite pluralite. D'autres caracteristiques non limitatives et avantageuses du procede de traitement de donnees conforme a ('invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes : 20 - chaque sequence d'instructions de la pluralite effectue une operation correspondante de verification du fonctionnement du dispositif electronique ; - au moins une sequence d'instructions de la pluralite effectue une combinaison d'operations de verification du fonctionnement du dispositif electronique ; 25 - ('operation de verification est une operation de verification d'integrite d'une partie au moins d'une memoire du dispositif electronique, ou une operation de verification d'une valeur d'une variable memorisee au sein du dispositif electronique, ou une operation de verification d'une mesure fournie par un capteur equipant le dispositif electronique, ou encore une operation de verification de 30 reception d'un signal de fonctionnement correct en provenance d'un composant du dispositif electronique (la combinaison precitee pouvant combiner plusieurs de ces operations). On peut prevoir par ailleurs que le proc6d6 comprenne les 6tapes suivantes : 3 - lors de ('execution de la sequence d'instructions selectionnee aleatoirement, memorisation d'un indicateur de realisation d'au moins une operation de verification associee a la sequence d'instructions concernee ; - lors d'une phase ulterieure du fonctionnement du dispositif electronique, 5 mise en oeuvre de ladite au moins une operation de verification seulement en cas d'absence dudit indicateur de realisation. On prevoit ainsi un tel indicateur de realisation pour l'une au moins des sequences d'instructions. Lorsqu'une pluralite d'operations de verification est mise en oeuvre lors de ('execution de la sequence d'instructions concernee, ('indicateur 10 de realisation peut viser la sequence dans son ensemble (c'est-a-dire toutes les operations de verification de la pluralite) ; selon une autre possibilite, on peut prevoir un tel indicateur de realisation pour chaque operation de verification de la pluralite. On effectue ainsi lors d'une phase ulterieure de securite seulement les 15 operations de verification qui n'ont pas ete effectuees entre ('execution du premier ensemble d'instructions et ('execution du second ensemble d'instructions. L'invention propose egalement un dispositif electronique comprenant un processeur et une unite de memorisation d'instructions executables par le processeur, caracterise en ce que lesdites instructions sont congues de sorte 20 qu'entre une etape d'execution d'un premier ensemble d'instructions et une etape d'execution d'un second ensemble d'instructions, est executee une sequence d'instructions selectionnee aleatoirement parmi une pluralite de sequences d'instructions ayant des durees d'execution differentes, et en ce qu'au moins une des sequences d'instructions de ladite pluralite comprend des instructions 25 congues pour effectuer une operation de verification du fonctionnement du dispositif electronique lorsque ces instructions sont executees par le processeur. DESCRIPTION DETAILLEE D'UN EXEMPLE DE REALISATION La description qui va suivre en regard des dessins annexes, donnes a titre d'exemples non limitatifs, fera bien comprendre en quoi consiste ('invention et 30 comment elle peut etre realisee. Sur les dessins annexes : - la figure 1 repr6sente schematiquement les elements principaux d'un dispositif electronique au sein duquel est mise en oeuvre ('invention ; - la figure 2 represente, sous forme de logigramme, un premier exemple 4 de procede conforme a l'invention ; - la figure 3 montre un premier exemple de table de redirection utilisable dans le cadre de l'invention ; - la figure 4 montre un second exemple de table de redirection utilisable 5 dans le cadre de l'invention ; et - la figure 5 represente, sous forme de logigramme, un second exemple de procede conforme a l'invention ; et - la figure 6 presente un exemple possible pour la memorisation d'instructions aptes a mettre en oeuvre un procede conforme a l'invention. 10 La figure 1 repr6sente schematiquement les elements principaux d'un dispositif electronique 1 (ou entite electronique) au sein duquel est mise en oeuvre l'invention. Dans les exemples decrits ici, ce dispositif electronique 1 est un module securise. Un tel module securise 1 est par exemple une carte a microcircuit, telle 15 qu'une carte a circuit integre universelle (ou UICC pour "Universal Integrated Circuit Card'). En variante, it pourrait s'agir d'un element securise (ou SE pour "Secure Element') - par exemple un microcontroleur securise. En variante, le dispositif electronique pourrait etre un ordinateur ou un dispositif electronique portatif (ou "hand-held electronic device" selon ('appellation 20 anglo-saxonne) - par exemple un terminal de communication ou un passeport electronique. Le dispositif electronique 1 comprend un processeur 2 (ici un microprocesseur), une memoire vive 4 et une memoire non-volatile reinscriptible 6 (par exemple de type EEPROM pour "Electrically Erasable and Programmable 25 Read-Only Memory'). Le dispositif electronique 1 pourrait eventuellement comprendre en outre une memoire morte. La memoire vive 4 et la memoire nonvolatile reinscriptible 6 (ainsi que le cas &I-leant la memoire morte) sont chacune liees au processeur 2 de sorte que le processeur 2 peut lire ou ecrire des donnees dans chacune de ces memoires. 30 Une de ces memoires, par exemple la memoire non-volatile reinscriptible 6, memorise des instructions de programme d'ordinateur (par exemple avec une structure telle que celle presentee en figure 6) qui permettent la mise en oeuvre de l'un au moins des procedes decrits ci-dessous en reference aux figures 2 et 5 lorsque ces instructions sont executees par le processeur 2. 5 Les memoires 4, 6 stockent egalement des donnees representatives de valeurs utilisees lors de la mise en oeuvre des procedes decrits ci-dessous. Par exemple, dans l'exemple decrit ici au le dispositif electronique 1 est congu pour mettre en oeuvre un algorithme cryptographique (comme explique plus bas), la 5 memoire non-volatile reinscriptible 6 memorise une cle cryptographique K. La memoire vive 4 memorise par ailleurs, par exemple au sein de variables, des donnees traitees au cours des procedes decrits ci-dessous. Le dispositif electronique 1 comprend ici en outre une interface de communication 8 avec des dispositifs electroniques externes. Par exemple, 10 lorsque le dispositif electronique 1 est une carte a microcircuit, l'interface de communication 8 comprend par exemple des contacts affleurant sur une face de la carte a microcircuit. En variante, l'interface de communication 8 pourrait etre realisee par un module de communication sans contact. De maniere generale, l'interface de communication 8 peut etre un module de communication (filaire ou 15 sans fil) avec une autre entite electronique. Le processeur 2 peut ainsi recevoir des donnees, par exemple un message M, en provenance de l'autre entite electronique via l'interface de communication 8 et emettre d'autres donnees, par exemple un resultat d'application de ('algorithme cryptographique precite au message M, a l'autre 20 entite electronique via l'interface de communication 8. Comme déjà indique, l'invention n'est toutefois pas limitee a cet exemple et peut s'appliquer a d'autres types de dispositif electronique (merle sans traitement cryptographique). La figure 2 represente, sous forme de logigramme, un premier exemple 25 de procede conforme a l'invention. Ce procede est par exemple mis en oeuvre du fait de ('execution par le processeur 2 d'instructions representees schematiquement sur la figure 6. Bien entendu, l'invention n'est toutefois pas limitee a une telle organisation des instructions dans la memoire. Ce procede debute a l'etape E2 a laquelle le processeur 2 regoit des 30 donnees, par exemple un message M a traiter, via l'interface de communication 8. Cette etape E2 de reception est par exemple mise en oeuvre du fait de ('execution d'instructions INSTRREC representees en figure 6. Comme déjà indique, l'invention n'est pas limitee a l'exemple decrit ici et s'applique egalement a des dispositifs electroniques sans moyens de 6 communication avec des dispositifs externes (auquel cas l'etape E2 n'est pas mise en oeuvre). Le processeur 2 effectue alors a l'etape E4 une initialisation de son fonctionnement, ici du fait de ('execution par le processeur 2 d'instructions 5 INSTRINIT memorisees dans la memoire non-volatile reinscriptible 6. L'etape d'initialisation E4 peut comprendre par exemple : - des operations de mise a jour ou d'initialisation de variables (memorisees dans la memoire vive 4) utilisees dans l'etape de traitement cryptographique El 0 decrite plus bas, et/ou 10 - des operations de verification du contenu d'une partie au moins de la memoire vive 4 et ou de la memoire non-volatile reinscriptible 6 ; et/ou - une operation de detection (a un emplacement pr6d6termin6 de la memoire non-volatile reinscriptible 6) de la presence eventuelle d'une donnee de blocage (le processeur 2 commandant l'arret du fonctionnement du dispositif 15 electronique 1 en cas de detection effective de cette donnee de blocage). Le processeur 2 determine ensuite a l'etape E6 une valeur A, ici par tirage aleatoire. Dans l'exemple decrit ici, la valeur A est une valeur entiere (aleatoire) comprise entre 1 et un nombre pr6d6termin6 N (le tirage aleatoire utilise permettant de preference d'obtenir avec une probabilite identique chacune 20 des valeurs entieres comprises entre 1 et N). (Cette etape de determination E6 est par exemple mise en oeuvre du fait de ('execution de certaines instructions parmi des instructions INSTRAPP memorisees dans la memoire non-volatile 6.) Le processeur 2 met en oeuvre une etape de desynchronisation E8 dont la duree est variable selon la valeur A obtenue a l'etape E6. 25 Precisement, au cours de l'etape de desynchronisation E8 est executee par le processeur 2 une sequence d'instructions choisie parmi N sequences d'instructions sur la base de la valeur A obtenu a l'etape E6. Selon une premiere possibilite, chacune des N sequences d'instructions comprend des instructions INSTRPROT1, INSTRpRoT2, INSTRPROTN congues pour 30 effectuer une operation de verification du fonctionnement du dispositif electronique 1 lorsque ces instructions sont executees par le processeur 2. En variante, une partie seulement des N sequences d'instructions pourrait comprendre des instructions congues pour effectuer une operation de verification du fonctionnement du dispositif electronique 1 lorsque ces instructions 7 sont executees par le processeur 2. Ainsi, des sequences d'instructions sans operation de verification, peuvent etre utilisees pour assurer une bonne dispersion des durees de desynchronisation et notamment la presence de durees de desynchronisation 5 courtes. II s'agit par exemple des sequences d'instructions correspondant a des dur6es de d6synchronisation qui sont inf6rieures a la dur6e d'ex6cution de chaque operation de verification possible. Les differentes operations de verification respectivement mises en oeuvre du fait de ('execution par le processeur 2 des N sequences d'instructions possibles 10 peuvent chacune par exemple etre choisies parmi : - une op6ration de verification d'integrite d'une partie au moins de la memoire vive 4 ou de la memoire non-volatile reinscriptible 6, - une operation de verification d'une valeur d'une variable memorisee au sein du dispositif electronique 1, 15 - une operation de verification d'une mesure fournie par un capteur (par exemple un capteur de lumiere ou un capteur de temperature) equipant le dispositif electronique 1 et - une op6ration de verification de reception d'un signal de fonctionnement correct en provenance d'un composant (par exemple un 20 generateur de nombre aleatoire ou un crypto-processeur) du dispositif electronique 1. En pratique, une table de redirection T memorise, pour chaque valeur comprise entre 1 et N, une adresse PROT1, PROT2, PROTN au est memorise l'un des ensembles d'instructions INSTRPROT1, INSTRPROT2, INSTRPROTN, comme 25 represents en figure 3. Dans ce cas, l'etape de desynchronisation E8 est mise en oeuvre par appel (du fait de ('execution par le processeur 2 des instructions INSTRAPP) d'un sous-programme memorise a ('adresse PROTi associ6e a la valeur aleatoire A dans la table de redirection T (ce sous-programme etant forme des instructions 30 INSTRpRoTi concern6es). Les differents ensembles d'instructions INSTRpRom INSTRPROT2, INSTRPROTN, et donc les differentes sequences d'instructions, ont des durees d'ex6cution diff6rentes de sorte que la duree necessaire a la mise en oeuvre de l'etape de desynchronisation E8 varie d'une mise en oeuvre a l'autre du procede 8 de la figure 2. Selon une seconde possibilite, chacune des N sequences d'instructions comprend des instructions congues pour effectuer une combinaison d'une pluralite d'operations de verification du fonctionnement du dispositif electronique 1 lorsque 5 ces instructions sont executees par le processeur 2. Chaque operation de verification peut en pratique etre de l'un des types envisages ci-dessus. Comme represents en figure 4, on peut prevoir par exemple une table de redirection T' associant, a chacune des valeurs entieres comprises entre 1 et N, 10 une pluralite d'adresses PROTi au sont respectivement memorisees des ensembles d'instructions INSTRpRoTi permettant chacun la mise en oeuvre d'une operation de verification du fonctionnement du dispositif electronique 1 (lorsque ('ensemble d'instructions concerns est execute par le processeur 2). On remarque que, comme represents en figure 4, le nombre d'adresses PROTi associees aux 15 differentes valeurs entieres comprises entre 1 et N peut etre variable d'une valeur entiere a l'autre. De preference, afin d'assurer une bonne variation de la trace de la consommation electrique d'une mise en oeuvre a l'autre, les operations de verification (si elles sont communes pour plusieurs valeurs entieres) doivent etre 20 executees dans des ordres differents selon la valeur entiere a laquelle elles sont associees. En particulier, la premiere operation de verification et/ou la derniere operation de verification doivent etre differentes pour les differentes valeurs entieres utilisables (comprises entre 1 et N). Dans le cas decrit ici, l'etape de desynchronisation E8 est ainsi par 25 exemple mise en oeuvre du fait d'appels successifs (du fait de ('execution par le processeur 2 des instructions INSTRAPP) de sous-programmes respectivement memorises aux differentes adresses PROTi associees a la valeur aleatoire A dans la table de redirection T' (chaque sous-programme etant forme des instructions INSTRpRoTi memorisees a l'adresse PROTi concernee). 30 La duree de mise en oeuvre de l'etape de desynchronisation E8 correspond donc dans ce cas a la somme des durees d'execution des differents ensembles d'instructions INSTRpRoTi mis en oeuvre conformement a ce qui est prevu pour la valeur aleatoire courante A dans la table de redirection T'. On peut prevoir par exemple que la dur6e de mise en oeuvre de l'etape 9 de desynchronisation E8 associee a chaque valeur possible pour la valeur aleatoire A (c'est-a-dire a chaque valeur comprise entre 1 et N) soit comprise dans une plage de duree parmi plusieurs plages de durees T1, T3, TM (comme indique sur la figure 4). On remarque ici que les plages de durees T1, T3, TM ne sont pas 5 utilisees par le processeur 2 (mais seulement pour la clarte du present exposé) et pourraient donc en pratique ne pas etre incluses dans la table de redirection T'. Comme represents sur la figure 4, on peut alors prevoir par exemple que la duree de mise en oeuvre de l'etape de desynchronisation E8 soit dans la merle plage de duree (par exemple T3) pour plusieurs valeurs possibles de la valeur 10 aleatoire A (ici pour les valeurs 7, 8 et 9). On prevoit dans ce cas de pr6f6rence d'associer un nombre identique de valeurs possibles (comprises entre 1 et N) a chaque plage de duree T1, T3, TM de sorte que, la valeur A etant choisie aleatoirement, toutes les plages de duree aient une probabilite uniforme d'être utilisees. 15 On remarque toutefois que, comme déjà indique, le nombre d'adresses PROTi associees aux differentes valeurs entieres comprises entre 1 et N peut etre variable d'une valeur entiere a l'autre (merle pour des valeurs entieres associees a une merle plage de dur6e). Selon une troisieme possibilite, les premiere et seconde possibilites qui 20 viennent d'être decrites peuvent etre combinees : une partie des N sequences d'instructions comprend alors des instructions congues pour effectuer une combinaison d'une pluralite d'operations de verification du fonctionnement et une autre partie des N sequences d'instructions comprend des instructions congues pour effectuer une (seule) operation de verification. On assure ainsi une bonne 25 dispersion des durees de desynchronisation. Quoiqu'il en soit, la duree d'execution de l'etape de desynchronisation E8 sera variable en fonction de la valeur A obtenue a l'etape E8 et sera donc differente a chaque execution du procede de la figure 2. Le processeur 2 effectue alors a l'etape El 0 une operation de traitement 30 d'une donnee sensible, ici un traitement cryptographique appliqué aux donnees regues (ici au message M), par exemple par mise en oeuvre d'un algorithme cryptographique (utilisant eventuellement la cle cryptographique K) tel qu'un algorithme de chiffrement, un algorithme de dechiffrement, un algorithme de signature ou un algorithme de verification de signature. Cette etape de traitement 10 cryptographique E10 est ici realisee du fait de rexecution par le processeur 2 d'instructions INSTRcRypTo memorisees dans la memoire non-volatile 6 comme repr6sent6 en figure 6. Du fait de la variation de la duree de retape de desynchronisation E8 5 d'une mise en oeuvre du procede de la figure 2 a l'autre, un attaquant ne peut pas prevoir a quel instant debute retape de traitement cryptographique El 0 lors de la mise en oeuvre courante du procede de la figure 2 et ne peut donc pas creer un defaut de fonctionnement qui affecte le traitement cryptographique (attaque par faute). 10 De maniere optionnelle, le processeur 2 peut mettre en oeuvre une etape de securite E12 (ici du fait de ('execution d'instructions INSTRsEcuR par le processeur 2). Cette etape de securite peut inclure tout ou partie des operations de verification du fonctionnement du dispositif electronique 1 mentionnees plus haut (par exemple par appel de certaines au moins des adresses PROT1, PROT2, 15 PROTN au sont memorisees les instructions INSTRPROT1, INSTRPROT2, INSTRPROTN permettant la mise en oeuvre de ces operations de verification). Au cours de retape de securite E12 peut etre prevu de terminer le procede de la figure 2 (sans mettre en oeuvre retape d'emission E14 decrite cidessous) si l'une des operations de verification effectuees detecte un risque 20 d'attaque (c'est-a-dire par exemple en pratique un defaut d'integrite d'une partie de memoire, une valeur erronee d'une variable memorisee dans le dispositif electronique, un Malt de fonctionnement d'un composant ou une mesure inhabituelle fournie par un capteur). En cas d'absence de defaut a retape de securite E12 (lorsqu'une telle 25 etape est effectuee), le procede de la figure 2 se termine par une etape E14 a laquelle le processeur 2 commande remission de donnees (ici du resultat du traitement cryptographique de retape E10) via ('interface de communication 8 (ici du fait de ('execution par le processeur 2 d'instructions INSTREM memorisees dans la memoire non-volatile 8). 30 La figure 5 represente, sous forme de logigramme, un second exemple de procede conforme a ('invention. Ce procede debute a retape E20 a laquelle le processeur 2 regoit des donnees a traiter, par exemple un message M a traiter. Le processeur 2 met alors en oeuvre une etape d'initialisation E22. Cette 11 etape d'initialisation E22 est du merle type que l'etape E4 decrite plus haut en reference a la figure 2, mais comprend ici en outre une sous-etape d'initialisation (ici de mise a zero) d'un ensemble de variables (ici binaires) INDi respectivement associees aux operations de verification du fonctionnement du dispositif 5 electronique 1, comme explique plus bas. Le processeur 2 determine alors une valeur A par tirage aleatoire a l'etape E24. Cette etape est identique a l'etape E6 decrite plus haut en reference a la figure 2. Le processeur 2 met ensuite en oeuvre une etape de desynchronisation 10 E26 en executant une sequence d'instructions selectionnee en fonction de la valeur A parmi une pluralite de sequences d'instructions ayant des durees d'execution differentes. Comme dans le cas de la figure 2, la sequence d'instructions selectionnee et executee permet notamment la mise en oeuvre d'au moins une 15 operation de verification du fonctionnement du dispositif electronique 1. On pourra se r6f6rer a la description donn6e ci-dessus en r6f6rence aux figures 2 a 4 (en particulier a propos de l'etape E8) pour plus de details sur la mise en oeuvre pratique de cette etape de desynchronisation E26. Dans l'exemple decrit ici, l'etape de desynchronisation E26 comprend en 20 outre, pour chaque operation de verification mise en oeuvre au cours de cette etape E26, une sous-etape de memorisation d'un indicateur de realisation de ('operation de verification concernee, ici en mettant a la valeur 1 la variable binaire INDi associee a ('operation de verification concernee. En variante, lorsqu'une combinaison d'operations de verification est mise 25 en oeuvre au cours de l'etape de desynchronisation, on pourrait memoriser un indicateur de realisation de cette combinaison d'operations de verification. Selon une autre variante encore, on pourrait ne memoriser des indicateurs de realisation (comme propose ci-dessus) que pour certaines des operations de verification mises en oeuvre au cours de l'etape E26. 30 Le processeur 2 poursuit ensuite son fonctionnement a l'etape E28 par la mise en oeuvre d'un traitement cryptographique, comme decrit ci-dessus a propos de l'etape E10 en reference a la figure 2. Comme déjà indique, ('invention s'applique toutefois a tout type de traitement de donnees, non necessairement cryptographique. 12 Comme dans le cas de la figure 2, la duree de mise en oeuvre de l'etape de desynchronisation E26 varie d'une mise en oeuvre du procede de la figure 5 a l'autre de sorte qu'un attaquant ne pourra pas prevoir ('instant précis d'execution de l'etape de traitement cryptographique E28. 5 Comme decrit a present, le procede se poursuit alors par un traitement securitaire au cours duquel seules sont mises en oeuvre les operations de verification du fonctionnement du dispositif electronique 1 qui n'ont pas ete effectuees au cours de l'etape de desynchronisation E26. Pour ce faire, le processeur initialise a un un indice i a l'etape E30. 10 Le processeur 2 determine alors a l'etape E32 si un indicateur de realisation de ('operation de verification associee a l'indice courant i est present. Dans l'exemple decrit ici, le processeur 2 determine dans ce but si la variable INDi associee a ('operation de verification d'indice courant i est egale a 1. Dans l'affirmative a l'etape E32 (fleche P), ('operation de verification 15 associee a l'indice courant i a déjà ete effectuee au cours de l'etape de desynchronisation E26 et le procede se poursuit a l'etape E36 (decrite plus bas). Dans la negative a l'etape E32 (fleche N), c'est-a-dire en ('absence d'indicateur de realisation de ('operation de verification associee a l'indice courant i, le processeur 2 effectue a l'etape E34 ('operation de verification associee a 20 l'indice courant i, ici en appelant le sous-programme memorise a l'adresse PROTi et contenant les instructions INSTRpRoTi permettant la mise en oeuvre de ('operation de verification concernee (lorsque ces instructions INSTRpRoTi sont executees par le processeur 2). Le procede determine alors a l'etape E36 si l'indice courant a balaye tous 25 les indices respectivement associes a des operations de verification. Par exemple, dans le cas au on utilise une operation de verification pour chaque valeur possible de la valeur aleatoire A comme decrit ci-dessus en reference a la figure 3, le processeur 2 determine a l'etape E36 si l'indice courant i est egal au dernier indice possible (egal au nombre predetermine N). 30 Dans la negative a l'etape E36 (fleche N), le processeur 2 incremente l'indice courant i (etape E38) et le procede boucle a l'etape E32 déjà decrite. Dans l'affirmative a l'etape E36 (fleche P), toutes les operations de verification ont ete effectuees (soit au cours de l'etape de desynchronisation E26, soit au cours du traitement securitaire a l'etape E34) et le processeur 2 procede, 13 dans l'exemple decrit ici, a remission de donnees (par exemple le resultat de ('application du traitement cryptographique aux donnees regues) via ('interface de communication 8 (etape E40). Les operations de verification du fonctionnement de l'appareil 5 electronique 1 peuvent comprendre, outre ce qui a 6t6 indique plus haut, la mise en oeuvre de certaines actions securitaires en cas de detection d'un defaut de fonctionnement. Ces actions securitaires peuvent comprendre par exemple l'ecriture de donnees indicatives du defaut detecte dans un fichier journal (ou "log file" selon ('appellation anglo-saxonne communement utilisee) et/ou l'ecriture de 10 donnees de blocage a un emplacement predetermine de la memoire non-volatile 6 (afin d'empecher toute nouvelle mise en oeuvre du traitement cryptographique, comme explique plus haut a propos de l'etape E4) et/ou l'arret (immediat) du fonctionnement du dispositif electronique 1 (notamment sans emission de donn6es). 15 On remarque que la figure 6 est representee dans le cas au sont memorises autant d'ensembles d'instructions INSTRPROT1, INTSTRPROT2, INSTRPROTN qu'il y a de valeurs possibles pour la valeur aleatoire A (soit N ensembles d'instructions INSTRpRom INTSTRPROT2, INSTRPROTN et N valeurs possibles). Dans certains modes de realisation, comme celui decrit plus haut en 20 reference a la figure 4, le nombre d'ensembles d'instructions memorises peut etre distinct du nombre de valeurs possibles pour la valeur aleatoire A (c'est-a-dire du nombre de sequences d'instructions parmi lesquelles une sequence d'instruction REVENDICATIONS1. Procede de traitement de donnees mis en oeuvre dans un dispositif electronique (1) equipe d'un processeur (2), ce procede comprenant une etape (E4 ; E22) d'ex6cution d'un premier ensemble d'instructions (INSTRINIT) par le processeur (2) et une etape (E10 ; E28) d'execution d'un second ensemble d'instructions (INSTRcRyp-ro) par le processeur (2), caracterise en ce que, entre l'etape (E4 ; E22) d'execution du premier ensemble d'instructions (INSTRINIT) et l'etape (E10 ; E28) d'execution du second ensemble d'instructions (INSTRcRypT0), est executee une sequence d'instructions selectionnee aleatoirement parmi une pluralite de sequences d'instructions ayant des durees d'execution differentes, et en ce qu'au moins une des sequences d'instructions de ladite pluralite comprend des instructions concues pour effectuer une operation de verification du 15 fonctionnement du dispositif electronique (1) lorsque ces instructions sont executees par le processeur (2). 2. Procede selon la revendication 1, comprenant les etapes suivantes : - determination aleatoire (E6 ; E24) d'un nombre (A) ; 20 - lancement de ('execution de la sequence d'instructions associee au nombre determine (A) parmi les sequences d'instructions de ladite pluralite. 3. Procede selon la revendication 1 ou 2, dans lequel chaque sequence d'instructions de la pluralite effectue une operation correspondante de verification 25 du fonctionnement du dispositif electronique (1). 4. Procede selon l'une des revendications 1 a 3, dans lequel au moins une sequence d'instructions de la pluralite effectue une combinaison d'operations de verification du fonctionnement du dispositif electronique (1). 30 5. Procede selon l'une des revendications 1 a 4, comprenant les etapes suivantes : - lors de ('execution de la sequence d'instructions selectionnee aleatoirement, memorisation d'un indicateur de realisation (INDi) d'au moins une operation de verification associee a la sequence d'instructions concernee ; - lors d'une phase ulterieure du fonctionnement du dispositif electronique, mise en oeuvre (E34) de ladite au moins une operation de verification seulement en cas d'absence dudit indicateur de realisation. 5 6. Procede selon l'une des revendications 1 a 5, dans lequel ('operation de verification est une operation de verification d'integrite d'une partie au moins d'une memoire (4 ; 6) du dispositif electronique (1). 10 7. Procede selon l'une des revendications 1 a 5, dans lequel ('operation de verification est une operation de verification d'une valeur d'une variable memorisee au sein du dispositif electronique (1). 8. Procede selon l'une des revendications 1 a 5, dans lequel ('operation 15 de verification est une operation de verification d'une mesure fournie par un capteur equipant le dispositif electronique (1). 9. Procede selon l'une des revendications 1 a 5, dans lequel ('operation de verification est une operation de verification de reception d'un signal de fonctionnement correct en provenance d'un composant du dispositif electronique (1). 10. Dispositif electronique comprenant un processeur (2) et une unite de memorisation (6) d'instructions executables par le processeur (2), caracterise en ce que lesdites instructions sont congues de sorte qu'entre une etape (E4 ; E22) d'execution d'un premier ensemble d'instructions (INSTRinirr) et une etape (E10 ; E28) d'execution d'un second ensemble d'instructions (INSTRaRyp-ro), est executee une sequence d'instructions selectionnee aleatoirement parmi une pluralite de sequences d'instructions ayant des durees d'execution differentes, et en ce qu'au moins une des sequences d'instructions de ladite pluralite comprend des instructions congues pour effectuer une operation de verification du fonctionnement du dispositif electronique (1) lorsque ces instructions sont executees par le processeur (2).