FR2890482A1 - Dispositif a semiconducteur utilisant un procede d'embrouillage / desembrouillage de memoire morte, et procede pour le faire fonctionner - Google Patents

Dispositif a semiconducteur utilisant un procede d'embrouillage / desembrouillage de memoire morte, et procede pour le faire fonctionner Download PDF

Info

Publication number
FR2890482A1
FR2890482A1 FR0653381A FR0653381A FR2890482A1 FR 2890482 A1 FR2890482 A1 FR 2890482A1 FR 0653381 A FR0653381 A FR 0653381A FR 0653381 A FR0653381 A FR 0653381A FR 2890482 A1 FR2890482 A1 FR 2890482A1
Authority
FR
France
Prior art keywords
key
semiconductor device
operation code
code
key generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0653381A
Other languages
English (en)
Other versions
FR2890482B1 (fr
Inventor
Eui Seung Kim
Jong Cheol Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of FR2890482A1 publication Critical patent/FR2890482A1/fr
Application granted granted Critical
Publication of FR2890482B1 publication Critical patent/FR2890482B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards

Landscapes

  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

Un dispositif à semiconducteur (200) comprend un processeur (230), une mémoire morte (210), un générateur de clé (260) et une unité de rétablissement (240). La mémoire morte stocke un code de fonctionnement embrouillé ou chiffré et une information de génération de clé. Le générateur de clé (260) génère une clé en utilisant l'information de génération de clé. L'unité de rétablissement (240) rétablit un code de fonctionnement original en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé générée.

Description

2890482 1
Le présent exposé concerne un dispositif à semiconducteur utilisant un procédé d'embrouillage / désembrouillage de mémoire morte et un procédé pour le mettre en oeuvre.
De façon générale, lorsqu'un dispositif à semiconducteur est mis sous tension, un processeur, par exemple une unité centrale de traitement (UC), lit un code de fonctionnement à une adresse spécifique dans une mémoire pour exécuter un traitement désiré par l'utilisateur. Le code de fonctionnement est généralement stocké dans une mémoire morte (ROM).
Pour la sécurité, on a utilisé un procédé d'embrouillage de mémoire morte pour éviter que le code de fonctionnement ne soit piraté. Le procédé d'embrouillage embrouille le code de fonctionnement en utilisant une clé d'embrouillage prédéterminée et stocke dans une mémoire morte le code de fonctionnement embrouillé. Le code de fonctionnement embrouillé est ensuite désembrouillé en utilisant une clé de désembrouillage avant qu'il ne puisse être exécuté. Une clé de désembrouillage est généralement la même qu'un clé d'embrouillage.
Cependant, dans le procédé d'embrouillage de mémoire morte, une clé pour désembrouiller un code de fonctionnement est généralement fixée. Par exemple, un code de fonctionnement embrouillé est désembrouillé en utilisant un clé câblée. Par conséquent, dans un dispositif à semiconducteur tel qu'une puce de carte intelligente, si différents clients utilisent le même type de dispositif ou si une version de son code de fonctionnement est actualisée, le code de fonctionnement est embrouillé / désembrouillé en utilisant la même clé.
Du fait que le code de fonctionnement peut être lu dans la mémoire morte en piratant une clé fixée, un niveau de sécurité du code de fonctionnement est faible. Il existe donc un besoin portant sur une technique d'embrouillage qui 2890482 2 soit capable d'augmenter un niveau de sécurité du code de fonctionnement dans une mémoire morte.
Conformément à un exemple de mode de réalisation, il est proposé un dispositif à semiconducteur qui comprend un processeur, une mémoire morte (ROM), un générateur de clé et une unité de restauration. La mémoire morte stocke un code de fonctionnement embrouillé ou chiffré et une information de génération de clé. Le générateur de clé génère une clé en utilisant l'information de génération de clé. L'unité de rétablissement rétablit le code de fonctionnement original en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé générée.
L'information de génération de clé peut inclure au moins une d'une information concernant le dispositif à semiconducteur et d'une information concernant une version du code de fonctionnement original. L'unité de rétablissement peut inclure au moins un d'un désembrouilleur et d'un dispositif de déchiffrement.
Le dispositif à semiconducteur peut inclure une unité de commande initiale qui commande l'information de génération de clé émise par une région de test de la mémoire morte au moment où de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur.
L'unité de commande initiale contient une adresse de la région de test qui stocke l'information de génération de clé.
Le générateur de clé génère un signal d'achèvement de génération de clé lorsque la clé est générée, et le processeur exécute le code de fonctionnement original rétabli en réponse à une version retardée du signal d'achèvement de génération de clé.
Le dispositif à semiconducteur peut inclure une bascule qui reçoit le signal d'achèvement de génération de clé, retarde le signal d'achèvement de génération de clé et émet vers le processeur une version retardée du signal d'achèvement de génération de clé.
Conformément à un exemple de mode de réalisation de la présente invention, il est proposé un dispositif à semiconducteur qui comprend un processeur, une mémoire morte et une unité de rétablissement. La mémoire morte stocke une clé et un code de fonctionnement embrouillé ou chiffré. L'unité de rétablissement lit la clé dans la mémoire morte et rétablit le code de fonctionnement original en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé, avant l'exécution du code de fonctionnement.
Le dispositif à semiconducteur peut inclure une unité de commande initiale qui commande l'émission de la clé à partir de la mémoire morte lorsque de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur.
La mémoire morte peut inclure une région d'utilisateur et une région de test avec le code de fonctionnement embrouillé ou chiffré stocké dans la région d'utilisateur et la clé stockée dans la région de test.
L'unité de commande initiale peut contenir une adresse de la région de test qui stocke la clé. La clé peut être stockée dans la mémoire morte pendant un processus de fabrication du dispositif à semiconducteur.
Conformément à un exemple de mode de réalisation de la présente invention, il est proposé un procédé pour faire fonctionner un dispositif à semiconducteur ayant une mémoire morte, un processeur, un générateur de clé et une unité de rétablissement. La mémoire morte stocke une information de génération de clé et un code de fonctionnement embrouillé ou chiffré. Le procédé comprend la lecture de l'information de génération de clé dans la mémoire morte au moment où de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur, la 2890482 4 génération d'une clé, dans le générateur de clé, en utilisant l'information de génération de clé, le rétablissement du code de fonctionnement original, dans l'unité de rétablissement, en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé, et l'exécution, au processeur, du code de fonctionnement original rétabli.
Le procédé peut en outre comprendre la génération, au générateur de clé, d'un signal d'achèvement de génération de clé lorsque la clé est générée. Le code de fonctionnement original peut être rétabli après la génération du signal d'achèvement de génération de clé.
L'information de génération de clé et le code de fonctionnement embrouillé ou chiffré peuvent être stockés dans la mémoire morte pendant un processus de fabrication du dispositif à semiconducteur. Une information de génération de clé différente peut être fixée pour chaque version du code de fonctionnement original.
Conformément à un exemple de mode de réalisation de la présente invention, il est proposé un procédé pour faire fonctionner un dispositif à semiconducteur ayant une mémoire morte, un processeur et une unité de rétablissement. La mémoire morte stocke une clé et un code de fonctionnement embrouillé ou chiffré. Le procédé comprend l'extraction, à partir de la mémoire morte, de la clé et du code de fonctionnement embrouillé ou chiffré, au moment où de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur, le rétablissement du code de fonctionnement original, dans l'unité de rétablissement, en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé extraite, et l'exécution, au processeur, du code de fonctionnement original rétabli.
2890482 5 La clé et le code de fonctionnement embrouillé ou chiffré peuvent être stockés dans la mémoire morte pendant un processus de fabrication du dispositif à semiconducteur. Une clé différente peut être fixée pour chaque version du code de fonctionnement original.
Les aspects ci-dessus de la présente invention, ainsi que d'autres, ressortiront davantage en décrivant en détail des exemples de modes de réalisation de celle-ci, en référence aux dessins annexés dans lesquels: la figure 1 est un schéma illustrant un procédé d'embrouillage / désembrouillage de mémoire morte (ROM) conforme à un exemple de mode de réalisation de la présente invention; la figure 2 est un schéma synoptique d'un 15 dispositif à semiconducteur conforme à un exemple de mode de réalisation de la présente invention; la figure 3 est un schéma synoptique illustrant une unité de commande initiale et une mémoire morte de la figure 2 en conformité avec un exemple de mode de réalisation de la présente invention; la figure 4 est un organigramme illustrant un procédé pour faire fonctionner un dispositif à semiconducteur en conformité avec un exemple de mode de réalisation de la présente invention; et la figure 5 est un organigramme illustrant un procédé pour faire fonctionner un dispositif à semiconducteur en conformité avec un exemple de mode de réalisation de la présente invention.
On va maintenant décrire la présente invention en détail en se référant aux dessins annexés, qui montrent des exemples de modes de réalisation de l'invention. Des numéros de référence semblables désignent des éléments semblables dans l'ensemble des dessins.
La figure 1 est un schéma illustrant un procédé 35 d'embrouillage / désembrouillage de mémoire morte (ROM) conforme à un exemple de mode de réalisation de la présente 2890482 6 invention. En se référant à la figure 1, on note qu'une information de génération de clé est stockée dans une région prédéterminée d'une mémoire morte. L'information de génération de clé est utilisée pour générer une clé de désembrouillage, et elle peut inclure une information concernant un dispositif à semiconducteur (non représenté) et une information concernant une version de code de fonctionnement. En outre, un code embrouillé est également stocké dans la région prédéterminée de la mémoire morte. Le code embrouillé est un code de fonctionnement obtenu en embrouillant un code de fonctionnement original par l'utilisation d'une clé d'embrouillage. Ici, la clé d'embrouillage est la même que la clé de désembrouillage.
La région prédéterminée de la mémoire morte est divisée en une région d'utilisateur et une région de test. Le code embrouillé peut être stocké dans la région d'utilisateur, et l'information de génération de clé peut être stockée dans la région de test. La région de test est une région de la mémoire morte dans laquelle le code de fonctionnement n'est pas stocké. Un fabricant du dispositif à semiconducteur utilise la région de test pour tester le dispositif à semiconducteur.
Si l'information de génération de clé et le code embrouillé sont stockés dans la mémoire morte, le dispositif à semiconducteur désembrouille le code embrouillé avant l'exécution du code de fonctionnement. Pour désembrouiller le code embrouillé, lorsque de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur à partir d'un dispositif externe, le dispositif à semiconducteur lit tout d'abord l'information de génération de clé dans la région prédéterminée de la mémoire morte. Un générateur de clé génère une clé d'après l'information de génération de clé qui est lue. Si la clé est générée, le code embrouillé lu dans la mémoire morte est désembrouillé en utilisant la clé générée, pour rétablir le code de fonctionnement original.
La figure 2 est un schéma synoptique d'un dispositif à semiconducteur 200 conforme à un exemple de mode de réalisation de la présente invention. En se référant à la figure 2, on note que le dispositif à semiconducteur 200 comprend une mémoire morte 210, une unité de commande initiale 220, un processeur 230, un désembrouilleur 240 et une mémoire non volatile (MNV) 250, et un générateur de clé 260. Dans le dispositif à semiconducteur 200, la mémoire morte 210 stocke un code de fonctionnement pour accomplir une séquence de fonctionnement prédéterminée, telle qu'une séquence de fonctionnement désirée par l'utilisateur. Le dispositif à semiconducteur 200 peut être une carte intelligente ou un dispositif à carte à circuit intégré.
La mémoire morte 210 est une mémoire morte pour stocker un code embrouillé et une information de génération de clé. La mémoire morte 210 peut être une mémoire morte à masque ou une mémoire morte programmable (PROM).
L'information de génération de clé peut être stockée dans la mémoire morte 210 pendant un processus de fabrication du dispositif à semiconducteur 200. Par exemple, l'information de génération de clé et le code de fonctionnement embrouillé peuvent être stockés dans la mémoire morte 210 pendant un processus de masquage pour l'enregistrement de code en mémoire morte, qui est effectué pendant la fabrication du dispositif à semiconducteur 200. Il est préférable que l'information de génération de clé varie conformément au code de fonctionnement et contienne une information concernant une version du code de fonctionnement. L'information de génération de clé est stockée dans une région de test de la mémoire morte 210.
L'unité de commande initiale 220 commande l'information de génération de clé qui doit être fournie par la mémoire morte 210 au générateur de clé 260, en réponse à un signal d'horloge XCLK et un signal initial INT. Le signal initial INT peut être un signal interne activé lorsque le dispositif à semiconducteur 200 est mis sous tension, ou en réponse à un signal de restauration. Par conséquent, l'unité de commande initiale 220 commande l'information de génération de clé qui doit être émise à partir d'une région prédéterminée de la mémoire morte 210 lorsque de l'énergie est fournie au dispositif à semiconducteur 200 ou lorsque le dispositif à semiconducteur 200 est restauré.
Comme illustré sur la figure 3, l'unité de commande initiale 220 contient une adresse (par exemple une adresse initiale) indiquant la région prédéterminée dans laquelle l'information de génération de clé est stockée, et commande des données (par exemple l'information de génération de clé) devant être émises à partir de la région prédéterminée indiquée par l'adresse initiale, en réponse au signal initial INIT.
Le générateur de clé 260 génère une clé (par exemple une clé de désembrouillage) d'après l'information de génération de clé émise par la mémoire morte 210. Après avoir généré la clé, le générateur de clé 260 peut générer un signal d'achèvement de génération de clé KD. Le signal d'achèvement de génération de clé KD est de préférence appliqué au processeur 230 par l'intermédiaire d'une bascule 270, et non directement à partir du générateur de clé 260. La bascule 270 reçoit respectivement le signal d'achèvement de génération de clé KD et le signal d'horloge XCLK, par l'intermédiaire d'une borne d'entrée (par exemple une borne D) et d'une borne d'horloge de la bascule, et elle est restaurée par le signal initial INIT.
Le désembrouilleur 240 rétablit le code de fonctionnement en désembrouillant le code lu dans la mémoire morte 210, en utilisant la clé générée. Le désembrouilleur 240 peut être une porte logique, par exemple une porte OU-Exclusif (OU-EX), qui effectue une opération OU-EX sur la clé et le code lus dans la mémoire morte 210.
2890482 9 Le processeur 230 fonctionnement prédéterminée désembrouillé, en réponse génération de clé KD ou KD'.
La mémoire non volatile 250, qui est incluse dans le dispositif à semiconducteur 200 pour stocker des données, peut être une mémoire flash. Conformément à un exemple de mode de réalisation de la présente invention, l'information de génération de clé est stockée conjointement au code de fonctionnement dans la mémoire morte 210, et non dans la mémoire non volatile 250.
La figure 4 est un organigramme illustrant un procédé pour faire fonctionner un dispositif à semiconducteur en conformité avec un exemple de mode de réalisation de la présente invention. Ce procédé est exécuté par le dispositif à semiconducteur 200 illustré sur la figure 2, et sera décrit en s'y référant.
Lorsque le dispositif à semiconducteur 200 est mis sous tension ou est restauré (S410), l'information de génération de clé est lue initialement dans une mémoire morte 210 du dispositif à semiconducteur 200 (S415). Avant de lire l'information de génération de clé, le code de fonctionnement est embrouillé ou chiffré et est stocké dans la mémoire morte 210, et l'information de génération de clé utilisée pour générer une clé pour embrouiller / chiffrer le code de fonctionnement est également stockée dans la mémoire morte 210. La clé pour embrouiller / chiffrer le code de fonctionnement peut être la même qu'une clé pour désembrouiller / déchiffrer le code de fonctionnement.
Ensuite, la clé est générée à partir de l'information de génération de clé lue dans la mémoire morte 210 (S420). Lorsqu'il est déterminé que la clé est générée (S425), le code de fonctionnement est lu dans la mémoire morte 210 (S430). Le code de fonctionnement lu dans la mémoire morte 210 peut être un code de fonctionnement au accomplit la séquence de en exécutant le code signal d'achèvement de 20 25 30 35 qui a été traité, par exemple, par un procédé d'embrouillage ou de chiffrement.
Le code de fonctionnement est rétabli en utilisant la clé générée (S435). En d'autres termes, le code de 5 fonctionnement original est rétabli en désembrouillant / déchiffrant le code de fonctionnement lu dans la mémoire morte 210, en utilisant la clé générée.
Le code de fonctionnement peut être lu avant que la clé ne soit générée. Cependant, le code de fonctionnement est désembrouillé / déchiffré après que la clé a été générée. Ensuite, lorsque le code de fonctionnement original est rétabli en désembrouillant / déchiffrant le code de fonctionnement, un processeur 230 exécute le code rétabli (S440).
Conformément aux exemples de mode de réalisation de la présente invention décrits ci-dessus, l'information de génération de clé est stockée dans la mémoire morte 210, la clé est générée en utilisant l'information de génération de clé, et le code de fonctionnement original est rétabli en utilisant la clé générée. Cependant, une clé peut être stockée dans la mémoire morte 210, à la place de l'information de génération de clé.
La figure 5 est un organigramme illustrant un procédé pour faire fonctionner un dispositif à semiconducteur conforme à un exemple de mode de réalisation de la présente invention. En particulier, la figure 5 illustre un cas dans lequel une clé est stockée directement dans une mémoire morte.
En se référant à la figure 5, on note que lorsqu'un dispositif à semiconducteur est mis sous tension ou restauré (S410), une clé est tout d'abord lue dans une mémoire morte du dispositif à semiconducteur (S416).
Ensuite, un code de fonctionnement est lu dans la mémoire morte (S430), le code de fonctionnement original est rétabli en désembrouillant le code de fonctionnement en utilisant la clé lue (S435) et le code rétabli est exécuté (S440).
Du fait que la clé est stockée directement dans la mémoire morte, un générateur de clé n'est pas nécessaire.
Par exemple, un générateur de clé 260 et une bascule 270 du dispositif à semiconducteur 200 de la figure 2 ne sont pas nécessaires dans ce cas. Cependant, pour une plus grande sécurité, il est préférable que la mémoire morte stocke l'information de génération de clé, et non la clé, et que la clé soit générée en utilisant l'information de génération de clé.
Conformément à un exemple de mode de réalisation de la présente invention, l'information de génération de clé peut inclure une information concernant le dispositif à semiconducteur (par exemple une information de dispositif) et une information concernant la version du code de fonctionnement. Dans ce cas, l'information de génération de clé varie conformément au dispositif à semiconducteur et à la version du code de fonctionnement. En outre, lorsque l'information de génération de clé est stockée dans la mémoire morte pendant un processus de masquage de mémoire morte, une clé différente peut être générée en changeant un motif de masque de mémoire morte pour chaque client et/ou code de fonctionnement, sans modifier le matériel. De plus, du fait que la clé d'embrouillage / désembrouillage varie pour chaque client ou version de code de fonctionnement, un niveau de sécurité pour le code de fonctionnement est augmenté en comparaison avec une technique d'embrouillage qui utilise la même clé indépendamment d'un client ou d'une version de code de fonctionnement.
Les exemples de modes de réalisation de la présente invention envisagés ci-dessus ont été décrits en référence à un dispositif à semiconducteur qui embrouille / désembrouille un code de fonctionnement en utilisant une clé. Cependant, la présente invention est également applicable à un dispositif à semiconducteur qui chiffre / 2890482 12 déchiffre un code de fonctionnement en utilisant une clé. Par exemple, la présente invention peut être utilisée dans un dispositif à semiconducteur qui chiffre un code de fonctionnement, stocke le code chiffré dans une mémoire morte et rétablit le code de fonctionnement original en déchiffrant le code chiffré, en utilisant la clé.
Conformément à un exemple de mode de réalisation de la présente invention, une clé différente peut être fixée pour chaque version de code de fonctionnement (par exemple un programme) pour un dispositif à semiconducteur, ce qui a pour effet d'améliorer un niveau de sécurité du code de fonctionnement, et d'éviter ainsi que le code de fonctionnement ne soit piraté. De plus, du fait qu'une information de génération de clé pour rétablir le code de fonctionnement est stockée avec le code de fonctionnement dans une mémoire morte, le code de fonctionnement peut être rétabli sans avoir à utiliser une autre mémoire, telle qu'une mémoire non volatile.
Bien que l'invention ait été particulièrement décrite et représentée en référence à des exemples de modes de réalisation de celle-ci, l'homme de l'art notera que divers changements de forme et de détails peuvent y être apportés, sans sortir de l'esprit et du cadre de l'invention tels qu'ils sont définis par les revendications annexées.

Claims (19)

REVENDICATIONS
1. Dispositif à semiconducteur (200) caractérisé en ce qu'il comprend: un processeur (230) ; une mémoire morte (210), qui stocke un code de fonctionnement embrouillé ou chiffré et une information de génération de clé ; un générateur de clé (260) qui génère une clé en utilisant l'information de génération de clé ; et une unité de rétablissement (240) qui rétablit un code de fonctionnement original en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé générée.
2. Dispositif à semiconducteur selon la revendication 1, caractérisé en ce que l'information de génération de clé comprend au moins une des suivantes: une information concernant le dispositif à semiconducteur (200) ; et une information concernant une version du code de fonctionnement original.
3. Dispositif à semiconducteur selon la revendication 1, caractérisé en ce que l'unité de rétablissement (240) comprend au moins un des suivants: un désembrouilleur; et un dispositif de déchiffrement.
4. Dispositif à semiconducteur selon la revendication 1, caractérisé en ce qu'il comprend en outre une unité de commande initiale (220) qui commande l'émission d'information de génération de clé à partir d'une région de test de la mémoire morte (210) lorsque de l'énergie ou un signal de restauration (INIT) est fourni au dispositif à semiconducteur.
5. Dispositif à semiconducteur selon la revendication 4, caractérisé en ce que l'unité de commande initiale (220) contient une adresse de la région de test qui stocke l'information de génération de clé.
6. Dispositif à semiconducteur selon la revendication 1, caractérisé en ce que le générateur de clé (260) génère un signal d'achèvement de génération de clé (ND) lorsque la clé est générée; et le processeur 2890482 14 (230) exécute le code de fonctionnement original rétabli en réponse à une version retardée (KD') du signal d'achèvement de génération de clé.
7. Dispositif à semiconducteur selon la revendication 6, caractérisé en ce qu'il comprend en outre une bascule (270) pour recevoir le signal d'achèvement de génération de clé (KD), retarder le signal d'achèvement de génération de clé, et émettre vers le processeur (230) la version retardée (KD') du signal d'achèvement de génération de clé.
8. Dispositif à semiconducteur (200) caractérisé en ce qu'il comprend: un processeur (230) ; une mémoire morte qui stocke une clé et un code de fonctionnement embrouillé ou chiffré ; et une unité de rétablissement (240) qui lit la clé dans la mémoire morte (210) et rétablit un code de fonctionnement original en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé, avant l'exécution du code de fonctionnement original.
9. Dispositif à semiconducteur selon la revendication 8, caractérisé en ce qu'il comprend en outre: une unité de commande initiale (220) qui commande l'émission de la clé par la mémoire morte (210) lorsque de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur {200).
10. Dispositif à semiconducteur selon la revendication 9, caractérisé en ce que la mémoire morte (210) comprend une région d'utilisateur et une région de test; et le code de fonctionnement embrouillé ou chiffré est stocké dans la région d'utilisateur et la clé est stockée dans la région de test.
11. Dispositif à semiconducteur selon la revendication 10, caractérisé en ce que l'unité de commande initiale (220) contient une adresse de la région de test qui stocke la clé.
2890482 15
12. Dispositif à semiconducteur selon la revendication 8, caractérisé en ce que la clé est stockée dans la mémoire morte (210) pendant un processus de fabrication du dispositif à semiconducteur (200).
13. Procédé pour faire fonctionner un dispositif à semiconducteur (200) ayant une mémoire morte (210) qui stocke une information de génération de clé et un code de fonctionnement embrouillé ou chiffré, un processeur (230), un générateur de clé (260) et une unité de rétablissement (240), le procédé étant caractérisé en ce qu'il comprend les étapes consistant à : lire l'information de génération de clé dans la mémoire morte (210) lorsque de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur (200) ; générer une clé, au générateur de clé (260), en utilisant l'information de génération de clé ; rétablir un code de fonctionnement original, à l'unité de rétablissement (240), en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé ; et exécuter, au processeur (230), le code de fonctionnement original rétabli.
14. Procédé selon la revendication 13, caractérisé en ce qu'il comprend en outre la génération d'un signal d'achèvement de génération de clé (KD), au générateur de clé (260) lorsque la clé est générée; et en ce que le code de fonctionnement original est rétabli après que le signal d'achèvement de génération de clé (KD) a été généré.
15. Procédé selon la revendication 13, caractérisé en ce qu'il comprend en outre le stockage de l'information de génération de clé et du code de fonctionnement embrouillé ou chiffré, dans la mémoire morte (210), pendant un processus de fabrication du dispositif à semiconducteur (200).
16. Procédé selon la revendication 13, caractérisé 35 en ce qu'il comprend en outre la fixation d'une information 2890482 16 de génération de clé différente pour chaque version du code de fonctionnement original.
17. Procédé pour faire fonctionner un dispositif à semiconducteur (200) ayant une mémoire morte (210) qui stocke une clé et un code de fonctionnement embrouillé ou chiffré, un processeur (230) et une unité de rétablissement (240), le procédé étant caractérisé en ce qu'il comprend les étapes consistant à : extraire de la mémoire morte (210) la clé et le code de fonctionnement embrouillé ou chiffré, lorsque de l'énergie ou un signal de restauration est fourni au dispositif à semiconducteur (200) ; rétablir un code de fonctionnement original, à l'unité de rétablissement (240), en désembrouillant le code de fonctionnement embrouillé ou en déchiffrant le code de fonctionnement chiffré, en utilisant la clé extraite; et exécuter, au processeur (230), le code de fonctionnement original rétabli.
18. Procédé selon la revendication 17, caractérisé en ce qu'il comprend en outre le stockage de la clé et du code de fonctionnement embrouillé ou chiffré dans la mémoire morte (210) pendant un processus de fabrication du dispositif à semiconducteur (200).
19. Procédé selon la revendication 17, caractérisé en ce qu'il comprend en outre la fixation d'une clé différente pour chaque version du code de fonctionnement original.
FR0653381A 2005-08-18 2006-08-16 Dispositif a semiconducteur utilisant un procede d'embrouillage / desembrouillage de memoire morte, et procede pour le faire fonctionner Expired - Fee Related FR2890482B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050075538A KR100641297B1 (ko) 2005-08-18 2005-08-18 롬 스크램블 방식의 반도체 장치 및 상기 반도체 장치의동작 방법

