Electronic information storage medium, IC chip, IC card, data bulk update method and program

The electronic information storage medium addresses the inefficiency of multiple update commands by using a management table to facilitate simultaneous updates of data with the same tag across multiple records, enhancing the speed and efficiency of data updating processes.

JP2025068712AActive Publication Date: 2025-04-30DAI NIPPON PRINTING CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023178671
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-17
Publication Date
2025-04-30
Estimated Expiration
2043-10-17

AI Technical Summary

Technical Problem

Existing IC chip technologies require multiple update commands to be sent for each record when updating data with the same tag across multiple records, leading to inefficiencies in data updating processes.

Method used

An electronic information storage medium with a management table that registers association information between data with the same tag and their storage positions across multiple records, allowing for simultaneous updates using a bulk update command.

Benefits of technology

Enables bulk updates of data with the same tag across multiple records in a single operation, significantly reducing the time and commands required for data updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025068712000001_ABST
    Figure 2025068712000001_ABST
Patent Text Reader

Abstract

To provide an electronic information storage medium, an IC chip, an IC card, a data bulk update method, and a program capable of bulk updating data stored in each of a plurality of records.SOLUTION: An IC chip 1 holds a bulk update table that registers association information, and upon receiving, from an external device 2, a bulk update command including update data and a bulk update target tag that is assigned to the update data, identifies data in each of a plurality of records that has an identical tag assigned thereto based on the bulk update target tag included in the bulk update command and the association information registered in the bulk update table, and updates each of the identified data with the update data included in the bulk update command.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to the technical field of IC (Integrated Circuit) chips capable of storing a plurality of records for storing data. [Background technology]

[0002] Conventionally, as disclosed in Patent Document 1, for example, in order to write TLV format data stored in a record to an IC chip, multiple write commands are sent sequentially to the IC chip from the issuing terminal of the IC chip issuer (manufacturer). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 6556489 Summary of the Invention [Problem to be solved by the invention]

[0004] By the way, data with the same tag may be stored in multiple records in an IC chip. In this case, when it is desired to change (update) data with the same tag stored in these records, it is necessary to send update commands from the issuing terminal to the IC chip for the number of records storing the data, which causes a problem that it takes time to update each piece of data.

[0005] Therefore, the present invention has been made in consideration of these points and the like, and an example of an objective of the present invention is to provide an electronic information storage medium, an IC chip, an IC card, a data bulk update method, and a program capable of updating data stored in each of multiple records in a bulk. [Means for solving the problem]

[0006] In order to solve the above problem, the invention described in claim 1 is an electronic information storage medium that stores a plurality of records storing data to which a tag value is assigned, and in which each of any two or more of the records stores data to which the same first tag value is assigned, and is characterized in that it comprises: a storage means for storing a management table that registers an identifier of each of the records in which data to which the first tag value is assigned and a storage location of the data in each of the records, and correspondence information that corresponds to the first tag value; a receiving means for receiving a first command from an external device, the first command including update data and the first tag value assigned to the update data; an identification means for identifying data to which the first tag value is assigned in each of the records based on the first tag value included in the first command and the correspondence information registered in the management table; and an update means for updating each of the data identified by the identification means with the update data included in the first command.

[0007] The invention described in claim 2 is characterized in that, in the electronic information storage medium described in claim 1, each of any two or more of the records further stores data to which the same second tag value is assigned, the second tag value being different from the first tag value, and the management table further registers correspondence information that associates an identifier of each of the records in which the data to which the second tag value is assigned and a storage position of the data in each of the records with the second tag value, and the receiving means receives a second command including the update data and the first tag value or the second tag value assigned to the data, and the identification means refers to all of the first tag value or the second tag value included in the second command and the correspondence information in the management table.

[0008] The invention described in claim 3 is characterized in that in the electronic information storage medium described in claim 1, each of any two or more of the records further stores data to which the same second tag value is assigned, the second tag value being different from the first tag value, and the management table further registers correspondence information that associates an identifier of each of the records in which the data to which the second tag value is assigned and a storage position of the data in each of the records with the second tag value, the holding means pre-separates and manages an area in the management table for registering the correspondence information corresponding to the first tag value and an area for registering the correspondence information corresponding to the second tag value, the receiving means receives the update data and a second command including the first tag value or the second tag value assigned to the data, and the identifying means identifies the area corresponding to the first tag value or the second tag value included in the second command, and refers to the first tag value or the second tag value included in the second command, and the correspondence information in the identified area.

