WO2025224893A1 - Hardware device - Google Patents
Hardware deviceInfo
- Publication number
- WO2025224893A1 WO2025224893A1 PCT/JP2024/016107 JP2024016107W WO2025224893A1 WO 2025224893 A1 WO2025224893 A1 WO 2025224893A1 JP 2024016107 W JP2024016107 W JP 2024016107W WO 2025224893 A1 WO2025224893 A1 WO 2025224893A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- wallet
- agent
- authentication
- hardware device
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Definitions
- the present invention relates to cloud wallet technology for managing digital identities.
- a Holder is a user who manages/holds their own digital identity.
- An Issuer certifies attribute information (name, age, address, etc.) and qualification information (employee of a certain company, membership of a certain service, etc.) to a user, and then issues an Attribute/Qualification Certificate (VC).
- a Verifier requests and receives the Attribute/Qualification Certificate (VC) required to provide a service from the Holder, thereby verifying the Holder's attributes, qualifications, etc., and making decisions about providing the service.
- Non-Patent Document 1 a binding method for showing that this VC was indeed issued to the Holder and presented by that Holder.
- One method is to show the association between the VC and the Holder by binding the VC to a device (hardware) equipped with a wallet for storing the VC held by the Holder (Non-Patent Document 1).
- the present invention was made in consideration of the above points, and aims to provide technology that enables appropriate authentication using credentials such as VC, even when the hardware on which the wallet operates is changed.
- FIG. 1 is a diagram illustrating an image of association in the technology.
- FIG. 1 is a diagram for explaining a problem.
- FIG. 1 is a diagram showing a hardware binding sequence based on Non-Patent Document 1.
- FIG. 1 is a diagram showing a hardware binding sequence based on Non-Patent Document 1.
- FIG. 1 is a diagram showing a hardware binding sequence based on Non-Patent Document 1.
- FIG. 1 is a diagram for explaining an outline of the operation according to the present embodiment.
- FIG. 1 is a diagram illustrating an example of the configuration of a cloud wallet system 100.
- FIG. 10 is a diagram illustrating an example 1 of a discovery procedure for HW.
- FIG. 10 is a diagram illustrating an example 2 of a discovery procedure for HW.
- FIG. 10 is a diagram illustrating an example 1 of a discovery procedure for HW.
- FIG. 10 is a diagram illustrating an example 3 of a HW discovery procedure.
- FIG. 10 is a diagram illustrating an example of a procedure for issuing a certificate according to the first embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of authentication processing 1 in the first embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of authentication processing 2 in the first embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure related to initial setting and authentication/certification in the second embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of an issuing process 1 in a second embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of an issuance process 2 in the second embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of an issuance process 2 in the second embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of authentication processing 1 in the second embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of authentication process 2 in the second embodiment.
- FIG. 10 is a diagram illustrating an example of a procedure of a process executed by the agent 15 during authentication.
- FIG. 10 is a diagram showing an example of a procedure of processing executed by the agent 15 when issuing a VC.
- FIG. 2 illustrates an example of a hardware configuration of the apparatus.
- Non-Patent Document 1 https://github.com/decentralized-identity/wallet-security/blob/main/work_items/device_binding.md).
- Figure 1 shows an example of the association in this technology.
- binding between a VC, device, and Holder is performed by including in the VC a public key generated by the hardware of the device on which the wallet runs.
- Non-Patent Document 1 it is difficult to apply the conventional technology disclosed in Non-Patent Document 1 to a configuration in which a wallet operates in the cloud.
- the hardware on which the wallet operates may change, and the wallet may be operating on hardware that is different from the one in place when the VC was issued.
- Figure 2 shows the procedure for the technology disclosed in Non-Patent Document 1, and the lower part shows the procedure when this technology is implemented on the cloud.
- step 1 the user (holder) device sends a public key generated from the hardware to the issuer.
- the issuer issues a VC including the public key to the device.
- the device presents the VC including the public key to the verifier.
- the verifier authenticates the device via a challenge-response using the public key.
- FIG. 2 shows the case where the wallet is cloud-based.
- the server on which the wallet runs when the VC is issued is different from the server on which the wallet runs when it is authenticated.
- the public key will be different when the VC is issued and when it is authenticated, so authentication will fail.
- Non-Patent Document 1 itself is publicly known, but Figures 3 to 5 themselves are not publicly known. Furthermore, in the explanation of Figures 3 to 5, "three-party authentication” may be replaced with "certification,”"two-partyauthentication” with “authentication,””proof” with “attestation,” and "qualification information” with "credential.”
- S11 to S13 are the initial setup stages
- S14 to S20 are the authentication/certification stages.
- the Certifying entity 40 registers the wallet and three-party certificate with the Trust registry 50.
- the Trust registry 50 is a trusted storage device, which may also be referred to as the "storage device.”
- the Issuer 20 requests the wallet information required by the Issuer 20 from the Trust registry 50.
- the user installs the wallet on the device.
- the wallet 10 requests a wallet two-party authentication VC from the Certifying entity 40.
- application authentication is performed between the wallet 10 and the Certifying entity 40 (SafetyNet/DeviceChecker).
- the wallet 10 generates a hardware-backed key.
- the wallet 10 sends the wallet attestation, key, and key attestation to the certifying entity 40.
- the certifying entity 40 checks the attestations for the app and key.
- the certifying entity 40 issues wallet bilateral authentication credentials to the wallet 10.
- the above process binds the wallet 10 to the hardware and performs two-party authentication.
- the wallet 10 and the hardware are bound, so if the wallet 10 is moved to another piece of hardware, two-party authentication must be obtained again.
- Non-Patent Document 1 With reference to Figure 4, the issuance sequence based on Non-Patent Document 1 will be explained.
- Issuer 20 requests wallet functions from Wallet 10.
- Wallet 10 notifies Issuer 20 of its wallet security functions.
- Issuer 20 requests wallet two-party authentication credentials from Wallet 10.
- Wallet 10 presents the wallet two-party authentication credentials to Issuer 20.
- Issuer 20 requests a challenge from Wallet 10.
- Wallet 10 presents Issuer 20 with a challenge response using a hardware key.
- Issuer 20 checks the wallet two-party authentication and the challenge response.
- Issuer 20 proposes to Wallet 10 that it issue credentials bound to a hardware key.
- Wallet 10 requests Issuer 20 to issue credentials bound to a hardware key.
- Issuer 20 issues credentials bound to a hardware key to Wallet 10.
- the verifier 30 requests the wallet function from the wallet 10.
- the wallet 10 notifies the verifier 30 of the wallet security function.
- the verifier 30 requests the wallet 10 to display the credentials bound to the hardware key.
- the wallet 10 displays the credentials bound to the hardware key to the verifier 30.
- a challenge-response procedure is executed between the verifier 30 and the wallet 10.
- steps S56 and S57 verification is performed using credentials bound to the hardware.
- credential verification will fail if the wallet is moved to a different piece of hardware.
- a cloud wallet system includes multiple pieces of hardware (HW) each capable of running a wallet.
- HW hardware
- a resident agent is deployed in each of all HW that a user can use (i.e., that can perform binding), and the agent takes over authentication.
- the HW is a TEE (Trusted Execution Environment).
- the HW is not limited to being a TEE.
- the HW on which a wallet of a certain user (holder) runs may be changed from one HW to another.
- each HW discovers each of the other HWs and obtains their public keys.
- HW2 receives a challenge request (encrypted data, etc.).
- the agent of HW2 determines that decryption by HW1, which corresponds to the public key included in the VC, is necessary, and requests decryption from the agent of HW1, thereby obtaining the decrypted data required for the challenge response.
- (System configuration example) 7 shows an example of the configuration of a cloud wallet system 100 according to this embodiment.
- the "cloud wallet system” may also be called a “cloud wallet device.”
- the hardware and HW described below may also be called a hardware device and an HW device, respectively.
- FIG. 7 also shows Holder 12, Issuer 20, and Verifier 30, which communicate with the cloud wallet system 100.
- Holder 12 is, for example, a terminal held by a user.
- Issuer 20 and Verifier 30 are, for example, servers.
- the cloud wallet system 100 comprises multiple pieces of hardware (HW_1 to HW_N) on which wallets 10 operate.
- Each piece of hardware 160 is equipped with an agent 15 that performs challenge-response authentication processing with the verifier 30 while coordinating with the other hardware.
- the agent 15 resides in the hardware 160.
- the cloud wallet system 100 also includes a wallet management unit 130, a VC request unit 110, a VC receiving unit 120, a VC presenting unit 140, a responding unit 150, a receiving unit 170, and a notifying unit 180.
- the wallet management unit 130 manages the wallet 10.
- the VC request unit 110 requests the issuer 20 to issue a VC.
- the VC receiving unit 120 receives the VC issued by the issuer 20.
- the VC presenting unit 140 presents the VC to the verifier 30.
- the responding unit 150 responds with a challenge response.
- the accepting unit 170 accepts a VC issuance request and an authentication request from the holder 12.
- the notifying unit 180 notifies the holder 12 of the VC issuance notification and the authentication result.
- agent 15A sends a hardware key request to agent 15C.
- agent 15C sends C's hardware key to agent 15A.
- agent 15A holds the combination of hardware and hardware key for each of A to C.
- HW discovery procedure example 2 Next, a second example of a HW discovery procedure will be described with reference to Fig. 9.
- a procedure will be described in which a list of all combinations of HW and public keys is stored in advance in the public key DB 60.
- the public key DB 60 may be provided within the cloud wallet system 100 or outside the cloud wallet system 100.
- the public key DB 60 sends a hardware key request to agent 15A.
- agent 15A sends A's hardware key to the public key DB 60.
- steps S123 to S126 are executed, and in S127 the public key DB 60 stores a combination of hardware and hardware key for each of A to C.
- agent 15A compares its own HW public key with the public key received from agent 15B and determines that they match, and in S136 replies that it is A's HW key.
- agent 15C compares its own HW public key with the public key received from agent 15B and determines that they do not match, and in S137 replies that it is not C's HW key.
- Example 1 Issuance process
- the process of issuing a VC including a HW key (a public key of the HW) in the first embodiment will be described with reference to Fig. 11.
- the VC including the HW key corresponds to the "qualification information bound to the hardware key" shown in Fig. 4.
- the wallet AP is started in hardware A.
- Holder 12 sends a VC issuance request to wallet 10A.
- wallet 10A requests the HW key from agent 15A.
- agent 15A sends its own HW key (the public key of hardware A) to wallet 10A.
- HW key the public key of hardware A
- a public key obtained from a predetermined specific HW may be returned instead of the public key of its own HW.
- agents deployed on HW other than that specific HW will always request an agent deployed on that specific HW to decrypt the encrypted authentication data, eliminating the need for HW discovery.
- the agent 15A decrypts the authentication data with the private key, and in S209, sends the decrypted authentication data to the wallet 10A.
- wallet 10A sends a challenge response (decryption authentication data) to Issuer 20.
- Issuer 20 checks the challenge response and determines that it is OK.
- Issuer 20 issues a VC including the HW key to wallet 10A.
- wallet 10A sends a VC issuance notification to Holder 12.
- Authentication Process 1 is an example in which authentication is performed using the same HW as when the VC was issued.
- the wallet AP is started in hardware A.
- Holder 12 sends an authentication request to wallet 10A.
- wallet 10A sends a VC including the HW key to Verifier 30 as an authentication request.
- Verifier 30 sends a challenge request (authentication data encrypted using the HW key) to wallet 10A.
- wallet 10A sends the VC containing the HW key and the encrypted authentication data to agent 15A.
- S225 when performing authentication, it is necessary to generate the same key as when the VC was issued, so it is necessary to pass the information provided in the seed when the VC was issued, such as the wallet ID, to agent 15A and request regeneration of the key. In other words, in S225, in order to regenerate the associated key, it is necessary to send information such as the wallet ID sent during the issuance process.
- agent 15A checks the HW key included in the VC and determines that the key belongs to its own HW. In S227, agent 15A decrypts the authentication data using the private key. In S228, agent 15A sends the decrypted authentication data to wallet 10A.
- Authentication process 2 is an example in which authentication is performed using HW different from that used when issuing the VC.
- wallet 10B sends a VC including the HW key as an authentication request to verifier 30.
- verifier 30 sends a challenge request (authentication data encrypted using the HW key) to wallet 10B.
- wallet 10B sends the VC containing the HW key and the encrypted authentication data to agent 15B.
- agent 15B checks the HW key included in the VC and determines that the key belongs to another HW. In S249, agent 15B obtains HW information from a list or dynamically and determines that the key belongs to A.
- agent 15B sends encrypted authentication data (decryption request) to agent 15A.
- information such as the wallet ID sent during the issuance process is sent in order to regenerate the associated key.
- agent 15A decrypts the authentication data using the private key.
- agent 15A transmits the decrypted authentication data to agent 15B.
- agent 15B transmits the decrypted authentication data to wallet 10B.
- wallet 10B sends a challenge response (decrypted authentication data) to Verifier 30.
- Verifier 30 checks the challenge response and determines that it is OK.
- Verifier 30 sends an authentication pass notification to wallet 10B.
- wallet 10B sends an authentication pass notification to Holder 12.
- Example 2 Initial Setup, Authentication/Certification
- a wallet authentication certificate including a HW key a public key of the HW
- the "wallet authentication certificate” corresponds to the "wallet two-party authentication credential information” shown in FIG. 5.
- the “wallet authentication certificate” is information that proves that the wallet is authenticated.
- the wallet authentication certificate and the VC may be collectively referred to as credential information.
- Steps S261 to S264 are the initial setup procedure
- steps S265 to S272 are the authentication/certification procedure.
- Certifying entity 40 performs a wallet audit and authentication for wallet 10A. In S262, Certifying entity 40 performs a wallet audit and authentication for wallet 10B.
- the Certifying entity 40 registers the wallet and certificate with the Trust registry 50.
- the Issuer 20 requests wallet information from the Trust registry 50.
- the wallet AP is installed in hardware A.
- wallet 10A requests a wallet authentication certificate from certifying entity 40.
- application authentication is performed between wallet 10A and certifying entity 40.
- wallet 10A requests the HW key from agent 15A. Note that in S268, since the key generated from the HW is generated uniquely for the wallet, information such as the wallet ID is sent as necessary at the time of the request. In S269, agent 15A sends its own HW key to wallet 10A.
- wallet 10A sends the wallet certification, HW key, and HW key certification to certifying entity 40.
- the certifying entity 40 checks the authentication of the wallet application and key. In S272, the certifying entity 40 issues a wallet authentication certificate to the wallet 10A.
- Example 2 Issuance Process 1
- a process 1 for issuing a VC including a HW key in the second embodiment will be described with reference to Fig. 15.
- the process 1 is an example of a process in which a VC is issued using the same HW as when a wallet authentication certificate is issued.
- the wallet AP is started.
- Holder 12 sends a VC issuance request to Wallet 10A.
- wallet 10A sends a wallet authentication certificate (VC issuance request) to Issuer 20.
- a request for wallet functions may be made from Issuer 20 in advance
- wallet 10A may respond with wallet security functions, and then this transmission may be made as a response to the subsequent request for a wallet authentication certificate from Issuer 20.
- Issuer 20 sends a challenge request (authentication data encrypted using the HW key) to wallet 10A.
- wallet 10A sends a wallet authentication certificate and encrypted authentication data to agent 15A.
- agent 15A checks the HW key included in the authentication certificate and determines that the key belongs to its own HW.
- the agent 15A decrypts the authentication data with the private key, and in S288, sends the decrypted authentication data to the wallet 10A.
- wallet 10A sends a challenge response (decrypted authentication data) to Issuer 20.
- Issuer 20 checks the wallet authentication and challenge response and determines that they are OK.
- Issuer 20 issues a VC including a HW key to wallet 10A.
- Issuer 20 may propose the issuance of a VC including a HW key, and the VC may be issued in response to a request from wallet 10A.
- wallet 10A sends a VC issuance notification to Holder 12.
- Example 2 Issuance process 2
- a process 2 for issuing a VC including a HW key in the second embodiment will be described with reference to Fig. 16.
- the process 2 is an example of a process in which a VC is issued using HW different from that used when issuing a wallet authentication certificate.
- the authentication certificate is transferred from wallet 10A to wallet 10B.
- the wallet AP in wallet 10A is stopped (S301), and the wallet AP in wallet 10B is started (S303).
- Holder 12 sends a VC issuance request to Wallet 10B.
- wallet 10B sends a wallet authentication certificate to Issuer 20 as a VC issuance request. Note that the transmission in S305 may be preceded by a request for wallet functionality from Issuer 20, followed by a wallet security functionality response from wallet 10B, and then this transmission may be made as a response to the subsequent wallet authentication certificate request from Issuer 20.
- Issuer 20 sends a challenge request (authentication data encrypted using the HW key) to wallet 10B.
- wallet 10B sends the wallet authentication certificate and encrypted authentication data to agent 15B.
- agent 15B checks the HW key included in the authentication certificate and determines that the key belongs to another HW. In S309, agent 15B obtains HW information from a list or dynamically and determines that the key belongs to A.
- agent 15B sends encrypted authentication data (decryption request) to agent 15A.
- information such as the wallet ID sent during the issuance process is sent in order to regenerate the associated key.
- agent 15A decrypts the authentication data using the private key.
- agent 15A transmits the decrypted authentication data to agent 15B.
- agent 15B transmits the decrypted authentication data to wallet 10B.
- wallet 10B sends a challenge response (decryption authentication data) to Issuer 20.
- Issuer 20 checks the challenge response and determines that it is OK.
- Issuer 20 issues a VC including the HW key to wallet 10B. Note that with regard to the issuance in S316, Issuer 20 may propose the issuance of a VC including the HW key, and this issuance may be carried out in response to a request from wallet 10B in response to that proposal.
- wallet 10B sends a VC issuance notification to Holder 12.
- Authentication process 1 is an example in which authentication is performed using the same HW as when the wallet authentication certificate was issued.
- the wallet AP of hardware A is started.
- Holder 12 sends an authentication request to wallet 10A.
- wallet 10A sends a VC including a wallet authentication certificate and HW key to Verifier 30 as an authentication request.
- the VC may be sent as a response to the request from Verifier 30 after checking wallet authentication using the wallet authentication certificate.
- Verifier 30 checks the wallet authentication and determines that it is OK.
- S324 may optionally be omitted. When omitted, the sequence will be the same as in Example 1. If a challenge request based on the wallet authentication certificate is received from the verifier during this processing, wallet 10A will request agent 15A of its own HW to decrypt the encrypted authentication data, just as when a VC is issued ( Figure 15). Agent 15A will check the HW key included in the wallet authentication certificate, decrypt the encrypted authentication data itself, and return the decrypted authentication data to wallet 10A. Wallet 10A will then perform a challenge response using the decrypted authentication data.
- the verifier 30 sends a challenge request (authentication data encrypted using the HW key) to the wallet 10A.
- wallet 10A sends the VC containing the HW key and the encrypted authentication data to agent 15A. Note that, since authentication requires generating the same key as was used when issuing the VC, information such as the wallet ID is also sent in S326.
- agent 15A checks the HW key included in the VC and determines that the key belongs to its own HW. In S328, agent 15A decrypts the authentication data with the private key. In S329, agent 15A sends the decrypted authentication data to wallet 10A.
- wallet 10A sends a challenge response (decrypted authentication data) to Verifier 30.
- Verifier 30 checks the challenge response and determines that it is OK.
- Verifier 30 sends an authentication pass notification to wallet 10A.
- wallet 10A sends an authentication pass notification to Holder 12.
- Authentication process 2 is an example in which authentication is performed using HW different from that used when issuing the wallet authentication certificate.
- S341 VC is transferred from wallet 10A to wallet 10B.
- the wallet AP in wallet 10A is stopped (S340), and the wallet AP in wallet 10B is started (S342).
- Holder 12 sends an authentication request to wallet 10B.
- wallet 10B sends a VC including a wallet authentication certificate and HW key to Verifier 30 as an authentication request.
- the transmission of S344 may be performed in advance after a request for wallet functions from the Verifier and a response from wallet 10B regarding wallet security functions, and then as a response to a request for a wallet authentication certificate from Verifier 30.
- the VC may also be sent as a response to a request from Verifier 30 after wallet authentication has been checked.
- Verifier 30 checks the wallet authentication and determines that it is OK.
- S345 may optionally be omitted. When omitted, the sequence will be the same as in Example 1. If a challenge request based on the wallet authentication certificate is received from Verifier 30 during this processing, wallet 10B will request agent 15B of its own HW to decrypt the encrypted authentication data, just as when a VC is issued ( Figure 16). Agent 15B will check the HW key included in the wallet authentication certificate and request agent 15A of the HW corresponding to the HW key included in the wallet authentication certificate to decrypt the encrypted authentication data. The decrypted authentication data will be returned to wallet 10B, and wallet 10B will perform a challenge response using the decrypted authentication data.
- the verifier 30 sends a challenge request (authentication data encrypted using the HW key) to the wallet 10B.
- wallet 10B sends a VC containing the HW key and encrypted authentication data to agent 15B.
- information such as the wallet ID is sent in S347.
- agent 15B checks the HW key included in the VC and determines that the key belongs to another HW. In S349, agent 15B obtains HW information from a list or dynamically and determines that the key belongs to A.
- agent 15B sends encrypted authentication data (decryption request) to agent 15A.
- information such as the wallet ID is sent in order to regenerate the associated key.
- agent 15A decrypts the authentication data using the private key.
- agent 15A transmits the decrypted authentication data to agent 15B.
- agent 15B transmits the decrypted authentication data to wallet 10B.
- wallet 10B sends a challenge response (decrypted authentication data) to Verifier 30.
- Verifier 30 checks the challenge response and determines that it is OK.
- Verifier 30 sends an authentication pass notification to wallet 10B.
- wallet 10B sends an authentication pass notification to Holder 12.
- the agent 15 receives a VC containing the HW key and encrypted authentication data from the wallet 10.
- the agent 15 checks the HW key included in the VC. In S403, the agent 15 determines whether the HW key belongs to its own HW. If the result of the determination is No, the process proceeds to S404; if the result is Yes, the process proceeds to S408.
- the agent 15 obtains the HW information corresponding to the HW key from a list or dynamically obtains it.
- agent 15 sends the encrypted authentication data to the HW agent identified in S404 and requests decryption.
- the agent 15 receives the decryption authentication data from the HW agent identified in S404. In S407, the agent 15 returns the decryption authentication data to the wallet 10.
- agent 15 may obtain the public key to be passed to issuer 20 from a specific TEE (hardware).
- TEE hardware
- agents deployed on hardware other than that specific hardware will always request the agent deployed on that specific hardware to decrypt the encrypted authentication data, eliminating the need for HW discovery.
- the agent 15 receives the wallet authentication certificate and encrypted authentication data from the wallet 10. In S412, the agent 15 checks the HW key included in the wallet authentication certificate.
- the agent 15 determines whether the HW key belongs to its own HW. If the determination result is No, the process proceeds to S414; if the determination result is Yes, the process proceeds to S418.
- the agent 15 obtains the HW information corresponding to the HW key from a list or dynamically obtains it.
- agent 15 sends the encrypted authentication data to the HW agent identified in S414 and requests decryption.
- the agent 15 receives the decryption authentication data from the HW agent identified in S414. In S417, the agent 15 returns the decryption authentication data to the wallet 10.
- Any of the systems/devices (cloud wallet system 100, hardware 160, etc.) described in this embodiment can be realized, for example, by causing a computer to execute a program.
- This computer may be a physical computer or a virtual machine on the cloud.
- the program that realizes processing on the computer is provided by a recording medium 1001, such as a CD-ROM or memory card.
- a recording medium 1001 such as a CD-ROM or memory card.
- the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000.
- the program does not necessarily have to be installed from the recording medium 1001; it can also be downloaded from another computer via a network.
- the auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.
- the memory device 1003 When an instruction to start a program is received, the memory device 1003 reads and stores the program from the auxiliary storage device 1002.
- the CPU 1004 implements the functions related to the device in accordance with the program stored in the memory device 1003.
- the interface device 1005 is used as an interface for connecting to a network, etc.
- the display device 1006 displays a GUI (Graphical User Interface) based on the program, etc.
- the input device 1007 is composed of a keyboard, mouse, buttons, touch panel, etc., and is used to input various operational instructions.
- the output device 1008 outputs the results of calculations.
- Verifier 30 can use the VC containing the public key generated by the hardware in its VC verification process.
- a specific hardware device in a cloud wallet system having multiple hardware devices, each having a wallet, identifying a corresponding hardware device, the corresponding hardware device corresponding to the public key included in the credential received from the wallet; If the corresponding hardware device is the specific hardware device, decrypting the authentication data received from the verifier or issuer; a hardware device including an agent that requests the corresponding hardware device to decrypt the authentication data if the corresponding hardware device is not the specific hardware device; (Additional note 2) The hardware device according to claim 1, wherein when the verifier verifies a VC (Verifiable Credential), the credential is a VC, and when the issuer issues a VC, the credential is a wallet authentication certificate.
- VC Very Credential
- the agent on the particular hardware device may: obtaining public keys from the agents in each of the other hardware devices and maintaining a combination of the hardware device and the public keys; In response to a request from a public key DB, transmit a public key corresponding to the specific hardware device to the public key DB; or 2.
- the agent in the specific hardware device obtains information about the hardware device corresponding to the public key by inquiring of an agent in each hardware device.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
本発明は、デジタルアイデンティティを管理するクラウドウォレットの技術に関連するものである。 The present invention relates to cloud wallet technology for managing digital identities.
近年、新たなアイデンティティ管理の考え方として、中央集権的なアイデンティティプロバイダ(IDプロバイダ)などに依存せずに、自身の識別子やアイデンティティをユーザが自分自身で管理し、提供先を制御する、自己主権型アイデンティティ(SSI)のコンセプトとその実現技術(W3C Decentralized Identifiers(DID), W3C Verifiable Credentials(VC)等)が検討されている。 In recent years, the concept of Self-Sovereign Identity (SSI) and the technologies to implement it (W3C Decentralized Identifiers (DID), W3C Verifiable Credentials (VC), etc.) have been considered as a new approach to identity management, in which users manage their own identifiers and identities and control who they provide to, without relying on centralized identity providers (ID providers).
SSIの世界では、Holder(保有者)、Issuer(発行者)、Verifier(検証者)の3者が存在する。Holderは、自身のデジタルアイデンティティを管理/保有するユーザなどである。Issuerは、ユーザ等に対して、属性情報(氏名、年齢、住所等)、資格情報(ある企業の社員であること、あるサービスの会員であること等)などを証明の上、属性/資格証明書(VC)を発行する。Verifierは、Holderに対してサービス提供のために必要な属性/資格証明書(VC)を要求・受領することで、Holderの属性・資格等を検証し、サービス提供判断などを行う。 In the world of SSI, there are three parties: Holder, Issuer, and Verifier. A Holder is a user who manages/holds their own digital identity. An Issuer certifies attribute information (name, age, address, etc.) and qualification information (employee of a certain company, membership of a certain service, etc.) to a user, and then issues an Attribute/Qualification Certificate (VC). A Verifier requests and receives the Attribute/Qualification Certificate (VC) required to provide a service from the Holder, thereby verifying the Holder's attributes, qualifications, etc., and making decisions about providing the service.
このVCが確かにHolderに対して発行され、そのHolderによって提示されていることを示すために、様々なBinding方法が検討されている。その一つとして、Holderが持つVCを格納するためのウォレットを具備したデバイス(ハードウェア)とVCとをBindingをすることで、VCとHolderとの関連付けを示す方法がある(非特許文献1)。 Various binding methods are being considered to show that this VC was indeed issued to the Holder and presented by that Holder. One method is to show the association between the VC and the Holder by binding the VC to a device (hardware) equipped with a wallet for storing the VC held by the Holder (Non-Patent Document 1).
非特許文献1に開示された技術では、VCとのBindingの対象とする、ウォレットを備えるデバイスは、ユーザが保持する端末であることを想定している。一方、今後、ウォレットがクラウドで動作するクラウドウォレットが普及することが想定される。 In the technology disclosed in Non-Patent Document 1, it is assumed that the device equipped with the wallet that is the target of binding with VC is a terminal held by the user. However, it is expected that cloud wallets, which operate in the cloud, will become more widespread in the future.
しかし、クラウドの場合、ウォレットが動作するハードウェアが変更される可能性があるため、非特許文献1に開示された技術をクラウドウォレットに適用することは難しい。すなわち、非特許文献1に開示された技術では、ウォレットが動作するハードウェアが変更されると、VCとハードウェアとが対応しなくなるため、Verifierによる認証に失敗する。 However, in the case of cloud wallets, the hardware on which the wallet operates may change, making it difficult to apply the technology disclosed in Non-Patent Document 1 to cloud wallets. In other words, with the technology disclosed in Non-Patent Document 1, if the hardware on which the wallet operates changes, the VC and the hardware will no longer correspond, and authentication by the Verifier will fail.
本発明は上記の点に鑑みてなされたものであり、ウォレットが動作するハードウェアが変更される場合でも、VC等の資格情報を用いた認証を適切に行うことを可能とする技術を提供することを目的とする。 The present invention was made in consideration of the above points, and aims to provide technology that enables appropriate authentication using credentials such as VC, even when the hardware on which the wallet operates is changed.
開示の技術によれば、それぞれがウォレットを有する複数のハードウェア装置を備えるクラウドウォレットシステムにおける特定のハードウェア装置であって、
ウォレットから受信した資格情報に含まれる公開鍵に対応するハードウェア装置である対応ハードウェア装置を特定し、
前記対応ハードウェア装置が、前記特定のハードウェア装置であれば、検証者又は発行者から受信した認証データの復号処理を行い、
前記対応ハードウェア装置が、前記特定のハードウェア装置でなければ、前記対応ハードウェア装置に前記認証データの復号処理を依頼する、エージェント
を備えるハードウェア装置が提供される。
According to the disclosed technology, a specific hardware device in a cloud wallet system including a plurality of hardware devices each having a wallet,
identifying a corresponding hardware device, the corresponding hardware device corresponding to the public key included in the credential received from the wallet;
If the corresponding hardware device is the specific hardware device, decrypting the authentication data received from the verifier or issuer;
A hardware device is provided that includes an agent that, if the corresponding hardware device is not the specific hardware device, requests the corresponding hardware device to perform a process of decrypting the authentication data.
開示の技術によれば、ウォレットが動作するハードウェアが変更される場合でも、VC等の資格情報を用いた認証を適切に行うことを可能とする技術が提供される。 The disclosed technology provides a technique that enables proper authentication using credentials such as VC, even when the hardware on which the wallet operates is changed.
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。 Below, an embodiment of the present invention (present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and embodiments to which the present invention can be applied are not limited to the following embodiment.
以下、ウォレットを備えるデバイスが、Holderが所有する端末ではなく、クラウドにおいて変更され得るハードウェアである場合でも、VC等の資格情報を用いた認証を適切に行うことを可能とする技術について説明する。以下ではまず、従来技術とその課題についてより詳細に説明し、その後に、本実施の形態に係る技術を説明する。 Below, we will explain a technology that enables proper authentication using credentials such as VC, even when the device equipped with the wallet is not a terminal owned by the Holder, but hardware that can be changed in the cloud. Below, we will first explain in more detail the conventional technology and its issues, and then explain the technology related to this embodiment.
(従来技術と課題について)
DIF(Identity Foundation)のWallet Security Working Group(https://github.com/decentralized-identity/wallet-security)では、Device binding(非特許文献1: https://github.com/decentralized-identity/wallet-security/blob/main/work_items/device_binding.md)について検討がされていた。この技術における関連付けのイメージを図1に示す。図1に示すような従来のBinding方法において、ウォレットが動作するデバイスのハードウェアから生成される公開鍵をVCに含めることで、VCとデバイスとHolderとの間のBindingを行っている。
(Regarding conventional technologies and issues)
The Identity Foundation (DIF) Wallet Security Working Group (https://github.com/decentralized-identity/wallet-security) has been studying Device Binding (Non-Patent Document 1: https://github.com/decentralized-identity/wallet-security/blob/main/work_items/device_binding.md). Figure 1 shows an example of the association in this technology. In the conventional binding method shown in Figure 1, binding between a VC, device, and Holder is performed by including in the VC a public key generated by the hardware of the device on which the wallet runs.
しかし、非特許文献1に開示された従来技術を、ウォレットがクラウドで動作する形態に適用することは難しい。その理由は、クラウドの場合、ウォレットが動作するハードウェアが変更される可能性があり、VC発行時と異なるハードウェア上でウォレットが動作している場合があるためである。 However, it is difficult to apply the conventional technology disclosed in Non-Patent Document 1 to a configuration in which a wallet operates in the cloud. The reason for this is that in the cloud, the hardware on which the wallet operates may change, and the wallet may be operating on hardware that is different from the one in place when the VC was issued.
上記の課題を、図2を参照して説明する。図2の上段が非特許文献1に開示された技術における手順を示し、下段が、当該技術をクラウド化したものと想定した場合の手順を示す。 The above issues will be explained with reference to Figure 2. The upper part of Figure 2 shows the procedure for the technology disclosed in Non-Patent Document 1, and the lower part shows the procedure when this technology is implemented on the cloud.
上段のS1(ステップ1)において、ユーザ(Holder)のデバイスから、Issuerに対して、ハードウェアから生成した公開鍵が送信される。S2において、Issuerからデバイスに対して公開鍵を含めたVCの発行がなされる。S3において、デバイスからVerifierに対して公開鍵を含めたVCの提示がなされる。S4において、Verifierはデバイスに対して、公開鍵を用いたチャレンジレスポンスによる認証を行う。 In S1 (step 1) at the top, the user (holder) device sends a public key generated from the hardware to the issuer. In S2, the issuer issues a VC including the public key to the device. In S3, the device presents the VC including the public key to the verifier. In S4, the verifier authenticates the device via a challenge-response using the public key.
図2の下段は、ウォレットがクラウド化した場合を示す。ここでは、VCの発行時においてウォレットが動作するサーバと、認証時にウォレットが動作するサーバとが異なるものになった場合を想定している。この場合、VC発行時と認証時とで、公開鍵が異なるものとなるので、認証は失敗する。 The bottom part of Figure 2 shows the case where the wallet is cloud-based. Here, we assume that the server on which the wallet runs when the VC is issued is different from the server on which the wallet runs when it is authenticated. In this case, the public key will be different when the VC is issued and when it is authenticated, so authentication will fail.
(ハードウェアバインディングの例)
ここで、課題がより分かり易く説明するために、非特許文献1に基づくハードウェアバインディングのシーケンスを、図3~5を参照して説明する。なお、非特許文献1自体は公知であるが、図3~図5そのものは公知ではない。また、図3~図5の説明において、「3者間認証」をcertificationに置き換え、「2者間認証」をauthenticationに置き換え、「立証」をattestationに置き換え、「資格情報」をcredentialに置き換えてもよい。
(Example of hardware binding)
Here, in order to explain the problem more clearly, the hardware binding sequence based on Non-Patent Document 1 will be explained with reference to Figures 3 to 5. Note that Non-Patent Document 1 itself is publicly known, but Figures 3 to 5 themselves are not publicly known. Furthermore, in the explanation of Figures 3 to 5, "three-party authentication" may be replaced with "certification,""two-partyauthentication" with "authentication,""proof" with "attestation," and "qualification information" with "credential."
図3において、S11~S13が初期設定段階であり、S14~S20が、認証/証明段階である。 In Figure 3, S11 to S13 are the initial setup stages, and S14 to S20 are the authentication/certification stages.
図3のS11において、Certifying entity40は、ウォレット10に対して、ウォレットの監査、及び、3者間認証を行う。なお、Certifying entity40は、認証を行うエンティティであり、これを「認証装置」と呼んでもよい。 In S11 of Figure 3, the certifying entity 40 performs a wallet audit and three-party authentication for the wallet 10. Note that the certifying entity 40 is the entity that performs the authentication, and may also be called an "authentication device."
S12において、Certifying entity40は、Trust registry50に対して、ウォレットと3者間証明書の登録を行う。なお、Trust registry50は、信頼できる格納装置であり、これを「格納装置」と呼んでもよい。S13において、Issuer20は、Trust registry50に対して、Issuer20が必要とするウォレットの情報をリクエストする。 In S12, the Certifying entity 40 registers the wallet and three-party certificate with the Trust registry 50. The Trust registry 50 is a trusted storage device, which may also be referred to as the "storage device." In S13, the Issuer 20 requests the wallet information required by the Issuer 20 from the Trust registry 50.
S14において、ユーザがウォレットをデバイスにインストールする。S15において、ウォレット10は、Certifying entity40に対して、ウォレット2者間認証VCをリクエストする。S16において、ウォレット10とCertifying entity40との間で、アプリ立証を実行(SafetyNet/DeviceChecker)する。S17において、ウォレット10は、ハードウェアに裏付けられたキーを生成する。 In S14, the user installs the wallet on the device. In S15, the wallet 10 requests a wallet two-party authentication VC from the Certifying entity 40. In S16, application authentication is performed between the wallet 10 and the Certifying entity 40 (SafetyNet/DeviceChecker). In S17, the wallet 10 generates a hardware-backed key.
S18において、ウォレット10は、Certifying entity40に対して、ウォレット立証、キー、キー立証を送信する。S19において、Certifying entity40は、アプリとキーのそれぞれの立証をチェックする。S20において、Certifying entity40は、ウォレット10に対して、ウォレット2者間認証資格情報を発行する。 In S18, the wallet 10 sends the wallet attestation, key, and key attestation to the certifying entity 40. In S19, the certifying entity 40 checks the attestations for the app and key. In S20, the certifying entity 40 issues wallet bilateral authentication credentials to the wallet 10.
上述した処理により、ウォレット10がハードウェアにバインドされ2者間認証される。この方式では、ウォレット10とハードウェアがバインドされているため、ウォレット10が別のハードウェアに移されると、2者間認証を取得し直す必要がある。 The above process binds the wallet 10 to the hardware and performs two-party authentication. With this method, the wallet 10 and the hardware are bound, so if the wallet 10 is moved to another piece of hardware, two-party authentication must be obtained again.
図4を参照して、非特許文献1に基づく発行のシーケンスを説明する。S31において、Issuer20は、ウォレット10に対して、ウォレット機能をリクエストする。S32において、ウォレット10は、Issuer20に対して、ウォレットセキュリティ機能を通知する。 With reference to Figure 4, the issuance sequence based on Non-Patent Document 1 will be explained. In S31, Issuer 20 requests wallet functions from Wallet 10. In S32, Wallet 10 notifies Issuer 20 of its wallet security functions.
S33において、Issuer20は、ウォレット10に対して、ウォレット2者間認証資格情報をリクエストする。S34において、ウォレット10は、Issuer20に対して、ウォレット2者間認証資格情報を提示する。 In S33, Issuer 20 requests wallet two-party authentication credentials from Wallet 10. In S34, Wallet 10 presents the wallet two-party authentication credentials to Issuer 20.
S35において、Issuer20は、ウォレット10に対して、チャレンジをリクエストする。S36において、ウォレット10は、Issuer20に対して、ハードウェアキーを用いたチャレンジレスポンスを提示する。 In S35, Issuer 20 requests a challenge from Wallet 10. In S36, Wallet 10 presents Issuer 20 with a challenge response using a hardware key.
S37において、Issuer20は、ウォレット2者間認証をチェックするとともに、チャレンジレスポンスをチェックする。 In S37, Issuer 20 checks the wallet two-party authentication and the challenge response.
S38において、Issuer20は、ウォレット10に対して、ハードウェアキーにバインドされた資格情報発行を提案する。S39において、ウォレット10は、Issuer20に対して、ハードウェアキーにバインドされた資格情報発行をリクエストする。S40において、Issuer20は、ウォレット10に対して、ハードウェアキーにバインドされた資格情報を発行する。 In S38, Issuer 20 proposes to Wallet 10 that it issue credentials bound to a hardware key. In S39, Wallet 10 requests Issuer 20 to issue credentials bound to a hardware key. In S40, Issuer 20 issues credentials bound to a hardware key to Wallet 10.
上記のS38で、VCがハードウェアにバインドされ発行される。この方式では、ウォレットとVCがハードウェアにバインドされているため、ウォレットが別のハードウェアに移動すると、ウォレット2者間認証とVCを取得し直す必要がある。 In S38 above, the VC is bound to the hardware and issued. With this method, the wallet and VC are bound to the hardware, so if the wallet is moved to another piece of hardware, the wallet two-party authentication and VC must be re-obtained.
次に、図5を参照して検証のシーケンスを説明する。S51において、Verifier30は、ウォレット10に対して、ウォレット機能をリクエストする。S52において、ウォレット10は、Verifier30に対して、ウォレットセキュリティ機能を通知する。 Next, the verification sequence will be explained with reference to Figure 5. In S51, the verifier 30 requests the wallet function from the wallet 10. In S52, the wallet 10 notifies the verifier 30 of the wallet security function.
続いて、オプションの手順として、S53~S55が行われる。S53において、Verifier30は、ウォレット10に対して、ウォレット2者間認証資格情報をリクエストする。S54において、ウォレット10は、Verifier30に対して、ウォレット2者間認証資格情報を表示する。S55において、Verifier30は、ウォレット2者間認証をチェックする。 Next, steps S53 to S55 are performed as optional steps. In S53, the verifier 30 requests wallet bilateral authentication credential information from the wallet 10. In S54, the wallet 10 displays the wallet bilateral authentication credential information to the verifier 30. In S55, the verifier 30 checks the wallet bilateral authentication.
S56において、Verifier30は、ウォレット10に対して、ハードウェアキーにバインドされた資格情報の表示をリクエストする。S57において、ウォレット10は、Verifier30に対して、ハードウェアキーにバインドされた資格情報の表示を行う。S58において、Verifier30とウォレット10との間で、チャレンジレスポンスの手順が実行される。 In S56, the verifier 30 requests the wallet 10 to display the credentials bound to the hardware key. In S57, the wallet 10 displays the credentials bound to the hardware key to the verifier 30. In S58, a challenge-response procedure is executed between the verifier 30 and the wallet 10.
S56、S57では、ハードウェアにバインドされた資格情報を用いて検証が行われる。しかし、ウォレットと資格情報がハードウェアにバインドされているため、ウォレットが別のハードウェアに移動すると、資格情報の検証に失敗する。 In steps S56 and S57, verification is performed using credentials bound to the hardware. However, because the wallet and credentials are bound to the hardware, credential verification will fail if the wallet is moved to a different piece of hardware.
以下、上記の課題を解決するために、本実施の形態に係る技術を説明する。 The technology related to this embodiment will be described below to solve the above problems.
(実施の形態の概要)
本実施の形態では、クラウドウォレットシステムにおいて、それぞれがウォレットを動作させることのできる複数のハードウェア(HW)を備える。また、ユーザが使い得る(=Bindingを行い得る)全てのHWのそれぞれに、常駐エージェントを配備して、エージェントに認証を肩代わりさせる。本実施の形態において、当該HWは、TEE(Trusted Execution Environment)である。ただし、当該HWはTEEであることに限定されない。本実施の形態において、あるユーザ(Holder)のウォレットが動作するHWは、あるHWから別のHWに変更される場合がある。
(Outline of the embodiment)
In this embodiment, a cloud wallet system includes multiple pieces of hardware (HW) each capable of running a wallet. A resident agent is deployed in each of all HW that a user can use (i.e., that can perform binding), and the agent takes over authentication. In this embodiment, the HW is a TEE (Trusted Execution Environment). However, the HW is not limited to being a TEE. In this embodiment, the HW on which a wallet of a certain user (holder) runs may be changed from one HW to another.
図6を参照して本実施の形態にかかる動作の概要を説明する。図6において、VCの発行時には、ユーザのウォレットはHW1で動作し、認証時には、当該ウォレットはHW2で動作するものとする。 An overview of the operation of this embodiment will be explained with reference to Figure 6. In Figure 6, when a VC is issued, the user's wallet operates on HW1, and when authentication is performed, the wallet operates on HW2.
図6の下段の図に示すように、各HWは、他の各HWのディスカバリーを行って、各HWの公開鍵を取得する。図6の上段に示すS4の認証時において、HW2が、チャレンジ要求(暗号化データ等)を受信したとする。HW2のエージェントは、VCに含まれる公開鍵に対応するHW1での復号が必要と判断し、HW1のエージェントに復号を要求することで、チャレンジレスポンスに必要な復号データを得る。 As shown in the lower diagram of Figure 6, each HW discovers each of the other HWs and obtains their public keys. During authentication at S4 shown in the upper diagram of Figure 6, let's assume that HW2 receives a challenge request (encrypted data, etc.). The agent of HW2 determines that decryption by HW1, which corresponds to the public key included in the VC, is necessary, and requests decryption from the agent of HW1, thereby obtaining the decrypted data required for the challenge response.
(システム構成例)
図7に、本実施の形態におけるクラウドウォレットシステム100の構成例を示す。なお、「クラウドウォレットシステム」を「クラウドウォレット装置」と呼んでもよい。また、以下で説明するハードウェア、HWをそれぞれハードウェア装置、HW装置と呼んでもよい。
(System configuration example)
7 shows an example of the configuration of a cloud wallet system 100 according to this embodiment. Note that the "cloud wallet system" may also be called a "cloud wallet device." Furthermore, the hardware and HW described below may also be called a hardware device and an HW device, respectively.
図7には、クラウドウォレットシステム100と通信を行うHolder12、Issuer20、Verifier30も示されている。Holder12は例えばユーザが保持する端末である。Issuer20、Verifier30はそれぞれ、例えばサーバである。 FIG. 7 also shows Holder 12, Issuer 20, and Verifier 30, which communicate with the cloud wallet system 100. Holder 12 is, for example, a terminal held by a user. Issuer 20 and Verifier 30 are, for example, servers.
図7に示すとおり、クラウドウォレットシステム100は、それぞれウォレット10が動作する複数のハードウェア(HW_1~HW_N)を備える。各ハードウェア160には、他のハードウェアと連携しつつ、Verifier30との間でチャレンジレスポンスによる認証処理を行うエージェント15が配備されている。本実施の形態では、エージェント15は、ハードウェア160に常駐する。ただし、常駐することに限定されるわけではない。図7において、PK_nは、VC発行時にウォレット10が動作中のハードウェアn(n=1,2,…,N)の公開鍵を示す。 As shown in Figure 7, the cloud wallet system 100 comprises multiple pieces of hardware (HW_1 to HW_N) on which wallets 10 operate. Each piece of hardware 160 is equipped with an agent 15 that performs challenge-response authentication processing with the verifier 30 while coordinating with the other hardware. In this embodiment, the agent 15 resides in the hardware 160. However, this is not limited to being resident. In Figure 7, PK_n indicates the public key of hardware n (n = 1, 2, ..., N) on which the wallet 10 is operating at the time of VC issuance.
また、クラウドウォレットシステム100は、ウォレット管理部130、VC要求部110、VC受領部120、VC提示部140、応答部150、受付部170、及び通知部180を備える。 The cloud wallet system 100 also includes a wallet management unit 130, a VC request unit 110, a VC receiving unit 120, a VC presenting unit 140, a responding unit 150, a receiving unit 170, and a notifying unit 180.
ウォレット管理部130は、ウォレット10を管理する。VC要求部110は、Issuer20にVCの発行を要求する。VC受領部120は、Issuer20により発行されたVCを受領する。VC提示部140は、Verifier30にVCを提示する。応答部150は、チャレンジレスポンスの応答を行う。受付部170は、Holder12からVC発行要求及び認証要求を受け付ける。通知部180は、VC発行通知及び認証結果をHolder12に通知する。以下、図7に示す構成を備えるシステムの動作の手順例を詳細に説明する。 The wallet management unit 130 manages the wallet 10. The VC request unit 110 requests the issuer 20 to issue a VC. The VC receiving unit 120 receives the VC issued by the issuer 20. The VC presenting unit 140 presents the VC to the verifier 30. The responding unit 150 responds with a challenge response. The accepting unit 170 accepts a VC issuance request and an authentication request from the holder 12. The notifying unit 180 notifies the holder 12 of the VC issuance notification and the authentication result. An example of the operating procedure of a system having the configuration shown in Figure 7 will be explained in detail below.
(HWのディスカバリー手順例1)
まず、図8を参照して、HWのディスカバリー手順例1を説明する。HWのディスカバリー手順例1では、全てのHWと公開鍵との組合せのリストを予め各HWが保持する場合の手順を説明する。なお、図8~図10は、クラウドウォレットシステム100において、ハードウェアA~Cが備えられる場合を示している。また、ハードウェアA~Cそれぞれのウォレット10とエージェント15は、ウォレット10A~10C、エージェント15A~15Cと表す。
(HW discovery procedure example 1)
First, with reference to Fig. 8, Example 1 of HW discovery procedure will be described. In Example 1 of HW discovery procedure, a procedure will be described in which each HW holds in advance a list of all HW and public key combinations. Figs. 8 to 10 show a case in which hardware A to C are provided in the cloud wallet system 100. The wallets 10 and agents 15 of hardware A to C will be represented as wallets 10A to 10C and agents 15A to 15C, respectively.
図8のS101において、エージェント15Aは、エージェント15Bに対して、HW鍵要求を送信する。S102において、エージェント15Bは、エージェント15Aに対して、BのHW鍵を送信する。 In S101 of FIG. 8, agent 15A sends a hardware key request to agent 15B. In S102, agent 15B sends agent B's hardware key to agent 15A.
S103において、エージェント15Aは、エージェント15Cに対して、HW鍵要求を送信する。S104において、エージェント15Cは、エージェント15Aに対して、CのHW鍵を送信する。S105において、エージェント15Aは、A~Cそれぞれについて、HWとHW鍵との組合せを保持する。 In S103, agent 15A sends a hardware key request to agent 15C. In S104, agent 15C sends C's hardware key to agent 15A. In S105, agent 15A holds the combination of hardware and hardware key for each of A to C.
同様に、S106~S110により、エージェント15Bは、A~Cそれぞれについて、HWとHW鍵との組合せを保持する。S111~S115により、エージェント15Cは、A~Cそれぞれについて、HWとHW鍵との組合せを保持する。 Similarly, through steps S106 to S110, agent 15B holds a combination of HW and HW key for each of A to C. Through steps S111 to S115, agent 15C holds a combination of HW and HW key for each of A to C.
(HWのディスカバリー手順例2)
次に、図9を参照して、HWのディスカバリー手順例2を説明する。HWのディスカバリー手順例2では、全てのHWと公開鍵との組合せのリストを予め公開鍵DB60で保持する場合の手順を説明する。公開鍵DB60は、クラウドウォレットシステム100内に備えられてもよいし、クラウドウォレットシステム100の外に備えられてもよい。
(HW discovery procedure example 2)
Next, a second example of a HW discovery procedure will be described with reference to Fig. 9. In the second example of a HW discovery procedure, a procedure will be described in which a list of all combinations of HW and public keys is stored in advance in the public key DB 60. The public key DB 60 may be provided within the cloud wallet system 100 or outside the cloud wallet system 100.
図9のS121において、公開鍵DB60は、エージェント15Aに対して、HW鍵要求を送信する。S122において、エージェント15Aは、公開鍵DB60に対して、AのHW鍵を送信する。同様に、S123~S126が実行されることで、S127において、公開鍵DB60は、A~Cそれぞれについて、HWとHW鍵との組合せを保持する。 In S121 of FIG. 9, the public key DB 60 sends a hardware key request to agent 15A. In S122, agent 15A sends A's hardware key to the public key DB 60. Similarly, steps S123 to S126 are executed, and in S127 the public key DB 60 stores a combination of hardware and hardware key for each of A to C.
(HWのディスカバリー手順例3)
次に、図10を参照して、HWのディスカバリー手順例3を説明する。HWのディスカバリー手順例3では、公開鍵に対応するHWの情報を、それが必要になる度に、動的に取得する。ここでは、エージェント15Bが、その動作を行うものとする。
(HW discovery procedure example 3)
Next, a third example of a HW discovery procedure will be described with reference to Fig. 10. In the third example of a HW discovery procedure, HW information corresponding to a public key is dynamically acquired each time it is needed. Here, it is assumed that the agent 15B performs this operation.
S131において、エージェント15Bは、VCに含まれるHW鍵を確認する。S132において、エージェント15Bは、HW鍵を含む問い合わせをエージェント15Aに送信する。S133において、エージェント15Bは、HW鍵を含む問い合わせをエージェント15Cに送信する。 In S131, agent 15B checks the HW key included in the VC. In S132, agent 15B sends an inquiry including the HW key to agent 15A. In S133, agent 15B sends an inquiry including the HW key to agent 15C.
図10の例では、S134において、エージェント15Aは、自HWの公開鍵と、エージェント15Bから受信した公開鍵とを比較して一致すると判断し、S136において、AのHW鍵である旨を回答する。一方、S135において、エージェント15Cは、自HWの公開鍵と、エージェント15Bから受信した公開鍵とを比較して不一致と判断し、S137において、CのHW鍵ではない旨を回答する。 In the example of Figure 10, in S134, agent 15A compares its own HW public key with the public key received from agent 15B and determines that they match, and in S136 replies that it is A's HW key. On the other hand, in S135, agent 15C compares its own HW public key with the public key received from agent 15B and determines that they do not match, and in S137 replies that it is not C's HW key.
以下、発行処理及び認証処理の具体的な例として、実施例1と実施例2を説明する。 Below, Examples 1 and 2 will be explained as specific examples of the issuance process and authentication process.
(実施例1:発行処理)
図11を参照して、実施例1における、HW鍵(HWの公開鍵)を含むVCの発行処理を説明する。なお、HW鍵を含むVCは、図4に示した「ハードウェアキーにバインドされた資格情報」に相当する。
(Example 1: Issuance process)
The process of issuing a VC including a HW key (a public key of the HW) in the first embodiment will be described with reference to Fig. 11. The VC including the HW key corresponds to the "qualification information bound to the hardware key" shown in Fig. 4.
S201では、ハードウェアAにおいて、ウォレットAPが起動する。S202において、Holder12は、ウォレット10Aに対して、VC発行要求を送信する。S203において、ウォレット10Aは、エージェント15Aに対してHW鍵を要求する。 In S201, the wallet AP is started in hardware A. In S202, Holder 12 sends a VC issuance request to wallet 10A. In S203, wallet 10A requests the HW key from agent 15A.
S203では、HWから生成される鍵がウォレットに対して一意に生成されるようにするために、要求時に必要に応じてウォレットのIDなどの情報をエージェント15Aに送る。すなわち、もしもHWから生成される鍵がウォレットによらず同じものとなる場合、異なるユーザのウォレットが鍵を要求しても同じ鍵を出してしまう。このため、例えば、鍵はウォレットのIDなどをシードとして生成する必要がある。 In S203, to ensure that the key generated by the HW is unique to the wallet, information such as the wallet ID is sent to agent 15A as needed at the time of the request. In other words, if the key generated by the HW is the same regardless of the wallet, the same key will be issued even if different users' wallets request it. For this reason, it is necessary to generate the key using, for example, the wallet ID as a seed.
S204において、エージェント15Aは、ウォレット10Aに対して、自HW鍵(ハードウェアAの公開鍵)を送信する。なお、S204では、自HWの公開鍵の代わりに予め定めた特定のHWから取得した公開鍵を返信してもよい。このように、特定のHWの公開鍵を使用する場合、その特定のHW以外のHWに配備されたエージェントは、常に、その特定のHWに配備されたエージェントに対して暗号化認証データの復号を依頼することになるため、HWのディスカバリーは不要となる。 In S204, agent 15A sends its own HW key (the public key of hardware A) to wallet 10A. Note that in S204, a public key obtained from a predetermined specific HW may be returned instead of the public key of its own HW. In this way, when using the public key of a specific HW, agents deployed on HW other than that specific HW will always request an agent deployed on that specific HW to decrypt the encrypted authentication data, eliminating the need for HW discovery.
S205において、ウォレット10Aは、Issuer20に対して、HW鍵を含むVC発行要求を送信する。S206において、Issuer20は、ウォレット10Aに対して、チャレンジ要求(HW鍵により暗号化した認証データ)を送信する。S207において、ウォレット10Aは、エージェント15Aに対して、暗号化認証データを送信する。 In S205, wallet 10A sends a VC issuance request including the HW key to Issuer 20. In S206, Issuer 20 sends a challenge request (authentication data encrypted with the HW key) to wallet 10A. In S207, wallet 10A sends the encrypted authentication data to agent 15A.
S208において、エージェント15Aは、認証データを秘密鍵で復号し、S209において、復号認証データをウォレット10Aに送信する。 In S208, the agent 15A decrypts the authentication data with the private key, and in S209, sends the decrypted authentication data to the wallet 10A.
S210において、ウォレット10Aは、Issuer20に対して、チャレンジレスポンス(復号認証データ)を送信する。S211において、Issuer20は、チャレンジレスポンスをチェックして、OKであると判断する。S212において、Issuer20は、ウォレット10Aに対して、HW鍵を含むVCを発行する。S213において、ウォレット10Aは、Holder12に対してVC発行通知を送信する。 In S210, wallet 10A sends a challenge response (decryption authentication data) to Issuer 20. In S211, Issuer 20 checks the challenge response and determines that it is OK. In S212, Issuer 20 issues a VC including the HW key to wallet 10A. In S213, wallet 10A sends a VC issuance notification to Holder 12.
(実施例1:認証処理1)
次に、図12を参照して、実施例1における、HW鍵を含むVCを用いた認証処理1を説明する。認証処理1は、認証をVC発行時と同一のHWで行う場合の例である。
(Example 1: Authentication Process 1)
Next, authentication process 1 using a VC including a HW key in the first embodiment will be described with reference to Fig. 12. Authentication process 1 is an example in which authentication is performed using the same HW as when the VC was issued.
S221において、ハードウェアAにおいて、ウォレットAPが起動する。S222において、Holder12は、ウォレット10Aに対して認証要求を送信する。S223において、ウォレット10Aは、Verifier30に対して、認証要求として、HW鍵を含むVCを送信する。S224において、Verifier30は、ウォレット10Aに対して、チャレンジ要求(HW鍵による暗号化認証データ)を送信する。 In S221, the wallet AP is started in hardware A. In S222, Holder 12 sends an authentication request to wallet 10A. In S223, wallet 10A sends a VC including the HW key to Verifier 30 as an authentication request. In S224, Verifier 30 sends a challenge request (authentication data encrypted using the HW key) to wallet 10A.
S225において、ウォレット10Aは、エージェント15Aに対して、HW鍵を含むVC、及び、暗号化認証データを送信する。 At S225, wallet 10A sends the VC containing the HW key and the encrypted authentication data to agent 15A.
なお、S225では、認証を行う際には、VC発行時と同じ鍵を生成する必要があることから、ウォレットのIDなどのVC発行時のシードに与えた情報をエージェント15Aに渡して、鍵の再生成を要求する必要がある。すなわち、S225において、紐づいた鍵が再生成されるために、発行処理時に送られたウォレットのIDなどの情報を送る必要がある。 In S225, when performing authentication, it is necessary to generate the same key as when the VC was issued, so it is necessary to pass the information provided in the seed when the VC was issued, such as the wallet ID, to agent 15A and request regeneration of the key. In other words, in S225, in order to regenerate the associated key, it is necessary to send information such as the wallet ID sent during the issuance process.
S226において、エージェント15Aは、VCに含まれるHW鍵を確認し、鍵は自HWのものであると判断する。S227において、エージェント15Aは、認証データを秘密鍵で復号する。S228において、エージェント15Aは、ウォレット10Aに対して、復号認証データを送信する。 In S226, agent 15A checks the HW key included in the VC and determines that the key belongs to its own HW. In S227, agent 15A decrypts the authentication data using the private key. In S228, agent 15A sends the decrypted authentication data to wallet 10A.
S229において、ウォレット10Aは、Verifier30に対して、チャレンジレスポンス(復号認証データ)を送信する。S230において、Verifier30は、チャレンジレスポンスをチェックして、OKであると判断する。S231において、Verifier30は、ウォレット10Aに対して、認証通過通知を送信する。S232において、ウォレット10Aは、Holder12に対して、認証通過通知を送信する。 In S229, wallet 10A sends a challenge response (decrypted authentication data) to Verifier 30. In S230, Verifier 30 checks the challenge response and determines that it is OK. In S231, Verifier 30 sends an authentication pass notification to wallet 10A. In S232, wallet 10A sends an authentication pass notification to Holder 12.
(実施例1:認証処理2)
次に、図13を参照して、実施例1における、HW鍵を含むVCを用いた認証処理2を説明する。認証処理2は、認証をVC発行時と異なるHWで行う場合の例である。
(Example 1: Authentication Process 2)
Next, authentication process 2 using a VC including a HW key in the first embodiment will be described with reference to Fig. 13. Authentication process 2 is an example in which authentication is performed using HW different from that used when issuing the VC.
S242において、ウォレット10Aからウォレット10BへのVCの引継ぎが行われる。ウォレット10AにおいてウォレットAPは停止し(S241)、ウォレット10BにおいてウォレットAPは起動する(S243)。 In S242, the VC is transferred from wallet 10A to wallet 10B. The wallet AP in wallet 10A is stopped (S241), and the wallet AP in wallet 10B is started (S243).
S244において、Holder12は、ウォレット10Bに対して認証要求を送信する。 In S244, Holder 12 sends an authentication request to Wallet 10B.
S245において、ウォレット10Bは、Verifier30に対して、認証要求として、HW鍵を含むVCを送信する。S246において、Verifier30は、ウォレット10Bに対して、チャレンジ要求(HW鍵による暗号化認証データ)を送信する。 In S245, wallet 10B sends a VC including the HW key as an authentication request to verifier 30. In S246, verifier 30 sends a challenge request (authentication data encrypted using the HW key) to wallet 10B.
S247において、ウォレット10Bは、エージェント15Bに対して、HW鍵を含むVC、及び、暗号化認証データを送信する。 In S247, wallet 10B sends the VC containing the HW key and the encrypted authentication data to agent 15B.
なお、S247では、認証を行う際には、VC発行時と同じ鍵を生成する必要があることから、ウォレットのIDなどのVC発行時のシードに与えた情報を渡して、鍵の再生成を要求する必要がある。すなわち、S247において、紐づいた鍵が再生成されるために、発行処理時に送られたウォレットのIDなどの情報を送る。 In S247, when performing authentication, it is necessary to generate the same key as when the VC was issued, so it is necessary to request regeneration of the key by passing the information provided in the seed when the VC was issued, such as the wallet ID. In other words, in S247, in order to regenerate the associated key, information such as the wallet ID sent during the issuance process is sent.
S248において、エージェント15Bは、VCに含まれるHW鍵を確認し、鍵は他HWのものであると判断する。S249において、エージェント15Bは、リストから又は動的にHWの情報を取得し、鍵はAのものであると判断する。 In S248, agent 15B checks the HW key included in the VC and determines that the key belongs to another HW. In S249, agent 15B obtains HW information from a list or dynamically and determines that the key belongs to A.
S250において、エージェント15Bは、エージェント15Aに対して、暗号化認証データ(復号要求)を送信する。なお、ここでは、紐づいた鍵が再生成されるために、発行処理時に送られたウォレットのIDなどの情報を送る。 In S250, agent 15B sends encrypted authentication data (decryption request) to agent 15A. Note that, in this case, information such as the wallet ID sent during the issuance process is sent in order to regenerate the associated key.
S251において、エージェント15Aは、認証データを秘密鍵で復号する。S252において、エージェント15Aは、エージェント15Bに対して、復号認証データを送信する。S253において、エージェント15Bは、ウォレット10Bに対して、復号認証データを送信する。 In S251, agent 15A decrypts the authentication data using the private key. In S252, agent 15A transmits the decrypted authentication data to agent 15B. In S253, agent 15B transmits the decrypted authentication data to wallet 10B.
S254において、ウォレット10Bは、Verifier30に対して、チャレンジレスポンス(復号認証データ)を送信する。S255において、Verifier30は、チャレンジレスポンスをチェックして、OKであると判断する。S256において、Verifier30は、ウォレット10Bに対して、認証通過通知を送信する。S257において、ウォレット10Bは、Holder12に対して、認証通過通知を送信する。 In S254, wallet 10B sends a challenge response (decrypted authentication data) to Verifier 30. In S255, Verifier 30 checks the challenge response and determines that it is OK. In S256, Verifier 30 sends an authentication pass notification to wallet 10B. In S257, wallet 10B sends an authentication pass notification to Holder 12.
(実施例2:初期設定、認証/証明)
続いて、実施例2を説明する。実施例2では、HW鍵(HWの公開鍵)を含むウォレット認証証明書を用いる場合の処理例を説明する。なお、「ウォレット認証証明書」は、図5に記載した「ウォレット2者間認証資格情報」に相当する。「ウォレット認証証明書」は、ウォレットが認証されていることを証明する情報である。なお、ウォレット認証証明書とVCとを総称して資格情報と呼んでもよい。
(Example 2: Initial Setup, Authentication/Certification)
Next, a second embodiment will be described. In the second embodiment, a processing example will be described in which a wallet authentication certificate including a HW key (a public key of the HW) is used. The "wallet authentication certificate" corresponds to the "wallet two-party authentication credential information" shown in FIG. 5. The "wallet authentication certificate" is information that proves that the wallet is authenticated. The wallet authentication certificate and the VC may be collectively referred to as credential information.
まず、図14を参照して、実施例2における初期設定、及び、認証/証明に係る手順例を説明する。S261~S264が初期設定の手順であり、S265~S272が認証/証明の手順である。 First, referring to Figure 14, an example of the procedure for initial setup and authentication/certification in Example 2 will be described. Steps S261 to S264 are the initial setup procedure, and steps S265 to S272 are the authentication/certification procedure.
S261において、Certifying entity40が、ウォレット10Aに対して、ウォレットの監査と認証を行う。S262において、Certifying entity40が、ウォレット10Bに対して、ウォレットの監査と認証を行う。 In S261, Certifying entity 40 performs a wallet audit and authentication for wallet 10A. In S262, Certifying entity 40 performs a wallet audit and authentication for wallet 10B.
S263において、Certifying entity40が、Trust registry50に対して、ウォレットと証明書の登録を行う。S264において、Issuer20が、Trust registry50に対して、ウォレットの情報を要求する。 In S263, the Certifying entity 40 registers the wallet and certificate with the Trust registry 50. In S264, the Issuer 20 requests wallet information from the Trust registry 50.
S265では、ハードウェアAにおいて、ウォレットAPのインストールが行われる。S266において、ウォレット10Aが、Certifying entity40に対して、ウォレット認証証明書を要求する。S267において、ウォレット10AとCertifying entity40との間で、アプリ立証が実行される。 In S265, the wallet AP is installed in hardware A. In S266, wallet 10A requests a wallet authentication certificate from certifying entity 40. In S267, application authentication is performed between wallet 10A and certifying entity 40.
S268において、ウォレット10Aは、エージェント15Aに対して、HW鍵を要求する。なお、S268では、HWから生成される鍵がウォレットに対して一意に生成されるために、要求時に必要に応じてウォレットのIDなどの情報を送る。S269において、エージェント15Aは、ウォレット10Aに対し、自HW鍵を送信する。 In S268, wallet 10A requests the HW key from agent 15A. Note that in S268, since the key generated from the HW is generated uniquely for the wallet, information such as the wallet ID is sent as necessary at the time of the request. In S269, agent 15A sends its own HW key to wallet 10A.
S270において、ウォレット10Aが、Certifying entity40に対して、ウォレット立証、HW鍵、HW鍵立証を送信する。 At S270, wallet 10A sends the wallet certification, HW key, and HW key certification to certifying entity 40.
S271において、Certifying entity40は、ウォレットアプリと鍵のそれぞれの立証をチェックする。S272において、Certifying entity40は、ウォレット10Aに対して、ウォレット認証証明書の発行を行う。 In S271, the certifying entity 40 checks the authentication of the wallet application and key. In S272, the certifying entity 40 issues a wallet authentication certificate to the wallet 10A.
(実施例2:発行処理1)
次に、図15を参照して、実施例2における、HW鍵を含むVCの発行処理1を説明する。発行処理1は、VC発行をウォレット認証証明書発行時と同一のHWで行う場合の処理例である。
(Example 2: Issuance Process 1)
Next, a process 1 for issuing a VC including a HW key in the second embodiment will be described with reference to Fig. 15. The process 1 is an example of a process in which a VC is issued using the same HW as when a wallet authentication certificate is issued.
S281において、ウォレットAPが起動する。S282において、Holder12は、ウォレット10Aに対してVC発行要求を送信する。 In S281, the wallet AP is started. In S282, Holder 12 sends a VC issuance request to Wallet 10A.
S283において、ウォレット10Aは、Issuer20に対して、ウォレット認証証明書(VC発行要求)を送信する。なお、S283の送信に関して、事前にIssuer20からのウォレット機能の要求を行い、ウォレット10Aからのウォレットセキュリティ機能の応答を行い、その後のIssuer20からのウォレット認証証明書の要求に対する応答として、この送信を行ってもよい。 In S283, wallet 10A sends a wallet authentication certificate (VC issuance request) to Issuer 20. Note that, regarding the transmission of S283, a request for wallet functions may be made from Issuer 20 in advance, wallet 10A may respond with wallet security functions, and then this transmission may be made as a response to the subsequent request for a wallet authentication certificate from Issuer 20.
S284において、Issuer20は、ウォレット10Aに対して、チャレンジ要求(HW鍵による暗号化認証データ)を送信する。S285において、ウォレット10Aは、エージェント15Aに対して、ウォレット認証証明書、及び暗号化認証データを送信する。 In S284, Issuer 20 sends a challenge request (authentication data encrypted using the HW key) to wallet 10A. In S285, wallet 10A sends a wallet authentication certificate and encrypted authentication data to agent 15A.
S286において、エージェント15Aは、認証証明書に含まれるHW鍵を確認し、鍵は自HWのものであると判断する。 In S286, agent 15A checks the HW key included in the authentication certificate and determines that the key belongs to its own HW.
S287において、エージェント15Aは、認証データを秘密鍵で復号し、S288において、復号認証データをウォレット10Aに送信する。 In S287, the agent 15A decrypts the authentication data with the private key, and in S288, sends the decrypted authentication data to the wallet 10A.
S289において、ウォレット10Aは、Issuer20に対して、チャレンジレスポンス(復号認証データ)を送信する。S290において、Issuer20は、ウォレット認証とチャレンジレスポンスをチェックし、OKであると判断する。 In S289, wallet 10A sends a challenge response (decrypted authentication data) to Issuer 20. In S290, Issuer 20 checks the wallet authentication and challenge response and determines that they are OK.
S291において、Issuer20は、ウォレット10Aに対して、HW鍵を含むVCの発行を行う。なお、S291の発行に関して、Issuer20からのHW鍵を含むVCの発行提案を行い、それに対するウォレット10Aからの要求への応答として、この発行を行ってもよい。S292において、ウォレット10Aは、Holder12に対してVC発行通知を送信する。 In S291, Issuer 20 issues a VC including a HW key to wallet 10A. Note that with regard to the issuance in S291, Issuer 20 may propose the issuance of a VC including a HW key, and the VC may be issued in response to a request from wallet 10A. In S292, wallet 10A sends a VC issuance notification to Holder 12.
(実施例2:発行処理2)
次に、図16を参照して、実施例2における、HW鍵を含むVCの発行処理2を説明する。発行処理2は、VC発行をウォレット認証証明書発行時と異なるHWで行う場合の処理例である。
(Example 2: Issuance process 2)
Next, a process 2 for issuing a VC including a HW key in the second embodiment will be described with reference to Fig. 16. The process 2 is an example of a process in which a VC is issued using HW different from that used when issuing a wallet authentication certificate.
S302において、ウォレット10Aからウォレット10Bへの認証証明書の引継ぎが行われる。ウォレット10AにおいてウォレットAPは停止し(S301)、ウォレット10BにおいてウォレットAPは起動する(S303)。 In S302, the authentication certificate is transferred from wallet 10A to wallet 10B. The wallet AP in wallet 10A is stopped (S301), and the wallet AP in wallet 10B is started (S303).
S304において、Holder12は、ウォレット10Bに対してVC発行要求を送信する。 In S304, Holder 12 sends a VC issuance request to Wallet 10B.
S305において、ウォレット10Bは、Issuer20に対して、VC発行要求として、ウォレット認証証明書を送信する。なお、S305の送信について、事前にIssuer20からのウォレット機能の要求を行い、ウォレット10Bからのウォレットセキュリティ機能の応答を行い、その後のIssuer20からのウォレット認証証明書の要求に対する応答として、この送信を行ってもよい。 In S305, wallet 10B sends a wallet authentication certificate to Issuer 20 as a VC issuance request. Note that the transmission in S305 may be preceded by a request for wallet functionality from Issuer 20, followed by a wallet security functionality response from wallet 10B, and then this transmission may be made as a response to the subsequent wallet authentication certificate request from Issuer 20.
S306において、Issuer20は、ウォレット10Bに対して、チャレンジ要求(HW鍵による暗号化認証データ)を送信する。 At S306, Issuer 20 sends a challenge request (authentication data encrypted using the HW key) to wallet 10B.
S307において、ウォレット10Bは、エージェント15Bに対して、ウォレット認証証明書、及び、暗号化認証データを送信する。 In S307, wallet 10B sends the wallet authentication certificate and encrypted authentication data to agent 15B.
S308において、エージェント15Bは、認証証明書に含まれるHW鍵を確認し、鍵は他HWのものであると判断する。S309において、エージェント15Bは、リストから又は動的にHWの情報を取得し、鍵はAのものであると判断する。 In S308, agent 15B checks the HW key included in the authentication certificate and determines that the key belongs to another HW. In S309, agent 15B obtains HW information from a list or dynamically and determines that the key belongs to A.
S310において、エージェント15Bは、エージェント15Aに対して、暗号化認証データ(復号要求)を送信する。なお、ここでは、紐づいた鍵が再生成されるために、発行処理時に送られたウォレットのIDなどの情報を送る。 In S310, agent 15B sends encrypted authentication data (decryption request) to agent 15A. Note that, in this case, information such as the wallet ID sent during the issuance process is sent in order to regenerate the associated key.
S311において、エージェント15Aは、認証データを秘密鍵で復号する。S312において、エージェント15Aは、エージェント15Bに対して、復号認証データを送信する。S313において、エージェント15Bは、ウォレット10Bに対して、復号認証データを送信する。 In S311, agent 15A decrypts the authentication data using the private key. In S312, agent 15A transmits the decrypted authentication data to agent 15B. In S313, agent 15B transmits the decrypted authentication data to wallet 10B.
S314において、ウォレット10Bは、Issuer20に対して、チャレンジレスポンス(復号認証データ)を送信する。S315において、Issuer20は、チャレンジレスポンスをチェックして、OKであると判断する。S316において、Issuer20は、ウォレット10Bに対して、HW鍵を含むVCの発行を行う。なお、S316の発行に関して、Issuer20からのHW鍵を含むVCの発行提案を行い、それに対するウォレット10Bからの要求への応答として、この発行を行ってもよい。 In S314, wallet 10B sends a challenge response (decryption authentication data) to Issuer 20. In S315, Issuer 20 checks the challenge response and determines that it is OK. In S316, Issuer 20 issues a VC including the HW key to wallet 10B. Note that with regard to the issuance in S316, Issuer 20 may propose the issuance of a VC including the HW key, and this issuance may be carried out in response to a request from wallet 10B in response to that proposal.
S317において、ウォレット10Bは、Holder12に対して、VC発行通知を送信する。 In S317, wallet 10B sends a VC issuance notification to Holder 12.
(実施例2:認証処理1)
次に、図17を参照して、実施例2における、HW鍵を含むVCを用いた認証処理1を説明する。認証処理1は、認証をウォレット認証証明書発行時と同一のHWで行う場合の例である。
(Example 2: Authentication Process 1)
Next, authentication process 1 using a VC including a HW key in the second embodiment will be described with reference to Fig. 17. Authentication process 1 is an example in which authentication is performed using the same HW as when the wallet authentication certificate was issued.
S321において、ハードウェアAのウォレットAPが起動する。S322において、Holder12は、ウォレット10Aに対して認証要求を送信する。S323において、ウォレット10Aは、Verifier30に対して、認証要求として、ウォレット認証証明書、HW鍵を含むVCを送信する。なお、S323において、VCは、ウォレット認証証明書によるウォレット認証のチェックの後、Verifier30からの要求への応答として送信してもよい。 In S321, the wallet AP of hardware A is started. In S322, Holder 12 sends an authentication request to wallet 10A. In S323, wallet 10A sends a VC including a wallet authentication certificate and HW key to Verifier 30 as an authentication request. Note that in S323, the VC may be sent as a response to the request from Verifier 30 after checking wallet authentication using the wallet authentication certificate.
S324において、Verifier30は、ウォレット認証をチェックし、OKであると判断する。 In S324, Verifier 30 checks the wallet authentication and determines that it is OK.
なお、オプションとして、S324を省略してもよい。省略時は実施例1と同様のシーケンスとなる。本処理の過程でVerifierからウォレット認証証明書に基づくチャレンジ要求があった場合は、VC発行時(図15)と同様、ウォレット10Aは、自HWのエージェント15Aに暗号化認証データの復号を依頼し、エージェント15Aは、ウォレット認証証明書に含まれるHW鍵を確認し、暗号化認証データの復号を自身で実行し、復号した認証データをウォレット10Aに返信し、ウォレット10Aは、復号した認証データを用いてチャレンジレスポンスを行う。 Note that S324 may optionally be omitted. When omitted, the sequence will be the same as in Example 1. If a challenge request based on the wallet authentication certificate is received from the verifier during this processing, wallet 10A will request agent 15A of its own HW to decrypt the encrypted authentication data, just as when a VC is issued (Figure 15). Agent 15A will check the HW key included in the wallet authentication certificate, decrypt the encrypted authentication data itself, and return the decrypted authentication data to wallet 10A. Wallet 10A will then perform a challenge response using the decrypted authentication data.
S325において、Verifier30は、ウォレット10Aに対して、チャレンジ要求(HW鍵による暗号化認証データ)を送信する。 At S325, the verifier 30 sends a challenge request (authentication data encrypted using the HW key) to the wallet 10A.
S326において、ウォレット10Aは、エージェント15Aに対して、HW鍵を含むVC、及び、暗号化認証データを送信する。なお、認証を行う際には、VC発行時と同じ鍵を生成する必要があることから、S326では、ウォレットのIDなどの情報を送る。 In S326, wallet 10A sends the VC containing the HW key and the encrypted authentication data to agent 15A. Note that, since authentication requires generating the same key as was used when issuing the VC, information such as the wallet ID is also sent in S326.
S327において、エージェント15Aは、VCに含まれるHW鍵を確認し、鍵は自HWのものであると判断する。S328において、エージェント15Aは、認証データを秘密鍵で復号する。S329において、エージェント15Aは、ウォレット10Aに対して、復号認証データを送信する。 In S327, agent 15A checks the HW key included in the VC and determines that the key belongs to its own HW. In S328, agent 15A decrypts the authentication data with the private key. In S329, agent 15A sends the decrypted authentication data to wallet 10A.
S330において、ウォレット10Aは、Verifier30に対して、チャレンジレスポンス(復号認証データ)を送信する。S331において、Verifier30は、チャレンジレスポンスをチェックして、OKであると判断する。S332において、Verifier30は、ウォレット10Aに対して、認証通過通知を送信する。S333において、ウォレット10Aは、Holder12に対して、認証通過通知を送信する。 In S330, wallet 10A sends a challenge response (decrypted authentication data) to Verifier 30. In S331, Verifier 30 checks the challenge response and determines that it is OK. In S332, Verifier 30 sends an authentication pass notification to wallet 10A. In S333, wallet 10A sends an authentication pass notification to Holder 12.
(実施例2:認証処理2)
次に、図18を参照して、実施例2における、HW鍵を含むVCを用いた認証処理2を説明する。認証処理2は、認証をウォレット認証証明書発行時と異なるHWで行う場合の例である。
(Example 2: Authentication Process 2)
Next, authentication process 2 using a VC including a HW key in the second embodiment will be described with reference to Fig. 18. Authentication process 2 is an example in which authentication is performed using HW different from that used when issuing the wallet authentication certificate.
S341において、ウォレット10Aからウォレット10BへのVCの引継ぎが行われる。ウォレット10AにおいてウォレットAPは停止し(S340)、ウォレット10BにおいてウォレットAPは起動する(S342)。 In S341, VC is transferred from wallet 10A to wallet 10B. The wallet AP in wallet 10A is stopped (S340), and the wallet AP in wallet 10B is started (S342).
S343において、Holder12は、ウォレット10Bに対して認証要求を送信する。S344において、ウォレット10Bは、Verifier30に対して、認証要求として、ウォレット認証証明書、HW鍵を含むVCを送信する。なお、S344の送信について、事前にVerifierからのウォレット機能の要求を行い、ウォレット10Bからのウォレットセキュリティ機能の応答を行い、その後のVerifier30からのウォレット認証証明書の要求に対する応答として、この送信を行ってもよい。また、VCについては、ウォレット認証のチェックの後、Verifier30からの要求への応答として送信してもよい。 In S343, Holder 12 sends an authentication request to wallet 10B. In S344, wallet 10B sends a VC including a wallet authentication certificate and HW key to Verifier 30 as an authentication request. Note that the transmission of S344 may be performed in advance after a request for wallet functions from the Verifier and a response from wallet 10B regarding wallet security functions, and then as a response to a request for a wallet authentication certificate from Verifier 30. The VC may also be sent as a response to a request from Verifier 30 after wallet authentication has been checked.
S345において、Verifier30は、ウォレット認証をチェックし、OKであると判断する。 In S345, Verifier 30 checks the wallet authentication and determines that it is OK.
なお、オプションとして、S345を省略してもよい。省略時は実施例1と同様のシーケンスとなる。本処理の過程でVerifier30からウォレット認証証明書に基づくチャレンジ要求があった場合は、VC発行時(図16)と同様、ウォレット10Bは、自HWのエージェント15Bに暗号化認証データの復号を依頼し、エージェント15Bは、ウォレット認証証明書に含まれるHW鍵を確認し、暗号化認証データの復号をウォレット認証証明書に含まれるHW鍵に対応するHWのエージェント15Aに依頼し、復号した認証データをウォレット10Bに返信し、ウォレット10Bは、該復号した認証データを用いてチャレンジレスポンスを行う。 Note that S345 may optionally be omitted. When omitted, the sequence will be the same as in Example 1. If a challenge request based on the wallet authentication certificate is received from Verifier 30 during this processing, wallet 10B will request agent 15B of its own HW to decrypt the encrypted authentication data, just as when a VC is issued (Figure 16). Agent 15B will check the HW key included in the wallet authentication certificate and request agent 15A of the HW corresponding to the HW key included in the wallet authentication certificate to decrypt the encrypted authentication data. The decrypted authentication data will be returned to wallet 10B, and wallet 10B will perform a challenge response using the decrypted authentication data.
S346において、Verifier30は、ウォレット10Bに対して、チャレンジ要求(HW鍵による暗号化認証データ)を送信する。 In S346, the verifier 30 sends a challenge request (authentication data encrypted using the HW key) to the wallet 10B.
S347において、ウォレット10Bは、エージェント15Bに対して、HW鍵を含むVC、及び、暗号化認証データを送信する。紐づいた鍵が再生成されるために、S347において、ウォレットのIDなどの情報を送る。 In S347, wallet 10B sends a VC containing the HW key and encrypted authentication data to agent 15B. In order to regenerate the associated key, information such as the wallet ID is sent in S347.
S348において、エージェント15Bは、VCに含まれるHW鍵を確認し、鍵は他HWのものであると判断する。S349において、エージェント15Bは、リストから又は動的にHWの情報を取得し、鍵はAのものであると判断する。 In S348, agent 15B checks the HW key included in the VC and determines that the key belongs to another HW. In S349, agent 15B obtains HW information from a list or dynamically and determines that the key belongs to A.
S350において、エージェント15Bは、エージェント15Aに対して、暗号化認証データ(復号要求)を送信する。なお、ここでは、紐づいた鍵が再生成されるために、ウォレットのIDなどの情報を送る。 In S350, agent 15B sends encrypted authentication data (decryption request) to agent 15A. Note that, in this case, information such as the wallet ID is sent in order to regenerate the associated key.
S351において、エージェント15Aは、認証データを秘密鍵で復号する。S352において、エージェント15Aは、エージェント15Bに対して、復号認証データを送信する。S353において、エージェント15Bは、ウォレット10Bに対して、復号認証データを送信する。 In S351, agent 15A decrypts the authentication data using the private key. In S352, agent 15A transmits the decrypted authentication data to agent 15B. In S353, agent 15B transmits the decrypted authentication data to wallet 10B.
S354において、ウォレット10Bは、Verifier30に対して、チャレンジレスポンス(復号認証データ)を送信する。S355において、Verifier30は、チャレンジレスポンスをチェックして、OKであると判断する。S356において、Verifier30は、ウォレット10Bに対して、認証通過通知を送信する。S357において、ウォレット10Bは、Holder12に対して、認証通過通知を送信する。 In S354, wallet 10B sends a challenge response (decrypted authentication data) to Verifier 30. In S355, Verifier 30 checks the challenge response and determines that it is OK. In S356, Verifier 30 sends an authentication pass notification to wallet 10B. In S357, wallet 10B sends an authentication pass notification to Holder 12.
(認証時におけるエージェントの動作例)
次に、図19のフローチャートを参照して、認証時にエージェント15が実行する処理の手順例を説明する。なお、図19に示す手順は、実施例1と実施例2に共通の手順である。
(Example of agent behavior during authentication)
Next, an example of the procedure of the process executed by the agent 15 at the time of authentication will be described with reference to the flowchart of Fig. 19. The procedure shown in Fig. 19 is common to the first and second embodiments.
S401において、エージェント15は、ウォレット10からHW鍵を含むVCと暗号化認証データを受信する。 At S401, the agent 15 receives a VC containing the HW key and encrypted authentication data from the wallet 10.
S402において、エージェント15は、VCに含まれるHW鍵を確認する。S403において、エージェント15は、当該HW鍵が自HWのものかどうかを判断する。判断結果がNoであればS404に進み、YesであればS408に進む。 In S402, the agent 15 checks the HW key included in the VC. In S403, the agent 15 determines whether the HW key belongs to its own HW. If the result of the determination is No, the process proceeds to S404; if the result is Yes, the process proceeds to S408.
S404において、エージェント15は、当該HW鍵に対応するHWの情報をリストから取得する、又は、動的に取得する。 In S404, the agent 15 obtains the HW information corresponding to the HW key from a list or dynamically obtains it.
S405において、エージェント15は、S404で把握したHWのエージェントに暗号化認証データを送信し、復号を依頼する。 In S405, agent 15 sends the encrypted authentication data to the HW agent identified in S404 and requests decryption.
S406において、エージェント15は、S404で把握したHWのエージェントから復号認証データを受信する。S407において、エージェント15は、ウォレット10に復号認証データを返信する。 In S406, the agent 15 receives the decryption authentication data from the HW agent identified in S404. In S407, the agent 15 returns the decryption authentication data to the wallet 10.
S403の判断がNoのときに進むS408では、エージェント15は、自HWの秘密鍵で暗号化認証データを復号し、復号認証データを取得し、その後、S407に進む。 In S408, which is reached if the determination in S403 is No, the agent 15 decrypts the encrypted authentication data using its own HW private key, obtains the decrypted authentication data, and then proceeds to S407.
なお、前述したように、エージェント15は、Issuer20に渡す公開鍵を特定のTEE(ハードウェア)から取得することとしてもよい。このようにする場合、その特定のハードウェア以外のハードウェアに配備されたエージェントは、常に、その特定のハードウェアに配備されたエージェントに対して暗号化認証データの復号を依頼することになるため、HWのディスカバリーは不要となる。 As mentioned above, agent 15 may obtain the public key to be passed to issuer 20 from a specific TEE (hardware). In this case, agents deployed on hardware other than that specific hardware will always request the agent deployed on that specific hardware to decrypt the encrypted authentication data, eliminating the need for HW discovery.
(VC発行時におけるエージェントの動作例)
図20のフローチャートを参照して、VC発行時にエージェント15が実行する処理の手順例を説明する。この手順は、実施例2における手順である。
(Example of Agent Operation When VC Issuance)
An example of the procedure of the process executed by the agent 15 when issuing a VC will be described with reference to the flowchart of Fig. 20. This procedure is the procedure in the second embodiment.
S411において、エージェント15は、ウォレット10からウォレット認証証明書と暗号化認証データを受信する。S412において、エージェント15は、ウォレット認証証明書に含まれるHW鍵を確認する。 In S411, the agent 15 receives the wallet authentication certificate and encrypted authentication data from the wallet 10. In S412, the agent 15 checks the HW key included in the wallet authentication certificate.
S413において、エージェント15は、当該HW鍵が自HWのものかどうかを判断する。判断結果がNoであればS414に進み、YesであればS418に進む。 In S413, the agent 15 determines whether the HW key belongs to its own HW. If the determination result is No, the process proceeds to S414; if the determination result is Yes, the process proceeds to S418.
S414において、エージェント15は、当該HW鍵に対応するHWの情報をリストから取得する、あるいは、動的に取得する。 In S414, the agent 15 obtains the HW information corresponding to the HW key from a list or dynamically obtains it.
S415において、エージェント15は、S414で把握したHWのエージェントに暗号化認証データを送信し、復号を依頼する。 In S415, agent 15 sends the encrypted authentication data to the HW agent identified in S414 and requests decryption.
S416において、エージェント15は、S414で把握したHWのエージェントから復号認証データを受信する。S417において、エージェント15は、ウォレット10に復号認証データを返信する。 In S416, the agent 15 receives the decryption authentication data from the HW agent identified in S414. In S417, the agent 15 returns the decryption authentication data to the wallet 10.
S413の判断がNoのときに進むS418では、エージェント15は、自HWの秘密鍵で暗号化認証データを復号し、復号認証データを取得して、S417に進む。 In S418, which is reached if the determination in S413 is No, the agent 15 decrypts the encrypted authentication data using its own HW private key, obtains the decrypted authentication data, and then proceeds to S417.
(ハードウェア構成例)
本実施の形態で説明したいずれのシステム/装置(クラウドウォレットシステム100、ハードウェア160等)も、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
(Example of hardware configuration)
Any of the systems/devices (cloud wallet system 100, hardware 160, etc.) described in this embodiment can be realized, for example, by causing a computer to execute a program. This computer may be a physical computer or a virtual machine on the cloud.
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。 In other words, the device can be realized by using hardware resources such as the CPU and memory built into the computer to execute a program corresponding to the processing performed by the device. The program can be recorded on a computer-readable recording medium (such as portable memory) and then saved or distributed. The program can also be provided via a network such as the Internet or email.
図21は、上記コンピュータのハードウェア構成例を示す図である。図14のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。 FIG. 21 is a diagram showing an example of the hardware configuration of the computer. The computer in FIG. 14 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., all of which are interconnected via bus B. The computer may also be equipped with a GPU.
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。 The program that realizes processing on the computer is provided by a recording medium 1001, such as a CD-ROM or memory card. When the recording medium 1001 storing the program is inserted into the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001; it can also be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。 When an instruction to start a program is received, the memory device 1003 reads and stores the program from the auxiliary storage device 1002. The CPU 1004 implements the functions related to the device in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) based on the program, etc. The input device 1007 is composed of a keyboard, mouse, buttons, touch panel, etc., and is used to input various operational instructions. The output device 1008 outputs the results of calculations.
(実施の形態のまとめ、効果等)
以上説明したとおり、本実施の形態で説明した技術により、ウォレットが動作するハードウェアが変更される場合でも、VC等の資格情報を用いた認証を適切に行うことが可能となる。
(Summary of the embodiment, effects, etc.)
As described above, the technology described in this embodiment makes it possible to properly perform authentication using qualification information such as VC even when the hardware on which the wallet operates is changed.
具体的には、例えば、Holder12のウォレットがIssuer20によるVCの発行時と異なるハードウェア上で動作する場合であっても、Verifier30によるVCの検証処理において、ハードウェアから生成された公開鍵を含むVCを用いることが可能となる。 Specifically, for example, even if Holder 12's wallet runs on hardware different from that used when Issuer 20 issued the VC, Verifier 30 can use the VC containing the public key generated by the hardware in its VC verification process.
以上の実施形態に関し、更に以下の付記を開示する。 The following additional notes are provided regarding the above embodiments.
<付記>
(付記項1)
それぞれがウォレットを有する複数のハードウェア装置を備えるクラウドウォレットシステムにおける特定のハードウェア装置であって、
ウォレットから受信した資格情報に含まれる公開鍵に対応するハードウェア装置である対応ハードウェア装置を特定し、
前記対応ハードウェア装置が、前記特定のハードウェア装置であれば、検証者又は発行者から受信した認証データの復号処理を行い、
前記対応ハードウェア装置が、前記特定のハードウェア装置でなければ、前記対応ハードウェア装置に前記認証データの復号処理を依頼する、エージェント
を備えるハードウェア装置。
(付記項2)
前記検証者によるVC(Verifiable Credential)の検証時において、前記資格情報はVCであり、前記発行者によるVCの発行時において、前記資格情報はウォレット認証証明書である
付記項1に記載のハードウェア装置。
(付記項3)
前記特定のハードウェア装置における前記エージェントは、
他の各ハードウェア装置におけるエージェントから公開鍵を取得し、ハードウェア装置と公開鍵との組み合わせを保持する、
公開鍵DBからの要求に応じて、前記公開鍵DBに対して、前記特定のハードウェア装置に対応する公開鍵を送信する、又は、
公開鍵を含む問い合わせを、他の各ハードウェア装置におけるエージェントに送信することにより、当該公開鍵に対応するハードウェア装置の情報を取得する
付記項1に記載のハードウェア装置。
(付記項4)
前記特定のハードウェア装置における前記エージェントは、各ハードウェア装置のエージェントに問い合わせることにより、公開鍵に対応するハードウェア装置の情報を取得する
付記項1に記載のハードウェア装置。
<Additional Notes>
(Additional note 1)
A specific hardware device in a cloud wallet system having multiple hardware devices, each having a wallet,
identifying a corresponding hardware device, the corresponding hardware device corresponding to the public key included in the credential received from the wallet;
If the corresponding hardware device is the specific hardware device, decrypting the authentication data received from the verifier or issuer;
a hardware device including an agent that requests the corresponding hardware device to decrypt the authentication data if the corresponding hardware device is not the specific hardware device;
(Additional note 2)
The hardware device according to claim 1, wherein when the verifier verifies a VC (Verifiable Credential), the credential is a VC, and when the issuer issues a VC, the credential is a wallet authentication certificate.
(Additional note 3)
The agent on the particular hardware device may:
obtaining public keys from the agents in each of the other hardware devices and maintaining a combination of the hardware device and the public keys;
In response to a request from a public key DB, transmit a public key corresponding to the specific hardware device to the public key DB; or
2. The hardware device according to claim 1, wherein a query including the public key is sent to an agent in each of the other hardware devices, thereby obtaining information about the hardware device corresponding to the public key.
(Additional note 4)
The hardware device according to claim 1, wherein the agent in the specific hardware device obtains information about the hardware device corresponding to the public key by inquiring of an agent in each hardware device.
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the present embodiment has been described above, the present invention is not limited to this specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention as set forth in the claims.
12 Holder
20 Issuer
30 Verifier
40 Certifying entity
50 Trust registry
60 公開鍵DB
10 ウォレット
15 エージェント
100 クラウドウォレットシステム
110 VC要求部
120 VC受領部
130 ウォレット管理部
140 VC提示部
150 応答部
160 ハードウェア
170 受付部
180 通知部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
12 Holder
20 Issuer
30 Verifier
40 Certifying entity
50 Trust registry
60 Public key DB
10 Wallet 15 Agent 100 Cloud wallet system 110 VC request unit 120 VC receiving unit 130 Wallet management unit 140 VC presentation unit 150 Response unit 160 Hardware 170 Acceptance unit 180 Notification unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU
1005 Interface device 1006 Display device 1007 Input device 1008 Output device
Claims (4)
ウォレットから受信した資格情報に含まれる公開鍵に対応するハードウェア装置である対応ハードウェア装置を特定し、
前記対応ハードウェア装置が、前記特定のハードウェア装置であれば、検証者又は発行者から受信した認証データの復号処理を行い、
前記対応ハードウェア装置が、前記特定のハードウェア装置でなければ、前記対応ハードウェア装置に前記認証データの復号処理を依頼する、エージェント
を備えるハードウェア装置。 A specific hardware device in a cloud wallet system having multiple hardware devices, each having a wallet,
identifying a corresponding hardware device, the corresponding hardware device corresponding to the public key included in the credential received from the wallet;
If the corresponding hardware device is the specific hardware device, decrypting the authentication data received from the verifier or issuer;
a hardware device including an agent that requests the corresponding hardware device to decrypt the authentication data if the corresponding hardware device is not the specific hardware device;
請求項1に記載のハードウェア装置。 The hardware device according to claim 1 , wherein when the verifier verifies a Verifiable Credential (VC), the credential is a VC, and when the issuer issues a VC, the credential is a wallet authentication certificate.
他の各ハードウェア装置におけるエージェントから公開鍵を取得し、ハードウェア装置と公開鍵との組み合わせを保持する、
公開鍵DBからの要求に応じて、前記公開鍵DBに対して、前記特定のハードウェア装置に対応する公開鍵を送信する、又は、
公開鍵を含む問い合わせを、他の各ハードウェア装置におけるエージェントに送信することにより、当該公開鍵に対応するハードウェア装置の情報を取得する
請求項1に記載のハードウェア装置。 The agent on the particular hardware device may:
obtaining public keys from the agents in each of the other hardware devices and maintaining a combination of the hardware device and the public keys;
In response to a request from a public key DB, transmit a public key corresponding to the specific hardware device to the public key DB; or
The hardware device according to claim 1 , wherein the hardware device acquires information about the hardware device corresponding to the public key by sending a query including the public key to an agent in each of the other hardware devices.
請求項1に記載のハードウェア装置。 The hardware device according to claim 1 , wherein the agent in the specific hardware device obtains information about the hardware device corresponding to the public key by inquiring of an agent in each hardware device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/016107 WO2025224893A1 (en) | 2024-04-24 | 2024-04-24 | Hardware device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/016107 WO2025224893A1 (en) | 2024-04-24 | 2024-04-24 | Hardware device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025224893A1 true WO2025224893A1 (en) | 2025-10-30 |
Family
ID=97489803
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/016107 Pending WO2025224893A1 (en) | 2024-04-24 | 2024-04-24 | Hardware device |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025224893A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020102484A1 (en) * | 2018-11-14 | 2020-05-22 | Visa International Service Association | Cloud token provisioning of multiple tokens |
| US20210287770A1 (en) * | 2020-03-10 | 2021-09-16 | Lumedic Acquisition Co, Inc. | Electronic patient credentials |
| US20220201477A1 (en) * | 2015-04-15 | 2022-06-23 | Prove Identity, Inc. | Anonymous authentication and remote wireless token access |
| WO2023186786A1 (en) * | 2022-03-30 | 2023-10-05 | Sony Group Corporation | A concept for recovering access to a cryptocurrency wallet on a remote server |
-
2024
- 2024-04-24 WO PCT/JP2024/016107 patent/WO2025224893A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220201477A1 (en) * | 2015-04-15 | 2022-06-23 | Prove Identity, Inc. | Anonymous authentication and remote wireless token access |
| WO2020102484A1 (en) * | 2018-11-14 | 2020-05-22 | Visa International Service Association | Cloud token provisioning of multiple tokens |
| US20210287770A1 (en) * | 2020-03-10 | 2021-09-16 | Lumedic Acquisition Co, Inc. | Electronic patient credentials |
| WO2023186786A1 (en) * | 2022-03-30 | 2023-10-05 | Sony Group Corporation | A concept for recovering access to a cryptocurrency wallet on a remote server |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12010248B2 (en) | Systems and methods for providing authentication to a plurality of devices | |
| RU2708350C1 (en) | Cross-chain interactions using a domain name scheme in blockchain systems | |
| US10965472B2 (en) | Secure bootstrap for a blockchain network | |
| JP6547079B1 (en) | Registration / authorization method, device and system | |
| JP6826290B2 (en) | Certificate distribution system, certificate distribution method, and certificate distribution program | |
| US9215232B2 (en) | Certificate renewal | |
| JP3272283B2 (en) | Electronic data storage device | |
| JP4177040B2 (en) | Content utilization apparatus, network system, and license information acquisition method | |
| JP4405575B2 (en) | Encryption management device, decryption management device, and program | |
| JP5215289B2 (en) | Method, apparatus and system for distributed delegation and verification | |
| US11121876B2 (en) | Distributed access control | |
| US11924333B2 (en) | Secure and robust decentralized ledger based data management | |
| US20040088548A1 (en) | System and method for providing secure resource management | |
| KR20040015714A (en) | Content usage device and network system, and license information acquisition method | |
| JP2011082983A (en) | Apparatus and method for protecting network resource | |
| KR20040019328A (en) | Access control system | |
| JP4280036B2 (en) | Access right control system | |
| EP1662696B1 (en) | Method and system for delegating authority with restricted access right in an online collaborative environment | |
| JP7367443B2 (en) | Identity verification program, management device and identity verification method | |
| EP1662698B1 (en) | Method and system for delegating authority in an online collaborative environment | |
| CN118353606A (en) | Blockchain-based network threat intelligence sharing method, system, device and medium | |
| CN114157470A (en) | Token management method and device | |
| US20200349566A1 (en) | Device control method and related device | |
| US20050240765A1 (en) | Method and apparatus for authorizing access to grid resources | |
| WO2022070414A1 (en) | Control method, control program, and information processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24937008 Country of ref document: EP Kind code of ref document: A1 |