Publications (2)

Publication Number Publication Date
FR2890482A1 true FR2890482A1 (fr) 2007-03-09
FR2890482B1 FR2890482B1 (fr) 2010-11-12

Family

ID=37649843

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0653381A Expired - Fee Related FR2890482B1 (fr) 2005-08-18 2006-08-16 Dispositif a semiconducteur utilisant un procede d'embrouillage / desembrouillage de memoire morte, et procede pour le faire fonctionner

Country Status (4)

Country Link
US (1) US20070053515A1 (fr)
KR (1) KR100641297B1 (fr)
DE (1) DE102006039330A1 (fr)
FR (1) FR2890482B1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849956B1 (ko) * 2007-01-29 2008-08-01 삼성전자주식회사 반도체 장치 및 그것의 스크램블된 데이터 전송 방법
KR101556908B1 (ko) * 2013-11-14 2015-10-02 (주)잉카엔트웍스 프로그램 보호 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0758503B2 (ja) * 1989-02-17 1995-06-21 三菱電機株式会社 Icカード
US5467396A (en) * 1993-10-27 1995-11-14 The Titan Corporation Tamper-proof data storage
JPH07295893A (ja) * 1994-04-28 1995-11-10 Nec Corp マイクロプロセッサのメモリ情報読込装置及び読込方法
US6144743A (en) * 1997-02-07 2000-11-07 Kabushiki Kaisha Toshiba Information recording medium, recording apparatus, information transmission system, and decryption apparatus
US5875248A (en) * 1997-02-25 1999-02-23 International Business Machines Corporation Method of counterfeit detection of electronic data stored on a device
EP1056015A4 (fr) * 1998-01-21 2005-01-05 Tokyo Electron Ltd Dispositif de stockage, dispositif de cryptage/decryptage et procede permettant d'acceder a une memoire remanente
US20020069316A1 (en) * 1998-04-15 2002-06-06 Mattison Phillip E. Method and apparatus for protecting flash memory
US6463537B1 (en) * 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
JP2001339383A (ja) 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
CN100508448C (zh) * 2001-10-12 2009-07-01 松下电器产业株式会社 内容处理装置
JP2004007260A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 暗号装置、電子機器及び暗号方法