[0009] The invention described in claim 4 is characterized in that, in the electronic information storage medium described in claim 1, each of any two or more of the records further stores data to which the same second tag value is assigned, the second tag value being different from the first tag value, and the receiving means further comprises a registration means for receiving from the external device a third command including correspondence information that associates an identifier of the record in which the data to which the second tag value is assigned is stored with the second tag value, calculating a storage position of the data in the record based on the identifier and the second tag value included in the third command, and additionally registering in the management table the correspondence information that associates the identifier of the record in which the data to which the second tag value is assigned and the calculated storage position with the second tag value.

[0010] The invention described in claim 5 is characterized in that, in the electronic information storage medium described in claim 4, it further comprises a registration means for identifying an area in the management table that corresponds to the second tag value included in the command, and additionally registering in the identified area an identifier of the record in which data to which the second tag value is assigned and correspondence information that associates the calculated storage location with the second tag value.

[0011] The invention described in claim 6 is an IC chip that stores a plurality of records storing data to which a tag value is assigned, and in each of any two or more of the records, data to which the same first tag value is assigned is stored, and is characterized in that it comprises: a holding means for holding a management table that registers identifiers of each of the records in which data to which the first tag value is assigned and correspondence information that associates the storage location of the data in each of the records with the first tag value; a receiving means for receiving a first command from an external device, the first command including update data and the first tag value assigned to the update data; an identification means for identifying data to which the first tag value is assigned in each of the records based on the first tag value included in the first command and the correspondence information registered in the management table; and an update means for updating each of the data identified by the identification means with the update data included in the first command.

[0012] The invention described in claim 7 is an IC card that stores a plurality of records storing data assigned with a tag value, and in which data assigned with the same first tag value is stored in each of any two or more of the records, and is characterized in that it comprises: a holding means for holding a management table that registers identifiers of each of the records in which data assigned with the first tag value is stored and correspondence information that associates the storage location of the data in each of the records with the first tag value; a receiving means for receiving a first command from an external device, the first command including update data and the first tag value assigned to the update data; an identification means for identifying data assigned with the first tag value in each of the records based on the first tag value included in the first command and the correspondence information registered in the management table; and an update means for updating each of the data identified by the identification means with the update data included in the first command.

[0013] The invention described in claim 8 is a data bulk update method executed by an electronic information storage medium that stores a plurality of records storing data assigned with tag values, and in which data assigned with the same first tag value is stored in each of any two or more of the records, the method including the steps of: retaining a management table that registers correspondence information that associates each identifier of the record in which data assigned with the first tag value is stored and the storage location of the data in each of the records with the first tag value; receiving from an external device a first command including update data and the first tag value assigned to the update data; identifying data assigned with the first tag value in each of the records based on the first tag value included in the first command and the correspondence information registered in the management table; and updating each of the identified data with the update data included in the first command.

[0014] The invention described in claim 9 is characterized in that a computer included in an electronic information storage medium storing a plurality of records storing data assigned with tag values, with data assigned with the same first tag value being stored in each of any two or more of the records, is caused to execute the following steps: retaining a management table registering identifiers of each of the records in which data assigned with the first tag value is stored and a storage location of the data in each of the records, and association information correlating the first tag value; receiving from an external device a first command including update data and the first tag value assigned to the update data; identifying data assigned with the first tag value in each of the records based on the first tag value included in the first command and the association information registered in the management table; and updating each of the identified data with the update data included in the first command. Effect of the Invention

[0015] According to the present invention, data stored in a plurality of records can be updated collectively. [Brief description of the drawings]

[0016] [Figure 1] 2 is a diagram illustrating an example of a hardware configuration of an IC chip 1. FIG. [Diagram 2] FIG. 2 is a conceptual diagram showing an example of a record in a record storage area. [Diagram 3] FIG. 13 is a diagram showing an example of a WRITE RECORD command format for writing a record. [Figure 4] FIG. 13 is a diagram showing a first example of a batch update table. [Diagram 5] FIG. 13 is a diagram illustrating a second example of a batch update table. [Figure 6] FIG. 13 is a diagram illustrating an example of a WRITE BINARY command format. [Figure 7]FIG. 13 is a diagram showing a specific example of a byte sequence in a WRITE BINARY command for writing a batch update table. [Figure 8] FIG. 13 is a diagram illustrating an example of a PUT DATA command format for batch updating data that is the target of batch update. [Figure 9] FIG. 13 is a conceptual diagram illustrating an example of a record after updating in a record storage area. [Figure 10] 11 is a flowchart showing an example of a batch update process executed by a CPU 15 of the IC chip 1 in the first embodiment. [Figure 11] 13 is a flowchart showing an example of a batch update process executed by a CPU 15 of an IC chip 1 in the second embodiment. [Figure 12] 13 is a conceptual diagram showing an example of a record when a record is added to a record storage area. FIG. [Figure 13] 13 is a diagram showing a specific example of a byte sequence in a WRITE BINARY command for additionally registering association information. FIG. [Figure 14] FIG. 13 is a diagram showing a third example of a batch update table in which association information has been additionally registered. [Figure 15] FIG. 13 is a diagram showing a fourth example of a batch update table in which association information has been additionally registered. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0017] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

