FR2749413A1 - METHOD FOR STORING VALUE UNITS IN A SECURELY CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH CARDS - Google Patents

METHOD FOR STORING VALUE UNITS IN A SECURELY CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH CARDS Download PDF

Info

Publication number
FR2749413A1
FR2749413A1 FR9606705A FR9606705A FR2749413A1 FR 2749413 A1 FR2749413 A1 FR 2749413A1 FR 9606705 A FR9606705 A FR 9606705A FR 9606705 A FR9606705 A FR 9606705A FR 2749413 A1 FR2749413 A1 FR 2749413A1
Authority
FR
France
Prior art keywords
card
certificate
value
transaction
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9606705A
Other languages
French (fr)
Other versions
FR2749413B1 (en
Inventor
Jean Paul Kirik
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 Card International SA
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 Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Priority to FR9606705A priority Critical patent/FR2749413B1/en
Priority to DE69725723T priority patent/DE69725723T2/en
Priority to ES97926064T priority patent/ES2212102T3/en
Priority to EP97926064A priority patent/EP0910839B1/en
Priority to PCT/FR1997/000947 priority patent/WO1997045815A1/en
Publication of FR2749413A1 publication Critical patent/FR2749413A1/en
Application granted granted Critical
Publication of FR2749413B1 publication Critical patent/FR2749413B1/en
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/0866Mechanisms 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 by active credit-cards adapted therefor

Abstract

The invention discloses a method for storing credit units in a smart card for carrying out transactions from a terminal, the card comprising a non-volatile EEPROM type memory (103), comprising an active zone (ZA) capable of containing information items concerning the number of the card credit units for a given application and a certificate computed by the terminal, in particular based on this number, on a mathematical function and on data varying with each transaction, the memory also comprising a copy zone (ZC) for containing a backup of the active zone (ZA) information items; the recording of information items in the active zone (ZA) and in the copy zone (ZC) following a transaction executed only after carrying out a coding operation on these information items, these coded information items being then recorded in these zones. Application to electronic cash systems.

Description

PROCéDA DE STOCKAGE DES UNITÉS DE VALEUR DANS UNE CARTE
A PUCE DE FAÇON SÉCURISÉE ET SYSTENE DE TRANSACTION
MONÉTAIRE AVEC DE TELLES CARTES.
PROCESS FOR STORING VALUE UNITS IN A CARD
SECURELY CHIP AND TRANSACTION SYSTEM
MONETARY WITH SUCH CARDS.

La présente invention se rapporte aux procédés qui permettent de stocker de façon sécurisée des unités de valeur dans une carte à puce et aux systemes de transaction monétaire utilisant ces cartes. L'invention s'applique plus particulièrement à des cartes à puces comportant une zone mémoire de type EEPROM non protégée. The present invention relates to methods for securely storing units of value in a smart card and to monetary transaction systems using these cards. The invention applies more particularly to smart cards comprising an unprotected EEPROM type memory area.

En effet, une zone EEPROM non protégée d'une carte est accessible par tout individu disposant d'un simple lecteur de carte et de commandes de lecture et écriture en mémoire. Ce type de zone mémoire ne permet pas d'enregistrer des données sensibles puisque n'importe qui peut les lire et les modifier. Indeed, an unprotected EEPROM area of a card is accessible by any individual having a simple card reader and read and write commands in memory. This type of memory area does not allow sensitive data to be saved since anyone can read and modify it.

Le procédé s'applique également à des cartes à puce à mémoire protégée afin d'en élever le niveau de sécurité. The method also applies to smart cards with protected memory in order to raise the level of security.

Les cartes à microprocesseurs sont capables de contenir des unités de valeur et d'en interdire l'accès. Seul le système d'exploitation de la carte peut accéder à ces unités et en augmenter ou en diminuer le nombre. Des commandes sécurisées et gérées par le système d'exploitation permettent donc la gestion de la zone contenant les unités de valeur, permettant l'utilisation de ces unités de valeur ainsi que leur rechargement en toute sécurité. Microprocessor cards are capable of containing and prohibiting access to units of value. Only the operating system of the card can access these units and increase or decrease their number. Secure commands managed by the operating system therefore allow the management of the area containing the value units, allowing the use of these value units as well as their safe reloading.

Une carte à mémoire ne comporte ni microprocesseur, ni à fortiori de système d'exploitation mais simplement quelques commandes permettant l'accès aux zones mémoire de la carte. Néanmoins, certaines zones de la carte peuvent avoir des caractéristiques permettant le stockage sécurisé d'unités de valeur. C'est le cas de certaines cartes à mémoire possédant une zone protégée par un code secret. Seul un terminal de paiement possédant ce code secret pourra accéder à la zone contenant les unités de valeur et pourra modifier le nombre d'unités avec des commandes d'écriture en mémoire. Par définition, un fraudeur ne connaît pas le code secret, il n'est donc pas capable de recharger une carte en unités de valeur. D'autres caractéristiques liées à la carte peuvent permettre un stockage sécurisé d'unités de valeur. A memory card does not include a microprocessor, let alone an operating system, but simply a few commands allowing access to the memory areas of the card. However, certain areas of the card may have characteristics allowing the secure storage of valuable units. This is the case for certain memory cards having an area protected by a secret code. Only a payment terminal with this secret code will be able to access the zone containing the value units and may modify the number of units with write commands in memory. By definition, a fraudster does not know the secret code, so he is not able to reload a card in value units. Other card-related features can allow secure storage of valuable units.

Dans l'état de la technique connu, les mécanismes de base existant sont l'utilisation d'un certificat d'intégrité, d'un compteur de transaction ainsi que d'une zone de copie. Ces mécanismes vont être détaillés dans la suite. Dans le cas des cartes à microprocesseur, ces mécanismes de base peuvent être inclus dans les systèmes d'exploitation. In the known state of the art, the basic mechanisms existing are the use of an integrity certificate, a transaction counter as well as a copy area. These mechanisms will be detailed below. In the case of microprocessor cards, these basic mechanisms can be included in operating systems.

Ces mécanismes peuvent également être appliqués sous forme de note d'application ou de recommandation d'application aux cartes à microprocesseur et à certaines cartes à mémoire de type synchrone. These mechanisms can also be applied in the form of an application note or an application recommendation to microprocessor cards and to certain synchronous type memory cards.

Une note d'application ou de recommandation décrit les mécanismes à mettre en oeuvre au niveau de la carte et du terminal et définit la façon dont le terminal doit utiliser la carte. An application or recommendation note describes the mechanisms to be implemented at the card and terminal level and defines how the terminal must use the card.

On entend plus précisément par note d'application, une définition particulière de l'état de la mémoire dans la carte et dans le terminal, appelée "mapping" en terminologie anglosaxonne, ce mapping étant obtenu par un logiciel informatique tenant compte de la note d'application. Le mécanisme à mettre en oeuvre consiste à inclure dans le calcul de ce certificat une donnée variant à chaque transaction. On entend par transaction une modification du nombre d'unités de valeur d'une carte. More specifically, the term "application note" means a particular definition of the state of the memory in the card and in the terminal, called "mapping" in English terminology, this mapping being obtained by computer software taking note of note d 'application. The mechanism to be implemented consists in including in the calculation of this certificate data varying with each transaction. By transaction is meant a change in the number of value units of a card.

Mécanisme 1
Un premier mécanisme en oeuvre est l'utilisation d'un certificat associé au nombre d'unités. Ce certificat garantit l'intégrité des informations auxquelles il se rapporte. Un terminal d'une application de paiement peut lire le nombre d'unités de valeur présentes dans une carte à puce. Le certificat présent dans la carte et associé au nombre d'unités de valeur stockées doit être lu et vérifié. Ce certificat est calculé à l'aide d'une fonction mathématique. Il se calcule à partir du nombre d'unités présentes dans la carte, de données identifiant la carte et avec un secret seulement connu par le terminal. Le terminal est donc capable de vérifier ou de calculer un tel certificat. Une autre solution consiste à partager le secret entre les cartes et un serveur central. Les terminaux de l'application devront donc se connecter au serveur pour toute vérification.
Mechanism 1
A first mechanism implemented is the use of a certificate associated with the number of units. This certificate guarantees the integrity of the information to which it relates. A terminal of a payment application can read the number of value units present in a smart card. The certificate present in the card and associated with the number of value units stored must be read and verified. This certificate is calculated using a mathematical function. It is calculated from the number of units present in the card, from data identifying the card and with a secret only known by the terminal. The terminal is therefore capable of verifying or calculating such a certificate. Another solution is to share the secret between the cards and a central server. The application terminals will therefore have to connect to the server for any verification.

Si le certificat est correct, le nombre d'unités de valeur présentes dans la carte est considéré comme valide. If the certificate is correct, the number of value units present in the card is considered valid.

Mécanisme 2
Ce mécanisme consiste à inclure dans le calcul de ce certificat une donnée variant à chaque transaction.
Mechanism 2
This mechanism consists in including in the calculation of this certificate data varying with each transaction.

L'introduction de cette donnée qui peut être un compteur de transaction permet de garantir que l'on a un certificat différent à chaque fois. Une carte possède un nombre d'unités de valeur à un instant t donné. A l'instant t+n, c'est-à-dire après un certain nombre n de transactions, si cette carte contient de nouveau le même nombre d'unités de valeur qu'à l'instant t, le certificat associé sera malgré tout différent. Il faut bien sûr que la valeur du compteur de transaction soit modifiée à chaque transaction.The introduction of this data which can be a transaction counter makes it possible to guarantee that we have a different certificate each time. A card has a number of value units at a given time t. At time t + n, that is to say after a certain number n of transactions, if this card again contains the same number of value units as at time t, the associated certificate will be despite all different. Of course, the value of the transaction counter must be changed for each transaction.

Mécanisme 3
Ce mécanisme consiste à dupliquer les informations sensibles avant le déroulement d'une transaction. Les données dupliquées sont stockées dans la carte, dans la mémoire EEPROM non protégée.
Mechanism 3
This mechanism consists of duplicating sensitive information before a transaction takes place. The duplicated data is stored in the card, in the unprotected EEPROM memory.

La mémoire EEPROM non protégée est donc divisée en deux zones que nous appellerons dans toute la suite zone active et zone de copie. Ces deux zones comportent un nombre d'unités de valeur et le certificat correspondant. The unprotected EEPROM memory is therefore divided into two areas which we will call throughout the active area and copy area. These two zones contain a number of value units and the corresponding certificate.

En cas d'arrachement de la carte, si les données en cours de modification dans la zone active sont corrompues ou altérées, les données dupliquées dans la zone de copie seront récupérées et transférées dans la zone active. La carte demeure ainsi dans un état stable. En cas d'arrachement de carte, le certificat présent dans la zone de copie doit correspondre à la valeur du compteur de transaction de la carte. Ceci permet de vérifier l'authenticité du certificat de la zone de copie et donc l'intégrité du nombre d'unités de valeur de la zone de copie. C'est pourquoi, le compteur de transaction de la carte doit être modifié en fin de transaction. In the event of the card being torn off, if the data being modified in the active area is corrupted or altered, the duplicated data in the copy area will be recovered and transferred to the active area. The card thus remains in a stable state. In the event of a card being torn off, the certificate present in the copy area must correspond to the value of the card's transaction counter. This makes it possible to verify the authenticity of the certificate of the copy zone and therefore the integrity of the number of units of value of the copy zone. This is why, the card transaction counter must be modified at the end of the transaction.

Toutes ces sécurités n'empêchent pas malheureusement certaines fraudes que l'on va expliciter dans ce qui suit
ler cas de fraude
Dans le cas d'unités de valeur présentes dans une zone mémoire non protégée par la puce de la carte, la fraude consiste à modifier le nombre d'unités présentes dans la carte et à essayer différentes valeurs de certificat.
All of these safeguards do not unfortunately prevent certain frauds which we will explain in the following
the case of fraud
In the case of value units present in a memory area not protected by the card chip, fraud consists in modifying the number of units present in the card and trying different certificate values.

Un fraudeur ayant un petit nombre d'unités présentes dans la carte va donc le remplacer par le nombre maximum d'unités que peut contenir sa carte. A fraudster with a small number of units present in the card will therefore replace it with the maximum number of units that his card can contain.

Dans ce cas précis, aucun mécanisme n'empêche de modifier le contenu de la zone mémoire de la carte, la carte ne possédant pas de zone protégée. Puis le fraudeur va inscrire dans la carte, en lieu et place du précédent certificat une valeur aléatoire. Étant donné les faibles capacités mémoire des composants utilisés, les certificats sont enregistrés sur quelques bits.In this specific case, there is no mechanism preventing the content of the card's memory zone from being modified, the card having no protected zone. Then the fraudster will write in the card, instead of the previous certificate a random value. Due to the low memory capacities of the components used, the certificates are saved on a few bits.

La probabilité de trouver par hasard le certificat correspondant au nombre d'unités de la carte est élevée. La carte ne peut être considérée d'un point de vue cryptographique comme un porte-unités de valeur sécurisée. Cette fraude permet de recharger illégalement une carte en unités de valeur. The probability of finding the certificate corresponding to the number of card units by chance is high. The card cannot be considered from a cryptographic point of view as a secure value unit holder. This fraud makes it possible to illegally reload a card in value units.

2ième cas de fraude
Dans le cas d'un débit d'unités de valeur dans la carte, et en cas d'arrachement, la carte se retrouve avec une zone active éventuellement corrompue et une zone de copie contenant un certain nombre d'unités de valeur. De plus, la zone de copie contient le nombre d'unités de valeur précédant le débit.
2nd fraud case
In the case of a debit of value units in the card, and in the event of tearing, the card is left with an active zone possibly corrupted and a copy zone containing a certain number of value units. In addition, the copy area contains the number of value units preceding the debit.

Puisqu'il s'agit d'une interruption de transaction, le compteur de transaction peut ne pas avoir encore été modifié. La zone mémoire contenant les unités de valeur n'étant pas protégée contre les modifications, un fraudeur peut transférer le contenu de la zone de copie dans la zone active. Le contenu de la zone de copie est valide puisque son certificat correspond toujours à la valeur du compteur de transaction. Cette fraude permet de récupérer des unités de valeur utilisées.  Since this is a transaction interrupt, the transaction counter may not have been changed yet. Since the memory area containing the units of value is not protected against modifications, a fraudster can transfer the content of the copy area to the active area. The content of the copy area is valid since its certificate always corresponds to the value of the transaction counter. This fraud makes it possible to recover the units of value used.

3ième cas de fraude
Un fraudeur peut également lire le contenu de sa carte avant une transaction. Il inscrit le contenu de la zone active sur une feuille de papier sans même en comprendre la signification. Puis il exécute une transaction. En cas d'arrachement de carte, la transaction ne sera pas achevée. La valeur du compteur de transaction de la carte ne sera pas modifiée. Le fraudeur pourra simplement réécrire dans la zone active de sa carte les données inscrites sur sa feuille de papier. Cette fraude permet également de récupérer des unités de valeur utilisées.
3rd case of fraud
A fraudster can also read the contents of his card before a transaction. He writes the content of the active area on a sheet of paper without even understanding its meaning. Then it executes a transaction. In the event of a card being torn off, the transaction will not be completed. The value of the card transaction counter will not be changed. The fraudster can simply rewrite the data written on his sheet of paper in the active area of his card. This fraud also makes it possible to recover the value units used.

La présente invention permet de remédier à ces problèmes. The present invention overcomes these problems.

La présente invention a pour objet un procédé de stockage d'unités de valeur dans une carte à puce pour la réalisation de transactions à partir d'un terminal, la carte comprenant une mémoire non volatile de type EEPROM comportant, une zone active susceptible de contenir des informations relatives au nombre d'unités de valeur de la carte pour une application donnée et un certificat calculé, notamment à partir de ce nombre, d'une fonction mathématique et d'une donnée qui varie à chaque transaction, et comportant également une zone de copie destinée à contenir des informations de sauvegarde de la zone active, principalement caractérisé en ce que l'enregistrement des informations dans la zone active et dans la zone de copie à la suite d'une transaction n'est opéré qu'après avoir effectué une opération de chiffrement sur ces informations, les informations chiffrées étant alors enregistrées dans ces zones.The subject of the present invention is a method of storing value units in a smart card for carrying out transactions from a terminal, the card comprising a non-volatile memory of EEPROM type comprising, an active area capable of containing information relating to the number of value units of the card for a given application and a certificate calculated, in particular from this number, of a mathematical function and of a data item which varies with each transaction, and also comprising a zone copy intended to contain backup information of the active area, mainly characterized in that the recording of the information in the active area and in the copy area following a transaction is only carried out after having carried out an encryption operation on this information, the encrypted information then being recorded in these zones.

Selon une autre caractéristique l'opération de chiffrement est réalisée au moyen d'un algorithme de chiffrement EK et d'une clé secrète K par le terminal de transaction. According to another characteristic, the encryption operation is carried out by means of an encryption algorithm EK and a secret key K by the transaction terminal.

Selon une autre caractéristique, l'information représentative du nombre d'unités de valeur et l'information du solde d'unités de valeur correspond à un codage sur un premier nombre variable de bits, et l'information représentative du certificat est codée sur un second nombre de bits variable, le nombre total de bits des deux codages étant constant. According to another characteristic, the information representative of the number of value units and the information of the balance of value units corresponds to a coding on a first variable number of bits, and the information representative of the certificate is coded on a second variable number of bits, the total number of bits of the two codings being constant.

Ainsi, le codage consiste à prendre comme valeur pour le nombre d'unités de valeur de la carte, un nombre maximal d'unités de valeur défini pour l'application donnée, moins le nombre d'unités de valeur de la carte, le terminal de transaction étant apte à déterminer le nombre d'unités de valeur de la carte en soustrayant au nombre maximal le code lu dans la carte. Thus, the coding consists in taking as value for the number of value units of the card, a maximum number of value units defined for the given application, minus the number of value units of the card, the terminal transaction capable of determining the number of value units of the card by subtracting the code read from the card from the maximum number.

Selon une autre caractéristique, le procédé consiste globalement à calculer un certificat dans une zone active en utilisant une première fonction, et à calculer le certificat dans une zone de copie, en utilisant une autre fonction. Ainsi, dans le cas où le certificat de la zone de copie serait copié dans la zone active, il ne serait plus valide. According to another characteristic, the method generally consists in calculating a certificate in an active area using a first function, and in calculating the certificate in a copy area, using another function. Thus, in the case where the certificate of the copy zone is copied in the active zone, it will no longer be valid.

Plus précisément, le procédé consiste à
- calculer à partir d'une première fonction mathématique FA, un premier certificat CA stocké dans la zone active et garantissant l'intégrité des points de cette zone;
- calculer à partir d'une seconde fonction mathématique FB, un second certificat CB stocké dans la zone de copie et garantissant l'intégrité de cette zone.
More specifically, the method consists of
- calculate from a first mathematical function FA, a first certificate CA stored in the active area and guaranteeing the integrity of the points in this area;
- calculate from a second mathematical function FB, a second certificate CB stored in the copy area and guaranteeing the integrity of this area.

De préférence, le procédé comporte en outre les étapes consistant à
- effectuer une première opération de chiffrement d'une donnée formée par le nombre d'unités de valeur et le premier certificat correspondant CA,
- effectuer une seconde opération de chiffrement d'une donnée formée par le nombre d'unités de valeur et le second certificat correspondant CB,
- enregistrer le résultat de la première opération de chiffrement dans la zone active de la mémoire et le résultat de la seconde opération de chiffrement dans la zone de copie.
Preferably, the method further includes the steps of
- perform a first encryption operation of a data item formed by the number of value units and the first corresponding certificate CA,
- perform a second encryption operation of a data item formed by the number of value units and the corresponding second certificate CB,
- Save the result of the first encryption operation in the active area of the memory and the result of the second encryption operation in the copy area.

Afin d'éviter que le contenu de la zone active ne puisse être utilisé en cas d'arrachement, selon une autre caractéristique de l'invention, le calcul d'un premier certificat est réalisé à partir du nombre d'unités de valeur, mais aussi de la valeur d'un compteur de transaction. Au début d'une transaction, on calcule un certificat à partir du nombre d'unités de valeur présent dans la zone active et d'une valeur du compteur de transaction incrémentée à sa prochaine valeur, la donnée obtenue est chiffrée et enregistrée en zone de copie, le compteur de transaction est ensuite incrémenté à cette nouvelle valeur de sorte qu'à cet instant, le certificat de la zone active n'est plus en accord avec la valeur du compteur, seule la donnée de sauvegarde étant correcte. De cette façon, le terminal marque sans la carte le début d'une transaction. In order to avoid that the content of the active area cannot be used in the event of being torn away, according to another characteristic of the invention, the calculation of a first certificate is carried out from the number of units of value, but also the value of a transaction counter. At the start of a transaction, a certificate is calculated from the number of value units present in the active area and from a value of the transaction counter incremented to its next value, the data obtained is encrypted and recorded in the area of copy, the transaction counter is then incremented to this new value so that at this instant, the certificate of the active area is no longer in agreement with the value of the counter, only the backup data being correct. In this way, the terminal marks without the card the start of a transaction.

L'invention concerne également un système de transaction monétaire utilisant des cartes à puce comprenant une mémoire non protégée avec une zone active pour contenir des données relatives au solde de la carte et une zone de copie pour contenir des données de sauvegarde; les données de zone active et de sauvegarde étant stockées de façon sécurisée. The invention also relates to a money transaction system using smart cards comprising an unprotected memory with an active area for containing data relating to the balance of the card and a copy area for containing backup data; the active zone and backup data being stored securely.

D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description suivante qui est faite à titre illustratif et non limitatif et en regard des dessins sur lesquels
- la figure 1, représente le schéma d'un système de transaction,
- la figure 2, représente une structure des données de la mémoire 103 de carte à puce selon un exemple de réalisation,
- la figure 3, représente les étapes relatives à une transaction mises en oeuvre par un terminal,
- la figure 4, représente les étapes mises en oeuvre lors de la vérification de l'intégrité des données de la zone active ou de la zone de copie,
- la figure 5, représente les étapes préalable à une transaction décrite en figure 3,
- la figure 6, représente les étapes de mise à jour du solde après une transaction et la fin de la transaction.
Other advantages and characteristics of the invention will appear on reading the following description which is given by way of illustration and not limitation and with reference to the drawings in which
FIG. 1 represents the diagram of a transaction system,
FIG. 2 represents a structure of the data of the memory 103 of the smart card according to an exemplary embodiment,
FIG. 3 represents the steps relating to a transaction implemented by a terminal,
FIG. 4 represents the steps implemented during the verification of the integrity of the data of the active area or of the copy area,
FIG. 5 represents the steps prior to a transaction described in FIG. 3,
- Figure 6 shows the steps for updating the balance after a transaction and the end of the transaction.

Ainsi, selon une première caractéristique de l'invention, on chiffre le contenu des zone active ZA et zone de copie ZC de la mémoire EEPROM non protégée 103 représentée sur la figure 1. Thus, according to a first characteristic of the invention, the content of the active zone ZA and copy zone ZC of the unprotected EEPROM memory 103 represented in FIG. 1 is encrypted.

Ce chiffrement est réalisé par un terminal 100 de l'application utilisant les cartes, à l'aide d'un algorithme de chiffrement EK et d'une clef du terminal K. Cette clef de chiffrement est connue par les terminaux acceptant les cartes de l'application. Un terminal sachant chiffrer saura également déchiffrer le contenu de la carte à partir d'un algorithme de déchiffrement DK. This encryption is carried out by a terminal 100 of the application using the cards, using an EK encryption algorithm and a key of the terminal K. This encryption key is known by the terminals accepting the cards of the 'application. A terminal that knows how to encrypt will also be able to decrypt the content of the card using a DK decryption algorithm.

Un fraudeur connaissant les principes de l'invention détaillés dans la suite et qui tente d'augmenter le nombre d'unités de valeur d'une carte ne sera plus capable de fixer le nombre maximum d'unités de valeur. Il ne pourra qu'essayer de recharger aléatoirement sa carte. Il inscrira donc des données aléatoires dans la zone active de sa carte. Il existe une probabilité pour qu'en déchiffrant la zone active d'une carte modifiée aléatoirement, un terminal obtienne un nombre d'unités de valeur et le certificat correspondant. Mais le nombre d'unités de valeur obtenu peut être inférieur au nombre d'unités de valeur contenu précédemment dans la carte. La probabilité d'obtenir un nombre d'unités de valeur supérieur au nombre d'unités de valeur initialement présent dans la carte est d'autant plus faible que ce nombre d'unités de valeur initial est grand. A fraudster knowing the principles of the invention detailed below and who attempts to increase the number of value units of a card will no longer be able to fix the maximum number of value units. He can only try to reload his card randomly. He will therefore enter random data in the active area of his card. There is a probability that, by deciphering the active area of a randomly modified card, a terminal will obtain a number of value units and the corresponding certificate. However, the number of value units obtained may be less than the number of value units previously contained in the card. The greater the number of value units initially present in the card, the greater the number of value units initially present in the card.

Afin de rendre encore plus difficile la fraude consistant à trouver aléatoirement un certificat correspondant à un nombre important d'unités de valeur, on prévoit selon le procédé d'augmenter la taille du certificat. Plus la taille du certificat est grande, plus il est difficile de trouver la bonne valeur. Or, comme les tailles mémoires sont relativement faibles dans une carte à puce, il n'est pas possible d'avoir à la fois un grand nombre d'unités et un grand certificat. In order to make fraud even more difficult consisting in randomly finding a certificate corresponding to a large number of value units, the method provides for increasing the size of the certificate. The larger the size of the certificate, the more difficult it is to find the right value. However, as the memory sizes are relatively small in a smart card, it is not possible to have both a large number of units and a large certificate.

Pour résoudre ce problème on propose selon une caractéristique de l'invention, que le nombre d'unités de valeur enregistré dans la carte ne corresponde pas au nombre d'unités de valeur pour l'application, mais au nombre d'unités de valeur qui n'ont pas fait l'objet d'une transaction (zéro pour une carte pleine d'unités). To solve this problem, it is proposed according to a characteristic of the invention, that the number of value units recorded in the card does not correspond to the number of value units for the application, but to the number of value units which have not been the subject of a transaction (zero for a card full of units).

Ce nombre est donc nul tant qu'aucune transaction n'a eu lieu. Ainsi, un nombre nul d'unités de valeur dans la carte correspond à la valeur maximale d'unités de valeur pour l'application. Et inversement, la valeur maximale d'unités de valeur dans la carte correspond à une valeur nulle d'unités de valeur pour l'application. This number is therefore zero as long as no transaction has taken place. Thus, a zero number of value units in the card corresponds to the maximum value unit value for the application. And conversely, the maximum value of value units in the card corresponds to a zero value of value units for the application.

Un terminal de l'application lisant le contenu d'une carte obtient le nombre d'unités de valeur en soustrayant au nombre d'unités de valeur maximal de l'application le nombre d'unités de valeur contenu dans la carte. A terminal of the application reading the contents of a card obtains the number of value units by subtracting from the maximum number of value units of the application the number of value units contained in the card.

De cette façon, lorsque la carte contiendra un zéro, cela correspondra à la valeur maximale. Un zéro dans la carte se code sur un seul bit. Ainsi, les bits restants de la zone de codage du nombre d'unités de valeur peuvent être utilisés pour contenir le certificat. In this way, when the card contains a zero, it will correspond to the maximum value. A zero in the card is coded on a single bit. Thus, the remaining bits of the coding area for the number of value units can be used to contain the certificate.

Plus le nombre d'unités de valeur est grand, plus la valeur codée dans la carte est faible, donc plus la taille mémoire allouée au certificat est importante. The greater the number of value units, the lower the value encoded in the card, therefore the greater the memory size allocated to the certificate.

Il est nécessaire d'indiquer aux terminaux la taille mémoire allouée au certificat pour chaque carte. It is necessary to indicate to the terminals the memory size allocated to the certificate for each card.

Pour cela, cette taille est indiquée dans la zone mémoire EEPROM non protégée de la carte, avec le nombre d'unités de valeur et le certificat. Cette indication est présente dans la zone active et dans la zone de copie.For this, this size is indicated in the unprotected EEPROM memory area of the card, with the number of value units and the certificate. This indication is present in the active area and in the copy area.

Selon une autre caractéristique de l'invention le calcul du certificat de la zone active est réalisé de manière différente du calcul du certificat de la zone de copie.  According to another characteristic of the invention, the calculation of the certificate of the active area is carried out differently from the calculation of the certificate of the copy area.

Il n'est alors plus possible de transférer le contenu de la zone active dans la zone de copie. Un terminal vérifiant une carte dont le contenu de la zone de copie a été transféré dans la zone active sera capable de constater la fraude. Le certificat que le terminal lira dans la zone active ne correspondra pas au calcul opéré dans le cas de la zone active, et correspondra au calcul opéré pour la zone de copie. It is then no longer possible to transfer the content of the active zone into the copy zone. A terminal verifying a card whose content from the copy area has been transferred to the active area will be able to detect fraud. The certificate that the terminal will read in the active area will not correspond to the calculation made in the case of the active area, and will correspond to the calculation made for the copy area.

Selon une autre caractéristique de l'invention, pour que le contenu de la zone active d'une carte ne puisse être réutilisé en cas d'arrachement de carte, le compteur de transaction de la carte est également modifié en tout début de transaction. La zone de copie est initialisée avec le nombre d'unités de valeur contenu dans la zone active et avec un certificat tenant compte de la prochaine valeur du compteur de transaction. Puis, le compteur de transaction est modifié à cette nouvelle valeur. A cet instant précis, le contenu de la zone active n'est plus réutilisable, le compteur de transaction ne correspond plus à son certificat. Par contre, la zone de copie est valide. According to another characteristic of the invention, so that the content of the active area of a card cannot be reused in the event of the card being torn off, the card transaction counter is also modified at the very beginning of the transaction. The copy zone is initialized with the number of value units contained in the active zone and with a certificate taking into account the next value of the transaction counter. Then, the transaction counter is changed to this new value. At this precise moment, the content of the active area is no longer reusable, the transaction counter no longer corresponds to its certificate. However, the copy area is valid.

Le compteur de transaction est de nouveau modifié en fin de transaction pour éviter que cette transaction ne puisse être refaite, comme indiqué précédemment. The transaction counter is again modified at the end of the transaction to prevent this transaction from being able to be redone, as indicated above.

L'invention va maintenant être décrite dans le cas de l'application à un système de transaction monétaire, le terminal 100 étant un terminal monétaire et la carte 103, une carte porte-monnaie électronique. The invention will now be described in the case of application to a monetary transaction system, the terminal 100 being a monetary terminal and the card 103, an electronic purse card.

Selon un exemple préféré de réalisation, la structure de données de la mémoire 103 est telle que représentée sur la figure 2. Cette structure ou organisation est bien sûr donnée à titre d'exemple.  According to a preferred embodiment, the data structure of the memory 103 is as shown in FIG. 2. This structure or organization is of course given by way of example.

D'autres organisations peuvent être adaptées tout en restant dans l'esprit de l'invention.Other organizations can be adapted while remaining in the spirit of the invention.

La mémoire comporte des données d'identification comprenant
- une valeur d'identification du circuit (circuit
silicium) dans la zone Id circuit,
- un code client dans la zone de référence émetteur
de carte (organisme bancaire),
- une donnée d'identification de l'application dans
la zone Id Card (donnée par l'émetteur),
- un numéro de série CSN de la carte (donné par
exemple par le fabricant).
The memory includes identification data including
- a circuit identification value (circuit
silicon) in the circuit Id area,
- a customer code in the sender reference area
card (banking organization),
- data identifying the application in
the Id Card area (given by the issuer),
- a CSN serial number of the card (given by
example by the manufacturer).

La mémoire comporte une zone de compteurs comportant les champs suivants
- un compteur de fraude incrémenté à chaque
vérification d'un certificat s'avérant mauvais.
The memory includes a counter area with the following fields
- a fraud counter incremented at each
verification of a certificate proving to be bad.

Ce compteur est formé de 3 bits selon la réalisation pratique qui a été faite. This counter is formed by 3 bits according to the practical embodiment which has been made.

- un compteur de transaction CTC. - a CTC transaction counter.

Dans un exemple de réalisation, ce compteur CTC est divisé en 5 sous-compteurs de 8 bits (cinq étages de comptage) avec un fonctionnement type boulier tel que décrit par exemple dans le brevet FR 93 10477 publié le 10 mars 1995 sous le NO 2 709 582. Les cinq sous-compteurs sont référencés Cl, C8, C64, C512,
C4096. Les cellules mémoire de l'étage de comptage C1 ont un poids de 1, ... et celles de l'étage C8 ont un poids de 4096 = 84).
In an exemplary embodiment, this CTC counter is divided into 5 8-bit sub-counters (five counting stages) with an abacus type operation as described for example in patent FR 93 10477 published on March 10, 1995 under NO 2 709 582. The five sub-counters are referenced Cl, C8, C64, C512,
C4096. The memory cells of counting stage C1 have a weight of 1, ... and those of stage C8 have a weight of 4096 = 84).

