WO2000003362A1 - Carte a puce munie d'un dispositif de comptage - Google Patents

Carte a puce munie d'un dispositif de comptage Download PDF

Info

Publication number
WO2000003362A1
WO2000003362A1 PCT/FR1998/001518 FR9801518W WO0003362A1 WO 2000003362 A1 WO2000003362 A1 WO 2000003362A1 FR 9801518 W FR9801518 W FR 9801518W WO 0003362 A1 WO0003362 A1 WO 0003362A1
Authority
WO
WIPO (PCT)
Prior art keywords
counter
file
zone
rule
card
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.)
Ceased
Application number
PCT/FR1998/001518
Other languages
English (en)
Inventor
Pascal Cooreman
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 AU87346/98A priority Critical patent/AU8734698A/en
Priority to PCT/FR1998/001518 priority patent/WO2000003362A1/fr
Publication of WO2000003362A1 publication Critical patent/WO2000003362A1/fr
Anticipated expiration legal-status Critical
Ceased 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/02Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by keys or other credit registering devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/343Cards including a counter
    • G06Q20/3437Cards including a counter the counter having non-monetary units, e.g. trips
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/357Cards having a plurality of specified features
    • G06Q20/3572Multiple accounts on card
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4093Monitoring of device authentication
    • 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
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Definitions

  • the present invention relates to a smart card provided with an improved counting device. It aims to facilitate the use of smart cards, or more generally portable smart objects, in increasingly diverse fields, by making this use both more powerful and faster.
  • chips are equipped with different counters.
  • Classically known are unit counters, representative of possible consumption units, or even of money.
  • bonus counters which count loyalty points granted by a service provider to a user. This grant may be in proportion to the consumption of a service by the user, the arrival of the user in an establishment, at a merchant, or even a count of his passages in certain places.
  • Counters can be produced in various forms. They can be hardware counters or software counters.
  • a hardware counter is a counter in which, like an abacus, the passage of the counter from an initial state to a final state borrows, for the counter, intermediate states representative of intermediate values between this initial value and this value final.
  • a software counter consists mainly of a record, a value, and an algorithm implemented by a microprocessor. The principle of modifying a software counter consists in going to read a value data by reading the record, in modifying the data resulting from this reading according to the algorithm (in general it is a addition, or some other mathematical operation), and to rewrite the new calculated value at the place of recording.
  • the invention will mainly relate to software counters although it would also be applicable to hardware counters.
  • the state of the counter is transmitted by the smart card to a smart card reader which reads this card.
  • the reader programs implement the algorithm and cause, at the end of the implementation, the recording of the new value in the memory of the card chip.
  • the first drawback lies in the fact that the transaction is slow, it requires numerous checks between the transmitter, (the reader) and the receiver (the smart card). In the so-called contactless card field, where electrical energy is supplied to the card by radio transmission, these numerous exchanges, in addition to being slow, are particularly difficult to achieve.
  • the second drawback appears from the moment when it is essential to move several meters to carry out a transaction. This is for example the case in applications including several partners. Each partner has a dedicated counter in the card. The purchase of a service from one of the partners leads to a gain in loyalty points within the different counters. With existing solutions, the terminal performs a sequential update of the different counters.
  • the transaction is divided into as many elementary actions (updates or records) as there are movements to operate on the counters. If the update of one of said counters fails, the consistency of the counters within the card is no longer effective or lost, without the possibility of recovering the initial state of these same counters before the transaction is issued, execution failed.
  • the problem of limiting the number of exchanges is remedied by providing the smart card with a recording of rules which associate counters with instructions for modifying these counters.
  • the smart card is provided with a memory which contains these modification instructions themselves, and with a microprocessor which implements them.
  • the invention also remedies the risk of loss of consistency of the counters by providing the counting device of the smart card with a recovery mechanism which guarantees joint ownership of the transaction. Thus if a problem appears during the modification of a counter (impossibility of writing, tearing of the card ...), the counting device makes it possible to recover the state of the smart card before the execution of the transaction including execution failed.
  • the subject of the invention is therefore a smart card provided in its chip with a counting device comprising at least one counter which can be modified using instructions for modifying said counters, characterized in that said counting device comprises a file rules each record of which contains at least one instruction sheet comprising: a designation area to identify a counter to be moved,
  • an instruction zone to provide information on how to modify the counter to be activated
  • - at least one variable zone to contain a variable to which the instruction applies.
  • said counting device comprises a recovery mechanism characterized in that said mechanism guarantees the joint execution of said rules.
  • FIG. 1 a smart card provided with the counting device according to the invention
  • a set of records recorded in memory will be called a file.
  • record a set of data, associated with each other in the manner of a database.
  • file associations of data of a record all having the same structure, the same syntax.
  • FIG. 1 shows a smart card 1 provided with a counting device according to the invention.
  • the smart card 1 comprises a microprocessor 100, a data bus 2, of addresses and commands, and means 3 for entering into contact with the outside world.
  • the means 3 here represent a connector which receives a message 4 from a reader not shown.
  • the link with the reader can also be an electrical, radio-electric, infrared link: it depends on the nature of the interface 3.
  • the card chip includes a counting device 5 which includes at least one counter. We will see later how this counter is made.
  • the counting device 5 preferably includes a file 6 of counter blocks. Each of the records 7, 8, 9 or other, of the file 6 associates an identification 10 of a counter block with a list 11 of rules for modifying the counters of this block.
  • FIG. 2 shows in detail the file 6 and the record 7. There can be several counter blocks in the file 6. There are only three diagrammatically shown.
  • the rules of area 11 can be used on the counter block 7. The aim is to ensure the security of the counter block 7 by authorizing the application of the only rules thus designated.
  • the identifier 10 can represent the name of the application (type of use of the smart card) which uses the counter block. This identifier is generally communicated to the card at the time of contact with the reader.
  • the card 1 includes in memory, a rule file 12 (FIG. 3). Preferably, it can also include a conditions file 13
  • FIG. 1 a set of registers 15 to 19 intended to receive information, in particular access condition information.
  • the registers 15 to 19 as well as the files 6, 12 to 14 and 200 are also connected to the microprocessor 100 by the bus 2.
  • the files 6, 12, 13, 14 and 200 are memorized for this purpose in a memory of the chip 1 This memory is here confused with these files themselves in order to simplify the explanation. However, it is possible to adopt for this memory, or for the memories that contain these files, various physical structures: non-volatile memories, saved memories, differentiated memories for each of the files, or single memory.
  • An auxiliary memory 101 can also contain a program memory 102 and a data memory 103.
  • the microprocessor 100 implements the invention by applying programs contained in the program memory 102 to data in the memory 103.
  • One of these memories 102 or 103, or both, can be located in the reader circuits.
  • Memory 103 if it is in the smart card, can contain files 6 and 12 to 14 unless these are saved in another memory of the card.
  • Record 7 comprises, in addition to zone 10 and zone 11, preferably, a zone 20 relating to access conditions and a zone 21 relating to a label of the counter block (the name of the counter block). It can for example also include four date zones, 22 to 25, mentioning a start date for granting bonus points, an end date for granting these bonus points, a start date for reimbursement of points, and an end date for reimbursement of points.
  • Block 7 also includes the designation of a number of meters.
  • an area 26, called balance will include the actual state of the bonus counter, once we have added and subtracted all the points. It may include a cumulative balance 27 representative of the number of points received in the counter block 7, without deduction of reimbursements.
  • an area 28 for counting visits counting the number of times in practice that area 26 of the scale has been moved. It can include other zones 29 for other types of counting.
  • the essential file of the invention comprises records such as 30 to 32.
  • Each record identified by a rule, designated by an area identifying 33 comprises a series 34 of files each associating a counter with an instruction applicable to this counter.
  • Each file of a record in the rules file 12 therefore includes a designation area 36, to designate a counter and an instruction area 37 to provide information on the mode of modification of the counter to be moved.
  • the instruction in zone 37 is generally an instruction of addition or subtraction. One could nevertheless envisage any other simple or complex arithmetic operation.
  • Each record of a record in file 12 comprises at least one zone, preferably two zones 371, 372, of variables to contain variables to which the instruction applies.
  • variables can be date variables, numeric variables. They can also be references to values contained in other files. For example, they can be addresses of other values. These addresses can be those of zones 26, 27 or 28 of the counter block concerned, or of another block.
  • the records in file 12 additionally include a fifth condition area 373 which is a condition reference area.
  • This zone 373 designates a recording of the file 13, of conditions to be satisfied in order to authorize the execution of the instruction.
  • Figure 4 shows the condition file 13.
  • This file 13 essentially comprises, in each record, an area identifying 38 and a list of compound condition sheets.
  • Each condition sheet includes an operator area 39 showing how to compose the conditions of the different records of a record, a function area 40 to represent a logical condition, and at least two areas 41 and 42 to respectively contain a reference value of the condition and a value to be tested with respect to the reference value according to the logical condition of the area 40.
  • the card 1 of the invention also includes a calculation file 14, FIG. 5, the records of which include, each, an area identifying 43 and a set of calculation sheets 44.
  • Each calculation record sheet includes a function area 45 to represent an elementary mathematical function, at least one area, preferably two areas 46 and 47, to contain one or two operands of this elementary mathematical function, and an area 48 known as the sheet operator to indicate the way in which the result of a worksheet 49 must be taken into account for a calculation with a following file 50.
  • the result of the calculation of all the files 44 is intended to replace a value (371 or 372) inside a rule record (12), a value (41) inside a condition record (13), or a value (46 or 47) inside a rule record calculation (14).
  • the files 12, 13 and 14 preferably include, like the file 6, in each record an access condition zone respectively 51 to 53.
  • the records of the file 12 will preferably comprise a zone 54 of version of rules allowing identify the recent nature of the rule implemented.
  • the card 1 also includes a backup file 200 used by the counting device to guarantee that the rules of the rules file 12 are executed in an indivisible manner.
  • recovery mechanisms There are different implementations of recovery mechanisms. Some are more elaborate than others, particularly with regard to error handling or the lifetime of the mechanism. As an example we will define a possible design of a recovery mechanism. It is in no way a limitation of the invention. Any recovery mechanism design can be used provided that it offers services equivalent to those described below.
  • the backup file 200 comprises a finite number of records the size of which is variable.
  • the structure of a record in the backup file 200 is described in conjunction with the figure. 13.
  • each record 201, 202, 203 of the backup file 200 comprises:
  • an integrity zone 303 containing a redundancy code (checksum) which is calculated at the end of the saving of the memory zone to be saved and whose value is for example the sum of the bits at zero of the zones 300 and 302 combined.
  • This redundancy code guarantees the validity of the registration.
  • Fields 300, 301 and 303 constitute what we will call the descriptor of a record (201, 202 or 203) of the backup file.
  • the area 302 of the said recording constitutes the body thereof.
  • Figures 6 to 12 show a method of using, arbitrary but complete, the organization of files 6, 12, 13 and 14 between them.
  • FIGS. 14 and 15 describe a method of using the backup file 200 respectively to save the content of the counters before their modification or to restore the value of the latter.
  • Message 4 also includes, composed by the owner of the smart card on a reader keyboard, an identification 57 of this owner by his personal identification number: PIN (Personnal Identification Number).
  • PIN Personal Identification Number
  • the message 4 finally includes in area 58 the date of the transaction day, insofar as this date is useful for the rule, and where the card 1 is not itself capable of producing it independently.
  • Message 4 includes in a zone 59, the designation of a particular applicable rule "Rule 1", and or alternatively the designation of a counter block “Block 1" on which rules must apply. As will be seen later, this is not necessary.
  • the message 4 arrives via the interface 3 and the bus 2 in the microprocessor 100.
  • the latter from the identification of the rule “Rule 1" present in zone 59, will search according to the invention , in file 12 which records have "Rule 1", in zone 33, as identifier. It can also be verified that the records found are conditioned, in zone 51, by an access condition, for example PETROL.
  • the access condition can be different from PETROL if one has chosen a different password for the application.
  • this password must be contained in message 4 (unless it can be deduced by the microprocessor 100 from the identifier of the application itself).
  • the microprocessor 100 will take from file 12 only the recording 30 which includes both Rule 1 as identification in area 33 and the PETROL code in area 51, under the access conditions. This is represented in FIG. 6.
  • the microprocessor 100 will seek the record whose identifier in zone 11 will correspond to "Block 1 "designated in zone 60.
  • the designation of the counter block may cause, if zone 59 is blank, the application of all the applicable rules designated in zone 11 of record 7.
  • the microprocessor 100 will retain all the counter blocks and or all the rules corresponding to this access condition.
  • This addition operation includes, in the example, a micro-instruction 64 by which the data of the area 56 of the message 4 is divided by n.
  • the value n is the content of the area 372. In the example where the data value was 180, and where n is 50, dividing 180 by 50 gives 3 with a remainder of 30.
  • this intermediate result 3 is multiplied by the value m.
  • the value m is the value stored in area 371 of record 61. Here, m is 1. Therefore the result to be added is 3. Consequently, the application of the instruction Addition 1 on counter 1 will consist of it add 3 more points.
  • a rule file comprises, in zone 373, an identifier of a recording of the file 13 of conditions which will be used.
  • condition 1 is represented in FIG. 7.
  • the operand for composing the conditions between them is a logical AND. When there is only one condition, the operand of composition is always a logical AND. We will see later, figure 10, how the operands of logical composition of the conditions are made up.
  • condition 1 is, in the scenario mentioned, a comparison with a meaning "less than or equal".
  • the result of the comparison is positive if the value designated in zone 42, here the data item 180, is less than or equal to the value designated or presented in zone 41.
  • Zone 41 is the reference zone of the condition. Here it has the value 200.
  • Zone 42 contains the reference of the value to be tested. Here it is the data entered. These are the 180 FF of the purchase.
  • the information in zone 42 is the address of the place where the value of 180 FF of the message 4 is stored. As condition 1 is fulfilled, since 180 is less than 200, the execution of sheet 61 can be completed.
  • Figure 8 shows condition 2 of the application of sheet 62 of Rule 1.
  • the purchase being less than 200 FF, and condition 2 being that this purchase is greater than 200 FF, the condition is not fulfilled .
  • the instruction sheet 62 is not executed.
  • the instruction sheet 63 includes a condition 3 shown in FIG. 9.
  • This condition 3 consists in comparing the content of the visit counter of Block 1, zone 28 of record 7, with the value 0 present in zone 41.
  • an instruction 63 can be executed.
  • This instruction is an addition of a different type from the addition shown in Figure 12.
  • Addition Addition 2 is a simple addition. It consists in adding the content of zone 371 of record 63, here it is the value 10, to the counter designated in zone 26 of Block 1.
  • the operands of the calculation or the result itself can be stored in various places, even in the instruction.
  • the counter 1 in zone 26, for 180 FF of purchase will include a result 13.
  • the counter concerned will be a counter different from the counter indicated in zone 26 of record 7. This could be the main counter of record 8. It can be decided that this other counter, counter 2 (file 67 ) will undergo an addition of type 1, Addition 1, with an increment of 1 (zone 371) for each tranche whose value is indicated, in zone 372: 30 FF. Under these conditions, the values n and m in FIG. 12 are 30 and 1 respectively. This means that for each tranche of 30 FF of purchase counter 2 receives one point. For the sheet 67, there is no condition: it is executed anyway.
  • Counter 2 The designation of the counter, Counter 2 is here contained in the recording of the rule, Rule 1. It is nevertheless possible that the message, in zone 60, designates the counter block Block 1 and that the recording 7 relating to this block counter returns to zone 11 the rule Rule 1 which only completes the designation of counter 26 (or another). Similarly, Rule 1 can also include in a file 68 the designation of a counter 3. Counter 3 receives the result of a type 2 addition (simple addition). The arguments of type 2 addition are not here definitively designated. They result from the application of a recorded calculation to a file of a record in the calculation file 14. The calculation designated in the record is Calculation 1.
  • a calculation record comprising "Calculation 1" as identifier in area 43 is shown in FIG. 11.
  • the type of operation 45 implemented, in the example is a multiplication. Its first operand designated in zone 46 is the content of the visit counter of the counter block 1. It is in practice the state of zone 28.
  • the second operand of the multiplication designated in zone 47, here 2 can be a fixed number. It could just as easily be a hazard. In the example we decided, to encourage people to come back as often as possible, to count them all the more points as they came often. This count can thus be exponential. For example, someone who has come 25 times, will have a visit counter 23 in a state 25. The result of calculation 1 will then be 50.
  • the counter 3 is a counter block counter of the record 8. It corresponds to fast food chain.
  • Instruction sheet 68 is subject to one condition, condition 4. This is shown in Figure 10. It indicates that ultimately this type of incrementation will only be possible if today's date is between the dates scheduled for the start and end of the operation to grant bonus points.
  • the logical functions 40 which represent the conditions of the file 13 can be the largest, largest or equal, smallest, smallest or equal, equal, different, or other functions.
  • the functions 45 of the operations for calculating the file 14 may preferably be addition, subtraction, division, multiplication, exponentiation, production of a random number or others.
  • a rule file where the rules relating to an application are located, is associated with counter blocks. Therefore, the simple designation of a rule implies the modification of the counters of this block counter or vice versa.
  • This implementation is internal to the smart card chip. It does not require an exchange with the reader.
  • FIG. 14 shows through an example, how the recovery mechanism uses the backup file 200 to save the content of the different counters to be moved, sequentially and before any modification of each of said counters.
  • the backup file 200 includes 3 records 201 to 203.
  • the number of records in the backup file 200 can obviously be less than or greater than the value 3 used here for example purposes.
  • one, two or three counters can be moved. Take the situation where the three counters are to be modified.
  • the "Counter 1" counter will first be modified, then the “Counter 2" counter, then the “Counter 3” counter.
  • the content of the counter "Counter 1" is saved in the first record 201 of the backup file 200 (phase
  • the counter "Counter 1" is then modified normally as we saw previously, (phase 2).
  • the second step of the "Rule 1" rule is to modify the content of the "Counter 2" counter.
  • the content of the counter "Counter 2" is first of all saved in the following record, record 202 of the backup file 200 (phase 3).
  • Record 202 of the backup file 200 therefore contains:
  • the next step in the "Rule 1" rule concerns the "Counter 3" counter.
  • the content of the counter “Counter 3” is saved within record 203 of the backup file 200 (phase 5) before the counter "Counter 3 "is not modified (phase 6).
  • Record 203 of the backup file 200 therefore contains:
  • the backup file 200 contains records that have not been erased.
  • Figure 15 shows in this case, how the recovery mechanism is activated to ensure the consistency of the counters on the card.
  • the smart card in fact checks, upon any order receipt, that the backup file 200 does not include a recording (201, 202, 203) comprising a valid redundancy code. If so, the order received is processed normally. Otherwise (at least one record includes a valid redundancy code (area 303), the recovery mechanism restores the memory areas that have been saved (as described in FIG. 14). Thus, the counters of the smart card recover the state that was theirs before the last rule executed failed.
  • the recovery mechanism begins by analyzing the last record in the backup file 200 (record 203, in our example).
  • the record 203 includes a redundancy code valid in the integrity zone 303 of the said record.
  • the recovery mechanism reads the area 302 of the record 203 and copies the value read to the address contained in the area 301 of the record 203 (phase 1).
  • the length zone, referenced 300, of said record allows the recovery mechanism to know the size of the data which has been saved in zone 302 of record 203.
  • the counter "Counter 3" is therefore restored and finds the value which was hers before the aborted execution of the "Rule 1" rule.
  • Record 203 is now deleted (phase 2).
  • the recovery mechanism then analyzes the record 202.
  • the recovery mechanism will be activated again when the next command is issued.
  • the recovery mechanism continues to execute.
  • the partially deleted record will include an invalid redundancy code in the integrity area 303. This will therefore be ignored during the next activations of the recovery mechanism.
  • the number of records in the backup file 200 constitutes a limitation on the number of operations to be performed by a rule. It is therefore necessary that the size of the backup file 200 be in adequacy with the complexity of the rules intended to be implanted in the card. This determination is within the reach of the skilled person.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Pour rendre plus souple la gestion du compteur (6) de gratification d'une carte à puce, on décide d'enregistrer dans la mémoire (5) de la carte à puce une architecture de fichiers permettant une gestion aisée de ses compteurs. Selon cette architecture, un fichier bloc compteur (7), où sont situés les compteurs relatifs à une application, est associé à des règles (12) qui leur sont applicables. De ce fait, la simple désignation d'un bloc compteur implique la mise en oeuvre des règles applicables aux compteurs de ce bloc compteur. Cette mise en oeuvre est interne à la puce de la carte à puce. Elle ne nécessite pas d'échange avec le lecteur. La mémoire de la puce comporte encore le fichier (12) des règles, le fichier (13) des conditions, le fichier (14) de calcul et le fichier (200) de sauvegarde dont l'interaction permet une grande souplesse d'utilisation.

Description

Carte à puce munie d'un dispositif de comptage
La présente invention a pour objet une carte à puce munie d'un dispositif de comptage perfectionné. Elle vise à faciliter l'utilisation des cartes à puce, ou plus généralement des objets portables à puce, dans des domaines de plus en plus divers, en rendant cette utilisation à la fois plus puissante et plus rapide.
Dans le domaine des objets portables à puce, les puces sont munies de différents compteurs. On connaît de manière classique des compteurs d'unités, représentatives d'unités de consommation possibles, voire de monnaie. On connaît également des compteurs de gratifications qui comptent des points de fidéiisation octroyés par un prestataire à un utilisateur. Cet octroi peut être au prorata de la consommation d'un service par l'utilisateur, de la venue de l'utilisateur dans un établissement, chez un commerçant, ou même un comptage de ses passages à certains endroits.
Les compteurs peuvent être réalisés sous diverses formes. Ils peuvent être des compteurs matériels ou des compteurs logiciels. Un compteur matériel est un compteur dans lequel, à la manière d'un boulier, le passage du compteur d'un état initial à un état final emprunte, pour le compteur, des états intermédiaires représentatifs de valeurs intermédiaires entre cette valeur initiale et cette valeur finale. Un compteur logiciel est constitué principalement par un enregistrement, une valeur, et par un algorithme mis en oeuvre par un microprocesseur. Le principe de la modification d'un compteur logiciel consiste à aller lire une donnée de valeur en lisant l'enregistrement, à modifier la donnée qui résulte de cette lecture en fonction de l'algorithme (en général il s'agit d'une addition, ou d'une autre opération mathématique), et à réécrire à l'endroit de l'enregistrement la nouvelle valeur calculée. L'invention aura principalement pour objet les compteurs logiciels encore qu'elle serait aussi applicable aux compteurs matériels.
Au moment du comptage, pour des raisons de sécurité, l'état du compteur est transmis par la carte à puce à un lecteur de carte à puce qui lit cette carte. Les programmes du lecteur mettent en oeuvre l'algorithme et provoquent, à l'issue de la mise en oeuvre, l'enregistrement de la nouvelle valeur dans la mémoire de la puce de la carte. Cette solution présente beaucoup de souplesse: les lecteurs sont munis d'un système d'exploitation propre à leur faire assurer ces fonctions.
Cependant, cette manière de faire présente deux principaux inconvénients. Le premier inconvénient réside dans le fait que la transaction est lente, elle nécessite de nombreuses vérifications entre l'émetteur, (le lecteur) et le récepteur (la carte à puce) . Dans le domaine dit de la carte sans contact, où l'énergie électrique est fournie à la carte par une émission radioélectrique, ces nombreux échanges en plus d'être lents, sont particulièrement difficiles à réaliser. Le second inconvénient apparaît à partir du moment où il est indispensable de mouvementer plusieurs compteurs pour effectuer une transaction. C'est par exemple le cas dans des applications incluant plusieurs partenaires. Chaque partenaire dispose d'un compteur qui lui est dédié dans la carte. L'achat d'une prestation chez l'un des partenaires entraîne un gain de points de fidélité au sein des différents compteurs. Avec les solutions existantes, le terminal effectue une mise à jour séquentielle des différents compteurs. Dans ce cas, la transaction est divisée en autant d'actions élémentaires (mises à jour ou enregistrements) qu'il y a de mouvements à opérer sur les compteurs. Si la mise à jour de l'un desdits compteurs échoue, la cohérence des compteurs au sein de la carte n'est plus effective ou perdue, sans possibilité de recouvrer l'état initial de ces mêmes compteurs avant l'émission de la transaction dont l'exécution a échoué.
Dans l'invention, on remédie au problème de limitation du nombre des échanges en munissant la carte à puce d'un enregistrement de règles qui associent des compteurs à des instructions de modification de ces compteurs. De préférence on munit la carte à puce d'une mémoire qui contient ces instructions de modification elles-mêmes, et d'un microprocesseur qui les met en oeuvre .
L'invention remédie en outre au risque de perte de cohérence des compteurs en munissant le dispositif de comptage de la carte à puce d'un mécanisme de recouvrement qui garantit une indivision de la transaction. Ainsi si un problème apparaît durant la modification d'un compteur (impossibilité d'écriture, arrachement de la carte...), le dispositif de comptage permet de recouvrer l'état de la carte à puce avant l'exécution de la transaction dont l'exécution a échoué .
L'invention a donc pour objet une carte à puce munie dans sa puce d'un dispositif de comptage comportant au moins un compteur modifiable à l'aide d'instructions de modification desdits compteurs, caractérisé en ce que ledit dispositif de comptage comporte un fichier de règles dont chaque enregistrement comporte au moins une fiche d'instruction comportant : une zone de désignation pour identifier un compteur à mouvementer,
- une zone d'instruction pour renseigner sur le mode de modification du compteur à mouvementer, - au moins une zone de variable pour contenir une variable sur laquelle s'applique l'instruction.
Préférentiellement ledit dispositif de comptage comprend un mécanisme de recouvrement caractérisé en ce que ledit mécanisme garantit une indivision de l'exécution desdites règles.
L'invention sera mieux comprise à la lecture de la description qui suit et à 1 ' examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent:
- figure 1: une carte à puce munie du dispositif de comptage selon l'invention;
- figures 2 à 4 et 13: une représentation détaillée de la structure des fichiers enregistrés dans les dispositifs de comptage de l'invention;
- figures 6 à 12, 14 et 15: les particularités de mise en oeuvre de l'invention dans le cas d'un exemple.
Dans l'invention, on appellera fichier un ensemble d'enregistrements enregistrés en mémoire. On appellera enregistrement, un ensemble de données, associées entre elles à la manière d'une base de données. On appellera fiche, des associations de données d'un enregistrement ayant toutes une même structure, une même syntaxe.
La figure 1 montre une carte à puce 1 munie d'un dispositif de comptage selon l'invention. La carte à puce 1 comporte un microprocesseur 100, un bus 2 données, d'adresses et de commandes, et des moyens 3 pour entrer en relation avec le monde extérieur. D'une manière schématique, les moyens 3 représentent ici un connecteur qui reçoit un message 4 en provenance d'un lecteur non représenté. La liaison avec le lecteur peut par ailleurs être une liaison électrique, radio- électrique, par infra rouge: elle dépend de la nature de l'interface 3.
La puce de la carte comporte un dispositif de comptage 5 qui comporte au moins un compteur. On verra par la suite comment est réalisé ce compteur. Figure 2, le dispositif de comptage 5 comporte de préférence un fichier 6 de blocs compteurs. Chacun des enregistrements 7, 8, 9 ou autre, du fichier 6 associe une identification 10 d'un bloc compteur à une liste 11 de règles de modification des compteurs de ce bloc. La figure 2 montre d'une manière détaillée le fichier 6 et l'enregistrement 7. Il peut y avoir plusieurs blocs compteurs dans le fichier 6. On en n ' a schématiquement représenté que trois.
L'enregistrement 7 de bloc compteur, ainsi que les autres enregistrements, comportent essentiellement une zone d'identifiant 10 et une zone de règles applicables 11. Les règles de la zone 11 sont utilisables sur le bloc compteur 7. Le but est d'assurer la sécurité du bloc compteur 7 en autorisant l'application des seules règles ainsi désignées. L'identifiant 10 peut représenter le nom de l'application (type d'utilisation de la carte à puce) qui utilise le bloc compteur. Cet identifiant est généralement communiqué à la carte au moment de la mise en relation avec le lecteur. Selon l'invention, la carte 1 comporte en mémoire, un fichier de règles 12 (figure 3) . De préférence, elle peut aussi comporter un fichier de conditions 13
(figure 4), un fichier de calculs 14 (figure 5) et un fichier 200 de sauvegarde (figure 13) . La puce comporte également, figure 1, un ensemble de registres 15 à 19 destinés à recevoir des informations notamment des informations de condition d'accès. Les registres 15 à 19 ainsi que les fichiers 6, 12 à 14 et 200 sont aussi reliés au microprocesseur 100 par le bus 2. Les fichiers 6, 12, 13, 14 et 200 sont mémorisés dans ce but dans une mémoire de la puce 1. Cette mémoire est ici confondue avec ces fichiers eux-mêmes dans un souci de simplification de l'explication. Néanmoins, il est possible d'adopter pour cette mémoire, ou pour les mémoires qui contiennent ces fichiers, des structures physiques variées: mémoires non volatiles, mémoires sauvegardées, mémoires différenciées pour chacun des fichiers, ou mémoire unique. Une mémoire auxiliaire 101 peut par ailleurs contenir une mémoire programme 102 et une mémoire de données 103. Le microprocesseur 100 met en oeuvre l'invention en appliquant des programmes contenus dans la mémoire programme 102 sur des données de la mémoire 103. Une de ces mémoires 102 ou 103, ou les deux, peut être située dans les circuits du lecteur. La mémoire 103, si elle est dans la carte à puce, peut contenir les fichiers 6 et 12 à 14 à moins que ceux-ci ne soient enregistrés dans une autre mémoire de la carte. L'enregistrement 7 comporte, en plus de la zone 10 et de la zone 11, de préférence, une zone 20 relative à des conditions d'accès et une zone 21 relative à un label du bloc compteur (le nom du bloc compteur) . Il peut comporter par exemple aussi quatre zones de date, 22 à 25, mentionnant une date de début d'octroi de points de gratification, une date de fin d'octroi de ces points de gratification, une date de début de remboursement des points, et une date de fin de remboursement des points. Le bloc 7 comporte également la désignation d'un certain nombre de compteurs. Ici une zone 26, appelée balance, comportera l'état réel du compteur de gratifications, une fois qu'on y a additionné et soustrait tous les points. Il peut comporter une balance cumulée 27 représentative du nombre de points reçus dans le bloc compteur 7, sans déduction des remboursements. Il comporte enfin une zone 28 de comptage de visites comptabilisant le nombre de fois où, en pratique, la zone 26 de balance a été mouvementée. Il peut comporter d'autres zones 29 pour d'autres types de comptage.
Le fichier essentiel de l'invention, le fichier 12 des règles, comporte des enregistrements tels que 30 à 32. Chaque enregistrement identifié par une règle, désignée par une zone identifiant 33, comporte une série 34 de fiches associant chacune un compteur à une instruction applicable à ce compteur. Chaque fiche d'un enregistrement du fichier de règles 12 comporte donc une zone 36 de désignation, pour désigner un compteur et une zone 37 d'instruction pour renseigner sur le mode de modification du compteur à mouvementer. L'instruction en zone 37 est généralement une instruction d'addition ou de soustraction. On pourrait néanmoins envisager tout autre opération arithmétique simple ou complexe.
Chaque fiche d'un enregistrement du fichier 12 comporte au moins une zone, de préférence deux zones 371, 372, de variables pour contenir des variables sur lesquelles s'applique l'instruction. Ces variables peuvent être des variables de date, des variables numériques. Elles peuvent aussi être des références à des valeurs contenues dans d'autres fichiers. Par exemple, elles peuvent être des adresses d'autres valeurs. Ces adresses peuvent être celles des zones 26, 27 ou 28 du bloc compteur concerné, ou d'un autre bloc. Quand une fiche ne comporte pas d'indication en zone 371 et 372, ou lorsqu'une fiche ne comporte pas de telles zones, celles-ci, représentant les opérandes de l'instruction, sont ou peuvent être implicitement contenues dans le code instruction de l'instruction.
De préférence, les enregistrements du fichier 12 comportent en plus une cinquième zone 373 de condition qui est une zone de référence de condition. Cette zone 373 désigne un enregistrement du fichier 13, de conditions à satisfaire pour autoriser la réalisation de l'instruction.
La figure 4 montre le fichier 13 de conditions. Ce fichier 13 comporte essentiellement, dans chaque enregistrement, une zone identifiant 38 et une liste de fiches de conditions composées. Chaque fiche de condition comporte une zone opérateur 39 montrant comment composer les conditions des différentes fiches d'un enregistrement, une zone fonction 40 pour représenter une condition logique, et au moins deux zones 41 et 42 pour contenir respectivement une valeur de référence de la condition et une valeur à tester par rapport à la valeur de référence selon la condition logique de la zone 40. D'une manière préférée, la carte 1 de l'invention comporte encore un fichier de calcul 14, figure 5, dont les enregistrements comportent, chacun, une zone identifiant 43 et un ensemble de fiches de calculs 44. Chaque fiche d'enregistrement de calcul comporte une zone de fonction 45 pour représenter une fonction mathématique élémentaire, au moins une zone, de préférence deux zones 46 et 47, pour contenir un ou deux opérandes de cette fonction mathématique élémentaire, et une zone 48 dite opérateur de fiche pour indiquer la manière dont le résultat d'une fiche de calcul 49 doit être pris en compte pour un calcul avec une fiche suivante 50. Le résultat du calcul de l'ensemble des fiches 44 est destiné à remplacer une valeur (371 ou 372) à l'intérieur d'un enregistrement de règle (12), une valeur (41) à l'intérieur d'un enregistrement de condition (13), ou une valeur (46 ou 47) à l'intérieur d'un enregistrement de calcul (14). Les fichiers 12, 13 et 14 comportent de préférence, comme le fichier 6, dans chaque enregistrement une zone de condition d'accès respectivement 51 à 53. En outre, les enregistrements du fichier 12 comporteront de préférence une zone 54 de version de règles permettant d'identifier le caractère récent de la règle mise en oeuvre.
D'une manière préférée, la carte 1 comporte en outre un fichier 200 de sauvegarde utilisé par le dispositif de comptage pour garantir que les règles du fichier 12 de règles s'exécutent de manière indivisible.
Il existe différentes implantations de mécanisme de recouvrement. Certaines sont plus élaborées que d'autres notamment en ce qui concerne la gestion des erreurs ou la durée de vie dudit mécanisme. A titre d'exemple nous allons définir une conception possible de mécanisme de recouvrement. Il ne s'agit en aucun cas d'une limitation de l'invention. Toute conception de mécanisme de recouvrement peut être utilisée à condition qu'elle offre des services équivalents à ceux décrits ci-après.
Ainsi, le fichier 200 de sauvegarde comprend un nombre fini d'enregistrements dont la taille est variable. La structure d'un enregistrement du fichier 200 de sauvegarde est décrite en liaison avec la figure 13. Ainsi comme le montre cette figure, chaque enregistrement 201, 202, 203 du fichier 200 de sauvegarde comporte:
- une zone de longueur, référencée 300, permettant de définir la taille dudit enregistrement;
- une zone 302 dans laquelle est enregistré le contenu de la zone mémoire à sauvegarder;
- une zone d'adresse 301 qui contient l'adresse de la zone mémoire dont le contenu est sauvegardé dans la zone 302 de l'enregistrement;
- une zone d'intégrité 303 contenant un code de redondance (checksum) qui est calculé en fin de sauvegarde de la zone mémoire à sauvegarder et dont la valeur est par exemple la somme des bits à zéro des zones 300 et 302 réunies. Ce code de redondance est le garant de la validité de l'enregistrement.
Les zones 300, 301 et 303 constituent ce que nous appellerons le descripteur d'un enregistrement (201, 202 ou 203) du fichier de sauvegarde. La zone 302 dudit enregistrement constitue le corps de celui-ci.
Les figures 6 à 12 montrent un procédé d'utilisation, arbitraire mais complet, de l'organisation des fichiers 6, 12, 13 et 14 entre eux. Les figures 14 et 15 décrivent un procédé d'utilisation du fichier 200 de sauvegarde respectivement pour sauvegarder le contenu des compteurs avant leur modification ou pour restituer la valeur des ces derniers .
Comme le montre la figure 6, on a choisi un scénario, "Règle 1", correspondant à un enregistrement du fichier 12. Dans ce scénario, dans un programme de fidélité donné, lorsqu'un client se livre à des achats compris entre 0 et 200 FF, on lui attribue un point de gratification par tranche de 50 FF d'achat. Pour un client qui achèterait pour plus de 200 FF, on décide de lui attribuer un point par tranche de 25 FF d'achat. En outre, s'il s'agit de sa première visite, il reçoit dans son compteur de points de gratification 10 points de bienvenue.
On va supposer que le fournisseur est un fournisseur de carburant qui identifie son application par un code PETROL transmis dans une zone 55 du message 4. On va supposer également que des données, présentes dans une zone 56 du message 4, représentent 180 pour un achat de 180 FF. Le message 4 comporte également, composée par le propriétaire de la carte à puce sur un clavier du lecteur, une identification 57 de ce propriétaire par son numéro personnel d'identification: PIN (Personnal Identification Number) . Le message 4 comporte enfin en zone 58 la date du jour de la transaction, dans la mesure ou cette date est utile pour la règle, et où la carte 1 n'est elle-même pas capable de la produire indépendamment. Le message 4 comporte dans une zone 59, la désignation d'une règle particulière applicable "Règle 1", et ou en variante la désignation d'un bloc compteur "Bloc 1" sur lequel des règles doivent s'appliquer. Comme on le verra par la suite, ceci n'est pas nécessaire. Le message 4 arrive par l'intermédiaire de l'interface 3 et du bus 2 dans le microprocesseur 100. Celui-ci, à partir de l'identification de la règle "Règle 1" présente en zone 59, va rechercher selon l'invention, dans le fichier 12 quels sont les enregistrements qui ont "Règle 1", en zone 33, comme identifiant. On peut aussi vérifier que les enregistrements trouvés sont conditionnés, en zone 51, par une condition d'accès par exemple PETROL. La condition d'accès peut être différente de PETROL si on a choisi pour l'application un mot de passe différent. Dans ce cas, ce mot de passe doit être contenu dans le message 4 (à moins de pouvoir être déduit par le microprocesseur 100 de l'identifiant de l'application elle-même) . Le microprocesseur 100 ne prendra dans le fichier 12 que l'enregistrement 30 qui comporte à la fois la Règle 1 comme identification en zone 33 et le code PETROL en zone 51, dans les conditions d'accès. Ceci est représenté sur la figure 6. En variante, si le message 4 comporte une zone 60 désignant le bloc compteur, Bloc i, du fichier 6, le microprocesseur 100 cherchera l'enregistrement dont l'identifiant en zone 11 correspondra au "Bloc 1" désigné en zone 60. Dans ce cas, la désignation du bloc compteur peut engendrer, si la zone 59 est à blanc, l'application de toutes les règles applicables désignées dans la zone 11 de l'enregistrement 7.
Enfin, si seule la condition d'accès PETROL est donnée, le microprocesseur 100 retiendra tous les blocs compteurs et ou toutes les règles correspondant à cette condition d'accès.
En pratique, il est donc possible de mettre en oeuvre l'invention à partir de l'identification 55 de l'application seule, à partir de la désignation de la règle, zone 59 ou à partir de la désignation du bloc compteur, zone 60, ou à partir d'une quelconque combinaison de ces trois éléments.
Dans le cas montré sur la figure 6, en faisant abstraction pour l'instant de la version de la règle mémorisée, dans le fichier 13, on voit apparaître cinq fiches d'instruction 61, 62, 63, 67 et 68. Dans les trois premiers cas, le compteur, compteur 1, concerné sera le compteur enregistré en zone 26 du bloc compteur 7. Cela aurait pu être le compteur enregistré en zone 27 ou en zone 28, ou même un compteur enregistré dans un autre bloc. Soit la désignation en zone 36 est suffisante, soit elle est complétée par la zone 60 du message 4. Le type d'instruction 37 dans chacun des trois premiers cas sera une addition de type 1. C'est un exemple. La valeur à additionner sera, pour chaque instruction, fonction des arguments donnés dans les deux zones suivantes 371 et 372. A titre d'exemple la figure 12 montre l'opération d'addition de type 1. Cette opération d'addition comporte, dans l'exemple, une micro-instruction 64 par laquelle on divise les données de la zone 56 du message 4 par n. La valeur n est le contenu de la zone 372. Dans l'exemple où la valeur de donnée valait 180, et où n vaut 50, la division de 180 par 50 donne 3 avec un reste de 30. A une micro-instruction 65 suivante, on prend en compte seulement la partie entière de la division. Le résultat est donc 3. A une micro-instruction suivante 66, on multiplie ce résultat intermédiaire 3, par la valeur m. La valeur m est la valeur stockée dans la zone 371 de l'enregistrement 61. Ici, m vaut 1. Donc le résultat à additionner vaut 3. En conséquence, l'application de l'instruction Addition 1 sur le compteur 1 consistera à lui additionner 3 points de plus.
Pour la fiche 62. Les valeurs n et m valent maintenant respectivement 25 et 1. Compte tenu de la valeur de l'achat, inférieure à 200 FF, cette règle ne produit pas de points gratification supplémentaire. En effet, les deux fiches 61 et 62 sont conditionnés par condition 1 et condition 2 respectivement indiquées en zone 373. Une fiche de règle comporte, en zone 373, un identifiant d'un enregistrement du fichier 13 de conditions qui va être utilisé. Pour la fiche 61, la condition 1 est représentée figure 7. L'opérande de composition des conditions entre elles est un ET logique. Quand il n'y a qu'une condition, l'opérande de composition est toujours un ET logique. On verra plus loin, figure 10, comment se composent les opérandes de composition logique des conditions. La fonction de la condition 1 est, dans le scénario évoqué, une comparaison avec une signification "inférieur ou égal". Le résultat de la comparaison est positif si la valeur désignée dans la zone 42, ici la donnée 180, est inférieure ou égale à la valeur désignée ou présentée dans la zone 41. La zone 41 est la zone de référence de la condition. Elle comporte ici la valeur 200. La zone 42 comporte la référence de la valeur à tester. Ici il s'agit des données entrées. Il s'agit des 180 FF de l'achat. En pratique, l'information en zone 42 est l'adresse de l'endroit où est stockée la valeur de 180 FF du message 4. Comme la condition 1 est réalisée, puisque 180 est inférieur à 200, l'exécution de la fiche 61 peut être menée à terme.
La figure 8 montre la condition 2 de l'application de la fiche 62 de la Règle 1. L'achat étant inférieur à 200 FF, et la condition 2 étant que cet achat soit supérieur à 200 FF, la condition n'est pas réalisée. Dans ce cas, la fiche d'instruction 62 n'est pas exécutée .
La fiche d'instruction 63 comporte une condition 3 montrée sur la figure 9. Cette condition 3 consiste à comparer le contenu du compteur de visite du Bloc 1, zone 28 de l'enregistrement 7, à la valeur 0 présente dans la zone 41. Au début, alors que le compteur de visite est nul, cette condition se réalise, une instruction 63 peut être exécutée. Cette instruction est une addition d'un type différent de l'addition présenté en figure 12. L'addition Addition 2 est une addition simple. Elle consiste à additionner le contenu de la zone 371 de l'enregistrement 63, ici il s'agit de la valeur 10, au compteur désigné en zone 26 du Bloc 1. Selon les types d'opération Addition 1 ou Addition 2 désignés, les opérandes du calcul ou le résultat lui- même peuvent être mémorisés à divers endroits, voire dans l'instruction. Ainsi à l'issue de ces trois opérations, le compteur 1 en zone 26, pour 180 FF d'achat, comportera un résultat 13.
Dans une application encore plus complexe, il est possible que le fournisseur de carburant s'associe avec un autre prestataire de service, par exemple une chaîne de restauration rapide, ou bien une société de distribution de cinéma. Il est possible dans ces conditions que, pour tout achat effectué auprès du premier, le pétrolier, un certain nombre de points soit attribué dans un compteur du second, celui de la chaîne de restauration rapide par exemple. C'est ce que montre la fiche 67.
Dans ce cas, le compteur concerné sera un compteur différent du compteur indiqué en zone 26 de l'enregistrement 7. Cela pourra être le compteur principal de l'enregistrement 8. Il peut être décidé que cet autre compteur, le compteur 2 (fiche 67) subira une addition de type 1, Addition 1, avec un incrément de 1 (zone 371) pour chaque tranche dont la valeur est indiquée, dans la zone 372: 30 FF. Dans ces conditions, les valeurs n et m de la figure 12 sont respectivement 30 et 1. Ceci signifie que pour chaque tranche de 30 FF d'achat le compteur 2 reçoit un point. Pour la fiche 67, il n'y a pas de condition: elle est exécutée de toute façon.
La désignation du compteur, Compteur 2, est ici contenue dans l'enregistrement de la règle, Règle 1. Il est possible néanmoins que le message, en zone 60, désigne le bloc compteur Bloc 1 et que l'enregistrement 7 relatif à ce bloc compteur renvoie en zone 11 à la règle Règle 1 qui elle ne fasse que compléter la désignation du compteur 26 (ou d'un autre). De la même façon, la Règle 1 peut encore comporter dans une fiche 68 la désignation d'un compteur 3. Le compteur 3 reçoit le résultat d'une addition de type 2 (addition simple). Les arguments de l'addition de type 2 ne sont pas ici désignés définitivement. Ils résultent de l'application d'un calcul enregistré à une fiche d'un enregistrement du fichier calcul 14. Le calcul désigné dans l'enregistrement est le Calcul 1.
Un enregistrement de calcul comportant "Calcul 1" comme identifiant en zone 43 est montré sur la figure 11.
Dans celle-ci, le type d'opération 45 mis en oeuvre, dans l'exemple, est une multiplication. Son premier opérande désigné en zone 46 est le contenu du compteur de visite du bloc compteur 1. Il s'agit en pratique de l'état de la zone 28. Le deuxième opérande de la multiplication désigné en zone 47, ici 2, peut être un chiffre fixe. Il pourrait tout aussi bien être un aléa. Dans l'exemple on a décidé, pour inciter les gens à revenir le plus souvent possible, de leur compter d'autant plus de points qu'ils sont venus souvent. Ce décompte peut être ainsi exponentiel. Par exemple, quelqu'un qui sera venu 25 fois, aura un compteur de visite 23 dans un état 25. Le résultat du calcul 1 sera alors 50. Comme la zone 48, opérateur de fiche comporte la désignation d'une addition, ceci signifie qu'il faudra additionner le résultat (50) d calcul de la fiche avec le calcul résultant de la fiche suivante. Comme il n'y a pas de fiche suivante, le résultat définitif du calcul sera 50. S'il y avait eu d'autres fiches dans l'enregistrement de la figure 11, celles-ci auraient été composées entre elles (multiplication, addition, exponentiation... ) selon le sens de l'opérateur de fiche. Autrement dit, l'enregistrement 68 conduira à additionner la valeur dans le compteur 3. Le compteur 3 est un compteur bloc compteur de l'enregistrement 8. Il correspond à chaîne de restauration rapide.
On aurait pu tout aussi bien additionner les 50 points dans le compteur 1. Il aurait fallu dans ce cas en zone 36 désigner le compteur 1.
La fiche d'instruction 68 est soumise à une condition, la condition 4. Celle-ci est montrée figure 10. Elle indique qu'en définitive ce type d'incrémentation ne pourra être possible que si la date du jour est comprise entre les dates prévues pour le début et la fin de l'opération d'octroi des points de gratification.
On voit avec la figure 10 qui montre la condition 4, comment peuvent coopérer entre eux les opérateurs de combinaison (de type ET, OU, ou OU Exclusif...) des conditions. Ici, il faut que les deux fiches de condition soient satisfaites puisque les opérateurs de combinaisons sont deux ET. En ce qui concerne la fiche 68, en plus de la condition 4, on aurait pu soumettre par une addition de type 1 (Addition 1) le résultat (50) du calcul (Calcul 1) à une multiplication par un nombre de tranches de 100 FF. Ceci permettrait d'éviter que les utilisateurs ne se livrent à des achats de valeur dérisoire. Dans ce cas, en zone 372 figurerait la valeur 100 (montrée ici entourée de tirets). Dans ce cas, l'application de 1 ' instruction 68 conduirait à retenir pour n la valeur 100 et pour m la valeur 50, résultant de l'application du Calcul 1.
Les fonctions logiques 40 qui représentent les conditions du fichier 13 peuvent être les fonctions plus grand, plus grand ou égal, plus petit, plus petit ou égal, égal, différent, ou autre. Les fonctions 45 des opérations de calcul du fichier 14 peuvent être de préférence l'addition, la soustraction, la division, la multiplication, l'exponentiation, la production d'un nombre aléatoire ou autres. Au moment où le message 4 parvient à la puce de la carte 1, l'identification de l'application PETROL peut être déclinée pour venir remplir les registres 15 à 18 conditionnant les conditions d'accès aux fichiers 6 et 12 à 14. Ces conditions d'accès peuvent bien entendu être utilisées chaque fois qu'on veut conditionner l'utilisation d'un fichier à la présence, dans un des registres correspondant 15 à 18, d'une information identique à celle figurant dans les enregistrements des fichiers 6 et 12 à 14. Ces conditions d'accès peuvent par ailleurs aussi être utilisées pour permettre la modification des enregistrements des fichiers 6 et 12 à 14. Ainsi, la modification de l'enregistrement 7 pourra n'être entreprise qu'à condition que les conditions d'accès, en modification, renseignée en zone 20 de l'enregistrement 7 soient identiques aux données stockées dans le registre 16 (et qui ont été peu ou prou transmises par le message 4) . Il en est de même pour les modifications des enregistrements des fichiers 12, 13 et 14 pour lesquels les contenus des zones 51, 52, 53 doivent être respectivement identiques au contenu des registres 16, 18 et 19.
Il n'est bien entendu pas nécessaire que la même identification de code secret soit enregistrée dans chacun des registres 16 à 19. En prévoyant des codes secrets différents on rend la gestion de cette architecture de fichiers plus souple et plus puissante. Il n'est bien entendu pas non plus nécessaire que la condition d'accès soit remplie pour pouvoir mettre en oeuvre les éléments d'un fichier: utilisation d'une condition, mise en oeuvre d'un calcul, etc..
Sur le plan pratique, il est possible d'organiser l'information autrement que dans les quatre fichiers 6 et 12 à 14. Notamment les fichiers 12, 13 et 14 peuvent être concaténés, l'enregistrement de condition pouvant par exemple, être placés directement dans la zone 373. Ceci est possible notamment si les conditions d'accès et l'identifiant sont les mêmes. La version de la règle permet au lecteur en relation avec la carte 1 de déterminer si une règle a été mise à jour ou s'il doit préalablement procéder à cette mise à jour avant l'exécution de la règle. Cette mise à jour est de type connu. Ainsi, selon l'invention, pour rendre plus souple la gestion du compteur de gratifications d'une carte à puce, on décide d'enregistrer dans la mémoire de la carte à puce une architecture de fichiers permettant une gestion aisée de ses compteurs. Selon cette architecture, un fichier de règles, où sont situées les règles relatives à une application, est associé à des blocs compteurs. De ce fait, la simple désignation d'une règle implique la modification des compteurs de ce bloc compteur ou vice versa. Cette mise en oeuvre est interne à la puce de la carte à puce. Elle ne nécessite pas d'échange avec le lecteur.
La figure 14 montre au travers d'un exemple, comment le mécanisme de recouvrement utilise le fichier 200 de sauvegarde pour sauvegarder le contenu des différents compteurs à mouvementer, de manière séquentielle et avant toute modification de chacun desdits compteurs. Considérons que le fichier 200 de sauvegarde comprend 3 enregistrements 201 à 203. Le nombre d'enregistrements du fichier 200 de sauvegarde peut bien évidemment être inférieur ou supérieur à la valeur 3 utilisée ici à des fins d'exemple. Prenons l'exécution de la règle "Règle 1" décrite par la figure 6. Selon que les conditions sont requises ou non, un, deux ou trois compteurs pourront être mouvementés. Prenons la situation où les trois compteurs sont à modifier. Telle qu'est décrite la règle "Règle 1", le compteur "Compteur 1" sera d'abord modifié puis le compteur "Compteur 2" puis le compteur "Compteur 3". Lors de l'exécution de la règle "Règle 1", avant que le compteur "Compteur 1" ne soit modifié le contenu du compteur "Compteur 1" est sauvegardé dans le premier enregistrement 201 du fichier de sauvegarde 200 (phase
D • L'enregistrement 201 du fichier 200 de sauvegarde contient dès lors :
- la valeur courante du compteur "Compteur 1" dans la zone 302 de l'enregistrement;
- l'adresse du compteur "Compteur 1" dans la zone 301;
- la longueur du contenu sauvegardé du compteur "Compteur 1" dans la zone 300;
- un code de redondance valide dans la zone 303. Le compteur "Compteur 1" est par la suite modifié normalement comme nous l'avons vu précédemment, (phase 2). La seconde étape de la règle "Règle 1", consiste à modifier le contenu du compteur "Compteur 2". Le contenu du compteur "Compteur 2" est tout d'abord sauvegardé dans l'enregistrement suivant, enregistrement 202 du fichier 200 de sauvegarde (phase 3) .
L'enregistrement 202 du fichier 200 de sauvegarde contient dès lors :
- la valeur courante du compteur "Compteur 2" dans la zone 302;
- l'adresse du compteur "Compteur 2" dans la zone 301; - la longueur du contenu sauvegardé du compteur "Compteur 2" dans la zone 300;
- un code de redondance valide dans la zone 303. Puis le compteur "Compteur 2" est modifié (phase
4). L'étape suivante de la règle "Règle 1" concerne le compteur "Compteur 3". De la même manière que pour les compteurs "Compteur 1" et "Compteur 2", le contenu du compteur "Compteur 3" est sauvegardé au sein de l'enregistrement 203 du fichier 200 de sauvegarde (phase 5) avant que le compteur "Compteur 3" ne soit modifié (phase 6) .
L'enregistrement 203 du fichier 200 de sauvegarde contient dés lors :
- la valeur courante du compteur "Compteur 3" dans la zone 302; - l'adresse du compteur "Compteur 3" dans la zone 301;
- la longueur du contenu sauvegardé du compteur "Compteur 3" dans la zone 300;
- un code de redondance valide dans la zone 303. Dans le cas où l'exécution de la règle "Règle 1" s'est déroulée avec succès, l'ensemble des enregistrements (201, 202 et 203) du fichier 200 de sauvegarde est effacé à la fin de l'exécution de ladite règle (phase 7) . Il est alors à ce stade impossible de recouvrer l'état des compteurs 1 à 3 qui était le leur avant l'exécution de la règle "Règle 1".
Dans le cas où une erreur s ' est produite durant l'exécution de la règle "Règle 1" (erreur d'écriture mémoire ou arrachement de la carte) le fichier 200 de sauvegarde comporte des enregistrements non effacés.
La figure 15 montre dans ce cas, comment le mécanisme de recouvrement est activé pour assurer la cohérence des compteurs de la carte. La carte à puce vérifie en effet, lors de toute réception de commande, que le fichier 200 de sauvegarde ne comporte pas d'enregistrement (201, 202, 203) comprenant un code de redondance valide. Dans l'affirmative la commande reçue est traitée normalement. Dans le cas contraire (au moins un enregistrement comprend un code de redondance valide (zone 303), le mécanisme de recouvrement restaure les zones mémoires qui ont été sauvegardées (comme décrit en figure 14) . Ainsi, les compteurs de la carte à puce recouvrent l'état qui était le leur avant l'exécution avortée de la dernière règle exécutée.
Il est indispensable que les enregistrements du fichier 200 de sauvegarde soient parcourus du plus récemment mis à jour vers le plus ancien. En effet, dans le cas où un compteur serait mis à jour à plusieurs reprises durant l'exécution d'une règle, le fait de restaurer les compteurs en parcourant les enregistrements dans l'ordre indiqué ci-dessus, permet de s'assurer que ledit compteur sera restauré correctement. Prenons la situation où il y a eu arrachement de la carte durant la mise à jour du compteur "Compteur 3" lors de l'exécution de la règle "Règle 1" (décrite en figure 6) . Comme le montre la figure 15, le mécanisme de recouvrement commence par analyser le dernier enregistrement du fichier 200 de sauvegarde (enregistrement 203, dans notre exemple) .
L'enregistrement 203 comprend un code de redondance valide dans la zone d'intégrité 303 dudit enregistrement. Le mécanisme de recouvrement effectue une lecture de la zone 302 de l'enregistrement 203 et recopie la valeur lue à l'adresse contenue dans la zone 301 de l'enregistrement 203 (phase 1) . La zone de longueur, référencée 300, dudit enregistrement permet au mécanisme de recouvrement de connaître la taille de la donnée qui a été sauvegardée dans la zone 302 de l'enregistrement 203. Le compteur "Compteur 3" est donc restauré et retrouve la valeur qui était la sienne avant l'exécution avortée de la règle "Règle 1". L'enregistrement 203 est à présent effacé (phase 2). Le mécanisme de recouvrement analyse alors l'enregistrement 202. Comme celui-ci contient une zone d'intégrité 302 valide, le contenu de la zone 302 dudit enregistrement est recopié à l'adresse dont la valeur est contenue dans la zone 301 de l'enregistrement (phase 3). Le compteur "Compteur 2" est donc restauré et retrouve la valeur qui était la sienne avant l'exécution avortée de la règle "Règle 1". L'enregistrement 202 est à présent effacé (phase 4). Le mécanisme de recouvrement analyse alors l'enregistrement 201. Comme celui-ci contient une zone d'intégrité 302 valide, le contenu de la zone 302 dudit enregistrement est recopié à l'adresse dont la valeur est contenue dans la zone 301 de l'enregistrement (phase 5) . Le compteur "Compteur 1" est donc restauré et retrouve la valeur qui était la sienne avant l'exécution avortée de la règle "Règle 1". L'enregistrement 201 est à présent effacé (phase 6). L'ensemble des enregistrements (201, 202, 203) a été parcouru et effacé. L'exécution du mécanisme de recouvrement est terminée.
Dans le cas où un nouvel arrachement de la carte intervient durant la phase de restauration des compteurs, le mécanisme de recouvrement sera de nouveau activé lors de l'émission de la prochaine commande.
Dans le cas où le mécanisme de recouvrement ne peut terminer son exécution car il n'est pas possible ne restaurer le contenu d'un compteur (problème d'écriture mémoire) , une erreur est signalée par ledit mécanisme et l'exécution de celui-ci est terminée. Le terminal a ainsi connaissance que la carte n'est plus cohérente. Celle-ci devient impropre à l'exploitation. Toute tentative de modification du compteur défaillant entraînera dés lors un échec de la transaction.
Si la défaillance mémoire concerne un enregistrement du fichier 200 de sauvegarde lors de l'effacement de celui-ci, le mécanisme de recouvrement poursuit son exécution. L'enregistrement partiellement effacé comprendra un code de redondance invalide dans la zone 303 intégrité. Celui-ci sera dès lors ignoré lors des prochaines activations du mécanisme de recouvrement .
On peut remarquer que dans le cadre de l'invention, il n'est pas nécessaire de sauvegarder le contenu complet d'un compteur. Seule la partie destinée à être modifiée peut être sauvegardée. Ceci est possible par le fait de disposer au sein de chaque enregistrement du fichier 200 de sauvegarde, la longueur et l'adresse des données sauvegardées. Pour illustrer ceci, nous pouvons constater, dans les figures 14 et 15, que seules les zones 26 à 28 des compteurs, à savoir respectivement, la balance, la balance cumulée et le compteur de visite, sont sauvegardées/restaurées. En effet, dans cet exemple la règle "Règle 1" exécutée ne modifie que les zones 26 à 28 des compteurs "Compteur 1", "Compteur 2" et "Compteur 3".
On peut remarquer d'autre part, que le nombre d'enregistrements du fichier 200 de sauvegarde constitue une limitation pour le nombre d'opérations à effectuer par une règle. Il faut donc que la dimension du fichier 200 de sauvegarde soit en adéquation avec la complexité des règles destinées à être implantées dans la carte. Cette détermination est à la portée de l'homme du métier.

Claims

REVENDICATIONS
1 - Carte à puce (1) munie dans sa puce d'un dispositif (5) de comptage comportant au moins un compteur (6) modifiable à l'aide d'instructions de modification desdits compteurs, caractérisée en ce que ledit dispositif (5) de comptage comporte un fichier (12) de règles dont chaque enregistrement (50) comporte au moins une fiche d'instruction (30, 32) comportant :
- une zone (36) de désignation pour identifier un compteur à mouvementer, - une zone (37) d'instruction pour renseigner sur le mode (Instruction 1) de modification du compteur à mouvementer,
- au moins une zone (371, 372) de variable pour contenir une variable sur laquelle s'applique l'instruction.
2 - Carte selon la revendication 1, caractérisée en ce que lesdites fiches d'instruction (30, 32), associant à une instruction (37) une condition d'application de cette instruction, comportent une zone
(373) de référence de condition pour désigner un enregistrement d'un fichier (14) de conditions
(Conditions 1) qui contient des conditions à satisfaire pour autoriser la réalisation de l'instruction (37) (Instruction 1) .
3 - Carte selon l'une des revendications 1 ou 2, caractérisée en ce que le dispositif de comptage comporte un fichier (6) de blocs compteurs dont les enregistrements associent des identifications de compteurs (26, 28) à une ou des règles (11) applicables à ces compteurs. 4 - Carte selon l'une des revendications 1 à 3, caractérisée en ce que le dispositif (5) de comptage comporte, pour autoriser l'exécution d'une instruction, un fichier (13) de conditions dont les fiches comportent :
- une zone (39) d'opérande pour composer des fiches de conditions,
- une zone (40) de fonction pour représenter une condition logique (3) ,
- au moins deux zones (41, 42) de variables pour contenir respectivement une valeur de référence de la condition et une valeur à tester par rapport à la valeur de référence selon la condition logique.
5 - Carte selon l'une des revendications 1 à 4, caractérisée en ce que le dispositif (5) de comptage comporte un fichier (14) de calculs dont les fiches comportent : - une zone (45) de fonction pour désigner une fonction mathématique élémentaire,
- au moins une zone (46, 47) de variable pour contenir un opérande de cette fonction mathématique élémentaire, - et une zone (48) d'opérande de fiche pour indiquer la manière dont le résultat d'une fiche d'enregistrement doit être pris en compte pour un calcul avec une fiche d'enregistrement suivante.
6 - Carte selon l'une des revendications 1 à 5, caractérisée en ce que la puce de la carte comporte une mémoire (5) pour mémoriser les enregistrements et un microprocesseur (100) pour mettre ces règles en oeuvre en modifiant les compteurs.
7 - Carte selon l'une des revendications 1 à 6 caractérisée en ce que les enregistrements des fichiers de blocs compteurs, des règles, des conditions ou des calculs comportent une zone (20, 51, 53) condition d'accès pour autoriser l'utilisation ou la modification.
8 - Carte selon l'une des revendications l à 7, caractérisée en ce que les enregistrements (30) du fichier de règles comportent une zone (54) de version pour en indiquer le caractère récent.
9 - Carte selon l'une des revendications l à 8, comprenant un dispositif de comptage (5) comportant un fichier de sauvegarde (200) géré par un mécanisme de recouvrement, ce dernier garantissant une exécution indivisible des règles décrites dans le fichier de règles (12) dudit dispositif de comptage, caractérisée en ce que ledit mécanisme de recouvrement sauvegarde de manière séquentielle le contenu de chaque compteur avant que celui-ci ne soit modifié par une règle, au sein des enregistrements dudit fichier de sauvegarde (200) .
10 - Carte selon la revendication 9, caractérisée en ce que les enregistrements du fichier de sauvegarde (200) sont effacés à la fin de l'exécution d'une règle du fichier de règles (12) du dispositif de comptage (5) . 11 - Carte selon l'une des revendications 9 ou 10, caractérisée en ce que le mécanisme de recouvrement est activé au plus tard avant que toute commande envoyée à la carte suivant une exécution avortée d'une règle, ne soit exécutée à son tour, afin que les compteurs de la carte recouvrent la valeur qui était la leur avant l'exécution de ladite règle.
12 - Carte selon l'une quelconque des revendications 9 à 11, caractérisée en ce que le mécanisme de recouvrement restitue le contenu des compteurs modifiés par la règle dont l'exécution a été interrompue, d'une manière séquentielle, en partant de l'enregistrement le plus récemment mis à jour vers l'enregistrement le plus anciennement écrit du fichier de sauvegarde (200) .
13 - Carte selon l'une quelconque des revendications 9 à 12 caractérisée en ce que le mécanisme de recouvrement efface les enregistrements du fichier de sauvegarde (200), l'un après l'autre, chacun après que la valeur qu'il contient, correspondant au contenu d'un compteur, ait été restituée.
14 - Carte selon l'une quelconque des revendications 9 à 12 caractérisée en ce que le mécanisme de recouvrement efface l'ensemble des enregistrements du fichier de sauvegarde (200) après que les différents compteurs aient recouvré la valeur qui était la leur avant l'exécution avortée de la dernière règle. 15 - Carte selon l'une quelconque des revendications 9 à 14, caractérisée en ce que les enregistrements (201, 202, 203) du fichier de sauvegarde (200) comportent, outre la zone contenant la donnée sauvegardée (302), une zone de longueur (300) et une zone d'adresse (301) de manière à ce que seules les zones des compteurs devant être modifiées par une règle soient sauvegardées/restituées par le mécanisme de recouvrement.
16 - Carte selon l'une quelconque des revendications 9 à 15 caractérisée en ce que les enregistrements (201, 202, 203) du fichier de sauvegarde (200) comportent une zone d'intégrité (303) de manière à ce que le mécanisme de recouvrement ne restaure que des enregistrements valides lors de la restauration des compteurs du dispositif de comptage
(5) .
17 - Procédé de comptage dans une carte à puce caractérisé en ce que :
- on transmet à la carte à puce une identification d'une règle, - dans la carte à puce on extrait un enregistrement d'un fichier de règles qui correspond à la règle identifiée, et
- on modifie des compteurs de la carte à puce désignés par ledit enregistrement selon des instructions associées dans cet enregistrement auxdits compteurs désignés.
PCT/FR1998/001518 1998-07-10 1998-07-10 Carte a puce munie d'un dispositif de comptage Ceased WO2000003362A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU87346/98A AU8734698A (en) 1998-07-10 1998-07-10 Chip card provided with a counting device
PCT/FR1998/001518 WO2000003362A1 (fr) 1998-07-10 1998-07-10 Carte a puce munie d'un dispositif de comptage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR1998/001518 WO2000003362A1 (fr) 1998-07-10 1998-07-10 Carte a puce munie d'un dispositif de comptage

Publications (1)

Publication Number Publication Date
WO2000003362A1 true WO2000003362A1 (fr) 2000-01-20

Family

ID=9522766

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1998/001518 Ceased WO2000003362A1 (fr) 1998-07-10 1998-07-10 Carte a puce munie d'un dispositif de comptage

Country Status (2)

Country Link
AU (1) AU8734698A (fr)
WO (1) WO2000003362A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6698661B1 (en) * 1997-04-17 2004-03-02 Gemplus Chip card equipped with a counter device
EP1575003A1 (fr) * 2004-03-10 2005-09-14 Proton World International N.V. Mise à jour d'un compteur de valeur d'une carte à puce
EP1764699A4 (fr) * 2004-06-14 2010-07-28 Sony Corp Dispositif de gestion d'informations et procede de gestion d'informations

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667192A1 (fr) * 1990-09-20 1992-03-27 Gemplus Card Int Procede de comptage en memoire eeprom et son utilisation pour la realisation d'un compteur securise.
WO1995021428A1 (fr) * 1994-02-04 1995-08-10 Card One Development Company Procede et systeme d'affectation et de remboursement de credits promotionnels
EP0740268A1 (fr) * 1995-04-26 1996-10-30 France Telecom Carte à mémoire et procédé de mise en oeuvre d'une telle carte
EP0775990A2 (fr) * 1995-11-21 1997-05-28 Hitachi, Ltd. Terminal pour transactions automatisées avec carte à circuit intégré et carte utilisée dans ce terminal
EP0786746A2 (fr) * 1996-01-22 1997-07-30 Marketlink Procédé et dispositif de traitement d'informations codées avec carte à puce
DE19605361A1 (de) * 1996-02-14 1997-08-21 Kaste Hans Ulrich Verfahren zum Realisieren einer elektronischen Bonus- und Geldbörse

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667192A1 (fr) * 1990-09-20 1992-03-27 Gemplus Card Int Procede de comptage en memoire eeprom et son utilisation pour la realisation d'un compteur securise.
WO1995021428A1 (fr) * 1994-02-04 1995-08-10 Card One Development Company Procede et systeme d'affectation et de remboursement de credits promotionnels
EP0740268A1 (fr) * 1995-04-26 1996-10-30 France Telecom Carte à mémoire et procédé de mise en oeuvre d'une telle carte
EP0775990A2 (fr) * 1995-11-21 1997-05-28 Hitachi, Ltd. Terminal pour transactions automatisées avec carte à circuit intégré et carte utilisée dans ce terminal
EP0786746A2 (fr) * 1996-01-22 1997-07-30 Marketlink Procédé et dispositif de traitement d'informations codées avec carte à puce
DE19605361A1 (de) * 1996-02-14 1997-08-21 Kaste Hans Ulrich Verfahren zum Realisieren einer elektronischen Bonus- und Geldbörse

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6698661B1 (en) * 1997-04-17 2004-03-02 Gemplus Chip card equipped with a counter device
EP1575003A1 (fr) * 2004-03-10 2005-09-14 Proton World International N.V. Mise à jour d'un compteur de valeur d'une carte à puce
FR2867591A1 (fr) * 2004-03-10 2005-09-16 Proton World Internatinal Nv Mise a jour d'un compteur de valeur d'une carte a puce
US7258271B2 (en) 2004-03-10 2007-08-21 Proton World International N.V. Updating of a smart card value counter
US7503508B2 (en) 2004-03-10 2009-03-17 Proton World International N.V. Updating of a smart card value counter
EP1764699A4 (fr) * 2004-06-14 2010-07-28 Sony Corp Dispositif de gestion d'informations et procede de gestion d'informations

Also Published As

Publication number Publication date
AU8734698A (en) 2000-02-01

Similar Documents

Publication Publication Date Title
CA2034002C (fr) Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede
EP0231702B1 (fr) Procédé et appareil pour certifier des services obtenus à l'aide d'un support portatif tel qu'une carte à mémoire
EP0253722B1 (fr) Procédé pour diversifier une clé de base et pour authentifier une clé ainsi diversifiée comme ayant été élaborée à partir d'une clé de base prédéterminée, et système pour la mise en oeuvre
FR2661534A1 (fr) Dispositif et methode de validation d'une carte a memoire.
FR2666671A1 (fr) Procede de gestion d'un programme d'application charge dans un support a microcircuit.
FR2704704A1 (fr) Système de communication.
FR2686171A1 (fr) Carte a memoire de masse pour microordinateur avec facilites d'execution de programmes internes.
EP0995175A1 (fr) Procede de gestion d'un terminal securise
WO2000003362A1 (fr) Carte a puce munie d'un dispositif de comptage
EP1016045B1 (fr) Carte a puce munie d'un dispositif de comptage
EP0838053B1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
EP3564914B1 (fr) Procédé et système pour effectuer un échange de données sécurisé
EP1034517B1 (fr) Procede de gestion des donnees dans une carte a puce
CA2287491A1 (fr) Carte a puce avec compteur, notamment compteur d'unite ou de gratifications, et procede de mise en oeuvre
EP0974131B1 (fr) Procede d'interpretation dynamique de donnees pour une carte a puce
CA2285642A1 (fr) Procede de certification d'un cumul dans un lecteur
WO2025083595A1 (fr) Terminal connecté comprenant une mémoire de presse-papiers sécurisé contrôlée par un processeur sécurisé
FR2795836A1 (fr) Procede pour comptabiliser le temps dans un dispositif de traitement d'information, et dispositif associe
WO2025083599A1 (fr) Terminal connecté comprenant une mémoire de presse-papiers sécurisé exclusivement contrôlée par un processeur sécurisé
FR2833093A1 (fr) Procede d'echange de blocs de donnees, procede d'echange et de traitement de blocs de donnees, objet portatif, et automate pour la mise en oeuvre de procede
EP1295206A1 (fr) Dispositif et procede d'evaluation d'algorithmes
FR2774187A1 (fr) Appareil permettant la protection simultanee de plusieurs logiciels independamment du concepteur du logiciel
FR2798026A1 (fr) Procede et dispositif de communication pour la securisation des informations
WO2018229089A1 (fr) Procédé de gestion d'identifiants de fidélité, procédé de traitement de données de fidélité, serveur, dispositif de transaction et programmes correspondants
FR2829260A1 (fr) Procede d'entreposage d'images numeriques pour telechargement

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU BR CA CN JP KR MX SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase