WO2003046826A1 - Support d'enregistrement d'informations portable - Google Patents

Support d'enregistrement d'informations portable Download PDF

Info

Publication number
WO2003046826A1
WO2003046826A1 PCT/JP2002/012219 JP0212219W WO03046826A1 WO 2003046826 A1 WO2003046826 A1 WO 2003046826A1 JP 0212219 W JP0212219 W JP 0212219W WO 03046826 A1 WO03046826 A1 WO 03046826A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
command
application program
external device
work area
Prior art date
Application number
PCT/JP2002/012219
Other languages
English (en)
French (fr)
Inventor
Kazuyoshi Irisawa
Naoto Shibata
Tetsuo Shinriki
Original Assignee
Dai Nippon Printing Co., Ltd.
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 Dai Nippon Printing Co., Ltd. filed Critical Dai Nippon Printing Co., Ltd.
Priority to US10/486,676 priority Critical patent/US7367047B2/en
Priority to KR1020047005182A priority patent/KR100948120B1/ko
Priority to EP02788638A priority patent/EP1450299B1/en
Priority to DE60237783T priority patent/DE60237783D1/de
Publication of WO2003046826A1 publication Critical patent/WO2003046826A1/ja

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3574Multiple applications on card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Definitions

  • portable information recording media with a built-in CPU such as IC cards
  • IC cards will be used in the future.
  • Demand is expected in various fields.
  • an IC card with a built-in CPU it is connected to an external device (reader-writer device) as necessary, and executes a predetermined process by exchanging commands and responses with this external device. have.
  • Which command is given and what kind of processing is executed inside the IC card is determined by the 0S program and application program built into the IC card.
  • a dedicated abbreviated program having the processing function is installed in the IC card.
  • the authentication result is stored in the memory in the IC card, and when various commands are given from the external device side, By referring to the authentication result stored in the memory, it is determined whether or not the execution of the given command is permitted, and only when it is determined that the execution of the given command is permitted, the command is executed. Is executed.
  • a memory for storing the authentication result a volatile memory such as a RAM is used, and when one communication session is completed and disconnected from the external device, the authentication result is erased from the IC card. As described above, since the authentication process must be performed for each communication session, sufficient security can be ensured even if the IC card is lost.
  • the external device gives a selection command for selecting a financial account application program to the IC card to execute the process of writing the payment information of the medical treatment cost with the financial account application being selected. become. In this way, it is expected that the number of usage forms in which a series of cooperative processes will be performed using multiple applications in the same communication session will continue to increase.
  • a processing execution unit that executes a command given from an external device based on an OS program or an application program, and performs a process of returning an execution result as a response to the external device;
  • a work data storage unit that is used as a work area for the processing execution unit, and that secures at least an os work area for storing work data for the OS program;
  • the specified command is stored in the work data storage unit.
  • Information that defines the correspondence between the specified application program and the unique identifier to be assigned to the application work area for storing the work data for the application program.
  • a second aspect of the present invention is the portable information recording medium according to the first aspect,
  • an external device When an external device receives an authentication command for performing authentication on the application program specified by the identifier, the external device executes an authentication process corresponding to the authentication command, and secures an authentication result for the application program. Process to be stored in the application work area
  • an external device gives a process execution command for executing a predetermined process to an application program specified by the identifier
  • an application work reserved for the application program By referring to the authentication result stored in the area, it is determined whether or not execution of the given process execution command can be permitted. If it is determined that the execution can be permitted, the application program determines A predetermined process is executed.
  • a third aspect of the present invention provides the portable information recording medium according to the second aspect, wherein
  • the fourth aspect of the present invention is the portable information recording medium according to the first to third aspects described above,
  • the start address of the area and the size of the area are stored in the OS work area. .
  • the S storage unit, application storage unit, and user data storage unit are configured by nonvolatile memory, and the work data storage unit is configured by volatile memory.
  • FIG. 1 is a block diagram showing a state in which an IC card 100 according to an embodiment of the present invention is connected to an external device 200.
  • FIG. 2 shows a series of commands given from an external device to the IC card according to the present invention. It is a figure showing an example.
  • FIG. 3 is a diagram showing an example of information written in the OS work area by executing the preparation commands (1) and (2) shown in FIG.
  • FIG. 5 is a diagram showing an example of an inquiry command for inquiring a currently available identifier and a response corresponding to the inquiry command.
  • FIG. 1 is a block diagram showing a state in which an IC card 100 (portable information recording medium) according to an embodiment of the present invention is connected to an external device 200.
  • the external device 200 is a device generally called a reader / writer device, and is usually used by being connected to a personal computer or the like.
  • the IC card 100 includes a 10 unit 110 for communicating with the external device 200, a processing execution unit 120 for executing various processes in the IC card, various data and the like.
  • a memory section 130 for storing a program is incorporated. Communication between the IC card 100 and the external device 200 is performed by exchanging commands and responses.
  • this command is received by izom 100 and transmitted to the processing execution unit 120.
  • the processing execution unit 120 interprets and executes this command, and passes the processing result as a response to I 0 15 15 10. Thus, this response is sent from the I / O unit 110 This will be transmitted to the external device 200.
  • the processing execution unit 120 executes a given command based on a program stored in the memory unit 130, and stores the command in the memory unit 130 as necessary as the command is executed. Access to the data that has been performed.
  • the memory section 130 is composed of four storage sections: an OS storage section 131, an application storage section 132, a user data storage section 133, and a work data storage section 134.
  • each of these components is a component focused on a functional aspect, and does not correspond to an actual hardware component.
  • the processing execution unit 120 is realized by a CPU or other logic device embedded in the IC card.
  • the processing execution unit 120 is not a component that can be realized by hardware such as a CPU alone, but is a component that is realized based on an operation based on a program stored in the memory 1530. is there.
  • the memory unit 130 is realized by a memory such as a ROM, a RAM, and an EEPROM.
  • the OS storage unit 131 is implemented by R0M
  • the application storage unit 132 and the user data storage unit 133 are implemented by EEPROM
  • the work data storage unit 134 is implemented by RAM.
  • the memory configuration for carrying out the present invention may not necessarily be the same as that of this embodiment.
  • the work data storage unit 134 should be rewritable volatile memory (RAM) to ensure security. With such a configuration, in a state where the IC card 100 is detached from the external device 200 and carried, only the data in the work data storage unit 134 is erased.
  • RAM volatile memory
  • the OS storage section 131 stores 0S program power s describing the basic operation of the IC card 100.
  • Java Card and MULT0S are widely used as OS programs for IC cards, and the processing execution unit 120 performs basic operations based on the os program.
  • the application storage section 132 stores a plurality of application programs.
  • the application storage unit 132 is provided in a memory area in the EEPR 0M, and has a specification that an application program can be arbitrarily added after an IC card is issued. .
  • the work data storage unit 134 is an area used as a work area for the process execution unit 120. If the command provided from the external device 200 is a command for S, the process execution unit 120 will return to the This is executed based on the S program, and when the command given from the external device 200 is an application command, a predetermined application in the application storage unit 132 is stored. This is executed based on the program, and the execution result is returned to the external device 200 as a response. In either case, it is used as the work data storage area 134 work area.
  • the process execution unit 120 executes the OS program
  • the OS work area in the work data storage unit 134 is used as a work area
  • the process execution unit 120 When the user executes a predetermined application program, the application work area secured for the application in the work data storage section 134 is used as a work area.
  • the os work area is automatically secured in the work data storage section 134 by the initial setting operation when the communication session is started by connecting the IC card 100 to the external device 200. power?, the work area for each application to be Rukoto is, as described later, by providing a preparation command from the external apparatus 2 0 0 side, it is to be ensured.
  • Basic operation of IC card according to the present invention >>>
  • the process execution unit 1200 executes this based on the OS program in the OS storage unit 131. Executes and returns a response corresponding to this to the external device 200. If the command is an application command, it is executed based on one of the application programs in the application storage unit 132. And executes a process of returning a response corresponding to this to the external device 200 side. However, it is necessary to prepare for the application before executing the command for the application.
  • the basic concept of the present invention is to simultaneously prepare a plurality of application programs, define an identifier for each application in the ready state, and apply commands to each command given from the external device 200 side. It is based on the idea that, by adding an identifier, one of a plurality of applications that are ready at the same time is specified, and the specified command is processed by the specified application program. is there. As described above, in order to maintain the simultaneous preparation state of a plurality of applications, the present invention secures separate work areas for each application in the work data storage unit 134, and The authentication result for each application is stored in the area.
  • (1) and (2) are preparation commands (OS commands) for putting each application program into a ready state
  • (3) to (8) are for each application program.
  • (9) and (10) are processing execution commands (application commands) for executing predetermined processing using individual application programs.
  • the relocation programs AP1, AP2, and AP3 are stored.
  • AP1 is a hospital consultation card application
  • AP2 is a financial account application
  • AP3 is a gas station.
  • this IC card 100 will be used for three purposes: a consultation card, a financial account card, and a service card at a gas station.
  • the user of this IC card 100 writes the medical record on the IC card as a medical examination card at the hospital counter, and uses the IC card as a financial account card to reduce the medical expenses.
  • the conventional IC force after connecting the IC force to the external device installed at the window of the hospital, first, select the application program for the examination card from the external device to the IC force. After selecting the examination card application and executing the process of writing the medical record, the selection command for selecting the financial account application program from the external device to the IC card is provided. In this case, the financial account application is selected and the payment information of the medical expenses is written. Then, every time each selection command is given, it is necessary to perform the authentication process specified for each application.
  • preparation commands (1) and (2) are given, and two applications AP 1 and AP 2 required for a series of processes are prepared simultaneously.
  • the authentication commands (3) to (5) for application AP 1 and the authentication commands (6) to (8) for application AP 2 are given, and the authentication processing for both these applications is performed.
  • the result is stored in the work data storage section 134.
  • the application API and AP 2 are already ready and authenticated at the same time. Therefore, predetermined processing execution commands (9) and (10) may be given to individual applications, and predetermined processing may be executed by each application program.
  • the advance command (1) is a command name “PREPARE” that indicates that the command is a preparation command, information (for example, application name) that specifies an application API (application for a medical examination card), and this specification And the unique identifier “Chl” to be assigned to the application program.
  • the processing execution unit 120 sets an application work area for storing work data for the specified application program in the work data storage unit 134.
  • the information that defines the correspondence between the specified application program and the unique identifier to be assigned to the specified application program and the information that identifies the secured application work area are stored in the 0S work area. By storing the information, the process for making the specific application program usable is performed.
  • a work area for AP 1 is secured in the work data storage section 134 as a work area of the application AP 1 as shown in FIG. You. Further, the OS work area in the work data storage section 134 (as described above, in the environment preparation stage of the communication session performed immediately after connecting the IC card 100 to the external device 200). Already defined), information that defines the correspondence between application AP1 and the unique identifier “Ch1” to be assigned to it, and information identifying the secured AP1 work area are written Will be. Similarly, when the preparation command (2) is given, a work area for AP2 is secured in the work data storage section 134 as a work area for the application AP2.
  • the application program AP1 corresponds to the identifier “Ch l”.
  • the head address of the area and the size of the area are stored.
  • the start address “Ad dl 2” of the work area for the application AP 1 (the start address of the area secured in the work data storage unit 134) and the size of the area “ The work area for AP 1 is specified by “2 kB”.
  • the information shown in FIG. 3 (b) is the same information regarding application AP2.
  • the preparation commands (1) and (2) After all, by executing the preparation commands (1) and (2), two application work areas (a work area for AP 1 and a work area for AP 2) are stored in the work data storage unit 134 shown in FIG.
  • the work area for AP 3 shown in Fig. 1 is not secured in the operation example shown in Fig. 2), and the information shown in Fig. 3 is stored in the work area for OS. .
  • the two applications AP I and AP 2 are simultaneously available.
  • the preparation command in the present invention is different from the selection command used in the conventional IC card, and makes a plurality of application programs available at the same time. Can be. However, to use each application program effectively, it is necessary to go through the following authentication process.
  • the authentication commands (3) to (8) shown in Fig. 2 are authentication commands generally used in conventional IC cards, and the actual authentication processing executed by these commands is performed by conventional IC cards. This is the same as the authentication processing that has been performed.
  • the feature of the authentication command according to the present invention is that a specific identifier is included in the command, and the specific application program to be subjected to the authentication process is specified by the specific identifier. Is a point.
  • each of the authentication commands (3) to (5) includes an identifier “C hl”, indicating that these authentication commands are commands for the application program AP1.
  • Each of the authentication commands (6) to (8) includes an identifier "Ch2", which indicates that these authentication commands are commands for the application program AP2.
  • a plurality of application programs can be used at the same time.! Since the device is in the dog state, when an authentication command for an application is given, a plurality of application programs that are in the available state are used. You will need an identifier to identify one.
  • the authentication command (3) is a password given from the external device 200 (data “Password” included in the command) if ⁇ the application AP 1 recorded on the IC card 100
  • This is a command to confirm whether the password matches the password (stored in the user data UD1 in the user data storage unit 133) and execute the authentication process according to this authentication command.
  • the authentication result obtained by is written in the work area for AP1. Specifically, the result of the match / mismatch of the passcodes (if more than one password is stored in the IC card 100 side, the result indicating which of the passcodes matches) is used for authentication. Stored as a result.
  • authentication commands (4) and (5) perform one authentication process using two commands.
  • the authentication command (4) is a command requesting that an arbitrary random number be generated inside the IC card 100 and returned to the external device 200 as a response.
  • the processing execution unit 120 generates a random number for the application AP 1 according to the identifier “Ch 1” included in the command, and sends this to the external device 200 as a response. Perform return processing. At this time, the generated random number should be recorded somewhere (for example, in the API work area).
  • the external device 2 0 0 side encrypts this returned tongue L number according to a predetermined algorithm, the authentication command including the obtained encryption data "AuthDat a" (5), giving to the IC card 1 0 0 treatment I do.
  • “AuthData” in the authentication command (5) shown in Fig. 2 is the encrypted data created based on the random number obtained as the response to the authentication command (4).
  • the processing execution unit 120 Upon receiving the authentication command (5), the processing execution unit 120 includes the generated random number in an algorithm equivalent to the encryption performed on the external device 200 side (in the application program AP1). And verifies whether the result matches the encrypted data “AuthData” included in the authentication command (5). Of course, this authentication result is also written in the work area for AP1.
  • the authentication commands (3) to (5) the authentication process for the application API is performed, and the authentication result is stored in the work area for AP 1 in the work data storage unit 134.
  • the authentication commands (6) to (8) are the same authentication commands for application AP2, and the result of the authentication processing based on these authentication commands is the work for AP2 in work data storage unit 134. It will be stored in the area.
  • the authentication commands (3) to (5) for the application API are executed.
  • the power of executing the authentication commands (6) to (8) for application AP2 and for a specific application the condition of "executing the authentication command after executing the preparation command".
  • each of these commands can be freely changed as long as the conditions are satisfied.
  • the authentication command (6) may be executed immediately after the authentication command (3), or the authentication commands (3) to (5) may be executed immediately after the preparation command (1). It doesn't matter. Since each command includes an identifier, it is possible to identify which application the command is related to by using the identifier.
  • each process execution command should include an identifier for specifying the application that executes the command.
  • the process execution unit 120 executes the application work reserved for the application program. Referring to the authentication result stored in the area, it is determined whether or not the execution of the given process execution command can be permitted. If it is determined that the execution of the given processing execution command can be permitted, the application program is determined. A predetermined process is executed using.
  • the process execution unit 120 executes this command based on the application AP 1.
  • execution of the command may be permitted by referring to the authentication result (authentication result obtained by executing the authentication commands (3) to (5)) stored in the work area for AP1. Is determined. For example, if either authentication success or failure information is stored as the authentication result (specifically, In the case where information indicating whether the password matches or does not match is recorded), it is determined that the execution of the command can be permitted only when the information indicating successful authentication is stored. . If the judgment is affirmative, the command is executed and a corresponding response is returned. If the judgment is negative, a response indicating an error is returned.
  • the processing execution command (9) is a command for reading the data of the record “Record 2” in the file “File 3”, and the corresponding command in the user data UD 1 in the user data storage unit 133 The data is read out and returned to the external device 200 as a response.
  • the process execution unit 120 executes this command based on the application AP 2.
  • the processing execution command (10) is a command for updating the record “Record 1” in the file “File 2” to the data read immediately before, and is executed by the processing execution command (9).
  • the content of the corresponding record in the user data UD2 in the user data storage unit 133 is rewritten by the read data, and a response indicating the rewriting is returned to the external device 200 side. become.
  • the medical record is written in the IC card as a consultation force at a hospital window, and the medical treatment cost is also made using the IC card as a financial account force.
  • both the medical examination application AP1 and the financial account application AP2 can be used and the authentication completed state, either identifier can be used for identification.
  • the desired Ab It is possible to execute a desired process on the relocation.
  • FIG. 2 shows an example in which two processing execution commands (9) and (10) are given. However, if the processing execution command is for the application API and AP 2, In addition, many commands can be given continuously.
  • a first password that grants only the right to read data For example, a first password that grants only the right to read data, a second pass that grants the right to read and append data, and a third pass that grants all the rights, including rewriting data. It is possible to store different authentication results depending on which password is used to execute the authentication command. In this case Then, when the authentication is performed by the first password, the authentication result that the data can be read only is written, and when the authentication is performed by the second password, the authentication is performed. Write an authentication result indicating that data can be read and data can be added, and write an authentication result indicating that all processing is possible when authentication is performed with a third password. What should I do? The example shown in Fig.
  • FIG. 4 shows an example in which information indicating a list of commands that can be executed by each application program subject to authentication is stored in the work area for abbreviation as the authentication result.
  • the work area for application AP1 contains “READ RECORD (command to read one record data)”, “UPDATE RECORD (command to update one record data)”, and “WRITE RECORD (one record data command)”.
  • the processing execution unit 120 The contents of the application program AP1 stored in the application storage unit 132 may be checked, and a work area for AP1 having a size corresponding to this program may be secured. Specifically, a variable definition statement or an array declaration statement in a program may be recognized, and the required size may be determined by a predetermined algorithm according to the variables and arrays used.
  • the portable information recording medium of the present invention while ensuring the security of each application sufficiently, a series of cooperation is performed while switching a plurality of applications in the same communication session. It will be impossible to process smoothly. Therefore, the portable information recording medium according to the present invention is suitable for applications in which a plurality of different ablation programs are operated on one and the same IC card for financial business processing, credit sales business processing, medical business processing, and the like. It is optimal and can be used in various industrial fields.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Description

