WO2003088262A1 - Procede de modification des donnees d'une carte a memoire lors d'une transaction - Google Patents

Procede de modification des donnees d'une carte a memoire lors d'une transaction Download PDF

Info

Publication number
WO2003088262A1
WO2003088262A1 PCT/FR2003/001205 FR0301205W WO03088262A1 WO 2003088262 A1 WO2003088262 A1 WO 2003088262A1 FR 0301205 W FR0301205 W FR 0301205W WO 03088262 A1 WO03088262 A1 WO 03088262A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
transaction
control register
record
card
Prior art date
Application number
PCT/FR2003/001205
Other languages
English (en)
Inventor
Eric Gerbault
Original Assignee
Ask S.A.
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
Priority to EP03740616A priority Critical patent/EP1495472A1/fr
Priority to CN03800657XA priority patent/CN1533575B/zh
Priority to IL15933503A priority patent/IL159335A0/xx
Priority to MXPA03011636A priority patent/MXPA03011636A/es
Priority to KR1020037016447A priority patent/KR100977640B1/ko
Priority to CA002452672A priority patent/CA2452672A1/fr
Application filed by Ask S.A. filed Critical Ask S.A.
Priority to JP2003585105A priority patent/JP4211890B2/ja
Priority to US10/483,585 priority patent/US7146472B2/en
Priority to AU2003262197A priority patent/AU2003262197A1/en
Priority to BR0304525-0A priority patent/BR0304525A/pt
Publication of WO2003088262A1 publication Critical patent/WO2003088262A1/fr
Priority to HK05102104.4A priority patent/HK1069668A1/xx

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • 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
    • 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
    • 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/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • 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
    • 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
    • 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

Definitions

  • the present invention relates to systems in which part of the data records stored in the card is modified during a transaction carried out with a card reader and more particularly relates to a method for modifying the data of a memory card. during a transaction with a reader.
  • Memory cards also called smart cards, are increasingly used as a data carrier associated with card holders.
  • contactless cards for which information is exchanged by remote electromagnetic coupling between an antenna housed in the card and an associated reader have been developed as means of access to controlled access areas, means of identifying people or electronic purses.
  • the memory containing the data in a smart card is generally a non-volatile, erasable and rewritable memory and preferably of the EEPROM type. This type of memory is divided into a plurality of locations containing data records of a determined length, for example 32 bytes.
  • the memory and in particular when it is an EEPROM memory, requires a relatively long erase / write time (for example 5 ms), during which a possible power cut runs the risk of losing the data contained in the record.
  • this method requires for each recording a backup operation in the buffer zone, an operation to erase the recording to be modified, a rewriting operation and an operation to erase the old recording in the buffer zone. , or 4 operations per record.
  • the transaction includes many operations, for example 8 operations as may be the case, the transaction may take a long time incompatible with the time taken by the gesture of the card holder presenting it to the reader.
  • this method has the major drawback that the records of the data zone are always in the same locations and that the buffer zone occupies a fixed place in the memory, this increases the "stress" of the memory and limits the number transactions that can be performed as long as the number of transactions for each location is limited to a given value guaranteed by the silicon manufacturer.
  • the object of the invention is to carry out a method of modifying data of a memory card during a transaction which allows synchronization in all or nothing mode of the modifications to be carried out during of the transaction, this for a short period of time compatible with the access time limited to the card during the transaction, while avoiding the use of a part of the memory as a buffer memory for saving the data and therefore in avoiding memory “stress” due to writing data always in the same memory areas.
  • the invention therefore relates to a method for modifying data in a card transaction system comprising a memory card and a reader capable of reading the card when the latter is in a determined position relative to the reader.
  • the card comprises a first memory (RAM) and a second non-volatile, erasable and rewritable memory (EEPROM), the latter comprising locations occupied by data records in relation to the transactions carried out by the card, each transaction resulting in the modification of at least one of the data locations or the addition of a new record.
  • RAM first memory
  • EEPROM erasable and rewritable memory
  • the method according to the invention comprises the following steps: a) for a data record to be modified or a record to be added, read from a previous control register located at a first determined location in the second memory the address of a free place in the second memory, b) write the new modified or added record in the free place, c) repeat steps a) and b) for each of the new records to be modified or added, d) write in a second place determined from the second memory a new control register containing the addresses of the free locations of the second memory to be used in the next transaction.
  • the smart card used for the transaction comprises an EEPROM memory divided into identical sectors, for example of 32 bytes.
  • An essential characteristic of the invention is the use of a control register occupying one of the sectors of the memory.
  • This control register contains data intended to be used to carry out the transaction, including the identification of the free sectors of the memory that can be used to record there new data.
  • the control register contains in particular the following fields:
  • FlagOpen indicates whether a transaction is open or not
  • PrevReg indicates the sector number where the previous control register was located.
  • NextReg indicates the sector number where the following control register will be written, - FlagClose: indicates whether the transaction is closed or not,
  • NewSect indicates the numbers of the free sectors for further modifications
  • step 10 initializing 4 variables in the Card RAM memory:
  • Control register address sector number in which the control register is located
  • - NbUpdates variable incremented after each modification of a record or addition of a new record.
  • TransactionLevel bit indicating that the transaction is in progress
  • OldSector indicates the sector numbers where data is recorded during the transaction.
  • the second step is the opening step of the transaction (step 12) during which the bit
  • step 14 it is determined whether there is a record to modify or to add to a memory location (step 14). If this is the case, the old sector number is written in RAM memory (step 16), the address of the sector in which the new record must be written is read in the control register (step 17), the new record is written in a sector identified by a number read in the control register (step 18), and the modifications of the control data in RAM memory (step 20). The process then loops back to determine if there is still a record to modify or add (step 14). Note that the advantage of the invention lies mainly in the fact that a transaction almost always requires modifying several records, which allows the use of the control register without loss of time since the free sectors are indicated in the register without the need to search for them.
  • a new control register containing new data is written in a free sector whose number is provided by the old control register (step 18), the old control register is erased (step 20), the old sectors containing records which have given rise to modification are erased (step 22) and the control variables of the RAM memory are reset to zero (step 24).
  • the control register in sector 5 contains the following data:
  • NewSect 7, 8, 9, 10, 11, 12, 13, 14 Assuming that the transaction is made up of four consecutive changes:
  • the new control register contains the following data:
  • the new control register contains the identification of the old sectors whose values were supplied by the RAM memory, the identification of the sector where the old control register was located, the identification of the sector in which the put the next control register, the numbers of the free sectors where the next modifications should be written, and the indication (FlagClose) that the transaction has been closed.
  • the method according to the invention saves cycles if it is compared to the method calling for saving in a buffer memory.
  • 4 EEPROM operations are required for each modification of data: writing to the buffer memory area, erasing the future location, writing new data to this location and erasing the location of the area. buffer. To this must be added the management of the buffer memory and the management of information relating to the data to be stored.
  • the method according to the invention requires only 2 EEPROM operations for each modification, namely writing new data in a new sector and erasing the old sector, as well as 4 general operations, namely, writing FlagOpen to the control register at the start, erasing the old control register, writing the new control register and writing FlagClose to the control register.