Also Published As

Publication number Publication date
KR100641297B1 (ko) 2006-11-02
FR2890482B1 (fr) 2010-11-12
DE102006039330A1 (de) 2007-03-29
US20070053515A1 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
EP0800691B1 (fr) Procede pour la mise en oeuvre d'un protocole de communication a cle secrete entre deux dispositifs de traitement
EP3555743B1 (fr) Procédé d'exécution par un microprocesseur d'un code machine polymorphique d'une fonction prédéterminée
FR2833120A1 (fr) Appareil et procede de cryptage de donnees
FR2986631A1 (fr) Dispositif et procede de production d'un code d'authentification d'un message
WO2003042799A3 (fr) Dispositif et procede pour limiter la fuite d'informations
EP0606792B1 (fr) Procédé d'authentification d'un ensemble informatique par un autre ensemble informatique
EP3751573A1 (fr) Circuit électronique
FR2880750A1 (fr) Carte a microprocesseur et procede cryptographique pour proteger une cle secrete
EP2166696A1 (fr) Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature
EP1524795B1 (fr) Chiffrement de données dans un appareil électronique à plusieurs processeurs symétriques
FR2890482A1 (fr) Dispositif a semiconducteur utilisant un procede d'embrouillage / desembrouillage de memoire morte, et procede pour le faire fonctionner
EP2284748B1 (fr) Procédé de contremesure pour protéger des données mémorisées
FR3094107A1 (fr) Procédé d'exécution d'un code binaire d'une fonction sécurisée par un microprocesseur
EP1355446B1 (fr) Chiffrement du contenu d'une mémoire externe à un processeur
EP3716120A1 (fr) Génération de clé de chiffrement/déchiffrement éphémère à chaque démarrage
EP2336931B1 (fr) Procédé de vérification de signature
EP1449067A2 (fr) Securisation d'un generateur pseudo-aleatoire
FR3106910A1 (fr) Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique sans transmission de clé secrète
FR2955189A1 (fr) Procede securise de traitement d'un contenu memorise au sein d'un composant, et composant correspondant
EP2824868A1 (fr) Réseau numérique local, procédés d'installation de nouveux dispositifs et procédés de diffusion et de réception de données dans un tel réseau
FR2880962A1 (fr) Procede et circuit de controle d'un jeu de donnees ayant plusieurs mots de donnees.
EP4068681A1 (fr) Procédé et dispositif pour le déchiffrement sécurisé de données chiffrées
FR3106909A1 (fr) Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
WO2022238636A1 (fr) Procédé pour l'exécution d'un programme charge dans la mémoire non volatile d'un microcontrôleur en circuit intégré
FR2865086A1 (fr) Dispositif et procede pour convertir un premier message en un deuxieme message

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20150430