明 細 書 携帯可能情報記録媒体 技 術 分 野
本発明は携帯可能情報記録媒体に関し、 特に、 必要に応じて外部装置と接続 し、 この外部装置との間でコマンドおよびレスポンスのやりとりを行うことに より、 記録対象となるユーザデータを内部に記録するとともに種々の処理を行 う機能をもつた携帯可能情報記録媒体に関する。 背 景 技 術
近年、 半導体回路の集積化の進歩とともに、 携帯可能情報記録媒体の情報記 録容量も飛躍的に向上してきており、 特に、 I Cカードをはじめとする C P U を内蔵した携帯可能情報記録媒体は、 今後も様々な分野での需要が期待されて いる。 たとえば、 C P U内蔵型の I Cカードの場合、必要に応じて外部装置 (リ 一ダライタ装置) と接続され、 この外部装置との間でコマンドおよびレスボン スをやりとりすることにより所定の処理を実行する機能を有している。 どのよ うなコマンドを与えると、 I Cカード内部でどのような処理が実行されるかは、 I C力一ドに組み込まれた 0 Sプログラムおよびアプリケ一ションプログラム によって定まるため、 通常、 個々の用途に応じた処理機能を有する専用のアブ リケ一シヨンプログラムが I Cカード内に組み込まれる。 たとえば、 同一の I Cカードを、 病院の診察カードとして利用するとともに、 金融口座用カードと して利用する場合であれば、 診察カード用アプリケーションプログラムと、 金 融口座用アプリケーションプログラムとの双方が、 当該 I Cカードに組み込ま れることになる。 このように、 最近では、 I Cカードに内蔵されるメモリ容量 も飛躍的に向上してきたため、 複数のアプリケ一ションプログラムを予め組み 込んだ多用途向けの I cカードが一般化してきている。 また、 発行後に、 必要 に応じて新たなアプリケーションプログラムを追加する機能を備えた I C力一 ドも広く利用されている。 たとえば、 特開平 1 0— 7 9 0 0 0号公報には、 ノ 一ジヨンアツプなどのためにプログラムを追加する機能をもった I C力一ドが 開示されている。
C P Uを内蔵した携帯可能情報記録媒体の大きな特徴は、 高度なセキユリテ ィの確保が可能になるという点である。 たとえば、 現在普及している一般的な I Cカー ドの場合、 I Cカードを外部装置と接続して、 両者間での交信セッシ ヨンを開始する際に、 認証処理が実行される。 通常は、 外部装置からの認証デ —タを伴う認証コマンドを受けて、 I cカード内部で与えられた認証データの 当否を判定し、 その結果を I Cカー ドの内部メモリに格納する、 という認証段 階が実行される。 外部装置から与えられる認証データによっては、 I Cカード 内に格納されたデータの読み出しのみが許可される場合、 新たなデータの追記 のみが許可される場合、 既存のデータの書換えまでもが許可される場合、 など、 様々な認証結果が得られることになる。 そこで、 通常は、 交信セッションの開 始時点において、 上述した認証処理を実行し、 認証結果を I Cカード内のメモ リに格納しておき、 外部装置側から種々のコマンドが与えられたときに、 メモ リに格納されている認証結果を参照して、 与えられたコマンドの実行が許可さ れぅるものであるか否かを判定し、 許可されうるものと判定された場合にのみ、 当該コマンドが実行されるような構成がとられる。 認証結果を格納するメモリ としては、 R A Mなどの揮発性メモリが用いられ、 1回の交信セッションが完 了して外部装置と切り離された時点で、 認証結果は I Cカード内から消まされ る。 このように、 認証処理は、 各交信セッションごとに行う必要があるため、 I Cカードを紛失したような場合でも、 十分なセキュリティを確保することが 可能になる。
上述したように、 I Cカードに代表される C P U内蔵型の携帯可能情報記録 媒体では、 用途に応じた複数のアプリケーションプログラムがィンス トールさ れるのが一般的になってきており、 今後も、 1枚の携帯可能情報記録媒体に組 み込まれるアプリケーションプログラムの数は、 益々増加してゆく傾向になる ものと予想される。 もちろん、 外部装置から与えるアプリケーション用コマン ドは、 インス ト一ルされている複数のアプリケーションプログラムのうちのい ずれか 1つのプログラムによって処理される。 そこで、 アプリケーション用コ マンドを与える際には、 事前に、 処理を行うアプリケーションプログラムを特 定するための準備が必要になる。 通常は、 特定のアプリケーションを選択する 情報を含むアプリケーション選択コマンドを与えることにより、 この準備力?行 われる。
たとえば、 診察カード用アプリケーションプログラムと、 金融口座用アプリ ケーションプログラムとの双方がィンストールされた I c力一ドを、 病院の窓 口で利用する場合には、 I cカードを病院の窓口に設置された外部装置に接続 した後、 外部装置から I cカードへ診察カード用アプリケ一ションプログラム を選択する旨の選択コマン ドを与えて、 当該アプリケーションを選択状態とし、 当該アプリケーションに固有の認証処理を行い、 その結果をメモリ (R AM) に格納する準備段階を行う必要がある。 こうして、 診察カード用アプリケ一シ ョンが選択された状態になった後は、 外部装置側から与えられる通常のコマン ドは、 すべて選択状態にある診察力一ド用アプリケーションによって処理され ることになる。 このとき、 個々のコマンドの実行の可否が、 メモリに格納され た認証結果に基づいて決定されることは上述したとおりである。
上述した多用途向けの I C力一ドなどにおいて、 高度なセキュリティを確保 するためには、 認証処理を個々のアプリケーションごとに行うようにしておく 必要がある。 このため、 従来の多用途向けの I Cカードなどでは、 新たにアブ リケーシヨンを選択するたびに、 当該選択アプリケーションについての認証処 理を行う必要がある。 たとえば、 病院の窓口において、 診察カードとしての I C力一ドに診療記録を書き込むとともに、 金融口座用カードとしての I C力一 ドを利用して診療費用の精算を行うような場合、 I Cカードを病院の窓口に設 置された外部装置に接続した後、 まず、 外部装置から I C力一ドへ診察カード 用アプリケーシヨンプログラムを選択する旨の選択コマンドを与えて、 診察力 一ド用アプリケーションを選択状態にして診療記録を書き込む処理を実行した 後、 続けて、 外部装置から I Cカードへ金融口座用アプリケーションプログラ ムを選択する旨の選択コマンドを与えて、 金融口座用アプリケ一ションを選択 状態にして診療費用の精算情報を書き込む処理を実行することになる。 このよ うに、 同一の交信セッションにおいて、 複数のアプリケーションを利用して、 一連の連携処理を進めるような利用形態は、 今後も益々増えてゆくものと予想 される。
しかしな力 ら、 従来の携帯可能情報記録媒体の場合、 アプリケーションを切 り替えるたびに選択コマンドを与え、 しかもその都度、 当該アプリケーション に関する認証処理を行う必要がある。 このため、 同一の交信セッションにおい て、 複数のアプリケーションを切り替えながら一連の連携処理を行おうとする と、 携帯可能情報言己録媒体内部の処理負荷および外部装置との間の通信負荷が 過大になるという問題が生じていた。
そこで本発明は、 個々のアプリケ一ションごとのセキュリティを十分に確保 しつつ、 同一の交信セッションにおいて、 複数のアプリケーションを切り替え ながら一連の連携処理をスムーズに行うことが可能な携帯可能情報記録媒体を 提供することを目的とする。 発 明 の 開 示
(1) 本発明の第 1の態様は、 必要に応じて外部装置と接続し、 この外部装 置との間でコマンドおよびレスポンスのやりとりを行うことにより、 記録対象 となるユーザデータを内部に記録するとともに種々の処理を行う機能をもった 携帯可能情報記録媒体において、
外部装置との交信を行う 1 〇部と、
0 Sプログラムを格納する 0 S格納部と、
複数のアプリケーションプログラムを格納するアプリケーション格納部と、 ユーザデータを格納するユーザデータ格納部と、
外部装置から与えられたコマンドを、 O Sプログラムまたはアプリケーショ ンプログラムに基づいて実行し、 実行結果をレスポンスとして外部装置へと返 す処理を行う処理実行部と、
処理実行部のための作業エリアとして利用され、 少なくとも O Sプログラム のための作業用データを格納する o s用作業領域を確保するための作業用デー タ格納部と、
を設け、
処理実行部が、
外部装置から、 特定のアプリケーションプログラムを指定する情報と、 指定 されたアプリケーションプログラムに付与すべき固有の識別子と、 を含んだ準 備コマンドが与えられたときに、 作業用データ格納部内に、 指定されたアプリ ケ一ションプログラムのための作業用データを格納するアプリケーション用作 業領域を確保し、 指定されたアプリケーションプログラムとこれに付与すべき 固有の識別子との対応関係を定義する情報と、 確保されたアプリケーション用 作業領域を特定する情報とを、 O S用作業領域内に格納することにより、 当該 特定のアプリケーションプログラムを利用可能状態とする処理を行い、
外部装置から、 識別子によつて指定されたアプリケーションプログラムに対 して所定の処理を実行させるための処理実行コマンドカ与えられたときに、 当 該アプリケーションプログラムのために確保されたアプリケーション用作業領 域を用いて、 当該アプリケーションプログラムにより所定の処理を実行するよ うにしたものである。 (2) 本発明の第 2の態様は、 上述の第 1の態様に係る携帯可能情報記録媒 体において、
処理実行部が、
外部装置から、 識別子によって指定されたアプリケーションプログラムに関 する認証を行うための認証コマンドが与えられたときに、 この認証コマンドに 応じた認証処理を実行し、 認証結果を当該アプリケーションプログラムのため に確保されたアプリケーション用作業領域に格納する処理を行い、
外部装置から、 識別子によつて指定されたアプリケーションプログラムに対 して所定の処理を実行させるための処理実行コマンドが与えられたときに、 当 該アプリケーションプログラムのために確保されたアプリケ一ション用作業領 域に格納されている認証結果を参照して、 与えられた処理実行コマンドの実行 が許可されうるものか否かを判定し、 許可されうるものと判定された場合には、 当該アプリケーションプログラムにより所定の処理を実行するようにしたもの である。
(3) 本発明の第 3の態様は、 上述の第 2の態様に係る携帯可能情報記録媒 体において、
外部装置から所定のアプリケーションプログラムに関する認証コマンドが与 えられたときに、 処理実行部が、 当該アプリケーションプログラムによって実 行が許可されうるコマンドのリストを示す情報を、 認証結果としてアプリケー ション用作業領域に格納するようにしたものである。
(4) 本発明の第 4の態様は、 上述の第 1〜第 3の態様に係る携帯可能情報 記録媒体において、
作業用デ一タ格納部内に確保されたアプリケ—ション用作業領域を特定する 情報として、 当該領域の先頭アドレスと当該領域のサイズと、 を O S用作業領 域内に格納するようにしたものである。
(5) 本発明の第 5の態様は、 上述の第 1〜第 4の態様に係る携帯可能情報 記録媒体において、
外部装置から ¾1備コマンドが与えられたときに、 処理実行部が、 アプリケー ション格納部に格納されているアプリケ一ションプログラムの内容を調査し、 調査結果に応じたサイズのアプリケ一ション用作業領域を確保するようにした ものである。
(6) 本発明の第 6の態様は、 上述の第 5の態様に係る携帯可能情報記録媒 体において、
アプリケ一ションプログラム内で用いられている変数および配列に関する情 報に基づいて、 当該アプリケ一シヨンプログラムのためのアプリケ一ション用 作業領域のサイズを決定するようにしたものである。
(7) 本発明の第 7の態様は、 上述の第 1〜第 6の態様に係る携帯可能情報 記録媒体において、
外部装置から新たに使用可能な識別子を照会する照会コマンドが与えられた ときに、 処理実行部が、 O S用作業領域を調査することによ り定義済または未 定義状態の識別子を認識し、 認識した識別子をレスポンスとして外部装置に返 す処理を行うようにしたものである。
(8) 本発明の第 8の態様は、 上述の第 1〜第 7の態様に係る携帯可能情報 記録媒体において、
◦ S格納部、 アプリケーション格納部、 ユーザデータ格納部を不揮発性メモ リによつて構成し、 作業用データ格納部を揮発性メモリによって構成するよう にしたものである。 図 面 の 簡 単 な 説 明
図 1は、 本発明の一実施形態に係る I Cカード 1 0 0を、 外部装置 2 0 0に 接続した状態を示すプロック図である。
図 2は、 外部装置から本発明に係る I C力一ドへ与えられる一連のコマンド 例を示す図である。
図 3は、 図 2に示す準備コマン ド (1) , (2) の実行により、 O S用作業領域 に書き込まれた情報の一例を示す図である。
図 4は、 アプリケーション用作業領域に書き込む認証結果として、 実行が許 可されるコマンドのリストを用いた例を示す図である。
図 5は、 現時点で空いている識別子を照会するための照会コマンドと、 これ に応じたレスポンスの例を示す図である。 発明を実施するための最良の形態
以下、 本発明を図示する実施形態に基づいて説明する。 なお、 本発明は一般 的な携帯可能情報記録媒体に広く適用可能であるが、 ここでは最も一般的な携 帯可能情報記録媒体である I Cカードに本発明を適用した例を述べることにす
Ό o
< < < § 1 . 本発明に係る I Cカードの基本構成 〉> >
図 1は、 本発明の一実施形態に係る I Cカード 1 0 0 (携帯可能情報記録媒 体) を、 外部装置 2 0 0に接続した状態を示すブロック図である。 外部装置 2 0 0は、 一般に、 リ一ダライタ装置と呼ばれている装置であり、 通常は、 パソ コンなどに接続して利用される。 I Cカード 1 0 0には、 外部装置 2 0 0と交 信を行うための 1 0部 1 1 0と、 I Cカード内で種々の処理を実行する処理 実行部 1 2 0と、 種々のデータやプログラムを格納するメモリ部 1 3 0とが内 蔵されている。 I Cカード 1 0 0と外部装置 2 0 0との間の交信は、 コマンド およびレスポンスのやりとりによって行われる。 すなわち、 外部装置 2 0 0側 から所定のコマンドを I Cカード 1 0 0に対して送信すると、 このコマンドは、 i zo咅 m 1 0において受信されて処理実行部 1 2 0へと伝達される。 処理実 行部 1 2 0は、 このコマンドを解釈実行し、 処理結果をレスポンスとして I 0咅 15 1 1 0へと引き渡す。 こう して、 このレスポンスは、 I / O部 1 1 0から 外部装置 200へと送信されることになる。 処理実行部 1 20は、 メモリ部 1 30内に格納されているプログラムに基づいて、 与えられたコマンドの実行を 行い、 このコマンドの実行に伴い、 必要に応じて、 メモリ部 1 30内に格納さ れているデータへのアクセスを行うことになる。 図示のとおり、 メモリ部 1 3 0は、 0 S格納部 1 3 1、 アプリケーション格納部 1 32、 ユーザデータ格納 部 133、 作業用データ格納部 1 34の 4つの格納部によって構成されている。 もっとも、 これらの各構成要素は、 本発明を説明する便宜上、 機能面に着目 して捉えた構成要素であり、 実際のハードウエア上の構成要素に対応している ものではない。 実際には、 処理実行部 1 20は、 I Cカード内に埋め込まれた C PUやその他の論理装置によって実現される。 もちろん、 処理実行部 1 20 は、 C PUなどのハードウェア単独で実現できる構成要素ではなく、 メモリ咅 15 1 30内に格納されているプログラムに基づく動作が前提となって実現される 構成要素である。 また、 メモリ部 130は、 ROM, RAM, EEPROMな どのメモリによって実現されることになる。 ここに示す実施形態の場合、 OS 格納部 13 1は R 0 M、 アプリケーション格納部 1 32およびユーザデ一タ格 納部 1 33は E E P ROM, 作業用データ格納部 1 34は RAMによって実現 されている。 本発明を実施する上でのメモリ構成は、 必ずしもこの実施形態の とおりでなくてもかまわないが、 電源を内蔵しない一般的なタイプの携帯可能 情報記録媒体の場合 (別言すれば、 外部装置 200と接続されたときに、 外部 装置 200側から電源供給を受けるタイプの携帯可能情報記録媒体の場合)、 OS格納部 1 3 1、 アプリケ一ション格納部 1 32、 ユーザデータ格納部 1 3 3は、 外部装置 200と切り離された後もデータを保持できるように不揮発性 メモリにしておく必要がある。 また、 少なくとも、 ユーザデータ格納部 133 については、 書換えが可能な不揮発性メモリ (EEPROM) にしておく必要 がある。 実用上は、 アプリケーション格納部 1 32も、 書換え可能な不揮発性 メモリ (EEPROM) としておき、 必要に応じて、 新たなアプリケーショ ン プログラムをィンストールすることができるようにしておくのが好ましい。 一 方、 作業用データ格納部 1 34は、 セキュリティを確保する上で、 書換え可能 な揮発性メモリ (RAM) にしておくようにする。 このような構成にしておけ ば、 I Cカード 1 00を外部装置 200から切り離して携帯している状態では、 作業用デ—タ格納部 1 34内のデータのみが消去された状態となる。
続いて、 メモリ部 1 3 0を構成する各格納部に格納される情報について説明 する。 まず、 OS格納部 1 3 1には、 この I Cカード 1 00の基本動作を記述 した 0 Sプログラム力 s格納される。 現在、 I Cカード用の OSプログラムとし ては、 J a v a C a r dや MU L T 0 Sなどが普及しており、 処理実行部 1 2 0は、 この osプログラムに基づいて基本的な動作を行うことになる。 これに 対して、 アプリケーション格納部 1 3 2には、 複数のアプリケーションプログ ラムが格納される。 ここに示す実施形態の場合、 アプリケーション格納部 1 3 2は E E P R 0M内のメモリ領域に設けられており、 I Cカードの発行後に、 任意にアプリケ一ションプログラムを追加することができる仕様となっている。 図 1に示す例では、 3つのアプリケーションプログラム A P 1, AP 2 , A P 3が既に格納された状態が示されている。 ユーザデータ格納部 1 33は、 この I Cカード 1 00の所有者であるユーザに関する個人データや取引データなど、 この I Cカード 1 00に記録すべき対象となるユーザデータ (I Cカードの発 行者に関するデータも含む) が格納される。 図示の例では、 アプリケーション プログラム A P 1, AP 2, AP 3のそれぞれに利用されるユーザデータ UD 1, UD2, UD 3力別個独立して格納された状態力示されている。 もちろん、 図示の例では示されていないが、 この他に、 複数のアプリケーションで共通し て利用される共通ュ一ザデ一タを格納するようにしてもかまわない。
また、 作業用データ格納部 1 34は、 処理実行部 1 20のための作業エリア として利用される領域である。 処理実行部 1 2 0は、 外部装置 2 00から与え られたコマンドが〇 S用コマンドであった場合には、 OS格納部 1 3 1内の〇 Sプログラムに基づいてこれを実行し、 外部装置 2 0 0から与えられたコマン ドがァプリケ一シヨ ン用コマンドであつた場合には、 アプリケ一ション格納部 1 3 2内の所定のアプリケ一ションプログラムに基づいてこれを実行し、 それ ぞれ実行結果をレスポンスとして外部装置 2 0 0へと返す処理を行う。 いずれ の場合にも、 作業用データ格納部 1 3 4カ作業エリアとして利用される。 後述 するように、 処理実行部 1 2 0が O Sプログラムを実行する際には、 作業用デ 一夕格納部 1 3 4内の O S用作業領域が作業エリアとして利用され、 処理実行 部 1 2 0が所定のアプリケーションプログラムを実行する際には、 作業用デ一 タ格納部 1 3 4内の当該アプリケ一ション用に確保されたアプリケ―ション用 作業領域が作業エリアとして利用されることになる。 ここで、 o s用作業領域 は、 I Cカード 1 0 0を外部装置 2 0 0に接続して交信セッションを開始した 時点の初期設定動作により、 作業用データ格納部 1 3 4内に自動的に確保され ることになる力 ?、 個々のアプリケーション用作業領域は、 後述するように、 外 部装置 2 0 0側から準備コマンドを与えることにより、 確保されることになる。 < < < § 2 . 本発明に係る I Cカードの基本動作 >〉>
続いて、 図 1に示す I Cカードの基本動作についての説明を行う。 I Cカー ド 1 0 0は、 代表的な携帯可能情報記録媒体であり、 通常は、 ユーザによって 携帯されることになる。 上述したように、 この実施形態では、 I Cカード 1 0 0への電源供給は外部装置 2 0 0側から行われるため、 携帯時には I Cカード 1 0 0への電源供給は行われていないが、 O S格納部 1 3 1、 アプリケーショ ン格納部 1 3 2、 ユーザデータ格納部 1 3 3は不揮発性メモリによって構成さ れているため、 これらの各格納部に記録されたデータは失われることはない。 一方、 作業用データ格納部 1 3 4は揮発性メモリ (R AM) によって構成され ているため、 携帯時には、 作業用データ格納部 1 3 4内のデータは失われた状 態となる。
前述した例のように、 病院の窓口で診療記録を行ったり、 金融口座に関する 精算を行ったりする際には、 この I Cカード 1 0 0を外部装置 2 0 0に接続し て、 両者間での交信を行うことになる。 交信開始時には、 外部装置 2 0 0側か ら I Cカード 1 0 0へと電源供給が行われ、 I Cカード 1 0 0側の C P Uにリ セッ トがかかり、 処理実行部 1 2 0は、 O S格納部 1 3 1に格納されている 0 Sプログラムの初期ルーチンを実行して、 交信セッションのための環境を整え る作業を行う。 作業用データ格納部 1 3 4内の O S用作業領域は、 この時点で 確保されることになる。 こうして、 交信セッションを行うための環境が整備さ れたら、 以後は、 外部装置 2 0 0側からコマン ドを与えると、 I Cカード 1 0 0側からこれに応じたレスポンスが返ってくる、 という相互交信が繰り返され ることになる。 1回の交信セッションが完了したら、 I Cカー ド 1 0 0は、 夕 部装置 2 0 0から切り離され、 再び、 ユーザによって携帯されることになる。 このとき、 揮発性メモリ (R A M) からなる作業用データ格納部 1 3 4の内容 はすべて失われる。 上述したように、 作業用データ格納部 1 3 4内には、 認証 結果が記録されることになる力 ?、 この認証結果は各交信セッシヨンごとにクリ ァされることになり、 セキュリティを確保する上では都合がよい。
処理実行部 1 2 0は、 外部装置 2 0 0側からコマンドが与えられると、 当該 コマンドが 0 S用コマンドである場合には、 O S格納部 1 3 1内の O Sプログ ラムに基づいてこれを実行し、 これに応じたレスポンスを外部装置 2 0 0側へ 返す処理を行い、 当該コマンドがアプリケーション用コマンドである場合には、 アプリケ一ション格納部 1 3 2内のいずれかのアプリケーションプログラムに 基づいてこれを実行し、 これに応じたレスポンスを外部装置 2 0 0側へ返す処 理を行う。 ただし、 アプリケーション用コマンドを実行する際には、 前もって 当該アプリケーションについての準備を行う必要がある。
従来の一般的な I Cカードの場合、 特定のアプリケ一ションについての準備 は、 外部装置 2 0 0側から当該特定のアプリケーションを選択する選択コマン ドによって行われていた。 このような選択コマンドによる従来の準備方法では、 いずれか 1つのアプリケーションプログラムしか準備状態にすることができず- 別なアプリケーションプログラムに切り替える際には、 新たな選択コマンドを 与える必要がある。 しかも前述したように、 アプリケーションを切り替えるた めに新たな選択コマンドを与えた場合、 その都度、 当該アプリケーションに関 する認証処理を行う必要があるので、 同一の交信セッションにおいて、 複数の アプリケーションを切り替えながら一連の連携処理を行おうとすると、 I C力 ード 1 0 0内部の処理負荷および外部装置 2 0 0との間の通信負荷が過大にな るという問題が'生じていた。
本発明の基本概念は、 複数のアプリケーションプログラムを同時に準備状態 にしておき、 この準備状態になっている個々のアプリケーションにそれぞれ識 別子を定義し、 外部装置 2 0 0側から与える個々のコマンドにそれぞれ識別子 を付加することにより、 同時に準備状態になっている複数のアプリケーション のうちの 1つを特定し、 特定されたアプリケーションプログラムによって、 与 えられたコマンドを処理させよう、 という考え方に基づく ものである。 このよ うに、 複数のアプリケーションの同時準備状態を維持するため、 本発明では、 作業用データ格納部 1 3 4内に、 個々のアプリケーションごとにそれぞれ別個 の作業領域を確保するようにし、 これら各作業領域内に各アプリケーションご との認証結果をそれぞれ格納しておくようにしている。
以下、 このような基本概念に基づく具体的な動作を、 図 2に示す一連のコマ ンド(1) 〜(10)を用いた例に基づいて説明する。 図示のコマンドのうち、 (1) , (2) は個々のアプリケーションプログラムを準備状態にするための準備コマン ド (O S用コマンド) であり、 (3) 〜(8) は個々のアプリケーションプログラ ムについての認証を行うための認証コマンド (アプリケーション用コマンド) であり、 (9) , (10)は個々のアプリケーションプログラムを用いて所定の処理 を実行させるための処理実行コマンド (アプリケーション用コマンド) である。 ここでは、 図 1に示すように、 アプリケーション格納部 1 3 2内に 3つのアブ リケ一シヨンプログラム A P 1, A P 2 , A P 3が格納されており、 説明の便 宜上、 A P 1が病院の診察カード用アプリケーション、 A P 2が金融口座用ァ プリケーシヨン、 A P 3がガソリンスタンドでのサービス用アプリケーション である例について、 以下の説明を行うことにする。 結局、 この I Cカード 1 0 0は、 診察カー ド、 金融口座用カード、 ガソリンスタンドでのサービスカード、 という 3つの用途に利用されることになる。
いま、 この I Cカード 1 0 0のュ一ザが、 病院の窓口において、 診察カード としての I C力一ドに診療記録を書き込むとともに、 金融口座用力一ドとして の I Cカードを利用して診療費用の精算を行う場合を考えてみる。 この場合、 従来の I C力一ドでは、 I C力一ドを病院の窓口に設置された外部装置に接続 した後、 まず、 外部装置から I C力一ドへ診察カード用アプリケーションプロ グラムを選択する旨の選択コマンドを与えて、 診察カード用アプリケーション を選択状態にして診療記録を書き込む処理を実行した後、 続けて、 外部装置か ら I C力一ドへ金融口座用アプリケーションプログラムを選択する旨の選択コ マンドを与えて、 金融口座用アプリケーションを選択状態にして診療費用の精 算情報を書き込む処理を実行することになる。 そして、 各選択コマン ドを与え るたびに、 各アプリケーションごとに定められた認証処理を行う必要がある。 これに対して本発明では、図 2に示されているように、まず、準備コマンド(1) , (2) を与え、 一連の処理に必要な 2つのアプリケーション A P 1 , A P 2を同 時に準備状態にした上で、 アプリケーション A P 1についての認証コマンド(3) 〜(5) およびアプリケーション A P 2についての認証コマンド(6) 〜(8) を与 え、 これら両アプリケーションについてのそれぞれの認証処理を行い、 その結 果を作業用データ格納部 1 3 4に格納する。 この状態では、 既に、 アプリケ一 シヨン A P I , A P 2が同時に準備完了かつ認証完了の状態となっている。 そ こで、 個々のアプリケーションに対して所定の処理実行コマンド(9) , (10)を 与え、 各アプリケーションプログラムにより所定の処理を実行させればよい。 図 2に示す準備コマン ド(1) , (2) は、 特定のアプリケーションプログラム を指定する情報と、 指定されたアプリケーションプログラムに付与すベき固有 の識別子と、 を含んでいる。 たとえば、 進備コマンド(1) は、 当該コマンドが 準備コマンドであることを示すコマンド名 「P R E P A R E」 と、 アプリケー シヨン A P I (診察カード用アプリケーション) を指定する情報 (たとえば、 アプリケーション名) と、 この指定されたアプリケーションプログラムに付与 すべき固有の識別子 「C h l」 と、 によって構成されている。 処理実行部 1 2 0は、 このような準備コマンドが与えられると、 作業用データ格納部 1 3 4内 に、 指定されたアプリケーションプログラムのための作業用デ一タを格納する アプリケーション用作業領域を確保し、 指定されたアプリケーションプログラ ムとこれに付与すベき固有の識別子との対応関係を定義する情報と、 確保され たアプリケーション用作業領域を特定する情報とを、 0 S用作業領域内に格納 することにより、 当該特定のアプリケーションプログラムを利用可能状態とす る処理を行う。
具体的には、 準備コマン ド(1) が与えられた場合、 作業用データ格納部 1 3 4内に、 アプリケーション A P 1の作業エリァとして、 図 1に示すように A P 1用作業領域が確保される。 そして更に、 作業用データ格納部 1 3 4内の O S 用作業領域 (前述したように、 I C力一ド 1 0 0を外部装置 2 0 0に接続した 直後に行われる交信セッションの環境整備段階において既に確保されている) に、 アプリケーション A P 1とこれに付与すべき固有の識別子 「C h 1」 との 対応関係を定義する情報と、 確保された A P 1用作業領域を特定する情報とが 書き込まれることになる。 同様に、 準備コマンド(2) が与えられた場合、 作業 用データ格納部 1 3 4内に、 アプリケーション A P 2の作業エリアとして、 A P 2用作業領域が確保される。 そして更に、 作業用データ格納部 1 3 4内の〇 S用作業領域に、アプリケーション A P 2とこれに付与すべき固有の識別子「C h 2」 との対応関係を定義する情報と、 確保された A P 2用作業領域を特定す る情報とカ?書き込まれることになる。
図 3は、 上述した準備コマンド(1) , (2) の実行により、 OS用作業領域に 書き込まれた情報の一例を示す図である。 図 3 (a) に示す情報は準備コマン ド (1) によって書き込まれた情報であり、 図 3 (b) に示す情報は準備コマンド(2) によって書き込まれた情報である。 この例では、 アプリケーションプログラム とこれに付与すべき固有の識別子との対応関係を定義する情報として、 識別子 とこれに対応するアプリケーションプログラムの先頭アドレスとが対応づけて 書き込まれている。 たとえば、 図 3 (a) の例では、 識別子 「C h l」 とァドレ ス 「Ad d l l」 (アプリケーション格納部 1 32内に格納されたアプリケー シヨンプログラム AP 1の先頭アドレス) とを対応づけて格納することにより、 アプリケーションプログラム AP 1が識別子 「Ch l」 に対応することが示さ れている。 また、 作業用データ格納部 134内に確保されたアプリケーション 用作業領域を特定する情報としては、 当該領域の先頭ァドレスと当該領域のサ ィズとが格納されている。 たとえば、 図 3 (a) の例では、 アプリケーション A P 1用作業領域の先頭アドレス 「Ad d l 2」 (作業用データ格納部 1 34内 に確保された領域の先頭アドレス) と、 当該領域のサイズ 「2 k B」 とによつ て、 A P 1用作業領域が特定されている。 図 3 (b) に示す情報は、 アプリケ一 シヨン A P 2に関する同様の情報である。
結局、 準備コマンド(1) , (2) の実行により、 図 1に示す作業用データ格納 部 1 34内に、 2つのアプリケ—ション用作業領域 (A P 1用作業領域と A P 2用作業領域:図 1に示されている A P 3用作業領域は、 図 2に示す動作例で は確保されない) が確保され、 OS用作業領域には、 図 3に示すような情報が 格納された状態となる。 このような準備コマン ドの実行により、 2つのアプリ ケーシヨン AP I, AP 2が同時に利用可能状態となる。 このように、 本発明 における準備コマンドは、 従来の I Cカードで用いられている選択コマンドと は異なり、 同時に複数のアプリケーションプログラムを利用可能状態にするこ とができる。 もっとも、 個々のアプリケーションプログラムを実質的に利用す るには、 次のような認証処理を経る必要がある。
図 2に示す認証コマンド(3) 〜(8) は、 従来の I Cカードにおいても一般に 利用されている認証コマンドであり、 これらのコマンドによって実行される認 証処理の実体は、 従来の I Cカードで行われていた認証処理と同じである。 た だ、 本発明における認証コマン ドの特徴は、 コマンド内に、 特定の識別子が含 まれており、 この特定の識別子によつて認証処理の対象となる特定のアプリケ ーシヨンプログラム力指定されている点である。たとえば、認証コマンド(3) 〜 (5) には、 いずれも 「C h l」 なる識別子が含まれており、 これらの認証コマ ンドがアプリケーションプログラム A P 1についてのコマンドであることが示 されており、 認証コマンド(6) 〜(8) には、 いずれも 「C h 2」 なる識別子が 含まれており、 これらの認証コマンドがアプリケーションプログラム A P 2に ついてのコマンドであることが示されている。 本発明では、 同時に複数のアブ リケーシヨンプログラムが利用可能;!犬態となっているため、 アプリケーショ ン 用の認証コマンドを与える場合には、 利用可能状態となっている複数のァプリ ケーションのうちの 1つを特定するための識別子が必要になる。
認証コマンド(3) は、 外部装置 2 0 0側から与えられたパスワード (コマン ドに含まれている 「Password」 なるデータ) ifヽ I Cカード 1 0 0側に記録さ れているアプリケーション A P 1に関するパスヮード (ユーザデータ格納部 1 3 3内のユーザデータ U D 1内に格納されている) と一致しているか否かを確 認するコマン ドであり、 この認証コマンドに応じた認証処理を実行することに より得られる認証結果が、 A P 1用作業領域内に書き込まれることになる。 具 体的には、 パスヮ一ドの一致/不一致の結果 (I Cカード 1 0 0側に複数のパ スヮードが格納されている場合には、 いずれのパスヮードと一致したかを示す 結果) が、 認証結果として格納される。
一方、 認証コマンド(4) , (5) は、 2つのコマン ドにより 1つの認証処理を 実行させるためのコマンド対である。 まず、 認証コマン ド(4) は、 I Cカー ド 1 0 0の内部で任意の乱数を発生させ、 これを外部装置 2 0 0側にレスポンス として返すことを要求するコマンドである。 処理実行部 1 2 0は、 このコマン ド内に含まれている識別子 「C h 1」 に応じて、 アプリケーション A P 1に関 して乱数を発生し、 これを外部装置 2 0 0側にレスポンスとして返す処理を行 う。 このとき、 発生させた乱数は、 いずれかの場所 (たとえば、 A P I用作業 領域内) に記録しておくようにする。 外部装置 2 0 0側では、 この返された舌 L 数を所定のアルゴリズムに従って暗号化し、 得られた暗号データ 「AuthData」 を含む認証コマンド(5) を、 I Cカード 1 0 0へと与える処理を行う。 すなわ ち、 図 2に示す認証コマンド(5) 内の 「AuthData」 は、 認証コマンド(4) のレ スポンスとして得られた乱数に基づいて作成された暗号データということにな る。 認証コマンド(5) を受け取った処理実行部 1 2 0は、 先程発生させた乱数 を、 外部装置 2 0 0側で行われた暗号化と同等のアルゴリズム (アプリケ一シ ヨンプログラム A P 1内に含まれている) によって暗号化し、 その結果が認証 コマン ド(5) 内に含まれていた暗号データ 「AuthData」 と一致するか否かを認 証する。 もちろん、 この認証結果も、 A P 1用作業領域内に書き込まれる。 かく して、 認証コマンド(3) 〜(5) の実行により、 アプリケーション A P I に関する認証処理が行われ、 認証結果が作業用データ格納部 1 3 4内の A P 1 用作業領域内に格納されることになる。 認証コマンド(6) 〜(8) は、 アプリケ —シヨン A P 2に関する同様の認証コマンドであり、 これらの認証コマンドに 基づく認証処理の結果は、 作業用データ格納部 1 3 4内の A P 2用作業領域内 に格納されることになる。 なお、 図 2に示す例では、 2つのアプリケーション についての準備コマン ド(1) , (2) を実行した後、 アプリケーション A P I に ついての認証コマン ド(3) 〜(5) を実行し、 続いて、 アプリケーション A P 2 についての認証コマン ド(6) 〜(8) を実行している力、 特定のアプリケーショ ンに関して 「準備コマン ドを実行した後に認証コマンドを実行する」 という条 件が満たされる限り、 これら各コマンドの順序は自由に変更することが可能で ある。 たとえば、 認証コマンド(3) の直後に、 認証コマン ド(6) を実行するよ うにしてもかまわないし、 準備コマンド(1) の直後に、 認証コマンド(3) 〜(5) を実行するようにしてもかまわない。 各コマンドには識別子が含まれているの で、 この識別子により、 各コマンドがいずれのアプリケーションに関するコマ ンドであるかを識別することが可能である。
こう して、 図 2の準備コマンド(1) , (2) および認証コマンド(3) 〜(8) が 完了すると、 2つのアプリケーション A P 1 , A P 2の準備処理および認証処 理カ完了したことになり、 両アプリケーションを利用する環境がすべて整った ことになる。 この状態になれば、 外部装置 2 0 0側から、 これら 2つのアプリ ケーシヨン用の処理実行コマンドを与え、 これを実行させることができる。 た だ、 複数のアプリケーションが同時に利用可能状態となっているため、 個々の 処理実行コマンドには、 当該コマンドを実行させるアプリケ一ションを特定す るための識別子を含ませておくようにする。 処理実行部 1 2 0は、 このように、 識別子によって指定されたアプリケーションプログラムに対して所定の処理を 実行させるための処理実行コマンドが与えられると、 当該アプリケーションプ ログラムのために確保されたアプリケーション用作業領域に格納されている認 証結果を参照して、 与えられた処理実行コマンドの実行が許可されうるものか 否かを判定し、 許可されうるものと判定された場合には、 当該アプリケーショ ンプログラムを用いて、 所定の処理を実行する。
たとえば、 図 2の処理実行コマンド(9) には、 「C h l」 なる識別子が含ま れているので、 処理実行部 1 2 0は、 このコマンドをアプリケ一シヨン A P 1 に基づいて実行する。 このとき、 まず、 A P 1用作業領域に格納されている認 証結果 (認証コマンド(3) 〜(5) の実行により得られた認証結果) を参照して、 当該コマンドの実行が許可されうるものか否かを判定する。 たとえば、 認証成 功か失敗かのいずれかの情報が認証結果として格納されていた場合 (具体的に は、 パスワードなどの一致か不一致かを示す情報が記録されていた場合) は、 認証成功なる情報が格納されていた場合に限り、 当該コマンドの実行が許可さ れうるものと判定することになる。 そして肯定的な判定がなされた場合には、 当該コマンドを実行してこれに応じたレスポンスを返し、 否定的な判定がなさ れた場合には、 エラーを示すレスポンスを返す。 具体的には、 処理実行コマン ド(9) は、 ファイル 「File 3」 内のレコード 「Record 2」 のデータを読み出す コマンドであり、 ユーザデータ格納部 1 3 3内のユーザデータ U D 1内の該当 データが読み出され、 レスポンスとして外部装置 2 0 0側に返されることにな
O o
一方、 図 2の処理実行コマン ド(10)には、 「C h 2」 なる識別子が含まれて いるので、 処理実行部 1 2 0は、 このコマンドをアプリケーション A P 2に基 づいて実行する。 このとき、 まず、 A P 2用作業領域に格納されている認証結 果 (認証コマン ド(6) 〜(8) の実行により得られた認証結果) を参照して、 当 該コマンドの実行が許可されうるものか否かを判定する。 そして肯定的な判定 がなされた場合にのみ、 当該コマンドの実行が行われる。 具体的には、 処理実 行コマン ド(10)は、 ファイル 「File 2」 内のレコード 「Record 1」 を直前に読 み出されたデータに更新するコマンドであり、 処理実行コマンド(9) によって 読み出されたデータによって、 ユーザデータ格納部 1 3 3内のユーザデータ U D 2内の該当レコ一ドの内容が書き替えられ、 書き替え成功を示すレスポンス が外部装置 2 0 0側に返されることになる。
このように、 本発明に係る I Cカードを利用すれば、 病院の窓口において、 診察力一ドとしての I Cカードに診療記録を書き込むとともに、 金融口座用力 ードとしての I Cカードを利用して診療費用の精算を行うような場合、 診察力 ―ド用アプリケーション A P 1 と、 金融口座用アプリケ一ション A P 2との双 方を利用可能状態、 かつ、 認証完了状態としておけば、 識別子でいずれかのァ プリケーシヨ ンを指定した処理実行コマンドを与えることにより、 所望のアブ リケ一シヨンに対して所望の処理を実行させることが可能になる。 図 2に示す 例では、 2つの処理実行コマン ド(9) , (10)を与えた例が示されているが、 ァ プリケ一シヨン A P I , A P 2についての処理実行コマンドであれば、 この後 にも、 多数のコマン ドを連続して与えることが可能になる。 しかも、 コマン ド の対象となるアプリケーションは、 識別子によつて指定することができ、 アブ リケーシヨン切り替え時には、 新たな認証処理を行う必要はない。 このように、 本発明に係る I Cカードによれば、 同一の交信セッションにおいて、 複数のァ プリケーシヨンを利用して、 一連の連携処理を進めるような利用形態をスムー ズに行うことができるようになる。
< < < § 3 . 本発明に係る携帯可能情報記録媒体の変形例 >〉>
これまで、 本発明を I Cカードに適用した基本的な実施形態を述べたが、 こ こでは、 本発明の変形例をいくつか述べておく。
(1) 上述したように、 本発明では、 外部装置から所定のアプリケーション プログラムに関する認証コマンドが与えられたときに、 処理実行部 1 2 0は、 この認証コマンドに基づく認証処理を実行し、 認証結果を当該アプリケーショ ンに関するアプリケーション用作業領域に格納し、 以後、 当該アプリケーショ ンに関する処理実行コマンドが与えられた場合には、 この認証結果を参照して、 当該コマンドの実行可否を決定することになる。 ここで留意すべき点は、 アブ リケーシヨン用作業領域に格納される認証結果は、 必ずしも 「認証成功か認証 失敗の 2通りの結果」 ではないという点である。 すなわち、 実用上は、 外部装 置 2 0 0側のもつアクセス権に応じて、 複数通りの認証結果を格納するように することができる。 たとえば、 データの読み出しの権限のみを与える第 1のパ スワード、 データの読み出しおよびデータの追記の権限を与える第 2のパスヮ ―ド、 データの書き替えも含めたすべての権限を与える第 3のパスヮ一ドなど を予め定めておき、 いずれのパスワードを用いた認証コマンドが行われたかに よって、 それぞれ異なる認証結果を格納することが可能である。 この場合であ れば、 第 1のパスワードによる認証が行われた場合には、 データの読み出しの みが可能である旨の認証結果を書き込むようにし、 第 2のパスヮードによる認 証が行われた場合には、 デ一タの読み出しおよびデータの追記が可能である旨 の認証結果を書き込むようにし、 第 3のパスワードによる認証が行われた場合 には、 すべての処理が可能である旨の認証結果を書き込むようにすればよい。 図 4に示す例は、 認証対象となった個々のアプリケ一ションプログラムによ つて実行が許可されうるコマンドのリストを示す情報を、 認証結果としてアブ リケ一シヨン用作業領域に格納した例を示す図である。 この例では、 アプリケ ーシヨン A P 1用作業領域には、 「READ RECORD ( 1 レコードデータの読み出 しコマンド)」、 「UPDATE RECORD ( 1 レコードデ一タの更新コマンド)」、 「WRITE RECORD ( 1 レコードデータの追記コマン ド)」 なる 3つのコマン ドを示す情報 が認証結果として格納されており、 アプリケーション A P 2用作業領域には、
「READ RECORD 」、 「UPDATE RECORD 」 なる 2つのコマンドを示す情報が認証結 果として格納されている。 このような実行可能コマンドリストを認証結果とし て格納しておくようにすれば、 任意の処理実行コマンドが与えられたときに、 当該コマンドの実行の可否を直ちに判定することカ可能になる。
(2) 本発明では、 特定のアプリケーションプログラムに関する準備コマン ドが与えられると、 作業用データ格納部 1 3 4内に、 当該アプリケーションに ついてのアプリケ一ション用作業領域が処理実行部 1 2 0によって確保される ことになる。 ただ、 確保すべき作業領域のサイズは、 通常、 個々のアプリケ— シヨンごとに異なり、 大きなサイズの作業領域が必要なアプリケーションもあ れば、 小さなサイズの作業領域ですむアプリケーショ ンもある。 そこで、 実用 上は、 処理実行部 1 2 0が、 アプリケ一ション格納部 1 3 2に格納されている 当該アプリケーションプログラムの内容を調査し、 調査結果に応じたサイズの アプリケ一ション用作業領域を確保するようにするの力 ?好ましい。 たとえば、 図 2に示す準備コマンド(1) が与えられた場合、 処理実行部 1 2 0は、 アプリ ケ一ション格納部 1 3 2に格納されているアプリケ一ションプログラム A P 1 の内容を調査し、 このプログラムに応じたサイズの A P 1用作業領域を確保す るようにすればよい。 具体的には、 プログラム内の変数の定義文や、 配列宣言 文などを認識し、 利用される変数および配列に応じて、 必要なサイズを所定の アルゴリズムで決定するようにすればよい。
(3) 上述の実施形態では、 識別子として、 「C h l」, 「C h 2」 のような 文字列を用いた例を示したが、 識別子は、 各アプリケーションごとにユニーク なものであれば、 どのようなデータを用いてもかまわない。 本発明を実施する 上では、 アプリケーションごとの認証コマンドや処理実行コマンドには、 必ず、 アプリケーションを特定するための識別子を含ませる必要があるので、 実用上 は、 できるだけ短いデータからなる識別子を用いるのカ 子ましい。 たとえば、 最大限、 4つのアプリケーションが同時に利用可能状態になるように設計され た I Cカードであれば、 「0 0丄 「0 1」, 「1 0」, 「1 1」 の 2ビッ トからな る識別子を用いるようにすれば足りる。
また、 本発明を実施する上では、 同時に利用可能状態となっている複数のァ プリケ一シヨンについては、 それぞれ互いに異なるユニークな識別子を付与す る必要がある。 そこで、 外部装置 2 0 0側から、 異なる複数のアプリケーショ ンに同一の識別子を付与するような準備コマンドが誤って発せられることがな いように、 準備コマンドに先立って、 照会コマンドを用いた照会が行えるよう にしておくの力 s好ましい。 すなわち、 外部装置 2 0 0から新たに使用可能な識 別子を照会する照会コマンド (〇s用コマンド) を与えることができるように しておき、 処理実行部 1 2 0は、 このような照会コマンドを受け取ったときに、 0 S用作業領域を調査することにより定義済または未定義状態の識別子を認識 し、 認識した識別子をレスポンスとして外部装置 2 0 0に返す処理を行うこと ができるようにしておけばよい。
図 5は、 このような照会コマンドと、 これに応じたレスポンスの具体例を示 す図である。 この例では、 照会コマン ドは、 「MANAGE CHANNNEL 」 なる文字列 からなる O S用コマンドである。 O S用プログラムの一部に、 このような照会 コマンドを処理するルーチンを用意しておけば、 処理実行部 1 2 0は、 このル 一チンに応じて、 上述した調査を実施し、 レスポンスを返す処理を行うこと力 できる。 図 5には、 定義済の識別子 (C h 1, C h 2 ) をレスポンスとして返 す例と、 未定義状態の識別子 (C h 3〜C h 8 : この例では、 識別子として C h 1〜C h 8の 8通りの識別子が予め用意されているという前提である) をレ スポンスとして返す例とが示されている。 外部装置 2 0 0は、 このようなレス ポンスを受け取った後、 このレスポンスの内容を考慮した上で、 既に定義済み の識別子を重複定義することのない正しい準備コマンドを与えることができる。
(4) 上述の実施形態では、 特定のアプリケーションに対する準備コマン ド を与えて当該アプリケ一ションを利用するための準備を行った上で、 当該アブ リケーシヨンに関する認証コマン ドを与えて認証処理を実行し、 この認証処理 の結果に基づいて当該アプリケーションに対する処理実行コマンドの実行の可 否を判定していた。 しかしながら、 処理実行に認証を行う必要がない利用形態 では、 必ずしも認証コマン ドを与える必要はなく、 準備コマンドにより準備が 完了したアプリケ一ショ ンに対しては、 直ちに処理実行コマンドを与えてこれ を実行させるようにしてもかまわない。
(5) 上述の実施形態における処理実行部 1 2 0は、 0 S格納部 1 3 1に格 納されている〇 Sプログラムか、 アプリケーション格納部 1 3 2に格納されて いるいずれかのアプリケ一ションプログラムに基づいて種々の処理を実行する。 ここで、 所定のアプリケーションプログラムを利用可能状態とするための ¾1備 コマンドは、 当該準備コマンドの対象となるアプリケーションプログラム自身 によって実行することはできないので、 通常は、 0 Sプログラムによって実行 することになる力 (場合によっては、 別なアプリケーションプログラムによつ て、 実行するようにしてもかまわない。)、 認証コマンドやその他の処理実行コ マンドは、 〇 Sプログラムによって実行しても、 アプリケーションプログラム により実行してもかまわない。 ただ、 一般的な I cカードの場合、 〇sプログ ラムは力一ド発行時に既に組み込まれている力 ?、 各アプリケーションプログラ ムは発行後に適宜追加する利用形態が採られることが多く、 0 Sプログラムに 比べて自由度が高い。 したがって、 実用上は、 認証コマンドやその他の処理実 行コマンドの実体的な処理部分は各アプリケーションプログラムにより実行さ せるようにし、 O Sプログラムは、 これらのコマンドを各アプリケーションプ ログラムに引き渡す役割を果たすように設計するのが好ましい。 産 業 上 の 利 用 可 能 性
以上のとおり、 本発明に係る携帯可能情報記録媒体によれば、 個々のアプリ ケ一ションごとのセキュリティを十分に確保しつつ、 同一の交信セッションに おいて、 複数のアプリケーションを切り替えながら一連の連携処理をスムーズ に行うこと力不可能になる。 したがって、 本発明に係る携帯可能情報記録媒体は、 金融業務処理、 信販業務処理、 医療業務処理などのために、 複数の異なるアブ リケーションプログラムを 1枚の同一 I Cカード上で動作させるような用途に 最適であり、 種々の産業分野で利用可能である。

