CA2188033C - Procede de mise a jour securisee de memoire eeprom - Google Patents

Procede de mise a jour securisee de memoire eeprom Download PDF

Info

Publication number
CA2188033C
CA2188033C CA002188033A CA2188033A CA2188033C CA 2188033 C CA2188033 C CA 2188033C CA 002188033 A CA002188033 A CA 002188033A CA 2188033 A CA2188033 A CA 2188033A CA 2188033 C CA2188033 C CA 2188033C
Authority
CA
Canada
Prior art keywords
data
backup
memory
area
indicator
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.)
Expired - Fee Related
Application number
CA002188033A
Other languages
English (en)
Inventor
Anne Laget
Jean-Marie Valade
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.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Application granted granted Critical
Publication of CA2188033C publication Critical patent/CA2188033C/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0701Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising an arrangement for power management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne les mémoires non-volatiles et notamment les mémoires de cartes à puce à microprocesseur. Pour éviter la perte de données sensibles lors de la mise à jour de données dans la mémoire, par exemple si une interruption d'alimentation se produit en cours de mise à jour, on prévoit selon l'invention un procédé de mise à jour dans lequel: on sauvegarde la donnée à mettre à jour dans une zone de sauvegarde: on programme un champ descripteur de cette zone et on efface le champ descripteur de la zone suivante de la mémoire de sauvegarde (en vue d'une prochaine opération de mise à jour de donnée); on active un indicateur correspondant à la zone de sauvegarde, on met à jour la donnée; et on désactive l'indicateur si tout s'est bien passé. La zone dans laquelle on effectue la sauvegarde est différente à chaque fois: on la définit en balayant la mémoire de sauvegarde: c'est la première zone de la mémoire de sauvegarde qui a son descripteur effacé. Lors d'une remise sous tension de la carte, la présence d'un indicateur activé est systématiquement vérifiée, et les données sauvegardées dams les zones correspondantes sont remises dans la mémoire principale.

Description

-WO 96125743 2 1 8 8 D 3 3 F~ 47 PROCEDE DE IIII;E A JOUR EIE~'TTRT~F!~ DE IIEMOIRE
EEPRo~l L'invention concerne les mémoires non-volatiles, telles que les memoire6 EEPROM et les circuit5 lcsoc; ~c pc:, LL~ult de mettre a jour d'une manière sûre le6 données contenues dans ces mémoires.
La mise a jour d'une donnée consiste ~ remplacer, a une adresse détPrr;n~ de la memoire, une ancienne donnée par une nouvelle donnée. Cette opération dure un certain temps. Il peut arriver accidentellement que la tension d'alimentation de la mémoire soit coupée pendant cette mise à jour. si c'est le cas, on perd à
la f ois 1 ' ancienne donnée et la nouvelle .
Lorsque les données à enregistrer sont des données "sensibles", c'est-à-dire des données dont la conservation est critique dans l'application considérée, cette situation est inacceptable.
Un exemple d'application est le suivant : la mémoire est celle d'une carte à puce; les données représentent une valeur ~ nnmn; que enregistrée dans la carte; ces données sont sensibles; elles sont remises à
jour lorsque la carte est utilisée dans un lecteur de cartes pour obtenir des produits ou des services. En cas d ' arrachement intempestif de la carte hors du lecteur en cours d'opération de remise à jour, les données représentant la valeur résiduelle de la carte 2s risquent d ' étre perdues, au détriment du possesseur de la carte ou du prestataire de produits ou de services.
Pour éviter cette situation, on a déja proposé des r~~An;Q~-~ de mise a jour de mémoire dans lesquels toute mise à jour débute par une opération de sauvegarde de l'~nr;Pnn~ donnée dans un autre emplacement de mémoire non volatile avant de mettre a
2 1 ~ ~ ~ 3 3 P~l~r - . - q7 jour la nouvelle donnee à l'adresse voulue. Si l ' opération de mise à j our se deroule mal, on conserve au moins l ' ancienne valeur de la donnée .
Une difficulte de realisation de ces systèmes 5 reside dans la gestion des espaces de memoire qui doivent être utilises pour sauvegarder l'An- iPnnc~
donnee. Un pointeur non volatil (registre de memoire EEPROM) est en general utilise pour indiquer l ' emplacement de la zone de memoire contenant lO l ' inf ormation sauvegardee .
on pourra par ailleurs se reporter à l'etat de la technique constitue par le brevet français publie sous le numero: 2 665 791 dans lequel on fait egalement appel à un pointeur d ' adresse pour indiquer l ' adresse S de la zone contenant la valeur courante de l ' information .
Le brevet f rançais publié sous le n o 2 665 791 illustre la dif f iculte de gerer l ' espace memoire pour la sauvegarde. La solution proposee dans ce brevet 20 consiste à utiliser, pour chaque information à
memoriser, N zones memoires permettant la sauvegarde de N valeurs successives de cette information. Une zone supplementaire (pointeur) est utilisee pour reperer la valeur courante de l'information.
''5 A chaque mise à jour, on modifie la valeur du pointeur. Dans le cas où seules la valeur ancienne et la valeur courante sont conservees, deux zones sont reservees pour les mémoriser et le pointeur passe alternativement de l ' etat 1 a l ' etat O pour indiquer 30 dans laquelle de ces deux zones se trouve la valeur courante .
Le procede de mise à jour propose ne donne pas entièrement satisfaction et presente des risques de mauvais fonctionnement. Ces risques sont dus notamment W0 96/25743 2 1 8 ~ ~ 3 3 P~ 7
3 un usage intensif des cellulQs de mémoire constituant le pointeur (ou indicateurs dans le cas des autres procédés cités). Ces cP~ q sont sujettes à un ViPi 1 l; qr~ t et à une perte de fiabilité lorsque les s effacements et ~LuyL~l~lul~dtions sont trop fréquents.
La présente invention cherche à ~1 ;lninPr le plu5 possible les risques de mauvais fonctionnement et par Conséquent les risques de pertes de données sensibles lors de la mise à jour de ces données.
o Pour cela, on propose selon l'invention un procédé
de mise à j our ne comportant pas de pointeur physique Qt concu de sorte que les opérations de mise à j our fatiguent le moins possible les différentes mémoires uti 1 iqéPq pour assurer la sauvegarde de données sensibles.
On propose donc un procedé de mise à jour d'une donnée sensible dans une mémoire non-volatile principale, c _l ~dnt les opérations consistant à:
- sauvegarder dans une mémoire de sauveygarde non volatile l'a~cienne valeur de la donnée;
- activer un indicateur de sauvegarde pour indiquer qu ' une donnée vient d ' être sauvegardée et qu ' une modif ication de donnée sensible est en cours;
- modifier la donnée sensible dans la mémoire principale;
- et désactiver l'indicateur si la modification de la donnée s'est deroulee correctement, ce procedé étant caractérisé en ce que:
- la mémoire de sauvegarde est divisée en zones de mémoire;
- une zone de mémoire respective différente de la précédente est utilisee à chaque nouvelle mise à jour pour sauvegarder 1 ' ancienne donnée dans la mémoire de sauvegarde;

Wo96/25743 21 ~8033 r~ / 47 - au moins un champ des zones de la mémoire de sauvegarde, appelé champ descripteur, est utilisé pour repérer la zone de mémoire de sauvegarde qui doit etre utilisée au cours d ' une opération de mise à j our;
Avantag~ L, l'opération de mise à jour -e par la recherche, dans la mémoire de sauvegarde, de la première zone de mémoire comportant un champ descripteur ayant une valeur caractéristique (en pratique ce sera un champ complètement effacé);
et 1 ' opération de sauvegarde de 1 ' ancienne donnée comporte la modification du champ descripteur de la zone de sauvegarde de l'ancienne donnée et comporte également 1 ' inscription de ladite valeur caractéristique dans le champ descripteur de la première zone de mémoire suivant immédiatement cette zone .
La mise à j our d ' une donnée sensible comporte en pratique la lecture systématique des champs descripteurs de la mémoire de sauvegarde jusqu'à
trouver une première zone dont le champ descripteur est effacé; la sauvegarde dans cette zone de l'ancienne valeur de la donnée sensible à mettre à jour;
l'effacement d'une deuxième zone suivant la première zone, en vue de la prochaine sauvegarde; l'activation d'un indicateur pour la première zone, indiquant que des données ont été sauvegardées dans cette zone; la modif ication de la donnée sensible dans la mémoire principale; la désactivation de l'indicateur si la modif ication s ' est déroulée normalement .
Ce n'est pas toujours la même zone de mémoire qui est utilisée pour la sauvegarde des données sensibles.
Les différentes zones disponibles sont utilisées successivement. Si toutes les zones ont été util;q-S~c, on peut envisager de r.or~lmr^ lr.er par la première, WO 96/25743 2 ~ 8 8 ~ 3 3 r~l, c'est-à-dire que lorsque la dernière zone est utilisée, on procède à l'effacement de la première. Il n'y a pas de pointeur non volatil pour indiquer quelle zone doit etre utilisée a un moment donné, mais c'est s l ' observation du contenu des zones qui détermine la zone à utiliser. Par conséquent, non seulement on évite complètement les risques de fatigue et donc d'erreurS
d~s à l'écriture frequente dans un pointeur, mais on minimise la fatigue des zones de sauvegarde en écrivant 0 successivement dans ~ zones différentes et en r~ -nÇAnt a ecrire dans une zone seulement lorsque toutes les zones ont été utilisées.
L' indicateur de sauvegarde fait de préférence partie de la zone de sauvegarde dans laquelle une 15 ancienne valeur de donnée sensible est sauvegardée.
Lorsque la mémoire est remise sous tension, un "l"e systématique de vérification est e~fectué:
on recherche la présence d'un indicateur activé dans la mémoire de sauvegarde, et on réecrit dans la mémoire ~0 principale l'ancienne donnée sauvegardee dans la zone désignée par cet indicateur activé.
Dans certains cas, on cherche à mettre à j our un ensemble cohérent de plusieurs données sensibles qui ne doivent pas être mises à ~our séparément sous peine de 25 perdre la cohérence du contexte de l'application.
Cependant, la mémoire ne permet de faire des effacements et ecritures que pour une donnée à la fois.
L'invention est alors encore applicable dans ce cas de la manière suivante: chaque donnée sensible est 30 sauvegardee dans une zone respective, avec à chaque fois effacement du champ descripteur de la zone suivante et activation de l ' indicateur de sauvegarde de la zone contenant des donnees sauvegardees; puis, modification de la donnée sensible uLLe~ondante;

WO 96/25743 2 1 ~ 8 ~ 3 3 r~ l/r~ c ~ 47 enfin, apras que ces opérations aient été faites pour la derniare donnée, sauvegardée dans une zone de rang R, la zone suivante de rang R+l ayant eté effacée, on active un indicateur supplémentaire qui est 5 l'indicateur de la zone de rang R+l; enfin, on désactive successivement les indicateurs activés préc~ nt, en r -nr;-nt par le dernier, en remontant vers les précédents, et en terminant par 1 ' indicateur supplémentaire.
Ceci permet de garder 1 ' ensemble de 1 ' ancien contexte tant que toutes les nouvelles données n'ont pas été modif iées, et surtout tant que les indicateurs de sauvegarde n ' ont pas tous été remis a zéro .
Dans une réalisation particuliare de l~'invention, 15 on pourra associer a la mémoire de sauvegarde un registre de validité dont Le contenu définira si les différentes zones de sauvegarde sont en état de fonctionner. Lorsque des zones deviennent non fiables (ce que l'on détecte a chaque pLuu~Lallullation en 20 comparant le contenu qu ' on veut pro~L -r et le contenu qu'on a r~el1, -nt~ programmé), on 1'indique dans le registre de validité. Dans ce cas, lorsqu'on prépare la zone de sauvegarde suiYante (effacement de son champ descripteur) en vue d'une future opération de 25 mise a jour, la zone suivante considérée est la 20ne valide suivante, c'est-a-dire qu'on ne considare_pas comme zone suivante une zone dont le registre de validite indique qu'elle ne doit pas être utilisée.
L' invention est particulierement applicable aux 30 cartes à puces comportant un microprocesseur et une mémoire non volatile principale (EEPROM en général). La carte comporte alors un ~ru~L ~ de systame déf inissant le déroulement des operations de mise à
jour de donnees sensibles conformement au procede -W096l25743 2 i 8 ~ 0 3 ~ P~ 17 def ini ci-dessus, et un ~L UyL - de restauration de données ~ la remise sous tension, ce ~Loy~ ~
comportant la vérif ication systématique de l ' état des indicateurs de sauvegarde, la reinscription de donnees s sauvegardees en f onction de l ' etat des indicateurs, et la desactivation des indicateurs activés.
D'autres caractéristiques et avantages de 1 ' invention apparaîtront à la lecture de la description détaillee qui suit et qui est faite en référence aux dessins annexés dans lesquels:
- la f igure 1 représente un circuit de carte à
mémoire a microprocesseur dans lequel l' invention peut être mise en oeuvre;
- la f igure 2 représente l ' organisation de la memûire servant ~ la sauvegarde des données sensibles avant mise a jour;
- la f igure 3 représente un organigramme du procede de mise à jour selon l'invention, dans une premiere realisation;
- la f igure 4 représente un organigramme dans une autre réalisation permettant la mise à jour cohérente d'un groupe de données.
L'invention étant principalement applicable aux cartes à puces, c'est dans ce contexte qu'elle va etre decrite. De plus, l'invention sera mise en oeuvre de preférence dans une carte a microprocesseur, comprenant non seulement une mémoire non-volatile pour stocker des données variables, mais aussi un microprocesseur pour gérer les échanges de données entre l'intérieur et l ' extérieur de la carte . On comprendra cependant que les tâches qui vont être décrites ci-apres pourraient être exécutées dans une carte sans microprnC~qq~ r, W096t25743 21 ~8933 P~l/r~ 'C 17 pourvu qu'un automate cablé approprié soit prévu dans la carte pour exécuter ces taches.
La f igure l représente une carte a puce a mi~:Lu~LuC~sseur. Le mi.:LupLucesseur MP est relié par un s bus B aux différentes mémoires de la carte et aux ports d'entrée/sortie de la carte. Un port I/O est représente sur la f igure l.
Parmi les mémoires il y aura en general:
- une memoire non volatile principale MNVP, ~LUyldlllllldble et effaçable électriquement, pour l'enregi:,Ll L de données utiles dans l'application de la carte a puce; ces données sont modifiées au cours des utilisations successives de la carte, et certaines des données sont des données sensibles qui ne doivent pas etre perdues lors d ' une interruption intempestive en cours de mise a j our de ces données;
- une mémoire volatile de travail P~AM, comme il y en a dans tous les systèmes a microprocesseurs, pour stocker les données intermediaires nécessaires au cours ~o d'une utilisation de la carte;
- une mémoire morte ROM, contenant des pLUI~l -C
de système permettant le fonctionnement de la carte, ~lLOU,L -~ qui ne varient pas d'une utilisation a une autre de la carte;
~5 - une mémoire non volatile de sauvegarde MNVS, ~ru~L~.Iul~able et effaçable électriquement, ~n~r~cs;~ire pour conserver l'ancienne valeur d'une donnée pendant la mise a jour de cette donnée dans la memoire principale .
Cette derniere mémoire est représentée, pour simplifier, comme une memoire distincte de la mémoire principale MNVP. On comprendra rPrl~nl~t qu'elle peut être constituée physiquement par une portion, réservée à cet effet, de la mémoire principale. Dans ce cas, un W096/2~743 ~ 3 P l~r~ ~

