Program, information processing terminal, information processing method, and IC card
By using an IC card to manage private keys and sign verifiable certification information, the method effectively reduces the risk of key leakage in information processing terminals.
Patent Information
- Application Number
- JP2024111215
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-10
- Publication Date
- 2026-01-23
AI Technical Summary
The risk of private keys being leaked from information processing terminals due to cyber attacks is a significant concern in wallet apps.
A technique that involves obtaining identification information and a private key from an IC card, signing verifiable certification information using the private key, and presenting it through a QR code for verification, thereby reducing the risk of key leakage.
This method securely manages private keys by storing them in an IC card, minimizing the risk of exposure during transactions.
Smart Images

Figure 2026010994000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing terminal, an information processing method, and an IC card. [Background technology]
[0002] With the recent spread and advancement of information and communication technology, users can conduct various electronic transactions using information processing terminals such as smartphones, tablets, etc. For example, users can register credit cards or tickets in a wallet app installed on their smartphones and use the credit cards or tickets registered in the wallet app via their smartphones.
[0003] A high level of security is required for data stored in such wallet applications, and techniques have been proposed for securely maintaining data stored in information processing terminals. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2008-33850 [Patent Document 2] Japanese Patent Publication No. 2020-149645 Summary of the Invention [Problem to be solved by the invention]
[0005] In wallet apps, the private key for electronic signatures is not stored in a highly secure area, and it is known that there is a risk of the private key being leaked due to cyber attacks, etc.
[0006] In view of the above problems, an object of the present disclosure is to provide a technique for reducing the risk of leakage of a private key when used by an information processing terminal. [Means for solving the problem]
[0007] One aspect of the present disclosure relates to a program that causes an information processing terminal to obtain identification information and a private key from an IC card storing the identification information and the private key, sign verifiable certification information corresponding to the identification information with the private key, and present the signed verifiable certification information. [Effects of the Invention]
[0008] According to the present disclosure, it is possible to provide a technique for reducing the risk of private keys being leaked when used by an information processing terminal. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a schematic diagram illustrating an authentication process according to one embodiment of the present disclosure. [Figure 2] FIG. 2 is a block diagram illustrating a hardware configuration of an information processing terminal and a verification terminal according to an embodiment of the present disclosure. [Figure 3] 3A and 3B are block diagrams showing the hardware configuration of an IC card according to an embodiment of the present disclosure. [Figure 4] FIG. 4 is a block diagram illustrating a functional configuration of an information processing terminal according to an embodiment of the present disclosure. [Figure 5] FIG. 5 is a block diagram illustrating a functional configuration of an IC card according to an embodiment of the present disclosure. [Figure 6] FIG. 6 is a sequence diagram illustrating an IC card issuing process according to an embodiment of the present disclosure. [Figure 7] FIG. 7 is a sequence diagram illustrating an authentication process using an IC card according to an embodiment of the present disclosure. [Figure 8] FIG. 8 is a sequence diagram illustrating an authentication process using an IC card according to an embodiment of the present disclosure. [Figure 9] FIG. 9 is a sequence diagram illustrating an IC card issuing process according to an embodiment of the present disclosure. [Figure 10]FIG. 10 is a sequence diagram illustrating authentication processing using an IC card according to an embodiment of the present disclosure. [Figure 11] FIG. 11 is a sequence diagram illustrating a process for purchasing a student commuter pass according to an embodiment of the present disclosure. [Figure 12] FIG. 12 is a sequence diagram illustrating a process for purchasing a student commuter pass according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[0011] In the following embodiment, an authentication process using a private key stored in an IC card will be disclosed.
[0012] [Authentication process] First, a schematic diagram illustrating an authentication process according to an embodiment of the present disclosure: Figure 1 is a schematic diagram illustrating an authentication process according to an embodiment of the present disclosure.
[0013] In the authentication process described below, a user uses an information processing terminal 100 such as a smartphone and an IC card 50 storing a private key to present the user's (Holder's) verifiable credential to a verification terminal (Verifier) 200. The verification terminal 200 acquires a public key corresponding to the private key stored in the user's IC card 50, and can verify the verifiable credential (VC) presented by the user using the acquired public key.
[0014] For example, as shown in Fig. 1, a user provides certification information to an issuing institution (Issuer) 10 and requests that an IC card 50 be issued. In response to the issuance request from the user, the issuing institution 10 generates verifiable certification information (VC) from the certification information obtained from the user, and also generates a public key and a private key for authenticating the generated verifiable certification information (VC).
[0015] The issuing institution 10 provides the public key to the registry 20 along with identification information for identifying the user (for example, a digital ID (DDI, etc.)), and the registry 20 stores the public key in association with the identification information. Since the registry 20 is, for example, where the public key is registered, it is desirable that it be a server, cloud, or blockchain that is permanent and difficult to tamper with so that it can be verified by the verification side. It is particularly well suited to blockchain.
[0016] The issuing institution 10 further provides the identification information, as well as a private key and / or verifiable proof (VC), to an IC card manufacturing factory, and requests that the factory issue an IC card 50 that stores the identification information, the private key, and / or the verifiable proof (VC). The issued IC card 50 is sent, for example, by mail to the user who requested the issuing institution 10 to issue the IC card 50.
[0017] The issuing institution 10 further provides the verifiable proof (VC) together with the identification information to the network storage 30, and the network storage 30 stores the verifiable proof (VC) in association with the acquired identification information.
[0018] When using the verifiable proof information (VC), for example, the user holds the IC card 50 over the information processing terminal 100, and causes the wallet application installed on the information processing terminal 100 to obtain the identification information and the private key from the IC card 50. At this time, the private key stored in the information processing terminal 100 may be set with an expiration date to ensure security, and may be usable only within the set expiration date. Then, the information processing terminal 100 accesses the URL (Universal Resource Locator) of the network storage 30 obtained from the IC card 50, obtains the verifiable proof information (VC) from the network storage 30, and stores the obtained verifiable proof information (VC) in the wallet application.
[0019] The information processing terminal 100 signs the verifiable proof information (VC) with a private key, and the wallet application encodes the signed verifiable proof information (VC) into a code such as a QR code (registered trademark), displays the QR code on a display, and allows the verification terminal 200 to read the QR code.
[0020] The verification terminal 200 decodes the acquired QR code and extracts the signed verifiable proof (VC) from the decoded QR code. The verification terminal 200 transmits the identification information acquired from the wallet application to the registry 20, acquires the public key associated with the identification information, and verifies the signed verifiable proof (VC) using the acquired public key.
[0021] If the verification of the signed verifiable proof information (VC) is successful, the verification terminal 200 notifies the information processing terminal 100 of the verification result and permits the information processing terminal 100 to carry out subsequent procedures using the wallet application.
[0022] Here, the information processing terminal 100 and the verification terminal 200 may have, for example, a hardware configuration as shown in Fig. 2. That is, the information processing terminal 100 and the verification terminal 200 have an interface device 101, a storage device 102, a memory device 103, a processor 104, a user interface (UI) device 105, and a communication device 106, which are interconnected via a bus B.
[0023] The programs and / or data that realize the various functions and processes in the information processing terminal 100 and the verification terminal 200 are downloaded to the storage device 102 or memory device 103 via the interface device 101 from an external device and / or a network.
[0024] The storage device 102 is realized by a nonvolatile memory or the like, and stores installed or downloaded programs or data (for example, files, etc.).
[0025] The memory device 103 is realized by a random access memory, a static memory, or the like, and when a program or instruction is activated, reads and stores the program, instruction, data, or the like from the storage device 102. The storage device 102, the memory device 103, and the removable storage medium may be collectively referred to as a non-transitory storage medium.
[0026] The processor 104 may be realized by one or more CPUs (Central Processing Units), GPUs (Graphics Processing Units), processing circuitry, etc., which may be composed of one or more processor cores, and performs various functions and processes of the information processing terminal 100 and the verification terminal 200 in accordance with programs, instructions, data such as parameters required to execute the programs or instructions, etc. stored in the memory device 103.
[0027] The user interface (UI) device 105 may be composed of input devices such as a keyboard, mouse, camera, microphone, etc., output devices such as a display, speaker, headset, printer, etc., and input / output devices such as a touch panel, and realizes an interface between the user and the information processing terminal 100 and the verification terminal 200. For example, the user may operate the information processing terminal 100 and the verification terminal 200 by operating a keyboard, mouse, etc. to use a GUI (Graphical User Interface) displayed on a display or touch panel.
[0028] The communication device 106 is realized by various communication circuits that execute wired and / or wireless communication processing with external devices, the Internet, a LAN (Local Area Network), a cellular network, or other communication networks.
[0029] Furthermore, the IC card 50 is not limited to a contactless IC card, and may have a hardware configuration as shown in FIGS. 3A and 3B. That is, as shown in FIG. 3A, the IC card 50 is composed of a card member on which a semiconductor chip 51 and an antenna coil 52 are mounted. As shown in FIG. 3B, the semiconductor chip 51 has an interface device 53, a ROM (Read-Only Memory) 54, a volatile memory device 55, and a processor 56, which are interconnected via a bus B. For example, the interface device 53 may be TYPE-A or TYPE-B as defined by ISO / IEC 14443. Alternatively, the interface device 53 may be FeliCa (registered trademark). The ROM 54 may be a flash memory.
[0030] The programs and / or data that realize the various functions and processes in the IC card 50 are stored in the ROM 54 via the interface device 53 from an external device and / or a network.
[0031] The volatile memory device 55 is realized by a RAM (Random Access Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), etc., and when a program or instruction is activated, it reads and stores the program, instruction, data, etc. from the ROM 54. The ROM 54 and the volatile memory device 55 may be collectively referred to as a non-transitory storage medium.
[0032] The processor 56 may be realized by one or more CPUs (Central Processing Units), which may be composed of one or more processor cores, processing circuitry, etc., and performs various functions and processes of the IC card 50 in accordance with programs, instructions, data such as parameters required to execute the programs or instructions, etc. stored in the volatile memory device 55.
[0033] However, the above-described hardware configuration is merely an example, and the information processing terminal 100, the verification terminal 200, and the IC card 50 according to the present disclosure may be realized by any other appropriate hardware configuration.
[0034] The information processing terminal 100 has a functional configuration as shown in Fig. 4. Fig. 4 is a block diagram showing the functional configuration of the information processing terminal 100 according to an embodiment of the present disclosure. As shown in Fig. 4, the information processing terminal 100 has an acquisition unit 110 and a presentation unit 120, and the detailed processing and functions of the acquisition unit 110 and the presentation unit 120 will be described in more detail in the following embodiments. Note that the acquisition unit 110 and the presentation unit 120 as functional units can be realized by the processor 104 of the information processing terminal 100 executing a program stored in the memory device 103.
[0035] Furthermore, the IC card 50 has a functional configuration as shown in Fig. 5. Fig. 5 is a block diagram showing the functional configuration of the IC card 50 according to one embodiment of the present disclosure. As shown in Fig. 5, the IC card 50 has a storage unit 51 and a processing unit 52, and the processing and functions of the storage unit 51 and the processing unit 52 will be described in more detail in the following embodiments. Note that the storage unit 51 and the processing unit 52 as functional units can be realized by the processor 56 of the IC card 50 executing a program stored in the memory device 55.
[0036] [First Example] In the information processing terminal 100 according to the first embodiment, the acquiring unit 110 acquires the identification information and the private key from the IC card 50 that stores the identification information and the private key. Specifically, when a user brings the IC card 50 close to the information processing terminal 100, the acquiring unit 110 extracts the user's identification information and the private key from the IC card 50, stores the extracted identification information and private key, and provides the identification information and the private key to the presenting unit 120. The acquiring unit 110 may also acquire a URL for accessing the network storage 30 from the IC card 50, or may acquire the URL by any other method.
[0037] Then, the acquisition unit 110 accesses the network storage 30 using the acquired URL, acquires verifiable proof information (VC) corresponding to the identification information from the network storage 30, and provides the verifiable proof information (VC) to the presentation unit 120. At this time, the verifiable proof information (VC) acquired from the network storage 30 can be encrypted with a public key corresponding to the identification information and transmitted to the information processing terminal 100, for example.
[0038] The presenting unit 120 signs the verifiable proof information (VC) corresponding to the identification information with a private key and presents the signed verifiable proof information (VC). Specifically, when the encrypted verifiable proof information (VC) is acquired from the network storage 30 via the acquiring unit 110, the presenting unit 120 decrypts the encrypted verifiable proof information (VC) with a private key and signs the decrypted verifiable proof information (VC) with the private key. Then, the presenting unit 120 encodes the signed verifiable proof information (VC) into a QR code and displays the encoded QR code on the display of the information processing terminal 100.
[0039] When the user has the verification terminal 200 read the QR code displayed on the display, the verification terminal 200 transmits a public key request to the registry 20 along with the identification information to acquire a public key corresponding to the identification information acquired from the information processing terminal 100. Upon acquiring the public key corresponding to the identification information from the registry 20, the verification terminal 200 decodes the QR code and verifies the signed verifiable proof information (VC) using the acquired public key. The verification terminal 200 then notifies the information processing terminal 100 of the verification result. Upon acquiring the verification result indicating that the verification was successful, the information processing terminal 100 can start subsequent transaction processing, etc.
[0040] FIG. 6 is a sequence diagram showing the process of issuing the IC card 50 according to the first embodiment of the present disclosure.
[0041] 6, in step S101, the user of the information processing terminal 100 requests the issuing institution 10 to issue an IC card 50 for the certification information. The certification information may be transmitted via a network or may be sent by mail. Alternatively, the user may provide the issuing institution 10 with any information that can identify the certification information.
[0042] In step S102, the issuing institution 10 issues identification information for identifying the user.
[0043] In step S103, the issuing authority 10 generates a public key and a private key, and also generates verifiable proof (VC) based on the proof information provided by the user.
[0044] In step S104, the issuing institution 10 transmits the identification information and the public key to the registry 20. Upon receiving the identification information and the public key from the issuing institution 10, the registry 20 stores the public key in association with the identification information.
[0045] In step S105, the issuing authority 10 encrypts the verifiable proof (VC) with a public key to generate encrypted verifiable proof (VC).
[0046] In step S106, the issuing institution 10 transmits the identification information and the encrypted verifiable proof (VC) to the network storage 30. Upon receiving the identification information and the encrypted verifiable proof (VC) from the issuing institution 10, the network storage 30 stores the encrypted verifiable proof (VC) in association with the identification information.
[0047] In step S107, the issuing institution 10 provides the identification information and the private key to the IC card manufacturing factory.
[0048] In step S108, the IC card 50 storing the identification information and the private key is manufactured at an IC card manufacturing factory.
[0049] In step S109, the manufactured IC card 50 is mailed to the user. Note that the IC card 50 does not necessarily have to be sent to the user by mail, and may be provided to the user by any other appropriate method. For example, the IC card 50 may be directly handed to the user by instant issuance. In instant issuance, a card issuing machine for the IC card 50 is installed at a given location (e.g., a government office), and the user goes to that location and completes procedures such as application on the spot. The user then receives the IC card 50 issued by the card issuing machine at that location. Specifically, the card issuing machine and the IC card 50 are prepared at a given location. Before issuance, only basic software such as an OS (Operating System) is written into the IC card 50, and the card issuing machine writes a private key to the IC card 50 according to the issuance process described above. After the private key is written, the IC card 50 is handed over to the user.
[0050] 7 is a sequence diagram showing authentication processing according to the first embodiment of the present disclosure. As shown in FIG. 7, in step S201, the user holds the IC card 50 over the information processing terminal 100.
[0051] In step S202, the information processing terminal 100 starts the wallet application. At this time, the information processing terminal 100 may request the user to input a PIN (Personal Identification Number). If the wallet application is not installed in the information processing terminal 100, the wallet application may be installed in the information processing terminal 100 and then started.
[0052] In step S203, the information processing terminal 100 provides the IC card 50 with the PIN entered by the user.
[0053] In step S204, the IC card 50 authenticates the PIN acquired from the information processing terminal 100. For example, the IC card 50 may determine that the authentication has been successful if the PIN that the IC card 50 possesses matches the PIN acquired from the information processing terminal 100.
[0054] In step S205, the IC card 50 provides the user's identification information and private key, as well as a URL for accessing the network storage 30, to the information processing terminal 100. For example, while the IC card 50 is held over the information processing terminal 100, the identification information, private key, and URL can be read by the information processing terminal 100.
[0055] In step S206, the information processing terminal 100 accesses the network storage 30 using the acquired URL to acquire the verifiable proof information (VC) from the network storage 30, and sends an acquisition request for the verifiable proof information (VC) together with the identification information to the network storage 30.
[0056] In step S207, in response to a request from the information processing terminal 100 to obtain verifiable proof information (VC), the network storage 30 identifies the verifiable proof information (VC) corresponding to the identification information and transmits the encrypted verifiable proof information (VC) to the information processing terminal 100.
[0057] In step S208, the information processing terminal 100 decrypts the encrypted verifiable proof information (VC) acquired from the network storage 30 using the private key, and signs the decrypted verifiable proof information (VC) using the private key. Furthermore, the information processing terminal 100 encodes the signed verifiable proof information (VC) into a QR code, and displays the QR code on the display.
[0058] In step S209, the user executes a transaction using the certification information via the verification terminal 200, so the information processing terminal 100 causes the verification terminal 200 to read the QR code displayed on the display. Furthermore, the information processing terminal 100 notifies the verification terminal 200 of the user's identification information.
[0059] In step S210, the verification terminal 200 transmits to the registry 20 a request to acquire the public key corresponding to the identification information.
[0060] In step S211, the verification terminal 200 obtains from the registry 20 a public key corresponding to the identification information.
[0061] In step S212, the verification terminal 200 decodes the QR code acquired from the information processing terminal 100 to acquire verifiable proof information (VC) with a signature. Furthermore, the verification terminal 200 verifies the verifiable proof information (VC) with a signature using the public key.
[0062] In step S213, if the verification is successful, the verification terminal 200 notifies the information processing terminal 100 of the verification result indicating that the verification is successful, and permits subsequent transactions using the user's verifiable proof information (VC). On the other hand, if the verification is unsuccessful, the verification terminal 200 notifies the information processing terminal 100 of the verification result indicating that the verification is unsuccessful, and cancels transactions with the user using the verifiable proof information (VC).
[0063] According to the first embodiment described above, the private key can be stored in the IC card 50 and provided to the information processing terminal 100 from the IC card 50 without going through a network, thereby reducing the risk of the private key being leaked.
[0064] [Second Example] In the first embodiment, the information processing terminal 100 acquires the user's identification information, the private key, and the URL of the network storage 30 from the IC card 50, and signs the verifiable proof (VC) with the acquired private key. However, the present disclosure is not limited to this, and the verifiable proof (VC) may be signed with the private key within the IC card 50, not within the information processing terminal 100. In the second embodiment, the information processing terminal 100 acquires the user's identification information and the URL of the network storage 30 from the IC card 50, and also acquires the verifiable proof (VC) with the signature signed with the private key within the IC card 50. This allows the information processing terminal 100 to present the signed verifiable proof (VC) to the verification terminal 200 without providing the private key to the information processing terminal 100.
[0065] In the second embodiment, the acquiring unit 110 acquires identification information from an IC card 50 that stores identification information and a private key. Specifically, when a user brings the IC card 50 close to the information processing terminal 100, the acquiring unit 110 extracts the user's identification information from the IC card 50, stores the extracted identification information, and provides the identification information to the presenting unit 120. At this time, the acquiring unit 110 may acquire a URL for accessing the network storage 30 from the IC card 50, or may acquire the URL by any other method.
[0066] The acquiring unit 110 then accesses the network storage 30 using the acquired URL, acquires verifiable proof information (VC) corresponding to the identification information from the network storage 30, and provides the verifiable proof information (VC) to the presenting unit 120. At this time, the verifiable proof information (VC) acquired from the network storage 30 is encrypted with a public key and transmitted to the information processing terminal 100.
[0067] The presenting unit 120 presents the verifiable proof information with a signature that is generated by the IC card 50 using the private key for the verifiable proof information corresponding to the identification information. Specifically, the presenting unit 120 transmits the encrypted verifiable proof information (VC) obtained from the network storage 30 to the IC card 50. Upon obtaining the encrypted verifiable proof information (VC) from the presenting unit 120, the IC card 50 decrypts the encrypted verifiable proof information (VC) with the private key and signs the decrypted verifiable proof information (VC) with the private key. Upon obtaining the signed verifiable proof information (VC) from the IC card 50, the presenting unit 120 encodes the signed verifiable proof information (VC) into a QR code and displays the encoded QR code on the display of the information processing terminal 100.
[0068] When the user has the verification terminal 200 read the QR code displayed on the display, the verification terminal 200 transmits a public key request to the registry 20 together with the identification information to acquire a public key corresponding to the identification information acquired from the information processing terminal 100. Upon acquiring the public key corresponding to the identification information from the registry 20, the verification terminal 200 decodes the QR code and verifies the signed verifiable proof information (VC) using the acquired public key. The verification terminal 200 then notifies the information processing terminal 100 of the verification result. Upon acquiring a verification result indicating that the verification was successful, the information processing terminal 100 executes subsequent transaction processing, etc.
[0069] 8 is a sequence diagram showing authentication processing according to the second embodiment of the present disclosure. As shown in FIG. 8, in step S301, the user holds the IC card 50 over the information processing terminal 100.
[0070] In step S302, the information processing terminal 100 starts the wallet application. At this time, the information processing terminal 100 may request the user to enter a PIN. If the wallet application is not installed in the information processing terminal 100, the wallet application may be installed in the information processing terminal 100 and then started.
[0071] In step S303, the information processing terminal 100 provides the IC card 50 with the PIN entered by the user.
[0072] In step S304, the IC card 50 authenticates the PIN acquired from the information processing terminal 100. For example, the IC card 50 may determine that the authentication has been successful if the PIN that the IC card 50 possesses matches the PIN acquired from the information processing terminal 100.
[0073] In step S305, the IC card 50 provides the information processing terminal 100 with the user's identification information and a URL for accessing the network storage 30. For example, while the IC card 50 is held over the information processing terminal 100, the identification information and the URL can be read by the information processing terminal 100.
[0074] In step S306, the information processing terminal 100 accesses the network storage 30 using the acquired URL, and transmits to the network storage 30 an acquisition request for verifiable proof information (VC) together with the identification information.
[0075] In step S307, the network storage 30 identifies the verifiable proof information (VC) corresponding to the identification information in response to the request for obtaining the verifiable proof information (VC) from the information processing terminal 100, and encrypts the verifiable proof information (VC) with the public key corresponding to the identification information. Then, the network storage 30 provides the encrypted verifiable proof information (VC) to the information processing terminal 100.
[0076] In step S308, the information processing terminal 100 provides the encrypted verifiable proof information (VC) acquired from the network storage 30 to the IC card 50.
[0077] In step S309, the IC card 50 decrypts the encrypted verifiable proof information (VC) with the private key, and signs the decrypted verifiable proof information (VC) with the private key.
[0078] In step S310, the IC card 50 provides the information processing terminal 100 with verifiable proof information (VC) with a signature.
[0079] In step S311, the information processing terminal 100 encodes the signed verifiable proof information (VC) into a QR code and displays the QR code on a display. In order for a user to execute a transaction using the proof information via the verification terminal 200, the information processing terminal 100 causes the verification terminal 200 to read the QR code displayed on the display. Furthermore, the information processing terminal 100 notifies the verification terminal 200 of the user's identification information.
[0080] In step S312, the verification terminal 200 transmits to the registry 20 a request to acquire the public key corresponding to the identification information.
[0081] In step S313, the verification terminal 200 obtains from the registry 20 the public key corresponding to the identification information.
[0082] In step S314, the verification terminal 200 verifies the signed verifiable proof (VC) using the public key.
[0083] In step S315, if the verification is successful, the verification terminal 200 notifies the information processing terminal 100 of the verification result indicating that the verification is successful, and permits subsequent transactions using the user's verifiable proof information (VC). On the other hand, if the verification is unsuccessful, the verification terminal 200 notifies the information processing terminal 100 of the verification result indicating that the verification is unsuccessful, and discontinues transactions with the user using the verifiable proof information (VC).
[0084] According to the second embodiment described above, the information processing terminal 100 can obtain encrypted verifiable proof information (VC) without providing the private key stored in the IC card 50 to the information processing terminal 100, thereby further reducing the risk of the private key being leaked.
[0085] [Third Example] In the first and second embodiments, it is assumed that the information processing terminal 100 can access the network storage 30 via a communication network such as the Internet, but the information processing terminal 100 is not limited to being online. A user can use authentication processing using an IC card 50 without using the information processing terminal 100. In a third embodiment, when a user holds the IC card 50 over the verification terminal 200 and enters a PIN, the IC card 50 transmits a verifiable proof (VC) signed with a private key to the verification terminal 200 along with the user's identification information. The verification terminal 200 verifies the signed verifiable proof (VC) with the corresponding public key obtained from the registry 20, and displays the verification result on a display or the like.
[0086] In the IC card 50 according to the third embodiment, the storage unit 51 stores a verifiable proof (VC), identification information for identifying a user associated with the verifiable proof (VC), and a private key for signing the verifiable proof (VC), and the processing unit 52 signs the verifiable proof (VC) using the private key. The processing unit 52 then provides the signed verifiable proof (VC) to the verification terminal 200.
[0087] The storage unit 51 may store the verifiable proof (VC) signed with the private key and the identification information, but may not store the private key itself. In this case, the processing unit 52 may provide the verifiable proof (VC) with the signature stored in the storage unit 51 to the verification terminal 200 in response to an acquisition request from the verification terminal 200.
[0088] 9 is a sequence diagram showing the process of issuing an IC card 50 according to the third embodiment of the present disclosure. As shown in FIG. 9, in step S401, the user of the information processing terminal 100 requests the issuing institution 10 to issue an IC card 50 for certification information. The certification information may be transmitted via a network or may be sent by mail. Alternatively, the user may provide the issuing institution 10 with any information that can identify the certification information.
[0089] In step S402, the issuing institution 10 issues identification information for identifying the user.
[0090] In step S403, the issuing institution 10 generates a public key and a private key, and also generates proof (VC) that can be verified against the proof information provided by the user.
[0091] In step S404, the issuing institution 10 transmits the identification information and the public key to the registry 20. Upon receiving the identification information and the public key from the issuing institution 10, the registry 20 stores the public key in association with the identification information.
[0092] In step S405, the issuing institution 10 provides the identification information, the private key, and the verifiable certification information (VC) to the IC card manufacturing factory. Note that if the identification information and the verifiable certification information (VC) with a signature signed by the private key are stored in the IC card 50 instead of the identification information, the private key, and the verifiable certification information (VC), the issuing institution 10 may provide the identification information and the verifiable certification information (VC) with the signature to the IC card manufacturing factory.
[0093] In step S406, the IC card 50 storing the identification information, the private key, and the verifiable proof (VC) is manufactured at an IC card manufacturing factory.
[0094] In step S407, the manufactured IC card 50 is mailed to the user.
[0095] 10 is a sequence diagram showing an authentication process according to the third embodiment of the present disclosure. As shown in FIG. 10, in step S501, the user holds the IC card 50 over the verification terminal 200 and inputs the PIN into the verification terminal 200.
[0096] In step S502, the verification terminal 200 provides the IC card 50 with the PIN entered by the user.
[0097] In step S503, the IC card 50 authenticates the PIN acquired from the verification terminal 200. For example, the IC card 50 may determine that the authentication has been successful if the PIN it possesses matches the PIN acquired from the verification terminal 200.
[0098] In step S504, the IC card 50 signs a verifiable proof (VC) using the private key.
[0099] In step S505, the IC card 50 transmits the identification information and the verifiable proof information (VC) with the signature to the verification terminal 200.
[0100] In step S506, the verification terminal 200 transmits to the registry 20 a request to acquire the public key corresponding to the identification information.
[0101] In step S507, the verification terminal 200 obtains from the registry 20 the public key corresponding to the identification information.
[0102] In step S508, the verification terminal 200 verifies the signed verifiable proof (VC) using the public key.
[0103] In step S509, if the verification is successful, the verification terminal 200 notifies the user of the verification result indicating that the verification is successful and allows subsequent transactions using the user's verifiable proof (VC). On the other hand, if the verification is unsuccessful, the verification terminal 200 notifies the user of the verification result indicating that the verification is unsuccessful and cancels transactions with the user using the verifiable proof (VC).
[0104] According to the third embodiment described above, the authentication process can be executed between the IC card 50 and the verification terminal 200 without using the information processing terminal 100, and the risk of the private key being leaked can be further reduced.
[0105] [Specific example] Next, a specific example in which the above-described embodiment is applied to the purchase process of a student commuter pass will be described. In this example, the user initially registers the information stored in the IC card 50 in the wallet application of the information processing terminal 100, and after the registration is completed, the user communicates with the verification terminal 200 to perform the purchase process of the student commuter pass. To purchase a student commuter pass, a school commuter certificate issued by the school is typically required.
[0106] 11 is a sequence diagram showing a process of registering encrypted verifiable proof (VC) to a wallet application in a specific example of the present disclosure. As shown in FIG. 11, in step S601, a user holds IC card 50 over information processing terminal 100.
[0107] In step S602, the information processing terminal 100 starts the wallet application. At this time, the information processing terminal 100 may request the user to enter a PIN. If the wallet application is not installed in the information processing terminal 100, the wallet application may be installed in the information processing terminal 100 and then started.
[0108] In step S603, the information processing terminal 100 provides the IC card 50 with the PIN entered by the user.
[0109] In step S604, the IC card 50 authenticates the PIN acquired from the information processing terminal 100. For example, the IC card 50 may determine that the authentication has been successful if the PIN that the IC card 50 possesses matches the PIN acquired from the information processing terminal 100.
[0110] In step S605, the IC card 50 provides the user's identification information, private key, and URL for accessing the network storage 30 to the information processing terminal 100. For example, while the IC card 50 is held over the information processing terminal 100, the identification information, private key, and URL can be read by the information processing terminal 100.
[0111] In step S606, the information processing terminal 100 accesses the network storage 30 using the acquired URL to acquire verifiable proof information (VC) from the network storage 30, and sends an acquisition request for the verifiable proof information (VC) together with the identification information to the network storage 30.
[0112] In step S607, in response to the request for verifiable proof information (VC) from the information processing terminal 100, the network storage 30 identifies the verifiable proof information (VC) corresponding to the identification information, encrypts the verifiable proof information with the public key corresponding to the identification information, and transmits the encrypted verifiable proof information (VC) to the information processing terminal 100. Here, the verifiable proof information may be, for example, a verifiable student ID card (VC).
[0113] In step S608, the information processing terminal 100 registers, in the wallet application, the encrypted verifiable proof (VC) acquired from the network storage 30. As a result, the encrypted verifiable proof (VC) is registered in the wallet application of the information processing terminal 100.
[0114] 12 is a sequence diagram showing an authentication process using encrypted verifiable proof information (VC) in a specific example of the present disclosure. As shown in FIG. 12, in step S701, the user operates the information processing terminal 100 to start the wallet application and request acquisition of a school commuter certificate.
[0115] In step S702, the information processing terminal 100 decrypts the encrypted verifiable proof information (VC) registered in the wallet application with the private key, and signs the decrypted verifiable proof information (VC) with the private key.
[0116] In step S703, the information processing terminal 100 transmits the signed verifiable proof (VC) together with the identification information to the issuing institution 10.
[0117] In step S704, the issuing authority 10 requests the registry 20 for a public key corresponding to the identification information.
[0118] In step S705, the issuing institution 10 obtains from the registry 20 a public key corresponding to the identification information.
[0119] In step S706, the issuing authority 10 verifies the signed verifiable proof (VC) with the public key.
[0120] In step S707, if the verification is successful, the issuing institution 10 transmits the school commute certificate to the information processing terminal 100. If the verification is unsuccessful, the issuing institution 10 may return the verification result to the information processing terminal 100.
[0121] In step S708, the information processing terminal 100 starts up a railway application in order to purchase a student commuter pass using the acquired student commuter certificate.
[0122] In step S709, the information processing terminal 100 transmits the signed verifiable proof (VC) together with the identification information to the verification terminal 200.
[0123] In step S710, the verification terminal 200 requests the registry 20 for a public key corresponding to the identification information.
[0124] In step S711, the verification terminal 200 obtains from the registry 20 a public key corresponding to the identification information.
[0125] In step S712, the verification terminal 200 verifies the signed verifiable proof (VC) using the public key.
[0126] In step S713, if the verification is successful, the verification terminal 200 notifies the information processing terminal 100 of the verification result indicating that the verification is successful, and permits subsequent transactions using the user's verifiable proof information (VC). On the other hand, if the verification is unsuccessful, the verification terminal 200 notifies the information processing terminal 100 of the verification result indicating that the verification is unsuccessful, and discontinues transactions with the user using the verifiable proof information (VC).
[0127] According to the above-described embodiment, the private key can be stored in the IC card 50 and provided to the information processing terminal 100 from the IC card 50 without going through a network, thereby reducing the risk of the private key being leaked.
[0128] Although the examples of the present disclosure have been described in detail above, the present disclosure is not limited to the specific embodiments described above, and various modifications and variations are possible within the scope of the gist of the present disclosure as set forth in the claims. [Explanation of symbols]
[0129] 10. Issuing Authority 20 Registry 30 Network Storage 50 IC cards 51 Storage section 52 Processing section 100 Information processing terminal 110 Acquisition Department 120 Presentation section 200 Verification Terminal
Claims
1. acquiring the identification information and the private key from an IC card storing the identification information and the private key; signing verifiable proof information corresponding to the identification information with the private key and presenting the signed verifiable proof information; A program that causes an information processing terminal to execute the above.
2. 2. The program according to claim 1, wherein presenting the signed verifiable proof information comprises causing the information processing terminal to display an encoded code of the signed verifiable proof information.
3. The program of claim 1 , wherein presenting the signed verifiable certification information includes sending an acquisition request including the identification information to network storage and acquiring verifiable certification information associated with the identification information from the network storage.
4. 2. The program according to claim 1, further causing the information processing terminal to obtain a verification result obtained by verifying the presented verifiable certificate information with a signature using a public key corresponding to the identification information.
5. an acquisition unit that acquires the identification information and the private key from an IC card that stores the identification information and the private key; a presentation unit that signs verifiable proof information corresponding to the identification information with the private key and presents the signed verifiable proof information; An information processing terminal having:
6. acquiring the identification information and the private key from an IC card storing the identification information and the private key; signing verifiable proof information corresponding to the identification information with the private key and presenting the signed verifiable proof information; The information processing method is executed by an information processing terminal.
7. acquiring the identification information from an IC card storing the identification information and the private key; presenting verifiable proof information corresponding to the identification information and having a signature generated by the IC card using the private key; A program that causes an information processing terminal to execute the above.
8. 8. The program according to claim 7, wherein presenting the signed verifiable proof information includes causing the information processing terminal to display an encoded code of the signed verifiable proof information.
9. The program of claim 7, wherein presenting the signed verifiable certification information includes sending an acquisition request including the identification information to network storage and acquiring the signed verifiable certification information associated with the identification information from the network storage.
10. 8. The program according to claim 7, further causing the information processing terminal to obtain a verification result obtained by verifying the presented verifiable proof information with a signature using a public key corresponding to the identification information.
11. an acquisition unit that acquires the identification information from an IC card that stores the identification information and the private key; a presentation unit that presents verifiable proof information corresponding to the identification information and that includes a signature generated by the IC card using the private key; An information processing terminal having:
12. acquiring the identification information from an IC card storing the identification information and the private key; presenting verifiable proof information corresponding to the identification information and having a signature generated by the IC card using the private key; The information processing method is executed by an information processing terminal.
13. a storage unit that stores verifiable proof, identification information that identifies a user associated with the verifiable proof, and a private key for signing the verifiable proof; a processor for signing the verifiable proof with the private key; An IC card having the above structure.
Citation Information
Patent Citations
Biological information collating system
JP2008033850A
Information cooperation system and information management method
JP2020149645A