Claims

請 求 の 範 囲
1. 必要に応じて外部装置 (2 00) と接続し、 この外部装置との間でコマ ンドおよびレスポンスのやりとりを行うことにより、 記録対象となるユーザデ 一夕 (UD 1〜UD 3) を内部に記録するとともに種々の処理を行う機能をも つた携帯可能情報記録媒体 (1 00) において、
外部装置 (2 00) との交信を行う 1 〇部 (1 1 0) と、
〇 Sプログラムを格納する 0 S格納部 (1 3 1) と、
複数のアプリケーションプログラム (AP 1〜AP 3) を格納するアプリケ ーション格納部 (1 3 2) と、
ユーザデータ (UD 1〜UD 3) を格納するユーザデータ格納部 ( 1 33 ) と、
外部装置 (2 00) から与えられたコマンドを、 前記〇 Sプログラムまたは 前記アプリケーションプログラム (AP 1〜AP 3) に基づいて実行し、 実行 結果をレスポンスとして外部装置へと返す処理を行う処理実行部 (1 2 0) と、 前記処理実行部 (1 20) のための作業エリアとして利用され、 少なくとも 前記 0 Sプログラムのための作業用データを格納する◦ S用作業領域を確保す るための作業用データ格納部 (1 34) と、
を備 、
前記処理実行部 (1 20) は、
外部装置 (2 00) から、 特定のアプリケーションプログラム (ΑΡ 1〜Α Ρ 3 ) を指定する情報と、 指定されたアプリケーションプログラムに付与すベ き固有の識別子 (C h i , C h 2) と、 を含んだ準備コマンドが与えられたと きに、 前記作業用データ格納部 (1 3 4) 内に、 指定されたアプリケーショ ン プログラムのための作業用データを格納するアプリケーション用作業領域を確 保し、 指定されたアプリケーションプログラムとこれに付与すベき固有の識別 子との対応関係を定義する情報と、 確保された前記アプリケーション用作業領 域を特定する情報とを、 前記 OS用作業領域内に格納することにより、 当該特 定のアプリケーションプログラムを利用可能状態とする処理を行い、
外部装置 (200) から、 識別子 (C h 1, C h 2) によって指定されたァ プリケーシヨンプログラム (AP 1〜AP 3) に対して所定の処理を実行させ るための処理実行コマンドが与えられたときに、 当該アプリケーションプログ ラムのために確保されたアプリケーション用作業領域を用いて、 当該アプリケ ーシヨンプログラムにより前記所定の処理を実行することを特徴とする携帯可 能情報記録媒体。
2. 請求項 1に記載の携帯可能情報記録媒体 (100) において、
処理実行部 (120) if
外部装置 (200) から、 識別子 (C h 1, C h 2) によって指定されたァ プリケ一シヨンプログラム (AP 1〜AP 3) に関する認証を行うための認証 コマンドが与えられたときに、 この認証コマンドに応じた認証処理を実行し、 認証結果を当該アプリケ一ションプログラムのために確保されたアプリケーシ ョン用作業領域に格納する処理を行い、
外部装置 (200) から、 識別子 (C h 1, C h 2) によって指定されたァ プリケーシヨンプログラム (AP 1〜AP 3) に対して所定の処理を実行させ るための処理実行コマンドカ与えられたときに、 当該アプリケーションプログ ラムのために確保されたアプリケーション用作業領域に格納されている認証結 果を参照して、 与えられた処理実行コマンドの実行が許可されうるものか否か を判定し、 許可されうるものと判定された場合には、 当該アプリケーションプ ログラムにより前記所定の処理を実行することを特徴とする携帯可能情報記録 媒体。
3. 請求項 2に記載の携帯可能情報記録媒体 (100) において、 外部装置 (200) から所定のアプリケーションプログラム (AP 1〜AP 3) に関する認証コマン ド力与えられたときに、 処理実行部 (1 20) 力 当 該アプリケーションプログラムによつて実行が許可されうるコマンドのリス ト を示す情報を、 認証結果としてアプリケーション用作業領域に格納することを 特徴とする携帯可能情報記録媒体。
4. 請求項 1〜 3のいずれかに記載の携帯可能情報記録媒体 (100) にお いて、
作業用データ格納部 (134) 内に確保されたアプリケーション用作業領域 を特定する情報として、 当該領域の先頭アドレス (Ad d l 2, Ad d 22) と当該領域のサイズと、 を 0 S用作業領域内に格納することを特徴とする携帯 可能情報記録媒体。
5. 請求項 1〜 4のいずれかに記載の携帯可能情報記録媒体 (100) にお いて、
外部装置 (200) から準備コマンドが与えられたときに、 処理実行部 (1 20) が、 アプリケーション格納部 (132) に格納されているアプリケーシ ヨンプログラム (AP 1〜AP 3) の内容を調査し、 調査結果に応じたサイズ のアプリケーション用作業領域を確保することを特徴とする携帯可能情報記録 媒体。
6. 請求項 5に記載の携帯可能情報記録媒体 (100) において、
アプリケーションプログラム (AP 1〜AP 3) 内で用いられている変数お よび配列に関する情報に基づいて、 当該アプリケーションプログラムのための アプリケーション用作業領域のサイズを決定することを特徴とする携帯可能情 報記録媒体。
7. 請求項 1〜 6のいずれかに記載の携帯可能情報記録媒体 (100) にお いて、
外部装置 (1 00) から新たに使用可能な識別子 (C h 3〜C h 8) を照会 する照会コマンドが与えられたときに、 処理実行部 (120) 力^ OS用作業 領域を調査することにより定義済または未定義状態の識別子を認識し、 認識し た識別子をレスポンスとして外部装置に返す処理を行うことを特徴とする携帯 可能情報記録媒体。
8. 請求項 1〜 7のいずれかに記載の携帯可能情報記録媒体において、
OS格納部 (1 3 1)、 アプリケーション格納部 (1 32)、 ユーザデータ格 納部 (133) を不揮発性メモリによって構成し、 作業用データ格納部 (1 3 4 ) を揮発性メモリによつて構成したことを特徴とする携帯可能情報記録媒体。
PCT/JP2002/012219 2001-11-27 2002-11-22 Support d'enregistrement d'informations portable WO2003046826A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/486,676 US7367047B2 (en) 2001-11-27 2002-11-22 Portable information recording medium
KR1020047005182A KR100948120B1 (ko) 2001-11-27 2002-11-22 휴대 가능 정보 기록 매체
EP02788638A EP1450299B1 (en) 2001-11-27 2002-11-22 Portable information recording medium
DE60237783T DE60237783D1 (de) 2001-11-27 2002-11-22 Tragbares informationsaufzeichnungsmedium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001-360284 2001-11-27
JP2001360284A JP4393733B2 (ja) 2001-11-27 2001-11-27 携帯可能情報記録媒体