certain nombre d'adresse6 seront réservées à la mémoire de sauvegarde ~INVS. La seule contrainte pratique est que ces adresses doivent se suivre de maniere continue, af in que le contenu de la mémoire MNVS puisse etre s facilement exploré séquentiPl 1~ -- L dans un ordre invariable .
On a encore représenté sur la f igure 1 un registre non volatil facultatif RV appelé ci-après registre de validité dont on expliquera plus loin l'intérêt. I1 peut aussi faire partie de la mémoire MNVP ou de la mémoire MNVS.
Le but de l'invention est, on le rappelle, de pouvoir mettre a j our toute donnée sensible de la mémoire ~NVP en conservant l'ancienne donnée pour la réutiliser dans le cas o~ le deroulement de la mise a jour serait intempestivement interrompu avant la f in de son exécution.
L'organisation de la mémoire de sauvegarde MNVS, représentée a la f igure Z, est la suivante : elle comporte N zones de sauvegarde; chaque zone permet de sauvegarder une donnée sensible; les zones sont utilisées tour a tour, c'est-a-dire que lorsqu'une zone a été utilisée pour une sauvegarde, c'est une autre zone qui est utilisée pour la sauvegarde suivante;
~5 lorsque toutes les zones ont été u~; 1 i ':PPC, on peut rP( --lrPr cycliquement; mais on pourrait aussi prevoir que la carte n'est plus utilisable apres consommation des N zones, ou encore que la mise a jour cesse d'etre sécurisée.
Pour assurer la sauvegarde d'une donnée sensible avant mise a jour, chaque zone de sauvegarde comporte plusieurs champs. Les champs d'une zone sont de préf érence les suivants W0 96/2s743 21 ~ 8 0 3 3 ~ C- 17 - champ F1 d'indicateur de sauvegarde (un bit peut 6uf f ire), indiquant qu ' une donnée vient d ' être 6auvegardee et peut être recupérée si la mise a jour ne s'è6t pa6 déroulêe correctement ju6qu'au bout;
S - champ F2 de6cripteur de 20ne, donnant des inf ormations sur les données du ou des champs suivants: longueurs de données, codes de vérification, etc.; plus généralement tous le6 descripteurs n~CPcsA;res à l'interprétation des données stockées lo dans la zone et au controle d'intégrité de ces données;
dans une réalisation particuliere, on prévoira que le champ descripteur comporte en outre l'adresse d'orlgine des données sauvegardée6 ~dans la zone; il faut comprendre cependant que cette adresse pourrait être dans un autre champ que le champ descripteur; l ' adresse d'origine peut en particulier se trouver dans le champ décrit ci-après (champ de données), pourvu que le champ descripteur permette de distinguer la donnée sauvegardée et l'adresse d'origine de cette donnée;
- champ F3 de données sauvegardées; en principe un seul champ, dimensionné en fonction de la taille maximale des données susceptibles d'être sauvegardées.
Le champ descripteur F2 est représenté dans un exemple o~ il comporte quatre sous-champs:
- CHKS: information codée sur 7 bits permettant de vérifier l'intégrité des données contenues dans la zone; c'est par exemple la somme des bits enregistrés d'une part dans les sous-champs suivants du champ de6cripteur et d ' autre part dans le champ de données;
- LNG: octet codant la longueur réelle des données sauvegardées;
- ADh, ADb: octets d'adresse (poids forts et poids faibles) d'origine des données sauvegardées; cette adresse est nprpccA; re pour restaurer les données W096125743 21 88~33 P~ llrh.S .~ 17 sauvegardées dans le cas o~ la mlse a jour ne se serait pas déroulée correctement.
Proaédure de mi~e a iour de donnée sensible La procédure de mise à j our est rappelée dans 1 ' organigramme de la f igure 3, dans le cas o~ la sauvegarde des données est purement individuelle, c'est-à-dire lorsqu'il n'est pas nécessaire de 10 s'assurer de la cohérence de plusieurs données a la fois .
La procédure comporte, dans le cas ou la donnée à
sauvegarder est sensible, les étapes suivantes:
- balayage systématique, touiours dans le meme 15 ordre, de la mémoire MNVS, pour rechercher une zone dont le champ descripteur a une valeur caractéristique prédéfinie; de préférence cette valeur caractéristique est 0 (tous les bits à zéro), ~uLl~u~dant a un effacement total du champ descripteur; ce sont en 20 principe les ~Uyl ~~ de systemes, en mémoire Rûl~, qui déterminent 1 ' ordre dans lequel la mémoire MNVS est balayée; soit R (compris entre 1 et N), le rang de la premiere zone trouvée avec descripteur effacé;
- écriture dans la zone de rang R de 1 ' ancienne 25 valeur de la donnée a mettre ~ jour, en vue de la sauvegarder; la donnée est écrite dans le champ de données; le champ descripteur est modif ié en conséquence; l'adresse d'origine de la donnée est sauvegardée dans le champ descripteur; les autres 30 données de verification d'intégrité ou d'interprétation sont écrites dans le champ descripteur; l'écriture dans la zone de sauvegarde est de préférence suivie immédiatement d'une vérification de ce qui a été écrit;