[0018] [1. Configuration and Function of IC Chip 1] First, the configuration and functions of an IC chip 1 according to this embodiment will be described with reference to Fig. 1. The IC chip 1 is an example of an electronic information storage medium of the present invention. The IC chip 1 is mounted on, for example, an IC card such as a credit card, a cash card, or a My Number card, or a mobile device such as a smartphone. In the case of a mobile device such as a smartphone, the IC chip 1 may be mounted on a small IC card that is detachable from the mobile device, or may be mounted on an embedded board as an eUICC (Embedded Universal Integrated Circuit Card) so that it cannot be easily removed or replaced from the mobile device.

[0019] FIG. 1 is a diagram showing an example of a hardware configuration of an IC chip 1. As shown in FIG. 1, the IC chip 1 includes an I / O circuit 11, a random access memory (RAM) 12, a nonvolatile memory (NVM) 13, a read only memory (ROM) 14, a central processing unit (CPU) 15 (an example of a computer), and a coprocessor 16 that performs cryptographic operations. The I / O circuit 11 serves as an interface with an external device 2. Note that communication between the IC chip 1 and the external device 2 may be non-contact communication or contact communication. In the case of non-contact communication, the IC chip 1 and the external device 2 communicate with each other via an antenna (not shown) mounted on an IC card or a mobile device, for example. Note that examples of the external device 2 include an issuing terminal in a factory before the shipment of the IC chip 1, and a store terminal (for example, a payment terminal) in a store or the like after the shipment of the IC chip 1.

[0020] For example, a flash memory is applied to the NVM 13. The NVM 13 may be an "Electrically Erasable Programmable Read-Only Memory". The NVM 13 or the ROM 14 stores an OS (Operating System) and programs such as applications (including the program of the present invention). Examples of applications include a settlement application used for settling a transaction target and an authentication application used for operating equipment. The NVM 13 also has a record storage area for writing (storing) multiple records (also called record data) and a table storage area for writing a batch update table (an example of a management table).

[0021] Here, a record stores one or more pieces of data configured in TLV (Tag, Length, Value) format. The Tag (tag value) represents the identifier (tag ID) of the data, the Length (length value) represents the size (data length) of the data, and the Value (value value) represents the content (content) of the data. In other words, data stored in a record can be said to be data with a tag attached (in other words, data with a tag). Examples of such data include personal information of application users, setting data that determines the operation of an application, key data required for encryption and decryption operations, and certificate data.

[0022] Furthermore, records are logically organized (in other words, stored) in a file (for example, an Elementary File (EF)) used by an application. One file can store multiple records. Each file is assigned an SFI (Short File Identifier), which is the file's identifier (file ID). Each record is assigned a record number (that is, a logical number in the file). The SFI and record number are examples of record identifiers. A record can be uniquely identified by specifying the SFI and record number.

[0023] FIG. 2 is a conceptual diagram showing an example of a record in a record storage area. In the example of FIG. 2, three records are shown, and each record is specified by an SFI and a record number. In addition, in the example of FIG. 2, among the records with record numbers "01(h:hexadecimal)" to "03(h)", data (Value "11(h)") to which the same Tag "DF02(h)" (an example of a first tag value) is assigned is stored in each of the records with record numbers "01(h)" and "03(h). In addition, in the example of FIG. 2, data (Value "01(h)" is also the same) to which the same Tag "DF03(h)" (an example of a second tag value) is assigned is stored in each of the records with record numbers "01(h)" to "03(h). Each record shown in FIG. 2 is written into the record storage area by a command APDU (Application Protocol Data Unit), such as a WRITE RECORD, APPEND RECORD, or STORE DATA command specified in ISO / IEC 7816.

[0024] Fig. 3 is a diagram showing an example of the format of a WRITE RECORD command for writing a record. The WRITE RECORD command shown in Fig. 3 is composed of a header section consisting of CLA (1 byte) indicating a command class, INS (1 byte) indicating a command code, P1 (1 byte) and P2 (1 byte) indicating command parameters, and a body section consisting of Lc (1 or 3 bytes) and Data (variable bytes). Here, INS stores a value "D2(h)" indicating the WRITE RECORD command, P1 stores the record number of the record to be written, and P2 stores the SFI of the file in which the record is stored. Also, Lc stores the data length of the record to be written, and Data stores the record.

[0025] In order to write the three records shown in Fig. 2 to the record storage area, it is necessary to transmit the WRITE RECORD command from the external device 2 to the IC chip 1 at least three times. In Fig. 3, when changing part of the record data, for example, data (Value "11(h)") with Tag "DF02(h)" (for example, changing to Value "12(h)"), conventionally, for example, the UPDATE RECORD command (update command) specified in ISO / IEC 7816 is transmitted from the external device 2 to the IC chip 1 at least three times. In this case, the data that is not changed (for example, data with Tag "DF01(h)") is also stored in Data of the UPDATE RECORD command.

[0026] In this embodiment, a bulk update table is held in the IC chip 1 in order to execute a single bulk update command to simultaneously update data having the same Tag stored in multiple records without sending multiple UPDATE RECORD commands as in the past. The bulk update table indicates the location in each record where the data to be bulk updated is stored. For example, the bulk update table may be stored in a file (e.g., EF) managed by the OS and stored in a table storage area.

[0027] FIG. 4 is a diagram showing a batch update table example 1. In the batch update table shown in FIG. 4, the number of pieces of association information (in this example, five pieces) of data to be batch updated, which associates the Tag (hereinafter, appropriately referred to as the "Tag to be batch updated") assigned to the data to be batch updated, the SFI, the record number, and the record offset (the storage position of the data in the record), is registered. Here, the SFI and the record number are an example of an identifier of the record in which the data to which the Tag is assigned is stored. In the example of FIG. 4, the first row (row 1) and the fourth row of the batch update table are association information corresponding to the Tag "DF02(h)", and the second, third, and fifth rows of the batch update table are association information corresponding to the Tag "DF03(h)". That is, in the batch update table shown in FIG. 4, association information corresponding to the Tag "DF02(h)" and association information corresponding to the Tag "DF03(h)" are mixed.

[0028] FIG. 5 is a diagram showing a batch update table example 2. In the batch update table shown in FIG. 5, an area R1 for registering association information corresponding to Tag "DF02(h)" and an area R2 for registering association information corresponding to Tag "DF03(h)" are managed separately in advance. For example, the areas R1 and R2 are assigned a certain range in advance, for example, when a table creation program is installed, so that the physical addresses in the table storage area are different. This can be said to be a batch update table T1 for registering association information corresponding to Tag "DF02(h)" and a batch update table T2 for registering association information corresponding to Tag "DF03(h)". It is preferable that the batch update table T1 and the batch update table T2 are stored in different files (i.e., files with different SFIs).

[0029] The batch update table is written to the table storage area by, for example, the WRITE BINARY or STORE DATA command specified in ISO / IEC 7816 after all records to be written in the issue process are written to the IC chip 1. FIG. 6 is a diagram showing an example of the WRITE BINARY command format for writing the batch update table. As shown in FIG. 6, in the WRITE BINARY command, INS stores a value "D0(h)" indicating the WRITE BINARY command, and P1 stores the SFI of the file in which the batch update table to be written is stored. P2 stores the offset (storage position) of the batch update table. Furthermore, Lc stores the data length of the elements of the batch update table to be written, and Data stores the elements of the batch update table. The elements of the batch update table correspond to the batch update target Tag, SFI, and record number.

[0030] FIG. 7 is a diagram showing a specific example of a byte sequence in a WRITE BINARY command for writing a batch update table. In the Data in the WRITE BINARY command shown in FIG. 7, five elements are stored: the Tag (2 bytes) of the data to be batch updated stored in the record shown in FIG. 2, the SFI (1 byte) of the file in which the record is stored, and the record number (1 byte) of the record. Note that the record offset, which is one of the elements of the batch update table, does not need to be stored in the Data in the WRITE BINARY command. This is because the record offset can be calculated in the IC chip 1 that received the WRITE BINARY command based on the element stored in the Data in the WRITE BINARY command and the Tag in the record in the record storage area. Then, the association information as shown in FIG. 2 is created for the number of data to be batch updated from the element stored in the Data in the WRITE BINARY command and the calculated record offset, and a batch update table in which the created association information is registered is written to the table storage area. Note that the batch update table may be stored in a file to which the SFI in P1 of the WRITE BINARY command is added.