Abstract

Procédé de modification des données dans un système de transaction par carte comprenant une carte à mémoire et un lecteur apte à lire la carte. La carte comprend une première mémoire (RAM) et une seconde mémoire (EEPROM) comportant des emplacements occupés par des enregistrements de données, chaque transaction entraînant la modification d'au moins un des emplacements de données ou l'ajout d'un nouvel enregistrement. Le procédé comprend les étapes consistant à a) lire (17) dans un précédent registre de contrôle se trouvant à un premier emplacement déterminé de la mémoire EEPROM l'adresse d'un emplacement libre, b) écrire (18) le nouvel enregistrement modifié ou ajouté dans l'emplacement libre, répéter les étapes a) et b) pour chacun des nouveaux enregistrements à modifier ou à ajouter, et écrire (22) dans un deuxième emplacement déterminé de la mémoire EEPROM un nouveau registre de contrôle contenant les adresses des emplacements libres de la mémoire EEPROM à utiliser dans la prochaine transaction.

Description

Procédé de modification des données d'une carte à mémoire lors d'une transaction
Domaine technique La présente invention concerne les systèmes dans lesquels une partie des enregistrements de données mémorisés dans la carte est modifiée lors d'une transaction effectuée avec un lecteur de la carte et concerne plus particulièrement un procédé de modification des données d'une carte à mémoire lors d'une transaction avec un lecteur.
Etat de la technique
Les cartes à mémoire encore appelées cartes à puce sont de plus en plus utilisées comme support de données associées aux titulaires des cartes. Parmi ces cartes, les cartes sans contact pour lesquelles l'échange d'informations se fait par couplage électromagnétique à distance entre une antenne logée dans la carte et un lecteur associé ont été développés comme moyens d'accès à des zones d'accès contrôlé, moyen d'identification de personnes ou encore porte-monnaie électroniques .
La mémoire contenant les données dans une carte a puce est généralement une mémoire non volatile, effaçable et réinscriptible et de préférence du type EEPROM. Ce type de mémoire est divisée en une pluralité d'emplacements contenant des enregistrements de données d'une longueur déterminée par exemple 32 octets.
Lors d'une transaction, plusieurs enregistrements contenus dans la mémoire de la carte doivent généralement être modifiés pour être adaptés aux nouvelles conditions résultant de la transaction. Malheureusement, la mémoire, et en particulier lorsqu'il s'agit d'une mémoire EEPROM, nécessite un temps d'effacement/écriture relativement long (par exemple 5ms), pendant lequel une coupure d'alimentation éventuelle fait courir le risque de perdre les données contenues dans 1 ' enregistrement .
En outre, les différentes opérations de la transaction pendant lesquelles plusieurs enregistrements de données sont modifiés fonctionnent en mode tout ou rien. Pour des raisons de sécurité de la transaction, il est en effet indispensable de recommencer toute la transaction si une coupure d'alimentation vient à se produire durant le cours de la transaction, sous peine de perdre irrémédiablement des données sensibles (par exemple le solde créditeur d'un porte-monnaie électronique) s'il n'est pas possible de repartir du début de la transaction.
De manière à apporter une réponse au problème énoncé ci- dessus on a songé à mémoriser l'enregistrement de données dans une mémoire tampon avant de procéder à sa modification. Lorsque toutes les modifications ont été apportées aux enregistrements à modifier, les anciens enregistrements sont effacés de la mémoire tampon.
Malheureusement, cette méthode nécessite pour chaque enregistrement une opération de sauvegarde dans la zone tampon, une opération d'effacement de l'enregistrement à modifier, une opération de ré-écriture et une opération d'effacement de l'enregistrement ancien dans la zone tampon, soit 4 opérations par enregistrement. Lorsque la transaction comporte beaucoup d'opérations, par exemple 8 opérations comme ce peut être le cas, la transaction peut prendre un temps important incompatible avec le temps mis par le geste du titulaire de la carte présentant celle-ci au lecteur. En outre, cette méthode présente l'inconvénient majeur que les enregistrements de la zone de données se trouvent toujours aux mêmes emplacements et que la zone tampon occupe une place fixe dans la mémoire, ceci augmente le « stress » de la mémoire et limite le nombre de transactions pouvant être effectuées dans la mesure où le nombre d'opérations pour chaque emplacement est limité à une valeur donnée garantie par le fabricant de silicium.
Un autre problème qui s'ajoute à ceux mentionnés ci- dessus, concerne la désignation des secteurs libres où placer les enregistrements modifiés. La méthode classique consiste à balayer la mémoire pour trouver un secteur libre. Cette opération prend du temps qui s'ajoute au temps nécessaire pour les opérations d'enregistrement et d'effacement déjà mentionnés. Mais ce temps devient très important et incompatible avec le temps de transaction lorsqu'il y a plusieurs enregistrements à modifier et donc plusieurs recherches de secteurs libres.
Exposé de l'invention C'est pourquoi le but de l'invention est de réaliser un procédé de modification de données d'une carte à mémoire lors d'une transaction qui permette la synchronisation en mode tout ou rien des modifications à effectuer au cours de la transaction, ceci pendant une courte période de temps compatible avec le temps d'accès limité à la carte durant la transaction, tout en évitant l'utilisation d'une partie de la mémoire comme mémoire tampon pour la sauvegarde des données et donc en évitant le « stress » mémoire dû à l'écriture des données toujours dans les mêmes zones de mémoire. L'invention concerne donc un procédé de modification des données dans un système de transaction par carte comprenant une carte à mémoire et un lecteur apte à lire la carte lorsque celle-ci se trouve dans une position déterminée par rapport au lecteur. La carte comprend une première mémoire (RAM) et une seconde mémoire non volatile, effaçable et ré-inscriptible (EEPROM) , cette dernière comportant des emplacements occupés par des enregistrements de données en relation avec les transactions effectuées par la carte, chaque transaction entraînant la modification d'au moins un des emplacements de données ou l'ajout d'un nouvel enregistrement.
Le procédé selon l'invention comprend les étapes suivantes : a) pour un enregistrement de données à modifier ou un enregistrement à ajouter, lire dans un précédent registre de contrôle se trouvant à un premier emplacement déterminé de la seconde mémoire l'adresse d'un emplacement libre de la seconde mémoire, b) écrire le nouvel enregistrement modifié ou ajouté dans l'emplacement libre, c) répéter les étapes a) et b) pour chacun des nouveaux enregistrements à modifier ou à ajouter, d) écrire dans un deuxième emplacement déterminé de la seconde mémoire un nouveau registre de contrôle contenant les adresses des emplacements libres de la seconde mémoire à utiliser dans la prochaine transaction.
Description brève des dessins Les buts, objets et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description qui suit faite en référence à la figure unique représentant un organigramme du procédé selon l'invention.
Description détaillée de l'invention
Dans la description qui suit, on a supposé que la carte à puce utilisée pour la transaction comporte une mémoire EEPROM divisée en secteurs identiques, par exemple de 32 octets. Une caractéristique essentielle de l'invention est l'utilisation d'un registre de contrôle occupant un des secteurs de la mémoire. Ce registre de contrôle contient des données destinées à être utilisées pour effectuer la transaction parmi lesquelles l'identification des secteurs libres de la mémoire pouvant être utilisés pour y enregistrer des nouvelles données. Le registre de contrôle contient en particulier les champs suivants :
FlagOpen : indique si une transaction est ouverte ou non,
- OldSect : indique les numéros des secteurs avant leur modification,
PrevReg : indique le numéro de secteur où se trouvait le registre de contrôle précédent. NextReg : indique le numéro de secteur où sera écrit le registre de contrôle suivant, - FlagClose : indique si la transaction est clôturée ou non,
NewSect : indique les numéros des secteurs libres pour de nouvelles modifications,
En supposant qu'une transaction soit effectuée, le procédé selon l'invention se déroule selon l'organigramme illustré sur la figure 1. Il y a tout d'abord une étape d'initialisation (étape 10) consistant à initialiser 4 variables dans la mémoire RAM de la carte :
- Adresse registre de contrôle : numéro du secteur dans lequel se trouve le registre de contrôle, - NbUpdates : variable incrémentée après chaque modification d'un enregistrement ou ajout d'un nouvel enregistrement. TransactionLevel : bit indiquant que la transaction est en cours ,
OldSecteur : indique les numéros de secteurs où sont enregistrées des données au cours de la transaction.
La deuxième étape est l'étape d'ouverture de la transaction (étape 12) au cours de laquelle le bit
TransactionLevel de la mémoire RAM est passé de 0 à 1 et le champ FlagOpen du registre de contrôle qui était à 0 est établi à la valeur hexadécimale A5.
A l'étape suivante, on détermine si il y a un enregistrement à modifier ou à ajouter dans un emplacement de la mémoire (étape 14). Si c'est le cas, le numéro de l'ancien secteur est écrit en mémoire RAM (étape 16), l'adresse du secteur dans lequel doit être écrit le nouvel enregistrement est lu dans le registre de contrôle (étape 17) , le nouvel enregistrement est écrit dans un secteur identifié par un numéro lu dans le registre de contrôle (étape 18) , et on effectue les modifications des données de contrôle en mémoire RAM (étape 20). Le procédé reboucle alors pour déterminer s'il y a encore un enregistrement à modifier ou à ajouter (étape 14) . A noter que l'intérêt de l'invention réside principalement dans le fait qu'une transaction nécessite presque toujours de modifier plusieurs enregistrements, ce que permet l'utilisation du registre de contrôle sans perte de temps puisque les secteurs libres sont indiqués dans le registre de contrôle sans nécessité de les rechercher.
On doit noter que, lorsqu'il s'agit de l'ajout d'un enregistrement et non pas d'une modification, il n'y a pas mémorisation d'un numéro de secteur en mémoire RAM puisque ce secteur n'existe pas, mais mémorisation d'un numéro virtuel 0.
Lorsqu'il n'y a plus d'enregistrement à écrire en mémoire, un nouveau registre de contrôle contenant des nouvelles données est écrit dans un secteur libre dont le numéro est fourni par l'ancien registre de contrôle (étape 18), l'ancien registre de contrôle est effacé (étape 20), les anciens secteurs contenant des enregistrements qui ont donné lieu à modification sont effacés (étape 22) et les variables de contrôle de la mémoire RAM sont remises à zéro (étape 24) .
De façon à illustrer le procédé de l'invention, on peut considérer l'exemple suivant dans lequel la mémoire EEPROM se présente de la façon suivante avant la transaction : Secteur Contenu
1 enregistrement # 1
2 enregistrement # 2
3 enregistrement # 3
4 enregistrement # 4
5 registre de contrôle
6 libre, nouveau registre de contrôle
7 libre, candidat modification # 1
8 libre, candidat modification # 2
9 libre, candidat modification # 3
10 libre, candidat modification # 4
11 libre, candidat modification # 5
12 libre, candidat modification # 6
13 libre, candidat modification # 7
14 libre, candidat modification # 8
Le registre de contrôle qui se trouve dans le secteur 5 comporte les données ci-dessous :
FlagOpen 00
OldSect 0, 0, 0, 0, 0, 0, 0, 0, 0
PrevReg 0
NextReg 6
FlagClose A5
NewSect : 7, 8, 9, 10, 11, 12, 13, 14 En supposant que la transaction soit composée des quatre changements consécutifs :
- modification de l'enregistrement 2
- modification de l'enregistrement 3 ajout de l'enregistrement 5 seconde modification de l'enregistrement 2
Après l'étape d'initialisation, les étapes du procédé sont les suivantes : - Ouverture de la transaction : écriture du champ FlagOpen à A5 en hexadécimal dans le registre actuel et initialisation des variables : NbUpdates = 0 > TransactionLevel = 1
> 01dSect[8] = {0,0,0,0,0,0,0,0,0}
- Modification de l'enregistrement #2 : mémoriser l'ancien secteur #2 en RAM, écrire le nouvel enregistrement dans le secteur #7, les variables RAM sont : > NbUpdates = 1 TransactionLevel = 1
> 01dSect[8] = {2,0,0,0,0,0,0,0,0}
- Modification de l'enregistrement #3 : mémoriser l'ancien secteur #3 en RAM, écrire le nouvel enregistrement au secteur #8. Les variables RAM sont :
> NbUpdates = 2 TransactionLevel = 1
> 01dSect[8] = {2,3,0,0,0,0,0,0,0}
- Ajout de l'enregistrement #5 : mémoriser l'ancien secteur #0 en RAM (0 signifie l'ancien secteur absent), écrire le nouvel enregistrement au secteur #9. Les variables RAM sont,
> NbUpdates = 3
> TransactionLevel = 1
> 01dSect[8] = {2,3,0,0,0,0,0,0,0} - Modification de l'enregistrement #2 : mémoriser l'ancien secteur #7 en RAM, écrire le nouvel enregistrement au secteur #10. Les variables RAM sont,
> NbUpdates = 4
> TransactionLevel = 1 > 01dSect[8] = {2,3,0,7,0,0,0,0,0}
- Clôture de la transaction :
> décrémenter TransactionLevel
> écrire le nouveau registre au secteur #6 avec FlagClose = 0 > effacer l'ancien registre de contrôle
> effacer les anciens secteurs #2, #3, #7
> écrire FlagClose à $A5
> initialiser :
" NbUpdates = 0 ' TransactionLevel = 0 1 OldSect [8] = {x,x,x,x,x, x, x, x,x} La mémoire EEPROM se présente de la manière suivante après la transaction :
Figure imgf000011_0001
Le nouveau registre de contrôle contient les données suivantes :
- FlagOpen : 00
- OldSect : 2, 3, 0, 7, 0, 0, 0, 0 - PrevReg : 5
- NextReg : 11
- FlagClose : A5
- Ne Sect : 12, 13, 14, 15, 16, 17
On voit donc que le nouveau registre de contrôle contient l'identification des secteurs anciens dont les valeurs ont été fournies par la mémoire RAM, l'identification du secteur où se trouvait l'ancien registre de contrôle, l'identification du secteur où devra être mis le prochain registre de contrôle, les numéros des secteurs libres où devront être écrites les prochaines modifications, et l'indication (FlagClose) que la transaction a été clôturée.
Si une coupure d'alimentation se produit durant les modifications apportées à la mémoire EEPROM, le contenu de la mémoire RAM est perdu, mais l'état des données permet de repartir à zéro en effectuant à nouveau toute la transaction sans crainte d'avoir perdu une donnée sensible. En effet, il suffit d'effacer tous les secteurs qui ont été susceptibles d'être écrits à l'aide de nouvelles données, soit en effaçant tous les secteurs notés « libres » dans le registre de contrôle, soit en effaçant seulement ceux qui ont été écrits après avoir scruté leur contenu pour vérifier s'ils ont été écrits (sinon, ils contiennent des zéros) .
On remarquera que si la coupure d'alimentation a lieu pendant la clôture de la transaction, le fait d'avoir mis la valeur 0 dans le champ FlagClose du nouveau registre de contrôle permet de savoir que la transaction n'est pas clôturée et qu'il faut considérer le contenu des anciens secteurs qui ne sont effacés qu'à l'avant dernière opération, la dernière opération étant l'écriture de FlagClose indiquant la clôture de la transaction.
Le procédé selon l'invention économise des cycles si on le compare au procédé faisant appel à la sauvegarde dans une mémoire tampon. En effet, dans le procédé classique, il faut 4 opérations EEPROM pour chaque modification de données : écriture dans la zone de mémoire tampon, effacement de l'emplacement futur, écriture des nouvelles données à cet emplacement et effacement de l'emplacement de la zone de mémoire tampon. Il faut y ajouter la gestion de la mémoire tampon et la gestion des informations relatives aux données à stocker.
Par contre, le procédé selon l'invention ne nécessite que 2 opérations EEPROM pour chaque modification, à savoir une écriture des nouvelles données dans un nouveau secteur et l'effacement de l'ancien secteur, ainsi que 4 opérations générales à savoir, l'écriture de FlagOpen dans le registre de contrôle au début, l'effacement de l'ancien registre de contrôle, l'écriture du nouveau registre de contrôle et l'écriture de FlagClose dans le registre de contrôle.
Ainsi, pour N modifications, on peut établir le tableau de comparaison suivant donnant le nombre d'opérations EEPROM dans le procédé classique et dans le procédé selon l'invention, ainsi que le gain réalisé.
Figure imgf000013_0001
Si une opération d'écriture ou d'effacement dans la mémoire EEPROM dure 5ms, le gain réalisé avec un nombre minimal de 4 opérations est de 30ms.
En outre, à ce gain de temps, il faut ajouter le gain de temps résultant du fait qu'il n'est pas nécessaire de balayer la mémoire EEPROM pour trouver 4 secteurs libres puisque les numéros des secteurs libres sont indiqués dans le registre de contrôle .