Les quatre premiers étages sont du type effaçables, c'est-à-dire que l'on peut effacer des bits qui y sont inscrits et ensuite ré-écrire aux mêmes emplacements. Le cinquième étage C4096 est par contre à écriture uniquement. Seuls 4 bits de ce dernier étage sont utilisés pour le comptage. Parmi les 4 bits restants, 1 bit est utilisé comme fusible et les trois autres bits comme compteur de fraude. The first four stages are of the erasable type, that is to say that it is possible to erase bits written thereon and then rewrite in the same locations. The fifth stage C4096, however, is write only. Only 4 bits of this last stage are used for counting. Among the remaining 4 bits, 1 bit is used as a fuse and the other three bits as the fraud counter.

Deux bits sont grillés par transaction. Two bits are toasted per transaction.

Ainsi, ce type de compteur va permettre de compter 10239 transactions [7+7x8+7x82+7x83+4x84l/2.  Thus, this type of counter will allow to count 10239 transactions [7 + 7x8 + 7x82 + 7x83 + 4x84l / 2.

La mémoire comporte en outre
- une zone certificat.
The memory also includes
- a certificate area.

Cette zone ne peut être effacée et sert à l'enregistrement de certification CER permettant l'authentification de la carte. Le certificat d'authentification est enregistré après la configuration du circuit pour l'utilisateur final et est vérifié par le terminal à chaque utilisation de la carte. This zone cannot be erased and is used for the CER certification record allowing the authentication of the card. The authentication certificate is saved after the configuration of the circuit for the end user and is verified by the terminal each time the card is used.

Il est calculé par exemple à partir d'une donnée d'identification ID, d'une fonction à sens unique fop et d'une clé secrète suivant la formule
CER = fop (ID, K)
ID est par exemple le contenu des zones
d'identification de carte, identification de
circuit u de référence d'émetteur.
It is calculated for example from an identification data ID, a one-way function fop and a secret key according to the formula
CER = fop (ID, K)
ID is for example the content of the zones
card identification, identification of
transmitter reference circuit u.

- une zone utilisateur. - a user area.

Il s'agit de la zone active porte-monnaie électronique et de la zone de copie pour les sauvegardes. This is the active electronic wallet area and the copy area for backups.

La zone active contient selon une caractéristique de l'invention une donnée chiffrée du solde Bal et du certificat correspondant Cert. L'information du solde d'unités de valeur correspond à un codage sur un premier nombre variable de bits, et l'information représentative du certificat est codée sur un second nombre de bits variable, le nombre total de bits des deux codages étant constant.  The active area contains, according to a characteristic of the invention, an encrypted datum of the balance Bal and the corresponding certificate Cert. The information on the balance of value units corresponds to a coding on a first variable number of bits, and the information representative of the certificate is coded on a second variable number of bits, the total number of bits of the two codings being constant.

La donnée chiffrée correspondant à une des deux zones du porte-unités peut s'écrire de la façon suivante
< Bal, Cert > = EK (Bal, Cert)
Bal étant le nombre d'unités de valeur et
Cert le certificat correspondant
K étant la clé secrète du terminal
< donnée > la valeur chiffrée
(donnée) la valeur non chiffrée
EK l'algorithme de chiffrement.
The encrypted data corresponding to one of the two areas of the unit carrier can be written as follows
<Bal, Cert> = EK (Bal, Cert)
Bal being the number of value units and
Cert the corresponding certificate
K being the secret key of the terminal
<data> the encrypted value
(given) the unencrypted value
EK the encryption algorithm.

Le calcul du certificat permet d'assurer l'intégrité des données du porte-monnaie électronique. The calculation of the certificate ensures the integrity of the data in the electronic purse.

Les données suivantes sont utilisées dans le calcul
- la valeur du solde, ce qui rend le certificat
unique pour un solde donné,
- des données permanentes de la carte, à savoir les
données d'identification (carte et émetteur),
- le compteur de transaction CTC. A chaque
transaction deux bits sont grillés dans ce
compteur CTC et le compteur peut uniquement être
incrémenté ou uniquement décrémenté. Un bit est
grillé au début d'une transaction, un deuxième
bit est grillé à la fin de la transaction.
The following data are used in the calculation
- the value of the balance, which makes the certificate
unique for a given balance,
- permanent card data, i.e.
identification data (card and issuer),
- the CTC transaction counter. Every
transaction two bits are toasted in this
CTC counter and the counter can only be
incremented or only decremented. A bit is
grilled at the start of a transaction, a second
bit is toasted at the end of the transaction.

Selon une des caractéristiques de l'invention, les certificats correspondant à un solde sont calculés pour le terminal de la façon suivante
Cert A = FA (Bal, CSN, CTC)
pour la zone active du porte-monnaie
et
Cert B = FB (Bal, CSN, CTC)
pour la zone de copie du porte-monnaie.
According to one of the characteristics of the invention, the certificates corresponding to a balance are calculated for the terminal as follows
Cert A = FA (Bal, CSN, CTC)
for the active wallet area
and
Cert B = FB (Bal, CSN, CTC)
for the wallet copy area.

FA et FB étant des fonctions différentes détenues par le terminal. On pourra par exemple prendre comme fonction un algorithme DES utilisant une clé secrète k détenue par le terminal. FA and FB being different functions held by the terminal. We could for example take as a function a DES algorithm using a secret key k held by the terminal.

Lors d'une transaction, l'enregistrement des informations relatives au solde et au certificat dans la zone de copie et dans la zone de sauvegarde se fait suivant le déroulement suivant
- enregistrement du solde et de son certificat
(présents dans la zone active) dans la zone de
copie,
- effacement de la zone active,
- écriture du nouveau solde dans la zone active et
de son certificat,
- effacement de la zone de copie (effacement de la
donnée de sauvegarde).
During a transaction, the recording of information relating to the balance and the certificate in the copy area and in the backup area is done as follows
- recording of the balance and its certificate
(present in the active area) in the area of
copy,
- deletion of the active area,
- write the new balance in the active area and
his certificate,
- deletion of the copy area (deletion of the
backup data).

Cet enchaînement permet d'éviter toute perte d'information en cas d'arrachement de la carte ou de coupure de courant. This sequence makes it possible to avoid any loss of information in the event of the card being torn off or a power failure.

Les différentes étapes mises en oeuvre par le terminal lors d'une transaction sont représentées par les blocs fonctionnels de la figure 3. The different steps implemented by the terminal during a transaction are represented by the functional blocks of FIG. 3.

Le terminal lit le contenu de la zone active de la carte (porte-monnaie électronique PM) 150, laquelle comporte la donnée < Ball, CertlA > . Ball est le nombre d'unités de valeur initialement stockées dans la carte, et CertlA est le certificat initialement stocké dans la carte. The terminal reads the content of the active area of the card (electronic purse PM) 150, which includes the data <Ball, CertlA>. Ball is the number of value units initially stored in the card, and CertlA is the certificate initially stored in the card.

Le terminal vérifie l'intégrité de ces données 201. The terminal checks the integrity of this data 201.

Pour cela, il déchiffre cette donnée suivant les étapes 20 à 22 détaillées à la figure 4. Si le certificat qu'il a calculé correspond au certificat de la carte, alors la vérification a réussi. La transaction se poursuit 201, 202, 300. For this, it decrypts this data according to steps 20 to 22 detailed in FIG. 4. If the certificate that it calculated corresponds to the certificate of the card, then the verification has succeeded. The transaction continues 201, 202, 300.

Le terminal met à jour le solde dans la carte et calcule une nouvelle donnée chiffrée 301 et 302. La mise à jour est réalisée suivant les étapes 30 à 35 illustrées sur la figure 6. The terminal updates the balance in the card and calculates new encrypted data 301 and 302. The update is carried out according to steps 30 to 35 illustrated in FIG. 6.

Dans le cas où l'intégrité des données de la zone active n'est pas vérifiée, le terminal lit la zone de copie qui contient < Ball, Certlg > 203. In the event that the integrity of the data in the active area is not checked, the terminal reads the copy area which contains <Ball, Certlg> 203.

Le terminal vérifie l'intégrité des données de sauvegarde 204 par déchiffrement de ces données en opérant les étapes 20, 21 et 22 de la figure 4 sur ces données. The terminal verifies the integrity of the backup data 204 by decrypting this data by carrying out steps 20, 21 and 22 of FIG. 4 on this data.

Si le certificat calculé est égal au certificat de cette zone Certl'B==Certlb, alors les données sont intègres, le terminal restaure cette donnée de sauvegarde dans la zone active qui ne contenait rien ou une donnée erronée 205. If the calculated certificate is equal to the certificate of this zone Certl'B == Certlb, then the data is intact, the terminal restores this backup data in the active zone which contained nothing or an erroneous data 205.

Dans le cas où les données contenues dans la zone de copie ne sont pas intègres, alors le terminal inscrit un bit dans la zone de fraude 206. If the data contained in the copy zone is not intact, then the terminal writes a bit in the fraud zone 206.

Selon l'application, une ou plusieurs tentatives de fraude peuvent être acceptées avant de refuser définitivement la carte. Depending on the application, one or more fraud attempts may be accepted before definitively refusing the card.

Lorsque la zone de fraude est pleine, la carte est avalée. Le contrôle de la zone de fraude se fait lors d'une étape préalable à la transaction au tout début de l'initialisation de la transaction 50, 51, 52. When the fraud zone is full, the card is swallowed. The fraud zone is checked during a step prior to the transaction at the very start of the initialization of the transaction 50, 51, 52.

La figure 5, illustre les étapes préalables 200, 201 et 202 à la mise en oeuvre d'une transaction. On pourra préférentiellement utiliser des fonctions différentes FA et FB pour le calcul des certificats. FIG. 5 illustrates the preliminary steps 200, 201 and 202 to the implementation of a transaction. Preferably, different FA and FB functions can be used for calculating certificates.

A l'étape 200 (ou 204), le terminal effectue les opérations developpées sur la figure 4. In step 200 (or 204), the terminal performs the operations developed in FIG. 4.

Le terminal opère le déchiffrement du contenu de la zone active (ou de copie). (20)
Il calcule ensuite le certificat CertlA correspondant au solde (Ball) de cette zone. (21)
Il opère la vérification d'intégrité. (22)
A l'étape 201
- le terminal calcule le certificat (CertlB) pour la zone de sauvegarde; (23)
il chiffre la donnée (Ball, CertlB); (24)
il sauvegarde dans la zone de copie de la carte la valeur chiffrée. (25)
A l'étape 202
- le terminal incrémente le compteur CTC; (26)
- il efface le contenu de la zone active. (27)
La figure 6, illustre les étapes de mise à jour du solde après du solde après une transaction (301) et la fin de la transaction (302).
The terminal operates the decryption of the content of the active area (or of copy). (20)
It then calculates the CertlA certificate corresponding to the balance (Ball) for this zone. (21)
It operates the integrity check. (22)
At step 201
- the terminal calculates the certificate (CertlB) for the backup area; (23)
it encrypts the data (Ball, CertlB); (24)
it saves the encrypted value in the card's copy area. (25)
At step 202
- the terminal increments the CTC counter; (26)
- it erases the content of the active area. (27)
FIG. 6 illustrates the steps for updating the balance after the balance after a transaction (301) and the end of the transaction (302).

L'ancien solde Ball est modifié d'une valeur x (en plus ou en moins selon la transaction opérée) pour donner le nouveau solde Bal2 tel que
Bal2 = Ball + x (30), x étant la valeur de la transaction.
The old Ball balance is modified by a value x (more or less depending on the transaction made) to give the new Bal2 balance such that
Bal2 = Ball + x (30), x being the value of the transaction.

Le terminal calcule un nouveau certificat tenant compte de ce nouveau solde, et de la nouvelle valeur du compteur de transaction CTC+l
Cert2A = FA(Bal2, Card Id, CTC+1) (31)
Le terminal effectue le chiffrement de ces nouvelles données
< Bal2, Cert2A > = EK(Bal2, Cert2A) (32)
Le terminal enregistre dans la zone active de la carte cette nouvelle donnée chiffrée. (33)
La zone de copie de la carte contient l'ancienne donnée, c'est-à-dire < Ball, CertlB > . Le terminal incrémente le compteur de transaction CTC de la carte en grillant un second bit pour valider la transaction. (34)
Le terminal efface la zone de copie (35) et commande l'éjection de la carte.
The terminal calculates a new certificate taking into account this new balance, and the new value of the transaction counter CTC + l
Cert2A = FA (Bal2, Card Id, CTC + 1) (31)
The terminal encrypts this new data
<Bal2, Cert2A> = EK (Bal2, Cert2A) (32)
The terminal records this new encrypted data in the active area of the card. (33)
The card copy area contains the old data, i.e. <Ball, CertlB>. The terminal increments the card's CTC transaction counter by toasting a second bit to validate the transaction. (34)
The terminal clears the copy area (35) and controls the ejection of the card.

Claims (9)

REVENDICATIONS 1. Procédé de stockage d'unités de valeur dans une carte à puce pour la réalisation de transactions à partir d'un terminal, la carte comprenant une mémoire non volatile de type EEPROM (103), comportant une zone active (ZA) susceptible de contenir des informations relatives au nombre d'unités de valeur de la carte pour une application donnée et un certificat calculé par le terminal, notamment à partir de ce nombre, d'une fonction mathématique et d'une donnée qui varie à chaque transaction, la mémoire comportant également une zone de copie (ZC) destinée à contenir des informations de sauvegarde de la zone active, caractérisé en ce que l'enregistrement des informations dans la zone active (ZA) et dans la zone de copie (ZC) à la suite d'une transaction n'est opéré qu'après avoir effectué une opération de chiffrement sur ces informations, les informations chiffrées étant alors enregistrées dans ces zones. 1. Method for storing value units in a smart card for carrying out transactions from a terminal, the card comprising a non-volatile memory of EEPROM type (103), comprising an active area (ZA) capable of contain information relating to the number of value units of the card for a given application and a certificate calculated by the terminal, in particular from this number, a mathematical function and a data which varies with each transaction, the memory also comprising a copy zone (ZC) intended to contain information for saving the active zone, characterized in that the recording of the information in the active zone (ZA) and in the copy zone (ZC) as a result a transaction is only carried out after having performed an encryption operation on this information, the encrypted information then being recorded in these zones. 2. Procédé de stockage selon la revendications 1, caractérisé en ce que l'opération de chiffrement est réalisée au moyen d'un algorithme de chiffrement EK et d'une clé secrète K pour le terminal de transaction. 2. A storage method according to claim 1, characterized in that the encryption operation is carried out by means of an encryption algorithm EK and a secret key K for the transaction terminal. 3. Procédé de stockage selon la revendication 1 ou 2, caractérisé en ce que l'information représentative du nombre d'unités de valeur et l'information du solde d'unités de valeur correspond à un codage sur un premier nombre variable de bits, et l'information représentative du certificat est codée sur un second nombre de bits variable, le nombre total de bits des deux codages étant constant. 3. Storage method according to claim 1 or 2, characterized in that the information representative of the number of value units and the information of the balance of value units corresponds to coding on a first variable number of bits, and the information representing the certificate is coded on a second variable number of bits, the total number of bits of the two codings being constant. 4. Procédé de stockage selon la revendication 3, caractérisé en ce que le codage consiste à prendre comme valeur pour le nombre d'unités de valeur de la carte, un nombre maximal d'unités de valeur défini pour l'application donnée, moins le nombre d'unités de valeur de la carte, le terminal de transaction étant apte à déterminer le nombre d'unités de valeur de la carte en soustrayant au nombre maximal le code lu dans la carte. 4. Storage method according to claim 3, characterized in that the coding consists in taking as value for the number of value units of the card, a maximum number of value units defined for the given application, minus the number of value units of the card, the transaction terminal being able to determine the number of value units of the card by subtracting the code read from the card from the maximum number. 5. Procédé de stockage selon l'une quelconque des revendications précédentes caractérisé en ce qu'il consiste à calculer un certificat dans une zone active en utilisant une première fonction (FA), et à calculer le certificat dans une zone de copie, en utilisant une autre fonction (FB). 5. Storage method according to any one of the preceding claims, characterized in that it consists in calculating a certificate in an active area using a first function (FA), and in calculating the certificate in a copy area, using another function (FB). 6. Procédé de stockage selon la revendication 5, caractérisé en ce qu'il comporte les étapes consistant à:  6. Storage method according to claim 5, characterized in that it comprises the steps consisting in: - calculer à partir d'une première fonction mathématique FA, un premier certificat CA stocké dans la zone active et garantissant l'intégrité des points de cette zone, - calculate from a first mathematical function FA, a first certificate CA stored in the active area and guaranteeing the integrity of the points in this area, - calculer à partir d'une seconde fonction mathématique FB, un second certificat CB stocké dans la zone de copie et garantissant l'intégrité de cette zone.  - calculate from a second mathematical function FB, a second certificate CB stored in the copy area and guaranteeing the integrity of this area. 7. Procédé de stockage selon la revendication 6, caractérisé en ce qu'il comporte en outre les étapes consistant à 7. Storage method according to claim 6, characterized in that it further comprises the steps consisting in - effectuer une première opération de chiffrement d'une donnée formée par le nombre d'unités de valeur et le le premier certificat correspondant CA, - perform a first encryption operation of a data item formed by the number of value units and the first corresponding certificate CA, - effectuer un seconde opération de chiffrement d'une donnée formée par le nombre d'unités de valeur et second certificat correspondant CB, - perform a second encryption operation of a data item formed by the number of value units and corresponding second certificate CB, - enregistrer le résultat de la première opération de chiffrement dans la zone active de la mémoire et le résultat de la seconde opération de chiffrement dans la zone de copie. - Save the result of the first encryption operation in the active area of the memory and the result of the second encryption operation in the copy area. 8. Procédé selon l'une quelconque des revendications précédentes selon lequel le calcul d'un premier certificat est réalisé à partir du nombre d'unités de valeur, mais aussi de la valeur d'un compteur de transaction, caractérisé en ce que, au début d'une transaction, on calcule un certificat à partir du nombre d'unités de valeur présent dans la zone active et d'une valeur du compteur de transaction incrémentée à sa prochaine valeur, la donnée obtenue est chiffrée et enregistrée en zone de copie, le compteur de transaction est ensuite incrémenté à cette nouvelle valeur de sorte qu'à cet instant, le certificat de la zone active n'est plus en accord avec la valeur du compteur, seule la donnée de sauvegarde étant correcte. 8. Method according to any one of the preceding claims, in which the calculation of a first certificate is carried out from the number of value units, but also from the value of a transaction counter, characterized in that, at start of a transaction, a certificate is calculated from the number of value units present in the active area and from a value of the transaction counter incremented to its next value, the data obtained is encrypted and saved in the copy area , the transaction counter is then incremented to this new value so that at this instant, the certificate of the active area is no longer in agreement with the value of the counter, only the backup data being correct. 9. Système de transaction monétaire utilisant des cartes à puce comprenant une mémoire non protégée avec une zone active pour contenir des données relatives au solde de la carte et une zone de copie pour contenir des données de sauvegarde, caractérisé en ce que les données de zone active et de sauvegarde sont stockées de façon sécurisée selon l'une quelconque des revendications précédentes.  9. Monetary transaction system using smart cards comprising an unprotected memory with an active area for containing data relating to the balance of the card and a copy area for containing backup data, characterized in that the area data Active and backup are securely stored according to any one of the preceding claims.
FR9606705A 1996-05-31 1996-05-31 METHOD FOR STORING VALUE UNITS IN A SECURELY CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH CARDS Expired - Fee Related FR2749413B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR9606705A FR2749413B1 (en) 1996-05-31 1996-05-31 METHOD FOR STORING VALUE UNITS IN A SECURELY CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH CARDS
DE69725723T DE69725723T2 (en) 1996-05-31 1997-05-30 METHOD FOR SECURELY STORING VALUE UNITS IN A CHIP CARD AND MONEY TRANSFER SYSTEM FOR THE USE THEREOF
ES97926064T ES2212102T3 (en) 1996-05-31 1997-05-30 STORAGE PROCEDURE OF VALUE UNITS IN AN INSURED CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH TARCETS.
EP97926064A EP0910839B1 (en) 1996-05-31 1997-05-30 Method for safely storing credit units in a smart card and monetary transaction system using same
PCT/FR1997/000947 WO1997045815A1 (en) 1996-05-31 1997-05-30 Method for safely storing credit units in a smart card and monetary transaction system using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9606705A FR2749413B1 (en) 1996-05-31 1996-05-31 METHOD FOR STORING VALUE UNITS IN A SECURELY CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH CARDS

Publications (2)

Publication Number Publication Date
FR2749413A1 true FR2749413A1 (en) 1997-12-05
FR2749413B1 FR2749413B1 (en) 1998-07-10

Family

ID=9492581

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9606705A Expired - Fee Related FR2749413B1 (en) 1996-05-31 1996-05-31 METHOD FOR STORING VALUE UNITS IN A SECURELY CHIP CARD AND MONETARY TRANSACTION SYSTEM WITH SUCH CARDS

Country Status (5)

Country Link
EP (1) EP0910839B1 (en)
DE (1) DE69725723T2 (en)
ES (1) ES2212102T3 (en)
FR (1) FR2749413B1 (en)
WO (1) WO1997045815A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2873471A1 (en) * 2004-07-26 2006-01-27 Ascom Sa NON-CONTACT MEMORY CARD SYSTEM WITH PASSWORD

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192329C (en) 1999-11-29 2005-03-09 因芬尼昂技术股份公司 Method and arrangement for operating multi-stage counter in counting direction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0299826A1 (en) * 1987-07-10 1989-01-18 Schlumberger Industries Method and system for authenticating electronic memory cards
EP0423035A1 (en) * 1989-10-13 1991-04-17 Gemplus Card International Payment or information transfer system using an electronic memory card as wallet
FR2689662A1 (en) * 1992-04-01 1993-10-08 Gemplus Card Int Protection against information loss from telephone cards - uses memory zones and releases modified information from first to second zones with control bit
EP0621570A1 (en) * 1993-04-16 1994-10-26 France Telecom IC-card updating method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0299826A1 (en) * 1987-07-10 1989-01-18 Schlumberger Industries Method and system for authenticating electronic memory cards
EP0423035A1 (en) * 1989-10-13 1991-04-17 Gemplus Card International Payment or information transfer system using an electronic memory card as wallet
FR2689662A1 (en) * 1992-04-01 1993-10-08 Gemplus Card Int Protection against information loss from telephone cards - uses memory zones and releases modified information from first to second zones with control bit
EP0621570A1 (en) * 1993-04-16 1994-10-26 France Telecom IC-card updating method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2873471A1 (en) * 2004-07-26 2006-01-27 Ascom Sa NON-CONTACT MEMORY CARD SYSTEM WITH PASSWORD

Also Published As

Publication number Publication date
DE69725723T2 (en) 2004-07-22
WO1997045815A1 (en) 1997-12-04
ES2212102T3 (en) 2004-07-16
EP0910839B1 (en) 2003-10-22
DE69725723D1 (en) 2003-11-27
EP0910839A1 (en) 1999-04-28
FR2749413B1 (en) 1998-07-10

Similar Documents

Publication Publication Date Title
EP0423035B1 (en) Payment or information transfer system using an electronic memory card as wallet
EP0475837B1 (en) Method of managing an application program stored in an ic card
EP0409701B1 (en) Hard-wired micro-circuit card and transaction method between a respective hard-wired micro-circuit card and a terminal
EP0744063B1 (en) Smart card transaction method
CA2144124C (en) Process and device for authentifying a data medium used to authorize a transaction or to authorize access to a service or a location, and related medium
CA2046289C (en) Method for generating random numbers in a data processing system and system using said method
EP0414314A1 (en) Single-number generation method for micro-chip card and use of same for the cooperation of the card with a host-system
EP0990204A2 (en) Chip card comprising means for managing a virtual memory, associated communication method and protocol
WO1998028719A1 (en) Method for secure transfer of data by a communication network
FR2697929A1 (en) Security protocol for information exchange with portable object - using exchange and updating of signatures, achieved through algorithm, certificate and random number
EP0910839B1 (en) Method for safely storing credit units in a smart card and monetary transaction system using same
EP1399896A1 (en) Cryptographic method of protecting an electronic chip against fraud
EP0434550B1 (en) Method of generating a pseudo-random number in a portable electronic objects system and a system for carrying out the method
FR2753556A1 (en) METHOD FOR AUTHENTICATING CARDS
FR3061332A1 (en) METHOD FOR SECURING ELECTRONIC OPERATION WITH A CHIP CARD
EP0979495B1 (en) Rollup certification in a reader
EP3032450B1 (en) Method for checking the authenticity of a payment terminal and terminal thus secured
FR2789774A1 (en) Security module for secure comparison of an authentication code with one stored in memory has additional auxiliary registers in which randomly chosen data words are placed for use in authenticating the code in the main registers
EP0609156A1 (en) System to detect falsified stored information
WO2016097637A1 (en) Method of securing a pin code with error counters in a chip card
FR2892875A1 (en) METHOD OF SECURING PAYMENTS BY CUTTING AMOUNTS
FR2788620A1 (en) Storage and transaction systems for secure remote payment systems
FR2834842A1 (en) Terminal transaction authentication having card asymmetric encryption algorithm generating cryptogram and authentication exchanging information card/terminal with supplementary algorithm generating secret specification
WO2008003886A1 (en) Electronic module for storing data
EP2812864A2 (en) Payment system, payment terminal of said system, and associated payment method

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100129