[0031] The CPU 15 (an example of a computer) functions as a holding means, a receiving means, a specifying means, an updating means, a registering means, and the like in the present invention by executing the OS and applications stored in the NVM 13. More specifically, after all of the multiple records to be written are written to the IC chip 1, when the CPU 15 receives a WRITE BINARY command for writing a batch update table from the external device 2 (e.g., an issuing terminal) via the I / O circuit 11, the CPU 15 creates multiple pieces of association information as described above, and writes and holds the batch update table in which the created multiple pieces of association information are registered, in the table storage area.

[0032] Then, the CPU 15 receives a batch update command (an example of a first command) including update data and a batch update target Tag assigned to the update data from the external device 2 (for example, a store terminal) via the I / O circuit 11. Here, for example, the PUT DATA command defined in ISO / IEC 7816 can be applied to the batch update command. FIG. 8 is a diagram showing an example of a PUT DATA command format for batch updating the batch update target data. As shown in FIG. 8, in the PUT DATA command, a value "DA(h)" indicating the PUT DATA command is stored in INS, and a batch update target Tag (for example, DF02(h)) is stored in P1P2. Furthermore, the data length of the update data is stored in Lc, and the update data (for example, Value "12(h)") is stored in Data.

[0033] When the CPU 15 receives the batch update command, it identifies data in each of a plurality of records to which the same Tag (e.g., DF02(h)) has been assigned based on the batch update target Tag (e.g., DF02(h)) included in the batch update command and the correspondence information registered in the batch update table, and updates each of the identified data with the update data included in the batch update command. In this way, by executing a single batch update command, data with the same Tag stored in each of a plurality of records can be linked and batch updated.

[0034] Fig. 9 is a conceptual diagram showing an example of records after update in the record storage area. In the example of Fig. 9, by executing a batch update command (including the batch update target Tag "DF02(h)"), data (Value "11(h)") having the same Tag "DF02(h)" in each of the records with record numbers "01(h)" and "03(h)" shown in Fig. 2 is changed to update data (Value "12(h)"). Note that in order to update data (Value "01(h)") having the same Tag "DF03(h)" in each of the records with record numbers "01(h)" to "03(h)" shown in Fig. 2, it is sufficient to transmit the update data (for example, Value "02(h)") and the batch update target Tag "DF03(h)" to the IC chip 1 as a batch update command (an example of a second command).

[0035] [2. Bulk update operation of IC chip 1] Next, the batch update operation of the IC chip 1 according to this embodiment will be described in two parts, Example 1 and Example 2. Note that Examples 1 and 2 described below are examples after the shipment of the IC chip 1 into which a plurality of records and a batch update table have been written by an issuing terminal in a factory, for example.

[0036] Example 1 First, the batch update operation of the IC chip 1 in the first embodiment will be described with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the batch update process executed by the CPU 15 of the IC chip 1 in the first embodiment. In the first embodiment, the batch update table shown in Fig. 4 is used while the CPU 15 is executing the batch update process according to the OS or an application. The process shown in Fig. 10 is started when a PUT DATA command for batch updating the data to be batch updated is received from the external device 2 (e.g., a store terminal).

[0037] When the process shown in FIG. 10 is started, the CPU 15 acquires the batch update target Tag (e.g., DF03(h)) from P1P2 of the PUT DATA command, and acquires the update data (e.g., Value "02(h)") from Data of the PUT DATA command (step S1). Next, the CPU 15 identifies a batch update table stored in the table storage area (step S2). Next, the CPU 15 selects one piece of association information to be referenced from the batch update table identified in step S2 (step S3). For example, from the batch update table shown in FIG. 4, first, the association information in the first row is selected as the reference target.