W096/25743 ~ f 8 8 0 3 3 . _I/r~C ( ~, - effacement du champ descripteur de la zone 6uivante, de rang R+1, en vue de la prochaine 6auvegarde; ou plus généralement ~u~ ull~tiOn de la valeur caractéristique dans ce champ si la valeur 5 caractéristique n'est pas zéro; le champ descripteur au moins est effacé, mais on peut aussi prévoir d'effacer le champ de données de cette zone de rang R+1;
- activation de 1 ' indicateur de sauvegarde (champ F1 de la zone de rang R); dans ce qul suit on o considérera que l'indicateur comporte un bit seulement, que 1 ' état initial est 1 ' état logique 0 et que l'activation consiste dans la mise à l'état 1;
l'activation de l'indicateur d'une zone représente la présence dans cette zone de données sauvegardées 15 réutilisables en cas de problème;
- mise à jour effective de la donnée sens~ble, c ' est-à-dire modif ication de cette donnée dans la memoire principale /INVP; la modification inclut en principe une lecture immédiate, pour verification, de 20 la donneé modifiée;
- désactivation de 1 ' indicateur d ' activation (retour à l'etat 0) si le déroulement de l'opération a eté norma 1 d ' un bout à 1 ' autre .
2s Dans le cas où le déroulement a été normal, la carte peut être retirée du lecteur et réutilisée normalement. Elle contient les données mises à ~our.
Les paragraphes suivants traitent des cas d' interruption anormale de la procedure et de la restauration de l'ancienne donnee. L'interruption est en pratique une coupure d'alimentation, notamment par retrait intempestif de la carte.

W096/25743 2 ~ 8 8 0 3 3 r~rh55 ~ 17 Re~tauration en cal~ d'interrul~tion ~nr~
Si l'interruption anormale a eu lieu avant que l ' indicateur d ' activation ait été mis a l, aucune s opération particuliare ne doit être effectuée à la remise sous tension. En effet, les données n'ont pas à ~tre mises à jour. Certes il est possible qu'on ait ~ ~nr-~ a écrire dans une zone de sauvegarde, mais on n'a pas altéré les données de la 10 mémoire principale ~5NVP. Tout se passe comme si la carte n'avait pas été utilisée. Elle contient les données qu'elle avait déjà auparavant. Ces données ne sont pas perdues.
Si au contraire l ' interruption anormale a lieu 15 pendant que l ' indicateur d ' activation est a 1, cela veut dire que la mise à j our dans la memoire principale a commencé. On ne sait pas si la mémoire principale contient alors l'ancienne donnée, ou la nouvelle donnée, ou n'importe quelle information inutilisable, 20 par exemple une zone vide résultant de l ' ef f acement total de la donnée avant réécriture.
C'est pourquoi le ~)LUyL ? de systeme (en mémoire ROM) de la carte vérif ie systématiquement l'état des champs d'activation de la mémoire MNVS a 25 chaque remise sous tension de la carte. si un indicateur est trouvé a l pour une zone, le contenu du champ de données de cette zone est réécrit dans la mémoire principale, à l'adresse indiquée dans le champ descripteur correspondant. Puis l ' indicateur 30 d'activation est remis à zéro. La mémoire principale se ~e~Luuv~ dans l'état qu'elle avait avant la tentative échouée de mise à jour.
Si enf in l ' interruption intempestive se produit apres que l ' indicateur d ' activation ait été remis a WO96/25743 2t 8~033 r_~/r~L~ ~7 zero, cette interruption n'a pas d'effet: la mise à
jour a ete effectuée complètement; il n'est pas n~ F~; re de prévoir une restauration de donnees anciennes .
Invalidation de certaines zone~ de ~auveqarde On prevoit de preference que certaines zones de la memoire de sauvegarde MNV5 peuvent être invalidees si lo elles sont r~Conn~ c def ectueuses .
Cela peut être le cas par exemple si elles sont cycliquement ut; l; c~c et sont donc soumises à un certain vioi l l i c, -nt. Ces zones reconnues defectueuses ne doivent plus être utilisées pour la 15 scluveu~L~e de donnees sehsibles.
Pour cela, lorsqu'un problème d'écriture ou d'effacement est détecté sur une zone de sauvegarde, la zone est mise hors service par l~int~rD~ ;re d'un registre non volatil, appelé registre de validité des 20 zones de sauvegarde (registre RV sur la figure l).
L'existence d'un probleme est détecté en principe par comparaison entre les données lues a l'issue d'une ~ tiOn et les données qui auraient d~ être inscrites. De manière générale, toute écriture dans les 2s memoires non volatiles est en principe suivie d'une lecture de verification.
Le registre de validité contient un bit pour chaque zone de sauvegarde. Il peut d'ailleurs être constitué
par un champ supplémentaire a l'intérieur même de la 30 mémoire ~NVS. Par exemple, un bit a l indique que la 20ne correspondante est invalide et ne doit pas être utilisée .
Dans ce cas, lors des procedures decrites prPr~d~ -nt, on comprendra que le passage d'une zone a W096125743 i~l 8~3 ~ r~ ~

une zone suivante comporte d'abord la vérification de la validité de cette zone. Dans le cas où la zone suivant la zone de rang R est invalide, la zone de rang R+1 ne sera pas cette zone invalide mais la première 5 zone valide suivant la zone de rang R. Ainsi, par exemple, lorsqu'on explique que le champ descripteur de la "zone suivante" doit être effacé, c'est la zone suivante valide qui est concernée.
Le registre de validité n'est pas sujet à un 10 vieillissement car il est très LclI~ t ~1OYL c et les bits programmés ne sont plus ef f acés .
CAY OU touteY leY zoneg valideg o~t été uti I iqéeq Lorsque toutes les zones ( zones valides dans le cas où un registre de validité est présent) ont été
utilisées, on peut prévoir que la carte ne peut plus fonctionner. Ou encore on peut prévoir que les mises à
jour s'effectuent désormais sans sauvegarde. Mais on 20 peut prévoir aussi que la recherche et l'utilisation des zones est cyclique, c'est-à-dire que lorsqu'on doit sauvegarder une inf ormation dans la dernière zone de la mémoire MNVS, le ~I~JYL ^ d'effacement de la zone suivante réalise l'effacement de la première zone 2s (valide) de la mémoire. On réutilise donc une deuxième fois la mémoire ~NVS. On peut effectuer un nombre de cylces limité ou non limité. Si on doit limiter le nombre de cycles d'utilisation on comprend qu'il faut prévoir un compteur non volatil pour enregistrer le 30 nombre de cycles effectués.

~ auvecr~rde et LesL~u.ation de l~lusieurs données en co~texte s~n~ j hl ~
On s'intéresse maintenant au cas o~ non seulement S les données individuelles sont sensibles, mais aussi où
plusieurs données forment un tout dont la cohérence doit etre conservée, c'est-a-dire qu'on ne peut pas mettre à j our une donnée s i les autres données du groupe cohérent ne sont pas mises à jour.
Les données ne peuvent cependant etre mises à jour qu'une par une, par exemple en raison de leur longueur ou en raison du fait qu'elles sont situées à des adresses dif f erentes .
Dans ce cas, on procède de la manLère suivante 15 d'une part les indicateurs d'activation des données individuelles ne sont pas remis à zéro immédiatement après mise ~ jour de chaque donnée, mais on attend que toutes les données aient été mises à jour; d'autre part un indicateur supplémentaire, spécifique de l'existence 20 d'un groupe cohérent, est activé pour indiquer que la totalité des données du groupe a été mise a jour. Cet indicateur est remis à zéro en dernier, après remise a zéro de tous les indicateurs de données indivi~ c.
L'indicateur supplémentaire est de préférence 2s constitué par le champ d'indicateur de la zone effacée suivant immédiatement la zone contenant la sauvegarde de la dernlere donnée individuelle du groupe cohérent.
Plus précisément, dans ce cas la procédure de mise à j our du groupe cohérent comporte les étapes 30 suivantes, rappelées dans l ' organigramme de la f igure 4 a. recherche de la premiere zone dont le champ descripteur est effacé (ou bien sûr une autre valeur caractéristique de champ descripteur); la zone trouvée WO 96125743 2 1 8 ~ 0 3 3 r._l/r~. 17 a un rang R+i, i étant un indice représentant le numéro d'ordre de mise à jour de chaque donnée individuelle dans le groupe cohérent et étant égal a zéro au départ de la procédure; le cas o~ toute la mémoire a déja été
5 utilisée a été traité plus haut et peut se résoudre de la meme maniere: invalidation de la carte, mise à jour sans sauvegarde, ou fonctionnement cyclique de la memoire ~NVS;
b. sauvegarde d'une donnée individuelle dans 10 cette zone de rang R+i, avec ~loyL~llullcltion correspondante du champ descripteur ( octet de vérif ication de somme, octet de longueur, octets d'adresse d'origine de la donnee~;
c. recherche de la zone valide, de rang R+i+1, suivant la zone de sauvegarde; et effacement du descripteur de cette zone suivante;
d . activation de 1 ' indicateur de sauvegarde de la zone de sauvegarde (rang R+i);
e. modification, dans la memoire principale MNVP, de la donnée sensible dont 1 ' ancienne valeur vient d'etre ainsi sauvegardée;
f. - in.:L. Lation de i et retour a l'étape (a) si une autre donnée individuelle faisant partie du même groupe cohérent doit etre mise a j our;
- ou au contraire, si la derniere donnée individuelle du meme groupe cohérent a été mise ~i jour, on passe a l'étape suivante (g);
g . activation de 1 ' indicateur de sauvegarde de la zone (effacée) de rang R+p. Le rang R+p-l étant le rang de la zone de sauvegarae de la dernière information individuelle mise à ~our, p étant le nombre de donnees individuelles faisant partie du groupe cohérent; cet indicateur d'activation supplémentaire, associé a une zone effacée et non a Une zone utilisée W0 96/25743 2 1 8 8 0 3 3 . ~1/rh3~ ~ 17 en sauvegarde, constitue l'indicateur supplémentaire mentionné plus haut, servant à garantir la cohérence de remise à jour du groupe comme on le verra plus loin;
h. désactivation (remise à zéro) successive des 5 indicateurs de sauvegarde des différentes zones de sauvegarde, dans l'ordre inverse de leur activation, c'est-à-dire en, -nSAnt par le rang R+p-l et en remontant j usgu ' à R;
i . désactivation de 1 ' indicateur supplémentaire 10 associé à la zone effacée de rang R+p.
Inter~uPtion de mise à jour en cour~ de route si une interruption d'alimentation se produit dans 15 les étapes (a) a (f), certaines données ont été mises à
~our, mais pas n~pccA; rement toutes. Les zones de sauvegarde dont 1 ' indicateur est à 1 contiennent une ancienne donnée sauvegardée; celles dont l'indicateur est encore à o contiennent une inf ormation incertaine 20 mais dans ce cas 1 ' ancienne donnée est encore présente dans la mémoire principale. Pour la cohérence du groupe il est n~cPccA i re de ne pas toucher à la m~moire principale pour les données de zones dont l'indicateur est ~ zéro, et de restaurer dans la mémoire principale 25 les données des 20nes dont l ' indicateur est à 1. La cohérence du groupe est conservée. Les données gardent toutes leur ancienne valeur.
Si une interruption d'alimentation se produit au cours des étapes (g) et (h), ce que l'on sait par la 30 présence de l'indicateur supplémentaire (rang R+p) à 1, on peut affirmer que toutes les données du groupe ont été mises à jour. Il y a cohérence pour les nouvelles valeurs, et il n'est pas n~sPqsAire de restaurer les W0 96/25743 2 1 8 8 ~ 3 3 ~ r~S~. 17 anciennes valeurs, même si certains indicateurs des zones R à R+p-l sont toujours a 1.
Enfin, si l'interruption se produit alors que l ' indicateur supplémentaire est revenu à zéro (étape i s et apres), on peut considérer que la mise a jour cohérente est completement tDrmin~ et il n'y a rien a faire .
F~e~tauration are~ coul~ure d'alimentation Le ~L~JYL ~ de systeme qui se déroule automatiquement a chaque remise sous tension de la carte comporte alors les étapes suivantes:
al. recherche d'une zone de sauvegarde ayant son 15 indicateur de sauvegarde a 1 ( zone de rang compris entre R et R+p- 1 ) bl. recherche de la zone effacée (rang R+p) qui devrait avoir son indicateur a l;
cl. - si la zone effacée n'existe pas ou si son 20 indicateur d'activation est a zéro (inactivé) étape dl;
- sinon : étape d2;
dl. restauration dans la mémoire principale MNVP
de chacune des données sauvegardées dans les zones dont 25 l'indicateur est activé, et désactivation a chaque fois de l'indicateur ~c,LLe:,~o~,dant, en c~ Ant par la zone utilisée en dernier et en t~rm;nAnt par celle qui a été utilisée en premier (on rappelle que la sauvegarde a lieu dans l'ordre des zones); on peut 30 t~rm; nF~r en effaçant le descripteur de la zone suivant la derniere zone utilisée en sauvegarde, pour tenir compte du fait que dans l'étape cl on n'a peut-étre pas trouvé de zone effacée; on aura en effet besoin d'une W096/25743 2 1 88033 P~ 17 zone effacée pour une opération de mise a jour ultérieure;
d2. effacement sucrpcR; f de tous les indicateurs des zones de sauvegarde utilisees en ~_ s~nt par s celui qui a et~ activé en dernier, en remontant à celui qui a été active en premier, et en t~rn~in~nt par l'indicateur supplementaire de la zone dont le descripteur est effacé.
On peut ainsi constater que la mise à jour 10 cohérente de plusieurs donn~es est possi~le, sans qu'il soit n~3r~c~ i re de prevoir des pointeurs non volatils pour = repérer les différentes zones de sauvegarde du groupe cohérent.

Claims (13)

REVENDICATIONS
1. Procédé de mise à jour d'une donnée sensible dans une mémoire non-volatile principale (MNVP), comportant les opérations consistant à:
- sauvegarder dans une mémoire de sauvegarde non volatile (MNVS) l'ancienne valeur de la donnée;
- activer un indicateur de sauvegarde pour indiquer qu'une donnée vient d'être sauvegardée et qu'une modification de donnée sensible est en cours;
- modifier la donnée sensible dans la mémoire principale;
- et désactiver l'indicateur si la modification de la donnée s'est déroulée correctement, ce procédé étant caractérisé en ce que:
- la mémoire de sauvegarde est divisée en zones de mémoire;
- une zone de mémoire respective différente de la précédente est utilisée à chaque nouvelle mise a jour pour sauvegarder l'ancienne donnée dans la mémoire de sauvegarde;
- au moins un champ, appelé champ descripteur (F2), des zones de la mémoire de sauvegarde est utilisé pour repérer la zone de mémoire de sauvegarde qui doit être utilisée au cours d'une opération de mise a jour-
2. Procédé de mise à jour d'une donnée selon la revendication 1, caractérisé en ce que - l'opération de mise a jour commence par la recherche, dans la mémoire de sauvegarde, de la première zone de mémoire comportant un champ descripteur ayant une valeur caractéristique déterminée;

- l'opération de sauvegarde de l'ancienne donnée comporte la modification du champ descripteur de la zone de sauvegarde de l'ancienne donnée et comporte également l'inscription de ladite valeur caractéristique dans le champ descripteur de la première zone de mémoire suivant immédiatement cette zone.
3. Procédé de mise à jour selon la revendication 1, caractérisé en ce que la valeur caractéristique du champ descripteur est une valeur nulle correspondant à un effacement global de ce champ.
4. Procédé de mise jour selon l'une des revendications 1 et 2, caractérisé en ce que la zone de sauvegarde comporte un champ descripteur (2) et un champ de donnée (F3), le champ descripteur contenant des indications d'interprétation et de contrôle d'intégrité des données inscrites dans le champ de données.
5. Procédé de mise à jour selon la revendication 3, caractérisé en ce que le champ descripteur d'une zone de sauvegarde comporte l'adresse d'origine de l'ancienne donnée sauvegardée dans la zone.
6. Procédé de mise à jour selon l'une des revendications 3 et 4, caractérisé en ce que l'indicateur de sauvegarde pour une opération de mise à
jour fait partie de la zone de sauvegarde utilisée lors de cette opération de mise à jour et comporte un bit pour indiquer si cette zone comporte une donnée sauvegardée.
7. Procédé de mise à jour selon l'une des revendications précédentes, caractérisé en ce que d'une part il est prévu un registre non volatile de validité (RV) associé à la mémoire de sauvegarde, ce registre de validité contenant une information de validité de chaque zone de la mémoire de sauvegarde, et caractérisé d'autre part en ce que ladite zone à
utiliser pour la sauvegarde de la prochaine donnée est la première zone valide suivant la zone de sauvegarde de l'ancienne donnée.
8. Procédé de mise à jour selon l'une des revendications précédentes, caractérisé en ce qu'à
chaque mise sous tension de la mémoire après une interruption, on recherche la présence d'un indicateur activé dans la mémoire de sauvegarde, et on réécrit dans la mémoire principale l'ancienne donnée sauvegardée dans la zone de mémoire de sauvegarde correspondant à l'indicateur activé.
9. Procédé de mise à jour selon l'une des revendications précédentes, dans lequel on cherche à
mettre à jour un ensemble cohérent de plusieurs données sensibles qui ne doivent pas être mises à jour séparément, caractérisé en ce qu'on effectue les étapes suivantes:
a. recherche de la première zone de mémoire de sauvegarde dont le champ descripteur a ladite valeur caractéristique, b. sauvegarde d'une donnée sensible dans cette zone;
c. programmation à ladite valeur caractéristique du champ descripteur de la zone suivant la zone de sauvegarde;

d. activation de l'indicateur de la zone de sauvegarde e. modification de la donnée sensible f. retour à l'étape (a) si d'autres données sensibles sont encore à mettre à jour dans l'ensemble cohérent; passage à l'étape (g) si la dernière donnée de l'ensemble vient d'être modifiée;
g. activation d'un indicateur supplémentaire qui est l'indicateur de la zone dont le champ descripteur vient d'être programmé à la valeur caractéristique, c'est-à-dire de la zone qui suit la dernière zone de sauvegarde utilisée;
h. désactivation successive des indicateurs d'activation des différentes zones de sauvegarde utilisées, en commençant par la dernière et en remontant jusqu'à la première des zones utilisées;
i. désactivation de l'indicateur supplémentaire.
10. Procédé de mise à jour selon la revendication 8, caractérisé en ce qu'à chaque remise sous tension de la carte on effectue les opérations suivantes:
a1. recherche d'une zone de sauvegarde ayant son indicateur activé;
b1. recherche d'une zone dont le champ descripteur est à ladite valeur caractéristique;
c1. recherche de l'état de l'indicateur, dit indicateur supplémentaire, de cette dernière zone.
d1. si l'indicateur supplémentaire n'est pas activé, restauration dans la mémoire principale de chacune des données sauvegardées dans les zones de sauvegarde dont l'indicateur est activé; et désactivation à chaque fois de l'indicateur correspondant.

d2. si l'indicateur supplémentaire est activé, désactivation de tous les indicateurs activés en partant de la zone de sauvegarde utilisée en dernier et jusqu'à celle utilisée en premier, puis désactivation de l'indicateur supplémentaire.
11. Procédé selon la revendication 9, caractérisé
en ce que si à l'étape b1 aucune zone n'est trouvée, l'étape d1 est effectuée et une étape supplémentaire de programmation de zone à la valeur caractéristique est effectuée en vue d'une opération de mise à jour ultérieure.
12. Procédé de mise à jour selon l'une des revendications précédentes, caractérisé en ce que lorsque toute les zones de la mémoire de sauvegarde ont été utilisées pour sauvegarder des données sensibles, l'opération de sauvegarde dans la dernière zone disponible de la memoire de sauvegarde comporte l'effacement du champ descripteur de la première zone de la mémoire de sauvegarde, en vue d'une réutilisation de cette mémoire.
13. Carte à puce comportant un microprocesseur et une mémoire non volatile principale, caractérisée en ce qu'elle comporte un programme de système en mémoire définissant le déroulement des opérations de mise à
jour de données sensibles conformément au procédé selon l'une des revendications précédentes, et un programme de restauration de données à la remise sous tension, ce programme comportant la verification systématique de l'état des indicateurs de sauvegarde, la réinscription de données sauvegardées en fonction de l'état des indicateurs, et la désactivation des indicateurs activés.
CA002188033A 1995-02-16 1996-02-15 Procede de mise a jour securisee de memoire eeprom Expired - Fee Related CA2188033C (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR95/01791 1995-02-16
FR9501791A FR2730833B1 (fr) 1995-02-16 1995-02-16 Procede de mise a jour securisee de memoire eeprom
PCT/FR1996/000247 WO1996025743A1 (fr) 1995-02-16 1996-02-15 Procede de mise a jour securisee de memoire eeprom

Publications (1)

Publication Number Publication Date
CA2188033C true CA2188033C (fr) 2000-09-26

Family

ID=9476204

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002188033A Expired - Fee Related CA2188033C (fr) 1995-02-16 1996-02-15 Procede de mise a jour securisee de memoire eeprom

Country Status (9)

Country Link
EP (1) EP0756746B1 (fr)
JP (1) JP2846739B2 (fr)
AU (1) AU691406B2 (fr)
CA (1) CA2188033C (fr)
DE (1) DE69609256T2 (fr)
ES (1) ES2150104T3 (fr)
FR (1) FR2730833B1 (fr)
WO (1) WO1996025743A1 (fr)
ZA (1) ZA961123B (fr)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2757978B1 (fr) * 1996-12-27 1999-01-29 Schlumberger Ind Sa Procede de securisation d'une donnee dans une memoire reinscriptible
JP3702923B2 (ja) * 1997-02-28 2005-10-05 ソニー株式会社 情報処理方法および情報処理装置
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
JP3721725B2 (ja) 1997-07-09 2005-11-30 ソニー株式会社 情報処理方法および情報処理装置
JP3233079B2 (ja) 1997-09-30 2001-11-26 ソニー株式会社 データ処理システム及びデータ処理方法
JP3271935B2 (ja) * 1997-10-15 2002-04-08 松下電工株式会社 制御システム
DE19858840A1 (de) * 1998-12-19 2000-06-21 Orga Kartensysteme Gmbh Verfahren zum bidirektionalen Datentransfer zwischen einem Terminal und einer Chipkarte sowie Chipkarte
JP3726663B2 (ja) * 2000-09-07 2005-12-14 日産自動車株式会社 電子制御装置の制御データ記憶装置
JP2002123806A (ja) * 2000-10-17 2002-04-26 Fujitsu Ltd Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体
FR2818426A1 (fr) * 2000-12-18 2002-06-21 Schlumberger Systems & Service Dispositif et procede de securisation de zones de donnees dans une carte a puce
JP2002278850A (ja) * 2001-03-14 2002-09-27 Nec Corp 半導体装置
EP1244078B1 (fr) * 2001-03-23 2007-07-04 PROTON WORLD INTERNATIONAL en abrégé PWI Procédé de mise à jour d'un document électronique
EP1276116B1 (fr) * 2001-07-12 2008-09-10 Siemens Aktiengesellschaft Méthode pour le stockage de données associées
FR2838536B1 (fr) 2002-04-16 2005-06-24 A S K Procede de modification des donnees d'une carte a memoire lors d'une transaction
DE102004005290B3 (de) * 2004-02-03 2005-07-21 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher
EP1764699A4 (fr) * 2004-06-14 2010-07-28 Sony Corp Dispositif de gestion d'informations et procede de gestion d'informations
FR2875080B1 (fr) * 2004-09-09 2006-10-27 Gemplus Sa Mise a jour optimisee d'une valeur deterministe dans un dispositif de communication
WO2007026209A1 (fr) * 2005-08-31 2007-03-08 Axalto S.A. Jeton personnel a dispositif de securite evitant la destruction non voulue de donnees
CN100535935C (zh) * 2006-12-26 2009-09-02 北京握奇数据系统有限公司 Cpu与逻辑加密双用智能卡及其数据同步方法
KR102102335B1 (ko) * 2018-02-06 2020-04-20 엘에스일렉트릭(주) 이중 메모리 구조 및 이를 이용한 plc의 메시지 처리 방법
CN110888605B (zh) * 2019-12-11 2023-10-20 重庆超力高科技股份有限公司 Eeprom的数据写入方法、装置和电子设备
CN111105563B (zh) * 2019-12-17 2021-08-24 厦门计讯物联科技有限公司 防数据丢失的水卡数据写入方法、装置、设备及存储介质
CN113688773B (zh) * 2021-09-03 2023-09-26 重庆大学 一种基于深度学习的储罐穹顶位移数据修复方法及其装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2665791B1 (fr) * 1990-08-13 1994-11-10 Didier Mazingue Procede de mise a jour d'une memoire eeprom.
FR2666425A1 (fr) * 1990-08-31 1992-03-06 Gemplus Card Int Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire.
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
GB9307623D0 (en) * 1993-04-13 1993-06-02 Jonhig Ltd Data writing to eeprom
FR2705820B1 (fr) * 1993-05-26 1995-08-11 Solaic Sa Procédé pour sécuriser les écritures de données sensibles dans la mémoire de stockage de données EEPROM d'une carte à mémoire, et carte à mémoire pour la mise en Óoeuvre de ce procédé.

Also Published As

Publication number Publication date
JP2846739B2 (ja) 1999-01-13
FR2730833A1 (fr) 1996-08-23
ES2150104T3 (es) 2000-11-16
ZA961123B (en) 1996-08-23
WO1996025743A1 (fr) 1996-08-22
JPH09506460A (ja) 1997-06-24
AU691406B2 (en) 1998-05-14
EP0756746A1 (fr) 1997-02-05
EP0756746B1 (fr) 2000-07-12
DE69609256T2 (de) 2001-10-18
AU4835296A (en) 1996-09-04
DE69609256D1 (de) 2000-08-17
FR2730833B1 (fr) 1997-03-28

Similar Documents

Publication Publication Date Title
CA2188033C (fr) Procede de mise a jour securisee de memoire eeprom
EP1151384B1 (fr) Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti- usure d'une memoire
EP0546048B1 (fr) Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire
EP0562669B1 (fr) Dispositif comportant une mémoire et des moyens pour valider des données inscrites dans cette mémoire
EP2302637A1 (fr) Méthode d'écriture de données dans une mémoire non volatile, protegée contre l'arrachement
FR2646942A1 (fr) Carte a circuit integre
WO2013079885A1 (fr) Ecriture de donnees dans une memoire non volatile de carte a puce
EP0618591A1 (fr) Circuit intégré pour carte à mémoire et procédé de décomptage d'unités dans une carte à mémoire
EP0735489A1 (fr) Procédé de protection de zones de mémoires non volatiles
FR3055992A1 (fr) Gestion d'index dans une memoire flash
EP0838053B1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
EP3246820A1 (fr) Gestion du stockage dans une mémoire flash
AU712626B2 (en) Data check method for an external memory and check system for an external ROM data
EP1168184A1 (fr) Microprocesseur sécurisé comprenant un systeme d'attribution de droits a des librairies
FR2689662A1 (fr) Procédé de protection d'une carte à puce contre la perte d'information.
WO2007090857A1 (fr) Procede de mise a jour securisee de memoire non volatile
EP3246819B1 (fr) Compteur en mémoire flash
FR2757978A1 (fr) Procede de securisation d'une donnee dans une memoire reinscriptible
EP1070303B1 (fr) Procede pour modifier de maniere indivisible une pluralite d'emplacements de la memoire non volatile d'une carte a microcircuit, notamment une carte sans contact
WO2014060096A1 (fr) Procédé de gestion d'une mémoire flash
FR2830667A1 (fr) Procede de determination d'une zone stable dans une memoire et dispositif de gestion d'une memoire associe
FR2818426A1 (fr) Dispositif et procede de securisation de zones de donnees dans une carte a puce
EP0921469B1 (fr) Procédé de gestion des ressources de mémoire dans une carte à microcircuit
EP4032000A1 (fr) Système sur puce et procédé garantissant la fraicheur des données stockées dans une mémoire extérieure
FR3051575A1 (fr) Gestion de l'effacement dans une memoire flash

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed