Authentication system, authentication method, terminal device, and program
The authentication system uses biometric verification and device attachment to enhance personal authentication, addressing fraud vulnerabilities by ensuring the owner's identity is accurately confirmed and the NFT content is genuine.
Patent Information
- Application Number
- JP2023103235
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-23
- Publication Date
- 2025-01-09
AI Technical Summary
Existing personal authentication methods are vulnerable to fraud, as unauthorized individuals can obtain terminal devices and authentication information, necessitating a more reliable method to verify the owner's identity.
An authentication system that utilizes a management device and a terminal device equipped with biometric information acquisition, where the terminal device transmits a public key to a management device, encrypts and decrypts data using private keys, and performs biometric authentication to confirm the owner's identity, ensuring the device is attached to the user's body before authenticating.
This method enhances personal authentication accuracy by requiring biometric verification and device attachment, preventing unauthorized access and ensuring the authenticity of NFT content, thereby reducing fraud.
Smart Images

Figure 2025002861000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an authentication system, an authentication method, a terminal device, and a program. [Background technology]
[0002] In recent years, various contents such as certificates for verifying a person's qualifications or assets have been digitized to improve the convenience of using the contents. Since digitized contents are easily copied, personal authentication is important when using the contents to determine whether the owner of the contents is genuine. As a method of personal authentication, for example, a method is known in which a terminal device issues an electronic certificate using a private key that releases access restrictions by inputting authentication information, and a certification authority determines the validity of the electronic certificate (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6499367 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the above-mentioned conventional methods leave room for fraud, such as an unauthorized person obtaining a terminal device and authentication information and receiving personal authentication, and therefore there is a demand for a more appropriate and reliable method of personal authentication.
[0005] An object of the present invention is to perform more accurate personal authentication. [Means for solving the problem]
[0006] In order to solve the above problems, the authentication system according to the present invention comprises: a management device having a first processing unit and managing the first private key; a terminal device used by a predetermined owner, the terminal device having a second processing unit, a storage unit in which a second private key is stored, and a biometric information acquisition unit that acquires biometric information; Equipped with The second processing unit is Sending a second public key corresponding to the second private key to the management device; Obtaining a first public key corresponding to the first private key by a predetermined acquisition method; the first processing unit transmits to the terminal device first encrypted data obtained by encrypting certain data with the first private key; The second processing unit is when the first encrypted data is received, determining whether or not a user of the terminal device is the owner based on the biometric information acquired by the biometric information acquisition unit, and determining whether or not the terminal device is worn on the body of the user by a predetermined method; When it is determined that the user is the owner and that the terminal device is worn on the user's body, the received first encrypted data is decrypted using the first public key to obtain the certain data, and the obtained certain data is encrypted using the second private key to obtain second encrypted data, which is then transmitted to the management device. Effect of the Invention
[0007] According to the present invention, more accurate personal authentication can be performed. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating a configuration of an authentication system. [Diagram 2] 2 is a block diagram showing a functional configuration of a management server. FIG. [Diagram 3] FIG. 2 is a block diagram showing a functional configuration of an owner terminal. [Figure 4] 4 is a block diagram showing a functional configuration of a service provider terminal; FIG. [Diagram 5] FIG. 2 is a diagram showing the operation flow of the authentication system. [Figure 6]13 is a flowchart showing a control procedure for license issuing processing. [Figure 7] 13 is a flowchart showing a control procedure for an NFT license certificate delivery process. [Figure 8] 13 is a flowchart showing a control procedure of an authentication process. [Figure 9] 13 is a flowchart showing a control procedure of an authentication process. [Figure 10] FIG. 11 is a block diagram showing a functional configuration of a management server 10 according to a second embodiment. [Figure 11] FIG. 11 is a diagram showing an operation flow of an authentication system according to a second embodiment. [Figure 12] 13 is a flowchart showing a control procedure of a registry use process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] (First embodiment) A first embodiment of the present invention will now be described with reference to the drawings.
[0010] <Outline of the authentication system> FIG. 1 is a diagram showing a configuration of an authentication system 1 according to the present invention. The authentication system 1 includes a management server 10 (management device), an owner terminal 20 (terminal device), and a service provider terminal 30 (authentication target device). The management server 10, the owner terminal 20, and the service provider terminal 30 are connected to each other via a network N so that data communication is possible. The network N is, for example, the Internet, but is not limited to this. In addition, the management server 10 is connected to a blockchain 2 via the network N. The authentication system 1 may also include the blockchain 2.
[0011] The management server 10 manages NFT content, which is digital content associated with a non-fungible token (hereinafter abbreviated as "NFT"). NFTs are digital data that are issued and registered on the blockchain 2 to ensure non-fungibility. By being associated with an NFT and registered on the blockchain 2, the NFT content is given uniqueness and asset value is created. In addition, by comparing a copy of the NFT content with the registered content on the blockchain 2, it is possible to determine whether the copy of the NFT content has been tampered with. The issuance and transaction details of the NFT and NFT content are recorded in smart contract, which is a computer protocol on the blockchain 2. The owner of the NFT content can be identified by referring to the transaction record on the blockchain 2. The management server 10 manages the NFT content by storing the data and owner of the NFT content and monitoring transactions of the NFT content.
[0012] In this embodiment, the NFT content managed by the management server 10 includes information that certifies the qualifications held by the owner of the NFT content. Specifically, the NFT content in this embodiment is an NFT license certificate 50 (see FIG. 2) that includes information related to the owner's license to drive a car (driver's license; hereinafter, simply referred to as "license").
[0013] The owner terminal 20 is an information processing device owned and used by the owner of the NFT license certificate 50. In this embodiment, the owner terminal 20 is a smartwatch worn on the wrist. The owner terminal 20 is not limited to a smartwatch, and may be any wearable terminal worn on the user's body. In this specification, the "owner" refers to a person who owns the NFT license certificate 50 and the owner terminal 20. Also, a person who uses the owner terminal 20 at a certain point in time is referred to as a "user." Since the owner terminal 20 is a portable terminal that is easily carried around, a person other than the owner may be the user.
[0014] The service provider terminal 30 is an information processing device operated by a person who provides a service using the NFT license certificate 50 (hereinafter, referred to as the "service provider"). The service provider of this embodiment provides a service of renting a car to a customer whose license ownership can be confirmed by the NFT license certificate 50. The service provider terminal 30 is mounted on a car rented by the service provider. The service provider terminal 30 may be a portable terminal such as a notebook PC or a tablet terminal, or may be pre-installed in the dashboard of the car. The service provider terminal 30 may also be an operation panel or the like provided in a parking lot or the like where the rented car is located. When the NFT license certificate 50 is presented by the user of the owner terminal 20 (when the NFT license certificate 50 is transmitted from the owner terminal 20 to the service provider terminal 30), the service provider terminal 30 requests the management server 10 to authenticate that the user of the owner terminal 20 is the genuine owner of the NFT license certificate 50 and that the NFT license certificate 50 is genuine.
[0015] The management server 10 is an information processing device operated by a company that provides a management service for the NFT license certificate 50. The management server 10 executes a predetermined authentication process in response to a request from the service provider terminal 30, and authenticates that the user of the owner terminal 20 is the genuine owner of the NFT license certificate 50, and that the NFT license certificate 50 presented by the user of the owner terminal 20 is genuine.
[0016] <Configuration of each device in the authentication system> FIG. 2 is a block diagram showing the functional configuration of the management server 10. As shown in FIG. The management server 10 includes a CPU 11 (Central Processing Unit), a RAM 12 (Random Access Memory), a storage unit 13, a communication unit 14, a bus 15, etc. The various units of the management server 10 are connected to each other via the bus 15. The management server 10 may further include an operation unit, a display unit, etc. that are used by an administrator of the management server 10.
[0017] The CPU 11 is a processor that controls the operation of each part of the management server 10 by reading and executing the program 131 stored in the storage unit 13 and performing various arithmetic processing. In this embodiment, the CPU 11 corresponds to a "first processing unit." The management server 10 may have multiple processors (e.g., multiple CPUs), and the multiple processes performed by the CPU 11 in this embodiment may be executed by the multiple processors. In this case, the multiple processors correspond to the "first processing unit." In this case, the multiple processors may be involved in a common process, or the multiple processors may independently execute different processes in parallel.
[0018] The RAM 12 provides a working memory space for the CPU 11 and stores temporary data.
[0019] The storage unit 13 is a non-transitory recording medium readable by the CPU 11 as a computer, and stores a program 131 and various data. The storage unit 13 includes a non-volatile memory such as a hard disk drive (HDD) or a solid state drive (SSD). The program 131 is stored in the storage unit 13 in the form of a computer-readable program code. The storage unit 13 stores a license DB (database) 132, an administrator private key K1b (first private key) managed by the management server 10, and the like.
[0020] License data 40 relating to the contents of the license for each license owner is recorded in the license DB 132. The license data 40 includes a license ID 41, license information 42, and individual identification information 43. The license ID 41 is a unique code (for example, a driver's license number) assigned to each license. The license information 42 includes information related to the contents of the license, such as the type of license, the expiration date, and restrictions. The individual identification information 43 includes information for identifying the owner of the license (such as the owner's name, address, and date of birth).
[0021] Furthermore, when an NFT license certificate 50 corresponding to the license data 40 is generated, the license DB 132 records the NFT license certificate 50 in a state associated with the license data 40. The NFT license certificate 50 stored in the license DB 132 corresponds to a copy of the NFT content associated with the NFT in the blockchain 2. The NFT license certificate 50 includes data of a license ID 51, an administrator public key K1a (first public key), and an owner public key K2a (second public key). The license ID 51 has the same code as the license ID 41 . The administrator public key K1a is data generated by the CPU 11 of the management server 10 to form a pair with the administrator private key K1b. The administrator public key K1a and the administrator private key K1b are data used for encrypting and decrypting data. Data encrypted with the administrator public key K1a can only be decrypted with the administrator private key K1b. Data encrypted with the administrator private key K1b can only be decrypted with the administrator public key K1a. The administrator private key K1b is stored in the memory unit 13 and is strictly managed so as not to be taken outside the memory unit 13. The owner public key K2a is data generated in the owner terminal 20 to form a pair with the owner private key K2b (second private key). The owner public key K2a and the owner private key K2b are data used for encrypting and decrypting data. Data encrypted with the owner public key K2a can be decrypted only with the owner private key K2b. Data encrypted with the owner private key K2b can be decrypted only with the owner public key K2a. Of these, the data of the administrator public key K1a and the owner public key K2a is included in the NFT license certificate 50. Note that the NFT license certificate 50 may further include data such as the license information 42 of the license data 40 and the individual identification information 43.
[0022] The communication unit 14 performs a communication operation according to a predetermined communication standard. Through this communication operation, the communication unit 14 transmits and receives data between the owner terminal 20, the service provider terminal 30, and the blockchain 2 via the network N.
[0023] FIG. 3 is a block diagram showing the functional configuration of the owner terminal 20. As shown in FIG. The owner terminal 20 includes a CPU 21, a RAM 22, a storage unit 23, a biometric information acquisition unit 24, a mounting detection unit 25, a display unit 26, an operation unit 27, a communication unit 28, and a bus 29. The individual units of the owner terminal 20 are connected to each other via the bus 29.
[0024] The CPU 21 is a processor that reads and executes the program 231 stored in the storage unit 23 and performs various arithmetic processing, thereby controlling the operation of each unit of the owner terminal 20. In this embodiment, the CPU 21 corresponds to the "second processing unit" and the "processing unit". The owner terminal 20 may have multiple processors (e.g., multiple CPUs), and the multiple processes performed by the CPU 21 in this embodiment may be executed by the multiple processors. In this case, the multiple processors correspond to the "second processing unit" and the "processing unit". In this case, the multiple processors may be involved in a common process, or the multiple processors may independently execute different processes in parallel.
[0025] The RAM 22 provides a working memory space for the CPU 21 and stores temporary data.
[0026] The storage unit 23 is a non-transitory recording medium readable by the CPU 21 as a computer, and stores the program 231 and various data. The storage unit 23 includes a non-volatile memory such as a flash memory. The program 231 is stored in the storage unit 23 in the form of a computer-readable program code. The program 231 includes various application programs (hereinafter abbreviated as "apps") used by the user of the owner terminal 20 to receive various services. One of these apps is an owner client app that allows the owner of the owner terminal 20 to receive issuance of an NFT license certificate 50 and authentication thereof.
[0027] The storage unit 23 stores biometric authentication information 232. The biometric authentication information 232 is biometric information unique to the owner of the owner terminal 20, and is information used for personal authentication of the owner. The biometric authentication information 232 includes, for example, fingerprint or pulse waveform information, and is acquired in advance by the biometric information acquisition unit 24 and registered in the storage unit 23. Furthermore, in the case where the owner terminal 20 receives an NFT license certificate 50 from the management server 10, the memory unit 23 stores the NFT license certificate 50.
[0028] Furthermore, the storage unit 23 has a secure area 233 (area) that cannot be accessed from the CPU 21 in a normal execution environment. The secure area 233 may be physically isolated from areas of the storage unit 23 other than the secure area 233. The above-mentioned normal execution environment is an environment in which the OS (Operating System) and applications for controlling the operation of each part of the owner terminal 20 by the CPU 21 are executed, and is also called a Rich Execution Environment (hereinafter referred to as "REE") or normal world. The secure area 233 can be accessed only in a trusted execution environment (hereinafter, referred to as "TEE") that is different from the REE due to a hardware mechanism. Therefore, it is impossible to access the secure area 233 from the OS or applications of the REE. From another perspective, only specific resources, which are different from the resources used in the REE, among the hardware resources such as the CPU 21, can access the secure area 233 in the TEE. The TEE is also called a secure world. An example of the implementation of the TEE includes, but is not limited to, ARM TrustZone (registered trademark). In the TEE, only limited functions provided by a predetermined API (Application Programming Interface) can be executed. The API of this embodiment can be called only when personal authentication using biometric information (hereinafter referred to as "biometric authentication"), which will be described later, is successful. In this embodiment, the API generates an owner public key K2a and an owner private key K2b inside the secure area 233, and outputs only the owner public key K2a to the REE. Therefore, the owner private key K2b is stored inside the secure area 233 and is not taken out of the secure area 233. In addition, the API encrypts input data such as random numbers using the owner private key K2b and outputs the encrypted data to the REE.
[0029] The biometric information acquiring unit 24 acquires biometric information of the user of the owner terminal 20 and outputs it to the CPU 21. The biometric information acquiring unit 24 may be a fingerprint detection unit that detects a fingerprint as the biometric information of the user. The biometric information acquiring unit 24 may also be a pulse wave detection unit that detects a pulse waveform as the biometric information of the user. Biometric authentication is performed by comparing the biometric information acquired by the biometric information acquiring unit 24 with the above-mentioned biometric authentication information 232. When the biometric information acquisition unit 24 is a fingerprint detection unit, the fingerprint detection method is not particularly limited, and may be, for example, a capacitance method, an optical method, or a pressure-sensitive method. When the capacitance method is used, a large number of electrodes are provided inside a fingerprint reading area provided on a housing (bezel, etc.) or an operation button of the owner terminal. When a finger touches the fingerprint reading area, the amount of electric charge accumulated in each electrode is distributed according to the unevenness of the fingerprint, and the fingerprint can be read based on this distribution. The fingerprint detection unit may be provided at a position overlapping the display screen of the display unit 26. In this case, for example, an optical method may be used in which the fingerprint of a finger touching a cover member overlapped on the display unit 26 is optically read to detect the fingerprint. When the biometric information acquisition unit 24 is a pulse wave detection unit, the pulse wave detection unit emits green light that is easily absorbed by hemoglobin in the blood, receives the light reflected by the skin, and detects its intensity. Since a portion of the light irradiated on the user's skin is absorbed by the blood in the blood vessels, the pulse wave detection unit can detect the waveform of the pulse wave based on the change over time in the amount of received light that corresponds to the change in blood flow rate associated with the pulsation of the heart. The light source for the green light is provided, for example, on the back surface of the owner terminal 20 (the surface that comes into contact with the wrist when worn). The biometric information acquiring unit 24 may acquire biometric information other than a fingerprint and a pulse wave.
[0030] The wearing detection unit 25 detects that the owner terminal 20 is worn on the body of the user and outputs the detection result to the CPU 21. The wearing detection unit 25 includes, for example, a light-emitting element that emits light such as infrared light from the back surface of the owner terminal 20 toward the outside, and a light-receiving element for receiving reflected light from an object. When the owner terminal 20 is worn by a user, the light emitted from the light-emitting element is reflected by the skin of the user's wrist. The light-receiving element is provided at a position where it can receive the light reflected by the user's skin. When the amount of reflected light received by the light-receiving element is equal to or greater than a reference amount of light, the wearing detection unit 25 determines that the owner terminal 20 is worn by the user and outputs a signal indicating that the owner terminal 20 is in a worn state. When the amount of reflected light received by the light-receiving element is less than the reference amount of light, the wearing detection unit 25 determines that the owner terminal 20 is not worn by the user and outputs a signal indicating that the owner terminal 20 is in a non-worn state. When the biometric information acquisition unit 24 is a pulse wave detection unit, the biometric information acquisition unit 24 may also function as the attachment detection unit 25. In other words, when a pulse wave is detected by the biometric information acquisition unit 24, it may be determined that the owner terminal 20 is attached to the user. The configuration of the wearing detection unit 25 is not limited to the above. For example, the wearing detection unit 25 may have an electrode provided on the back surface of the owner terminal 20, and may detect wearing based on a minute current that flows when the owner terminal 20 is worn and the skin is in contact with the electrode. The wearing detection unit 25 may also detect wearing based on the pressing status of a physical button that is provided to be pressed when the owner terminal 20 is worn.
[0031] The display unit 26 displays various information such as an operation screen of the application and an image of the NFT license certificate 50 under the control of the CPU 21. As the display unit 26, for example, a liquid crystal display device that performs display using a dot matrix method can be used, but is not limited to this.
[0032] The operation unit 27 receives an input operation by the user, and outputs an input signal according to the input operation to the CPU 21. The operation unit 27 includes a touch panel provided overlaid on the display screen of the display unit 26, hardware buttons, and the like.
[0033] The communication unit 28 performs a communication operation in accordance with a predetermined communication standard. The communication unit 28 transmits and receives data between the management server 10 and the service provider terminal 30 via the network N through this communication operation.
[0034] FIG. 4 is a block diagram showing the functional configuration of the service provider terminal 30. As shown in FIG. The service provider terminal 30 includes a CPU 31, a RAM 32, a storage unit 33, a display unit 34, an operation unit 35, a communication unit 36, and a bus 37. The components of the service provider terminal 30 are connected to each other via the bus 37.
[0035] The CPU 31 is a processor that reads and executes a program 331 stored in the storage unit 33 and performs various arithmetic processing to control the operation of each unit of the service provider terminal 30. The service provider terminal 30 may have multiple processors (e.g., multiple CPUs), and the multiple processes executed by the CPU 31 of this embodiment may be executed by the multiple processors. In this case, the multiple processors may be involved in a common process, or the multiple processors may independently execute different processes in parallel.
[0036] The RAM 32 provides a working memory space for the CPU 31 and stores temporary data.
[0037] The storage unit 33 is a non-transitory recording medium readable by the CPU 31 as a computer, and stores the program 331 and various data. The storage unit 33 includes a non-volatile memory such as a flash memory. The program 331 is stored in the storage unit 23 in the form of a computer-readable program code. The program 331 includes a user client application used by the service user to receive the car rental service. In the memory unit 33, when the service provider terminal 30 receives an NFT license certificate 50 from the owner terminal 20, the NFT license certificate 50 is stored.
[0038] The display unit 34 displays various information such as an operation screen of the app and an image of the NFT license certificate 50 under the control of the CPU 31. As the display unit 34, for example, a liquid crystal display device that performs display using a dot matrix method can be used, but is not limited to this.
[0039] The operation unit 35 receives an input operation by the user, and outputs an input signal according to the input operation to the CPU 21. The operation unit 35 includes a touch panel provided over the display screen of the display unit 34, hardware buttons, and the like.
[0040] The communication unit 36 performs a communication operation in accordance with a predetermined communication standard. The communication unit 36 transmits and receives data between the management server 10 and the owner terminal 20 via the network N through this communication operation.
[0041] <Authentication system operation> Next, the operation of the authentication system 1 will be described. FIG. 5 is a diagram showing the flow of operations of the authentication system 1. The operation of the authentication system 1 is outlined below. Management server 10 issues a license when the owner of owner terminal 20 meets the conditions for obtaining the license (step A1). In response to a request from the owner terminal 20, the management server 10 registers the NFT license certificate 50 in the blockchain 2 and sends a copy of it to the owner terminal 20 (step A2). The owner of the owner terminal 20 gets into the service provider's car and operates the service provider terminal 30 to apply for use (step A3). At this stage, the car's engine is set not to start. Here, the owner runs the user client app on the service provider terminal 30 and inputs necessary information such as a credit card number. The user client app also requests proof of possession of a license, so the owner operates the owner client app on the owner terminal 20 and transmits the NFT license certificate 50 from the owner terminal 20 to the service provider terminal 30 (step A4). The service provider terminal 30 transmits the NFT license certificate 50 to the management server 10, and requests authentication of the authenticity of the owner and the NFT license certificate 50 (step A5). The management server 10 transmits and receives various authentication data to and from the owner terminal 20, and determines whether the owner and the NFT license certificate 50 are genuine and performs authentication (step A6). If the authentication is successful, the management server 10 transmits authentication data related to the authentication result to the service provider terminal 30 (step A7). If the service provider terminal 30 authenticates that the owner and the NFT license certificate 50 are genuine, it starts a car rental service for the owner (step A8). That is, the service provider terminal 30 removes the restriction on starting the car's engine, and transitions the car to a state in which it can be operated. This allows the owner to operate the car and head out. In this manner, the service provider can provide the service unmanned.
[0042] The NFT license certificate 50 cannot be tampered with because it is associated with the NFT. However, since the NFT license certificate 50 is digital content that is easily copied, if a person other than the genuine owner obtains a copy illegally, the person may impersonate the owner and use the license fraudulently. In recent years, the NFT license certificate 50 and software (wallet) for obtaining the NFT license certificate 50 may be installed in a wearable terminal such as the owner terminal 20 of the present embodiment, so if the owner terminal 20 itself is taken out by another person, the NFT license certificate 50 may be used fraudulently. For this reason, when proving ownership qualification using the NFT license certificate 50, personal authentication that authenticates that the person presenting the NFT license certificate 50 (i.e., the user of the owner terminal 20) is the genuine owner of the owner terminal 20 and the NFT license certificate 50 is particularly important.
[0043] Therefore, in this embodiment, proper personal authentication is realized by the following method. First, in the owner terminal 20, an owner private key K2b is generated and stored in advance in the secure area 233 that is inaccessible from the REE. Then, in step A6, encrypted data for authentication is generated by the owner private key K2b only when biometric authentication in the owner terminal 20 is successful and the owner terminal 20 is in a worn state. Also, authentication is not performed when the owner terminal 20 is not worn. This prevents unauthorized personal authentication by anyone other than the genuine owner.
[0044] Below, we will explain the control procedures for the license issuance process, NFT license certificate delivery process, and authentication process to realize the operations in Figure 5.
[0045] FIG. 6 is a flowchart showing a control procedure for license issuing processing. The license issuing process is executed by the CPU 11 of the management server 10 when step A1 in FIG. 5 is performed. When the license issuance process is started, the CPU 11 assigns a license ID 41 for identifying the license to the license (or its owner) (step S101). The CPU 11 also generates license data 40 including the license ID 41, license information 42, and individual identification information 43, and registers the license data 40 in the license DB 132 (step S102). When step S102 ends, the CPU 11 ends the license issuing process.
[0046] FIG. 7 is a flowchart showing the control procedure of the NFT license certificate delivery process. The NFT license certificate transfer process is executed by the CPU 11 of the management server 10 and the CPU 21 of the owner terminal 20 when step A2 in Fig. 5 is performed. In Fig. 7, the process executed by the CPU 21 of the owner terminal 20 and the process executed by the CPU 11 of the management server 10 are shown side by side. Moreover, the flow of the process is depicted by solid lines, and data transmitted and received between devices is depicted by dashed lines.
[0047] When the NFT license certificate transfer process is started, the CPU 21 of the owner terminal 20 determines whether or not personal identification information 43 has been input in the owner client application (step S201), and if not ("NO" in step S201), executes step S201 again. If it is determined that personal identification information 43 has been input ("YES" in step S201), the CPU 21 transmits the personal identification information 43 to the management server 10 (step S202).
[0048] The CPU 11 of the management server 10 refers to the license DB 132 and searches for the license data 40 of a person matching the contents of the personal identification information 43 (step S301). If the license data 40 of the matching person is present, the CPU 11 requests the owner terminal 20 to transmit the owner public key K2a (step S302).
[0049] In step S202 of FIG. 7, a secret code (password, secret number, etc.) that only the owner of the owner terminal 20 can know may be transmitted to the management server 10 together with the personal identification information 43. In this case, the CPU 11 of the management server 10 registers the secret code received from the owner terminal 20 in advance in the license issuing process of FIG. 6 in association with the personal identification information 43 of the management server 10. Then, in step S301 of FIG. 7, the CPU 11 of the management server 10 executes a search for license data only when the combination of the transmitted personal identification information 43 and secret code matches the combination of the personal identification information 43 and secret code registered in the storage unit 13. This makes it possible to prevent fraud in which a third party who has obtained the personal identification information 43 through an illegal route impersonates the genuine owner and obtains the NFT license certificate 50. Furthermore, in addition to (or instead of) the above-mentioned password, biometric authentication information 232 may be transmitted. In this case, the biometric authentication information 232 received from the owner terminal 20 in the license issuing process of Fig. 6 may be registered in association with the individual identification information 43 of the management server 10. This makes it possible to prevent impersonation by a third party who has illegally obtained the password.
[0050] When the CPU 21 of the owner terminal 20 receives a transmission request for the owner public key K2a, the CPU 21 starts processing related to personal authentication (biometric authentication) of the owner of the owner terminal 20 and wearing determination in order to call the API of the TEE in step S206 described later. First, the CPU 21 displays a screen on the display unit 26 that prompts the user to perform biometric authentication, and acquires biometric information detected by the biometric information acquisition unit 24 in response to the user's operation or movement (step S203). Based on the acquired biometric information, the CPU 21 performs biometric authentication to determine whether the user is a genuine owner or not (step S204). In detail, the CPU 21 collates the acquired biometric information with the biometric authentication information 232 stored in the storage unit 23, and determines that the biometric authentication has been successful if a predetermined matching condition is satisfied. The matching condition may be, for example, that a predetermined number or more of feature points match between the fingerprint or pulse waveform acquired by the biometric information acquisition unit 24 and the fingerprint or pulse waveform of the biometric authentication information 232. If it is determined that the biometric authentication has failed ("NO" in step S204), the CPU 21 determines that the user is not the true owner, and ends the NFT license certificate delivery process. If it is determined that the biometric authentication is successful, i.e., if it is determined that the user is the genuine owner ("YES" in step S204), the CPU 21 determines whether or not the owner terminal 20 is in an attached state using the method described above based on the data output from the attachment detection unit 25 (step S205). If it is determined that the owner terminal 20 is in an unattached state ("NO" in step S205), the CPU 21 determines that the state is low security, and ends the NFT license certificate transfer process. Alternatively, the CPU 21 may repeatedly execute step S205 until the owner terminal 20 is in an attached state.
[0051] If it is determined in step S204 that the user is a genuine owner ("YES" in step S204) and if it is determined in step S205 that the owner terminal 20 is in an attached state ("YES" in step S205), the API of the TEE becomes available in the owner terminal 20. Then, the CPU 21 calls the API of the TEE to generate an owner public key K2a and an owner private key K2b in the secure area 233 (step S206). Of these, the API outputs only the owner public key K2a to the REE. The CPU 21 transmits the owner public key K2a output to the REE to the management server 10 (step S207).
[0052] In addition, when the biometric information acquiring unit 24 can acquire biometric information (e.g., pulse waveform) of the part of the user's body where the owner terminal 20 is attached, steps S204 and S205 may be integrated. That is, when the biometric authentication is successful in step S204, it may also be determined that the owner terminal 20 is in the attached state.
[0053] When step S302 is completed, the CPU 11 of the management server 10 generates an administrator public key K1a and an owner public key K2a and stores them in the storage unit 13 (step S303). When the CPU 11 receives the owner public key K2a from the owner terminal 20, the CPU 11 associates the NFT license certificate 50, including the license ID 51, the administrator public key K1a, and the owner public key K2a, with the NFT in the blockchain 2 and registers it (step S304). This NFT license certificate 50 cannot be tampered with by the blockchain technology. The CPU 11 registers the generated NFT license certificate 50 in the license DB 132 in association with the owner's license data 40 (step S305). The CPU 11 also transmits the NFT license certificate 50 to the owner terminal 20 (step S306). When step S306 ends, the CPU 11 ends the NFT license certificate delivery process.
[0054] The CPU 21 of the owner terminal 20 stores the received NFT license certificate 50 in the storage unit 231 (step S208). When step S205 ends, the CPU 21 ends the NFT license certificate transfer process.
[0055] 8 and 9 are flowcharts showing a control procedure of the authentication process. The authentication process corresponds to steps A4 to A8 in Fig. 5. In Fig. 8 and Fig. 9, the process executed by the CPU 21 of the owner terminal 20, the process executed by the CPU 31 of the service provider terminal 30, and the process executed by the CPU 11 of the management server 10 are shown side by side. Moreover, the flow of the process is depicted by a solid line, and data transmitted and received between devices is depicted by a dashed line.
[0056] When the authentication process is started, the CPU 31 of the service provider terminal 30 determines whether or not an application for use of the service has been made on the user client application (step S501), and if an application for use has not been made ("NO" in step S501), executes step S501 again. If it is determined that an application for use of the service has been made ("YES" in step S501), the CPU 31 causes the display unit 34 to display an instruction screen prompting the user to transmit the NFT license certificate 50 (step S502).
[0057] In the owner terminal 20, the owner who has viewed the instruction screen performs an operation on the owner client app to transmit the NFT license certificate 50. In response to the operation, the CPU 21 transmits the NFT license certificate 50 to the service provider terminal 30 (step S401).
[0058] The CPU 31 of the service provider terminal 30 transmits the received NFT license certificate 50 to the management server 10, and transmits to the management server 10 a request to authenticate that the owner and the NFT license certificate 50 are genuine (step S503). Note that the NFT license certificate 50 may be transmitted directly from the owner terminal 20 to the management server 10.
[0059] When the CPU 11 of the management server 10 receives the authentication request, it transmits a report (inquiry report) to the owner terminal 20 that there has been an inquiry regarding the license (step S601). If the inquiry is not intended by the owner of the owner terminal 20, the owner can cancel the subsequent processing by performing a predetermined operation.
[0060] The CPU 11 of the management server 10 compares the contents of the received NFT license certificate 50 with the contents recorded in the blockchain 2 (step S602). Step S602 corresponds to a process of determining whether or not the received NFT license certificate 50 is a genuine NFT license certificate 50 owned by the owner. If it is determined that the contents of the received NFT license certificate 50 do not match the contents recorded in the blockchain 2 ("NO" in step S603), the CPU 11 determines that the NFT license certificate 50 has been tampered with and terminates the authentication process. In this case, the CPU 11 may notify the service provider terminal 30 that the NFT license certificate 50 is not genuine.
[0061] If it is determined that the contents of the received NFT license certificate 50 match the contents recorded in the blockchain 2, that is, if it is determined that the NFT license certificate 50 has not been tampered with ("YES" in step S603), the CPU 11 generates a random number (certain data) and encrypts the random number with the administrator private key K1b to generate first encrypted data. The CPU 11 transmits the generated first encrypted data to the owner terminal 20 (step S604).
[0062] When the CPU 21 of the owner terminal 20 receives the first encrypted data, it executes steps S402 to S404 related to personal authentication (biometric authentication) of the owner of the owner terminal 20 and wearing determination in order to call the API of the TEE in step S406 described later. The processing contents of these steps S402 to S404 are the same as steps S203 to S205 of the NFT license certificate delivery processing in Fig. 7, so the description will be omitted. Also, as in Fig. 7, if the biometric information acquisition unit 24 can acquire biometric information (e.g., pulse waveform) of the part of the user's body where the owner terminal 20 is worn, steps S403 and S404 may be integrated. That is, if the biometric authentication is successful in step S403, it may also be determined that the owner terminal 20 is in a wearing state. If it is determined that the biometric authentication has failed ("NO" in step S403), the CPU 21 determines that the user is not the true owner, and ends the authentication process. If it is determined that the owner terminal 20 is not in a worn state ("NO" in step S404), the CPU 21 determines that the security is low and ends the authentication process. Alternatively, the CPU 21 may repeatedly execute step S205 until the owner terminal 20 is in a worn state. When branching to "NO" in step S403 or S404 to end the authentication process, the CPU 21 may notify the management server 10 and the service provider terminal 30 that the owner is not authentic.
[0063] In step S403, if it is determined that the user is a genuine owner ("YES" in step S403) and if it is determined that the owner terminal 20 is in an attached state ("YES" in step S404), the API of the TEE becomes available in the owner terminal 20. First, the CPU 21 decrypts the first encrypted data with the administrator public key K1a included in the NFT license certificate 50 to obtain a random number (step S405). Next, the CPU 21 calls the API of the TEE and causes it to encrypt the random number using the owner private key K2b in the secure area 233 to generate second encrypted data. The CPU 21 obtains the second encrypted data output by the API (step S406). The CPU 21 also transmits the obtained second encrypted data to the management server 10 (step S407).
[0064] The CPU 21 again determines whether the owner terminal 20 is in the attached state (step S408). If it is determined that the owner terminal 20 is in the unattached state ("NO" in step S408), the CPU 21 transmits a non-attached notification indicating the unattached state to the management server 10 (step S409). If it is determined that the owner terminal 20 is in the attached state ("YES" in step S408), the CPU 21 ends the authentication process. Note that if it is determined in step S408 that the owner terminal 20 is in the attached state, step S408 may be repeatedly executed until a predetermined point in time. The predetermined point in time may be, for example, the point in time when the CPU 11 of the management server 10 transmits authentication data (described later) (step S608).
[0065] When the CPU 11 of the management server 10 receives the second encrypted data, it attempts to decrypt it with the owner public key K2a included in the NFT license certificate 50 (step S605). If the decryption fails or the obtained random number does not match the random number sent as the first encrypted data in step S604 ("NO" in step S606), the CPU 11 ends the authentication process. In this case, the CPU 11 may notify the service provider terminal 30 that authentication of the owner and the NFT license certificate 50 has failed.
[0066] If the decryption is successful and the obtained random number matches the random number transmitted as the first encrypted data in step S604 ("YES" in step S606), the CPU 11 determines whether or not a non-attachment notification has been received from the owner terminal 20 (step S607). If it is determined that a non-attachment notification has been received ("YES" in step S607), the CPU 11 ends the authentication process. In this case, the CPU 11 may notify the service provider terminal 30 that authentication of the owner and the NFT license certificate 50 has failed. If it is determined that a non-attachment notification has not been received ("NO" in step S607), the CPU 11 transmits authentication data to the service provider terminal 30 (step S608). This authentication data is data that authenticates that the genuine owner of the owner terminal 20 and the NFT license certificate 50 is using the owner terminal 20, and that the received NFT license certificate 50 is genuine. When the CPU 11 transmits the authentication data, the CPU 11 may transmit a notification to the owner terminal 20 that approval of the authentication data has been completed.
[0067] When the CPU 31 of the service provider terminal 30 receives the authentication data, it performs processing such as lifting the restriction on starting the engine of the automobile, and starts the automobile lending service to the owner of the owner terminal 20 (step S504). When step S504 ends, the CPU 11, 21, 31 ends the authentication process.
[0068] <Effects> As described above, the authentication system 1 according to this embodiment includes the management server 10 and the owner terminal 20. The management server 10 has a CPU 11 and manages the administrator private key K1b. The owner terminal 20 has a CPU 21, a storage unit 23 in which the owner private key K2b is stored, and a biometric information acquisition unit 24 that acquires biometric information, and is used by a predetermined owner. The CPU 21 transmits the owner public key K2a corresponding to the owner private key K2b to the management server 10, and acquires the administrator public key K1a corresponding to the administrator private key K1b by a predetermined acquisition method. The CPU 11 transmits first encrypted data obtained by encrypting the random number with the administrator private key K1b to the owner terminal 20. When the CPU21 receives the first encrypted data, it determines whether or not the user of the owner terminal 20 is the owner based on the biometric information acquired by the biometric information acquisition unit 24, and determines whether or not the owner terminal 20 is worn on the user's body using a predetermined method.If it is determined that the user is the owner and that the owner terminal 20 is worn on the user's body, it decrypts the received first encrypted data using the administrator public key K1a to obtain a random number, and encrypts the obtained random number using the owner private key K2b to transmit the obtained second encrypted data to the management server 10. In this way, a process of having the owner terminal 20 acquire the administrator public key K1a in advance and transmitting the first encrypted data that can only be decrypted with the administrator public key K1a to the owner terminal 20 at a timing separate from the above can prevent unauthorized personal authentication by the owner terminal 20 that has not acquired the administrator public key K1a. Also, by authenticating the owner as a genuine owner only when the first encrypted data is successfully decrypted and re-encrypted with the owner private key K2b, it can be proven that the administrator public key K1a and the owner private key K2b are recorded in the owner terminal 20 and that the owner is operated by a person who can release the access restriction to the owner private key K2b. Also, since encryption with the owner private key K2b is performed only when the owner terminal 20 is determined to be a genuine owner by biometric authentication, personal authentication can be performed with higher accuracy than authentication methods using a password or a pin code. These features allow more appropriate personal authentication to be performed. Also, personal authentication can be prevented from being performed when the owner terminal 20 is not worn. Therefore, in the case where the owner terminal 20 is illegally taken away by another person after biometric authentication has been performed, illegal personal authentication through impersonation can be prevented.
[0069] When a random number is obtained by decrypting the second encrypted data using the owner public key K2a, the CPU 11 transmits authentication data to the service provider terminal 30 that authenticates that the owner using the owner terminal 20 and the received NFT license certificate 50 are genuine. This makes it possible to prove to the service provider terminal 30 that the genuine owner is using the owner terminal 20.
[0070] Furthermore, when the CPU 21 determines that the owner terminal 20 is no longer attached to the user's body after determining that the owner terminal 20 is attached to the user's body, it transmits a non-attachment notice to the management server 10, and when the CPU 11 receives the non-attachment notice, it does not transmit authentication data to the service provider terminal 30. This makes it possible to stop personal authentication when the owner terminal 20 is no longer attached to the user's body, thereby more reliably preventing unauthorized personal authentication.
[0071] Furthermore, the biometric information acquisition unit 24 may acquire biometric information on the part of the user's body where the owner terminal 20 is attached when the owner terminal 20 is attached to the user's body, and the CPU 21 may further determine that the owner terminal 20 is attached to the user's body when it has been determined that the user is the owner based on the biometric information. This makes it possible to perform biometric authentication only when the owner terminal 20 is attached. This makes it possible to perform personal authentication more reliably and appropriately.
[0072] Moreover, the owner private key K2b is stored in the secure area 233 of the storage unit 23, which is inaccessible from the CPU 21 in a normal execution environment. This allows the second encrypted data to be generated in the REE while blocking access to the owner private key K2b. This allows for more secure personal authentication.
[0073] Furthermore, the management server 10 manages the NFT license certificate 50 associated with the NFT, and the owner terminal 20 is used by the owner of the NFT license certificate 50. The CPU 11 determines whether the NFT license certificate 50 received directly from the owner terminal 20 or via another device is a genuine NFT license certificate 50 owned by the owner, and transmits the first encrypted data to the owner terminal 20 when it is determined that the received NFT license certificate 50 is a genuine NFT license certificate 50. When a random number is obtained by decrypting the second encrypted data using the owner public key K2a, the CPU 11 transmits authentication data to the service provider terminal 30 that authenticates the owner using the owner terminal 20 and the received NFT license certificate 50 as genuine. In this way, by using the NFT license certificate 50 associated with the NFT, it is possible to reliably determine whether the NFT license certificate 50 has been tampered with. Therefore, according to the above configuration, it is possible to properly authenticate that the NFT license certificate 50 is genuine and that the owner presenting the NFT license certificate 50 is genuine by a simple method using data communication between devices.
[0074] Furthermore, the NFT license certificate 50 includes an administrator public key K1a and an owner public key K2a, and the CPU 21 acquires the administrator public key K1a by a method for acquiring the NFT license certificate 50, and decrypts the first encrypted data by the administrator public key K1a included in the NFT license certificate 50. This allows the management server 10 and the owner terminal 20 to share the administrator public key K1a and the owner public key K2a by a simple method of transferring the NFT license certificate 50 between the management server 10 and the owner terminal 20. Furthermore, because the administrator public key K1a and the owner public key K2a are registered in association with the NFT, it is possible to determine whether the administrator public key K1a and / or the owner public key K2a have been tampered with.
[0075] Furthermore, the NFT license certificate 50 includes information that certifies the qualifications held by the owner. This makes it possible to properly authenticate, by a simple method using data communication between devices, that the owner of the NFT license certificate 50 holds the qualifications, and that the person using (presenting) the NFT license certificate 50 is the genuine owner.
[0076] The owner terminal 20 according to the present embodiment is an owner terminal 20 used by a specific owner, and includes a CPU 21 and a biometric information acquisition unit 24 that acquires biometric information. The CPU 21 receives first encrypted data obtained by encrypting a random number with an administrator private key K1b managed by the management server 10 from the management server 10. When the CPU 21 receives the first encrypted data, the CPU 21 determines whether or not the user of the owner terminal 20 is the owner based on the biometric information acquired by the biometric information acquisition unit 24, and determines whether or not the owner terminal 20 is attached to the user's body by a predetermined method, and transmits second encrypted data obtained based on the received first encrypted data to the management server 10 when it is determined that the user is the owner and that the owner terminal 20 is attached to the user's body. This allows for more appropriate personal authentication.
[0077] Second embodiment Next, a second embodiment will be described. Below, differences from the first embodiment will be described, and descriptions of contents common to the first embodiment will be omitted. In this embodiment, the NFT content managed by the management server 10 includes information that certifies assets held by the owner of the NFT content. Specifically, the NFT content of this embodiment is an NFT registry certificate 70 that includes information related to the registry of real estate (assets) held by the owner. Furthermore, the service provider of this embodiment is a bank that provides loans to the owner of the NFT registry certificate 70 using real estate registered in the registry as collateral. Therefore, the service provider terminal 30 is, for example, an information processing device installed in a bank.
[0078] FIG. 10 is a block diagram showing the functional configuration of the management server 10 according to the second embodiment. The management server 10 of this embodiment is operated by a registry management company that manages information related to registries. A registry DB 133 is stored in the memory unit 13 of the management server 10. Registry data 60 relating to the contents of the registry is recorded in the registry DB 133 for each registry (or for each owner of real estate related to the registry). The registry data 60 includes a registry ID 61, registry information 62, and individual identification information 63. The registry ID 61 is a unique code given to each registry. The registry information 62 includes information related to the contents of the registry (or a certified copy of the registry), such as the location, structure, area, owner, transfer of ownership, and establishment of mortgage of real estate. The individual identification information 63 includes information for identifying the owner of the real estate related to the registry (such as the owner's name, address, and date of birth).
[0079] Furthermore, in the case where an NFT registry certificate 70 corresponding to the registry data 60 has been generated, the registry DB 133 records the NFT registry certificate 70 in a state associated with the registry data 60. The NFT registry certificate 70 corresponds to a copy of the NFT content associated with the NFT in the blockchain 2. The NFT registry certificate 70 includes a registry ID 71 that is the same as the registry ID 61, an administrator public key K1a, and an owner public key K2a.
[0080] FIG. 11 is a diagram showing the flow of operations of the authentication system 1 according to the second embodiment. The operation of the authentication system 1 in this embodiment is outlined below. Management server 10 registers registry data 60 relating to the registry of real estate held by the owner based on a certified copy of the registry or the like submitted by the owner of owner terminal 20 (step B1). In response to a request from the owner terminal 20, the management server 10 registers the NFT registry certificate 70 in the blockchain 2 and sends a copy of it to the owner terminal 20 (step B2). For example, when the owner of the owner terminal 20 purchases a high-priced item while away from home, the owner applies for a loan from a bank via the owner client app (step B3). In addition, the owner client app requests proof of the contents of the registry, so the owner operates the owner client app of the owner terminal 20 to send an NFT registry certificate 70 from the owner terminal 20 to the service provider terminal 30 (step B4). The service provider terminal 30 transmits the NFT registry certificate 70 to the management server 10, and requests authentication of the authenticity of the owner and the NFT registry certificate 70 (step B5). The management server 10 transmits and receives predetermined authentication data to and from the owner terminal 20, and determines whether the owner and the NFT registry certificate 70 are genuine and performs authentication (step B6). If the authentication is successful, the management server 10 transmits authentication data related to the authentication result to the service provider terminal 30 (step B7). If the service provider terminal 30 certifies that the owner and the NFT registry certificate 70 are authentic, it requests the management server 10 to add a mortgage to the registry (step B8), and provides a loan to the owner of the owner terminal 20 using the real estate related to the registry as collateral (step B9).
[0081] Traditionally, when purchasing expensive items that cannot be paid for by credit card, etc., transactions have been conducted using real estate or other assets as collateral, but this was time-consuming and involved expensive intermediation costs. In contrast, according to the method of this embodiment, the owner of the owner terminal 20 can access the bank's service provider terminal 30 online from anywhere and obtain a loan without having to go to the bank in person. This allows the owner to omit complicated procedures, receive a loan in a timely manner, and purchase expensive items, etc. Also, the intermediary costs involved in the transaction can be reduced.
[0082] The control procedures for implementing these operations will be described below. The process relating to the registration of the registry data 60 in step B1 is the same as the license issuing process in FIG. 6, except that the contents of the data are replaced with registry-related data, and therefore a description thereof will be omitted. The process relating to the registration and delivery of the NFT registry certificate 70 in step B2 is the same as the process in Figure 7 where the data contents in the NFT license certificate delivery process are replaced with data relating to the registry, so a detailed explanation will be omitted.
[0083] FIG. 12 is a flowchart showing a control procedure of the registry utilization process. The registry utilization process corresponds to steps B4 to B9 in Fig. 11. In Fig. 11, the process executed by the CPU 21 of the owner terminal 20, the process executed by the CPU 31 of the service provider terminal 30, and the process executed by the CPU 11 of the management server 10 are shown side by side. Moreover, the process flow is depicted by solid lines, and data transmitted and received between devices is depicted by dashed lines.
[0084] The registry usage process is executed when a loan application is made on the owner client app of the owner terminal 20. When the registry usage process is started, the authenticity of the owner and the NFT registry certificate 70 is authenticated by an authentication process similar to that of Figs. 8 and 9 in the first embodiment. In detail, the authentication process in the registry usage process includes steps S401 to S409, S503 to S504, and S601 to S608 of the authentication process in Figs. 8 and 9, and corresponds to a replacement of the "NFT license certificate 50" with the "NFT registry certificate 70." If the authentication process is successful, authentication data is sent from the management server 10 to the service provider terminal 30 to authenticate that the genuine owner of the owner terminal 20 and the NFT registry certificate 70 is using the owner terminal 20, and that the NFT registry certificate 70 is genuine.
[0085] When the CPU 31 of the service provider terminal 30 receives the authentication data, it requests the management server 10 to transmit the registry information 62 included in the registry data 60 corresponding to the NFT registry certificate 70 (step S511). When the CPU 11 of the management server 10 receives the request, it transmits a permission request to the owner terminal 20 to disclose the registry information 62 (step S611). When the owner performs an operation for permission in response to the permission request, the CPU 21 of the owner terminal 20 transmits a disclosure permission to the management server 10 (step S411). When the CPU 31 of the management server 10 receives the disclosure permission, it transmits the registry information 62 to the service provider terminal 30 (step S612).
[0086] The CPU 31 of the service provider terminal 30 calculates the conditions for financing based on the registry information 62 and notifies the owner terminal 20 (step S512). For example, the CPU 31 estimates the value of real estate based on the registry information 62 and calculates the financing limit. The CPU 21 of the owner terminal 20 transmits a financing request including the desired financing amount to the service provider terminal 30 in response to the owner's operation (step S412). If the financing conditions are met, the CPU 31 of the service provider terminal 30 decides to provide financing secured by the real estate (step S513). Additionally, the CPU 31 notifies the owner terminal 20 of the financing decision.
[0087] After that, a process is executed to add a registration entry relating to the establishment of a mortgage to the registry. First, the CPU 31 of the service provider terminal 30 transmits a request for the above-mentioned registration addition to the management server 10 (step S514). The CPU 11 of the management server 10 transmits a permission request for the registration addition to the owner terminal 20 (step S613). In response to the owner's operation for permission in response to the permission request, the CPU 21 of the owner terminal 20 transmits permission for the registration addition to the management server 10 (step S413).
[0088] When permission to add to the registry is received, the CPU 11 of the management server 10 adds to the registry information 62 in the registry data 60 of the registry DB 133, and transmits an addition certificate attesting to the addition to the owner terminal 20 and the service provider terminal 30 (step S614). The addition to the registry information 62 in step S614 is an update of information in the management server 10, and the official addition application procedure in the actual registry is carried out on behalf of the registry management company that operates the management server 10. The addition certificate in step S614 is issued by the registry management company prior to the official procedure, guaranteeing the completion of the procedure.
[0089] The CPU 31 of the service provider terminal 30 that has received the appended certificate executes a loan (transfer) to the owner of the owner terminal 20, and transmits information related to the transfer to the owner terminal 20 (step S515). When step S515 ends, the CPUs 11, 21, and 31 end the registry utilization process.
[0090] Note that in steps S613 and S413, personal authentication similar to the authentication process may be performed. In this case, for example, in step S613, the CPU 11 of the management server 10 transmits the first encrypted data to the owner terminal 20 together with a registration addition permission request. When the biometric authentication in the owner terminal 20 is successful and it is determined that the device is being worn, the CPU 21 of the owner terminal 20 decrypts the first encrypted data and acquires the second encrypted data. In step S413, the CPU 21 transmits the second encrypted data to the management server 10 together with the registration addition permission. When the CPU 11 of the management server 10 decrypts the second encrypted data and obtains the transmitted random number, it executes the registration addition in step S614.
[0091] In the above example, even when the registry is added, the NFT registry certificate 70, which is the NFT content, is not changed. However, the contents of the registry information 62 may be included in the NFT registry certificate 70, and the contents of the registry information 62 of the NFT registry certificate 70 may be updated when the registry is added. In this case, when the CPU 11 of the management server 10 receives the registry addition permission (step S413) transmitted from the owner terminal 20, the CPU 11 causes the blockchain 2, which serves as an update device that updates the NFT registry certificate 70, to update the contents of the NFT registry certificate 70. When updating the NFT registry certificate 70, as described above, it is preferable to perform personal authentication similar to the authentication process in steps S613 and S413. In this case, in step S413, the second encrypted data is transmitted to the management server 10 together with the registry addition permission, and therefore the CPU 11 of the management server 10 causes the blockchain 2 to update the contents of the NFT registry certificate 70 when the transmitted random number is obtained by decrypting the second encrypted data.
[0092] <Effects> As described above, in this embodiment, the NFT license certificate 50 includes information that certifies assets held by the owner. This makes it possible to properly authenticate, by a simple method using data communication between devices, that the owner of the NFT license certificate 50 holds assets and that the person using (presenting) the NFT license certificate 50 is the genuine owner.
[0093] Furthermore, when a random number is obtained by decrypting the second encrypted data using the owner public key K2a, the CPU 11 causes the blockchain 2 to update the contents of the NFT license certificate 50. This makes it possible to update the contents of the NFT license certificate 50 only when the user of the owner terminal 20 is authenticated as the genuine owner of the NFT license certificate 50.
[0094] <Other> The present invention is not limited to the above-described embodiment, but may be modified in various ways. For example, the NFT license certificate 50 and the NFT registry certificate 70 have been given as examples of NFT content, but this is not intended to be limited to these, and the present invention can be applied to NFT content of any content.
[0095] Although the fingerprint and pulse waveform are exemplified as examples of biometric information acquired by the biometric information acquiring unit 24, the biometric information is not limited to these. For example, the biometric information may be a photographed image of a face, a voiceprint, an iris, a vein pattern, etc.
[0096] In the above embodiment, an example has been described in which the administrator public key K1a and the owner public key K2a are included in the NFT content (the NFT license certificate 50 or the NFT registry certificate 70) and the administrator public key K1a and the owner public key K2a are transmitted by transmitting the NFT content, but this is not limited to the above. For example, the administrator public key K1a and / or the owner public key K2a may be transmitted and received separately from the NFT content.
[0097] Furthermore, the owner terminal 20 that is worn on the body of the user has been exemplified as the terminal device, but the present invention is not limited to this, and the terminal device may be a non-wearable terminal (for example, a smartphone or a tablet terminal).
[0098] In addition, in the authentication process of FIG. 9, the determination of whether the owner terminal 20 (terminal device) is in a worn state (step S404) may be omitted, and steps S405 and S406 may be executed if the biometric authentication is successful ("YES" in step S403). The same applies to the authentication process diverted in the registry utilization process of FIG.
[0099] Furthermore, although random numbers have been exemplified as certain data used to generate the first encrypted data, the present invention is not limited to this, and any data can be used to generate the first encrypted data.
[0100] In the above description, the HDD and SSD of the storage unit 13 and the flash memory of the storage unit 23 are used as computer-readable media for the program according to the present invention, but the present invention is not limited to these examples. As other computer-readable media, information recording media such as CD-ROMs can be applied. In addition, carrier waves are also applied to the present invention as a medium for providing data of the program according to the present invention via a communication line.
[0101] Furthermore, it goes without saying that the detailed configuration and detailed operation of each component of the authentication system 1 in the above embodiment can be modified as appropriate without departing from the spirit of the present invention.
[0102] Although the embodiments of the present invention have been described, the scope of the present invention is not limited to the above-described embodiments, but includes the scope of the invention described in the claims and its equivalents. [Explanation of symbols]
[0103] 1 Authentication System 2 Blockchain (update device) 10 Management Server (Management Device) 11 CPU (first processing unit) 13 Storage section 132 License DB 133 Register DB 20 Owner terminal (terminal device) 21 CPU (second processing unit, processing unit) 23 Memory section 233 Secure Area (Area) 24 Biometric information acquisition unit 25 Wearing detection unit 30 Service provider terminal (device to be authenticated) 40 License Data 50 NFT License Certificates (NFT Content) 60 Registry Data 70 NFT Registry Certificate (NFT Content) K1a Administrator public key (first public key) K1b Administrator secret key (1st secret key) K2a Owner public key (second public key) K2b Owner secret key (Second secret key)
Claims
1. a management device having a first processing unit and managing the first private key; a terminal device used by a predetermined owner, the terminal device having a second processing unit, a storage unit in which a second private key is stored, and a biometric information acquisition unit that acquires biometric information; Equipped with The second processing unit is Transmitting a second public key corresponding to the second private key to the management device; Obtaining a first public key corresponding to the first private key by a predetermined acquisition method; the first processing unit transmits to the terminal device first encrypted data obtained by encrypting certain data with the first private key; The second processing unit is when the first encrypted data is received, determining whether or not a user of the terminal device is the owner based on the biometric information acquired by the biometric information acquisition unit, and determining whether or not the terminal device is worn on the body of the user by a predetermined method; when it is determined that the user is the owner and that the terminal device is worn on the user's body, the first encrypted data received is decrypted with the first public key to obtain the certain data, and the certain data is encrypted with the second private key to obtain second encrypted data, which is then transmitted to the management device; Authentication system.
2. the first processing unit, when the certain data is obtained by decrypting the second encrypted data using the second public key, transmits authentication data to a predetermined authentication target device, the authentication data authenticating that the owner using the terminal device is genuine. The authentication system according to claim 1 .
3. the second processing unit, when it is determined that the terminal device is not attached to the user's body after it is determined that the terminal device is attached to the user's body, transmits a predetermined notification to the management device; When the first processing unit receives the notification, the first processing unit does not transmit the authentication data. The authentication system according to claim 2 .
4. the biometric information acquisition unit acquires the biometric information at a site on the user's body where the terminal device is attached, while the terminal device is attached to the user's body; the second processing unit, when it is determined that the user is the owner based on the biometric information, further determines that the terminal device is attached to the body of the user; The authentication system according to claim 1 .
5. the second private key is stored in an area of the storage unit that is inaccessible from the second processing unit in a normal execution environment; The authentication system according to claim 1 .
6. The management device manages NFT content associated with a non-fungible token; The terminal device is used by the owner of the NFT content, The first processing unit is determining whether the NFT content received directly from the terminal device or via another device is genuine NFT content owned by the owner; If the received NFT content is determined to be the genuine NFT content, transmitting the first encrypted data to the terminal device; When the certain data is obtained by decrypting the second encrypted data using the second public key, transmitting authentication data to the authentication target device that authenticates the owner using the terminal device and the received NFT content as authentic. The authentication system according to claim 2 .
7. the NFT content includes the first public key and the second public key; The second processing unit is acquiring the first public key by the acquisition method for acquiring the NFT content; decrypting the first encrypted data using the first public key included in the NFT content; The authentication system according to claim 6.
8. The NFT content includes information evidencing entitlements or assets held by the owner; The authentication system according to claim 6.
9. When the certain data is obtained by decrypting the second encrypted data using the second public key, the first processing unit causes a predetermined update device that updates the NFT content to update the content of the NFT content. The authentication system according to claim 6.
10. a management device having a first processing unit and managing the first private key; a terminal device used by a predetermined owner, the terminal device having a second processing unit, a storage unit in which a second private key is stored, and a biometric information acquisition unit that acquires biometric information; An authentication method performed by an authentication system comprising: The second processing unit, Transmitting a second public key corresponding to the second private key to the management device; Obtaining a first public key corresponding to the first private key by a predetermined acquisition method; the first processing unit transmits to the terminal device first encrypted data obtained by encrypting certain data with the first private key; The second processing unit, when the first encrypted data is received, determining whether or not a user of the terminal device is the owner based on the biometric information acquired by the biometric information acquisition unit, and determining whether or not the terminal device is worn on the body of the user by a predetermined method; when it is determined that the user is the owner and that the terminal device is worn on the user's body, the first encrypted data received is decrypted with the first public key to obtain the certain data, and the certain data is encrypted with the second private key to obtain second encrypted data, which is then transmitted to the management device; Authentication method.
11. A terminal device used by a specified owner, A processing section; A biometric information acquisition unit for acquiring biometric information; Equipped with The processing unit includes: receiving, from a management device, first encrypted data obtained by encrypting certain data with a first private key managed by the management device; when the first encrypted data is received, determining whether or not a user of the terminal device is the owner based on the biometric information acquired by the biometric information acquisition unit, and determining whether or not the terminal device is worn on the body of the user by a predetermined method; when it is determined that the user is the owner and that the terminal device is worn on the user's body, transmitting second encrypted data obtained based on the received first encrypted data to the management device; Terminal device.
12. A terminal device used by a specific owner includes a biometric information acquisition unit that acquires biometric information, and a computer provided in the terminal device includes the biometric information acquisition unit, receiving, from a management device, first encrypted data obtained by encrypting certain data with a first private key managed by the management device; a process of determining, when the first encrypted data is received, whether or not a user of the terminal device is the owner based on the biometric information acquired by the biometric information acquisition unit, and determining whether or not the terminal device is worn on the body of the user in a predetermined manner; a process of transmitting second encrypted data obtained based on the received first encrypted data to the management device when it is determined that the user is the owner and that the terminal device is worn on the user's body; A program that executes the following.
Citation Information
Patent Citations
Facsimile equipment
JP1989099367A