[0038] Next, the CPU 15 refers to the association information selected in step S3 and judges whether or not the Tag in the association information matches the batch update target Tag (e.g., DF03(h)) acquired in step S1 (step S4). If it is judged that the Tag in the association information matches the batch update target Tag (e.g., DF03(h)) (step S4: YES), the process proceeds to step S5. On the other hand, if it is judged that the Tag in the association information does not match the batch update target Tag (e.g., DF03(h)) (step S4: NO), the process proceeds to step S6. In the example of FIG. 4, the Tag in the association information in the first row is DF02(h), and therefore it is judged that it does not match the batch update target Tag (e.g., DF03(h)).

[0039] In step S5, the CPU 15 identifies data having the Tag to be updated in bulk (e.g., Value “01(h)”) from the record based on the SFI, record number, and record offset in the correspondence information selected in step S3, updates (e.g., overwrites) the identified data with the update data obtained in step S1 (e.g., Value “02(h)”), and proceeds to step S6.

[0040] In step S6, the CPU 15 judges whether or not all the association information has been selected (i.e., all the association information has been referred to) from the batch update table identified in step S2. If it is judged that all the association information has not been selected from the batch update table (step S6: NO), the process returns to step S3, where association information that has not yet been selected is selected, and the process of step S4 is executed. In this way, for example, the first to fifth rows of the association information in the batch update table shown in Fig. 4 are sequentially referred to. On the other hand, if it is judged that all the association information has been selected from the batch update table (step S6: YES), the process proceeds to step S7.

[0041] In step S7, the CPU 15 transmits a response to the PUT DATA command to the external device 2 via the I / O circuit 11, and ends the process shown in Fig. 10. Such a response is a response APDU, and includes, for example, a status word (SW1, SW2) indicating normal completion.

[0042] Example 2 Next, the batch update operation of the IC chip 1 in the second embodiment will be described with reference to Fig. 11. Fig. 11 is a flowchart showing an example of the batch update process executed by the CPU 15 of the IC chip 1 in the second embodiment. In the second embodiment, the batch update table shown in Fig. 5 is used while the CPU 15 is executing the batch update process according to the OS or an application. The process shown in Fig. 11 is started when a PUT DATA command for batch updating the data to be batch updated is received from the external device 2 (for example, a store terminal).

[0043] 11 starts, the CPU 15 acquires the batch update target Tag (e.g., DF03(h)) from P1P2 of the PUT DATA command, and acquires update data (e.g., Value “02(h)”) from Data of the PUT DATA command (step S11). Next, the CPU 15 specifies an area (e.g., R2) in the batch update table stored in the table storage area for registering association information corresponding to the batch update target Tag (e.g., DF03(h)) acquired in step S1 (step S12).

[0044] Next, the CPU 15 selects one piece of association information to be referenced from the area (e.g., R2) specified in step S2 (step S13). For example, from the area R2 (in other words, the batch update table T2) shown in FIG. 5, the association information in the first row is first selected as the reference object. Next, the CPU 15 specifies data having the batch update target Tag (e.g., Value "01(h)") from the record based on the SFI, record number, and record offset in the association information selected in step S13, and updates the specified data with the update data (e.g., Value "02(h)") acquired in step S11 (step S14).

[0045] Next, the CPU 15 judges whether or not all the association information has been selected from the region specified in step S12 (step S15). If it is judged that all the association information has not been selected from the specified region (step S15: NO), the process returns to step S13, where association information that has not yet been selected is selected, and the process of step S14 is executed. In this manner, for example, the first to third rows of the association information in region R2 shown in FIG. 5 are sequentially referenced. On the other hand, if it is judged that all the association information has been selected from the specified region (step S15: YES), the process proceeds to step S16.

[0046] In step S16, the CPU 15 transmits a response to the PUT DATA command to the external device 2 via the I / O circuit 11, and ends the process shown in Fig. 11. As described above, according to the second embodiment, it is not necessary to refer to (check) all of the association information in the batch update table, so that batch update of data can be performed faster than in the first embodiment.

[0047] As described above, according to the above embodiment, the IC chip 1 retains a bulk update table in which the above-mentioned correspondence information is registered, and when it receives a bulk update command from the external device 2, including update data and a bulk update target Tag assigned to the update data, it identifies data in each of a plurality of records to which the same Tag is assigned, based on the bulk update target Tag included in the bulk update command and the correspondence information registered in the bulk update table, and updates each of the identified data with the update data included in the bulk update command.Therefore, it is possible to bulk update the data stored in each of a plurality of records without sending update commands to the IC chip 1 for the number of records that store data having the bulk update target Tag.

[0048] (Modification)