Publications (1)

Publication Number Publication Date
WO2003046826A1 true WO2003046826A1 (fr) 2003-06-05

Family

ID=19171132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/012219 WO2003046826A1 (fr) 2001-11-27 2002-11-22 Support d'enregistrement d'informations portable

Country Status (8)

Country Link
US (1) US7367047B2 (ja)
EP (1) EP1450299B1 (ja)
JP (1) JP4393733B2 (ja)
KR (1) KR100948120B1 (ja)
CN (1) CN1288591C (ja)
DE (1) DE60237783D1 (ja)
TW (1) TWI272540B (ja)
WO (1) WO2003046826A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399846C (zh) * 2004-08-28 2008-07-02 乐金电子(中国)研究开发中心有限公司 移动通讯终端的数据访问方法
EP2093719A1 (en) * 2003-12-10 2009-08-26 Kabushiki Kaisha Toshiba Portable electronic device
JP2015222273A (ja) * 2009-10-30 2015-12-10 メドテック ディテクト、エル・エル・シー インプリントポリマー及びフォトクロミックスイッチ分子を用いて分析物を比色検出するための組成物、装置及び方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4125227B2 (ja) * 2003-12-25 2008-07-30 キヤノン株式会社 認証システム及び認証方法
KR20060081337A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 비밀키를 이용한 암호화 및 복호화 방법
JP4760150B2 (ja) * 2005-06-10 2011-08-31 コニカミノルタビジネステクノロジーズ株式会社 アプリケーション開発用プログラムおよび画像処理装置
JP4389854B2 (ja) * 2005-09-01 2009-12-24 株式会社カシオ日立モバイルコミュニケーションズ 電子機器、データ処理方法及びデータ処理プログラム
JP2007102559A (ja) * 2005-10-05 2007-04-19 Toshiba Corp 携帯可能電子装置
US20070204167A1 (en) * 2006-02-28 2007-08-30 Aladdin Knowledge Systems Ltd. Method for serving a plurality of applications by a security token
DE102006021382B4 (de) * 2006-05-08 2015-08-20 Giesecke & Devrient Gmbh Personalisierung von portablen Datenträgern
DE102006027200A1 (de) * 2006-06-12 2007-12-27 Giesecke & Devrient Gmbh Datenträger und Verfahren zur kontaktlosen Kommunikation zwischen dem Datenträger und einem Lesegerät
SG146551A1 (en) * 2007-03-29 2008-10-30 Toshiba Kk Portable electronic device and control method of portable electronic device
CN101785014B (zh) * 2007-08-24 2012-10-03 富士通株式会社 认证信息管理装置及其方法、认证装置及其方法
US8789753B1 (en) * 2008-03-28 2014-07-29 Oracle International Corporation Method for using and maintaining user data stored on a smart card
CN101727457B (zh) * 2008-10-30 2012-08-08 爱思开电讯投资(中国)有限公司 用于智能卡的数据库管理系统和方法
DE102009048240A1 (de) * 2009-10-05 2011-04-07 Giesecke & Devrient Gmbh Portabler Datenträger mit Zusatzfunktionalität
EP2482220A1 (en) * 2011-01-27 2012-08-01 SafeNet, Inc. Multi-enclave token
CN103578207B (zh) * 2012-07-20 2015-12-02 中国移动通信集团公司 一种数据处理方法、装置、系统及相关设备
JP2014200059A (ja) * 2013-03-15 2014-10-23 パナソニック株式会社 記録媒体
KR102460459B1 (ko) * 2015-02-27 2022-10-28 삼성전자주식회사 전자 장치를 이용한 카드 서비스 방법 및 장치
US11107047B2 (en) 2015-02-27 2021-08-31 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
CN111526152B (zh) 2016-08-12 2022-02-11 创新先进技术有限公司 一种认证方法、设备以及认证客户端
JP2018060455A (ja) * 2016-10-07 2018-04-12 大日本印刷株式会社 電子情報記憶媒体、コマンド処理方法、及びコマンド処理プログラム
CN112907239A (zh) * 2019-11-19 2021-06-04 恩智浦有限公司 非接触近场通信器件及其运行方法
US11921592B2 (en) * 2020-07-20 2024-03-05 Google Llc Restoration of a computing session

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161256A (en) 1988-08-26 1992-11-03 Kabushiki Kaisha Toshiba Method and system for allocating file area in memory area of ic card
US5452431A (en) 1991-10-30 1995-09-19 U.S. Philips Corporation Microcircuit for a chip card comprising a protected programmable memory
JPH10116329A (ja) * 1996-10-11 1998-05-06 Nec Telecom Syst Ltd 非接触カード及びその保持情報の格納方式
EP1065598A1 (de) 1999-06-24 2001-01-03 Siemens Aktiengesellschaft Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
JP2001147997A (ja) * 1999-11-19 2001-05-29 Hitachi Ltd Icカードおよびicカード取り扱いシステム
JP2001256460A (ja) * 2000-03-14 2001-09-21 Sharp Corp 1チップマイクロコンピュータ及びそれを用いたicカード

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68915186T2 (de) * 1988-03-09 1994-08-25 Toshiba Kawasaki Kk Tragbarer elektronischer Apparat.
JPH077317B2 (ja) * 1991-06-10 1995-01-30 松下電器産業株式会社 システム再起動装置
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
DE19739545C1 (de) * 1997-09-09 1999-01-07 Siemens Ag Chipkarte mit Speicher für anwendungsabhängig nachladbare Programme
JPH11120300A (ja) * 1997-10-09 1999-04-30 Fujitsu Ltd 可搬型カード媒体,可搬型カード媒体のメモリ空間管理方法,可搬型カード媒体の発行方法および可搬型カード媒体のプログラムデータ書込方法並びにメモリ空間管理プログラムが記録されたコンピュータ読取可能な記録媒体
JP3717031B2 (ja) * 1998-06-05 2005-11-16 富士通株式会社 電子マネー装置、方法、カード並びに電子マネー処理プログラムを記録したコンピュータ読取り可能な記録媒体
US6425522B1 (en) * 1998-07-23 2002-07-30 Hitachi, Ltd. IC card information processing system, and apparatus and cards for the same
TW460847B (en) * 1998-08-26 2001-10-21 Hitachi Ltd IC card, terminal apparatus and service management server
EP1258807A3 (en) * 2001-05-14 2005-11-02 Matsushita Electric Industrial Co., Ltd. Illegal access monitoring device, ic card, and illegal access monitoring method
US6832302B1 (en) * 2001-10-24 2004-12-14 At&T Corp. Methods and apparatus for detecting heap smashing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161256A (en) 1988-08-26 1992-11-03 Kabushiki Kaisha Toshiba Method and system for allocating file area in memory area of ic card
US5452431A (en) 1991-10-30 1995-09-19 U.S. Philips Corporation Microcircuit for a chip card comprising a protected programmable memory
JPH10116329A (ja) * 1996-10-11 1998-05-06 Nec Telecom Syst Ltd 非接触カード及びその保持情報の格納方式
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
EP1065598A1 (de) 1999-06-24 2001-01-03 Siemens Aktiengesellschaft Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür
JP2001147997A (ja) * 1999-11-19 2001-05-29 Hitachi Ltd Icカードおよびicカード取り扱いシステム
JP2001256460A (ja) * 2000-03-14 2001-09-21 Sharp Corp 1チップマイクロコンピュータ及びそれを用いたicカード

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1450299A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2093719A1 (en) * 2003-12-10 2009-08-26 Kabushiki Kaisha Toshiba Portable electronic device
CN100399846C (zh) * 2004-08-28 2008-07-02 乐金电子(中国)研究开发中心有限公司 移动通讯终端的数据访问方法
JP2015222273A (ja) * 2009-10-30 2015-12-10 メドテック ディテクト、エル・エル・シー インプリントポリマー及びフォトクロミックスイッチ分子を用いて分析物を比色検出するための組成物、装置及び方法

