IC cards, IC chips, and authentication result recording methods
By using a volatile memory-based file system to share authentication results, the IC card maintains durability by reducing the frequency of memory rewriting, addressing the durability issues in IC cards with multiple application providers.
Patent Information
- Application Number
- JP2021154918
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-22
- Publication Date
- 2025-12-03
- Estimated Expiration
- 2041-09-22
AI Technical Summary
Existing IC cards face durability issues due to frequent rewriting of authentication results in non-volatile memory, which is necessary for sharing authentication results among applications with different providers.
Implementing a file system that allows sharing of authentication results in a volatile memory, specifically creating a shared file in RAM for authentication results, accessible to all applications, while initializing the file contents before each authentication process.
This approach enables sharing of authentication results without adversely affecting the IC card's durability by utilizing volatile memory, which is rewritten less frequently.
Smart Images

Figure 0007779060000001 
Figure 0007779060000002 
Figure 0007779060000003
Abstract
Description
[Technical Field]
[0001] The present invention belongs to the technical field of IC cards. [Background technology]
[0002] With the spread of the Internet of Things (IoT), various terminal devices are now connecting to mobile communication networks. Connecting to a mobile communication network requires an IC card that stores subscriber information for the mobile communication network. The IC cards that are attached to terminal devices that connect to a mobile communication network are called SIMs (Subscriber Identity Modules), UIMs (User Identity Modules), USIMs (Universal SIMs), or UICCs (Universal Integrated Circuit Cards).
[0003] In IC cards used in mobile communications, subscriber information is stored in the memory of the IC chip. Multiple applications are also implemented in the IC card memory. To support multiple applications, JavaCard (registered trademark) and GlobalPlatForm (registered trademark) have become the de facto standard for IC card platforms.
[0004] One of the applications implemented in an IC card is an application for connecting to a mobile communication network. In this disclosure, this application is called a connection application. In addition to the connection application, an application for a service that uses a terminal device is also implemented in the IC card. In this disclosure, this application is called a service application. Furthermore, an application that authenticates an external authentication code sent from a terminal device to which the IC card is connected is also implemented in the IC card. In this disclosure, this application is called an authentication application.
[0005] The process of authenticating the external authentication code sent from the terminal device is a process in which the IC card authenticates the terminal device in which the IC card is inserted and the user of the IC card. If authentication of the external authentication code fails several times in succession, it means that the IC card is being used fraudulently. In this case, the IC card must prohibit the use of all applications implemented on the IC card.
[0006] If all the applications implemented on IC cards are provided by the same provider, the applications can be developed so that the authentication results of external authentication codes can be shared. However, in most cases, the providers of the applications implemented on IC cards are not all the same. The provider of the connection application is the mobile communications carrier, but at least the provider of the service application is not the mobile communications carrier but the business that installs the terminal device. Therefore, even if all the providers of the applications implemented on IC cards are not the same, it is desirable to be able to share the authentication results of external authentication codes among the applications implemented on IC cards.
[0007] In order to enable the application implemented in the IC card to share the authentication result of the external authentication code, it is necessary to record the authentication result of the external authentication code in the memory of the IC card. In the invention disclosed in Patent Document 1, the authentication result is recorded in electrically rewritable non-volatile memory (for example, EEPROM).
[0008] On the other hand, IC cards are required to have high security. For example, when recording important data such as the authentication result of an external authentication code in memory, IC cards are required to initialize the memory area where the important data is recorded. In addition, IC cards are required to have high durability. For example, IC cards require a long lifespan for their electrically rewritable nonvolatile memory (hereinafter simply referred to as nonvolatile memory).
[0009] However, if the authentication results of the external authentication code are recorded in non-volatile memory, as in the invention disclosed in Patent Document 1, the non-volatile memory must be rewritten each time authentication of the external authentication code is performed, which has a negative impact on the durability of the IC card. [Prior art documents] [Patent documents]
[0010] [Patent Document 1] Japanese Patent Application Laid-Open No. 2008-134882 Summary of the Invention [Problem to be solved by the invention]
[0011] Therefore, the present disclosure aims to make it possible to share the authentication results of an external authentication code between applications implemented on an IC card without adversely affecting the durability of the IC card. [Means for solving the problem]
[0012] The above problem can be solved by the first invention. The first invention comprises a file system that can specify file sharing information for each file, The file system is located directly under the master file that serves as the root of the file system. The file stores data, and includes a shared file created in a volatile memory by specifying shared information as sharable, and an authentication application that authenticates an external authentication code received from a terminal device and writes the authentication result of the external authentication code to the shared file. and allowing applications other than the authentication application to refer to the shared file via the file system. In order to solve the above problems, in the first invention, the shared information of the shared file into which the authentication result of the external authentication code is written is designated as sharable, and further, the shared file is created in a volatile memory.
[0013] From the viewpoint of security, in the first invention, it is desirable that the authentication application initialize the contents of the shared file before executing the authentication command. Also, considering the widespread use of IoT, it is desirable that in the first invention, the external authentication code is a code for authenticating a terminal device. Furthermore, in the first invention, considering that the shared file is created in volatile memory, it is desirable that the IC card according to the first invention has a file creation command configured to be able to specify the file's shared information and the memory in which the file is to be created, as a command for creating file control information for the file in non-volatile memory.
[0014] Furthermore, the above problem can be solved by the second invention. The second invention comprises a file system that can specify file sharing information for each file, The file system is located directly under the master file that serves as the root of the file system. This IC chip is characterized by comprising a file for storing data, a shared file that is created in volatile memory with shared information designated as sharable, and an authentication application that authenticates an external authentication code received from a terminal device and writes the authentication result of the external authentication code to the shared file. In order to solve the above problem, in the second invention, as in the first invention, the shared information of the shared file into which the authentication of the external authentication code is written is designated as sharable, and further, the shared file is created in volatile memory. The above problem is solved by implementing an IC card The shared file is made accessible to applications other than the authentication application via the file system. This problem can be solved by the data and computer program implemented in the IC chip that is mounted on the IC card. For this reason, the present invention also claims a patent right for the IC chip that is mounted on the IC card.
[0015] From the viewpoint of security, in the second invention, it is desirable that the authentication application initialize the contents of the shared file before executing the authentication command. Also, considering the widespread use of IoT, it is desirable that in the second invention, the external authentication code be a code that authenticates a terminal device. Furthermore, in the second invention, considering that the shared file is created in volatile memory, it is desirable that the IC chip according to the second invention has a file creation command configured to be able to specify the file's sharing information and the memory in which the file is created, as a command for creating the file's file control information in non-volatile memory.
[0016] Furthermore, the above problem can be solved by a third invention. The third invention is a method executed by an IC card equipped with a file system that can specify file sharing information for each file. The authentication result recording method according to the third invention includes a step A in which an authentication application having a function of authenticating an external authentication code authenticates the external authentication code received from a terminal device; The file system is located directly under the master file that serves as the root of the file system. A file for storing data includes a step B of writing the authentication result of the external authentication code to a shared file created in a volatile memory by specifying the shared information as sharable. and allowing applications other than the authentication application to access the shared file via the file system. In order to solve the above problem, in the third invention, the sharing information of the shared file into which the authentication of the external authentication code is written is designated as sharable, and further, the shared file is created in a volatile memory.
[0017] From the viewpoint of security, it is desirable that the authentication application initialize the contents recorded in the shared file before executing the authentication command in step A of the third invention. Also, considering the widespread use of IoT, it is desirable that in the third invention, the external authentication code is a code for authenticating a terminal device. [Effects of the Invention]
[0018] By specifying the shared information of the shared file in which the authentication of the external authentication code is written as shareable, and further by creating the shared file in volatile memory, the present invention makes it possible to share the authentication results of the external authentication code between applications implemented on the IC card without adversely affecting the durability of the IC card. [Brief explanation of the drawings]
[0019] [Figure 1] 1A and 1B are diagrams illustrating an example of an IC card according to an embodiment. [Figure 2] A diagram explaining the architecture of an IC card. [Figure 3] A diagram explaining the files contained in a file system. [Figure 4] FIG. 10 is a diagram illustrating a memory for creating a file. [Figure 5] FIG. 10 is a diagram illustrating a process executed by an authentication application. DETAILED DESCRIPTION OF THE INVENTION
[0020] From here, an embodiment of the present invention will be described. This embodiment is intended to facilitate understanding of the present invention, and the present invention is not limited to this embodiment. Furthermore, unless otherwise specified, the drawings in this disclosure are schematic diagrams drawn to facilitate understanding of the present invention.
[0021] Fig. 1 is a diagram illustrating an example of an IC card 1 according to an embodiment. The IC card 1 is a medium equipped with an IC chip 10 that has strong tamper resistance against external analysis attacks. In Fig. 1, the IC card 1 equipped with the IC chip 10 is illustrated as a SIM that communicates with a terminal device via contact communication compliant with ISO7816.
[0022] In FIG. 1, IC card 1 is illustrated as a SIM card used in mobile communications, but the form of IC card 1 is not limited to a SIM card. IC card 1 may also be in the form of an eSIM (embedded subscriber identity module) directly mounted on a circuit board such as a smartphone, or a secure element. Furthermore, the use of IC card 1 is not limited to a SIM card. IC card 1 may also be a card used for financial purposes such as credit card payments.
[0023] In the IC card 1 shown in FIG. 1, the IC chip 10 is resin-molded on the back side of the external terminal 1a. The IC chip 10 communicates with a terminal device (not shown) via the external terminal 1a. The communication method supported by the IC card 1 is not limited to contact communication compliant with ISO 7816. The communication method supported by the IC card 1 may be contactless communication compliant with ISO 14443, or a communication method used inside a computer (e.g., SPI, Serial Peripheral Interface).
[0024] FIG. 2 is a diagram illustrating the architecture of the IC card 1. The architecture of the IC card 1 includes an IC chip 10, which is the hardware of the IC card 1. The IC chip 10 is equipped with circuits such as a CPU 100 (Central Processing Unit) and an I / O 101 (Input / Output). In FIG. 2, the CPU 100 of the IC chip 10 is a circuit that interprets program code stored in memory and executes predetermined processing. The I / O 101 is a circuit that is electrically connected to an external terminal 1a on the surface of the IC card 1 and performs contact communication with the external terminal 1a. Note that the IC chip 10 generally includes circuits not shown in FIG. 2. The IC chip 10 is equipped with circuits not shown in FIG. 2, such as a coprocessor specialized for cryptographic calculation functions and a random number generator that generates random numbers.
[0025] The IC chip 10 also includes, as memories, a ROM 102 (Read Only Memory), a RAM 103 (Random Access Memory), and an electrically rewritable non-volatile memory 104 (NVM: Non Volatile memory). The ROM 102 is a read-only memory that cannot be electrically rewritten. The RAM 103 is an electrically rewritable volatile memory.
[0026] 2, the architecture of the IC card 1 includes a runtime environment 11, which is a computer program that provides functions necessary for the operation of an application 12 implemented on the IC card 1. The program code of the runtime environment 11 is stored in the ROM 102 of the IC chip 10. The IC card 1 according to this embodiment includes JCRE 110 (Java Card (registered trademark) Runtime Environment) as the runtime environment 11.
[0027] The execution environment 11 of the IC card 1 has a file system 111 as one of the functions necessary for the operation of the application 12 implemented in the IC card 1. The execution environment 11 of the IC card 1 provides the application 12 with commands for using the file system 111. In Figure 2, one of these commands is shown as a file creation command 112, which is a command for creating a file.
[0028] 2, the architecture of the IC card 1 includes at least one application 12 implemented on the IC card 1. The program code of the application 12 and files used by the application 12 are stored in the non-volatile memory 104, except for a file that records the authentication result of the external authentication code.
[0029] In Figure 2, the number of applications 12 implemented in the IC card 1 is three. One of the applications 12 implemented in the IC card 1 is a connection application 12a, which is an application 12 for connecting to a mobile communication network. Another of the applications 12 implemented in the IC card 1 is a service application 12b, which is an application 12 used for services of the terminal device. Furthermore, another of the applications 12 implemented in the IC card 1 is an authentication application 12c, which is an application 12 for verifying the legitimacy of the terminal device in which the IC card 1 is attached.
[0030] Fig. 3 is a diagram illustrating files included in the file system 111. The file system 111 illustrated in Fig. 3 is based on the specifications disclosed in ETSI TS 102 221. The file structure of the file system 111 according to this embodiment is a hierarchical structure of dedicated files (Dedicated Files e, hereinafter referred to as "DFs") that store at least file control information. In the file system 111 according to this embodiment, elementary files (EFs, hereinafter referred to as "EFs") that store data can be placed directly under the DFs.
[0031] In the file structure of the file system 111, the DF that is the root of this file structure is the Master File 21 (MF, hereinafter referred to as "MF21"). Directly below the MF21, a DF, DF_Telecom 23, is placed. Directly below the DF_Telecom 23, one or more EFs 25 that store information that is independent of the application 12 are placed. Information that is independent of the application 12 is, for example, a telephone directory.
[0032] 3, immediately below the MF 21 are arranged EFs such as EF_ICCID 24, which stores an identification number unique to each IC card 1, and EF_PL 22, which stores a language code indicating the language set up by the terminal device. Furthermore, immediately below the MF 21 is arranged EF_DIR 26, which stores an application identifier of an application dedicated file 27 (ADF, hereinafter referred to as "ADF 27"). The ADF 27 can be accessed by referring to the EF_DIR 26.
[0033] Furthermore, in the file system 111 shown in Fig. 3, an ADF 27 corresponding to the application 12 implemented in the IC card 1 is arranged independently of (not directly below) the MF 21. Although not shown in Fig. 3, a DF and an EF can be arranged directly below the ADF 27, just like the MF 21. In Fig. 2, three applications 12 are implemented in the IC card 1. For this reason, in Fig. 3, three ADFs 27, namely, an ADF 27a corresponding to the connection application 12a, an ADF 27b corresponding to the service application 12b, and an ADF 27c corresponding to the authentication application 12c, are arranged independently of the MF 21.
[0034] 3, EF_Auth20 (Auth is an abbreviation for Authentication), which is an EF that records the authentication result of the external authentication code performed by the authentication application 12c, is located immediately below MF 21. In this embodiment, EF_Auth20 is an EF that is a shared file created in volatile memory by specifying shared information as sharable.
[0035] In specifications such as those disclosed in ETSI TS 102 221, file sharing information can be specified for each file. The file sharing information is included in file control information set for each file. Depending on the file sharing information, it is possible to specify either shareable or not-shareable for each file. The sharing information of EF_Auth20, which is an EF that records the authentication result of the external authentication code performed by the authentication application 12c, is specified as shareable so that applications 12 other than the authentication application 12c can refer to the authentication result of the external authentication code.
[0036] Fig. 4 is a diagram illustrating memory for creating files. In the files included in the file system 111 illustrated in Fig. 3, the memory for creating EF_Auth20, which records the authentication result of the external authentication code, is RAM 103. The memory for creating files other than EF_Auth20 is nonvolatile memory 104.
[0037] In this embodiment, the EF_Auth20 that records the authentication result of the external authentication code is created in the RAM 103 in order to increase the durability of the IC card 1. If the EF_Auth20 that records the authentication result of the external authentication code is created in the nonvolatile memory 104, the nonvolatile memory 104 needs to be rewritten every time the authentication application 12c executes authentication of the external authentication code. Therefore, if the EF_Auth20 that records the authentication result of the external authentication code is created in the nonvolatile memory 104, the life of the nonvolatile memory 104 provided in the IC card 1 will be shortened. In contrast, if the EF_Auth20 that records the authentication result of the external authentication code is created in the RAM 103, the RAM 103 is rewritten every time the authentication application 12c executes authentication of the external authentication code. The life of the RAM 103, which is a volatile memory, is so long that it is said to be semi-permanent. Therefore, even if the authentication application 12c records the authentication result of the external authentication code in the RAM 103, there is no adverse effect on the durability of the IC card 1.
[0038] The file creation command 112 is a command that creates a file immediately below the selected DF, i.e., the current DF. Creating a file involves writing at least the file control information of the file to be created to the DF. The file control information includes an identifier of the created file, an identifier of the DF that will become the current for the created file, and the start address of the created file. The start address of the created file is a physical address. The file creation command 112 in this embodiment is configured so that the sharing information of the file to be created (either sharable or non-sharable) and the memory in which to create the file (either RAM 103 or non-volatile memory 104) can be specified using command parameters.
[0039] 3, in this embodiment, EF_Auth20 is created directly under MF21. The file control information of EF_Auth20 includes an identifier of EF_Auth20, an identifier of MF21, and the starting address of EF_Auth20. Since EF_Auth20 is created in RAM 103, the starting address included in the file control information of EF_Auth20 is a physical address in RAM 103.
[0040] The authentication application 12c included in the IC card 1 is an application 12 that authenticates an external authentication code received from a terminal device. The authentication application 12c included in the IC card 1 has an authentication command 120 that is a command that invokes a function for authenticating the external authentication code received from the terminal device. The authentication application 12c included in the IC card 1 records the authentication result of the external authentication code included in the command message of the authentication command 120 in EF_Auth20.
[0041] Fig. 5 is a diagram illustrating the processing executed by the authentication application 12c included in the IC card 1. The explanation of Fig. 5 also includes an explanation of the method for recording authentication results according to the present invention. When authenticating an external authentication code received from a terminal device, the authentication application 12c included in the IC card 1 receives a command message of an authentication command 120 from the terminal device (step S1). This command message includes the external authentication code authenticated by the authentication command 120.
[0042] When the authentication application 12c included in the IC card 1 receives the command message of the authentication command 120, it initializes the contents recorded in EF_Auth20 created in RAM 103 before authenticating the external authentication code received from the terminal device (step S2). Initializing EF_Auth20 created in RAM 103 means writing data indicating that the authentication of the external authentication code has not been successful into EF_Auth20. The reason why the authentication application 12c included in the IC card 1 initializes EF_Auth20 created in RAM 103 is that the IC card 1, which requires high security, is required to initialize the memory area for recording important data when recording important data such as the authentication result of the external authentication code in memory.
[0043] Next, the authentication application 12c included in the IC card 1 authenticates the external authentication code included in the command message of the authentication command 120 (step S3). Considering the widespread use of IoT, it is desirable to use the external authentication code as a code for authenticating a terminal device. The method for authenticating the external authentication code is arbitrary. When a PIN (Personal Identification Number) is used as the external authentication code, the authentication of the external authentication code is a process of verifying the PIN. Standards such as JISX6320-4 prescribe a method for authenticating the external authentication code using a random number output by the IC card 1 to the terminal device and an external authentication key secretly stored in the IC card 1.
[0044] When the authentication application 12c provided in the IC card 1 authenticates the external authentication code included in the command message of the authentication command 120, it records the execution result of the external authentication code in EF_Auth20 (step S4). When the authentication of the authentication code is successful, the data written to EF_Auth20 is data indicating that the authentication of the external authentication code was successful. When the authentication of the external authentication code is unsuccessful, the data written to EF_Auth20 is data indicating that the authentication of the external authentication code was not successful (failed).
[0045] 5, the authentication application 12c included in the IC card 1 executes the procedure of Fig. 5, and the authentication result of the external authentication code executed by the authentication application 12c is written to EF_Auth20 created in RAM 103. Since the shared information of EF_Auth20 created in RAM 103 is set to be sharable, all applications 12 implemented in the IC card 1 can refer to the authentication result of the external authentication code written to EF_Auth20 created in RAM 103 via the file system 111. Furthermore, by storing the authentication result of the external authentication code in RAM 103, the durability of the IC card 1 is not adversely affected even if the authentication result of the external authentication code received from the terminal device is recorded in memory. [Explanation of symbols]
[0046] 1 IC card 10 IC chip 103 RAM 104 Non-volatile memory 111 File System 112 File creation command 12c Authentication Application 20 EF_Auth 21 Master File (MF)
Claims
1. An IC card comprising: a file system that can specify file sharing information for each file; a shared file that is a file that stores data placed directly under a master file that is the root of the file system, the shared file being created in volatile memory by specifying the shared information as shareable; and an authentication application that authenticates an external authentication code received from a terminal device and writes the authentication result of the external authentication code to the shared file, wherein applications other than the authentication application can access the shared file via the file system.
2. 2. The IC card according to claim 1, wherein said authentication application initializes the contents recorded in said shared file before executing said external authentication code.
3. 3. The IC card according to claim 1, wherein the external authentication code is a code for authenticating a terminal device.
4. An IC card according to any one of claims 1 to 3, characterized in that it has a file creation command configured to be able to specify the shared information of the file and the memory in which the file is to be created as a command for creating file control information of the file in non-volatile memory.
5. An IC chip comprising: a file system capable of specifying file sharing information for each file; a shared file created in volatile memory by specifying shared information as sharable, which is a file that stores data placed directly under a master file that is the root of the file system; and an authentication application that authenticates an external authentication code received from a terminal device and writes the authentication result of the external authentication code to the shared file, wherein the IC chip allows applications other than the authentication application to access the shared file via the file system.
6. 6. The IC chip according to claim 5, wherein said authentication application initializes the contents recorded in said shared file before authenticating said external authentication code.
7. 7. The IC chip according to claim 5, wherein the external authentication code is a code for authenticating a terminal device.
8. An IC chip according to any one of claims 5 to 7, characterized in that it is provided with a file creation command configured to be able to specify file sharing information and the memory in which to create the file as a command for creating file control information in non-volatile memory.
9. A method executed by an IC card having a file system capable of specifying file sharing information for each file, comprising: A method for recording authentication results, comprising: a step A in which an authentication application having a function for authenticating an external authentication code authenticates the external authentication code received from a terminal device; and a step B in which the authentication application writes the authentication result of the external authentication code to a shared file created in volatile memory by specifying shared information as shareable, the shared file being a file that stores data located immediately below a master file that is the root of the file system, and wherein applications other than the authentication application are allowed to reference the shared file via the file system.
10. 10. The method for recording authentication results according to claim 9, wherein in step A, the authentication application initializes the contents recorded in the shared file before authenticating the external authentication code.
11. 11. The method for recording authentication results according to claim 9, wherein the external authentication code is a code for authenticating a terminal device.
Citation Information
Patent Citations
Method and devICe for processing IC card security and recording medium recording IC card security processing program
JP2001052122A
Multi-application card with delegation characteristics
JP2001527674A
IC card and IC card program
JP2005070871A
IC card, and program for IC card
JP2007026118A
IC card and program thereof
JP2008134882A