[0049] Next, a modified example of the above embodiment will be described with reference to Figs. 12 to 15. In the modified example, it is assumed that after a plurality of records and a batch update table are written to the IC chip 1 by an issuing terminal in a factory, a record storing data (data to be updated in a batch) having the same Tag (e.g., DF03(h)) as the data already written to the IC chip 1 is additionally written. Fig. 12 is a conceptual diagram showing an example of a record when a record is added to a record storage area. In the example of Fig. 12, a record added in addition to three records already written is shown, and the added record is specified by SFI "02(h)" and record number "04(h)". Also, in the example of Fig. 12, data to be updated in a batch is stored in the added record (in this example, the data to be updated in a batch is data (Value "01(h)") to which Tag "DF03(h)" is attached).

[0050] As shown in FIG. 12, the association information including Tag "DF03(h)" assigned to the data (Value "01(h)") stored in the added record can be additionally registered in the batch update table by, for example, WRITE BINARY (an example of a third command) defined in ISO / IEC 7816. FIG. 13 is a diagram showing a specific example of a byte sequence in a WRITE BINARY command for additionally registering association information. Additional elements of the batch update table are stored in Data in the WRITE BINARY command shown in FIG. 13. In the example of FIG. 13, the additional elements of the batch update table are the batch update target Tag "DF03(h)", SFI "02(h)", and record number "04(h)".

[0051] When the CPU 15 of the IC chip 1 receives a WRITE BINARY command for additionally registering association information from the external device 2 (e.g., an issuing terminal) via the I / O circuit 11, it calculates the record offset of the data to be bulk updated (Value "11(h)") stored in the record identified by the SFI "02(h)" and record number "04(h)" based on the Tag "DF03(h)", SFI "02(h)" and record number "04(h)" included in the WRITE BINARY command. The record offset of the data to be bulk updated is the number of bytes from the beginning of the record of the data to be bulk updated, and is "07(h)" in the example of FIG. 12.

[0052] Then, the CPU 15 of the IC chip 1 additionally registers, in the batch update table shown in, for example, FIG. 4, association information that associates the Tag "DF03(h)", SFI "02(h)", and record number "04(h)" included in the WRITE BINARY command with the calculated record offset "08(h)". FIG. 14 is a diagram showing a batch update table example 3 in which association information has been additionally registered. In the example of FIG. 14, association information including the Tag "DF03(h)", SFI "02(h)", record number "04(h)", and record offset "07(h)" is added to the sixth row (last row) of the batch update table.

[0053] Alternatively, the CPU 15 of the IC chip 1 may specify an area (e.g., R2) in which to register the association information corresponding to the Tag "DF03(h)" included in the WRITE BINARY command from the batch update table shown in FIG. 5. In this case, the CPU 15 additionally registers (in no particular order) the association information in which the Tag "DF03(h)", SFI "02(h)", and record number "04(h)" included in the WRITE BINARY command are associated with the calculated record offset "07(h)" in the specified area (e.g., R2). FIG. 15 is a diagram showing a batch update table example 4 in which the association information is additionally registered. In the example of FIG. 15, the association information including the Tag "DF03(h)", SFI "02(h)", record number "04(h)", and record offset "07(h)" is added to the fourth row (last row) of the area R2 in the batch update table.

[0054] As described above, according to the modified example, even if data having the same tag as data already written to the IC chip 1 is added and written to the IC chip 1, the correspondence information corresponding to the tag of the added data can be added and registered in the bulk update table more efficiently. [Explanation of symbols]

