Brevet FR2786911A1 — publié le 20000609

I MEMOIRE EEPROM SECURISEE COMPORTANT DES MOYENS DE DETECTION D'EFFACEMENT PAR UV La présente invention concerne une mémoire non volatile modifiable électriquement sécurisée comportant des moyens pour détecter si elle a été effacée par exposition à un rayonnement ultraviolet. On entend par mémoire EEPROM sécurisée, toute mémoire dont l'accès en écriture est limité de manière à protéger son contenu. La protection peut être soit logicielle, soit matérielle. Ce type de mémoire EEPROM est notamment protégé contre l'effacement électrique de ses cellules. Une technique imaginée par certains fraudeurs pour contourner la protection contre l'effacement électrique, consiste à effectuer un effacement par rayonnement ultraviolet (UV) bien que ces mémoires soient théoriquement protégées par leur boitier contre un tel effacement. En effet, ils ouvrent le boitier de la mémoire pour accéder à son plan mémoire et modifient l'état des cellules de la mémoire en les exposant à un rayonnement ultraviolet. Cet effacement frauduleux ne stoppe pas forcément l'exécution de l'application dans laquelle la mémoire est utilisée et la fraude n'est donc pas forcément détectée. Le but de l'invention est de proposer une mémoire EEPROM sécurisée permettant de détecter cette fraude et de savoir si les cellules de la mémoire ont été soumises à un rayonnement ultraviolet. Aussi, l'invention a pour objet une mémoire non volatile modifiable électriquement sécurisée comportant une matrice de cellules mémoire et des moyens de lecture et d'écriture desdites cellules mémoire, ladite mémoire étant caractérisée en ce qu'elle comporte en outre au moins une cellule mémoire supplémentaire, appelée cellule témoin, et des moyens de lecture associés aptes à détecter si ladite cellule témoin a été effacée par un rayonnement ultraviolet en ce qu'à chaque accès à la mémoire, la cellule témoin est lue par lesdits moyens de lecture associés. Dans sa version la plus simple, la mémoire EEPROM sécurisée de l'invention comporte une cellule témoin unique. Selon un premier mode de réalisation de l'invention, la cellule témoin est initialement dans un état électrique effacé et, pour détecter si ladite cellule témoin a été effacée par un rayonnement ultraviolet, lesdits moyens de lecture associés présentent un seuil de détection dont la valeur est comprise entre la valeur de seuil de conduction d'une cellule effacée électriquement et la valeur de seuil de conduction d'une cellule effacée par rayonnement ultraviolet. Selon un second mode de réalisation de l'invention, la cellule témoin est initialement dans un état électrique programmé et, pour détecter si ladite cellule témoin a été effacée par un rayonnement ultraviolet, lesdits moyens de lecture associés présentent un seuil de détection dont la valeur est comprise entre la valeur de seuil de conduction d'une cellule programmée électriquement et la valeur de seuil de conduction d'une cellule effacée par rayonnement ultraviolet. Alors, si l'état de la cellule témoin détecté par les moyens de lecture associés est différent de son état électrique initial, cela indique que la mémoire a été soumise à un rayonnement ultraviolet et le fonctionnement de la mémoire est alors neutralisé. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés, parmi lesquels: - la figure 1 représente un exemple de réalisation d'une mémoire EEPROM selon l'invention, et - la figure 2 représente les seuils de conduction possibles d'une cellule mémoire et le seuil de détection des moyens de lecture de la cellule témoin selon l'invention. La mémoire EEPROM sécurisée illustrée à la figure 1 comprend une matrice principale 1 de cellules mémoire adressables par un décodeur de lignes 2 et un décodeur de colonnes 3. Le décodeur de colonnes 3 est associé à des circuits de lecture et d'écriture 4 des cellules de la matrice principale. Des moyens de programmation 5 sont prévus pour fournir les tensions nécessaires à l'écriture des cellules de la mémoire. Les décodeurs de lignes 2 et de colonnes 3 sont reliés à un registre d'adresses AD R. Les circuits de lecture et d'écriture sont reliés à un registre de données d'entrée DTIR et à un registre de données de sortie DTOR. Ces trois registres communiquent avec un circuit d'interface 6. Dans l'exemple représenté à la figure 1, le circuit d'interface 6 de la mémoire est relié à un bus I2C comprenant notamment une ligne d'horloge SCL et une ligne bidirectionnelle SDA pour véhiculer les adresses, les données et les commandes. L'ensemble est commandé par un circuit de commande 7. Il est réalisé par exemple sous la forme d'un réseau logique programmable (PLA) et est conçu pour fournir des signaux de commande à tous les éléments de la mémoire en fonction des commandes revues par le circuit d'interface 6. Dans cet exemple, la mémoire est sécurisée par une protection logicielle mise en oeuvre dans le circuit de commande 7. Les cellules de la matrice 1 peuvent prendre trois états électriques possibles illustrés figure 2: - un état effacé, dans lequel la valeur du seuil de conduction des cellules est de 3 volts environ; - un état programmé, dans lequel la valeur du seuil de conduction des cellules est de -1 volt environ; - un état vierge, dans lequel la valeur du seuil de conduction des cellules est de 1 volt environ; c'est également l'état dans lequel se trouve une cellule mémoire qui a été effacée par un rayonnement ultraviolet. Pour la mise en oeuvre de l'invention, le schéma de la mémoire est complété par une cellule mémoire supplémentaire 8, appelée cellule témoin. Des moyens de lecture et d'écriture 9 sont reliés à ladite cellule. Les moyens 9 sont commandés par le circuit de commande 7. Les moyens de lecture et d'écriture 9 comportent notamment un amplificateur de lecture (appelé "SENSE" dans la littérature anglo-saxonne) qui a pour rôle de comparer la valeur du seuil de conduction de la cellule témoin avec celle d'un seuil de détection de référence. L'amplificateur de lecture délivre un "0" si la valeur du seuil de conduction de la cellule lue est supérieure à celle du seuil de référence, sinon il délivre un "1". La mémoire comporte en outre une bascule de sortie B dont l'entrée est connectée aux moyens de lecture et d'écriture 9 et dont la sortie est reliée au circuit d'interface 6. La cellule témoin 8 peut être placée à la périphérie de la matrice principale 1 ou, encore mieux, au coeur de cette matrice pour rendre sa localisation plus difficile. Cette cellule témoin est initialement dans un état programmé ou effacé, cette opération de programmation ou d'effacement étant effectuée en usine par le fabricant de la mémoire ou par le client lors de la réalisation d'une application utilisant cette mémoire. La cellule témoin est ensuite protégée contre tout accès en écriture par le circuit de commande 7 comme les autres cellules de la matrice 1. Avantageusement, on pourra également prévoir plusieurs cellules témoin réparties sur l'ensemble de la matrice principale 1 pour détecter toute exposition même partielle du plan mémoire à un rayonnement UV. Selon l'invention, l'état de la cellule témoin lu par les moyens de lecture 9 doit permettre de détecter si la mémoire a subi un effacement par rayonnement ultraviolet depuis le dernier accès à la mémoire. Ainsi, si la cellule témoin 8 est dans état initial effacé, on prévoit selon l'invention que le seuil de détection de l'amplificateur de lecture des moyens 9 ait une valeur comprise entre la valeur de seuil de conduction d'une cellule effacée électriquement et la valeur de seuil de conduction d'une cellule effacée par rayonnement ultraviolet. Ce seuil de détection est référencé Sl dans le diagramme de la figure 2. Il en résulte que, si les cellules de la mémoire n'ont pas été soumises à un rayonnement ultraviolet, la cellule témoin est restée dans son état initial effacé et les moyens 9 délivrent un "0" lors de la lecture de la cellule témoin. En revanche, si les cellules de la mémoire ont été effacées par ultraviolet, la cellule témoin est dans un état vierge et les moyens 9 délivrent un "1" lors de la lecture de cette cellule. Dans le cas o la cellule témoin serait initialement dans un état programmé, on prévoit selon l'invention que le seuil de détection de l'amplificateur de lecture des moyens 9 ait une valeur comprise entre la valeur de seuil de conduction d'une cellule programmée électriquement et la valeur de seuil de conduction d'une cellule effacée par rayonnement ultraviolet. Ce seuil de détection est référencé S2 dans le diagramme de la figure 2. De cette façon, si les cellules de la mémoire ont été soumises à un rayonnement ultraviolet, la cellule témoin est dans un état vierge et les moyens 9 délivrent un "0", sinon ils délivrent un "1". La cellule témoin 8 est lue à chaque accès mémoire. La valeur lue est ensuite mémorisée dans une bascule de sortie B dont l'entrée est reliée à la sortie des moyens de lecture 9 et dont la sortie est reliée au circuit d'interface 6. La mémorisation de la valeur lue par les moyens 9 dans la bascule B est déclenchée par le circuit de commande 7. La valeur mémorisée dans la bascule de sortie B est ensuite traitée par le circuit de commande 7 de la mémoire. Elle est par exemple comparée à la valeur de référence, "0" ou "1", correspondant à la valeur initiale mémorisée par le fabricant dans la cellule témoin 8 ("0" pour une cellule effacée et "1" pour une cellule programmée). Si ces valeurs sont différentes, il y a eu exposition des cellules mémoire à un rayonnement ultraviolet et le fonctionnement du circuit de commande 7 est alors bloqué. En variante, on peut prévoir de traiter la valeur mémorisée dans la bascule B par des circuits extérieurs à la mémoire, cette valeur leur étant transmise par l'intermédiaire du circuit d'interface 6. Ces circuits extérieurs sont par exemple les circuits nécessaires à la mise en oeuvre d'une application. Cette valeur est alors comparée dans ces circuits à la valeur initiale de la cellule témoin. Si les deux valeurs sont différentes, le déroulement de l'application est stoppé. REVENDICATIONS 1) Mémoire non volatile modifiable électriquement sécurisée comportant une matrice de cellules mémoire (1), des moyens de lecture et d'écriture (4) desdites cellules mémoire, ladite mémoire étant caractérisée en ce qu'elle comporte en outre au moins une cellule mémoire supplémentaire (8), appelée cellule témoin, et des moyens de lecture associés (9) aptes à détecter si ladite cellule témoin a été effacée par un rayonnement ultraviolet et en ce qu'à chaque accès à la mémoire, la cellule témoin (8) est lue par lesdits moyens de lecture associés (9). 2) Mémoire selon la revendication 1, caractérisée en ce qu'elle comporte une seule cellule témoin (8). 3) Mémoire selon la revendication 1 ou 2, caractérisée en ce que la cellule témoin (8) est initialement dans un état électrique effacé et en ce que, pour détecter si ladite cellule témoin a été effacée par un rayonnement ultraviolet, lesdits moyens de lecture associés (9) présentent un seuil de détection (Sl) dont la valeur est comprise entre la valeur de seuil de conduction d'une cellule effacée électriquement et la valeur de seuil de conduction d'une cellule effacée par rayonnement ultraviolet. 4) Mémoire selon la revendication 1 ou 2, caractérisée en ce que la cellule témoin (8) est initialement dans un état électrique programmé et en ce que, pour détecter si ladite cellule témoin a été effacée par un rayonnement ultraviolet, lesdits moyens de lecture associés (9) présentent un seuil de détection (S2) dont la valeur est comprise entre la valeur de seuil de conduction d'une cellule programmée électriquement et la valeur de seuil de conduction d'une cellule effacée par rayonnement ultraviolet. ) Mémoire selon l'une des revendications 1 à 4, caractérisée en ce qu'elle comporte une bascule de sortie (B) dans laquelle le résultat de la lecture de la cellule témoin (8) est mémorisé. 6) Mémoire selon la revendication 5, caractérisée en ce que, si l'état de la cellule témoin (8) mémorisé dans la bascule de sortie est différent de son état initial, le fonctionnement de la mémoire est neutralisé.