Brevet FR3016064A1 — publié le 20150703

Procédé d'accès à des données stockées de manière sécurisée dans une mémoire non sécurisée, avec protection en intégrité temporelle desdites données La présente invention concerne un procédé d'accès à des informations stockées de manière sécurisée dans des blocs de données d'une mémoire non sécurisée, à chaque bloc de données étant associé un compteur enregistré dans la mémoire non sécurisée, ledit compteur étant adapté pour être incrémenté à chaque écriture dudit bloc de données. Dans ce qui suit, le terme « sécurisé » appliqué à une donnée signifie que ladite donnée bénéficie de mesures visant à garantir son intégrité. Appliqué à un organe de traitement ou de stockage de données, ce terme signifie que ledit organe bénéficie de mesures visant à garantir l'intégrité des données manipulées ou stockées. Il existe des systèmes tels que les cartes à microcircuit, comportant un espace de stockage de données sécurisé. Toutefois, cet espace de stockage présente généralement, du fait de son coût important, une capacité insuffisante pour stocker toutes les données sensibles d'une ou de plusieurs applications installées dans le système. Un tel système est donc généralement associé à une mémoire non sécurisée, de coût inférieur. On distingue communément trois types de protection de l'intégrité d'une donnée dans une mémoire non sécurisée : la protection en intégrité de contenu vise à s'assurer qu'une donnée n'a pas été altérée ; à cet effet, un motif d'intégrité de la donnée est calculé par application d'une fonction de hachage à la donnée ; la protection en intégrité spatiale vise à s'assurer que la donnée positionnée à une adresse de la mémoire n'a pas été remplacée par une autre donnée précédemment positionnée à une autre adresse de la mémoire ; à cet effet, un motif d'intégrité spatiale de la donnée, fonction de ladite donnée et de son adresse, est calculé ; et la protection en intégrité temporelle vise à protéger une donnée contre une attaque de type rejeu (en anglais : « replay attack ») ; à cet effet, un compteur est incrémenté ou décrémenté à chaque accès à ladite donnée, et ce compteur est sécurisé. US 2007/0130470 décrit un exemple de protection en intégrité temporelle d'une donnée stockée dans une mémoire non sécurisée et bénéficiant de mesures de gestion de droits numériques (mieux connues sous l'acronyme de DRM, de l'anglais « Digital Right Management »). Un compteur DRM est associé à la donnée, et ce compteur est décrémenté à chaque copie de la donnée. Un haché du compteur DRM est calculé et stocké dans la mémoire non-sécurisée, ledit haché étant recalculé à chaque accès à la mémoire non-sécurisée en utilisant une nouvelle clé de hachage. Il est ainsi impossible pour un attaquant de rejouer la donnée en substituant aux valeurs courantes du compteur DRM et de son haché les valeurs de ceux-ci à un instant antérieur : le système détecterait immédiatement la fraude par le fait que la clé de hachage du haché ne serait pas la clé de hachage couramment utilisée par le système. Cette méthode de protection en intégrité temporelle ne donne toutefois pas entière satisfaction. En effet, elle nécessite des accès récurrents à la mémoire non-sécurisée pour pouvoir vérifier tous les hachés qui y sont mémorisés et enregistrer les nouveaux hachés calculés au moyen de la nouvelle clé de hachage. Ces accès répétés ralentissent considérablement le système. EP-A-2 196 913 décrit un procédé de protection de l'intégrité de données enregistrées dans une mémoire non-sécurisée dans lequel, pour chaque couple de données, une signature dudit couple de données est calculée par application d'une fonction de hachage au couple de données, et stockée dans la mémoire non-sécurisée. Les signatures sont sécurisées au moyen d'un arbre de Merkle (« hash tree » en anglais) dont la signature racine est stockée dans une mémoire sécurisée du système. Lors du contrôle de l'intégrité d'une donnée à laquelle il est accédé, les signatures utilisées pour ce contrôle d'intégrité sont copiées dans la mémoire sécurisée, de façon à minimiser les accès à la mémoire non-sécurisée. Toutefois, ce procédé ne permet pas d'assurer la protection en intégrité temporelle des données stockées dans la mémoire non-sécurisée. Un objectif de l'invention est de permettre la protection en intégrité temporelle de données stockées dans une mémoire non-sécurisée en minimisant l'emploi de mémoire sécurisée et en minimisant la dégradation de performances liée à l'utilisation de la mémoire non-sécurisée. A cet effet, l'invention a pour objet un procédé du type précité, comprenant les étapes suivantes : - lecture, dans la mémoire non sécurisée, d'un compteur enregistré associé à un bloc de données auquel il est accédé, contrôle de l'intégrité du compteur, et mémorisation, dans une mémoire sécurisée, d'un compteur mémorisé consistant en une copie dudit compteur enregistré. Selon des modes de réalisation particuliers de l'invention, le procédé présente également l'une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute(s) combinaison(s) techniquement possible(s) : - un indicateur de compteur est associé au ou à chaque compteur mémorisé, ledit indicateur signalant si le compteur mémorisé présente une valeur différente ou non de celle du compteur correspondant enregistré dans la mémoire non sécurisée ; - ledit procédé comprend les étapes suivantes : - contrôle de l'indicateur de compteur associé à un compteur mémorisé, - si ledit indicateur de compteur signale que le compteur mémorisé présente une valeur différente de celle du compteur correspondant enregistré dans la mémoire non sécurisée, remplacement de la valeur dudit compteur enregistré par la valeur dudit compteur mémorisé, et effacement du compteur mémorisé de la mémoire sécurisée. l'adresse de chaque compteur enregistré dans la mémoire non sécurisée comprend un premier bloc d'adresse et un deuxième bloc d'adresse, au premier bloc d'adresse étant associée une pluralité de premiers espaces de stockage de la mémoire sécurisée, et, lors de l'étape de mémorisation, la valeur du compteur enregistré est mémorisée dans l'un desdits premiers espaces de stockage, le deuxième bloc d'adresse étant mémorisé dans un deuxième espace de stockage de la mémoire sécurisée, associé au premier espace de stockage où est stocké le compteur mémorisé ; - la mémoire sécurisée présente une capacité inférieure à la capacité nécessaire au stockage de tous les compteurs enregistrés ; - à chaque bloc de données est associé un motif d'intégrité du bloc de données, enregistré dans la mémoire non sécurisée, la valeur dudit motif d'intégrité dépendant de la valeur du compteur associé audit bloc de données, le procédé comprenant les étapes suivantes : calcul d'un motif d'intégrité calculé du bloc de données, à partir du bloc de données et du compteur, et comparaison du motif d'intégrité calculé avec le motif d'intégrité enregistré, le bloc de données étant déclaré intègre à condition que le motif d'intégrité calculé soit égal au motif d'intégrité enregistré ; - l'étape de contrôle de l'intégrité du compteur comporte les sous-étapes suivantes : calcul d'au moins une empreinte de compteur associée au compteur en fonction de la valeur dudit compteur, et comparaison de la ou chaque empreinte de compteur calculée avec une empreinte de compteur correspondante mémorisée dans la mémoire sécurisée, lorsqu'une telle empreinte de compteur mémorisée existe, ou, lorsqu'une telle empreinte de compteur mémorisée n'existe pas, avec une empreinte de compteur correspondante enregistrée dans la mémoire non sécurisée ; ledit procédé comprend, pour chaque empreinte de compteur enregistrée qui est comparée lors du contrôle d'intégrité à une empreinte de compteur calculée, une étape de mémorisation, dans une mémoire sécurisé, d'une empreinte de compteur mémorisée consistant en une copie de ladite empreinte de compteur enregistrée ; - un indicateur d'empreinte est associé à chaque empreinte de compteur mémorisée dans la mémoire sécurisée, ledit indicateur signalant si l'empreinte de compteur mémorisée présente une valeur différente ou non de celle de l'empreinte de compteur enregistrée correspondante ; - ledit procédé comprend les étapes suivantes : contrôle de l'indicateur d'empreinte associé à une empreinte de compteur mémorisée si ledit indicateur d'empreinte signale que l'empreinte de compteur mémorisée présente une valeur différente de celle de l'empreinte de compteur correspondante enregistrée dans la mémoire non sécurisée, remplacement de la valeur de ladite empreinte de compteur enregistrée par la valeur de ladite empreinte de compteur mémorisée, et effacement de l'empreinte de compteur mémorisée de la mémoire sécurisée ; - ledit procédé comprend les étapes suivantes : incrémentation du compteur mémorisé, calcul d'au moins une empreinte de compteur actualisée associée au compteur en fonction de la valeur incrémentée du compteur mémorisé, et mémorisation, dans la mémoire sécurisée, de la ou chaque empreinte de compteur actualisée, en remplacement de l'empreinte de compteur mémorisée correspondante lorsqu'une telle empreinte de compteur mémorisée existe ; - ledit procédé comprend une étape d'incrémentation d'un compteur d'empreinte mémorisé dans une mémoire sécurisée, l'empreinte de compteur actualisée associée au compteur étant calculée en fonction de la valeur incrémentée dudit compteur d'empreinte ; - une unique empreinte de compteur associée au compteur est calculée, et le compteur est déclaré intègre si et seulement si ladite empreinte de compteur calculée est égale à l'empreinte de compteur avec laquelle elle est comparée. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, dans lesquels : la Figure 1 est une vue schématique d'un système informatique adapté pour mettre en oeuvre un procédé selon l'invention, la Figure 2 illustre un procédé de génération d'un motif d'intégrité d'un bloc de données d'une mémoire non sécurisée du système informatique de la Figure 1, pour la sécurisation dudit bloc de données, la Figure 3 illustre un procédé génération d'une empreinte de compteur, pour la sécurisation d'un compteur associé à un bloc de données de la mémoire non sécurisée, la Figure 4 représente une adresse d'une donnée dans la mémoire non sécurisée, la Figure 5 est une vue schématique d'une mémoire cache du système informatique de la Figure 1, la Figure 6 est un diagramme synoptique illustrant un procédé d'accès à une information stockée dans une mémoire non sécurisée du système informatique de la Figure 1, et la Figure 7 est un diagramme synoptique illustrant un procédé de stockage d'une information dans la mémoire non sécurisée du système informatique de la Figure 1 Le système informatique 210, représenté sur la Figure 1, comprend un système 212 de traitement de données sécurisées et une mémoire externe 214 non sécurisée connectée au système 212. Le système de traitement 212 comprend une unité de calcul 216 et une unité d'interface 218 faisant l'interface entre l'unité de calcul 216 et la mémoire externe 214. L'unité d'interface 218 comprend un module 220 de gestion de l'intégrité et, optionnellement, du chiffrement des données, une première mémoire cache 222 sécurisée, une unité 224 de contrôle de la mémoire cache 222, et une unité 225 de contrôle de la mémoire externe 214. Le module de gestion 220 est adapté pour dialoguer avec l'unité de calcul 216, l'unité de contrôle 224, et l'unité de contrôle 224. L'unité de contrôle 224 est adaptée pour dialoguer avec le module de gestion 220 et le module de contrôle 225, et pour lire et écrire des données dans la mémoire externe 214 et dans la mémoire cache 222. L'unité de contrôle 225 est adaptée pour dialoguer avec le module de gestion 220 et le module de contrôle 224, et pour écrire et lire des données dans la mémoire externe 214. La mémoire externe 214 comprend une pluralité de pages (non représentées) stockant chacune des blocs de données W1 (avec I entier naturel compris entre 1 et n, n étant un entier naturel), des motifs d'intégrités IMI chacun associé à un bloc de données W1 correspondant, des compteurs globaux enregistrés GCk (avec k entier naturel compris entre 1 et m, m étant un entier naturel), et des empreintes de compteurs El (avec i entier naturel compris entre 0 et p, p étant un entier naturel). La mémoire cache 222 stocke des compteurs globaux mémorisés GC'k et des empreintes de compteurs mémorisées E'1. Le module de gestion 220 comprend une deuxième mémoire cache 221 sécurisée stockant des compteurs d'empreinte CE; (avec j entier naturel compris entre 1 et q, q étant un 10 entier naturel). Dans la suite, le qualificatif « mémorisé » qualifie les données stockées dans la première ou la deuxième mémoire sécurisée 221, 222, et le qualificatif « enregistrée » qualifie les données stockées dans la mémoire non sécurisée 214. Chaque compteur global GCk fait typiquement seize octets. Il comprend une 15 pluralité de compteurs mineurs chacun associé à un bloc de données W1...W1.7 correspondant, et un compteur majeur FMI,. Chaque compteur mineur r... r1+7 fait typiquement huit bits et est adapté pour être incrémenté à chaque accès en écriture au bloc de données W1.. .W1.7 associé. Le compteur majeur [-Mi( fait typiquement soixante-quatre bits et est adapté pour être incrémenté à chaque débordement de mémoire de l'un 20 des compteurs mineurs r... r+7. Le compteur global GCk permet ainsi de conserver un compte du nombre d'accès aux blocs de données W1...W1+7. Chaque bloc de données W1 stocke une information II (Figure 2). Cette information est présente sous forme chiffrée dans le bloc de données W1. Elle est en outre protégée en intégrité spatiale. Le procédé permettant d'obtenir le chiffrement de l'information II en 25 même temps que sa protection en intégrité spatiale est illustré sur la Figure 2. Comme visible sur la partie gauche de cette Figure, une première clé de chiffrement 226 est appliquée à l'information II avant son enregistrement dans le bloc de données W1, ladite clé de chiffrement 226 employant un premier vecteur d'initialisation VI contenant l'adresse @Wi du bloc de données W1 dans la mémoire externe 214 et le compteur mineur ri 30 associé au bloc de données W1. Chaque motif d'intégrité IMI contribue à la protection de l'intégrité de contenu et de l'intégrité temporelle de l'information II stockée dans le bloc de données W1. A cet effet, comme illustré sur la Figure 2, chaque motif d'intégrité IMI est calculé par application d'une deuxième clé de chiffrement 228 au bloc de données W1, ladite clé de chiffrement 35 228 employant un deuxième vecteur d'initialisation VI' contenant l'adresse @IMI du motif d'intégrité IM, dans la mémoire externe 214 et le compteur r, associé au bloc de données 1A/I. On notera que cet exemple de calcul des motifs d'intégrité IM, n'est pas restrictif. En variante, chaque motif d'intégrité est associé à plusieurs blocs de données, ledit motif d'intégrité étant obtenu à l'aide d'une fonction de hachage appliquée auxdits blocs de données préalablement concaténés. Les empreintes de compteurs enregistrées E, sont obtenues par application d'une fonction de hachage à un couple de compteurs globaux GCk, GCk.i. En particulier, comme représenté sur la Figure 3, chaque empreinte de compteur El est calculée par application d'une troisième clé de chiffrement 230 au couple des compteurs globaux GCk, GCk+i, préalablement concaténés, ladite clé de chiffrement 230 employant un troisième vecteur d'initialisation VI" contenant l'adresse @GCk du compteur global GCk dans la mémoire externe 214 et un compteur d'empreinte CE; associé à l'empreinte E. On notera que ce mode de calcul des empreintes de compteurs E, n'est pas limitatif. En variante, chaque empreinte de compteur El est obtenue par application d'une fonction de hachage à un unique compteur global GCk, ou à plus de deux compteurs globaux GCk. A chaque compteur global GCk est associée une unique empreinte E. En d'autres termes, chaque compteur global GCk est utilisé dans le calcul d'une unique empreinte E. Chaque compteur d'empreinte CEJ est associé à une pluralité d'empreintes E1, par exemple seize empreintes E,, et est adapté pour être incrémenté à chaque incrémentation d'un compteur global GCk utilisé dans le calcul de l'une des empreintes E, à laquelle il est associé. Chaque compteur d'empreinte CE; fait typiquement seize octets. En référence à la Figure 4, le module de contrôle 225 est adapté pour aller lire une donnée enregistrée à un emplacement prédéterminé de la mémoire 214, ou aller écrire une donnée audit emplacement, à condition de recevoir une adresse 240 identifiant ledit emplacement. Cette adresse est typiquement communiquée par l'unité de calcul 216. Elle comprend une balise 242, formée par les bits de poids fort, et un index 244, formé par des bits de poids plus faible. En référence à la Figure 5, la mémoire cache 222 comprend une pluralité de blocs mémoire 250, 252, 254, 256, 258, 260 organisés en trois sous-mémoires 262, 264, 266 distinctes, de telle sorte que chaque sous-mémoire 262, 264, 266 comprenne le même nombre de blocs mémoire 250, 252, 254, 256, 258, 260 que chaque autre sous-mémoire. Chaque bloc mémoire 250, 252, 254, 256, 258, 260 a typiquement une taille de trente-deux octets. Chaque sous-mémoire 262, 264, 266 a un nombre de voies X et une profondeur Y prédéterminés, le nombre de voies X de chaque sous-mémoire 262, 264, 266 étant égal au nombre de voies X de chaque autre sous-mémoire, et la profondeur Y de chaque sous-mémoire 262, 264, 266 étant égale à la profondeur Y de chaque autre sous- mémoire. L'emplacement de chaque bloc mémoire 250, 252, 254, 256, 258, 260 dans la sous-mémoire 262, 264, 266 correspondante est identifié au moyen de la voie à laquelle il appartient, et de sa profondeur dans ladite sous-mémoire 262, 264, 266. La mémoire cache 222 présente une capacité inférieure à la capacité nécessaire au stockage de toutes les empreintes de compteur E. L'unité de calcul 216 est programmée pour demander la transmission d'une information II enregistrée à un emplacement prédéterminé de la mémoire externe 214. A cet effet, l'unité de calcul 216 est programmée pour émettre une requête d'accès à ladite information II, comprenant l'adresse @WI correspondant audit emplacement, à destination du module de gestion 220. Le module de gestion 220 est programmé pour, sur réception d'une requête d'accès émise par l'unité de calcul 216, émettre à destination de l'unité de contrôle 225 une première requête de lecture du bloc de données W1 positionné à l'emplacement correspondant à l'adresse @WI, ladite requête de lecture comprenant ladite adresse @WI. Le module de gestion 220 est également programmé pour identifier les adresses @IM1, @GCk du motif d'intégrité IMI et du compteur global GCk associés audit bloc de données W1, ainsi que l'adresse @E; de l'empreinte de compteur de base Ei associée audit compteur global GCk. Le module de gestion 220 est programmé pour émettre à destination de l'unité de contrôle 224 une requête d'accès à un compteur global mémorisé GC'k correspondant au compteur global enregistré GCk, et à une empreinte de compteur mémorisée E'; correspondant à l'empreinte de compteur enregistrée Ei. Ladite requête d'accès comprend les adresses @GCk et @E; du compteur global enregistré GCk et de l'empreinte de compteur enregistrée Ei. L'unité de contrôle 224 est programmée pour, à la réception d'une requête d'accès émise par le module de gestion 220, consulter une première sous-mémoire 262 de la mémoire cache 222 pour voir si, dans l'un des blocs mémoires 254, 256 situés à une profondeur de la première sous-mémoire 262 correspondant à l'index de l'adresse @GCk ou @E; contenue dans ladite requête, est mémorisée la balise de ladite adresse @GCk, @E,. L'unité de contrôle 224 est également programmée pour : - en cas de correspondance entre le contenu de l'un des blocs mémoires 254, 256 et la balise de l'adresse @GCk ou @E' lire un bloc mémoire 250, 252 situé à un emplacement correspondant d'une deuxième sous-mémoire 264 de la mémoire cache 222, et retourner le contenu dudit bloc mémoire 250, 252 au module de gestion 220, et en cas de non-correspondance entre la balise de l'adresse @GCk, @E; et le contenu de chacun des blocs mémoires 254, 256 positionnés à ladite profondeur, émettre à destination de l'unité de contrôle 225 une deuxième requête de lecture de la donnée enregistrée positionnée dans la mémoire externe 214 à l'emplacement correspondant à l'adresse, puis, après lecture de ladite donnée dans la mémoire externe 214 par l'unité 225 et transmission de cette donnée à l'unité 224, mémoriser une copie de la donnée dans la mémoire cache 222 et la transmettre au module de gestion 220. Pour mémoriser une copie de donnée dans la mémoire cache 222, l'unité de contrôle 224 est programmée pour identifier, à la profondeur de la deuxième sous-mémoire 264 correspondant à l'index de l'adresse @GCk, @EI dans la mémoire externe 214 dudit compteur global GCk, respectivement de ladite empreinte de compteur El, un bloc mémoire vide, et pour stocker ladite copie dans ledit bloc mémoire. L'unité de contrôle 224 est également programmée pour stocker la balise de l'adresse @GCk, @E; dans le bloc mémoire correspondant de la première sous-mémoire 262. L'unité de contrôle 224 est programmée pour, en cas d'occupation de tous les blocs mémoires 250, 252 disposés à la profondeur de la deuxième sous-mémoire 264 correspondant à l'index de l'adresse @GCk, @E' enregistrer la copie dans un bloc mémoire aléatoire parmi lesdits blocs mémoires 250, 252. En variante, l'unité de contrôle 224 est programmée pour enregistrer la copie dans celui des blocs mémoires 250, 252 dont l'utilisation remonte au plus longtemps. L'unité de contrôle 224 est également programmée pour, préalablement à l'enregistrement de la copie dans un bloc mémoire 250, 252 occupé, contrôler que la valeur de la donnée GC'kIGC'k,,i, Ei mémorisée dans ledit bloc mémoire 250, 252 est égale à la valeur de la donnée enregistrée GCkIGCk+i, E1 correspondante dans la mémoire externe 214. A cet effet, l'unité de contrôle 224 est programmée pour contrôler l'état d'un bit de contrôle stocké dans le bloc mémoire correspondant 258, 260 de la troisième sous- mémoire 266 et, selon l'état dudit bit de contrôle, en déduire si la valeur de la donnée mémorisée GC'k1GC'k,i, E'i est égale ou non à la valeur de la donnée enregistrée GCkIGCk.i, E, correspondante. L'unité de contrôle 224 est programmée pour, en cas de différence de valeurs entre la donnée mémorisée GC'kiGC'k+i, E'l et la donnée enregistrée GCkIGCk+1, El correspondante, commander l'enregistrement de la valeur de la donnée mémorisée GC'dGC'k,i, E'1 dans la mémoire externe 214 en remplacement de la valeur de la donnée enregistrée GCkIGCk+i, Ei. Le module de gestion 220 est programmé pour, à la réception du compteur global enregistré GCk correspondant à un bloc de données Wl, contrôler l'intégrité dudit compteur global enregistré GCk. A cet effet, le module de gestion 220 est programmé pour calculer la valeur d'une empreinte de compteur calculée Eci (Figure 6) associée au compteur global enregistré GCk, par application de la clé de chiffrage 230 utilisant le vecteur d'initialisation VI" au couple de compteurs globaux formé par le compteur global enregistré GCk et un compteur global enregistré adjacent GCk.i, et pour comparer ladite valeur calculée Ec, à la valeur de l'empreinte de compteur mémorisée E', correspondante ou, en l'absence d'empreinte de compteur de base mémorisée, à la valeur de l'empreinte de compteur de base enregistrée E, correspondante. Le module de gestion 220 est programmé pour déclarer le compteur global enregistré GCk intègre lorsque la valeur de l'empreinte de compteur de base calculée Eci est égale à la valeur de l'empreinte de compteur mémorisée E', ou à la valeur de l'empreinte de compteur enregistrée El, et pour envoyer un message d'erreur à l'unité de calcul 16 lorsque la valeur de l'empreinte de compteur de base calculée Eci est différente de la valeur de l'empreinte de compteur mémorisée E'; ou de la valeur de l'empreinte de compteur enregistrée E. Le module de gestion 220 est programmé pour, lorsque le compteur global enregistré GCk associé au bloc de données W, est déclaré intègre, ou lorsqu'un compteur global mémorisé GC'k correspondant audit compteur global enregistré GCk existe, contrôler l'intégrité du bloc de données W1. A cet effet, le module de gestion 220 est programmé pour calculer une valeur d'un motif d'intégrité calculé IN/lc, (Figure 6) du bloc de données Wi, par application de la clé de chiffrage 228 utilisant le vecteur d'initialisation VI' au bloc de données W1, pour comparer la valeur du motif d'intégrité calculé 'Mc, à la valeur du motif d'intégrité enregistré IW et pour déclarer le bloc de données W, intègre si et seulement si la valeur du motif d'intégrité calculé 11\Ac1 est égale à la valeur du motif d'intégrité enregistré Le module de gestion 220 est également programmé pour déchiffrer ledit bloc de données W1 pour en extraire l'information l correspondante. A cet effet, le module de gestion 220 est adapté pour appliquer la clé de chiffrement 226 au bloc de données en utilisant le vecteur d'initialisation VI, pour déchiffrer le bloc de données Le module de gestion 220 est programmé pour transmettre l'information l à l'unité de calcul 216 si et seulement si le bloc de données W, a été déclaré intègre. Le module de gestion 220 est programmé pour transmettre un message d'erreur à l'unité de calcul 216 dans tous les autres cas. De plus, le module de gestion 220 est programmé pour, pour chaque information transmise par l'unité de calcul 216 et enregistrée dans la mémoire 214: commander l'incrémentation du compteur global mémorisé GC'k associé à ladite information II, commander l'incrémentation du compteur d'empreinte CE i associé à l'empreinte E, dudit compteur global mémorisé GC'k, calculer un motif d'intégrité actualisé du bloc de données W1 où est stockée l'information II en fonction de la nouvelle valeur dudit compteur global mémorisé GC'k, et calculer une empreinte actualisée dudit compteur global mémorisé GC'k en fonction de la nouvelle valeur dudit compteur global mémorisé GC'k, par application de la clé de chiffrage 230 utilisant le vecteur d'initialisation VI", contenant le compteur d'empreinte CE, incrémenté, au couple de compteurs globaux formé par le compteur global mémorisé GC'k et le compteur global adjacent mémorisé GC'k.i. Enfin, le module de gestion 220 est programmé pour commander à l'unité de contrôle 225 l'enregistrement du motif d'intégrité actualisé en remplacement du motif d'intégrité enregistré IM, correspondant, et commander la mémorisation des nouvelles valeurs du compteur global mémorisé GC'k et du compteur d'empreinte CE, à l'unité de contrôle 224, ainsi que l'enregistrement de l'empreinte de compteur actualisée en remplacement de l'empreinte de compteur mémorisée E', correspondante. A cet effet, le module de gestion 220 est programmé pour transmettre à l'unité de contrôle 225 une première requête en écriture comprenant l'adresse @IMI du motif d'intégrité IMI à remplacer et la valeur du motif d'intégrité actualisé, et pour transmettre à l'unité de contrôle 224 une pluralité de deuxièmes requêtes en écriture comprenant chacune l'adresse @GCk du compteur global incrémenté, respectivement l'adresse du compteur d'empreinte CE,, respectivement l'adresse @E, de l'empreinte mémorisée E', à remplacer, accompagnée de la nouvelle valeur dudit compteur global mémorisé GC'k, respectivement de la nouvelle valeur dudit compteur d'empreinte CE,, respectivement de la valeur de l'empreinte actualisée. Pour chaque deuxième requête en écriture reçues, l'unité de contrôle 224 est programmée pour entrer la nouvelle valeur comprise dans ladite requête dans le bloc mémoire 250, 252 de la deuxième sous-mémoire 264 de la mémoire cache 222 correspondant à l'adresse contenue dans ladite requête. L'unité de contrôle 224 est également programmée pour simultanément modifier la valeur du bit de contrôle stocké dans le bloc mémoire correspondant 258, 260 de la troisième sous-mémoire 266 pour qu'il indique que la donnée mémorisée GC'k, E', dans ledit bloc mémoire 250, 252 est différente de la donnée enregistrée GCk, E1 correspondante. Un procédé 300 d'accès à une information II stockée dans la mémoire externe 214 va maintenant être décrit, en référence à la Figure 6. Tout d'abord, lors d'une étape initiale 302, l'unité de calcul 216 émet une requête d'accès à l'information I. Cette requête d'accès comprend l'adresse @WI du bloc de données W1 contenant l'information I. La requête d'accès est reçue par le module de gestion 220. Celui-ci transmet à l'unité de contrôle 225, lors d'une étape 304, une première requête de lecture du bloc de données W1 positionné à l'emplacement correspondant à l'adresse @WI, ainsi que du motif d'intégrité IMI associé audit bloc de données W1. La première requête est reçue par l'unité de contrôle 225. Celle-ci lit le bloc de données W1, et le motif d'intégrité IMI et, lors d'une étape 306, transmet leurs valeurs au module de gestion 220. Dans le même temps, le module de gestion 220 identifie l'adresse @GCk du compteur global enregistré GCk associé au bloc de données W1, ainsi que l'adresse @E; de l'empreinte de compteur enregistrée Ei associée audit compteur GCk. Il transmet au module de contrôle 224, lors d'une étape 310, une requête d'accès à un compteur global mémorisé GC'k et à une empreinte de compteur mémorisée E'; correspondant respectivement audit compteur global enregistré GCk et à ladite empreinte de compteur enregistrée E,. Cette requête d'accès comprend les adresses @GCk et @E,. Ladite requête est reçue par l'unité de contrôle 224. Lors d'étapes 312 et 314, pour chaque adresse @GCk, @E; de la requête, l'unité de contrôle 224 consulte une première sous-mémoire 262 de la mémoire cache 222 pour voir si, dans l'un des blocs mémoires 254, 256 situés à une profondeur de la première sous-mémoire 262 correspondant à l'index de ladite adresse @GCk, @E; est mémorisée la balise de ladite adresse puis, en cas de correspondance entre le contenu de l'un des blocs mémoires 254, 256 et la balise de l'adresse, l'unité de contrôle 224 lit un bloc mémoire 250, 252 situé à un emplacement correspondant d'une deuxième sous-mémoire 264 de la mémoire cache 222, et retourne le contenu dudit bloc mémoire 250, 252 au module de gestion 220. En cas de non-correspondance entre la balise de l'adresse @GCk et le contenu de chacun des blocs mémoires 254, 256 positionnés à ladite profondeur : lors d'une étape 316, l'unité de contrôle 224 émet, à destination de l'unité de contrôle 225, une troisième requête de lecture de la donnée enregistrée positionnée dans la mémoire externe 214 à l'emplacement correspondant à l'adresse @GCk, la troisième requête étant reçue par l'unité de contrôle 225, celle-ci lit la donnée enregistrée à l'adresse @GCk dans la mémoire externe 214, constituée en l'occurrence par l'association du compteur global enregistré GCk et d'un compteur global enregistré adjacent GCk+i, et transmet les valeurs du compteur global enregistré GCk et du compteur global enregistré adjacent GCk+i au module de gestion 220 et à l'unité de contrôle 224 lors d'une étape 317, puis l'unité de contrôle 224 mémorise une copie du compteur global enregistré GCk et du compteur global enregistré adjacent GCk+i dans la mémoire cache 222, lors d'une étape 318, et finalement, lors d'une étape 319, le module de gestion 220 contrôle l'intégrité du compteur global enregistré GCk. En cas de non-correspondance entre la balise de l'adresse @E, et le contenu de chacun des blocs mémoires 254, 256 positionnés à ladite profondeur : - lors d'une étape 320, l'unité de contrôle 224 émet, à destination de l'unité de contrôle 225, une quatrième requête de lecture de la donnée enregistrée positionnée dans la mémoire externe 214 à l'emplacement correspondant à l'adresse @E,, la quatrième requête étant reçue par l'unité de contrôle 225, celle-ci lit la donnée enregistrée à l'adresse @E; dans la mémoire externe 214, constituée en l'occurrence par l'empreinte de compteur enregistrée E' et transmet la valeur de l'empreinte de compteur enregistrée Ei au module de gestion 220 et à l'unité de contrôle 224 lors d'une étape 321, puis l'unité de contrôle 224 mémorise une copie de l'empreinte de compteur enregistrée Ei dans la mémoire cache 222, lors d'une étape 322. Les étapes de mémorisation 318 et 322 comprennent les sous-étapes suivantes : recherche d'un bloc mémoire 250, 252 libre disposé à la profondeur de la deuxième sous-mémoire 264 correspondant à l'index de l'adresse @GCk, @Eh en cas d'identification d'un bloc mémoire 250, 252 libre, stockage de la copie des compteurs globaux enregistrés GCk, GCk+i, respectivement de la copie de l'empreinte de compteur enregistrée El, dans ce bloc mémoire 250, 252, la balise de l'adresse @GCk, respectivement @E,, étant stockée dans un bloc mémoire 254, 256 situé à un emplacement correspondant de la première sous-mémoire 262 de la mémoire cache 222, en cas d'occupation de tous les blocs mémoires 250, 252 disposés à ladite profondeur : o sélection d'un bloc mémoire aléatoire parmi lesdits blocs mémoires 250, 252, ou dans celui des blocs mémoires 250, 252 dont l'utilisation remonte au plus longtemps, o contrôle que la valeur de la donnée GC'kIGC'k+i, E'l mémorisée dans le bloc mémoire 250, 252 sélectionné est égale à la valeur de la donnée enregistrée GCkIGCk.i, El correspondante dans la mémoire externe 214; à cet effet, l'unité de contrôle 224 contrôle l'état d'un bit de contrôle stocké dans le bloc mémoire correspondant 258, 260 de la troisième sous-mémoire 266 et, selon l'état dudit bit de contrôle, en déduit si la valeur de la donnée mémorisée GC'kIGC'k+i, E', est égale ou non à la valeur de la donnée enregistrée GCkIGCk+i, Ei correspondante, o en cas de différence de valeurs entre la donnée mémorisée E', et la donnée enregistrée GCkIGCk+i, E, correspondante, copie de la valeur de la donnée mémorisée E', dans la mémoire externe 214 en remplacement de la valeur de la donnée enregistrée GCkIGCk+1, E, correspondante, et o stockage de la copie des compteurs globaux enregistrés GCk, GCk+i, respectivement de la copie de l'empreinte de compteur enregistrée Ei, dans le bloc mémoire sélectionné, la balise de l'adresse @GCk, respectivement @Ei, étant stockée dans un bloc mémoire 254, 256 situé à un emplacement correspondant de la première sous-mémoire 262 de la mémoire cache 222. L'étape de contrôle d'intégrité 319 comprend les sous-étapes suivantes : calcul, lors d'une étape 324, de la valeur d'une empreinte de compteur calculée Eci associée audit compteur GCk, par application de la clé de chiffrage 230 utilisant le vecteur d'initialisation VI", contenant le compteur d'empreinte CE, sur le résultat de la concaténation des compteurs globaux GCk et GCk+i, puis comparaison de ladite valeur calculée Eci à la valeur de l'empreinte de compteur mémorisée E'; correspondante lors d'une étape 326 ou, si une telle empreinte de compteur mémorisée E'; n'existe pas, à l'empreinte de compteur enregistrée Ei correspondante, lors d'une étape 327, le compteur global enregistré GCk étant déclaré intègre en cas d'égalité des valeurs, et . 15 - en cas de différence entre les valeurs, envoi d'un message d'erreur à l'unité de calcul 216, lors d'une étape 328. Lorsque le compteur global enregistré GCk associé au bloc de données W1 a été déclaré intègre lors de l'étape 319, ou lorsqu'un compteur global mémorisé GC'k associé au bloc de données W1 a été identifié lors de l'étape 312, le module de gestion 220 déchiffre, lors d'une étape 330, le bloc de données W1. A cet effet, il applique la clé de chiffrement 226 au bloc de données W1, en utilisant le vecteur d'initialisation VI. Ensuite, lors d'une étape 332, le module de gestion 220 contrôle l'intégrité du bloc de données W1. A cet effet, le module de gestion 220 calcule, lors d'une sous-étape 334, un motif d'intégrité IMc, du bloc de données W1, par application de la clé de chiffrage 228 utilisant le vecteur d'initialisation VI' au bloc de données W1. Puis, lors d'une étape 338, le module de gestion 220 compare la valeur du motif d'intégrité calculé INe, à la valeur du motif d'intégrité enregistré IMI et, en cas d'égalité des valeurs, déclare le bloc de données W, intègre. Lorsque le bloc de données W1 est déclaré intègre, le module de gestion 220 transmet l'information II à l'unité de calcul 216 lors d'une étape 340. Dans tous les autres cas, le module de gestion 220 exécute une étape 342 d'envoi d'un message d'erreur à l'unité de calcul 216. Un procédé 400 de stockage d'une information II dans la mémoire externe 214 va maintenant être décrit, en référence à la Figure 7. Tout d'abord, lors d'une étape initiale 402, l'unité de calcul 216 émet une requête d'écriture de l'information II. Cette requête d'accès comprend l'information II et l'adresse @WI du bloc de données «dans lequel inscrire l'information I. La requête d'accès est reçue par le module de gestion 220. Celui-ci identifie l'adresse @GCk du compteur global enregistré GCk associé au bloc de données W1, ainsi que l'adresse @EI de l'empreinte de compteur enregistrée E1 associée audit compteur GCk. Il transmet au module de contrôle 224, lors d'une étape 410, une requête d'accès à un compteur global mémorisé GC'k et à une empreinte de compteur mémorisée E', correspondant respectivement audit compteur global enregistré GCk et à ladite empreinte de compteur enregistrée E. Cette requête d'accès comprend les adresses @GCk et @E,. Ladite requête est reçue par l'unité de contrôle 224. Lors d'étapes 412 et 414, pour chaque adresse @GCk, @E, de la requête, l'unité de contrôle 224 consulte une première sous-mémoire 262 de la mémoire cache 222 pour voir si, dans l'un des blocs mémoires 254, 256 situés à une profondeur de la première sous-mémoire 262 correspondant à l'index de ladite adresse @GCk, @E, est mémorisée la balise de ladite adresse puis, en cas de correspondance entre le contenu de l'un des blocs mémoires 254, 256 et la balise de l'adresse, l'unité de contrôle 224 lit un bloc mémoire 250, 252 situé à un emplacement correspondant d'une deuxième sous-mémoire 264 de la mémoire cache 222, et retourne le contenu dudit bloc mémoire 250, 252 au module de gestion 220. En cas de non-correspondance entre la balise de l'adresse @GCk et le contenu de chacun des blocs mémoires 254, 256 positionnés à la profondeur de la première sous- mémoire 262 correspondant à l'index de ladite adresse @GCk, des étapes 416, 417, 418, 419, identiques respectivement aux étapes 316, 317, 318 et 319 du procédé d'accès 300, sont mises en oeuvre. En cas de non-correspondance entre la balise de l'adresse @E1 et le contenu de chacun des blocs mémoires 254, 256 positionnés à la profondeur de la première sous- mémoire 262 correspondant à l'index de ladite adresse @Ei, des étapes 420, 421, 422, identiques respectivement aux étapes 320, 321, 322 du procédé d'accès 300, sont mises en oeuvre. Lorsque le compteur global enregistré GCk associé au bloc de données W1 a été déclaré intègre lors de l'étape 419, ou lorsqu'un compteur global mémorisé GC'k associé au bloc de données Wla été identifié lors de l'étape 412, le module de gestion 220: commande, lors d'une étape 424, l'incrémentation du compteur global mémorisé GC'k, celui-ci étant constitué par le compteur identifié lors de l'étape 412 ou par la copie mémorisée lors de l'étape 418, et l'incrémentation du compteur CE, de l'empreinte E'; dudit compteur GC'k, la nouvelle valeur du compteur d'empreinte CE; étant ensuite mémorisée dans la mémoire 221, et calcule, lors d'une étape 426, une empreinte de compteur E'; actualisée fonction de la valeur incrémentée du compteur global mémorisé CG'k et de la valeur incrémentée du compteur d'empreinte CE,. Le module de gestion 220 commande ensuite à l'unité de contrôle 224, lors d'une étape 428, la mémorisation des nouvelles valeurs du compteur global mémorisé GC'k et de l'empreinte de compteur actualisée E'1. A cet effet, le module de gestion 220 transmet à l'unité de contrôle 224 une requête en écriture comprenant l'adresse @GCk du compteur global incrémenté et l'adresse @E, de l'empreinte E', actualisée, accompagnées respectivement de la nouvelle valeur dudit compteur global mémorisé GC'k et de la valeur de l'empreinte E'; actualisée. Chaque requête en écriture est reçue par l'unité de contrôle 224, qui entre les nouvelles valeurs comprise dans la requête dans les blocs mémoires 250, 252 de la deuxième sous-mémoire 264 de la mémoire cache 222 correspondant aux adresses contenues dans ladite requête. Simultanément, l'unité de contrôle 224 modifie la valeur des bits de contrôle stockés dans les blocs mémoire correspondant 258, 260 de la troisième sous- mémoire 266 pour qu'ils indiquent que les données GC'k, E', mémorisées dans lesdits blocs mémoire 250, 252 sont différentes des données enregistrées GCk, E, correspondantes. Dans le même temps, lors d'une étape 430, le module de gestion 220 chiffre l'information I de façon à obtenir un nouveau bloc de données W1. A cet effet, le module de gestion 220 applique la clé de chiffrement 226 au bloc de données W1 en utilisant le premier vecteur d'initialisation VI, le vecteur d'initialisation VI contenant la valeur incrémentée du compteur mineur FI. Puis, lors d'une étape 432, le module de gestion 220 calcule le motif d'intégrité IMI du nouveau bloc de données W1. A cet effet, il applique la deuxième clé de chiffrement 228 au nouveau bloc de données W, en employant le deuxième vecteur d'initialisation VI', le vecteur d'initialisation VI' contenant la valeur incrémentée du compteur mineur ri. Enfin, lors d'une étape 434, le module de gestion 220 commande à l'unité de contrôle 225 l'enregistrement du nouveau bloc de données W, et du motif d'intégrité IMI associé dans la mémoire externe 214. A cet effet, le module de gestion 220 transmet à l'unité de contrôle 225 une requête en écriture comprenant l'adresse @W, où enregistrer le nouveau bloc de données W, et l'adresse @IM, où enregistrer le nouveau motif d'intégrité IMI, accompagnées respectivement du nouveau bloc de données W, et du nouveau motif d'intégrité IMI. Chaque requête en écriture est reçue par l'unité de contrôle 225, qui enregistre le nouveau bloc de données W, et le nouveau motif d'intégrité IM, à des emplacements de la mémoire externe 214 correspondant aux adresses contenues dans ladite requête, en remplacement des données précédemment inscrites à ces emplacements. Lorsque la mémoire cache 222 est saturée, le module de gestion 220 commande l'éviction des lignes de cache de la mémoire cache 222. A cet effet, le module de gestion 220 émet une requête d'éviction à destination de l'unité de contrôle 224. Lorsque l'unité de contrôle 224 reçoit cette requête, elle contrôle, pour chaque donnée GC'kIGC'k+i, E'l mémorisée dans un bloc mémoire 250, 252 de la deuxième sous-mémoire 264 de la mémoire cache, l'état d'un bit de contrôle stocké dans le bloc mémoire correspondant 258, 260 de la troisième sous-mémoire 266, et : si l'état du bit de contrôle indique que la valeur de la donnée mémorisée E'l est égale à la valeur de la donnée enregistrée GCkIGCk+1, E, correspondante, elle efface la donnée mémorisée GC'kIGC'k+i, E'1, ou si l'état du bit de contrôle indique que la valeur de la donnée mémorisée GC'kIGC'k+1, E'l est différente de la valeur de la donnée enregistrée GCkIGCk.i, E, correspondante, elle commande à l'unité de contrôle 225 l'enregistrement d'une copie de la donnée mémorisée GC'kiGClk+1, E', dans la mémoire externe 214, à l'emplacement correspondant à l'adresse ayant pour index la profondeur du bloc mémoire 250, 252 et pour balise la balise mémorisée dans le bloc mémoire 254, 256 correspondant de la première sous-mémoire 262, puis efface la donnée mémorisée GC'kIGC'k,i, E'1. On comprend aisément que l'invention décrite ci-dessus permet d'empêcher les attaques par rejeu, dans la mesure où, si un attaquant tentait de rejouer une donnée en remplaçant un compteur global GCk et l'empreinte associée El par leurs valeurs antérieures respectives, le module de gestion 220 calculerait une empreinte calculé Eci nécessairement différente de l'empreinte rejouée E,, puisqu'il utiliserait pour ce faire un vecteur d'initialisation VI" différent du vecteur d'initialisation utilisé lors du calcul de l'empreinte rejouée Ei, du fait que le compteur d'empreinte CEi aurait entre-temps changé de valeur. En outre, cette invention est économique en capacité de mémoire sécurisée, dans la mesure où seuls les compteurs d'empreinte CEJ, qui emploient moins de bits que les empreintes E1, doivent être conservés en permanence dans la mémoire sécurisée 221. Enfin, grâce à cette invention, il n'est pas nécessaire d'aller rechercher à plusieurs reprises dans la mémoire externe 214 des données nécessaires au contrôle de l'intégrité d'un même compteur global GCk. Les accès à la mémoire externe 214 sont ainsi réduits, et donc le système peu ralenti. REVENDICATIONS1.- Procédé (300, 400) d'accès à des informations (II) stockées de manière sécurisée dans des blocs de données (W1) d'une mémoire non sécurisée (214), à chaque bloc de données (W1) étant associé un compteur (GCk) enregistré dans la mémoire non sécurisée (214), ledit compteur (GCk) étant adapté pour être incrémenté à chaque écriture dudit bloc de données (W1), caractérisé en ce que le procédé comprend les étapes suivantes : lecture, dans la mémoire non sécurisée (214), d'un compteur enregistré (GCk) associé à un bloc de données (W1) auquel il est accédé, contrôle de l'intégrité du compteur (GCk), et mémorisation (318, 418), dans une mémoire sécurisée (222), d'un compteur mémorisé (GC'k) consistant en une copie dudit compteur enregistré (GCk). 2.- Procédé (300, 400) selon la revendication 1, dans lequel un indicateur de compteur (258) est associé au ou à chaque compteur mémorisé (GC'k), ledit indicateur (258) signalant si le compteur mémorisé (GC'k) présente une valeur différente ou non de celle du compteur correspondant (GCk) enregistré dans la mémoire non sécurisée (214). 3.- Procédé (300, 400) selon la revendication 2, comprenant les étapes suivantes : - contrôle de l'indicateur de compteur (258) associé à un compteur mémorisé (GC'k), si ledit indicateur de compteur (258) signale que le compteur mémorisé (GC'k) présente une valeur différente de celle du compteur correspondant (GCk) enregistré dans la mémoire non sécurisée (214), remplacement de la valeur dudit compteur enregistré (GCk) par la valeur dudit compteur mémorisé (CG1k), et - effacement du compteur mémorisé (GC'k) de la mémoire sécurisée (222). 4.- Procédé (300, 400) selon l'une quelconque des revendications précédentes, dans lequel l'adresse (240, @GCk) de chaque compteur (GCk) enregistré dans la mémoire non sécurisée (214) comprend un premier bloc d'adresse (244) et un deuxième bloc d'adresse (242,TR(GCk)), au premier bloc d'adresse (244) étant associée une pluralité de premiers espaces de stockage (250) de la mémoire sécurisée (222), et, lors de l'étape de mémorisation, la valeur du compteur enregistré (GCk) est mémorisée dans l'un desdits premiers espaces de stockage (250), le deuxième bloc d'adresse (242, TR(GCk)) étant mémorisé dans un deuxième espace de stockage (256) de la mémoire sécurisée (222), associé au premier espace de stockage (250) où est stocké le compteur mémorisé (GC'k). 5.- Procédé (300, 400) selon l'une quelconque des revendications précédentes, dans lequel la mémoire sécurisée (222) présente une capacité inférieure à la capacité nécessaire au stockage de tous les compteurs enregistrés (GCk). 6.- Procédé (300) selon l'une quelconque des revendications précédentes, dans lequel à chaque bloc de données (W1) est associé un motif (IN/11) d'intégrité du bloc de données (W,), enregistré dans la mémoire non sécurisée (214), la valeur dudit motif d'intégrité (IMI) dépendant de la valeur du compteur (GCk) associé audit bloc de données (W,), le procédé (300, 400) comprenant les étapes suivantes : calcul (336) d'un motif d'intégrité calculé (1Mc1) du bloc de données (W1), à partir du bloc de données (W1) et du compteur (GCk), et comparaison (338) du motif d'intégrité calculé (1Mcl) avec le motif d'intégrité enregistré (1M1), le bloc de données (W1) étant déclaré intègre à condition que le motif d'intégrité calculé (1Mci) soit égal au motif d'intégrité enregistré (IM1). 7.- Procédé (300, 400) selon l'une quelconque des revendications précédentes, dans lequel l'étape de contrôle de l'intégrité du compteur (GCk) comporte les sous-étapes suivantes : calcul (324) d'au moins une empreinte de compteur (E,c) associée au compteur (GCk) en fonction de la valeur dudit compteur (GCk), et comparaison (326, 327) de la ou chaque empreinte de compteur calculée (Eic) avec une empreinte de compteur correspondante (E'1) mémorisée dans la mémoire sécurisée (222), lorsqu'une telle empreinte de compteur mémorisée (E',) existe, ou, lorsqu'une telle empreinte de compteur mémorisée (E'1) n'existe pas, avec une empreinte de compteur correspondante (E1) enregistrée dans la mémoire non sécurisée (214). 8.- Procédé (300, 400) selon la revendication 7, comprenant, pour chaque empreinte de compteur enregistrée (E,) qui est comparée lors du contrôle d'intégrité à une empreinte de compteur calculée (Ec,), une étape (322, 422) de mémorisation, dans une mémoire sécurisé (221), d'une empreinte de compteur mémorisée (E'1) consistant en une copie de ladite empreinte de compteur enregistrée (E,). 9.- Procédé (300, 400) selon la revendication 8, dans lequel un indicateur d'empreinte (260) est associé à chaque empreinte de compteur (E'1) mémorisée dans la mémoire sécurisée (222), ledit indicateur (260) signalant si l'empreinte de compteur mémorisée (E'1) présente une valeur différente ou non de celle de l'empreinte de compteur enregistrée (E) correspondante. 10.- Procédé (300, 400) selon la revendication 9, comprenant les étapes suivantes : contrôle de l'indicateur d'empreinte (260) associé à une empreinte de compteur mémorisée (E'1) si ledit indicateur d'empreinte (260) signale que l'empreinte de compteur mémorisée (E',) présente une valeur différente de celle de l'empreinte de compteur correspondante (E1) enregistrée dans la mémoire non sécurisée (214), remplacement de la valeur de ladite empreinte de compteur enregistrée (E1) par la valeur de ladite empreinte de compteur mémorisée (E',), et effacement de l'empreinte de compteur mémorisée (E',) de la mémoire sécurisée (222). 11.- Procédé (400) selon l'une quelconque des revendications 7 à 10, comprenant les étapes suivantes : incrémentation (424) du compteur mémorisé (GCrk), calcul (426) d'au moins une empreinte de compteur actualisée associée au compteur (GCk) en fonction de la valeur incrémentée du compteur mémorisé (GC'k), et mémorisation (428), dans la mémoire sécurisée (222), de la ou chaque empreinte de compteur actualisée, en remplacement de l'empreinte de compteur mémorisée (E'1) correspondante lorsqu'une telle empreinte de compteur mémorisée existe. 12.- Procédé (400) selon la revendication 11, comprenant une étape (424) d'incrémentation d'un compteur d'empreinte (CE,) mémorisé dans une mémoire sécurisée (221), l'empreinte de compteur actualisée associée au compteur (GCk) étant calculée en fonction de la valeur incrémentée dudit compteur d'empreinte (CE,). 13.- Procédé (300, 400) selon l'une quelconque des revendications 7 à 12, dans lequel une unique empreinte de compteur (Ec,) associée au compteur (GCk) est calculée, et le compteur (GCk) est déclaré intègre si et seulement si ladite empreinte de compteur calculée (Ec,) est égale à l'empreinte de compteur (Eh EI) avec laquelle elle est comparée.30