[0055] 1 IC chip 11 I / O circuit 12 RAM ( 13 NVM 14 ROM 15 CPU 16 Coprocessors

Claims

1. An electronic information storage medium storing a plurality of records each storing data to which a tag value is assigned, and data to which the same first tag value is assigned is stored in each of two or more of the records, a storage means for storing a management table that registers association information that associates the first tag value with an identifier of each of the records in which data to which the first tag value is assigned and a storage location of the data in each of the records; a receiving means for receiving a first command including update data and the first tag value added to the update data from an external device; a specifying means for specifying data to which the first tag value is assigned in each of the records, based on the first tag value included in the first command and the association information registered in the management table; an update means for updating each of the data identified by the identification means with the update data included in the first command; An electronic information storage medium comprising:

2. Each of any two or more of the records further stores data to which the same second tag value is assigned, the second tag value being different from the first tag value; the management table further registers association information that associates the second tag value with an identifier of each of the records in which the data to which the second tag value is assigned is stored and a storage location of the data in each of the records; the receiving means receives a second command including the update data and the first tag value or the second tag value assigned to the update data; 2. The electronic information storage medium according to claim 1, wherein the identifying means refers to both the first tag value or the second tag value included in the second command, and the correspondence information in the management table.

3. Each of any two or more of the records further stores data to which the same second tag value is assigned, the second tag value being different from the first tag value; the management table further registers association information that associates the second tag value with an identifier of each of the records in which the data to which the second tag value is assigned is stored and a storage location of the data in each of the records; the storage means manages, in the management table, an area for registering the association information corresponding to the first tag value and an area for registering the association information corresponding to the second tag value, by dividing the area in advance; the receiving means receives a second command including the update data and the first tag value or the second tag value assigned to the update data; The electronic information storage medium according to claim 1, characterized in that the identification means identifies the area corresponding to the first tag value or the second tag value included in the second command, and refers to the first tag value or the second tag value included in the second command and the correspondence information in the identified area.

4. Each of any two or more of the records further stores data to which the same second tag value is assigned, the second tag value being different from the first tag value; the receiving means receives from the external device a third command including association information associating an identifier of the record in which data to which the second tag value is assigned is stored with the second tag value; The electronic information storage medium according to claim 1, further comprising a registration means for calculating a storage location of the data in the record based on the identifier and the second tag value included in the third command, and additionally registering in the management table correspondence information that associates the identifier of the record in which the data to which the second tag value is assigned and the calculated storage location with the second tag value.

5. The electronic information storage medium according to claim 4, further comprising a registration means for identifying an area in the management table that corresponds to the second tag value included in the command, and additionally registering in the identified area an identifier of the record in which the data to which the second tag value is assigned and correspondence information that associates the calculated storage location with the second tag value.

6. An IC chip storing a plurality of records for storing data to which a tag value is assigned, wherein data to which the same first tag value is assigned is stored in each of two or more of the records, a storage means for storing a management table that registers association information that associates the first tag value with an identifier of each of the records in which data to which the first tag value is assigned and a storage location of the data in each of the records; a receiving means for receiving a first command including update data and the first tag value added to the update data from an external device; a specifying means for specifying data to which the first tag value is assigned in each of the records, based on the first tag value included in the first command and the association information registered in the management table; an update means for updating each of the data identified by the identification means with the update data included in the first command; An IC chip comprising:

7. An IC card storing a plurality of records for storing data to which a tag value is assigned, and data to which the same first tag value is assigned is stored in each of two or more of the records, a storage means for storing a management table that registers association information that associates the first tag value with an identifier of each of the records in which data to which the first tag value is assigned and a storage location of the data in each of the records; a receiving means for receiving a first command including update data and the first tag value added to the update data from an external device; a specifying means for specifying data to which the first tag value is assigned in each of the records, based on the first tag value included in the first command and the association information registered in the management table; an update means for updating each of the data identified by the identification means with the update data included in the first command; An IC card comprising:

8. A data bulk update method executed by an electronic information storage medium storing a plurality of records for storing data to which tag values ​​are assigned, in which data to which an identical first tag value is assigned is stored in each of any two or more of the records, comprising: retaining a management table that registers association information that associates the first tag value with an identifier of each of the records in which the data to which the first tag value is assigned is stored and a storage location of the data in each of the records; receiving a first command from an external device, the first command including update data and the first tag value assigned to the update data; identifying data to which the first tag value is assigned in each of the records based on the first tag value included in the first command and the association information registered in the management table; updating each of the identified data with the update data included in the first command; A data batch update method comprising:

9. A computer includes an electronic information storage medium storing a plurality of records each storing data to which a tag value is assigned, and data to which the same first tag value is assigned is stored in each of two or more of the records. retaining a management table that registers association information that associates the first tag value with an identifier of each of the records in which the data to which the first tag value is assigned is stored and a storage location of the data in each of the records; receiving a first command from an external device, the first command including update data and the first tag value assigned to the update data; identifying data to which the first tag value is assigned in each of the records based on the first tag value included in the first command and the association information registered in the management table; updating each of the identified data with the update data included in the first command; A program characterized by executing the above.

Citation Information

Patent Citations

  • System and method for cryptographic authentication of contactless cards

    JP2022503755A

  • RFID system, reader / writer, server, and display method

    JP2023152141A

  • Non-networked RFID system

    US20080218354A1

  • IC card, IC module, issuing device, issuing method, and issuing program

    JP6556489B2