Brevet FR2787216A1 — publié le 20000616

Titre: Procédé de stockage et d'exploitation d'unités d'information dans un module de sécurité, et module de sécurité associé L'invention concerne un procédé de stockage et d'exploitation d'unités d'information dans un module de sécurité. Le terme "module de sécurité" doit être pris, soit dans son sens classique dans lequel il désigne un dispositif ayant vocation, dans un réseau de communication ou d'information, à être détenu par un organisme supervisant le réseau et à stocker de façon protégée des paramètres secrets et fondamentaux du réseau tels que des clés cryptographiques, soit comme désignant plus simplement un dispositif attribué à divers usagers du réseau et permettant à chacun d'eux d'avoir accès à celui-ci, ce dernier dispositif étant lui aussi susceptible de détenir des paramètres secrets. Le module de sécurité pourra prendre la forme d'un objet portatif du type carte à puce. On sait qu'un fraudeur est susceptible de lire ou d'altérer des informations contenues dans des moyens de stockage d'information, notamment dans des mémoires de puces électroniques, en utilisant selon les cas un microscope électronique ou des moyens de production de rayonnements. Toutefois, pour être efficace, il lui faut non seulement accéder aux informations stockées, mais aussi identifier la fonction de ces informations dans le fonctionnement du module de sécurité. Dans la technique connue, les informations sont stockées en bloc dans les moyens de stockage, à des emplacements dédiés et immuables. Il s'ensuit qu'un fraudeur est capable dans certains cas de repérer la présence d'une information toujours la même à un endroit donné, et de rattacher cette information à une fonction particulière. Il peut alors influer en connaissance de cause sur le déroulement du processus du module de sécurité. Le but principal de l'invention est de proposer un procédé de stockage d'informations permettant de rendre beaucoup plus difficile le repérage de la fonction attribuée à chacune des informations stockées. du IU L'invention concerne à cet effet un procédé de stockage d'informations dans des moyens de stockage d'information d'un module de sécurité, qui comprend les étapes consistant à définir, dans les moyens de stockage, une première zone mémoire destinée à stocker des unités d'information ayant une taille inférieure à une taille desdites informations, affecter aux unités d'information des adresses logiques définissant leur position dans la première zone mémoire avant dispersion de ces unités d'information, définir, dans les moyens de stockage, une seconde zone mémoire destinée à stocker des adresses physiques de ces unités d'information définissant leur position dans la première zone mémoire après dispersion de ces unités d'information, stocker les adresses physiques des unités d'information dans la seconde zone mémoire en une position qui est fonction de leurs adresses logiques respectives, et stocker les unités d'information dans la première zone mémoire en lisant leur adresse physique dans la seconde zone mémoire. Ainsi, les informations se trouvent être dispersées par morceaux dans les moyens de stockage, ce qui empêche en pratique leur repérage. Des perfectionnements, exposés dans le présent document, permettent en outre de protéger encore davantage les informations stockées. L'invention concerne aussi un procédé d'exploitation et un module de sécurité correspondants. D'autres détails et avantages de la présente invention apparaîtront au cours de la description suivante, d'un mode d'exécution préféré mais non limitatif, en regard des dessins annexés sur lesquels: La figure 1 représente un dispositif de traitement de données coopérant avec un module de sécurité; La figure 2 représente une variante de module de sécurité; La figure 3 représente une mémoire volatile d'un module de sécurité, incorporant deux zones mémoire particulières, constituant respectivement une mémoire RAM sécurisée et une matrice de dispersion; lrmi i i La figure 4 représente la mémoire de la figure 3, après dispersion des unités d'information de la mémoire RAM sécurisée 41; La figure 5 est une variante de la figure 4, o les unités d'information occupent chacune une seule cellule de mémoire; La figure 6 illustre le repérage des cellules à partir d'un pointeur; La figure 7 est un organigramme d'une procédure d'inversion de deux cellules de la matrice de dispersion; Les figures 8 à 10 représentent la mémoire volatile, lors de trois étapes successives de la procédure de la figure 7; La figure 11 est un organigramme d'une procédure d'inversion de deux oellules de la mémoire RAM sécurisée, faisant suite à la procédure de la figure 7; Les figures 12 à 14 représentent la mémoire volatile, lors de trois étapes successives de la procédure de la figure 11; et La figure 15 est un organigramme d'une procédure de permutation multiple des cellules de la mémoire RAM sécurisée. La figure 1 représente un dispositif de traitement de données 1 coopérant avec un objet portatif 8. Le dispositif de traitement de données comprend de façon connue en soi un microprocesseur 2 auquel sont reliés une mémoire ROM 3, et une mémoire RAM 4, des moyens 5 pour coopérer, avec ou sans contact physique, avec l'objet portatif 8, et une interface de transmission 7 permettant au dispositif de traitement de données de communiquer avec un réseau de communication de données. Le dispositif de traitement de données 1 peut en outre être équipé de moyens de stockage tels que des disquettes ou disques amovibles ou non, de moyens de saisie (tels qu'un clavier et/ou un dispositif de pointage du type souris) et de moyens d'affichage, ces différents moyens n'étant pas représentés sur la figure 1. as i lia Le dispositif de traitement de données peut être constitué par tout appareil informatique installé sur un site privé ou public et apte à fournir des moyens de gestion de l'information ou de délivrance de divers biens ou services, cet appareil étant installé à demeure ou portable. Il peut notamment s'agir aussi d'un appareil dédié aux télécommunications. Par ailleurs, I'objet portatif 8 porte une puce incluant des moyens de traitement de l'information 9, une mémoire non volatile 10, une mémoire volatile de travail RAM 14, et des moyens 13 pour coopérer avec le dispositif de traitement de données 1. Cette puce est agencée pour définir, dans la mémoire 10, une zone secrète 11 dans laquelle des informations une fois enregistrées, sont inaccessibles depuis l'extérieur de la puce mais seulement accessibles aux moyens de traitement 9, et une zone accessible 12 qui est rendue accessible depuis l'extérieur de la puce par le microprocesseur 9 pour une lecture et/ou une écriture d'informations. Chaque zone de la mémoire non volatile 10 peut comprendre une partie non modifiable ROM et une partie modifiable EPROM, EEPROM, ou constituée de mémoire RAM du type "flash" ou FRAM (cette dernière étant une mémoire RAM ferromagnétique), c'est-à- dire présentant les caractéristiques d'une mémoire EEPROM avec en outre des temps d'accès identiques à ceux d'une RAM classique. En tant que puce, on pourra notamment utiliser un microprocesseur autoprogrammable à mémoire non volatile, tel que décrit dans le brevet américain n 4.382.279 au nom de la Demanderesse. Comme indiqué en colonne 1, lignes 13-25 de ce brevet, le caractère autoprogrammable de la puce correspond à la possibilité pour un programme fi situé dans une mémoire ROM, de modifier un autre programme fi situé dans une mémoire programmable en un programme gj. Dans une variante, le microprocesseur de la puce est remplacé - ou tout du moins complété - par des circuits logiques implantés dans une puce à semi-conducteurs. En effet, de tels circuits sont aptes à effectuer des calculs, notamment du1 1 2ia d'authentification et de signature, grâce à de l'électronique câblée, et non microprogrammée. Ils peuvent notamment être de type ASIC (de l'anglais " Application Specific Integrated Circuit "). Une variante de la figure 1 est illustrée sur la figure 2, o le dispositif de traitement de données 16 comprend, outre les éléments du dispositif de traitement de données 1 de la figure 1, ceux de l'objet portatif 8 disposés dans un module 15, les éléments communs aux deux figures 1,2 portant les mêmes références. Toutefois, les moyens de coopération 5,13 de la figure 1 sont remplacés par une liaison permanente entre le microprocesseur 2 et le microprocesseur 9. Selon une variante de la figure 2, le dispositif de traitement de données est constitué par le module 15 de la figure 2 lui-même. Selon l'invention, I'emplacement physique et la structure d'une information sensible dans une des mémoires de l'objet portatif 8 ou du module 15 évolue dans le temps de façon aléatoire. Soit S un ensemble de n cellules mémoire (cO, cl, c2,....., c(n-1)) et f une fonction de dispersion propre à disperser le contenu d'une quelconque cellule c1 depuis une adresse originelle jusqu'à une adresse dispersée f(c1). La fonction f vérifie les deux propriétés suivantes: c,-Pcq X = f(c) f(ci) cq E S => f(q) S (o E est un symbole signifiant " appartenant à ") A titre d'exemple, est représentée sur la figure 3 la structure de la mémoire RAM 14 de l'objet portatif 8 ou du module 15. Elle comporte seize colonnes identifiées par les chiffres 0 à 9 puis par les lettres A à F (notation hexadécimale), ainsi que dix lignes identifiées par les chiffres 6 à 9 puis par les lettres A à F. Ces lignes et colonnes définissent cent soixante cellules repérées depuis la cellule 60 ( c'est-à-dire ligne 6, colonne 0) jusqu'à la ai.1 à ai cellule FF ( c'est-à-dire ligne F, colonne F). Chaque cellule stocke un octet binaire. La mémoire RAM est décomposée en trois zones différentes. Une première zone 41 comprend les cellules 80 à AF et est nommée " mémoire RAM sécurisée " car son contenu va être sécurisé au moyen de la fonction f précitée: c'est dans cette zone que vont être stockées des informations sensibles à protéger. Une deuxième zone 42 comprend les cellules B0 à BF et est nommée " matrice de dispersion " car elle va être utilisée pour disperser les informations sensibles dans la mémoire RAM sécurisée. Enfin, une troisième zone 43, dite " mémoire RAM standard ", comprend les cellules restantes, à savoir 60 à 7F et CO à FF: elle est utilisée pour stocker les informations non sensibles. On notera que si, dans cet exemple, la mémoire RAM sécurisée et la matrice de dispersion sont composées de cellules contig es, elles pourraient, en variante, être composées de cellules non contig es. L'ensemble des informations stockées dans la mémoire RAM sécurisée est décomposé en plusieurs éléments appelés " unités d'information " comprenant chacune un même nombre déterminé de cellules. Dans l'exemple des figures 3 et 4, chaque unité d'information est entourée d'un trait fort et comprend trois cellules: on distingue par exemple l'unité d'information (a,b,c) dont le contenu est réparti dans les cellules d'adresse respective 83, 84, et 85, I'unité d'information (d,e,f), et l'unité d'information (g,h,i). L'ensemble des deux unités d'information (a,b,c) et (d,e,f) contig es constituent une information I complète telle que par exemple un mot de passe. Quant à la matrice de dispersion 42, sa taille est fonction du nombre d'unités d'information pouvant être contenues dans la mémoire RAM sécurisée, puisqu'elle comprend, pour chaque unité d'information, une cellule particulière. Dans cet exemple, la mémoire RAM sécurisée comprend quarante-huit cellules, donc trois fois moins d'unités d'information, soit seize cellules B0 à BF. A chaque unité d'information est associée une cellule de la matrice de dispersion qui occupe, dans la zone mémoire considérée, un rang qui est une fonction particulière d'un rang occupé par l'unité d'information dans la mémoire RAM sécurisée 41. Dans cet exemple, la fonction est l'identité, de sorte qu'à chaque unité d'information est associée une cellule de la matrice de dispersion qui occupe un même rang dans la zone mémoire considérée. Par exemple, à l'unité d'information (a,b,c) qui possède le rang 2 dans la mémoire RAM sécurisée est associée la cellule B1 qui possède le même rang dans la matrice de dispersion. De la même façon, I'unité d'information (d,e,f) est associée à la troisième cellule B2, et l'unité d'information (g,h, i) à la quinzième cellule BE. Mais, dans une variante, ladite fonction G peut être plus complexe, le rang rj de la cellule de la matrice de dispersion résultant d'une formule mathématique déterminée à partir du rang ri de l'unité d'information, selon la formule: rj = G(ri). Un exemple est le suivant, dans le cas présent o seize rangs sont définis: rj = 17 - ri En vue de disperser les unités d'information, on effectue une initialisation de la matrice de dispersion 42 en remplissant dans un premier temps les cellules de celle-ci avec l'ensemble des adresses des unités d'information contenues dans la mémoire RAM sécurisée 41, chaque unité d'information recevant une adresse différente de celle des autres unités d'information et étant stockée dans une cellule de la matrice de dispersion. Par définition, I'adresse d'une unité d'information est constituée par l'adresse de la première cellule qu'elle concerne: ainsi, l'adresse de l'unité d'information (a,b,c) de la figure 3 est 83, adresse de sa première cellule contenant l'information (a), tandis que l'adresse de l'unité d'information (g,h,i) est AA. Cette adresse obtenue avant dispersion est appelée " adresse logique ". Puis on modifie aléatoirement le contenu des cellules de la matrice de dispersion, comme cela sera détaillé plus loin, en déplaçant ce contenu vers d'autres cellules, de façon qu'à nouveau chaque cellule contienne une adresse différente. Le résultat obtenu est visible sur la figure 4, o n'ont été représentées dans la matrice de dispersion 42, pour la clarté de l'exposé, __WT 111W- que trois adresses correspondant aux trois cellules relatives aux trois unités d'information (a,b,c), (d,e,f), et (g,h,i), à savoir AA, 92, et 98: ces adresses sont dites " adresses physiques ", car elles vont déterminer l'emplacement réel des unités d'information dans la mémoire RAM sécurisée, après dispersion. Ensuite, le microprocesseur de la carte disperse les unités d'information (a,b,c), (d,e,f), et (g,h,i) dans la mémoire RAM sécurisée en fonction de l'adresse physique se trouvant dans la matrice de dispersion de la figure 4. Ainsi, il dispose l'unité d'information (a,b,c) à partir de l'adresse AA, lue dans la cellule d'adresse B1, cellule de rang 2 correspondant au rang 2 de cette unité d'information: cette unité d'information occupe donc les trois cellules d'adresse AA, AB, et AC. De même, I'unité d'information (d,e,f) est disposée à partir de l'adresse 92, lue dans la cellule de rang 3, et l'unité d'information (g,h,i) est disposée à partir de l'adresse 98, lue dans la cellule de rang 15. En fonctionnement, lorsque le microprocesseur exécutera un programme demandant l'accès à une information telle que l'information I précitée en désignant les adresses logiques 83 et 86, le microprocesseur consultera la matrice de dispersion 42. Il lira la première adresse physique écrite dans la cellule de rang 2, à savoir AA, puis il ira lire le contenu de l'unité d'information (a,b,c) à partir de cette adresse en mémoire RAM sécurisée. Puis il lira la seconde adresse physique écrite dans la cellule de rang 3, à savoir 92, puis il ira lire le contenu de l'unité d'information (d,e,f) à partir de cette adresse en mémoire RAM sécurisée: il aura alors reconstitué I'information I. Selon la première forme de réalisation décrite ci-dessus, on disperse les information dans la mémoire RAM sécurisée en en modifiant la structure, c'est-à-dire l'ordre dans lequel sont disposées les unités d'informations dans les cellules composant l'information considérée, sans toutefois atteindre un degré maximal de dispersion. Au contraire, la variante de la figure 5 permet d'atteindre ce but. Dans cet exemple, chaque unité d'information correspond à une seule cellule de la mémoire RAM sécurisée 41: il s'ensuit que la matrice de dispersion 44 comprend autant de cellules que la mémoire RAM sécurisée, à savoir quarante-huit, disposées entre les adresses B0 et DF. Après écriture, dans la matrice de dispersion 44 de l'ensemble des adresses des unités d'information, puis modification aléatoire de ces adresses comme expliqué pour l'exemple précédent, on obtient la matrice de dispersion de la figure 5 o n'ont été représentées que les adresses physiques des neuf unités d'information (a à i) figurant dans la mémoire RAM sécurisée de la figure 3. Par exemple, l'adresse physique de l'unité d'information (b) est stockée dans la cellule de même rang que (b), à savoir le rang 5: cette adresse est donc 96. De même, I'adresse physique de l'unité d'information (g) est située dans la cellule DA de la matrice de dispersion et vaut 9C. Ensuite, le microprocesseur de la carte disperse les unités d'information (a à i) dans la mémoire RAM sécurisée, en fonction de l'adresse physique se trouvant dans la matrice de dispersion 44. Par exemple, I'unité d'information (c) est stockée dans la cellule de la mémoire RAM sécurisée 41 dont l'adresse est écrite dans la cellule B5 de la matrice de dispersion 44, à savoir l'adresse 8F. De même, I'unité d'information (f) a pour adresse physique la valeur AB écrite en cellule B8. On constate que, dans ce deuxième exemple, I'information I formée des six informations élémentaires (a à f) se suivant de façon contig e sur la figure 3, se trouve décomposée à tel point que les six informations (a à f) ne sont plus du tout contig.es. Naturellement, cette propriété est de nature à renforcer la sécurité, puisque le travail d'un fraudeur pour reconstituer le groupe d'informations (a à f) à partir de la mémoire RAM sécurisée, dans l'état o elle se trouve sur la figure 5, est encore plus compliqué qu'à partir de la mémoire RAM sécurisée de la figure 4. En règle générale, plus grand sera le nombre de cellules dans chaque unité d'information, plus faible sera la protection des informations sensibles. lIEz Dans ce qui suit, I'adresse de chaque cellule de chaque zone de la mémoire RAM 14 est définie par un décalage déterminé par rapport à une origine constituée par l'adresse de la première cellule de la zone, ceci en raison d'un mode d'adressage particulier à un certain type de microprocesseurs. En variante, on pourrait naturellement définir une adresse absolue de chaque cellule, indépendemment des autres cellules, comme cela a été fait en relation avec les figures 3 à 5. En référence à la figure 6, représentant à nouveau la structure de mémoire RAM de la figure 5, soit pRamSec un pointeur sélectionnant la première cellule 45 de la mémoire RAM sécurisée et pMat un pointeur sélectionnant la première cellule 46 de la matrice de dispersion. Une quelconque cellule de la matrice de dispersion contient une valeur représentant un décalage par rapport au pointeur pRamSec. Supposons que le microprocesseur ait à atteindre le contenu d'une cellule 47 de la mémoire RAM sécurisée dont il connaît l'adresse logique définie comme suit: pRamSec + décalage logique L'adresse physique correspondante est donnée par: pRamSec + décalage physique sachant que (décalage physique) est égal au contenu de la cellule 48 de la matrice de dispersion qui est homologue de la cellule 47, c'est-à-dire qui possède la même position matricielle; la cellule 48 a l'adresse suivante: pMat + décalage logique. On sait désormais déterminer l'adresse physique d'une cellule à adresser, à partir de son adresse logique: une lecture à cette adresse physique nous donne donc une valeur stockée à cette adresse. On décrit maintenant un procédé préféré pour effectuer une permutation élémentaire du contenu de deux cellules de la mémoire RAM sécurisée tirées au hasard, en regard des figures 7 à 10. Tout d'abord, et qi-1 la comme illustré par l'étape 71 de la figure 7, le microprocesseur 9 effectue un tirage aléatoire de deux nombres parmi un ensemble constitué par les adresses de toutes les cellules de la mémoire RAM sécurisée 41, définies par leur décalage logique: les quarante-huit cellules sont définies par un décalage logique ayant une valeur comprise entre 0 et 47. Par exemple, les valeurs 4 et 8 sont tirées: elles sont alors stockées dans deux cellules C1 et C2 de la mémoire RAM standard 43, selon l'étape 72 de la figure 7, le résultat étant représenté sur la figure 8. A l'étape 73, le contenu de la cellule de la matrice de dispersion 44 repérée par le décalage logique contenu dans la cellule Cl est stocké dans une cellule C3 de la mémoire RAM standard 43 : le décalage logique étant 4, I'adresse logique correspondante est pMat + 4, relative à la cellule B4 dont le contenu est 22. Le résultat est représenté sur la figure 8. Ensuite, à l'étape 74, on stocke le contenu de la cellule de la matrice de dispersion repérée par la cellule C2 dans la cellule repérée par la cellule C1: le décalage logique contenu dans la cellule C2 est 8, qui désigne la cellule d'adresse pMat+ 8, soit la cellule B8: son contenu 43 est disposé dans la cellule d'adresse pMat+4, soit la cellule B4. Le résultat est représenté sur la figure 9. Enfin, à l'étape 75, le contenu de la cellule C3 est stocké dans la cellule de la matrice de dispersion 44 repérée par le contenu de la cellule C2, à savoir la cellule d'adresse logique pMat+8, soit la cellule B8: le résultat est représenté sur la figure 10.On peut constater en observant les figures 8 et 10 que les valeurs de décalage logique 22 et 43 ont été interverties. Une permutation des adresses étant intervenue en matrice de dispersion 44, il faut maintenant effectuer une permutation correspondante des données associées à ces adresses en mémoire RAM sécurisée 41. A l'étape 111 de la figure 11, on lit le contenu de la cellule de la mémoire RAM sécurisée 41 dont l'adresse logique est définie par le contenu de la cellule C1. La valeur de décalage logique 4 renvoie à la cellule B4 de la matrice de dispersion, laquelle contient le décalage physique 43: I'adresse correspondante en mémoire RAM sécurisée 41 est donc pRamSec + 43, r"ai l correspondant à la cellule AB. A l'étape 112, le contenu de cette cellule est stocké dans la cellule C3, comme représenté sur la figure 12. A l'étape 113, le microprocesseur lit le contenu de la cellule de la mémoire RAM sécurisée 41 dont l'adresse est définie par le contenu de la cellule C2. La valeur 8 renvoie à la cellule B8 de la matrice de dispersion contenant le décalage physique 22: l'adresse correspondante en mémoire RAM sécurisée 41 est donc pRamSec + 22, correspondant à la cellule 96, contenant la valeur b. A l'étape 114, cette valeur est stockée dans la cellule de la mémoire RAM sécurisée 41 dont le décalage logique est stocké dans la cellule Cl1: le décalage logique 4 correspond an décalage physique 43, lequel désigne la cellule AB de la mémoire RAM sécurisée 41. Le résultat est représenté sur la figure 13. Enfin, à l'étape 115, le microprocesseur stocke le contenu f de la cellule C3 dans la cellule de la mémoire RAM sécurisée 41 ayant le décalage logique stocké dans la cellule C2: il s'agit de la cellule d'adresse 96. Le résultat apparaît sur la figure 14. En comparant les figures 12 et 14, on peut constater que les valeurs b,f ont bien été permutées. On peut vérifier sur la figure 14 la correspondance entre les adresses permutées de la matrice de dispersion et les valeurs permutées de la mémoire RAM sécurisée 41. Par exemple, selon la figure 3, la valeur (f) a une adresse définie par le décalage logique 8 soit, sur la figure 14, le décalage physique 22. On peut constater que la valeur f se trouve bien dans la cellule 96 possédant ce décalage physique. Dans la pratique, le microprocesseur effectuera, non pas une seule, mais un certain nombre de permutations élémentaires constituant une permutation dite " multiple ", selon la procédure de la figure 15. A l'étape 151, le microprocesseur tire un nombre aléatoire AL: typiquement, ce nombre peut être compris par exemple entre 0 et 256. A l'étape 152, le microprocesseur initialise un compteur avec la valeur AL1. A l'étape 153, le microprocesseur vérifie que le compteur a une valeur positive. Dans l'affirmative, il effectue une permutation élémentaire selon la procédure des diT I 4 figures 7 et 11, en tirant deux nombres aléatoires compris entre 0 et 47. A l'étape 155, le microprocesseur décrémente le compteur d'une unité, puis il retourne à l'étape 153. Une fois que le compteur a atteint la valeur O, il parvient à la fin de la permutation multiple, repérée en 156. Le procédé de permutation multiple qui vient d'être décrit, ou procédé de régénération de la matrice de dispersion, sera déclenché à divers moments. Il le sera tout d'abord après chaque remise sous tension de la carte. Il le sera aussi au cours d'une session d'utilisation de la carte, à certains moments critiques, par exemple lorsque l'on traite une information sensible. Ainsi, le chargement du PIN (de l'anglais Personal Identification Number) en mémoire RAM sécurisée 41 suppose le transfert de huit octets vers cette mémoire: on décide de déclencher une régénération de la matrice de dispersion après chargement de chaque octet du PIN. Un autre exemple est celui o une anomalie est détectée dans un registre de sécurité de la carte. On rappelle qu'une carte inclut de façon connue en soi une pluralité de capteurs permettant de tester divers caractéristiques physiques de la carte, par exemple sa température, le taux de rayonnement auquel elle peut se trouver éventuellement soumis, la continuité électrique d'un écran de protection contre les agressions mécaniques, etc... L'état dans lequel se trouvent ces capteurs à un moment donné est enregistré dans ledit registre de sécurité. On peut décider de tester à certains moments critiques l'état du registre de sécurité, par exemple avant de traiter une information sensible et, si une anomalie est détectée, de déclencher une régénération de la matrice de dispersion. Selon une variante de l'invention, la matrice de dispersion se trouve dans une mémoire de la carte ou du module de sécurité qui est différente de celle constituant la mémoire sécurisée. Ceci est particulièrement avantageux si l'on recherche à économiser la mémoire sécurisée. Par exemple, en W1' I- référence à la figure 1, la matrice de dispersion pourrait être en mémoire non volatile 10. aIii-lu REVENDICATIONS 1. Module de sécurité comprenant des moyens de traitement de l'information (9) et des moyens de stockage de l'information (10,14), caractérisé en ce que les moyens de traitement (9) comprennent: -des moyens pour définir, dans les moyens de stockage (10,14), une première zone mémoire (41) destinée à stocker des unités d'information (a,b,c; d,e,f) ayant une taille inférieure à une taille desdites informations, des adresses logiques étant affectées aux unités d'information et définissant leur position dans la première zone mémoire (41) avant dispersion de ces unités d'information; -des moyens pour définir, dans les moyens de stockage (10,14), une seconde zone mémoire (42) destinée à stocker des adresses physiques (AA,92) de ces unités d'information définissant leur position dans la première zone mémoire (41) après dispersion de ces unités d'information; -des moyens pour stocker les adresses physiques des unités d'information dans la seconde zone mémoire (42) en une position qui est fonction de leurs adresses logiques respectives; et -des moyens pour accéder à toute unité d'information en lisant son adresse physique, dans la seconde zone mémoire (42), située en une position qui est fonction de son adresse logique. 2. Procédé de stockage d'informations dans des moyens de stockage d'information d'un module de sécurité, caractérisé en ce qu'il comprend les étapes consistant à: -définir, dans les moyens de stockage (10,14), une première zone mémoire (41) destinée à stocker des unités d'information (a,b,c; d,e,f) ayant une taille inférieure à une taille desdites informations; -affecter aux unités d'information des adresses logiques définissant leur position dans la première zone mémoire (41) avant dispersion de ces unités d'information; X1UI i à -définir, dans les moyens de stockage (10,14), une seconde zone mémoire (42) destinée à stocker des adresses physiques (AA,92) de ces unités d'information définissant leur position dans la première zone mémoire (41) après dispersion de ces unités d'information; -stocker les adresses physiques des unités d'information dans la seconde zone mémoire (42) en une position qui est fonction de leurs adresses logiques respectives; et -stocker les unités d'information dans la première zone mémoire (41) en lisant leur adresse physique dans la seconde zone mémoire (42). 3. Procédé d'exploitation d'informations dans des moyens de stockage d'information d'un module de sécurité, caractérisé en ce qu'il comprend les étapes consistant à: -définir, dans les moyens de stockage (10,14), une première zone mémoire (41) destinée à stocker des unités d'information (a,b,c; d,e,f) ayant une taille inférieure à une taille desdites informations; -affecter aux unités d'information des adresses logiques définissant leur position dans la première zone mémoire (41) avant dispersion de ces unités d'information; -définir, dans les moyens de stockage (10,14), une seconde zone mémoire (42) destinée à stocker des adresses physiques (AA,92) de ces unités d'information définissant leur position dans la première zone mémoire (41) après dispersion de ces unités d'information; -stocker les adresses physiques des unités d'information dans la seconde zone mémoire (42) en une position qui est fonction de leurs adresses logiques respectives; - stocker les unités d'information dans la première zone mémoire (41) en lisant leur adresse physique dans la seconde zone mémoire (42); et - accéder ultérieurement à toute unité d'information en lisant son adresse physique, dans la seconde zone mémoire (42), située en une position qui est fonction de son adresse logique. Er-- la 4. Procédé d'exploitation selon la revendication 3, comprenant l'étape consistant à modifier périodiquement et de façon aléatoire la position des adresses physiques (AA, 92) des unités d'information (a,b,c; d,e,f) dans la seconde zone mémoire (42), et à modifier de façon correspondante la position des unités d'information dans la première zone mémoire (41). 5. Procédé d'exploitation selon la revendication 4, consistant à permuter deux à deux les adresses physiques (AA, 92) des unités d'information (a,b,c; d,e,f) dans la seconde zone mémoire (42) et, après chaque permutation, permuter les deux unités d'information correspondantes dans la première zone mémoire (41). 6. Procédé d'exploitation selon la revendication 3, dans lequel lesdits moyens de stockage comprennent plusieurs cellules (45,47) et chaque unité d'information a une taille telle qu'elle est stockée dans une seule cellule (47) de la première zone mémoire (41) et son adresse physique est stockée dans une seule cellule (48) de la seconde zone mémoire (42). li l1 1 lmU