Brevet FR2938358A1 — publié le 20100514

La présente invention se rapporte d'une manière générale aux systèmes électroniques avec un dispositif de mémoire et une unité de traitement de données et, plus particulièrement, à une commande souple d'accès sécurisé ou normal au dispositif de mémoire par l'unité de traitement de données. Les dispositifs de mémoire sont sujets aux attaques par injection de défauts comme par l'utilisation de lasers ou de rayons X. Par exemple, les lasers et les rayons X permettent des attaques précises par modification des états des bits dans le dispositif de mémoire. Le laser est particulièrement approprié pour injecter des défauts dans les registres, dans les dispositifs de mémoire vive (RAM pour "Random Access Memory"), dans les dispositifs de mémoire effaçables et programmables électriquement (EEP pour "Electrically Erasable and Programmable") et dans les dispositifs de mémoire flash. Une telle injection de défauts peut être permanente ou temporaire. En plus, on peut utiliser de telles attaques par injection de défauts pour découvrir des clés secrètes ou pour sortir un contenu de mémoire. Il est souhaitable de détecter une telle injection de défauts dans le dispositif de mémoire pour prévenir un usage abusif de l'information mémorisée dans le dispositif de mémoire. Dans l'art antérieur, on peut utiliser un détecteur de laser pour détecter une source de lasers. Cependant, le détecteur de laser n'est pas apte à détecter des attaques au laser sur des dispositifs de mémoire. En variante, dans l'art antérieur, des dispositifs de mémoire sont aptes à inclure la mémorisation d'un code de détection d'erreur. Dans ce cas, le dispositif de mémoire détecte les attaques par injection de défauts à l'intérieur du dispositif de mémoire. Cependant, la mise en oeuvre d'un tel code de détection d'erreur à l'intérieur des dispositifs de mémoire augmente la superficie de silicium du dispositif de mémoire. De plus, si les états des bits 2 sont modifiés sur un bus à l'extérieur du dispositif de mémoire, le code de détection d'erreur ne peut pas détecter une telle injection de défauts à l'extérieur du dispositif de mémoire. En outre, dans l'art antérieur, le dispositif de mémoire peut inclure une redondance de matériel avec une mémorisation redondante des données pour la détection d'une injection de défauts dans le dispositif de mémoire. Cependant, une telle redondance de mémorisation a pour résultat un doublement de la superficie de silicium ce dont il résulte une superficie de silicium particulièrement grande pour des dispositifs de mémoire de grande capacité. En plus, la vérification des données avec redondance de mémorisation peut entraîner un fonctionnement plus lent du dispositif de mémoire. En variante, dans l'art antérieur, une unité de traitement de données comme une unité centrale de traitement (CPU pour "Central Processing Unit") accédant au dispositif de mémoire inclut du logiciel destiné à vérifier l'intégrité des données. Cependant, un tel logiciel qui est aussi mémorisé dans le dispositif de mémoire est soumis à l'injection de défauts. De plus, la taille de code et le temps d'exécution pour le logiciel de la CPU augmentent avec une telle fonctionnalité supplémentaire de vérification des données. Donc, il est souhaité un mécanisme efficace de détection d'injection de défauts dans le dispositif de mémoire et à l'extérieur du dispositif de mémoire, comme dans le bus d'entrée/sortie du dispositif de mémoire. Par conséquent, selon un aspect général de la présente invention, une interface de mémoire sécurisée agit pour la détection automatique d'une telle injection de défauts. Une interface de mémoire sécurisée selon un aspect de la présente invention inclut un bloc lecteur et un sélecteur de mode. Le bloc lecteur engendre une donnée finale de lecture à transférer à une unité de traitement de 3 données en enlevant le code de détection d'erreur de la donnée initiale de lecture transférée par un dispositif de mémoire lorsqu'un mode sécurisé est activé. Le sélecteur de mode active ou désactive le mode sécurisé en utilisant de l'information d'accès à la mémoire provenant de l'unité de traitement de données. Dans un mode de réalisation de la présente invention, lorsque le mode sécurisé est désactivé, le bloc lecteur engendre la donnée finale de lecture à partir de la donnée initiale de lecture sans enlever de code de détection d'erreur. Dans un exemple de mode de réalisation de la présente invention, l'information d'accès à la mémoire inclut un nom d'instruction. Dans ce cas, le sélecteur de mode inclut un décodeur d'instruction qui active le mode sécurisé lorsque le nom d'instruction concerne une instruction de lecture sécurisée, et qui désactive le mode sécurisé lorsque le nom d'instruction concerne une instruction de lecture normale. Dans un mode supplémentaire de réalisation de la présente invention, le bloc lecteur et le décodeur d'instruction sont disposés dans l'unité de traitement de données qui est une unité centrale de traitement (CPU pour "Central Processing Unit"). Dans une variante de mode de réalisation de la présente invention, l'information d'accès à la mémoire inclut une adresse du dispositif de mémoire à laquelle on doit accéder pour la donnée initiale de lecture. Dans ce cas, le sélecteur de mode inclut un décodeur d'adresse qui active le mode sécurisé lorsque l'adresse du dispositif de mémoire à laquelle on doit accéder est une adresse sécurisée et qui désactive le mode sécurisé lorsque l'adresse du dispositif de mémoire à laquelle on doit accéder est une adresse non sécurisée. Dans un exemple de mode de réalisation de la présente invention, le décodeur d'adresse est disposé à l'extérieur de l'unité de traitement de données qui est une CPU pour 4 engendrer l'adresse du dispositif de mémoire à laquelle on doit accéder. Dans un autre mode de réalisation de la présente invention, l'information d'accès à la mémoire inclut un nom de registre. Dans ce cas, le sélecteur de mode inclut un indicateur de registre respectif qui indique si le nom de registre correspond à l'activation ou à la désactivation du mode sécurisé. Dans un exemple de mode de réalisation de la présente invention, le bloc lecteur et l'indicateur de registre respectif sont disposés dans l'unité de traitement de données qui est une CPU. Dans un mode supplémentaire de réalisation de la présente invention, le bloc lecteur inclut un séparateur, un codeur et un comparateur. Le séparateur engendre la donnée finale de lecture en séparant le code de détection d'erreur de la donnée initiale de lecture lorsque le mode sécurisé est activé, et engendre la donnée finale de lecture à partir de la donnée initiale de lecture sans séparer aucun code de détection d'erreur lorsque le mode sécurisé est désactivé. Le codeur engendre un code escompté de détection d'erreur à partir d'au moins l'une d'une adresse correspondante et de la donnée finale de lecture. Le comparateur engendre un signal de détection d'erreur en comparant le code de détection d'erreur séparé de la donnée initiale de lecture avec le code escompté de détection d'erreur. Dans un autre mode de réalisation de la présente invention, le bloc lecteur inclut en outre un automate fini avec un sélecteur de longueur. L'automate fini lit la donnée initiale de lecture dans le dispositif de mémoire en engendrant une adresse de mémoire et un signal de validation de lecture à partir de l'information d'accès à la mémoire. Le sélecteur de longueur commande l'automate fini pour lire la donnée initiale de lecture avec une longueur de donnée de mémoire dépendant d'au moins un signal de commande de longueur de donnée qui commande aussi le fonctionnement du codeur et du séparateur. Dans un exemple de mode de réalisation de la présente 5 invention, la longueur de donnée de mémoire correspond au dispositif de mémoire, et l'au moins un signal de commande de longueur de donnée correspond à une longueur de donnée de traitement de l'unité de traitement de données. Dans un mode de réalisation de la présente invention, l'unité de traitement de données est une CPU séparée du dispositif de mémoire par un bus. L'unité de traitement de données et le dispositif de mémoire sont fabriqués sur un même circuit intégré. En variante, l'unité de traitement de données et le dispositif de mémoire sont fabriqués sous la forme de deux circuits intégrés distincts. Dans un autre mode de réalisation de la présente invention, l'interface de mémoire sécurisée inclut en outre un bloc enregistreur qui engendre une donnée finale d'écriture à écrire dans le dispositif de mémoire à partir d'une donnée initiale d'écriture et d'un code de détection d'erreur lorsque le mode sécurisé est activé. Le bloc enregistreur engendre la donnée finale d'écriture à partir de la donnée initiale d'écriture sans le code de détection d'erreur lorsque le mode sécurisé est désactivé. Sous un aspect de la présente invention, le bloc enregistreur et le bloc lecteur sont réalisés à l'aide de portes logiques matérielles à l'intérieur de la CPU. Lorsque l'information d'accès à la mémoire inclut un nom d'instruction, le décodeur d'instruction active le mode sécurisé lorsque le nom d'instruction est pour une instruction d'écriture sécurisée, et désactive le mode sécurisé lorsque le nom d'instruction est pour une instruction d'écriture normale. Dans un mode supplémentaire de réalisation de la présente invention, le bloc enregistreur inclut un codeur et un mélangeur. Le codeur engendre le code de détection 6 d'erreur à partir d'au moins l'une d'une adresse correspondante et de la donnée initiale d'écriture. Le mélangeur engendre une donnée mélangée d'écriture à partir de la donnée initiale d'écriture et du code de détection d'erreur lorsque le mode sécurisé est activé et à partir de la donnée initiale d'écriture sans le code de détection d'erreur lorsque le mode sécurisé est désactivé. La donnée mélangée d'écriture détermine la donnée finale d'écriture. Dans un autre mode de réalisation de la présente invention, le bloc enregistreur inclut en outre un automate fini et un sélecteur de longueur. L'automate fini engendre, à partir de la donnée mélangée, la donnée finale d'écriture, un signal de validation d'écriture et une adresse de mémoire du dispositif de mémoire pour mémoriser la donnée finale d'écriture. Le sélecteur de longueur commande l'automate fini pour engendrer la donnée finale d'écriture avec une longueur de donnée de mémoire en fonction de l'au moins un signal de commande de longueur de donnée qui commande le codeur et le mélangeur. Un système électronique selon un autre aspect de la présente invention inclut un dispositif de mémoire, une unité de traitement de données et une unité d'interface. L'unité de traitement de données engendre une information d'accès à la mémoire incluant au moins un bit d'adresse ou un nom de registre qui spécifie un type d'accès au dispositif de mémoire. L'unité d'interface accède au dispositif de mémoire en fonction du type d'accès tel qu'il est spécifié par l'information d'accès à la mémoire. Par exemple, le type d'accès inclut un accès sécurisé ou un accès non sécurisé. L'au moins un bit d'adresse engendré par l'unité de traitement de données détermine le type d'accès au dispositif de mémoire. En variante, le nom de registre engendré par l'unité de traitement de données détermine le type d'accès au dispositif de mémoire. De cette manière, la CPU spécifie de manière souple la valeur et la localisation de la donnée mémorisée dans le 7 dispositif de mémoire avec accès sécurisé. L'injection de défauts est détectée pour des données telles que spécifiées par la CPU en utilisant les blocs lecteur et enregistreur réalisés en matériel dans la CPU. Ainsi, l'augmentation de superficie de silicium pour de tels blocs lecteur et enregistreur est insignifiante pour le dispositif de mémoire de n'importe quelle capacité. En plus, on détecte efficacement une injection de défauts à l'intérieur du dispositif de mémoire ou au niveau du bus entre le dispositif de mémoire et la CPU. Les caractéristiques et avantages de l'invention ressortiront davantage de la description qui va suivre à titre d'exemple en se référant aux dessins annexés, dans lesquels : la figure 1 montre un schéma fonctionnel d'un système électronique avec une interface de mémoire sécurisée, selon un mode de réalisation de la présente invention ; la figure 2 montre un schéma fonctionnel de l'interface de mémoire sécurisée de la figure 1, selon un 20 mode de réalisation de la présente invention ; la figure 3 montre un schéma fonctionnel d'un bloc enregistreur dans l'interface de mémoire sécurisée de la figure 2, selon un mode de réalisation de la présente invention ; 25 la figure 4 montre un schéma de circuit d'un sélecteur de longueur dans le bloc enregistreur de la figure 3, selon un mode de réalisation de la présente invention ; la figure 5 montre un schéma fonctionnel d'un codeur destiné à engendrer un code de détection d'erreur dans le 30 bloc enregistreur de la figure 3, selon un mode de réalisation de la présente invention ; la figure 6 montre un schéma fonctionnel d'un bloc lecteur dans l'interface de mémoire sécurisée de la figure 2, selon un mode de réalisation de la présente invention ; 35 la figure 7 montre un schéma fonctionnel d'une CPU incluant un décodeur d'instruction comme sélecteur de mode 8 dans le bloc enregistreur et/ou le bloc lecteur des figures 3 et 6, selon un mode de réalisation de la présente invention ; la figure 8 montre un schéma fonctionnel d'une CPU incluant un décodeur d'adresse comme sélecteur de mode dans le bloc enregistreur et/ou le bloc lecteur des figures 3 et 6, selon un mode de réalisation de la présente invention ; la figure 9 montre un schéma fonctionnel qui est une variante de la figure 8 avec le sélecteur de mode disposé à l'extérieur de la CPU, selon une variante de mode de réalisation de la présente invention ; la figure 10 représente l'utilisation des bits d'adresse de CPU pour indiquer l'activation ou la désactivation du mode sécurisé, selon un mode de réalisation de la présente invention ; la figure 11 montre un schéma fonctionnel d'une CPU incluant un registre d'indicateurs comme sélecteur de mode dans le bloc enregistreur et/ou le bloc lecteur des figures 3 et 6, selon un mode de réalisation de la présente invention ; la figure 12 montre un tableau représentant l'activation ou la désactivation du mode sécurisé lorsqu'à la fois un registre d'indicateurs et un décodeur d'adresse sont utilisés pour le sélecteur de mode, selon un mode de réalisation de la présente invention ; la figure 13 montre un tableau de longueurs de données pour la CPU et le dispositif de mémoire avec l'activation et la désactivation du mode sécurisé, selon un mode de réalisation de la présente invention ; la figure 14 montre un organigramme des étapes pendant le fonctionnement de l'interface de mémoire sécurisée de la figure 2 et du bloc enregistreur de la figure 3, selon un mode de réalisation de la présente invention ; la figure 15 montre un organigramme des étapes pendant 35 le fonctionnement de l'interface de mémoire sécurisée de la 9 figure 2 et du bloc lecteur de la figure 6, selon un mode de réalisation de la présente invention ; la figure 16A montre un tableau des entrées du codeur de la figure 5, selon un exemple de mode de réalisation de 5 la présente invention ; et la figure 16B montre un tableau des sorties du codeur de la figure 5, selon un exemple de mode de réalisation de la présente invention. Les figures mentionnées ici sont réalisées pour la 10 clarté de l'explication et ne sont pas nécessairement dessinées à l'échelle. Les éléments ayant les mêmes repères aux figures 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16A et 16B se réfèrent à des éléments ayant une structure et/ou une fonction similaires, à moins qu'il n'en 15 soit indiqué autrement. La figure 1 montre un schéma fonctionnel d'un système électronique 100 comportant un dispositif 102 de mémoire, une unité 104 de traitement de données et un bus 106. Le système électronique 100 peut être formé comme des 20 composants d'une carte intelligente 110 dans un exemple de mode de réalisation de la présente invention. Cependant, la présente invention n'est pas limitée à cela, et la présente invention peut être mise en pratique avec un système électronique 100 qui serait dans d'autres applications. La 25 présente invention peut être mise en pratique avec le dispositif 102 de mémoire et l'unité 104 de traitement de données qui seraient fabriquées sur un même circuit intégré ou qui seraient fabriquées sur deux circuits intégrés distincts. 30 Le dispositif 102 de mémoire et l'unité 104 de traitement de données échangent des signaux via le bus 106. Dans un exemple de mode de réalisation de la présente invention, l'unité 104 de traitement de données est une CPU (unité centrale de traitement) avec une interface 108 35 (c'est-à-dire, une unité formant interface) de mémoire sécurisée. 10 En se référant aux figures 1 et 2, l'interface 108 de mémoire sécurisée inclut un sélecteur 112 de mode, un bloc enregistreur 114 et un bloc lecteur 116. Le bloc enregistreur 114 reçoit une adresse (une adresse de CPU) et une donnée (une donnée de CPU) de la CPU 104 pour écrire cette donnée à l'adresse spécifiée du dispositif 102 de mémoire. Le bloc lecteur 116 reçoit une adresse (une adresse de CPU) provenant de la CPU 104 pour lire la donnée à l'adresse spécifiée du dispositif 102 de mémoire. Le sélecteur 112 de mode active ou désactive le mode sécurisé de fonctionnement pour le bloc enregistreur 114 et le bloc lecteur 116. Le bloc enregistreur 114 et le bloc lecteur 116 opèrent en mode sécurisé ou en mode non sécurisé en fonction, respectivement, de l'activation ou de la désactivation du mode sécurisé par le sélecteur 112 de mode. Le sélecteur 112 de mode engendre un signal de validation de mode sécurisé SMI Enable pour indiquer l'activation ou la désactivation du mode sécurisé. La figure 3 montre un schéma fonctionnel du bloc enregistreur 114 de la figure 2, selon un exemple de mode de réalisation de la présente invention. Le bloc enregistreur 114 inclut un sélecteur 202 de longueur, un codeur 204, un mélangeur 206 et un automate fini 208 (FSM pour "Finite State Machine") d'écriture en mémoire. En se référant aux figures 1, 2 et 3, la CPU 104 active l'un des signaux "24", "16" et "8" de longueur de registre, Register Width, pour indiquer le nombre de bits (c'est-à-dire, la longueur de donnée de la CPU ou plus généralement une longueur de donnée de traitement) traités par la CPU 104 avec le dispositif 102 de mémoire. Par exemple, la CPU 104 engendre 8 bits, 16 bits ou 24 bits de données à la fois pour les envoyer au dispositif 102 de mémoire, ou reçoit à la fois 8 bits, 16 bits ou 24 bits en provenance du dispositif 102 de mémoire. La figure 13 montre un tableau des bits de donnée occupés dans le dispositif 102 de mémoire en fonction de la 11 longueur de donnée de CPU. La première colonne 902 énumère des exemples typiques de longueur de donnée de CPU comme 8 bits, 16 bits ou 24 bits. La deuxième colonne énumère le nombre correspondant de bits mémorisés dans le dispositif 102 de mémoire pour chacune des longueurs de donnée de CPU de 8 bits, 16 bits et 24 bits lorsque le mode sécurisé n'est pas activé. La troisième colonne énumère le nombre correspondant de bits mémorisés dans le dispositif 102 de mémoire pour chacune des longueurs de donnée de CPU de 8 bits, 16 bits et 24 bits lorsque le mode sécurisé est activé. Lorsque le mode sécurisé n'est pas activé, les 8 bits de donnée provenant de la CPU 104 sont mémorisés sous forme de 8 bits dans le dispositif 102 de mémoire. De façon similaire, lorsque le mode sécurisé n'est pas activé, les 16 bits de donnée provenant de la CPU 104 sont mémorisés sous forme de 16 bits dans le dispositif 102 de mémoire. Également, lorsque le mode sécurisé n'est pas activé, les 24 bits de donnée provenant de la CPU 104 sont mémorisés sous forme de 32 bits dans le dispositif 102 de mémoire, avec les 8 bits supplémentaires qui sont mis à des valeurs binaires prédéterminées. Lorsque le mode sécurisé est activé, les 8 bits de donnée provenant de la CPU 104 sont mémorisés sous forme de 16 bits dans le dispositif 102 de mémoire, avec les 8 bits supplémentaires qui sont engendrés à l'aide d'un code de détection d'erreur. De façon similaire, lorsque le mode sécurisé est activé, les 16 bits de donnée provenant de la CPU 104 sont mémorisés sous forme de 16 bits dans le dispositif 102 de mémoire, avec les 16 bits supplémentaires qui sont engendrés à l'aide d'un code de détection d'erreur. Également, lorsque le mode sécurisé est activé, les 24 bits de donnée provenant de la CPU 104 sont mémorisés sous forme de 32 bits dans le dispositif 102 de mémoire, avec les 8 bits supplémentaires qui sont engendrés à l'aide d'un code de détection d'erreur. 12 Une quatrième colonne 908 du tableau de la figure 13 indique l'augmentation sous forme d'un coefficient multiplicateur (c'est-à-dire, un facteur d'augmentation de taille) des bits mémorisés dans le dispositif 102 de mémoire (c'est-à-dire, la longueur de donnée de mémoire) par rapport au nombre de bits engendrés par la CPU 104 (c'est-à-dire la longueur de donnée de CPU) dans le cas où le mode sécurisé est activé par rapport au mode sécurisé désactivé. Le coefficient multiplicateur du nombre de bits mémorisés dans le dispositif 102 de mémoire par rapport au nombre de bits engendrés par la CPU 104 est de deux fois lorsque la longueur de données de CPU est de 8 bits ou 16 bits avec le mode sécurisé activé. Le coefficient multiplicateur du nombre de bits mémorisés dans le dispositif 102 de mémoire par rapport au nombre de bits engendrés par la CPU 104 reste de "1" lorsque la longueur de données de CPU est de 24 bits même avec le mode sécurisé activé. La cinquième colonne 910 du tableau de la figure 13 indique le niveau de sécurité atteint avec l'activation du mode sécurisé pour les exemples de 8 bits, 16 bits et 24 bits des longueurs de donnée de CPU. Le niveau de sécurité (c'est-à-dire, l'aptitude à détecter une injection de défauts) atteint pour les 8 bits ou 16 bits de la longueur de données de CPU est très élevé parce que le nombre de bits est multiplié par deux après incorporation du code de détection d'erreur pour mémorisation dans le dispositif 102 de mémoire. Le niveau de sécurité atteint pour les 24 bits de la longueur de donnée de CPU est élevé mais moins élevé que pour les 8 bits ou les 16 bits parce que le nombre de bits est accru de moins de deux fois pour les 24 bits après incorporation du code de détection d'erreur pour mémorisation dans le dispositif 102 de mémoire. En se référant aux figures 3 et 13, le sélecteur 202 de longueur active l'un des signaux "8", "16" et "32" de 13 longueur de donnée pour commander le FSM 208 d'écriture en mémoire pour engendrer la donnée de mémoire sous forme de 8 bits, 16 bits ou 32 bits. La figure 4 montre un schéma de circuit de l'exemple de sélecteur 202 de longueur qui active l'un des signaux "8", "16" et "32" de longueur de donnée de mémoire en fonction de celui des signaux "8", "16" et "24" de longueur de données de CPU qui est actif et en fonction de ce que le signal de validation de mode sécurisé (SMI Enable) est ou non actif. En se référant à la figure 4, le sélecteur 202 de longueur inclut un inverseur et des première, deuxième, troisième et quatrième portes ET 222, 224, 226 et 228, respectivement. Le sélecteur 202 de longueur inclut aussi des première et seconde portes OU 232 et 234, respectivement. Le signal de validation de mode sécurisé (SMI Enable) est entré par l'inverseur 220 et les portes ET 222 et 226. Le signal "24" de longueur de donnée de CPU est entré par la porte OU 232, le signal "16" de longueur de donnée de CPU est entré par les portes ET 222 et 224, et le signal "8" de longueur de données de CPU est entré par les portes ET 226 et 228. L'inverseur 220, les portes ET 222, 224, 226 et 228 et les portes OU 232 et 234 sont connectés comme le représente la figure 4 de façon que la porte OU 232 sorte le signal "32" de longueur de donnée de mémoire, que la porte OU 234 sorte le signal "16" de longueur de donnée de mémoire, et que la porte ET 228 sorte le signal "8" de longueur de donnée de mémoire. En se référant aux figures 4 et 13, l'un des signaux "8", "16" et "32" de longueur de donnée de mémoire est activé lorsque l'un correspondant des signaux "8", "16" et "24" de longueur de donnée de CPU est activé et lorsque le mode sécurisé n'est pas activé, comme le représentent les première et deuxième colonnes 902 et 904 de la figure 13. En variante, l'un des signaux "16" et "32" de longueur de donnée de mémoire est activé lorsque l'un, 14 correspondant, des signaux "8", "16" et "24" de longueur de donnée de CPU est activé et lorsque le mode sécurisé est activé, comme représenté dans les première et troisième colonnes 902 et 906 à la figure 13. En se référant à la figure 3, les signaux "8", "16" et "32" de longueur de donnée de mémoire sont reçus par le FSM 208 d'écriture en mémoire pour engendrer les données de mémoire sous forme de 8 bits, 16 bits ou 36 bits en fonction de celui des signaux "8", "16" et "32" de longueur de donnée de mémoire qui est activé. La figure 5 montre un schéma fonctionnel du codeur 204 destiné à engendrer le code de détection d'erreur (EDC) à utiliser lorsque le mode sécurisé est activé. L'exemple de codeur 204 de la figure 5 utilise la donnée de CPU engendrée par la CPU 104 pour engendrer le code de détection d'erreur. Cependant, la présente invention peut aussi être mise en pratique avec un codeur qui engendre le code de détection d'erreur à partir à la fois de la donnée de CPU et de l'adresse de CPU engendrée par la CPU 104. Dans ce cas, l'interface 110 de mode sécurisé détecterait une injection de défauts à la fois dans la donnée et dans l'information d'adresse. La figure 16A montre un tableau des entrées du codeur 204 de la figure 5 pour l'activation de chacun des signaux "8", "16" et "24" de longueur de donnée de CPU, selon un exemple de mode de réalisation de la présente invention. La figure 16B montre un tableau des sorties du codeur 204 de la figure 5 pour l'activation de chacun des signaux "8", "16" et "24" de longueur de donnée de CPU, selon un exemple de mode de réalisation de la présente invention. En se référant à l'exemple de la figure 5, le codeur 204 inclut un signal 242 d'entrée "E" de 8 bits, un signal 244 d'entrée "Rh" de 8 bits et un signal 248 d'entrée "Rl" de 8 bits. De plus, le codeur 204 inclut un signal 258 de sortie "EDC out H" de 8 bits et un signal 260 de sortie "EDC out L" de 8 bits. 15 En se référant à l'exemple des figures 5, 16A et 16B, lorsque la longueur de donnée de CPU est de 8 bits, le signal 248 "Rl" d'entrée inclut la donnée de CPU tandis que les signaux 242 et 244 "E" et "Rh" sont indéfinis (c'est-à- dire, X à la figure 16A). Dans ce cas aussi, seul le signal 260 EDC out L de sortie est valide tandis que le signal 258 EDC out H de sortie est indéfini. Ainsi, le signal 260 EDC out L de sortie inclut le code de détection d'erreur (EDC) à 8 bits utilisé par le mélangeur 206 lorsque la largeur de donnée de CPU est de 8 bits. En variante, lorsque la longueur de donnée de CPU est de 16 bits, le signal 248 d'entrée "Rl" inclut l'octet inférieur de la donnée de CPU, le signal 244 d'entrée "Rh" inclut l'octet supérieur de la donnée de CPU, et le signal 242 d'entrée "E" est fixé à zéro. Également dans ce cas, le signal 260 de sortie EDC out L et le signal 258 de sortie EDC out H sont tous les deux valides. Ainsi, le signal 260 de sortie EDC out L et le signal 258 de sortie EDC out H incluent le code de détection d'erreur (EDC) de 16 bits utilisé par le mélangeur 206 lorsque la longueur de donnée de CPU est de 16 bits. Lorsque la longueur de donnée de CPU est de 24 bits, le signal 248 d'entrée "Rl" inclut l'octet inférieur de la donnée de CPU, le signal 244 d'entrée "Rh" inclut l'octet moyen de la donnée de CPU, et le signal 242 d'entrée "E" inclut l'octet supérieur de la donnée de CPU. Également dans ce cas, seul le signal 258 de sortie EDC out H est valide tandis que le signal 260 de sortie EDC out L est indéfini. Ainsi, le signal 258 de sortie EDC out H inclut le code de détection d'erreur (EDC) de 8 bits utilisé par le mélangeur 206 lorsque la longueur de donnée de CPU est de 24 bits. Le codeur 204 opère aussi avec un signal 246 "Ctrl 16bits Access" de commande de 1 bit qui peut être le signal "16" de longueur de données de CPU dans un exemple de mode de réalisation de la présente invention. Le codeur 16 204 inclut aussi un registre 250 d'une donnée prédéterminée, un codeur 252 des bits inférieurs, un codeur 256 des bits supérieurs et un multiplexeur 254. Le signal 246 "Ctrl 16bits Access" commande le multiplexeur 254 pour sortir soit une sortie du registre 250 de donnée prédéterminée soit une sortie du codeur 252 des bits inférieurs. Le signal 246 "Ctrl 16bits Access" est activé à un état logique haut lorsque la CPU engendre 16 bits de donnée pour la longueur de donnée de CPU de 16 bits. Dans ce cas, le multiplexeur 254 choisit la sortie du registre 250 de donnée prédéterminée qui est une combinaison binaire prédéterminée (comme, par exemple, 0x00 ou OxFF) pour être entrée par le codeur 256 de bits supérieurs. À la suite de quoi, le codeur 256 de bits supérieurs utilise le signal 244 d'entrée "Rh" de 8 bits pour engendrer le signal 258 de sortie EDC out H de 8 bits tandis que le signal "E" est fixé à 0 par la CPU 104. Également dans ce cas, le codeur 252 de bits inférieurs utilise le signal 248 d'entrée "Rl" de 8 bits pour engendrer le signal 260 de sortie EDC out L de 8 bits. En se référant aux figures 3 et 5, les 16 bits au total du code de détection d'erreur des signaux de sortie "EDC out H" et "EDC out L" sont disponibles pour le mélangeur 206 lorsque le signal 246 "Ctrl 16bits Access" est activé pour la longueur de donnée de CPU de 16 bits. Le signal 246 "Ctrl 16bits Access" est désactivé à un état logique bas lorsque la CPU engendre 8 bits ou 24 bits de donnée pour la longueur de donnée de CPU de 8 bits ou 24 bits. Dans les deux cas, le codeur 252 de bits inférieurs utilise juste le signal 248 d'entrée "Rl" pour engendrer le signal 260 "EDC out L" de sortie de l'EDC de 8 bits, disponible au niveau du mélangeur 206 et du multiplexeur 254. Dans les deux cas, le multiplexeur 254 choisit la sortie du codeur 252 de bits inférieurs pour être entrée par le codeur 256 de bits supérieurs. 17 Le codeur 256 de bits supérieurs utilise le signal 244 d'entrée "Rh", le signal 242 d'entrée "E", et la sortie du codeur 252 de bits inférieurs pour engendrer le signal 258 "EDC out H" de sortie d'EDC de 8 bits disponible au niveau du mélangeur 206. Dans le cas de la longueur de donnée de CPU de 8 bits, seul le signal 260 de sortie "EDC out L" est valide et utilisé par le mélangeur 206 qui ignore le signal 258 de sortie "EDC out H". Dans le cas de la longueur de donnée de CPU de 24 bits, seul le signal 258 de sortie "EDC out H" est valide et utilisé par le mélangeur 206 qui ignore le signal 260 de sortie "EDC out L". En se référant aux figures 2 et 3, l'interface 108 de mémoire sécurisée et le bloc enregistreur 114 opèrent selon l'organigramme de la figure 14 lorsque la CPU 104 accède au dispositif 102 de mémoire pour une opération d'écriture. La CPU 104 engendre de l'information d'accès à la mémoire d'écriture comme une instruction d'écriture incluant un nom d'instruction d'écriture, une adresse de CPU indiquant une adresse du dispositif 102 de mémoire à laquelle on doit accéder, et une donnée de CPU à écrire dans le dispositif 102 de mémoire (étape S701 à la figure 14). L'adresse de CPU indique la localisation du dispositif 102 de mémoire pour mémoriser la donnée de CPU. La CPU 104 peut engendrer un nom de registre respectif mémorisant une telle donnée de CPU en tant que partie de l'information d'accès à la mémoire d'écriture. Le sélecteur 112 de mode détermine, à partir de l'information d'accès à la mémoire d'écriture, si le mode sécurisé est activé par la CPU (étape S702 de la figure 14). Dans un exemple de mode de réalisation de la présente convention, la figure 7 montre le sélecteur 112 de mode réalisé sous la forme d'un décodeur de nom d'instruction. Dans ce cas, la CPU 104 spécifie, avec le nom d'instruction correspondant, l'activation ou la désactivation du mode sécurisé pour l'instruction d'écriture. 18 Par exemple, l'instruction d'écriture inclut un nom d'instruction d'écriture normale pour la désactivation du mode sécurisé et inclut un nom d'instruction d'écriture sécurisée pour activation du mode sécurisé. Dans ce cas, le sélecteur 112 de mode de la figure 7 décode le nom d'instruction pour activation ou désactivation du signal SMI Enable en fonction du nom d'instruction. Pour le mode de réalisation de la figure 7, la CPU est apte à exécuter un ensemble d'instructions supplémentaires comprenant par exemple une instruction d'écriture normale, une instruction d'écriture sécurisée, une instruction de lecture normale et une instruction de lecture sécurisée. Chacun des noms d'instruction d'écriture et de lecture normales a pour résultat la désactivation du signal SMI Enable, et chacun des noms d'instruction d'écriture et de lecture sécurisées a pour résultat l'activation du signal SMI Enable. Dans un autre mode de réalisation de la présente invention, la figure 8 montre le sélecteur 112 de mode qui est réalisé sous forme d'un décodeur 264 d'adresse. Dans ce cas, la CPU 104 spécifie l'activation ou la désactivation du mode sécurisé pour une instruction d'écriture avec l'adresse de CPU engendrée par un générateur 262 d'adresse à l'intérieur de la CPU 104. Comme représenté dans un exemple de la figure 10, le nombre de bits d'adresse de CPU est suffisant pour spécifier 16 Mo de capacité de mémoire. Cependant, la capacité totale réelle de tous les dispositifs de mémoire dans le système électronique 100 comme une carte intelligente est sensiblement moindre que la capacité de mémoire adressable. Donc, certains bits de l'adresse de CPU engendrés par la CPU 104 peuvent s'utiliser pour spécifier l'activation ou la désactivation du mode sécurisé puisque ces bits ne sont pas nécessaires pour spécifier les adresses du dispositif 102 de mémoire. Dans ce cas, le décodeur 264 d'adresse décode une telle adresse de CPU provenant du générateur 262 d'adresse pour activer ou désactiver le 19 signal SMI Enable pour activation ou désactivation du mode sécurisé. Par exemple, le décodeur 264 d'adresse inclut un filtre d'adresse qui détermine si chaque adresse de CPU provenant du générateur 262 d'adresse est une adresse sécurisée pour activation du mode sécurisé ou est une adresse non sécurisée pour désactivation du mode sécurisé. La figure 9 représente une variante de mode de réalisation de la présente invention avec un décodeur 265 d'adresse qui est formé à l'extérieur de la CPU 104. Le générateur 262 d'adresse de la figure 9 opère de façon similaire au générateur 262 d'adresse de la figure 8. Cependant, le sélecteur 112 de mode avec le décodeur 265 d'adresse est formé à l'extérieur de la CPU 104 à la figure 9 pour minimiser la modification de la CPU 104 du système électronique 100. Dans une variante de mode de réalisation de la présente invention, la figure 11 représente le sélecteur 112 de mode qui est réalisé avec un registre 750 d'indicateurs correspondant à une pluralité de registres 760 de donnée de la CPU 104. Chacun de la pluralité de registres 760 de donnée mémorise une donnée respective de CPU à traiter entre la CPU 104 et le dispositif 102 de mémoire. Lors de la génération d'une instruction d'écriture/lecture, la CPU 104 spécifie un identificateur respectif du registre (c'est-à-dire, un nom de registre correspondant) contenant la donnée de CPU. Le registre 750 d'indicateurs inclut une pluralité d'indicateurs de registre avec chaque indicateur de registre qui est réglé pour l'activation ou la désactivation respective pour l'un, correspondant, de la pluralité de registres 760. Par exemple, l'indicateur de registre n° 1 correspond au registre n° 1, l'indicateur de registre n° 2 correspond au registre n° 2, ..., et ainsi de suite. Le sélecteur 112 de mode de la figure 11 inclut un multiplexeur 752 d'indicateurs qui sort un indicateur de registre correspondant pour l'un des registres 760 choisi 20 par un signal de choix de registre "register select" pour sortir la donnée de CPU par l'intermédiaire d'un multiplexeur 762 de registres. Dans ce cas, la CPU 104 engendre l'instruction d'écriture/lecture incluant un nom de registre respectif correspondant à la donnée de CPU. Le signal register select est engendré en fonction du nom de registre respectif pour commander les multiplexeurs 752 et 762 pour sortir celui qui correspond des indicateurs 750 de registre et la donnée de CPU provenant de celui qui correspond des registres 760. L'indicateur de registre choisi provenant du multiplexeur 752 d'indicateurs est le signal SMI Enable. Dans le mode de réalisation de la figure 11, chaque indicateur dans les registres 750 d'indicateurs est programmable dans la CPU 104. Le mode de réalisation de la figure 11 est spécialement utile pour des mises en oeuvre de piles de la CPU 104, le registre 750 d'indicateur indiquant automatiquement l'accès sécurisé ou non sécurisé au dispositif 102 de mémoire pour chaque pointeur dans une mise en oeuvre de pile. La figure 12 représente une variante de mode de réalisation de la présente invention avec le sélecteur 112 de mode comportant à la fois le décodeur 264 ou 265 d'adresse et le registre 750 d'indicateur. Dans ce cas, on utilise à la fois le nom de registre et l'adresse de CPU dans l'information d'accès à la mémoire engendrée par la CPU 104 pour déterminer l'activation ou la désactivation du mode sécurisé d'après le tableau de la figure 12. En se référant à la première ligne 771 du tableau de la figure 12, l'indicateur pour le nom de registre indique la désactivation du mode sécurisé, et l'adresse de CPU indique la désactivation du mode sécurisé. Dans ce cas, le signal SMI Enable est désactivé pour désactivation du mode sécurisé. En se référant à la deuxième ligne 772 du tableau de la figure 12, l'indicateur pour le nom de registre indique la désactivation du mode sécurisé, mais l'adresse 21 de CPU indique l'activation du mode sécurisé. Dans ce cas, le signal SMI Enable est activé pour activation du mode sécurisé. En se référant à la troisième ligne 773 du tableau de la figure 12, l'indicateur pour le nom de registre indique l'activation du mode sécurisé, mais l'adresse de CPU indique la désactivation du mode sécurisé. Dans ce cas, le signal SMI Enable est activé pour activation du mode sécurisé. En se référant à la quatrième ligne 774 du tableau la figure 12, l'indicateur pour le nom de registre indique l'activation du mode sécurisé, et l'adresse de CPU indique l'activation du mode sécurisé. Dans ce cas, le signal SMI Enable est activé pour activation du mode sécurisé. De cette manière à la figure 12, le signal SMI Enable est activé pour activation du mode sécurisé lorsqu'au moins l'un du nom de registre ou de l'adresse de CPU indique l'activation du mode sécurisé. Des exemples d'information d'accès à la mémoire engendrée par la CPU 104 incluent une série d'instructions 20 de lecture/écriture comme suit : write 8 RO @0xiOO secure write 16 A8 @Ox1OA read 8 R1 @0x102 secure read 24 A8 @Ox1OA 25 L'instruction prise comme exemple "write 8 RO @OxiOO" inclut le nom d'instruction "write 8" indiquant une écriture normale avec désactivation du mode sécurisé et avec une longueur de donnée de CPU de 8 bits. Une telle instruction inclut aussi le nom de registre "RO" contenant 30 la donnée de CPU à écrire dans le dispositif 102 de mémoire et inclut l'adresse de CPU "0xlOO" pour indiquer l'adresse du dispositif 102 de mémoire à laquelle on doit accéder pour l'opération d'écriture. L'instruction prise comme exemple "secure write 16 A8 35 @Ox1OA " inclut le nom d'instruction "secure write 16" indiquant une écriture sécurisée avec activation du mode 22 sécurisé et avec une longueur de donnée de CPU de 16 bits. Une telle instruction inclut aussi le nom de registre "A8" contenant la donnée de CPU à écrire dans le dispositif 102 de mémoire et inclut l'adresse de CPU "OxlOA" pour indiquer l'adresse du dispositif 102 de mémoire à laquelle on doit accéder pour l'opération d'écriture. L'instruction prise comme exemple "read 8 R1 @Ox102" inclut le nom d'instruction "read 8" indiquant une lecture normale avec désactivation du mode sécurisé et avec une longueur de donnée de CPU de 8 bits. Une telle instruction inclut aussi le nom de registre "R1" destiné à recevoir la donnée lue dans le dispositif 102 de mémoire et inclut l'adresse de CPU "0x102" pour indiquer l'adresse du dispositif 102 de mémoire à laquelle on doit accéder pour l'opération de lecture. L'instruction prise comme exemple "secure read 24 A8 @OxiOA" inclut le nom d'instruction "secure read 24" indiquant une lecture sécurisée avec activation du mode sécurisé et avec une longueur de donnée de CPU de 24 bits. Une telle instruction inclut aussi le nom de registre "A8" destiné à recevoir la donnée lue dans le dispositif 102 de mémoire et inclut l'adresse de CPU "OxlOA" pour indiquer l'adresse du dispositif 102 de mémoire à laquelle on doit accéder pour l'opération de lecture. En retournant aux figures 3 et 14, lorsque le mode sécurisé est désactivé comme indiqué par le signal SMI Enable (étape S703 de la figure 14) le mélangeur 206 sort la donnée mélangée simplement en tant que donnée de CPU (c'est-à-dire, la donnée initiale d'écriture) vers le FSM 208 d'écriture en mémoire (étape S704 de la figure 14). À la suite de quoi, le FSM 208 d'écriture en mémoire passe la donnée de CPU (c'est-à-dire la donnée initiale d'écriture) en tant que donnée de mémoire et l'adresse de CPU en tant qu'adresse de mémoire au dispositif 102 de mémoire avec l'activation du signal de validation d'écriture (étape S707 de la figure 14). Ainsi, cette 23 donnée de mémoire est écrite à cette adresse de mémoire du dispositif 102 de mémoire. La longueur de donnée de mémoire écrite dans le dispositif 102 de mémoire dépend de la sortie du sélecteur 202 de longueur comme décrit ci-dessus en se référant aux figures 4 et 13. En variante, lorsque le mode sécurisé est activé comme indiqué par le signal SMI Enable (étape S703 de la figure 14), le codeur engendre, à partir de la CPU 104, le code de détection d'erreur (EDC) en utilisant la donnée de CPU (c'est-à-dire la donnée initiale d'écriture) et/ou l'adresse de CPU correspondante. Le nombre de bits du code de détection d'erreur (EDC) dépend de la longueur de donnée de CPU (étape S705 de la figure 14) comme décrit ci-dessus en se référant aux figures 5, 16A et 16B. Ce code de détection d'erreur (EDC) est mélangé avec la donnée de CPU (c'est-à-dire, la donnée initiale d'écriture) par le mélangeur 206 pour engendrer une donnée d'écriture mélangée (étape S706 de la figure 14) avec un nombre de bits dépendant de la longueur de donnée de CPU. À la suite de quoi, le FSM 208 d'écriture en mémoire engendre la donnée de mémoire (c'est-à-dire, la donnée finale d'écriture) et l'adresse de mémoire à partir de cette donnée d'écriture mélangée (étape S707 de la figure 14). Le nombre de bits de la donnée de mémoire dépend des signaux "8", "16" et "32" de longueur de donnée de mémoire provenant du sélecteur 202 de longueur comme décrit ci-dessus en se référant aux figures 4 et 13. Le dispositif 102 de mémoire reçoit et mémorise cette donnée de mémoire à cette adresse de mémoire du dispositif 102 de mémoire. De cette manière, la donnée de mémoire telle que mémorisée dans le dispositif 102 de mémoire lorsque le mode sécurisé est activé incorpore le code de détection d'erreur (EDC) pour une opération d'écriture sécurisée à l'étape S707 de la figure 14. La figure 6 montre un schéma fonctionnel du bloc lecteur 116 de la figure 2, selon un exemple de mode de 24 réalisation de la présente invention. Le bloc lecteur 116 inclut un sélecteur 252 de longueur, un codeur 254, un séparateur 256, un FSM 258 (automate fini) de lecture en mémoire et un comparateur 260. Selon un exemple de mode de réalisation de la présente invention, le sélecteur 252 de longueur et le codeur 254 du bloc lecteur 116 de la figure 6 sont réalisés de façon similaire au sélecteur 202 de longueur et au codeur 204 du bloc enregistreur 114 de la figure 3. Le séparateur 256 du bloc lecteur 116 de la figure 6 opère en sens inverse du mélangeur 206 du bloc enregistreur 114 de la figure 3 pour séparer le code de détection d'erreur de la donnée. En se référant aux figures 2 et 6, l'interface 108 de mémoire sécurisée et les composants 252, 254, 256, 258 et 260 du bloc lecteur 116 opèrent en outre selon l'organigramme de la figure 15 lorsque la CPU 104 accède au dispositif 102 de mémoire pour une opération de lecture. La CPU 104 engendre de l'information d'accès à la mémoire comme une instruction de lecture incluant un nom d'instruction de lecture et une adresse de CPU indiquant une adresse du dispositif de mémoire à laquelle on doit accéder (étape S801 de la figure 15). L'adresse de CPU indique l'emplacement du dispositif 102 de mémoire qui doit être lu. Le sélecteur 112 de mode détermine à partir de l'information d'accès de lecture à la mémoire si le mode sécurisé est activé par la CPU (étape S802 de la figure 15). Le sélecteur 112 de mode peut être réalisé selon l'un quelconque des exemples de mode de réalisation des figures 7, 8, 9, 10, 11 et 12 comme décrit ci-dessus. En plus, le FSM 258 de lecture en mémoire passe l'adresse de CPU en tant qu'adresse de mémoire au dispositif 102 de mémoire avec l'activation du signal de validation de lecture (étape S803 de la figure 15). À la suite de quoi le dispositif 102 de mémoire transfère la donnée de mémoire en tant que donnée initiale de lecture de 25 cette adresse de mémoire du dispositif 102 de mémoire au FSM 258 de lecture en mémoire (étape S804 de la figure 15). Le nombre de bits de la donnée initiale de lecture dépend des signaux "8", "16" et "32" de longueur de donnée de mémoire provenant du sélecteur 252 de longueur comme décrit ci-dessus en se référant aux figures 4 et 13. Lorsque le mode sécurisé est désactivé comme indiqué par le signal SMI Enable (étape S805 de la figure 15), le séparateur 256 engendre la donnée finale de lecture (c'est- à-dire, la donnée de CPU) à partir de la donnée initiale de lecture sans séparer aucun code de détection d'erreur de la donnée initiale de lecture (étape S806 de la figure 15). La donnée finale de lecture (c'est-à-dire, la donnée de CPU) est transférée à la CPU 104 avec le nombre de bits de la donnée finale de lecture correspondant à celui qui est activé des signaux "8", "16" et "24" de longueur de donnée de CPU. Comme variante, lorsque le mode sécurisé est activé comme indiqué par le signal SMI Enable (étape S805 de la figure 15), le séparateur 256 engendre la donnée finale de lecture (c'est-à-dire, la donnée de CPU) à partir de la donnée initiale de lecture en séparant le code de détection d'erreur de la donnée initiale de lecture (étape S807 de la figure 15). À la suite de quoi, le codeur 254 engendre un code de détection d'erreur (EDC) escompté en utilisant au moins l'une de l'adresse de CPU et de la donnée finale de lecture (étape S808 de la figure 15). Après quoi, le comparateur 260 engendre un signal de détection d'erreur (SMI Error) par comparaison de cet EDC escompté provenant du codeur 254 avec l'EDC calculé extrait de la donnée initiale de lecture par le séparateur 256 (étape S809 de la figure 15). Si l'EDC escompté provenant du codeur 254 n'est pas pratiquement le même que l'EDC calculé extrait de la donnée initiale de lecture par le séparateur 256, le comparateur 260 active le signal SMI Error pour indiquer la détection 26 d'une injection de défauts dans la donnée initiale de lecture reçue par le FSM 258 de lecture en mémoire. Le système électronique 100 est averti d'une telle injection de défauts dans la donnée initiale de lecture. Dans un mode de réalisation de la présente invention, le bloc enregistreur 114 et le bloc lecteur 116 sont chacun réalisés à l'aide de portes logiques matérielles dans la CPU 104. De telles portes logiques matérielles supplémentaires occupent une superficie de silicium relativement petite de la CPU 104. L'injection de défauts est détectée pour des données sécurisées comme spécifié par la CPU 104 en utilisant les blocs lecteur et enregistreur 114 et 116 réalisés en matériel dans la CPU 104. Ainsi, l'augmentation de la superficie de silicium pour de tels blocs lecteur et enregistreur 114 et 116 est insignifiante pour le dispositif 102 de mémoire de grande capacité. De plus, l'injection de défauts à l'intérieur du dispositif 102 de mémoire ou au niveau du bus 106 entre le dispositif 102 de mémoire et la CPU 104 est efficacement détecté. En plus, la CPU 104 peut spécifier de façon souple la longueur et l'emplacement des données sécurisées mémorisées dans le dispositif 102 de mémoire quelle que soit la capacité du dispositif 102 de mémoire. Ce qui précède a été décrit à titre d'exemple seulement et n'est pas destiné à être limitatif. Ainsi, le nombre des éléments tels qu'ils sont représentés et décrits ici est seulement à titre d'exemple. De plus, les composants du bloc enregistreur 114 et du bloc lecteur 116 peuvent être facilement réalisés à l'aide de portes logiques matérielles étant donné la description des composants qui s'y trouvent selon un exemple de mode de réalisation de la présente invention. Cependant, la présente invention peut aussi être mise en pratique avec des composants du bloc enregistreur 114 et du bloc lecteur 116 qui seraient réalisés avec une combinaison de matériel et/ou de logiciel. REVENDICATIONS1. Interface (108) de mémoire sécurisée caractérisée en ce qu'elle comprend : un bloc lecteur (116) qui engendre une donnée finale de lecture à transférer à une unité (104) de traitement de données en enlevant un code de détection d'erreur (EDC) d'une donnée initiale de lecture transférée par un dispositif (102) de mémoire lorsqu'un mode sécurisé est activé ; et un sélecteur (112) de mode destiné à activer ou désactiver le mode sécurisé en utilisant de l'information d'accès à la mémoire provenant de l'unité (104) de traitement de données. 2. Interface de mémoire securisée selon la revendication 1, caractérisée en ce que le bloc lecteur (116) engendre la donnée finale de lecture à partir de la donnée initiale de lecture sans séparer aucun code de détection d'erreur (EDC) lorsque le mode sécurisé est désactivé. 3. Interface de mémoire sécurisée selon la revendication 2, caractérisée en ce que l'information d'accès à la mémoire inclut un nom d'instruction, et en ce que le sélecteur (112) de mode inclut : un décodeur (112) d'instruction qui active le mode sécurisé lorsque le nom d'instruction est pour une instruction de lecture sécurisée, et qui désactive le mode sécurisé lorsque le nom d'instruction est pour une instruction de lecture normale. 4. Interface de mémoire sécurisée selon la revendication 3, caractérisée en ce que le bloc lecteur (116) et le décodeur (112) d'instruction sont disposés dans l'unité (104) de traitement de données qui est une CPU (unité centrale de traitement). 5. Interface de mémoire sécurisée selon la 35 revendication 2, caractérisée en ce que l'information d'accès à la mémoire inclut une adresse du dispositif (102) 28 de mémoire à laquelle on doit accéder pour la donnée initiale de lecture, et en ce que le sélecteur (112) de mode inclut . un décodeur (264) d'adresse qui active le mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est une adresse sécurisée et qui désactive le mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est une adresse non sécurisée. 6. Interface de mémoire securisée selon la revendication 5, caractérisée en ce que le décodeur (265) d'adresse est disposé à l'extérieur de l'unité (104) de traitement de données qui est une CPU (unité centrale de traitement) pour engendrer l'adresse du dispositif (102) de mémoire à laquelle on doit accéder. 7. Interface de mémoire sécurisée selon la revendication 2, caractérisée en ce que l'information d'accès à la mémoire inclut un nom de registre, et en ce que le sélecteur (112) de mode inclut : un indicateur (750) de registre respectif qui indique si le nom de registre correspond à l'activation ou à la désactivation du mode sécurisé. 8. Interface de mémoire securisée selon la revendication 7, caractérisé en ce que le bloc lecteur (116) et l'indicateur (750) de registre respectif sont disposés dans l'unité (114) de traitement de données qui est une CPU. 9. Interface de mémoire securisée selon la revendication 1, caractérisée en ce que le bloc lecteur 30 (116) inclut : un séparateur (256) destiné à engendrer la donnée finale de lecture en enlevant le code de détection d'erreur (EDC) de la donnée initiale de lecture lorsque le mode sécurisé est activé, et à engendrer la donnée finale de 35 lecture à partir de la donnée initiale de lecture sans 29 enlever aucun code de détection d'erreur lorsque le mode sécurisé est désactivé ; un codeur (254) destiné à engendrer un code de détection d'erreur (EDC) escompté à partir d'au moins l'une d'une adresse correspondante et de la donnée finale de lecture ; et un comparateur (260) destiné à engendrer un signal de détection d'erreur en comparant le code de détection d'erreur séparé de la donnée initiale de lecture avec le code de détection d'erreur escompté. 10. Interface de mémoire sécurisée selon la revendication 9, caractérisée en ce que le bloc lecteur (116) inclut en outre : un automate fini (258) destiné à lire la donnée initiale de lecture dans le dispositif (102) de mémoire en engendrant une adresse de mémoire et un signal de validation de lecture à partir de l'information d'accès à la mémoire ; et un sélecteur (252) de longueur destiné à commander l'automate fini (258) pour lire la donnée initiale de lecture avec une longueur de donnée de mémoire dépendant d'au moins un signal de commande de longueur de donnée qui commande aussi le fonctionnement du codeur (254) et du séparateur (256). 11. Interface de mémoire sécurisée selon la revendication 10, caractérisée en ce que la longueur de donnée de mémoire correspond audit dispositif (102) de mémoire, et en ce que l'au moins un signal de commande de longueur de donnée correspond à une longueur de données de traitement de l'unité (104) de traitement de données. 12. Interface de mémoire securisée selon la revendication 11, caractérisée en ce que l'unité (104) de traitement de données est une CPU séparée du dispositif de mémoire par un bus. 13. Interface de mémoire sécurisée selon la revendication 12, caractérisée en ce que l'unité (104) de 30 traitement de données et le dispositif de mémoire sont fabriqués sur un même circuit intégré. 14. Interface de mémoire securisée selon la revendication 12, caractérisée en ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire sont fabriqués sur deux circuits intégrés distincts. 15. Interface de mémoire sécurisée selon la revendication 1, caractérisée en ce qu'elle comprend en outre : un bloc enregistreur (114) qui engendre une donnée finale d'écriture à écrire dans le dispositif (102) de mémoire à partir d'une donnée initiale d'écriture et d'un code de détection d'erreur (EDC) lorsque le mode sécurisé est activé ; et en ce que le bloc enregistreur (114) engendre la donnée finale d'écriture à partir de la donnée initiale d'écriture sans le code de détection d'erreur lorsque le mode sécurisé est désactivé. 16. Interface de mémoire sécurisée selon la revendication 15, caractérisée en ce que le bloc enregistreur (114) et le bloc lecteur (116) sont réalisés à l'aide de portes logiques matérielles. 17. Interface de mémoire sécurisée, caractérisée en ce qu'elle comprend : un bloc enregistreur (114) qui engendre une donnée finale d'écriture à écrire dans le dispositif (102) de mémoire à partir d'une donnée initiale d'écriture et d'un code de détection d'erreur (EDC) lorsque le mode sécurisé est activé ; et un sélecteur (112) de mode destiné à activer ou à désactiver le mode sécurisé en utilisant de l'information d'accès à la mémoire provenant d'une unité (104) de traitement de données. 18. Interface de mémoire sécurisée selon la revendication 17, caractérisée en ce que le bloc enregistreur (114) engendre la donnée finale d'écriture à 31 partir de la donnée initiale d'écriture sans le code de détection d'erreur (EDC) lorsque le mode sécurisé n'est pas activé. 19. Interface de mémoire securisée selon la revendication 18, caractérisée en ce que l'information d'accès à la mémoire inclut un nom d'instruction, et en ce que le sélecteur (112) de mode inclut : un décodeur (112) d'instruction qui active le mode sécurisé lorsque le nom d'instruction est pour une instruction d'écriture sécurisée, et qui désactive le mode sécurisé lorsque le nom d'instruction est pour une instruction d'écriture normale. 20. Interface de mémoire sécurisée selon la revendication 18, caractérisée en ce que l'information d'accès à la mémoire inclut une adresse du dispositif (102) de mémoire à laquelle on doit accéder, et en ce que le sélecteur (112) de mode inclut : un décodeur d'adresse qui active le mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est une adresse sécurisée, et qui désactive le mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est une adresse non sécurisée. 21. Interface de mémoire sécurisée selon la revendication 18, caractérisée en ce que l'information d'accès à la mémoire inclut un nom de registre, et en ce que le sélecteur (112) de mode inclut : un indicateur (750) de registre respectif qui indique si le nom de registre correspond à l'activation ou à la 30 désactivation du mode sécurisé. 22. Interface de mémoire sécurisée selon la revendication 18, caractérisée en ce que le bloc enregistreur (114) inclut : un codeur (204) destiné à engendrer le code de 35 correction d'erreur (EDC) à partir d'au moins l'une d'une 32 adresse correspondante et de la donnée initiale d'écriture ; et un mélangeur (206) destiné à engendrer une donnée mélangée d'écriture à partir de la donnée initiale d'écriture et du code de détection d'erreur lorsque le mode sécurisé est activé et à partir de la donnée initiale d'écriture sans le code de correction d'erreur lorsque le mode sécurisé est désactivé ; et en ce que la donnée mélangée d'écriture détermine la 10 donnée finale d'écriture. 23. Interface de mémoire sécurisée selon la revendication 22, caractérisée en ce que le bloc enregistreur (114) inclut en outre : un automate fini (208) destiné à engendrer, à partir 15 de la donnée mélangée, la donnée finale d'écriture, un signal de validation d'écriture, et une adresse de mémoire du dispositif (102) de mémoire destinée à mémoriser la donnée finale d'écriture ; et un sélecteur (202) de longueur destiné à commander 20 l'automate fini (208) pour engendrer la donnée finale d'écriture avec une longueur de donnée de mémoire en fonction d'au moins un signal de commande de longueur de donnée qui commande aussi le fonctionnement du codeur (204) et du mélangeur (206) ; et 25 en ce que l'au moins un signal de commande de longueur de donnée correspond à une longueur de donnée de traitement de l'unité (104) de traitement de données. 24. Interface de mémoire securisée selon la revendication 23, caractérisée en ce que l'unité (104) de 30 traitement de données est une CPU séparée du dispositif (102) de mémoire par un bus. 25. Interface de mémoire sécurisée selon la revendication 24, caractérisée en ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire 35 sont fabriqués sur un même circuit intégré. 33 26. Interface de mémoire securisée selon la revendication 24, caractérisée en ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire sont fabriqués sous forme de deux circuits intégrés distincts. 27. Procédé d'accès sécurisé à un dispositif (102) de mémoire, caractérisé en ce qu'il comprend : la génération d'une donnée finale de lecture à transférer à une unité (104) de traitement de données en enlevant un code de détection d'erreur (EDC) d'une donnée initiale de lecture transférée par le dispositif (102) de mémoire lorsqu'un mode sécurisé est activé ; et l'activation ou la désactivation du mode sécurisé en utilisant de l'information d'accès à la mémoire provenant 15 de l'unité (104) de traitement de données. 28. Procédé selon la revendication 27, caractérisé en ce qu'il comprend en outre : la génération de la donnée finale de lecture à partir de la donnée initiale de lecture sans séparer aucun code de 20 détection d'erreur (EDC) lorsque le mode sécurisé est désactivé. 29. Procédé selon la revendication 28, caractérisé en ce que l'information d'accès à la mémoire inclut un nom d'instruction, et en ce que le procédé inclut en outre : 25 l'activation du mode sécurisé lorsque le nom d'instruction est pour une instruction de lecture sécurisée ; et la désactivation du mode sécurisé lorsque le nom d'instruction est pour une instruction de lecture normale. 30 30. Procédé selon la revendication 28, caractérisé en ce que l'information d'accès à la mémoire inclut une adresse du dispositif (102) de mémoire à laquelle on doit accéder pour la donnée initiale de lecture, et en ce que le procédé inclut en outre :34 l'activation du mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est une adresse sécurisée ; et la désactivation du mode sécurisé lorsque l'adresse du 5 dispositif (102) de mémoire à laquelle on doit accéder est une adresse non sécurisée. 31. Procédé selon la revendication 28, caractérisé en ce que l'information d'accès à la mémoire inclut un nom de registre, et en ce qu'un indicateur de registre respectif 10 indique si le nom de registre correspond à l'activation ou à la désactivation du mode sécurisé. 32. Procédé selon la revendication 28, caractérisé en ce qu'il comprend en outre : la génération d'un code de détection d'erreur (EDC) 15 escompté à partir d'au moins l'une d'une adresse correspondante et de la donnée finale de lecture ; et la génération d'un signal de détection d'erreur en comparant le code de détection d'erreur séparé de la donnée initiale de lecture avec le code de détection d'erreur 20 escompté. 33. Procédé selon la revendication 32, caractérisé en ce qu'il comprend en outre : la lecture de la donnée initiale de lecture dans le dispositif (102) de mémoire en engendrant une adresse de 25 mémoire et un signal de validation de lecture à partir de l'information d'accès à la mémoire ; et la commande de l'automate fini (258) pour lire la donnée initiale de lecture avec une longueur de donnée de mémoire dépendant d'au moins un signal de commande de 30 longueur de donnée ; et en ce que l'au moins un signal de commande de longueur de donnée correspond à une longueur de donnée de traitement de l'unité (104) de traitement de données. 34. Procédé selon la revendication 33, caractérisé en 35 ce que l'unité (104) de traitement de données est une CPU séparée du dispositif (102) de mémoire par un bus. 35 35. Procédé selon la revendication 34, caractérisé en ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire sont fabriqués sur un même circuit intégré. 36. Procédé selon la revendication 34, caractérisé en ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire sont fabriqués sur deux circuits intégrés distincts. 37. Procédé selon la revendication 27, caractérisé en 10 ce qu'il comprend en outre : la génération d'une donnée finale d'écriture à écrire dans le dispositif (102) de mémoire à partir d'une donnée initiale d'écriture et d'un code de détection d'erreur (EDC) lorsque le mode sécurisé est activé ; et 15 la génération de la donnée finale d'écriture à partir de la donnée initiale d'écriture sans le code de détection d'erreur lorsque le mode sécurisé est désactivé. 38. Procédé d'accès sécurisé à un dispositif (102) de mémoire, caractérisé en ce que le procédé comprend : 20 la génération d'une donnée finale d'écriture à écrire dans le dispositif (102) de mémoire à partir d'une donnée initiale d'écriture et d'un code de détection d'erreur (EDC) lorsque le mode sécurisé est activé ; et l'activation ou la désactivation du mode sécurisé en 25 utilisant de l'information d'accès à la mémoire provenant d'une unité de traitement de données. 39. Procédé selon la revendication 38, caractérisé en ce qu'il comprend en outre : la génération de la donnée finale d'écriture à partir 30 de la donnée initiale d'écriture sans le code de détection d'erreur (EDC) lorsque le mode sécurisé est désactivé. 40. Procédé selon la revendication 39, caractérisé en ce que l'information d'accès à la mémoire inclut un nom d'instruction, et en ce que le procédé inclut en outre : 36 l'activation du mode sécurisé lorsque le nom d'instruction est pour une instruction d'écriture sécurisée ; et la désactivation du mode sécurisé lorsque le nom d'instruction est pour une instruction d'écriture normale. 41. Procédé selon la revendication 39, caractérisé en ce que l'information d'accès à la mémoire inclut une adresse du dispositif (102) de mémoire à laquelle on doit accéder, et en ce que le procédé inclut en outre : l'activation du mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est une adresse sécurisée ; et la désactivation du mode sécurisé lorsque l'adresse du dispositif (102) de mémoire à laquelle on doit accéder est 15 une adresse non sécurisée. 42. Procédé selon la revendication 39, caractérisé en ce que l'information d'accès à la mémoire inclut un nom de registre, et en ce qu'un indicateur de registre respectif indique si le nom de registre correspond à l'activation ou 20 à la désactivation du mode sécurisé. 43. Procédé selon la revendication 39, caractérisé en ce qu'il comprend en outre : la génération du code de correction d'erreur (EDC) à partir d'au moins l'une de la donnée initiale d'écriture et 25 d'une adresse correspondante ; et la génération d'une donnée mélangée d'écriture à partir de la donnée initiale d'écriture et du code de détection d'erreur (EDC) lorsque le mode sécurisé est activé et à partir de la donnée initiale d'écriture sans le 30 code de détection d'erreur lorsque le mode sécurisé est désactivé ; et en ce que la donnée mélangée d'écriture détermine la donnée finale d'écriture. 44. Procédé selon la revendication 43, caractérisé en 35 ce qu'il comprend en outre : 37 la génération, à partir de la donnée mélangée, de la donnée finale d'écriture, d'un signal de validation d'écriture, et d'une adresse de mémoire du dispositif (102) de mémoire destinée à mémoriser la donnée finale d'écriture ; et la génération de la donnée finale d'écriture avec une longueur de donnée de mémoire en fonction d'au moins un signal de commande de longueur de donnée ; et en ce que l'au moins un signal de commande de longueur 10 de donnée correspond à une longueur de donnée de traitement de l'unité (104) de traitement de données. 45. Procédé selon la revendication 44, caractérisé en ce que l'unité (104) de traitement de données est une CPU séparée du dispositif (102) de mémoire par un bus. 15 46. Procédé selon la revendication 45, caractérisé en ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire sont fabriqués sur un même circuit intégré. 47. Procédé selon la revendication 45, caractérisé en 20 ce que l'unité (104) de traitement de données et le dispositif (102) de mémoire sont fabriqués sous forme de deux circuits intégrés distincts. 48. Procédé d'accès à un dispositif (102) de mémoire, caractérisé en ce que le procédé comprend : 25 la génération d'une information d'accès à la mémoire incluant au moins 1 bit d'adresse ou un nom de registre qui spécifie un type d'accès au dispositif (102) de mémoire ; et l'accès au dispositif (102) de mémoire en fonction du 30 type d'accès tel qu'il est spécifié par l'information d'accès à la mémoire. 49. Procédé selon la revendication 48, caractérisé en ce que le type d'accès inclut un accès sécurisé ou un accès non sécurisé. 35 50. Procédé selon la revendication 48, caractérisé en ce que l'au moins un bit d'adresse engendré par l'unité 38 (104) de traitement de données détermine le type d'accès au dispositif (102) de mémoire. 51. Procédé selon la revendication 48, caractérisé en ce que le nom de registre engendré par l'unité (104) de traitement de données détermine le type d'accès au dispositif (102) de mémoire. 52. Système électronique, caractérisé en ce qu'il comprend : un dispositif (102) de mémoire ; une unité de traitement de données destinée à engendrer une information d'accès à la mémoire incluant au moins 1 bit d'adresse ou un nom de registre qui spécifie un type d'accès au dispositif (102) de mémoire ; et une unité d'interface destinée à accéder au dispositif 15 (102) de mémoire en fonction du type d'accès tel qu'il est spécifié par l'information d'accès à la mémoire. 53. Système électronique selon la revendication 52, caractérisé en ce que le type d'accès inclut un accès sécurisé ou un accès non sécurisé. 20 54. Système électronique selon la revendication 52, caractérisé en ce que l'au moins un bit d'adresse engendré par l'unité (104) de traitement de données détermine le type d'accès au dispositif (102) de mémoire. 55. Système électronique selon la revendication 52, 25 caractérisé en ce que le nom de registre engendré par l'unité (104) de traitement de données détermine le type d'accès au dispositif (102) de mémoire.