Claims

REVENDICATIONS
1. Procédé de modification des données dans un système de transaction par carte comprenant une carte à mémoire et un lecteur apte à lire ladite carte lorsque celle-ci se trouve dans une position déterminée par rapport au lecteur, ladite carte comprenant une première mémoire vive et une seconde mémoire non volatile, effaçable et ré-inscriptible, cette dernière comportant des emplacements occupés par des enregistrements de données en relation avec les transactions effectuées par ladite carte, chaque transaction entraînant la modification d'au moins un desdits emplacements de données ou l'ajout d'un nouvel enregistrement, ledit procédé étant caractérisé par les étapes suivantes : a. pour un enregistrement de données à modifier ou un enregistrement à ajouter, lire (17) dans un précédent registre de contrôle se trouvant à un premier emplacement déterminé de ladite seconde mémoire l'adresse d'un emplacement libre de ladite seconde mémoire, b. écrire (18) le nouvel enregistrement modifié ou ajouté dans ledit emplacement libre, c. répéter les étapes a) et b) pour chacun des nouveaux enregistrements à modifier ou à ajouter, et d. écrire (22) dans un deuxième emplacement déterminé de ladite seconde mémoire un nouveau registre de contrôle contenant les adresses des emplacements libres de ladite seconde mémoire à utiliser dans la prochaine transaction.
2. Procédé selon la revendication 1, comprenant en outre l'étape suivante effectuée préalablement à l'étape a), i) écrire (16) le numéro de l'emplacement dans lequel se trouve l'enregistrement à modifier ou à ajouter dans ladite première mémoire vive.
3. Procédé selon la revendication 2 , dans lequel ledit numéro d'emplacement écrit dans ladite première mémoire vive est un numéro virtuel lorsque l'opération à effectuer concerne un enregistrement à ajouter.
4. Procédé selon la revendication 1, 2 ou 3, dans lequel deux variables sont enregistrées en mémoire à l'initialisation de la transaction, une première variable (NbUpdates) étant mise à zéro de manière à être incrémentée à chaque opération de modification ou d'ajout d'un enregistrement et une deuxième variable (TransactionLevel) étant mise à zéro de manière à être modifiée de 0 à 1 lorsque la transaction est en cours.
5. Procédé selon l'une des revendications 1 à 4, dans lequel les emplacements contenant les enregistrements qui ont été modifiés ou ajoutés sont effacés (26) à la clôture de la transaction.
6. Procédé selon la revendication 5, dans lequel ledit premier emplacement déterminé contenant le précédent registre de contrôle est effacé à la clôture de la transaction (24) .
7. Procédé selon la revendication 6, dans lequel les numéros desdits emplacements contenant les enregistrements qui ont été modifiés ou ajoutés sont écrits dans ledit nouveau registre de contrôle à partir de ladite première mémoire vive à la clôture de la transaction.
8. Procédé selon la revendication 7, dans lequel lesdites variables de ladite première mémoire vive sont remises à zéro à la clôture de la transaction (28) .
9. Procédé selon la revendication 8 dans lequel un champ (FlagClose) dudit nouveau registre de contrôle est mis à zéro avant que ledit précédent registre de contrôle et lesdits enregistrements qui ont été modifiés ou ajoutés ne soient effacés et mis à une autre valeur (A5) après que ces opérations ont été effectuées.
10. Système comprenant des moyens adaptés pour mettre en œuvre les étapes du procédé selon l'une des revendications 1 à 9.
PCT/FR2003/001205 2002-04-16 2003-04-15 Procede de modification des donnees d'une carte a memoire lors d'une transaction WO2003088262A1 (fr)

Priority Applications (11)

Application Number Priority Date Filing Date Title
CN03800657XA CN1533575B (zh) 2002-04-16 2003-04-15 一种以卡为基础的交易系统中用于修改数据的处理过程和系统
IL15933503A IL159335A0 (en) 2002-04-16 2003-04-15 Method for modification of data on a memory card on a transaction
MXPA03011636A MXPA03011636A (es) 2002-04-16 2003-04-15 Metodo para modificar datos de tarjeta de memoria durante una transaccion.
KR1020037016447A KR100977640B1 (ko) 2002-04-16 2003-04-15 거래하는 동안 메모리 카드의 데이터를 수정하기 위한 방법
CA002452672A CA2452672A1 (fr) 2002-04-16 2003-04-15 Procede de modification des donnees d'une carte a memoire lors d'une transaction
EP03740616A EP1495472A1 (fr) 2002-04-16 2003-04-15 Procede de modification des donnees d une carte a memoire lors d une transaction
JP2003585105A JP4211890B2 (ja) 2002-04-16 2003-04-15 トランザクションにおけるメモリカードのデータの変更方法
US10/483,585 US7146472B2 (en) 2002-04-16 2003-04-15 Method for modification of data on a memory card on a transaction
AU2003262197A AU2003262197A1 (en) 2002-04-16 2003-04-15 Method for modification of data on a memory card on a transaction
BR0304525-0A BR0304525A (pt) 2002-04-16 2003-04-15 Processo de modificação dos dados de um cartão com memória durante uma transação, e, sistema
HK05102104.4A HK1069668A1 (en) 2002-04-16 2005-03-11 A process and system for modifying data in a card-based transaction system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/04705 2002-04-16
FR0204705A FR2838536B1 (fr) 2002-04-16 2002-04-16 Procede de modification des donnees d'une carte a memoire lors d'une transaction

