AU749396B2 - Method of loading commands in the security module of a terminal - Google Patents
Method of loading commands in the security module of a terminal Download PDFInfo
- Publication number
- AU749396B2 AU749396B2 AU47023/97A AU4702397A AU749396B2 AU 749396 B2 AU749396 B2 AU 749396B2 AU 47023/97 A AU47023/97 A AU 47023/97A AU 4702397 A AU4702397 A AU 4702397A AU 749396 B2 AU749396 B2 AU 749396B2
- Authority
- AU
- Australia
- Prior art keywords
- terminal
- commands
- security module
- script file
- station
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/355—Personalisation of cards for use
- G06Q20/3552—Downloading or loading of personalisation data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Description
0 O 0 *b 0 O 0 *0 00 a 0 000 00 nc o o 0 W 0 o n a e rn 402286W0 Method for verifying the effect of the execution of commands which are loaded in a security module of a terminal.
The present invention relates to a method for verifying the effect of the execution of commands which are loaded in a security module of a terminal. More specifically, the present invention relates to the controlled loading of data in the security module of a smart card operated terminal by means of the execution of commands.
Terminals, such as vending machines or public telephones, often comprise a security module for securely storing usage data. Such payment data is e.g. the number of times the terminal has been used, the amount of money spent by consumers at the particular terminal, or the number of telephone metering pulses the (telephone) terminal has collected. A security module, which is usually mechanically and/or electronically protected against abuse, comprises electronic memory means (such as counters and EEPROM) for registering payment data and for storing keys. A security module may further comprise processing means for processing data, such as usage data. Such processing means normally comprise a microprocessor running programs consisting of commands stored in the security module. The processing often comprises the cryptographic protection of the usage data in order to prevent fraud. An example of a security module and its use is disclosed in US Patent Specification no. 5,572,004.
It is often necessary to update the data stored in a security module, e.g. for adding new functions or modifying existing functions.
Data may be added or altered using commands, the execution of which effects the desired addition or alteration. However, the functioning of the additions and alterations needs to be verified. This is especially true since security modules often store monetary data or their equivalents.
Thus the need arises to be able to load such new data into the security module and to verify its effects, i.e. the proper functioning of the modifications brought about by that data. As in practice it will be necessary to effect changes in security modules in many different locations, verifying the functioning of those security modules constitutes a problem. The Prior Art does not offer a solution for this problem.
US Patent Specification no. 4,972,478 discloses a cryptographic circuit connected with external programming equipment which may perform an execution test to verify that the cryptographic circuit accurately performs its cipher algorithm. How this execution test is performed, and which results are transferred to the external programming equipment, is not disclosed. Said patent does not deal with a smart card operated terminal.
c -2- US Patent Specification no. 5,495,571 discloses a method for parametric testing of a function programming interface. A testing plan invokes the function with different parameter values and it is tested whether the function returns appropriate error codes.
Said patent does not deal with the controlled loading of data and commands. Also, said patent does not deal with a smart card operated terminal.
US Patent Specification no. 4,777,355 discloses an IC card and system for checking the functionality thereof. However, the specific verifying method of the invention for external terminals has not been disclosed. It is an object of the invention to overcome the above-mentioned and other disadvantages of the prior art and to provide a 'o method which allows data to be loaded into the security module of a terminal and to verify the proper functioning of the commands using that data. It is a further object of the invention to provide a method which allows the remote function check of a security module.
The present invention therefore provides a method for verifying the effect of the 15. execution of commands which are loaded in a security module of a terminal when updating data stored in said security module of said terminal, said method comprising the steps of: transferring the commands from a station to said security module of the said terminal; via a transfer means between the said station and the said terminal; executing the said commands by the said security module of the said terminal; recording results of 20 the executed commands in the said terminal; transferring the said results to the said station via the said transfer means; and checking the proper functioning of the said security module of the said terminal. The station may be a remote terminal management agency. The transfer means may e.g. be a telephone line or a (special purpose) card S° which is inserted into the terminal.
By recording the results of the executed commands, it is possible to remotely check the proper functioning of the security module. Preferably, the commands are transferred to the terminal as part of a script file, the terminal extracting the respective commands from the script file and passing them to the security module. Advantageously the script file contains information allowing the selective recording of results, i.e.
allowing the results of some commands to be registered, while the results of other commands are not registered. This makes it possible to control the loading of certain commands into the security module by requiring the proper execution of [R:\L1BCC]02990.doC:gMni the previous command, while allowing other commands commands of which the results are unpredictable) to be loaded without imposing a restriction.
As the terminal substantially only transfers the commands to the secure module, the terminal is effectively transparant with respect to the commands. This makes the terminal substantially independent of the particular security module used.
The invention will now be described in more detail by way of example by reference to the accompanying drawings, in which: Fig. 1 schematically shows a terminal in which the method of the present invention may be used; Fig. 2 schematically shows an example of the structure of a script file containing commands to be loaded; Fig. 3 schematically shows an example of the structure of a log file containing results of commands; and Fig. 4 shows a flow diagram representing the processing of commands in a security module according to the present invention.
Referring now to Fig. 1 a terminal 1, connected via a telecommunications link 3 with a station (terminal management center) 4 is shown. As will be explained below, the station 4 may serve both to make script files and to verify the functioning of the terminal 1.
The terminal 1 comprises at least one security module 2 which during normal use of the terminal 1 communicates with a smart card 5. The terminal 1 further comprises a processor 6 connected with an associated memory (RAM and/or ROM) 7, an I/O (input/output) unit 8, and the security module 2. The I/O unit is connected with the telecommunications link 3, which is e.g. a WO 99/13612 PCT/EP97/04963 4 subscriber line of a public telephone network (PSTN) or a link of a computer network.
The security module 2 may comprise a processor, a memory, an I/O unit and an associated card reader/writer (not shown) for interfacing with the IC card (smart card) 5. A security module normally is a physically and/or cryptographically protected unit for securely.
storing data relating to the use of the terminal, e.g. transaction data such as monetary balances. Although in this text a security module is mentioned throughout, it will be understood that the present invention is also applicable to terminals in which the security module is replaced by another unit having processing and storage means.
In order to load commands into the security module 2 and execute them while having the possibility to check their proper functioning, as provided by the present invention, a script file is made in the station 4. The script file, which will further be explained with reference to Fig. 2, contains the commands to be loaded and executed, thus effecting a data transfer to and/or from the security module 2.
Preferably, the terminal 1 verifies the origin of the commands, i.e.
the terminal checks whether the commands were produced by or at least sent by the station 4. This verification, which serves to prevent fraudulent modifications of the contents of the security module, may be effected by comparing a received MAC (message authentication code) with a MAC calculated by the terminal. Such verification procedures are well known in the art.
As shown in Fig. 2, a script file 10 may contain a header and a number of records, each record comprising a type field Ti Tl), a command field Ci Cl) and a result field Ri Rl). The result field Ri may be empty, as will be explained later. A command may contain data to be written in the memory of the security module, such as a key for encrypting usage data. However, a command may also contain an instruction to be executed by the security module 2. A suitable format of the commands Ci (i ranges from 1 to 4 in Fig. 2) is e.g. disclosed in the IS07816-4 standard.
The type field Ti allows different types of commands to be distinguished. In the method of the present invention, three different types of commands can be distinguished, resulting in three different types of command handling by the terminal.
A first type of command has an associated expected result or WO 99/13612 PCT/EP97/04963 response R. This type of command is preferably loaded one by one in the security module, the terminal comparing the actual result Ri' with the expected result Ri and stopping the loading if a discrepancy, i.e.
a mismatch between Ri and Ri' occurs. With this type of command it is -possible to perform a controlled loading of the security module and to check the proper functioning of the security module while loadin A second type of command is not accompanied by an expected response the response field Ri may be empty). However, the terminal preferably registers the actual responses. This type of command allows a test of the security module to be performed, especially in the case where an unknown type of security module (of which the responses are not completely known in advance) is used. The results may be entered in a log file which can be collected later.
Thus an off-line processing of the commands is possible.
A third type of command is loaded into the security module and executed without taking the result into account. That is, the result of this type of command is not registered by the terminal.
It will be understood that the above-mentioned results of the commands may comprise memory contents, a status indicating a failed write operation), and/or a smart card command. The said commands may thus effect a data transfer to and/or from the security module.
As explained above, the terminal extracts the commands from the script file and passes them to the security module. Although the terminal is passive with respect to the commands, it is active with respect to the script file in that it extracts the commands from the file and derives its mode of operation (check result/no check) from the type fields contained in the script file. The script file thus comprises information which influences the functioning of the terminal with respect to the script file and the commands derived from it.
The script file may comprise only a single command. However, the size of the script file may vary and is limited only by the amount of memory available in the terminal. It can also be envisaged that the script file contains commands in a compressed and/or cryptographically protected form.
In Fig. an example of a so-called log file is shown. The file comprises a file header and a number of data fields. In these data fields, the actual results of commands are stored during or after the WO 99/13612 PCT/EP97/04963 6 processing (logging of the results). The data fields shown contain a first result RI' of a first executed command and a second result R2' of a second executed'command. In the station 4 (as shown in Fig. i), or in another device, these actual results Ri' may be compared with expected results Ri or may be processed in another way.
The flow diagram of Fig. 4 represents by way of example an- embodiment of the method of the present invention. The diagram comprises an initialization step 100, denoted "Start", in which a command or a script file containing commands is transferred from the station 4 to the security module 2 of the terminal 1 (cf. Fig. 1).
In step 101, the command is loaded into the processor of the security module 2, e.g. by extracting the command from the script file. In step 102, the security module re-calculates the message authentication code of the command, resulting in an actual (recalculated) code MAC'. In step 103, this actual code MAC' is compared with the received code MAC. If the codes are equal, the received code MAC is considered authentic and the procedure continues with step 104. If the codes are not equal, the procedure exits via an appropriate exit routine (not shown), which may generate an error message.
In step 104, the type of the command is determined by reading the type (Ti) of the command (cf. Fig. 2) and is temporarily stored.
Then, in step 105, the command (Ci) is executed by the security module and the results are temporarily stored.
In steps 106 through 108 the security module determines if and how the results are going to be processed.
If, in step 106, the type equals I (first type), the procedure continues with step 112, in which the expected result (Ri) is read from the script file (cf. Fig. 2) to be compared with the actual result in step 113. If, in step 113, the results are equal, the procedure continues with step 109, else the procedure exits (incorrect result). If the type does not equal I, the procedure continues with step 107.
If, in step 107, the type equals II (second type), the procedure continues with step 114 in which the actual result is registered, e.g in the log file of Fig. 3. If the type does not equal II, the procedure continues with step 108.
If, in step 108, the type equals III (third type), the procedure WO 99/13612 PCT/EP97/04963 7 continues with step 109. If the type does not equal III, the procedure exits (incorrect type).
In steps 109 and 110 the security module checks whether the end of the script file has been reached. If the end of the file is detected in step 110, the procedure terminates in step 111, e.g. by closing and transmitting the log file (if appropriate), If the en -of the script file has not yet been reached, the procedure continues with step 101, in which the next command is loaded.
By processing the results of the commands in dependance of the type of the individual commands, it is possible to selectively process the commands of a single script file.
It will be understood that the procedure set out above is given by way of example only. Thus, the checking of the message authentication code, or of any other data protecting code, could be carried out by performing an inverse calculation of the code instead of a re-calculation as set out in steps 102 and 103. The results of executed commands are preferably registered by storing these in the memory of the security module. Alternatively, the results may be stored in the memory of the terminal. A log file may be stored in the terminal memory before transmitting the file to the station or transferring the file to a smart card A script file may also be stored in the terminal memory each command being loaded into the security module in step 101 of the above procedure.
As described above, the method of the present invention allows both a flexible loading of data in the security module and a remote check of the functioning of the security module.
It will be understood by those skilled in the art that the embodiments described above are given by way of example only and that many modifications and additions are possible without departing from the scope of the present invention.
Claims (11)
1. A method for verifying the effect of the execution of commands which are loaded in a security module of a terminal when updating data stored in said security module of said terminal, said method comprising the steps of: transferring said commands from a station to said security module of the said terminal via a transfer means between said station and said terminal; executing said commands by said security module of said terminal; recording results of the executed commands in said terminal; transferring said results to said station via said transfer means; and checking the proper functioning of said security module of said terminal.
2. The method as claimed in claim 1, wherein the commands are transferred to said terminal as part of a script file, said terminal extracting the respective commands from the script file and passing them to said security module. The method as claimed in claim 2, wherein said script file includes .1 information allowing the selective recording of results.
S 20
4. The method as claimed in claim 2, wherein said script file is made in said station.
The method as claimed in any one of claims 2-4, wherein said script file includes an expected result of each command.
6. The method as claimed in claim 5, wherein each command is transferred to said security module individually, said terminal comparing said expected result with said result and stopping the transferring if a mismatch is detected. [R:\LIBE]3255.doc:eaa -9-
7. The method as claimed in any one of claims 1-6, wherein said transfer means is a telecommunications link.
8. The method as claimed in claim 7, wherein said telecommunications link is a telephone connection.
9. The method as claimed in any one of claims 1-8, wherein said transfer means comprises a card to be inserted in said terminal.
10. The method as claimed in any one of claims 1-9, wherein said terminal, before transferring the commands to the security module, verifies whether said commands .originate from said station.
11. A method for verifying the effect of the execution of commands, said is method being substantially as described herein with reference to Fig. 4. DATED this eighth Day of April, 2002 Koninklijke KPN N.V. Patent Attorneys for the Applicant S* 20 SPRUSON FERGUSON [R:\LIBE]3255.doc:eaa
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP1997/004963 WO1999013612A1 (en) | 1997-09-09 | 1997-09-09 | Method of loading commands in the security module of a terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
AU4702397A AU4702397A (en) | 1999-03-29 |
AU749396B2 true AU749396B2 (en) | 2002-06-27 |
Family
ID=8166742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU47023/97A Ceased AU749396B2 (en) | 1997-09-09 | 1997-09-09 | Method of loading commands in the security module of a terminal |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1013029A1 (en) |
JP (1) | JP2001516907A (en) |
AU (1) | AU749396B2 (en) |
CA (1) | CA2295887A1 (en) |
HU (1) | HUP0004101A3 (en) |
IL (1) | IL133954A0 (en) |
WO (1) | WO1999013612A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834286B (en) * | 2015-03-30 | 2017-07-11 | 北京经纬恒润科技有限公司 | A kind of reprogramming method, system, reprogramming equipment and electronic control unit |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4972478A (en) * | 1989-07-03 | 1990-11-20 | Motorola, Inc. | Soft logic cryptographic circuit |
FR2657445A1 (en) * | 1990-01-25 | 1991-07-26 | Gemplus Card Int | METHOD FOR LOADING APPLICATION PROGRAMS IN A MICROPROCESSOR MEMORY CARD READER AND SYSTEM FOR ITS IMPLEMENTATION |
US5495571A (en) * | 1992-09-30 | 1996-02-27 | Microsoft Corporation | Method and system for performing parametric testing of a functional programming interface |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3743639A1 (en) * | 1986-12-24 | 1988-07-07 | Mitsubishi Electric Corp | IC CARD AND SYSTEM FOR CHECKING ITS FUNCTIONALITY |
GB2205667B (en) * | 1987-06-12 | 1991-11-06 | Ncr Co | Method of controlling the operation of security modules |
FR2638868B1 (en) * | 1988-11-09 | 1990-12-21 | Bull Cp8 | SECURE DOWNLOAD SYSTEM FOR A TERMINAL AND METHOD IMPLEMENTED |
US5396558A (en) * | 1992-09-18 | 1995-03-07 | Nippon Telegraph And Telephone Corporation | Method and apparatus for settlement of accounts by IC cards |
FR2725537B1 (en) * | 1994-10-11 | 1996-11-22 | Bull Cp8 | METHOD FOR LOADING A PROTECTED MEMORY AREA OF AN INFORMATION PROCESSING DEVICE AND ASSOCIATED DEVICE |
EP0825739A1 (en) * | 1996-08-15 | 1998-02-25 | Koninklijke KPN N.V. | Method of loading commands in the security module of a terminal |
-
1997
- 1997-09-09 CA CA002295887A patent/CA2295887A1/en not_active Abandoned
- 1997-09-09 AU AU47023/97A patent/AU749396B2/en not_active Ceased
- 1997-09-09 JP JP2000511281A patent/JP2001516907A/en active Pending
- 1997-09-09 IL IL13395497A patent/IL133954A0/en unknown
- 1997-09-09 HU HU0004101A patent/HUP0004101A3/en unknown
- 1997-09-09 EP EP97909248A patent/EP1013029A1/en not_active Withdrawn
- 1997-09-09 WO PCT/EP1997/004963 patent/WO1999013612A1/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4972478A (en) * | 1989-07-03 | 1990-11-20 | Motorola, Inc. | Soft logic cryptographic circuit |
FR2657445A1 (en) * | 1990-01-25 | 1991-07-26 | Gemplus Card Int | METHOD FOR LOADING APPLICATION PROGRAMS IN A MICROPROCESSOR MEMORY CARD READER AND SYSTEM FOR ITS IMPLEMENTATION |
US5495571A (en) * | 1992-09-30 | 1996-02-27 | Microsoft Corporation | Method and system for performing parametric testing of a functional programming interface |
Also Published As
Publication number | Publication date |
---|---|
WO1999013612A1 (en) | 1999-03-18 |
JP2001516907A (en) | 2001-10-02 |
HUP0004101A3 (en) | 2003-05-28 |
CA2295887A1 (en) | 1999-03-18 |
EP1013029A1 (en) | 2000-06-28 |
HUP0004101A2 (en) | 2001-05-28 |
IL133954A0 (en) | 2001-04-30 |
AU4702397A (en) | 1999-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5856659A (en) | Method of securely modifying data on a smart card | |
US4907271A (en) | Secure transmission of information between electronic stations | |
KR900005212B1 (en) | Ic card with an updatable password | |
EP0981807B1 (en) | Integrated circuit card with application history list | |
US20030014643A1 (en) | Electronic apparatus and debug authorization method | |
US20020010856A1 (en) | IC, IC-mounted electronic device, debugging method and IC debugger | |
CZ287424B6 (en) | Method of protected execution of transaction by making use of electronic means of payment | |
US7246375B1 (en) | Method for managing a secure terminal | |
US20060214006A1 (en) | Tamper resistant device and file generation method | |
GB2358500A (en) | Programming data carriers | |
EP1615164B1 (en) | IC card with self-diagnostic function | |
US6052783A (en) | Method of loading commands in the security module of a terminal | |
AU749396B2 (en) | Method of loading commands in the security module of a terminal | |
US8020773B2 (en) | Method for personalizing chip cards | |
JP2882012B2 (en) | Data transfer system and data transfer terminal | |
NZ501677A (en) | Verification of loading of commands in the security module of a terminal | |
US7113928B1 (en) | Franking machine and operating method thereof | |
US9183160B2 (en) | Integrated circuit board with secured input/output buffer | |
JPS61151793A (en) | Ic card security protection system | |
CZ440399A3 (en) | Method of recording commands into safety module of a terminal | |
WO2001054086A1 (en) | Programming data carriers | |
Haneberg | Electronic ticketing: a smartcard application case-study | |
JPS62197848A (en) | Portable electronic equipment system | |
MXPA99011648A (en) | Method for managing a secure terminal | |
CZ16897A3 (en) | Process and apparatus for paying from chip cards with stock exchange functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FGA | Letters patent sealed or granted (standard patent) |