Also Published As

Publication number Publication date
EP1450299A4 (en) 2008-10-29
TW200300909A (en) 2003-06-16
CN1556967A (zh) 2004-12-22
DE60237783D1 (de) 2010-11-04
JP4393733B2 (ja) 2010-01-06
US20040199784A1 (en) 2004-10-07
TWI272540B (en) 2007-02-01
CN1288591C (zh) 2006-12-06
EP1450299B1 (en) 2010-09-22
KR20040053155A (ko) 2004-06-23
KR100948120B1 (ko) 2010-03-18
US7367047B2 (en) 2008-04-29
JP2003162698A (ja) 2003-06-06
EP1450299A1 (en) 2004-08-25

Similar Documents

Publication Publication Date Title
WO2003046826A1 (fr) Support d&#39;enregistrement d&#39;informations portable
US7392358B2 (en) Delivery of a message to a user of a portable data storage device as a condition of its use
JP3015377B2 (ja) Icカード
JP2007538344A (ja) ポータブル獣医療記録装置および使用方法
JP3110035B2 (ja) 携帯可能電子装置
JP3178881B2 (ja) 携帯可能電子装置
US20030225962A1 (en) Memory card and memory card system
JP2002304602A (ja) カード情報更新システム
JP3720113B2 (ja) 携帯可能情報記憶媒体、携帯可能情報記憶媒体システム、及び携帯可能情報記憶媒体のデータアクセス方法
JP7020969B2 (ja) 携帯可能電子装置、及びicカード
JPH11282991A (ja) Icカード
JPH09223075A (ja) Pcカード
JPH0264888A (ja) 携帯可能電子装置
JP3526287B2 (ja) 携帯可能電子装置及びそのデータ書込方法
JP3911153B2 (ja) マルチアプリケーションicカード及びその書き込み方法
JP2002024790A (ja) 情報処理システム、携帯可能電子装置、及びキー変更方法
JP2974144B2 (ja) 携帯可能電子装置
JP2856415B2 (ja) 携帯可能電子装置
JP2008123450A (ja) 記録媒体及びメモリアクセス可能な電子機器
JPH03224047A (ja) 携帯可能電子装置
JPS62159295A (ja) 携帯可能電子装置
JPS636690A (ja) 携帯可能電子装置
JPH01147686A (ja) 携帯可能電子装置
JPH03224082A (ja) 携帯可能電子装置
JPH03224083A (ja) 携帯可能電子装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 10486676

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2002788638

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20028184440

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020047005182

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2002788638

Country of ref document: EP