Publications (1)

Publication Number Publication Date
WO2003088262A1 true WO2003088262A1 (fr) 2003-10-23

Family

ID=28459856

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2003/001205 WO2003088262A1 (fr) 2002-04-16 2003-04-15 Procede de modification des donnees d'une carte a memoire lors d'une transaction

Country Status (14)

Country Link
US (1) US7146472B2 (fr)
EP (1) EP1495472A1 (fr)
JP (1) JP4211890B2 (fr)
KR (1) KR100977640B1 (fr)
CN (1) CN1533575B (fr)
AU (1) AU2003262197A1 (fr)
BR (1) BR0304525A (fr)
CA (1) CA2452672A1 (fr)
FR (1) FR2838536B1 (fr)
HK (1) HK1069668A1 (fr)
IL (1) IL159335A0 (fr)
MX (1) MXPA03011636A (fr)
TW (1) TWI291617B (fr)
WO (1) WO2003088262A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8096479B2 (en) * 2007-02-23 2012-01-17 Newpage Wisconsin System Inc. Multifunctional paper identification label
EP2273373A1 (fr) * 2009-07-02 2011-01-12 Vodafone Holding GmbH Stockage de données modifiées fréquemment dans une carte CI
CN102611688B (zh) * 2011-12-15 2014-09-17 天津市通卡公用网络系统有限公司 终端pos装置黑名单数据远程更新方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996025743A1 (fr) * 1995-02-16 1996-08-22 Gemplus Procede de mise a jour securisee de memoire eeprom
WO1999033059A1 (fr) * 1997-12-19 1999-07-01 Infineon Technologies Ag Procede pour la modification securisee d'une valeur memorisee dans une memoire remanente et circuit a cet effet
US5987563A (en) * 1992-02-20 1999-11-16 Fujitsu Limited Flash memory accessed using only the logical address

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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.
FR2759795B1 (fr) * 1997-02-14 1999-05-07 Francois Charles Oberthur Fidu Procede de stockage de donnees dans une memoire reinscriptible de carte a puce
US5987572A (en) * 1997-09-29 1999-11-16 Intel Corporation Method and apparatus employing a dynamic encryption interface between a processor and a memory
JP2000227871A (ja) * 1999-02-05 2000-08-15 Seiko Epson Corp 不揮発性記憶装置、その制御方法、および、情報記録媒体
FI109620B (fi) * 1999-10-26 2002-09-13 Tellabs Oy Menetelmä ja järjestely atomaaristen päivitysten toteuttamiseksi loogista flashmuistilaitetta käyttäen
JP3607658B2 (ja) * 2001-10-05 2005-01-05 株式会社東芝 携帯可能電子装置
JP2003216511A (ja) * 2002-01-23 2003-07-31 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置、データ更新方法、データ更新プログラム及びそのプログラムが記録されたコンピュータ読み取り可能な記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987563A (en) * 1992-02-20 1999-11-16 Fujitsu Limited Flash memory accessed using only the logical address
WO1996025743A1 (fr) * 1995-02-16 1996-08-22 Gemplus Procede de mise a jour securisee de memoire eeprom
WO1999033059A1 (fr) * 1997-12-19 1999-07-01 Infineon Technologies Ag Procede pour la modification securisee d'une valeur memorisee dans une memoire remanente et circuit a cet effet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NIJJIMA H: "DESIGN OF A SOLID-STATE FILE USING FLASH EEPROM", IBM JOURNAL OF RESEARCH AND DEVELOPMENT, IBM CORPORATION, ARMONK, US, vol. 39, no. 5, 1995, pages 531 - 545, XP000885241, ISSN: 0018-8646 *

Also Published As

Publication number Publication date
BR0304525A (pt) 2004-07-27
TWI291617B (en) 2007-12-21
MXPA03011636A (es) 2004-07-01
CN1533575B (zh) 2010-05-12
FR2838536A1 (fr) 2003-10-17
KR100977640B1 (ko) 2010-08-24
FR2838536B1 (fr) 2005-06-24
US7146472B2 (en) 2006-12-05
CN1533575A (zh) 2004-09-29
TW200307201A (en) 2003-12-01
HK1069668A1 (en) 2005-05-27
EP1495472A1 (fr) 2005-01-12
CA2452672A1 (fr) 2003-10-23
KR20040096762A (ko) 2004-11-17
IL159335A0 (en) 2004-06-01
JP2005524133A (ja) 2005-08-11
US20050071539A1 (en) 2005-03-31
JP4211890B2 (ja) 2009-01-21
AU2003262197A1 (en) 2003-10-27

Similar Documents

Publication Publication Date Title
US7689826B2 (en) Flexibly loading a tamper resistant module
FR2612316A1 (fr) Carte a circuits integres ayant une capacite de verification d'erreur interne
FR2681165A1 (fr) Procede de transmission d'information confidentielle entre deux cartes a puces.
FR2611289A1 (fr) Dispositif electronique portatif
FR2606909A1 (fr) Systeme de traitement pour un appareil electronique portatif, tel qu'une carte a circuit integre
FR2716021A1 (fr) Procédé et système de transaction par carte à puce.
FR2687816A1 (fr) Procede de personnalisation d'une carte a puce.
FR2657706A1 (fr) Procede et dispositif de gestion de transactions utilisant des cartes a microcircuit.
FR2700040A1 (fr) Carte à puce avec données et programmes protégés contre le vieillissement.
WO1999053401A2 (fr) Carte a puce comprenant des moyens pour gerer une memoire virtuelle, procede et protocole de communication associes
EP3293637A1 (fr) Gestion d'index dans une mémoire flash
EP0769742B1 (fr) Composant électronique à mémoire non volatile effaçable électriquement
FR2642544A1 (fr) Systeme de traitement de donnees a programme de securite
EP1046108B1 (fr) Procede mettant en oeuvre un protocole d'echange interne de donnees entre applications d'un objet portatif multi-applications et objet portatif multi-applications correspondant
WO2003088262A1 (fr) Procede de modification des donnees d'une carte a memoire lors d'une transaction
EP3246820A1 (fr) Gestion du stockage dans une mémoire flash
FR2667192A1 (fr) Procede de comptage en memoire eeprom et son utilisation pour la realisation d'un compteur securise.
EP3246819B1 (fr) Compteur en mémoire flash
FR2814557A1 (fr) Protection contre l'exploitation abusive d'une instruction dans une memoire
EP1498841B1 (fr) Circuit transpondeur multi-applications et procédé de gestion de la mémoire d'un tel circuit transpondeur
EP1573690B1 (fr) Procede securise de modification de donnees enregistrees dans une carte a memoire
EP2304559B1 (fr) Procédé de basculement entre deux versions d'une même application au sein d'un dispositif de traitement de l'information et ledit dispositif
EP3188032B1 (fr) Stockage de données dans une mémoire flash
FR2812116A1 (fr) Procede et dispositif d'inscription securisee de donnees dans une memoire reinscriptible
FR2830667A1 (fr) Procede de determination d'une zone stable dans une memoire et dispositif de gestion d'une memoire associe

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 159335

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2167/DELNP/2003

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: PA/a/2003/011636

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2003585105

Country of ref document: JP

Ref document number: 1020037016447

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2452672

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2003740616

Country of ref document: EP

Ref document number: 10483585

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2003800657X

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003740616

Country of ref document: EP